@mostly-good-metrics/javascript 0.4.4 → 0.5.1

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
@@ -50,7 +50,7 @@ MostlyGoodMetrics.track('purchase_completed', {
50
50
  ### 3. Identify Users
51
51
 
52
52
  ```typescript
53
- // Set user identity
53
+ // Set user identity (optional - anonymous ID is auto-generated)
54
54
  MostlyGoodMetrics.identify('user_123');
55
55
 
56
56
  // Reset identity (e.g., on logout)
@@ -59,6 +59,48 @@ MostlyGoodMetrics.resetIdentity();
59
59
 
60
60
  That's it! Events are automatically batched and sent.
61
61
 
62
+ ## User Identification
63
+
64
+ The SDK automatically generates and persists an anonymous `user_id` (UUID) for each user. This ID:
65
+ - Is auto-generated on first visit
66
+ - Persists across sessions (stored in cookies and localStorage)
67
+ - Is included in every event as `user_id`
68
+
69
+ When you call `identify()`, the identified user ID takes precedence over the anonymous ID.
70
+
71
+ ```typescript
72
+ // Before identify(): user_id = "550e8400-e29b-41d4-a716-446655440000" (auto-generated)
73
+ MostlyGoodMetrics.identify('user_123');
74
+ // After identify(): user_id = "user_123"
75
+
76
+ MostlyGoodMetrics.resetIdentity();
77
+ // After reset: user_id = "550e8400-e29b-41d4-a716-446655440000" (back to anonymous)
78
+ ```
79
+
80
+ ### Cross-Subdomain Tracking
81
+
82
+ By default, the anonymous ID is stored in cookies (with localStorage fallback). To share the anonymous ID across subdomains:
83
+
84
+ ```typescript
85
+ MostlyGoodMetrics.configure({
86
+ apiKey: 'mgm_proj_your_api_key',
87
+ cookieDomain: '.yourdomain.com', // Share across all subdomains
88
+ });
89
+ ```
90
+
91
+ This allows tracking the same user across `app.yourdomain.com`, `www.yourdomain.com`, etc.
92
+
93
+ ### Privacy Mode (No Cookies)
94
+
95
+ For GDPR compliance or privacy-focused applications, you can disable cookies entirely:
96
+
97
+ ```typescript
98
+ MostlyGoodMetrics.configure({
99
+ apiKey: 'mgm_proj_your_api_key',
100
+ disableCookies: true, // Only use localStorage
101
+ });
102
+ ```
103
+
62
104
  ## Configuration Options
63
105
 
64
106
  For more control, pass additional configuration:
@@ -87,14 +129,17 @@ MostlyGoodMetrics.configure({
87
129
  | `flushInterval` | `30` | Auto-flush interval in seconds |
88
130
  | `maxStoredEvents` | `10000` | Max cached events |
89
131
  | `enableDebugLogging` | `false` | Enable console output |
90
- | `trackAppLifecycleEvents` | `true` | Auto-track lifecycle events |
132
+ | `trackAppLifecycleEvents` | `false` | Auto-track lifecycle events ($app_opened, etc.) |
91
133
  | `bundleId` | auto-detected | Custom bundle identifier |
134
+ | `cookieDomain` | - | Cookie domain for cross-subdomain tracking (e.g., `.example.com`) |
135
+ | `disableCookies` | `false` | Disable cookies, use only localStorage |
136
+ | `anonymousId` | auto-generated | Override anonymous ID (for wrapper SDKs like React Native) |
92
137
  | `storage` | auto-detected | Custom storage adapter |
93
138
  | `networkClient` | fetch-based | Custom network client |
94
139
 
95
140
  ## Automatic Events
96
141
 
97
- When `trackAppLifecycleEvents` is enabled (default), the SDK automatically tracks:
142
+ When `trackAppLifecycleEvents` is enabled, the SDK automatically tracks:
98
143
 
99
144
  | Event | When | Properties |
100
145
  |-------|------|------------|
@@ -177,6 +222,7 @@ console.log(`${count} events pending`);
177
222
 
178
223
  The SDK automatically:
179
224
 
225
+ - **Generates anonymous user ID** (UUID, persisted in cookies + localStorage)
180
226
  - **Persists events** to localStorage (with in-memory fallback)
181
227
  - **Batches events** for efficient network usage
182
228
  - **Flushes on interval** (default: every 30 seconds)
@@ -184,7 +230,7 @@ The SDK automatically:
184
230
  - **Compresses payloads** using gzip for large batches (>1KB)
185
231
  - **Retries on failure** for network errors (events are preserved)
186
232
  - **Handles rate limiting** with exponential backoff
187
- - **Persists user ID** across page loads
233
+ - **Persists identified user ID** across page loads
188
234
  - **Generates session IDs** per page load
189
235
 
190
236
  ## Debug Logging
@@ -40,6 +40,9 @@ class MostlyGoodMetrics {
40
40
  };
41
41
  this.config = (0, utils_1.resolveConfiguration)(config);
42
42
  this.sessionIdValue = (0, utils_1.generateUUID)();
43
+ // Configure cookie settings before initializing anonymous ID
44
+ storage_1.persistence.configureCookies(config.cookieDomain, config.disableCookies);
45
+ this.anonymousIdValue = storage_1.persistence.initializeAnonymousId(config.anonymousId, utils_1.generateAnonymousId);
43
46
  // Set up logging
44
47
  (0, logger_1.setDebugLogging)(this.config.enableDebugLogging);
45
48
  // Initialize storage
@@ -90,9 +93,9 @@ class MostlyGoodMetrics {
90
93
  MostlyGoodMetrics.instance = null;
91
94
  }
92
95
  }
93
- // ============================================================
96
+ // =====================================================
94
97
  // Static convenience methods (delegate to shared instance)
95
- // ============================================================
98
+ // =====================================================
96
99
  /**
97
100
  * Track an event with the given name and optional properties.
98
101
  */
@@ -100,10 +103,12 @@ class MostlyGoodMetrics {
100
103
  MostlyGoodMetrics.instance?.track(name, properties);
101
104
  }
102
105
  /**
103
- * Identify the current user.
106
+ * Identify the current user with optional profile data.
107
+ * @param userId The user's unique identifier
108
+ * @param profile Optional profile data (email, name)
104
109
  */
105
- static identify(userId) {
106
- MostlyGoodMetrics.instance?.identify(userId);
110
+ static identify(userId, profile) {
111
+ MostlyGoodMetrics.instance?.identify(userId, profile);
107
112
  }
108
113
  /**
109
114
  * Reset user identity.
@@ -165,9 +170,9 @@ class MostlyGoodMetrics {
165
170
  static getSuperProperties() {
166
171
  return MostlyGoodMetrics.instance?.getSuperProperties() ?? {};
167
172
  }
168
- // ============================================================
173
+ // =====================================================
169
174
  // Instance properties
170
- // ============================================================
175
+ // =====================================================
171
176
  /**
172
177
  * Get the current user ID.
173
178
  */
@@ -180,6 +185,12 @@ class MostlyGoodMetrics {
180
185
  get sessionId() {
181
186
  return this.sessionIdValue;
182
187
  }
188
+ /**
189
+ * Get the anonymous ID (auto-generated UUID, persisted across sessions).
190
+ */
191
+ get anonymousId() {
192
+ return this.anonymousIdValue;
193
+ }
183
194
  /**
184
195
  * Check if a flush operation is in progress.
185
196
  */
@@ -192,9 +203,9 @@ class MostlyGoodMetrics {
192
203
  get configuration() {
193
204
  return { ...this.config };
194
205
  }
195
- // ============================================================
206
+ // =====================================================
196
207
  // Instance methods
197
- // ============================================================
208
+ // =====================================================
198
209
  /**
199
210
  * Track an event with the given name and optional properties.
200
211
  */
@@ -221,11 +232,11 @@ class MostlyGoodMetrics {
221
232
  name,
222
233
  client_event_id: (0, utils_1.generateUUID)(),
223
234
  timestamp: (0, utils_1.getISOTimestamp)(),
224
- userId: this.userId ?? undefined,
225
- sessionId: this.sessionIdValue,
235
+ user_id: this.userId ?? this.anonymousIdValue,
236
+ session_id: this.sessionIdValue,
226
237
  platform: this.config.platform,
227
- appVersion: this.config.appVersion || undefined,
228
- osVersion: this.config.osVersion || (0, utils_1.getOSVersion)() || undefined,
238
+ app_version: this.config.appVersion || undefined,
239
+ os_version: this.config.osVersion || (0, utils_1.getOSVersion)() || undefined,
229
240
  environment: this.config.environment,
230
241
  locale: (0, utils_1.getLocale)(),
231
242
  timezone: (0, utils_1.getTimezone)(),
@@ -240,22 +251,81 @@ class MostlyGoodMetrics {
240
251
  void this.checkBatchSize();
241
252
  }
242
253
  /**
243
- * Identify the current user.
254
+ * Identify the current user with optional profile data.
255
+ * Profile data is sent to the backend via the $identify event.
256
+ * Debouncing: only sends $identify if payload changed or >24h since last send.
257
+ *
258
+ * @param userId The user's unique identifier
259
+ * @param profile Optional profile data (email, name)
244
260
  */
245
- identify(userId) {
261
+ identify(userId, profile) {
246
262
  if (!userId) {
247
263
  logger_1.logger.warn('identify called with empty userId');
248
264
  return;
249
265
  }
250
266
  logger_1.logger.debug(`Identifying user: ${userId}`);
251
267
  storage_1.persistence.setUserId(userId);
268
+ // If profile data is provided, check if we should send $identify event
269
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- intentional truthy check for non-empty strings
270
+ if (profile && (profile.email || profile.name)) {
271
+ this.sendIdentifyEventIfNeeded(userId, profile);
272
+ }
273
+ }
274
+ /**
275
+ * Send $identify event if debounce conditions are met.
276
+ * Only sends if: hash changed OR more than 24 hours since last send.
277
+ */
278
+ sendIdentifyEventIfNeeded(userId, profile) {
279
+ // Compute hash of the identify payload
280
+ const payloadString = JSON.stringify({ userId, email: profile.email, name: profile.name });
281
+ const currentHash = this.simpleHash(payloadString);
282
+ const storedHash = storage_1.persistence.getIdentifyHash();
283
+ const lastSentAt = storage_1.persistence.getIdentifyLastSentAt();
284
+ const now = Date.now();
285
+ const twentyFourHoursMs = 24 * 60 * 60 * 1000;
286
+ const hashChanged = storedHash !== currentHash;
287
+ const expiredTime = !lastSentAt || now - lastSentAt > twentyFourHoursMs;
288
+ if (hashChanged || expiredTime) {
289
+ logger_1.logger.debug(`Sending $identify event (hashChanged=${hashChanged}, expiredTime=${expiredTime})`);
290
+ // Build properties object with only defined values
291
+ const properties = {};
292
+ if (profile.email) {
293
+ properties.email = profile.email;
294
+ }
295
+ if (profile.name) {
296
+ properties.name = profile.name;
297
+ }
298
+ // Track the $identify event
299
+ this.track(types_1.SystemEvents.IDENTIFY, properties);
300
+ // Update stored hash and timestamp
301
+ storage_1.persistence.setIdentifyHash(currentHash);
302
+ storage_1.persistence.setIdentifyLastSentAt(now);
303
+ }
304
+ else {
305
+ logger_1.logger.debug('Skipping $identify event (debounced)');
306
+ }
307
+ }
308
+ /**
309
+ * Simple hash function for debouncing.
310
+ * Uses a basic string hash - not cryptographic, just for comparison.
311
+ */
312
+ simpleHash(str) {
313
+ let hash = 0;
314
+ for (let i = 0; i < str.length; i++) {
315
+ const char = str.charCodeAt(i);
316
+ hash = (hash << 5) - hash + char;
317
+ hash = hash & hash; // Convert to 32-bit integer
318
+ }
319
+ return hash.toString(16);
252
320
  }
253
321
  /**
254
322
  * Reset user identity.
323
+ * Clears the user ID and identify debounce state.
255
324
  */
256
325
  resetIdentity() {
257
326
  logger_1.logger.debug('Resetting user identity');
258
327
  storage_1.persistence.setUserId(null);
328
+ storage_1.persistence.clearIdentifyState();
259
329
  }
260
330
  /**
261
331
  * Start a new session.
@@ -336,9 +406,9 @@ class MostlyGoodMetrics {
336
406
  this.removeLifecycleListeners();
337
407
  logger_1.logger.debug('MostlyGoodMetrics instance destroyed');
338
408
  }
339
- // ============================================================
409
+ // =====================================================
340
410
  // Private methods
341
- // ============================================================
411
+ // =====================================================
342
412
  async checkBatchSize() {
343
413
  const count = await this.storage.eventCount();
344
414
  if (count >= this.config.maxBatchSize) {
@@ -397,10 +467,10 @@ class MostlyGoodMetrics {
397
467
  buildPayload(events) {
398
468
  const context = {
399
469
  platform: this.config.platform,
400
- appVersion: this.config.appVersion || undefined,
401
- osVersion: this.config.osVersion || (0, utils_1.getOSVersion)() || undefined,
402
- userId: this.userId ?? undefined,
403
- sessionId: this.sessionIdValue,
470
+ app_version: this.config.appVersion || undefined,
471
+ os_version: this.config.osVersion || (0, utils_1.getOSVersion)() || undefined,
472
+ user_id: this.userId ?? this.anonymousIdValue,
473
+ session_id: this.sessionIdValue,
404
474
  environment: this.config.environment,
405
475
  locale: (0, utils_1.getLocale)(),
406
476
  timezone: (0, utils_1.getTimezone)(),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -20,12 +20,15 @@
20
20
  * page: '/checkout',
21
21
  * });
22
22
  *
23
- * // Identify users
24
- * MostlyGoodMetrics.identify('user_123');
23
+ * // Identify users with profile data
24
+ * MostlyGoodMetrics.identify('user_123', {
25
+ * email: 'user@example.com',
26
+ * name: 'Jane Doe',
27
+ * });
25
28
  * ```
26
29
  */
27
30
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.logger = exports.getDeviceModel = exports.getOSVersion = exports.detectDeviceType = exports.detectPlatform = exports.sanitizeProperties = exports.validateEventName = exports.isValidEventName = exports.getISOTimestamp = exports.generateUUID = exports.createDefaultNetworkClient = exports.FetchNetworkClient = exports.createDefaultStorage = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = exports.EVENT_NAME_REGEX = exports.Constraints = exports.DefaultConfiguration = exports.SystemProperties = exports.SystemEvents = exports.MGMError = exports.MostlyGoodMetrics = void 0;
31
+ exports.logger = exports.getDeviceModel = exports.getOSVersion = exports.detectDeviceType = exports.detectPlatform = exports.sanitizeProperties = exports.validateEventName = exports.isValidEventName = exports.getISOTimestamp = exports.generateUUID = exports.generateAnonymousId = exports.createDefaultNetworkClient = exports.FetchNetworkClient = exports.createDefaultStorage = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = exports.EVENT_NAME_REGEX = exports.Constraints = exports.DefaultConfiguration = exports.SystemProperties = exports.SystemEvents = exports.MGMError = exports.MostlyGoodMetrics = void 0;
29
32
  // Main client
30
33
  var client_1 = require("./client");
31
34
  Object.defineProperty(exports, "MostlyGoodMetrics", { enumerable: true, get: function () { return client_1.MostlyGoodMetrics; } });
@@ -50,6 +53,7 @@ Object.defineProperty(exports, "FetchNetworkClient", { enumerable: true, get: fu
50
53
  Object.defineProperty(exports, "createDefaultNetworkClient", { enumerable: true, get: function () { return network_1.createDefaultNetworkClient; } });
51
54
  // Utilities (for advanced usage)
52
55
  var utils_1 = require("./utils");
56
+ Object.defineProperty(exports, "generateAnonymousId", { enumerable: true, get: function () { return utils_1.generateAnonymousId; } });
53
57
  Object.defineProperty(exports, "generateUUID", { enumerable: true, get: function () { return utils_1.generateUUID; } });
54
58
  Object.defineProperty(exports, "getISOTimestamp", { enumerable: true, get: function () { return utils_1.getISOTimestamp; } });
55
59
  Object.defineProperty(exports, "isValidEventName", { enumerable: true, get: function () { return utils_1.isValidEventName; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,cAAc;AACd,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAoB1B,cAAc;AACd,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB,YAAY;AACZ,iCAMiB;AALf,qGAAA,YAAY,OAAA;AACZ,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAGlB,wDAAwD;AACxD,qCAAiG;AAAxF,+GAAA,oBAAoB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAE7E,sDAAsD;AACtD,qCAA2E;AAAlE,6GAAA,kBAAkB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAEvD,iCAAiC;AACjC,iCAUiB;AATf,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AAGhB,yBAAyB;AACzB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAEH,cAAc;AACd,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAqB1B,cAAc;AACd,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB,YAAY;AACZ,iCAMiB;AALf,qGAAA,YAAY,OAAA;AACZ,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAGlB,wDAAwD;AACxD,qCAAiG;AAAxF,+GAAA,oBAAoB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAE7E,sDAAsD;AACtD,qCAA2E;AAAlE,6GAAA,kBAAkB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAEvD,iCAAiC;AACjC,iCAWiB;AAVf,4GAAA,mBAAmB,OAAA;AACnB,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AAGhB,yBAAyB;AACzB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
@@ -6,8 +6,11 @@ const logger_1 = require("./logger");
6
6
  const types_1 = require("./types");
7
7
  const STORAGE_KEY = 'mostlygoodmetrics_events';
8
8
  const USER_ID_KEY = 'mostlygoodmetrics_user_id';
9
+ const ANONYMOUS_ID_KEY = 'mostlygoodmetrics_anonymous_id';
9
10
  const APP_VERSION_KEY = 'mostlygoodmetrics_app_version';
10
11
  const SUPER_PROPERTIES_KEY = 'mostlygoodmetrics_super_properties';
12
+ const IDENTIFY_HASH_KEY = 'mostlygoodmetrics_identify_hash';
13
+ const IDENTIFY_TIMESTAMP_KEY = 'mostlygoodmetrics_identify_timestamp';
11
14
  /**
12
15
  * Check if we're running in a browser environment with localStorage available.
13
16
  */
@@ -25,6 +28,57 @@ function isLocalStorageAvailable() {
25
28
  return false;
26
29
  }
27
30
  }
31
+ /**
32
+ * Check if cookies are available in this environment.
33
+ */
34
+ function isCookieAvailable() {
35
+ try {
36
+ if (typeof document === 'undefined' || typeof document.cookie === 'undefined') {
37
+ return false;
38
+ }
39
+ // Test if we can actually set a cookie
40
+ const testKey = '__mgm_cookie_test__';
41
+ document.cookie = `${testKey}=test; path=/; max-age=60`;
42
+ const hasTest = document.cookie.indexOf(testKey) !== -1;
43
+ // Clean up test cookie
44
+ document.cookie = `${testKey}=; path=/; max-age=0`;
45
+ return hasTest;
46
+ }
47
+ catch {
48
+ return false;
49
+ }
50
+ }
51
+ /**
52
+ * Get a cookie value by name.
53
+ */
54
+ function getCookie(name) {
55
+ if (!isCookieAvailable()) {
56
+ return null;
57
+ }
58
+ const cookies = document.cookie.split(';');
59
+ for (const cookie of cookies) {
60
+ const [cookieName, cookieValue] = cookie.trim().split('=');
61
+ if (cookieName === name) {
62
+ return decodeURIComponent(cookieValue);
63
+ }
64
+ }
65
+ return null;
66
+ }
67
+ /**
68
+ * Set a cookie with optional domain for cross-subdomain support.
69
+ * Uses a 1-year expiry by default.
70
+ */
71
+ function setCookie(name, value, domain) {
72
+ if (!isCookieAvailable()) {
73
+ return;
74
+ }
75
+ const maxAge = 365 * 24 * 60 * 60; // 1 year in seconds
76
+ let cookieString = `${name}=${encodeURIComponent(value)}; path=/; max-age=${maxAge}; SameSite=Lax`;
77
+ if (domain) {
78
+ cookieString += `; domain=${domain}`;
79
+ }
80
+ document.cookie = cookieString;
81
+ }
28
82
  /**
29
83
  * In-memory event storage implementation.
30
84
  * Used as a fallback when localStorage is not available,
@@ -154,13 +208,31 @@ function createDefaultStorage(maxEvents) {
154
208
  }
155
209
  /**
156
210
  * Persistence helpers for user ID and app version.
157
- * These use localStorage when available, otherwise fall back to in-memory.
211
+ * Uses cookies first (for cross-subdomain support), then localStorage as fallback.
158
212
  */
159
213
  class PersistenceManager {
160
214
  constructor() {
161
215
  this.inMemoryUserId = null;
216
+ this.inMemoryAnonymousId = null;
162
217
  this.inMemoryAppVersion = null;
163
218
  this.inMemorySuperProperties = {};
219
+ this.cookieDomain = undefined;
220
+ this.disableCookies = false;
221
+ }
222
+ /**
223
+ * Configure cookie settings.
224
+ * @param cookieDomain Domain for cross-subdomain cookies (e.g., '.example.com')
225
+ * @param disableCookies If true, only use localStorage (no cookies)
226
+ */
227
+ configureCookies(cookieDomain, disableCookies) {
228
+ this.cookieDomain = cookieDomain;
229
+ this.disableCookies = disableCookies ?? false;
230
+ }
231
+ /**
232
+ * Check if cookies should be used.
233
+ */
234
+ shouldUseCookies() {
235
+ return !this.disableCookies && isCookieAvailable();
164
236
  }
165
237
  /**
166
238
  * Get the persisted user ID.
@@ -185,6 +257,74 @@ class PersistenceManager {
185
257
  }
186
258
  this.inMemoryUserId = userId;
187
259
  }
260
+ /**
261
+ * Get the anonymous ID (auto-generated UUID).
262
+ * Checks cookies first, then localStorage, then in-memory.
263
+ */
264
+ getAnonymousId() {
265
+ // Try cookies first (for cross-subdomain support)
266
+ if (this.shouldUseCookies()) {
267
+ const cookieId = getCookie(ANONYMOUS_ID_KEY);
268
+ if (cookieId) {
269
+ return cookieId;
270
+ }
271
+ }
272
+ // Fall back to localStorage
273
+ if (isLocalStorageAvailable()) {
274
+ return localStorage.getItem(ANONYMOUS_ID_KEY);
275
+ }
276
+ return this.inMemoryAnonymousId;
277
+ }
278
+ /**
279
+ * Set the anonymous ID (persists across sessions).
280
+ * Saves to both cookies and localStorage for redundancy.
281
+ */
282
+ setAnonymousId(anonymousId) {
283
+ // Save to cookies if enabled
284
+ if (this.shouldUseCookies()) {
285
+ setCookie(ANONYMOUS_ID_KEY, anonymousId, this.cookieDomain);
286
+ }
287
+ // Also save to localStorage as fallback
288
+ if (isLocalStorageAvailable()) {
289
+ localStorage.setItem(ANONYMOUS_ID_KEY, anonymousId);
290
+ }
291
+ this.inMemoryAnonymousId = anonymousId;
292
+ }
293
+ /**
294
+ * Initialize the anonymous ID. If an override is provided, use it.
295
+ * Otherwise, use existing persisted ID or generate a new UUID.
296
+ * @param overrideId Optional ID from wrapper SDK (e.g., React Native device ID)
297
+ * @param generateUUID Function to generate a UUID
298
+ */
299
+ initializeAnonymousId(overrideId, generateUUID) {
300
+ // If wrapper SDK provides an override, always use it
301
+ if (overrideId) {
302
+ this.setAnonymousId(overrideId);
303
+ return overrideId;
304
+ }
305
+ // Check for existing persisted anonymous ID
306
+ const existingId = this.getAnonymousId();
307
+ if (existingId) {
308
+ // Ensure it's saved to cookies if we have cookie support now
309
+ if (this.shouldUseCookies() && !getCookie(ANONYMOUS_ID_KEY)) {
310
+ setCookie(ANONYMOUS_ID_KEY, existingId, this.cookieDomain);
311
+ }
312
+ return existingId;
313
+ }
314
+ // Generate and persist a new anonymous ID
315
+ const newId = generateUUID();
316
+ this.setAnonymousId(newId);
317
+ return newId;
318
+ }
319
+ /**
320
+ * Reset the anonymous ID to a new UUID.
321
+ * @param generateUUID Function to generate a UUID
322
+ */
323
+ resetAnonymousId(generateUUID) {
324
+ const newId = generateUUID();
325
+ this.setAnonymousId(newId);
326
+ return newId;
327
+ }
188
328
  /**
189
329
  * Get the persisted app version (for detecting updates).
190
330
  */
@@ -283,6 +423,50 @@ class PersistenceManager {
283
423
  }
284
424
  }
285
425
  }
426
+ /**
427
+ * Get the stored identify hash (for debouncing).
428
+ */
429
+ getIdentifyHash() {
430
+ if (isLocalStorageAvailable()) {
431
+ return localStorage.getItem(IDENTIFY_HASH_KEY);
432
+ }
433
+ return null;
434
+ }
435
+ /**
436
+ * Set the identify hash.
437
+ */
438
+ setIdentifyHash(hash) {
439
+ if (isLocalStorageAvailable()) {
440
+ localStorage.setItem(IDENTIFY_HASH_KEY, hash);
441
+ }
442
+ }
443
+ /**
444
+ * Get the timestamp of the last identify event sent.
445
+ */
446
+ getIdentifyLastSentAt() {
447
+ if (isLocalStorageAvailable()) {
448
+ const timestamp = localStorage.getItem(IDENTIFY_TIMESTAMP_KEY);
449
+ return timestamp ? parseInt(timestamp, 10) : null;
450
+ }
451
+ return null;
452
+ }
453
+ /**
454
+ * Set the timestamp of the last identify event sent.
455
+ */
456
+ setIdentifyLastSentAt(timestamp) {
457
+ if (isLocalStorageAvailable()) {
458
+ localStorage.setItem(IDENTIFY_TIMESTAMP_KEY, timestamp.toString());
459
+ }
460
+ }
461
+ /**
462
+ * Clear identify debounce state (used when resetting identity).
463
+ */
464
+ clearIdentifyState() {
465
+ if (isLocalStorageAvailable()) {
466
+ localStorage.removeItem(IDENTIFY_HASH_KEY);
467
+ localStorage.removeItem(IDENTIFY_TIMESTAMP_KEY);
468
+ }
469
+ }
286
470
  }
287
471
  exports.persistence = new PersistenceManager();
288
472
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}