@aacigroup/aaci_shared 2.3.0 → 2.4.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/README.md CHANGED
@@ -12,7 +12,6 @@ npm install @aacigroup/aaci_shared
12
12
 
13
13
  ## Quick Start
14
14
 
15
- ### Lead Tracking
16
15
  ```javascript
17
16
  import { LeadTracker } from '@aacigroup/aaci_shared';
18
17
 
@@ -23,48 +22,254 @@ const leadTracker = new LeadTracker({
23
22
  productionDomains: ['myproject.com']
24
23
  });
25
24
 
26
- // Track lead only (session data automatically added)
25
+ // Track lead only
27
26
  await leadTracker.trackLeadAndAddress({
28
27
  lead_type: 'signup',
29
- email: 'user@example.com',
30
- first_name: 'John',
31
- last_name: 'Doe'
28
+ email: 'user@example.com'
32
29
  });
33
30
 
34
- // Track address only (will merge with saved lead if exists)
31
+ // Track address only
35
32
  await leadTracker.trackLeadAndAddress(undefined, {
36
- full_address: '123 Main St, New York, NY 10001'
33
+ full_address: '123 Main St, New York, NY 10001',
34
+ source: 'address_check'
37
35
  });
38
36
 
39
- // Track both lead and address together
37
+ // Track both together
40
38
  await leadTracker.trackLeadAndAddress({
41
- lead_type: 'purchase',
42
- email: 'user@example.com',
43
- phone: '+1234567890'
39
+ lead_type: 'contact',
40
+ email: 'user@example.com'
44
41
  }, {
45
42
  full_address: '123 Main St, New York, NY 10001',
43
+ source: 'contact'
44
+ });
45
+ ```
46
+
47
+ ## Core API Reference
48
+
49
+ ### LeadTracker
50
+
51
+ #### `trackLeadAndAddress(lead?, address?)`
52
+
53
+ **Primary tracking method that accepts lead data, address data, or both.**
54
+
55
+ **Parameters:**
56
+ - `lead` (optional): Lead information object
57
+ - `address` (optional): Address information object
58
+ - **At least one parameter is required**
59
+
60
+ **Returns:** `Promise<LeadTrackingResponse>`
61
+
62
+ #### Lead Capture Types
63
+
64
+ ```typescript
65
+ interface TrackLeadParams {
66
+ lead_type: string; // Required: Type of lead
67
+ first_name?: string; // Optional: First name
68
+ last_name?: string; // Optional: Last name
69
+ email?: string; // Optional: Email address
70
+ phone?: string; // Optional: Phone number
71
+ extra_data?: Record<string, any>; // Optional: Additional custom data
72
+ session_data?: SessionData; // Optional: Session tracking data (auto-populated)
73
+ }
74
+ ```
75
+
76
+ **Common `lead_type` examples:**
77
+ - `'policy_review'` - Insurance policy review requests
78
+ - `'address_check'` - Property address verification
79
+ - `'contact'` - General contact form submissions
80
+ - `'signup'` - User registration/signup
81
+ - `'consultation'` - Service consultation requests
82
+ - `'quote'` - Price quote requests
83
+
84
+ **Lead Validation:**
85
+ - When tracking a lead, either `email` OR `phone` is required
86
+ - `lead_type` is always required
87
+
88
+ #### Address Capture Types
89
+
90
+ ```typescript
91
+ interface Address {
92
+ full_address: string; // Required: Complete address string
93
+ source: string; // Required: Lead type that generated this address
94
+ street_address?: string; // Optional: Street address component
95
+ city?: string; // Optional: City
96
+ state?: string; // Optional: State/Province
97
+ zip_code?: string; // Optional: ZIP/Postal code
98
+ county?: string; // Optional: County
99
+ country?: string; // Optional: Country
100
+ extra_data?: Record<string, any>; // Optional: Additional address data
101
+ }
102
+ ```
103
+
104
+ **Address Validation:**
105
+ - `full_address` is always required
106
+ - `source` is always required (uses same values as `lead_type`)
107
+
108
+ #### Usage Examples
109
+
110
+ ```javascript
111
+ // 1. Lead only - Basic contact form
112
+ await tracker.trackLeadAndAddress({
113
+ lead_type: 'contact',
114
+ email: 'user@example.com',
115
+ first_name: 'John'
116
+ });
117
+
118
+ // 2. Lead only - Policy review request
119
+ await tracker.trackLeadAndAddress({
120
+ lead_type: 'policy_review',
121
+ phone: '+1234567890',
122
+ extra_data: { policy_number: 'POL123456' }
123
+ });
124
+
125
+ // 3. Address only - Address verification
126
+ await tracker.trackLeadAndAddress(undefined, {
127
+ full_address: '123 Main St, New York, NY 10001',
128
+ source: 'address_check',
46
129
  city: 'New York',
47
130
  state: 'NY',
48
131
  zip_code: '10001'
49
132
  });
133
+
134
+ // 4. Both together - Address check with contact
135
+ await tracker.trackLeadAndAddress({
136
+ lead_type: 'address_check',
137
+ email: 'homeowner@example.com',
138
+ first_name: 'Jane'
139
+ }, {
140
+ full_address: '456 Oak Ave, Boston, MA 02101',
141
+ source: 'address_check',
142
+ city: 'Boston',
143
+ state: 'MA',
144
+ zip_code: '02101'
145
+ });
146
+
147
+ // 5. Multi-step forms - Step 1: Lead info
148
+ await tracker.trackLeadAndAddress({
149
+ lead_type: 'quote',
150
+ email: 'customer@example.com'
151
+ });
152
+ // Step 2: Address info (automatically merges with saved lead)
153
+ await tracker.trackLeadAndAddress(undefined, {
154
+ full_address: '789 Pine St, Chicago, IL 60601',
155
+ source: 'quote'
156
+ });
157
+ ```
158
+
159
+ ## Input Validation
160
+
161
+ The library provides Zod validation schemas to validate customer input before tracking.
162
+
163
+ **Note:** Validation functions require the `zod` package to be installed in your project:
164
+ ```bash
165
+ npm install zod
166
+ ```
167
+
168
+ ```javascript
169
+ import {
170
+ validateTrackLeadParams,
171
+ validateAddress,
172
+ safeValidateTrackLeadAndAddress
173
+ } from '@aacigroup/aaci_shared';
174
+
175
+ // Validate lead data (throws on error)
176
+ try {
177
+ const validLead = validateTrackLeadParams({
178
+ lead_type: 'contact',
179
+ email: 'user@example.com'
180
+ });
181
+ await tracker.trackLeadAndAddress(validLead);
182
+ } catch (error) {
183
+ console.error('Invalid lead data:', error.errors);
184
+ }
185
+
186
+ // Validate address data (throws on error)
187
+ try {
188
+ const validAddress = validateAddress({
189
+ full_address: '123 Main St, New York, NY 10001',
190
+ source: 'address_check'
191
+ });
192
+ await tracker.trackLeadAndAddress(undefined, validAddress);
193
+ } catch (error) {
194
+ console.error('Invalid address data:', error.errors);
195
+ }
196
+
197
+ // Safe validation (returns success/error object)
198
+ const result = safeValidateTrackLeadAndAddress(leadData, addressData);
199
+ if (result.success) {
200
+ await tracker.trackLeadAndAddress(result.data.lead, result.data.address);
201
+ } else {
202
+ console.error('Validation errors:', result.error.errors);
203
+ }
204
+
205
+ // Available validation functions:
206
+ // validateTrackLeadParams(data) - throws on error
207
+ // validateAddress(data) - throws on error
208
+ // validateTrackLeadAndAddress(lead, address) - throws on error
209
+ // safeValidateTrackLeadParams(data) - returns {success, data, error}
210
+ // safeValidateAddress(data) - returns {success, data, error}
211
+ // safeValidateTrackLeadAndAddress(lead, address) - returns {success, data, error}
212
+ ```
213
+
214
+ #### Response Type
215
+
216
+ ```typescript
217
+ interface LeadTrackingResponse {
218
+ status: 'ok' | 'error'; // Success or error status
219
+ lead_id?: string; // Generated lead ID (on success)
220
+ address_id?: string; // Generated address ID (if address provided)
221
+ is_first_submission?: boolean; // Whether this is user's first submission
222
+ message?: string; // Success/error message
223
+ errors?: Array<{ // Validation errors (if any)
224
+ field: string;
225
+ message: string;
226
+ }>;
227
+ }
228
+ ```
229
+
230
+ #### Other LeadTracker Methods
231
+
232
+ ```javascript
233
+ // Get current session data
234
+ const sessionData = tracker.getSessionData();
235
+
236
+ // Check if running in production
237
+ const isProduction = tracker.isProduction();
50
238
  ```
