@cxpinsight/react-native 0.18.1 → 0.18.3

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 (43) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/lib/CXPinsight.d.ts +14 -0
  3. package/lib/CXPinsight.d.ts.map +1 -1
  4. package/lib/CXPinsight.js +168 -25
  5. package/lib/CXPinsight.js.map +1 -1
  6. package/lib/CXPinsightProvider.d.ts.map +1 -1
  7. package/lib/CXPinsightProvider.js +17 -2
  8. package/lib/CXPinsightProvider.js.map +1 -1
  9. package/lib/core/captureLedger.d.ts +75 -0
  10. package/lib/core/captureLedger.d.ts.map +1 -0
  11. package/lib/core/captureLedger.js +74 -0
  12. package/lib/core/captureLedger.js.map +1 -0
  13. package/lib/core/captureStatus.d.ts +197 -0
  14. package/lib/core/captureStatus.d.ts.map +1 -0
  15. package/lib/core/captureStatus.js +168 -0
  16. package/lib/core/captureStatus.js.map +1 -0
  17. package/lib/core/consent.d.ts +2 -0
  18. package/lib/core/consent.d.ts.map +1 -1
  19. package/lib/core/consent.js +6 -0
  20. package/lib/core/consent.js.map +1 -1
  21. package/lib/core/eventQueue.d.ts +11 -0
  22. package/lib/core/eventQueue.d.ts.map +1 -1
  23. package/lib/core/eventQueue.js +30 -0
  24. package/lib/core/eventQueue.js.map +1 -1
  25. package/lib/core/mobileRecorder.d.ts +2 -0
  26. package/lib/core/mobileRecorder.d.ts.map +1 -1
  27. package/lib/core/mobileRecorder.js +21 -3
  28. package/lib/core/mobileRecorder.js.map +1 -1
  29. package/lib/core/networkCapture.d.ts +8 -0
  30. package/lib/core/networkCapture.d.ts.map +1 -1
  31. package/lib/core/networkCapture.js +19 -0
  32. package/lib/core/networkCapture.js.map +1 -1
  33. package/lib/core/triggerEngine.d.ts +1 -1
  34. package/lib/core/triggerEngine.d.ts.map +1 -1
  35. package/lib/core/triggerEngine.js +7 -0
  36. package/lib/core/triggerEngine.js.map +1 -1
  37. package/lib/instrumented/interactionObserver.d.ts +2 -0
  38. package/lib/instrumented/interactionObserver.d.ts.map +1 -1
  39. package/lib/instrumented/interactionObserver.js +55 -5
  40. package/lib/instrumented/interactionObserver.js.map +1 -1
  41. package/lib/version.d.ts +1 -1
  42. package/lib/version.js +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NOT_REPORTED = exports.EVENTS = exports.CATEGORY_OF = void 0;
