@cxpinsight/react-native 0.2.0 → 0.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +22 -0
  3. package/lib/CXPinsight.d.ts +24 -1
  4. package/lib/CXPinsight.d.ts.map +1 -1
  5. package/lib/CXPinsight.js +95 -5
  6. package/lib/CXPinsight.js.map +1 -1
  7. package/lib/core/consent.d.ts +21 -0
  8. package/lib/core/consent.d.ts.map +1 -0
  9. package/lib/core/consent.js +131 -0
  10. package/lib/core/consent.js.map +1 -0
  11. package/lib/core/eventQueue.d.ts.map +1 -1
  12. package/lib/core/eventQueue.js +7 -0
  13. package/lib/core/eventQueue.js.map +1 -1
  14. package/lib/core/mobileRecorder.d.ts +6 -0
  15. package/lib/core/mobileRecorder.d.ts.map +1 -1
  16. package/lib/core/mobileRecorder.js +54 -2
  17. package/lib/core/mobileRecorder.js.map +1 -1
  18. package/lib/core/networkCapture.d.ts +3 -0
  19. package/lib/core/networkCapture.d.ts.map +1 -1
  20. package/lib/core/networkCapture.js +40 -4
  21. package/lib/core/networkCapture.js.map +1 -1
  22. package/lib/setup/TouchPatcher.d.ts +1 -0
  23. package/lib/setup/TouchPatcher.d.ts.map +1 -1
  24. package/lib/setup/TouchPatcher.js +8 -2
  25. package/lib/setup/TouchPatcher.js.map +1 -1
  26. package/lib/survey/SurveyModal.d.ts.map +1 -1
  27. package/lib/survey/SurveyModal.js +7 -1
  28. package/lib/survey/SurveyModal.js.map +1 -1
  29. package/lib/survey/expressionEval.d.ts.map +1 -1
  30. package/lib/survey/expressionEval.js +7 -2
  31. package/lib/survey/expressionEval.js.map +1 -1
  32. package/lib/survey/questions/TextQuestion.d.ts +9 -1
  33. package/lib/survey/questions/TextQuestion.d.ts.map +1 -1
  34. package/lib/survey/questions/TextQuestion.js +15 -3
  35. package/lib/survey/questions/TextQuestion.js.map +1 -1
  36. package/lib/types.d.ts +2 -0
  37. package/lib/types.d.ts.map +1 -1
  38. package/lib/types.js +3 -0
  39. package/lib/types.js.map +1 -1
  40. package/package.json +2 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,69 @@
