@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
@@ -1 +1 @@
1
- {"version":3,"file":"bufferedData.js","sourceRoot":"","sources":["../../src/domain/bufferedData.ts"],"names":[],"mappings":";;AAeA,gDAgBC;AA/BD,oDAAwD;AAExD,iEAA6D;AAE7D,MAAM,YAAY,GAAG,GAAG,CAAA;AAWxB,SAAgB,kBAAkB,CAAC,qBAAqB,GAAG,qCAAiB;IAC1E,MAAM,UAAU,GAAG,IAAI,+BAAkB,CAAe,YAAY,CAAC,CAAA;IAErE,MAAM,wBAAwB,GAAG,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3E,UAAU,CAAC,MAAM,CAAC;YAChB,IAAI,wCAAgC;YACpC,KAAK;SACN,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,IAAI,EAAE,GAAG,EAAE;YACT,wBAAwB,CAAC,WAAW,EAAE,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bufferedData.js","names":["BufferedObservable","mockable","trackRuntimeError","initFetchObservable","initXhrObservable","initConsoleObservable","ConsoleApiName"],"sources":["../../src/domain/bufferedData.ts"],"sourcesContent":["import { ConsoleApiName } from '@openobserve/js-core/util'\nimport type { Observable, Subscription } from '../tools/observable'\nimport { BufferedObservable } from '../tools/observable'\nimport { mockable } from '../tools/mockable'\nimport type { FetchContext } from '../browser/fetchObservable'\nimport { initFetchObservable } from '../browser/fetchObservable'\nimport type { XhrContext } from '../browser/xhrObservable'\nimport { initXhrObservable } from '../browser/xhrObservable'\nimport { addTelemetryDebug } from './telemetry'\nimport type { RawError } from './error/error.types'\nimport { trackRuntimeError } from './error/trackRuntimeError'\nimport type { ConsoleLog } from './console/consoleObservable'\nimport { initConsoleObservable } from './console/consoleObservable'\n\nconst BUFFER_LIMIT = 500\n\nexport const enum BufferedDataType {\n RUNTIME_ERROR,\n FETCH,\n XHR,\n CONSOLE,\n}\n\nexport type BufferedData =\n | { type: BufferedDataType.RUNTIME_ERROR; data: RawError }\n | { type: BufferedDataType.FETCH; data: FetchContext }\n | { type: BufferedDataType.XHR; data: XhrContext }\n | { type: BufferedDataType.CONSOLE; data: ConsoleLog }\n\nexport function startBufferingData() {\n const observable = new BufferedObservable<BufferedData>(BUFFER_LIMIT, (count) => {\n // monitor-until: 2026-10-14\n addTelemetryDebug('Early data collection dropped data on unbuffer', {\n count,\n })\n })\n const subscriptions: Subscription[] = []\n\n function subscribe<T extends BufferedDataType>(\n type: T,\n source: Observable<Extract<BufferedData, { type: T }>['data']>\n ) {\n subscriptions.push(\n source.subscribe((data) => {\n observable.notify({ type, data } as BufferedData)\n })\n )\n }\n\n subscribe(BufferedDataType.RUNTIME_ERROR, mockable(trackRuntimeError)())\n subscribe(BufferedDataType.FETCH, initFetchObservable())\n subscribe(BufferedDataType.XHR, initXhrObservable())\n subscribe(BufferedDataType.CONSOLE, initConsoleObservable(Object.values(ConsoleApiName)))\n\n return {\n observable,\n stop: () => subscriptions.forEach((subscription) => subscription.unsubscribe()),\n }\n}\n"],"mappings":";;;;;;;;;AAcA,MAAM,eAAe;AAErB,IAAkB,mBAAX,yBAAA,kBAAA;CACL,iBAAA,iBAAA,mBAAA,KAAA;CACA,iBAAA,iBAAA,WAAA,KAAA;CACA,iBAAA,iBAAA,SAAA,KAAA;CACA,iBAAA,iBAAA,aAAA,KAAA;;AACF,EAAA,CAAA,CAAA;AAQA,SAAgB,qBAAqB;CACnC,MAAM,aAAa,IAAIA,mBAAAA,mBAAiC,eAAe,UAAU;EAE/E,kBAAA,kBAAkB,kDAAkD,EAClE,MACF,CAAC;CACH,CAAC;CACD,MAAM,gBAAgC,CAAC;CAEvC,SAAS,UACP,MACA,QACA;EACA,cAAc,KACZ,OAAO,WAAW,SAAS;GACzB,WAAW,OAAO;IAAE;IAAM;GAAK,CAAiB;EAClD,CAAC,CACH;CACF;CAEA,UAAA,GAA0CC,iBAAAA,SAASC,0BAAAA,iBAAiB,CAAC,CAAC,CAAC;CACvE,UAAA,GAAkCC,wBAAAA,oBAAoB,CAAC;CACvD,UAAA,GAAgCC,sBAAAA,kBAAkB,CAAC;CACnD,UAAA,GAAoCC,0BAAAA,sBAAsB,OAAO,OAAOC,0BAAAA,cAAc,CAAC,CAAC;CAExF,OAAO;EACL;EACA,YAAY,cAAc,SAAS,iBAAiB,aAAa,YAAY,CAAC;CAChF;AACF"}
@@ -1,9 +1,8 @@
1
- import type { SessionStoreStrategyType } from '../session/storeStrategies/sessionStoreStrategy';
1
+ import type { CookieOptions } from '../../browser/cookie';
2
2
  import { TrackingConsent } from '../trackingConsent';
