saasco-sdk 0.1.14 → 0.1.15

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/README.md CHANGED
@@ -33,9 +33,14 @@ import { Saasco } from 'saasco-sdk';
33
33
  export const saasco = new Saasco({ projectId: 'YOUR-PROJECT-ID' });
34
34
  ```
35
35
 
36
- ## Init Automatic Page View Tracking
36
+ ## Automatic Page View Tracking
37
+
38
+ When you initiate the lib Saasco will automatically start tracking all page views in your app. By default, it tracks all URL changes, including query parameters and hash changes. You can customize this behavior using the configuration options:
39
+
40
+ - `autoPageTracking` (default: `true`): When set to `false`, will not automatically track any `Page View` events.
41
+ - `trackUrlParams` (default: `true`): When set to `false`, changes to URL query parameters won't trigger a new page view
42
+ - `trackHashChanges` (default: `true`): When set to `false`, changes to URL hash won't trigger a new page view
37
43
 
38
- When you initiate the lib Saasco will automatically start tracking all page views in your app. There is no other configuration. It will automatically track url changes, even for SPAs like NextJs and Vue.
39
44
  You can also [manually track pages](https://www.notion.so/Manual-Page-Tracking-in-SPAs-2442fc7586dc4208ae8f669eb7561b1a?pvs=21) by opting out of automatic page tracking. For most use cases you don't need to do this.
40
45
 
41
46
  ```ts
@@ -168,7 +173,7 @@ saasco.debug(true);
168
173
  ## Reserved Properties
169
174
 
170
175
  Saasco has reserved some properties that have semantic meanings for contacts and, and will handle them in special ways.
171
- For example, Saasco always expects email to be a string of the users email address, this is important for when sending emails using the marketing app.
176
+ For example, Saasco always expects email to be a string of the user's email address, this is important for when sending emails using the marketing app.
172
177
  The SDK will do its best to match these properties, eg (created_at will be mapped to createdAt), but if possible you should use the reserved properties.
173
178
 
174
179
  ### Reserved Contact Properties
