@v-tilt/browser 1.1.5 → 1.3.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/dist/all-external-dependencies.js +2 -0
- package/dist/all-external-dependencies.js.map +1 -0
- package/dist/array.full.js +2 -0
- package/dist/array.full.js.map +1 -0
- package/dist/array.js +1 -1
- package/dist/array.js.map +1 -1
- package/dist/array.no-external.js +1 -1
- package/dist/array.no-external.js.map +1 -1
- package/dist/entrypoints/all-external-dependencies.d.ts +8 -0
- package/dist/entrypoints/array.d.ts +1 -0
- package/dist/entrypoints/array.full.d.ts +17 -0
- package/dist/entrypoints/external-scripts-loader.d.ts +24 -0
- package/dist/entrypoints/module.es.d.ts +1 -0
- package/dist/entrypoints/recorder.d.ts +23 -0
- package/dist/entrypoints/web-vitals.d.ts +14 -0
- package/dist/extensions/replay/index.d.ts +13 -0
- package/dist/extensions/replay/session-recording-utils.d.ts +92 -0
- package/dist/extensions/replay/session-recording-wrapper.d.ts +61 -0
- package/dist/extensions/replay/session-recording.d.ts +95 -0
- package/dist/extensions/replay/types.d.ts +211 -0
- package/dist/external-scripts-loader.js +2 -0
- package/dist/external-scripts-loader.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/module.d.ts +297 -8
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/dist/module.no-external.d.ts +297 -8
- package/dist/module.no-external.js +1 -1
- package/dist/module.no-external.js.map +1 -1
- package/dist/recorder.js +2 -0
- package/dist/recorder.js.map +1 -0
- package/dist/types.d.ts +116 -6
- package/dist/utils/globals.d.ts +69 -0
- package/dist/vtilt.d.ts +36 -0
- package/dist/web-vitals.d.ts +89 -5
- package/dist/web-vitals.js +2 -0
- package/dist/web-vitals.js.map +1 -0
- package/lib/config.js +7 -3
- package/lib/entrypoints/all-external-dependencies.d.ts +8 -0
- package/lib/entrypoints/all-external-dependencies.js +10 -0
- package/lib/entrypoints/array.d.ts +1 -0
- package/lib/entrypoints/array.full.d.ts +17 -0
- package/lib/entrypoints/array.full.js +19 -0
- package/lib/entrypoints/array.js +1 -0
- package/lib/entrypoints/external-scripts-loader.d.ts +24 -0
- package/lib/entrypoints/external-scripts-loader.js +107 -0
- package/lib/entrypoints/module.es.d.ts +1 -0
- package/lib/entrypoints/module.es.js +1 -0
- package/lib/entrypoints/recorder.d.ts +23 -0
- package/lib/entrypoints/recorder.js +42 -0
- package/lib/entrypoints/web-vitals.d.ts +14 -0
- package/lib/entrypoints/web-vitals.js +29 -0
- package/lib/extensions/replay/index.d.ts +13 -0
- package/lib/extensions/replay/index.js +31 -0
- package/lib/extensions/replay/session-recording-utils.d.ts +92 -0
- package/lib/extensions/replay/session-recording-utils.js +212 -0
- package/lib/extensions/replay/session-recording-wrapper.d.ts +61 -0
- package/lib/extensions/replay/session-recording-wrapper.js +149 -0
- package/lib/extensions/replay/session-recording.d.ts +95 -0
- package/lib/extensions/replay/session-recording.js +700 -0
- package/lib/extensions/replay/types.d.ts +211 -0
- package/lib/extensions/replay/types.js +8 -0
- package/lib/types.d.ts +116 -6
- package/lib/types.js +16 -0
- package/lib/utils/globals.d.ts +69 -0
- package/lib/utils/globals.js +2 -0
- package/lib/vtilt.d.ts +36 -0
- package/lib/vtilt.js +106 -0
- package/lib/web-vitals.d.ts +89 -5
- package/lib/web-vitals.js +354 -46
- package/package.json +4 -1
|
@@ -20,6 +20,13 @@ interface VTiltConfig {
|
|
|
20
20
|
api_host?: string;
|
|
21
21
|
/** UI host for dashboard links */
|
|
22
22
|
ui_host?: string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Host for loading extension scripts (recorder.js, etc.)
|
|
25
|
+
* Defaults to unpkg CDN: https://unpkg.com/@v-tilt/browser@{version}/dist
|
|
26
|
+
* Can also use jsdelivr: https://cdn.jsdelivr.net/npm/@v-tilt/browser@{version}/dist
|
|
27
|
+
* Or self-hosted: https://your-domain.com/static
|
|
28
|
+
*/
|
|
29
|
+
script_host?: string;
|
|
23
30
|
/** Proxy domain for tracking requests */
|
|
24
31
|
proxy?: string;
|
|
25
32
|
/** Full proxy URL for tracking requests */
|
|
@@ -52,8 +59,11 @@ interface VTiltConfig {
|
|
|
52
59
|
person_profiles?: PersonProfilesMode;
|
|
53
60
|
/** Enable autocapture */
|
|
54
61
|
autocapture?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Enable web vitals tracking.
|
|
64
|
+
* Can be a boolean or an object with detailed configuration.
|
|
65
|
+
*/
|
|
66
|
+
capture_performance?: boolean | CapturePerformanceConfig;
|
|
57
67
|
/** Enable page view tracking */
|
|
58
68
|
capture_pageview?: boolean | "auto";
|
|
59
69
|
/** Enable page leave tracking */
|
|
@@ -72,6 +82,10 @@ interface VTiltConfig {
|
|
|
72
82
|
respect_dnt?: boolean;
|
|
73
83
|
/** Opt users out by default */
|
|
74
84
|
opt_out_capturing_by_default?: boolean;
|
|
85
|
+
/** Session recording configuration */
|
|
86
|
+
session_recording?: SessionRecordingOptions;
|
|
87
|
+
/** Disable session recording (convenience flag) */
|
|
88
|
+
disable_session_recording?: boolean;
|
|
75
89
|
/** Global attributes added to all events */
|
|
76
90
|
globalAttributes?: Record<string, string>;
|
|
77
91
|
/** Bootstrap data for initialization */
|
|
@@ -157,6 +171,29 @@ interface AliasEvent {
|
|
|
157
171
|
distinct_id: string;
|
|
158
172
|
original: string;
|
|
159
173
|
}
|
|
174
|
+
/** Supported Web Vitals metrics */
|
|
175
|
+
type SupportedWebVitalsMetric = "LCP" | "CLS" | "FCP" | "INP" | "TTFB";
|
|
176
|
+
/** All supported Web Vitals metrics */
|
|
177
|
+
declare const ALL_WEB_VITALS_METRICS: SupportedWebVitalsMetric[];
|
|
178
|
+
/** Default Web Vitals metrics (matches PostHog defaults) */
|
|
179
|
+
declare const DEFAULT_WEB_VITALS_METRICS: SupportedWebVitalsMetric[];
|
|
180
|
+
/**
|
|
181
|
+
* Web Vitals capture configuration
|
|
182
|
+
*/
|
|
183
|
+
interface CapturePerformanceConfig {
|
|
184
|
+
/** Enable or disable web vitals capture */
|
|
185
|
+
web_vitals?: boolean;
|
|
186
|
+
/** Which metrics to capture (default: LCP, CLS, FCP, INP) */
|
|
187
|
+
web_vitals_allowed_metrics?: SupportedWebVitalsMetric[];
|
|
188
|
+
/** Delay before flushing metrics in ms (default: 5000) */
|
|
189
|
+
web_vitals_delayed_flush_ms?: number;
|
|
190
|
+
/**
|
|
191
|
+
* Maximum allowed metric value in ms (default: 900000 = 15 minutes)
|
|
192
|
+
* Values above this are considered anomalies and ignored.
|
|
193
|
+
* Set to 0 to disable this check.
|
|
194
|
+
*/
|
|
195
|
+
__web_vitals_max_value?: number;
|
|
196
|
+
}
|
|
160
197
|
interface WebVitalMetric {
|
|
161
198
|
name: string;
|
|
162
199
|
value: number;
|
|
@@ -164,6 +201,10 @@ interface WebVitalMetric {
|
|
|
164
201
|
rating: "good" | "needs-improvement" | "poor";
|
|
165
202
|
id: string;
|
|
166
203
|
navigationType: string;
|
|
204
|
+
/** Timestamp when the metric was captured (added internally) */
|
|
205
|
+
timestamp?: number;
|
|
206
|
+
/** Attribution data from web-vitals library */
|
|
207
|
+
attribution?: Record<string, unknown>;
|
|
167
208
|
}
|
|
168
209
|
interface GeolocationData {
|
|
169
210
|
country?: string;
|
|
@@ -184,16 +225,85 @@ interface RequestOptions {
|
|
|
184
225
|
timeout?: number;
|
|
185
226
|
retry?: boolean;
|
|
186
227
|
}
|
|
228
|
+
/** Mask options for input elements in session recording */
|
|
229
|
+
interface SessionRecordingMaskInputOptions {
|
|
230
|
+
color?: boolean;
|
|
231
|
+
date?: boolean;
|
|
232
|
+
"datetime-local"?: boolean;
|
|
233
|
+
email?: boolean;
|
|
234
|
+
month?: boolean;
|
|
235
|
+
number?: boolean;
|
|
236
|
+
range?: boolean;
|
|
237
|
+
search?: boolean;
|
|
238
|
+
tel?: boolean;
|
|
239
|
+
text?: boolean;
|
|
240
|
+
time?: boolean;
|
|
241
|
+
url?: boolean;
|
|
242
|
+
week?: boolean;
|
|
243
|
+
textarea?: boolean;
|
|
244
|
+
select?: boolean;
|
|
245
|
+
password?: boolean;
|
|
246
|
+
}
|
|
247
|
+
/** Session recording configuration */
|
|
248
|
+
interface SessionRecordingOptions {
|
|
249
|
+
/** Enable session recording */
|
|
250
|
+
enabled?: boolean;
|
|
251
|
+
/** Sample rate (0-1, where 1 = 100%) */
|
|
252
|
+
sampleRate?: number;
|
|
253
|
+
/** Minimum session duration in ms before sending */
|
|
254
|
+
minimumDurationMs?: number;
|
|
255
|
+
/** Session idle threshold in ms (default: 5 minutes) */
|
|
256
|
+
sessionIdleThresholdMs?: number;
|
|
257
|
+
/** Full snapshot interval in ms (default: 5 minutes) */
|
|
258
|
+
fullSnapshotIntervalMs?: number;
|
|
259
|
+
/** Enable console log capture */
|
|
260
|
+
captureConsole?: boolean;
|
|
261
|
+
/** Enable network request capture */
|
|
262
|
+
captureNetwork?: boolean;
|
|
263
|
+
/** Canvas recording settings */
|
|
264
|
+
captureCanvas?: {
|
|
265
|
+
recordCanvas?: boolean;
|
|
266
|
+
canvasFps?: number;
|
|
267
|
+
canvasQuality?: number;
|
|
268
|
+
};
|
|
269
|
+
/** Block class for elements to hide (default: 'vt-no-capture') */
|
|
270
|
+
blockClass?: string;
|
|
271
|
+
/** Block selector for elements to hide */
|
|
272
|
+
blockSelector?: string;
|
|
273
|
+
/** Ignore class for input masking (default: 'vt-ignore-input') */
|
|
274
|
+
ignoreClass?: string;
|
|
275
|
+
/** Mask text class (default: 'vt-mask') */
|
|
276
|
+
maskTextClass?: string;
|
|
277
|
+
/** Mask text selector */
|
|
278
|
+
maskTextSelector?: string;
|
|
279
|
+
/** Mask all inputs (default: true) */
|
|
280
|
+
maskAllInputs?: boolean;
|
|
281
|
+
/** Mask input options */
|
|
282
|
+
maskInputOptions?: SessionRecordingMaskInputOptions;
|
|
283
|
+
/** Masking configuration */
|
|
284
|
+
masking?: {
|
|
285
|
+
maskAllInputs?: boolean;
|
|
286
|
+
maskTextSelector?: string;
|
|
287
|
+
blockSelector?: string;
|
|
288
|
+
};
|
|
289
|
+
/** Record headers in network requests */
|
|
290
|
+
recordHeaders?: boolean;
|
|
291
|
+
/** Record body in network requests */
|
|
292
|
+
recordBody?: boolean;
|
|
293
|
+
/** Compress events before sending (default: true) */
|
|
294
|
+
compressEvents?: boolean;
|
|
295
|
+
/** Internal: Mutation throttler refill rate */
|
|
296
|
+
__mutationThrottlerRefillRate?: number;
|
|
297
|
+
/** Internal: Mutation throttler bucket size */
|
|
298
|
+
__mutationThrottlerBucketSize?: number;
|
|
299
|
+
}
|
|
187
300
|
interface RemoteConfig {
|
|
188
301
|
/** Default to identified_only mode */
|
|
189
302
|
defaultIdentifiedOnly?: boolean;
|
|
190
303
|
/** Feature flags */
|
|
191
304
|
featureFlags?: FeatureFlagsConfig;
|
|
192
305
|
/** Session recording config */
|
|
193
|
-
sessionRecording?:
|
|
194
|
-
enabled?: boolean;
|
|
195
|
-
sampleRate?: number;
|
|
196
|
-
};
|
|
306
|
+
sessionRecording?: SessionRecordingOptions;
|
|
197
307
|
}
|
|
198
308
|
|
|
199
309
|
/**
|
|
@@ -213,6 +323,150 @@ declare class HistoryAutocapture {
|
|
|
213
323
|
private _setupPopstateListener;
|
|
214
324
|
}
|
|
215
325
|
|
|
326
|
+
/**
|
|
327
|
+
* Session Recording Types
|
|
328
|
+
*
|
|
329
|
+
* Type definitions for rrweb session recording.
|
|
330
|
+
* Based on PostHog's implementation.
|
|
331
|
+
*/
|
|
332
|
+
|
|
333
|
+
/** Mask options for input elements */
|
|
334
|
+
type MaskInputOptions = Partial<{
|
|
335
|
+
color: boolean;
|
|
336
|
+
date: boolean;
|
|
337
|
+
"datetime-local": boolean;
|
|
338
|
+
email: boolean;
|
|
339
|
+
month: boolean;
|
|
340
|
+
number: boolean;
|
|
341
|
+
range: boolean;
|
|
342
|
+
search: boolean;
|
|
343
|
+
tel: boolean;
|
|
344
|
+
text: boolean;
|
|
345
|
+
time: boolean;
|
|
346
|
+
url: boolean;
|
|
347
|
+
week: boolean;
|
|
348
|
+
textarea: boolean;
|
|
349
|
+
select: boolean;
|
|
350
|
+
password: boolean;
|
|
351
|
+
}>;
|
|
352
|
+
/** Masking configuration */
|
|
353
|
+
interface MaskingConfig {
|
|
354
|
+
maskAllInputs?: boolean;
|
|
355
|
+
maskTextSelector?: string;
|
|
356
|
+
blockSelector?: string;
|
|
357
|
+
}
|
|
358
|
+
/** Session recording configuration */
|
|
359
|
+
interface SessionRecordingConfig {
|
|
360
|
+
/** Enable session recording */
|
|
361
|
+
enabled?: boolean;
|
|
362
|
+
/** Sample rate (0-1, where 1 = 100%) */
|
|
363
|
+
sampleRate?: number;
|
|
364
|
+
/** Minimum session duration in ms before sending */
|
|
365
|
+
minimumDurationMs?: number;
|
|
366
|
+
/** Session idle threshold in ms */
|
|
367
|
+
sessionIdleThresholdMs?: number;
|
|
368
|
+
/** Full snapshot interval in ms */
|
|
369
|
+
fullSnapshotIntervalMs?: number;
|
|
370
|
+
/** Enable console log capture */
|
|
371
|
+
captureConsole?: boolean;
|
|
372
|
+
/** Enable network request capture */
|
|
373
|
+
captureNetwork?: boolean;
|
|
374
|
+
/** Canvas recording settings */
|
|
375
|
+
captureCanvas?: {
|
|
376
|
+
recordCanvas?: boolean;
|
|
377
|
+
canvasFps?: number;
|
|
378
|
+
canvasQuality?: number;
|
|
379
|
+
};
|
|
380
|
+
/** Masking settings */
|
|
381
|
+
masking?: MaskingConfig;
|
|
382
|
+
/** Block class for elements to hide */
|
|
383
|
+
blockClass?: string;
|
|
384
|
+
/** Block selector for elements to hide */
|
|
385
|
+
blockSelector?: string;
|
|
386
|
+
/** Ignore class for input masking */
|
|
387
|
+
ignoreClass?: string;
|
|
388
|
+
/** Mask text class */
|
|
389
|
+
maskTextClass?: string;
|
|
390
|
+
/** Mask text selector */
|
|
391
|
+
maskTextSelector?: string;
|
|
392
|
+
/** Mask all inputs */
|
|
393
|
+
maskAllInputs?: boolean;
|
|
394
|
+
/** Mask input options */
|
|
395
|
+
maskInputOptions?: MaskInputOptions;
|
|
396
|
+
/** Record headers in network requests */
|
|
397
|
+
recordHeaders?: boolean;
|
|
398
|
+
/** Record body in network requests */
|
|
399
|
+
recordBody?: boolean;
|
|
400
|
+
/** Compress events before sending */
|
|
401
|
+
compressEvents?: boolean;
|
|
402
|
+
/** Internal: Mutation throttler refill rate */
|
|
403
|
+
__mutationThrottlerRefillRate?: number;
|
|
404
|
+
/** Internal: Mutation throttler bucket size */
|
|
405
|
+
__mutationThrottlerBucketSize?: number;
|
|
406
|
+
}
|
|
407
|
+
/** Recording start reason */
|
|
408
|
+
type SessionStartReason = "recording_initialized" | "session_id_changed" | "linked_flag_matched" | "linked_flag_overridden" | "sampling_overridden" | "url_trigger_matched" | "event_trigger_matched" | "sampled";
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Session Recording Wrapper
|
|
412
|
+
*
|
|
413
|
+
* Lightweight wrapper that handles the decision of WHEN to load recording.
|
|
414
|
+
* The actual recording logic is in LazyLoadedSessionRecording which is
|
|
415
|
+
* loaded on demand.
|
|
416
|
+
*
|
|
417
|
+
* Based on PostHog's sessionrecording-wrapper.ts
|
|
418
|
+
*/
|
|
419
|
+
|
|
420
|
+
/** Status when lazy loading is in progress */
|
|
421
|
+
declare const LAZY_LOADING: "lazy_loading";
|
|
422
|
+
/** Session recording status */
|
|
423
|
+
type SessionRecordingStatus = "disabled" | "buffering" | "active" | "paused" | "sampled" | "trigger_pending" | typeof LAZY_LOADING;
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* Session Recording Wrapper
|
|
427
|
+
*
|
|
428
|
+
* This is the lightweight class that lives in the main bundle.
|
|
429
|
+
* It handles:
|
|
430
|
+
* - Deciding if recording should be enabled
|
|
431
|
+
* - Lazy loading the actual recording code
|
|
432
|
+
* - Delegating to LazyLoadedSessionRecording
|
|
433
|
+
*/
|
|
434
|
+
declare class SessionRecordingWrapper {
|
|
435
|
+
private readonly _instance;
|
|
436
|
+
private _lazyLoadedRecording;
|
|
437
|
+
private _config;
|
|
438
|
+
constructor(_instance: VTilt, config?: SessionRecordingConfig);
|
|
439
|
+
get started(): boolean;
|
|
440
|
+
get status(): SessionRecordingStatus;
|
|
441
|
+
get sessionId(): string;
|
|
442
|
+
/**
|
|
443
|
+
* Start recording if enabled, otherwise stop
|
|
444
|
+
*/
|
|
445
|
+
startIfEnabledOrStop(startReason?: SessionStartReason): void;
|
|
446
|
+
/**
|
|
447
|
+
* Stop recording
|
|
448
|
+
*/
|
|
449
|
+
stopRecording(): void;
|
|
450
|
+
/**
|
|
451
|
+
* Log a message to the recording
|
|
452
|
+
*/
|
|
453
|
+
log(message: string, level?: "log" | "warn" | "error"): void;
|
|
454
|
+
/**
|
|
455
|
+
* Update configuration
|
|
456
|
+
*/
|
|
457
|
+
updateConfig(config: Partial<SessionRecordingConfig>): void;
|
|
458
|
+
private get _isRecordingEnabled();
|
|
459
|
+
private get _scriptName();
|
|
460
|
+
/**
|
|
461
|
+
* Lazy load the recording script and start
|
|
462
|
+
*/
|
|
463
|
+
private _lazyLoadAndStart;
|
|
464
|
+
/**
|
|
465
|
+
* Called after the recording script is loaded
|
|
466
|
+
*/
|
|
467
|
+
private _onScriptLoaded;
|
|
468
|
+
}
|
|
469
|
+
|
|
216
470
|
/**
|
|
217
471
|
* Request Queue - Event Batching (PostHog-style)
|
|
218
472
|
*
|
|
@@ -234,6 +488,7 @@ interface QueuedRequest {
|
|
|
234
488
|
}
|
|
235
489
|
|
|
236
490
|
declare class VTilt {
|
|
491
|
+
readonly version = "1.1.5";
|
|
237
492
|
private configManager;
|
|
238
493
|
private sessionManager;
|
|
239
494
|
private userManager;
|
|
@@ -242,6 +497,7 @@ declare class VTilt {
|
|
|
242
497
|
private retryQueue;
|
|
243
498
|
private rateLimiter;
|
|
244
499
|
historyAutocapture?: HistoryAutocapture;
|
|
500
|
+
sessionRecording?: SessionRecordingWrapper;
|
|
245
501
|
__loaded: boolean;
|
|
246
502
|
private _initial_pageview_captured;
|
|
247
503
|
private _visibility_state_listener;
|
|
@@ -468,10 +724,43 @@ declare class VTilt {
|
|
|
468
724
|
* Get current session ID
|
|
469
725
|
*/
|
|
470
726
|
getSessionId(): string | null;
|
|
727
|
+
/**
|
|
728
|
+
* Get current distinct ID
|
|
729
|
+
*/
|
|
730
|
+
getDistinctId(): string;
|
|
731
|
+
/**
|
|
732
|
+
* Get anonymous ID
|
|
733
|
+
*/
|
|
734
|
+
getAnonymousId(): string;
|
|
471
735
|
/**
|
|
472
736
|
* Update configuration
|
|
473
737
|
*/
|
|
474
738
|
updateConfig(config: Partial<VTiltConfig>): void;
|
|
739
|
+
/**
|
|
740
|
+
* Initialize session recording
|
|
741
|
+
*/
|
|
742
|
+
private _initSessionRecording;
|
|
743
|
+
/**
|
|
744
|
+
* Build session recording config from VTiltConfig
|
|
745
|
+
*/
|
|
746
|
+
private _buildSessionRecordingConfig;
|
|
747
|
+
/**
|
|
748
|
+
* Start session recording
|
|
749
|
+
* Call this to manually start recording if it wasn't enabled initially
|
|
750
|
+
*/
|
|
751
|
+
startSessionRecording(): void;
|
|
752
|
+
/**
|
|
753
|
+
* Stop session recording
|
|
754
|
+
*/
|
|
755
|
+
stopSessionRecording(): void;
|
|
756
|
+
/**
|
|
757
|
+
* Check if session recording is active
|
|
758
|
+
*/
|
|
759
|
+
isSessionRecordingActive(): boolean;
|
|
760
|
+
/**
|
|
761
|
+
* Get session recording ID
|
|
762
|
+
*/
|
|
763
|
+
getSessionRecordingId(): string | null;
|
|
475
764
|
/**
|
|
476
765
|
* _execute_array() deals with processing any vTilt function
|
|
477
766
|
* calls that were called before the vTilt library was loaded
|
|
@@ -493,5 +782,5 @@ declare class VTilt {
|
|
|
493
782
|
|
|
494
783
|
declare const vt: VTilt;
|
|
495
784
|
|
|
496
|
-
export { VTilt, vt as default, vt };
|
|
497
|
-
export type { AliasEvent, CaptureOptions, CaptureResult, EventPayload, FeatureFlagsConfig, GeolocationData, GroupsConfig, PersistenceMethod, Properties, Property, PropertyOperations, RemoteConfig, RequestOptions, SessionData, SessionIdChangedCallback, TrackingEvent, UserIdentity, UserProperties, VTiltConfig, WebVitalMetric };
|
|
785
|
+
export { ALL_WEB_VITALS_METRICS, DEFAULT_WEB_VITALS_METRICS, VTilt, vt as default, vt };
|
|
786
|
+
export type { AliasEvent, CaptureOptions, CapturePerformanceConfig, CaptureResult, EventPayload, FeatureFlagsConfig, GeolocationData, GroupsConfig, PersistenceMethod, Properties, Property, PropertyOperations, RemoteConfig, RequestOptions, SessionData, SessionIdChangedCallback, SessionRecordingMaskInputOptions, SessionRecordingOptions, SupportedWebVitalsMetric, TrackingEvent, UserIdentity, UserProperties, VTiltConfig, WebVitalMetric };
|