@openobserve/browser-core 0.3.4 → 0.4.0-beta.2

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 (934) hide show
  1. package/README.md +1 -1
  2. package/cjs/boot/displayAlreadyInitializedError.js +6 -7
  3. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
  4. package/cjs/boot/init.js +26 -34
  5. package/cjs/boot/init.js.map +1 -1
  6. package/cjs/browser/addEventListener.d.ts +10 -8
  7. package/cjs/browser/addEventListener.js +107 -50
  8. package/cjs/browser/addEventListener.js.map +1 -1
  9. package/cjs/browser/browser.types.d.ts +91 -4
  10. package/cjs/browser/cookie.d.ts +0 -1
  11. package/cjs/browser/cookie.js +65 -92
  12. package/cjs/browser/cookie.js.map +1 -1
  13. package/cjs/browser/cookieAccess.d.ts +16 -0
  14. package/cjs/browser/cookieAccess.js +114 -0
  15. package/cjs/browser/cookieAccess.js.map +1 -0
  16. package/cjs/browser/fetch.d.ts +9 -0
  17. package/cjs/browser/fetch.js +18 -0
  18. package/cjs/browser/fetch.js.map +1 -0
  19. package/cjs/browser/fetchObservable.d.ts +3 -3
  20. package/cjs/browser/fetchObservable.js +80 -92
  21. package/cjs/browser/fetchObservable.js.map +1 -1
  22. package/cjs/browser/pageMayExitObservable.d.ts +1 -2
  23. package/cjs/browser/pageMayExitObservable.js +41 -40
  24. package/cjs/browser/pageMayExitObservable.js.map +1 -1
  25. package/cjs/browser/runOnReadyState.d.ts +2 -3
  26. package/cjs/browser/runOnReadyState.js +18 -17
  27. package/cjs/browser/runOnReadyState.js.map +1 -1
  28. package/cjs/browser/xhrObservable.d.ts +8 -3
  29. package/cjs/browser/xhrObservable.js +65 -77
  30. package/cjs/browser/xhrObservable.js.map +1 -1
  31. package/cjs/domain/allowedTrackingOrigins.d.ts +1 -1
  32. package/cjs/domain/allowedTrackingOrigins.js +25 -23
  33. package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
  34. package/cjs/domain/bufferedData.d.ts +20 -6
  35. package/cjs/domain/bufferedData.js +41 -19
  36. package/cjs/domain/bufferedData.js.map +1 -1
  37. package/cjs/domain/configuration/configuration.d.ts +44 -43
  38. package/cjs/domain/configuration/configuration.js +122 -125
  39. package/cjs/domain/configuration/configuration.js.map +1 -1
  40. package/cjs/domain/configuration/endpointBuilder.d.ts +42 -7
  41. package/cjs/domain/configuration/endpointBuilder.js +67 -74
  42. package/cjs/domain/configuration/endpointBuilder.js.map +1 -1
  43. package/cjs/domain/configuration/index.d.ts +2 -3
  44. package/cjs/domain/connectivity/connectivity.d.ts +1 -7
  45. package/cjs/domain/connectivity/connectivity.js +11 -11
  46. package/cjs/domain/connectivity/connectivity.js.map +1 -1
  47. package/cjs/domain/console/consoleObservable.d.ts +1 -1
  48. package/cjs/domain/console/consoleObservable.js +59 -74
  49. package/cjs/domain/console/consoleObservable.js.map +1 -1
  50. package/cjs/domain/context/contextConstants.js +24 -15
  51. package/cjs/domain/context/contextConstants.js.map +1 -1
  52. package/cjs/domain/context/contextManager.js +49 -54
  53. package/cjs/domain/context/contextManager.js.map +1 -1
  54. package/cjs/domain/context/contextUtils.js +11 -12
  55. package/cjs/domain/context/contextUtils.js.map +1 -1
  56. package/cjs/domain/context/defineContextMethod.d.ts +2 -2
  57. package/cjs/domain/context/defineContextMethod.js +15 -16
  58. package/cjs/domain/context/defineContextMethod.js.map +1 -1
  59. package/cjs/domain/context/storeContextManager.d.ts +1 -2
  60. package/cjs/domain/context/storeContextManager.js +30 -33
  61. package/cjs/domain/context/storeContextManager.js.map +1 -1
  62. package/cjs/domain/contexts/accountContext.d.ts +2 -2
  63. package/cjs/domain/contexts/accountContext.js +26 -29
  64. package/cjs/domain/contexts/accountContext.js.map +1 -1
  65. package/cjs/domain/contexts/globalContext.d.ts +2 -2
  66. package/cjs/domain/contexts/globalContext.js +17 -17
  67. package/cjs/domain/contexts/globalContext.js.map +1 -1
  68. package/cjs/domain/contexts/tabContext.d.ts +4 -0
  69. package/cjs/domain/contexts/tabContext.js +27 -0
  70. package/cjs/domain/contexts/tabContext.js.map +1 -0
  71. package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
  72. package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
  73. package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
  74. package/cjs/domain/contexts/userContext.d.ts +8 -3
  75. package/cjs/domain/contexts/userContext.js +29 -41
  76. package/cjs/domain/contexts/userContext.js.map +1 -1
  77. package/cjs/domain/deflate/deflate.types.js +11 -2
  78. package/cjs/domain/deflate/deflate.types.js.map +1 -1
  79. package/cjs/domain/error/error.d.ts +1 -1
  80. package/cjs/domain/error/error.js +62 -60
  81. package/cjs/domain/error/error.js.map +1 -1
  82. package/cjs/domain/error/error.types.d.ts +1 -1
  83. package/cjs/domain/error/error.types.js +24 -11
  84. package/cjs/domain/error/error.types.js.map +1 -1
  85. package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
  86. package/cjs/domain/error/trackRuntimeError.js +41 -41
  87. package/cjs/domain/error/trackRuntimeError.js.map +1 -1
  88. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +33 -38
  89. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
  90. package/cjs/domain/extension/extensionUtils.js +18 -25
  91. package/cjs/domain/extension/extensionUtils.js.map +1 -1
  92. package/cjs/domain/intakeSites.d.ts +3 -3
  93. package/cjs/domain/intakeSites.js +23 -10
  94. package/cjs/domain/intakeSites.js.map +1 -1
  95. package/cjs/domain/report/reportObservable.d.ts +1 -2
  96. package/cjs/domain/report/reportObservable.js +73 -85
  97. package/cjs/domain/report/reportObservable.js.map +1 -1
  98. package/cjs/domain/resourceUtils.js +19 -17
  99. package/cjs/domain/resourceUtils.js.map +1 -1
  100. package/cjs/domain/sampler.d.ts +11 -0
  101. package/cjs/domain/sampler.js +40 -0
  102. package/cjs/domain/sampler.js.map +1 -0
  103. package/cjs/domain/session/sessionConstants.d.ts +1 -0
  104. package/cjs/domain/session/sessionConstants.js +19 -13
  105. package/cjs/domain/session/sessionConstants.js.map +1 -1
  106. package/cjs/domain/session/sessionManager.d.ts +13 -13
  107. package/cjs/domain/session/sessionManager.js +219 -193
  108. package/cjs/domain/session/sessionManager.js.map +1 -1
  109. package/cjs/domain/session/sessionState.d.ts +10 -1
  110. package/cjs/domain/session/sessionState.js +70 -55
  111. package/cjs/domain/session/sessionState.js.map +1 -1
  112. package/cjs/domain/session/sessionStateValidation.js +7 -8
  113. package/cjs/domain/session/sessionStateValidation.js.map +1 -1
  114. package/cjs/domain/session/sessionStore.d.ts +4 -33
  115. package/cjs/domain/session/sessionStore.js +42 -180
  116. package/cjs/domain/session/sessionStore.js.map +1 -1
  117. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
  118. package/cjs/domain/session/storeStrategies/sessionInCookie.js +89 -95
  119. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
  120. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
  121. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
  122. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
  123. package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
  124. package/cjs/domain/session/storeStrategies/sessionInMemory.js +35 -0
  125. package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
  126. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
  127. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
  128. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
  129. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
  130. package/cjs/domain/synthetics/syntheticsWorkerValues.js +33 -25
  131. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
  132. package/cjs/domain/tags.d.ts +0 -1
  133. package/cjs/domain/tags.js +22 -58
  134. package/cjs/domain/tags.js.map +1 -1
  135. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
  136. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
  137. package/cjs/domain/telemetry/telemetry.d.ts +8 -8
  138. package/cjs/domain/telemetry/telemetry.js +196 -211
  139. package/cjs/domain/telemetry/telemetry.js.map +1 -1
  140. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +97 -17
  141. package/cjs/domain/trackingConsent.d.ts +1 -0
  142. package/cjs/domain/trackingConsent.js +35 -24
  143. package/cjs/domain/trackingConsent.js.map +1 -1
  144. package/cjs/index.d.ts +25 -22
  145. package/cjs/index.js +281 -194
  146. package/cjs/tools/abstractLifeCycle.js +19 -26
  147. package/cjs/tools/abstractLifeCycle.js.map +1 -1
  148. package/cjs/tools/catchUserErrors.js +12 -12
  149. package/cjs/tools/catchUserErrors.js.map +1 -1
  150. package/cjs/tools/display.d.ts +1 -35
  151. package/cjs/tools/display.js +11 -43
  152. package/cjs/tools/display.js.map +1 -1
  153. package/cjs/tools/encoder.js +36 -37
  154. package/cjs/tools/encoder.js.map +1 -1
  155. package/cjs/tools/experimentalFeatures.d.ts +1 -4
  156. package/cjs/tools/experimentalFeatures.js +29 -40
  157. package/cjs/tools/experimentalFeatures.js.map +1 -1
  158. package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
  159. package/cjs/tools/getZoneJsOriginalValue.js +22 -25
  160. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
  161. package/cjs/tools/globalObject.d.ts +16 -15
  162. package/cjs/tools/globalObject.js +7 -43
  163. package/cjs/tools/globalObject.js.map +1 -1
  164. package/cjs/tools/instrumentMethod.d.ts +58 -1
  165. package/cjs/tools/instrumentMethod.js +174 -112
  166. package/cjs/tools/instrumentMethod.js.map +1 -1
  167. package/cjs/tools/matchOption.js +25 -29
  168. package/cjs/tools/matchOption.js.map +1 -1
  169. package/cjs/tools/mockable.d.ts +22 -0
  170. package/cjs/tools/mockable.js +28 -0
  171. package/cjs/tools/mockable.js.map +1 -0
  172. package/cjs/tools/monitor.d.ts +5 -7
  173. package/cjs/tools/monitor.js +13 -58
  174. package/cjs/tools/monitor.js.map +1 -1
  175. package/cjs/tools/observable.d.ts +3 -1
  176. package/cjs/tools/observable.js +75 -85
  177. package/cjs/tools/observable.js.map +1 -1
  178. package/cjs/tools/queueMicrotask.js +9 -14
  179. package/cjs/tools/queueMicrotask.js.map +1 -1
  180. package/cjs/tools/readBytesFromStream.d.ts +1 -6
  181. package/cjs/tools/readBytesFromStream.js +18 -25
  182. package/cjs/tools/readBytesFromStream.js.map +1 -1
  183. package/cjs/tools/requestIdleCallback.js +22 -29
  184. package/cjs/tools/requestIdleCallback.js.map +1 -1
  185. package/cjs/tools/sendToExtension.js +10 -8
  186. package/cjs/tools/sendToExtension.js.map +1 -1
  187. package/cjs/tools/serialisation/jsonStringify.js +37 -42
  188. package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
  189. package/cjs/tools/serialisation/sanitize.d.ts +1 -0
  190. package/cjs/tools/serialisation/sanitize.js +111 -167
  191. package/cjs/tools/serialisation/sanitize.js.map +1 -1
  192. package/cjs/tools/serialisation/stringify.d.ts +2 -0
  193. package/cjs/tools/serialisation/stringify.js +18 -0
  194. package/cjs/tools/serialisation/stringify.js.map +1 -0
  195. package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
  196. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
  197. package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
  198. package/cjs/tools/stackTrace/handlingStack.js +39 -38
  199. package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
  200. package/cjs/tools/taskQueue.js +40 -49
  201. package/cjs/tools/taskQueue.js.map +1 -1
  202. package/cjs/tools/timer.d.ts +2 -1
  203. package/cjs/tools/timer.js +14 -13
  204. package/cjs/tools/timer.js.map +1 -1
  205. package/cjs/tools/utils/arrayUtils.d.ts +1 -0
  206. package/cjs/tools/utils/arrayUtils.js +17 -13
  207. package/cjs/tools/utils/arrayUtils.js.map +1 -1
  208. package/cjs/tools/utils/browserDetection.d.ts +1 -0
  209. package/cjs/tools/utils/browserDetection.js +25 -23
  210. package/cjs/tools/utils/browserDetection.js.map +1 -1
  211. package/cjs/tools/utils/byteUtils.js +20 -28
  212. package/cjs/tools/utils/byteUtils.js.map +1 -1
  213. package/cjs/tools/utils/functionUtils.js +33 -40
  214. package/cjs/tools/utils/functionUtils.js.map +1 -1
  215. package/cjs/tools/utils/numberUtils.js +15 -14
  216. package/cjs/tools/utils/numberUtils.js.map +1 -1
  217. package/cjs/tools/utils/objectUtils.d.ts +2 -0
  218. package/cjs/tools/utils/objectUtils.js +27 -14
  219. package/cjs/tools/utils/objectUtils.js.map +1 -1
  220. package/cjs/tools/utils/polyfills.js +12 -16
  221. package/cjs/tools/utils/polyfills.js.map +1 -1
  222. package/cjs/tools/utils/responseUtils.js +11 -12
  223. package/cjs/tools/utils/responseUtils.js.map +1 -1
  224. package/cjs/tools/utils/stringUtils.js +56 -77
  225. package/cjs/tools/utils/stringUtils.js.map +1 -1
  226. package/cjs/tools/utils/timezone.js +9 -10
  227. package/cjs/tools/utils/timezone.js.map +1 -1
  228. package/cjs/tools/utils/urlPolyfill.js +42 -46
  229. package/cjs/tools/utils/urlPolyfill.js.map +1 -1
  230. package/cjs/tools/valueHistory.d.ts +9 -1
  231. package/cjs/tools/valueHistory.js +110 -99
  232. package/cjs/tools/valueHistory.js.map +1 -1
  233. package/cjs/transport/batch.js +73 -106
  234. package/cjs/transport/batch.js.map +1 -1
  235. package/cjs/transport/eventBridge.d.ts +6 -2
  236. package/cjs/transport/eventBridge.js +53 -38
  237. package/cjs/transport/eventBridge.js.map +1 -1
  238. package/cjs/transport/flushController.d.ts +2 -12
  239. package/cjs/transport/flushController.js +98 -117
  240. package/cjs/transport/flushController.js.map +1 -1
  241. package/cjs/transport/httpRequest.d.ts +0 -1
  242. package/cjs/transport/httpRequest.js +51 -85
  243. package/cjs/transport/httpRequest.js.map +1 -1
  244. package/cjs/transport/index.d.ts +1 -0
  245. package/cjs/transport/sendWithRetryStrategy.js +133 -146
  246. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  247. package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
  248. package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
  249. package/esm/boot/init.mjs +30 -0
  250. package/esm/boot/init.mjs.map +1 -0
  251. package/esm/browser/addEventListener.mjs +107 -0
  252. package/esm/browser/addEventListener.mjs.map +1 -0
  253. package/esm/browser/cookie.mjs +81 -0
  254. package/esm/browser/cookie.mjs.map +1 -0
  255. package/esm/browser/cookieAccess.mjs +111 -0
  256. package/esm/browser/cookieAccess.mjs.map +1 -0
  257. package/esm/browser/fetch.mjs +18 -0
  258. package/esm/browser/fetch.mjs.map +1 -0
  259. package/esm/browser/fetchObservable.mjs +90 -0
  260. package/esm/browser/fetchObservable.mjs.map +1 -0
  261. package/esm/browser/pageMayExitObservable.mjs +44 -0
  262. package/esm/browser/pageMayExitObservable.mjs.map +1 -0
  263. package/esm/browser/runOnReadyState.mjs +19 -0
  264. package/esm/browser/runOnReadyState.mjs.map +1 -0
  265. package/esm/browser/xhrObservable.mjs +74 -0
  266. package/esm/browser/xhrObservable.mjs.map +1 -0
  267. package/esm/domain/allowedTrackingOrigins.mjs +27 -0
  268. package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
  269. package/esm/domain/bufferedData.mjs +43 -0
  270. package/esm/domain/bufferedData.mjs.map +1 -0
  271. package/esm/domain/configuration/configuration.mjs +131 -0
  272. package/esm/domain/configuration/configuration.mjs.map +1 -0
  273. package/esm/domain/configuration/endpointBuilder.mjs +72 -0
  274. package/esm/domain/configuration/endpointBuilder.mjs.map +1 -0
  275. package/esm/domain/connectivity/connectivity.mjs +14 -0
  276. package/esm/domain/connectivity/connectivity.mjs.map +1 -0
  277. package/esm/domain/console/consoleObservable.mjs +69 -0
  278. package/esm/domain/console/consoleObservable.mjs.map +1 -0
  279. package/esm/domain/context/contextConstants.mjs +25 -0
  280. package/esm/domain/context/contextConstants.mjs.map +1 -0
  281. package/esm/domain/context/contextManager.mjs +55 -0
  282. package/esm/domain/context/contextManager.mjs.map +1 -0
  283. package/esm/domain/context/contextUtils.mjs +15 -0
  284. package/esm/domain/context/contextUtils.mjs.map +1 -0
  285. package/esm/domain/context/defineContextMethod.mjs +19 -0
  286. package/esm/domain/context/defineContextMethod.mjs.map +1 -0
  287. package/esm/domain/context/storeContextManager.mjs +36 -0
  288. package/esm/domain/context/storeContextManager.mjs.map +1 -0
  289. package/esm/domain/contexts/accountContext.mjs +29 -0
  290. package/esm/domain/contexts/accountContext.mjs.map +1 -0
  291. package/esm/domain/contexts/globalContext.mjs +20 -0
  292. package/esm/domain/contexts/globalContext.mjs.map +1 -0
  293. package/esm/domain/contexts/tabContext.mjs +27 -0
  294. package/esm/domain/contexts/tabContext.mjs.map +1 -0
  295. package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
  296. package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
  297. package/esm/domain/contexts/userContext.mjs +32 -0
  298. package/esm/domain/contexts/userContext.mjs.map +1 -0
  299. package/esm/domain/deflate/deflate.types.mjs +12 -0
  300. package/esm/domain/deflate/deflate.types.mjs.map +1 -0
  301. package/esm/domain/error/error.mjs +73 -0
  302. package/esm/domain/error/error.mjs.map +1 -0
  303. package/esm/domain/error/error.types.mjs +24 -0
  304. package/esm/domain/error/error.types.mjs.map +1 -0
  305. package/esm/domain/error/trackRuntimeError.mjs +48 -0
  306. package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
  307. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +36 -0
  308. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
  309. package/esm/domain/extension/extensionUtils.mjs +23 -0
  310. package/esm/domain/extension/extensionUtils.mjs.map +1 -0
  311. package/esm/domain/intakeSites.mjs +18 -0
  312. package/esm/domain/intakeSites.mjs.map +1 -0
  313. package/esm/domain/report/reportObservable.mjs +86 -0
  314. package/esm/domain/report/reportObservable.mjs.map +1 -0
  315. package/esm/domain/resourceUtils.mjs +21 -0
  316. package/esm/domain/resourceUtils.mjs.map +1 -0
  317. package/esm/domain/sampler.mjs +37 -0
  318. package/esm/domain/sampler.mjs.map +1 -0
  319. package/esm/domain/session/sessionConstants.mjs +18 -0
  320. package/esm/domain/session/sessionConstants.mjs.map +1 -0
  321. package/esm/domain/session/sessionManager.mjs +225 -0
  322. package/esm/domain/session/sessionManager.mjs.map +1 -0
  323. package/esm/domain/session/sessionState.mjs +76 -0
  324. package/esm/domain/session/sessionState.mjs.map +1 -0
  325. package/esm/domain/session/sessionStateValidation.mjs +9 -0
  326. package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
  327. package/esm/domain/session/sessionStore.mjs +46 -0
  328. package/esm/domain/session/sessionStore.mjs.map +1 -0
  329. package/esm/domain/session/storeStrategies/sessionInCookie.mjs +97 -0
  330. package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
  331. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
  332. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
  333. package/esm/domain/session/storeStrategies/sessionInMemory.mjs +33 -0
  334. package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
  335. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
  336. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
  337. package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
  338. package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
  339. package/esm/domain/tags.mjs +28 -0
  340. package/esm/domain/tags.mjs.map +1 -0
  341. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
  342. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
  343. package/esm/domain/telemetry/telemetry.mjs +219 -0
  344. package/esm/domain/telemetry/telemetry.mjs.map +1 -0
  345. package/esm/domain/trackingConsent.mjs +38 -0
  346. package/esm/domain/trackingConsent.mjs.map +1 -0
  347. package/esm/index.mjs +81 -0
  348. package/esm/tools/abstractLifeCycle.mjs +21 -0
  349. package/esm/tools/abstractLifeCycle.mjs.map +1 -0
  350. package/esm/tools/catchUserErrors.mjs +15 -0
  351. package/esm/tools/catchUserErrors.mjs.map +1 -0
  352. package/esm/tools/display.mjs +10 -0
  353. package/esm/tools/display.mjs.map +1 -0
  354. package/esm/tools/encoder.mjs +39 -0
  355. package/esm/tools/encoder.mjs.map +1 -0
  356. package/esm/tools/experimentalFeatures.mjs +35 -0
  357. package/esm/tools/experimentalFeatures.mjs.map +1 -0
  358. package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
  359. package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
  360. package/esm/tools/globalObject.mjs +7 -0
  361. package/esm/tools/globalObject.mjs.map +1 -0
  362. package/esm/tools/instrumentMethod.mjs +178 -0
  363. package/esm/tools/instrumentMethod.mjs.map +1 -0
  364. package/esm/tools/matchOption.mjs +30 -0
  365. package/esm/tools/matchOption.mjs.map +1 -0
  366. package/esm/tools/mockable.mjs +28 -0
  367. package/esm/tools/mockable.mjs.map +1 -0
  368. package/esm/tools/monitor.mjs +13 -0
  369. package/esm/tools/monitor.mjs.map +1 -0
  370. package/esm/tools/observable.mjs +77 -0
  371. package/esm/tools/observable.mjs.map +1 -0
  372. package/esm/tools/queueMicrotask.mjs +12 -0
  373. package/esm/tools/queueMicrotask.mjs.map +1 -0
  374. package/esm/tools/readBytesFromStream.mjs +21 -0
  375. package/esm/tools/readBytesFromStream.mjs.map +1 -0
  376. package/esm/tools/requestIdleCallback.mjs +28 -0
  377. package/esm/tools/requestIdleCallback.mjs.map +1 -0
  378. package/esm/tools/sendToExtension.mjs +13 -0
  379. package/esm/tools/sendToExtension.mjs.map +1 -0
  380. package/esm/tools/serialisation/jsonStringify.mjs +42 -0
  381. package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
  382. package/esm/tools/serialisation/sanitize.mjs +131 -0
  383. package/esm/tools/serialisation/sanitize.mjs.map +1 -0
  384. package/esm/tools/serialisation/stringify.mjs +17 -0
  385. package/esm/tools/serialisation/stringify.mjs.map +1 -0
  386. package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
  387. package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
  388. package/esm/tools/stackTrace/handlingStack.mjs +45 -0
  389. package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
  390. package/esm/tools/taskQueue.mjs +45 -0
  391. package/esm/tools/taskQueue.mjs.map +1 -0
  392. package/esm/tools/timer.mjs +20 -0
  393. package/esm/tools/timer.mjs.map +1 -0
  394. package/esm/tools/utils/arrayUtils.mjs +21 -0
  395. package/esm/tools/utils/arrayUtils.mjs.map +1 -0
  396. package/esm/tools/utils/browserDetection.mjs +31 -0
  397. package/esm/tools/utils/browserDetection.mjs.map +1 -0
  398. package/esm/tools/utils/byteUtils.mjs +23 -0
  399. package/esm/tools/utils/byteUtils.mjs.map +1 -0
  400. package/esm/tools/utils/functionUtils.mjs +35 -0
  401. package/esm/tools/utils/functionUtils.mjs.map +1 -0
  402. package/esm/tools/utils/numberUtils.mjs +22 -0
  403. package/esm/tools/utils/numberUtils.mjs.map +1 -0
  404. package/esm/tools/utils/objectUtils.mjs +31 -0
  405. package/esm/tools/utils/objectUtils.mjs.map +1 -0
  406. package/esm/tools/utils/polyfills.mjs +17 -0
  407. package/esm/tools/utils/polyfills.mjs.map +1 -0
  408. package/esm/tools/utils/responseUtils.mjs +15 -0
  409. package/esm/tools/utils/responseUtils.mjs.map +1 -0
  410. package/esm/tools/utils/stringUtils.mjs +66 -0
  411. package/esm/tools/utils/stringUtils.mjs.map +1 -0
  412. package/esm/tools/utils/timezone.mjs +12 -0
  413. package/esm/tools/utils/timezone.mjs.map +1 -0
  414. package/esm/tools/utils/urlPolyfill.mjs +51 -0
  415. package/esm/tools/utils/urlPolyfill.mjs.map +1 -0
  416. package/esm/tools/valueHistory.mjs +114 -0
  417. package/esm/tools/valueHistory.mjs.map +1 -0
  418. package/esm/transport/batch.mjs +77 -0
  419. package/esm/transport/batch.mjs.map +1 -0
  420. package/esm/transport/eventBridge.mjs +58 -0
  421. package/esm/transport/eventBridge.mjs.map +1 -0
  422. package/esm/transport/flushController.mjs +104 -0
  423. package/esm/transport/flushController.mjs.map +1 -0
  424. package/esm/transport/httpRequest.mjs +60 -0
  425. package/esm/transport/httpRequest.mjs.map +1 -0
  426. package/esm/transport/sendWithRetryStrategy.mjs +149 -0
  427. package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
  428. package/package.json +15 -4
  429. package/src/boot/init.ts +2 -2
  430. package/src/browser/addEventListener.ts +37 -5
  431. package/src/browser/browser.types.ts +127 -13
  432. package/src/browser/cookie.ts +21 -27
  433. package/src/browser/cookieAccess.ts +150 -0
  434. package/src/browser/fetch.ts +14 -0
  435. package/src/browser/fetchObservable.ts +22 -22
  436. package/src/browser/pageMayExitObservable.ts +7 -4
  437. package/src/browser/runOnReadyState.ts +3 -8
  438. package/src/browser/xhrObservable.ts +22 -12
  439. package/src/domain/allowedTrackingOrigins.ts +5 -5
  440. package/src/domain/bufferedData.ts +41 -14
  441. package/src/domain/configuration/configuration.ts +87 -72
  442. package/src/domain/configuration/endpointBuilder.ts +82 -52
  443. package/src/domain/configuration/index.ts +2 -2
  444. package/src/domain/connectivity/connectivity.ts +3 -15
  445. package/src/domain/console/consoleObservable.ts +3 -3
  446. package/src/domain/context/contextManager.ts +1 -1
  447. package/src/domain/context/contextUtils.ts +1 -1
  448. package/src/domain/context/defineContextMethod.ts +3 -3
  449. package/src/domain/context/storeContextManager.ts +9 -6
  450. package/src/domain/contexts/accountContext.ts +5 -5
  451. package/src/domain/contexts/globalContext.ts +4 -5
  452. package/src/domain/contexts/tabContext.ts +43 -0
  453. package/src/domain/contexts/telemetrySessionContext.ts +26 -0
  454. package/src/domain/contexts/userContext.ts +7 -11
  455. package/src/domain/error/error.ts +53 -23
  456. package/src/domain/error/error.types.ts +1 -1
  457. package/src/domain/error/trackRuntimeError.ts +11 -4
  458. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +1 -1
  459. package/src/domain/intakeSites.ts +8 -3
  460. package/src/domain/report/reportObservable.ts +11 -7
  461. package/src/domain/sampler.ts +64 -0
  462. package/src/domain/session/sessionConstants.ts +2 -1
  463. package/src/domain/session/sessionManager.ts +281 -176
  464. package/src/domain/session/sessionState.ts +64 -8
  465. package/src/domain/session/sessionStore.ts +57 -223
  466. package/src/domain/session/storeStrategies/sessionInCookie.ts +121 -107
  467. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
  468. package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
  469. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
  470. package/src/domain/synthetics/syntheticsWorkerValues.ts +44 -13
  471. package/src/domain/tags.ts +0 -16
  472. package/src/domain/telemetry/telemetry.ts +38 -34
  473. package/src/domain/telemetry/telemetryEvent.types.ts +116 -20
  474. package/src/domain/trackingConsent.ts +18 -3
  475. package/src/index.ts +51 -31
  476. package/src/tools/display.ts +2 -50
  477. package/src/tools/experimentalFeatures.ts +1 -4
  478. package/src/tools/getZoneJsOriginalValue.ts +3 -3
  479. package/src/tools/globalObject.ts +27 -41
  480. package/src/tools/instrumentMethod.ts +230 -20
  481. package/src/tools/matchOption.ts +3 -1
  482. package/src/tools/mockable.ts +32 -0
  483. package/src/tools/monitor.ts +14 -62
  484. package/src/tools/observable.ts +9 -1
  485. package/src/tools/queueMicrotask.ts +6 -1
  486. package/src/tools/readBytesFromStream.ts +3 -12
  487. package/src/tools/requestIdleCallback.ts +1 -1
  488. package/src/tools/serialisation/sanitize.ts +67 -65
  489. package/src/tools/serialisation/stringify.ts +18 -0
  490. package/src/tools/stackTrace/computeStackTrace.ts +15 -13
  491. package/src/tools/stackTrace/handlingStack.ts +14 -1
  492. package/src/tools/taskQueue.ts +5 -3
  493. package/src/tools/timer.ts +7 -6
  494. package/src/tools/utils/arrayUtils.ts +7 -0
  495. package/src/tools/utils/browserDetection.ts +8 -0
  496. package/src/tools/utils/byteUtils.ts +1 -5
  497. package/src/tools/utils/functionUtils.ts +2 -2
  498. package/src/tools/utils/objectUtils.ts +20 -0
  499. package/src/tools/utils/stringUtils.ts +4 -1
  500. package/src/tools/utils/urlPolyfill.ts +5 -4
  501. package/src/tools/valueHistory.ts +39 -6
  502. package/src/transport/batch.ts +9 -18
  503. package/src/transport/eventBridge.ts +23 -10
  504. package/src/transport/flushController.ts +17 -24
  505. package/src/transport/httpRequest.ts +4 -36
  506. package/src/transport/index.ts +1 -0
  507. package/src/transport/sendWithRetryStrategy.ts +1 -1
  508. package/cjs/browser/browser.types.js +0 -6
  509. package/cjs/browser/browser.types.js.map +0 -1
  510. package/cjs/domain/configuration/index.js +0 -16
  511. package/cjs/domain/configuration/index.js.map +0 -1
  512. package/cjs/domain/configuration/transportConfiguration.d.ts +0 -20
  513. package/cjs/domain/configuration/transportConfiguration.js +0 -54
  514. package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
  515. package/cjs/domain/connectivity/index.js +0 -18
  516. package/cjs/domain/connectivity/index.js.map +0 -1
  517. package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
  518. package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
  519. package/cjs/domain/deflate/index.js +0 -18
  520. package/cjs/domain/deflate/index.js.map +0 -1
  521. package/cjs/domain/report/browser.types.js +0 -3
  522. package/cjs/domain/report/browser.types.js.map +0 -1
  523. package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
  524. package/cjs/domain/session/oldCookiesMigration.js +0 -40
  525. package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
  526. package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
  527. package/cjs/domain/session/sessionStoreOperations.js +0 -119
  528. package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
  529. package/cjs/domain/telemetry/index.js +0 -28
  530. package/cjs/domain/telemetry/index.js.map +0 -1
  531. package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
  532. package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
  533. package/cjs/index.js.map +0 -1
  534. package/cjs/tools/abstractHooks.d.ts +0 -24
  535. package/cjs/tools/abstractHooks.js +0 -41
  536. package/cjs/tools/abstractHooks.js.map +0 -1
  537. package/cjs/tools/boundedBuffer.d.ts +0 -16
  538. package/cjs/tools/boundedBuffer.js +0 -32
  539. package/cjs/tools/boundedBuffer.js.map +0 -1
  540. package/cjs/tools/mergeInto.d.ts +0 -25
  541. package/cjs/tools/mergeInto.js +0 -98
  542. package/cjs/tools/mergeInto.js.map +0 -1
  543. package/cjs/tools/serialisation/context.js +0 -3
  544. package/cjs/tools/serialisation/context.js.map +0 -1
  545. package/cjs/tools/utils/timeUtils.d.ts +0 -53
  546. package/cjs/tools/utils/timeUtils.js +0 -101
  547. package/cjs/tools/utils/timeUtils.js.map +0 -1
  548. package/cjs/tools/utils/typeUtils.d.ts +0 -4
  549. package/cjs/tools/utils/typeUtils.js +0 -16
  550. package/cjs/tools/utils/typeUtils.js.map +0 -1
  551. package/cjs/transport/index.js +0 -15
  552. package/cjs/transport/index.js.map +0 -1
  553. package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
  554. package/esm/boot/displayAlreadyInitializedError.js +0 -7
  555. package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
  556. package/esm/boot/init.d.ts +0 -14
  557. package/esm/boot/init.js +0 -35
  558. package/esm/boot/init.js.map +0 -1
  559. package/esm/browser/addEventListener.d.ts +0 -87
  560. package/esm/browser/addEventListener.js +0 -51
  561. package/esm/browser/addEventListener.js.map +0 -1
  562. package/esm/browser/browser.types.d.ts +0 -51
  563. package/esm/browser/browser.types.js +0 -5
  564. package/esm/browser/browser.types.js.map +0 -1
  565. package/esm/browser/cookie.d.ts +0 -28
  566. package/esm/browser/cookie.js +0 -103
  567. package/esm/browser/cookie.js.map +0 -1
  568. package/esm/browser/fetchObservable.d.ts +0 -38
  569. package/esm/browser/fetchObservable.js +0 -99
  570. package/esm/browser/fetchObservable.js.map +0 -1
  571. package/esm/browser/pageMayExitObservable.d.ts +0 -14
  572. package/esm/browser/pageMayExitObservable.js +0 -40
  573. package/esm/browser/pageMayExitObservable.js.map +0 -1
  574. package/esm/browser/runOnReadyState.d.ts +0 -5
  575. package/esm/browser/runOnReadyState.js +0 -16
  576. package/esm/browser/runOnReadyState.js.map +0 -1
  577. package/esm/browser/xhrObservable.d.ts +0 -24
  578. package/esm/browser/xhrObservable.js +0 -83
  579. package/esm/browser/xhrObservable.js.map +0 -1
  580. package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
  581. package/esm/domain/allowedTrackingOrigins.js +0 -21
  582. package/esm/domain/allowedTrackingOrigins.js.map +0 -1
  583. package/esm/domain/bufferedData.d.ts +0 -14
  584. package/esm/domain/bufferedData.js +0 -19
  585. package/esm/domain/bufferedData.js.map +0 -1
  586. package/esm/domain/configuration/configuration.d.ts +0 -312
  587. package/esm/domain/configuration/configuration.js +0 -132
  588. package/esm/domain/configuration/configuration.js.map +0 -1
  589. package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
  590. package/esm/domain/configuration/endpointBuilder.js +0 -77
  591. package/esm/domain/configuration/endpointBuilder.js.map +0 -1
  592. package/esm/domain/configuration/index.d.ts +0 -5
  593. package/esm/domain/configuration/index.js +0 -4
  594. package/esm/domain/configuration/index.js.map +0 -1
  595. package/esm/domain/configuration/transportConfiguration.d.ts +0 -20
  596. package/esm/domain/configuration/transportConfiguration.js +0 -50
  597. package/esm/domain/configuration/transportConfiguration.js.map +0 -1
  598. package/esm/domain/connectivity/connectivity.d.ts +0 -14
  599. package/esm/domain/connectivity/connectivity.js +0 -11
  600. package/esm/domain/connectivity/connectivity.js.map +0 -1
  601. package/esm/domain/connectivity/index.d.ts +0 -1
  602. package/esm/domain/connectivity/index.js +0 -2
  603. package/esm/domain/connectivity/index.js.map +0 -1
  604. package/esm/domain/console/consoleObservable.d.ts +0 -21
  605. package/esm/domain/console/consoleObservable.js +0 -80
  606. package/esm/domain/console/consoleObservable.js.map +0 -1
  607. package/esm/domain/context/contextConstants.d.ts +0 -21
  608. package/esm/domain/context/contextConstants.js +0 -15
  609. package/esm/domain/context/contextConstants.js.map +0 -1
  610. package/esm/domain/context/contextManager.d.ts +0 -19
  611. package/esm/domain/context/contextManager.js +0 -57
  612. package/esm/domain/context/contextManager.js.map +0 -1
  613. package/esm/domain/context/contextUtils.d.ts +0 -5
  614. package/esm/domain/context/contextUtils.js +0 -13
  615. package/esm/domain/context/contextUtils.js.map +0 -1
  616. package/esm/domain/context/defineContextMethod.d.ts +0 -6
  617. package/esm/domain/context/defineContextMethod.js +0 -17
  618. package/esm/domain/context/defineContextMethod.js.map +0 -1
  619. package/esm/domain/context/storeContextManager.d.ts +0 -6
  620. package/esm/domain/context/storeContextManager.js +0 -35
  621. package/esm/domain/context/storeContextManager.js.map +0 -1
  622. package/esm/domain/contexts/accountContext.d.ts +0 -26
  623. package/esm/domain/contexts/accountContext.js +0 -29
  624. package/esm/domain/contexts/accountContext.js.map +0 -1
  625. package/esm/domain/contexts/globalContext.d.ts +0 -18
  626. package/esm/domain/contexts/globalContext.js +0 -17
  627. package/esm/domain/contexts/globalContext.js.map +0 -1
  628. package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
  629. package/esm/domain/contexts/rumInternalContext.type.js +0 -2
  630. package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
  631. package/esm/domain/contexts/userContext.d.ts +0 -29
  632. package/esm/domain/contexts/userContext.js +0 -41
  633. package/esm/domain/contexts/userContext.js.map +0 -1
  634. package/esm/domain/deflate/deflate.types.d.ts +0 -40
  635. package/esm/domain/deflate/deflate.types.js +0 -2
  636. package/esm/domain/deflate/deflate.types.js.map +0 -1
  637. package/esm/domain/deflate/index.d.ts +0 -1
  638. package/esm/domain/deflate/index.js +0 -2
  639. package/esm/domain/deflate/index.js.map +0 -1
  640. package/esm/domain/error/error.d.ts +0 -23
  641. package/esm/domain/error/error.js +0 -65
  642. package/esm/domain/error/error.js.map +0 -1
  643. package/esm/domain/error/error.types.d.ts +0 -47
  644. package/esm/domain/error/error.types.js +0 -10
  645. package/esm/domain/error/error.types.js.map +0 -1
  646. package/esm/domain/error/trackRuntimeError.d.ts +0 -11
  647. package/esm/domain/error/trackRuntimeError.js +0 -43
  648. package/esm/domain/error/trackRuntimeError.js.map +0 -1
  649. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
  650. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
  651. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
  652. package/esm/domain/extension/extensionUtils.d.ts +0 -10
  653. package/esm/domain/extension/extensionUtils.js +0 -25
  654. package/esm/domain/extension/extensionUtils.js.map +0 -1
  655. package/esm/domain/intakeSites.d.ts +0 -8
  656. package/esm/domain/intakeSites.js +0 -8
  657. package/esm/domain/intakeSites.js.map +0 -1
  658. package/esm/domain/report/browser.types.d.ts +0 -34
  659. package/esm/domain/report/browser.types.js +0 -2
  660. package/esm/domain/report/browser.types.js.map +0 -1
  661. package/esm/domain/report/reportObservable.d.ts +0 -14
  662. package/esm/domain/report/reportObservable.js +0 -95
  663. package/esm/domain/report/reportObservable.js.map +0 -1
  664. package/esm/domain/resourceUtils.d.ts +0 -18
  665. package/esm/domain/resourceUtils.js +0 -17
  666. package/esm/domain/resourceUtils.js.map +0 -1
  667. package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
  668. package/esm/domain/session/oldCookiesMigration.js +0 -36
  669. package/esm/domain/session/oldCookiesMigration.js.map +0 -1
  670. package/esm/domain/session/sessionConstants.d.ts +0 -15
  671. package/esm/domain/session/sessionConstants.js +0 -13
  672. package/esm/domain/session/sessionConstants.js.map +0 -1
  673. package/esm/domain/session/sessionManager.d.ts +0 -28
  674. package/esm/domain/session/sessionManager.js +0 -196
  675. package/esm/domain/session/sessionManager.js.map +0 -1
  676. package/esm/domain/session/sessionState.d.ts +0 -16
  677. package/esm/domain/session/sessionState.js +0 -60
  678. package/esm/domain/session/sessionState.js.map +0 -1
  679. package/esm/domain/session/sessionStateValidation.d.ts +0 -3
  680. package/esm/domain/session/sessionStateValidation.js +0 -7
  681. package/esm/domain/session/sessionStateValidation.js.map +0 -1
  682. package/esm/domain/session/sessionStore.d.ts +0 -38
  683. package/esm/domain/session/sessionStore.js +0 -179
  684. package/esm/domain/session/sessionStore.js.map +0 -1
  685. package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
  686. package/esm/domain/session/sessionStoreOperations.js +0 -114
  687. package/esm/domain/session/sessionStoreOperations.js.map +0 -1
  688. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
  689. package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
  690. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
  691. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
  692. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
  693. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
  694. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
  695. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
  696. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
  697. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
  698. package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
  699. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
  700. package/esm/domain/tags.d.ts +0 -6
  701. package/esm/domain/tags.js +0 -60
  702. package/esm/domain/tags.js.map +0 -1
  703. package/esm/domain/telemetry/index.d.ts +0 -4
  704. package/esm/domain/telemetry/index.js +0 -3
  705. package/esm/domain/telemetry/index.js.map +0 -1
  706. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
  707. package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
  708. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
  709. package/esm/domain/telemetry/telemetry.d.ts +0 -56
  710. package/esm/domain/telemetry/telemetry.js +0 -228
  711. package/esm/domain/telemetry/telemetry.js.map +0 -1
  712. package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
  713. package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
  714. package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
  715. package/esm/domain/trackingConsent.d.ts +0 -13
  716. package/esm/domain/trackingConsent.js +0 -24
  717. package/esm/domain/trackingConsent.js.map +0 -1
  718. package/esm/index.d.ts +0 -100
  719. package/esm/index.js +0 -76
  720. package/esm/index.js.map +0 -1
  721. package/esm/tools/abstractHooks.d.ts +0 -24
  722. package/esm/tools/abstractHooks.js +0 -37
  723. package/esm/tools/abstractHooks.js.map +0 -1
  724. package/esm/tools/abstractLifeCycle.d.ts +0 -23
  725. package/esm/tools/abstractLifeCycle.js +0 -24
  726. package/esm/tools/abstractLifeCycle.js.map +0 -1
  727. package/esm/tools/boundedBuffer.d.ts +0 -16
  728. package/esm/tools/boundedBuffer.js +0 -29
  729. package/esm/tools/boundedBuffer.js.map +0 -1
  730. package/esm/tools/catchUserErrors.d.ts +0 -1
  731. package/esm/tools/catchUserErrors.js +0 -12
  732. package/esm/tools/catchUserErrors.js.map +0 -1
  733. package/esm/tools/display.d.ts +0 -38
  734. package/esm/tools/display.js +0 -41
  735. package/esm/tools/display.js.map +0 -1
  736. package/esm/tools/encoder.d.ts +0 -54
  737. package/esm/tools/encoder.js +0 -37
  738. package/esm/tools/encoder.js.map +0 -1
  739. package/esm/tools/experimentalFeatures.d.ts +0 -21
  740. package/esm/tools/experimentalFeatures.js +0 -42
  741. package/esm/tools/experimentalFeatures.js.map +0 -1
  742. package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
  743. package/esm/tools/getZoneJsOriginalValue.js +0 -26
  744. package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
  745. package/esm/tools/globalObject.d.ts +0 -19
  746. package/esm/tools/globalObject.js +0 -40
  747. package/esm/tools/globalObject.js.map +0 -1
  748. package/esm/tools/instrumentMethod.d.ts +0 -75
  749. package/esm/tools/instrumentMethod.js +0 -114
  750. package/esm/tools/instrumentMethod.js.map +0 -1
  751. package/esm/tools/matchOption.d.ts +0 -8
  752. package/esm/tools/matchOption.js +0 -31
  753. package/esm/tools/matchOption.js.map +0 -1
  754. package/esm/tools/mergeInto.d.ts +0 -25
  755. package/esm/tools/mergeInto.js +0 -93
  756. package/esm/tools/mergeInto.js.map +0 -1
  757. package/esm/tools/monitor.d.ts +0 -9
  758. package/esm/tools/monitor.js +0 -52
  759. package/esm/tools/monitor.js.map +0 -1
  760. package/esm/tools/observable.d.ts +0 -30
  761. package/esm/tools/observable.js +0 -83
  762. package/esm/tools/observable.js.map +0 -1
  763. package/esm/tools/queueMicrotask.d.ts +0 -1
  764. package/esm/tools/queueMicrotask.js +0 -14
  765. package/esm/tools/queueMicrotask.js.map +0 -1
  766. package/esm/tools/readBytesFromStream.d.ts +0 -10
  767. package/esm/tools/readBytesFromStream.js +0 -25
  768. package/esm/tools/readBytesFromStream.js.map +0 -1
  769. package/esm/tools/requestIdleCallback.d.ts +0 -12
  770. package/esm/tools/requestIdleCallback.js +0 -30
  771. package/esm/tools/requestIdleCallback.js.map +0 -1
  772. package/esm/tools/sendToExtension.d.ts +0 -3
  773. package/esm/tools/sendToExtension.js +0 -8
  774. package/esm/tools/sendToExtension.js.map +0 -1
  775. package/esm/tools/serialisation/context.d.ts +0 -9
  776. package/esm/tools/serialisation/context.js +0 -2
  777. package/esm/tools/serialisation/context.js.map +0 -1
  778. package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
  779. package/esm/tools/serialisation/jsonStringify.js +0 -44
  780. package/esm/tools/serialisation/jsonStringify.js.map +0 -1
  781. package/esm/tools/serialisation/sanitize.d.ts +0 -18
  782. package/esm/tools/serialisation/sanitize.js +0 -185
  783. package/esm/tools/serialisation/sanitize.js.map +0 -1
  784. package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
  785. package/esm/tools/stackTrace/computeStackTrace.js +0 -183
  786. package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
  787. package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
  788. package/esm/tools/stackTrace/handlingStack.js +0 -41
  789. package/esm/tools/stackTrace/handlingStack.js.map +0 -1
  790. package/esm/tools/taskQueue.d.ts +0 -15
  791. package/esm/tools/taskQueue.js +0 -50
  792. package/esm/tools/taskQueue.js.map +0 -1
  793. package/esm/tools/timer.d.ts +0 -5
  794. package/esm/tools/timer.js +0 -16
  795. package/esm/tools/timer.js.map +0 -1
  796. package/esm/tools/utils/arrayUtils.d.ts +0 -3
  797. package/esm/tools/utils/arrayUtils.js +0 -15
  798. package/esm/tools/utils/arrayUtils.js.map +0 -1
  799. package/esm/tools/utils/browserDetection.d.ts +0 -8
  800. package/esm/tools/utils/browserDetection.js +0 -28
  801. package/esm/tools/utils/browserDetection.js.map +0 -1
  802. package/esm/tools/utils/byteUtils.d.ts +0 -8
  803. package/esm/tools/utils/byteUtils.js +0 -29
  804. package/esm/tools/utils/byteUtils.js.map +0 -1
  805. package/esm/tools/utils/functionUtils.d.ts +0 -8
  806. package/esm/tools/utils/functionUtils.js +0 -39
  807. package/esm/tools/utils/functionUtils.js.map +0 -1
  808. package/esm/tools/utils/numberUtils.d.ts +0 -9
  809. package/esm/tools/utils/numberUtils.js +0 -18
  810. package/esm/tools/utils/numberUtils.js.map +0 -1
  811. package/esm/tools/utils/objectUtils.d.ts +0 -10
  812. package/esm/tools/utils/objectUtils.js +0 -17
  813. package/esm/tools/utils/objectUtils.js.map +0 -1
  814. package/esm/tools/utils/polyfills.d.ts +0 -7
  815. package/esm/tools/utils/polyfills.js +0 -18
  816. package/esm/tools/utils/polyfills.js.map +0 -1
  817. package/esm/tools/utils/responseUtils.d.ts +0 -2
  818. package/esm/tools/utils/responseUtils.js +0 -13
  819. package/esm/tools/utils/responseUtils.js.map +0 -1
  820. package/esm/tools/utils/stringUtils.d.ts +0 -23
  821. package/esm/tools/utils/stringUtils.js +0 -84
  822. package/esm/tools/utils/stringUtils.js.map +0 -1
  823. package/esm/tools/utils/timeUtils.d.ts +0 -53
  824. package/esm/tools/utils/timeUtils.js +0 -84
  825. package/esm/tools/utils/timeUtils.js.map +0 -1
  826. package/esm/tools/utils/timezone.d.ts +0 -1
  827. package/esm/tools/utils/timezone.js +0 -10
  828. package/esm/tools/utils/timezone.js.map +0 -1
  829. package/esm/tools/utils/typeUtils.d.ts +0 -4
  830. package/esm/tools/utils/typeUtils.js +0 -13
  831. package/esm/tools/utils/typeUtils.js.map +0 -1
  832. package/esm/tools/utils/urlPolyfill.d.ts +0 -5
  833. package/esm/tools/utils/urlPolyfill.js +0 -52
  834. package/esm/tools/utils/urlPolyfill.js.map +0 -1
  835. package/esm/tools/valueHistory.d.ts +0 -27
  836. package/esm/tools/valueHistory.js +0 -100
  837. package/esm/tools/valueHistory.js.map +0 -1
  838. package/esm/transport/batch.d.ts +0 -16
  839. package/esm/transport/batch.js +0 -106
  840. package/esm/transport/batch.js.map +0 -1
  841. package/esm/transport/eventBridge.d.ts +0 -21
  842. package/esm/transport/eventBridge.js +0 -41
  843. package/esm/transport/eventBridge.js.map +0 -1
  844. package/esm/transport/flushController.d.ts +0 -65
  845. package/esm/transport/flushController.js +0 -119
  846. package/esm/transport/flushController.js.map +0 -1
  847. package/esm/transport/httpRequest.d.ts +0 -56
  848. package/esm/transport/httpRequest.js +0 -89
  849. package/esm/transport/httpRequest.js.map +0 -1
  850. package/esm/transport/index.d.ts +0 -7
  851. package/esm/transport/index.js +0 -5
  852. package/esm/transport/index.js.map +0 -1
  853. package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
  854. package/esm/transport/sendWithRetryStrategy.js +0 -158
  855. package/esm/transport/sendWithRetryStrategy.js.map +0 -1
  856. package/src/boot/displayAlreadyInitializedError.spec.ts +0 -18
  857. package/src/boot/init.spec.ts +0 -50
  858. package/src/browser/addEventListener.spec.ts +0 -141
  859. package/src/browser/cookie.spec.ts +0 -53
  860. package/src/browser/fetchObservable.spec.ts +0 -334
  861. package/src/browser/pageMayExitObservable.spec.ts +0 -56
  862. package/src/browser/xhrObservable.spec.ts +0 -405
  863. package/src/domain/allowedTrackingOrigins.spec.ts +0 -210
  864. package/src/domain/bufferedData.spec.ts +0 -34
  865. package/src/domain/configuration/configuration.spec.ts +0 -236
  866. package/src/domain/configuration/endpointBuilder.spec.ts +0 -173
  867. package/src/domain/configuration/transportConfiguration.spec.ts +0 -130
  868. package/src/domain/configuration/transportConfiguration.ts +0 -78
  869. package/src/domain/connectivity/connectivity.spec.ts +0 -50
  870. package/src/domain/console/consoleObservable.spec.ts +0 -151
  871. package/src/domain/context/contextManager.spec.ts +0 -152
  872. package/src/domain/context/contextUtils.spec.ts +0 -26
  873. package/src/domain/context/storeContextManager.spec.ts +0 -103
  874. package/src/domain/contexts/accountContext.spec.ts +0 -99
  875. package/src/domain/contexts/globalContext.spec.ts +0 -88
  876. package/src/domain/contexts/userContext.spec.ts +0 -156
  877. package/src/domain/error/error.spec.ts +0 -294
  878. package/src/domain/error/trackRuntimeError.spec.ts +0 -343
  879. package/src/domain/eventRateLimiter/createEventRateLimiter.spec.ts +0 -119
  880. package/src/domain/extension/extensionUtils.spec.ts +0 -47
  881. package/src/domain/report/reportObservable.spec.ts +0 -71
  882. package/src/domain/session/oldCookiesMigration.spec.ts +0 -76
  883. package/src/domain/session/oldCookiesMigration.ts +0 -42
  884. package/src/domain/session/sessionManager.spec.ts +0 -684
  885. package/src/domain/session/sessionState.spec.ts +0 -88
  886. package/src/domain/session/sessionStore.spec.ts +0 -647
  887. package/src/domain/session/sessionStoreOperations.spec.ts +0 -234
  888. package/src/domain/session/sessionStoreOperations.ts +0 -131
  889. package/src/domain/session/storeStrategies/sessionInCookie.spec.ts +0 -228
  890. package/src/domain/session/storeStrategies/sessionInLocalStorage.spec.ts +0 -75
  891. package/src/domain/synthetics/syntheticsWorkerValues.spec.ts +0 -82
  892. package/src/domain/tags.spec.ts +0 -74
  893. package/src/domain/telemetry/telemetry.spec.ts +0 -494
  894. package/src/domain/trackingConsent.spec.ts +0 -44
  895. package/src/tools/abstractHooks.spec.ts +0 -76
  896. package/src/tools/abstractHooks.ts +0 -72
  897. package/src/tools/abstractLifeCycle.spec.ts +0 -46
  898. package/src/tools/boundedBuffer.spec.ts +0 -40
  899. package/src/tools/boundedBuffer.ts +0 -45
  900. package/src/tools/catchUserErrors.spec.ts +0 -20
  901. package/src/tools/encoder.spec.ts +0 -112
  902. package/src/tools/experimentalFeatures.spec.ts +0 -60
  903. package/src/tools/getZoneJsOriginalValue.spec.ts +0 -36
  904. package/src/tools/instrumentMethod.spec.ts +0 -381
  905. package/src/tools/matchOption.spec.ts +0 -41
  906. package/src/tools/mergeInto.spec.ts +0 -198
  907. package/src/tools/mergeInto.ts +0 -177
  908. package/src/tools/monitor.spec.ts +0 -172
  909. package/src/tools/observable.spec.ts +0 -259
  910. package/src/tools/queueMicrotask.spec.ts +0 -24
  911. package/src/tools/readBytesFromStream.spec.ts +0 -62
  912. package/src/tools/requestIdleCallback.spec.ts +0 -65
  913. package/src/tools/serialisation/jsonStringify.spec.ts +0 -76
  914. package/src/tools/serialisation/sanitize.spec.ts +0 -284
  915. package/src/tools/stackTrace/capturedExceptions.specHelper.ts +0 -316
  916. package/src/tools/stackTrace/computeStackTrace.spec.ts +0 -1007
  917. package/src/tools/stackTrace/handlingStack.spec.ts +0 -20
  918. package/src/tools/taskQueue.spec.ts +0 -60
  919. package/src/tools/timer.spec.ts +0 -76
  920. package/src/tools/utils/browserDetection.spec.ts +0 -120
  921. package/src/tools/utils/byteUtils.spec.ts +0 -29
  922. package/src/tools/utils/functionUtils.spec.ts +0 -229
  923. package/src/tools/utils/numberUtils.spec.ts +0 -27
  924. package/src/tools/utils/stringUtils.spec.ts +0 -74
  925. package/src/tools/utils/timeUtils.ts +0 -117
  926. package/src/tools/utils/typeUtils.spec.ts +0 -25
  927. package/src/tools/utils/typeUtils.ts +0 -12
  928. package/src/tools/utils/urlPolyfill.spec.ts +0 -55
  929. package/src/tools/valueHistory.spec.ts +0 -180
  930. package/src/transport/batch.spec.ts +0 -261
  931. package/src/transport/eventBridge.spec.ts +0 -90
  932. package/src/transport/flushController.spec.ts +0 -267
  933. package/src/transport/httpRequest.spec.ts +0 -400
  934. package/src/transport/sendWithRetryStrategy.spec.ts +0 -393