@@ -177,8 +182,8 @@ The SDK will do its best to match these properties, eg (created_at will be mappe
177
182
  | ----------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
178
183
  | age | Number | Age of a user |
179
184
  | avatar | String | URL to an avatar image for the user |
180
- | birthday | Date | Users birthday |
181
- | createdAt | Date | Date the users account was first created. We recomend recommend using ISO-8601 date strings. |
185
+ | birthday | Date | User's birthday |
186
+ | createdAt | Date | Date the user's account was first created. We recomend recommend using ISO-8601 date strings. |
182
187
  | description | String | Description of the user |
183
188
  | email | String | Email address of a user |
184
189
  | firstName | String | First name of a user |
@@ -187,8 +192,8 @@ The SDK will do its best to match these properties, eg (created_at will be mappe
187
192
  | lastName | String | Last name of a user |
188
193
  | name | String | Full name of a user. If you only pass a first and last name Segment automatically fills in the full name for you. |
189
194
  | phone | String | Phone number of a user |
190
- | title | String | Title of a user, usually related to their position at a specific company. Example: VP of Engineering |
191
- | username | String | Users username. This should be unique to each user, like the usernames of Twitter or GitHub. |
195
+ | title | String | Title of a user, usually related to their position at a specific company. Example: "VP of Engineering" |
196
+ | username | String | User's username. This should be unique to each user, like the usernames of Twitter or GitHub. |
192
197
  | website | String | Website of a user |
193
198
 
194
199
  ### Default Contact Properties
@@ -227,6 +232,7 @@ Any property that starts with `$` is a property that has been generated by the S
227
232
  | $initialUtmContent | Initial UTM Content | The initial UTM content tag from the URL a customer clicked to arrive at your domain. |
228
233
  | $utmContent | Last Touch UTM Content | The UTM content tag from the URL a customer clicked during their last interaction. |
229
234
  | $unsubscribed | Unsubscribed | Whether the user has unsubscribed from all notifications |
235
+ | $unsubscribeReason | Unsubscribe Reason | The reason the user was unsubscribed - eg complained, bounced, requested |
230
236
 
231
237
  ### Reserved Integration Properties
232
238
 
package/index.cjs.js CHANGED
@@ -6,7 +6,7 @@ var tslib = require('tslib');
6
6
  var uuid = require('@lukeed/uuid');
7
7
  var zod = require('zod');
8
8
 
9
- var version = "0.1.14";
9
+ var version = "0.1.15";
10
10
 
11
11
  const timezones = {
12
12
  'Asia/Barnaul': 'RU',
@@ -549,10 +549,12 @@ class Saasco {
549
549
  * @param config.autoPageTracking Whether to automatically track page views. Default is false.
550
550
  * @param config.enabled Whether analytics is enabled. Default is true. Set to false for development and staging envioronments. Will still allow debug mode to be true, just no events will be sent
551
551
  * @param config.debug Whether to log debug information. Default is false.
552
+ * @param config.trackUrlParams Whether to track URL parameters. Default is true.
553
+ * @param config.trackHashChanges Whether to track hash changes. Default is true.
552
554
  */
553
555
  constructor(config) {
554
556
  this.config = config;
555
- this.lastPageViewHref = '';
557
+ this.lastPageViewPath = '';
556
558
  this.isInitialized = false;
557
559
  if (!config.projectId) {
558
560
  this.error("Project ID is required but has not been provided. If you are using an env variable make sure it's set correctly.");
@@ -560,6 +562,9 @@ class Saasco {
560
562
  }
561
563
  // default enabled to true
562
564
  this.config.enabled = this.config.enabled === undefined ? true : this.config.enabled;
565
+ // default URL tracking options
566
+ this.config.trackUrlParams = this.config.trackUrlParams === undefined ? true : this.config.trackUrlParams;
567
+ this.config.trackHashChanges = this.config.trackHashChanges === undefined ? true : this.config.trackHashChanges;
563
568
  }
564
569
  init() {
565
570
  if (this.isInitialized) {
@@ -597,16 +602,6 @@ class Saasco {
597
602
  if (!this.config.projectId) {
598
603
  return this.error("Unable to track event. Project ID is required but has not been provided. If you are using an env variable make sure it's set correctly.");
599
604
  }
600
- // Prevent duplicate Page View tracking
601
- if (name === 'Page View') {
602
- if (!isBrowser) {
603
- console.warn('Saasco page tracking is only available in the browser');
604
- return;
605
- }
606
- const pageViewHref = window.location.href;
607
- if (pageViewHref === this.lastPageViewHref) return;
608
- this.lastPageViewHref = pageViewHref;
609
- }
610
605
  setSessionId();
611
606
  setAnonmousId();
612
607
  const browserContext = getBrowserContext();
@@ -633,6 +628,23 @@ class Saasco {
633
628
  * Before implementing this make sure you have disabled the autoPageTracking in the config or you will get duplicate page views
634
629
  */
635
630
  page() {
631
+ if (!isBrowser) {
632
+ console.warn('Saasco page tracking is only available in the browser');
633
+ return;
634
+ }
635
+ const url = new URL(window.location.href);
636
+ let pathToCompare = url.pathname;
637
+ // Include search params if configured
638
+ if (this.config.trackUrlParams) {
639
+ pathToCompare += url.search;
640
+ }
641
+ // Include hash if configured
642
+ if (this.config.trackHashChanges) {
643
+ pathToCompare += url.hash;
644
+ }
645
+ // Only track if the path has changed
646
+ if (pathToCompare === this.lastPageViewPath) return;
647
+ this.lastPageViewPath = pathToCompare;
636
648
  return this.track('Page View');
637
649
  }
638
650
  identify(distinctIdOrProperties, propertiesOrContext, contextOrNothing) {
@@ -960,7 +972,9 @@ const TinybirdJobResponseSchema = zod.z.object({
960
972
  const latestEventsRequestSchema = zod.z.object({
961
973
  projectId: zod.z.string(),
962
974
  limit: zod.z.number().optional(),
963
- payload: zod.z.boolean().optional()
975
+ payload: zod.z.boolean().optional(),
976
+ distinctId: zod.z.string().optional(),
977
+ action: zod.z.string().optional()
964
978
  });
965
979
  const latestEventItemSchema = zod.z.object({
966
980
  id: zod.z.string(),
@@ -971,7 +985,9 @@ const latestEventItemSchema = zod.z.object({
971
985
  href: zod.z.string(),
972
986
  device: zod.z.string(),
973
987
  browser: zod.z.string(),
974
- payload: zod.z.string().optional()
988
+ payload: zod.z.string().optional(),
989
+ distinctId: zod.z.string().optional(),
990
+ unique: zod.z.boolean().optional()
975
991
  });
976
992
  const latestEventsResponseSchema = tinyBirdBaseSchema.extend({
977
993
  data: zod.z.array(latestEventItemSchema)
@@ -1083,7 +1099,7 @@ const currentUsersResponseSchema = tinyBirdBaseSchema.extend({
1083
1099
  }))
1084
1100
  });
1085
1101
  const reservedPropertiesSchema = zod.z.object({
1086
- age: zod.z.number().or(zod.z.string()).nullish(),
1102
+ age: zod.z.number().nullish(),
1087
1103
  avatar: zod.z.string().url().nullish(),
1088
1104
  birthday: zod.z.string().nullish(),
1089
1105
  createdAt: zod.z.string().nullish(),
@@ -1098,12 +1114,17 @@ const reservedPropertiesSchema = zod.z.object({
1098
1114
  title: zod.z.string().nullish(),
1099
1115
  username: zod.z.string().nullish(),
1100
1116
  website: zod.z.string().nullish(),
1117
+ // Default Properties
1101
1118
  $id: zod.z.string().nullish(),
1102
1119
  $lastSeen: zod.z.string().nullish(),
1120
+ $unsubscribed: zod.z.boolean().nullish(),
1121
+ $unsubscribeReason: zod.z.enum(['manual', 'complained', 'bounced']).nullish(),
1103
1122
  // Stripe Properties
1104
1123
  $stripeCustomerId: zod.z.string().nullish(),
1105
1124
  $stripeTotalPayments: zod.z.number().or(zod.z.string()).nullish(),
1106
- $stripeTotalSpent: zod.z.number().or(zod.z.string()).nullish()
1125
+ $stripeTotalSpent: zod.z.number().or(zod.z.string()).nullish(),
1126
+ // Internal properties
1127
+ $_toDelete: zod.z.boolean().nullish()
1107
1128
  });
1108
1129
  const contactPropertiesSchema = reservedPropertiesSchema.optional().and(zod.z.record(zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.date(), zod.z.null(), zod.z.array(zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.date(), zod.z.null()]))])));
1109
1130
  const analyticsUserRawSchema = zod.z.object({
package/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import { __awaiter } from 'tslib';
2
2
  import { v4 } from '@lukeed/uuid';
3
3
  import { z } from 'zod';
4
4
 
5
- var version = "0.1.14";
5
+ var version = "0.1.15";
6
6
 
7
7
  const timezones = {
8
8
  'Asia/Barnaul': 'RU',
@@ -545,10 +545,12 @@ class Saasco {
545
545
  * @param config.autoPageTracking Whether to automatically track page views. Default is false.
546
546
  * @param config.enabled Whether analytics is enabled. Default is true. Set to false for development and staging envioronments. Will still allow debug mode to be true, just no events will be sent
547
547
  * @param config.debug Whether to log debug information. Default is false.
548
+ * @param config.trackUrlParams Whether to track URL parameters. Default is true.
549
+ * @param config.trackHashChanges Whether to track hash changes. Default is true.
548
550
  */
549
551
  constructor(config) {
550
552
  this.config = config;
551
- this.lastPageViewHref = '';
553
+ this.lastPageViewPath = '';
552
554
  this.isInitialized = false;
553
555
  if (!config.projectId) {
554
556
  this.error("Project ID is required but has not been provided. If you are using an env variable make sure it's set correctly.");
@@ -556,6 +558,9 @@ class Saasco {
556
558
  }
557
559
  // default enabled to true
558
560
  this.config.enabled = this.config.enabled === undefined ? true : this.config.enabled;
561
+ // default URL tracking options
562
+ this.config.trackUrlParams = this.config.trackUrlParams === undefined ? true : this.config.trackUrlParams;
563
+ this.config.trackHashChanges = this.config.trackHashChanges === undefined ? true : this.config.trackHashChanges;
559
564
  }
560
565
  init() {
561
566
  if (this.isInitialized) {
@@ -593,16 +598,6 @@ class Saasco {
593
598
  if (!this.config.projectId) {
594
599
  return this.error("Unable to track event. Project ID is required but has not been provided. If you are using an env variable make sure it's set correctly.");
595
600
  }
596
- // Prevent duplicate Page View tracking
597
- if (name === 'Page View') {
598
- if (!isBrowser) {
599
- console.warn('Saasco page tracking is only available in the browser');
600
- return;
601
- }
602
- const pageViewHref = window.location.href;
603
- if (pageViewHref === this.lastPageViewHref) return;
604
- this.lastPageViewHref = pageViewHref;
605
- }
606
601
  setSessionId();
607
602
  setAnonmousId();
608
603
  const browserContext = getBrowserContext();
@@ -629,6 +624,23 @@ class Saasco {
629
624
  * Before implementing this make sure you have disabled the autoPageTracking in the config or you will get duplicate page views
630
625
  */
631
626
  page() {
627
+ if (!isBrowser) {
628
+ console.warn('Saasco page tracking is only available in the browser');
629
+ return;
630
+ }
631
+ const url = new URL(window.location.href);
632
+ let pathToCompare = url.pathname;
633
+ // Include search params if configured
634
+ if (this.config.trackUrlParams) {
635
+ pathToCompare += url.search;
636
+ }
637
+ // Include hash if configured
638
+ if (this.config.trackHashChanges) {
639
+ pathToCompare += url.hash;
640
+ }
641
+ // Only track if the path has changed
642
+ if (pathToCompare === this.lastPageViewPath) return;
643
+ this.lastPageViewPath = pathToCompare;
632
644
  return this.track('Page View');
633
645
  }
634
646
  identify(distinctIdOrProperties, propertiesOrContext, contextOrNothing) {
@@ -956,7 +968,9 @@ const TinybirdJobResponseSchema = z.object({
956
968
  const latestEventsRequestSchema = z.object({
957
969
  projectId: z.string(),
958
970
  limit: z.number().optional(),
959
- payload: z.boolean().optional()
971
+ payload: z.boolean().optional(),
972
+ distinctId: z.string().optional(),
973
+ action: z.string().optional()
960
974
  });
961
975
  const latestEventItemSchema = z.object({
962
976
  id: z.string(),
@@ -967,7 +981,9 @@ const latestEventItemSchema = z.object({
967
981
  href: z.string(),
968
982
  device: z.string(),
969
983
  browser: z.string(),
970
- payload: z.string().optional()
984
+ payload: z.string().optional(),
985
+ distinctId: z.string().optional(),
986
+ unique: z.boolean().optional()
971
987
  });
972
988
  const latestEventsResponseSchema = tinyBirdBaseSchema.extend({
973
989
  data: z.array(latestEventItemSchema)
@@ -1079,7 +1095,7 @@ const currentUsersResponseSchema = tinyBirdBaseSchema.extend({
1079
1095
  }))
1080
1096
  });
1081
1097
  const reservedPropertiesSchema = z.object({
1082
- age: z.number().or(z.string()).nullish(),
1098
+ age: z.number().nullish(),
1083
1099
  avatar: z.string().url().nullish(),
1084
1100
  birthday: z.string().nullish(),
1085
1101
  createdAt: z.string().nullish(),
@@ -1094,12 +1110,17 @@ const reservedPropertiesSchema = z.object({
1094
1110
  title: z.string().nullish(),
1095
1111
  username: z.string().nullish(),
1096
1112
  website: z.string().nullish(),
1113
+ // Default Properties
1097
1114
  $id: z.string().nullish(),
1098
1115
  $lastSeen: z.string().nullish(),
1116
+ $unsubscribed: z.boolean().nullish(),
1117
+ $unsubscribeReason: z.enum(['manual', 'complained', 'bounced']).nullish(),
1099
1118
  // Stripe Properties
1100
1119
  $stripeCustomerId: z.string().nullish(),
1101
1120
  $stripeTotalPayments: z.number().or(z.string()).nullish(),
1102
- $stripeTotalSpent: z.number().or(z.string()).nullish()
1121
+ $stripeTotalSpent: z.number().or(z.string()).nullish(),
1122
+ // Internal properties
1123
+ $_toDelete: z.boolean().nullish()
1103
1124
  });
1104
1125
  const contactPropertiesSchema = reservedPropertiesSchema.optional().and(z.record(z.union([z.string(), z.number(), z.boolean(), z.date(), z.null(), z.array(z.union([z.string(), z.number(), z.boolean(), z.date(), z.null()]))])));
1105
1126
  const analyticsUserRawSchema = z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "saasco-sdk",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "@lukeed/uuid": "^2.0.1",
@@ -6,7 +6,7 @@ declare global {
6
6
  }
7
7
  export declare class Saasco {
8
8
  private config;
9
- private lastPageViewHref;
9
+ private lastPageViewPath;
10
10
  private isInitialized;
11
11
  /**
12
12
  * Creates an instance of Saasco SDK.
@@ -16,6 +16,8 @@ export declare class Saasco {
16
16
  * @param config.autoPageTracking Whether to automatically track page views. Default is false.
17
17
  * @param config.enabled Whether analytics is enabled. Default is true. Set to false for development and staging envioronments. Will still allow debug mode to be true, just no events will be sent
18
18
  * @param config.debug Whether to log debug information. Default is false.
19
+ * @param config.trackUrlParams Whether to track URL parameters. Default is true.
20
+ * @param config.trackHashChanges Whether to track hash changes. Default is true.
19
21
  */
20
22
  constructor(config: {
21
23
  projectId: string;
@@ -23,6 +25,8 @@ export declare class Saasco {
23
25
  autoPageTracking?: boolean;
24
26
  enabled?: boolean;
25
27
  debug?: boolean;
28
+ trackUrlParams?: boolean;
29
+ trackHashChanges?: boolean;
26
30
  });
27
31
  init(): void;
28
32
  disableDebug(): void;
@@ -156,14 +156,20 @@ export declare const latestEventsRequestSchema: z.ZodObject<{
156
156
  projectId: z.ZodString;
157
157
  limit: z.ZodOptional<z.ZodNumber>;
158
158
  payload: z.ZodOptional<z.ZodBoolean>;
159
+ distinctId: z.ZodOptional<z.ZodString>;
160
+ action: z.ZodOptional<z.ZodString>;
159
161
  }, "strip", z.ZodTypeAny, {
160
162
  projectId: string;
161
163
  limit?: number | undefined;
162
164
  payload?: boolean | undefined;
165
+ distinctId?: string | undefined;
166
+ action?: string | undefined;
163
167
  }, {
164
168
  projectId: string;
165
169
  limit?: number | undefined;
166
170
  payload?: boolean | undefined;
171
+ distinctId?: string | undefined;
172
+ action?: string | undefined;
167
173
  }>;
168
174
  export type LatestEventsRequest = z.infer<typeof latestEventsRequestSchema>;
169
175
  export declare const latestEventItemSchema: z.ZodObject<{
@@ -176,26 +182,32 @@ export declare const latestEventItemSchema: z.ZodObject<{
176
182
  device: z.ZodString;
177
183
  browser: z.ZodString;
178
184
  payload: z.ZodOptional<z.ZodString>;
185
+ distinctId: z.ZodOptional<z.ZodString>;
186
+ unique: z.ZodOptional<z.ZodBoolean>;
179
187
  }, "strip", z.ZodTypeAny, {
180
188
  id: string;
181
- timestamp: string;
182
189
  action: string;
190
+ timestamp: string;
183
191
  location: string;
184
192
  referrer: string;
185
193
  href: string;
186
194
  device: string;
187
195
  browser: string;
188
196
  payload?: string | undefined;
197
+ distinctId?: string | undefined;
198
+ unique?: boolean | undefined;
189
199
  }, {
190
200
  id: string;
191
- timestamp: string;
192
201
  action: string;
202
+ timestamp: string;
193
203
  location: string;
194
204
  referrer: string;
195
205
  href: string;
196
206
  device: string;
197
207
  browser: string;
198
208
  payload?: string | undefined;
209
+ distinctId?: string | undefined;
210
+ unique?: boolean | undefined;
199
211
  }>;
200
212
  export type LatestEventItem = z.infer<typeof latestEventItemSchema>;
201
213
  export declare const latestEventsResponseSchema: z.ZodObject<z.objectUtil.extendShape<{
@@ -234,26 +246,32 @@ export declare const latestEventsResponseSchema: z.ZodObject<z.objectUtil.extend
234
246
  device: z.ZodString;
235
247
  browser: z.ZodString;
236
248
  payload: z.ZodOptional<z.ZodString>;
249
+ distinctId: z.ZodOptional<z.ZodString>;
250
+ unique: z.ZodOptional<z.ZodBoolean>;
237
251
  }, "strip", z.ZodTypeAny, {
238
252
  id: string;
239
- timestamp: string;
240
253
  action: string;
254
+ timestamp: string;
241
255
  location: string;
242
256
  referrer: string;
243
257
  href: string;
244
258
  device: string;
245
259
  browser: string;
246
260
  payload?: string | undefined;
261
+ distinctId?: string | undefined;
262
+ unique?: boolean | undefined;
247
263
  }, {
248
264
  id: string;
249
- timestamp: string;
250
265
  action: string;
266
+ timestamp: string;
251
267
  location: string;
252
268
  referrer: string;
253
269
  href: string;
254
270
  device: string;
255
271
  browser: string;
256
272
  payload?: string | undefined;
273
+ distinctId?: string | undefined;
274
+ unique?: boolean | undefined;
257
275
  }>, "many">;
258
276
  }>, "strip", z.ZodTypeAny, {
259
277
  meta: {
@@ -268,14 +286,16 @@ export declare const latestEventsResponseSchema: z.ZodObject<z.objectUtil.extend
268
286
  rows: number;
269
287
  data: {
270
288
  id: string;
271
- timestamp: string;
272
289
  action: string;
290
+ timestamp: string;
273
291
  location: string;
274
292
  referrer: string;
275
293
  href: string;
276
294
  device: string;
277
295
  browser: string;
278
296
  payload?: string | undefined;
297
+ distinctId?: string | undefined;
298
+ unique?: boolean | undefined;
279
299
  }[];
280
300
  }, {
281
301
  meta: {
@@ -290,14 +310,16 @@ export declare const latestEventsResponseSchema: z.ZodObject<z.objectUtil.extend
290
310
  rows: number;
291
311
  data: {
292
312
  id: string;
293
- timestamp: string;
294
313
  action: string;
314
+ timestamp: string;
295
315
  location: string;
296
316
  referrer: string;
297
317
  href: string;
298
318
  device: string;
299
319
  browser: string;
300
320
  payload?: string | undefined;
321
+ distinctId?: string | undefined;
322
+ unique?: boolean | undefined;
301
323
  }[];
302
324
  }>;
303
325
  export type LatestEventsResponse = z.infer<typeof latestEventsResponseSchema>;
@@ -991,21 +1013,21 @@ export declare const analyticsEventSchema: z.ZodObject<{
991
1013
  id: string;
992
1014
  projectId: string;
993
1015
  payload: string;
994
- timestamp: string;
1016
+ distinctId: string | null;
995
1017
  action: string;
1018
+ timestamp: string;
996
1019
  anonymousId: string;
997
1020
  sessionId: string;
998
- distinctId: string | null;
999
1021
  version: string;
1000
1022
  }, {
1001
1023
  id: string;
1002
1024
  projectId: string;
1003
1025
  payload: string;
1004
- timestamp: string;
1026
+ distinctId: string | null;
1005
1027
  action: string;
1028
+ timestamp: string;
1006
1029
  anonymousId: string;
1007
1030
  sessionId: string;
1008
- distinctId: string | null;
1009
1031
  version: string;
1010
1032
  }>;
1011
1033
  export type AnalyticsEvent = z.infer<typeof analyticsEventSchema>;
@@ -1049,21 +1071,21 @@ export declare const userEventsResponseSchema: z.ZodObject<z.objectUtil.extendSh
1049
1071
  id: string;
1050
1072
  projectId: string;
1051
1073
  payload: string;
1052
- timestamp: string;
1074
+ distinctId: string | null;
1053
1075
  action: string;
1076
+ timestamp: string;
1054
1077
  anonymousId: string;
1055
1078
  sessionId: string;
1056
- distinctId: string | null;
1057
1079
  version: string;
1058
1080
  }, {
1059
1081
  id: string;
1060
1082
  projectId: string;
1061
1083
  payload: string;
1062
- timestamp: string;
1084
+ distinctId: string | null;
1063
1085
  action: string;
1086
+ timestamp: string;
1064
1087
  anonymousId: string;
1065
1088
  sessionId: string;
1066
- distinctId: string | null;
1067
1089
  version: string;
1068
1090
  }>, "many">;
1069
1091
  }>, "strip", z.ZodTypeAny, {
@@ -1081,11 +1103,11 @@ export declare const userEventsResponseSchema: z.ZodObject<z.objectUtil.extendSh
1081
1103
  id: string;
1082
1104
  projectId: string;
1083
1105
  payload: string;
1084
- timestamp: string;
1106
+ distinctId: string | null;
1085
1107
  action: string;
1108
+ timestamp: string;
1086
1109
  anonymousId: string;
1087
1110
  sessionId: string;
1088
- distinctId: string | null;
1089
1111
  version: string;
1090
1112
  }[];
1091
1113
  }, {
@@ -1103,11 +1125,11 @@ export declare const userEventsResponseSchema: z.ZodObject<z.objectUtil.extendSh
1103
1125
  id: string;
1104
1126
  projectId: string;
1105
1127
  payload: string;
1106
- timestamp: string;
1128
+ distinctId: string | null;
1107
1129
  action: string;
1130
+ timestamp: string;
1108
1131
  anonymousId: string;
1109
1132
  sessionId: string;
1110
- distinctId: string | null;
1111
1133
  version: string;
1112
1134
  }[];
1113
1135
  }>;
@@ -1193,7 +1215,7 @@ export declare const currentUsersResponseSchema: z.ZodObject<z.objectUtil.extend
1193
1215
  }>;
1194
1216
  export type CurrentUsersResponse = z.infer<typeof currentUsersResponseSchema>;
1195
1217
  export declare const reservedPropertiesSchema: z.ZodObject<{
1196
- age: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1218
+ age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1197
1219
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1198
1220
  birthday: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1199
1221
  createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1210,13 +1232,16 @@ export declare const reservedPropertiesSchema: z.ZodObject<{
1210
1232
  website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1211
1233
  $id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1212
1234
  $lastSeen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1235
+ $unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1236
+ $unsubscribeReason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["manual", "complained", "bounced"]>>>;
1213
1237
  $stripeCustomerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1214
1238
  $stripeTotalPayments: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1215
1239
  $stripeTotalSpent: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1240
+ $_toDelete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1216
1241
  }, "strip", z.ZodTypeAny, {
1217
1242
  name?: string | null | undefined;
1218
1243
  id?: string | null | undefined;
1219
- age?: string | number | null | undefined;
1244
+ age?: number | null | undefined;
1220
1245
  avatar?: string | null | undefined;
1221
1246
  birthday?: string | null | undefined;
1222
1247
  createdAt?: string | null | undefined;
@@ -1231,13 +1256,16 @@ export declare const reservedPropertiesSchema: z.ZodObject<{
1231
1256
  website?: string | null | undefined;
1232
1257
  $id?: string | null | undefined;
1233
1258
  $lastSeen?: string | null | undefined;
1259
+ $unsubscribed?: boolean | null | undefined;
1260
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1234
1261
  $stripeCustomerId?: string | null | undefined;
1235
1262
  $stripeTotalPayments?: string | number | null | undefined;
1236
1263
  $stripeTotalSpent?: string | number | null | undefined;
1264
+ $_toDelete?: boolean | null | undefined;
1237
1265
  }, {
1238
1266
  name?: string | null | undefined;
1239
1267
  id?: string | null | undefined;
1240
- age?: string | number | null | undefined;
1268
+ age?: number | null | undefined;
1241
1269
  avatar?: string | null | undefined;
1242
1270
  birthday?: string | null | undefined;
1243
1271
  createdAt?: string | null | undefined;
@@ -1252,13 +1280,16 @@ export declare const reservedPropertiesSchema: z.ZodObject<{
1252
1280
  website?: string | null | undefined;
1253
1281
  $id?: string | null | undefined;
1254
1282
  $lastSeen?: string | null | undefined;
1283
+ $unsubscribed?: boolean | null | undefined;
1284
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1255
1285
  $stripeCustomerId?: string | null | undefined;
1256
1286
  $stripeTotalPayments?: string | number | null | undefined;
1257
1287
  $stripeTotalSpent?: string | number | null | undefined;
1288
+ $_toDelete?: boolean | null | undefined;
1258
1289
  }>;
1259
1290
  export type ReservedProperties = z.infer<typeof reservedPropertiesSchema>;
1260
1291
  export declare const contactPropertiesSchema: z.ZodIntersection<z.ZodOptional<z.ZodObject<{
1261
- age: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1292
+ age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1262
1293
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1263
1294
  birthday: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1264
1295
  createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1275,13 +1306,16 @@ export declare const contactPropertiesSchema: z.ZodIntersection<z.ZodOptional<z.
1275
1306
  website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1276
1307
  $id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1277
1308
  $lastSeen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1309
+ $unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1310
+ $unsubscribeReason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["manual", "complained", "bounced"]>>>;
1278
1311
  $stripeCustomerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1279
1312
  $stripeTotalPayments: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1280
1313
  $stripeTotalSpent: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1314
+ $_toDelete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1281
1315
  }, "strip", z.ZodTypeAny, {
1282
1316
  name?: string | null | undefined;
1283
1317
  id?: string | null | undefined;
1284
- age?: string | number | null | undefined;
1318
+ age?: number | null | undefined;
1285
1319
  avatar?: string | null | undefined;
1286
1320
  birthday?: string | null | undefined;
1287
1321
  createdAt?: string | null | undefined;
@@ -1296,13 +1330,16 @@ export declare const contactPropertiesSchema: z.ZodIntersection<z.ZodOptional<z.
1296
1330
  website?: string | null | undefined;
1297
1331
  $id?: string | null | undefined;
1298
1332
  $lastSeen?: string | null | undefined;
1333
+ $unsubscribed?: boolean | null | undefined;
1334
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1299
1335
  $stripeCustomerId?: string | null | undefined;
1300
1336
  $stripeTotalPayments?: string | number | null | undefined;
1301
1337
  $stripeTotalSpent?: string | number | null | undefined;
1338
+ $_toDelete?: boolean | null | undefined;
1302
1339
  }, {
1303
1340
  name?: string | null | undefined;
1304
1341
  id?: string | null | undefined;
1305
- age?: string | number | null | undefined;
1342
+ age?: number | null | undefined;
1306
1343
  avatar?: string | null | undefined;
1307
1344
  birthday?: string | null | undefined;
1308
1345
  createdAt?: string | null | undefined;
@@ -1317,9 +1354,12 @@ export declare const contactPropertiesSchema: z.ZodIntersection<z.ZodOptional<z.
1317
1354
  website?: string | null | undefined;
1318
1355
  $id?: string | null | undefined;
1319
1356
  $lastSeen?: string | null | undefined;
1357
+ $unsubscribed?: boolean | null | undefined;
1358
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1320
1359
  $stripeCustomerId?: string | null | undefined;
1321
1360
  $stripeTotalPayments?: string | number | null | undefined;
1322
1361
  $stripeTotalSpent?: string | number | null | undefined;
1362
+ $_toDelete?: boolean | null | undefined;
1323
1363
  }>>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull]>, "many">]>>>;
1324
1364
  export type ContactProperties = z.infer<typeof contactPropertiesSchema>;
1325
1365
  export declare const analyticsUserRawSchema: z.ZodObject<{
@@ -1330,13 +1370,13 @@ export declare const analyticsUserRawSchema: z.ZodObject<{
1330
1370
  }, "strip", z.ZodTypeAny, {
1331
1371
  projectId: string;
1332
1372
  payload: string;
1333
- timestamp: string;
1334
1373
  distinctId: string;
1374
+ timestamp: string;
1335
1375
  }, {
1336
1376
  projectId: string;
1337
1377
  payload: string;
1338
- timestamp: string;
1339
1378
  distinctId: string;
1379
+ timestamp: string;
1340
1380
  }>;
1341
1381
  export type AnalyticsUserRaw = z.infer<typeof analyticsUserRawSchema>;
1342
1382
  export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
@@ -1346,15 +1386,15 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1346
1386
  payload: z.ZodString;
1347
1387
  }, "payload">, "strip", z.ZodTypeAny, {
1348
1388
  projectId: string;
1349
- timestamp: string;
1350
1389
  distinctId: string;
1390
+ timestamp: string;
1351
1391
  }, {
1352
1392
  projectId: string;
1353
- timestamp: string;
1354
1393
  distinctId: string;
1394
+ timestamp: string;
1355
1395
  }>, z.ZodObject<{
1356
1396
  properties: z.ZodIntersection<z.ZodOptional<z.ZodObject<{
1357
- age: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1397
+ age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1358
1398
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1359
1399
  birthday: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1360
1400
  createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1371,13 +1411,16 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1371
1411
  website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1372
1412
  $id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1373
1413
  $lastSeen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1414
+ $unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1415
+ $unsubscribeReason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["manual", "complained", "bounced"]>>>;
1374
1416
  $stripeCustomerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1375
1417
  $stripeTotalPayments: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1376
1418
  $stripeTotalSpent: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1419
+ $_toDelete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1377
1420
  }, "strip", z.ZodTypeAny, {
1378
1421
  name?: string | null | undefined;
1379
1422
  id?: string | null | undefined;
1380
- age?: string | number | null | undefined;
1423
+ age?: number | null | undefined;
1381
1424
  avatar?: string | null | undefined;
1382
1425
  birthday?: string | null | undefined;
1383
1426
  createdAt?: string | null | undefined;
@@ -1392,13 +1435,16 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1392
1435
  website?: string | null | undefined;
1393
1436
  $id?: string | null | undefined;
1394
1437
  $lastSeen?: string | null | undefined;
1438
+ $unsubscribed?: boolean | null | undefined;
1439
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1395
1440
  $stripeCustomerId?: string | null | undefined;
1396
1441
  $stripeTotalPayments?: string | number | null | undefined;
1397
1442
  $stripeTotalSpent?: string | number | null | undefined;
1443
+ $_toDelete?: boolean | null | undefined;
1398
1444
  }, {
1399
1445
  name?: string | null | undefined;
1400
1446
  id?: string | null | undefined;
1401
- age?: string | number | null | undefined;
1447
+ age?: number | null | undefined;
1402
1448
  avatar?: string | null | undefined;
1403
1449
  birthday?: string | null | undefined;
1404
1450
  createdAt?: string | null | undefined;
@@ -1413,15 +1459,18 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1413
1459
  website?: string | null | undefined;
1414
1460
  $id?: string | null | undefined;
1415
1461
  $lastSeen?: string | null | undefined;
1462
+ $unsubscribed?: boolean | null | undefined;
1463
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1416
1464
  $stripeCustomerId?: string | null | undefined;
1417
1465
  $stripeTotalPayments?: string | number | null | undefined;
1418
1466
  $stripeTotalSpent?: string | number | null | undefined;
1467
+ $_toDelete?: boolean | null | undefined;
1419
1468
  }>>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull]>, "many">]>>>;
1420
1469
  }, "strip", z.ZodTypeAny, {
1421
1470
  properties: {
1422
1471
  name?: string | null | undefined;
1423
1472
  id?: string | null | undefined;
1424
- age?: string | number | null | undefined;
1473
+ age?: number | null | undefined;
1425
1474
  avatar?: string | null | undefined;
1426
1475
  birthday?: string | null | undefined;
1427
1476
  createdAt?: string | null | undefined;
@@ -1436,15 +1485,18 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1436
1485
  website?: string | null | undefined;
1437
1486
  $id?: string | null | undefined;
1438
1487
  $lastSeen?: string | null | undefined;
1488
+ $unsubscribed?: boolean | null | undefined;
1489
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1439
1490
  $stripeCustomerId?: string | null | undefined;
1440
1491
  $stripeTotalPayments?: string | number | null | undefined;
1441
1492
  $stripeTotalSpent?: string | number | null | undefined;
1493
+ $_toDelete?: boolean | null | undefined;
1442
1494
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1443
1495
  }, {
1444
1496
  properties: {
1445
1497
  name?: string | null | undefined;
1446
1498
  id?: string | null | undefined;
1447
- age?: string | number | null | undefined;
1499
+ age?: number | null | undefined;
1448
1500
  avatar?: string | null | undefined;
1449
1501
  birthday?: string | null | undefined;
1450
1502
  createdAt?: string | null | undefined;
@@ -1459,9 +1511,12 @@ export declare const analyticsUserSchema: z.ZodIntersection<z.ZodObject<Omit<{
1459
1511
  website?: string | null | undefined;
1460
1512
  $id?: string | null | undefined;
1461
1513
  $lastSeen?: string | null | undefined;
1514
+ $unsubscribed?: boolean | null | undefined;
1515
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1462
1516
  $stripeCustomerId?: string | null | undefined;
1463
1517
  $stripeTotalPayments?: string | number | null | undefined;
1464
1518
  $stripeTotalSpent?: string | number | null | undefined;
1519
+ $_toDelete?: boolean | null | undefined;
1465
1520
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1466
1521
  }>>;
1467
1522
  export type AnalyticsUser = z.infer<typeof analyticsUserSchema>;
@@ -1495,7 +1550,7 @@ export declare const idenfitySchema: z.ZodObject<{
1495
1550
  anonymousId: z.ZodString;
1496
1551
  version: z.ZodString;
1497
1552
  payload: z.ZodIntersection<z.ZodOptional<z.ZodObject<{
1498
- age: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1553
+ age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1499
1554
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1500
1555
  birthday: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1501
1556
  createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1512,13 +1567,16 @@ export declare const idenfitySchema: z.ZodObject<{
1512
1567
  website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1513
1568
  $id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1514
1569
  $lastSeen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1570
+ $unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1571
+ $unsubscribeReason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["manual", "complained", "bounced"]>>>;
1515
1572
  $stripeCustomerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1516
1573
  $stripeTotalPayments: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1517
1574
  $stripeTotalSpent: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1575
+ $_toDelete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1518
1576
  }, "strip", z.ZodTypeAny, {
1519
1577
  name?: string | null | undefined;
1520
1578
  id?: string | null | undefined;
1521
- age?: string | number | null | undefined;
1579
+ age?: number | null | undefined;
1522
1580
  avatar?: string | null | undefined;
1523
1581
  birthday?: string | null | undefined;
1524
1582
  createdAt?: string | null | undefined;
@@ -1533,13 +1591,16 @@ export declare const idenfitySchema: z.ZodObject<{
1533
1591
  website?: string | null | undefined;
1534
1592
  $id?: string | null | undefined;
1535
1593
  $lastSeen?: string | null | undefined;
1594
+ $unsubscribed?: boolean | null | undefined;
1595
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1536
1596
  $stripeCustomerId?: string | null | undefined;
1537
1597
  $stripeTotalPayments?: string | number | null | undefined;
1538
1598
  $stripeTotalSpent?: string | number | null | undefined;
1599
+ $_toDelete?: boolean | null | undefined;
1539
1600
  }, {
1540
1601
  name?: string | null | undefined;
1541
1602
  id?: string | null | undefined;
1542
- age?: string | number | null | undefined;
1603
+ age?: number | null | undefined;
1543
1604
  avatar?: string | null | undefined;
1544
1605
  birthday?: string | null | undefined;
1545
1606
  createdAt?: string | null | undefined;
@@ -1554,9 +1615,12 @@ export declare const idenfitySchema: z.ZodObject<{
1554
1615
  website?: string | null | undefined;
1555
1616
  $id?: string | null | undefined;
1556
1617
  $lastSeen?: string | null | undefined;
1618
+ $unsubscribed?: boolean | null | undefined;
1619
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1557
1620
  $stripeCustomerId?: string | null | undefined;
1558
1621
  $stripeTotalPayments?: string | number | null | undefined;
1559
1622
  $stripeTotalSpent?: string | number | null | undefined;
1623
+ $_toDelete?: boolean | null | undefined;
1560
1624
  }>>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull]>, "many">]>>>;
1561
1625
  context: z.ZodOptional<z.ZodObject<{
1562
1626
  active: z.ZodOptional<z.ZodBoolean>;
@@ -1571,7 +1635,7 @@ export declare const idenfitySchema: z.ZodObject<{
1571
1635
  payload: {
1572
1636
  name?: string | null | undefined;
1573
1637
  id?: string | null | undefined;
1574
- age?: string | number | null | undefined;
1638
+ age?: number | null | undefined;
1575
1639
  avatar?: string | null | undefined;
1576
1640
  birthday?: string | null | undefined;
1577
1641
  createdAt?: string | null | undefined;
@@ -1586,13 +1650,16 @@ export declare const idenfitySchema: z.ZodObject<{
1586
1650
  website?: string | null | undefined;
1587
1651
  $id?: string | null | undefined;
1588
1652
  $lastSeen?: string | null | undefined;
1653
+ $unsubscribed?: boolean | null | undefined;
1654
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1589
1655
  $stripeCustomerId?: string | null | undefined;
1590
1656
  $stripeTotalPayments?: string | number | null | undefined;
1591
1657
  $stripeTotalSpent?: string | number | null | undefined;
1658
+ $_toDelete?: boolean | null | undefined;
1592
1659
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1660
+ distinctId: string;
1593
1661
  timestamp: string;
1594
1662
  anonymousId: string;
1595
- distinctId: string;
1596
1663
  version: string;
1597
1664
  context?: {
1598
1665
  active?: boolean | undefined;
@@ -1603,7 +1670,7 @@ export declare const idenfitySchema: z.ZodObject<{
1603
1670
  payload: {
1604
1671
  name?: string | null | undefined;
1605
1672
  id?: string | null | undefined;
1606
- age?: string | number | null | undefined;
1673
+ age?: number | null | undefined;
1607
1674
  avatar?: string | null | undefined;
1608
1675
  birthday?: string | null | undefined;
1609
1676
  createdAt?: string | null | undefined;
@@ -1618,13 +1685,16 @@ export declare const idenfitySchema: z.ZodObject<{
1618
1685
  website?: string | null | undefined;
1619
1686
  $id?: string | null | undefined;
1620
1687
  $lastSeen?: string | null | undefined;
1688
+ $unsubscribed?: boolean | null | undefined;
1689
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1621
1690
  $stripeCustomerId?: string | null | undefined;
1622
1691
  $stripeTotalPayments?: string | number | null | undefined;
1623
1692
  $stripeTotalSpent?: string | number | null | undefined;
1693
+ $_toDelete?: boolean | null | undefined;
1624
1694
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1695
+ distinctId: string;
1625
1696
  timestamp: string;
1626
1697
  anonymousId: string;
1627
- distinctId: string;
1628
1698
  version: string;
1629
1699
  context?: {
1630
1700
  active?: boolean | undefined;
@@ -1673,7 +1743,7 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1673
1743
  }, {
1674
1744
  data: z.ZodArray<z.ZodObject<{
1675
1745
  properties: z.ZodIntersection<z.ZodOptional<z.ZodObject<{
1676
- age: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1746
+ age: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1677
1747
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1678
1748
  birthday: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1679
1749
  createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1690,13 +1760,16 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1690
1760
  website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1691
1761
  $id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1692
1762
  $lastSeen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1763
+ $unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1764
+ $unsubscribeReason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["manual", "complained", "bounced"]>>>;
1693
1765
  $stripeCustomerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1694
1766
  $stripeTotalPayments: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1695
1767
  $stripeTotalSpent: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
1768
+ $_toDelete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1696
1769
  }, "strip", z.ZodTypeAny, {
1697
1770
  name?: string | null | undefined;
1698
1771
  id?: string | null | undefined;
1699
- age?: string | number | null | undefined;
1772
+ age?: number | null | undefined;
1700
1773
  avatar?: string | null | undefined;
1701
1774
  birthday?: string | null | undefined;
1702
1775
  createdAt?: string | null | undefined;
@@ -1711,13 +1784,16 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1711
1784
  website?: string | null | undefined;
1712
1785
  $id?: string | null | undefined;
1713
1786
  $lastSeen?: string | null | undefined;
1787
+ $unsubscribed?: boolean | null | undefined;
1788
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1714
1789
  $stripeCustomerId?: string | null | undefined;
1715
1790
  $stripeTotalPayments?: string | number | null | undefined;
1716
1791
  $stripeTotalSpent?: string | number | null | undefined;
1792
+ $_toDelete?: boolean | null | undefined;
1717
1793
  }, {
1718
1794
  name?: string | null | undefined;
1719
1795
  id?: string | null | undefined;
1720
- age?: string | number | null | undefined;
1796
+ age?: number | null | undefined;
1721
1797
  avatar?: string | null | undefined;
1722
1798
  birthday?: string | null | undefined;
1723
1799
  createdAt?: string | null | undefined;
@@ -1732,15 +1808,18 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1732
1808
  website?: string | null | undefined;
1733
1809
  $id?: string | null | undefined;
1734
1810
  $lastSeen?: string | null | undefined;
1811
+ $unsubscribed?: boolean | null | undefined;
1812
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1735
1813
  $stripeCustomerId?: string | null | undefined;
1736
1814
  $stripeTotalPayments?: string | number | null | undefined;
1737
1815
  $stripeTotalSpent?: string | number | null | undefined;
1816
+ $_toDelete?: boolean | null | undefined;
1738
1817
  }>>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodDate, z.ZodNull]>, "many">]>>>;
1739
1818
  }, "strip", z.ZodTypeAny, {
1740
1819
  properties: {
1741
1820
  name?: string | null | undefined;
1742
1821
  id?: string | null | undefined;
1743
- age?: string | number | null | undefined;
1822
+ age?: number | null | undefined;
1744
1823
  avatar?: string | null | undefined;
1745
1824
  birthday?: string | null | undefined;
1746
1825
  createdAt?: string | null | undefined;
@@ -1755,15 +1834,18 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1755
1834
  website?: string | null | undefined;
1756
1835
  $id?: string | null | undefined;
1757
1836
  $lastSeen?: string | null | undefined;
1837
+ $unsubscribed?: boolean | null | undefined;
1838
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1758
1839
  $stripeCustomerId?: string | null | undefined;
1759
1840
  $stripeTotalPayments?: string | number | null | undefined;
1760
1841
  $stripeTotalSpent?: string | number | null | undefined;
1842
+ $_toDelete?: boolean | null | undefined;
1761
1843
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1762
1844
  }, {
1763
1845
  properties: {
1764
1846
  name?: string | null | undefined;
1765
1847
  id?: string | null | undefined;
1766
- age?: string | number | null | undefined;
1848
+ age?: number | null | undefined;
1767
1849
  avatar?: string | null | undefined;
1768
1850
  birthday?: string | null | undefined;
1769
1851
  createdAt?: string | null | undefined;
@@ -1778,9 +1860,12 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1778
1860
  website?: string | null | undefined;
1779
1861
  $id?: string | null | undefined;
1780
1862
  $lastSeen?: string | null | undefined;
1863
+ $unsubscribed?: boolean | null | undefined;
1864
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1781
1865
  $stripeCustomerId?: string | null | undefined;
1782
1866
  $stripeTotalPayments?: string | number | null | undefined;
1783
1867
  $stripeTotalSpent?: string | number | null | undefined;
1868
+ $_toDelete?: boolean | null | undefined;
1784
1869
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1785
1870
  }>, "many">;
1786
1871
  }>, "strip", z.ZodTypeAny, {
@@ -1798,7 +1883,7 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1798
1883
  properties: {
1799
1884
  name?: string | null | undefined;
1800
1885
  id?: string | null | undefined;
1801
- age?: string | number | null | undefined;
1886
+ age?: number | null | undefined;
1802
1887
  avatar?: string | null | undefined;
1803
1888
  birthday?: string | null | undefined;
1804
1889
  createdAt?: string | null | undefined;
@@ -1813,9 +1898,12 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1813
1898
  website?: string | null | undefined;
1814
1899
  $id?: string | null | undefined;
1815
1900
  $lastSeen?: string | null | undefined;
1901
+ $unsubscribed?: boolean | null | undefined;
1902
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1816
1903
  $stripeCustomerId?: string | null | undefined;
1817
1904
  $stripeTotalPayments?: string | number | null | undefined;
1818
1905
  $stripeTotalSpent?: string | number | null | undefined;
1906
+ $_toDelete?: boolean | null | undefined;
1819
1907
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1820
1908
  }[];
1821
1909
  }, {
@@ -1833,7 +1921,7 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1833
1921
  properties: {
1834
1922
  name?: string | null | undefined;
1835
1923
  id?: string | null | undefined;
1836
- age?: string | number | null | undefined;
1924
+ age?: number | null | undefined;
1837
1925
  avatar?: string | null | undefined;
1838
1926
  birthday?: string | null | undefined;
1839
1927
  createdAt?: string | null | undefined;
@@ -1848,9 +1936,12 @@ export declare const latestIdentifiesResponseSchema: z.ZodObject<z.objectUtil.ex
1848
1936
  website?: string | null | undefined;
1849
1937
  $id?: string | null | undefined;
1850
1938
  $lastSeen?: string | null | undefined;
1939
+ $unsubscribed?: boolean | null | undefined;
1940
+ $unsubscribeReason?: "manual" | "complained" | "bounced" | null | undefined;
1851
1941
  $stripeCustomerId?: string | null | undefined;
1852
1942
  $stripeTotalPayments?: string | number | null | undefined;
1853
1943
  $stripeTotalSpent?: string | number | null | undefined;
1944
+ $_toDelete?: boolean | null | undefined;
1854
1945
  } & Record<string, string | number | boolean | Date | (string | number | boolean | Date | null)[] | null>;
1855
1946
  }[];
1856
1947
  }>;