@dreamhorizonorg/pulse-react-native 0.0.3 → 0.0.4

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 (68) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/pulsereactnativeotel/Pulse.kt +4 -0
  3. package/android/src/main/java/com/pulsereactnativeotel/PulseReactNativeOtelModule.kt +5 -0
  4. package/ios/PulseReactNativeOtel.mm +124 -63
  5. package/lib/module/NativePulseReactNativeOtel.js.map +1 -1
  6. package/lib/module/config.js +46 -4
  7. package/lib/module/config.js.map +1 -1
  8. package/lib/module/errorBoundary.js +4 -1
  9. package/lib/module/errorBoundary.js.map +1 -1
  10. package/lib/module/errorHandler.js +5 -1
  11. package/lib/module/errorHandler.js.map +1 -1
  12. package/lib/module/events.js +2 -2
  13. package/lib/module/events.js.map +1 -1
  14. package/lib/module/index.js +2 -1
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/navigation/index.js +11 -0
  17. package/lib/module/navigation/index.js.map +1 -1
  18. package/lib/module/navigation/screen-interactive.js +4 -0
  19. package/lib/module/navigation/screen-interactive.js.map +1 -1
  20. package/lib/module/network-interceptor/initialization.js +13 -1
  21. package/lib/module/network-interceptor/initialization.js.map +1 -1
  22. package/lib/module/network-interceptor/request-tracker-xhr.js +15 -2
  23. package/lib/module/network-interceptor/request-tracker-xhr.js.map +1 -1
  24. package/lib/module/trace.js +16 -10
  25. package/lib/module/trace.js.map +1 -1
  26. package/lib/module/user.js +4 -3
  27. package/lib/module/user.js.map +1 -1
  28. package/lib/typescript/plugin/src/types.d.ts +6 -0
  29. package/lib/typescript/plugin/src/types.d.ts.map +1 -1
  30. package/lib/typescript/plugin/src/utils.d.ts +2 -0
  31. package/lib/typescript/plugin/src/utils.d.ts.map +1 -1
  32. package/lib/typescript/plugin/src/withAndroidPulse.d.ts.map +1 -1
  33. package/lib/typescript/src/NativePulseReactNativeOtel.d.ts +2 -0
  34. package/lib/typescript/src/NativePulseReactNativeOtel.d.ts.map +1 -1
  35. package/lib/typescript/src/config.d.ts +5 -1
  36. package/lib/typescript/src/config.d.ts.map +1 -1
  37. package/lib/typescript/src/errorBoundary.d.ts.map +1 -1
  38. package/lib/typescript/src/errorHandler.d.ts +1 -0
  39. package/lib/typescript/src/errorHandler.d.ts.map +1 -1
  40. package/lib/typescript/src/events.d.ts.map +1 -1
  41. package/lib/typescript/src/index.d.ts +2 -1
  42. package/lib/typescript/src/index.d.ts.map +1 -1
  43. package/lib/typescript/src/navigation/index.d.ts +1 -0
  44. package/lib/typescript/src/navigation/index.d.ts.map +1 -1
  45. package/lib/typescript/src/navigation/screen-interactive.d.ts.map +1 -1
  46. package/lib/typescript/src/network-interceptor/initialization.d.ts +1 -0
  47. package/lib/typescript/src/network-interceptor/initialization.d.ts.map +1 -1
  48. package/lib/typescript/src/network-interceptor/request-tracker-xhr.d.ts +5 -1
  49. package/lib/typescript/src/network-interceptor/request-tracker-xhr.d.ts.map +1 -1
  50. package/lib/typescript/src/trace.d.ts.map +1 -1
  51. package/lib/typescript/src/user.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/plugin/build/types.d.ts +6 -0
  54. package/plugin/build/utils.d.ts +2 -0
  55. package/plugin/build/utils.js +6 -2
  56. package/plugin/build/withAndroidPulse.js +3 -1
  57. package/src/NativePulseReactNativeOtel.ts +3 -0
  58. package/src/config.ts +53 -3
  59. package/src/errorBoundary.tsx +4 -1
  60. package/src/errorHandler.ts +6 -1
  61. package/src/events.ts +6 -2
  62. package/src/index.tsx +2 -1
  63. package/src/navigation/index.ts +13 -0
  64. package/src/navigation/screen-interactive.ts +4 -0
  65. package/src/network-interceptor/initialization.ts +14 -1
  66. package/src/network-interceptor/request-tracker-xhr.ts +16 -3
  67. package/src/trace.ts +17 -10
  68. package/src/user.ts +4 -3
@@ -4,6 +4,7 @@ import createXmlHttpRequestTracker from "./request-tracker-xhr.js";
4
4
  // Re-export header utilities for convenience (they're in a separate file to avoid dependency issues)
5
5
  export { normalizeHeaderName, shouldCaptureHeader } from "./header-helper.js";
6
6
  let isInitialized = false;