1
+ # Changelog
2
+
3
+ ## 0.3.0
4
+
5
+ ### Added
6
+ - **Consent API** — `optIn()`, `optOut()`, `consent(granted)` and `getConsent()`,
7
+ with a `requireConsent` init flag. Same names and semantics as the web SDK, so
8
+ an app on both channels wires up one concept. With `requireConsent` on, events
9
+ are *held* in the queue while a decision is pending rather than dropped, so a
10
+ visitor who accepts a banner a few seconds in keeps the opening of their
11
+ session. Declining clears the buffer and stops recording and network capture.
12
+ The decision persists across launches.
13
+ - `CHANGELOG.md`, shipped with the package.
14
+
15
+ ### Changed
16
+ - **Network capture scrubs identifiers out of request paths.** Stripping the
17
+ query string was never enough: REST paths carry identity directly, so
18
+ `/customers/user@example.com/orders` merely moved the personal data one
19
+ delimiter left. Email, numeric-id, UUID, ObjectId and opaque-token segments now
20
+ collapse to `:id`.
21
+
22
+ This changes the shape of captured `api_call` data: routes that previously
23
+ appeared as thousands of distinct literal paths now aggregate as one. That is
24
+ the intent — per-user paths were never useful analytics — but it is visible in
25
+ the dashboard, so it is a deliberate break rather than a silent one.
26
+ - Setup mode no longer writes to `console` outside debug builds.
27
+
28
+ ### Unchanged
29
+ - `requireConsent` defaults to `false`. An app that does not set it behaves
30
+ exactly as before, and a test asserts that.
31
+
32
+ ## 0.2.0
33
+
34
+ First published release.
35
+
36
+ ### Added
37
+ - Compiled CommonJS + type declarations. Previously `main` and `types` pointed at
38
+ `src/index.ts`, so the package shipped raw TypeScript: consumers' Metro had to
39
+ transform it out of `node_modules`, their Jest needed a
40
+ `transformIgnorePatterns` entry, and the package's own type errors landed in
41
+ their build output.
42
+ - README, LICENSE, and a stable deep-import path at
43
+ `@cxpinsight/react-native/instrumented/<Component>` for the Babel plugin and
44
+ Metro helper.
45
+
46
+ ### Fixed
47
+ - **`app_foregrounded` never fired.** `lifecycle` imported a
48
+ `refreshNetworkState` that was never exported, so every foreground threw an
49
+ uncaught `TypeError` inside the `AppState` handler, before the event was
50
+ emitted.
51
+ - **No dashboard setting reached the app.** The server SDK config was read one
52
+ level too shallow (`res.data` rather than `res.data.data`), so the recording
53
+ toggle, sample rate, session timeout and flush cadence all resolved to
54
+ `undefined`.
55
+ - **Offline flushing spun.** A failed batch was re-queued and immediately
56
+ retried while the queue was over threshold — a tight loop against a dead
57
+ network. Now full-jitter exponential backoff, 1s base to a 5 min ceiling.
58
+ - **The event backlog was unbounded.** `MAX_BATCH_SIZE` capped the request, not
59
+ the queue. Capped at 1000, oldest-first, with drops counted.
60
+ - Failed replay chunks vanished silently — `sdkFetch` resolves with
61
+ `{ success: false }` rather than throwing, so the surrounding `catch` was
62
+ unreachable and the result was never checked.
63
+ - A phantom `scanViewHierarchy` re-export (the real name is
64
+ `scanNativeViewHierarchy`).
65
+
66
+ ### Changed
67
+ - Event-queue and session writes are coalesced instead of one AsyncStorage write
68
+ per event and per interaction. Backgrounding persists unconditionally, which is
69
+ how a session normally ends.
package/README.md CHANGED
@@ -79,6 +79,24 @@ CXPinsight.identify({ id: user.id, email: user.email, name: user.name });
79
79
 
80
80
  Events recorded before `identify()` are re-attributed to the user automatically, so one visitor does not show up as two.
81
81
 
82
+ ### 5. Consent, if you show a banner
83
+
84
+ ```js
85
+ CXPinsight.init({ /* ... */ requireConsent: true });
86
+
87
+ // in your banner's handlers
88
+ CXPinsight.optIn(); // or CXPinsight.consent(true)
89
+ CXPinsight.optOut(); // or CXPinsight.consent(false)
90
+ ```
91
+
92
+ With `requireConsent` on, nothing leaves the device until the visitor accepts.
93
+ Events are *held* rather than dropped in the meantime, so someone who accepts a
94
+ few seconds in keeps the opening of their session. Declining clears what was
95
+ buffered and stops session recording and network capture. The decision persists,
96
+ so the banner is not shown again on the next launch.
97
+
98
+ Omit `requireConsent` and behaviour is unchanged — capture starts at `init()`.
99
+
82
100
  ## API
83
101
 
84
102
  | Method | Purpose |
@@ -91,6 +109,8 @@ Events recorded before `identify()` are re-attributed to the user automatically,
91
109
  | `showSurvey(surveyId)` | Present a survey immediately. |
92
110
  | `startRecording()` / `stopRecording()` | Session replay, for hosts that gate on their own consent UI. |
93
111
  | `enterSetupMode()` / `exitSetupMode()` | Visual element mapping — tap an element to make it trackable. |
112
+ | `optIn()` / `optOut()` / `consent(bool)` | Grant or revoke consent from your banner. |
113
+ | `getConsent()` | `'granted'`, `'denied'`, or `null` when undecided. |
94
114
  | `flush()` | Force-send queued events. |
95
115
  | `reset()` | Clear the stored identity, session and frequency caps. |
96
116
 
