@zaplier/sdk 1.0.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/LICENSE +21 -0
- package/README.md +144 -0
- package/dist/index.cjs +11092 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1204 -0
- package/dist/index.esm.js +11059 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +3517 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk.js +11098 -0
- package/dist/sdk.js.map +1 -0
- package/dist/sdk.min.js +7 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/modules/anti-adblock.d.ts +108 -0
- package/dist/src/modules/anti-adblock.d.ts.map +1 -0
- package/dist/src/modules/bot-detection.d.ts +15 -0
- package/dist/src/modules/bot-detection.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/accessibility.d.ts +155 -0
- package/dist/src/modules/fingerprint/accessibility.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/audio.d.ts +16 -0
- package/dist/src/modules/fingerprint/audio.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/browser-apis.d.ts +108 -0
- package/dist/src/modules/fingerprint/browser-apis.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/browser.d.ts +14 -0
- package/dist/src/modules/fingerprint/browser.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/canvas.d.ts +14 -0
- package/dist/src/modules/fingerprint/canvas.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/confidence.d.ts +89 -0
- package/dist/src/modules/fingerprint/confidence.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/datetime-locale.d.ts +76 -0
- package/dist/src/modules/fingerprint/datetime-locale.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/device-signals.d.ts +29 -0
- package/dist/src/modules/fingerprint/device-signals.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/dom-blockers.d.ts +56 -0
- package/dist/src/modules/fingerprint/dom-blockers.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/font-preferences.d.ts +55 -0
- package/dist/src/modules/fingerprint/font-preferences.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/fonts-enhanced.d.ts +43 -0
- package/dist/src/modules/fingerprint/fonts-enhanced.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/fonts.d.ts +14 -0
- package/dist/src/modules/fingerprint/fonts.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/hardware.d.ts +40 -0
- package/dist/src/modules/fingerprint/hardware.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/hashing.d.ts +28 -0
- package/dist/src/modules/fingerprint/hashing.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/incognito.d.ts +6 -0
- package/dist/src/modules/fingerprint/incognito.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/math-enhanced.d.ts +70 -0
- package/dist/src/modules/fingerprint/math-enhanced.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/math.d.ts +32 -0
- package/dist/src/modules/fingerprint/math.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/plugins-enhanced.d.ts +97 -0
- package/dist/src/modules/fingerprint/plugins-enhanced.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/screen.d.ts +15 -0
- package/dist/src/modules/fingerprint/screen.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/storage.d.ts +45 -0
- package/dist/src/modules/fingerprint/storage.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/system.d.ts +40 -0
- package/dist/src/modules/fingerprint/system.d.ts.map +1 -0
- package/dist/src/modules/fingerprint/webgl.d.ts +15 -0
- package/dist/src/modules/fingerprint/webgl.d.ts.map +1 -0
- package/dist/src/modules/fingerprint.d.ts +35 -0
- package/dist/src/modules/fingerprint.d.ts.map +1 -0
- package/dist/src/modules/global-interface.d.ts +141 -0
- package/dist/src/modules/global-interface.d.ts.map +1 -0
- package/dist/src/modules/heatmap.d.ts +140 -0
- package/dist/src/modules/heatmap.d.ts.map +1 -0
- package/dist/src/modules/incognito-detection.d.ts +23 -0
- package/dist/src/modules/incognito-detection.d.ts.map +1 -0
- package/dist/src/modules/session-replay.d.ts +132 -0
- package/dist/src/modules/session-replay.d.ts.map +1 -0
- package/dist/src/modules/user-agent.d.ts +35 -0
- package/dist/src/modules/user-agent.d.ts.map +1 -0
- package/dist/src/sdk.d.ts +227 -0
- package/dist/src/sdk.d.ts.map +1 -0
- package/dist/src/types/config.d.ts +44 -0
- package/dist/src/types/config.d.ts.map +1 -0
- package/dist/src/types/detection.d.ts +114 -0
- package/dist/src/types/detection.d.ts.map +1 -0
- package/dist/src/types/events.d.ts +174 -0
- package/dist/src/types/events.d.ts.map +1 -0
- package/dist/src/types/fingerprint.d.ts +157 -0
- package/dist/src/types/fingerprint.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +83 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/methods.d.ts +83 -0
- package/dist/src/types/methods.d.ts.map +1 -0
- package/dist/src/types/visitor.d.ts +90 -0
- package/dist/src/types/visitor.d.ts.map +1 -0
- package/dist/src/utils/browser.d.ts +79 -0
- package/dist/src/utils/browser.d.ts.map +1 -0
- package/dist/src/utils/lazy-loader.d.ts +60 -0
- package/dist/src/utils/lazy-loader.d.ts.map +1 -0
- package/dist/src/utils/webgl-cache.d.ts +43 -0
- package/dist/src/utils/webgl-cache.d.ts.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zaplier SDK v1.0.0
|
|
3
|
+
* 100% Cookieless Analytics Tracking
|
|
4
|
+
*
|
|
5
|
+
* Main SDK class for client-side tracking integration
|
|
6
|
+
*/
|
|
7
|
+
import type { InternalConfig, ZaplierSDK as IZaplierSDK, PageViewEvent, SDKConfig, UserData, VisitorHistory, VisitorInfo } from "./types";
|
|
8
|
+
/**
|
|
9
|
+
* Main Zaplier SDK Class
|
|
10
|
+
*/
|
|
11
|
+
export declare class ZaplierSDK implements IZaplierSDK {
|
|
12
|
+
config: InternalConfig;
|
|
13
|
+
version: string;
|
|
14
|
+
private visitorId?;
|
|
15
|
+
private backendVisitorId?;
|
|
16
|
+
private sessionId?;
|
|
17
|
+
private fingerprint?;
|
|
18
|
+
private isInitialized;
|
|
19
|
+
private eventQueue;
|
|
20
|
+
private replayEngine?;
|
|
21
|
+
private heatmapEngine?;
|
|
22
|
+
private antiAdblockManager?;
|
|
23
|
+
constructor(userConfig: SDKConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Initialize SDK
|
|
26
|
+
*/
|
|
27
|
+
private initialize;
|
|
28
|
+
/**
|
|
29
|
+
* Initialize tracking engines (Session Replay & Heatmap)
|
|
30
|
+
*/
|
|
31
|
+
private initializeTrackingEngines;
|
|
32
|
+
/**
|
|
33
|
+
* Generate session ID
|
|
34
|
+
*/
|
|
35
|
+
private generateSessionId;
|
|
36
|
+
/**
|
|
37
|
+
* Initialize Anti-Adblock Manager
|
|
38
|
+
*/
|
|
39
|
+
private initializeAntiAdblock;
|
|
40
|
+
/**
|
|
41
|
+
* Collect fingerprint and generate visitor ID (IMPROVED - 2024)
|
|
42
|
+
* Enhanced with better incognito detection
|
|
43
|
+
*/
|
|
44
|
+
private collectFingerprint;
|
|
45
|
+
/**
|
|
46
|
+
* Check if running on localhost
|
|
47
|
+
*/
|
|
48
|
+
private isLocalhost;
|
|
49
|
+
/**
|
|
50
|
+
* Send event to backend
|
|
51
|
+
*/
|
|
52
|
+
private sendEvent;
|
|
53
|
+
/**
|
|
54
|
+
* Make HTTP request to backend using anti-adblock system
|
|
55
|
+
*/
|
|
56
|
+
private makeRequest;
|
|
57
|
+
/**
|
|
58
|
+
* Process queued events
|
|
59
|
+
*/
|
|
60
|
+
private processEventQueue;
|
|
61
|
+
/**
|
|
62
|
+
* Track generic event
|
|
63
|
+
*/
|
|
64
|
+
track(eventType: string, eventData?: Record<string, any>): void;
|
|
65
|
+
/**
|
|
66
|
+
* Track custom event
|
|
67
|
+
*/
|
|
68
|
+
trackCustomEvent(eventName: string, metadata?: Record<string, any>): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Track conversion event
|
|
71
|
+
*/
|
|
72
|
+
trackConversion(eventName: string, value?: number, currency?: string, metadata?: Record<string, any>): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Track page view
|
|
75
|
+
*/
|
|
76
|
+
trackPageView(data?: Partial<PageViewEvent>): void;
|
|
77
|
+
/**
|
|
78
|
+
* Track purchase
|
|
79
|
+
*/
|
|
80
|
+
trackPurchase(data: {
|
|
81
|
+
value?: number;
|
|
82
|
+
revenue?: number;
|
|
83
|
+
currency?: string;
|
|
84
|
+
quantity?: number;
|
|
85
|
+
productId?: string;
|
|
86
|
+
productName?: string;
|
|
87
|
+
orderId?: string;
|
|
88
|
+
customData?: Record<string, any>;
|
|
89
|
+
}): void;
|
|
90
|
+
/**
|
|
91
|
+
* Track add to cart
|
|
92
|
+
*/
|
|
93
|
+
trackAddToCart(data?: {
|
|
94
|
+
productId?: string;
|
|
95
|
+
productName?: string;
|
|
96
|
+
price?: number;
|
|
97
|
+
quantity?: number;
|
|
98
|
+
customData?: Record<string, any>;
|
|
99
|
+
}): void;
|
|
100
|
+
/**
|
|
101
|
+
* Track view content
|
|
102
|
+
*/
|
|
103
|
+
trackViewContent(data?: {
|
|
104
|
+
productId?: string;
|
|
105
|
+
productName?: string;
|
|
106
|
+
category?: string;
|
|
107
|
+
customData?: Record<string, any>;
|
|
108
|
+
}): void;
|
|
109
|
+
/**
|
|
110
|
+
* Track initiate checkout
|
|
111
|
+
*/
|
|
112
|
+
trackInitiateCheckout(data?: {
|
|
113
|
+
value?: number;
|
|
114
|
+
currency?: string;
|
|
115
|
+
numItems?: number;
|
|
116
|
+
customData?: Record<string, any>;
|
|
117
|
+
}): void;
|
|
118
|
+
/**
|
|
119
|
+
* Track lead
|
|
120
|
+
*/
|
|
121
|
+
trackLead(data?: Record<string, any>): void;
|
|
122
|
+
/**
|
|
123
|
+
* Identify user
|
|
124
|
+
*/
|
|
125
|
+
identify(userData: {
|
|
126
|
+
email?: string;
|
|
127
|
+
phone?: string;
|
|
128
|
+
[key: string]: any;
|
|
129
|
+
}): void;
|
|
130
|
+
/**
|
|
131
|
+
* Track SPA navigation
|
|
132
|
+
*/
|
|
133
|
+
trackSPANavigation(url?: string, title?: string): void;
|
|
134
|
+
/**
|
|
135
|
+
* Reset scroll tracking
|
|
136
|
+
*/
|
|
137
|
+
resetScrollTracking(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Start presence tracking
|
|
140
|
+
*/
|
|
141
|
+
startPresenceTracking(): void;
|
|
142
|
+
/**
|
|
143
|
+
* Stop presence tracking
|
|
144
|
+
*/
|
|
145
|
+
stopPresenceTracking(): void;
|
|
146
|
+
/**
|
|
147
|
+
* Heatmap API
|
|
148
|
+
*/
|
|
149
|
+
heatmap: {
|
|
150
|
+
enable: () => void;
|
|
151
|
+
disable: () => void;
|
|
152
|
+
enableMouseTracking: () => void;
|
|
153
|
+
disableMouseTracking: () => void;
|
|
154
|
+
getStats: () => {
|
|
155
|
+
clickCount: number;
|
|
156
|
+
maxScrollDepth: number;
|
|
157
|
+
isRecording: boolean;
|
|
158
|
+
mouseMovements: number;
|
|
159
|
+
rageClicks: number;
|
|
160
|
+
} | null;
|
|
161
|
+
isRecording: () => boolean;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Replay API
|
|
165
|
+
*/
|
|
166
|
+
replay: {
|
|
167
|
+
enable: () => void;
|
|
168
|
+
disable: () => void;
|
|
169
|
+
start: () => boolean;
|
|
170
|
+
stop: () => void;
|
|
171
|
+
isRecording: () => boolean;
|
|
172
|
+
getEventCount: () => number;
|
|
173
|
+
addFunnelStep: (stepData: Record<string, any>) => void;
|
|
174
|
+
markConversion: (data: Record<string, any>) => void;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Enable enhanced tracking
|
|
178
|
+
*/
|
|
179
|
+
enableEnhancedTracking(): boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Disable enhanced tracking
|
|
182
|
+
*/
|
|
183
|
+
disableEnhancedTracking(): void;
|
|
184
|
+
/**
|
|
185
|
+
* Check if enhanced mode is active
|
|
186
|
+
*/
|
|
187
|
+
isEnhancedMode(): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Get visitor ID (real UUID from backend, or fallback)
|
|
190
|
+
*/
|
|
191
|
+
getVisitorId(): string | null;
|
|
192
|
+
/**
|
|
193
|
+
* Get visitor information from backend
|
|
194
|
+
* Returns detailed visitor data including location, device info, and stats
|
|
195
|
+
*
|
|
196
|
+
* IMPORTANT: Only uses backendVisitorId (UUID), not the local visitorId with 'vis_' prefix
|
|
197
|
+
*/
|
|
198
|
+
getVisitorInfo(): Promise<VisitorInfo | null>;
|
|
199
|
+
/**
|
|
200
|
+
* Get visitor history (visits/events)
|
|
201
|
+
* Returns visit history with location, IP, incognito, VPN detection
|
|
202
|
+
*/
|
|
203
|
+
getVisitorHistory(): Promise<VisitorHistory | null>;
|
|
204
|
+
/**
|
|
205
|
+
* Get user data
|
|
206
|
+
*/
|
|
207
|
+
getUserData(): UserData;
|
|
208
|
+
/**
|
|
209
|
+
* Get conversion likelihood (mock implementation)
|
|
210
|
+
*/
|
|
211
|
+
getConversionLikelihood(): {
|
|
212
|
+
score: number;
|
|
213
|
+
factors: string[];
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Get user segment (mock implementation)
|
|
217
|
+
*/
|
|
218
|
+
getUserSegment(): {
|
|
219
|
+
type: "high_intent" | "medium_intent" | "exploring";
|
|
220
|
+
confidence: number;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Default export for ES modules
|
|
225
|
+
*/
|
|
226
|
+
export default ZaplierSDK;
|
|
227
|
+
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* 100% Cookieless tracking using fingerprinting only.
|
|
5
|
+
* No storage dependencies - fully GDPR/LGPD compliant.
|
|
6
|
+
*/
|
|
7
|
+
export interface SDKConfig {
|
|
8
|
+
/** Workspace token (required) */
|
|
9
|
+
token: string;
|
|
10
|
+
/** Enable session replay recording (default: false) */
|
|
11
|
+
replay?: boolean;
|
|
12
|
+
/** Enable heatmap tracking (default: false) */
|
|
13
|
+
heatmap?: boolean;
|
|
14
|
+
/** Enable debug mode for development (default: false) */
|
|
15
|
+
debug?: boolean;
|
|
16
|
+
/** Allow tracking on localhost (default: false) */
|
|
17
|
+
allow_localhost?: boolean;
|
|
18
|
+
/** GDPR mode - limits invasive fingerprinting (default: false) */
|
|
19
|
+
gdprMode?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Internal configuration with optimized defaults
|
|
23
|
+
* These settings are not exposed to the user but can be referenced internally
|
|
24
|
+
*/
|
|
25
|
+
export interface InternalConfig extends SDKConfig {
|
|
26
|
+
apiEndpoint: string;
|
|
27
|
+
retryEnabled: boolean;
|
|
28
|
+
maxRetries: number;
|
|
29
|
+
retryDelays: number[];
|
|
30
|
+
autoTrack: boolean;
|
|
31
|
+
dedupeEnabled: boolean;
|
|
32
|
+
fingerprintEnabled: boolean;
|
|
33
|
+
presenceTracking: boolean;
|
|
34
|
+
heartbeatInterval: number;
|
|
35
|
+
scrollTracking: boolean;
|
|
36
|
+
scrollDepthTracking: boolean;
|
|
37
|
+
gdprCompliant: boolean;
|
|
38
|
+
enhancedTracking: 'ask' | 'true' | 'false';
|
|
39
|
+
replaySampling: number;
|
|
40
|
+
replayMaskInputs: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type ConfigKey = keyof SDKConfig;
|
|
43
|
+
export type InternalConfigKey = keyof InternalConfig;
|
|
44
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mDAAmD;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS;IAE/C,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IAGtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAG7B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAG3C,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC;AACxC,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection Types
|
|
3
|
+
*
|
|
4
|
+
* Types for bot detection and incognito detection functionality
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generic detection result
|
|
8
|
+
*/
|
|
9
|
+
export interface DetectionResult {
|
|
10
|
+
detected: boolean;
|
|
11
|
+
confidence: number;
|
|
12
|
+
method: string;
|
|
13
|
+
details?: Record<string, any>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Bot detection result
|
|
17
|
+
*/
|
|
18
|
+
export interface BotDetectionResult {
|
|
19
|
+
isBot: boolean;
|
|
20
|
+
confidence: number;
|
|
21
|
+
riskLevel: 'low' | 'medium' | 'high';
|
|
22
|
+
detectionMethods: string[];
|
|
23
|
+
detectors?: BotDetectionMethods;
|
|
24
|
+
userAgent?: UserAgentAnalysis;
|
|
25
|
+
details?: {
|
|
26
|
+
userAgent?: string;
|
|
27
|
+
suspiciousPatterns?: string[];
|
|
28
|
+
timing?: Record<string, number>;
|
|
29
|
+
capabilities?: Record<string, boolean>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Bot detection methods
|
|
34
|
+
*/
|
|
35
|
+
export type BotDetectionMethodType = 'user_agent' | 'timing_analysis' | 'headless_detection' | 'automation_detection' | 'behavior_analysis';
|
|
36
|
+
/**
|
|
37
|
+
* Bot detection methods interface
|
|
38
|
+
*/
|
|
39
|
+
export interface BotDetectionMethods {
|
|
40
|
+
[key: string]: DetectionResult;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Incognito detection result
|
|
44
|
+
*/
|
|
45
|
+
export interface IncognitoDetectionResult {
|
|
46
|
+
isIncognito: boolean;
|
|
47
|
+
confidence: number;
|
|
48
|
+
detectionMethods: string[];
|
|
49
|
+
details?: {
|
|
50
|
+
localStorage?: boolean | null;
|
|
51
|
+
sessionStorage?: boolean | null;
|
|
52
|
+
indexedDB?: boolean | null;
|
|
53
|
+
cookiesEnabled?: boolean | null;
|
|
54
|
+
quota?: number | null;
|
|
55
|
+
permissions?: Record<string, any>;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Incognito detection methods
|
|
60
|
+
*/
|
|
61
|
+
export type IncognitoDetectionMethodType = 'localStorage' | 'sessionStorage' | 'indexedDB' | 'cookies' | 'quota_management' | 'permissions' | 'filesystem' | 'cache_detection';
|
|
62
|
+
/**
|
|
63
|
+
* Incognito detection methods interface
|
|
64
|
+
*/
|
|
65
|
+
export interface IncognitoDetectionMethods {
|
|
66
|
+
[key: string]: DetectionResult | any;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* User agent analysis result
|
|
70
|
+
*/
|
|
71
|
+
export interface UserAgentAnalysis {
|
|
72
|
+
browser: {
|
|
73
|
+
name: string;
|
|
74
|
+
version: string;
|
|
75
|
+
major: string;
|
|
76
|
+
engine: string;
|
|
77
|
+
};
|
|
78
|
+
os: {
|
|
79
|
+
name: string;
|
|
80
|
+
version: string;
|
|
81
|
+
family?: string;
|
|
82
|
+
};
|
|
83
|
+
device: {
|
|
84
|
+
type: string;
|
|
85
|
+
vendor?: string;
|
|
86
|
+
model?: string;
|
|
87
|
+
};
|
|
88
|
+
cpu?: {
|
|
89
|
+
architecture: string;
|
|
90
|
+
};
|
|
91
|
+
suspicious?: {
|
|
92
|
+
isBot: boolean;
|
|
93
|
+
patterns: string[];
|
|
94
|
+
category: string;
|
|
95
|
+
};
|
|
96
|
+
isMobile: boolean;
|
|
97
|
+
isTablet: boolean;
|
|
98
|
+
isDesktop: boolean;
|
|
99
|
+
isBot: boolean;
|
|
100
|
+
raw: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Detection configuration
|
|
104
|
+
*/
|
|
105
|
+
export interface DetectionConfig {
|
|
106
|
+
timeout?: number;
|
|
107
|
+
enableAdvanced?: boolean;
|
|
108
|
+
methods?: string[];
|
|
109
|
+
thresholds?: {
|
|
110
|
+
botConfidence?: number;
|
|
111
|
+
incognitoConfidence?: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../src/types/detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event and Tracking Types
|
|
3
|
+
*/
|
|
4
|
+
export interface BaseEventData {
|
|
5
|
+
eventType: string;
|
|
6
|
+
eventName?: string;
|
|
7
|
+
customData?: Record<string, any>;
|
|
8
|
+
}
|
|
9
|
+
export interface PageViewEvent extends BaseEventData {
|
|
10
|
+
eventType: 'page_view';
|
|
11
|
+
url?: string;
|
|
12
|
+
pageTitle?: string;
|
|
13
|
+
referrer?: string;
|
|
14
|
+
spaNavigation?: boolean;
|
|
15
|
+
navigationType?: 'manual' | 'spa' | 'direct';
|
|
16
|
+
}
|
|
17
|
+
export interface CustomEvent extends BaseEventData {
|
|
18
|
+
eventType: 'custom';
|
|
19
|
+
eventName: string;
|
|
20
|
+
metadata?: Record<string, any>;
|
|
21
|
+
}
|
|
22
|
+
export interface ConversionEvent extends BaseEventData {
|
|
23
|
+
eventType: 'conversion';
|
|
24
|
+
eventName: string;
|
|
25
|
+
revenue?: number;
|
|
26
|
+
currency?: string;
|
|
27
|
+
metadata?: Record<string, any>;
|
|
28
|
+
}
|
|
29
|
+
export interface EcommerceEvent extends BaseEventData {
|
|
30
|
+
eventType: 'purchase' | 'add_to_cart' | 'view_content' | 'initiate_checkout';
|
|
31
|
+
productId?: string;
|
|
32
|
+
productName?: string;
|
|
33
|
+
price?: number;
|
|
34
|
+
quantity?: number;
|
|
35
|
+
revenue?: number;
|
|
36
|
+
currency?: string;
|
|
37
|
+
orderId?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface IdentifyEvent extends BaseEventData {
|
|
40
|
+
eventType: 'identify';
|
|
41
|
+
email?: string;
|
|
42
|
+
phone?: string;
|
|
43
|
+
userData?: Record<string, any>;
|
|
44
|
+
}
|
|
45
|
+
export type EventData = PageViewEvent | CustomEvent | ConversionEvent | EcommerceEvent | IdentifyEvent;
|
|
46
|
+
/**
|
|
47
|
+
* Internal event payload sent to server
|
|
48
|
+
*/
|
|
49
|
+
export interface EventPayload {
|
|
50
|
+
eventId: string;
|
|
51
|
+
eventType: string;
|
|
52
|
+
eventName?: string;
|
|
53
|
+
sessionId: string;
|
|
54
|
+
userId?: string;
|
|
55
|
+
timestamp: string;
|
|
56
|
+
url: string;
|
|
57
|
+
referrer?: string;
|
|
58
|
+
pageTitle?: string;
|
|
59
|
+
utmSource?: string;
|
|
60
|
+
utmMedium?: string;
|
|
61
|
+
utmCampaign?: string;
|
|
62
|
+
utmContent?: string;
|
|
63
|
+
utmTerm?: string;
|
|
64
|
+
fbclid?: string;
|
|
65
|
+
gclid?: string;
|
|
66
|
+
ttclid?: string;
|
|
67
|
+
fbp?: string;
|
|
68
|
+
fbc?: string;
|
|
69
|
+
userAgent: string;
|
|
70
|
+
screenWidth: number;
|
|
71
|
+
screenHeight: number;
|
|
72
|
+
viewportWidth: number;
|
|
73
|
+
viewportHeight: number;
|
|
74
|
+
fingerprint?: string;
|
|
75
|
+
fingerprintComponents?: FingerprintComponents;
|
|
76
|
+
botDetection?: BotDetectionResult;
|
|
77
|
+
incognitoDetection?: IncognitoDetectionResult;
|
|
78
|
+
gdprMode: boolean;
|
|
79
|
+
enhancedMode: boolean;
|
|
80
|
+
customData?: Record<string, any>;
|
|
81
|
+
revenue?: number;
|
|
82
|
+
currency?: string;
|
|
83
|
+
productId?: string;
|
|
84
|
+
productName?: string;
|
|
85
|
+
quantity?: number;
|
|
86
|
+
orderId?: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Fingerprinting component results
|
|
90
|
+
*/
|
|
91
|
+
export interface FingerprintComponents {
|
|
92
|
+
canvas?: string;
|
|
93
|
+
webgl?: {
|
|
94
|
+
vendor: string;
|
|
95
|
+
renderer: string;
|
|
96
|
+
version: string;
|
|
97
|
+
};
|
|
98
|
+
audio?: string;
|
|
99
|
+
fonts?: string[];
|
|
100
|
+
screen: {
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
colorDepth: number;
|
|
104
|
+
pixelRatio: number;
|
|
105
|
+
};
|
|
106
|
+
timezone: number;
|
|
107
|
+
language: string;
|
|
108
|
+
platform: string;
|
|
109
|
+
hardwareConcurrency?: number;
|
|
110
|
+
deviceMemory?: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Bot detection result
|
|
114
|
+
*/
|
|
115
|
+
export interface BotDetectionResult {
|
|
116
|
+
isBot: boolean;
|
|
117
|
+
confidence: number;
|
|
118
|
+
detectors: {
|
|
119
|
+
webDriver: {
|
|
120
|
+
detected: boolean;
|
|
121
|
+
confidence: number;
|
|
122
|
+
};
|
|
123
|
+
headlessBrowser: {
|
|
124
|
+
detected: boolean;
|
|
125
|
+
confidence: number;
|
|
126
|
+
};
|
|
127
|
+
domBlockers: {
|
|
128
|
+
detected: boolean;
|
|
129
|
+
confidence: number;
|
|
130
|
+
};
|
|
131
|
+
canvasInconsistency: {
|
|
132
|
+
detected: boolean;
|
|
133
|
+
confidence: number;
|
|
134
|
+
};
|
|
135
|
+
webglAnomaly: {
|
|
136
|
+
detected: boolean;
|
|
137
|
+
confidence: number;
|
|
138
|
+
};
|
|
139
|
+
missingLanguages: {
|
|
140
|
+
detected: boolean;
|
|
141
|
+
confidence: number;
|
|
142
|
+
};
|
|
143
|
+
inconsistentEval: {
|
|
144
|
+
detected: boolean;
|
|
145
|
+
confidence: number;
|
|
146
|
+
};
|
|
147
|
+
automationTools: {
|
|
148
|
+
detected: boolean;
|
|
149
|
+
confidence: number;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
userAgent?: {
|
|
153
|
+
suspicious: boolean;
|
|
154
|
+
patterns: string[];
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Incognito mode detection result
|
|
159
|
+
*/
|
|
160
|
+
export interface IncognitoDetectionResult {
|
|
161
|
+
isIncognito: boolean;
|
|
162
|
+
confidence: number;
|
|
163
|
+
detectionMethods: {
|
|
164
|
+
localStorage: boolean | null;
|
|
165
|
+
indexedDB: boolean | null;
|
|
166
|
+
sessionStorage: boolean | null;
|
|
167
|
+
openDatabase: boolean | null;
|
|
168
|
+
permissions: boolean | null;
|
|
169
|
+
quotaManagement: boolean | null;
|
|
170
|
+
filesystem: boolean | null;
|
|
171
|
+
cookiesEnabled: boolean | null;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"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"}
|