@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 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
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CkB,CAAC"}
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: z.string().email(),
17
+ email: emailSchema,
12
18
  });
13
19
  /** POST /auth/otp/verify payload */
14
20
  export const otpVerifyPayloadSchema = z.object({
15
- email: z.string().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: z.string().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":"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"}
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,mGAAmG;AACnG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,EAAE;KACP,GAAG,CAAC,GAAG,CAAC;KACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAErC,qCAAqC;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC;AAGH,oCAAoC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAClC,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAGH,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAGlF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,QAAQ;KACf;IACD,SAAS,EAAE;QACT,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,QAAQ;KACf;IACD,6EAA6E;IAC7E,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,QAAQ;KACf;IACD,6EAA6E;IAC7E,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,QAAQ;KACf;IACD,sEAAsE;IACtE,iBAAiB,EAAE;QACjB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,QAAQ;KACf;IACD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,QAAQ;KACf;IACD,UAAU,EAAE;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,QAAQ;KACf;IACD,qFAAqF;IACrF,cAAc,EAAE;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,QAAQ;KACf;IACD,2DAA2D;IAC3D,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,QAAQ;KACf;CACsC,CAAC"}
@@ -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
@@ -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
@@ -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,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
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;
@@ -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();
@@ -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
- cursor: z.ZodOptional<z.ZodString>;
1003
+ limit: z.ZodOptional<z.ZodNumber>;
988
1004
  }, "strip", z.ZodTypeAny, {
989
1005
  q: string;
990
- cursor?: string | undefined;
1006
+ limit?: number | undefined;
991
1007
  }, {
992
1008
  q: string;
993
- cursor?: string | undefined;
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
- id: z.ZodString;
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
- servingOptions: z.ZodArray<z.ZodObject<{
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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: "authoritative" | "personal" | "community";
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
- servingOptions: {
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 logFoodPayloadSchema: z.ZodObject<{
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>>;
@@ -1 +1 @@
1
- {"version":3,"file":"foods.d.ts","sourceRoot":"","sources":["../src/foods.ts"],"names":[],"mappings":"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"}
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.string().min(3),
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(1),
79
- cursor: z.string().optional(),
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(foodItemSchema) }));
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 logFoodPayloadSchema = z.object({
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: nutrientsSchema,
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beorchid-llc/thrivo-contracts",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Shared Thrivo API request and response contracts.",
5
5
  "type": "module",
6
6
  "private": false,