@beorchid-llc/thrivo-contracts 0.10.0 → 0.11.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/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from "./admin-analytics";
6
6
  export * from "./admin-content";
7
7
  export * from "./admin-logs";
8
8
  export * from "./admin-subscriptions";
9
+ export * from "./leads";
9
10
  export * from "./dashboard";
10
11
  export * from "./foods";
11
12
  export * from "./metrics";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from "./admin-analytics";
6
6
  export * from "./admin-content";
7
7
  export * from "./admin-logs";
8
8
  export * from "./admin-subscriptions";
9
+ export * from "./leads";
9
10
  export * from "./dashboard";
10
11
  export * from "./foods";
11
12
  export * from "./metrics";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,247 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Lead capture (pre-signup email captures -- "leads"). Extend this enum as new
4
+ * capture points are added; the DB column itself stays plain text so new
5
+ * sources don't require a migration, only a contract minor-bump.
6
+ */
7
+ export declare const leadSourceSchema: z.ZodEnum<["cta", "landing", "waitlist"]>;
8
+ export type LeadSource = z.infer<typeof leadSourceSchema>;
9
+ /** POST /leads/capture payload -- public, unauthenticated. */
10
+ export declare const leadCapturePayloadSchema: z.ZodObject<{
11
+ email: z.ZodEffects<z.ZodString, string, string>;
12
+ source: z.ZodEnum<["cta", "landing", "waitlist"]>;
13
+ utmSource: z.ZodOptional<z.ZodString>;
14
+ utmMedium: z.ZodOptional<z.ZodString>;
15
+ utmCampaign: z.ZodOptional<z.ZodString>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ email: string;
18
+ source: "cta" | "landing" | "waitlist";
19
+ utmSource?: string | undefined;
20
+ utmMedium?: string | undefined;
21
+ utmCampaign?: string | undefined;
22
+ }, {
23
+ email: string;
24
+ source: "cta" | "landing" | "waitlist";
25
+ utmSource?: string | undefined;
26
+ utmMedium?: string | undefined;
27
+ utmCampaign?: string | undefined;
28
+ }>;
29
+ export type LeadCapturePayload = z.infer<typeof leadCapturePayloadSchema>;
30
+ /**
31
+ * Deliberately minimal -- identical on first submission and every resubmission,
32
+ * so the response never reveals whether an email was already registered.
33
+ */
34
+ export declare const leadCaptureResponseSchema: z.ZodObject<{
35
+ captured: z.ZodLiteral<true>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ captured: true;
38
+ }, {
39
+ captured: true;
40
+ }>;
41
+ export type LeadCaptureResponse = z.infer<typeof leadCaptureResponseSchema>;
42
+ /** Admin list/detail row -- full email_captures shape (minus the raw user-agent). */
43
+ export declare const adminLeadSchema: z.ZodObject<{
44
+ id: z.ZodString;
45
+ email: z.ZodString;
46
+ source: z.ZodNullable<z.ZodString>;
47
+ reconciledUserId: z.ZodNullable<z.ZodString>;
48
+ capturedAt: z.ZodString;
49
+ lastSubmittedAt: z.ZodString;
50
+ submissionCount: z.ZodNumber;
51
+ country: z.ZodNullable<z.ZodString>;
52
+ deviceType: z.ZodNullable<z.ZodString>;
53
+ osName: z.ZodNullable<z.ZodString>;
54
+ osVersion: z.ZodNullable<z.ZodString>;
55
+ browserName: z.ZodNullable<z.ZodString>;
56
+ browserVersion: z.ZodNullable<z.ZodString>;
57
+ referrer: z.ZodNullable<z.ZodString>;
58
+ utmSource: z.ZodNullable<z.ZodString>;
59
+ utmMedium: z.ZodNullable<z.ZodString>;
60
+ utmCampaign: z.ZodNullable<z.ZodString>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ id: string;
63
+ email: string;
64
+ source: string | null;
65
+ utmSource: string | null;
66
+ utmMedium: string | null;
67
+ utmCampaign: string | null;
68
+ reconciledUserId: string | null;
69
+ capturedAt: string;
70
+ lastSubmittedAt: string;
71
+ submissionCount: number;
72
+ country: string | null;
73
+ deviceType: string | null;
74
+ osName: string | null;
75
+ osVersion: string | null;
76
+ browserName: string | null;
77
+ browserVersion: string | null;
78
+ referrer: string | null;
79
+ }, {
80
+ id: string;
81
+ email: string;
82
+ source: string | null;
83
+ utmSource: string | null;
84
+ utmMedium: string | null;
85
+ utmCampaign: string | null;
86
+ reconciledUserId: string | null;
87
+ capturedAt: string;
88
+ lastSubmittedAt: string;
89
+ submissionCount: number;
90
+ country: string | null;
91
+ deviceType: string | null;
92
+ osName: string | null;
93
+ osVersion: string | null;
94
+ browserName: string | null;
95
+ browserVersion: string | null;
96
+ referrer: string | null;
97
+ }>;
98
+ export type AdminLead = z.infer<typeof adminLeadSchema>;
99
+ export declare const adminLeadListResponseSchema: z.ZodObject<{
100
+ items: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodString;
102
+ email: z.ZodString;
103
+ source: z.ZodNullable<z.ZodString>;
104
+ reconciledUserId: z.ZodNullable<z.ZodString>;
105
+ capturedAt: z.ZodString;
106
+ lastSubmittedAt: z.ZodString;
107
+ submissionCount: z.ZodNumber;
108
+ country: z.ZodNullable<z.ZodString>;
109
+ deviceType: z.ZodNullable<z.ZodString>;
110
+ osName: z.ZodNullable<z.ZodString>;
111
+ osVersion: z.ZodNullable<z.ZodString>;
112
+ browserName: z.ZodNullable<z.ZodString>;
113
+ browserVersion: z.ZodNullable<z.ZodString>;
114
+ referrer: z.ZodNullable<z.ZodString>;
115
+ utmSource: z.ZodNullable<z.ZodString>;
116
+ utmMedium: z.ZodNullable<z.ZodString>;
117
+ utmCampaign: z.ZodNullable<z.ZodString>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ id: string;
120
+ email: string;
121
+ source: string | null;
122
+ utmSource: string | null;
123
+ utmMedium: string | null;
124
+ utmCampaign: string | null;
125
+ reconciledUserId: string | null;
126
+ capturedAt: string;
127
+ lastSubmittedAt: string;
128
+ submissionCount: number;
129
+ country: string | null;
130
+ deviceType: string | null;
131
+ osName: string | null;
132
+ osVersion: string | null;
133
+ browserName: string | null;
134
+ browserVersion: string | null;
135
+ referrer: string | null;
136
+ }, {
137
+ id: string;
138
+ email: string;
139
+ source: string | null;
140
+ utmSource: string | null;
141
+ utmMedium: string | null;
142
+ utmCampaign: string | null;
143
+ reconciledUserId: string | null;
144
+ capturedAt: string;
145
+ lastSubmittedAt: string;
146
+ submissionCount: number;
147
+ country: string | null;
148
+ deviceType: string | null;
149
+ osName: string | null;
150
+ osVersion: string | null;
151
+ browserName: string | null;
152
+ browserVersion: string | null;
153
+ referrer: string | null;
154
+ }>, "many">;
155
+ pagination: z.ZodObject<{
156
+ page: z.ZodNumber;
157
+ pageSize: z.ZodNumber;
158
+ total: z.ZodNumber;
159
+ totalPages: z.ZodNumber;
160
+ }, "strip", z.ZodTypeAny, {
161
+ page: number;
162
+ pageSize: number;
163
+ total: number;
164
+ totalPages: number;
165
+ }, {
166
+ page: number;
167
+ pageSize: number;
168
+ total: number;
169
+ totalPages: number;
170
+ }>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ items: {
173
+ id: string;
174
+ email: string;
175
+ source: string | null;
176
+ utmSource: string | null;
177
+ utmMedium: string | null;
178
+ utmCampaign: string | null;
179
+ reconciledUserId: string | null;
180
+ capturedAt: string;
181
+ lastSubmittedAt: string;
182
+ submissionCount: number;
183
+ country: string | null;
184
+ deviceType: string | null;
185
+ osName: string | null;
186
+ osVersion: string | null;
187
+ browserName: string | null;
188
+ browserVersion: string | null;
189
+ referrer: string | null;
190
+ }[];
191
+ pagination: {
192
+ page: number;
193
+ pageSize: number;
194
+ total: number;
195
+ totalPages: number;
196
+ };
197
+ }, {
198
+ items: {
199
+ id: string;
200
+ email: string;
201
+ source: string | null;
202
+ utmSource: string | null;
203
+ utmMedium: string | null;
204
+ utmCampaign: string | null;
205
+ reconciledUserId: string | null;
206
+ capturedAt: string;
207
+ lastSubmittedAt: string;
208
+ submissionCount: number;
209
+ country: string | null;
210
+ deviceType: string | null;
211
+ osName: string | null;
212
+ osVersion: string | null;
213
+ browserName: string | null;
214
+ browserVersion: string | null;
215
+ referrer: string | null;
216
+ }[];
217
+ pagination: {
218
+ page: number;
219
+ pageSize: number;
220
+ total: number;
221
+ totalPages: number;
222
+ };
223
+ }>;
224
+ export type AdminLeadListResponse = z.infer<typeof adminLeadListResponseSchema>;
225
+ export declare const leadRoutes: {
226
+ capture: {
227
+ method: "POST";
228
+ path: "/api/v1/leads/capture";
229
+ auth: "public";
230
+ };
231
+ adminList: {
232
+ method: "GET";
233
+ path: "/api/v1/admin/leads";
234
+ auth: "admin";
235
+ };
236
+ adminDelete: {
237
+ method: "DELETE";
238
+ path: "/api/v1/admin/leads/:id";
239
+ auth: "admin";
240
+ };
241
+ adminExport: {
242
+ method: "GET";
243
+ path: "/api/v1/admin/leads/export";
244
+ auth: "admin";
245
+ };
246
+ };
247
+ //# sourceMappingURL=leads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leads.d.ts","sourceRoot":"","sources":["../src/leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,2CAAyC,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAUnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAA0C,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,qFAAqF;AACrF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAsBkB,CAAC"}
package/dist/leads.js ADDED
@@ -0,0 +1,71 @@
1
+ import { z } from "zod";
2
+ import { idSchema, isoDateSchema } from "./common";
3
+ import { adminPaginated } from "./admin";
4
+ /**
5
+ * Lead capture (pre-signup email captures -- "leads"). Extend this enum as new
6
+ * capture points are added; the DB column itself stays plain text so new
7
+ * sources don't require a migration, only a contract minor-bump.
8
+ */
9
+ export const leadSourceSchema = z.enum(["cta", "landing", "waitlist"]);
10
+ /** POST /leads/capture payload -- public, unauthenticated. */
11
+ export const leadCapturePayloadSchema = z.object({
12
+ email: z
13
+ .string()
14
+ .email()
15
+ .max(254)
16
+ .transform((e) => e.toLowerCase()),
17
+ source: leadSourceSchema,
18
+ utmSource: z.string().max(255).optional(),
19
+ utmMedium: z.string().max(255).optional(),
20
+ utmCampaign: z.string().max(255).optional(),
21
+ });
22
+ /**
23
+ * Deliberately minimal -- identical on first submission and every resubmission,
24
+ * so the response never reveals whether an email was already registered.
25
+ */
26
+ export const leadCaptureResponseSchema = z.object({ captured: z.literal(true) });
27
+ /** Admin list/detail row -- full email_captures shape (minus the raw user-agent). */
28
+ export const adminLeadSchema = z.object({
29
+ id: idSchema,
30
+ email: z.string().email(),
31
+ source: z.string().nullable(),
32
+ reconciledUserId: z.string().nullable(),
33
+ capturedAt: isoDateSchema,
34
+ lastSubmittedAt: isoDateSchema,
35
+ submissionCount: z.number().int(),
36
+ country: z.string().nullable(),
37
+ deviceType: z.string().nullable(),
38
+ osName: z.string().nullable(),
39
+ osVersion: z.string().nullable(),
40
+ browserName: z.string().nullable(),
41
+ browserVersion: z.string().nullable(),
42
+ referrer: z.string().nullable(),
43
+ utmSource: z.string().nullable(),
44
+ utmMedium: z.string().nullable(),
45
+ utmCampaign: z.string().nullable(),
46
+ });
47
+ export const adminLeadListResponseSchema = adminPaginated(adminLeadSchema);
48
+ export const leadRoutes = {
49
+ capture: {
50
+ method: "POST",
51
+ path: "/api/v1/leads/capture",
52
+ auth: "public",
53
+ },
54
+ adminList: {
55
+ method: "GET",
56
+ path: "/api/v1/admin/leads",
57
+ auth: "admin",
58
+ },
59
+ adminDelete: {
60
+ method: "DELETE",
61
+ path: "/api/v1/admin/leads/:id",
62
+ auth: "admin",
63
+ },
64
+ // CSV body, not JSON -- no response schema; route metadata only.
65
+ adminExport: {
66
+ method: "GET",
67
+ path: "/api/v1/admin/leads/export",
68
+ auth: "admin",
69
+ },
70
+ };
71
+ //# sourceMappingURL=leads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leads.js","sourceRoot":"","sources":["../src/leads.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.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Shared Thrivo API request and response contracts.",
5
5
  "type": "module",
6
6
  "private": false,