7
+ let uninstallXmlHttpRequestTracker = null;
7
8
  let headerConfig = {
8
9
  requestHeaders: [],
9
10
  responseHeaders: []
@@ -29,7 +30,8 @@ export function initializeNetworkInterceptor(config) {
29
30
  // In react-native, we are intercepting XMLHttpRequest only, since axios and fetch both use it internally.
30
31
  // See: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Network/fetch.js
31
32
  if (typeof XMLHttpRequest !== 'undefined') {
32
- createXmlHttpRequestTracker(XMLHttpRequest);
33
+ const result = createXmlHttpRequestTracker(XMLHttpRequest);
34
+ uninstallXmlHttpRequestTracker = result.uninstall;
33
35
  } else {
34
36
  console.warn('[Pulse] XMLHttpRequest is not available');
35
37
  }
@@ -39,4 +41,14 @@ export function initializeNetworkInterceptor(config) {
39
41
  }
40
42
  }
41
43
  export const isNetworkInterceptorInitialized = () => isInitialized;
44
+ export function uninstallNetworkInterceptor() {
45
+ if (!isInitialized) {
46
+ return;
47
+ }
48
+ if (uninstallXmlHttpRequestTracker) {
49
+ uninstallXmlHttpRequestTracker();
50
+ uninstallXmlHttpRequestTracker = null;
51
+ }
52
+ isInitialized = false;
53
+ }
42
54
  //# sourceMappingURL=initialization.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createXmlHttpRequestTracker","normalizeHeaderName","shouldCaptureHeader","isInitialized","headerConfig","requestHeaders","responseHeaders","getHeaderConfig","initializeNetworkInterceptor","config","console","warn","log","XMLHttpRequest","error","isNetworkInterceptorInitialized"],"sourceRoot":"../../../src","sources":["network-interceptor/initialization.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,0BAAuB;AAE/D;AACA,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,oBAAiB;AAE1E,IAAIC,aAAa,GAAG,KAAK;AACzB,IAAIC,YAAiC,GAAG;EACtCC,cAAc,EAAE,EAAE;EAClBC,eAAe,EAAE;AACnB,CAAC;AAED,OAAO,SAASC,eAAeA,CAAA,EAAwB;EACrD,OAAOH,YAAY;AACrB;AAEA,OAAO,SAASI,4BAA4BA,CAC1CC,MAA4B,EACtB;EACN,IAAIN,aAAa,EAAE;IACjBO,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;IAC/D;EACF;;EAEA;EACA,IAAIF,MAAM,EAAE;IACVL,YAAY,GAAG;MACbC,cAAc,EAAEI,MAAM,CAACJ,cAAc,IAAI,EAAE;MAC3CC,eAAe,EAAEG,MAAM,CAACH,eAAe,IAAI;IAC7C,CAAC;EACH;EAEAI,OAAO,CAACE,GAAG,CAAC,2DAA2D,CAAC;EAExE,IAAI;IACF;IACA;IACA,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;MACzCb,2BAA2B,CAACa,cAAc,CAAC;IAC7C,CAAC,MAAM;MACLH,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;IACzD;IAEAR,aAAa,GAAG,IAAI;EACtB,CAAC,CAAC,OAAOW,KAAK,EAAE;IACdJ,OAAO,CAACI,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC;EAC3E;AACF;AAEA,OAAO,MAAMC,+BAA+B,GAAGA,CAAA,KAAeZ,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["createXmlHttpRequestTracker","normalizeHeaderName","shouldCaptureHeader","isInitialized","uninstallXmlHttpRequestTracker","headerConfig","requestHeaders","responseHeaders","getHeaderConfig","initializeNetworkInterceptor","config","console","warn","log","XMLHttpRequest","result","uninstall","error","isNetworkInterceptorInitialized","uninstallNetworkInterceptor"],"sourceRoot":"../../../src","sources":["network-interceptor/initialization.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,0BAAuB;AAE/D;AACA,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,oBAAiB;AAE1E,IAAIC,aAAa,GAAG,KAAK;AACzB,IAAIC,8BAAmD,GAAG,IAAI;AAC9D,IAAIC,YAAiC,GAAG;EACtCC,cAAc,EAAE,EAAE;EAClBC,eAAe,EAAE;AACnB,CAAC;AAED,OAAO,SAASC,eAAeA,CAAA,EAAwB;EACrD,OAAOH,YAAY;AACrB;AAEA,OAAO,SAASI,4BAA4BA,CAC1CC,MAA4B,EACtB;EACN,IAAIP,aAAa,EAAE;IACjBQ,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;IAC/D;EACF;;EAEA;EACA,IAAIF,MAAM,EAAE;IACVL,YAAY,GAAG;MACbC,cAAc,EAAEI,MAAM,CAACJ,cAAc,IAAI,EAAE;MAC3CC,eAAe,EAAEG,MAAM,CAACH,eAAe,IAAI;IAC7C,CAAC;EACH;EAEAI,OAAO,CAACE,GAAG,CAAC,2DAA2D,CAAC;EAExE,IAAI;IACF;IACA;IACA,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;MACzC,MAAMC,MAAM,GAAGf,2BAA2B,CAACc,cAAc,CAAC;MAC1DV,8BAA8B,GAAGW,MAAM,CAACC,SAAS;IACnD,CAAC,MAAM;MACLL,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;IACzD;IAEAT,aAAa,GAAG,IAAI;EACtB,CAAC,CAAC,OAAOc,KAAK,EAAE;IACdN,OAAO,CAACM,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC;EAC3E;AACF;AAEA,OAAO,MAAMC,+BAA+B,GAAGA,CAAA,KAAef,aAAa;AAE3E,OAAO,SAASgB,2BAA2BA,CAAA,EAAS;EAClD,IAAI,CAAChB,aAAa,EAAE;IAClB;EACF;EACA,IAAIC,8BAA8B,EAAE;IAClCA,8BAA8B,CAAC,CAAC;IAChCA,8BAA8B,GAAG,IAAI;EACvC;EACAD,aAAa,GAAG,KAAK;AACvB","ignoreList":[]}
@@ -9,7 +9,10 @@ let isXHRIntercepted = false;
9
9
  function createXmlHttpRequestTracker(xhr) {
10
10
  if (isXHRIntercepted) {
11
11
  console.warn('[Pulse] XMLHttpRequest already intercepted');
12
- return new RequestTracker();
12
+ return {
13
+ requestTracker: new RequestTracker(),
14
+ uninstall: () => {}
15
+ };
13
16
  }
14
17
  const requestTracker = new RequestTracker();
15
18
  const trackedRequests = new WeakMap();
@@ -126,7 +129,17 @@ function createXmlHttpRequestTracker(xhr) {
126
129
  }
127
130
  originalSend.call(this, body);
128
131
  };
129
- return requestTracker;
132
+ const uninstall = () => {
133
+ if (!isXHRIntercepted) return;
134
+ xhr.prototype.open = originalOpen;
135
+ xhr.prototype.setRequestHeader = originalSetRequestHeader;
136
+ xhr.prototype.send = originalSend;
137
+ isXHRIntercepted = false;
138
+ };
139
+ return {
140
+ requestTracker,
141
+ uninstall
142
+ };
130
143
  }
131
144
  export default createXmlHttpRequestTracker;