@@ -105,6 +125,7 @@ Events recorded before `identify()` are re-attributed to the user automatically,
105
125
  | `recordMaskInputs` | `true` | Never persist typed text. |
106
126
  | `captureScreen` | — | Screenshot provider; omit for a timeline-only replay. |
107
127
  | `captureNetwork` | `true` | Sanitised `api_call` events — method, host, path, status. Never bodies or headers. |
128
+ | `requireConsent` | `false` | Hold all capture until `optIn()`. |
108
129
  | `sessionTimeout` | 30 min | Inactivity before a new session starts. |
109
130
  | `flushInterval` / `flushThreshold` | 30 s / 10 | Event batching. |
110
131
  | `theme` | OS | `'light'` / `'dark'` if your app has its own toggle. |
@@ -119,6 +140,7 @@ Values omitted here are filled from the application's dashboard settings at star
119
140
  - Network capture records method, host, path, status and duration only. Query strings are stripped; request and response bodies and headers are never read.
120
141
  - The SDK's own backend calls are excluded from network capture.
121
142
  - Events are queued locally and persist across launches, so nothing is lost offline.
143
+ - With `requireConsent`, nothing is transmitted until the visitor accepts, and declining discards what was buffered.
122
144
 
123
145
  ## Requirements
124
146
 
@@ -1,4 +1,5 @@
1
1
  import type { CXPinsightConfig, CXPinsightCallbacks, UserIdentity, FunnelStepOptions, ExperimentOptions, ConversionOptions } from './types';
2
+ import { type ConsentState } from './core/consent';
2
3
  type SurveyPresenter = (surveyId: string) => void;
3
4
  type SetupPresenter = (show: boolean) => void;
