@zaplier/sdk 1.4.2 → 1.6.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/dist/index.cjs +583 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +54 -4
- package/dist/index.esm.js +583 -12
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk.js +583 -12
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.min.js +1 -1
- package/dist/src/modules/auto-tracker.d.ts +101 -0
- package/dist/src/modules/auto-tracker.d.ts.map +1 -0
- package/dist/src/modules/global-interface.d.ts +14 -0
- package/dist/src/modules/global-interface.d.ts.map +1 -1
- package/dist/src/modules/session-replay.d.ts +40 -1
- package/dist/src/modules/session-replay.d.ts.map +1 -1
- package/dist/src/modules/visitor-persistence.d.ts +104 -0
- package/dist/src/modules/visitor-persistence.d.ts.map +1 -0
- package/dist/src/sdk.d.ts +24 -0
- package/dist/src/sdk.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto Tracker - Sistema de tracking automático via data-* attributes
|
|
3
|
+
*
|
|
4
|
+
* Suporta:
|
|
5
|
+
* - data-track-click="event-name"
|
|
6
|
+
* - data-track-scroll="event-name"
|
|
7
|
+
* - data-track-view="event-name"
|
|
8
|
+
* - data-track-hover="event-name"
|
|
9
|
+
* - data-track-form="event-name"
|
|
10
|
+
*/
|
|
11
|
+
export interface AutoTrackerConfig {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
trackClicks: boolean;
|
|
14
|
+
trackScrolls: boolean;
|
|
15
|
+
trackViews: boolean;
|
|
16
|
+
trackHovers: boolean;
|
|
17
|
+
trackForms: boolean;
|
|
18
|
+
debug: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class AutoTracker {
|
|
21
|
+
private config;
|
|
22
|
+
private sdkInstance;
|
|
23
|
+
private observedElements;
|
|
24
|
+
private intersectionObserver?;
|
|
25
|
+
constructor(sdkInstance: any, config?: Partial<AutoTrackerConfig>);
|
|
26
|
+
/**
|
|
27
|
+
* Inicializar auto tracking
|
|
28
|
+
*/
|
|
29
|
+
start(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Parar auto tracking
|
|
32
|
+
*/
|
|
33
|
+
stop(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Observar mudanças no DOM para novos elementos
|
|
36
|
+
*/
|
|
37
|
+
private observeDOM;
|
|
38
|
+
/**
|
|
39
|
+
* Processar elementos já existentes no DOM
|
|
40
|
+
*/
|
|
41
|
+
private processExistingElements;
|
|
42
|
+
/**
|
|
43
|
+
* Processar um elemento específico
|
|
44
|
+
*/
|
|
45
|
+
private processElement;
|
|
46
|
+
/**
|
|
47
|
+
* Setup click tracking
|
|
48
|
+
*/
|
|
49
|
+
private setupClickTracking;
|
|
50
|
+
/**
|
|
51
|
+
* Setup scroll tracking
|
|
52
|
+
*/
|
|
53
|
+
private setupScrollTracking;
|
|
54
|
+
/**
|
|
55
|
+
* Setup view tracking usando Intersection Observer
|
|
56
|
+
*/
|
|
57
|
+
private setupViewTracking;
|
|
58
|
+
/**
|
|
59
|
+
* Setup view tracking para elemento específico
|
|
60
|
+
*/
|
|
61
|
+
private setupElementViewTracking;
|
|
62
|
+
/**
|
|
63
|
+
* Setup hover tracking
|
|
64
|
+
*/
|
|
65
|
+
private setupHoverTracking;
|
|
66
|
+
/**
|
|
67
|
+
* Setup form tracking
|
|
68
|
+
*/
|
|
69
|
+
private setupFormTracking;
|
|
70
|
+
/**
|
|
71
|
+
* Extrair metadata do elemento
|
|
72
|
+
*/
|
|
73
|
+
private extractMetadata;
|
|
74
|
+
/**
|
|
75
|
+
* Verificar se um campo é sensível
|
|
76
|
+
*/
|
|
77
|
+
private isSensitiveField;
|
|
78
|
+
/**
|
|
79
|
+
* Enviar evento para o SDK
|
|
80
|
+
*/
|
|
81
|
+
private trackEvent;
|
|
82
|
+
/**
|
|
83
|
+
* Event handlers (bound to this)
|
|
84
|
+
*/
|
|
85
|
+
private handleClick;
|
|
86
|
+
private handleScroll;
|
|
87
|
+
private handleHover;
|
|
88
|
+
private handleForm;
|
|
89
|
+
/**
|
|
90
|
+
* Configurar tracking
|
|
91
|
+
*/
|
|
92
|
+
configure(config: Partial<AutoTrackerConfig>): void;
|
|
93
|
+
/**
|
|
94
|
+
* Obter estatísticas
|
|
95
|
+
*/
|
|
96
|
+
getStats(): {
|
|
97
|
+
observedElements: number;
|
|
98
|
+
config: AutoTrackerConfig;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=auto-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-tracker.d.ts","sourceRoot":"","sources":["../../../src/modules/auto-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAuB;gBAExC,WAAW,EAAE,GAAG,EAAE,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAcrE;;OAEG;IACH,KAAK,IAAI,IAAI;IAmBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2C3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAInD;;OAEG;IACH,QAAQ,IAAI;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE;CAMpE"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ZaplierSDK } from "../sdk";
|
|
6
6
|
import type { SDKConfig } from "../types";
|
|
7
|
+
import type { AutoTrackerConfig } from "./auto-tracker";
|
|
7
8
|
/**
|
|
8
9
|
* Unified Zaplier interface
|
|
9
10
|
*/
|
|
@@ -121,6 +122,19 @@ export declare const Zaplier: {
|
|
|
121
122
|
addFunnelStep: (stepData: Record<string, any>) => void;
|
|
122
123
|
markConversion: (data: Record<string, any>) => void;
|
|
123
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* Auto Tracker API
|
|
127
|
+
*/
|
|
128
|
+
autoTrack: {
|
|
129
|
+
enable: () => void;
|
|
130
|
+
disable: () => void;
|
|
131
|
+
configure: (config: Partial<AutoTrackerConfig>) => void;
|
|
132
|
+
getStats: () => {
|
|
133
|
+
observedElements: number;
|
|
134
|
+
config: AutoTrackerConfig;
|
|
135
|
+
} | null;
|
|
136
|
+
isEnabled: () => boolean;
|
|
137
|
+
};
|
|
124
138
|
/**
|
|
125
139
|
* Debug and utility functions
|
|
126
140
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-interface.d.ts","sourceRoot":"","sources":["../../../src/modules/global-interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"global-interface.d.ts","sourceRoot":"","sources":["../../../src/modules/global-interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKxD;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;OAEG;mBACY,SAAS,KAAG,UAAU;IAUrC;;OAEG;uBACc,UAAU,GAAG,IAAI;IAIlC;;OAEG;uBACgB,MAAM,cAAc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;IAQjE;;OAEG;2BACoB,GAAG,KAAG,IAAI;IAQjC;;OAEG;4BACqB,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,OAAO;IAQxE;;OAEG;sCAEe,MAAM,UACd,MAAM,aACH,MAAM,aACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,IAAI;IAQP;;OAEG;0BACmB;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAG,IAAI;IAQR;;OAEG;4BACqB;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,KAAG,IAAI;IAQR;;OAEG;yBACkB;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,KAAG,IAAI;IAQR;;OAEG;wBACe,MAAM,GAAG,IAAI;IAO/B;;OAEG;0BACiB,OAAO,CAAC,GAAG,CAAC;IAOhC;;OAEG;uBACc,GAAG;IAOpB;;OAEG;kCACyB,OAAO;IAQnC;;OAEG;mCAC0B,IAAI;IAQjC;;OAEG;0BACiB,OAAO;IAO3B;;OAEG;;sBAEW,IAAI;uBAOH,IAAI;mCAOQ,IAAI;oCAOH,IAAI;;;;;;;;2BAab,OAAO;;IAQ1B;;OAEG;;sBAEW,IAAI;uBAOH,IAAI;qBAON,OAAO;oBAOR,IAAI;2BAOG,OAAO;6BAML,MAAM;kCAMC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;+BAO7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;;IASnD;;OAEG;;sBAEW,IAAI;uBAOH,IAAI;4BAOG,OAAO,CAAC,iBAAiB,CAAC,KAAG,IAAI;;;;;yBAatC,OAAO;;IAQxB;;OAEG;;;;;;IAsBH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA4C/C"}
|
|
@@ -8,16 +8,23 @@ export interface ReplayConfig {
|
|
|
8
8
|
enabled: boolean;
|
|
9
9
|
sampleRate: number;
|
|
10
10
|
batchInterval: number;
|
|
11
|
+
inactivityTimeout: number;
|
|
12
|
+
pauseOnInactive: boolean;
|
|
11
13
|
}
|
|
12
14
|
export declare class SessionReplayEngine {
|
|
13
15
|
private config;
|
|
14
16
|
private events;
|
|
15
17
|
private batchTimer?;
|
|
18
|
+
private inactivityTimer?;
|
|
16
19
|
private isActive;
|
|
20
|
+
private isPaused;
|
|
17
21
|
private sessionId;
|
|
22
|
+
private visitorId;
|
|
18
23
|
private sdkInstance?;
|
|
19
24
|
private rrwebStopRecord?;
|
|
20
|
-
|
|
25
|
+
private lastActivityTime;
|
|
26
|
+
private sessionStartTime;
|
|
27
|
+
constructor(sessionId: string, visitorId: string, config?: Partial<ReplayConfig>);
|
|
21
28
|
/**
|
|
22
29
|
* Start session replay recording - Simplified like official example
|
|
23
30
|
*/
|
|
@@ -50,5 +57,37 @@ export declare class SessionReplayEngine {
|
|
|
50
57
|
* Check if recording is active
|
|
51
58
|
*/
|
|
52
59
|
isRecording(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if recording is paused
|
|
62
|
+
*/
|
|
63
|
+
isPausedState(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Start inactivity tracking
|
|
66
|
+
*/
|
|
67
|
+
private startInactivityTracking;
|
|
68
|
+
/**
|
|
69
|
+
* Handle activity event
|
|
70
|
+
*/
|
|
71
|
+
private onActivity;
|
|
72
|
+
/**
|
|
73
|
+
* Reset inactivity timer
|
|
74
|
+
*/
|
|
75
|
+
private resetInactivityTimer;
|
|
76
|
+
/**
|
|
77
|
+
* Pause recording due to inactivity
|
|
78
|
+
*/
|
|
79
|
+
private pauseForInactivity;
|
|
80
|
+
/**
|
|
81
|
+
* Resume recording after activity
|
|
82
|
+
*/
|
|
83
|
+
private resume;
|
|
84
|
+
/**
|
|
85
|
+
* Get total active time (excluding paused periods)
|
|
86
|
+
*/
|
|
87
|
+
private getActiveTime;
|
|
88
|
+
/**
|
|
89
|
+
* Get visitor ID
|
|
90
|
+
*/
|
|
91
|
+
getVisitorId(): string;
|
|
53
92
|
}
|
|
54
93
|
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/modules/session-replay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/modules/session-replay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,gBAAgB,CAAc;gBAE1B,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAapF;;OAEG;IACH,KAAK,IAAI,OAAO;IAoChB;;OAEG;IACH,IAAI,IAAI,IAAI;IAyBZ;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgCjB;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI9B;;OAEG;YACW,aAAa;IAsB3B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,MAAM;IAOd;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,YAAY,IAAI,MAAM;CAGvB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Visitor Persistence Manager
|
|
3
|
+
* Implements robust visitor identification with multiple fallback layers
|
|
4
|
+
*/
|
|
5
|
+
interface VisitorIdentity {
|
|
6
|
+
visitorId: string;
|
|
7
|
+
sessionId: string;
|
|
8
|
+
stableCoreId: string;
|
|
9
|
+
deviceFingerprint?: string;
|
|
10
|
+
persistenceMethod: "localStorage" | "sessionStorage" | "cookie" | "memory";
|
|
11
|
+
confidence: number;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
lastSeen: number;
|
|
14
|
+
}
|
|
15
|
+
interface CamouflagedData {
|
|
16
|
+
theme: "auto" | "light" | "dark";
|
|
17
|
+
lang: string;
|
|
18
|
+
tz: string;
|
|
19
|
+
analytics: boolean;
|
|
20
|
+
cookies: boolean;
|
|
21
|
+
_v: string;
|
|
22
|
+
_s: string;
|
|
23
|
+
_sc: string;
|
|
24
|
+
ts: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Multi-layer persistence manager with fallbacks
|
|
28
|
+
*/
|
|
29
|
+
export declare class PersistenceManager {
|
|
30
|
+
private static memoryStore;
|
|
31
|
+
static setLocal(key: string, value: string): boolean;
|
|
32
|
+
static getLocal(key: string): string | null;
|
|
33
|
+
static setSession(key: string, value: string): boolean;
|
|
34
|
+
static getSession(key: string): string | null;
|
|
35
|
+
static setCookie(key: string, value: string, days?: number): boolean;
|
|
36
|
+
static getCookie(key: string): string | null;
|
|
37
|
+
static setMemory(key: string, value: string): boolean;
|
|
38
|
+
static getMemory(key: string): string | null;
|
|
39
|
+
static get(key: string): string | null;
|
|
40
|
+
static set(key: string, value: string): void;
|
|
41
|
+
static clear(key: string): void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Enhanced Visitor Identity Manager
|
|
45
|
+
* Implements camuflaged localStorage with multiple identification layers
|
|
46
|
+
*/
|
|
47
|
+
export declare class VisitorIdentityManager {
|
|
48
|
+
private static cachedIdentity;
|
|
49
|
+
/**
|
|
50
|
+
* Generate or retrieve visitor identity with multiple fallback layers
|
|
51
|
+
*/
|
|
52
|
+
static getOrCreateVisitorIdentity(): VisitorIdentity;
|
|
53
|
+
/**
|
|
54
|
+
* Try to recover existing visitor identity from storage
|
|
55
|
+
*/
|
|
56
|
+
private static recoverExistingIdentity;
|
|
57
|
+
/**
|
|
58
|
+
* Create new visitor identity
|
|
59
|
+
*/
|
|
60
|
+
private static createNewIdentity;
|
|
61
|
+
/**
|
|
62
|
+
* Persist visitor identity using camuflaged storage
|
|
63
|
+
*/
|
|
64
|
+
private static persistIdentity;
|
|
65
|
+
/**
|
|
66
|
+
* Generate unique visitor ID
|
|
67
|
+
*/
|
|
68
|
+
private static generateVisitorId;
|
|
69
|
+
/**
|
|
70
|
+
* Generate or continue session ID
|
|
71
|
+
*/
|
|
72
|
+
private static generateSessionId;
|
|
73
|
+
/**
|
|
74
|
+
* Generate stable core ID based on invariant device characteristics
|
|
75
|
+
*/
|
|
76
|
+
private static generateStableCoreId;
|
|
77
|
+
/**
|
|
78
|
+
* Get navigator language safely
|
|
79
|
+
*/
|
|
80
|
+
private static getNavigatorLanguage;
|
|
81
|
+
/**
|
|
82
|
+
* Get timezone safely
|
|
83
|
+
*/
|
|
84
|
+
private static getTimezone;
|
|
85
|
+
/**
|
|
86
|
+
* Update session activity
|
|
87
|
+
*/
|
|
88
|
+
static updateSessionActivity(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Get current visitor identity (without creating new one)
|
|
91
|
+
*/
|
|
92
|
+
static getCurrentIdentity(): VisitorIdentity | null;
|
|
93
|
+
/**
|
|
94
|
+
* Clear all visitor data (for privacy compliance)
|
|
95
|
+
*/
|
|
96
|
+
static clearAllData(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Check if visitor identity is available
|
|
99
|
+
*/
|
|
100
|
+
static hasIdentity(): boolean;
|
|
101
|
+
}
|
|
102
|
+
export declare const visitorIdentity: typeof VisitorIdentityManager;
|
|
103
|
+
export type { CamouflagedData, VisitorIdentity };
|
|
104
|
+
//# sourceMappingURL=visitor-persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor-persistence.d.ts","sourceRoot":"","sources":["../../../src/modules/visitor-persistence.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sdk.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class ZaplierSDK implements IZaplierSDK {
|
|
|
20
20
|
private replayEngine?;
|
|
21
21
|
private heatmapEngine?;
|
|
22
22
|
private antiAdblockManager?;
|
|
23
|
+
private autoTracker?;
|
|
23
24
|
constructor(userConfig: SDKConfig);
|
|
24
25
|
/**
|
|
25
26
|
* Initialize SDK
|
|
@@ -29,6 +30,10 @@ export declare class ZaplierSDK implements IZaplierSDK {
|
|
|
29
30
|
* Initialize tracking engines (Session Replay & Heatmap)
|
|
30
31
|
*/
|
|
31
32
|
private initializeTrackingEngines;
|
|
33
|
+
/**
|
|
34
|
+
* Initialize Auto Tracker for data-* attributes
|
|
35
|
+
*/
|
|
36
|
+
private initializeAutoTracker;
|
|
32
37
|
/**
|
|
33
38
|
* Generate session ID
|
|
34
39
|
*/
|
|
@@ -186,6 +191,25 @@ export declare class ZaplierSDK implements IZaplierSDK {
|
|
|
186
191
|
addFunnelStep: (stepData: Record<string, any>) => void;
|
|
187
192
|
markConversion: (data: Record<string, any>) => void;
|
|
188
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* Auto Tracker API
|
|
196
|
+
*/
|
|
197
|
+
autoTrack: {
|
|
198
|
+
enable: () => void;
|
|
199
|
+
disable: () => void;
|
|
200
|
+
configure: (config: {
|
|
201
|
+
trackClicks?: boolean;
|
|
202
|
+
trackScrolls?: boolean;
|
|
203
|
+
trackViews?: boolean;
|
|
204
|
+
trackHovers?: boolean;
|
|
205
|
+
trackForms?: boolean;
|
|
206
|
+
}) => void;
|
|
207
|
+
getStats: () => {
|
|
208
|
+
observedElements: number;
|
|
209
|
+
config: import("./modules/auto-tracker").AutoTrackerConfig;
|
|
210
|
+
} | null;
|
|
211
|
+
isEnabled: () => boolean;
|
|
212
|
+
};
|
|
189
213
|
/**
|
|
190
214
|
* Enable enhanced tracking
|
|
191
215
|
*/
|
package/dist/src/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,IAAI,WAAW,EACzB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,WAAW,EACZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
|