package/src/index.ts CHANGED
@@ -5,8 +5,9 @@ export {
5
5
  TraceContextInjection,
6
6
  serializeConfiguration,
7
7
  isSampleRate,
8
- buildEndpointHost,
9
- isIntakeUrl,
8
+ buildEndpointUrl,
9
+ createEndpointBuilder,
10
+ createReplicaEndpointBuilder,
10
11
  } from './domain/configuration'
11
12
  export * from './domain/intakeSites'
12
13
  export type { TrackingConsentState } from './domain/trackingConsent'
@@ -14,7 +15,6 @@ export { TrackingConsent, createTrackingConsentState } from './domain/trackingCo
14
15
  export {
15
16
  isExperimentalFeatureEnabled,
16
17
  addExperimentalFeatures,
17
- resetExperimentalFeatures,
18
18
  getExperimentalFeatures,
19
19
  initFeatureFlags,
20
20
  ExperimentalFeature,
@@ -42,24 +42,31 @@ export {
42
42
  startTelemetry,
43
43
  addTelemetryDebug,
44
44
  addTelemetryError,
45
- resetTelemetry,
46
45
  TelemetryService,
47
46
  TelemetryMetrics,
48
47
  addTelemetryConfiguration,
49
48
  addTelemetryUsage,
50
49
  addTelemetryMetrics,
51
50
  } from './domain/telemetry'
52
- export { monitored, monitor, callMonitored, setDebugMode, monitorError } from './tools/monitor'
51
+ export { monitored, monitor, callMonitored, monitorError } from './tools/monitor'
53
52
  export type { Subscription } from './tools/observable'
54
53
  export { Observable, BufferedObservable } from './tools/observable'
55
- export type { SessionManager } from './domain/session/sessionManager'
56
- export { startSessionManager, stopSessionManager } from './domain/session/sessionManager'
54
+ export type { SessionManager, SessionContext } from './domain/session/sessionManager'
55
+ export { startSessionManager, startSessionManagerStub, stopSessionManager } from './domain/session/sessionManager'
57
56
  export {
58
57
  SESSION_TIME_OUT_DELAY, // Exposed for tests
59
58
  SESSION_NOT_TRACKED,
60
59
  SessionPersistence,
61
60
  } from './domain/session/sessionConstants'
62
- export type { BandwidthStats, HttpRequest, HttpRequestEvent, Payload, FlushEvent, FlushReason } from './transport'
61
+ export type {
62
+ Batch,
63
+ BandwidthStats,
64
+ HttpRequest,
65
+ HttpRequestEvent,
66
+ Payload,
67
+ FlushEvent,
68
+ FlushReason,
69
+ } from './transport'
63
70
  export {
64
71
  createHttpRequest,
65
72
  canUseEventBridge,
@@ -74,8 +81,8 @@ export * from './tools/display'
74
81
  export type { Encoder, EncoderResult } from './tools/encoder'
75
82
  export { createIdentityEncoder } from './tools/encoder'
76
83
  export * from './tools/utils/urlPolyfill'
77
- export * from './tools/utils/timeUtils'
78
84
  export * from './tools/utils/arrayUtils'
85
+
79
86
  export * from './tools/serialisation/sanitize'
80
87
  export * from './tools/globalObject'
81
88
  export { AbstractLifeCycle } from './tools/abstractLifeCycle'
@@ -84,8 +91,9 @@ export * from './tools/utils/browserDetection'
84
91
  export { sendToExtension } from './tools/sendToExtension'
85
92
  export { runOnReadyState, asyncRunOnReadyState } from './browser/runOnReadyState'
86
93
  export { getZoneJsOriginalValue } from './tools/getZoneJsOriginalValue'
87
- export type { InstrumentedMethodCall } from './tools/instrumentMethod'
88
- export { instrumentMethod, instrumentSetter } from './tools/instrumentMethod'
94
+ export { mockable } from './tools/mockable'
95
+ export type { InstrumentedMethodCall, InstrumentedConstructorCall } from './tools/instrumentMethod'
96
+ export { instrumentMethod, instrumentConstructor, instrumentSetter } from './tools/instrumentMethod'
89
97
  export {
90
98
  computeRawError,
91
99
  getFileFromStackTraceString,
@@ -94,19 +102,31 @@ export {
94
102
  } from './domain/error/error'
95
103
  export { NonErrorPrefix } from './domain/error/error.types'
96
104
  export type { Context, ContextArray, ContextValue } from './tools/serialisation/context'
97
- export {
98
- areCookiesAuthorized,
99
- getCookie,
100
- getInitCookie,
101
- setCookie,
102
- deleteCookie,
103
- resetInitCookies,
104
- } from './browser/cookie'
105
- export type { CookieStore, WeakRef, WeakRefConstructor } from './browser/browser.types'
106
- export type { XhrCompleteContext, XhrStartContext } from './browser/xhrObservable'
105
+ export { getCookie, getInitCookie, setCookie, deleteCookie, resetInitCookies } from './browser/cookie'
106
+ export { isCookieStoreSupported } from './browser/cookieAccess'
107
+ export type {
108
+ CookieStore,
109
+ WeakRef,
110
+ WeakRefConstructor,
111
+ NetworkInformation,
112
+ BrowserNavigator,
113
+ NetworkInterface,
114
+ EffectiveType,
115
+ Profiler,
116
+ ProfilerConstructor,
117
+ ProfilerTrace,
118
+ ProfilerInitOptions,
119
+ ProfilerFrame,
120
+ ProfilerStack,
121
+ ProfilerSample,
122
+ ProfilerResource,
123
+ SampleBufferFullEvent,
124
+ } from './browser/browser.types'
125
+ export type { XhrCompleteContext, XhrStartContext, XhrContext } from './browser/xhrObservable'
107
126
  export { initXhrObservable } from './browser/xhrObservable'
108
127
  export type { FetchResolveContext, FetchStartContext, FetchContext } from './browser/fetchObservable'
109
- export { initFetchObservable, resetFetchObservable, ResponseBodyAction } from './browser/fetchObservable'
128
+ export { initFetchObservable, ResponseBodyAction } from './browser/fetchObservable'
129
+ export { fetch } from './browser/fetch'
110
130
  export type { PageMayExitEvent } from './browser/pageMayExitObservable'
111
131
  export { createPageMayExitObservable, PageExitReason, isPageExitReason } from './browser/pageMayExitObservable'
112
132
  export * from './browser/addEventListener'
@@ -114,15 +134,14 @@ export { requestIdleCallback } from './tools/requestIdleCallback'
114
134
  export * from './tools/taskQueue'
115
135
  export * from './tools/timer'
116
136
  export type { ConsoleLog } from './domain/console/consoleObservable'
117
- export { initConsoleObservable, resetConsoleObservable } from './domain/console/consoleObservable'
118
- export type { BoundedBuffer } from './tools/boundedBuffer'
119
- export { createBoundedBuffer } from './tools/boundedBuffer'
137
+ export { initConsoleObservable } from './domain/console/consoleObservable'
120
138
  export { catchUserErrors } from './tools/catchUserErrors'
121
139
  export type { ContextManager } from './domain/context/contextManager'
122
140
  export { createContextManager } from './domain/context/contextManager'
123
141
  export { defineContextMethod, bufferContextCalls } from './domain/context/defineContextMethod'
124
142
  export { storeContextManager, removeStorageListeners } from './domain/context/storeContextManager'
125
143
  export { startAccountContext, buildAccountContextManager } from './domain/contexts/accountContext'
144
+ export { startTabContext } from './domain/contexts/tabContext'
126
145
  export { startGlobalContext, buildGlobalContextManager } from './domain/contexts/globalContext'
127
146
  export { startUserContext, buildUserContextManager } from './domain/contexts/userContext'
128
147
  export type { User } from './domain/contexts/userContext'
@@ -133,14 +152,15 @@ export type { ValueHistory, ValueHistoryEntry } from './tools/valueHistory'
133
152
  export { createValueHistory, CLEAR_OLD_VALUES_INTERVAL } from './tools/valueHistory'
134
153
  export { readBytesFromStream } from './tools/readBytesFromStream'
135
154
  export type { SessionState } from './domain/session/sessionState'
136
- export { STORAGE_POLL_DELAY } from './domain/session/sessionStore'
137
155
  export { SESSION_STORE_KEY } from './domain/session/storeStrategies/sessionStoreStrategy'
156
+ export type { MemorySession } from './domain/session/storeStrategies/sessionInMemory'
157
+ export { MEMORY_SESSION_STORE_KEY } from './domain/session/storeStrategies/sessionInMemory'
138
158
  export {
139
159
  willSyntheticsInjectRum,
140
- getSyntheticsTestId,
141
- getSyntheticsResultId,
160
+ getSyntheticsContext,
142
161
  isSyntheticsTest,
143
162
  } from './domain/synthetics/syntheticsWorkerValues'
163
+ export type { SyntheticsContext } from './domain/synthetics/syntheticsWorkerValues'
144
164
  export { checkContext } from './domain/context/contextUtils'
145
165
  export * from './domain/resourceUtils'
146
166
  export * from './domain/bufferedData'
@@ -151,15 +171,15 @@ export * from './tools/utils/byteUtils'
151
171
  export * from './tools/utils/objectUtils'
152
172
  export * from './tools/utils/functionUtils'
153
173
  export * from './tools/serialisation/jsonStringify'
154
- export * from './tools/mergeInto'
174
+ export * from './tools/serialisation/stringify'
155
175
  export * from './tools/utils/stringUtils'
156
176
  export * from './tools/matchOption'
157
177
  export * from './tools/utils/responseUtils'
158
- export * from './tools/utils/typeUtils'
159
178
  export type { RawError, RawErrorCause, ErrorWithCause, Csp } from './domain/error/error.types'
160
179
  export { ErrorHandling, ErrorSource } from './domain/error/error.types'
161
180
  export * from './domain/deflate'
162
181
  export * from './domain/connectivity'
163
182
  export * from './tools/stackTrace/handlingStack'
164
- export * from './tools/abstractHooks'
165
183
  export * from './domain/tags'
184
+ export { correctedChildSampleRate, isSampled, resetSampleDecisionCache, sampleUsingKnuthFactor } from './domain/sampler'
185
+ export { startTelemetrySessionContext } from './domain/contexts/telemetrySessionContext'
@@ -1,55 +1,7 @@
1
1
  /* eslint-disable local-rules/disallow-side-effects */
2
- /**
3
- * Keep references on console methods to avoid triggering patched behaviors
4
- *
5
- * NB: in some setup, console could already be patched by another SDK.
6
- * In this case, some display messages can be sent by the other SDK
7
- * but we should be safe from infinite loop nonetheless.
8
- */
2
+ import { createDisplay } from '@openobserve/js-core/util'
9
3
 
10
- export const ConsoleApiName = {
11
- log: 'log',
12
- debug: 'debug',
13
- info: 'info',
14
- warn: 'warn',
15
- error: 'error',
16
- } as const
17
-
18
- export type ConsoleApiName = (typeof ConsoleApiName)[keyof typeof ConsoleApiName]
19
-
20
- interface Display {
21
- debug: typeof console.debug
22
- log: typeof console.log
23
- info: typeof console.info
24
- warn: typeof console.warn
25
- error: typeof console.error
26
- }
27
-
28
- /**
29
- * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove
30
- * "console.*" references. This causes some issue as we expect `console.*` to be defined.
31
- * As a workaround, let's use a variable alias, so those expressions won't be taken into account by
32
- * simple static analysis.
33
- *
34
- * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/
35
- * [2]: https://github.com/terser/terser#compress-options (look for drop_console)
36
- */
37
- export const globalConsole = console
38
-
39
- export const originalConsoleMethods = {} as Display
40
- Object.keys(ConsoleApiName).forEach((name) => {
41
- originalConsoleMethods[name as ConsoleApiName] = globalConsole[name as ConsoleApiName]
42
- })
43
-
44
- const PREFIX = 'Openobserve Browser SDK:'
45
-
46
- export const display: Display = {
47
- debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),
48
- log: originalConsoleMethods.log.bind(globalConsole, PREFIX),
49
- info: originalConsoleMethods.info.bind(globalConsole, PREFIX),
50
- warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),
51
- error: originalConsoleMethods.error.bind(globalConsole, PREFIX),
52
- }
4
+ export const display = createDisplay('OpenObserve Browser SDK:')
53
5
 
54
6
  export const DOCS_ORIGIN = 'https://openobserve.ai'
55
7
  export const DOCS_TROUBLESHOOTING = `${DOCS_ORIGIN}/docs/user-guide/rum/`
@@ -15,10 +15,7 @@ import { objectHasValue } from './utils/objectUtils'
15
15
  // eslint-disable-next-line no-restricted-syntax
16
16
  export enum ExperimentalFeature {
17
17
  TRACK_INTAKE_REQUESTS = 'track_intake_requests',
18
- USE_TREE_WALKER_FOR_ACTION_NAME = 'use_tree_walker_for_action_name',
19
- FEATURE_OPERATION_VITAL = 'feature_operation_vital',
20
- SHORT_SESSION_INVESTIGATION = 'short_session_investigation',
21
- AVOID_FETCH_KEEPALIVE = 'avoid_fetch_keepalive',
18
+ PARTIAL_VIEW_UPDATES = 'partial_view_updates',
22
19
  }
23
20
 
24
21
  const enabledExperimentalFeatures: Set<ExperimentalFeature> = new Set()
@@ -1,6 +1,6 @@
1
- import { getGlobalObject } from './globalObject'
1
+ import { globalObject } from './globalObject'
2
2
 
3
- export interface BrowserWindowWithZoneJs extends Window {
3
+ export interface BrowserWindowWithZoneJs {
4
4
  Zone?: {
5
5
  // All Zone.js versions expose the __symbol__ method, but we observed that some website have a
6
6
  // 'Zone' global variable unrelated to Zone.js, so let's consider this method optional
@@ -26,7 +26,7 @@ export function getZoneJsOriginalValue<Target, Name extends keyof Target & strin
26
26
  target: Target,
27
27
  name: Name
28
28
  ): Target[Name] {
29
- const browserWindow = getGlobalObject<BrowserWindowWithZoneJs>()
29
+ const browserWindow = globalObject as BrowserWindowWithZoneJs
30
30
  let original: Target[Name] | undefined
31
31
  if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {
32
32
  original = (target as any)[browserWindow.Zone.__symbol__(name)]
@@ -1,51 +1,37 @@
1
+ // eslint-disable-next-line no-restricted-imports
2
+ import type { BrowserNavigator, CookieStore, ProfilerConstructor } from '../browser/browser.types'
3
+
1
4
  /**
2
- * inspired by https://mathiasbynens.be/notes/globalthis
5
+ * Reflects values available in the global object (e.g. window or self). We use our own type to
6
+ * adjust the expectations across the codebase when the native types offered by TypeScript aren't
7
+ * sufficient.
8
+ *
9
+ * For example, we can mark a property as optional when it is not available in all browsers, or add
10
+ * new browser APIs that are not yet typed properly in the typescript lib.
11
+ *
12
+ * Feel free to add more properties as needed, or mark some properties as optional when they are.
3
13
  */
14
+ export interface GlobalObject extends Omit<
15
+ // eslint-disable-next-line no-restricted-syntax
16
+ typeof globalThis,
17
+ 'queueMicrotask' | 'cookieStore' | 'Profiler' | 'window'
18
+ > {
19
+ navigator: BrowserNavigator
4
20
 
5
- // Extend/Create the WorkerGlobalScope interface to avoid issues when used in a non-browser tsconfig environment
6
- interface WorkerGlobalScope {
7
- empty: never
8
- }
21
+ // cookieStore is not available in all browsers yet
22
+ cookieStore?: CookieStore
9
23
 
10
- // Utility type to enforce that exactly one of the two types is used
11
- type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }
12
- type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U
24
+ // queueMicrotask is not available in all browsers yet
25
+ queueMicrotask?: typeof queueMicrotask
13
26
 
14
- export type GlobalObject = XOR<Window, WorkerGlobalScope>
27
+ // Profiler is not available in all browsers yet
28
+ Profiler?: ProfilerConstructor
15
29
 
16
- export function getGlobalObject<T = typeof globalThis>(): T {
17
- if (typeof globalThis === 'object') {
18
- return globalThis as unknown as T
19
- }
20
- Object.defineProperty(Object.prototype, '_oo_temp_', {
21
- get() {
22
- return this as object
23
- },
24
- configurable: true,
25
- })
26
- // @ts-ignore _oo_temp is defined using defineProperty
27
- let globalObject: unknown = _oo_temp_
28
- // @ts-ignore _oo_temp is defined using defineProperty
29
- delete Object.prototype._oo_temp_
30
- if (typeof globalObject !== 'object') {
31
- // on safari _oo_temp_ is available on window but not globally
32
- // fallback on other browser globals check
33
- if (typeof self === 'object') {
34
- globalObject = self
35
- } else if (typeof window === 'object') {
36
- globalObject = window
37
- } else {
38
- globalObject = {}
39
- }
40
- }
41
- return globalObject as T
30
+ // window is not available in SSR environments
31
+ window?: Window
42
32
  }
43
33
 
44
- /**
45
- * Cached reference to the global object so it can be imported and re-used without
46
- * re-evaluating the heavyweight fallback logic in `getGlobalObject()`.
47
- */
48
- // eslint-disable-next-line local-rules/disallow-side-effects
49
- export const globalObject = getGlobalObject<GlobalObject>()
34
+ // eslint-disable-next-line no-restricted-syntax
35
+ export const globalObject = globalThis as GlobalObject
50
36
 
51
37
  export const isWorkerEnvironment = 'WorkerGlobalScope' in globalObject
@@ -36,6 +36,35 @@ type PostCallCallback<TARGET extends { [key: string]: any }, METHOD extends keyo
36
36
  result: ReturnType<TARGET[METHOD]>
37
37
  ) => void
38
38
 
39
+ type ConstructorParametersOf<CONSTRUCTOR> = CONSTRUCTOR extends new (...args: infer P) => any ? P : never
40
+ type ConstructorInstanceOf<CONSTRUCTOR> = CONSTRUCTOR extends new (...args: any[]) => infer R ? R : never
41
+
42
+ type AnyConstructor = abstract new (...args: any[]) => any
43
+
44
+ /**
45
+ * Object passed to the callback of an instrumented constructor call. See `instrumentConstructor`
46
+ * for more info.
47
+ */
48
+ export interface InstrumentedConstructorCall<CONSTRUCTOR> {
49
+ /**
50
+ * The parameters with which the constructor was called.
51
+ *
52
+ * Note: if needed, parameters can be mutated by the instrumentation
53
+ */
54
+ parameters: ConstructorParametersOf<CONSTRUCTOR>
55
+
56
+ /**
57
+ * Registers a callback that will be called after the original constructor is called, with the
58
+ * constructed instance passed as argument.
59
+ */
60
+ onPostCall: (callback: (result: ConstructorInstanceOf<CONSTRUCTOR>) => void) => void
61
+
62
+ /**
63
+ * The stack trace of the constructor call.
64
+ */
65
+ handlingStack?: string
66
+ }
67
+
39
68
  /**
40
69
  * Instruments a method on a object, calling the given callback before the original method is
41
70
  * invoked. The callback receives an object with information about the method call.
@@ -57,6 +86,8 @@ type PostCallCallback<TARGET extends { [key: string]: any }, METHOD extends keyo
57
86
  * * if the event handler is set by a third party after us, we need to keep it in place when
58
87
  * removing ours.
59
88
  *
89
+ * To instrument a constructor @see {@link instrumentConstructor}.
90
+ *
60
91
  * @example
61
92
  *
62
93
  * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {
@@ -67,7 +98,7 @@ type PostCallCallback<TARGET extends { [key: string]: any }, METHOD extends keyo
67
98
  * })
68
99
  * })
69
100
  */
70
- export function instrumentMethod<TARGET extends { [key: string]: any }, METHOD extends keyof TARGET & string>(
101
+ export function instrumentMethod<TARGET extends { [key: string]: any }, METHOD extends keyof TARGET>(
71
102
  targetPrototype: TARGET,
72
103
  method: METHOD,
73
104
  onPreCall: (this: null, callInfos: InstrumentedMethodCall<TARGET, METHOD>) => void,
@@ -76,7 +107,7 @@ export function instrumentMethod<TARGET extends { [key: string]: any }, METHOD e
76
107
  let original = targetPrototype[method]
77
108
 
78
109
  if (typeof original !== 'function') {
79
- if (method in targetPrototype && method.startsWith('on')) {
110
+ if (method in targetPrototype && typeof method === 'string' && method.startsWith('on')) {
80
111
  original = noop as TARGET[METHOD]
81
112
  } else {
82
113
  return { stop: noop }
@@ -85,43 +116,141 @@ export function instrumentMethod<TARGET extends { [key: string]: any }, METHOD e
85
116
 
86
117
  let stopped = false
87
118
 
88
- const instrumentation = function (this: TARGET): ReturnType<TARGET[METHOD]> | undefined {
119
+ const instrumentation = function (this: TARGET): ReturnType<TARGET[METHOD]> {
89
120
  if (stopped) {
90
121
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
91
- return original.apply(this, arguments as unknown as Parameters<TARGET[METHOD]>)
122
+ return original.apply(this, arguments)
92
123
  }
93
124
 
94
125
  const parameters = Array.from(arguments) as Parameters<TARGET[METHOD]>
95
126
 
96
- let postCallCallback: PostCallCallback<TARGET, METHOD> | undefined
97
-
98
- callMonitored(onPreCall, null, [
127
+ return notifyInstrumentation<InstrumentedMethodCall<TARGET, METHOD>, ReturnType<TARGET[METHOD]>>(
128
+ onPreCall,
99
129
  {
100
130
  target: this,
101
131
  parameters,
102
- onPostCall: (callback) => {
103
- postCallCallback = callback
104
- },
105
132
  handlingStack: computeHandlingStack ? createHandlingStack('instrumented method') : undefined,
106
133
  },
107
- ])
134
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call -- TARGET[METHOD] is any under the index signature; value is verified as a function above
135
+ () => original.apply(this, parameters)
136
+ )
137
+ } as TARGET[METHOD]
108
138
 
109
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
110
- const result = original.apply(this, parameters)
139
+ const { stop: restoreOriginal } = replaceWithInstrumentation(targetPrototype, method, original, instrumentation)
111
140
 
112
- if (postCallCallback) {
113
- callMonitored(postCallCallback, null, [result])
114
- }
141
+ return {
142
+ stop: () => {
143
+ stopped = true
144
+ restoreOriginal()
145
+ },
146
+ }
147
+ }
115
148
 
116
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
117
- return result
149
+ /**
150
+ * Instruments a constructor on an object (typically a global, e.g. `window.WebSocket`), calling the
151
+ * given callback before the original constructor is invoked. The callback receives an object with
152
+ * information about the constructor call, and can register an `onPostCall` callback to be notified
153
+ * with the constructed instance.
154
+ *
155
+ * Like `instrumentMethod`, this is a "good citizen" regarding third party instrumentations: stopping
156
+ * restores the original constructor unless a third party replaced it afterwards.
157
+ *
158
+ * The wrapper preserves the original prototype (so `instanceof` keeps working), the original
159
+ * `new.target` (so constructors that inspect it behave as if not instrumented), the original
160
+ * static members (e.g. `WebSocket.OPEN`), and `instance.constructor ===` so checks like
161
+ * `new WebSocket(url).constructor === WebSocket` stay true.
162
+ *
163
+ * @see {@link preserveConstructorShape} for limitations on static members preservation.
164
+ * @example
165
+ *
166
+ * instrumentConstructor(window, 'WebSocket', ({ parameters, onPostCall }) => {
167
+ * console.log('Before constructing WebSocket with parameters', parameters)
168
+ *
169
+ * onPostCall((instance) => {
170
+ * console.log('Constructed WebSocket instance', instance)
171
+ * })
172
+ * })
173
+ */
174
+ export function instrumentConstructor<CONTAINER extends { [key: string]: any }, CONSTRUCTOR extends keyof CONTAINER>(
175
+ container: CONTAINER,
176
+ constructor: CONSTRUCTOR,
177
+ onPreCall: (this: null, callInfos: InstrumentedConstructorCall<CONTAINER[CONSTRUCTOR]>) => void,
178
+ { computeHandlingStack }: { computeHandlingStack?: boolean } = {}
179
+ ) {
180
+ const original = container[constructor]
181
+
182
+ if (typeof original !== 'function') {
183
+ return { stop: noop }
118
184
  }
119
185
 
120
- targetPrototype[method] = instrumentation as TARGET[METHOD]
186
+ let stopped = false
187
+
188
+ const instrumentation = function (this: unknown): ConstructorInstanceOf<CONTAINER[CONSTRUCTOR]> {
189
+ // Bare `[[Call]]` (no `new`): delegate through `[[Call]]` and skip `onPreCall`. Otherwise we
190
+ // would notify instrumentation before the original rejects or returns, unlike the native
191
+ // constructor (e.g. `WebSocket(url)` or `class {}()` without `new`).
192
+ if (!new.target) {
193
+ return Reflect.apply(original, this, Array.from(arguments)) as ConstructorInstanceOf<CONTAINER[CONSTRUCTOR]>
194
+ }
195
+
196
+ // When `new` is used on this instrumented property, `new.target` is this wrapper. Passing
197
+ // it through to Reflect.construct would expose the wrong new.target inside the original
198
+ // body. If a subclass extends the wrapper, or a third party wraps us and their class is
199
+ // instantiated, `new.target` is that outer constructor and must be preserved.
200
+ const newTarget = new.target === instrumentation ? original : new.target
201
+
202
+ if (stopped) {
203
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
204
+ return Reflect.construct(
205
+ original,
206
+ arguments as unknown as ConstructorParametersOf<CONTAINER[CONSTRUCTOR]>,
207
+ newTarget
208
+ )
209
+ }
210
+
211
+ const parameters = Array.from(arguments) as ConstructorParametersOf<CONTAINER[CONSTRUCTOR]>
212
+
213
+ return notifyInstrumentation<
214
+ InstrumentedConstructorCall<CONTAINER[CONSTRUCTOR]>,
215
+ ConstructorInstanceOf<CONTAINER[CONSTRUCTOR]>
216
+ >(
217
+ onPreCall,
218
+ {
219
+ parameters,
220
+ handlingStack: computeHandlingStack ? createHandlingStack('instrumented constructor') : undefined,
221
+ },
222
+ () =>
223
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
224
+ Reflect.construct(original, parameters, newTarget)
225
+ )
226
+ } as CONTAINER[CONSTRUCTOR]
227
+
228
+ const restorePrototypeConstructor = preserveConstructorShape(instrumentation, original)
229
+ const { stop: restoreOriginal } = replaceWithInstrumentation(container, constructor, original, instrumentation)
121
230
 
122
231
  return {
123
232
  stop: () => {
124
233
  stopped = true
234
+ restorePrototypeConstructor()
235
+ restoreOriginal()
236
+ },
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Replaces `targetPrototype[method]` with the provided instrumentation and
242
+ * returns a `stop` function restoring the original (unless a third party replaced us afterwards).
243
+ */
244
+ function replaceWithInstrumentation<TARGET extends { [key: string]: any }, METHOD extends keyof TARGET>(
245
+ targetPrototype: TARGET,
246
+ method: METHOD,
247
+ original: TARGET[METHOD],
248
+ instrumentation: TARGET[METHOD]
249
+ ) {
250
+ targetPrototype[method] = instrumentation
251
+
252
+ return {
253
+ stop: () => {
125
254
  // If the instrumentation has been removed by a third party, keep the last one
126
255
  if (targetPrototype[method] === instrumentation) {
127
256
  targetPrototype[method] = original
@@ -130,13 +259,94 @@ export function instrumentMethod<TARGET extends { [key: string]: any }, METHOD e
130
259
  }
131
260
  }
132
261
 
262
+ /**
263
+ * Runs the pre-call callback (injecting the `onPostCall` registration), invokes the original
264
+ * method/constructor, then runs the registered post-call callback with the result.
265
+ *
266
+ * Note: the handling stack must be computed by the caller (at the topmost position of the call
267
+ * stack), so it is part of `baseCallInfo` rather than computed here.
268
+ */
269
+ function notifyInstrumentation<CALL_INFO extends InstrumentationCallbacks<RESULT>, RESULT>(
270
+ onPreCall: (this: null, callInfo: CALL_INFO) => void,
271
+ baseCallInfo: Omit<CALL_INFO, 'onPostCall'>,
272
+ invokeOriginal: () => RESULT
273
+ ): RESULT {
274
+ let postCallCallback: ((result: RESULT) => void) | undefined
275
+
276
+ callMonitored(onPreCall, null, [
277
+ {
278
+ ...baseCallInfo,
279
+ onPostCall: (callback: (result: RESULT) => void) => {
280
+ postCallCallback = callback
281
+ },
282
+ } as CALL_INFO,
283
+ ])
284
+
285
+ const result = invokeOriginal()
286
+
287
+ if (postCallCallback) {
288
+ callMonitored(postCallCallback, null, [result])
289
+ }
290
+
291
+ return result
292
+ }
293
+
294
+ interface InstrumentationCallbacks<RESULT> {
295
+ onPostCall: (callback: (result: RESULT) => void) => void
296
+ handlingStack?: string
297
+ }
298
+
299
+ /**
300
+ * Copies the original constructor prototype and other static members onto the instrumentation, so that
301
+ * `instanceof` checks keep working and statics such as `WebSocket.OPEN` remain available while
302
+ * instrumented.
303
+ *
304
+ * Returns a function that restores `prototype.constructor` to its prior descriptor; call it
305
+ * before restoring the global property in `stop()`.
306
+ */
307
+ function preserveConstructorShape(instrumentation: AnyConstructor, original: AnyConstructor): () => void {
308
+ /**
309
+ * Limitation: Only the original's *own* static members are copied. Statics inherited through the
310
+ * constructor's prototype chain (e.g. `class Child extends Parent` where `Parent` defines statics)
311
+ * are not preserved, since the instrumentation still inherits from `Function.prototype`. This is
312
+ * acceptable for the globals we instrument (e.g. `WebSocket`, whose own statics are the only ones
313
+ * that matter), but we would need to delegate the static prototype chain to support subclassed
314
+ * constructors with meaningful inherited statics.
315
+ */
316
+ for (const key of ([] as PropertyKey[]).concat(
317
+ Object.getOwnPropertyNames(original),
318
+ Object.getOwnPropertySymbols(original)
319
+ )) {
320
+ const descriptor = Object.getOwnPropertyDescriptor(original, key) as PropertyDescriptor
321
+ Object.defineProperty(instrumentation, key, descriptor)
322
+ }
323
+
324
+ /*
325
+ * Limitation: Repointing `constructor` on this shared prototype affects every instance whose
326
+ * `[[Prototype]]` is this object, including instances created before instrumentation, because
327
+ * `constructor` is inherited rather than snapshotted per instance. Code that held `original` (or
328
+ * whatever was in `prototype.constructor` before) as the canonical constructor and expects reference
329
+ * equality to that value for the lifetime of the page can observe a behavior change while RUM is
330
+ * active; restoring on `stop()` fixes this. In practice the SDK initializes as early as possible,
331
+ * which narrows the window where pre-instrument instances exist.
332
+ */
333
+ const { stop: restoreOriginalConstructor } = replaceWithInstrumentation(
334
+ original.prototype,
335
+ 'constructor',
336
+ original.prototype.constructor,
337
+ instrumentation
338
+ )
339
+
340
+ return restoreOriginalConstructor
341
+ }
342
+
133
343
  export function instrumentSetter<TARGET extends { [key: string]: any }, PROPERTY extends keyof TARGET>(
134
344
  targetPrototype: TARGET,
135
345
  property: PROPERTY,
136
346
  after: (target: TARGET, value: TARGET[PROPERTY]) => void
137
347
  ) {
138
348
  const originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property)
139
- if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {
349
+ if (!originalDescriptor?.set || !originalDescriptor.configurable) {
140
350
  return { stop: noop }
141
351
  }
142
352