@beorchid-llc/thrivo-contracts 0.5.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import { z } from "zod";
2
+ import { apiSuccessSchema, idSchema, isoDateSchema, localDaySchema, } from "./common";
3
+ export const waterQuerySchema = z.object({ date: localDaySchema });
4
+ export const waterEntrySchema = z.object({
5
+ id: idSchema,
6
+ amountMl: z.number().int().positive(),
7
+ day: localDaySchema,
8
+ recordedAt: isoDateSchema,
9
+ });
10
+ export const hydrationAlertSchema = z.object({
11
+ title: z.string(),
12
+ message: z.string(),
13
+ severity: z.enum(["info", "warning"]),
14
+ });
15
+ export const waterSchema = z.object({
16
+ day: localDaySchema,
17
+ totalMl: z.number(),
18
+ targetMl: z.number(),
19
+ remainingMl: z.number(),
20
+ progressPercent: z.number(),
21
+ glassMl: z.number(),
22
+ glasses: z.number(),
23
+ targetGlasses: z.number(),
24
+ entries: z.array(waterEntrySchema),
25
+ alert: hydrationAlertSchema.nullable(),
26
+ });
27
+ export const waterResponseSchema = apiSuccessSchema(z.object({ water: waterSchema }));
28
+ export const addWaterPayloadSchema = z.object({
29
+ day: localDaySchema,
30
+ amountMl: z.number().int().positive(),
31
+ });
32
+ export const deleteWaterParamsSchema = z.object({ id: idSchema });
33
+ export const chartMetricSchema = z.enum(["calories", "water", "weight"]);
34
+ export const chartPeriodSchema = z.enum(["7d", "14d", "1m", "1q", "6m", "1y", "all"]);
35
+ export const progressQuerySchema = z.object({ date: localDaySchema });
36
+ export const chartQuerySchema = z.object({
37
+ date: localDaySchema,
38
+ metric: chartMetricSchema,
39
+ period: chartPeriodSchema,
40
+ });
41
+ export const weightQuerySchema = z.object({ date: localDaySchema });
42
+ export const weightEntrySchema = z.object({
43
+ id: idSchema,
44
+ weightKg: z.number().positive(),
45
+ day: localDaySchema,
46
+ recordedAt: isoDateSchema,
47
+ });
48
+ export const addWeightPayloadSchema = z.object({
49
+ day: localDaySchema,
50
+ weightKg: z.number().positive(),
51
+ });
52
+ export const weightEntryResponseSchema = apiSuccessSchema(z.object({ entry: weightEntrySchema }));
53
+ export const deleteWeightParamsSchema = z.object({ id: idSchema });
54
+ export const progressSummarySchema = z.object({
55
+ currentWeightKg: z.number().nullable(),
56
+ targetWeightKg: z.number().nullable(),
57
+ goalGapKg: z.number().nullable(),
58
+ currentStreakDays: z.number().int(),
59
+ longestStreakDays: z.number().int(),
60
+ currentWeekAverageKcal: z.number().int(),
61
+ });
62
+ export const goalProjectionSchema = z.object({
63
+ projectedDate: localDaySchema.nullable(),
64
+ projectedMonth: z.string().nullable(),
65
+ weeklyRateKg: z.number().nullable(),
66
+ status: z.enum(["on_track", "off_track", "maintaining", "not_enough_data"]),
67
+ });
68
+ export const calendarDaySchema = z.object({
69
+ day: localDaySchema,
70
+ dayOfMonth: z.number().int(),
71
+ logged: z.boolean(),
72
+ today: z.boolean(),
73
+ inMonth: z.boolean(),
74
+ });
75
+ export const progressResponseSchema = apiSuccessSchema(z.object({
76
+ progress: z.object({
77
+ day: localDaySchema,
78
+ summary: progressSummarySchema,
79
+ projection: goalProjectionSchema,
80
+ calendar: z.object({
81
+ month: z.string(),
82
+ days: z.array(calendarDaySchema),
83
+ }),
84
+ }),
85
+ }));
86
+ export const chartPointSchema = z.object({
87
+ date: localDaySchema,
88
+ value: z.number().nullable(),
89
+ });
90
+ export const chartResponseSchema = apiSuccessSchema(z.object({
91
+ chart: z.object({
92
+ metric: chartMetricSchema,
93
+ period: chartPeriodSchema,
94
+ unit: z.enum(["kcal", "ml", "kg"]),
95
+ from: localDaySchema,
96
+ to: localDaySchema,
97
+ points: z.array(chartPointSchema),
98
+ }),
99
+ }));
100
+ export const weightContextResponseSchema = apiSuccessSchema(z.object({
101
+ context: z.object({
102
+ day: localDaySchema,
103
+ currentWeightKg: z.number().nullable(),
104
+ yesterdayWeightKg: z.number().nullable(),
105
+ sevenDayAverageKg: z.number().nullable(),
106
+ targetWeightKg: z.number().nullable(),
107
+ projection: goalProjectionSchema,
108
+ }),
109
+ }));
110
+ export const metricRoutes = {
111
+ progressGet: {
112
+ method: "GET",
113
+ path: "/api/v1/metrics/progress",
114
+ auth: "user",
115
+ },
116
+ chartGet: {
117
+ method: "GET",
118
+ path: "/api/v1/metrics/chart",
119
+ auth: "user",
120
+ },
121
+ weightContextGet: {
122
+ method: "GET",
123
+ path: "/api/v1/metrics/weight/context",
124
+ auth: "user",
125
+ },
126
+ weightAdd: {
127
+ method: "POST",
128
+ path: "/api/v1/metrics/weight",
129
+ auth: "user",
130
+ },
131
+ weightDelete: {
132
+ method: "DELETE",
133
+ path: "/api/v1/metrics/weight/:id",
134
+ auth: "user",
135
+ },
136
+ waterGet: {
137
+ method: "GET",
138
+ path: "/api/v1/metrics/water",
139
+ auth: "user",
140
+ },
141
+ waterAdd: {
142
+ method: "POST",
143
+ path: "/api/v1/metrics/water",
144
+ auth: "user",
145
+ },
146
+ waterDelete: {
147
+ method: "DELETE",
148
+ path: "/api/v1/metrics/water/:id",
149
+ auth: "user",
150
+ },
151
+ };
152
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
package/dist/push.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const platformSchema: z.ZodEnum<["ios", "android"]>;
3
+ export type Platform = z.infer<typeof platformSchema>;
4
+ export declare const registerPushPayload: z.ZodObject<{
5
+ expoPushToken: z.ZodString;
6
+ platform: z.ZodEnum<["ios", "android"]>;
7
+ /** Preferred local nudge times, `HH:mm` (up to 3). */
8
+ notifyTimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ expoPushToken: string;
11
+ platform: "ios" | "android";
12
+ notifyTimes?: string[] | undefined;
13
+ }, {
14
+ expoPushToken: string;
15
+ platform: "ios" | "android";
16
+ notifyTimes?: string[] | undefined;
17
+ }>;
18
+ export type RegisterPushPayload = z.infer<typeof registerPushPayload>;
19
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,+BAA6B,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;IAG9B,sDAAsD;;;;;;;;;;EAKtD,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
package/dist/push.js ADDED
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export const platformSchema = z.enum(["ios", "android"]);
3
+ export const registerPushPayload = z.object({
4
+ expoPushToken: z.string().min(1),
5
+ platform: platformSchema,
6
+ /** Preferred local nudge times, `HH:mm` (up to 3). */
7
+ notifyTimes: z
8
+ .array(z.string().regex(/^\d{2}:\d{2}$/))
9
+ .max(3)
10
+ .optional(),
11
+ });
12
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAGzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,QAAQ,EAAE,cAAc;IACxB,sDAAsD;IACtD,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;CACd,CAAC,CAAC"}