swetrix 4.2.0 → 4.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.
@@ -1,9 +1,27 @@
1
1
  import { isInBrowser, isLocalhost, isAutomated, getLocale, getTimezone, getReferrer, getQueryString, getUTMCampaign, getUTMMedium, getUTMSource, getUTMTerm, getUTMContent, getPath, } from './utils.js';
2
+ const SESSION_REPLAY_PRIVACY_VALUES = ['total', 'normal', 'none'];
2
3
  export const defaultActions = {
3
4
  stop() { },
4
5
  };
6
+ export const defaultSessionReplayActions = {
7
+ async stop() { },
8
+ async flush() { },
9
+ };
5
10
  const DEFAULT_API_HOST = 'https://api.swetrix.com/log';
6
11
  const DEFAULT_API_BASE = 'https://api.swetrix.com';
12
+ const DEFAULT_RRWEB_FILE = 'replaylibrary.min.js';
13
+ const DEFAULT_RRWEB_URL = `https://cdn.jsdelivr.net/npm/swetrix@latest/dist/${DEFAULT_RRWEB_FILE}`;
14
+ const DEFAULT_SESSION_REPLAY_FLUSH_INTERVAL = 5000;
15
+ const DEFAULT_SESSION_REPLAY_MAX_EVENTS = 100;
16
+ const DEFAULT_SESSION_REPLAY_PRIVACY = 'total';
17
+ const SESSION_REPLAY_ACTIVITY_EVENTS = [
18
+ 'click',
19
+ 'keydown',
20
+ 'mousedown',
21
+ 'mousemove',
22
+ 'scroll',
23
+ 'touchstart',
24
+ ];
7
25
  // Default cache duration: 5 minutes
8
26
  const DEFAULT_CACHE_DURATION = 5 * 60 * 1000;