4
5
  declare class CXPinsightSDK {
@@ -20,6 +21,9 @@ declare class CXPinsightSDK {
20
21
  private resumeEngagementClock;
21
22
  private getEngagementMs;
22
23
  private static errorHandlerInstalled;
24
+ private pending;
25
+ private static readonly MAX_PENDING;
26
+ private pendingDropped;
23
27
  /** Initialize the SDK. Call once at app startup. */
24
28
  init(config: CXPinsightConfig, callbacks?: CXPinsightCallbacks): Promise<void>;
25
29
  /**
@@ -32,6 +36,8 @@ declare class CXPinsightSDK {
32
36
  private applyServerSdkConfig;
33
37
  /** Roll the recording + engagement clock onto a freshly-started session. */
34
38
  private onSessionRollover;
39
+ /** Emit everything buffered before init() resolved, oldest first. */
40
+ private flushPending;
35
41
  /** Wire native signals → typed analytics events (shared taxonomy). */
36
42
  private startAutoEvents;
37
43
  /** Track a custom event */
@@ -41,7 +47,9 @@ declare class CXPinsightSDK {
41
47
  * gateway, or localhost on a physical device). Never throws or blocks init.
42
48
  */
43
49
  private verifyConnectivity;
44
- track(eventName: string, data?: Record<string, unknown>, eventType?: string, teeToRecording?: boolean): void;
50
+ track(eventName: string, data?: Record<string, unknown>, eventType?: string, teeToRecording?: boolean,
51
+ /** Internal: preserves the original time of a call buffered before init(). */
52
+ eventTimestamp?: string): void;
45
53
  /** Track a screen view (triggers remote page_view rules) */
46
54
  trackScreen(screenName: string, data?: Record<string, unknown>): void;
47
55
  /** Identify the current user */
@@ -73,6 +81,21 @@ declare class CXPinsightSDK {
73
81
  /** Stop mobile session recording and flush the final chunk. */
74
82
  stopRecording(): Promise<void>;
75
83
  /** Reset all SDK state (call on logout) */
84
+ /**
85
+ * Consent — the host drives these from its own banner. Same names and
86
+ * semantics as the web SDK's CXPinsight('optIn' | 'optOut' | 'consent').
87
+ *
88
+ * With requireConsent on, events accumulate in the queue while a decision is
89
+ * pending and are sent once granted, so accepting the banner a few seconds in
90
+ * keeps the opening of the session. Denial clears the buffer and stops capture.
91
+ */
92
+ optIn(): void;
93
+ optOut(): void;
94
+ consent(granted: boolean): void;
95
+ getConsent(): ConsentState;
96
+ isConsentRequired(): boolean;
97
+ /** Start or tear down capture when consent flips. */
98
+ private onConsentChange;
76
99
  reset(): Promise<void>;
77
100
  /** Manual flush for testing */
78
101
  flush(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"CXPinsight.d.ts","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CXPinsight.d.ts","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
package/lib/CXPinsight.js CHANGED
@@ -49,6 +49,7 @@ const interactionObserver_1 = require("./instrumented/interactionObserver");
49
49
  const lifecycle_1 = require("./core/lifecycle");
50
50
  const networkCapture_1 = require("./core/networkCapture");
51
51
  const scrollCapture_1 = require("./core/scrollCapture");
52
+ const consent_1 = require("./core/consent");
52
53
  // Canonical eventType per event name — keeps mobile events aligned with the shared
53
54
  // engagement taxonomy (docs/engagement-vocabulary-v1.md) instead of everything being
54
55
  // 'user_action'. Unknown names fall back to 'user_action'.
@@ -85,6 +86,18 @@ class CXPinsightSDK {
85
86
  this.engagementStartTs = 0;
86
87
  this.engagementAccumMs = 0;
87
88
  this.engagementActive = false;
89
+ // Calls made before init() resolves. init() awaits a network fetch and several
90
+ // AsyncStorage reads, so there is a real window — hundreds of milliseconds on a
91
+ // cold start — in which an app's own startup tracking is simply lost. These
92
+ // used to be dropped with a console warning; the web SDK has always buffered
93
+ // its pre-load calls through the CXPinsight.q command queue, and this is the
94
+ // mobile equivalent.
95
+ //
96
+ // The ORIGINAL timestamp is kept, so a replayed event lands where it actually
97
+ // happened rather than bunching at the end of init. Bounded, because an app
98
+ // that never calls init() must not grow this forever.
99
+ this.pending = [];
100
+ this.pendingDropped = 0;
88
101
  }
89
102
  startEngagementClock() { this.engagementStartTs = Date.now(); this.engagementAccumMs = 0; this.engagementActive = true; }
90
103
  pauseEngagementClock() { if (this.engagementActive) {
@@ -134,6 +147,9 @@ class CXPinsightSDK {
134
147
  const savedIdentity = await storage.get(types_1.STORAGE_KEYS.USER_IDENTITY);
135
148
  if (savedIdentity)
136
149
  this.userIdentity = savedIdentity;
150
+ // Restore any prior consent decision before a single capture path starts.
151
+ await (0, consent_1.initConsent)(config.requireConsent);
152
+ (0, consent_1.setConsentHandler)((granted) => { void this.onConsentChange(granted); });
137
153
  // Start session
138
154
  await (0, session_1.initSession)(config.sessionTimeout);
139
155
  // Start event queue
@@ -151,7 +167,7 @@ class CXPinsightSDK {
151
167
  // Start mobile session (timeline) recording when opted in via config. Hosts
152
168
  // that gate on their own consent UI should omit `record` and call
153
169
  // CXPinsight.startRecording() after consent instead.
154
- if (config.record) {
170
+ if (config.record && (0, consent_1.mayCapture)()) {
155
171
  recorder.startRecording({
156
172
  sessionId: (0, session_1.getSessionId)(),
157
173
  userId: this.userId,
@@ -196,6 +212,10 @@ class CXPinsightSDK {
196
212
  is_first_visit: isFirstVisit,
197
213
  }, 'navigation', false);
198
214
  }
215
+ // Replay anything the app tracked while init() was still resolving. After
216
+ // session_start, so the ordering a consumer sees matches what happened: the
217
+ // session begins, then the events that occurred during startup.
218
+ this.flushPending();
199
219
  // When an inactive session rolls over to a new one, start a fresh recording so a
200
220
  // session maps to one recording (prevents an ever-growing single recording).
201
221
  (0, session_1.setRolloverHandler)((newSessionId, prevSessionId) => {
@@ -281,6 +301,22 @@ class CXPinsightSDK {
281
301
  this.startEngagementClock(); // reset engagement time for the new session
282
302
  this.track('session_start', { sessionId: newSessionId }, 'navigation', false);
283
303
  }
304
+ /** Emit everything buffered before init() resolved, oldest first. */
305
+ flushPending() {
306
+ if (!this.pending.length && !this.pendingDropped)
307
+ return;
308
+ const held = this.pending;
309
+ this.pending = [];
310
+ this.log(`Replaying ${held.length} event(s) tracked before init completed`);
311
+ if (this.pendingDropped) {
312
+ console.warn(`[CXPinsight] ${this.pendingDropped} event(s) tracked before init() were dropped — ` +
313
+ `more than ${CXPinsightSDK.MAX_PENDING} arrived before initialization finished. ` +
314
+ `Call init() earlier in startup.`);
315
+ this.pendingDropped = 0;
316
+ }
317
+ for (const e of held)
318
+ this.track(e.name, e.data, e.type, e.tee, e.ts);
319
+ }
284
320
  /** Wire native signals → typed analytics events (shared taxonomy). */
285
321
  startAutoEvents() {
286
322
  // Scroll depth from the app's ORGANIC <ScrollView>s (and FlatList /
@@ -363,7 +399,7 @@ class CXPinsightSDK {
363
399
  });
364
400
  // Network capture → sanitized api_call events (method/host/path/status/duration).
365
401
  // On by default; set captureNetwork:false to disable.
366
- if (this.config?.captureNetwork !== false) {
402
+ if (this.config?.captureNetwork !== false && (0, consent_1.mayCapture)()) {
367
403
  this.log('Network capture enabled');
368
404
  (0, networkCapture_1.startNetworkCapture)(this.config.apiBase, (call) => {
369
405
  this.log('api_call captured:', call.method, call.path, call.status);
@@ -435,14 +471,22 @@ class CXPinsightSDK {
435
471
  console.warn(`[CXPinsight] Could not reach apiBase "${base}" (${msg}). It must be your CXPinsight gateway (usually :3000), reachable from the device — on a physical device use your machine's LAN IP, not localhost.`);
436
472
  }
437
473
  }
438
- track(eventName, data, eventType, teeToRecording = true) {
474
+ track(eventName, data, eventType, teeToRecording = true,
475
+ /** Internal: preserves the original time of a call buffered before init(). */
476
+ eventTimestamp) {
439
477
  if (!this.initialized || !this.config) {
440
- console.warn('[CXPinsight] track() called but SDK not initialized call ignored. Event:', eventName);
478
+ // Held, not dropped. Drained by flushPending() once init() completes.
479
+ if (this.pending.length < CXPinsightSDK.MAX_PENDING) {
480
+ this.pending.push({ name: eventName, data, type: eventType, tee: teeToRecording, ts: new Date().toISOString() });
481
+ }
482
+ else {
483
+ this.pendingDropped += 1;
484
+ }
441
485
  return;
442
486
  }
443
487
  (0, session_1.touchSession)();
444
488
  const device = (0, deviceInfo_1.getDeviceInfo)();
445
- const now = new Date().toISOString();
489
+ const now = eventTimestamp ?? new Date().toISOString();
446
490
  // Explicit type wins; otherwise derive from the shared taxonomy by name.
447
491
  const resolvedType = eventType || EVENT_TYPE_BY_NAME[eventName] || 'user_action';
448
492
  // Identified user traits (from identify()) to stamp on EVERY event — including the
@@ -729,6 +773,50 @@ class CXPinsightSDK {
729
773
  await recorder.stopRecording();
730
774
  }
731
775
  /** Reset all SDK state (call on logout) */
776
+ /**
777
+ * Consent — the host drives these from its own banner. Same names and
778
+ * semantics as the web SDK's CXPinsight('optIn' | 'optOut' | 'consent').
779
+ *
780
+ * With requireConsent on, events accumulate in the queue while a decision is
781
+ * pending and are sent once granted, so accepting the banner a few seconds in
782
+ * keeps the opening of the session. Denial clears the buffer and stops capture.
783
+ */
784
+ optIn() { (0, consent_1.grantConsent)(); }
785
+ optOut() { (0, consent_1.revokeConsent)(); }
786
+ consent(granted) { granted ? (0, consent_1.grantConsent)() : (0, consent_1.revokeConsent)(); }
787
+ getConsent() { return (0, consent_1.getConsent)(); }
788
+ isConsentRequired() { return (0, consent_1.consentRequired)(); }
789
+ /** Start or tear down capture when consent flips. */
790
+ async onConsentChange(granted) {
791
+ this.log('Consent', granted ? 'granted' : 'revoked');
792
+ if (granted) {
793
+ // Send whatever accumulated while the banner was up.
794
+ await (0, eventQueue_1.flush)();
795
+ if (this.config?.record) {
796
+ recorder.startRecording({
797
+ sessionId: (0, session_1.getSessionId)(),
798
+ userId: this.userId,
799
+ applicationId: this.config.applicationId,
800
+ sampleRate: this.config.recordingSampleRate,
801
+ maskInputs: this.config.recordMaskInputs,
802
+ captureScreen: this.config.captureScreen,
803
+ }).catch((err) => this.log('Failed to start recording after consent:', err));
804
+ }
805
+ if (this.config && this.config.captureNetwork !== false) {
806
+ (0, networkCapture_1.startNetworkCapture)(this.config.apiBase, (call) => {
807
+ this.track('api_call', {
808
+ method: call.method, host: call.host, path: call.path,
809
+ status: call.status, durationMs: call.durationMs, success: call.success,
810
+ }, 'api_call', false);
811
+ });
812
+ }
813
+ return;
814
+ }
815
+ // Revoked: stop capturing and discard what was buffered rather than sending it.
816
+ (0, networkCapture_1.stopNetworkCapture)();
817
+ await recorder.stopRecording();
818
+ await (0, eventQueue_1.clearQueue)();
819
+ }
732
820
  async reset() {
733
821
  this.log('Resetting SDK state');
734
822
  if (this.autoEventUnsub) {
@@ -747,6 +835,7 @@ class CXPinsightSDK {
747
835
  await (0, eventQueue_1.stopQueue)();
748
836
  await (0, session_1.destroySession)();
749
837
  await (0, frequencyCap_1.clearAllCaps)();
838
+ await (0, consent_1.clearConsent)();
750
839
  await (0, triggerEngine_1.clearTriggerState)();
751
840
  await (0, SetupController_1.clearSetupState)();
752
841
  await storage.multiRemove([
@@ -826,6 +915,7 @@ class CXPinsightSDK {
826
915
  }
827
916
  // The global JS error handler is installed once for the process lifetime.
828
917
  CXPinsightSDK.errorHandlerInstalled = false;
918
+ CXPinsightSDK.MAX_PENDING = 50;
829
919
  /** Singleton SDK instance */
830
920
  exports.CXPinsight = new CXPinsightSDK();
831
921
  //# sourceMappingURL=CXPinsight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CXPinsight.js","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CXPinsight.js","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type ConsentState = 'granted' | 'denied' | null;
2
+ /** Restore any prior decision. Call once during init, before capture starts. */
3
+ export declare function initConsent(requireConsent?: boolean): Promise<void>;
4
+ /** Notified when consent flips, so the SDK can start or stop capture. */
5
+ export declare function setConsentHandler(cb: ((granted: boolean) => void) | null): void;
6
+ /**
7
+ * Whether capture may run right now.
8
+ *
9
+ * An explicit denial always wins, even when requireConsent is off — a host that
10
+ * calls optOut() means it, regardless of how the SDK was configured.
11
+ */
12
+ export declare function mayCapture(): boolean;
13
+ /** True when events should be held rather than sent (awaiting a decision). */
14
+ export declare function isPending(): boolean;
15
+ export declare function consentRequired(): boolean;
16
+ export declare function getConsent(): ConsentState;
17
+ export declare function grantConsent(): void;
18
+ export declare function revokeConsent(): void;
19
+ /** Reset to "no decision yet" — used by CXPinsight.reset(). */
20
+ export declare function clearConsent(): Promise<void>;
21
+ //# sourceMappingURL=consent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAMvD,gFAAgF;AAChF,wBAAsB,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,UAAU,IAAI,YAAY,CAEzC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.initConsent = initConsent;
37
+ exports.setConsentHandler = setConsentHandler;
38
+ exports.mayCapture = mayCapture;
39
+ exports.isPending = isPending;
40
+ exports.consentRequired = consentRequired;
41
+ exports.getConsent = getConsent;
42
+ exports.grantConsent = grantConsent;
43
+ exports.revokeConsent = revokeConsent;
44
+ exports.clearConsent = clearConsent;
45
+ /**
46
+ * Consent gate — parity with the web SDK's optIn / optOut / consent commands.
47
+ *
48
+ * Mobile previously had no consent surface at all: tracking began the moment
49
+ * init() was called, and only session recording could be deferred. A customer
50
+ * with a consent banner had nothing to call short of not initialising the SDK,
51
+ * which also disabled surveys.
52
+ *
53
+ * Same names and same semantics as web (engagement.js "Consent gate"), so an app
54
+ * shipping on both channels wires up one concept, not two:
55
+ *
56
+ * CXPinsight.optIn() // grant
57
+ * CXPinsight.optOut() // revoke
58
+ * CXPinsight.consent(bool) // either, for a banner with one callback
59
+ *
60
+ * `requireConsent` is opt-in and defaults to false, so nothing changes for an
61
+ * app that does not set it. With it on, capture stays OFF until the host grants.
62
+ *
63
+ * One deliberate difference from web, in the stricter direction. Web's gate
64
+ * covers session recording and network capture but lets ordinary analytics
65
+ * events through. Here, requireConsent also holds ANALYTICS events — they are
66
+ * buffered in the event queue rather than dropped, so a visitor who accepts the
67
+ * banner a few seconds in keeps their whole session rather than losing its
68
+ * opening. Revoking clears that buffer instead of sending it.
69
+ */
70
+ const types_1 = require("../types");
71
+ const storage = __importStar(require("./storage"));
72
+ let required = false;
73
+ let state = null;
74
+ let onChange = null;
75
+ /** Restore any prior decision. Call once during init, before capture starts. */
76
+ async function initConsent(requireConsent) {
77
+ required = requireConsent === true;
78
+ const saved = await storage.get(types_1.STORAGE_KEYS.CONSENT);
79
+ state = saved === 'granted' || saved === 'denied' ? saved : null;
80
+ }
81
+ /** Notified when consent flips, so the SDK can start or stop capture. */
82
+ function setConsentHandler(cb) {
83
+ onChange = cb;
84
+ }
85
+ /**
86
+ * Whether capture may run right now.
87
+ *
88
+ * An explicit denial always wins, even when requireConsent is off — a host that
89
+ * calls optOut() means it, regardless of how the SDK was configured.
90
+ */
91
+ function mayCapture() {
92
+ if (state === 'denied')
93
+ return false;
94
+ return !required || state === 'granted';
95
+ }
96
+ /** True when events should be held rather than sent (awaiting a decision). */
97
+ function isPending() {
98
+ return required && state === null;
99
+ }
100
+ function consentRequired() {
101
+ return required;
102
+ }
103
+ function getConsent() {
104
+ return state;
105
+ }
106
+ function grantConsent() {
107
+ if (state === 'granted')
108
+ return;
109
+ state = 'granted';
110
+ void storage.set(types_1.STORAGE_KEYS.CONSENT, state);
111
+ try {
112
+ onChange?.(true);
113
+ }
114
+ catch { /* host callback must not break the gate */ }
115
+ }
116
+ function revokeConsent() {
117
+ if (state === 'denied')
118
+ return;
119
+ state = 'denied';
120
+ void storage.set(types_1.STORAGE_KEYS.CONSENT, state);
121
+ try {
122
+ onChange?.(false);
123
+ }
124
+ catch { /* best-effort */ }
125
+ }
126
+ /** Reset to "no decision yet" — used by CXPinsight.reset(). */
127
+ async function clearConsent() {
128
+ state = null;
129
+ await storage.remove(types_1.STORAGE_KEYS.CONSENT);
130
+ }
131
+ //# sourceMappingURL=consent.js.map