4
+ exports.eventKeyOf = eventKeyOf;
5
+ exports.gateFor = gateFor;
6
+ exports.eventStatus = eventStatus;
7
+ exports.deliveryStatus = deliveryStatus;
8
+ exports.CATEGORY_OF = {
9
+ events: 'analytics',
10
+ recordings: 'recording',
11
+ networkEvents: 'network',
12
+ interactions: 'surveys',
13
+ };
14
+ /**
15
+ * Every event the SDK can emit, the capture switches it needs, and the hook
16
+ * that produces it. `custom` is the app's own track() calls. `recording` and
17
+ * `screenshots` are not events but are reported the same way.
18
+ */
19
+ exports.EVENTS = {
20
+ session_start: { gates: ['events'], hook: 'session' },
21
+ first_visit: { gates: ['events'], hook: 'session' },
22
+ app_opened: { gates: ['events'], hook: 'lifecycle' },
23
+ app_installed: { gates: ['events'], hook: 'lifecycle' },
24
+ app_updated: { gates: ['events'], hook: 'lifecycle' },
25
+ app_foregrounded: { gates: ['events'], hook: 'lifecycle' },
26
+ app_backgrounded: { gates: ['events'], hook: 'lifecycle' },
27
+ page_view: { gates: ['events'], hook: 'navigation' },
28
+ click: { gates: ['events'], hook: 'tap_capture' },
29
+ field_focus: { gates: ['events'], hook: 'tap_capture' },
30
+ field_blur: { gates: ['events'], hook: 'tap_capture' },
31
+ scroll: { gates: ['events'], hook: 'scroll_capture' },
32
+ swipe: { gates: ['events'], hook: 'scroll_capture' },
33
+ api_call: { gates: ['networkEvents'], hook: 'network_capture' },
34
+ deep_link_opened: { gates: ['events'], hook: 'deep_links' },
35
+ survey_shown: { gates: ['interactions', 'events'], hook: 'survey_configs' },
36
+ survey_closed: { gates: ['interactions', 'events'], hook: 'survey_configs' },
37
+ survey_suppressed: { gates: ['interactions', 'events'], hook: 'survey_configs' },
38
+ error: { gates: ['events'], hook: null },
39
+ custom: { gates: ['events'], hook: null },
40
+ recording: { gates: ['recordings'], hook: 'recording' },
41
+ screenshots: { gates: ['recordings'], hook: 'screenshots' },
42
+ };
43
+ /** Names the SDK uses internally that are not reported as their own row. */
44
+ exports.NOT_REPORTED = new Set(['sdk_diagnostic']);
45
+ /** The report row an event name counts under. */
46
+ function eventKeyOf(name) {
47
+ if (exports.NOT_REPORTED.has(name))
48
+ return null;
49
+ if (name === 'long_press')
50
+ return 'click'; // tracked as click
51
+ return (name in exports.EVENTS ? name : 'custom');
52
+ }
53
+ /** The switch-and-consent gate for one capture key, in captureAllowed()'s order. */
54
+ function gateFor(snippet, dashboard, decided, consentRequired) {
55
+ if (snippet === false)
56
+ return 'off_in_app';
57
+ if (dashboard === false)
58
+ return 'off_in_dashboard';
59
+ if (decided === false)
60
+ return 'declined';
61
+ if (decided === undefined && consentRequired)
62
+ return 'waiting_for_consent';
63
+ return 'on';
64
+ }
65
+ const GATE_REASON = {
66
+ off_in_app: (k) => `The app's init config sets capture.${k} to false.`,
67
+ off_in_dashboard: (k) => `Turned off in the dashboard (capture.${k}).`,
68
+ declined: (k) => `This person declined consent for ${k === 'networkEvents' ? 'network capture' : k === 'recordings' ? 'session replay' : k === 'interactions' ? 'surveys' : 'product analytics'}.`,
69
+ waiting_for_consent: () => 'The app requires consent and this person has not answered yet; nothing is sent until they do.',
70
+ };
71
+ function eventStatus(i) {
72
+ const out = {};
73
+ for (const key of Object.keys(exports.EVENTS)) {
74
+ const spec = exports.EVENTS[key];
75
+ const closed = spec.gates.find((g) => i.gates[g] !== 'on');
76
+ if (closed) {
77
+ const state = i.gates[closed];
78
+ out[key] = { state, reason: GATE_REASON[state](closed) };
79
+ continue;
80
+ }
81
+ out[key] = hookStatus(key, i);
82
+ }
83
+ return out;
84
+ }
85
+ const ON = (reason) => ({ state: 'on', reason });
86
+ function hookStatus(key, i) {
87
+ const spec = exports.EVENTS[key];
88
+ const h = spec.hook ? i.hooks[spec.hook] : undefined;
89
+ const failed = (what) => ({ state: 'install_failed', reason: `${what}${h?.detail ? ` (${h.detail})` : ''}` });
90
+ switch (spec.hook) {
91
+ case null:
92
+ return ON(key === 'custom' ? 'Sent whenever the app calls CXPinsight.track().' : 'Sent when the SDK hits an error.');
93
+ case 'session':
94
+ return h?.state === 'installed' ? ON('Session tracking started.')
95
+ : h?.state === 'failed' ? failed('Session tracking could not start')
96
+ : { state: 'not_started', reason: 'Session tracking has not started.' };
97
+ case 'lifecycle':
98
+ return h?.state === 'installed' ? ON('App open, install/update and foreground/background are tracked.')
99
+ : h?.state === 'failed' ? failed('Lifecycle tracking could not start')
100
+ : { state: 'not_started', reason: 'Lifecycle tracking has not started.' };
101
+ case 'navigation': {
102
+ if (h?.state === 'failed')
103
+ return failed('The navigation ref given to CXPinsightProvider never became ready');
104
+ if (i.navigation === 'ref')
105
+ return ON('Tracked from the navigation ref given to CXPinsightProvider.');
106
+ if (i.navigation === 'screen_prop')
107
+ return ON('Tracked from the screenName prop on CXPinsightProvider.');
108
+ if ((i.counts.page_view?.produced ?? 0) > 0)
109
+ return ON('The app reports screens with trackScreen().');
110
+ return { state: 'not_connected', reason: 'No navigation is connected: no navigationRef or screenName on CXPinsightProvider, and no trackScreen() call. Screen views, screen durations and every event\'s screen stay empty.' };
111
+ }
112
+ case 'tap_capture': {
113
+ if (h?.state === 'not_installed')
114
+ return { state: 'off_in_app', reason: 'autoCaptureTaps is false; only components the babel plugin rewrote report.' };
115
+ if (h?.state !== 'installed')
116
+ return failed('Automatic capture could not hook React\'s element factory; only components the babel plugin rewrote report');
117
+ const taps = (i.counts.click?.produced ?? 0) + (i.counts.click?.blocked ?? 0);
118
+ if (key === 'click' && i.touches >= 5 && taps === 0) {
119
+ return { state: 'not_firing', reason: `${i.touches} screen touches were seen this launch and no tap event was produced — the app's touchables are not ones the SDK recognises.` };
120
+ }
121
+ return ON(key === 'click' ? 'Captured automatically on every touchable.' : 'Captured automatically on every text input; the value never leaves the device.');
122
+ }
123
+ case 'scroll_capture':
124
+ return h?.state === 'installed' ? ON('Captured automatically on scroll views and lists.')
125
+ : failed('Scroll capture could not install on this React Native version');
126
+ case 'network_capture':
127
+ if (h?.state === 'installed')
128
+ return ON('fetch and XMLHttpRequest are captured.');
129
+ if (h?.state === 'failed')
130
+ return failed('Network capture could not patch fetch/XMLHttpRequest, or the app replaced fetch after the SDK patched it');
131
+ return { state: 'not_started', reason: 'Network capture has not started.' };
132
+ case 'deep_links':
133
+ return h?.state === 'installed' ? ON('Deep links that open the app are tracked.')
134
+ : h?.state === 'failed' ? failed('Deep link tracking could not start')
135
+ : { state: 'not_started', reason: 'Deep link tracking has not started.' };
136
+ case 'survey_configs':
137
+ return h?.state === 'installed' ? ON('Survey targeting loaded; shown/closed/suppressed are tracked.')
138
+ : h?.state === 'failed' ? failed('Survey targeting could not be loaded, so no survey can show')
139
+ : { state: 'not_started', reason: 'Survey targeting has not loaded yet.' };
140
+ case 'recording':
141
+ if (i.recording === 'recording')
142
+ return ON('A recording is running for this session.');
143
+ if (i.recording === 'sampled_out')
144
+ return { state: 'sampled_out', reason: 'The dashboard\'s recording sample rate skipped this session (decided on the device).' };
145
+ if (i.recording === 'start_failed')
146
+ return { state: 'start_failed', reason: 'The server did not accept the recording start.' };
147
+ return { state: 'not_started', reason: 'Allowed, but no recording has started.' };
148
+ case 'screenshots':
149
+ if (i.screenshotsOffInDashboard)
150
+ return { state: 'off_in_dashboard', reason: 'Screenshots are turned off in the dashboard.' };
151
+ if (i.recording !== 'recording')
152
+ return { state: 'not_started', reason: 'Screenshots are taken only while a recording runs.' };
153
+ if (i.screenshotSource === 'none')
154
+ return { state: 'no_capturer', reason: 'No screenshot capturer in this build: the SDK\'s native module is missing (rebuild the app after installing) and no captureScreen was passed.' };
155
+ return ON(i.screenshotSource === 'native' ? 'Taken by the SDK\'s own native module.'
156
+ : i.screenshotSource === 'host' ? 'Taken by the app\'s captureScreen.'
157
+ : 'Taken with react-native-view-shot.');
158
+ }
159
+ return ON('Allowed.');
160
+ }
161
+ function deliveryStatus(q) {
162
+ if (q.held)
163
+ return { state: 'held_for_consent', reason: 'Events are kept on the device until consent is answered.', pending: q.pending };
164
+ if (q.consecutiveFailures > 0)
165
+ return { state: 'retrying', reason: `The last ${q.consecutiveFailures} send attempt(s) failed; retrying with backoff.`, pending: q.pending };
166
+ return { state: 'sending', reason: 'Events are being sent.', pending: q.pending };
167
+ }
168
+ //# sourceMappingURL=captureStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureStatus.js","sourceRoot":"","sources":["../../src/core/captureStatus.ts"],"names":[],"mappings":";;;;;;;AA+Ca,QAAA,WAAW,GAAwC;IAC9D,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF;;;;GAIG;AACU,QAAA,MAAM,GAAG;IACpB,aAAa,EAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;IACzD,WAAW,EAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;IACzD,UAAU,EAAS,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3D,aAAa,EAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3D,WAAW,EAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3D,gBAAgB,EAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3D,gBAAgB,EAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3D,SAAS,EAAU,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5D,KAAK,EAAc,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7D,WAAW,EAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7D,UAAU,EAAS,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7D,MAAM,EAAa,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAChE,KAAK,EAAc,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAChE,QAAQ,EAAW,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACxE,gBAAgB,EAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5D,YAAY,EAAO,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAChF,aAAa,EAAM,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAChF,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAChF,KAAK,EAAc,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;IACpD,MAAM,EAAa,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;IACpD,SAAS,EAAU,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/D,WAAW,EAAQ,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;CACuB,CAAC;AAG3F,4EAA4E;AAC/D,QAAA,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAExD,iDAAiD;AACjD,oBAA2B,IAAY;IACrC,IAAI,QAAA,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,OAAO,CAAC,CAAW,mBAAmB;IACxE,OAAO,CAAC,IAAI,IAAI,QAAA,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAa,CAAC;AACxD,CAAC;AAID,oFAAoF;AACpF,iBACE,OAA4B,EAC5B,SAA8B,EAC9B,OAA4B,EAC5B,eAAwB;IAExB,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,YAAY,CAAC;IAC3C,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,kBAAkB,CAAC;IACnD,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,IAAI,eAAe;QAAE,OAAO,qBAAqB,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,WAAW,GAAgD;IAC/D,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sCAAsC,CAAC,YAAY;IACtE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC,CAAC,IAAI;IACtE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oCAAoC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,GAAG;IAClM,mBAAmB,EAAE,GAAG,EAAE,CAAC,+FAA+F;CAC3H,CAAC;AAcF,qBAA4B,CAAgB;IAC1C,MAAM,GAAG,GAAG,EAAmC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAA,MAAM,CAAe,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,EAAE,GAAG,CAAC,MAAc,EAAe,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEtE,SAAS,UAAU,CAAC,GAAa,EAAE,CAAgB;IACjD,MAAM,IAAI,GAAG,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;QAEvH,KAAK,SAAS;YACZ,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC;gBAC/D,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,kCAAkC,CAAC;oBACpE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;QAE5E,KAAK,WAAW;YACd,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,iEAAiE,CAAC;gBACrG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oCAAoC,CAAC;oBACtE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;QAE9E,KAAK,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,mEAAmE,CAAC,CAAC;YAC9G,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK;gBAAE,OAAO,EAAE,CAAC,8DAA8D,CAAC,CAAC;YACtG,IAAI,CAAC,CAAC,UAAU,KAAK,aAAa;gBAAE,OAAO,EAAE,CAAC,yDAAyD,CAAC,CAAC;YACzG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC,6CAA6C,CAAC,CAAC;YACtG,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,mLAAmL,EAAE,CAAC;QACjO,CAAC;QAED,KAAK,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,KAAK,KAAK,eAAe;gBAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,4EAA4E,EAAE,CAAC;YACvJ,IAAI,CAAC,EAAE,KAAK,KAAK,WAAW;gBAAE,OAAO,MAAM,CAAC,4GAA4G,CAAC,CAAC;YAC1J,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,6HAA6H,EAAE,CAAC;YACpL,CAAC;YACD,OAAO,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC;QAC/J,CAAC;QAED,KAAK,gBAAgB;YACnB,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,mDAAmD,CAAC;gBACvF,CAAC,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC;QAE9E,KAAK,iBAAiB;YACpB,IAAI,CAAC,EAAE,KAAK,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,wCAAwC,CAAC,CAAC;YAClF,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,0GAA0G,CAAC,CAAC;YACrJ,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;QAE9E,KAAK,YAAY;YACf,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,2CAA2C,CAAC;gBAC/E,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oCAAoC,CAAC;oBACtE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;QAE9E,KAAK,gBAAgB;YACnB,OAAO,CAAC,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,+DAA+D,CAAC;gBACnG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,6DAA6D,CAAC;oBAC/F,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;QAE/E,KAAK,WAAW;YACd,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,0CAA0C,CAAC,CAAC;YACvF,IAAI,CAAC,CAAC,SAAS,KAAK,aAAa;gBAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,sFAAsF,EAAE,CAAC;YACnK,IAAI,CAAC,CAAC,SAAS,KAAK,cAAc;gBAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;YAC/H,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;QAEpF,KAAK,aAAa;YAChB,IAAI,CAAC,CAAC,yBAAyB;gBAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;YAC9H,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW;gBAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,oDAAoD,EAAE,CAAC;YAC/H,IAAI,CAAC,CAAC,gBAAgB,KAAK,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,+IAA+I,EAAE,CAAC;YAC5N,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,wCAAwC;gBAClF,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC;oBACtE,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC;AAID,wBAA+B,CAAkE;IAC/F,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,0DAA0D,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACzI,IAAI,CAAC,CAAC,mBAAmB,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,mBAAmB,iDAAiD,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5K,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACpF,CAAC"}
@@ -16,6 +16,8 @@ export declare function setConsentHandler(cb: ((granted: boolean) => void) | nul
16
16
  export declare function mayUse(category: ConsentCategory): boolean;
17
17
  /** Kept for call sites that predate categories; analytics is the broadest. */
18
18
  export declare function mayCapture(): boolean;
19
+ /** The stored answer for one category: true, false, or undefined when not asked. */
20
+ export declare function decisionFor(category: ConsentCategory): boolean | undefined;
19
21
  /** True when events should be held rather than sent (awaiting a decision). */
20
22
  export declare function isPending(): boolean;
21
23
  export declare function consentRequired(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,YAAI,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAS1D,gFAAgF;AAChF,wBAAsB,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAczE;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,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAM9C;AAED,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAiB7D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAAqC;AACzE,wBAAgB,aAAa,IAAI,IAAI,CAAsC;AAE3E,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,YAAI,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAS1D,gFAAgF;AAChF,wBAAsB,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAczE;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,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAG1E;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAM9C;AAED,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAiB7D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAAqC;AACzE,wBAAgB,aAAa,IAAI,IAAI,CAAsC;AAE3E,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
@@ -38,6 +38,7 @@ exports.initConsent = initConsent;
38
38
  exports.setConsentHandler = setConsentHandler;
39
39
  exports.mayUse = mayUse;
40
40
  exports.mayCapture = mayCapture;
41
+ exports.decisionFor = decisionFor;
41
42
  exports.isPending = isPending;
42
43
  exports.consentRequired = consentRequired;
43
44
  exports.getConsent = getConsent;
@@ -126,6 +127,11 @@ function mayUse(category) {
126
127
  function mayCapture() {
127
128
  return mayUse('analytics');
128
129
  }
130
+ /** The stored answer for one category: true, false, or undefined when not asked. */
131
+ function decisionFor(category) {
132
+ const d = categories?.[category];
133
+ return typeof d === 'boolean' ? d : undefined;
134
+ }
129
135
  /** True when events should be held rather than sent (awaiting a decision). */
130
136
  function isPending() {
131
137
  return required && categories === null;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,17 @@ export declare function startQueue(options?: {
7
7
  }): Promise<void>;
8
8
  /** Enqueue an event */
9
9
  export declare function enqueue(event: TrackEvent): void;
10
+ /**
11
+ * What the server says it did with a batch it accepted. HTTP success is not
12
+ * "stored": the server's storage sampling drops whole sessions, and an origin
13
+ * outside the allowlist is answered 202 with accepted:false. The reply says so;
14
+ * the capture status reports it instead of assuming.
15
+ */
16
+ export declare function serverVerdict(sent: number, data: unknown): {
17
+ stored: number;
18
+ sampledOut: number;
19
+ rejected: number;
20
+ };
10
21
  /** Flush queued events to the server. */
11
22
  export declare function flush(): Promise<void>;
12
23
  /** Stop the queue and clean up */
@@ -1 +1 @@
1
- {"version":3,"file":"eventQueue.d.ts","sourceRoot":"","sources":["../../src/core/eventQueue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuE3C,iDAAiD;AACjD,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB;AAeD,uBAAuB;AACvB,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAY/C;AAED,yCAAyC;AACzC,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoD3C;AAED,kCAAkC;AAClC,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAU/C;AAED,mCAAmC;AACnC,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAShD;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,IAAI;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAOA"}
1
+ {"version":3,"file":"eventQueue.d.ts","sourceRoot":"","sources":["../../src/core/eventQueue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAyE3C,iDAAiD;AACjD,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB;AAeD,uBAAuB;AACvB,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAY/C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYnH;AAKD,yCAAyC;AACzC,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD3C;AAED,kCAAkC;AAClC,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAU/C;AAED,mCAAmC;AACnC,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAShD;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,IAAI;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAOA"}
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.startQueue = startQueue;
37
37
  exports.enqueue = enqueue;
38
+ exports.serverVerdict = serverVerdict;
38
39
  exports.flush = flush;
39
40
  exports.stopQueue = stopQueue;
40
41
  exports.clearQueue = clearQueue;
@@ -44,6 +45,8 @@ const types_1 = require("../types");
44
45
  const storage = __importStar(require("./storage"));
45
46
  const network_1 = require("./network");
46
47
  const consent_1 = require("./consent");
48
+ const captureLedger_1 = require("./captureLedger");
49
+ const captureStatus_1 = require("./captureStatus");
47
50
  const DEFAULT_FLUSH_INTERVAL = 30000; // 30s
48
51
  const DEFAULT_FLUSH_THRESHOLD = 10;
49
52
  const MAX_BATCH_SIZE = 100;
@@ -147,6 +150,27 @@ function enqueue(event) {
147
150
  void flush();
148
151
  }
149
152
  }
153
+ /**
154
+ * What the server says it did with a batch it accepted. HTTP success is not
155
+ * "stored": the server's storage sampling drops whole sessions, and an origin
156
+ * outside the allowlist is answered 202 with accepted:false. The reply says so;
157
+ * the capture status reports it instead of assuming.
158
+ */
159
+ function serverVerdict(sent, data) {
160
+ const d = (data && typeof data === 'object' ? data : {});
161
+ if (d.reason === 'sampled_out') {
162
+ const dropped = typeof d.dropped === 'number' ? d.dropped : sent;
163
+ return { stored: 0, sampledOut: dropped, rejected: Math.max(0, sent - dropped) };
164
+ }
165
+ if (d.accepted === false)
166
+ return { stored: 0, sampledOut: 0, rejected: sent };
167
+ if (typeof d.eventsCreated === 'number') {
168
+ const sampledOut = typeof d.sampledOut === 'number' ? d.sampledOut : 0;
169
+ return { stored: d.eventsCreated, sampledOut, rejected: Math.max(0, sent - d.eventsCreated - sampledOut) };
170
+ }
171
+ return { stored: sent, sampledOut: 0, rejected: 0 };
172
+ }
173
+ const keysOf = (events) => events.map((e) => (0, captureStatus_1.eventKeyOf)(e.eventName)).filter((k) => k !== null);
150
174
  /** Flush queued events to the server. */
151
175
  async function flush() {
152
176
  if (isFlushing || queue.length === 0)
@@ -172,11 +196,17 @@ async function flush() {
172
196
  : await (0, network_1.sdkFetch)('POST', '/api/engagement/events/track-batch', { events: eventsToSend });
173
197
  ok = result.success;
174
198
  error = result.error;
199
+ if (ok)
200
+ captureLedger_1.ledger.server(serverVerdict(eventsToSend.length, result.data));
175
201
  }
176
202
  catch (err) {
177
203
  ok = false;
178
204
  error = err instanceof Error ? err.message : 'network error';
179
205
  }
206
+ if (ok)
207
+ captureLedger_1.ledger.sent(keysOf(eventsToSend));
208
+ else
209
+ captureLedger_1.ledger.failed(keysOf(eventsToSend));
180
210
  if (ok) {
181
211
  consecutiveFailures = 0;
182
212
  nextRetryAt = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"eventQueue.js","sourceRoot":"","sources":["../../src/core/eventQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventQueue.js","sourceRoot":"","sources":["../../src/core/eventQueue.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export declare function shotStats(): {
5
5
  budget: number;
6
6
  };
7
7
  export declare function isRecording(): boolean;
8
+ export type RecordingOutcome = 'recording' | 'sampled_out' | 'start_failed' | 'not_started';
9
+ export declare function recordingOutcome(): RecordingOutcome;
8
10
  export declare function startRecording(opts: {
9
11
  sessionId: string;
10
12
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mobileRecorder.d.ts","sourceRoot":"","sources":["../../src/core/mobileRecorder.ts"],"names":[],"mappings":"AA0EA,iEAAiE;AACjE,wBAAgB,SAAS,IAAI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAElF;AAsDD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAyCD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;CACnE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DhB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAI9E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAsB;AAC5E,wBAAgB,eAAe,IAAI,IAAI,CAAuB;AAE9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1E;AAKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,IAAI,CAOhE;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD"}
1
+ {"version":3,"file":"mobileRecorder.d.ts","sourceRoot":"","sources":["../../src/core/mobileRecorder.ts"],"names":[],"mappings":"AA2EA,iEAAiE;AACjE,wBAAgB,SAAS,IAAI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAElF;AA0DD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AA2CD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,CAAC;AAE5F,wBAAgB,gBAAgB,IAAI,gBAAgB,CAEnD;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;CACnE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAI9E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAsB;AAC5E,wBAAgB,eAAe,IAAI,IAAI,CAAuB;AAE9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1E;AAKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,IAAI,CAOhE;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAcnD"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.shotStats = shotStats;
4
4
  exports.isRecording = isRecording;
5
+ exports.recordingOutcome = recordingOutcome;
5
6
  exports.startRecording = startRecording;
6
7
  exports.recordFrame = recordFrame;
7
8
  exports.recordScreen = recordScreen;
@@ -26,6 +27,7 @@ exports.stopRecording = stopRecording;
26
27
  *
27
28
  * Never records entered text: value_change frames store a masked placeholder.
28
29
  */
30
+ const captureLedger_1 = require("./captureLedger");
29
31
  const network_1 = require("./network");
30
32
  const interactionObserver_1 = require("../instrumented/interactionObserver");
31
33
  const viewShot_1 = require("./viewShot");
@@ -102,15 +104,21 @@ function captureShot(reason, force = false) {
102
104
  : Promise.resolve().then(() => provider()));
103
105
  take()
104
106
  .then((b64) => {
105
- if (!recordingId || !b64)
107
+ if (!recordingId)
106
108
  return;
109
+ if (!b64) {
110
+ captureLedger_1.ledger.shot('empty');
111
+ return;
112
+ }
107
113
  const bytes = b64Bytes(b64);
108
114
  if (bytes > SHOT_MAX_BYTES) {
109
115
  shotsDropped += 1;
116
+ captureLedger_1.ledger.shot('dropped');
110
117
  return; // one oversized frame, skipped
111
118
  }
112
119
  if (shotBytesUsed + bytes > SHOT_BUDGET_BYTES) {
113
120
  shotsDropped += 1;
121
+ captureLedger_1.ledger.shot('dropped');
114
122
  if (!budgetNotified) {
115
123
  budgetNotified = true;
116
124
  if ((0, network_1.getConfig)()?.debug) {
@@ -122,8 +130,9 @@ function captureShot(reason, force = false) {
122
130
  }
123
131
  shotBytesUsed += bytes;
124
132
  recordFrame('screenshot', { image: b64, format: 'jpg', reason });
133
+ captureLedger_1.ledger.shot('taken');
125
134
  })
126
- .catch(() => { });
135
+ .catch(() => { captureLedger_1.ledger.shot('failed'); /* screenshots are best-effort */ });
127
136
  }, 350);
128
137
  }
129
138
  function isRecording() {
@@ -169,6 +178,10 @@ function shouldRecordSession(applicationId, sessionId, rate) {
169
178
  // render that), and it would also defeat the "one recording per session"
170
179
  // invariant onSessionRollover enforces.
171
180
  let sampledOutFor = null;
181
+ let lastOutcome = 'not_started';
182
+ function recordingOutcome() {
183
+ return recordingId ? 'recording' : lastOutcome;
184
+ }
172
185
  async function startRecording(opts) {
173
186
  if (recordingId)
174
187
  return;
@@ -183,6 +196,7 @@ async function startRecording(opts) {
183
196
  sampledOutFor = keep ? null : opts.sessionId;
184
197
  }
185
198
  if (sampledOutFor === opts.sessionId) {
199
+ lastOutcome = 'sampled_out';
186
200
  // No capture, no upload — behaves exactly like recording.enabled=false for
187
201
  // this session. Return silently; the caller doesn't need to distinguish
188
202
  // "sampled out" from "already running" — both cases mean "nothing more to do".
@@ -203,8 +217,10 @@ async function startRecording(opts) {
203
217
  privacy: { maskInputs },
204
218
  });
205
219
  const id = res.success && res.data ? (res.data.recordingId ?? null) : null;
206
- if (!id)
220
+ if (!id) {
221
+ lastOutcome = 'start_failed';
207
222
  return;
223
+ }
208
224
  recordingId = id;
209
225
  startTs = Date.now();
210
226
  buffer = [];
@@ -227,6 +243,7 @@ async function startRecording(opts) {
227
243
  }
228
244
  catch {
229
245
  // Best-effort; a failed start just means no recording this session.
246
+ lastOutcome = 'start_failed';
230
247
  }
231
248
  }
232
249
  function recordFrame(kind, data) {
@@ -328,6 +345,7 @@ async function stopRecording() {
328
345
  if (!recordingId)
329
346
  return;
330
347
  const id = recordingId;
348
+ lastOutcome = 'not_started';
331
349
  recordFrame('stop', {});
332
350
  await flush();
333
351
  if (unsubscribeInteractions) {
@@ -1 +1 @@
1
- {"version":3,"file":"mobileRecorder.js","sourceRoot":"","sources":["../../src/core/mobileRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mobileRecorder.js","sourceRoot":"","sources":["../../src/core/mobileRecorder.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,14 @@ export declare function sanitizeBody(raw: unknown): string | undefined;
34
34
  export declare function startNetworkCapture(base: string, emitFn: EmitFn, opts?: {
35
35
  bodies?: boolean;
36
36
  }): boolean;
37
+ /** Whether fetch/XHR are patched right now — reported in the capture status. */
38
+ export declare function isNetworkCaptureActive(): boolean;
39
+ /**
40
+ * Whether OUR fetch is still the global one. An app (or a library such as a
41
+ * polyfill or an HTTP client set up after the SDK) that assigns global.fetch
42
+ * after we patched it silently ends api_call capture for fetch.
43
+ */
44
+ export declare function isFetchIntact(): boolean;
37
45
  export declare function stopNetworkCapture(): void;
38
46
  export {};
39
47
  //# sourceMappingURL=networkCapture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkCapture.d.ts","sourceRoot":"","sources":["../../src/core/networkCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IACrD,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AA4BtC,iBAAS,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAeD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExD;AAoDD,0BAA0B;AAC1B,eAAO,MAAM,WAAW,kBAAY,CAAC;AAqCrC,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAoB7D;AAqBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAuEtG;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC"}
1
+ {"version":3,"file":"networkCapture.d.ts","sourceRoot":"","sources":["../../src/core/networkCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IACrD,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AA6BtC,iBAAS,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAeD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExD;AAoDD,0BAA0B;AAC1B,eAAO,MAAM,WAAW,kBAAY,CAAC;AAqCrC,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAoB7D;AAqBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAwEtG;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC"}
@@ -4,11 +4,14 @@ exports.__scrubPath = void 0;
4
4
  exports.isConnectivityProbe = isConnectivityProbe;
5
5
  exports.sanitizeBody = sanitizeBody;
6
6
  exports.startNetworkCapture = startNetworkCapture;
7
+ exports.isNetworkCaptureActive = isNetworkCaptureActive;
8
+ exports.isFetchIntact = isFetchIntact;
7
9
  exports.stopNetworkCapture = stopNetworkCapture;
8
10
  let emit = null;
9
11
  let apiBase = '';
10
12
  let captureBodies = false;
11
13
  let origFetch = null;
14
+ let ourFetch = null;
12
15
  let origXhrOpen = null;
13
16
  let origXhrSend = null;
14
17
  /**
@@ -241,6 +244,7 @@ function startNetworkCapture(base, emitFn, opts) {
241
244
  throw err;
242
245
  });
243
246
  };
247
+ ourFetch = g.fetch;
244
248
  patchedAny = true;
245
249
  }
246
250
  // ── XMLHttpRequest ──
@@ -271,12 +275,27 @@ function startNetworkCapture(base, emitFn, opts) {
271
275
  emit = null; // nothing hooked; do not claim capture is on
272
276
  return patchedAny;
273
277
  }
278
+ /** Whether fetch/XHR are patched right now — reported in the capture status. */
279
+ function isNetworkCaptureActive() {
280
+ return emit !== null;
281
+ }
282
+ /**
283
+ * Whether OUR fetch is still the global one. An app (or a library such as a
284
+ * polyfill or an HTTP client set up after the SDK) that assigns global.fetch
285
+ * after we patched it silently ends api_call capture for fetch.
286
+ */
287
+ function isFetchIntact() {
288
+ if (!ourFetch)
289
+ return true;
290
+ return globalThis.fetch === ourFetch;
291
+ }
274
292
  function stopNetworkCapture() {
275
293
  const g = globalThis;
276
294
  if (origFetch) {
277
295
  g.fetch = origFetch;
278
296
  origFetch = null;
279
297
  }
298
+ ourFetch = null;
280
299
  const XHR = g.XMLHttpRequest;
281
300
  if (XHR && origXhrOpen) {
282
301
  XHR.prototype.open = origXhrOpen;