3
3
  import type { SessionPersistence } from '../session/sessionConstants';
4
4
  import type { MatchOption } from '../../tools/matchOption';
5
5
  import type { Site } from '../intakeSites';
6
- import type { TransportConfiguration } from './transportConfiguration';
7
6
  /**
8
7
  * Default privacy level for the browser SDK.
9
8
  *
@@ -66,24 +65,17 @@ export interface InitConfiguration {
66
65
  */
67
66
  silentMultipleInit?: boolean | undefined;
68
67
  /**
69
- * Which storage strategy to use for persisting sessions. Can be either 'cookie' or 'local-storage'.
68
+ * Which storage strategy to use for persisting sessions. Can be 'cookie', 'local-storage', or 'memory'.
69
+ * When an array is provided, the SDK will attempt each persistence type in the order specified.
70
70
  *
71
71
  * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
72
72
  *
73
- * @category Session Persistence
74
- * @defaultValue "cookie"
75
- */
76
- sessionPersistence?: SessionPersistence | undefined;
77
- /**
78
- * Allows the use of localStorage when cookies cannot be set. This enables the RUM Browser SDK to run in environments that do not provide cookie support.
79
- *
80
- * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
81
- * See [Monitor Electron Applications Using the Browser SDK](https://docs.datadoghq.com/real_user_monitoring/guide/monitor-electron-applications-using-browser-sdk) for further information.
73
+ * Note: 'memory' option is only for use with single-page applications. All page loads will start a new session, likely resulting in an increase in total number of RUM sessions
82
74
  *
83
75
  * @category Session Persistence
84
- * @deprecated use `sessionPersistence: local-storage` where you want to use localStorage instead
76
+ * @defaultValue "cookie"
85
77
  */
86
- allowFallbackToLocalStorage?: boolean | undefined;
78
+ sessionPersistence?: SessionPersistence | SessionPersistence[] | undefined;
87
79
  /**
88
80
  * Allow listening to DOM events dispatched programmatically ([untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted)). Enabling this option can be useful if you heavily rely on programmatic events, such as in an automated UI test environment.
89
81
  *
@@ -125,6 +117,27 @@ export interface InitConfiguration {
125
117
  * @defaultValue datadoghq.com
126
118
  */
127
119
  site?: Site | undefined;
120
+ /**
121
+ * The OpenObserve ingestion API version used to build intake URLs.
122
+ *
123
+ * @category Transport
124
+ * @defaultValue v1
125
+ */
126
+ apiVersion?: string | undefined;
127
+ /**
128
+ * The OpenObserve organization identifier, used as a path segment of intake URLs.
129
+ *
130
+ * @category Transport
131
+ * @defaultValue default
132
+ */
133
+ organizationIdentifier?: string | undefined;
134
+ /**
135
+ * Send data to the intake over plain HTTP instead of HTTPS. Only intended for local
136
+ * development against a non-TLS OpenObserve instance.
137
+ *
138
+ * @category Transport
139
+ */
140
+ insecureHTTP?: boolean | undefined;
128
141
  /**
129
142
  * The service name for your application. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
130
143
  *
@@ -177,14 +190,6 @@ export interface InitConfiguration {
177
190
  * @defaultValue true
178
191
  */
179
192
  trackAnonymousUser?: boolean | undefined;
180
- /**
181
- * Encode cookie options in the cookie value. This can be used as a mitigation for microssession issues.
182
- * ⚠️ This is a beta feature and may be changed or removed in the future.
183
- *
184
- * @category Beta
185
- * @defaultValue false
186
- */
187
- betaEncodeCookieOptions?: boolean | undefined;
188
193
  /**
189
194
  * [Internal option] Enable experimental features
190
195
  *
@@ -196,19 +201,13 @@ export interface InitConfiguration {
196
201
  *
197
202
  * @internal
198
203
  */
199
- replica?: ReplicaUserConfiguration | undefined;
204
+ replica?: ReplicaInitConfiguration | undefined;
200
205
  /**
201
206
  * [Internal option] Set the datacenter from where the data is dual shipped
202
207
  *
203
208
  * @internal
204
209
  */
205
210
  datacenter?: string;
206
- /**
207
- * [Internal option] Datadog internal analytics subdomain
208
- *
209
- * @internal
210
- */
211
- internalAnalyticsSubdomain?: string;
212
211
  /**
213
212
  * [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.
214
213
  *
@@ -241,9 +240,6 @@ export interface InitConfiguration {
241
240
  * @internal
242
241
  */
243
242
  variant?: string | undefined;
244
- apiVersion: string;
245
- organizationIdentifier: string;
246
- insecureHTTP: boolean | undefined;
247
243
  }
248
244
  type GenericBeforeSendCallback = (event: any, context?: any) => unknown;
249
245
  /**
@@ -253,17 +249,28 @@ type GenericBeforeSendCallback = (event: any, context?: any) => unknown;
253
249
  export type ProxyFn = (options: {
254
250
  path: string;
255
251
  parameters: string;
252
+ subdomain?: string;
256
253
  }) => string;
257
254
  /**
258
255
  * @internal
259
256
  */