132
145
  //# sourceMappingURL=request-tracker-xhr.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RequestTracker","getAbsoluteUrl","createNetworkSpan","completeNetworkSpan","getHeaderConfig","shouldCaptureHeader","isXHRIntercepted","createXmlHttpRequestTracker","xhr","console","warn","requestTracker","trackedRequests","WeakMap","trackedSpans","requestHandlers","originalOpen","prototype","open","method","url","rest","set","String","call","requestHeadersMap","originalSetRequestHeader","setRequestHeader","name","value","headerConfig","requestHeadersList","requestHeaders","length","existing","get","originalSend","send","body","requestData","existingHandler","removeEventListener","capturedRequestHeaders","filteredRequestHeaders","Object","fromEntries","entries","filter","undefined","startContext","type","keys","span","onRequestEnd","start","onReadyStateChange","readyState","DONE","activeSpan","responseHeaderConfig","capturedResponseHeaders","responseHeadersList","responseHeaders","allHeaders","getAllResponseHeaders","headerLines","trim","split","line","parts","e","debug","endContext","status","state","delete","addEventListener"],"sourceRoot":"../../../src","sources":["network-interceptor/request-tracker-xhr.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RequestTracker","getAbsoluteUrl","createNetworkSpan","completeNetworkSpan","getHeaderConfig","shouldCaptureHeader","isXHRIntercepted","createXmlHttpRequestTracker","xhr","console","warn","requestTracker","uninstall","trackedRequests","WeakMap","trackedSpans","requestHandlers","originalOpen","prototype","open","method","url","rest","set","String","call","requestHeadersMap","originalSetRequestHeader","setRequestHeader","name","value","headerConfig","requestHeadersList","requestHeaders","length","existing","get","originalSend","send","body","requestData","existingHandler","removeEventListener","capturedRequestHeaders","filteredRequestHeaders","Object","fromEntries","entries","filter","undefined","startContext","type","keys","span","onRequestEnd","start","onReadyStateChange","readyState","DONE","activeSpan","responseHeaderConfig","capturedResponseHeaders","responseHeadersList","responseHeaders","allHeaders","getAllResponseHeaders","headerLines","trim","split","line","parts","e","debug","endContext","status","state","delete","addEventListener"],"sourceRoot":"../../../src","sources":["network-interceptor/request-tracker-xhr.ts"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  import PulseReactNativeOtel from "./NativePulseReactNativeOtel.js";
4
+ import { getIsShutdown, getIsStarted } from "./config.js";
4
5
  import { isSupportedPlatform } from "./initialization.js";
5
6
  import { mergeWithGlobalAttributes } from "./globalAttributes.js";
6
7
  import { extractErrorDetails } from "./utility.js";
8
+ const noopSpan = {
9
+ end: _statusCode => {},
10
+ addEvent: (_eventName, _eventAttributes) => {},
11
+ setAttributes: _attributes => {},
12
+ recordException: (_error, _attributes) => {},
13
+ spanId: undefined
14
+ };
7
15
 
8
16
  /**
9
17
  * Options for starting a span.
@@ -18,14 +26,8 @@ export let SpanStatusCode = /*#__PURE__*/function (SpanStatusCode) {
18
26
  return SpanStatusCode;
19
27
  }({});
