@beorchid-llc/thrivo-contracts 0.8.0 → 0.10.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/dist/auth.d.ts +36 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +36 -3
- package/dist/auth.js.map +1 -1
- package/dist/checkins.d.ts +12 -0
- package/dist/checkins.d.ts.map +1 -1
- package/dist/checkins.js +16 -0
- package/dist/checkins.js.map +1 -1
- package/dist/common.d.ts +7 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +6 -0
- package/dist/common.js.map +1 -1
- package/dist/foods.d.ts +298 -95
- package/dist/foods.d.ts.map +1 -1
- package/dist/foods.js +60 -11
- package/dist/foods.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
|
@@ -14,9 +14,11 @@ export declare const authSessionSchema: z.ZodObject<{
|
|
|
14
14
|
refreshExpiresAt: string;
|
|
15
15
|
}>;
|
|
16
16
|
export type AuthSession = z.infer<typeof authSessionSchema>;
|
|
17
|
+
/** Shared email primitive — RFC-validated, length-capped, case-normalized to match the backend. */
|
|
18
|
+
export declare const emailSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
17
19
|
/** POST /auth/otp/request payload */
|
|
18
20
|
export declare const otpRequestPayloadSchema: z.ZodObject<{
|
|
19
|
-
email: z.ZodString
|
|
21
|
+
email: z.ZodEffects<z.ZodString, string, string>;
|
|
20
22
|
}, "strip", z.ZodTypeAny, {
|
|
21
23
|
email: string;
|
|
22
24
|
}, {
|
|
@@ -25,7 +27,7 @@ export declare const otpRequestPayloadSchema: z.ZodObject<{
|
|
|
25
27
|
export type OtpRequestPayload = z.infer<typeof otpRequestPayloadSchema>;
|
|
26
28
|
/** POST /auth/otp/verify payload */
|
|
27
29
|
export declare const otpVerifyPayloadSchema: z.ZodObject<{
|
|
28
|
-
email: z.ZodString
|
|
30
|
+
email: z.ZodEffects<z.ZodString, string, string>;
|
|
29
31
|
code: z.ZodString;
|
|
30
32
|
}, "strip", z.ZodTypeAny, {
|
|
31
33
|
code: string;
|
|
@@ -40,7 +42,7 @@ export type OtpVerifyPayload = z.infer<typeof otpVerifyPayloadSchema>;
|
|
|
40
42
|
* @deprecated Magic-link auth remains API-supported but is hidden in mobile while the UX is revisited.
|
|
41
43
|
*/
|
|
42
44
|
export declare const magicLinkRequestPayloadSchema: z.ZodObject<{
|
|
43
|
-
email: z.ZodString
|
|
45
|
+
email: z.ZodEffects<z.ZodString, string, string>;
|
|
44
46
|
}, "strip", z.ZodTypeAny, {
|
|
45
47
|
email: string;
|
|
46
48
|
}, {
|
|
@@ -68,6 +70,22 @@ export declare const refreshPayloadSchema: z.ZodObject<{
|
|
|
68
70
|
refreshToken: string;
|
|
69
71
|
}>;
|
|
70
72
|
export type RefreshPayload = z.infer<typeof refreshPayloadSchema>;
|
|
73
|
+
/**
|
|
74
|
+
* POST /auth/oauth/apple payload — native Sign in with Apple. The app posts the
|
|
75
|
+
* signed `identityToken` from `expo-apple-authentication`, plus the display name
|
|
76
|
+
* Apple supplies only on the first authorization (never re-sent).
|
|
77
|
+
*/
|
|
78
|
+
export declare const appleSignInPayloadSchema: z.ZodObject<{
|
|
79
|
+
identityToken: z.ZodString;
|
|
80
|
+
name: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
identityToken: string;
|
|
83
|
+
name?: string | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
identityToken: string;
|
|
86
|
+
name?: string | undefined;
|
|
87
|
+
}>;
|
|
88
|
+
export type AppleSignInPayload = z.infer<typeof appleSignInPayloadSchema>;
|
|
71
89
|
/** Lightweight session facts for mobile cold-start restore (navigation guard). */
|
|
72
90
|
export declare const userSessionSchema: z.ZodObject<{
|
|
73
91
|
userId: z.ZodString;
|
|
@@ -140,6 +158,11 @@ export declare const authRoutes: {
|
|
|
140
158
|
path: "/api/v1/auth/magic-link/verify";
|
|
141
159
|
auth: "public";
|
|
142
160
|
};
|
|
161
|
+
magicLinkCallback: {
|
|
162
|
+
method: "GET";
|
|
163
|
+
path: "/api/v1/auth/magic-link/callback";
|
|
164
|
+
auth: "public";
|
|
165
|
+
};
|
|
143
166
|
refresh: {
|
|
144
167
|
method: "POST";
|
|
145
168
|
path: "/api/v1/auth/refresh";
|
|
@@ -160,5 +183,15 @@ export declare const authRoutes: {
|
|
|
160
183
|
path: "/api/v1/auth/google/start";
|
|
161
184
|
auth: "public";
|
|
162
185
|
};
|
|
186
|
+
googleCallback: {
|
|
187
|
+
method: "GET";
|
|
188
|
+
path: "/api/v1/auth/google/callback";
|
|
189
|
+
auth: "public";
|
|
190
|
+
};
|
|
191
|
+
oauthApple: {
|
|
192
|
+
method: "POST";
|
|
193
|
+
path: "/api/v1/auth/oauth/apple";
|
|
194
|
+
auth: "public";
|
|
195
|
+
};
|
|
163
196
|
};
|
|
164
197
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,qCAAqC;AACrC,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,oCAAoC;AACpC,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;EAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,qDAAqD;AACrD,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,kFAAkF;AAClF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,mGAAmG;AACnG,eAAO,MAAM,WAAW,2CAIY,CAAC;AAErC,qCAAqC;AACrC,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,oCAAoC;AACpC,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;EAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,qDAAqD;AACrD,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,kFAAkF;AAClF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DkB,CAAC"}
|
package/dist/auth.js
CHANGED
|
@@ -6,13 +6,19 @@ export const authSessionSchema = z.object({
|
|
|
6
6
|
refreshToken: z.string(),
|
|
7
7
|
refreshExpiresAt: z.string(), // ISO-8601
|
|
8
8
|
});
|
|
9
|
+
/** Shared email primitive — RFC-validated, length-capped, case-normalized to match the backend. */
|
|
10
|
+
export const emailSchema = z
|
|
11
|
+
.string()
|
|
12
|
+
.email()
|
|
13
|
+
.max(254)
|
|
14
|
+
.transform((e) => e.toLowerCase());
|
|
9
15
|
/** POST /auth/otp/request payload */
|
|
10
16
|
export const otpRequestPayloadSchema = z.object({
|
|
11
|
-
email:
|
|
17
|
+
email: emailSchema,
|
|
12
18
|
});
|
|
13
19
|
/** POST /auth/otp/verify payload */
|
|
14
20
|
export const otpVerifyPayloadSchema = z.object({
|
|
15
|
-
email:
|
|
21
|
+
email: emailSchema,
|
|
16
22
|
code: z.string().regex(/^\d{6}$/),
|
|
17
23
|
});
|
|
18
24
|
/**
|
|
@@ -20,7 +26,7 @@ export const otpVerifyPayloadSchema = z.object({
|
|
|
20
26
|
* @deprecated Magic-link auth remains API-supported but is hidden in mobile while the UX is revisited.
|
|
21
27
|
*/
|
|
22
28
|
export const magicLinkRequestPayloadSchema = z.object({
|
|
23
|
-
email:
|
|
29
|
+
email: emailSchema,
|
|
24
30
|
});
|
|
25
31
|
/**
|
|
26
32
|
* POST /auth/magic-link/verify payload
|
|
@@ -33,6 +39,15 @@ export const magicLinkVerifyPayloadSchema = z.object({
|
|
|
33
39
|
export const refreshPayloadSchema = z.object({
|
|
34
40
|
refreshToken: z.string().min(1),
|
|
35
41
|
});
|
|
42
|
+
/**
|
|
43
|
+
* POST /auth/oauth/apple payload — native Sign in with Apple. The app posts the
|
|
44
|
+
* signed `identityToken` from `expo-apple-authentication`, plus the display name
|
|
45
|
+
* Apple supplies only on the first authorization (never re-sent).
|
|
46
|
+
*/
|
|
47
|
+
export const appleSignInPayloadSchema = z.object({
|
|
48
|
+
identityToken: z.string().min(1).max(4096),
|
|
49
|
+
name: z.string().max(120).optional(),
|
|
50
|
+
});
|
|
36
51
|
/** Lightweight session facts for mobile cold-start restore (navigation guard). */
|
|
37
52
|
export const userSessionSchema = z.object({
|
|
38
53
|
userId: z.string().uuid(),
|
|
@@ -64,6 +79,12 @@ export const authRoutes = {
|
|
|
64
79
|
path: "/api/v1/auth/magic-link/verify",
|
|
65
80
|
auth: "public",
|
|
66
81
|
},
|
|
82
|
+
// Email CTA lands here over HTTPS, then bounces to the app deep link.
|
|
83
|
+
magicLinkCallback: {
|
|
84
|
+
method: "GET",
|
|
85
|
+
path: "/api/v1/auth/magic-link/callback",
|
|
86
|
+
auth: "public",
|
|
87
|
+
},
|
|
67
88
|
refresh: {
|
|
68
89
|
method: "POST",
|
|
69
90
|
path: "/api/v1/auth/refresh",
|
|
@@ -84,5 +105,17 @@ export const authRoutes = {
|
|
|
84
105
|
path: "/api/v1/auth/google/start",
|
|
85
106
|
auth: "public",
|
|
86
107
|
},
|
|
108
|
+
// Google redirects here after consent; the server bounces back to the app deep link.
|
|
109
|
+
googleCallback: {
|
|
110
|
+
method: "GET",
|
|
111
|
+
path: "/api/v1/auth/google/callback",
|
|
112
|
+
auth: "public",
|
|
113
|
+
},
|
|
114
|
+
// Native Sign in with Apple → identity token → token pair.
|
|
115
|
+
oauthApple: {
|
|
116
|
+
method: "POST",
|
|
117
|
+
path: "/api/v1/auth/oauth/apple",
|
|
118
|
+
auth: "public",
|
|
119
|
+
},
|
|
87
120
|
};
|
|
88
121
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,6GAA6G;AAC7G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW;CAC1C,CAAC,CAAC;AAGH,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/checkins.d.ts
CHANGED
|
@@ -127,4 +127,16 @@ export declare const checkinListResponse: z.ZodObject<{
|
|
|
127
127
|
}[];
|
|
128
128
|
}>;
|
|
129
129
|
export type CheckinListResponse = z.infer<typeof checkinListResponse>;
|
|
130
|
+
export declare const checkinRoutes: {
|
|
131
|
+
create: {
|
|
132
|
+
method: "POST";
|
|
133
|
+
path: "/api/v1/checkins";
|
|
134
|
+
auth: "user";
|
|
135
|
+
};
|
|
136
|
+
list: {
|
|
137
|
+
method: "GET";
|
|
138
|
+
path: "/api/v1/checkins";
|
|
139
|
+
auth: "user";
|
|
140
|
+
};
|
|
141
|
+
};
|
|
130
142
|
//# sourceMappingURL=checkins.d.ts.map
|
package/dist/checkins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkins.d.ts","sourceRoot":"","sources":["../src/checkins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,UAAU,kDAAgD,CAAC;AACxE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;;;;IAKxB,yEAAyE;;;;;;;;;;;;;;;;;EAGzE,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe;;;;;;QAb1B,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaR,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;QAhB9B,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBM,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkins.d.ts","sourceRoot":"","sources":["../src/checkins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,UAAU,kDAAgD,CAAC;AACxE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;;;;IAKxB,yEAAyE;;;;;;;;;;;;;;;;;EAGzE,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe;;;;;;QAb1B,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaR,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;QAhB9B,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBM,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMtE,eAAO,MAAM,aAAa;;;;;;;;;;;CAWe,CAAC"}
|
package/dist/checkins.js
CHANGED
|
@@ -20,4 +20,20 @@ export const createCheckinPayload = z.object({
|
|
|
20
20
|
});
|
|
21
21
|
export const checkinResponse = z.object({ checkin: checkinSchema });
|
|
22
22
|
export const checkinListResponse = z.object({ checkins: z.array(checkinSchema) });
|
|
23
|
+
// Both routes require a user session AND an active premium subscription
|
|
24
|
+
// (`requireAuth` + `requirePremium` in src/routes/checkins.ts) — `auth: "user"`
|
|
25
|
+
// is the closest fit in RouteContract's auth union, which has no "premium"
|
|
26
|
+
// tier of its own; checkins is the only route pair that needs one.
|
|
27
|
+
export const checkinRoutes = {
|
|
28
|
+
create: {
|
|
29
|
+
method: "POST",
|
|
30
|
+
path: "/api/v1/checkins",
|
|
31
|
+
auth: "user",
|
|
32
|
+
},
|
|
33
|
+
list: {
|
|
34
|
+
method: "GET",
|
|
35
|
+
path: "/api/v1/checkins",
|
|
36
|
+
auth: "user",
|
|
37
|
+
},
|
|
38
|
+
};
|
|
23
39
|
//# sourceMappingURL=checkins.js.map
|
package/dist/checkins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkins.js","sourceRoot":"","sources":["../src/checkins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"checkins.js","sourceRoot":"","sources":["../src/checkins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEvF,mEAAmE;AACnE,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,yEAAyE;IACzE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAGpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAGlF,wEAAwE;AACxE,gFAAgF;AAChF,2EAA2E;AAC3E,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAM;KACb;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAM;KACb;CACsC,CAAC"}
|
package/dist/common.d.ts
CHANGED
|
@@ -76,6 +76,13 @@ export type RouteContract = {
|
|
|
76
76
|
};
|
|
77
77
|
/** Generic success envelope `{ data: T, meta? }` — admin-panel alias of apiSuccessSchema. */
|
|
78
78
|
export declare const successEnvelope: typeof apiSuccessSchema;
|
|
79
|
+
/**
|
|
80
|
+
* Acknowledgement payload — the unwrapped `data` for endpoints that confirm an
|
|
81
|
+
* action without returning a body (e.g. `POST /auth/otp/request` 202, logout,
|
|
82
|
+
* push registration). The envelope still carries `responseCode`/`message`.
|
|
83
|
+
*/
|
|
84
|
+
export declare const ackSchema: z.ZodNull;
|
|
85
|
+
export type Ack = z.infer<typeof ackSchema>;
|
|
79
86
|
/** Untyped primitive schemas for ID fields and ISO date strings. */
|
|
80
87
|
export declare const idSchema: z.ZodString;
|
|
81
88
|
export declare const isoDateSchema: z.ZodString;
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,kKAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;0BAIC,CAAC;AAEzB,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;kEAO/D;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,WAAW,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;CACjD,CAAC;AAMF,6FAA6F;AAC7F,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,QAAQ,aAAoB,CAAC;AAC1C,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,cAAc,aAA0C,CAAC;AAEtE,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;EAAoD,CAAC;AACjF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,kKAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;0BAIC,CAAC;AAEzB,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;kEAO/D;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,WAAW,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;CACjD,CAAC;AAMF,6FAA6F;AAC7F,eAAO,MAAM,eAAe,yBAAmB,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5C,oEAAoE;AACpE,eAAO,MAAM,QAAQ,aAAoB,CAAC;AAC1C,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,cAAc,aAA0C,CAAC;AAEtE,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;EAAoD,CAAC;AACjF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/common.js
CHANGED
|
@@ -38,6 +38,12 @@ export function apiSuccessSchema(data) {
|
|
|
38
38
|
// ---------------------------------------------------------------------------
|
|
39
39
|
/** Generic success envelope `{ data: T, meta? }` — admin-panel alias of apiSuccessSchema. */
|
|
40
40
|
export const successEnvelope = apiSuccessSchema;
|
|
41
|
+
/**
|
|
42
|
+
* Acknowledgement payload — the unwrapped `data` for endpoints that confirm an
|
|
43
|
+
* action without returning a body (e.g. `POST /auth/otp/request` 202, logout,
|
|
44
|
+
* push registration). The envelope still carries `responseCode`/`message`.
|
|
45
|
+
*/
|
|
46
|
+
export const ackSchema = z.null();
|
|
41
47
|
/** Untyped primitive schemas for ID fields and ISO date strings. */
|
|
42
48
|
export const idSchema = z.string().min(1);
|
|
43
49
|
export const isoDateSchema = z.string();
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAIzB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAyB,IAAO;IAC9D,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,IAAI;QACJ,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC;AACL,CAAC;AAiBD,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEtE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAIzB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAyB,IAAO;IAC9D,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,IAAI;QACJ,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC;AACL,CAAC;AAiBD,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAGlC,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEtE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
|
package/dist/foods.d.ts
CHANGED
|
@@ -20,6 +20,22 @@ export declare const nutrientsSchema: z.ZodObject<{
|
|
|
20
20
|
fatG: number;
|
|
21
21
|
}>;
|
|
22
22
|
export type Nutrients = z.infer<typeof nutrientsSchema>;
|
|
23
|
+
export declare const boundedNutrientsSchema: z.ZodObject<{
|
|
24
|
+
calories: z.ZodNumber;
|
|
25
|
+
proteinG: z.ZodNumber;
|
|
26
|
+
carbsG: z.ZodNumber;
|
|
27
|
+
fatG: z.ZodNumber;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
calories: number;
|
|
30
|
+
proteinG: number;
|
|
31
|
+
carbsG: number;
|
|
32
|
+
fatG: number;
|
|
33
|
+
}, {
|
|
34
|
+
calories: number;
|
|
35
|
+
proteinG: number;
|
|
36
|
+
carbsG: number;
|
|
37
|
+
fatG: number;
|
|
38
|
+
}>;
|
|
23
39
|
export declare const servingOptionSchema: z.ZodObject<{
|
|
24
40
|
id: z.ZodNullable<z.ZodString>;
|
|
25
41
|
measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
|
|
@@ -767,7 +783,7 @@ export declare const foodLogHistoryResponseSchema: z.ZodObject<{
|
|
|
767
783
|
};
|
|
768
784
|
}>;
|
|
769
785
|
export declare const foodLookupQuerySchema: z.ZodObject<{
|
|
770
|
-
barcode: z.ZodString
|
|
786
|
+
barcode: z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>;
|
|
771
787
|
}, "strip", z.ZodTypeAny, {
|
|
772
788
|
barcode: string;
|
|
773
789
|
}, {
|
|
@@ -984,23 +1000,76 @@ export declare const foodLookupResponseSchema: z.ZodObject<{
|
|
|
984
1000
|
}>;
|
|
985
1001
|
export declare const foodSearchQuerySchema: z.ZodObject<{
|
|
986
1002
|
q: z.ZodString;
|
|
987
|
-
|
|
1003
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
988
1004
|
}, "strip", z.ZodTypeAny, {
|
|
989
1005
|
q: string;
|
|
990
|
-
|
|
1006
|
+
limit?: number | undefined;
|
|
991
1007
|
}, {
|
|
992
1008
|
q: string;
|
|
993
|
-
|
|
1009
|
+
limit?: number | undefined;
|
|
1010
|
+
}>;
|
|
1011
|
+
export declare const foodSearchResultSchema: z.ZodObject<{
|
|
1012
|
+
externalId: z.ZodString;
|
|
1013
|
+
name: z.ZodString;
|
|
1014
|
+
brand: z.ZodNullable<z.ZodString>;
|
|
1015
|
+
barcode: z.ZodNullable<z.ZodString>;
|
|
1016
|
+
servingLabel: z.ZodString;
|
|
1017
|
+
servingGrams: z.ZodNullable<z.ZodNumber>;
|
|
1018
|
+
nutrients: z.ZodObject<{
|
|
1019
|
+
calories: z.ZodNumber;
|
|
1020
|
+
proteinG: z.ZodNumber;
|
|
1021
|
+
carbsG: z.ZodNumber;
|
|
1022
|
+
fatG: z.ZodNumber;
|
|
1023
|
+
}, "strip", z.ZodTypeAny, {
|
|
1024
|
+
calories: number;
|
|
1025
|
+
proteinG: number;
|
|
1026
|
+
carbsG: number;
|
|
1027
|
+
fatG: number;
|
|
1028
|
+
}, {
|
|
1029
|
+
calories: number;
|
|
1030
|
+
proteinG: number;
|
|
1031
|
+
carbsG: number;
|
|
1032
|
+
fatG: number;
|
|
1033
|
+
}>;
|
|
1034
|
+
source: z.ZodLiteral<"openfoodfacts">;
|
|
1035
|
+
}, "strip", z.ZodTypeAny, {
|
|
1036
|
+
name: string;
|
|
1037
|
+
barcode: string | null;
|
|
1038
|
+
brand: string | null;
|
|
1039
|
+
source: "openfoodfacts";
|
|
1040
|
+
servingLabel: string;
|
|
1041
|
+
servingGrams: number | null;
|
|
1042
|
+
nutrients: {
|
|
1043
|
+
calories: number;
|
|
1044
|
+
proteinG: number;
|
|
1045
|
+
carbsG: number;
|
|
1046
|
+
fatG: number;
|
|
1047
|
+
};
|
|
1048
|
+
externalId: string;
|
|
1049
|
+
}, {
|
|
1050
|
+
name: string;
|
|
1051
|
+
barcode: string | null;
|
|
1052
|
+
brand: string | null;
|
|
1053
|
+
source: "openfoodfacts";
|
|
1054
|
+
servingLabel: string;
|
|
1055
|
+
servingGrams: number | null;
|
|
1056
|
+
nutrients: {
|
|
1057
|
+
calories: number;
|
|
1058
|
+
proteinG: number;
|
|
1059
|
+
carbsG: number;
|
|
1060
|
+
fatG: number;
|
|
1061
|
+
};
|
|
1062
|
+
externalId: string;
|
|
994
1063
|
}>;
|
|
1064
|
+
export type FoodSearchResult = z.infer<typeof foodSearchResultSchema>;
|
|
995
1065
|
export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
996
1066
|
success: z.ZodLiteral<true>;
|
|
997
1067
|
data: z.ZodObject<{
|
|
998
1068
|
items: z.ZodArray<z.ZodObject<{
|
|
999
|
-
|
|
1069
|
+
externalId: z.ZodString;
|
|
1000
1070
|
name: z.ZodString;
|
|
1001
1071
|
brand: z.ZodNullable<z.ZodString>;
|
|
1002
1072
|
barcode: z.ZodNullable<z.ZodString>;
|
|
1003
|
-
source: z.ZodEnum<["authoritative", "personal", "community"]>;
|
|
1004
1073
|
servingLabel: z.ZodString;
|
|
1005
1074
|
servingGrams: z.ZodNullable<z.ZodNumber>;
|
|
1006
1075
|
nutrients: z.ZodObject<{
|
|
@@ -1019,33 +1088,12 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1019
1088
|
carbsG: number;
|
|
1020
1089
|
fatG: number;
|
|
1021
1090
|
}>;
|
|
1022
|
-
|
|
1023
|
-
id: z.ZodNullable<z.ZodString>;
|
|
1024
|
-
measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
|
|
1025
|
-
label: z.ZodString;
|
|
1026
|
-
grams: z.ZodNullable<z.ZodNumber>;
|
|
1027
|
-
isDefault: z.ZodBoolean;
|
|
1028
|
-
}, "strip", z.ZodTypeAny, {
|
|
1029
|
-
id: string | null;
|
|
1030
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1031
|
-
label: string;
|
|
1032
|
-
grams: number | null;
|
|
1033
|
-
isDefault: boolean;
|
|
1034
|
-
}, {
|
|
1035
|
-
id: string | null;
|
|
1036
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1037
|
-
label: string;
|
|
1038
|
-
grams: number | null;
|
|
1039
|
-
isDefault: boolean;
|
|
1040
|
-
}>, "many">;
|
|
1041
|
-
isPersonal: z.ZodBoolean;
|
|
1042
|
-
isEstimated: z.ZodBoolean;
|
|
1091
|
+
source: z.ZodLiteral<"openfoodfacts">;
|
|
1043
1092
|
}, "strip", z.ZodTypeAny, {
|
|
1044
1093
|
name: string;
|
|
1045
|
-
id: string;
|
|
1046
1094
|
barcode: string | null;
|
|
1047
1095
|
brand: string | null;
|
|
1048
|
-
source: "
|
|
1096
|
+
source: "openfoodfacts";
|
|
1049
1097
|
servingLabel: string;
|
|
1050
1098
|
servingGrams: number | null;
|
|
1051
1099
|
nutrients: {
|
|
@@ -1054,21 +1102,12 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1054
1102
|
carbsG: number;
|
|
1055
1103
|
fatG: number;
|
|
1056
1104
|
};
|
|
1057
|
-
|
|
1058
|
-
id: string | null;
|
|
1059
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1060
|
-
label: string;
|
|
1061
|
-
grams: number | null;
|
|
1062
|
-
isDefault: boolean;
|
|
1063
|
-
}[];
|
|
1064
|
-
isPersonal: boolean;
|
|
1065
|
-
isEstimated: boolean;
|
|
1105
|
+
externalId: string;
|
|
1066
1106
|
}, {
|
|
1067
1107
|
name: string;
|
|
1068
|
-
id: string;
|
|
1069
1108
|
barcode: string | null;
|
|
1070
1109
|
brand: string | null;
|
|
1071
|
-
source: "
|
|
1110
|
+
source: "openfoodfacts";
|
|
1072
1111
|
servingLabel: string;
|
|
1073
1112
|
servingGrams: number | null;
|
|
1074
1113
|
nutrients: {
|
|
@@ -1077,23 +1116,15 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1077
1116
|
carbsG: number;
|
|
1078
1117
|
fatG: number;
|
|
1079
1118
|
};
|
|
1080
|
-
|
|
1081
|
-
id: string | null;
|
|
1082
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1083
|
-
label: string;
|
|
1084
|
-
grams: number | null;
|
|
1085
|
-
isDefault: boolean;
|
|
1086
|
-
}[];
|
|
1087
|
-
isPersonal: boolean;
|
|
1088
|
-
isEstimated: boolean;
|
|
1119
|
+
externalId: string;
|
|
1089
1120
|
}>, "many">;
|
|
1121
|
+
cached: z.ZodBoolean;
|
|
1090
1122
|
}, "strip", z.ZodTypeAny, {
|
|
1091
1123
|
items: {
|
|
1092
1124
|
name: string;
|
|
1093
|
-
id: string;
|
|
1094
1125
|
barcode: string | null;
|
|
1095
1126
|
brand: string | null;
|
|
1096
|
-
source: "
|
|
1127
|
+
source: "openfoodfacts";
|
|
1097
1128
|
servingLabel: string;
|
|
1098
1129
|
servingGrams: number | null;
|
|
1099
1130
|
nutrients: {
|
|
@@ -1102,23 +1133,15 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1102
1133
|
carbsG: number;
|
|
1103
1134
|
fatG: number;
|
|
1104
1135
|
};
|
|
1105
|
-
|
|
1106
|
-
id: string | null;
|
|
1107
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1108
|
-
label: string;
|
|
1109
|
-
grams: number | null;
|
|
1110
|
-
isDefault: boolean;
|
|
1111
|
-
}[];
|
|
1112
|
-
isPersonal: boolean;
|
|
1113
|
-
isEstimated: boolean;
|
|
1136
|
+
externalId: string;
|
|
1114
1137
|
}[];
|
|
1138
|
+
cached: boolean;
|
|
1115
1139
|
}, {
|
|
1116
1140
|
items: {
|
|
1117
1141
|
name: string;
|
|
1118
|
-
id: string;
|
|
1119
1142
|
barcode: string | null;
|
|
1120
1143
|
brand: string | null;
|
|
1121
|
-
source: "
|
|
1144
|
+
source: "openfoodfacts";
|
|
1122
1145
|
servingLabel: string;
|
|
1123
1146
|
servingGrams: number | null;
|
|
1124
1147
|
nutrients: {
|
|
@@ -1127,16 +1150,9 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1127
1150
|
carbsG: number;
|
|
1128
1151
|
fatG: number;
|
|
1129
1152
|
};
|
|
1130
|
-
|
|
1131
|
-
id: string | null;
|
|
1132
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1133
|
-
label: string;
|
|
1134
|
-
grams: number | null;
|
|
1135
|
-
isDefault: boolean;
|
|
1136
|
-
}[];
|
|
1137
|
-
isPersonal: boolean;
|
|
1138
|
-
isEstimated: boolean;
|
|
1153
|
+
externalId: string;
|
|
1139
1154
|
}[];
|
|
1155
|
+
cached: boolean;
|
|
1140
1156
|
}>;
|
|
1141
1157
|
responseCode: z.ZodNumber;
|
|
1142
1158
|
message: z.ZodString;
|
|
@@ -1147,10 +1163,9 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1147
1163
|
data: {
|
|
1148
1164
|
items: {
|
|
1149
1165
|
name: string;
|
|
1150
|
-
id: string;
|
|
1151
1166
|
barcode: string | null;
|
|
1152
1167
|
brand: string | null;
|
|
1153
|
-
source: "
|
|
1168
|
+
source: "openfoodfacts";
|
|
1154
1169
|
servingLabel: string;
|
|
1155
1170
|
servingGrams: number | null;
|
|
1156
1171
|
nutrients: {
|
|
@@ -1159,16 +1174,9 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1159
1174
|
carbsG: number;
|
|
1160
1175
|
fatG: number;
|
|
1161
1176
|
};
|
|
1162
|
-
|
|
1163
|
-
id: string | null;
|
|
1164
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1165
|
-
label: string;
|
|
1166
|
-
grams: number | null;
|
|
1167
|
-
isDefault: boolean;
|
|
1168
|
-
}[];
|
|
1169
|
-
isPersonal: boolean;
|
|
1170
|
-
isEstimated: boolean;
|
|
1177
|
+
externalId: string;
|
|
1171
1178
|
}[];
|
|
1179
|
+
cached: boolean;
|
|
1172
1180
|
};
|
|
1173
1181
|
}, {
|
|
1174
1182
|
message: string;
|
|
@@ -1177,10 +1185,9 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1177
1185
|
data: {
|
|
1178
1186
|
items: {
|
|
1179
1187
|
name: string;
|
|
1180
|
-
id: string;
|
|
1181
1188
|
barcode: string | null;
|
|
1182
1189
|
brand: string | null;
|
|
1183
|
-
source: "
|
|
1190
|
+
source: "openfoodfacts";
|
|
1184
1191
|
servingLabel: string;
|
|
1185
1192
|
servingGrams: number | null;
|
|
1186
1193
|
nutrients: {
|
|
@@ -1189,16 +1196,9 @@ export declare const foodSearchResponseSchema: z.ZodObject<{
|
|
|
1189
1196
|
carbsG: number;
|
|
1190
1197
|
fatG: number;
|
|
1191
1198
|
};
|
|
1192
|
-
|
|
1193
|
-
id: string | null;
|
|
1194
|
-
measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
|
|
1195
|
-
label: string;
|
|
1196
|
-
grams: number | null;
|
|
1197
|
-
isDefault: boolean;
|
|
1198
|
-
}[];
|
|
1199
|
-
isPersonal: boolean;
|
|
1200
|
-
isEstimated: boolean;
|
|
1199
|
+
externalId: string;
|
|
1201
1200
|
}[];
|
|
1201
|
+
cached: boolean;
|
|
1202
1202
|
};
|
|
1203
1203
|
}>;
|
|
1204
1204
|
export declare const foodDetailParamsSchema: z.ZodObject<{
|
|
@@ -1465,7 +1465,211 @@ export declare const upsertFoodPayloadSchema: z.ZodObject<{
|
|
|
1465
1465
|
servingGrams?: number | undefined;
|
|
1466
1466
|
}>;
|
|
1467
1467
|
export type UpsertFoodPayload = z.infer<typeof upsertFoodPayloadSchema>;
|
|
1468
|
-
export declare const
|
|
1468
|
+
export declare const externalFoodSnapshotSchema: z.ZodObject<{
|
|
1469
|
+
externalId: z.ZodString;
|
|
1470
|
+
name: z.ZodString;
|
|
1471
|
+
brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1472
|
+
barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1473
|
+
servingLabel: z.ZodString;
|
|
1474
|
+
servingGrams: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
1475
|
+
nutrients: z.ZodObject<{
|
|
1476
|
+
calories: z.ZodNumber;
|
|
1477
|
+
proteinG: z.ZodNumber;
|
|
1478
|
+
carbsG: z.ZodNumber;
|
|
1479
|
+
fatG: z.ZodNumber;
|
|
1480
|
+
}, "strip", z.ZodTypeAny, {
|
|
1481
|
+
calories: number;
|
|
1482
|
+
proteinG: number;
|
|
1483
|
+
carbsG: number;
|
|
1484
|
+
fatG: number;
|
|
1485
|
+
}, {
|
|
1486
|
+
calories: number;
|
|
1487
|
+
proteinG: number;
|
|
1488
|
+
carbsG: number;
|
|
1489
|
+
fatG: number;
|
|
1490
|
+
}>;
|
|
1491
|
+
source: z.ZodLiteral<"openfoodfacts">;
|
|
1492
|
+
}, "strip", z.ZodTypeAny, {
|
|
1493
|
+
name: string;
|
|
1494
|
+
source: "openfoodfacts";
|
|
1495
|
+
servingLabel: string;
|
|
1496
|
+
nutrients: {
|
|
1497
|
+
calories: number;
|
|
1498
|
+
proteinG: number;
|
|
1499
|
+
carbsG: number;
|
|
1500
|
+
fatG: number;
|
|
1501
|
+
};
|
|
1502
|
+
externalId: string;
|
|
1503
|
+
barcode?: string | null | undefined;
|
|
1504
|
+
brand?: string | null | undefined;
|
|
1505
|
+
servingGrams?: number | null | undefined;
|
|
1506
|
+
}, {
|
|
1507
|
+
name: string;
|
|
1508
|
+
source: "openfoodfacts";
|
|
1509
|
+
servingLabel: string;
|
|
1510
|
+
nutrients: {
|
|
1511
|
+
calories: number;
|
|
1512
|
+
proteinG: number;
|
|
1513
|
+
carbsG: number;
|
|
1514
|
+
fatG: number;
|
|
1515
|
+
};
|
|
1516
|
+
externalId: string;
|
|
1517
|
+
barcode?: string | null | undefined;
|
|
1518
|
+
brand?: string | null | undefined;
|
|
1519
|
+
servingGrams?: number | null | undefined;
|
|
1520
|
+
}>;
|
|
1521
|
+
export type ExternalFoodSnapshot = z.infer<typeof externalFoodSnapshotSchema>;
|
|
1522
|
+
export declare const logFoodPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
1523
|
+
foodItemId: z.ZodOptional<z.ZodString>;
|
|
1524
|
+
externalFood: z.ZodOptional<z.ZodObject<{
|
|
1525
|
+
externalId: z.ZodString;
|
|
1526
|
+
name: z.ZodString;
|
|
1527
|
+
brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1528
|
+
barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1529
|
+
servingLabel: z.ZodString;
|
|
1530
|
+
servingGrams: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
1531
|
+
nutrients: z.ZodObject<{
|
|
1532
|
+
calories: z.ZodNumber;
|
|
1533
|
+
proteinG: z.ZodNumber;
|
|
1534
|
+
carbsG: z.ZodNumber;
|
|
1535
|
+
fatG: z.ZodNumber;
|
|
1536
|
+
}, "strip", z.ZodTypeAny, {
|
|
1537
|
+
calories: number;
|
|
1538
|
+
proteinG: number;
|
|
1539
|
+
carbsG: number;
|
|
1540
|
+
fatG: number;
|
|
1541
|
+
}, {
|
|
1542
|
+
calories: number;
|
|
1543
|
+
proteinG: number;
|
|
1544
|
+
carbsG: number;
|
|
1545
|
+
fatG: number;
|
|
1546
|
+
}>;
|
|
1547
|
+
source: z.ZodLiteral<"openfoodfacts">;
|
|
1548
|
+
}, "strip", z.ZodTypeAny, {
|
|
1549
|
+
name: string;
|
|
1550
|
+
source: "openfoodfacts";
|
|
1551
|
+
servingLabel: string;
|
|
1552
|
+
nutrients: {
|
|
1553
|
+
calories: number;
|
|
1554
|
+
proteinG: number;
|
|
1555
|
+
carbsG: number;
|
|
1556
|
+
fatG: number;
|
|
1557
|
+
};
|
|
1558
|
+
externalId: string;
|
|
1559
|
+
barcode?: string | null | undefined;
|
|
1560
|
+
brand?: string | null | undefined;
|
|
1561
|
+
servingGrams?: number | null | undefined;
|
|
1562
|
+
}, {
|
|
1563
|
+
name: string;
|
|
1564
|
+
source: "openfoodfacts";
|
|
1565
|
+
servingLabel: string;
|
|
1566
|
+
nutrients: {
|
|
1567
|
+
calories: number;
|
|
1568
|
+
proteinG: number;
|
|
1569
|
+
carbsG: number;
|
|
1570
|
+
fatG: number;
|
|
1571
|
+
};
|
|
1572
|
+
externalId: string;
|
|
1573
|
+
barcode?: string | null | undefined;
|
|
1574
|
+
brand?: string | null | undefined;
|
|
1575
|
+
servingGrams?: number | null | undefined;
|
|
1576
|
+
}>>;
|
|
1577
|
+
day: z.ZodString;
|
|
1578
|
+
servings: z.ZodNumber;
|
|
1579
|
+
servingId: z.ZodOptional<z.ZodString>;
|
|
1580
|
+
servingUnit: z.ZodOptional<z.ZodString>;
|
|
1581
|
+
consumedAt: z.ZodOptional<z.ZodString>;
|
|
1582
|
+
}, "strip", z.ZodTypeAny, {
|
|
1583
|
+
day: string;
|
|
1584
|
+
servings: number;
|
|
1585
|
+
foodItemId?: string | undefined;
|
|
1586
|
+
servingUnit?: string | undefined;
|
|
1587
|
+
consumedAt?: string | undefined;
|
|
1588
|
+
externalFood?: {
|
|
1589
|
+
name: string;
|
|
1590
|
+
source: "openfoodfacts";
|
|
1591
|
+
servingLabel: string;
|
|
1592
|
+
nutrients: {
|
|
1593
|
+
calories: number;
|
|
1594
|
+
proteinG: number;
|
|
1595
|
+
carbsG: number;
|
|
1596
|
+
fatG: number;
|
|
1597
|
+
};
|
|
1598
|
+
externalId: string;
|
|
1599
|
+
barcode?: string | null | undefined;
|
|
1600
|
+
brand?: string | null | undefined;
|
|
1601
|
+
servingGrams?: number | null | undefined;
|
|
1602
|
+
} | undefined;
|
|
1603
|
+
servingId?: string | undefined;
|
|
1604
|
+
}, {
|
|
1605
|
+
day: string;
|
|
1606
|
+
servings: number;
|
|
1607
|
+
foodItemId?: string | undefined;
|
|
1608
|
+
servingUnit?: string | undefined;
|
|
1609
|
+
consumedAt?: string | undefined;
|
|
1610
|
+
externalFood?: {
|
|
1611
|
+
name: string;
|
|
1612
|
+
source: "openfoodfacts";
|
|
1613
|
+
servingLabel: string;
|
|
1614
|
+
nutrients: {
|
|
1615
|
+
calories: number;
|
|
1616
|
+
proteinG: number;
|
|
1617
|
+
carbsG: number;
|
|
1618
|
+
fatG: number;
|
|
1619
|
+
};
|
|
1620
|
+
externalId: string;
|
|
1621
|
+
barcode?: string | null | undefined;
|
|
1622
|
+
brand?: string | null | undefined;
|
|
1623
|
+
servingGrams?: number | null | undefined;
|
|
1624
|
+
} | undefined;
|
|
1625
|
+
servingId?: string | undefined;
|
|
1626
|
+
}>, {
|
|
1627
|
+
day: string;
|
|
1628
|
+
servings: number;
|
|
1629
|
+
foodItemId?: string | undefined;
|
|
1630
|
+
servingUnit?: string | undefined;
|
|
1631
|
+
consumedAt?: string | undefined;
|
|
1632
|
+
externalFood?: {
|
|
1633
|
+
name: string;
|
|
1634
|
+
source: "openfoodfacts";
|
|
1635
|
+
servingLabel: string;
|
|
1636
|
+
nutrients: {
|
|
1637
|
+
calories: number;
|
|
1638
|
+
proteinG: number;
|
|
1639
|
+
carbsG: number;
|
|
1640
|
+
fatG: number;
|
|
1641
|
+
};
|
|
1642
|
+
externalId: string;
|
|
1643
|
+
barcode?: string | null | undefined;
|
|
1644
|
+
brand?: string | null | undefined;
|
|
1645
|
+
servingGrams?: number | null | undefined;
|
|
1646
|
+
} | undefined;
|
|
1647
|
+
servingId?: string | undefined;
|
|
1648
|
+
}, {
|
|
1649
|
+
day: string;
|
|
1650
|
+
servings: number;
|
|
1651
|
+
foodItemId?: string | undefined;
|
|
1652
|
+
servingUnit?: string | undefined;
|
|
1653
|
+
consumedAt?: string | undefined;
|
|
1654
|
+
externalFood?: {
|
|
1655
|
+
name: string;
|
|
1656
|
+
source: "openfoodfacts";
|
|
1657
|
+
servingLabel: string;
|
|
1658
|
+
nutrients: {
|
|
1659
|
+
calories: number;
|
|
1660
|
+
proteinG: number;
|
|
1661
|
+
carbsG: number;
|
|
1662
|
+
fatG: number;
|
|
1663
|
+
};
|
|
1664
|
+
externalId: string;
|
|
1665
|
+
barcode?: string | null | undefined;
|
|
1666
|
+
brand?: string | null | undefined;
|
|
1667
|
+
servingGrams?: number | null | undefined;
|
|
1668
|
+
} | undefined;
|
|
1669
|
+
servingId?: string | undefined;
|
|
1670
|
+
}>;
|
|
1671
|
+
export type LogFoodPayload = z.infer<typeof logFoodPayloadSchema>;
|
|
1672
|
+
export declare const storedLogFoodPayloadSchema: z.ZodObject<{
|
|
1469
1673
|
foodItemId: z.ZodString;
|
|
1470
1674
|
day: z.ZodString;
|
|
1471
1675
|
servings: z.ZodNumber;
|
|
@@ -1487,7 +1691,6 @@ export declare const logFoodPayloadSchema: z.ZodObject<{
|
|
|
1487
1691
|
consumedAt?: string | undefined;
|
|
1488
1692
|
servingId?: string | undefined;
|
|
1489
1693
|
}>;
|
|
1490
|
-
export type LogFoodPayload = z.infer<typeof logFoodPayloadSchema>;
|
|
1491
1694
|
export declare const updateLogPayloadSchema: z.ZodObject<{
|
|
1492
1695
|
servings: z.ZodOptional<z.ZodNumber>;
|
|
1493
1696
|
servingId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
package/dist/foods.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foods.d.ts","sourceRoot":"","sources":["../src/foods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB,4CAA0C,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,oBAAoB,0DAAwD,CAAC;AAC1F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;EAAqC,CAAC;AACxE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;
|
|
1
|
+
{"version":3,"file":"foods.d.ts","sourceRoot":"","sources":["../src/foods.ts"],"names":[],"mappings":"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"}
|
package/dist/foods.js
CHANGED
|
@@ -8,6 +8,12 @@ export const nutrientsSchema = z.object({
|
|
|
8
8
|
carbsG: z.number(),
|
|
9
9
|
fatG: z.number(),
|
|
10
10
|
});
|
|
11
|
+
export const boundedNutrientsSchema = z.object({
|
|
12
|
+
calories: z.number().min(0).max(5000),
|
|
13
|
+
proteinG: z.number().min(0).max(500),
|
|
14
|
+
carbsG: z.number().min(0).max(800),
|
|
15
|
+
fatG: z.number().min(0).max(500),
|
|
16
|
+
});
|
|
11
17
|
export const servingOptionSchema = z.object({
|
|
12
18
|
id: idSchema.nullable(),
|
|
13
19
|
measure: portionMeasureSchema,
|
|
@@ -71,14 +77,28 @@ export const foodLogHistoryResponseSchema = apiSuccessSchema(z.object({
|
|
|
71
77
|
historyLimitDays: z.number().int(),
|
|
72
78
|
}));
|
|
73
79
|
export const foodLookupQuerySchema = z.object({
|
|
74
|
-
barcode: z
|
|
80
|
+
barcode: z
|
|
81
|
+
.string()
|
|
82
|
+
.trim()
|
|
83
|
+
.transform((value) => value.replace(/[\s-]/g, ""))
|
|
84
|
+
.pipe(z.string().regex(/^\d{8,14}$/, "Barcode must be 8 to 14 digits")),
|
|
75
85
|
});
|
|
76
86
|
export const foodLookupResponseSchema = apiSuccessSchema(z.object({ food: foodItemSchema.nullable() }));
|
|
77
87
|
export const foodSearchQuerySchema = z.object({
|
|
78
|
-
q: z.string().trim().min(
|
|
79
|
-
|
|
88
|
+
q: z.string().trim().min(2).max(80),
|
|
89
|
+
limit: z.coerce.number().int().positive().max(25).optional(),
|
|
90
|
+
});
|
|
91
|
+
export const foodSearchResultSchema = z.object({
|
|
92
|
+
externalId: z.string(),
|
|
93
|
+
name: z.string(),
|
|
94
|
+
brand: z.string().nullable(),
|
|
95
|
+
barcode: z.string().nullable(),
|
|
96
|
+
servingLabel: z.string(),
|
|
97
|
+
servingGrams: z.number().nullable(),
|
|
98
|
+
nutrients: nutrientsSchema,
|
|
99
|
+
source: z.literal("openfoodfacts"),
|
|
80
100
|
});
|
|
81
|
-
export const foodSearchResponseSchema = apiSuccessSchema(z.object({ items: z.array(
|
|
101
|
+
export const foodSearchResponseSchema = apiSuccessSchema(z.object({ items: z.array(foodSearchResultSchema), cached: z.boolean() }));
|
|
82
102
|
export const foodDetailParamsSchema = z.object({ id: idSchema });
|
|
83
103
|
export const foodItemResponseSchema = apiSuccessSchema(z.object({ food: foodItemSchema }));
|
|
84
104
|
export const upsertFoodPayloadSchema = z.object({
|
|
@@ -89,7 +109,36 @@ export const upsertFoodPayloadSchema = z.object({
|
|
|
89
109
|
servingGrams: z.number().positive().optional(),
|
|
90
110
|
nutrients: nutrientsSchema,
|
|
91
111
|
});
|
|
92
|
-
export const
|
|
112
|
+
export const externalFoodSnapshotSchema = z.object({
|
|
113
|
+
externalId: z.string().trim().min(1).max(128),
|
|
114
|
+
name: z.string().trim().min(1).max(160),
|
|
115
|
+
brand: z.string().trim().max(120).nullable().optional(),
|
|
116
|
+
barcode: z.string().trim().max(32).nullable().optional(),
|
|
117
|
+
servingLabel: z.string().trim().min(1).max(80),
|
|
118
|
+
servingGrams: z.number().positive().nullable().optional(),
|
|
119
|
+
nutrients: boundedNutrientsSchema,
|
|
120
|
+
source: z.literal("openfoodfacts"),
|
|
121
|
+
});
|
|
122
|
+
export const logFoodPayloadSchema = z
|
|
123
|
+
.object({
|
|
124
|
+
foodItemId: idSchema.optional(),
|
|
125
|
+
externalFood: externalFoodSnapshotSchema.optional(),
|
|
126
|
+
day: localDaySchema,
|
|
127
|
+
servings: z.number().positive().max(100),
|
|
128
|
+
servingId: idSchema.optional(),
|
|
129
|
+
servingUnit: z.string().trim().max(80).optional(),
|
|
130
|
+
consumedAt: isoDateSchema.optional(),
|
|
131
|
+
})
|
|
132
|
+
.superRefine((payload, ctx) => {
|
|
133
|
+
if (Boolean(payload.foodItemId) === Boolean(payload.externalFood)) {
|
|
134
|
+
ctx.addIssue({
|
|
135
|
+
code: z.ZodIssueCode.custom,
|
|
136
|
+
path: ["foodItemId"],
|
|
137
|
+
message: "Provide exactly one of foodItemId or externalFood",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
export const storedLogFoodPayloadSchema = z.object({
|
|
93
142
|
foodItemId: idSchema,
|
|
94
143
|
day: localDaySchema,
|
|
95
144
|
servings: z.number().positive(),
|
|
@@ -117,11 +166,11 @@ export const favoritesResponseSchema = apiSuccessSchema(z.object({ items: z.arra
|
|
|
117
166
|
export const addFavoritePayloadSchema = z.object({ foodItemId: idSchema });
|
|
118
167
|
export const favoriteParamsSchema = z.object({ id: idSchema });
|
|
119
168
|
export const estimateFoodPayloadSchema = z.object({
|
|
120
|
-
name: z.string().trim().min(1),
|
|
121
|
-
ingredients: z.string().trim().optional(),
|
|
122
|
-
cookingMethod: z.string().trim().optional(),
|
|
169
|
+
name: z.string().trim().min(1).max(120),
|
|
170
|
+
ingredients: z.string().trim().max(600).optional(),
|
|
171
|
+
cookingMethod: z.string().trim().max(160).optional(),
|
|
123
172
|
portionMeasure: portionMeasureSchema,
|
|
124
|
-
quantity: z.number().positive(),
|
|
173
|
+
quantity: z.number().positive().max(5000),
|
|
125
174
|
consumedAt: isoDateSchema.optional(),
|
|
126
175
|
});
|
|
127
176
|
export const estimateFoodResponseSchema = apiSuccessSchema(z.object({
|
|
@@ -135,8 +184,8 @@ export const estimateFoodResponseSchema = apiSuccessSchema(z.object({
|
|
|
135
184
|
}));
|
|
136
185
|
export const logEstimatePayloadSchema = estimateFoodPayloadSchema.extend({
|
|
137
186
|
day: localDaySchema,
|
|
138
|
-
nutrients:
|
|
139
|
-
servingUnit: z.string().trim().optional(),
|
|
187
|
+
nutrients: boundedNutrientsSchema,
|
|
188
|
+
servingUnit: z.string().trim().max(80).optional(),
|
|
140
189
|
});
|
|
141
190
|
export const foodRoutes = {
|
|
142
191
|
lookup: {
|
package/dist/foods.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foods.js","sourceRoot":"","sources":["../src/foods.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foods.js","sourceRoot":"","sources":["../src/foods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,cAAc,GAEf,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAG1F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE;IACvB,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,eAAe;IAC1B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CACtD,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;IAC/B,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAC1D,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACnC,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;CAC1E,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CACtD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CACtD,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC1E,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,eAAe;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IACnD,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,OAAO,EAAE,mDAAmD;SAC7D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAGL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACpD,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CACvD,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,iBAAiB;CAC1B,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CACvD,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CACrD,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACpD,cAAc,EAAE,oBAAoB;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CACxD,CAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,eAAe;QAC1B,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KAC7B,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACvE,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,sBAAsB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAM;KACb;IACD,GAAG,EAAE;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,MAAM;KACb;IACD,SAAS,EAAE;QACT,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,MAAM;KACb;IACD,SAAS,EAAE;QACT,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,MAAM;KACb;IACD,UAAU,EAAE;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAM;KACb;IACD,aAAa,EAAE;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,MAAM;KACb;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,MAAM;KACb;IACD,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,MAAM;KACb;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,MAAM;KACb;CACsC,CAAC"}
|