@aacigroup/aaci_shared 2.12.4 → 3.0.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 +290 -5
- package/dist/LeadTracker.d.ts +0 -7
- package/dist/LeadTracker.d.ts.map +1 -1
- package/dist/LeadTracker.js +2 -169
- package/dist/LeadTracker.js.map +1 -1
- package/dist/MagicLink.d.ts +10 -0
- package/dist/MagicLink.d.ts.map +1 -0
- package/dist/MagicLink.js +126 -0
- package/dist/MagicLink.js.map +1 -0
- package/dist/hooks/useMagicLink.d.ts +4 -0
- package/dist/hooks/useMagicLink.d.ts.map +1 -0
- package/dist/hooks/useMagicLink.js +9 -0
- package/dist/hooks/useMagicLink.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +2 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -0
- package/dist/react.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/sessionData.d.ts +5 -0
- package/dist/sessionData.d.ts.map +1 -0
- package/dist/sessionData.js +174 -0
- package/dist/sessionData.js.map +1 -0
- package/dist/types.d.ts +49 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +223 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +61 -0
- package/dist/validation.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -550,6 +550,234 @@ await tracker.trackLeadAndAddress({ lead_type: 'quote', email: 'user@example.com
|
|
|
550
550
|
await tracker.trackLeadAndAddress(undefined, { full_address: '123 Main St', source: 'quote' });
|
|
551
551
|
```
|
|
552
552
|
|
|
553
|
+
## Magic Links
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
The library includes Magic Link functionality for secure, token-based, login-free access to personalized pages. Magic links are created and validated centrally in your backend and tied to a user profile.
|
|
557
|
+
|
|
558
|
+
> **Note:** Magic Link is a separate hook from TrackingContext. It requires its own configuration.
|
|
559
|
+
|
|
560
|
+
### Overview
|
|
561
|
+
|
|
562
|
+
Magic links provide:
|
|
563
|
+
- **Customer access tokens** - For public URLs to personalized content
|
|
564
|
+
- **Admin tokens** (optional) - For elevated access/override links
|
|
565
|
+
- **URL pattern binding** - Tokens are only valid within their expected URL structure
|
|
566
|
+
- **Automatic user resolution** - Links to user profile by email/phone
|
|
567
|
+
|
|
568
|
+
### React Hook Usage
|
|
569
|
+
|
|
570
|
+
```javascript
|
|
571
|
+
import { useMagicLink, MagicLinkConfig } from '@aacigroup/aaci_shared/react';
|
|
572
|
+
|
|
573
|
+
function MagicLinkExample() {
|
|
574
|
+
// Magic Link requires its own config (separate from TrackingConfig)
|
|
575
|
+
const magicLinkConfig: MagicLinkConfig = {
|
|
576
|
+
apiUrl: import.meta.env.VITE_LEAD_CAPTURE_API_URL,
|
|
577
|
+
apiKey: import.meta.env.VITE_LEAD_CAPTURE_API_KEY,
|
|
578
|
+
projectName: import.meta.env.VITE_PROJECT_NAME
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
const magicLink = useMagicLink(magicLinkConfig);
|
|
582
|
+
|
|
583
|
+
// Create a magic link for a customer
|
|
584
|
+
const handleCreateLink = async () => {
|
|
585
|
+
const result = await magicLink.createMagicLink({
|
|
586
|
+
email: 'customer@example.com',
|
|
587
|
+
url_pattern: 'https://myapp.com/session/{token}',
|
|
588
|
+
admin_url_pattern: 'https://myapp.com/session/{token}/admin/{admin_token}', // optional
|
|
589
|
+
expires_at: '2025-12-31T23:59:59.000Z' // optional
|
|
590
|
+
});
|
|
591
|
+
|
|
592
|
+
if (result.status === 'ok') {
|
|
593
|
+
console.log('Customer URL:', result.url);
|
|
594
|
+
console.log('Admin URL:', result.admin_url); // if admin_url_pattern was provided
|
|
595
|
+
console.log('Token ID:', result.magic_link_token_id);
|
|
596
|
+
}
|
|
597
|
+
};
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
// Validate a magic link token from URL (extract token from router params)
|
|
601
|
+
// Example: if your route is /session/:sessionId/:token
|
|
602
|
+
import { useParams } from 'react-router-dom';
|
|
603
|
+
|
|
604
|
+
function SessionPage() {
|
|
605
|
+
const { token } = useParams(); // token from route: /session/:sessionId/:token
|
|
606
|
+
|
|
607
|
+
const handleValidateLink = async () => {
|
|
608
|
+
const currentUrl = window.location.href;
|
|
609
|
+
const result = await magicLink.validateMagicLink({
|
|
610
|
+
token,
|
|
611
|
+
current_url: currentUrl,
|
|
612
|
+
mode: 'customer' // or 'admin' for admin access
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
if (result.valid) {
|
|
616
|
+
console.log('Valid! User ID:', result.user_profile_id);
|
|
617
|
+
console.log('Link data:', result.data); // Data stored in magic link data
|
|
618
|
+
// Render personalized content
|
|
619
|
+
} else {
|
|
620
|
+
console.log('Invalid:', result.reason); // 'expired', 'revoked', 'url_mismatch', 'not_found'
|
|
621
|
+
}
|
|
622
|
+
};
|
|
623
|
+
|
|
624
|
+
// Call handleValidateLink on mount or button click
|
|
625
|
+
// useEffect(() => { handleValidateLink(); }, []);
|
|
626
|
+
// or <button onClick={handleValidateLink}>Validate</button>
|
|
627
|
+
return null;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
return <div>...</div>;
|
|
631
|
+
}
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
### Create Magic Link
|
|
635
|
+
|
|
636
|
+
```javascript
|
|
637
|
+
interface CreateMagicLinkParams {
|
|
638
|
+
project_name?: string; // Optional – auto-populated from config
|
|
639
|
+
email?: string; // Optional – used to resolve user
|
|
640
|
+
phone?: string; // Optional – alternative user lookup
|
|
641
|
+
|
|
642
|
+
url_pattern: string; // Required – must contain "{token}"
|
|
643
|
+
admin_url_pattern?: string; // Optional – must contain "{admin_token}"
|
|
644
|
+
|
|
645
|
+
expires_at?: string; // Optional ISO timestamp
|
|
646
|
+
extra_data?: Record<string, any>; // Optional – stored in magic link data
|
|
647
|
+
session_data?: SessionData; // Optional – auto-populated if not provided
|
|
648
|
+
}
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
**Rules:**
|
|
652
|
+
- At least **one** of: `email` or `phone` is required
|
|
653
|
+
- `url_pattern` is **required** and must contain `{token}`
|
|
654
|
+
- If `admin_url_pattern` is provided, it must contain `{admin_token}` (and may also include `{token}`)
|
|
655
|
+
- `session_data` is automatically collected from the browser if not explicitly provided
|
|
656
|
+
|
|
657
|
+
**Response:**
|
|
658
|
+
```javascript
|
|
659
|
+
interface CreateMagicLinkResponse {
|
|
660
|
+
status: 'ok' | 'error';
|
|
661
|
+
project_name?: string; // Project identifier
|
|
662
|
+
magic_link_token_id?: string; // ID of the created magic link
|
|
663
|
+
url?: string; // Resolved customer URL
|
|
664
|
+
admin_url?: string; // Resolved admin URL (if admin_url_pattern provided)
|
|
665
|
+
expires_at?: string; // Expiration timestamp (if set)
|
|
666
|
+
message?: string;
|
|
667
|
+
errors?: Array<{ field: string; message: string }>;
|
|
668
|
+
}
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
### Validate Magic Link
|
|
672
|
+
|
|
673
|
+
```javascript
|
|
674
|
+
interface ValidateMagicLinkParams {
|
|
675
|
+
project_name?: string; // Optional – auto-populated from config
|
|
676
|
+
token: string; // The token from URL
|
|
677
|
+
current_url: string; // Full URL being accessed
|
|
678
|
+
mode?: 'customer' | 'admin'; // Default: 'customer'
|
|
679
|
+
session_data?: SessionData; // Optional – auto-populated if not provided
|
|
680
|
+
}
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
**Rules:**
|
|
684
|
+
- `mode = 'customer'` → validates against `token` + `url_pattern`
|
|
685
|
+
- `mode = 'admin'` → validates against `admin_token` + `admin_url_pattern`
|
|
686
|
+
- Link must: exist, not be expired, not be revoked, match the expected URL pattern
|
|
687
|
+
- `session_data` is automatically collected from the browser if not explicitly provided
|
|
688
|
+
|
|
689
|
+
**Response:**
|
|
690
|
+
```javascript
|
|
691
|
+
interface ValidateMagicLinkResponse {
|
|
692
|
+
status: 'ok' | 'error';
|
|
693
|
+
valid: boolean;
|
|
694
|
+
project_name?: string; // Project identifier
|
|
695
|
+
magic_link_token_id?: string;
|
|
696
|
+
user_profile_id?: string;
|
|
697
|
+
data?: Record<string, any>; // Data stored in magic link data
|
|
698
|
+
message?: string;
|
|
699
|
+
reason?: 'expired' | 'revoked' | 'url_mismatch' | 'not_found'; // if invalid
|
|
700
|
+
}
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
### Full Page Access Example
|
|
704
|
+
|
|
705
|
+
```javascript
|
|
706
|
+
import { useMagicLink } from '@aacigroup/aaci_shared/react';
|
|
707
|
+
import { useEffect, useState } from 'react';
|
|
708
|
+
import { useParams } from 'react-router-dom'; // or your router of choice
|
|
709
|
+
|
|
710
|
+
function ProtectedSessionPage() {
|
|
711
|
+
const magicLink = useMagicLink();
|
|
712
|
+
const { token, adminToken } = useParams(); // Get tokens from React Router
|
|
713
|
+
const [accessState, setAccessState] = useState<'loading' | 'valid' | 'invalid'>('loading');
|
|
714
|
+
const [personId, setPersonId] = useState<string | null>(null);
|
|
715
|
+
const [linkData, setLinkData] = useState<Record<string, any> | null>(null);
|
|
716
|
+
const [isAdmin, setIsAdmin] = useState(false);
|
|
717
|
+
|
|
718
|
+
useEffect(() => {
|
|
719
|
+
const validateAccess = async () => {
|
|
720
|
+
const currentUrl = window.location.href;
|
|
721
|
+
|
|
722
|
+
// Try admin token first if available
|
|
723
|
+
if (adminToken) {
|
|
724
|
+
const result = await magicLink.validateMagicLink({
|
|
725
|
+
token: adminToken,
|
|
726
|
+
current_url: currentUrl,
|
|
727
|
+
mode: 'admin'
|
|
728
|
+
});
|
|
729
|
+
|
|
730
|
+
if (result.valid) {
|
|
731
|
+
setAccessState('valid');
|
|
732
|
+
setPersonId(result.user_profile_id || null);
|
|
733
|
+
setLinkData(result.data || null);
|
|
734
|
+
setIsAdmin(true);
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
// Fall back to customer token
|
|
740
|
+
if (token) {
|
|
741
|
+
const result = await magicLink.validateMagicLink({
|
|
742
|
+
token,
|
|
743
|
+
current_url: currentUrl,
|
|
744
|
+
mode: 'customer'
|
|
745
|
+
});
|
|
746
|
+
|
|
747
|
+
if (result.valid) {
|
|
748
|
+
setAccessState('valid');
|
|
749
|
+
setPersonId(result.user_profile_id || null);
|
|
750
|
+
setLinkData(result.data || null);
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
setAccessState('invalid');
|
|
756
|
+
};
|
|
757
|
+
|
|
758
|
+
validateAccess();
|
|
759
|
+
}, [token, adminToken]);
|
|
760
|
+
|
|
761
|
+
if (accessState === 'loading') return <div>Validating access...</div>;
|
|
762
|
+
if (accessState === 'invalid') return <div>Access denied. Invalid or expired link.</div>;
|
|
763
|
+
|
|
764
|
+
return (
|
|
765
|
+
<div>
|
|
766
|
+
{isAdmin && <div className="admin-banner">Admin Mode</div>}
|
|
767
|
+
<h1>Welcome to your personalized session</h1>
|
|
768
|
+
{/* Render personalized content using personId and linkData */}
|
|
769
|
+
</div>
|
|
770
|
+
);
|
|
771
|
+
}
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
### Security Notes
|
|
775
|
+
|
|
776
|
+
- **Projects must NOT store tokens** - Only store `magic_link_token_id` in your database entities
|
|
777
|
+
- **Tokens are URL-bound** - A token is only valid when accessed via its designated URL pattern
|
|
778
|
+
- **Tokens are strong** - 32-64 character alphanumeric strings
|
|
779
|
+
- Your backend should be the single source of truth for token storage and validation
|
|
780
|
+
|
|
553
781
|
## Other Functions (Non-React)
|
|
554
782
|
|
|
555
783
|
### Direct Class Usage
|
|
@@ -658,6 +886,13 @@ import type {
|
|
|
658
886
|
TrackLeadParams,
|
|
659
887
|
Address,
|
|
660
888
|
LeadTrackingResponse,
|
|
889
|
+
// Magic Link types (client-side)
|
|
890
|
+
CreateMagicLinkParams,
|
|
891
|
+
ValidateMagicLinkParams,
|
|
892
|
+
// Magic Link response types
|
|
893
|
+
CreateMagicLinkResponse,
|
|
894
|
+
ValidateMagicLinkResponse,
|
|
895
|
+
MagicLinkConfig,
|
|
661
896
|
// Feature Flags types
|
|
662
897
|
FeatureFlagsContextType,
|
|
663
898
|
TrackingContextType
|
|
@@ -668,6 +903,14 @@ function processLead(lead: TrackLeadParams): Promise<LeadTrackingResponse> {
|
|
|
668
903
|
return tracker.trackLeadAndAddress(lead);
|
|
669
904
|
}
|
|
670
905
|
|
|
906
|
+
// Magic Link typing
|
|
907
|
+
async function createSessionLink(email: string): Promise<CreateMagicLinkResponse> {
|
|
908
|
+
return magicLink.createMagicLink({
|
|
909
|
+
email,
|
|
910
|
+
url_pattern: 'https://myapp.com/session/{token}'
|
|
911
|
+
});
|
|
912
|
+
}
|
|
913
|
+
|
|
671
914
|
// Feature flags typing
|
|
672
915
|
function useCustomFeatureFlag(): boolean {
|
|
673
916
|
const { isFeatureFlagEnabled }: FeatureFlagsContextType = useFeatureFlags();
|
|
@@ -685,13 +928,27 @@ import type {
|
|
|
685
928
|
AddressCapture,
|
|
686
929
|
TrackLeadParams,
|
|
687
930
|
Address,
|
|
688
|
-
LeadTrackingResponse
|
|
931
|
+
LeadTrackingResponse,
|
|
932
|
+
// Magic Link types (client-side params - no project_name, no session_data)
|
|
933
|
+
CreateMagicLinkParams,
|
|
934
|
+
ValidateMagicLinkParams,
|
|
935
|
+
// Magic Link types (server-side request - required project_name, optional session_data)
|
|
936
|
+
CreateMagicLinkRequest,
|
|
937
|
+
ValidateMagicLinkRequest,
|
|
938
|
+
// Magic Link response types
|
|
939
|
+
CreateMagicLinkResponse,
|
|
940
|
+
ValidateMagicLinkResponse
|
|
689
941
|
} from '@aacigroup/aaci_shared/server';
|
|
690
942
|
|
|
691
943
|
import {
|
|
692
944
|
validateTrackLeadParams,
|
|
693
945
|
validateAddress,
|
|
694
|
-
safeValidateTrackLeadAndAddress
|
|
946
|
+
safeValidateTrackLeadAndAddress,
|
|
947
|
+
// Magic Link server-side validation (validates project_name is required)
|
|
948
|
+
validateCreateMagicLinkRequest,
|
|
949
|
+
validateValidateMagicLinkRequest,
|
|
950
|
+
safeValidateCreateMagicLinkRequest,
|
|
951
|
+
safeValidateValidateMagicLinkRequest
|
|
695
952
|
} from '@aacigroup/aaci_shared/server';
|
|
696
953
|
|
|
697
954
|
// Validate data in API routes, edge functions, etc.
|
|
@@ -707,16 +964,44 @@ export function POST(request: Request) {
|
|
|
707
964
|
}
|
|
708
965
|
}
|
|
709
966
|
|
|
967
|
+
// Validate magic link request server-side (requires project_name)
|
|
968
|
+
export function createMagicLinkHandler(request: Request) {
|
|
969
|
+
const data = await request.json();
|
|
970
|
+
|
|
971
|
+
try {
|
|
972
|
+
const validRequest = validateCreateMagicLinkRequest(data);
|
|
973
|
+
// validRequest has required project_name and optional session_data
|
|
974
|
+
// Forward to AACI Backoffice...
|
|
975
|
+
} catch (error) {
|
|
976
|
+
return new Response('Invalid magic link request', { status: 400 });
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
|
|
710
980
|
// Use types for TypeScript development
|
|
711
981
|
function processServerLead(lead: TrackLeadParams): void {
|
|
712
982
|
console.log(`Processing ${lead.lead_type} lead for ${lead.email}`);
|
|
713
983
|
}
|
|
714
984
|
```
|
|
715
985
|
|
|
986
|
+
### Server-Side Magic Link Types
|
|
987
|
+
|
|
988
|
+
The library provides separate types for client-side and server-side usage:
|
|
989
|
+
|
|
990
|
+
| Type | Usage | `project_name` | `session_data` |
|
|
991
|
+
|------|-------|----------------|----------------|
|
|
992
|
+
| `CreateMagicLinkParams` | Client (React apps) | Not included | Not included |
|
|
993
|
+
| `CreateMagicLinkRequest` | Server (API handlers) | **Required** | Optional |
|
|
994
|
+
| `ValidateMagicLinkParams` | Client (React apps) | Not included | Not included |
|
|
995
|
+
| `ValidateMagicLinkRequest` | Server (API handlers) | **Required** | Optional |
|
|
996
|
+
|
|
997
|
+
**Client-side**: Use `CreateMagicLinkParams` and `ValidateMagicLinkParams`. The `MagicLink` class automatically adds `project_name` from config and `session_data` from browser.
|
|
998
|
+
|
|
999
|
+
**Server-side**: Use `CreateMagicLinkRequest` and `ValidateMagicLinkRequest` to validate incoming API requests where `project_name` must be explicitly provided.
|
|
1000
|
+
|
|
716
1001
|
**Server import includes:**
|
|
717
|
-
- ✅ All TypeScript types
|
|
718
|
-
- ✅ All validation functions and schemas
|
|
719
|
-
- ❌ No browser dependencies (PostHog, LeadTracker, React Context)
|
|
1002
|
+
- ✅ All TypeScript types (including Magic Link client and server types)
|
|
1003
|
+
- ✅ All validation functions and schemas (client and server)
|
|
1004
|
+
- ❌ No browser dependencies (PostHog, LeadTracker, MagicLink, React Context)
|
|
720
1005
|
- ❌ No DOM manipulation or localStorage
|
|
721
1006
|
|
|
722
1007
|
## Troubleshooting
|
package/dist/LeadTracker.d.ts
CHANGED
|
@@ -12,12 +12,5 @@ export declare class LeadTracker {
|
|
|
12
12
|
private saveLead;
|
|
13
13
|
private saveAddress;
|
|
14
14
|
getSessionData(): SessionData;
|
|
15
|
-
private parseUserAgent;
|
|
16
|
-
private getUrlParam;
|
|
17
|
-
private getCookie;
|
|
18
|
-
private getOrCreateSessionId;
|
|
19
|
-
private getOrCreateDistinctId;
|
|
20
|
-
private getStoredValue;
|
|
21
|
-
private storeValue;
|
|
22
15
|
}
|
|
23
16
|
//# sourceMappingURL=LeadTracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeadTracker.d.ts","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LeadTracker.d.ts","sourceRoot":"","sources":["../src/LeadTracker.ts"],"names":[],"mappings":"AAEA,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;IACjC,OAAO,CAAC,UAAU,CAAU;gBAEhB,MAAM,EAAE,iBAAiB;IAOrC,OAAO,CAAC,cAAc;IAqCf,YAAY,IAAI,OAAO;IAOjB,mBAAmB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoHnG,YAAY,IAAI,eAAe,GAAG,IAAI;IAUtC,eAAe,IAAI,OAAO,GAAG,IAAI;IAUxC,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;IAaZ,cAAc,IAAI,WAAW;CAGrC"}
|
package/dist/LeadTracker.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Environment } from './Environment';
|
|
2
|
+
import { getSessionData } from './sessionData';
|
|
2
3
|
export class LeadTracker {
|
|
3
4
|
constructor(config) {
|
|
4
5
|
this.config = config;
|
|
@@ -168,175 +169,7 @@ export class LeadTracker {
|
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
getSessionData() {
|
|
171
|
-
|
|
172
|
-
return {};
|
|
173
|
-
}
|
|
174
|
-
const ua = navigator.userAgent;
|
|
175
|
-
const parsedUA = this.parseUserAgent(ua);
|
|
176
|
-
const sessionData = {
|
|
177
|
-
user_agent: ua,
|
|
178
|
-
browser: parsedUA.browser,
|
|
179
|
-
browser_version: parsedUA.browserVersion,
|
|
180
|
-
os: parsedUA.os,
|
|
181
|
-
device: parsedUA.device,
|
|
182
|
-
landing_page: sessionStorage.getItem('landing_page') || window.location.href,
|
|
183
|
-
current_page: window.location.href,
|
|
184
|
-
session_id: this.getOrCreateSessionId(),
|
|
185
|
-
timestamp: new Date().toISOString(),
|
|
186
|
-
distinct_id: this.getOrCreateDistinctId(),
|
|
187
|
-
};
|
|
188
|
-
sessionData.is_internal = this.isInternal;
|
|
189
|
-
const referrer = document.referrer;
|
|
190
|
-
if (referrer)
|
|
191
|
-
sessionData.referrer = referrer;
|
|
192
|
-
const utmSource = this.getUrlParam('utm_source');
|
|
193
|
-
if (utmSource)
|
|
194
|
-
sessionData.utm_source = utmSource;
|
|
195
|
-
const utmMedium = this.getUrlParam('utm_medium');
|
|
196
|
-
if (utmMedium)
|
|
197
|
-
sessionData.utm_medium = utmMedium;
|
|
198
|
-
const utmCampaign = this.getUrlParam('utm_campaign');
|
|
199
|
-
if (utmCampaign)
|
|
200
|
-
sessionData.utm_campaign = utmCampaign;
|
|
201
|
-
const gclid = this.getUrlParam('gclid') || this.getStoredValue('aaci_gclid');
|
|
202
|
-
if (gclid) {
|
|
203
|
-
sessionData.gclid = gclid;
|
|
204
|
-
if (this.getUrlParam('gclid')) {
|
|
205
|
-
this.storeValue('aaci_gclid', gclid);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
const fbclid = this.getUrlParam('fbclid') || this.getStoredValue('aaci_fbclid');
|
|
209
|
-
if (fbclid) {
|
|
210
|
-
sessionData.fbclid = fbclid;
|
|
211
|
-
if (this.getUrlParam('fbclid')) {
|
|
212
|
-
this.storeValue('aaci_fbclid', fbclid);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
const fbc = this.getCookie('_fbc');
|
|
216
|
-
if (fbc)
|
|
217
|
-
sessionData.fbc = fbc;
|
|
218
|
-
const fbp = this.getCookie('_fbp');
|
|
219
|
-
if (fbp)
|
|
220
|
-
sessionData.fbp = fbp;
|
|
221
|
-
return sessionData;
|
|
222
|
-
}
|
|
223
|
-
parseUserAgent(ua) {
|
|
224
|
-
var _a, _b, _c, _d;
|
|
225
|
-
try {
|
|
226
|
-
let browser = 'Unknown';
|
|
227
|
-
let browserVersion = '';
|
|
228
|
-
if (ua.includes('Firefox/')) {
|
|
229
|
-
browser = 'Firefox';
|
|
230
|
-
browserVersion = ((_a = ua.match(/Firefox\/([0-9.]+)/)) === null || _a === void 0 ? void 0 : _a[1]) || '';
|
|
231
|
-
}
|
|
232
|
-
else if (ua.includes('Chrome/') && !ua.includes('Edg')) {
|
|
233
|
-
browser = 'Chrome';
|
|
234
|
-
browserVersion = ((_b = ua.match(/Chrome\/([0-9.]+)/)) === null || _b === void 0 ? void 0 : _b[1]) || '';
|
|
235
|
-
}
|
|
236
|
-
else if (ua.includes('Safari/') && !ua.includes('Chrome')) {
|
|
237
|
-
browser = 'Safari';
|
|
238
|
-
browserVersion = ((_c = ua.match(/Version\/([0-9.]+)/)) === null || _c === void 0 ? void 0 : _c[1]) || '';
|
|
239
|
-
}
|
|
240
|
-
else if (ua.includes('Edg/')) {
|
|
241
|
-
browser = 'Edge';
|
|
242
|
-
browserVersion = ((_d = ua.match(/Edg\/([0-9.]+)/)) === null || _d === void 0 ? void 0 : _d[1]) || '';
|
|
243
|
-
}
|
|
244
|
-
let os = 'Unknown';
|
|
245
|
-
if (ua.includes('Windows NT')) {
|
|
246
|
-
os = 'Windows';
|
|
247
|
-
}
|
|
248
|
-
else if (ua.includes('Mac OS X')) {
|
|
249
|
-
os = 'macOS';
|
|
250
|
-
}
|
|
251
|
-
else if (ua.includes('Linux')) {
|
|
252
|
-
os = 'Linux';
|
|
253
|
-
}
|
|
254
|
-
else if (ua.includes('Android')) {
|
|
255
|
-
os = 'Android';
|
|
256
|
-
}
|
|
257
|
-
else if (ua.includes('iPhone') || ua.includes('iPad')) {
|
|
258
|
-
os = 'iOS';
|
|
259
|
-
}
|
|
260
|
-
let device = 'Desktop';
|
|
261
|
-
if (ua.includes('Mobile') || ua.includes('Android')) {
|
|
262
|
-
device = 'Mobile';
|
|
263
|
-
}
|
|
264
|
-
else if (ua.includes('Tablet') || ua.includes('iPad')) {
|
|
265
|
-
device = 'Tablet';
|
|
266
|
-
}
|
|
267
|
-
return { browser, browserVersion, os, device };
|
|
268
|
-
}
|
|
269
|
-
catch (error) {
|
|
270
|
-
return { browser: 'Unknown', browserVersion: '', os: 'Unknown', device: 'Unknown' };
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
getUrlParam(param) {
|
|
274
|
-
if (typeof window === 'undefined')
|
|
275
|
-
return undefined;
|
|
276
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
277
|
-
return urlParams.get(param) || undefined;
|
|
278
|
-
}
|
|
279
|
-
getCookie(name) {
|
|
280
|
-
var _a;
|
|
281
|
-
if (typeof document === 'undefined')
|
|
282
|
-
return undefined;
|
|
283
|
-
const value = `; ${document.cookie}`;
|
|
284
|
-
const parts = value.split(`; ${name}=`);
|
|
285
|
-
if (parts.length === 2)
|
|
286
|
-
return (_a = parts.pop()) === null || _a === void 0 ? void 0 : _a.split(';').shift();
|
|
287
|
-
return undefined;
|
|
288
|
-
}
|
|
289
|
-
getOrCreateSessionId() {
|
|
290
|
-
if (typeof sessionStorage === 'undefined')
|
|
291
|
-
return '';
|
|
292
|
-
let sessionId = sessionStorage.getItem('aaci_session_id');
|
|
293
|
-
if (!sessionId) {
|
|
294
|
-
sessionId = 'sess_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
|
|
295
|
-
sessionStorage.setItem('aaci_session_id', sessionId);
|
|
296
|
-
}
|
|
297
|
-
return sessionId;
|
|
298
|
-
}
|
|
299
|
-
getOrCreateDistinctId() {
|
|
300
|
-
if (typeof localStorage === 'undefined')
|
|
301
|
-
return '';
|
|
302
|
-
if (typeof window !== 'undefined' && window.posthog) {
|
|
303
|
-
try {
|
|
304
|
-
const posthogDistinctId = window.posthog.get_distinct_id();
|
|
305
|
-
if (posthogDistinctId) {
|
|
306
|
-
localStorage.setItem('aaci_distinct_id', posthogDistinctId);
|
|
307
|
-
return posthogDistinctId;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
console.warn('[Lead Tracker] Could not get PostHog distinct_id:', error);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
let distinctId = localStorage.getItem('aaci_distinct_id');
|
|
315
|
-
if (!distinctId) {
|
|
316
|
-
distinctId = 'user_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
|
|
317
|
-
localStorage.setItem('aaci_distinct_id', distinctId);
|
|
318
|
-
}
|
|
319
|
-
return distinctId;
|
|
320
|
-
}
|
|
321
|
-
getStoredValue(key) {
|
|
322
|
-
if (typeof localStorage === 'undefined')
|
|
323
|
-
return null;
|
|
324
|
-
try {
|
|
325
|
-
return localStorage.getItem(key);
|
|
326
|
-
}
|
|
327
|
-
catch {
|
|
328
|
-
return null;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
storeValue(key, value) {
|
|
332
|
-
if (typeof localStorage === 'undefined')
|
|
333
|
-
return;
|
|
334
|
-
try {
|
|
335
|
-
localStorage.setItem(key, value);
|
|
336
|
-
}
|
|
337
|
-
catch (error) {
|
|
338
|
-
console.warn(`[Lead Tracker] Failed to store ${key}:`, error);
|
|
339
|
-
}
|
|
172
|
+
return getSessionData({ isInternal: this.isInternal });
|
|
340
173
|
}
|
|
341
174
|
}
|
|
342
175
|
//# sourceMappingURL=LeadTracker.js.map
|
package/dist/LeadTracker.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MagicLinkConfig, CreateMagicLinkParams, ValidateMagicLinkParams, CreateMagicLinkResponse, ValidateMagicLinkResponse, SessionData } from './types';
|
|
2
|
+
export declare class MagicLink {
|
|
3
|
+
private config;
|
|
4
|
+
constructor(config: MagicLinkConfig);
|
|
5
|
+
private validateConfig;
|
|
6
|
+
getSessionData(): SessionData;
|
|
7
|
+
createMagicLink(params: CreateMagicLinkParams): Promise<CreateMagicLinkResponse>;
|
|
8
|
+
validateMagicLink(params: ValidateMagicLinkParams): Promise<ValidateMagicLinkResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=MagicLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MagicLink.d.ts","sourceRoot":"","sources":["../src/MagicLink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAKnC,OAAO,CAAC,cAAc;IAqBf,cAAc,IAAI,WAAW;IAUvB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2EhF,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAyDpG"}
|