51
239
 
52
240
  ### PostHog Analytics
241
+
53
242
  ```javascript
54
243
  import { PostHog } from '@aacigroup/aaci_shared';
55
244
 
56
245
  const analytics = new PostHog({
57
- apiKey: 'phc_your_key',
246
+ apiKey: 'phc_your_posthog_key',
58
247
  projectName: 'MyProject',
59
- productionDomains: ['myproject.com']
248
+ productionDomains: ['myproject.com'],
249
+ apiHost: 'https://us.i.posthog.com', // Optional: Custom PostHog host
250
+ autocapture: true, // Optional: Enable autocapture (default: true)
251
+ capturePageview: true // Optional: Enable pageview tracking (default: true)
60
252
  });
61
253
 
254
+ // Initialize PostHog
62
255
  await analytics.init();
63
- analytics.trackEvent('user_signup', { plan: 'premium' });
64
- analytics.trackError(error, 'context'); // Built-in error tracking
256
+
257
+ // Track events
258
+ analytics.trackEvent('user_signup', { plan: 'premium', source: 'landing_page' });
259
+
260
+ // Identify users
261
+ analytics.identify('user_123', { email: 'user@example.com', plan: 'premium' });
262
+
263
+ // Track errors
264
+ analytics.trackError(new Error('Something went wrong'), 'checkout_process');
265
+ analytics.trackAPIError('https://api.example.com/users', 500, 'Internal Server Error');
266
+
267
+ // Reset user identity
268
+ analytics.reset();
65
269
  ```
66
270
 
67
271
  ### Google Tag Manager
272
+
68
273
  ```javascript
69
274
  import { GTM } from '@aacigroup/aaci_shared';
70
275
 
@@ -72,82 +277,129 @@ const gtm = new GTM({
72
277
  productionDomains: ['myproject.com']
73
278
  });
74
279
 
75
- gtm.trackEvent('purchase', { value: 100, currency: 'USD' });
280
+ // Track events
281
+ gtm.trackEvent('purchase', {
282
+ value: 99.99,
283
+ currency: 'USD',
284
+ item_id: 'product_123'
285
+ });
286
+
287
+ // Check if GTM is available
288
+ if (gtm.isAvailable()) {
289
+ gtm.trackEvent('page_view', { page: '/checkout' });
290
+ }
76
291
  ```