9
27
  export class Lib {
@@ -17,9 +35,15 @@ export class Lib {
17
35
  this.activePage = null;
18
36
  this.errorListenerExists = false;
19
37
  this.cachedData = null;
38
+ this.rrwebLoader = null;
39
+ this.sessionReplayActions = null;
40
+ this.sessionReplayInitPromise = null;
20
41
  this.trackPathChange = this.trackPathChange.bind(this);
21
42
  this.heartbeat = this.heartbeat.bind(this);
22
43
  this.captureError = this.captureError.bind(this);
44
+ if (this.getSessionReplayPreloadOption()) {
45
+ void this.preloadSessionReplay().catch(() => undefined);
46
+ }
23
47
  }
24
48
  captureError(event) {
25
49
  if (typeof this.errorsOptions?.sampleRate === 'number' && this.errorsOptions.sampleRate >= Math.random()) {
@@ -163,10 +187,10 @@ export class Lib {
163
187
  };
164
188
  }
165
189
  /**
166
- * Fetches all feature flags and experiments for the project.
167
- * Results are cached for 5 minutes by default.
190
+ * Fetches all feature flags for the project.
191
+ * Results are cached for 5 minutes by default and share a cache with experiments.
168
192
  *
169
- * @param options - Options for evaluating feature flags.
193
+ * @param options - Options for evaluating feature flags (`profileId` only).
170
194
  * @param forceRefresh - If true, bypasses the cache and fetches fresh data.
171
195
  * @returns A promise that resolves to a record of flag keys to boolean values.
172
196
  */
@@ -231,8 +255,8 @@ export class Lib {
231
255
  * Gets the value of a single feature flag.
232
256
  *
233
257
  * @param key - The feature flag key.
234
- * @param options - Options for evaluating the feature flag.
235
- * @param defaultValue - Default value to return if the flag is not found. Defaults to false.
258
+ * @param options - Options for evaluating the feature flag (`profileId` only).
259
+ * @param defaultValue - Optional default value to return if the flag is not found. Defaults to false.
236
260
  * @returns A promise that resolves to the boolean value of the flag.
237
261
  */
238
262
  async getFeatureFlag(key, options, defaultValue = false) {
@@ -246,16 +270,16 @@ export class Lib {
246
270
  this.cachedData = null;
247
271
  }
248
272
  /**
249
- * Fetches all A/B test experiments for the project.
273
+ * Fetches variant assignments for running A/B test experiments returned by feature flag evaluation.
250
274
  * Results are cached for 5 minutes by default (shared cache with feature flags).
251
275
  *
252
- * @param options - Options for evaluating experiments.
276
+ * @param options - Options for evaluating experiments (`profileId` only).
253
277
  * @param forceRefresh - If true, bypasses the cache and fetches fresh data.
254
278
  * @returns A promise that resolves to a record of experiment IDs to variant keys.
255
279
  *
256
280
  * @example
257
281
  * ```typescript
258
- * const experiments = await getExperiments()
282
+ * const experiments = await getExperiments({ profileId: 'user-123' })
259
283
  * // experiments = { 'exp-123': 'variant-a', 'exp-456': 'control' }
260
284
  * ```
261
285
  */
@@ -285,13 +309,16 @@ export class Lib {
285
309
  * Gets the variant key for a specific A/B test experiment.
286
310
  *
287
311
  * @param experimentId - The experiment ID.
288
- * @param options - Options for evaluating the experiment.
289
- * @param defaultVariant - Default variant key to return if the experiment is not found. Defaults to null.
312
+ * @param options - Options for evaluating the experiment (`profileId` only).
313
+ * @param defaultVariant - Optional default variant key to return if the experiment is not found. Defaults to null.
290
314
  * @returns A promise that resolves to the variant key assigned to this user, or defaultVariant if not found.
291
315
  *
292
316
  * @example
293
317
  * ```typescript
294
- * const variant = await getExperiment('checkout-redesign')
318
+ * const variant = await getExperiment('checkout-redesign', { profileId: 'user-123' })
319
+ *
320
+ * // Optional fallback variant:
321
+ * const variantWithFallback = await getExperiment('checkout-redesign', undefined, 'control')
295
322
  *
296
323
  * if (variant === 'new-checkout') {
297
324
  * // Show new checkout flow
@@ -405,6 +432,166 @@ export class Lib {
405
432
  return null;
406
433
  }
407
434
  }
435
+ async startSessionReplay(options = {}) {
436
+ if (this.sessionReplayActions) {
437
+ return this.sessionReplayActions;
438
+ }
439
+ if (this.sessionReplayInitPromise) {
440
+ return this.sessionReplayInitPromise;
441
+ }
442
+ const initPromise = this.initialiseSessionReplay(options);
443
+ this.sessionReplayInitPromise = initPromise;
444
+ try {
445
+ return await initPromise;
446
+ }
447
+ finally {
448
+ if (this.sessionReplayInitPromise === initPromise) {
449
+ this.sessionReplayInitPromise = null;
450
+ }
451
+ }
452
+ }
453
+ async initialiseSessionReplay(options) {
454
+ if (this.sessionReplayActions) {
455
+ return this.sessionReplayActions;
456
+ }
457
+ if (!this.canTrack()) {
458
+ return defaultSessionReplayActions;
459
+ }
460
+ if (!this.shouldSampleSessionReplay(options.sampleRate)) {
461
+ return defaultSessionReplayActions;
462
+ }
463
+ try {
464
+ await this.preloadSessionReplay();
465
+ }
466
+ catch {
467
+ return defaultSessionReplayActions;
468
+ }
469
+ const rrweb = window.rrweb;
470
+ if (!rrweb?.record) {
471
+ return defaultSessionReplayActions;
472
+ }
473
+ const privacy = this.getSessionReplayPrivacy(options.privacy);
474
+ const replayId = this.createReplayId();
475
+ const started = await this.sendSessionReplayStart(replayId, privacy);
476
+ if (!started) {
477
+ return defaultSessionReplayActions;
478
+ }
479
+ const flushIntervalMs = typeof options.flushIntervalMs === 'number' && options.flushIntervalMs > 0
480
+ ? options.flushIntervalMs
481
+ : DEFAULT_SESSION_REPLAY_FLUSH_INTERVAL;
482
+ const maxEventsPerChunk = typeof options.maxEventsPerChunk === 'number' &&
483
+ options.maxEventsPerChunk > 0
484
+ ? Math.floor(options.maxEventsPerChunk)
485
+ : DEFAULT_SESSION_REPLAY_MAX_EVENTS;
486
+ const maxDurationMs = typeof options.maxDurationMs === 'number' && options.maxDurationMs > 0
487
+ ? options.maxDurationMs
488
+ : null;
489
+ const idleTimeoutMs = typeof options.idleTimeoutMs === 'number' && options.idleTimeoutMs > 0
490
+ ? options.idleTimeoutMs
491
+ : null;
492
+ let chunkIndex = 0;
493
+ let stopped = false;
494
+ let events = [];
495
+ let flushing = Promise.resolve();
496
+ let maxDurationTimer;
497
+ let idleTimer;
498
+ const flush = async (useBeacon = false) => {
499
+ if (!events.length)
500
+ return;
501
+ const chunk = events;
502
+ events = [];
503
+ const currentChunkIndex = chunkIndex++;
504
+ flushing = flushing
505
+ .catch(() => undefined)
506
+ .then(() => this.sendSessionReplayChunk(replayId, privacy, currentChunkIndex, chunk, useBeacon));
507
+ await flushing;
508
+ };
509
+ const userEmit = options.rrweb?.emit;
510
+ const recordOptions = this.getSessionReplayRecordOptions(privacy, options.rrweb, (event) => {
511
+ try {
512
+ userEmit?.(event);
513
+ }
514
+ catch { }
515
+ events.push(event);
516
+ if (events.length >= maxEventsPerChunk) {
517
+ void flush();
518
+ }
519
+ });
520
+ const stopRecording = rrweb.record(recordOptions);
521
+ const timer = setInterval(() => void flush(), flushIntervalMs);
522
+ const flushOnPageExit = () => void flush(true);
523
+ const flushOnHidden = () => {
524
+ if (document.visibilityState === 'hidden') {
525
+ void flush(true);
526
+ }
527
+ };
528
+ const clearIdleTimer = () => {
529
+ if (idleTimer) {
530
+ clearTimeout(idleTimer);
531
+ idleTimer = undefined;
532
+ }
533
+ };
534
+ const stopSessionReplay = async () => {
535
+ if (stopped)
536
+ return;
537
+ stopped = true;
538
+ clearInterval(timer);
539
+ if (maxDurationTimer) {
540
+ clearTimeout(maxDurationTimer);
541
+ }
542
+ clearIdleTimer();
543
+ window.removeEventListener('pagehide', flushOnPageExit);
544
+ document.removeEventListener('visibilitychange', flushOnHidden);
545
+ SESSION_REPLAY_ACTIVITY_EVENTS.forEach((eventName) => {
546
+ window.removeEventListener(eventName, resetIdleTimer);
547
+ });
548
+ stopRecording?.();
549
+ await flush();
550
+ this.sessionReplayActions = null;
551
+ this.sessionReplayInitPromise = null;
552
+ };
553
+ const resetIdleTimer = () => {
554
+ if (!idleTimeoutMs || stopped)
555
+ return;
556
+ clearIdleTimer();
557
+ idleTimer = setTimeout(() => void stopSessionReplay(), idleTimeoutMs);
558
+ };
559
+ window.addEventListener('pagehide', flushOnPageExit);
560
+ document.addEventListener('visibilitychange', flushOnHidden);
561
+ if (maxDurationMs) {
562
+ maxDurationTimer = setTimeout(() => void stopSessionReplay(), maxDurationMs);
563
+ }
564
+ if (idleTimeoutMs) {
565
+ SESSION_REPLAY_ACTIVITY_EVENTS.forEach((eventName) => {
566
+ window.addEventListener(eventName, resetIdleTimer, { passive: true });
567
+ });
568
+ resetIdleTimer();
569
+ }
570
+ this.sessionReplayActions = {
571
+ stop: stopSessionReplay,
572
+ flush: async () => {
573
+ await flush();
574
+ },
575
+ };
576
+ return this.sessionReplayActions;
577
+ }
578
+ shouldSampleSessionReplay(sampleRate) {
579
+ if (typeof sampleRate !== 'number') {
580
+ return true;
581
+ }
582
+ if (sampleRate <= 0) {
583
+ return false;
584
+ }
585
+ if (sampleRate >= 1) {
586
+ return true;
587
+ }
588
+ return Math.random() < sampleRate;
589
+ }
590
+ getSessionReplayPrivacy(privacy) {
591
+ return SESSION_REPLAY_PRIVACY_VALUES.includes(privacy)
592
+ ? privacy
593
+ : DEFAULT_SESSION_REPLAY_PRIVACY;
594
+ }
408
595
  /**
409
596
  * Gets the API base URL (without /log suffix).
410
597
  */
@@ -489,6 +676,222 @@ export class Lib {
489
676
  }
490
677
  return true;
491
678
  }
679
+ getSessionReplayUrl() {
680
+ const replayOption = this.getSessionReplayPreloadOption();
681
+ if (replayOption &&
682
+ typeof replayOption === 'object' &&
683
+ replayOption.rrwebUrl) {
684
+ return replayOption.rrwebUrl;
685
+ }
686
+ return this.getDefaultSessionReplayUrl();
687
+ }
688
+ getSessionReplayPreloadOption() {
689
+ return this.options?.preloadSessionReplay;
690
+ }
691
+ getDefaultSessionReplayUrl() {
692
+ if (!isInBrowser()) {
693
+ return DEFAULT_RRWEB_URL;
694
+ }
695
+ const trackerScript = this.getTrackerScript();
696
+ if (trackerScript?.src) {
697
+ const { hostname, pathname } = new URL(trackerScript.src);
698
+ if (hostname === 'swetrix.org' &&
699
+ /^\/swetrix(\.min)?\.js$/i.test(pathname)) {
700
+ return DEFAULT_RRWEB_URL;
701
+ }
702
+ return new URL(DEFAULT_RRWEB_FILE, trackerScript.src).toString();
703
+ }
704
+ return DEFAULT_RRWEB_URL;
705
+ }
706
+ getTrackerScript() {
707
+ const trackerScript = Array.from(document.scripts).find((script) => {
708
+ if (!script.src) {
709
+ return false;
710
+ }
711
+ try {
712
+ const { pathname } = new URL(script.src);
713
+ return /(^|\/)swetrix(\.min)?\.js$/i.test(pathname);
714
+ }
715
+ catch {
716
+ return false;
717
+ }
718
+ });
719
+ return trackerScript;
720
+ }
721
+ preloadSessionReplay() {
722
+ if (!isInBrowser()) {
723
+ return Promise.resolve();
724
+ }
725
+ if (window.rrweb?.record) {
726
+ return Promise.resolve();
727
+ }
728
+ if (this.rrwebLoader) {
729
+ return this.rrwebLoader;
730
+ }
731
+ if (window.__SWETRIX_RRWEB_LOADING__) {
732
+ this.rrwebLoader = window.__SWETRIX_RRWEB_LOADING__;
733
+ void this.rrwebLoader.catch(() => {
734
+ if (window.__SWETRIX_RRWEB_LOADING__ === this.rrwebLoader) {
735
+ delete window.__SWETRIX_RRWEB_LOADING__;
736
+ }
737
+ this.rrwebLoader = null;
738
+ });
739
+ return this.rrwebLoader;
740
+ }
741
+ this.rrwebLoader = this.loadSessionReplayRecorder();
742
+ window.__SWETRIX_RRWEB_LOADING__ = this.rrwebLoader;
743
+ const loader = this.rrwebLoader;
744
+ void loader.catch(() => {
745
+ if (window.__SWETRIX_RRWEB_LOADING__ === loader) {
746
+ delete window.__SWETRIX_RRWEB_LOADING__;
747
+ }
748
+ if (this.rrwebLoader === loader) {
749
+ this.rrwebLoader = null;
750
+ }
751
+ });
752
+ return this.rrwebLoader;
753
+ }
754
+ async loadSessionReplayRecorder() {
755
+ const replayOption = this.getSessionReplayPreloadOption();
756
+ const hasCustomReplayUrl = replayOption && typeof replayOption === 'object' && replayOption.rrwebUrl;
757
+ if (hasCustomReplayUrl || this.getTrackerScript()) {
758
+ await this.loadSessionReplayScript(this.getSessionReplayUrl());
759
+ return;
760
+ }
761
+ if (await this.loadSessionReplayPackage()) {
762
+ return;
763
+ }
764
+ await this.loadSessionReplayScript(this.getDefaultSessionReplayUrl());
765
+ }
766
+ async loadSessionReplayPackage() {
767
+ try {
768
+ const rrwebModule = (await import('rrweb'));
769
+ const rrweb = rrwebModule.record ? rrwebModule : rrwebModule.default;
770
+ if (!rrweb?.record) {
771
+ return false;
772
+ }
773
+ window.rrweb = rrweb;
774
+ return true;
775
+ }
776
+ catch {
777
+ return false;
778
+ }
779
+ }
780
+ loadSessionReplayScript(url) {
781
+ return new Promise((resolve, reject) => {
782
+ const script = document.createElement('script');
783
+ script.async = true;
784
+ script.src = url;
785
+ script.crossOrigin = 'anonymous';
786
+ script.onload = () => resolve();
787
+ script.onerror = () => reject(new Error('Failed to load rrweb'));
788
+ document.head.appendChild(script);
789
+ });
790
+ }
791
+ getSessionReplayRecordOptions(privacy, userOptions, emit) {
792
+ const options = {
793
+ ...userOptions,
794
+ emit,
795
+ };
796
+ const maskInputOptions = typeof options.maskInputOptions === 'object' &&
797
+ options.maskInputOptions !== null
798
+ ? options.maskInputOptions
799
+ : {};
800
+ const resolvedPrivacy = this.getSessionReplayPrivacy(privacy);
801
+ if (resolvedPrivacy === 'total') {
802
+ return {
803
+ ...options,
804
+ maskAllInputs: true,
805
+ maskTextSelector: '*',
806
+ blockSelector: this.mergeSelectors(options.blockSelector, 'img, picture, video, audio, canvas, svg'),
807
+ recordCanvas: false,
808
+ inlineImages: false,
809
+ emit,
810
+ };
811
+ }
812
+ if (resolvedPrivacy === 'normal') {
813
+ return {
814
+ ...options,
815
+ maskAllInputs: true,
816
+ emit,
817
+ };
818
+ }
819
+ return {
820
+ ...options,
821
+ maskInputOptions: {
822
+ ...maskInputOptions,
823
+ password: true,
824
+ },
825
+ emit,
826
+ };
827
+ }
828
+ mergeSelectors(existing, required) {
829
+ if (typeof existing === 'string' && existing.trim()) {
830
+ return `${existing}, ${required}`;
831
+ }
832
+ return required;
833
+ }
834
+ createReplayId() {
835
+ if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
836
+ return crypto.randomUUID();
837
+ }
838
+ return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
839
+ }
840
+ async sendSessionReplayStart(replayId, privacy) {
841
+ try {
842
+ const apiBase = this.getApiBase();
843
+ const response = await fetch(`${apiBase}/log/session-replay/start`, {
844
+ method: 'POST',
845
+ headers: {
846
+ 'Content-Type': 'application/json',
847
+ },
848
+ body: JSON.stringify({
849
+ pid: this.projectID,
850
+ replayId,
851
+ privacy,
852
+ pg: this.activePage ||
853
+ getPath({
854
+ hash: this.pageViewsOptions?.hash,
855
+ search: this.pageViewsOptions?.search,
856
+ }),
857
+ lc: getLocale(),
858
+ tz: getTimezone(),
859
+ profileId: this.options?.profileId,
860
+ }),
861
+ });
862
+ return response.ok;
863
+ }
864
+ catch {
865
+ return false;
866
+ }
867
+ }
868
+ async sendSessionReplayChunk(replayId, privacy, chunkIndex, events, useBeacon) {
869
+ const apiBase = this.getApiBase();
870
+ const url = `${apiBase}/log/session-replay/chunk`;
871
+ const payload = JSON.stringify({
872
+ pid: this.projectID,
873
+ replayId,
874
+ privacy,
875
+ chunkIndex,
876
+ events,
877
+ });
878
+ if (useBeacon && typeof navigator.sendBeacon === 'function') {
879
+ const sent = navigator.sendBeacon(url, new Blob([payload], { type: 'application/json' }));
880
+ if (sent)
881
+ return;
882
+ }
883
+ try {
884
+ await fetch(url, {
885
+ method: 'POST',
886
+ headers: {
887
+ 'Content-Type': 'application/json',
888
+ },
889
+ keepalive: useBeacon,
890
+ body: payload,
891
+ });
892
+ }
893
+ catch { }
894
+ }
492
895
  async sendRequest(path, body) {
493
896
  const host = this.options?.apiURL || DEFAULT_API_HOST;
494
897
  await fetch(`${host}/${path}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"Lib.js","sourceRoot":"","sources":["../../src/Lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lib.js","sourceRoot":"","sources":["../../src/Lib.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Lib, LibOptions, TrackEventOptions, PageViewsOptions, ErrorOptions, PageActions, ErrorActions, IErrorEventPayload, IPageViewPayload, FeatureFlagsOptions, ExperimentOptions } from './Lib.js';
1
+ import { Lib, LibOptions, TrackEventOptions, PageViewsOptions, ErrorOptions, PageActions, ErrorActions, IErrorEventPayload, IPageViewPayload, FeatureFlagsOptions, ExperimentOptions, SessionReplayOptions, SessionReplayActions } from './Lib.js';
2
2
  export declare let LIB_INSTANCE: Lib | null;
3
3
  /**
4
4
  * Initialise the tracking library instance (other methods won't work if the library is not initialised).
@@ -30,6 +30,7 @@ export declare function trackViews(options?: PageViewsOptions): Promise<PageActi
30
30
  * @returns {ErrorActions} The actions related to the tracking. Used to stop tracking errors.
31
31
  */
32
32
  export declare function trackErrors(options?: ErrorOptions): ErrorActions;
33
+ export declare function startSessionReplay(options?: SessionReplayOptions): Promise<SessionReplayActions>;
33
34
  /**
34
35
  * This function is used to manually track an error event.
35
36
  * It's useful if you want to track specific errors in your application.
@@ -56,17 +57,16 @@ export interface IPageviewOptions {
56
57
  export declare function pageview(options: IPageviewOptions): void;
57
58
  /**
58
59
  * Fetches all feature flags for the project.
59
- * Results are cached for 5 minutes by default.
60
+ * Results are cached for 5 minutes by default and share a cache with experiments.
60
61
  *
61
- * @param options - Options for evaluating feature flags (visitorId, attributes).
62
+ * @param options - Options for evaluating feature flags (`profileId` only).
62
63
  * @param forceRefresh - If true, bypasses the cache and fetches fresh flags.
63
64
  * @returns A promise that resolves to a record of flag keys to boolean values.
64
65
  *
65
66
  * @example
66
67
  * ```typescript
67
68
  * const flags = await getFeatureFlags({
68
- * visitorId: 'user-123',
69
- * attributes: { cc: 'US', dv: 'desktop' }
69
+ * profileId: 'user-123'
70
70
  * })
71
71
  *
72
72
  * if (flags['new-checkout']) {
@@ -79,13 +79,13 @@ export declare function getFeatureFlags(options?: FeatureFlagsOptions, forceRefr
79
79
  * Gets the value of a single feature flag.
80
80
  *
81
81
  * @param key - The feature flag key.
82
- * @param options - Options for evaluating the feature flag (visitorId, attributes).
83
- * @param defaultValue - Default value to return if the flag is not found. Defaults to false.
82
+ * @param options - Options for evaluating the feature flag (`profileId` only).
83
+ * @param defaultValue - Optional default value to return if the flag is not found. Defaults to false.
84
84
  * @returns A promise that resolves to the boolean value of the flag.
85
85
  *
86
86
  * @example
87
87
  * ```typescript
88
- * const isEnabled = await getFeatureFlag('dark-mode', { visitorId: 'user-123' })
88
+ * const isEnabled = await getFeatureFlag('dark-mode', { profileId: 'user-123' })
89
89
  *
90
90
  * if (isEnabled) {
91
91
  * // Enable dark mode
@@ -94,15 +94,15 @@ export declare function getFeatureFlags(options?: FeatureFlagsOptions, forceRefr
94
94
  */
95
95
  export declare function getFeatureFlag(key: string, options?: FeatureFlagsOptions, defaultValue?: boolean): Promise<boolean>;
96
96
  /**
97
- * Clears the cached feature flags, forcing a fresh fetch on the next call.
98
- * Useful when you know the user's context has changed significantly.
97
+ * Clears the cached feature flags and experiments, forcing a fresh fetch on the next call.
98
+ * Useful when you know the user's profile has changed.
99
99
  */
100
100
  export declare function clearFeatureFlagsCache(): void;
101
101
  /**
102
- * Fetches all A/B test experiments for the project.
102
+ * Fetches variant assignments for running A/B test experiments returned by feature flag evaluation.
103
103
  * Results are cached for 5 minutes by default (shared cache with feature flags).
104
104
  *
105
- * @param options - Options for evaluating experiments.
105
+ * @param options - Options for evaluating experiments (`profileId` only).
106
106
  * @param forceRefresh - If true, bypasses the cache and fetches fresh data.
107
107
  * @returns A promise that resolves to a record of experiment IDs to variant keys.
108
108
  *
@@ -125,13 +125,16 @@ export declare function getExperiments(options?: ExperimentOptions, forceRefresh
125
125
  * Gets the variant key for a specific A/B test experiment.
126
126
  *
127
127
  * @param experimentId - The experiment ID.
128
- * @param options - Options for evaluating the experiment.
129
- * @param defaultVariant - Default variant key to return if the experiment is not found. Defaults to null.
128
+ * @param options - Options for evaluating the experiment (`profileId` only).
129
+ * @param defaultVariant - Optional default variant key to return if the experiment is not found. Defaults to null.
130
130
  * @returns A promise that resolves to the variant key assigned to this user, or defaultVariant if not found.
131
131
  *
132
132
  * @example
133
133
  * ```typescript
134
- * const variant = await getExperiment('checkout-redesign-experiment-id')
134
+ * const variant = await getExperiment('checkout-redesign-experiment-id', { profileId: 'user-123' })
135
+ *
136
+ * // Optional fallback variant:
137
+ * const variantWithFallback = await getExperiment('checkout-redesign-experiment-id', undefined, 'control')
135
138
  *
136
139
  * if (variant === 'new-checkout') {
137
140
  * // Show new checkout flow