260
- export interface ReplicaUserConfiguration {
257
+ export interface ReplicaInitConfiguration {
261
258
  applicationId?: string;
262
259
  clientToken: string;
263
260
  }
264
- export interface Configuration extends TransportConfiguration {
261
+ export type SdkSource = 'browser' | 'flutter' | 'unity';
262
+ export interface Configuration {
263
+ clientToken: string;
264
+ datacenter: string | undefined;
265
+ proxy: string | ProxyFn | undefined;
266
+ site: Site;
267
+ apiVersion: string;
268
+ organizationIdentifier: string;
269
+ insecureHTTP: boolean | undefined;
270
+ source: SdkSource;
265
271
  beforeSend: GenericBeforeSendCallback | undefined;
266
- sessionStoreStrategyType: SessionStoreStrategyType | undefined;
272
+ cookieOptions: CookieOptions | undefined;
273
+ sessionPersistence: SessionPersistence | SessionPersistence[] | undefined;
267
274
  sessionSampleRate: number;
268
275
  telemetrySampleRate: number;
269
276
  telemetryConfigurationSampleRate: number;
@@ -272,20 +279,16 @@ export interface Configuration extends TransportConfiguration {
272
279
  version?: string | undefined;
273
280
  env?: string | undefined;
274
281
  silentMultipleInit: boolean;
275
- allowUntrustedEvents: boolean;
276
282
  trackingConsent: TrackingConsent;
277
283
  storeContextsAcrossPages: boolean;
278
284
  trackAnonymousUser?: boolean;
279
- betaEncodeCookieOptions: boolean;
280
285
  sdkVersion: string | undefined;
281
- source: 'browser' | 'flutter' | 'unity';
282
286
  variant: string | undefined;
283
- apiVersion: string;
284
- organizationIdentifier: string;
285
- insecureHTTP: boolean | undefined;
287
+ replica: ReplicaInitConfiguration | undefined;
286
288
  }
287
289
  export declare function isSampleRate(sampleRate: unknown, name: string): boolean;
288
290
  export declare function validateAndBuildConfiguration(initConfiguration: InitConfiguration, errorStack?: string): Configuration | undefined;
291
+ export declare function buildCookieOptions(initConfiguration: InitConfiguration): CookieOptions | undefined;
289
292
  export declare function serializeConfiguration(initConfiguration: InitConfiguration): {
290
293
  session_sample_rate: number | undefined;
291
294
  telemetry_sample_rate: number | undefined;
@@ -299,12 +302,10 @@ export declare function serializeConfiguration(initConfiguration: InitConfigurat
299
302
  track_session_across_subdomains: boolean | undefined;
300
303
  track_anonymous_user: boolean | undefined;
301
304
  session_persistence: SessionPersistence | undefined;
302
- allow_fallback_to_local_storage: boolean;
303
305
  store_contexts_across_pages: boolean;
304
306
  allow_untrusted_events: boolean;
305
307
  tracking_consent: TrackingConsent | undefined;
306
308
  use_allowed_tracking_origins: boolean;
307
- beta_encode_cookie_options: boolean | undefined;
308
309
  source: "browser" | "flutter" | "unity" | undefined;
309
310
  sdk_version: string | undefined;
310
311
  variant: string | undefined;
@@ -1,138 +1,135 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TraceContextInjection = exports.DefaultPrivacyLevel = void 0;
4
- exports.isSampleRate = isSampleRate;
5
- exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
6
- exports.serializeConfiguration = serializeConfiguration;
7
- const catchUserErrors_1 = require("../../tools/catchUserErrors");
8
- const display_1 = require("../../tools/display");
9
- const numberUtils_1 = require("../../tools/utils/numberUtils");
10
- const objectUtils_1 = require("../../tools/utils/objectUtils");
11
- const sessionStore_1 = require("../session/sessionStore");
12
- const trackingConsent_1 = require("../trackingConsent");
13
- const allowedTrackingOrigins_1 = require("../allowedTrackingOrigins");
14
- const globalObject_1 = require("../../tools/globalObject");
15
- const transportConfiguration_1 = require("./transportConfiguration");
1
+ const require_display = require("../../tools/display.js");
2
+ const require_catchUserErrors = require("../../tools/catchUserErrors.js");
3
+ const require_numberUtils = require("../../tools/utils/numberUtils.js");
4
+ const require_objectUtils = require("../../tools/utils/objectUtils.js");
5
+ const require_cookie = require("../../browser/cookie.js");
6
+ const require_trackingConsent = require("../trackingConsent.js");
7
+ const require_allowedTrackingOrigins = require("../allowedTrackingOrigins.js");
8
+ require("../intakeSites.js");
9
+ //#region src/domain/configuration/configuration.ts
16
10
  /**
17
- * Default privacy level for the browser SDK.
18
- *
19
- * [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
20
- */
21
- exports.DefaultPrivacyLevel = {
22
- ALLOW: 'allow',
23
- MASK: 'mask',
24
- MASK_USER_INPUT: 'mask-user-input',
25
- MASK_UNLESS_ALLOWLISTED: 'mask-unless-allowlisted',
11
+ * Default privacy level for the browser SDK.
12
+ *
13
+ * [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
14
+ */
15
+ const DefaultPrivacyLevel = {
16
+ ALLOW: "allow",
17
+ MASK: "mask",
18
+ MASK_USER_INPUT: "mask-user-input",
19
+ MASK_UNLESS_ALLOWLISTED: "mask-unless-allowlisted"
26
20
  };
27
21
  /**
28
- * Trace context injection option.
29
- *
30
- * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
31
- */
32
- exports.TraceContextInjection = {
33
- ALL: 'all',
34
- SAMPLED: 'sampled',
22
+ * Trace context injection option.
23
+ *
24
+ * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
25
+ */
26
+ const TraceContextInjection = {
27
+ ALL: "all",
28
+ SAMPLED: "sampled"
35
29
  };
36
30
  function isString(tag, tagName) {
37
- if (tag !== undefined && tag !== null && typeof tag !== 'string') {
38
- display_1.display.error(`${tagName} must be defined as a string`);
39
- return false;
40
- }
41
- return true;
42
- }
43
- function isDatadogSite(site) {
44
- return true;
45
- // if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {
46
- // display.error(`Site should be a valid Datadog site. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/site/.`)
47
- // return false
48
- // }
49
- // return true
31
+ if (tag !== void 0 && tag !== null && typeof tag !== "string") {
32
+ require_display.display.error(`${tagName} must be defined as a string`);
33
+ return false;
34
+ }
35
+ return true;
50
36
  }
51
37
  function isSampleRate(sampleRate, name) {
52
- if (sampleRate !== undefined && !(0, numberUtils_1.isPercentage)(sampleRate)) {
53
- display_1.display.error(`${name} Sample Rate should be a number between 0 and 100`);
54
- return false;
55
- }
56
- return true;
38
+ if (sampleRate !== void 0 && !require_numberUtils.isPercentage(sampleRate)) {
39
+ require_display.display.error(`${name} Sample Rate should be a number between 0 and 100`);
40
+ return false;
41
+ }
42
+ return true;
57
43
  }
58
44
  function validateAndBuildConfiguration(initConfiguration, errorStack) {
59
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
60
- if (!initConfiguration || !initConfiguration.clientToken) {
61
- display_1.display.error('Client Token is not configured, we will not send any data.');
62
- return;
63
- }
64
- if (initConfiguration.allowedTrackingOrigins !== undefined &&
65
- !Array.isArray(initConfiguration.allowedTrackingOrigins)) {
66
- display_1.display.error('Allowed Tracking Origins must be an array');
67
- return;
68
- }
69
- if (!isDatadogSite(initConfiguration.site) ||
70
- !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||
71
- !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||
72
- !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||
73
- !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||
74
- !isString(initConfiguration.version, 'Version') ||
75
- !isString(initConfiguration.env, 'Env') ||
76
- !isString(initConfiguration.service, 'Service') ||
77
- !(0, allowedTrackingOrigins_1.isAllowedTrackingOrigins)(initConfiguration, errorStack !== null && errorStack !== void 0 ? errorStack : '')) {
78
- return;
79
- }
80
- if (initConfiguration.trackingConsent !== undefined &&
81
- !(0, objectUtils_1.objectHasValue)(trackingConsent_1.TrackingConsent, initConfiguration.trackingConsent)) {
82
- display_1.display.error('Tracking Consent should be either "granted" or "not-granted"');
83
- return;
84
- }
85
- return {
86
- beforeSend: initConfiguration.beforeSend && (0, catchUserErrors_1.catchUserErrors)(initConfiguration.beforeSend, 'beforeSend threw an error:'),
87
- sessionStoreStrategyType: globalObject_1.isWorkerEnvironment ? undefined : (0, sessionStore_1.selectSessionStoreStrategyType)(initConfiguration),
88
- sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,
89
- telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,
90
- telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,
91
- telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,
92
- service: (_e = initConfiguration.service) !== null && _e !== void 0 ? _e : undefined,
93
- env: (_f = initConfiguration.env) !== null && _f !== void 0 ? _f : undefined,
94
- version: (_g = initConfiguration.version) !== null && _g !== void 0 ? _g : undefined,
95
- datacenter: (_h = initConfiguration.datacenter) !== null && _h !== void 0 ? _h : undefined,
96
- silentMultipleInit: !!initConfiguration.silentMultipleInit,
97
- allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
98
- trackingConsent: (_j = initConfiguration.trackingConsent) !== null && _j !== void 0 ? _j : trackingConsent_1.TrackingConsent.GRANTED,
99
- trackAnonymousUser: (_k = initConfiguration.trackAnonymousUser) !== null && _k !== void 0 ? _k : true,
100
- storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
101
- betaEncodeCookieOptions: !!initConfiguration.betaEncodeCookieOptions,
102
- /**
103
- * The source of the SDK, used for support plugins purposes.
104
- */
105
- variant: initConfiguration.variant,
106
- sdkVersion: initConfiguration.sdkVersion,
107
- apiVersion: (_l = initConfiguration.apiVersion) !== null && _l !== void 0 ? _l : 'v1',
108
- organizationIdentifier: initConfiguration.organizationIdentifier,
109
- insecureHTTP: initConfiguration.insecureHTTP,
110
- ...(0, transportConfiguration_1.computeTransportConfiguration)(initConfiguration),
111
- };
45
+ if (!initConfiguration?.clientToken) {
46
+ require_display.display.error("Client Token is not configured, we will not send any data.");
47
+ return;
48
+ }
49
+ if (initConfiguration.allowedTrackingOrigins !== void 0 && !Array.isArray(initConfiguration.allowedTrackingOrigins)) {
50
+ require_display.display.error("Allowed Tracking Origins must be an array");
51
+ return;
52
+ }
53
+ if (!isSampleRate(initConfiguration.sessionSampleRate, "Session") || !isSampleRate(initConfiguration.telemetrySampleRate, "Telemetry") || !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, "Telemetry Configuration") || !isSampleRate(initConfiguration.telemetryUsageSampleRate, "Telemetry Usage") || !isString(initConfiguration.version, "Version") || !isString(initConfiguration.env, "Env") || !isString(initConfiguration.service, "Service") || !require_allowedTrackingOrigins.isAllowedTrackingOrigins(initConfiguration, errorStack ?? "")) return;
54
+ if (initConfiguration.trackingConsent !== void 0 && !require_objectUtils.objectHasValue(require_trackingConsent.TrackingConsent, initConfiguration.trackingConsent)) {
55
+ require_display.display.error("Tracking Consent should be either \"granted\" or \"not-granted\"");
56
+ return;
57
+ }
58
+ return {
59
+ clientToken: initConfiguration.clientToken,
60
+ proxy: initConfiguration.proxy,
61
+ site: initConfiguration.site || "datadoghq.com",
62
+ apiVersion: initConfiguration.apiVersion ?? "v1",
63
+ organizationIdentifier: initConfiguration.organizationIdentifier ?? "default",
64
+ insecureHTTP: initConfiguration.insecureHTTP,
65
+ source: validateSource(initConfiguration.source),
66
+ beforeSend: initConfiguration.beforeSend && require_catchUserErrors.catchUserErrors(initConfiguration.beforeSend, "beforeSend threw an error:"),
67
+ cookieOptions: buildCookieOptions(initConfiguration),
68
+ sessionPersistence: initConfiguration.sessionPersistence,
69
+ sessionSampleRate: initConfiguration.sessionSampleRate ?? 100,
70
+ telemetrySampleRate: initConfiguration.telemetrySampleRate ?? 20,
71
+ telemetryConfigurationSampleRate: initConfiguration.telemetryConfigurationSampleRate ?? 5,
72
+ telemetryUsageSampleRate: initConfiguration.telemetryUsageSampleRate ?? 5,
73
+ service: initConfiguration.service ?? void 0,
74
+ env: initConfiguration.env ?? void 0,
75
+ version: initConfiguration.version ?? void 0,
76
+ datacenter: initConfiguration.datacenter ?? void 0,
77
+ silentMultipleInit: !!initConfiguration.silentMultipleInit,
78
+ trackingConsent: initConfiguration.trackingConsent ?? require_trackingConsent.TrackingConsent.GRANTED,
79
+ trackAnonymousUser: initConfiguration.trackAnonymousUser ?? true,
80
+ storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
81
+ /**
82
+ * The source of the SDK, used for support plugins purposes.
83
+ */
84
+ variant: initConfiguration.variant,
85
+ sdkVersion: initConfiguration.sdkVersion,
86
+ replica: initConfiguration.replica
87
+ };
88
+ }
89
+ function buildCookieOptions(initConfiguration) {
90
+ const cookieOptions = {};
91
+ cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie;
92
+ cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
93
+ cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
94
+ if (initConfiguration.trackSessionAcrossSubdomains) {
95
+ const currentSite = require_cookie.getCurrentSite();
96
+ if (!currentSite) return;
97
+ cookieOptions.domain = currentSite;
98
+ }
99
+ return cookieOptions;
112
100
  }
113
101
  function serializeConfiguration(initConfiguration) {
114
- return {
115
- session_sample_rate: initConfiguration.sessionSampleRate,
116
- telemetry_sample_rate: initConfiguration.telemetrySampleRate,
117
- telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,
118
- telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,
119
- use_before_send: !!initConfiguration.beforeSend,
120
- use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,
121
- use_secure_session_cookie: initConfiguration.useSecureSessionCookie,
122
- use_proxy: !!initConfiguration.proxy,
123
- silent_multiple_init: initConfiguration.silentMultipleInit,
124
- track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
125
- track_anonymous_user: initConfiguration.trackAnonymousUser,
126
- session_persistence: initConfiguration.sessionPersistence,
127
- allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,
128
- store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
129
- allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
130
- tracking_consent: initConfiguration.trackingConsent,
131
- use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
132
- beta_encode_cookie_options: initConfiguration.betaEncodeCookieOptions,
133
- source: initConfiguration.source,
134
- sdk_version: initConfiguration.sdkVersion,
135
- variant: initConfiguration.variant,
136
- };
102
+ return {
103
+ session_sample_rate: initConfiguration.sessionSampleRate,
104
+ telemetry_sample_rate: initConfiguration.telemetrySampleRate,
105
+ telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,
106
+ telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,
107
+ use_before_send: !!initConfiguration.beforeSend,
108
+ use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,
109
+ use_secure_session_cookie: initConfiguration.useSecureSessionCookie,
110
+ use_proxy: !!initConfiguration.proxy,
111
+ silent_multiple_init: initConfiguration.silentMultipleInit,
112
+ track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
113
+ track_anonymous_user: initConfiguration.trackAnonymousUser,
114
+ session_persistence: Array.isArray(initConfiguration.sessionPersistence) ? initConfiguration.sessionPersistence[0] : initConfiguration.sessionPersistence,
115
+ store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
116
+ allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
117
+ tracking_consent: initConfiguration.trackingConsent,
118
+ use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
119
+ source: initConfiguration.source,
120
+ sdk_version: initConfiguration.sdkVersion,
121
+ variant: initConfiguration.variant
122
+ };
137
123
  }
124
+ function validateSource(source) {
125
+ if (source === "flutter" || source === "unity") return source;
126
+ return "browser";
127
+ }
128
+ //#endregion
129
+ exports.DefaultPrivacyLevel = DefaultPrivacyLevel;
130
+ exports.TraceContextInjection = TraceContextInjection;
131
+ exports.isSampleRate = isSampleRate;
132
+ exports.serializeConfiguration = serializeConfiguration;
133
+ exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
134
+
138
135
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/domain/configuration/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","names":["isPercentage","isAllowedTrackingOrigins","objectHasValue","TrackingConsent","catchUserErrors","getCurrentSite"],"sources":["../../../src/domain/configuration/configuration.ts"],"sourcesContent":["import { catchUserErrors } from '../../tools/catchUserErrors'\nimport { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display'\nimport type { RawTelemetryConfiguration } from '../telemetry'\nimport { isPercentage } from '../../tools/utils/numberUtils'\nimport { objectHasValue } from '../../tools/utils/objectUtils'\nimport type { CookieOptions } from '../../browser/cookie'\nimport { getCurrentSite } from '../../browser/cookie'\nimport { TrackingConsent } from '../trackingConsent'\nimport type { SessionPersistence } from '../session/sessionConstants'\nimport type { MatchOption } from '../../tools/matchOption'\nimport { isAllowedTrackingOrigins } from '../allowedTrackingOrigins'\nimport { INTAKE_SITE_US1 } from '../intakeSites'\nimport type { Site } from '../intakeSites'\n\n/**\n * Default privacy level for the browser SDK.\n *\n * [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.\n */\nexport const DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n MASK_UNLESS_ALLOWLISTED: 'mask-unless-allowlisted',\n} as const\nexport type DefaultPrivacyLevel = (typeof DefaultPrivacyLevel)[keyof typeof DefaultPrivacyLevel]\n\n/**\n * Trace context injection option.\n *\n * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.\n */\nexport const TraceContextInjection = {\n ALL: 'all',\n SAMPLED: 'sampled',\n} as const\n\n/**\n * Trace context injection option.\n *\n * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.\n *\n */\nexport type TraceContextInjection = (typeof TraceContextInjection)[keyof typeof TraceContextInjection]\n\nexport interface InitConfiguration {\n /**\n * The client token for Datadog. Required for authenticating your application with Datadog.\n *\n * @category Authentication\n */\n clientToken: string\n\n /**\n * A callback function that can be used to modify events before they are sent to Datadog.\n *\n * @category Data Collection\n */\n beforeSend?: GenericBeforeSendCallback | undefined\n\n /**\n * The percentage of sessions tracked. A value between 0 and 100.\n *\n * @category Data Collection\n * @defaultValue 100\n */\n sessionSampleRate?: number | undefined\n\n /**\n * The percentage of telemetry events sent. A value between 0 and 100.\n *\n * @category Data Collection\n * @defaultValue 20\n */\n telemetrySampleRate?: number | undefined\n\n /**\n * Initialization fails silently if the RUM Browser SDK is already initialized on the page.\n *\n * @defaultValue false\n */\n silentMultipleInit?: boolean | undefined\n\n /**\n * Which storage strategy to use for persisting sessions. Can be 'cookie', 'local-storage', or 'memory'.\n * When an array is provided, the SDK will attempt each persistence type in the order specified.\n *\n * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values\n *\n * Note: 'memory' option is only for use with single-page applications. All page loads will start a new session, likely resulting in an increase in total number of RUM sessions\n *\n * @category Session Persistence\n * @defaultValue \"cookie\"\n */\n sessionPersistence?: SessionPersistence | SessionPersistence[] | undefined\n\n /**\n * Allow listening to DOM events dispatched programmatically ([untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted)). Enabling this option can be useful if you heavily rely on programmatic events, such as in an automated UI test environment.\n *\n * @defaultValue false\n */\n allowUntrustedEvents?: boolean | undefined\n\n /**\n * Store global context and user context in localStorage to preserve them along the user navigation.\n * See [Contexts life cycle](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#contexts-life-cycle) for further information.\n *\n * @defaultValue false\n */\n storeContextsAcrossPages?: boolean | undefined\n\n /**\n * Set the initial user tracking consent state.\n * See [User tracking consent](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#user-tracking-consent) for further information.\n *\n * @category Privacy\n * @defaultValue granted\n */\n trackingConsent?: TrackingConsent | undefined\n\n /**\n * List of origins where the SDK is allowed to run when used in a browser extension context.\n * Matches urls against the extensions origin.\n * If not provided and the SDK is running in a browser extension, the SDK will not run.\n */\n allowedTrackingOrigins?: MatchOption[] | undefined\n\n // transport options\n /**\n * Optional proxy URL, for example: https://www.proxy.com/path.\n * See [Proxy Your Browser RUM Data](https://docs.datadoghq.com/real_user_monitoring/guide/proxy-rum-data) for further information.\n *\n * @category Transport\n */\n proxy?: string | ProxyFn | undefined\n\n /**\n * The Datadog [site](https://docs.datadoghq.com/getting_started/site) parameter of your organization.\n *\n * @category Transport\n * @defaultValue datadoghq.com\n */\n site?: Site | undefined\n\n /**\n * The OpenObserve ingestion API version used to build intake URLs.\n *\n * @category Transport\n * @defaultValue v1\n */\n apiVersion?: string | undefined\n\n /**\n * The OpenObserve organization identifier, used as a path segment of intake URLs.\n *\n * @category Transport\n * @defaultValue default\n */\n organizationIdentifier?: string | undefined\n\n /**\n * Send data to the intake over plain HTTP instead of HTTPS. Only intended for local\n * development against a non-TLS OpenObserve instance.\n *\n * @category Transport\n */\n insecureHTTP?: boolean | undefined\n\n // tag and context options\n /**\n * The service name for your application. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).\n *\n * @category Data Collection\n */\n service?: string | undefined | null\n\n /**\n * The application’s environment, for example: prod, pre-prod, and staging. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).\n *\n * @category Data Collection\n */\n env?: string | undefined | null\n\n /**\n * The application’s version, for example: 1.2.3, 6c44da20, and 2020.02.13. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).\n *\n * @category Data Collection\n */\n version?: string | undefined | null\n\n // cookie options\n /**\n * Use a partitioned secure cross-site session cookie. This allows the RUM Browser SDK to run when the site is loaded from another one (iframe). Implies `useSecureSessionCookie`.\n *\n * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values\n *\n * @category Session Persistence\n * @defaultValue false\n */\n usePartitionedCrossSiteSessionCookie?: boolean | undefined\n\n /**\n * Use a secure session cookie. This disables RUM events sent on insecure (non-HTTPS) connections.\n *\n * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values\n *\n * @category Session Persistence\n * @defaultValue false\n */\n useSecureSessionCookie?: boolean | undefined\n\n /**\n * Preserve the session across subdomains for the same site.\n *\n * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values\n *\n * @category Session Persistence\n * @defaultValue false\n */\n trackSessionAcrossSubdomains?: boolean | undefined\n\n /**\n * Track anonymous user for the same site and extend cookie expiration date\n *\n * @category Data Collection\n * @defaultValue true\n */\n trackAnonymousUser?: boolean | undefined\n\n // internal options\n /**\n * [Internal option] Enable experimental features\n *\n * @internal\n */\n enableExperimentalFeatures?: string[] | undefined\n\n /**\n * [Internal option] Configure the dual shipping to another datacenter\n *\n * @internal\n */\n replica?: ReplicaInitConfiguration | undefined\n\n /**\n * [Internal option] Set the datacenter from where the data is dual shipped\n *\n * @internal\n */\n datacenter?: string\n\n /**\n * [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.\n *\n * @internal\n * @defaultValue 5\n */\n telemetryConfigurationSampleRate?: number\n\n /**\n * [Internal option] The percentage of telemetry usage sent. A value between 0 and 100.\n *\n * @internal\n * @defaultValue 5\n */\n telemetryUsageSampleRate?: number\n\n /**\n * [Internal option] Additional configuration for the SDK.\n *\n * @internal\n */\n source?: 'browser' | 'flutter' | 'unity' | undefined\n\n /**\n * [Internal option] Additional configuration for the SDK.\n *\n * @internal\n */\n sdkVersion?: string | undefined\n\n /**\n * [Internal option] Additional configuration for the SDK.\n *\n * @internal\n */\n variant?: string | undefined\n}\n\n// This type is only used to build the core configuration. Logs and RUM SDKs are using a proper type\n// for this option.\ntype GenericBeforeSendCallback = (event: any, context?: any) => unknown\n\n/**\n * path: /api/vX/product\n * parameters: xxx=yyy&zzz=aaa\n */\nexport type ProxyFn = (options: { path: string; parameters: string; subdomain?: string }) => string\n\n/**\n * @internal\n */\nexport interface ReplicaInitConfiguration {\n applicationId?: string\n clientToken: string\n}\n\nexport type SdkSource = 'browser' | 'flutter' | 'unity'\n\nexport interface Configuration {\n clientToken: string\n datacenter: string | undefined\n proxy: string | ProxyFn | undefined\n site: Site\n apiVersion: string\n organizationIdentifier: string\n insecureHTTP: boolean | undefined\n source: SdkSource\n beforeSend: GenericBeforeSendCallback | undefined\n cookieOptions: CookieOptions | undefined\n sessionPersistence: SessionPersistence | SessionPersistence[] | undefined\n sessionSampleRate: number\n telemetrySampleRate: number\n telemetryConfigurationSampleRate: number\n telemetryUsageSampleRate: number\n service?: string | undefined\n version?: string | undefined\n env?: string | undefined\n silentMultipleInit: boolean\n trackingConsent: TrackingConsent\n storeContextsAcrossPages: boolean\n trackAnonymousUser?: boolean\n\n // internal\n sdkVersion: string | undefined\n variant: string | undefined\n replica: ReplicaInitConfiguration | undefined\n}\n\nfunction isString(tag: unknown, tagName: string): tag is string | undefined | null {\n if (tag !== undefined && tag !== null && typeof tag !== 'string') {\n display.error(`${tagName} must be defined as a string`)\n return false\n }\n return true\n}\n\nexport function isSampleRate(sampleRate: unknown, name: string) {\n if (sampleRate !== undefined && !isPercentage(sampleRate)) {\n display.error(`${name} Sample Rate should be a number between 0 and 100`)\n return false\n }\n return true\n}\n\nexport function validateAndBuildConfiguration(\n initConfiguration: InitConfiguration,\n errorStack?: string\n): Configuration | undefined {\n if (!initConfiguration?.clientToken) {\n display.error('Client Token is not configured, we will not send any data.')\n return\n }\n\n if (\n initConfiguration.allowedTrackingOrigins !== undefined &&\n !Array.isArray(initConfiguration.allowedTrackingOrigins)\n ) {\n display.error('Allowed Tracking Origins must be an array')\n return\n }\n\n if (\n !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||\n !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||\n !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||\n !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||\n !isString(initConfiguration.version, 'Version') ||\n !isString(initConfiguration.env, 'Env') ||\n !isString(initConfiguration.service, 'Service') ||\n !isAllowedTrackingOrigins(initConfiguration, errorStack ?? '')\n ) {\n return\n }\n\n if (\n initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)\n ) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"')\n return\n }\n\n return {\n clientToken: initConfiguration.clientToken,\n proxy: initConfiguration.proxy,\n site: initConfiguration.site || INTAKE_SITE_US1,\n apiVersion: initConfiguration.apiVersion ?? 'v1',\n organizationIdentifier: initConfiguration.organizationIdentifier ?? 'default',\n insecureHTTP: initConfiguration.insecureHTTP,\n source: validateSource(initConfiguration.source),\n beforeSend:\n initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionPersistence: initConfiguration.sessionPersistence,\n sessionSampleRate: initConfiguration.sessionSampleRate ?? 100,\n telemetrySampleRate: initConfiguration.telemetrySampleRate ?? 20,\n telemetryConfigurationSampleRate: initConfiguration.telemetryConfigurationSampleRate ?? 5,\n telemetryUsageSampleRate: initConfiguration.telemetryUsageSampleRate ?? 5,\n service: initConfiguration.service ?? undefined,\n env: initConfiguration.env ?? undefined,\n version: initConfiguration.version ?? undefined,\n datacenter: initConfiguration.datacenter ?? undefined,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n trackingConsent: initConfiguration.trackingConsent ?? TrackingConsent.GRANTED,\n trackAnonymousUser: initConfiguration.trackAnonymousUser ?? true,\n storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,\n\n /**\n * The source of the SDK, used for support plugins purposes.\n */\n variant: initConfiguration.variant,\n sdkVersion: initConfiguration.sdkVersion,\n replica: initConfiguration.replica,\n }\n}\n\nexport function buildCookieOptions(initConfiguration: InitConfiguration): CookieOptions | undefined {\n const cookieOptions: CookieOptions = {}\n\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie\n cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n const currentSite = getCurrentSite()\n if (!currentSite) {\n return\n }\n cookieOptions.domain = currentSite\n }\n\n return cookieOptions\n}\n\nexport function serializeConfiguration(initConfiguration: InitConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n track_anonymous_user: initConfiguration.trackAnonymousUser,\n session_persistence: Array.isArray(initConfiguration.sessionPersistence)\n ? initConfiguration.sessionPersistence[0]\n : initConfiguration.sessionPersistence,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n tracking_consent: initConfiguration.trackingConsent,\n use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),\n source: initConfiguration.source,\n sdk_version: initConfiguration.sdkVersion,\n variant: initConfiguration.variant,\n } satisfies RawTelemetryConfiguration\n}\n\nfunction validateSource(source: string | undefined): SdkSource {\n if (source === 'flutter' || source === 'unity') {\n return source\n }\n return 'browser'\n}\n"],"mappings":"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"}
@@ -1,12 +1,47 @@
1
1
  import type { Payload } from '../../transport';
2
- import type { InitConfiguration } from './configuration';
3
- export type TrackType = 'logs' | 'rum' | 'replay' | 'profile' | 'exposures';
4
- export type ApiType = 'fetch-keepalive' | 'fetch' | 'beacon' | 'manual';
2
+ import type { Site } from '../intakeSites';
3
+ import type { Configuration, ProxyFn } from './configuration';
4
+ export type TrackType = 'logs' | 'rum' | 'replay' | 'profile' | 'exposures' | 'flagevaluation' | 'debugger';
5
+ export type ApiType = 'fetch' | 'beacon' | 'manual';
6
+ /**
7
+ * Source values supported by the transport layer for the `o2source` URL parameter.
8
+ *
9
+ * `'dd_debugger'` is internal to the Live Debugger SDK and is not part of
10
+ * `InitConfiguration.source`. It is passed directly to `createEndpointBuilder`
11
+ * by the debugger transport.
12
+ */
13
+ export type TransportSource = 'browser' | 'flutter' | 'unity' | 'dd_debugger';
14
+ interface EndpointBuilderConfiguration {
15
+ clientToken: string;
16
+ proxy?: string | ProxyFn;
17
+ site?: Site;
18
+ source?: TransportSource;
19
+ apiVersion?: string;
20
+ organizationIdentifier?: string;
21
+ insecureHTTP?: boolean;
22
+ }
5
23
  export type EndpointBuilder = ReturnType<typeof createEndpointBuilder>;
6
- export declare function createEndpointBuilder(initConfiguration: InitConfiguration, trackType: TrackType, extraParameters?: string[]): {
24
+ export declare function createEndpointBuilder(configuration: EndpointBuilderConfiguration, trackType: TrackType, extraParameters?: string[]): {
7
25
  build(api: ApiType, payload: Payload): string;
8
26
  trackType: TrackType;
9
27
  };
10
- export declare function buildEndpointHost(trackType: TrackType, initConfiguration: InitConfiguration & {
11
- usePciIntake?: boolean;
12
- }): string;
28
+ /**
29
+ * Build the endpoint for the replica (dual shipping) site, if a replica is configured.
30
+ *
31
+ * The replica always targets the US1 site but keeps the `proxy` and `source` of the main
32
+ * configuration. The RUM track additionally carries the replica `application.id`.
33
+ */
34
+ export declare function createReplicaEndpointBuilder({ replica, proxy, source }: Configuration, trackType: TrackType): {
35
+ build(api: ApiType, payload: Payload): string;
36
+ trackType: TrackType;
37
+ } | undefined;
38
+ export interface BuildEndpointUrlOptions {
39
+ proxy?: string | ProxyFn;
40
+ site: Site | undefined;
41
+ subdomain?: string;
42
+ path: string;
43
+ parameters?: string;
44
+ insecureHTTP?: boolean;
45
+ }
46
+ export declare function buildEndpointUrl({ proxy, site, path, parameters, subdomain, insecureHTTP, }: BuildEndpointUrlOptions): string;
47
+ export {};