77
292
 
78
293
  ### Environment Detection
294
+
79
295
  ```javascript
80
296
  import { Environment } from '@aacigroup/aaci_shared';
81
297
 
82
298
  const env = new Environment({
83
- productionDomains: ['myproject.com']
299
+ productionDomains: ['myproject.com', 'www.myproject.com']
84
300
  });
85
301
 
86
302
  console.log('Is production:', env.isProduction());
303
+ console.log('Current domain:', env.getCurrentDomain());
87
304
  ```
88
305
 
89
- ## Features
90
-
91
- - **Single Unified API** - One method handles all tracking scenarios
92
- - **Automatic Session Tracking** - Session data automatically included
93
- - **Smart Attribution Tracking** - Automatically captures and persists gclid/fbclid
94
- - **PostHog Integration** - Uses PostHog distinct_id when available
95
- - **TypeScript Support** - Full type definitions
96
- - **Framework Agnostic** - Works with any JS framework
97
- - **Lovable.dev Compatible** - No environment variables needed
98
-
99
- ## Important Notes
100
-
101
- ### Attribution Tracking
102
- The library automatically captures and persists marketing attribution data:
103
-
104
- - **gclid** (Google Ads) - Captured from URL parameters and stored in localStorage
105
- - **fbclid** (Facebook Ads) - Captured from URL parameters and stored in localStorage
106
- - **fbc/fbp** (Facebook cookies) - Read from browser cookies
107
- - **UTM parameters** - Captured from URL parameters
108
-
109
- Once captured, gclid and fbclid are stored in localStorage and included in all future tracking calls until the user clears their browser data.
110
-
111
- ### PostHog Integration
112
- If PostHog is initialized on your page, the library will automatically use PostHog's `distinct_id` for consistent user identification across both systems.
113
-
114
- ## API Reference
115
-
116
- ### LeadTracker
117
- ```javascript
118
- // Track lead only
119
- await tracker.trackLeadAndAddress({ lead_type: 'contact', email: 'user@example.com' });
120
-
121
- // Track address only
122
- await tracker.trackLeadAndAddress(undefined, { full_address: '123 Main St' });
306
+ ## Data Types Reference
307
+
308
+ ### Core Data Types
309
+
310
+ ```typescript
311
+ // Complete lead record (from database)
312
+ interface Lead {
313
+ id: string;
314
+ project_name: string;
315
+ user_id: string | null;
316
+ first_name: string | null;
317
+ last_name: string | null;
318
+ email: string | null;
319
+ phone: string | null;
320
+ lead_type: string | null;
321
+ first_submission: boolean | null;
322
+ extra_data: Record<string, any>;
323
+ session_data: SessionData;
324
+ created_at: string;
325
+ updated_at: string;
326
+ }
123
327
 
124
- // Track both together
125
- await tracker.trackLeadAndAddress(leadData, addressData);
126
- ```
328
+ // Complete address record (from database)
329
+ interface AddressCapture {
330
+ id: string;
331
+ project_name: string;
332
+ user_id: string | null;
333
+ lead_id: string | null;
334
+ address: string | null;
335
+ city: string | null;
336
+ state: string | null;
337
+ zip: string | null;
338
+ source: string | null; // Lead type source (same values as lead_type)
339
+ status: string | null; // Processing status (e.g., 'verified', 'pending', 'invalid')
340
+ extra_data: Record<string, any>;
341
+ session_data: SessionData;
342
+ created_at: string;
343
+ updated_at: string;
344
+ }
127
345
 
128
- ### PostHog
129
- ```javascript
130
- await analytics.init();
131
- analytics.trackEvent('event_name', { property: 'value' });
132
- analytics.trackError(error, 'context');
346
+ **Common `source` values (identical to `lead_type`):**
347
+ - `'policy_review'` - Address from policy review requests
348
+ - `'address_check'` - Address from address verification requests
349
+ - `'contact'` - Address from general contact form submissions
350
+ - `'signup'` - Address from user registration/signup
351
+ - `'consultation'` - Address from service consultation requests
352
+ - `'quote'` - Address from price quote requests
353
+
354
+ // Session tracking data
355
+ interface SessionData {
356
+ ip?: string;
357
+ user_agent?: string;
358
+ browser?: string;
359
+ browser_version?: string;
360
+ os?: string;
361
+ device?: string;
362
+ referrer?: string;
363
+ utm_source?: string;
364
+ utm_medium?: string;
365
+ utm_campaign?: string;
366
+ landing_page?: string;
367
+ current_page?: string;
368
+ session_id?: string;
369
+ timestamp?: string;
370
+ distinct_id?: string;
371
+ gclid?: string; // Google Ads click ID
372
+ fbclid?: string; // Facebook click ID
373
+ fbc?: string; // Facebook browser cookie
374
+ fbp?: string; // Facebook pixel cookie
375
+ }
133
376
  ```
134
377
 
135
- ### GTM
136
- ```javascript
137
- gtm.trackEvent('event_name', { property: 'value' });
138
- ```
378
+ ### Import Types Only
139
379
 
140
- ### Types Only
141
380
  ```javascript
