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

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
@@ -0,0 +1,111 @@
1
+ import { display } from "../tools/display.mjs";
2
+ import { generateUUID } from "../tools/utils/stringUtils.mjs";
3
+ import { globalObject } from "../tools/globalObject.mjs";
4
+ import { getCookies, setCookie } from "./cookie.mjs";
5
+ import { Observable } from "../tools/observable.mjs";
6
+ import { mockable } from "../tools/mockable.mjs";
7
+ import { clearInterval, setInterval } from "../tools/timer.mjs";
8
+ import { addEventListener, isEventSupported } from "./addEventListener.mjs";
9
+ import { addTelemetryDebug } from "../domain/telemetry/telemetry.mjs";
10
+ import { ONE_MINUTE, ONE_SECOND, dateNow } from "@openobserve/js-core/time";
11
+ //#region src/browser/cookieAccess.ts
12
+ async function areCookiesAuthorized(createAccess, cookieOptions) {
13
+ const testCookieName = `oo_cookie_test_${generateUUID()}`;
14
+ const testCookieValue = "test";
15
+ const access = createAccess(testCookieName, cookieOptions);
16
+ try {
17
+ await access.getAllAndSet(() => ({
18
+ value: testCookieValue,
19
+ expireDelay: ONE_MINUTE
20
+ }));
21
+ return (await access.getAll()).includes(testCookieValue);
22
+ } catch (error) {
23
+ display.error(error);
24
+ return false;
25
+ } finally {
26
+ try {
27
+ await access.getAllAndSet(() => ({
28
+ value: "",
29
+ expireDelay: 0
30
+ }));
31
+ } catch {}
32
+ }
33
+ }
34
+ function createCookieStoreAccess(cookieName, cookieOptions) {
35
+ const cookieStore = mockable(globalObject.cookieStore);
36
+ const observable = new Observable(() => {
37
+ return addEventListener(cookieStore, "change", (event) => {
38
+ if (event.changed.some((event) => event.name === cookieName) || event.deleted.some((event) => event.name === cookieName)) observable.notify();
39
+ }).stop;
40
+ });
41
+ return {
42
+ async getAll() {
43
+ return (await cookieStore.getAll(cookieName)).map((item) => item.value);
44
+ },
45
+ async getAllAndSet(cb) {
46
+ const items = await cookieStore.getAll(cookieName);
47
+ const { value, expireDelay } = cb(items.map((item) => item.value));
48
+ try {
49
+ await cookieStore.set({
50
+ name: cookieName,
51
+ value,
52
+ expires: dateNow() + expireDelay,
53
+ path: "/",
54
+ sameSite: cookieOptions.crossSite ? "none" : "strict",
55
+ domain: cookieOptions.domain,
56
+ secure: cookieOptions.secure,
57
+ partitioned: cookieOptions.partitioned
58
+ });
59
+ } catch (error) {
60
+ const documentCookies = getCookies(cookieName);
61
+ addTelemetryDebug("Failed to set cookie using Cookie Store API", {
62
+ "error.message": error.message,
63
+ newValue: value,
64
+ cookieOptions: { ...cookieOptions },
65
+ cookies: items.map((item) => ({ ...item })),
66
+ cookieCount: items.length,
67
+ documentCookies
68
+ });
69
+ }
70
+ },
71
+ observable
72
+ };
73
+ }
74
+ const WATCH_COOKIE_INTERVAL_DELAY = ONE_SECOND;
75
+ function createDocumentCookieAccess(cookieName, cookieOptions) {
76
+ let previousCookieValues = getCookies(cookieName);
77
+ const observable = new Observable(() => {
78
+ const watchCookieIntervalId = setInterval(() => {
79
+ notifyCookieValueIfChanged(getCookies(cookieName));
80
+ }, WATCH_COOKIE_INTERVAL_DELAY);
81
+ return () => {
82
+ clearInterval(watchCookieIntervalId);
83
+ };
84
+ });
85
+ function notifyCookieValueIfChanged(cookieValues) {
86
+ if (String(cookieValues) !== String(previousCookieValues)) {
87
+ previousCookieValues = cookieValues;
88
+ observable.notify();
89
+ }
90
+ }
91
+ return {
92
+ getAll() {
93
+ return Promise.resolve(getCookies(cookieName));
94
+ },
95
+ async getAllAndSet(cb) {
96
+ const { value, expireDelay } = cb(getCookies(cookieName));
97
+ setCookie(cookieName, value, expireDelay, cookieOptions);
98
+ await Promise.resolve();
99
+ notifyCookieValueIfChanged([value]);
100
+ },
101
+ observable
102
+ };
103
+ }
104
+ function isCookieStoreSupported() {
105
+ const cookieStore = mockable(globalObject.cookieStore);
106
+ return Boolean(cookieStore && isEventSupported(cookieStore, "change"));
107
+ }
108
+ //#endregion
109
+ export { areCookiesAuthorized, createCookieStoreAccess, createDocumentCookieAccess, isCookieStoreSupported };
110
+
111
+ //# sourceMappingURL=cookieAccess.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookieAccess.mjs","names":[],"sources":["../../src/browser/cookieAccess.ts"],"sourcesContent":["import { ONE_MINUTE, ONE_SECOND, dateNow } from '@openobserve/js-core/time'\nimport { setInterval, clearInterval } from '../tools/timer'\nimport { Observable } from '../tools/observable'\nimport { mockable } from '../tools/mockable'\nimport { display } from '../tools/display'\nimport { generateUUID } from '../tools/utils/stringUtils'\nimport { addTelemetryDebug } from '../domain/telemetry'\nimport { globalObject } from '../tools/globalObject'\nimport { addEventListener, DOM_EVENT, isEventSupported } from './addEventListener'\nimport { getCookies, setCookie } from './cookie'\nimport type { CookieOptions } from './cookie'\n\nexport interface CookieAccess {\n getAll(): Promise<string[]>\n getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }): Promise<void>\n observable: Observable<void>\n}\n\nexport type CookieAccessFactory = (cookieName: string, cookieOptions: CookieOptions) => CookieAccess\n\nexport async function areCookiesAuthorized(\n createAccess: CookieAccessFactory,\n cookieOptions: CookieOptions\n): Promise<boolean> {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `oo_cookie_test_${generateUUID()}`\n const testCookieValue = 'test'\n const access = createAccess(testCookieName, cookieOptions)\n try {\n await access.getAllAndSet(() => ({ value: testCookieValue, expireDelay: ONE_MINUTE }))\n const values = await access.getAll()\n return values.includes(testCookieValue)\n } catch (error) {\n display.error(error)\n return false\n } finally {\n try {\n await access.getAllAndSet(() => ({ value: '', expireDelay: 0 }))\n } catch {\n // Best-effort cleanup\n }\n }\n}\n\nexport function createCookieStoreAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess {\n const cookieStore = mockable(globalObject.cookieStore)!\n const observable = new Observable<void>(() => {\n const listener = addEventListener(cookieStore, DOM_EVENT.CHANGE, (event) => {\n // Based on our experimentation, we're assuming that entries for the same cookie cannot be in both the 'changed' and 'deleted' arrays.\n // However, due to ambiguity in the specification, we asked for clarification: https://github.com/WICG/cookie-store/issues/226\n const changeEvent =\n event.changed.some((event) => event.name === cookieName) ||\n event.deleted.some((event) => event.name === cookieName)\n if (changeEvent) {\n observable.notify()\n }\n })\n return listener.stop\n })\n\n return {\n async getAll() {\n const items = await cookieStore.getAll(cookieName)\n return items.map((item) => item.value)\n },\n\n async getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }) {\n const items = await cookieStore.getAll(cookieName)\n\n const currentValues = items.map((item) => item.value)\n const { value, expireDelay } = cb(currentValues)\n\n try {\n await cookieStore.set({\n name: cookieName,\n value,\n expires: dateNow() + expireDelay,\n path: '/',\n sameSite: cookieOptions.crossSite ? 'none' : 'strict',\n domain: cookieOptions.domain,\n secure: cookieOptions.secure,\n partitioned: cookieOptions.partitioned,\n })\n } catch (error) {\n const documentCookies = getCookies(cookieName)\n // monitor-until: 2026-07-01\n addTelemetryDebug('Failed to set cookie using Cookie Store API', {\n 'error.message': (error as Error).message,\n newValue: value,\n cookieOptions: {\n ...cookieOptions,\n },\n cookies: items.map((item) => ({\n ...item,\n })),\n cookieCount: items.length,\n documentCookies,\n })\n }\n },\n\n observable,\n }\n}\n\nexport const WATCH_COOKIE_INTERVAL_DELAY = ONE_SECOND\nexport function createDocumentCookieAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess {\n let previousCookieValues = getCookies(cookieName)\n\n const observable = new Observable<void>(() => {\n const watchCookieIntervalId = setInterval(() => {\n const cookieValues = getCookies(cookieName)\n notifyCookieValueIfChanged(cookieValues)\n }, WATCH_COOKIE_INTERVAL_DELAY)\n\n return () => {\n clearInterval(watchCookieIntervalId)\n }\n })\n\n function notifyCookieValueIfChanged(cookieValues: string[]) {\n if (String(cookieValues) !== String(previousCookieValues)) {\n previousCookieValues = cookieValues\n observable.notify()\n }\n }\n\n return {\n getAll() {\n return Promise.resolve(getCookies(cookieName))\n },\n\n async getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }) {\n const currentValue = getCookies(cookieName)\n const { value, expireDelay } = cb(currentValue)\n setCookie(cookieName, value, expireDelay, cookieOptions)\n await Promise.resolve()\n notifyCookieValueIfChanged([value])\n },\n\n observable,\n }\n}\n\n// Salesforce LWS does not support the change event of CookieStore objects. https://developer.salesforce.com/tools/lws-distortion-viewer\nexport function isCookieStoreSupported(): boolean {\n const cookieStore = mockable(globalObject.cookieStore)\n return Boolean(cookieStore && isEventSupported(cookieStore, DOM_EVENT.CHANGE))\n}\n"],"mappings":";;;;;;;;;;;AAoBA,eAAsB,qBACpB,cACA,eACkB;CAGlB,MAAM,iBAAiB,kBAAkB,aAAa;CACtD,MAAM,kBAAkB;CACxB,MAAM,SAAS,aAAa,gBAAgB,aAAa;CACzD,IAAI;EACF,MAAM,OAAO,oBAAoB;GAAE,OAAO;GAAiB,aAAa;EAAW,EAAE;EAErF,QAAO,MADc,OAAO,OAAO,EAAA,CACrB,SAAS,eAAe;CACxC,SAAS,OAAO;EACd,QAAQ,MAAM,KAAK;EACnB,OAAO;CACT,UAAU;EACR,IAAI;GACF,MAAM,OAAO,oBAAoB;IAAE,OAAO;IAAI,aAAa;GAAE,EAAE;EACjE,QAAQ,CAER;CACF;AACF;AAEA,SAAgB,wBAAwB,YAAoB,eAA4C;CACtG,MAAM,cAAc,SAAS,aAAa,WAAW;CACrD,MAAM,aAAa,IAAI,iBAAuB;EAW5C,OAViB,iBAAiB,aAAA,WAAgC,UAAU;GAM1E,IAFE,MAAM,QAAQ,MAAM,UAAU,MAAM,SAAS,UAAU,KACvD,MAAM,QAAQ,MAAM,UAAU,MAAM,SAAS,UAAU,GAEvD,WAAW,OAAO;EAEtB,CACc,CAAC,CAAC;CAClB,CAAC;CAED,OAAO;EACL,MAAM,SAAS;GAEb,QAAO,MADa,YAAY,OAAO,UAAU,EAAA,CACpC,KAAK,SAAS,KAAK,KAAK;EACvC;EAEA,MAAM,aAAa,IAAiE;GAClF,MAAM,QAAQ,MAAM,YAAY,OAAO,UAAU;GAGjD,MAAM,EAAE,OAAO,gBAAgB,GADT,MAAM,KAAK,SAAS,KAAK,KACD,CAAC;GAE/C,IAAI;IACF,MAAM,YAAY,IAAI;KACpB,MAAM;KACN;KACA,SAAS,QAAQ,IAAI;KACrB,MAAM;KACN,UAAU,cAAc,YAAY,SAAS;KAC7C,QAAQ,cAAc;KACtB,QAAQ,cAAc;KACtB,aAAa,cAAc;IAC7B,CAAC;GACH,SAAS,OAAO;IACd,MAAM,kBAAkB,WAAW,UAAU;IAE7C,kBAAkB,+CAA+C;KAC/D,iBAAkB,MAAgB;KAClC,UAAU;KACV,eAAe,EACb,GAAG,cACL;KACA,SAAS,MAAM,KAAK,UAAU,EAC5B,GAAG,KACL,EAAE;KACF,aAAa,MAAM;KACnB;IACF,CAAC;GACH;EACF;EAEA;CACF;AACF;AAEA,MAAa,8BAA8B;AAC3C,SAAgB,2BAA2B,YAAoB,eAA4C;CACzG,IAAI,uBAAuB,WAAW,UAAU;CAEhD,MAAM,aAAa,IAAI,iBAAuB;EAC5C,MAAM,wBAAwB,kBAAkB;GAE9C,2BADqB,WAAW,UACM,CAAC;EACzC,GAAG,2BAA2B;EAE9B,aAAa;GACX,cAAc,qBAAqB;EACrC;CACF,CAAC;CAED,SAAS,2BAA2B,cAAwB;EAC1D,IAAI,OAAO,YAAY,MAAM,OAAO,oBAAoB,GAAG;GACzD,uBAAuB;GACvB,WAAW,OAAO;EACpB;CACF;CAEA,OAAO;EACL,SAAS;GACP,OAAO,QAAQ,QAAQ,WAAW,UAAU,CAAC;EAC/C;EAEA,MAAM,aAAa,IAAiE;GAElF,MAAM,EAAE,OAAO,gBAAgB,GADV,WAAW,UACa,CAAC;GAC9C,UAAU,YAAY,OAAO,aAAa,aAAa;GACvD,MAAM,QAAQ,QAAQ;GACtB,2BAA2B,CAAC,KAAK,CAAC;EACpC;EAEA;CACF;AACF;AAGA,SAAgB,yBAAkC;CAChD,MAAM,cAAc,SAAS,aAAa,WAAW;CACrD,OAAO,QAAQ,eAAe,iBAAiB,aAAA,QAA6B,CAAC;AAC/E"}
@@ -0,0 +1,18 @@
1
+ import { globalObject } from "../tools/globalObject.mjs";
2
+ import { getZoneJsOriginalValue } from "../tools/getZoneJsOriginalValue.mjs";
3
+ //#region src/browser/fetch.ts
4
+ /**
5
+ * Make a fetch request using the native implementation, bypassing Zone.js patching.
6
+ * This prevents unnecessary Angular change detection cycles.
7
+ *
8
+ * @param input - The resource to fetch (URL or Request object)
9
+ * @param init - Optional fetch options
10
+ * @returns A Promise that resolves to the Response
11
+ */
12
+ function fetch(input, init) {
13
+ return getZoneJsOriginalValue(globalObject, "fetch")(input, init);
14
+ }
15
+ //#endregion
16
+ export { fetch };
17
+
18
+ //# sourceMappingURL=fetch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.mjs","names":[],"sources":["../../src/browser/fetch.ts"],"sourcesContent":["import { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue'\nimport { globalObject } from '../tools/globalObject'\n\n/**\n * Make a fetch request using the native implementation, bypassing Zone.js patching.\n * This prevents unnecessary Angular change detection cycles.\n *\n * @param input - The resource to fetch (URL or Request object)\n * @param init - Optional fetch options\n * @returns A Promise that resolves to the Response\n */\nexport function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {\n return getZoneJsOriginalValue(globalObject, 'fetch')(input, init)\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,MAAM,OAA0B,MAAuC;CACrF,OAAO,uBAAuB,cAAc,OAAO,CAAC,CAAC,OAAO,IAAI;AAClE"}
@@ -0,0 +1,90 @@
1
+ import { globalObject } from "../tools/globalObject.mjs";
2
+ import { normalizeUrl } from "../tools/utils/urlPolyfill.mjs";
3
+ import { monitorError } from "../tools/monitor.mjs";
4
+ import { Observable } from "../tools/observable.mjs";
5
+ import { instrumentMethod } from "../tools/instrumentMethod.mjs";
6
+ import { tryToClone } from "../tools/utils/responseUtils.mjs";
7
+ import { readBytesFromStream } from "../tools/readBytesFromStream.mjs";
8
+ import { clocksNow } from "@openobserve/js-core/time";
9
+ //#region src/browser/fetchObservable.ts
10
+ /**
11
+ * Action to take with the response body of a fetch request.
12
+ * Values are ordered by priority: higher values take precedence when multiple actions are requested.
13
+ */
14
+ let ResponseBodyAction = /* @__PURE__ */ function(ResponseBodyAction) {
15
+ ResponseBodyAction[ResponseBodyAction["IGNORE"] = 0] = "IGNORE";
16
+ ResponseBodyAction[ResponseBodyAction["COLLECT"] = 1] = "COLLECT";
17
+ return ResponseBodyAction;
18
+ }({});
19
+ let fetchObservable;
20
+ const responseBodyActionGetters = [];
21
+ function initFetchObservable({ responseBodyAction } = {}) {
22
+ if (responseBodyAction) responseBodyActionGetters.push(responseBodyAction);
23
+ if (!fetchObservable) fetchObservable = createFetchObservable();
24
+ return fetchObservable;
25
+ }
26
+ function createFetchObservable() {
27
+ return new Observable((observable) => {
28
+ if (!globalObject.fetch) return;
29
+ const { stop } = instrumentMethod(globalObject, "fetch", (call) => beforeSend(call, observable), { computeHandlingStack: true });
30
+ return stop;
31
+ });
32
+ }
33
+ function beforeSend({ parameters, onPostCall, handlingStack }, observable) {
34
+ const [input, init] = parameters;
35
+ let methodFromParams = init?.method;
36
+ if (methodFromParams === void 0 && input instanceof Request) methodFromParams = input.method;
37
+ const method = methodFromParams !== void 0 ? String(methodFromParams).toUpperCase() : "GET";
38
+ const url = input instanceof Request ? input.url : normalizeUrl(String(input));
39
+ const context = {
40
+ state: "start",
41
+ init,
42
+ input,
43
+ method,
44
+ startClocks: clocksNow(),
45
+ url,
46
+ handlingStack,
47
+ isAbortedOnStart: input instanceof Request && input.signal?.aborted || init?.signal?.aborted || false
48
+ };
49
+ observable.notify(context);
50
+ parameters[0] = context.input;
51
+ parameters[1] = context.init;
52
+ onPostCall((responsePromise) => {
53
+ afterSend(observable, responsePromise, context).catch(monitorError);
54
+ });
55
+ }
56
+ async function afterSend(observable, responsePromise, startContext) {
57
+ const context = startContext;
58
+ let response;
59
+ try {
60
+ response = await responsePromise;
61
+ } catch (error) {
62
+ observable.notify({
63
+ ...context,
64
+ state: "resolve",
65
+ status: 0,
66
+ isAborted: context.init?.signal?.aborted || error instanceof DOMException && error.code === DOMException.ABORT_ERR,
67
+ error
68
+ });
69
+ return;
70
+ }
71
+ context.response = response;
72
+ context.status = response.status;
73
+ context.responseType = response.type;
74
+ context.isAborted = false;
75
+ if (responseBodyActionGetters.reduce((action, getter) => Math.max(action, getter(context)), 0) === 1) {
76
+ const clonedResponse = tryToClone(response);
77
+ if (clonedResponse?.body) try {
78
+ const bytes = await readBytesFromStream(clonedResponse.body);
79
+ context.responseBody = new TextDecoder().decode(bytes);
80
+ } catch {}
81
+ }
82
+ observable.notify({
83
+ ...context,
84
+ state: "resolve"
85
+ });
86
+ }
87
+ //#endregion
88
+ export { ResponseBodyAction, initFetchObservable };
89
+
90
+ //# sourceMappingURL=fetchObservable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchObservable.mjs","names":[],"sources":["../../src/browser/fetchObservable.ts"],"sourcesContent":["import type { ClocksState } from '@openobserve/js-core/time'\nimport { clocksNow } from '@openobserve/js-core/time'\nimport type { InstrumentedMethodCall } from '../tools/instrumentMethod'\nimport { instrumentMethod } from '../tools/instrumentMethod'\nimport { monitorError } from '../tools/monitor'\nimport { Observable } from '../tools/observable'\nimport { normalizeUrl } from '../tools/utils/urlPolyfill'\nimport type { GlobalObject } from '../tools/globalObject'\nimport { globalObject } from '../tools/globalObject'\nimport { readBytesFromStream } from '../tools/readBytesFromStream'\nimport { tryToClone } from '../tools/utils/responseUtils'\n\ninterface FetchContextBase {\n method: string\n startClocks: ClocksState\n input: unknown\n init?: RequestInit\n url: string\n handlingStack?: string\n isAbortedOnStart: boolean\n}\n\nexport interface FetchStartContext extends FetchContextBase {\n state: 'start'\n}\n\nexport interface FetchResolveContext extends FetchContextBase {\n state: 'resolve'\n status: number\n response?: Response\n responseBody?: string\n responseType?: string\n isAborted: boolean\n error?: Error\n}\n\nexport type FetchContext = FetchStartContext | FetchResolveContext\n\ntype ResponseBodyActionGetter = (context: FetchResolveContext) => ResponseBodyAction\n\n/**\n * Action to take with the response body of a fetch request.\n * Values are ordered by priority: higher values take precedence when multiple actions are requested.\n */\nexport const enum ResponseBodyAction {\n IGNORE = 0,\n COLLECT = 1,\n}\n\nlet fetchObservable: Observable<FetchContext> | undefined\nconst responseBodyActionGetters: ResponseBodyActionGetter[] = []\n\nexport function initFetchObservable({ responseBodyAction }: { responseBodyAction?: ResponseBodyActionGetter } = {}) {\n if (responseBodyAction) {\n responseBodyActionGetters.push(responseBodyAction)\n }\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nexport function resetFetchObservable() {\n fetchObservable = undefined\n responseBodyActionGetters.length = 0\n}\n\nfunction createFetchObservable() {\n return new Observable<FetchContext>((observable) => {\n // eslint-disable-next-line local-rules/disallow-zone-js-patched-values\n if (!globalObject.fetch) {\n return\n }\n\n const { stop } = instrumentMethod(globalObject, 'fetch', (call) => beforeSend(call, observable), {\n computeHandlingStack: true,\n })\n\n return stop\n })\n}\n\nfunction beforeSend(\n { parameters, onPostCall, handlingStack }: InstrumentedMethodCall<GlobalObject, 'fetch'>,\n observable: Observable<FetchContext>\n) {\n const [input, init] = parameters\n let methodFromParams = init?.method\n\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method\n }\n\n const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET'\n const url = input instanceof Request ? input.url : normalizeUrl(String(input))\n const startClocks = clocksNow()\n\n const context: FetchStartContext = {\n state: 'start',\n init,\n input,\n method,\n startClocks,\n url,\n handlingStack,\n isAbortedOnStart: (input instanceof Request && input.signal?.aborted) || init?.signal?.aborted || false,\n }\n\n observable.notify(context)\n\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input as RequestInfo | URL\n parameters[1] = context.init\n\n onPostCall((responsePromise) => {\n afterSend(observable, responsePromise, context).catch(monitorError)\n })\n}\n\nasync function afterSend(\n observable: Observable<FetchContext>,\n responsePromise: Promise<Response>,\n startContext: FetchStartContext\n) {\n const context = startContext as unknown as FetchResolveContext\n\n let response: Response\n\n try {\n response = await responsePromise\n } catch (error) {\n observable.notify({\n ...context,\n state: 'resolve',\n status: 0,\n isAborted:\n context.init?.signal?.aborted || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error: error as Error,\n })\n return\n }\n\n context.response = response\n context.status = response.status\n context.responseType = response.type\n context.isAborted = false\n\n const responseBodyCondition: ResponseBodyAction = responseBodyActionGetters.reduce<number>(\n (action, getter) => Math.max(action, getter(context)),\n ResponseBodyAction.IGNORE\n )\n\n if (responseBodyCondition === ResponseBodyAction.COLLECT) {\n const clonedResponse = tryToClone(response)\n if (clonedResponse?.body) {\n try {\n const bytes = await readBytesFromStream(clonedResponse.body)\n context.responseBody = new TextDecoder().decode(bytes)\n } catch {\n // Ignore errors when reading the response body (e.g., stream aborted, network errors)\n // This is not critical and should not be reported as an SDK error\n }\n }\n }\n\n observable.notify({ ...context, state: 'resolve' })\n}\n"],"mappings":";;;;;;;;;;;;;AA4CA,IAAkB,qBAAX,yBAAA,oBAAA;CACL,mBAAA,mBAAA,YAAA,KAAA;CACA,mBAAA,mBAAA,aAAA,KAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAI;AACJ,MAAM,4BAAwD,CAAC;AAE/D,SAAgB,oBAAoB,EAAE,uBAA0E,CAAC,GAAG;CAClH,IAAI,oBACF,0BAA0B,KAAK,kBAAkB;CAEnD,IAAI,CAAC,iBACH,kBAAkB,sBAAsB;CAE1C,OAAO;AACT;AAOA,SAAS,wBAAwB;CAC/B,OAAO,IAAI,YAA0B,eAAe;EAElD,IAAI,CAAC,aAAa,OAChB;EAGF,MAAM,EAAE,SAAS,iBAAiB,cAAc,UAAU,SAAS,WAAW,MAAM,UAAU,GAAG,EAC/F,sBAAsB,KACxB,CAAC;EAED,OAAO;CACT,CAAC;AACH;AAEA,SAAS,WACP,EAAE,YAAY,YAAY,iBAC1B,YACA;CACA,MAAM,CAAC,OAAO,QAAQ;CACtB,IAAI,mBAAmB,MAAM;CAE7B,IAAI,qBAAqB,KAAA,KAAa,iBAAiB,SACrD,mBAAmB,MAAM;CAG3B,MAAM,SAAS,qBAAqB,KAAA,IAAY,OAAO,gBAAgB,CAAC,CAAC,YAAY,IAAI;CACzF,MAAM,MAAM,iBAAiB,UAAU,MAAM,MAAM,aAAa,OAAO,KAAK,CAAC;CAG7E,MAAM,UAA6B;EACjC,OAAO;EACP;EACA;EACA;EACA,aAPkB,UAOR;EACV;EACA;EACA,kBAAmB,iBAAiB,WAAW,MAAM,QAAQ,WAAY,MAAM,QAAQ,WAAW;CACpG;CAEA,WAAW,OAAO,OAAO;CAGzB,WAAW,KAAK,QAAQ;CACxB,WAAW,KAAK,QAAQ;CAExB,YAAY,oBAAoB;EAC9B,UAAU,YAAY,iBAAiB,OAAO,CAAC,CAAC,MAAM,YAAY;CACpE,CAAC;AACH;AAEA,eAAe,UACb,YACA,iBACA,cACA;CACA,MAAM,UAAU;CAEhB,IAAI;CAEJ,IAAI;EACF,WAAW,MAAM;CACnB,SAAS,OAAO;EACd,WAAW,OAAO;GAChB,GAAG;GACH,OAAO;GACP,QAAQ;GACR,WACE,QAAQ,MAAM,QAAQ,WAAY,iBAAiB,gBAAgB,MAAM,SAAS,aAAa;GAC1F;EACT,CAAC;EACD;CACF;CAEA,QAAQ,WAAW;CACnB,QAAQ,SAAS,SAAS;CAC1B,QAAQ,eAAe,SAAS;CAChC,QAAQ,YAAY;CAOpB,IALkD,0BAA0B,QACzE,QAAQ,WAAW,KAAK,IAAI,QAAQ,OAAO,OAAO,CAAC,GAAA,CAI9B,MAAA,GAAkC;EACxD,MAAM,iBAAiB,WAAW,QAAQ;EAC1C,IAAI,gBAAgB,MAClB,IAAI;GACF,MAAM,QAAQ,MAAM,oBAAoB,eAAe,IAAI;GAC3D,QAAQ,eAAe,IAAI,YAAY,CAAC,CAAC,OAAO,KAAK;EACvD,QAAQ,CAGR;CAEJ;CAEA,WAAW,OAAO;EAAE,GAAG;EAAS,OAAO;CAAU,CAAC;AACpD"}
@@ -0,0 +1,44 @@
1
+ import { isWorkerEnvironment } from "../tools/globalObject.mjs";
2
+ import { Observable } from "../tools/observable.mjs";
3
+ import { addEventListener, addEventListeners } from "./addEventListener.mjs";
4
+ import { objectValues } from "../tools/utils/polyfills.mjs";
5
+ //#region src/browser/pageMayExitObservable.ts
6
+ const PageExitReason = {
7
+ HIDDEN: "visibility_hidden",
8
+ UNLOADING: "before_unload",
9
+ PAGEHIDE: "page_hide",
10
+ FROZEN: "page_frozen"
11
+ };
12
+ function createPageMayExitObservable() {
13
+ return new Observable((observable) => {
14
+ if (isWorkerEnvironment) return;
15
+ const { stop: stopListeners } = addEventListeners(window, ["visibilitychange", "freeze"], (event) => {
16
+ if (event.type === "visibilitychange" && document.visibilityState === "hidden")
17
+ /**
18
+ * Only event that guarantee to fire on mobile devices when the page transitions to background state
19
+ * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
20
+ */
21
+ observable.notify({ reason: PageExitReason.HIDDEN });
22
+ else if (event.type === "freeze")
23
+ /**
24
+ * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
25
+ * Allow to collect events happening between hidden and frozen state.
26
+ */
27
+ observable.notify({ reason: PageExitReason.FROZEN });
28
+ }, { capture: true });
29
+ const stopBeforeUnloadListener = addEventListener(window, "beforeunload", () => {
30
+ observable.notify({ reason: PageExitReason.UNLOADING });
31
+ }).stop;
32
+ return () => {
33
+ stopListeners();
34
+ stopBeforeUnloadListener();
35
+ };
36
+ });
37
+ }
38
+ function isPageExitReason(reason) {
39
+ return objectValues(PageExitReason).includes(reason);
40
+ }
41
+ //#endregion
42
+ export { PageExitReason, createPageMayExitObservable, isPageExitReason };
43
+
44
+ //# sourceMappingURL=pageMayExitObservable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageMayExitObservable.mjs","names":[],"sources":["../../src/browser/pageMayExitObservable.ts"],"sourcesContent":["import { Observable } from '../tools/observable'\nimport { objectValues } from '../tools/utils/polyfills'\nimport { isWorkerEnvironment } from '../tools/globalObject'\nimport { addEventListeners, addEventListener, DOM_EVENT } from './addEventListener'\n\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n} as const\n\nexport type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason]\n\nexport interface PageMayExitEvent {\n reason: PageExitReason\n}\n\nexport function createPageMayExitObservable(): Observable<PageMayExitEvent> {\n return new Observable<PageMayExitEvent>((observable) => {\n if (isWorkerEnvironment) {\n // Page exit is not observable in worker environments (no window/document events)\n return\n }\n const { stop: stopListeners } = addEventListeners(\n window,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE],\n (event) => {\n if (event.type === DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n const stopBeforeUnloadListener = addEventListener(window, DOM_EVENT.BEFORE_UNLOAD, () => {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }).stop\n\n return () => {\n stopListeners()\n stopBeforeUnloadListener()\n }\n })\n}\n\nexport function isPageExitReason(reason: string): reason is PageExitReason {\n return objectValues(PageExitReason).includes(reason as PageExitReason)\n}\n"],"mappings":";;;;;AAKA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,WAAW;CACX,UAAU;CACV,QAAQ;AACV;AAQA,SAAgB,8BAA4D;CAC1E,OAAO,IAAI,YAA8B,eAAe;EACtD,IAAI,qBAEF;EAEF,MAAM,EAAE,MAAM,kBAAkB,kBAC9B,QACA,CAAA,oBAAA,QAA8C,IAC7C,UAAU;GACT,IAAI,MAAM,SAAA,sBAAwC,SAAS,oBAAoB;;;;;GAK7E,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;QAC9C,IAAI,MAAM,SAAA;;;;;GAKf,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;EAEvD,GACA,EAAE,SAAS,KAAK,CAClB;EAEA,MAAM,2BAA2B,iBAAiB,QAAA,sBAAuC;GACvF,WAAW,OAAO,EAAE,QAAQ,eAAe,UAAU,CAAC;EACxD,CAAC,CAAC,CAAC;EAEH,aAAa;GACX,cAAc;GACd,yBAAyB;EAC3B;CACF,CAAC;AACH;AAEA,SAAgB,iBAAiB,QAA0C;CACzE,OAAO,aAAa,cAAc,CAAC,CAAC,SAAS,MAAwB;AACvE"}
@@ -0,0 +1,19 @@
1
+ import { noop } from "../tools/utils/functionUtils.mjs";
2
+ import { addEventListener } from "./addEventListener.mjs";
3
+ //#region src/browser/runOnReadyState.ts
4
+ function runOnReadyState(expectedReadyState, callback) {
5
+ if (document.readyState === expectedReadyState || document.readyState === "complete") {
6
+ callback();
7
+ return { stop: noop };
8
+ }
9
+ return addEventListener(window, expectedReadyState === "complete" ? "load" : "DOMContentLoaded", callback, { once: true });
10
+ }
11
+ function asyncRunOnReadyState(expectedReadyState) {
12
+ return new Promise((resolve) => {
13
+ runOnReadyState(expectedReadyState, resolve);
14
+ });
15
+ }
16
+ //#endregion
17
+ export { asyncRunOnReadyState, runOnReadyState };
18
+
19
+ //# sourceMappingURL=runOnReadyState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runOnReadyState.mjs","names":[],"sources":["../../src/browser/runOnReadyState.ts"],"sourcesContent":["import { noop } from '../tools/utils/functionUtils'\nimport { DOM_EVENT, addEventListener } from './addEventListener'\n\nexport function runOnReadyState(\n expectedReadyState: 'complete' | 'interactive',\n callback: () => void\n): { stop: () => void } {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback()\n return { stop: noop }\n }\n const eventName = expectedReadyState === 'complete' ? DOM_EVENT.LOAD : DOM_EVENT.DOM_CONTENT_LOADED\n return addEventListener(window, eventName, callback, { once: true })\n}\n\nexport function asyncRunOnReadyState(expectedReadyState: 'complete' | 'interactive'): Promise<void> {\n return new Promise((resolve) => {\n runOnReadyState(expectedReadyState, resolve)\n })\n}\n"],"mappings":";;;AAGA,SAAgB,gBACd,oBACA,UACsB;CACtB,IAAI,SAAS,eAAe,sBAAsB,SAAS,eAAe,YAAY;EACpF,SAAS;EACT,OAAO,EAAE,MAAM,KAAK;CACtB;CAEA,OAAO,iBAAiB,QADN,uBAAuB,aAAA,SAAA,oBACE,UAAU,EAAE,MAAM,KAAK,CAAC;AACrE;AAEA,SAAgB,qBAAqB,oBAA+D;CAClG,OAAO,IAAI,SAAS,YAAY;EAC9B,gBAAgB,oBAAoB,OAAO;CAC7C,CAAC;AACH"}
@@ -0,0 +1,74 @@
1
+ import { globalObject } from "../tools/globalObject.mjs";
2
+ import { normalizeUrl } from "../tools/utils/urlPolyfill.mjs";
3
+ import { Observable } from "../tools/observable.mjs";
4
+ import { instrumentMethod } from "../tools/instrumentMethod.mjs";
5
+ import { addEventListener } from "./addEventListener.mjs";
6
+ import { clocksNow, elapsed, timeStampNow } from "@openobserve/js-core/time";
7
+ //#region src/browser/xhrObservable.ts
8
+ let xhrObservable;
9
+ const xhrContexts = /* @__PURE__ */ new WeakMap();
10
+ function initXhrObservable() {
11
+ if (!xhrObservable) xhrObservable = createXhrObservable();
12
+ return xhrObservable;
13
+ }
14
+ function createXhrObservable() {
15
+ if (!("XMLHttpRequest" in globalObject)) return new Observable();
16
+ return new Observable((observable) => {
17
+ const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, "open", openXhr);
18
+ const { stop: stopInstrumentingSend } = instrumentMethod(XMLHttpRequest.prototype, "send", (call) => {
19
+ sendXhr(call, observable);
20
+ }, { computeHandlingStack: true });
21
+ const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, "abort", abortXhr);
22
+ return () => {
23
+ stopInstrumentingStart();
24
+ stopInstrumentingSend();
25
+ stopInstrumentingAbort();
26
+ };
27
+ });
28
+ }
29
+ function openXhr({ target: xhr, parameters: [method, url] }) {
30
+ xhrContexts.set(xhr, {
31
+ state: "open",
32
+ method: String(method).toUpperCase(),
33
+ url: normalizeUrl(String(url))
34
+ });
35
+ }
36
+ function sendXhr({ target: xhr, parameters: [body], handlingStack }, observable) {
37
+ const context = xhrContexts.get(xhr);
38
+ if (!context) return;
39
+ const startContext = context;
40
+ startContext.state = "start";
41
+ startContext.startClocks = clocksNow();
42
+ startContext.isAborted = false;
43
+ startContext.xhr = xhr;
44
+ startContext.handlingStack = handlingStack;
45
+ startContext.requestBody = body;
46
+ let hasBeenReported = false;
47
+ const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, "onreadystatechange", () => {
48
+ if (xhr.readyState === XMLHttpRequest.DONE) onEnd();
49
+ });
50
+ const onEnd = () => {
51
+ unsubscribeLoadEndListener();
52
+ stopInstrumentingOnReadyStateChange();
53
+ if (hasBeenReported) return;
54
+ hasBeenReported = true;
55
+ const completeContext = context;
56
+ completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());
57
+ completeContext.status = xhr.status;
58
+ if (typeof xhr.response === "string") completeContext.responseBody = xhr.response;
59
+ observable.notify({
60
+ ...completeContext,
61
+ state: "complete"
62
+ });
63
+ };
64
+ const { stop: unsubscribeLoadEndListener } = addEventListener(xhr, "loadend", onEnd);
65
+ observable.notify(startContext);
66
+ }
67
+ function abortXhr({ target: xhr }) {
68
+ const context = xhrContexts.get(xhr);
69
+ if (context) context.isAborted = true;
70
+ }
71
+ //#endregion
72
+ export { initXhrObservable };
73
+
74
+ //# sourceMappingURL=xhrObservable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhrObservable.mjs","names":[],"sources":["../../src/browser/xhrObservable.ts"],"sourcesContent":["import { elapsed, timeStampNow, clocksNow } from '@openobserve/js-core/time'\nimport type { Duration, ClocksState } from '@openobserve/js-core/time'\nimport type { InstrumentedMethodCall } from '../tools/instrumentMethod'\nimport { instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { normalizeUrl } from '../tools/utils/urlPolyfill'\nimport { globalObject } from '../tools/globalObject'\nimport { addEventListener } from './addEventListener'\n\nexport interface XhrOpenContext {\n state: 'open'\n method: string\n url: string\n}\n\nexport interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {\n state: 'start'\n startClocks: ClocksState\n isAborted: boolean\n xhr: XMLHttpRequest\n handlingStack?: string\n requestBody?: unknown\n}\n\nexport interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {\n state: 'complete'\n duration: Duration\n status: number\n responseBody?: string\n}\n\nexport type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext\n\nlet xhrObservable: Observable<XhrContext> | undefined\nconst xhrContexts = new WeakMap<XMLHttpRequest, XhrContext>()\n\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n if (!('XMLHttpRequest' in globalObject)) {\n return new Observable<XhrContext>()\n }\n\n return new Observable<XhrContext>((observable) => {\n const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr)\n\n const { stop: stopInstrumentingSend } = instrumentMethod(\n XMLHttpRequest.prototype,\n 'send',\n (call) => {\n sendXhr(call, observable)\n },\n { computeHandlingStack: true }\n )\n\n const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr)\n\n return () => {\n stopInstrumentingStart()\n stopInstrumentingSend()\n stopInstrumentingAbort()\n }\n })\n}\n\nfunction openXhr({ target: xhr, parameters: [method, url] }: InstrumentedMethodCall<XMLHttpRequest, 'open'>) {\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n })\n}\n\nfunction sendXhr(\n { target: xhr, parameters: [body], handlingStack }: InstrumentedMethodCall<XMLHttpRequest, 'send'>,\n observable: Observable<XhrContext>\n) {\n const context = xhrContexts.get(xhr)\n if (!context) {\n return\n }\n\n const startContext = context as XhrStartContext\n startContext.state = 'start'\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = xhr\n startContext.handlingStack = handlingStack\n startContext.requestBody = body\n\n let hasBeenReported = false\n\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd()\n }\n })\n\n const onEnd = () => {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n\n const completeContext = context as XhrCompleteContext\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow())\n completeContext.status = xhr.status\n if (typeof xhr.response === 'string') {\n completeContext.responseBody = xhr.response\n }\n observable.notify({ ...completeContext, state: 'complete' })\n }\n\n const { stop: unsubscribeLoadEndListener } = addEventListener(xhr, 'loadend', onEnd)\n\n observable.notify(startContext)\n}\n\nfunction abortXhr({ target: xhr }: InstrumentedMethodCall<XMLHttpRequest, 'abort'>) {\n const context = xhrContexts.get(xhr) as XhrStartContext | undefined\n if (context) {\n context.isAborted = true\n }\n}\n\n/**\n * Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.\n *\n * @internal\n */\nexport function resetXhrObservable() {\n xhrObservable = undefined\n}\n"],"mappings":";;;;;;;AAiCA,IAAI;AACJ,MAAM,8BAAc,IAAI,QAAoC;AAE5D,SAAgB,oBAAoB;CAClC,IAAI,CAAC,eACH,gBAAgB,oBAAoB;CAEtC,OAAO;AACT;AAEA,SAAS,sBAAsB;CAC7B,IAAI,EAAE,oBAAoB,eACxB,OAAO,IAAI,WAAuB;CAGpC,OAAO,IAAI,YAAwB,eAAe;EAChD,MAAM,EAAE,MAAM,2BAA2B,iBAAiB,eAAe,WAAW,QAAQ,OAAO;EAEnG,MAAM,EAAE,MAAM,0BAA0B,iBACtC,eAAe,WACf,SACC,SAAS;GACR,QAAQ,MAAM,UAAU;EAC1B,GACA,EAAE,sBAAsB,KAAK,CAC/B;EAEA,MAAM,EAAE,MAAM,2BAA2B,iBAAiB,eAAe,WAAW,SAAS,QAAQ;EAErG,aAAa;GACX,uBAAuB;GACvB,sBAAsB;GACtB,uBAAuB;EACzB;CACF,CAAC;AACH;AAEA,SAAS,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,QAAwD;CAC3G,YAAY,IAAI,KAAK;EACnB,OAAO;EACP,QAAQ,OAAO,MAAM,CAAC,CAAC,YAAY;EACnC,KAAK,aAAa,OAAO,GAAG,CAAC;CAC/B,CAAC;AACH;AAEA,SAAS,QACP,EAAE,QAAQ,KAAK,YAAY,CAAC,OAAO,iBACnC,YACA;CACA,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,CAAC,SACH;CAGF,MAAM,eAAe;CACrB,aAAa,QAAQ;CACrB,aAAa,cAAc,UAAU;CACrC,aAAa,YAAY;CACzB,aAAa,MAAM;CACnB,aAAa,gBAAgB;CAC7B,aAAa,cAAc;CAE3B,IAAI,kBAAkB;CAEtB,MAAM,EAAE,MAAM,wCAAwC,iBAAiB,KAAK,4BAA4B;EACtG,IAAI,IAAI,eAAe,eAAe,MAKpC,MAAM;CAEV,CAAC;CAED,MAAM,cAAc;EAClB,2BAA2B;EAC3B,oCAAoC;EACpC,IAAI,iBACF;EAEF,kBAAkB;EAElB,MAAM,kBAAkB;EACxB,gBAAgB,WAAW,QAAQ,aAAa,YAAY,WAAW,aAAa,CAAC;EACrF,gBAAgB,SAAS,IAAI;EAC7B,IAAI,OAAO,IAAI,aAAa,UAC1B,gBAAgB,eAAe,IAAI;EAErC,WAAW,OAAO;GAAE,GAAG;GAAiB,OAAO;EAAW,CAAC;CAC7D;CAEA,MAAM,EAAE,MAAM,+BAA+B,iBAAiB,KAAK,WAAW,KAAK;CAEnF,WAAW,OAAO,YAAY;AAChC;AAEA,SAAS,SAAS,EAAE,QAAQ,OAAwD;CAClF,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,SACF,QAAQ,YAAY;AAExB"}
@@ -0,0 +1,27 @@
1
+ import { display } from "../tools/display.mjs";
2
+ import { globalObject } from "../tools/globalObject.mjs";
3
+ import { matchList } from "../tools/matchOption.mjs";
4
+ import { mockable } from "../tools/mockable.mjs";
5
+ import { isUnsupportedExtensionEnvironment } from "./extension/extensionUtils.mjs";
6
+ //#region src/domain/allowedTrackingOrigins.ts
7
+ const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = "Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.";
8
+ const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
9
+ function isAllowedTrackingOrigins(configuration, errorStack) {
10
+ const location = mockable(globalObject.location);
11
+ const windowOrigin = location ? location.origin : "";
12
+ const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
13
+ if (!allowedTrackingOrigins) {
14
+ if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {
15
+ display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
16
+ return false;
17
+ }
18
+ return true;
19
+ }
20
+ const isAllowed = matchList(allowedTrackingOrigins, windowOrigin);
21
+ if (!isAllowed) display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
22
+ return isAllowed;
23
+ }
24
+ //#endregion
25
+ export { isAllowedTrackingOrigins };
26
+
27
+ //# sourceMappingURL=allowedTrackingOrigins.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowedTrackingOrigins.mjs","names":[],"sources":["../../src/domain/allowedTrackingOrigins.ts"],"sourcesContent":["import { display } from '../tools/display'\nimport { globalObject } from '../tools/globalObject'\nimport { matchList } from '../tools/matchOption'\nimport { mockable } from '../tools/mockable'\nimport type { InitConfiguration } from './configuration'\nimport { isUnsupportedExtensionEnvironment } from './extension/extensionUtils'\n\nexport const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN =\n 'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.'\nexport const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'\n\nexport function isAllowedTrackingOrigins(configuration: InitConfiguration, errorStack: string): boolean {\n const location = mockable(globalObject.location)\n const windowOrigin = location ? location.origin : ''\n const allowedTrackingOrigins = configuration.allowedTrackingOrigins\n if (!allowedTrackingOrigins) {\n if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {\n display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN)\n\n return false\n }\n return true\n }\n\n const isAllowed = matchList(allowedTrackingOrigins, windowOrigin)\n if (!isAllowed) {\n display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN)\n }\n return isAllowed\n}\n"],"mappings":";;;;;;AAOA,MAAa,8CACX;AACF,MAAa,oCAAoC;AAEjD,SAAgB,yBAAyB,eAAkC,YAA6B;CACtG,MAAM,WAAW,SAAS,aAAa,QAAQ;CAC/C,MAAM,eAAe,WAAW,SAAS,SAAS;CAClD,MAAM,yBAAyB,cAAc;CAC7C,IAAI,CAAC,wBAAwB;EAC3B,IAAI,kCAAkC,cAAc,UAAU,GAAG;GAC/D,QAAQ,MAAM,2CAA2C;GAEzD,OAAO;EACT;EACA,OAAO;CACT;CAEA,MAAM,YAAY,UAAU,wBAAwB,YAAY;CAChE,IAAI,CAAC,WACH,QAAQ,MAAM,iCAAiC;CAEjD,OAAO;AACT"}
@@ -0,0 +1,43 @@
1
+ import { BufferedObservable } from "../tools/observable.mjs";
2
+ import { mockable } from "../tools/mockable.mjs";
3
+ import { trackRuntimeError } from "./error/trackRuntimeError.mjs";
4
+ import { addTelemetryDebug } from "./telemetry/telemetry.mjs";
5
+ import { initXhrObservable } from "../browser/xhrObservable.mjs";
6
+ import { initFetchObservable } from "../browser/fetchObservable.mjs";
7
+ import { initConsoleObservable } from "./console/consoleObservable.mjs";
8
+ import { ConsoleApiName } from "@openobserve/js-core/util";
9
+ //#region src/domain/bufferedData.ts
10
+ const BUFFER_LIMIT = 500;
11
+ let BufferedDataType = /* @__PURE__ */ function(BufferedDataType) {
12
+ BufferedDataType[BufferedDataType["RUNTIME_ERROR"] = 0] = "RUNTIME_ERROR";
13
+ BufferedDataType[BufferedDataType["FETCH"] = 1] = "FETCH";
14
+ BufferedDataType[BufferedDataType["XHR"] = 2] = "XHR";
15
+ BufferedDataType[BufferedDataType["CONSOLE"] = 3] = "CONSOLE";
16
+ return BufferedDataType;
17
+ }({});
18
+ function startBufferingData() {
19
+ const observable = new BufferedObservable(BUFFER_LIMIT, (count) => {
20
+ addTelemetryDebug("Early data collection dropped data on unbuffer", { count });
21
+ });
22
+ const subscriptions = [];
23
+ function subscribe(type, source) {
24
+ subscriptions.push(source.subscribe((data) => {
25
+ observable.notify({
26
+ type,
27
+ data
28
+ });
29
+ }));
30
+ }
31
+ subscribe(0, mockable(trackRuntimeError)());
32
+ subscribe(1, initFetchObservable());
33
+ subscribe(2, initXhrObservable());
34
+ subscribe(3, initConsoleObservable(Object.values(ConsoleApiName)));
35
+ return {
36
+ observable,
37
+ stop: () => subscriptions.forEach((subscription) => subscription.unsubscribe())
38
+ };
39
+ }
40
+ //#endregion
41
+ export { BufferedDataType, startBufferingData };
42
+
43
+ //# sourceMappingURL=bufferedData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bufferedData.mjs","names":[],"sources":["../../src/domain/bufferedData.ts"],"sourcesContent":["import { ConsoleApiName } from '@openobserve/js-core/util'\nimport type { Observable, Subscription } from '../tools/observable'\nimport { BufferedObservable } from '../tools/observable'\nimport { mockable } from '../tools/mockable'\nimport type { FetchContext } from '../browser/fetchObservable'\nimport { initFetchObservable } from '../browser/fetchObservable'\nimport type { XhrContext } from '../browser/xhrObservable'\nimport { initXhrObservable } from '../browser/xhrObservable'\nimport { addTelemetryDebug } from './telemetry'\nimport type { RawError } from './error/error.types'\nimport { trackRuntimeError } from './error/trackRuntimeError'\nimport type { ConsoleLog } from './console/consoleObservable'\nimport { initConsoleObservable } from './console/consoleObservable'\n\nconst BUFFER_LIMIT = 500\n\nexport const enum BufferedDataType {\n RUNTIME_ERROR,\n FETCH,\n XHR,\n CONSOLE,\n}\n\nexport type BufferedData =\n | { type: BufferedDataType.RUNTIME_ERROR; data: RawError }\n | { type: BufferedDataType.FETCH; data: FetchContext }\n | { type: BufferedDataType.XHR; data: XhrContext }\n | { type: BufferedDataType.CONSOLE; data: ConsoleLog }\n\nexport function startBufferingData() {\n const observable = new BufferedObservable<BufferedData>(BUFFER_LIMIT, (count) => {\n // monitor-until: 2026-10-14\n addTelemetryDebug('Early data collection dropped data on unbuffer', {\n count,\n })\n })\n const subscriptions: Subscription[] = []\n\n function subscribe<T extends BufferedDataType>(\n type: T,\n source: Observable<Extract<BufferedData, { type: T }>['data']>\n ) {\n subscriptions.push(\n source.subscribe((data) => {\n observable.notify({ type, data } as BufferedData)\n })\n )\n }\n\n subscribe(BufferedDataType.RUNTIME_ERROR, mockable(trackRuntimeError)())\n subscribe(BufferedDataType.FETCH, initFetchObservable())\n subscribe(BufferedDataType.XHR, initXhrObservable())\n subscribe(BufferedDataType.CONSOLE, initConsoleObservable(Object.values(ConsoleApiName)))\n\n return {\n observable,\n stop: () => subscriptions.forEach((subscription) => subscription.unsubscribe()),\n }\n}\n"],"mappings":";;;;;;;;;AAcA,MAAM,eAAe;AAErB,IAAkB,mBAAX,yBAAA,kBAAA;CACL,iBAAA,iBAAA,mBAAA,KAAA;CACA,iBAAA,iBAAA,WAAA,KAAA;CACA,iBAAA,iBAAA,SAAA,KAAA;CACA,iBAAA,iBAAA,aAAA,KAAA;;AACF,EAAA,CAAA,CAAA;AAQA,SAAgB,qBAAqB;CACnC,MAAM,aAAa,IAAI,mBAAiC,eAAe,UAAU;EAE/E,kBAAkB,kDAAkD,EAClE,MACF,CAAC;CACH,CAAC;CACD,MAAM,gBAAgC,CAAC;CAEvC,SAAS,UACP,MACA,QACA;EACA,cAAc,KACZ,OAAO,WAAW,SAAS;GACzB,WAAW,OAAO;IAAE;IAAM;GAAK,CAAiB;EAClD,CAAC,CACH;CACF;CAEA,UAAA,GAA0C,SAAS,iBAAiB,CAAC,CAAC,CAAC;CACvE,UAAA,GAAkC,oBAAoB,CAAC;CACvD,UAAA,GAAgC,kBAAkB,CAAC;CACnD,UAAA,GAAoC,sBAAsB,OAAO,OAAO,cAAc,CAAC,CAAC;CAExF,OAAO;EACL;EACA,YAAY,cAAc,SAAS,iBAAiB,aAAa,YAAY,CAAC;CAChF;AACF"}