20
28
  export function startSpan(name, options) {
21
- if (!isSupportedPlatform()) {
22
- return {
23
- end: _statusCode => {},
24
- addEvent: (_eventName, _eventAttributes) => {},
25
- setAttributes: _attributes => {},
26
- recordException: (_error, _attributes) => {},
27
- spanId: undefined
28
- };
29
+ if (!isSupportedPlatform() || !getIsStarted() || getIsShutdown()) {
30
+ return noopSpan;
29
31
  }
30
32
  const mergedAttributes = mergeWithGlobalAttributes(options?.attributes || {});
31
33
  const inheritContext = options?.inheritContext ?? true;
@@ -47,7 +49,7 @@ export function startSpan(name, options) {
47
49
  };
48
50
  }
49
51
  export function trackSpan(name, options, fn) {
50
- if (!isSupportedPlatform()) {
52
+ if (!isSupportedPlatform() || !getIsStarted() || getIsShutdown()) {
51
53
  return fn();
52
54
  }
53
55
  const mergedAttributes = mergeWithGlobalAttributes(options?.attributes || {});
@@ -63,21 +65,25 @@ export function trackSpan(name, options, fn) {
63
65
  return result;
64
66
  }
65
67
  function endSpan(spanId, statusCode) {
68
+ if (getIsShutdown()) return;
66
69
  PulseReactNativeOtel.endSpan(spanId, statusCode);
67
70
  }
68
71
  export function discardSpan(spanId) {
69
- if (!isSupportedPlatform()) {
72
+ if (!isSupportedPlatform() || !getIsStarted() || getIsShutdown()) {
70
73
  return;
71
74
  }
72
75
  PulseReactNativeOtel.discardSpan(spanId);
73
76
  }
74
77
  function addSpanEvent(spanId, name, attributes) {
78
+ if (getIsShutdown()) return;
75
79
  PulseReactNativeOtel.addSpanEvent(spanId, name, attributes || undefined);
76
80
  }
77
81
  function setSpanAttributes(spanId, attributes) {
82
+ if (getIsShutdown()) return;
78
83
  PulseReactNativeOtel.setSpanAttributes(spanId, attributes || undefined);
79
84
  }
80
85
  function recordSpanException(error, attributes) {
86
+ if (getIsShutdown()) return;
81
87
  const {
82
88
  message,
83
89
  stackTrace,
@@ -1 +1 @@
1
- {"version":3,"names":["PulseReactNativeOtel","isSupportedPlatform","mergeWithGlobalAttributes","extractErrorDetails","SpanStatusCode","startSpan","name","options","end","_statusCode","addEvent","_eventName","_eventAttributes","setAttributes","_attributes","recordException","_error","spanId","undefined","mergedAttributes","attributes","inheritContext","statusCode","endSpan","eventName","eventAttributes","addSpanEvent","spanAttributes","setSpanAttributes","error","recordSpanException","trackSpan","fn","result","then","finally","UNSET","discardSpan","message","stackTrace","errorType","observedTimeMs","Date","now","reportException"],"sourceRoot":"../../src","sources":["trace.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;AAC/D,SAASC,mBAAmB,QAAQ,qBAAkB;AACtD,SAASC,yBAAyB,QAAQ,uBAAoB;AAC9D,SAASC,mBAAmB,QAAQ,cAAW;;AAG/C;AACA;AACA;AACA;AACA;;AAMA,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAe1B,OAAO,SAASC,SAASA,CAACC,IAAY,EAAEC,OAAqB,EAAQ;EACnE,IAAI,CAACN,mBAAmB,CAAC,CAAC,EAAE;IAC1B,OAAO;MACLO,GAAG,EAAGC,WAA4B,IAAK,CAAC,CAAC;MACzCC,QAAQ,EAAEA,CAACC,UAAkB,EAAEC,gBAAkC,KAAK,CAAC,CAAC;MACxEC,aAAa,EAAGC,WAA6B,IAAK,CAAC,CAAC;MACpDC,eAAe,EAAEA,CAACC,MAAa,EAAEF,WAA6B,KAAK,CAAC,CAAC;MACrEG,MAAM,EAAEC;IACV,CAAC;EACH;EAEA,MAAMC,gBAAgB,GAAGjB,yBAAyB,CAACK,OAAO,EAAEa,UAAU,IAAI,CAAC,CAAC,CAAC;EAC7E,MAAMC,cAAc,GAAGd,OAAO,EAAEc,cAAc,IAAI,IAAI;EACtD,MAAMJ,MAAM,GAAGjB,oBAAoB,CAACK,SAAS,CAC3CC,IAAI,EACJe,cAAc,EACdF,gBACF,CAAC;EACD,OAAO;IACLX,GAAG,EAAGc,UAA2B,IAAK;MACpC,OAAOC,OAAO,CAACN,MAAM,EAAEK,UAAU,CAAC;IACpC,CAAC;IACDZ,QAAQ,EAAEA,CAACc,SAAiB,EAAEC,eAAiC,KAAK;MAClE,OAAOC,YAAY,CAACT,MAAM,EAAEO,SAAS,EAAEC,eAAe,CAAC;IACzD,CAAC;IACDZ,aAAa,EAAGc,cAAgC,IAAK;MACnD,OAAOC,iBAAiB,CAACX,MAAM,EAAEU,cAAc,CAAC;IAClD,CAAC;IACDZ,eAAe,EAAEA,CAACc,KAAY,EAAET,UAA4B,KAAK;MAC/D,OAAOU,mBAAmB,CAACD,KAAK,EAAET,UAAU,CAAC;IAC/C,CAAC;IACDH,MAAM,EAAEA;EACV,CAAC;AACH;AAEA,OAAO,SAASc,SAASA,CACvBzB,IAAY,EACZC,OAAoB,EACpByB,EAAwB,EACR;EAChB,IAAI,CAAC/B,mBAAmB,CAAC,CAAC,EAAE;IAC1B,OAAO+B,EAAE,CAAC,CAAC;EACb;EAEA,MAAMb,gBAAgB,GAAGjB,yBAAyB,CAACK,OAAO,EAAEa,UAAU,IAAI,CAAC,CAAC,CAAC;EAC7E,MAAMC,cAAc,GAAGd,OAAO,EAAEc,cAAc,IAAI,IAAI;EACtD,MAAMJ,MAAM,GAAGjB,oBAAoB,CAACK,SAAS,CAC3CC,IAAI,EACJe,cAAc,EACdF,gBACF,CAAC;EAED,MAAMc,MAAM,GAAGD,EAAE,CAAC,CAAC;EAEnB,IAAIC,MAAM,IAAI,OAAQA,MAAM,CAASC,IAAI,KAAK,UAAU,EAAE;IACxD,OAAQD,MAAM,CAAgBE,OAAO,CAAC,MAAM;MAC1CZ,OAAO,CAACN,MAAM,EAAEb,cAAc,CAACgC,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ;EAEAb,OAAO,CAACN,MAAM,EAAEb,cAAc,CAACgC,KAAK,CAAC;EACrC,OAAOH,MAAM;AACf;AAEA,SAASV,OAAOA,CAACN,MAAc,EAAEK,UAA2B,EAAQ;EAClEtB,oBAAoB,CAACuB,OAAO,CAACN,MAAM,EAAEK,UAAU,CAAC;AAClD;AAEA,OAAO,SAASe,WAAWA,CAACpB,MAAc,EAAQ;EAChD,IAAI,CAAChB,mBAAmB,CAAC,CAAC,EAAE;IAC1B;EACF;EACAD,oBAAoB,CAACqC,WAAW,CAACpB,MAAM,CAAC;AAC1C;AAEA,SAASS,YAAYA,CACnBT,MAAc,EACdX,IAAY,EACZc,UAA4B,EACtB;EACNpB,oBAAoB,CAAC0B,YAAY,CAACT,MAAM,EAAEX,IAAI,EAAEc,UAAU,IAAIF,SAAS,CAAC;AAC1E;AAEA,SAASU,iBAAiBA,CAACX,MAAc,EAAEG,UAA4B,EAAQ;EAC7EpB,oBAAoB,CAAC4B,iBAAiB,CAACX,MAAM,EAAEG,UAAU,IAAIF,SAAS,CAAC;AACzE;AAEA,SAASY,mBAAmBA,CAACD,KAAY,EAAET,UAA4B,EAAQ;EAC7E,MAAM;IAAEkB,OAAO;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAGrC,mBAAmB,CAAC0B,KAAK,CAAC;EACrE,MAAMY,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACjC,MAAMxB,gBAAgB,GAAGjB,yBAAyB,CAACkB,UAAU,IAAI,CAAC,CAAC,CAAC;EACpEpB,oBAAoB,CAAC4C,eAAe,CAClCN,OAAO,EACPG,cAAc,EACdF,UAAU,IAAI,EAAE,EAChB,KAAK,EACLC,SAAS,EACTrB,gBACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["PulseReactNativeOtel","getIsShutdown","getIsStarted","isSupportedPlatform","mergeWithGlobalAttributes","extractErrorDetails","noopSpan","end","_statusCode","addEvent","_eventName","_eventAttributes","setAttributes","_attributes","recordException","_error","spanId","undefined","SpanStatusCode","startSpan","name","options","mergedAttributes","attributes","inheritContext","statusCode","endSpan","eventName","eventAttributes","addSpanEvent","spanAttributes","setSpanAttributes","error","recordSpanException","trackSpan","fn","result","then","finally","UNSET","discardSpan","message","stackTrace","errorType","observedTimeMs","Date","now","reportException"],"sourceRoot":"../../src","sources":["trace.ts"],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  import PulseReactNativeOtel from "./NativePulseReactNativeOtel.js";
4
+ import { getIsShutdown } from "./config.js";
4
5
  import { isSupportedPlatform } from "./initialization.js";
5
6
  export function setUserId(id) {
6
- if (!isSupportedPlatform()) {
7
+ if (!isSupportedPlatform() || getIsShutdown()) {
7
8
  return;
8
9
  }
9
10
  PulseReactNativeOtel.setUserId(id);
10
11
  }
11
12
  export function setUserProperty(name, value) {
12
- if (!isSupportedPlatform()) {
13
+ if (!isSupportedPlatform() || getIsShutdown()) {
13
14
  return;
14
15
  }
15
16
  PulseReactNativeOtel.setUserProperty(name, value);
16
17
  }
17
18
  export function setUserProperties(properties) {
18
- if (!isSupportedPlatform()) {
19
+ if (!isSupportedPlatform() || getIsShutdown()) {
19
20
  return;
20
21
  }
21
22
  PulseReactNativeOtel.setUserProperties(properties);
@@ -1 +1 @@
1
- {"version":3,"names":["PulseReactNativeOtel","isSupportedPlatform","setUserId","id","setUserProperty","name","value","setUserProperties","properties"],"sourceRoot":"../../src","sources":["user.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;AAC/D,SAASC,mBAAmB,QAAQ,qBAAkB;AAGtD,OAAO,SAASC,SAASA,CAACC,EAAiB,EAAQ;EACjD,IAAI,CAACF,mBAAmB,CAAC,CAAC,EAAE;IAC1B;EACF;EACAD,oBAAoB,CAACE,SAAS,CAACC,EAAE,CAAC;AACpC;AAEA,OAAO,SAASC,eAAeA,CAACC,IAAY,EAAEC,KAAoB,EAAQ;EACxE,IAAI,CAACL,mBAAmB,CAAC,CAAC,EAAE;IAC1B;EACF;EACAD,oBAAoB,CAACI,eAAe,CAACC,IAAI,EAAEC,KAAK,CAAC;AACnD;AAEA,OAAO,SAASC,iBAAiBA,CAACC,UAA2B,EAAQ;EACnE,IAAI,CAACP,mBAAmB,CAAC,CAAC,EAAE;IAC1B;EACF;EACAD,oBAAoB,CAACO,iBAAiB,CAACC,UAAU,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["PulseReactNativeOtel","getIsShutdown","isSupportedPlatform","setUserId","id","setUserProperty","name","value","setUserProperties","properties"],"sourceRoot":"../../src","sources":["user.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;AAC/D,SAASC,aAAa,QAAQ,aAAU;AACxC,SAASC,mBAAmB,QAAQ,qBAAkB;AAGtD,OAAO,SAASC,SAASA,CAACC,EAAiB,EAAQ;EACjD,IAAI,CAACF,mBAAmB,CAAC,CAAC,IAAID,aAAa,CAAC,CAAC,EAAE;IAC7C;EACF;EACAD,oBAAoB,CAACG,SAAS,CAACC,EAAE,CAAC;AACpC;AAEA,OAAO,SAASC,eAAeA,CAACC,IAAY,EAAEC,KAAoB,EAAQ;EACxE,IAAI,CAACL,mBAAmB,CAAC,CAAC,IAAID,aAAa,CAAC,CAAC,EAAE;IAC7C;EACF;EACAD,oBAAoB,CAACK,eAAe,CAACC,IAAI,EAAEC,KAAK,CAAC;AACnD;AAEA,OAAO,SAASC,iBAAiBA,CAACC,UAA2B,EAAQ;EACnE,IAAI,CAACP,mBAAmB,CAAC,CAAC,IAAID,aAAa,CAAC,CAAC,EAAE;IAC7C;EACF;EACAD,oBAAoB,CAACQ,iBAAiB,CAACC,UAAU,CAAC;AACpD","ignoreList":[]}
@@ -11,7 +11,13 @@ interface IInteractionConfig {
11
11
  }
12
12
  export interface PulsePluginProps {
13
13
  endpointBaseUrl: string;
14
+ tenantId: string;
14
15
  endpointHeaders?: Record<string, string>;
16
+ /**
17
+ * Optional custom URL for fetching SDK configuration.
18
+ * If not provided, defaults to: {endpointBaseUrl with port 8080}/v1/configs/active/
19
+ */
20
+ configEndpointUrl?: string;
15
21
  globalAttributes?: PulseAttributes;
16
22
  instrumentation?: {
17
23
  interaction?: IInteractionConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../plugin/src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,EAAE,GACR,MAAM,EAAE,GACR,OAAO,EAAE,CAAC;AAEd,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN,mBAAmB,GAAG,SAAS,GAAG,IAAI,CACvC,CAAC;AAEF,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../plugin/src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,EAAE,GACR,MAAM,EAAE,GACR,OAAO,EAAE,CAAC;AAEd,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN,mBAAmB,GAAG,SAAS,GAAG,IAAI,CACvC,CAAC;AAEF,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,eAAe,CAAC,EAAE;QAChB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH"}
@@ -3,7 +3,9 @@ export declare const ATTRIBUTES_IMPORT = "import io.opentelemetry.api.common.Att
3
3
  import type { PulsePluginProps } from './types';
4
4
  export declare function buildPulseInitializationCode(options: {
5
5
  endpointBaseUrl: string;
6
+ tenantId: string;
6
7
  endpointHeaders?: Record<string, string>;
8
+ configEndpointUrl?: string;
7
9
  globalAttributes?: PulsePluginProps['globalAttributes'];
8
10
  instrumentation?: PulsePluginProps['instrumentation'];
9
11
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../plugin/src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,4CAA4C,CAAC;AAEtE,eAAO,MAAM,iBAAiB,qGACsE,CAAC;AAErG,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AA6DjE,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CACvD,GAAG,MAAM,CA2DT"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../plugin/src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,4CAA4C,CAAC;AAEtE,eAAO,MAAM,iBAAiB,qGACsE,CAAC;AAErG,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AA6DjE,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CACvD,GAAG,MAAM,CAmET"}
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidPulse.d.ts","sourceRoot":"","sources":["../../../../plugin/src/withAndroidPulse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAyD3D,CAAC"}
1
+ {"version":3,"file":"withAndroidPulse.d.ts","sourceRoot":"","sources":["../../../../plugin/src/withAndroidPulse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CA6D3D,CAAC"}
@@ -38,6 +38,8 @@ export interface Spec extends TurboModule {
38
38
  custom_events: boolean;
39
39
  js_crash: boolean;
40
40
  } | null;
41
+ /** Shut down the Pulse SDK. After this, re-init is not supported. */
42
+ shutdown(): boolean;
41
43
  }
42
44
  declare const _default: Spec;
43
45
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativePulseReactNativeOtel.d.ts","sourceRoot":"","sources":["../../../src/NativePulseReactNativeOtel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,yCAAyC;IACzC,aAAa,IAAI,OAAO,CAAC;IAEzB,4CAA4C;IAC5C,UAAU,CACR,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,gEAAgE;IAChE,iJAAiJ;IACjJ,eAAe,CACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,4CAA4C;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9E,4CAA4C;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtD,8BAA8B;IAC9B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzE,sCAAsC;IACtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE,qCAAqC;IACrC,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,oDAAoD;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,kEAAkE;IAClE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnC,kDAAkD;IAClD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1D,oDAAoD;IACpD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,2DAA2D;IAC3D,UAAU,IAAI,IAAI,CAAC;IAEnB,yFAAyF;IACzF,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAElD,yCAAyC;IACzC,cAAc,IAAI;QAChB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,uBAAuB,EAAE,OAAO,CAAC;QACjC,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI,CAAC;CACV;;AAED,wBAA8E"}
1
+ {"version":3,"file":"NativePulseReactNativeOtel.d.ts","sourceRoot":"","sources":["../../../src/NativePulseReactNativeOtel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,yCAAyC;IACzC,aAAa,IAAI,OAAO,CAAC;IAEzB,4CAA4C;IAC5C,UAAU,CACR,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,gEAAgE;IAChE,iJAAiJ;IACjJ,eAAe,CACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,4CAA4C;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9E,4CAA4C;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtD,8BAA8B;IAC9B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzE,sCAAsC;IACtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE,qCAAqC;IACrC,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAEX,oDAAoD;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,kEAAkE;IAClE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnC,kDAAkD;IAClD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1D,oDAAoD;IACpD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,2DAA2D;IAC3D,UAAU,IAAI,IAAI,CAAC;IAEnB,yFAAyF;IACzF,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAElD,yCAAyC;IACzC,cAAc,IAAI;QAChB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,uBAAuB,EAAE,OAAO,CAAC;QACjC,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI,CAAC;IAET,qEAAqE;IACrE,QAAQ,IAAI,OAAO,CAAC;CACrB;;AAED,wBAA8E"}
@@ -10,11 +10,15 @@ export type PulseConfig = {
10
10
  autoDetectNetwork?: boolean;
11
11
  networkHeaders?: NetworkHeaderConfig;
12
12
  };
13
+ export declare function getIsShutdown(): boolean;
14
+ /** True only after start() has been called at least once. Public APIs (trackEvent, reportException, startSpan, etc.) no-op until then. */
15
+ export declare function getIsStarted(): boolean;
13
16
  /**
14
17
  * Gets all features from the remote SDK config.
15
- * @returns Record of feature names to their enabled status, or null if config not available
18
+ * @returns Record of feature names to their enabled status, or null if config not available or start() not called
16
19
  */
17
20
  export declare function getFeaturesFromRemoteConfig(): PulseFeatureConfig;
18
21
  export declare function start(options?: PulseConfig): void;
22
+ export declare function shutdown(): void;
19
23
  export declare function createNavigationIntegrationWithConfig(options?: NavigationIntegrationOptions): ReactNavigationIntegration;
20
24
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,kBAAkB,CAOhE;AA2CD,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CA0BjD;AAED,wBAAgB,qCAAqC,CACnD,OAAO,CAAC,EAAE,4BAA4B,GACrC,0BAA0B,CAsB5B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAuBF,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,0IAA0I;AAC1I,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,kBAAkB,CAOhE;AA2CD,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAiCjD;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAU/B;AAED,wBAAgB,qCAAqC,CACnD,OAAO,CAAC,EAAE,4BAA4B,GACrC,0BAA0B,CAkC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorBoundary.d.ts","sourceRoot":"","sources":["../../../src/errorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAG3C,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,KAAK,KAAK,CAAC,YAAY,CAAC;AAEzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1E,CAAC;AAEF,KAAK,kBAAkB,GACnB;IACE,cAAc,EAAE,IAAI,CAAC;IACrB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAON,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAChD,kBAAkB,EAClB,kBAAkB,CACnB;IACQ,KAAK,EAAE,kBAAkB,CAAiB;IAE1C,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAmBnE,MAAM,IAAI,KAAK,CAAC,SAAS;CAsBjC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EACxC,oBAAoB,EAAE,kBAAkB,GACvC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAab"}
1
+ {"version":3,"file":"errorBoundary.d.ts","sourceRoot":"","sources":["../../../src/errorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAG3C,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,KAAK,KAAK,CAAC,YAAY,CAAC;AAEzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1E,CAAC;AAEF,KAAK,kBAAkB,GACnB;IACE,cAAc,EAAE,IAAI,CAAC;IACrB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAON,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAChD,kBAAkB,EAClB,kBAAkB,CACnB;IACQ,KAAK,EAAE,kBAAkB,CAAiB;IAE1C,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAqBnE,MAAM,IAAI,KAAK,CAAC,SAAS;CAsBjC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EACxC,oBAAoB,EAAE,kBAAkB,GACvC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAab"}
@@ -1,4 +1,5 @@
1
1
  import type { PulseAttributes } from './pulse.interface';
2
2
  export declare function reportException(error: Error | string, isFatal?: boolean, attributes?: PulseAttributes): void;
3
+ export declare function uninstallErrorHandler(): void;
3
4
  export declare function setupErrorHandler(enableErrorHandler: boolean): void;
4
5
  //# sourceMappingURL=errorHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/errorHandler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA6DzD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,OAAO,GAAE,OAAe,EACxB,UAAU,CAAC,EAAE,eAAe,GAC3B,IAAI,CA2BN;AAkED,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAMnE"}
1
+ {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/errorHandler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA6DzD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,OAAO,GAAE,OAAe,EACxB,UAAU,CAAC,EAAE,eAAe,GAC3B,IAAI,CA2BN;AAkED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAMnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAe5E"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAe5E"}
@@ -1,7 +1,7 @@
1
1
  import { startSpan, trackSpan } from './trace';
2
2
  import { reportException } from './errorHandler';
3
3
  import { trackEvent } from './events';
4
- import { start } from './config';
4
+ import { start, shutdown } from './config';
5
5
  import { isInitialized } from './initialization';
6
6
  import { setGlobalAttribute } from './globalAttributes';
7
7
  import { setUserId, setUserProperty, setUserProperties } from './user';
@@ -15,6 +15,7 @@ export type { ErrorBoundaryProps, FallbackRender } from './errorBoundary';
15
15
  export { SpanStatusCode } from './trace';
16
16
  export declare const Pulse: {
17
17
  start: typeof start;
18
+ shutdown: typeof shutdown;
18
19
  isInitialized: typeof isInitialized;
19
20
  useNavigationTracking: typeof useNavigationTracking;
20
21
  markContentReady: typeof markContentReady;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEvE,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EACV,0BAA0B,EAC1B,eAAe,EACf,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;CAejB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEvE,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EACV,0BAA0B,EAC1B,eAAe,EACf,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;CAgBjB,CAAC"}
@@ -3,6 +3,7 @@ import type { NavigationIntegrationOptions, NavigationRoute } from './navigation
3
3
  import { markContentReady } from './screen-interactive';
4
4
  export type { NavigationRoute, NavigationIntegrationOptions };
5
5
  export { DEFAULT_NAVIGATION_OPTIONS } from './navigation.interface';
6
+ export declare function uninstallNavigationIntegration(): void;
6
7
  export interface ReactNavigationIntegration {
7
8
  registerNavigationContainer: (maybeNavigationContainer: unknown) => () => void;
8
9
  markContentReady: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/navigation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAEV,4BAA4B,EAC5B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAEL,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAe9B,YAAY,EAAE,eAAe,EAAE,4BAA4B,EAAE,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,WAAW,0BAA0B;IACzC,2BAA2B,EAAE,CAC3B,wBAAwB,EAAE,OAAO,KAC9B,MAAM,IAAI,CAAC;IAChB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAYD,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,4BAA4B,GACrC,0BAA0B,CAsQ5B;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,EAC7B,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,IAAI,CAOZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/navigation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAEV,4BAA4B,EAC5B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAEL,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAe9B,YAAY,EAAE,eAAe,EAAE,4BAA4B,EAAE,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAIpE,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED,MAAM,WAAW,0BAA0B;IACzC,2BAA2B,EAAE,CAC3B,wBAAwB,EAAE,OAAO,KAC9B,MAAM,IAAI,CAAC;IAChB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAYD,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,4BAA4B,GACrC,0BAA0B,CA0Q5B;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,EAC7B,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,IAAI,CAOZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"screen-interactive.d.ts","sourceRoot":"","sources":["../../../../src/navigation/screen-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,EAAE,IAAI,GAAG,SAAS,CAAC;IACxC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAG9C,CAAC;AAIF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,sBAAsB,EAC7B,mBAAmB,EAAE,mBAAmB,GAAG,SAAS;oCAeb,eAAe,KAAG,IAAI;uCAgCnB,MAAM,KAAG,IAAI;uCA7Cb,MAAM,KAAG,IAAI;4BAwDpB,IAAI;EA+CxC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,MAAM,IAAI,GAC7B,IAAI,CAIN"}
1
+ {"version":3,"file":"screen-interactive.d.ts","sourceRoot":"","sources":["../../../../src/navigation/screen-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC;AAK5C,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,EAAE,IAAI,GAAG,SAAS,CAAC;IACxC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAG9C,CAAC;AAIF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,sBAAsB,EAC7B,mBAAmB,EAAE,mBAAmB,GAAG,SAAS;oCAeb,eAAe,KAAG,IAAI;uCAgCnB,MAAM,KAAG,IAAI;uCA7Cb,MAAM,KAAG,IAAI;4BAwDpB,IAAI;EA+CxC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC;AAED,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,MAAM,IAAI,GAC7B,IAAI,CAIN"}
@@ -3,4 +3,5 @@ export { normalizeHeaderName, shouldCaptureHeader } from './header-helper';
3
3
  export declare function getHeaderConfig(): NetworkHeaderConfig;
4
4
  export declare function initializeNetworkInterceptor(config?: NetworkHeaderConfig): void;
5
5
  export declare const isNetworkInterceptorInitialized: () => boolean;
6
+ export declare function uninstallNetworkInterceptor(): void;
6
7
  //# sourceMappingURL=initialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../../../src/network-interceptor/initialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAQ3E,wBAAgB,eAAe,IAAI,mBAAmB,CAErD;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,mBAAmB,GAC3B,IAAI,CA6BN;AAED,eAAO,MAAM,+BAA+B,QAAO,OAAwB,CAAC"}
1
+ {"version":3,"file":"initialization.d.ts","sourceRoot":"","sources":["../../../../src/network-interceptor/initialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAS3E,wBAAgB,eAAe,IAAI,mBAAmB,CAErD;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,mBAAmB,GAC3B,IAAI,CA8BN;AAED,eAAO,MAAM,+BAA+B,QAAO,OAAwB,CAAC;AAE5E,wBAAgB,2BAA2B,IAAI,IAAI,CASlD"}
@@ -1,4 +1,8 @@
1
1
  import { RequestTracker } from './request-tracker';
2
- declare function createXmlHttpRequestTracker(xhr: typeof XMLHttpRequest): RequestTracker;
2
+ export interface XmlHttpRequestTrackerResult {
3
+ requestTracker: RequestTracker;
4
+ uninstall: () => void;
5
+ }
6
+ declare function createXmlHttpRequestTracker(xhr: typeof XMLHttpRequest): XmlHttpRequestTrackerResult;
3
7
  export default createXmlHttpRequestTracker;
4
8
  //# sourceMappingURL=request-tracker-xhr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-tracker-xhr.d.ts","sourceRoot":"","sources":["../../../../src/network-interceptor/request-tracker-xhr.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBnD,iBAAS,2BAA2B,CAClC,GAAG,EAAE,OAAO,cAAc,GACzB,cAAc,CA6KhB;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"request-tracker-xhr.d.ts","sourceRoot":"","sources":["../../../../src/network-interceptor/request-tracker-xhr.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBnD,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,iBAAS,2BAA2B,CAClC,GAAG,EAAE,OAAO,cAAc,GACzB,2BAA2B,CAqL7B;AAED,eAAe,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAEtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAiCnE;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBhB;AAMD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUzD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAEtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CA2BnE;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBhB;AAOD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKxE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAKnE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKxE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAKnE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreamhorizonorg/pulse-react-native",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Production-grade observability SDK for React Native applications with OpenTelemetry support. Real-time monitoring, error tracking, performance insights, and distributed tracing.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -11,7 +11,13 @@ interface IInteractionConfig {
11
11
  }
12
12
  export interface PulsePluginProps {
13
13
  endpointBaseUrl: string;
14
+ tenantId: string;
14
15
  endpointHeaders?: Record<string, string>;
16
+ /**
17
+ * Optional custom URL for fetching SDK configuration.
18
+ * If not provided, defaults to: {endpointBaseUrl with port 8080}/v1/configs/active/
19
+ */
20
+ configEndpointUrl?: string;
15
21
  globalAttributes?: PulseAttributes;
16
22
  instrumentation?: {
17
23
  interaction?: IInteractionConfig;
@@ -3,7 +3,9 @@ export declare const ATTRIBUTES_IMPORT = "import io.opentelemetry.api.common.Att
3
3
  import type { PulsePluginProps } from './types';
4
4
  export declare function buildPulseInitializationCode(options: {
5
5
  endpointBaseUrl: string;
6
+ tenantId: string;
6
7
  endpointHeaders?: Record<string, string>;
8
+ configEndpointUrl?: string;
7
9
  globalAttributes?: PulsePluginProps['globalAttributes'];
8
10
  instrumentation?: PulsePluginProps['instrumentation'];
9
11
  }): string;
@@ -59,18 +59,22 @@ function buildGlobalAttributesLambda(attributes) {
59
59
  return `{\n Attributes.builder().apply {\n${formatted}\n }.build()\n }`;
60
60
  }
61
61
  function buildPulseInitializationCode(options) {
62
- const { endpointBaseUrl, endpointHeaders, globalAttributes, instrumentation, } = options;
62
+ const { endpointBaseUrl, tenantId, endpointHeaders, configEndpointUrl, globalAttributes, instrumentation, } = options;
63
63
  const params = [];
64
+ params.push(`tenantId = "${tenantId}"`);
64
65
  if (endpointHeaders && Object.keys(endpointHeaders).length > 0) {
65
66
  params.push(`endpointHeaders = ${buildEndpointHeadersMap(endpointHeaders)}`);
66
67
  }
68
+ if (configEndpointUrl) {
69
+ params.push(`configEndpointUrl = "${configEndpointUrl}"`);
70
+ }
67
71
  const attributesLambda = globalAttributes
68
72
  ? buildGlobalAttributesLambda(globalAttributes)
69
73
  : null;
70
74
  if (attributesLambda && attributesLambda !== 'null') {
71
75
  params.push(`globalAttributes = ${attributesLambda}`);
72
76
  }
73
- let code = `\n Pulse.initialize(\n this,\n "${endpointBaseUrl}"${params.length > 0 ? `,\n ${params.join(',\n ')}` : ''}\n ) {\n`;
77
+ let code = `\n Pulse.initialize(\n this,\n "${endpointBaseUrl}",\n ${params.join(',\n ')}\n ) {\n`;
74
78
  if (instrumentation?.interaction !== undefined) {
75
79
  if (instrumentation.interaction.url) {
76
80
  code += ` interaction { enabled(${instrumentation.interaction.enabled}); setConfigUrl { "${instrumentation.interaction.url}" } }\n`;
@@ -7,7 +7,7 @@ const utils_1 = require("./utils");
7
7
  const withAndroidPulse = (config, props) => {
8
8
  return (0, config_plugins_1.withMainApplication)(config, (modConfig) => {
9
9
  try {
10
- const { endpointBaseUrl, endpointHeaders, globalAttributes, instrumentation, } = props;
10
+ const { endpointBaseUrl, tenantId, endpointHeaders, configEndpointUrl, globalAttributes, instrumentation, } = props;
11
11
  // 1. Add import statements
12
12
  modConfig.modResults.contents = (0, generateCode_1.mergeContents)({
13
13
  src: modConfig.modResults.contents,
@@ -29,7 +29,9 @@ const withAndroidPulse = (config, props) => {
29
29
  }
30
30
  const initCode = (0, utils_1.buildPulseInitializationCode)({
31
31
  endpointBaseUrl,
32
+ tenantId,
32
33
  endpointHeaders,
34
+ configEndpointUrl,
33
35
  globalAttributes,
34
36
  instrumentation,
35
37
  });
@@ -68,6 +68,9 @@ export interface Spec extends TurboModule {
68
68
  custom_events: boolean;
69
69
  js_crash: boolean;
70
70
  } | null;
71
+
72
+ /** Shut down the Pulse SDK. After this, re-init is not supported. */
73
+ shutdown(): boolean;
71
74
  }
72
75
 
73
76
  export default TurboModuleRegistry.getEnforcing<Spec>('PulseReactNativeOtel');