142
- // Import types for your own data structures
143
- import type { Lead, AddressCapture, SessionData } from '@aacigroup/aaci_shared';
381
+ import type { Lead, AddressCapture, SessionData, TrackLeadParams, Address } from '@aacigroup/aaci_shared';
144
382
 
145
383
  // Use in your application
146
- function processLead(lead: Lead): void {
147
- console.log(`Processing ${lead.email}`);
384
+ function saveLead(lead: Lead): Promise<void> {
385
+ return database.leads.create(lead);
386
+ }
387
+
388
+ function saveAddress(address: AddressCapture): Promise<void> {
389
+ return database.addresses.create(address);
148
390
  }
149
391
  ```
150
392
 
393
+ ## Features
394
+
395
+ - **Flexible Tracking** - Track leads, addresses, or both in any combination
396
+ - **Smart Data Persistence** - Automatically saves and merges data across form steps
397
+ - **Attribution Tracking** - Captures and persists marketing attribution (gclid, fbclid, UTM)
398
+ - **Session Tracking** - Comprehensive browser and user session data
399
+ - **Production Detection** - Domain-based environment detection
400
+ - **TypeScript Support** - Full type definitions for all data structures
401
+ - **Framework Agnostic** - Works with React, Vue, vanilla JS, or any framework
402
+
151
403
  ## License
152
404
 
153
405
  ISC
@@ -1 +1 @@
1
- {"version":3,"file":"LeadTracker.d.ts","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,WAAW,EACX,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,iBAAiB;IAMrC,OAAO,CAAC,cAAc;IAef,YAAY,IAAI,OAAO;IAOjB,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqG1G,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;IAaZ,cAAc,IAAI,WAAW;IA8DpC,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;CAQnB"}
1
+ {"version":3,"file":"LeadTracker.d.ts","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,WAAW,EACX,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,iBAAiB;IAMrC,OAAO,CAAC,cAAc;IAef,YAAY,IAAI,OAAO;IAOjB,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4G1G,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;IAaZ,cAAc,IAAI,WAAW;IA8DpC,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;CAQnB"}
@@ -28,6 +28,11 @@ class LeadTracker {
28
28
  console.warn('[Lead Tracker]', errorMessage);
29
29
  throw new Error(errorMessage);
30
30
  }
31
+ if (address && !address.source) {
32
+ const errorMessage = 'Address source is required when tracking address';
33
+ console.warn('[Lead Tracker]', errorMessage);
34
+ throw new Error(errorMessage);
35
+ }
31
36
  const savedLead = this.getSavedLead();
32
37
  const savedAddress = this.getSavedAddress();
33
38
  let finalLead = null;
@@ -1 +1 @@
1
- {"version":3,"file":"LeadTracker.js","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LeadTracker.js","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { LeadTracker } from './LeadTracker';
3
3
  export { PostHog } from './PostHog';
4
4
  export { GTM } from './GTM';
5
5
  export { Environment } from './Environment';
6
+ export { validateTrackLeadParams, validateAddress, validateTrackLeadAndAddress, safeValidateTrackLeadParams, safeValidateAddress, safeValidateTrackLeadAndAddress, leadTypeEnum, trackLeadParamsSchema, addressSchema, trackLeadAndAddressSchema, sessionDataSchema } from './validation';
6
7
  export type { Lead, AddressCapture, SessionData, TrackLeadParams, Address, LeadTrackerConfig, LeadTrackingResponse } from './types';
7
8
  export type { PostHogConfig } from './PostHog';
8
9
  export type { GTMConfig } from './GTM';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,YAAmD,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,YAAY,EAEV,IAAI,EACJ,cAAc,EACd,WAAW,EAGX,eAAe,EACf,OAAO,EAGP,iBAAiB,EAGjB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,aAAa,EACd,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,iBAAiB,EAClB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,YAAmD,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,+BAA+B,EAE/B,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAEV,IAAI,EACJ,cAAc,EACd,WAAW,EAGX,eAAe,EACf,OAAO,EAGP,iBAAiB,EAGjB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,aAAa,EACd,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,iBAAiB,EAClB,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Environment = exports.GTM = exports.PostHog = exports.LeadTracker = exports.hello = void 0;
3
+ exports.sessionDataSchema = exports.trackLeadAndAddressSchema = exports.addressSchema = exports.trackLeadParamsSchema = exports.leadTypeEnum = exports.safeValidateTrackLeadAndAddress = exports.safeValidateAddress = exports.safeValidateTrackLeadParams = exports.validateTrackLeadAndAddress = exports.validateAddress = exports.validateTrackLeadParams = exports.Environment = exports.GTM = exports.PostHog = exports.LeadTracker = exports.hello = void 0;
4
4
  const hello = () => console.log("Hello from AACI shared lib!");
5
5
  exports.hello = hello;
6
6
  var LeadTracker_1 = require("./LeadTracker");
@@ -11,4 +11,16 @@ var GTM_1 = require("./GTM");
11
11
  Object.defineProperty(exports, "GTM", { enumerable: true, get: function () { return GTM_1.GTM; } });
12
12
  var Environment_1 = require("./Environment");
13
13
  Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return Environment_1.Environment; } });
14
+ var validation_1 = require("./validation");
15
+ Object.defineProperty(exports, "validateTrackLeadParams", { enumerable: true, get: function () { return validation_1.validateTrackLeadParams; } });
16
+ Object.defineProperty(exports, "validateAddress", { enumerable: true, get: function () { return validation_1.validateAddress; } });
17
+ Object.defineProperty(exports, "validateTrackLeadAndAddress", { enumerable: true, get: function () { return validation_1.validateTrackLeadAndAddress; } });
18
+ Object.defineProperty(exports, "safeValidateTrackLeadParams", { enumerable: true, get: function () { return validation_1.safeValidateTrackLeadParams; } });
19
+ Object.defineProperty(exports, "safeValidateAddress", { enumerable: true, get: function () { return validation_1.safeValidateAddress; } });
20
+ Object.defineProperty(exports, "safeValidateTrackLeadAndAddress", { enumerable: true, get: function () { return validation_1.safeValidateTrackLeadAndAddress; } });
21
+ Object.defineProperty(exports, "leadTypeEnum", { enumerable: true, get: function () { return validation_1.leadTypeEnum; } });
22
+ Object.defineProperty(exports, "trackLeadParamsSchema", { enumerable: true, get: function () { return validation_1.trackLeadParamsSchema; } });
23
+ Object.defineProperty(exports, "addressSchema", { enumerable: true, get: function () { return validation_1.addressSchema; } });
24
+ Object.defineProperty(exports, "trackLeadAndAddressSchema", { enumerable: true, get: function () { return validation_1.trackLeadAndAddressSchema; } });
25
+ Object.defineProperty(exports, "sessionDataSchema", { enumerable: true, get: function () { return validation_1.sessionDataSchema; } });
14
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACO,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAAzD,QAAA,KAAK,SAAoD;AAGtE,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACO,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAAzD,QAAA,KAAK,SAAoD;AAGtE,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAGpB,2CAasB;AAZpB,qHAAA,uBAAuB,OAAA;AACvB,6GAAA,eAAe,OAAA;AACf,yHAAA,2BAA2B,OAAA;AAC3B,yHAAA,2BAA2B,OAAA;AAC3B,iHAAA,mBAAmB,OAAA;AACnB,6HAAA,+BAA+B,OAAA;AAE/B,0GAAA,YAAY,OAAA;AACZ,mHAAA,qBAAqB,OAAA;AACrB,2GAAA,aAAa,OAAA;AACb,uHAAA,yBAAyB,OAAA;AACzB,+GAAA,iBAAiB,OAAA"}
package/dist/types.d.ts CHANGED
@@ -61,6 +61,7 @@ export interface TrackLeadParams {
61
61
  }
62
62
  export interface Address {
63
63
  full_address: string;
64
+ source: string;
64
65
  street_address?: string;
65
66
  city?: string;
66
67
  state?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ import { z } from 'zod';
2
+ declare const leadTypeEnum: z.ZodEnum<{
3
+ policy_review: "policy_review";
4
+ address_check: "address_check";
5
+ contact: "contact";
6
+ signup: "signup";
7
+ consultation: "consultation";
8
+ quote: "quote";
9
+ }>;
10
+ declare const sessionDataSchema: z.ZodObject<{
11
+ ip: z.ZodOptional<z.ZodString>;
12
+ user_agent: z.ZodOptional<z.ZodString>;
13
+ browser: z.ZodOptional<z.ZodString>;
14
+ browser_version: z.ZodOptional<z.ZodString>;
15
+ os: z.ZodOptional<z.ZodString>;
16
+ device: z.ZodOptional<z.ZodString>;
17
+ referrer: z.ZodOptional<z.ZodString>;
18
+ utm_source: z.ZodOptional<z.ZodString>;
19
+ utm_medium: z.ZodOptional<z.ZodString>;
20
+ utm_campaign: z.ZodOptional<z.ZodString>;
21
+ landing_page: z.ZodOptional<z.ZodString>;
22
+ current_page: z.ZodOptional<z.ZodString>;
23
+ session_id: z.ZodOptional<z.ZodString>;
24
+ timestamp: z.ZodOptional<z.ZodString>;
25
+ distinct_id: z.ZodOptional<z.ZodString>;
26
+ gclid: z.ZodOptional<z.ZodString>;
27
+ fbclid: z.ZodOptional<z.ZodString>;
28
+ fbc: z.ZodOptional<z.ZodString>;
29
+ fbp: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ declare const trackLeadParamsSchema: z.ZodObject<{
32
+ lead_type: z.ZodEnum<{
33
+ policy_review: "policy_review";
34
+ address_check: "address_check";
35
+ contact: "contact";
36
+ signup: "signup";
37
+ consultation: "consultation";
38
+ quote: "quote";
39
+ }>;
40
+ first_name: z.ZodOptional<z.ZodString>;
41
+ last_name: z.ZodOptional<z.ZodString>;
42
+ email: z.ZodOptional<z.ZodString>;
43
+ phone: z.ZodOptional<z.ZodString>;
44
+ extra_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
45
+ session_data: z.ZodOptional<z.ZodObject<{
46
+ ip: z.ZodOptional<z.ZodString>;
47
+ user_agent: z.ZodOptional<z.ZodString>;
48
+ browser: z.ZodOptional<z.ZodString>;
49
+ browser_version: z.ZodOptional<z.ZodString>;
50
+ os: z.ZodOptional<z.ZodString>;
51
+ device: z.ZodOptional<z.ZodString>;
52
+ referrer: z.ZodOptional<z.ZodString>;
53
+ utm_source: z.ZodOptional<z.ZodString>;
54
+ utm_medium: z.ZodOptional<z.ZodString>;
55
+ utm_campaign: z.ZodOptional<z.ZodString>;
56
+ landing_page: z.ZodOptional<z.ZodString>;
57
+ current_page: z.ZodOptional<z.ZodString>;
58
+ session_id: z.ZodOptional<z.ZodString>;
59
+ timestamp: z.ZodOptional<z.ZodString>;
60
+ distinct_id: z.ZodOptional<z.ZodString>;
61
+ gclid: z.ZodOptional<z.ZodString>;
62
+ fbclid: z.ZodOptional<z.ZodString>;
63
+ fbc: z.ZodOptional<z.ZodString>;
64
+ fbp: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>>;
66
+ }, z.core.$strip>;
67
+ declare const addressSchema: z.ZodObject<{
68
+ full_address: z.ZodString;
69
+ source: z.ZodEnum<{
70
+ policy_review: "policy_review";
71
+ address_check: "address_check";
72
+ contact: "contact";
73
+ signup: "signup";
74
+ consultation: "consultation";
75
+ quote: "quote";
76
+ }>;
77
+ street_address: z.ZodOptional<z.ZodString>;
78
+ city: z.ZodOptional<z.ZodString>;
79
+ state: z.ZodOptional<z.ZodString>;
80
+ zip_code: z.ZodOptional<z.ZodString>;
81
+ county: z.ZodOptional<z.ZodString>;
82
+ country: z.ZodOptional<z.ZodString>;
83
+ extra_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
84
+ }, z.core.$strip>;
85
+ declare const trackLeadAndAddressSchema: z.ZodObject<{
86
+ lead: z.ZodOptional<z.ZodObject<{
87
+ lead_type: z.ZodEnum<{
88
+ policy_review: "policy_review";
89
+ address_check: "address_check";
90
+ contact: "contact";
91
+ signup: "signup";
92
+ consultation: "consultation";
93
+ quote: "quote";
94
+ }>;
95
+ first_name: z.ZodOptional<z.ZodString>;
96
+ last_name: z.ZodOptional<z.ZodString>;
97
+ email: z.ZodOptional<z.ZodString>;
98
+ phone: z.ZodOptional<z.ZodString>;
99
+ extra_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
100
+ session_data: z.ZodOptional<z.ZodObject<{
101
+ ip: z.ZodOptional<z.ZodString>;
102
+ user_agent: z.ZodOptional<z.ZodString>;
103
+ browser: z.ZodOptional<z.ZodString>;
104
+ browser_version: z.ZodOptional<z.ZodString>;
105
+ os: z.ZodOptional<z.ZodString>;
106
+ device: z.ZodOptional<z.ZodString>;
107
+ referrer: z.ZodOptional<z.ZodString>;
108
+ utm_source: z.ZodOptional<z.ZodString>;
109
+ utm_medium: z.ZodOptional<z.ZodString>;
110
+ utm_campaign: z.ZodOptional<z.ZodString>;
111
+ landing_page: z.ZodOptional<z.ZodString>;
112
+ current_page: z.ZodOptional<z.ZodString>;
113
+ session_id: z.ZodOptional<z.ZodString>;
114
+ timestamp: z.ZodOptional<z.ZodString>;
115
+ distinct_id: z.ZodOptional<z.ZodString>;
116
+ gclid: z.ZodOptional<z.ZodString>;
117
+ fbclid: z.ZodOptional<z.ZodString>;
118
+ fbc: z.ZodOptional<z.ZodString>;
119
+ fbp: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>>;
122
+ address: z.ZodOptional<z.ZodObject<{
123
+ full_address: z.ZodString;
124
+ source: z.ZodEnum<{
125
+ policy_review: "policy_review";
126
+ address_check: "address_check";
127
+ contact: "contact";
128
+ signup: "signup";
129
+ consultation: "consultation";
130
+ quote: "quote";
131
+ }>;
132
+ street_address: z.ZodOptional<z.ZodString>;
133
+ city: z.ZodOptional<z.ZodString>;
134
+ state: z.ZodOptional<z.ZodString>;
135
+ zip_code: z.ZodOptional<z.ZodString>;
136
+ county: z.ZodOptional<z.ZodString>;
137
+ country: z.ZodOptional<z.ZodString>;
138
+ extra_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
139
+ }, z.core.$strip>>;
140
+ }, z.core.$strip>;
141
+ export declare function validateTrackLeadParams(data: unknown): {
142
+ lead_type: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
143
+ first_name?: string | undefined;
144
+ last_name?: string | undefined;
145
+ email?: string | undefined;
146
+ phone?: string | undefined;
147
+ extra_data?: Record<string, any> | undefined;
148
+ session_data?: {
149
+ ip?: string | undefined;
150
+ user_agent?: string | undefined;
151
+ browser?: string | undefined;
152
+ browser_version?: string | undefined;
153
+ os?: string | undefined;
154
+ device?: string | undefined;
155
+ referrer?: string | undefined;
156
+ utm_source?: string | undefined;
157
+ utm_medium?: string | undefined;
158
+ utm_campaign?: string | undefined;
159
+ landing_page?: string | undefined;
160
+ current_page?: string | undefined;
161
+ session_id?: string | undefined;
162
+ timestamp?: string | undefined;
163
+ distinct_id?: string | undefined;
164
+ gclid?: string | undefined;
165
+ fbclid?: string | undefined;
166
+ fbc?: string | undefined;
167
+ fbp?: string | undefined;
168
+ } | undefined;
169
+ };
170
+ export declare function validateAddress(data: unknown): {
171
+ full_address: string;
172
+ source: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
173
+ street_address?: string | undefined;
174
+ city?: string | undefined;
175
+ state?: string | undefined;
176
+ zip_code?: string | undefined;
177
+ county?: string | undefined;
178
+ country?: string | undefined;
179
+ extra_data?: Record<string, any> | undefined;
180
+ };
181
+ export declare function validateTrackLeadAndAddress(lead: unknown, address: unknown): {
182
+ lead?: {
183
+ lead_type: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
184
+ first_name?: string | undefined;
185
+ last_name?: string | undefined;
186
+ email?: string | undefined;
187
+ phone?: string | undefined;
188
+ extra_data?: Record<string, any> | undefined;
189
+ session_data?: {
190
+ ip?: string | undefined;
191
+ user_agent?: string | undefined;
192
+ browser?: string | undefined;
193
+ browser_version?: string | undefined;
194
+ os?: string | undefined;
195
+ device?: string | undefined;
196
+ referrer?: string | undefined;
197
+ utm_source?: string | undefined;
198
+ utm_medium?: string | undefined;
199
+ utm_campaign?: string | undefined;
200
+ landing_page?: string | undefined;
201
+ current_page?: string | undefined;
202
+ session_id?: string | undefined;
203
+ timestamp?: string | undefined;
204
+ distinct_id?: string | undefined;
205
+ gclid?: string | undefined;
206
+ fbclid?: string | undefined;
207
+ fbc?: string | undefined;
208
+ fbp?: string | undefined;
209
+ } | undefined;
210
+ } | undefined;
211
+ address?: {
212
+ full_address: string;
213
+ source: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
214
+ street_address?: string | undefined;
215
+ city?: string | undefined;
216
+ state?: string | undefined;
217
+ zip_code?: string | undefined;
218
+ county?: string | undefined;
219
+ country?: string | undefined;
220
+ extra_data?: Record<string, any> | undefined;
221
+ } | undefined;
222
+ };
223
+ export declare function safeValidateTrackLeadParams(data: unknown): z.ZodSafeParseResult<{
224
+ lead_type: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
225
+ first_name?: string | undefined;
226
+ last_name?: string | undefined;
227
+ email?: string | undefined;
228
+ phone?: string | undefined;
229
+ extra_data?: Record<string, any> | undefined;
230
+ session_data?: {
231
+ ip?: string | undefined;
232
+ user_agent?: string | undefined;
233
+ browser?: string | undefined;
234
+ browser_version?: string | undefined;
235
+ os?: string | undefined;
236
+ device?: string | undefined;
237
+ referrer?: string | undefined;
238
+ utm_source?: string | undefined;
239
+ utm_medium?: string | undefined;
240
+ utm_campaign?: string | undefined;
241
+ landing_page?: string | undefined;
242
+ current_page?: string | undefined;
243
+ session_id?: string | undefined;
244
+ timestamp?: string | undefined;
245
+ distinct_id?: string | undefined;
246
+ gclid?: string | undefined;
247
+ fbclid?: string | undefined;
248
+ fbc?: string | undefined;
249
+ fbp?: string | undefined;
250
+ } | undefined;
251
+ }>;
252
+ export declare function safeValidateAddress(data: unknown): z.ZodSafeParseResult<{
253
+ full_address: string;
254
+ source: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
255
+ street_address?: string | undefined;
256
+ city?: string | undefined;
257
+ state?: string | undefined;
258
+ zip_code?: string | undefined;
259
+ county?: string | undefined;
260
+ country?: string | undefined;
261
+ extra_data?: Record<string, any> | undefined;
262
+ }>;
263
+ export declare function safeValidateTrackLeadAndAddress(lead: unknown, address: unknown): z.ZodSafeParseResult<{
264
+ lead?: {
265
+ lead_type: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
266
+ first_name?: string | undefined;
267
+ last_name?: string | undefined;
268
+ email?: string | undefined;
269
+ phone?: string | undefined;
270
+ extra_data?: Record<string, any> | undefined;
271
+ session_data?: {
272
+ ip?: string | undefined;
273
+ user_agent?: string | undefined;
274
+ browser?: string | undefined;
275
+ browser_version?: string | undefined;
276
+ os?: string | undefined;
277
+ device?: string | undefined;
278
+ referrer?: string | undefined;
279
+ utm_source?: string | undefined;
280
+ utm_medium?: string | undefined;
281
+ utm_campaign?: string | undefined;
282
+ landing_page?: string | undefined;
283
+ current_page?: string | undefined;
284
+ session_id?: string | undefined;
285
+ timestamp?: string | undefined;
286
+ distinct_id?: string | undefined;
287
+ gclid?: string | undefined;
288
+ fbclid?: string | undefined;
289
+ fbc?: string | undefined;
290
+ fbp?: string | undefined;
291
+ } | undefined;
292
+ } | undefined;
293
+ address?: {
294
+ full_address: string;
295
+ source: "policy_review" | "address_check" | "contact" | "signup" | "consultation" | "quote";
296
+ street_address?: string | undefined;
297
+ city?: string | undefined;
298
+ state?: string | undefined;
299
+ zip_code?: string | undefined;
300
+ county?: string | undefined;
301
+ country?: string | undefined;
302
+ extra_data?: Record<string, any> | undefined;
303
+ } | undefined;
304
+ }>;
305
+ export { leadTypeEnum, trackLeadParamsSchema, addressSchema, trackLeadAndAddressSchema, sessionDataSchema };
306
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY;;;;;;;EAOhB,CAAC;AAGH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;iBAoBrB,CAAC;AAGH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc1B,CAAC;AAGF,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;iBAUjB,CAAC;AAGH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS9B,CAAC;AAGF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;EAE5C;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE1E;AAGD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAExD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;GAEhD;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE9E;AAGD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EAClB,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionDataSchema = exports.trackLeadAndAddressSchema = exports.addressSchema = exports.trackLeadParamsSchema = exports.leadTypeEnum = void 0;
4
+ exports.validateTrackLeadParams = validateTrackLeadParams;
5
+ exports.validateAddress = validateAddress;
6
+ exports.validateTrackLeadAndAddress = validateTrackLeadAndAddress;
7
+ exports.safeValidateTrackLeadParams = safeValidateTrackLeadParams;
8
+ exports.safeValidateAddress = safeValidateAddress;
9
+ exports.safeValidateTrackLeadAndAddress = safeValidateTrackLeadAndAddress;
10
+ const zod_1 = require("zod");
11
+ const leadTypeEnum = zod_1.z.enum([
12
+ 'policy_review',
13
+ 'address_check',
14
+ 'contact',
15
+ 'signup',
16
+ 'consultation',
17
+ 'quote'
18
+ ]);
19
+ exports.leadTypeEnum = leadTypeEnum;
20
+ const sessionDataSchema = zod_1.z.object({
21
+ ip: zod_1.z.string().optional(),
22
+ user_agent: zod_1.z.string().optional(),
23
+ browser: zod_1.z.string().optional(),
24
+ browser_version: zod_1.z.string().optional(),
25
+ os: zod_1.z.string().optional(),
26
+ device: zod_1.z.string().optional(),
27
+ referrer: zod_1.z.string().optional(),
28
+ utm_source: zod_1.z.string().optional(),
29
+ utm_medium: zod_1.z.string().optional(),
30
+ utm_campaign: zod_1.z.string().optional(),
31
+ landing_page: zod_1.z.string().optional(),
32
+ current_page: zod_1.z.string().optional(),
33
+ session_id: zod_1.z.string().optional(),
34
+ timestamp: zod_1.z.string().optional(),
35
+ distinct_id: zod_1.z.string().optional(),
36
+ gclid: zod_1.z.string().optional(),
37
+ fbclid: zod_1.z.string().optional(),
38
+ fbc: zod_1.z.string().optional(),
39
+ fbp: zod_1.z.string().optional(),
40
+ });
41
+ exports.sessionDataSchema = sessionDataSchema;
42
+ const trackLeadParamsSchema = zod_1.z.object({
43
+ lead_type: leadTypeEnum,
44
+ first_name: zod_1.z.string().min(1).optional(),
45
+ last_name: zod_1.z.string().min(1).optional(),
46
+ email: zod_1.z.string().email().optional(),
47
+ phone: zod_1.z.string().min(1).optional(),
48
+ extra_data: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
49
+ session_data: sessionDataSchema.optional(),
50
+ }).refine((data) => data.email || data.phone, {
51
+ message: "Either email or phone is required",
52
+ path: ["email", "phone"],
53
+ });
54
+ exports.trackLeadParamsSchema = trackLeadParamsSchema;
55
+ const addressSchema = zod_1.z.object({
56
+ full_address: zod_1.z.string().min(1, "Full address is required"),
57
+ source: leadTypeEnum,
58
+ street_address: zod_1.z.string().optional(),
59
+ city: zod_1.z.string().optional(),
60
+ state: zod_1.z.string().optional(),
61
+ zip_code: zod_1.z.string().optional(),
62
+ county: zod_1.z.string().optional(),
63
+ country: zod_1.z.string().optional(),
64
+ extra_data: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
65
+ });
66
+ exports.addressSchema = addressSchema;
67
+ const trackLeadAndAddressSchema = zod_1.z.object({
68
+ lead: trackLeadParamsSchema.optional(),
69
+ address: addressSchema.optional(),
70
+ }).refine((data) => data.lead || data.address, {
71
+ message: "Either lead or address data is required",
72
+ path: ["lead", "address"],
73
+ });
74
+ exports.trackLeadAndAddressSchema = trackLeadAndAddressSchema;
75
+ function validateTrackLeadParams(data) {
76
+ return trackLeadParamsSchema.parse(data);
77
+ }
78
+ function validateAddress(data) {
79
+ return addressSchema.parse(data);
80
+ }
81
+ function validateTrackLeadAndAddress(lead, address) {
82
+ return trackLeadAndAddressSchema.parse({ lead, address });
83
+ }
84
+ function safeValidateTrackLeadParams(data) {
85
+ return trackLeadParamsSchema.safeParse(data);
86
+ }
87
+ function safeValidateAddress(data) {
88
+ return addressSchema.safeParse(data);
89
+ }
90
+ function safeValidateTrackLeadAndAddress(lead, address) {
91
+ return trackLeadAndAddressSchema.safeParse({ lead, address });
92
+ }
93
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aacigroup/aaci_shared",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Shared tracking utilities for AACI Group projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,7 +39,8 @@
39
39
  "registry": "https://registry.npmjs.org/"
40
40
  },
41
41
  "dependencies": {
42
- "posthog-js": "^1.274.1"
42
+ "posthog-js": "^1.274.1",
43
+ "zod": "^4.1.12"
43
44
  },
44
45
  "exports": {
45
46
  ".": {