@openobserve/browser-core 0.3.3 → 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 (863) 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 +16 -5
  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/domain/configuration/transportConfiguration.ts +0 -78
  857. package/src/domain/session/oldCookiesMigration.ts +0 -42
  858. package/src/domain/session/sessionStoreOperations.ts +0 -131
  859. package/src/tools/abstractHooks.ts +0 -72
  860. package/src/tools/boundedBuffer.ts +0 -45
  861. package/src/tools/mergeInto.ts +0 -177
  862. package/src/tools/utils/timeUtils.ts +0 -117
  863. package/src/tools/utils/typeUtils.ts +0 -12
@@ -0,0 +1,27 @@
1
+ import { generateUUID } from "../../tools/utils/stringUtils.mjs";
2
+ //#region src/domain/contexts/tabContext.ts
3
+ const TAB_ID_STORAGE_KEY = "_dd_tab_id";
4
+ let cachedTabId;
5
+ function startTabContext(assembleHook) {
6
+ const tabId = retrieveOrCreateTabId();
7
+ assembleHook.register(() => ({ tab: { id: tabId } }));
8
+ }
9
+ function retrieveOrCreateTabId() {
10
+ if (!cachedTabId) cachedTabId = getOrCreateIdInSessionStorage() ?? generateUUID();
11
+ return cachedTabId;
12
+ }
13
+ function getOrCreateIdInSessionStorage() {
14
+ try {
15
+ const existingId = sessionStorage.getItem(TAB_ID_STORAGE_KEY);
16
+ if (existingId) return existingId;
17
+ const newId = generateUUID();
18
+ sessionStorage.setItem(TAB_ID_STORAGE_KEY, newId);
19
+ return newId;
20
+ } catch {
21
+ return;
22
+ }
23
+ }
24
+ //#endregion
25
+ export { startTabContext };
26
+
27
+ //# sourceMappingURL=tabContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabContext.mjs","names":[],"sources":["../../../src/domain/contexts/tabContext.ts"],"sourcesContent":["import type { Hook } from '@openobserve/js-core/assembly'\nimport { generateUUID } from '../../tools/utils/stringUtils'\n\nexport const TAB_ID_STORAGE_KEY = '_dd_tab_id'\n\nlet cachedTabId: string | undefined\n\n// Exported for test cleanup only — allows specs to reset the in-memory cache between tests.\nexport function resetCachedTabId(): void {\n cachedTabId = undefined\n}\n\nexport function startTabContext(assembleHook: Hook<any, any>) {\n const tabId = retrieveOrCreateTabId()\n\n assembleHook.register(() => ({\n tab: {\n id: tabId,\n },\n }))\n}\n\nfunction retrieveOrCreateTabId(): string {\n if (!cachedTabId) {\n cachedTabId = getOrCreateIdInSessionStorage() ?? generateUUID()\n }\n return cachedTabId\n}\n\nfunction getOrCreateIdInSessionStorage(): string | undefined {\n try {\n const existingId = sessionStorage.getItem(TAB_ID_STORAGE_KEY)\n if (existingId) {\n return existingId\n }\n const newId = generateUUID()\n sessionStorage.setItem(TAB_ID_STORAGE_KEY, newId)\n return newId\n } catch {\n // sessionStorage unavailable (e.g. Web Worker, sandboxed iframe, quota exceeded)\n return undefined\n }\n}\n"],"mappings":";;AAGA,MAAa,qBAAqB;AAElC,IAAI;AAOJ,SAAgB,gBAAgB,cAA8B;CAC5D,MAAM,QAAQ,sBAAsB;CAEpC,aAAa,gBAAgB,EAC3B,KAAK,EACH,IAAI,MACN,EACF,EAAE;AACJ;AAEA,SAAS,wBAAgC;CACvC,IAAI,CAAC,aACH,cAAc,8BAA8B,KAAK,aAAa;CAEhE,OAAO;AACT;AAEA,SAAS,gCAAoD;CAC3D,IAAI;EACF,MAAM,aAAa,eAAe,QAAQ,kBAAkB;EAC5D,IAAI,YACF,OAAO;EAET,MAAM,QAAQ,aAAa;EAC3B,eAAe,QAAQ,oBAAoB,KAAK;EAChD,OAAO;CACT,QAAQ;EAEN;CACF;AACF"}
@@ -0,0 +1,17 @@
1
+ import { SKIPPED } from "@openobserve/js-core/assembly";
2
+ //#region src/domain/contexts/telemetrySessionContext.ts
3
+ function startTelemetrySessionContext(assembleTelemetryHook, sessionManager, extraContext) {
4
+ assembleTelemetryHook.register(({ startTime }) => {
5
+ const session = sessionManager.findTrackedSession(startTime);
6
+ if (!session) return SKIPPED;
7
+ return {
8
+ session: { id: session.id },
9
+ anonymous_id: session.anonymousId,
10
+ ...extraContext
11
+ };
12
+ });
13
+ }
14
+ //#endregion
15
+ export { startTelemetrySessionContext };
16
+
17
+ //# sourceMappingURL=telemetrySessionContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetrySessionContext.mjs","names":[],"sources":["../../../src/domain/contexts/telemetrySessionContext.ts"],"sourcesContent":["import type { Hook } from '@openobserve/js-core/assembly'\nimport { SKIPPED } from '@openobserve/js-core/assembly'\nimport type { SessionManager } from '../session/sessionManager'\nimport type { Context } from '../../tools/serialisation/context'\n\nexport function startTelemetrySessionContext(\n assembleTelemetryHook: Hook<any, any>,\n sessionManager: SessionManager,\n extraContext?: Context\n) {\n assembleTelemetryHook.register(({ startTime }) => {\n const session = sessionManager.findTrackedSession(startTime)\n\n if (!session) {\n return SKIPPED\n }\n\n return {\n session: {\n id: session.id,\n },\n anonymous_id: session.anonymousId,\n ...extraContext,\n }\n })\n}\n"],"mappings":";;AAKA,SAAgB,6BACd,uBACA,gBACA,cACA;CACA,sBAAsB,UAAU,EAAE,gBAAgB;EAChD,MAAM,UAAU,eAAe,mBAAmB,SAAS;EAE3D,IAAI,CAAC,SACH,OAAO;EAGT,OAAO;GACL,SAAS,EACP,IAAI,QAAQ,GACd;GACA,cAAc,QAAQ;GACtB,GAAG;EACL;CACF,CAAC;AACH"}
@@ -0,0 +1,32 @@
1
+ import { isEmptyObject } from "../../tools/utils/objectUtils.mjs";
2
+ import { createContextManager } from "../context/contextManager.mjs";
3
+ import { storeContextManager } from "../context/storeContextManager.mjs";
4
+ import "../context/contextConstants.mjs";
5
+ import { SKIPPED } from "@openobserve/js-core/assembly";
6
+ //#region src/domain/contexts/userContext.ts
7
+ function startUserContext(hook, configuration, sessionManager, productKey) {
8
+ const userContextManager = buildUserContextManager();
9
+ if (configuration.storeContextsAcrossPages) storeContextManager(userContextManager, productKey, 1);
10
+ hook.register(({ eventType, startTime }) => {
11
+ const user = userContextManager.getContext();
12
+ const session = sessionManager.findTrackedSession(startTime);
13
+ if (session?.anonymousId && !user.anonymous_id && !!configuration.trackAnonymousUser) user.anonymous_id = session.anonymousId;
14
+ if (isEmptyObject(user)) return SKIPPED;
15
+ return {
16
+ type: eventType,
17
+ usr: user
18
+ };
19
+ });
20
+ return userContextManager;
21
+ }
22
+ function buildUserContextManager() {
23
+ return createContextManager("user", { propertiesConfig: {
24
+ id: { type: "string" },
25
+ name: { type: "string" },
26
+ email: { type: "string" }
27
+ } });
28
+ }
29
+ //#endregion
30
+ export { buildUserContextManager, startUserContext };
31
+
32
+ //# sourceMappingURL=userContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userContext.mjs","names":[],"sources":["../../../src/domain/contexts/userContext.ts"],"sourcesContent":["import type { RelativeTime } from '@openobserve/js-core/time'\nimport type { Hook } from '@openobserve/js-core/assembly'\nimport { SKIPPED } from '@openobserve/js-core/assembly'\nimport { CustomerDataType } from '../context/contextConstants'\nimport { storeContextManager } from '../context/storeContextManager'\nimport { createContextManager } from '../context/contextManager'\nimport type { Configuration } from '../configuration'\nimport { isEmptyObject } from '../../tools/utils/objectUtils'\n\nexport interface User {\n id?: string | undefined\n email?: string | undefined\n name?: string | undefined\n [key: string]: unknown\n}\n\nexport function startUserContext(\n hook: Hook<{ eventType?: string; startTime: RelativeTime }, { usr?: User }>,\n configuration: Configuration,\n sessionManager: {\n findTrackedSession: (startTime?: RelativeTime) => { anonymousId?: string } | undefined\n },\n productKey: string\n) {\n const userContextManager = buildUserContextManager()\n\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(userContextManager, productKey, CustomerDataType.User)\n }\n\n hook.register(({ eventType, startTime }) => {\n const user = userContextManager.getContext()\n const session = sessionManager.findTrackedSession(startTime)\n\n if (session?.anonymousId && !user.anonymous_id && !!configuration.trackAnonymousUser) {\n user.anonymous_id = session.anonymousId\n }\n\n if (isEmptyObject(user)) {\n return SKIPPED\n }\n\n return {\n type: eventType,\n usr: user,\n }\n })\n\n return userContextManager\n}\n\nexport function buildUserContextManager() {\n return createContextManager('user', {\n propertiesConfig: {\n id: { type: 'string' },\n name: { type: 'string' },\n email: { type: 'string' },\n },\n })\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,iBACd,MACA,eACA,gBAGA,YACA;CACA,MAAM,qBAAqB,wBAAwB;CAEnD,IAAI,cAAc,0BAChB,oBAAoB,oBAAoB,YAAA,CAAiC;CAG3E,KAAK,UAAU,EAAE,WAAW,gBAAgB;EAC1C,MAAM,OAAO,mBAAmB,WAAW;EAC3C,MAAM,UAAU,eAAe,mBAAmB,SAAS;EAE3D,IAAI,SAAS,eAAe,CAAC,KAAK,gBAAgB,CAAC,CAAC,cAAc,oBAChE,KAAK,eAAe,QAAQ;EAG9B,IAAI,cAAc,IAAI,GACpB,OAAO;EAGT,OAAO;GACL,MAAM;GACN,KAAK;EACP;CACF,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,0BAA0B;CACxC,OAAO,qBAAqB,QAAQ,EAClC,kBAAkB;EAChB,IAAI,EAAE,MAAM,SAAS;EACrB,MAAM,EAAE,MAAM,SAAS;EACvB,OAAO,EAAE,MAAM,SAAS;CAC1B,EACF,CAAC;AACH"}
@@ -0,0 +1,12 @@
1
+ //#region src/domain/deflate/deflate.types.ts
2
+ let DeflateEncoderStreamId = /* @__PURE__ */ function(DeflateEncoderStreamId) {
3
+ DeflateEncoderStreamId[DeflateEncoderStreamId["REPLAY"] = 1] = "REPLAY";
4
+ DeflateEncoderStreamId[DeflateEncoderStreamId["RUM"] = 2] = "RUM";
5
+ DeflateEncoderStreamId[DeflateEncoderStreamId["TELEMETRY"] = 4] = "TELEMETRY";
6
+ DeflateEncoderStreamId[DeflateEncoderStreamId["PROFILING"] = 6] = "PROFILING";
7
+ return DeflateEncoderStreamId;
8
+ }({});
9
+ //#endregion
10
+ export { DeflateEncoderStreamId };
11
+
12
+ //# sourceMappingURL=deflate.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deflate.types.mjs","names":[],"sources":["../../../src/domain/deflate/deflate.types.ts"],"sourcesContent":["import type { Encoder } from '../../tools/encoder'\nimport type { Uint8ArrayBuffer } from '../../tools/utils/byteUtils'\n\nexport type DeflateWorkerAction =\n // Action to send when creating the worker to check if the communication is working correctly.\n // The worker should respond with a 'initialized' response.\n | {\n action: 'init'\n }\n // Action to send when writing some unfinished data. The worker will respond with a 'wrote'\n // response, with the same id and measurements of the wrote data bytes count.\n | {\n action: 'write'\n id: number\n streamId: number\n data: string\n }\n // Action to send when all data has been written and the state of the stream needs to be reset.\n | {\n action: 'reset'\n streamId: number\n }\n\nexport type DeflateWorkerResponse =\n // Response to 'init' action\n | {\n type: 'initialized'\n version: string\n }\n // Response to 'write' action\n | {\n type: 'wrote'\n id: number\n streamId: number\n result: Uint8ArrayBuffer\n trailer: Uint8ArrayBuffer\n additionalBytesCount: number\n }\n // Could happen at any time when something goes wrong in the worker\n | {\n type: 'errored'\n streamId?: number\n error: Error | string\n }\n\nexport interface DeflateWorker extends Worker {\n postMessage(message: DeflateWorkerAction): void\n}\n\nexport type DeflateEncoder = Encoder<Uint8ArrayBuffer> & { stop: () => void }\n\nexport const enum DeflateEncoderStreamId {\n REPLAY = 1,\n RUM = 2,\n TELEMETRY = 4,\n PROFILING = 6,\n}\n"],"mappings":";AAmDA,IAAkB,yBAAX,yBAAA,wBAAA;CACL,uBAAA,uBAAA,YAAA,KAAA;CACA,uBAAA,uBAAA,SAAA,KAAA;CACA,uBAAA,uBAAA,eAAA,KAAA;CACA,uBAAA,uBAAA,eAAA,KAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -0,0 +1,73 @@
1
+ import { computeStackTrace } from "../../tools/stackTrace/computeStackTrace.mjs";
2
+ import { toStackTraceString } from "../../tools/stackTrace/handlingStack.mjs";
3
+ import { jsonStringify } from "../../tools/serialisation/jsonStringify.mjs";
4
+ import { sanitize } from "../../tools/serialisation/sanitize.mjs";
5
+ import { isIndexableObject } from "@openobserve/js-core/util";
6
+ //#region src/domain/error/error.ts
7
+ const NO_ERROR_STACK_PRESENT_MESSAGE = "No stack, consider using an instance of Error";
8
+ function computeErrorBase({ originalError, stackTrace, source, useFallbackStack = true, nonErrorPrefix }) {
9
+ const isErrorInstance = isError(originalError);
10
+ if (!stackTrace && isErrorInstance) stackTrace = computeStackTrace(originalError);
11
+ return {
12
+ source,
13
+ type: stackTrace ? stackTrace.name : void 0,
14
+ message: computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError),
15
+ stack: stackTrace ? toStackTraceString(stackTrace) : useFallbackStack ? NO_ERROR_STACK_PRESENT_MESSAGE : void 0
16
+ };
17
+ }
18
+ function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, useFallbackStack = true, source, handling }) {
19
+ return {
20
+ startClocks,
21
+ handling,
22
+ handlingStack,
23
+ componentStack,
24
+ originalError,
25
+ ...computeErrorBase({
26
+ originalError,
27
+ stackTrace,
28
+ source,
29
+ useFallbackStack,
30
+ nonErrorPrefix
31
+ }),
32
+ causes: isError(originalError) ? flattenErrorCauses(originalError, source) : void 0,
33
+ fingerprint: tryToGetFingerprint(originalError),
34
+ context: tryToGetErrorContext(originalError)
35
+ };
36
+ }
37
+ function computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {
38
+ return stackTrace?.message && stackTrace?.name ? stackTrace.message : !isErrorInstance ? nonErrorPrefix ? `${nonErrorPrefix} ${jsonStringify(sanitize(originalError))}` : jsonStringify(sanitize(originalError)) : "Empty message";
39
+ }
40
+ function tryToGetFingerprint(originalError) {
41
+ return isError(originalError) && "oo_fingerprint" in originalError ? String(originalError.oo_fingerprint) : void 0;
42
+ }
43
+ function tryToGetErrorContext(originalError) {
44
+ if (isIndexableObject(originalError)) return originalError.dd_context;
45
+ }
46
+ function getFileFromStackTraceString(stack) {
47
+ return /@ (.+)/.exec(stack)?.[1];
48
+ }
49
+ function isError(error) {
50
+ try {
51
+ return error instanceof Error || Object.prototype.toString.call(error) === "[object Error]";
52
+ } catch {
53
+ return false;
54
+ }
55
+ }
56
+ function flattenErrorCauses(error, parentSource) {
57
+ const causes = [];
58
+ let currentCause = error.cause;
59
+ while (currentCause !== void 0 && currentCause !== null && causes.length < 10) {
60
+ const causeBase = computeErrorBase({
61
+ originalError: currentCause,
62
+ source: parentSource,
63
+ useFallbackStack: false
64
+ });
65
+ causes.push(causeBase);
66
+ currentCause = isError(currentCause) ? currentCause.cause : void 0;
67
+ }
68
+ return causes.length ? causes : void 0;
69
+ }
70
+ //#endregion
71
+ export { NO_ERROR_STACK_PRESENT_MESSAGE, computeRawError, getFileFromStackTraceString, isError };
72
+
73
+ //# sourceMappingURL=error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.mjs","names":[],"sources":["../../../src/domain/error/error.ts"],"sourcesContent":["import type { ClocksState } from '@openobserve/js-core/time'\nimport { isIndexableObject } from '@openobserve/js-core/util'\nimport { sanitize } from '../../tools/serialisation/sanitize'\nimport type { Context } from '../../tools/serialisation/context'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport type { StackTrace } from '../../tools/stackTrace/computeStackTrace'\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace'\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack'\nimport type { ErrorSource, ErrorHandling, RawError, RawErrorCause, ErrorWithCause, NonErrorPrefix } from './error.types'\n\nexport const NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error'\n\ninterface RawErrorParams {\n stackTrace?: StackTrace\n originalError: unknown\n handlingStack?: string\n componentStack?: string\n startClocks: ClocksState\n nonErrorPrefix: NonErrorPrefix\n useFallbackStack?: boolean\n source: ErrorSource\n handling: ErrorHandling\n}\n\nfunction computeErrorBase({\n originalError,\n stackTrace,\n source,\n useFallbackStack = true,\n nonErrorPrefix,\n}: {\n originalError: unknown\n stackTrace?: StackTrace\n source: ErrorSource\n useFallbackStack?: boolean\n nonErrorPrefix?: NonErrorPrefix\n}) {\n const isErrorInstance = isError(originalError)\n if (!stackTrace && isErrorInstance) {\n stackTrace = computeStackTrace(originalError)\n }\n\n return {\n source,\n type: stackTrace ? stackTrace.name : undefined,\n message: computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError),\n stack: stackTrace ? toStackTraceString(stackTrace) : useFallbackStack ? NO_ERROR_STACK_PRESENT_MESSAGE : undefined,\n }\n}\n\nexport function computeRawError({\n stackTrace,\n originalError,\n handlingStack,\n componentStack,\n startClocks,\n nonErrorPrefix,\n useFallbackStack = true,\n source,\n handling,\n}: RawErrorParams): RawError {\n const errorBase = computeErrorBase({ originalError, stackTrace, source, useFallbackStack, nonErrorPrefix })\n\n return {\n startClocks,\n handling,\n handlingStack,\n componentStack,\n originalError,\n ...errorBase,\n causes: isError(originalError) ? flattenErrorCauses(originalError, source) : undefined,\n fingerprint: tryToGetFingerprint(originalError),\n context: tryToGetErrorContext(originalError),\n }\n}\n\nfunction computeMessage(\n stackTrace: StackTrace | undefined,\n isErrorInstance: boolean,\n nonErrorPrefix: NonErrorPrefix | undefined,\n originalError: unknown\n) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return stackTrace?.message && stackTrace?.name\n ? stackTrace.message\n : !isErrorInstance\n ? nonErrorPrefix\n ? `${nonErrorPrefix} ${jsonStringify(sanitize(originalError))!}`\n : jsonStringify(sanitize(originalError))!\n : 'Empty message'\n}\n\nexport function tryToGetFingerprint(originalError: unknown) {\n return isError(originalError) && 'oo_fingerprint' in originalError ? String(originalError.oo_fingerprint) : undefined\n}\n\nexport function tryToGetErrorContext(originalError: unknown) {\n if (isIndexableObject(originalError)) {\n return originalError.dd_context as Context | undefined\n }\n}\n\nexport function getFileFromStackTraceString(stack: string) {\n return /@ (.+)/.exec(stack)?.[1]\n}\n\nexport function isError(error: unknown): error is Error {\n try {\n return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]'\n } catch {\n return false\n }\n}\n\nexport function flattenErrorCauses(error: ErrorWithCause, parentSource: ErrorSource): RawErrorCause[] | undefined {\n const causes: RawErrorCause[] = []\n let currentCause = error.cause\n\n while (currentCause !== undefined && currentCause !== null && causes.length < 10) {\n const causeBase = computeErrorBase({\n originalError: currentCause,\n source: parentSource,\n useFallbackStack: false,\n })\n\n causes.push(causeBase)\n\n currentCause = isError(currentCause) ? (currentCause as ErrorWithCause).cause : undefined\n }\n\n return causes.length ? causes : undefined\n}\n"],"mappings":";;;;;;AAUA,MAAa,iCAAiC;AAc9C,SAAS,iBAAiB,EACxB,eACA,YACA,QACA,mBAAmB,MACnB,kBAOC;CACD,MAAM,kBAAkB,QAAQ,aAAa;CAC7C,IAAI,CAAC,cAAc,iBACjB,aAAa,kBAAkB,aAAa;CAG9C,OAAO;EACL;EACA,MAAM,aAAa,WAAW,OAAO,KAAA;EACrC,SAAS,eAAe,YAAY,iBAAiB,gBAAgB,aAAa;EAClF,OAAO,aAAa,mBAAmB,UAAU,IAAI,mBAAmB,iCAAiC,KAAA;CAC3G;AACF;AAEA,SAAgB,gBAAgB,EAC9B,YACA,eACA,eACA,gBACA,aACA,gBACA,mBAAmB,MACnB,QACA,YAC2B;CAG3B,OAAO;EACL;EACA;EACA;EACA;EACA;EACA,GARgB,iBAAiB;GAAE;GAAe;GAAY;GAAQ;GAAkB;EAAe,CAQ5F;EACX,QAAQ,QAAQ,aAAa,IAAI,mBAAmB,eAAe,MAAM,IAAI,KAAA;EAC7E,aAAa,oBAAoB,aAAa;EAC9C,SAAS,qBAAqB,aAAa;CAC7C;AACF;AAEA,SAAS,eACP,YACA,iBACA,gBACA,eACA;CAGA,OAAO,YAAY,WAAW,YAAY,OACtC,WAAW,UACX,CAAC,kBACC,iBACE,GAAG,eAAe,GAAG,cAAc,SAAS,aAAa,CAAC,MAC1D,cAAc,SAAS,aAAa,CAAC,IACvC;AACR;AAEA,SAAgB,oBAAoB,eAAwB;CAC1D,OAAO,QAAQ,aAAa,KAAK,oBAAoB,gBAAgB,OAAO,cAAc,cAAc,IAAI,KAAA;AAC9G;AAEA,SAAgB,qBAAqB,eAAwB;CAC3D,IAAI,kBAAkB,aAAa,GACjC,OAAO,cAAc;AAEzB;AAEA,SAAgB,4BAA4B,OAAe;CACzD,OAAO,SAAS,KAAK,KAAK,CAAC,GAAG;AAChC;AAEA,SAAgB,QAAQ,OAAgC;CACtD,IAAI;EACF,OAAO,iBAAiB,SAAS,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;CAC7E,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAgB,mBAAmB,OAAuB,cAAwD;CAChH,MAAM,SAA0B,CAAC;CACjC,IAAI,eAAe,MAAM;CAEzB,OAAO,iBAAiB,KAAA,KAAa,iBAAiB,QAAQ,OAAO,SAAS,IAAI;EAChF,MAAM,YAAY,iBAAiB;GACjC,eAAe;GACf,QAAQ;GACR,kBAAkB;EACpB,CAAC;EAED,OAAO,KAAK,SAAS;EAErB,eAAe,QAAQ,YAAY,IAAK,aAAgC,QAAQ,KAAA;CAClF;CAEA,OAAO,OAAO,SAAS,SAAS,KAAA;AAClC"}
@@ -0,0 +1,24 @@
1
+ //#region src/domain/error/error.types.ts
2
+ const ErrorSource = {
3
+ AGENT: "agent",
4
+ CONSOLE: "console",
5
+ CUSTOM: "custom",
6
+ LOGGER: "logger",
7
+ NETWORK: "network",
8
+ SOURCE: "source",
9
+ REPORT: "report"
10
+ };
11
+ let NonErrorPrefix = /* @__PURE__ */ function(NonErrorPrefix) {
12
+ NonErrorPrefix["UNCAUGHT"] = "Uncaught";
13
+ NonErrorPrefix["PROVIDED"] = "Provided";
14
+ return NonErrorPrefix;
15
+ }({});
16
+ let ErrorHandling = /* @__PURE__ */ function(ErrorHandling) {
17
+ ErrorHandling["HANDLED"] = "handled";
18
+ ErrorHandling["UNHANDLED"] = "unhandled";
19
+ return ErrorHandling;
20
+ }({});
21
+ //#endregion
22
+ export { ErrorHandling, ErrorSource, NonErrorPrefix };
23
+
24
+ //# sourceMappingURL=error.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.types.mjs","names":[],"sources":["../../../src/domain/error/error.types.ts"],"sourcesContent":["import type { ClocksState } from '@openobserve/js-core/time'\nimport type { Context } from '../../tools/serialisation/context'\n\n// TS v4.6 introduced Error.cause[1] typed as `Error`. TS v4.8 changed Error.cause to be\n// `unknown`[2].\n//\n// Because we still support TS 3.8, we need to declare our own type. We can remove it once we drop\n// support for TS v4.7 and before. The 'cause' property defined by TS needs to be omitted because\n// we define it with a type `unknown` which is incompatible with TS 4.6 and 4.7.\n//\n// [1]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#target-es2022\n// [2]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/#lib-d-ts-updates\nexport interface ErrorWithCause extends Omit<Error, 'cause'> {\n cause?: unknown\n}\n\nexport interface RawErrorCause {\n message: string\n source: ErrorSource\n type?: string\n stack?: string\n}\n\nexport interface Csp {\n disposition: 'enforce' | 'report'\n}\n\nexport interface RawError {\n startClocks: ClocksState\n message: string\n type?: string\n stack?: string\n source: ErrorSource\n originalError?: unknown\n handling?: ErrorHandling\n handlingStack?: string\n componentStack?: string\n causes?: RawErrorCause[]\n fingerprint?: string\n csp?: Csp\n context?: Context\n}\n\nexport const ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n} as const\n\nexport const enum NonErrorPrefix {\n UNCAUGHT = 'Uncaught',\n PROVIDED = 'Provided',\n}\n\nexport const enum ErrorHandling {\n HANDLED = 'handled',\n UNHANDLED = 'unhandled',\n}\n\nexport type ErrorSource = (typeof ErrorSource)[keyof typeof ErrorSource]\n"],"mappings":";AA2CA,MAAa,cAAc;CACzB,OAAO;CACP,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,QAAQ;AACV;AAEA,IAAkB,iBAAX,yBAAA,gBAAA;CACL,eAAA,cAAA;CACA,eAAA,cAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAkB,gBAAX,yBAAA,eAAA;CACL,cAAA,aAAA;CACA,cAAA,eAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { globalObject } from "../../tools/globalObject.mjs";
2
+ import { Observable } from "../../tools/observable.mjs";
3
+ import { noop } from "../../tools/utils/functionUtils.mjs";
4
+ import { computeStackTraceFromOnErrorMessage } from "../../tools/stackTrace/computeStackTrace.mjs";
5
+ import { instrumentMethod } from "../../tools/instrumentMethod.mjs";
6
+ import { isEventSupported } from "../../browser/addEventListener.mjs";
7
+ import { computeRawError, isError } from "./error.mjs";
8
+ import { ErrorSource } from "./error.types.mjs";
9
+ import { clocksNow } from "@openobserve/js-core/time";
10
+ //#region src/domain/error/trackRuntimeError.ts
11
+ function trackRuntimeError() {
12
+ return new Observable((observer) => {
13
+ const handleRuntimeError = (originalError, stackTrace) => {
14
+ const rawError = computeRawError({
15
+ stackTrace,
16
+ originalError,
17
+ startClocks: clocksNow(),
18
+ nonErrorPrefix: "Uncaught",
19
+ source: ErrorSource.SOURCE,
20
+ handling: "unhandled"
21
+ });
22
+ observer.notify(rawError);
23
+ };
24
+ const { stop: stopInstrumentingOnError } = instrumentOnError(handleRuntimeError);
25
+ const { stop: stopInstrumentingOnUnhandledRejection } = instrumentUnhandledRejection(handleRuntimeError);
26
+ return () => {
27
+ stopInstrumentingOnError();
28
+ stopInstrumentingOnUnhandledRejection();
29
+ };
30
+ });
31
+ }
32
+ function instrumentOnError(callback) {
33
+ return instrumentMethod(globalObject, "onerror", ({ parameters: [messageObj, url, line, column, errorObj] }) => {
34
+ let stackTrace;
35
+ if (!isError(errorObj)) stackTrace = computeStackTraceFromOnErrorMessage(messageObj, url, line, column);
36
+ callback(errorObj ?? messageObj, stackTrace);
37
+ });
38
+ }
39
+ function instrumentUnhandledRejection(callback) {
40
+ if (!isEventSupported(globalObject.window, "unhandledrejection")) return { stop: noop };
41
+ return instrumentMethod(globalObject, "onunhandledrejection", ({ parameters: [e] }) => {
42
+ callback(e.reason || "Empty reason");
43
+ });
44
+ }
45
+ //#endregion
46
+ export { trackRuntimeError };
47
+
48
+ //# sourceMappingURL=trackRuntimeError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackRuntimeError.mjs","names":[],"sources":["../../../src/domain/error/trackRuntimeError.ts"],"sourcesContent":["import { clocksNow } from '@openobserve/js-core/time'\nimport { instrumentMethod } from '../../tools/instrumentMethod'\nimport { Observable } from '../../tools/observable'\nimport type { StackTrace } from '../../tools/stackTrace/computeStackTrace'\nimport { computeStackTraceFromOnErrorMessage } from '../../tools/stackTrace/computeStackTrace'\nimport { globalObject } from '../../tools/globalObject'\nimport { DOM_EVENT, isEventSupported } from '../../browser/addEventListener'\nimport { noop } from '../../tools/utils/functionUtils'\nimport { computeRawError, isError } from './error'\nimport type { RawError } from './error.types'\nimport { ErrorHandling, ErrorSource, NonErrorPrefix } from './error.types'\n\nexport type UnhandledErrorCallback = (originalError: unknown, stackTrace?: StackTrace) => any\n\nexport function trackRuntimeError() {\n return new Observable<RawError>((observer) => {\n const handleRuntimeError = (originalError: unknown, stackTrace?: StackTrace) => {\n const rawError = computeRawError({\n stackTrace,\n originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: NonErrorPrefix.UNCAUGHT,\n source: ErrorSource.SOURCE,\n handling: ErrorHandling.UNHANDLED,\n })\n observer.notify(rawError)\n }\n const { stop: stopInstrumentingOnError } = instrumentOnError(handleRuntimeError)\n const { stop: stopInstrumentingOnUnhandledRejection } = instrumentUnhandledRejection(handleRuntimeError)\n\n return () => {\n stopInstrumentingOnError()\n stopInstrumentingOnUnhandledRejection()\n }\n })\n}\n\nexport function instrumentOnError(callback: UnhandledErrorCallback) {\n return instrumentMethod(globalObject, 'onerror', ({ parameters: [messageObj, url, line, column, errorObj] }) => {\n let stackTrace\n if (!isError(errorObj)) {\n stackTrace = computeStackTraceFromOnErrorMessage(messageObj, url, line, column)\n }\n callback(errorObj ?? messageObj, stackTrace)\n })\n}\n\nexport function instrumentUnhandledRejection(callback: UnhandledErrorCallback) {\n // Salesforce LWS does not support the unhandledrejection event. https://developer.salesforce.com/tools/lws-distortion-viewer\n if (!isEventSupported(globalObject.window, DOM_EVENT.UNHANDLED_REJECTION)) {\n return { stop: noop }\n }\n\n return instrumentMethod(globalObject, 'onunhandledrejection', ({ parameters: [e] }) => {\n callback(e.reason || 'Empty reason')\n })\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,oBAAoB;CAClC,OAAO,IAAI,YAAsB,aAAa;EAC5C,MAAM,sBAAsB,eAAwB,eAA4B;GAC9E,MAAM,WAAW,gBAAgB;IAC/B;IACA;IACA,aAAa,UAAU;IACvB,gBAAA;IACA,QAAQ,YAAY;IACpB,UAAA;GACF,CAAC;GACD,SAAS,OAAO,QAAQ;EAC1B;EACA,MAAM,EAAE,MAAM,6BAA6B,kBAAkB,kBAAkB;EAC/E,MAAM,EAAE,MAAM,0CAA0C,6BAA6B,kBAAkB;EAEvG,aAAa;GACX,yBAAyB;GACzB,sCAAsC;EACxC;CACF,CAAC;AACH;AAEA,SAAgB,kBAAkB,UAAkC;CAClE,OAAO,iBAAiB,cAAc,YAAY,EAAE,YAAY,CAAC,YAAY,KAAK,MAAM,QAAQ,gBAAgB;EAC9G,IAAI;EACJ,IAAI,CAAC,QAAQ,QAAQ,GACnB,aAAa,oCAAoC,YAAY,KAAK,MAAM,MAAM;EAEhF,SAAS,YAAY,YAAY,UAAU;CAC7C,CAAC;AACH;AAEA,SAAgB,6BAA6B,UAAkC;CAE7E,IAAI,CAAC,iBAAiB,aAAa,QAAA,oBAAqC,GACtE,OAAO,EAAE,MAAM,KAAK;CAGtB,OAAO,iBAAiB,cAAc,yBAAyB,EAAE,YAAY,CAAC,SAAS;EACrF,SAAS,EAAE,UAAU,cAAc;CACrC,CAAC;AACH"}
@@ -0,0 +1,36 @@
1
+ import { setTimeout } from "../../tools/timer.mjs";
2
+ import { ErrorSource } from "../error/error.types.mjs";
3
+ import { ONE_MINUTE, clocksNow } from "@openobserve/js-core/time";
4
+ //#region src/domain/eventRateLimiter/createEventRateLimiter.ts
5
+ const EVENT_RATE_LIMIT = 3e3;
6
+ function createEventRateLimiter(eventType, onLimitReached, limit = EVENT_RATE_LIMIT) {
7
+ let eventCount = 0;
8
+ let allowNextEvent = false;
9
+ return { isLimitReached() {
10
+ if (eventCount === 0) setTimeout(() => {
11
+ eventCount = 0;
12
+ }, ONE_MINUTE);
13
+ eventCount += 1;
14
+ if (eventCount <= limit || allowNextEvent) {
15
+ allowNextEvent = false;
16
+ return false;
17
+ }
18
+ if (eventCount === limit + 1) {
19
+ allowNextEvent = true;
20
+ try {
21
+ onLimitReached({
22
+ message: `Reached max number of ${eventType}s by minute: ${limit}`,
23
+ source: ErrorSource.AGENT,
24
+ startClocks: clocksNow()
25
+ });
26
+ } finally {
27
+ allowNextEvent = false;
28
+ }
29
+ }
30
+ return true;
31
+ } };
32
+ }
33
+ //#endregion
34
+ export { createEventRateLimiter };
35
+
36
+ //# sourceMappingURL=createEventRateLimiter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEventRateLimiter.mjs","names":[],"sources":["../../../src/domain/eventRateLimiter/createEventRateLimiter.ts"],"sourcesContent":["import { ONE_MINUTE, clocksNow } from '@openobserve/js-core/time'\nimport { setTimeout } from '../../tools/timer'\nimport type { RawError } from '../error/error.types'\nimport { ErrorSource } from '../error/error.types'\n\nexport type EventRateLimiter = ReturnType<typeof createEventRateLimiter>\n\n// Limit the maximum number of actions, errors and logs per minutes\nconst EVENT_RATE_LIMIT = 3000\n\nexport function createEventRateLimiter(\n eventType: string,\n onLimitReached: (limitError: RawError) => void,\n limit = EVENT_RATE_LIMIT\n) {\n let eventCount = 0\n let allowNextEvent = false\n\n return {\n isLimitReached() {\n if (eventCount === 0) {\n setTimeout(() => {\n eventCount = 0\n }, ONE_MINUTE)\n }\n\n eventCount += 1\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false\n return false\n }\n\n if (eventCount === limit + 1) {\n allowNextEvent = true\n try {\n onLimitReached({\n message: `Reached max number of ${eventType}s by minute: ${limit}`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n })\n } finally {\n allowNextEvent = false\n }\n }\n\n return true\n },\n }\n}\n"],"mappings":";;;;AAQA,MAAM,mBAAmB;AAEzB,SAAgB,uBACd,WACA,gBACA,QAAQ,kBACR;CACA,IAAI,aAAa;CACjB,IAAI,iBAAiB;CAErB,OAAO,EACL,iBAAiB;EACf,IAAI,eAAe,GACjB,iBAAiB;GACf,aAAa;EACf,GAAG,UAAU;EAGf,cAAc;EACd,IAAI,cAAc,SAAS,gBAAgB;GACzC,iBAAiB;GACjB,OAAO;EACT;EAEA,IAAI,eAAe,QAAQ,GAAG;GAC5B,iBAAiB;GACjB,IAAI;IACF,eAAe;KACb,SAAS,yBAAyB,UAAU,eAAe;KAC3D,QAAQ,YAAY;KACpB,aAAa,UAAU;IACzB,CAAC;GACH,UAAU;IACR,iBAAiB;GACnB;EACF;EAEA,OAAO;CACT,EACF;AACF"}
@@ -0,0 +1,23 @@
1
+ //#region src/domain/extension/extensionUtils.ts
2
+ const EXTENSION_PREFIXES = ["chrome-extension://", "moz-extension://"];
3
+ function containsExtensionUrl(str) {
4
+ return EXTENSION_PREFIXES.some((prefix) => str.includes(prefix));
5
+ }
6
+ /**
7
+ * Utility function to detect if the SDK is being initialized in an unsupported browser extension environment.
8
+ *
9
+ * @param windowLocation - The current window location to check
10
+ * @param stack - The error stack to check for extension URLs
11
+ * @returns true if running in an unsupported browser extension environment
12
+ */
13
+ function isUnsupportedExtensionEnvironment(windowLocation, stack = "") {
14
+ if (containsExtensionUrl(windowLocation)) return false;
15
+ return containsExtensionUrl(stack.split("\n").filter((line) => {
16
+ const trimmedLine = line.trim();
17
+ return trimmedLine.length && /^at\s+|@/.test(trimmedLine);
18
+ })[1] || "");
19
+ }
20
+ //#endregion
21
+ export { isUnsupportedExtensionEnvironment };
22
+
23
+ //# sourceMappingURL=extensionUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionUtils.mjs","names":[],"sources":["../../../src/domain/extension/extensionUtils.ts"],"sourcesContent":["export const EXTENSION_PREFIXES = ['chrome-extension://', 'moz-extension://']\n\nexport function containsExtensionUrl(str: string): boolean {\n return EXTENSION_PREFIXES.some((prefix) => str.includes(prefix))\n}\n\n/**\n * Utility function to detect if the SDK is being initialized in an unsupported browser extension environment.\n *\n * @param windowLocation - The current window location to check\n * @param stack - The error stack to check for extension URLs\n * @returns true if running in an unsupported browser extension environment\n */\nexport function isUnsupportedExtensionEnvironment(windowLocation: string, stack: string = '') {\n // If the page itself is an extension page.\n if (containsExtensionUrl(windowLocation)) {\n return false\n }\n\n // Since we generate the error on the init, we check the 2nd frame line.\n const frameLines = stack.split('\\n').filter((line) => {\n const trimmedLine = line.trim()\n return trimmedLine.length && /^at\\s+|@/.test(trimmedLine)\n })\n const target = frameLines[1] || ''\n\n return containsExtensionUrl(target)\n}\n"],"mappings":";AAAA,MAAa,qBAAqB,CAAC,uBAAuB,kBAAkB;AAE5E,SAAgB,qBAAqB,KAAsB;CACzD,OAAO,mBAAmB,MAAM,WAAW,IAAI,SAAS,MAAM,CAAC;AACjE;;;;;;;;AASA,SAAgB,kCAAkC,gBAAwB,QAAgB,IAAI;CAE5F,IAAI,qBAAqB,cAAc,GACrC,OAAO;CAUT,OAAO,qBANY,MAAM,MAAM,IAAI,CAAC,CAAC,QAAQ,SAAS;EACpD,MAAM,cAAc,KAAK,KAAK;EAC9B,OAAO,YAAY,UAAU,WAAW,KAAK,WAAW;CAC1D,CACwB,CAAC,CAAC,MAAM,EAEE;AACpC"}
@@ -0,0 +1,18 @@
1
+ //#region src/domain/intakeSites.ts
2
+ const INTAKE_SITE_STAGING = "datad0g.com";
3
+ const INTAKE_SITE_US1 = "datadoghq.com";
4
+ const INTAKE_SITE_EU1 = "datadoghq.eu";
5
+ const INTAKE_SITE_US1_FED = "ddog-gov.com";
6
+ const INTAKE_SITE_US2_FED = "us2.ddog-gov.com";
7
+ const INTAKE_URL_PARAMETERS = [
8
+ "o2source",
9
+ "o2-api-key",
10
+ "o2-request-id"
11
+ ];
12
+ function isIntakeUrl(url) {
13
+ return INTAKE_URL_PARAMETERS.every((param) => url.includes(param));
14
+ }
15
+ //#endregion
16
+ export { INTAKE_SITE_EU1, INTAKE_SITE_STAGING, INTAKE_SITE_US1, INTAKE_SITE_US1_FED, INTAKE_SITE_US2_FED, INTAKE_URL_PARAMETERS, isIntakeUrl };
17
+
18
+ //# sourceMappingURL=intakeSites.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intakeSites.mjs","names":[],"sources":["../../src/domain/intakeSites.ts"],"sourcesContent":["export type Site =\n | 'datadoghq.com'\n | 'us3.datadoghq.com'\n | 'us5.datadoghq.com'\n | 'datadoghq.eu'\n | 'ddog-gov.com'\n | 'us2.ddog-gov.com'\n | 'ap1.datadoghq.com'\n | 'ap2.datadoghq.com'\n | (string & {})\n\nexport const INTAKE_SITE_STAGING: Site = 'datad0g.com'\nexport const INTAKE_SITE_US1: Site = 'datadoghq.com'\nexport const INTAKE_SITE_EU1: Site = 'datadoghq.eu'\nexport const INTAKE_SITE_US1_FED: Site = 'ddog-gov.com'\nexport const INTAKE_SITE_US2_FED: Site = 'us2.ddog-gov.com'\n\nexport const INTAKE_URL_PARAMETERS = ['o2source', 'o2-api-key', 'o2-request-id']\n\nexport function isIntakeUrl(url: string): boolean {\n // check if tags is present in the query string\n return INTAKE_URL_PARAMETERS.every((param) => url.includes(param))\n}\n"],"mappings":";AAWA,MAAa,sBAA4B;AACzC,MAAa,kBAAwB;AACrC,MAAa,kBAAwB;AACrC,MAAa,sBAA4B;AACzC,MAAa,sBAA4B;AAEzC,MAAa,wBAAwB;CAAC;CAAY;CAAc;AAAe;AAE/E,SAAgB,YAAY,KAAsB;CAEhD,OAAO,sBAAsB,OAAO,UAAU,IAAI,SAAS,KAAK,CAAC;AACnE"}
@@ -0,0 +1,86 @@
1
+ import { safeTruncate } from "../../tools/utils/stringUtils.mjs";
2
+ import { monitor } from "../../tools/monitor.mjs";
3
+ import { Observable, mergeObservables } from "../../tools/observable.mjs";
4
+ import { toStackTraceString } from "../../tools/stackTrace/handlingStack.mjs";
5
+ import { addEventListener, isEventSupported } from "../../browser/addEventListener.mjs";
6
+ import { ErrorSource } from "../error/error.types.mjs";
7
+ import { clocksNow } from "@openobserve/js-core/time";
8
+ //#region src/domain/report/reportObservable.ts
9
+ const RawReportType = {
10
+ intervention: "intervention",
11
+ deprecation: "deprecation",
12
+ cspViolation: "csp_violation"
13
+ };
14
+ function initReportObservable(apis) {
15
+ const observables = [];
16
+ if (apis.includes(RawReportType.cspViolation)) observables.push(createCspViolationReportObservable());
17
+ const reportTypes = apis.filter((api) => api !== RawReportType.cspViolation);
18
+ if (reportTypes.length) observables.push(createReportObservable(reportTypes));
19
+ return mergeObservables(...observables);
20
+ }
21
+ function createReportObservable(reportTypes) {
22
+ return new Observable((observable) => {
23
+ if (!window.ReportingObserver) return;
24
+ const handleReports = monitor((reports, _) => reports.forEach((report) => observable.notify(buildRawReportErrorFromReport(report))));
25
+ const observer = new window.ReportingObserver(handleReports, {
26
+ types: reportTypes,
27
+ buffered: true
28
+ });
29
+ observer.observe();
30
+ return () => {
31
+ observer.disconnect();
32
+ };
33
+ });
34
+ }
35
+ function createCspViolationReportObservable() {
36
+ return new Observable((observable) => {
37
+ if (!isEventSupported(document, "securitypolicyviolation")) return;
38
+ const { stop } = addEventListener(document, "securitypolicyviolation", (event) => {
39
+ observable.notify(buildRawReportErrorFromCspViolation(event));
40
+ });
41
+ return stop;
42
+ });
43
+ }
44
+ function buildRawReportErrorFromReport(report) {
45
+ const { type, body } = report;
46
+ return buildRawReportError({
47
+ type: body.id,
48
+ message: `${type}: ${body.message}`,
49
+ originalError: report,
50
+ stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber)
51
+ });
52
+ }
53
+ function buildRawReportErrorFromCspViolation(event) {
54
+ const message = `'${event.blockedURI}' blocked by '${event.effectiveDirective}' directive`;
55
+ return buildRawReportError({
56
+ type: event.effectiveDirective,
57
+ message: `${RawReportType.cspViolation}: ${message}`,
58
+ originalError: event,
59
+ csp: { disposition: event.disposition },
60
+ stack: buildStack(event.effectiveDirective, event.originalPolicy ? `${message} of the policy "${safeTruncate(event.originalPolicy, 100, "...")}"` : "no policy", event.sourceFile, event.lineNumber, event.columnNumber)
61
+ });
62
+ }
63
+ function buildRawReportError(partial) {
64
+ return {
65
+ startClocks: clocksNow(),
66
+ source: ErrorSource.REPORT,
67
+ handling: "unhandled",
68
+ ...partial
69
+ };
70
+ }
71
+ function buildStack(name, message, sourceFile, lineNumber, columnNumber) {
72
+ return sourceFile ? toStackTraceString({
73
+ name,
74
+ message,
75
+ stack: [{
76
+ func: "?",
77
+ url: sourceFile,
78
+ line: lineNumber ?? void 0,
79
+ column: columnNumber ?? void 0
80
+ }]
81
+ }) : void 0;
82
+ }
83
+ //#endregion
84
+ export { RawReportType, initReportObservable };
85
+
86
+ //# sourceMappingURL=reportObservable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportObservable.mjs","names":[],"sources":["../../../src/domain/report/reportObservable.ts"],"sourcesContent":["import { clocksNow } from '@openobserve/js-core/time'\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack'\nimport { monitor } from '../../tools/monitor'\nimport { mergeObservables, Observable } from '../../tools/observable'\nimport { addEventListener, DOM_EVENT, isEventSupported } from '../../browser/addEventListener'\nimport { safeTruncate } from '../../tools/utils/stringUtils'\nimport type { RawError } from '../error/error.types'\nimport { ErrorHandling, ErrorSource } from '../error/error.types'\nimport type { ReportType, InterventionReport, DeprecationReport } from './browser.types'\n\nexport const RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n} as const\n\nexport type RawReportType = (typeof RawReportType)[keyof typeof RawReportType]\n\nexport type RawReportError = RawError & {\n originalError: SecurityPolicyViolationEvent | DeprecationReport | InterventionReport\n}\n\nexport function initReportObservable(apis: RawReportType[]) {\n const observables: Array<Observable<RawReportError>> = []\n\n if (apis.includes(RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable())\n }\n\n const reportTypes = apis.filter((api: RawReportType): api is ReportType => api !== RawReportType.cspViolation)\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n\n return mergeObservables(...observables)\n}\n\nfunction createReportObservable(reportTypes: ReportType[]) {\n return new Observable<RawReportError>((observable) => {\n if (!window.ReportingObserver) {\n return\n }\n\n const handleReports = monitor((reports: Array<DeprecationReport | InterventionReport>, _: ReportingObserver) =>\n reports.forEach((report) => observable.notify(buildRawReportErrorFromReport(report)))\n ) as ReportingObserverCallback\n\n const observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n })\n\n observer.observe()\n return () => {\n observer.disconnect()\n }\n })\n}\n\nfunction createCspViolationReportObservable() {\n return new Observable<RawReportError>((observable) => {\n // Salesforce does not allow to add a securitypolicyviolation event listener. https://developer.salesforce.com/tools/lws-distortion-viewer\n if (!isEventSupported(document, DOM_EVENT.SECURITY_POLICY_VIOLATION)) {\n return\n }\n\n const { stop } = addEventListener(document, DOM_EVENT.SECURITY_POLICY_VIOLATION, (event) => {\n observable.notify(buildRawReportErrorFromCspViolation(event))\n })\n\n return stop\n })\n}\n\nfunction buildRawReportErrorFromReport(report: DeprecationReport | InterventionReport): RawReportError {\n const { type, body } = report\n\n return buildRawReportError({\n type: body.id,\n message: `${type}: ${body.message}`,\n originalError: report,\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n })\n}\n\nfunction buildRawReportErrorFromCspViolation(event: SecurityPolicyViolationEvent): RawReportError {\n const message = `'${event.blockedURI}' blocked by '${event.effectiveDirective}' directive`\n return buildRawReportError({\n type: event.effectiveDirective,\n message: `${RawReportType.cspViolation}: ${message}`,\n originalError: event,\n csp: {\n disposition: event.disposition,\n },\n stack: buildStack(\n event.effectiveDirective,\n event.originalPolicy\n ? `${message} of the policy \"${safeTruncate(event.originalPolicy, 100, '...')}\"`\n : 'no policy',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n ),\n })\n}\n\nfunction buildRawReportError(partial: Omit<RawReportError, 'startClocks' | 'source' | 'handling'>): RawReportError {\n return {\n startClocks: clocksNow(),\n source: ErrorSource.REPORT,\n handling: ErrorHandling.UNHANDLED,\n ...partial,\n }\n}\n\nfunction buildStack(\n name: string,\n message: string,\n sourceFile: string | null,\n lineNumber: number | null,\n columnNumber: number | null\n): string | undefined {\n return sourceFile\n ? toStackTraceString({\n name,\n message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber ?? undefined,\n column: columnNumber ?? undefined,\n },\n ],\n })\n : undefined\n}\n"],"mappings":";;;;;;;;AAUA,MAAa,gBAAgB;CAC3B,cAAc;CACd,aAAa;CACb,cAAc;AAChB;AAQA,SAAgB,qBAAqB,MAAuB;CAC1D,MAAM,cAAiD,CAAC;CAExD,IAAI,KAAK,SAAS,cAAc,YAAY,GAC1C,YAAY,KAAK,mCAAmC,CAAC;CAGvD,MAAM,cAAc,KAAK,QAAQ,QAA0C,QAAQ,cAAc,YAAY;CAC7G,IAAI,YAAY,QACd,YAAY,KAAK,uBAAuB,WAAW,CAAC;CAGtD,OAAO,iBAAiB,GAAG,WAAW;AACxC;AAEA,SAAS,uBAAuB,aAA2B;CACzD,OAAO,IAAI,YAA4B,eAAe;EACpD,IAAI,CAAC,OAAO,mBACV;EAGF,MAAM,gBAAgB,SAAS,SAAwD,MACrF,QAAQ,SAAS,WAAW,WAAW,OAAO,8BAA8B,MAAM,CAAC,CAAC,CACtF;EAEA,MAAM,WAAW,IAAI,OAAO,kBAAkB,eAAe;GAC3D,OAAO;GACP,UAAU;EACZ,CAAC;EAED,SAAS,QAAQ;EACjB,aAAa;GACX,SAAS,WAAW;EACtB;CACF,CAAC;AACH;AAEA,SAAS,qCAAqC;CAC5C,OAAO,IAAI,YAA4B,eAAe;EAEpD,IAAI,CAAC,iBAAiB,UAAA,yBAA6C,GACjE;EAGF,MAAM,EAAE,SAAS,iBAAiB,UAAA,4BAAgD,UAAU;GAC1F,WAAW,OAAO,oCAAoC,KAAK,CAAC;EAC9D,CAAC;EAED,OAAO;CACT,CAAC;AACH;AAEA,SAAS,8BAA8B,QAAgE;CACrG,MAAM,EAAE,MAAM,SAAS;CAEvB,OAAO,oBAAoB;EACzB,MAAM,KAAK;EACX,SAAS,GAAG,KAAK,IAAI,KAAK;EAC1B,eAAe;EACf,OAAO,WAAW,KAAK,IAAI,KAAK,SAAS,KAAK,YAAY,KAAK,YAAY,KAAK,YAAY;CAC9F,CAAC;AACH;AAEA,SAAS,oCAAoC,OAAqD;CAChG,MAAM,UAAU,IAAI,MAAM,WAAW,gBAAgB,MAAM,mBAAmB;CAC9E,OAAO,oBAAoB;EACzB,MAAM,MAAM;EACZ,SAAS,GAAG,cAAc,aAAa,IAAI;EAC3C,eAAe;EACf,KAAK,EACH,aAAa,MAAM,YACrB;EACA,OAAO,WACL,MAAM,oBACN,MAAM,iBACF,GAAG,QAAQ,kBAAkB,aAAa,MAAM,gBAAgB,KAAK,KAAK,EAAE,KAC5E,aACJ,MAAM,YACN,MAAM,YACN,MAAM,YACR;CACF,CAAC;AACH;AAEA,SAAS,oBAAoB,SAAsF;CACjH,OAAO;EACL,aAAa,UAAU;EACvB,QAAQ,YAAY;EACpB,UAAA;EACA,GAAG;CACL;AACF;AAEA,SAAS,WACP,MACA,SACA,YACA,YACA,cACoB;CACpB,OAAO,aACH,mBAAmB;EACjB;EACA;EACA,OAAO,CACL;GACE,MAAM;GACN,KAAK;GACL,MAAM,cAAc,KAAA;GACpB,QAAQ,gBAAgB,KAAA;EAC1B,CACF;CACF,CAAC,IACD,KAAA;AACN"}
@@ -0,0 +1,21 @@
1
+ //#region src/domain/resourceUtils.ts
2
+ const ResourceType = {
3
+ DOCUMENT: "document",
4
+ XHR: "xhr",
5
+ BEACON: "beacon",
6
+ FETCH: "fetch",
7
+ CSS: "css",
8
+ JS: "js",
9
+ IMAGE: "image",
10
+ FONT: "font",
11
+ MEDIA: "media",
12
+ OTHER: "other"
13
+ };
14
+ const RequestType = {
15
+ FETCH: ResourceType.FETCH,
16
+ XHR: ResourceType.XHR
17
+ };
18
+ //#endregion
19
+ export { RequestType, ResourceType };
20
+
21
+ //# sourceMappingURL=resourceUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceUtils.mjs","names":[],"sources":["../../src/domain/resourceUtils.ts"],"sourcesContent":["export const ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other',\n} as const\n\nexport type ResourceType = (typeof ResourceType)[keyof typeof ResourceType]\n\nexport const RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR,\n} as const\n\nexport type RequestType = (typeof RequestType)[keyof typeof RequestType]\n"],"mappings":";AAAA,MAAa,eAAe;CAC1B,UAAU;CACV,KAAK;CACL,QAAQ;CACR,OAAO;CACP,KAAK;CACL,IAAI;CACJ,OAAO;CACP,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAIA,MAAa,cAAc;CACzB,OAAO,aAAa;CACpB,KAAK,aAAa;AACpB"}
@@ -0,0 +1,37 @@
1
+ //#region src/domain/sampler.ts
2
+ function correctedChildSampleRate(parentRate, childRate) {
3
+ return parentRate * childRate / 100;
4
+ }
5
+ const sampleDecisionCache = /* @__PURE__ */ new Map();
6
+ function isSampled(sessionId, sampleRate) {
7
+ if (sampleRate === 100) return true;
8
+ if (sampleRate === 0) return false;
9
+ const cachedDecision = sampleDecisionCache.get(sampleRate);
10
+ if (sessionId === cachedDecision?.sessionId) return cachedDecision.decision;
11
+ const decision = sampleUsingKnuthFactor(BigInt(`0x${sessionId.split("-")[4]}`), sampleRate);
12
+ sampleDecisionCache.set(sampleRate, {
13
+ sessionId,
14
+ decision
15
+ });
16
+ return decision;
17
+ }
18
+ function resetSampleDecisionCache() {
19
+ sampleDecisionCache.clear();
20
+ }
21
+ /**
22
+ * Perform sampling using the Knuth factor method. This method offer consistent sampling result
23
+ * based on the provided identifier.
24
+ *
25
+ * @param identifier - The identifier to use for sampling.
26
+ * @param sampleRate - The sample rate in percentage between 0 and 100.
27
+ */
28
+ function sampleUsingKnuthFactor(identifier, sampleRate) {
29
+ const knuthFactor = 1111111111111111111n;
30
+ const twoPow64 = 2n ** 64n;
31
+ const hash = identifier * knuthFactor % twoPow64;
32
+ return Number(hash) <= sampleRate / 100 * Number(twoPow64);
33
+ }
34
+ //#endregion
35
+ export { correctedChildSampleRate, isSampled, resetSampleDecisionCache, sampleUsingKnuthFactor };
36
+
37
+ //# sourceMappingURL=sampler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampler.mjs","names":[],"sources":["../../src/domain/sampler.ts"],"sourcesContent":["export function correctedChildSampleRate(parentRate: number, childRate: number): number {\n return (parentRate * childRate) / 100\n}\n\nconst sampleDecisionCache: Map<number, { sessionId: string; decision: boolean }> = new Map()\n\nexport function isSampled(sessionId: string, sampleRate: number): boolean {\n // Shortcuts for common cases. This is not strictly necessary, but it makes the code faster for\n // customers willing to ingest all traces.\n if (sampleRate === 100) {\n return true\n }\n\n if (sampleRate === 0) {\n return false\n }\n\n const cachedDecision = sampleDecisionCache.get(sampleRate)\n if (sessionId === cachedDecision?.sessionId) {\n return cachedDecision.decision\n }\n\n const decision = sampleUsingKnuthFactor(BigInt(`0x${sessionId.split('-')[4]}`), sampleRate)\n sampleDecisionCache.set(sampleRate, { sessionId, decision })\n return decision\n}\n\n// Exported for tests\nexport function resetSampleDecisionCache() {\n sampleDecisionCache.clear()\n}\n\n/**\n * Perform sampling using the Knuth factor method. This method offer consistent sampling result\n * based on the provided identifier.\n *\n * @param identifier - The identifier to use for sampling.\n * @param sampleRate - The sample rate in percentage between 0 and 100.\n */\nexport function sampleUsingKnuthFactor(identifier: bigint, sampleRate: number): boolean {\n // The formula is:\n //\n // (identifier * knuthFactor) % 2^64 < sampleRate * 2^64\n //\n // Because JavaScript numbers are 64-bit floats, we can't represent 64-bit integers, and the\n // modulo would be incorrect. Thus, we are using BigInts here.\n //\n // Implementation in other languages:\n // * Go https://github.com/DataDog/dd-trace-go/blob/ec6fbb1f2d517b7b8e69961052adf7136f3af773/ddtrace/tracer/sampler.go#L86-L91\n // * Python https://github.com/DataDog/dd-trace-py/blob/0cee2f066fb6e79aa15947c1514c0f406dea47c5/ddtrace/sampling_rule.py#L197\n // * Ruby https://github.com/DataDog/dd-trace-rb/blob/1a6e255cdcb7e7e22235ea5955f90f6dfa91045d/lib/datadog/tracing/sampling/rate_sampler.rb#L42\n // * C++ https://github.com/DataDog/dd-trace-cpp/blob/159629edc438ae45f2bb318eb7bd51abd05e94b5/src/datadog/trace_sampler.cpp#L58\n // * Java https://github.com/DataDog/dd-trace-java/blob/896dd6b380533216e0bdee59614606c8272d313e/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java#L48\n //\n // Note: All implementations have slight variations. Some of them use '<=' instead of '<', and\n // use `sampleRate * 2^64 - 1` instead of `sampleRate * 2^64`. The following implementation\n // should adhere to the spec and is a bit simpler than using a 2^64-1 limit as there are less\n // BigInt arithmetic to write. In practice this does not matter, as we are using floating point\n // numbers in the end, and Number(2n**64n-1n) === Number(2n**64n).\n const knuthFactor = 1111111111111111111n\n const twoPow64 = 2n ** 64n\n const hash = (identifier * knuthFactor) % twoPow64\n return Number(hash) <= (sampleRate / 100) * Number(twoPow64)\n}\n"],"mappings":";AAAA,SAAgB,yBAAyB,YAAoB,WAA2B;CACtF,OAAQ,aAAa,YAAa;AACpC;AAEA,MAAM,sCAA6E,IAAI,IAAI;AAE3F,SAAgB,UAAU,WAAmB,YAA6B;CAGxE,IAAI,eAAe,KACjB,OAAO;CAGT,IAAI,eAAe,GACjB,OAAO;CAGT,MAAM,iBAAiB,oBAAoB,IAAI,UAAU;CACzD,IAAI,cAAc,gBAAgB,WAChC,OAAO,eAAe;CAGxB,MAAM,WAAW,uBAAuB,OAAO,KAAK,UAAU,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,UAAU;CAC1F,oBAAoB,IAAI,YAAY;EAAE;EAAW;CAAS,CAAC;CAC3D,OAAO;AACT;AAGA,SAAgB,2BAA2B;CACzC,oBAAoB,MAAM;AAC5B;;;;;;;;AASA,SAAgB,uBAAuB,YAAoB,YAA6B;CAoBtF,MAAM,cAAc;CACpB,MAAM,WAAW,MAAM;CACvB,MAAM,OAAQ,aAAa,cAAe;CAC1C,OAAO,OAAO,IAAI,KAAM,aAAa,MAAO,OAAO,QAAQ;AAC7D"}
@@ -0,0 +1,18 @@
1
+ import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from "@openobserve/js-core/time";
2
+ //#region src/domain/session/sessionConstants.ts
3
+ const SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;
4
+ const SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;
5
+ const SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR;
6
+ const SESSION_NOT_TRACKED = "0";
7
+ /**
8
+ * @internal
9
+ */
10
+ const SessionPersistence = {
11
+ COOKIE: "cookie",
12
+ MEMORY: "memory",
13
+ LOCAL_STORAGE: "local-storage"
14
+ };
15
+ //#endregion
16
+ export { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_NOT_TRACKED, SESSION_TIME_OUT_DELAY, SessionPersistence };
17
+
18
+ //# sourceMappingURL=sessionConstants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionConstants.mjs","names":[],"sources":["../../../src/domain/session/sessionConstants.ts"],"sourcesContent":["import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from '@openobserve/js-core/time'\n\nexport const SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport const SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\nexport const SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR\nexport const SESSION_NOT_TRACKED = '0'\n\n/**\n * @internal\n */\nexport const SessionPersistence = {\n COOKIE: 'cookie',\n MEMORY: 'memory',\n LOCAL_STORAGE: 'local-storage',\n} as const\n\n/**\n * @inline\n */\nexport type SessionPersistence = (typeof SessionPersistence)[keyof typeof SessionPersistence]\n"],"mappings":";;AAEA,MAAa,yBAAyB,IAAI;AAC1C,MAAa,2BAA2B,KAAK;AAC7C,MAAa,kCAAkC;AAC/C,MAAa,sBAAsB;;;;AAKnC,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;AACjB"}