@pratham.raval/browser-core 6.22.3

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 (710) hide show
  1. package/README.md +3 -0
  2. package/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
  3. package/cjs/boot/displayAlreadyInitializedError.js +10 -0
  4. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
  5. package/cjs/boot/init.d.ts +14 -0
  6. package/cjs/boot/init.js +39 -0
  7. package/cjs/boot/init.js.map +1 -0
  8. package/cjs/browser/addEventListener.d.ts +87 -0
  9. package/cjs/browser/addEventListener.js +55 -0
  10. package/cjs/browser/addEventListener.js.map +1 -0
  11. package/cjs/browser/browser.types.d.ts +51 -0
  12. package/cjs/browser/browser.types.js +6 -0
  13. package/cjs/browser/browser.types.js.map +1 -0
  14. package/cjs/browser/cookie.d.ts +18 -0
  15. package/cjs/browser/cookie.js +101 -0
  16. package/cjs/browser/cookie.js.map +1 -0
  17. package/cjs/browser/fetchObservable.d.ts +25 -0
  18. package/cjs/browser/fetchObservable.js +79 -0
  19. package/cjs/browser/fetchObservable.js.map +1 -0
  20. package/cjs/browser/pageMayExitObservable.d.ts +14 -0
  21. package/cjs/browser/pageMayExitObservable.js +45 -0
  22. package/cjs/browser/pageMayExitObservable.js.map +1 -0
  23. package/cjs/browser/runOnReadyState.d.ts +5 -0
  24. package/cjs/browser/runOnReadyState.js +20 -0
  25. package/cjs/browser/runOnReadyState.js.map +1 -0
  26. package/cjs/browser/xhrObservable.d.ts +23 -0
  27. package/cjs/browser/xhrObservable.js +83 -0
  28. package/cjs/browser/xhrObservable.js.map +1 -0
  29. package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
  30. package/cjs/domain/allowedTrackingOrigins.js +25 -0
  31. package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
  32. package/cjs/domain/bufferedData.d.ts +14 -0
  33. package/cjs/domain/bufferedData.js +22 -0
  34. package/cjs/domain/bufferedData.js.map +1 -0
  35. package/cjs/domain/configuration/configuration.d.ts +303 -0
  36. package/cjs/domain/configuration/configuration.js +152 -0
  37. package/cjs/domain/configuration/configuration.js.map +1 -0
  38. package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
  39. package/cjs/domain/configuration/endpointBuilder.js +78 -0
  40. package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
  41. package/cjs/domain/configuration/index.d.ts +5 -0
  42. package/cjs/domain/configuration/index.js +16 -0
  43. package/cjs/domain/configuration/index.js.map +1 -0
  44. package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
  45. package/cjs/domain/configuration/transportConfiguration.js +54 -0
  46. package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
  47. package/cjs/domain/connectivity/connectivity.d.ts +14 -0
  48. package/cjs/domain/connectivity/connectivity.js +14 -0
  49. package/cjs/domain/connectivity/connectivity.js.map +1 -0
  50. package/cjs/domain/connectivity/index.d.ts +1 -0
  51. package/cjs/domain/connectivity/index.js +18 -0
  52. package/cjs/domain/connectivity/index.js.map +1 -0
  53. package/cjs/domain/console/consoleObservable.d.ts +21 -0
  54. package/cjs/domain/console/consoleObservable.js +84 -0
  55. package/cjs/domain/console/consoleObservable.js.map +1 -0
  56. package/cjs/domain/context/contextConstants.d.ts +21 -0
  57. package/cjs/domain/context/contextConstants.js +18 -0
  58. package/cjs/domain/context/contextConstants.js.map +1 -0
  59. package/cjs/domain/context/contextManager.d.ts +19 -0
  60. package/cjs/domain/context/contextManager.js +60 -0
  61. package/cjs/domain/context/contextManager.js.map +1 -0
  62. package/cjs/domain/context/contextUtils.d.ts +5 -0
  63. package/cjs/domain/context/contextUtils.js +16 -0
  64. package/cjs/domain/context/contextUtils.js.map +1 -0
  65. package/cjs/domain/context/defineContextMethod.d.ts +6 -0
  66. package/cjs/domain/context/defineContextMethod.js +21 -0
  67. package/cjs/domain/context/defineContextMethod.js.map +1 -0
  68. package/cjs/domain/context/storeContextManager.d.ts +6 -0
  69. package/cjs/domain/context/storeContextManager.js +40 -0
  70. package/cjs/domain/context/storeContextManager.js.map +1 -0
  71. package/cjs/domain/contexts/accountContext.d.ts +26 -0
  72. package/cjs/domain/contexts/accountContext.js +33 -0
  73. package/cjs/domain/contexts/accountContext.js.map +1 -0
  74. package/cjs/domain/contexts/globalContext.d.ts +18 -0
  75. package/cjs/domain/contexts/globalContext.js +21 -0
  76. package/cjs/domain/contexts/globalContext.js.map +1 -0
  77. package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
  78. package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
  79. package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
  80. package/cjs/domain/contexts/userContext.d.ts +29 -0
  81. package/cjs/domain/contexts/userContext.js +45 -0
  82. package/cjs/domain/contexts/userContext.js.map +1 -0
  83. package/cjs/domain/deflate/deflate.types.d.ts +40 -0
  84. package/cjs/domain/deflate/deflate.types.js +3 -0
  85. package/cjs/domain/deflate/deflate.types.js.map +1 -0
  86. package/cjs/domain/deflate/index.d.ts +1 -0
  87. package/cjs/domain/deflate/index.js +18 -0
  88. package/cjs/domain/deflate/index.js.map +1 -0
  89. package/cjs/domain/error/error.d.ts +23 -0
  90. package/cjs/domain/error/error.js +74 -0
  91. package/cjs/domain/error/error.js.map +1 -0
  92. package/cjs/domain/error/error.types.d.ts +47 -0
  93. package/cjs/domain/error/error.types.js +13 -0
  94. package/cjs/domain/error/error.types.js.map +1 -0
  95. package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
  96. package/cjs/domain/error/trackRuntimeError.js +48 -0
  97. package/cjs/domain/error/trackRuntimeError.js.map +1 -0
  98. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  99. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +39 -0
  100. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  101. package/cjs/domain/extension/extensionUtils.d.ts +10 -0
  102. package/cjs/domain/extension/extensionUtils.js +30 -0
  103. package/cjs/domain/extension/extensionUtils.js.map +1 -0
  104. package/cjs/domain/intakeSites.d.ts +8 -0
  105. package/cjs/domain/intakeSites.js +11 -0
  106. package/cjs/domain/intakeSites.js.map +1 -0
  107. package/cjs/domain/report/browser.types.d.ts +34 -0
  108. package/cjs/domain/report/browser.types.js +3 -0
  109. package/cjs/domain/report/browser.types.js.map +1 -0
  110. package/cjs/domain/report/reportObservable.d.ts +14 -0
  111. package/cjs/domain/report/reportObservable.js +99 -0
  112. package/cjs/domain/report/reportObservable.js.map +1 -0
  113. package/cjs/domain/resourceUtils.d.ts +18 -0
  114. package/cjs/domain/resourceUtils.js +20 -0
  115. package/cjs/domain/resourceUtils.js.map +1 -0
  116. package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
  117. package/cjs/domain/session/oldCookiesMigration.js +40 -0
  118. package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
  119. package/cjs/domain/session/sessionConstants.d.ts +15 -0
  120. package/cjs/domain/session/sessionConstants.js +16 -0
  121. package/cjs/domain/session/sessionConstants.js.map +1 -0
  122. package/cjs/domain/session/sessionManager.d.ts +28 -0
  123. package/cjs/domain/session/sessionManager.js +185 -0
  124. package/cjs/domain/session/sessionManager.js.map +1 -0
  125. package/cjs/domain/session/sessionState.d.ts +16 -0
  126. package/cjs/domain/session/sessionState.js +76 -0
  127. package/cjs/domain/session/sessionState.js.map +1 -0
  128. package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
  129. package/cjs/domain/session/sessionStateValidation.js +11 -0
  130. package/cjs/domain/session/sessionStateValidation.js.map +1 -0
  131. package/cjs/domain/session/sessionStore.d.ts +38 -0
  132. package/cjs/domain/session/sessionStore.js +181 -0
  133. package/cjs/domain/session/sessionStore.js.map +1 -0
  134. package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
  135. package/cjs/domain/session/sessionStoreOperations.js +119 -0
  136. package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
  137. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
  138. package/cjs/domain/session/storeStrategies/sessionInCookie.js +56 -0
  139. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  140. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
  141. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +41 -0
  142. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  143. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  144. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
  145. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  146. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  147. package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
  148. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  149. package/cjs/domain/tags.d.ts +6 -0
  150. package/cjs/domain/tags.js +67 -0
  151. package/cjs/domain/tags.js.map +1 -0
  152. package/cjs/domain/telemetry/index.d.ts +4 -0
  153. package/cjs/domain/telemetry/index.js +28 -0
  154. package/cjs/domain/telemetry/index.js.map +1 -0
  155. package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  156. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
  157. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  158. package/cjs/domain/telemetry/telemetry.d.ts +56 -0
  159. package/cjs/domain/telemetry/telemetry.js +248 -0
  160. package/cjs/domain/telemetry/telemetry.js.map +1 -0
  161. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +858 -0
  162. package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
  163. package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
  164. package/cjs/domain/trackingConsent.d.ts +13 -0
  165. package/cjs/domain/trackingConsent.js +28 -0
  166. package/cjs/domain/trackingConsent.js.map +1 -0
  167. package/cjs/index.d.ts +100 -0
  168. package/cjs/index.js +193 -0
  169. package/cjs/index.js.map +1 -0
  170. package/cjs/tools/abstractHooks.d.ts +24 -0
  171. package/cjs/tools/abstractHooks.js +41 -0
  172. package/cjs/tools/abstractHooks.js.map +1 -0
  173. package/cjs/tools/abstractLifeCycle.d.ts +23 -0
  174. package/cjs/tools/abstractLifeCycle.js +28 -0
  175. package/cjs/tools/abstractLifeCycle.js.map +1 -0
  176. package/cjs/tools/boundedBuffer.d.ts +16 -0
  177. package/cjs/tools/boundedBuffer.js +32 -0
  178. package/cjs/tools/boundedBuffer.js.map +1 -0
  179. package/cjs/tools/catchUserErrors.d.ts +1 -0
  180. package/cjs/tools/catchUserErrors.js +15 -0
  181. package/cjs/tools/catchUserErrors.js.map +1 -0
  182. package/cjs/tools/display.d.ts +38 -0
  183. package/cjs/tools/display.js +44 -0
  184. package/cjs/tools/display.js.map +1 -0
  185. package/cjs/tools/encoder.d.ts +54 -0
  186. package/cjs/tools/encoder.js +40 -0
  187. package/cjs/tools/encoder.js.map +1 -0
  188. package/cjs/tools/experimentalFeatures.d.ts +20 -0
  189. package/cjs/tools/experimentalFeatures.js +49 -0
  190. package/cjs/tools/experimentalFeatures.js.map +1 -0
  191. package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
  192. package/cjs/tools/getZoneJsOriginalValue.js +29 -0
  193. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
  194. package/cjs/tools/globalObject.d.ts +19 -0
  195. package/cjs/tools/globalObject.js +44 -0
  196. package/cjs/tools/globalObject.js.map +1 -0
  197. package/cjs/tools/instrumentMethod.d.ts +75 -0
  198. package/cjs/tools/instrumentMethod.js +118 -0
  199. package/cjs/tools/instrumentMethod.js.map +1 -0
  200. package/cjs/tools/matchOption.d.ts +8 -0
  201. package/cjs/tools/matchOption.js +35 -0
  202. package/cjs/tools/matchOption.js.map +1 -0
  203. package/cjs/tools/mergeInto.d.ts +25 -0
  204. package/cjs/tools/mergeInto.js +98 -0
  205. package/cjs/tools/mergeInto.js.map +1 -0
  206. package/cjs/tools/monitor.d.ts +9 -0
  207. package/cjs/tools/monitor.js +62 -0
  208. package/cjs/tools/monitor.js.map +1 -0
  209. package/cjs/tools/observable.d.ts +30 -0
  210. package/cjs/tools/observable.js +89 -0
  211. package/cjs/tools/observable.js.map +1 -0
  212. package/cjs/tools/queueMicrotask.d.ts +1 -0
  213. package/cjs/tools/queueMicrotask.js +17 -0
  214. package/cjs/tools/queueMicrotask.js.map +1 -0
  215. package/cjs/tools/readBytesFromStream.d.ts +11 -0
  216. package/cjs/tools/readBytesFromStream.js +63 -0
  217. package/cjs/tools/readBytesFromStream.js.map +1 -0
  218. package/cjs/tools/requestIdleCallback.d.ts +12 -0
  219. package/cjs/tools/requestIdleCallback.js +35 -0
  220. package/cjs/tools/requestIdleCallback.js.map +1 -0
  221. package/cjs/tools/sendToExtension.d.ts +3 -0
  222. package/cjs/tools/sendToExtension.js +11 -0
  223. package/cjs/tools/sendToExtension.js.map +1 -0
  224. package/cjs/tools/serialisation/context.d.ts +9 -0
  225. package/cjs/tools/serialisation/context.js +3 -0
  226. package/cjs/tools/serialisation/context.js.map +1 -0
  227. package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
  228. package/cjs/tools/serialisation/jsonStringify.js +48 -0
  229. package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
  230. package/cjs/tools/serialisation/sanitize.d.ts +18 -0
  231. package/cjs/tools/serialisation/sanitize.js +188 -0
  232. package/cjs/tools/serialisation/sanitize.js.map +1 -0
  233. package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
  234. package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
  235. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
  236. package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
  237. package/cjs/tools/stackTrace/handlingStack.js +46 -0
  238. package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
  239. package/cjs/tools/taskQueue.d.ts +15 -0
  240. package/cjs/tools/taskQueue.js +54 -0
  241. package/cjs/tools/taskQueue.js.map +1 -0
  242. package/cjs/tools/timer.d.ts +5 -0
  243. package/cjs/tools/timer.js +22 -0
  244. package/cjs/tools/timer.js.map +1 -0
  245. package/cjs/tools/utils/arrayUtils.d.ts +3 -0
  246. package/cjs/tools/utils/arrayUtils.js +20 -0
  247. package/cjs/tools/utils/arrayUtils.js.map +1 -0
  248. package/cjs/tools/utils/browserDetection.d.ts +8 -0
  249. package/cjs/tools/utils/browserDetection.js +33 -0
  250. package/cjs/tools/utils/browserDetection.js.map +1 -0
  251. package/cjs/tools/utils/byteUtils.d.ts +8 -0
  252. package/cjs/tools/utils/byteUtils.js +30 -0
  253. package/cjs/tools/utils/byteUtils.js.map +1 -0
  254. package/cjs/tools/utils/functionUtils.d.ts +8 -0
  255. package/cjs/tools/utils/functionUtils.js +43 -0
  256. package/cjs/tools/utils/functionUtils.js.map +1 -0
  257. package/cjs/tools/utils/numberUtils.d.ts +9 -0
  258. package/cjs/tools/utils/numberUtils.js +24 -0
  259. package/cjs/tools/utils/numberUtils.js.map +1 -0
  260. package/cjs/tools/utils/objectUtils.d.ts +10 -0
  261. package/cjs/tools/utils/objectUtils.js +23 -0
  262. package/cjs/tools/utils/objectUtils.js.map +1 -0
  263. package/cjs/tools/utils/polyfills.d.ts +7 -0
  264. package/cjs/tools/utils/polyfills.js +23 -0
  265. package/cjs/tools/utils/polyfills.js.map +1 -0
  266. package/cjs/tools/utils/responseUtils.d.ts +2 -0
  267. package/cjs/tools/utils/responseUtils.js +17 -0
  268. package/cjs/tools/utils/responseUtils.js.map +1 -0
  269. package/cjs/tools/utils/stringUtils.d.ts +8 -0
  270. package/cjs/tools/utils/stringUtils.js +55 -0
  271. package/cjs/tools/utils/stringUtils.js.map +1 -0
  272. package/cjs/tools/utils/timeUtils.d.ts +53 -0
  273. package/cjs/tools/utils/timeUtils.js +101 -0
  274. package/cjs/tools/utils/timeUtils.js.map +1 -0
  275. package/cjs/tools/utils/timezone.d.ts +1 -0
  276. package/cjs/tools/utils/timezone.js +13 -0
  277. package/cjs/tools/utils/timezone.js.map +1 -0
  278. package/cjs/tools/utils/typeUtils.d.ts +4 -0
  279. package/cjs/tools/utils/typeUtils.js +16 -0
  280. package/cjs/tools/utils/typeUtils.js.map +1 -0
  281. package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
  282. package/cjs/tools/utils/urlPolyfill.js +59 -0
  283. package/cjs/tools/utils/urlPolyfill.js.map +1 -0
  284. package/cjs/tools/valueHistory.d.ts +27 -0
  285. package/cjs/tools/valueHistory.js +104 -0
  286. package/cjs/tools/valueHistory.js.map +1 -0
  287. package/cjs/transport/batch.d.ts +16 -0
  288. package/cjs/transport/batch.js +108 -0
  289. package/cjs/transport/batch.js.map +1 -0
  290. package/cjs/transport/eventBridge.d.ts +21 -0
  291. package/cjs/transport/eventBridge.js +46 -0
  292. package/cjs/transport/eventBridge.js.map +1 -0
  293. package/cjs/transport/flushController.d.ts +58 -0
  294. package/cjs/transport/flushController.js +109 -0
  295. package/cjs/transport/flushController.js.map +1 -0
  296. package/cjs/transport/httpRequest.d.ts +51 -0
  297. package/cjs/transport/httpRequest.js +80 -0
  298. package/cjs/transport/httpRequest.js.map +1 -0
  299. package/cjs/transport/index.d.ts +7 -0
  300. package/cjs/transport/index.js +14 -0
  301. package/cjs/transport/index.js.map +1 -0
  302. package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
  303. package/cjs/transport/sendWithRetryStrategy.js +163 -0
  304. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  305. package/esm/boot/displayAlreadyInitializedError.d.ts +2 -0
  306. package/esm/boot/displayAlreadyInitializedError.js +7 -0
  307. package/esm/boot/displayAlreadyInitializedError.js.map +1 -0
  308. package/esm/boot/init.d.ts +14 -0
  309. package/esm/boot/init.js +35 -0
  310. package/esm/boot/init.js.map +1 -0
  311. package/esm/browser/addEventListener.d.ts +87 -0
  312. package/esm/browser/addEventListener.js +51 -0
  313. package/esm/browser/addEventListener.js.map +1 -0
  314. package/esm/browser/browser.types.d.ts +51 -0
  315. package/esm/browser/browser.types.js +5 -0
  316. package/esm/browser/browser.types.js.map +1 -0
  317. package/esm/browser/cookie.d.ts +18 -0
  318. package/esm/browser/cookie.js +91 -0
  319. package/esm/browser/cookie.js.map +1 -0
  320. package/esm/browser/fetchObservable.d.ts +25 -0
  321. package/esm/browser/fetchObservable.js +75 -0
  322. package/esm/browser/fetchObservable.js.map +1 -0
  323. package/esm/browser/pageMayExitObservable.d.ts +14 -0
  324. package/esm/browser/pageMayExitObservable.js +40 -0
  325. package/esm/browser/pageMayExitObservable.js.map +1 -0
  326. package/esm/browser/runOnReadyState.d.ts +5 -0
  327. package/esm/browser/runOnReadyState.js +16 -0
  328. package/esm/browser/runOnReadyState.js.map +1 -0
  329. package/esm/browser/xhrObservable.d.ts +23 -0
  330. package/esm/browser/xhrObservable.js +80 -0
  331. package/esm/browser/xhrObservable.js.map +1 -0
  332. package/esm/domain/allowedTrackingOrigins.d.ts +4 -0
  333. package/esm/domain/allowedTrackingOrigins.js +21 -0
  334. package/esm/domain/allowedTrackingOrigins.js.map +1 -0
  335. package/esm/domain/bufferedData.d.ts +14 -0
  336. package/esm/domain/bufferedData.js +19 -0
  337. package/esm/domain/bufferedData.js.map +1 -0
  338. package/esm/domain/configuration/configuration.d.ts +303 -0
  339. package/esm/domain/configuration/configuration.js +146 -0
  340. package/esm/domain/configuration/configuration.js.map +1 -0
  341. package/esm/domain/configuration/endpointBuilder.d.ts +12 -0
  342. package/esm/domain/configuration/endpointBuilder.js +74 -0
  343. package/esm/domain/configuration/endpointBuilder.js.map +1 -0
  344. package/esm/domain/configuration/index.d.ts +5 -0
  345. package/esm/domain/configuration/index.js +4 -0
  346. package/esm/domain/configuration/index.js.map +1 -0
  347. package/esm/domain/configuration/transportConfiguration.d.ts +20 -0
  348. package/esm/domain/configuration/transportConfiguration.js +50 -0
  349. package/esm/domain/configuration/transportConfiguration.js.map +1 -0
  350. package/esm/domain/connectivity/connectivity.d.ts +14 -0
  351. package/esm/domain/connectivity/connectivity.js +11 -0
  352. package/esm/domain/connectivity/connectivity.js.map +1 -0
  353. package/esm/domain/connectivity/index.d.ts +1 -0
  354. package/esm/domain/connectivity/index.js +2 -0
  355. package/esm/domain/connectivity/index.js.map +1 -0
  356. package/esm/domain/console/consoleObservable.d.ts +21 -0
  357. package/esm/domain/console/consoleObservable.js +80 -0
  358. package/esm/domain/console/consoleObservable.js.map +1 -0
  359. package/esm/domain/context/contextConstants.d.ts +21 -0
  360. package/esm/domain/context/contextConstants.js +15 -0
  361. package/esm/domain/context/contextConstants.js.map +1 -0
  362. package/esm/domain/context/contextManager.d.ts +19 -0
  363. package/esm/domain/context/contextManager.js +57 -0
  364. package/esm/domain/context/contextManager.js.map +1 -0
  365. package/esm/domain/context/contextUtils.d.ts +5 -0
  366. package/esm/domain/context/contextUtils.js +13 -0
  367. package/esm/domain/context/contextUtils.js.map +1 -0
  368. package/esm/domain/context/defineContextMethod.d.ts +6 -0
  369. package/esm/domain/context/defineContextMethod.js +17 -0
  370. package/esm/domain/context/defineContextMethod.js.map +1 -0
  371. package/esm/domain/context/storeContextManager.d.ts +6 -0
  372. package/esm/domain/context/storeContextManager.js +35 -0
  373. package/esm/domain/context/storeContextManager.js.map +1 -0
  374. package/esm/domain/contexts/accountContext.d.ts +26 -0
  375. package/esm/domain/contexts/accountContext.js +29 -0
  376. package/esm/domain/contexts/accountContext.js.map +1 -0
  377. package/esm/domain/contexts/globalContext.d.ts +18 -0
  378. package/esm/domain/contexts/globalContext.js +17 -0
  379. package/esm/domain/contexts/globalContext.js.map +1 -0
  380. package/esm/domain/contexts/rumInternalContext.type.d.ts +14 -0
  381. package/esm/domain/contexts/rumInternalContext.type.js +2 -0
  382. package/esm/domain/contexts/rumInternalContext.type.js.map +1 -0
  383. package/esm/domain/contexts/userContext.d.ts +29 -0
  384. package/esm/domain/contexts/userContext.js +41 -0
  385. package/esm/domain/contexts/userContext.js.map +1 -0
  386. package/esm/domain/deflate/deflate.types.d.ts +40 -0
  387. package/esm/domain/deflate/deflate.types.js +2 -0
  388. package/esm/domain/deflate/deflate.types.js.map +1 -0
  389. package/esm/domain/deflate/index.d.ts +1 -0
  390. package/esm/domain/deflate/index.js +2 -0
  391. package/esm/domain/deflate/index.js.map +1 -0
  392. package/esm/domain/error/error.d.ts +23 -0
  393. package/esm/domain/error/error.js +65 -0
  394. package/esm/domain/error/error.js.map +1 -0
  395. package/esm/domain/error/error.types.d.ts +47 -0
  396. package/esm/domain/error/error.types.js +10 -0
  397. package/esm/domain/error/error.types.js.map +1 -0
  398. package/esm/domain/error/trackRuntimeError.d.ts +11 -0
  399. package/esm/domain/error/trackRuntimeError.js +43 -0
  400. package/esm/domain/error/trackRuntimeError.js.map +1 -0
  401. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  402. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +36 -0
  403. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  404. package/esm/domain/extension/extensionUtils.d.ts +10 -0
  405. package/esm/domain/extension/extensionUtils.js +25 -0
  406. package/esm/domain/extension/extensionUtils.js.map +1 -0
  407. package/esm/domain/intakeSites.d.ts +8 -0
  408. package/esm/domain/intakeSites.js +8 -0
  409. package/esm/domain/intakeSites.js.map +1 -0
  410. package/esm/domain/report/browser.types.d.ts +34 -0
  411. package/esm/domain/report/browser.types.js +2 -0
  412. package/esm/domain/report/browser.types.js.map +1 -0
  413. package/esm/domain/report/reportObservable.d.ts +14 -0
  414. package/esm/domain/report/reportObservable.js +95 -0
  415. package/esm/domain/report/reportObservable.js.map +1 -0
  416. package/esm/domain/resourceUtils.d.ts +18 -0
  417. package/esm/domain/resourceUtils.js +17 -0
  418. package/esm/domain/resourceUtils.js.map +1 -0
  419. package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
  420. package/esm/domain/session/oldCookiesMigration.js +36 -0
  421. package/esm/domain/session/oldCookiesMigration.js.map +1 -0
  422. package/esm/domain/session/sessionConstants.d.ts +15 -0
  423. package/esm/domain/session/sessionConstants.js +13 -0
  424. package/esm/domain/session/sessionConstants.js.map +1 -0
  425. package/esm/domain/session/sessionManager.d.ts +28 -0
  426. package/esm/domain/session/sessionManager.js +180 -0
  427. package/esm/domain/session/sessionManager.js.map +1 -0
  428. package/esm/domain/session/sessionState.d.ts +16 -0
  429. package/esm/domain/session/sessionState.js +66 -0
  430. package/esm/domain/session/sessionState.js.map +1 -0
  431. package/esm/domain/session/sessionStateValidation.d.ts +3 -0
  432. package/esm/domain/session/sessionStateValidation.js +7 -0
  433. package/esm/domain/session/sessionStateValidation.js.map +1 -0
  434. package/esm/domain/session/sessionStore.d.ts +38 -0
  435. package/esm/domain/session/sessionStore.js +175 -0
  436. package/esm/domain/session/sessionStore.js.map +1 -0
  437. package/esm/domain/session/sessionStoreOperations.d.ts +12 -0
  438. package/esm/domain/session/sessionStoreOperations.js +114 -0
  439. package/esm/domain/session/sessionStoreOperations.js.map +1 -0
  440. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
  441. package/esm/domain/session/storeStrategies/sessionInCookie.js +50 -0
  442. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  443. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
  444. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +37 -0
  445. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  446. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  447. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
  448. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  449. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  450. package/esm/domain/synthetics/syntheticsWorkerValues.js +24 -0
  451. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  452. package/esm/domain/tags.d.ts +6 -0
  453. package/esm/domain/tags.js +60 -0
  454. package/esm/domain/tags.js.map +1 -0
  455. package/esm/domain/telemetry/index.d.ts +4 -0
  456. package/esm/domain/telemetry/index.js +3 -0
  457. package/esm/domain/telemetry/index.js.map +1 -0
  458. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  459. package/esm/domain/telemetry/rawTelemetryEvent.types.js +6 -0
  460. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  461. package/esm/domain/telemetry/telemetry.d.ts +56 -0
  462. package/esm/domain/telemetry/telemetry.js +235 -0
  463. package/esm/domain/telemetry/telemetry.js.map +1 -0
  464. package/esm/domain/telemetry/telemetryEvent.types.d.ts +858 -0
  465. package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
  466. package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
  467. package/esm/domain/trackingConsent.d.ts +13 -0
  468. package/esm/domain/trackingConsent.js +24 -0
  469. package/esm/domain/trackingConsent.js.map +1 -0
  470. package/esm/index.d.ts +100 -0
  471. package/esm/index.js +76 -0
  472. package/esm/index.js.map +1 -0
  473. package/esm/tools/abstractHooks.d.ts +24 -0
  474. package/esm/tools/abstractHooks.js +37 -0
  475. package/esm/tools/abstractHooks.js.map +1 -0
  476. package/esm/tools/abstractLifeCycle.d.ts +23 -0
  477. package/esm/tools/abstractLifeCycle.js +24 -0
  478. package/esm/tools/abstractLifeCycle.js.map +1 -0
  479. package/esm/tools/boundedBuffer.d.ts +16 -0
  480. package/esm/tools/boundedBuffer.js +29 -0
  481. package/esm/tools/boundedBuffer.js.map +1 -0
  482. package/esm/tools/catchUserErrors.d.ts +1 -0
  483. package/esm/tools/catchUserErrors.js +12 -0
  484. package/esm/tools/catchUserErrors.js.map +1 -0
  485. package/esm/tools/display.d.ts +38 -0
  486. package/esm/tools/display.js +41 -0
  487. package/esm/tools/display.js.map +1 -0
  488. package/esm/tools/encoder.d.ts +54 -0
  489. package/esm/tools/encoder.js +37 -0
  490. package/esm/tools/encoder.js.map +1 -0
  491. package/esm/tools/experimentalFeatures.d.ts +20 -0
  492. package/esm/tools/experimentalFeatures.js +41 -0
  493. package/esm/tools/experimentalFeatures.js.map +1 -0
  494. package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
  495. package/esm/tools/getZoneJsOriginalValue.js +26 -0
  496. package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
  497. package/esm/tools/globalObject.d.ts +19 -0
  498. package/esm/tools/globalObject.js +40 -0
  499. package/esm/tools/globalObject.js.map +1 -0
  500. package/esm/tools/instrumentMethod.d.ts +75 -0
  501. package/esm/tools/instrumentMethod.js +114 -0
  502. package/esm/tools/instrumentMethod.js.map +1 -0
  503. package/esm/tools/matchOption.d.ts +8 -0
  504. package/esm/tools/matchOption.js +31 -0
  505. package/esm/tools/matchOption.js.map +1 -0
  506. package/esm/tools/mergeInto.d.ts +25 -0
  507. package/esm/tools/mergeInto.js +93 -0
  508. package/esm/tools/mergeInto.js.map +1 -0
  509. package/esm/tools/monitor.d.ts +9 -0
  510. package/esm/tools/monitor.js +52 -0
  511. package/esm/tools/monitor.js.map +1 -0
  512. package/esm/tools/observable.d.ts +30 -0
  513. package/esm/tools/observable.js +83 -0
  514. package/esm/tools/observable.js.map +1 -0
  515. package/esm/tools/queueMicrotask.d.ts +1 -0
  516. package/esm/tools/queueMicrotask.js +14 -0
  517. package/esm/tools/queueMicrotask.js.map +1 -0
  518. package/esm/tools/readBytesFromStream.d.ts +11 -0
  519. package/esm/tools/readBytesFromStream.js +60 -0
  520. package/esm/tools/readBytesFromStream.js.map +1 -0
  521. package/esm/tools/requestIdleCallback.d.ts +12 -0
  522. package/esm/tools/requestIdleCallback.js +30 -0
  523. package/esm/tools/requestIdleCallback.js.map +1 -0
  524. package/esm/tools/sendToExtension.d.ts +3 -0
  525. package/esm/tools/sendToExtension.js +8 -0
  526. package/esm/tools/sendToExtension.js.map +1 -0
  527. package/esm/tools/serialisation/context.d.ts +9 -0
  528. package/esm/tools/serialisation/context.js +2 -0
  529. package/esm/tools/serialisation/context.js.map +1 -0
  530. package/esm/tools/serialisation/jsonStringify.d.ts +13 -0
  531. package/esm/tools/serialisation/jsonStringify.js +44 -0
  532. package/esm/tools/serialisation/jsonStringify.js.map +1 -0
  533. package/esm/tools/serialisation/sanitize.d.ts +18 -0
  534. package/esm/tools/serialisation/sanitize.js +185 -0
  535. package/esm/tools/serialisation/sanitize.js.map +1 -0
  536. package/esm/tools/stackTrace/computeStackTrace.d.ts +25 -0
  537. package/esm/tools/stackTrace/computeStackTrace.js +183 -0
  538. package/esm/tools/stackTrace/computeStackTrace.js.map +1 -0
  539. package/esm/tools/stackTrace/handlingStack.d.ts +10 -0
  540. package/esm/tools/stackTrace/handlingStack.js +41 -0
  541. package/esm/tools/stackTrace/handlingStack.js.map +1 -0
  542. package/esm/tools/taskQueue.d.ts +15 -0
  543. package/esm/tools/taskQueue.js +50 -0
  544. package/esm/tools/taskQueue.js.map +1 -0
  545. package/esm/tools/timer.d.ts +5 -0
  546. package/esm/tools/timer.js +16 -0
  547. package/esm/tools/timer.js.map +1 -0
  548. package/esm/tools/utils/arrayUtils.d.ts +3 -0
  549. package/esm/tools/utils/arrayUtils.js +15 -0
  550. package/esm/tools/utils/arrayUtils.js.map +1 -0
  551. package/esm/tools/utils/browserDetection.d.ts +8 -0
  552. package/esm/tools/utils/browserDetection.js +28 -0
  553. package/esm/tools/utils/browserDetection.js.map +1 -0
  554. package/esm/tools/utils/byteUtils.d.ts +8 -0
  555. package/esm/tools/utils/byteUtils.js +25 -0
  556. package/esm/tools/utils/byteUtils.js.map +1 -0
  557. package/esm/tools/utils/functionUtils.d.ts +8 -0
  558. package/esm/tools/utils/functionUtils.js +39 -0
  559. package/esm/tools/utils/functionUtils.js.map +1 -0
  560. package/esm/tools/utils/numberUtils.d.ts +9 -0
  561. package/esm/tools/utils/numberUtils.js +18 -0
  562. package/esm/tools/utils/numberUtils.js.map +1 -0
  563. package/esm/tools/utils/objectUtils.d.ts +10 -0
  564. package/esm/tools/utils/objectUtils.js +17 -0
  565. package/esm/tools/utils/objectUtils.js.map +1 -0
  566. package/esm/tools/utils/polyfills.d.ts +7 -0
  567. package/esm/tools/utils/polyfills.js +18 -0
  568. package/esm/tools/utils/polyfills.js.map +1 -0
  569. package/esm/tools/utils/responseUtils.d.ts +2 -0
  570. package/esm/tools/utils/responseUtils.js +13 -0
  571. package/esm/tools/utils/responseUtils.js.map +1 -0
  572. package/esm/tools/utils/stringUtils.d.ts +8 -0
  573. package/esm/tools/utils/stringUtils.js +49 -0
  574. package/esm/tools/utils/stringUtils.js.map +1 -0
  575. package/esm/tools/utils/timeUtils.d.ts +53 -0
  576. package/esm/tools/utils/timeUtils.js +84 -0
  577. package/esm/tools/utils/timeUtils.js.map +1 -0
  578. package/esm/tools/utils/timezone.d.ts +1 -0
  579. package/esm/tools/utils/timezone.js +10 -0
  580. package/esm/tools/utils/timezone.js.map +1 -0
  581. package/esm/tools/utils/typeUtils.d.ts +4 -0
  582. package/esm/tools/utils/typeUtils.js +13 -0
  583. package/esm/tools/utils/typeUtils.js.map +1 -0
  584. package/esm/tools/utils/urlPolyfill.d.ts +5 -0
  585. package/esm/tools/utils/urlPolyfill.js +52 -0
  586. package/esm/tools/utils/urlPolyfill.js.map +1 -0
  587. package/esm/tools/valueHistory.d.ts +27 -0
  588. package/esm/tools/valueHistory.js +100 -0
  589. package/esm/tools/valueHistory.js.map +1 -0
  590. package/esm/transport/batch.d.ts +16 -0
  591. package/esm/transport/batch.js +105 -0
  592. package/esm/transport/batch.js.map +1 -0
  593. package/esm/transport/eventBridge.d.ts +21 -0
  594. package/esm/transport/eventBridge.js +41 -0
  595. package/esm/transport/eventBridge.js.map +1 -0
  596. package/esm/transport/flushController.d.ts +58 -0
  597. package/esm/transport/flushController.js +106 -0
  598. package/esm/transport/flushController.js.map +1 -0
  599. package/esm/transport/httpRequest.d.ts +51 -0
  600. package/esm/transport/httpRequest.js +75 -0
  601. package/esm/transport/httpRequest.js.map +1 -0
  602. package/esm/transport/index.d.ts +7 -0
  603. package/esm/transport/index.js +5 -0
  604. package/esm/transport/index.js.map +1 -0
  605. package/esm/transport/sendWithRetryStrategy.d.ts +41 -0
  606. package/esm/transport/sendWithRetryStrategy.js +158 -0
  607. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  608. package/package.json +31 -0
  609. package/src/boot/displayAlreadyInitializedError.ts +8 -0
  610. package/src/boot/init.ts +55 -0
  611. package/src/browser/addEventListener.ts +145 -0
  612. package/src/browser/browser.types.ts +82 -0
  613. package/src/browser/cookie.ts +107 -0
  614. package/src/browser/fetchObservable.ts +127 -0
  615. package/src/browser/pageMayExitObservable.ts +56 -0
  616. package/src/browser/runOnReadyState.ts +25 -0
  617. package/src/browser/xhrObservable.ts +130 -0
  618. package/src/domain/allowedTrackingOrigins.ts +30 -0
  619. package/src/domain/bufferedData.ts +32 -0
  620. package/src/domain/configuration/configuration.ts +472 -0
  621. package/src/domain/configuration/endpointBuilder.ts +119 -0
  622. package/src/domain/configuration/index.ts +11 -0
  623. package/src/domain/configuration/transportConfiguration.ts +78 -0
  624. package/src/domain/connectivity/connectivity.ts +31 -0
  625. package/src/domain/connectivity/index.ts +1 -0
  626. package/src/domain/console/consoleObservable.ts +118 -0
  627. package/src/domain/context/contextConstants.ts +27 -0
  628. package/src/domain/context/contextManager.ts +85 -0
  629. package/src/domain/context/contextUtils.ts +14 -0
  630. package/src/domain/context/defineContextMethod.ts +31 -0
  631. package/src/domain/context/storeContextManager.ts +55 -0
  632. package/src/domain/contexts/accountContext.ts +47 -0
  633. package/src/domain/contexts/globalContext.ts +30 -0
  634. package/src/domain/contexts/rumInternalContext.type.ts +15 -0
  635. package/src/domain/contexts/userContext.ts +64 -0
  636. package/src/domain/deflate/deflate.types.ts +57 -0
  637. package/src/domain/deflate/index.ts +1 -0
  638. package/src/domain/error/error.ts +103 -0
  639. package/src/domain/error/error.types.ts +64 -0
  640. package/src/domain/error/trackRuntimeError.ts +50 -0
  641. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +46 -0
  642. package/src/domain/extension/extensionUtils.ts +28 -0
  643. package/src/domain/intakeSites.ts +17 -0
  644. package/src/domain/report/browser.types.ts +38 -0
  645. package/src/domain/report/reportObservable.ts +133 -0
  646. package/src/domain/resourceUtils.ts +21 -0
  647. package/src/domain/session/README.md +193 -0
  648. package/src/domain/session/oldCookiesMigration.ts +42 -0
  649. package/src/domain/session/sessionConstants.ts +19 -0
  650. package/src/domain/session/sessionManager.ts +244 -0
  651. package/src/domain/session/sessionState.ts +88 -0
  652. package/src/domain/session/sessionStateValidation.ts +9 -0
  653. package/src/domain/session/sessionStore.ts +244 -0
  654. package/src/domain/session/sessionStoreOperations.ts +131 -0
  655. package/src/domain/session/storeStrategies/sessionInCookie.ts +85 -0
  656. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +44 -0
  657. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +16 -0
  658. package/src/domain/synthetics/syntheticsWorkerValues.ts +38 -0
  659. package/src/domain/tags.ts +76 -0
  660. package/src/domain/telemetry/index.ts +22 -0
  661. package/src/domain/telemetry/rawTelemetryEvent.types.ts +22 -0
  662. package/src/domain/telemetry/telemetry.ts +345 -0
  663. package/src/domain/telemetry/telemetryEvent.types.ts +899 -0
  664. package/src/domain/trackingConsent.ts +34 -0
  665. package/src/index.ts +164 -0
  666. package/src/tools/abstractHooks.ts +72 -0
  667. package/src/tools/abstractLifeCycle.ts +46 -0
  668. package/src/tools/boundedBuffer.ts +45 -0
  669. package/src/tools/catchUserErrors.ts +11 -0
  670. package/src/tools/display.ts +56 -0
  671. package/src/tools/encoder.ts +103 -0
  672. package/src/tools/experimentalFeatures.ts +51 -0
  673. package/src/tools/getZoneJsOriginalValue.ts +38 -0
  674. package/src/tools/globalObject.ts +51 -0
  675. package/src/tools/instrumentMethod.ts +170 -0
  676. package/src/tools/matchOption.ts +31 -0
  677. package/src/tools/mergeInto.ts +177 -0
  678. package/src/tools/monitor.ts +72 -0
  679. package/src/tools/observable.ts +104 -0
  680. package/src/tools/queueMicrotask.ts +13 -0
  681. package/src/tools/readBytesFromStream.ts +77 -0
  682. package/src/tools/requestIdleCallback.ts +40 -0
  683. package/src/tools/sendToExtension.ts +14 -0
  684. package/src/tools/serialisation/context.ts +11 -0
  685. package/src/tools/serialisation/jsonStringify.ts +53 -0
  686. package/src/tools/serialisation/sanitize.ts +273 -0
  687. package/src/tools/stackTrace/computeStackTrace.ts +250 -0
  688. package/src/tools/stackTrace/handlingStack.ts +48 -0
  689. package/src/tools/taskQueue.ts +63 -0
  690. package/src/tools/timer.ts +21 -0
  691. package/src/tools/utils/arrayUtils.ts +15 -0
  692. package/src/tools/utils/browserDetection.ts +39 -0
  693. package/src/tools/utils/byteUtils.ts +35 -0
  694. package/src/tools/utils/functionUtils.ts +45 -0
  695. package/src/tools/utils/numberUtils.ts +20 -0
  696. package/src/tools/utils/objectUtils.ts +19 -0
  697. package/src/tools/utils/polyfills.ts +23 -0
  698. package/src/tools/utils/responseUtils.ts +12 -0
  699. package/src/tools/utils/stringUtils.ts +52 -0
  700. package/src/tools/utils/timeUtils.ts +117 -0
  701. package/src/tools/utils/timezone.ts +9 -0
  702. package/src/tools/utils/typeUtils.ts +12 -0
  703. package/src/tools/utils/urlPolyfill.ts +56 -0
  704. package/src/tools/valueHistory.ts +151 -0
  705. package/src/transport/batch.ts +144 -0
  706. package/src/transport/eventBridge.ts +61 -0
  707. package/src/transport/flushController.ts +144 -0
  708. package/src/transport/httpRequest.ts +164 -0
  709. package/src/transport/index.ts +7 -0
  710. package/src/transport/sendWithRetryStrategy.ts +222 -0
@@ -0,0 +1,303 @@
1
+ import type { Duration } from '../../tools/utils/timeUtils';
2
+ import type { SessionStoreStrategyType } from '../session/storeStrategies/sessionStoreStrategy';
3
+ import { TrackingConsent } from '../trackingConsent';
4
+ import type { SessionPersistence } from '../session/sessionConstants';
5
+ import type { MatchOption } from '../../tools/matchOption';
6
+ import type { Site } from '../intakeSites';
7
+ import type { TransportConfiguration } from './transportConfiguration';
8
+ /**
9
+ * Default privacy level for the browser SDK.
10
+ *
11
+ * [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
12
+ */
13
+ export declare const DefaultPrivacyLevel: {
14
+ readonly ALLOW: "allow";
15
+ readonly MASK: "mask";
16
+ readonly MASK_USER_INPUT: "mask-user-input";
17
+ readonly MASK_UNLESS_ALLOWLISTED: "mask-unless-allowlisted";
18
+ };
19
+ export type DefaultPrivacyLevel = (typeof DefaultPrivacyLevel)[keyof typeof DefaultPrivacyLevel];
20
+ /**
21
+ * Trace context injection option.
22
+ *
23
+ * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
24
+ */
25
+ export declare const TraceContextInjection: {
26
+ readonly ALL: "all";
27
+ readonly SAMPLED: "sampled";
28
+ };
29
+ /**
30
+ * Trace context injection option.
31
+ *
32
+ * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
33
+ *
34
+ */
35
+ export type TraceContextInjection = (typeof TraceContextInjection)[keyof typeof TraceContextInjection];
36
+ export interface InitConfiguration {
37
+ /**
38
+ * The client token for Datadog. Required for authenticating your application with Datadog.
39
+ *
40
+ * @category Authentication
41
+ */
42
+ clientToken: string;
43
+ /**
44
+ * A callback function that can be used to modify events before they are sent to Datadog.
45
+ *
46
+ * @category Data Collection
47
+ */
48
+ beforeSend?: GenericBeforeSendCallback | undefined;
49
+ /**
50
+ * The percentage of sessions tracked. A value between 0 and 100.
51
+ *
52
+ * @category Data Collection
53
+ * @defaultValue 100
54
+ */
55
+ sessionSampleRate?: number | undefined;
56
+ /**
57
+ * The percentage of telemetry events sent. A value between 0 and 100.
58
+ *
59
+ * @category Data Collection
60
+ * @defaultValue 20
61
+ */
62
+ telemetrySampleRate?: number | undefined;
63
+ /**
64
+ * Initialization fails silently if the RUM Browser SDK is already initialized on the page.
65
+ *
66
+ * @defaultValue false
67
+ */
68
+ silentMultipleInit?: boolean | undefined;
69
+ /**
70
+ * Which storage strategy to use for persisting sessions. Can be either 'cookie' or 'local-storage'.
71
+ *
72
+ * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
73
+ *
74
+ * @category Session Persistence
75
+ * @defaultValue "cookie"
76
+ */
77
+ sessionPersistence?: SessionPersistence | undefined;
78
+ /**
79
+ * 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.
80
+ *
81
+ * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
82
+ * 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.
83
+ *
84
+ * @category Session Persistence
85
+ * @deprecated use `sessionPersistence: local-storage` where you want to use localStorage instead
86
+ */
87
+ allowFallbackToLocalStorage?: boolean | undefined;
88
+ /**
89
+ * 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.
90
+ *
91
+ * @defaultValue false
92
+ */
93
+ allowUntrustedEvents?: boolean | undefined;
94
+ /**
95
+ * Store global context and user context in localStorage to preserve them along the user navigation.
96
+ * See [Contexts life cycle](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#contexts-life-cycle) for further information.
97
+ *
98
+ * @defaultValue false
99
+ */
100
+ storeContextsAcrossPages?: boolean | undefined;
101
+ /**
102
+ * Set the initial user tracking consent state.
103
+ * See [User tracking consent](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#user-tracking-consent) for further information.
104
+ *
105
+ * @category Privacy
106
+ * @defaultValue granted
107
+ */
108
+ trackingConsent?: TrackingConsent | undefined;
109
+ /**
110
+ * List of origins where the SDK is allowed to run when used in a browser extension context.
111
+ * Matches urls against the extensions origin.
112
+ * If not provided and the SDK is running in a browser extension, the SDK will not run.
113
+ */
114
+ allowedTrackingOrigins?: MatchOption[] | undefined;
115
+ /**
116
+ * Optional proxy URL, for example: https://www.proxy.com/path.
117
+ * See [Proxy Your Browser RUM Data](https://docs.datadoghq.com/real_user_monitoring/guide/proxy-rum-data) for further information.
118
+ *
119
+ * @category Transport
120
+ */
121
+ proxy?: string | ProxyFn | undefined;
122
+ /**
123
+ * The Datadog [site](https://docs.datadoghq.com/getting_started/site) parameter of your organization.
124
+ *
125
+ * @category Transport
126
+ * @defaultValue datadoghq.com
127
+ */
128
+ site?: Site | undefined;
129
+ /**
130
+ * The service name for your application. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
131
+ *
132
+ * @category Data Collection
133
+ */
134
+ service?: string | undefined | null;
135
+ /**
136
+ * 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).
137
+ *
138
+ * @category Data Collection
139
+ */
140
+ env?: string | undefined | null;
141
+ /**
142
+ * 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).
143
+ *
144
+ * @category Data Collection
145
+ */
146
+ version?: string | undefined | null;
147
+ /**
148
+ * 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`.
149
+ *
150
+ * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
151
+ *
152
+ * @category Session Persistence
153
+ * @defaultValue false
154
+ */
155
+ usePartitionedCrossSiteSessionCookie?: boolean | undefined;
156
+ /**
157
+ * Use a secure session cookie. This disables RUM events sent on insecure (non-HTTPS) connections.
158
+ *
159
+ * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
160
+ *
161
+ * @category Session Persistence
162
+ * @defaultValue false
163
+ */
164
+ useSecureSessionCookie?: boolean | undefined;
165
+ /**
166
+ * Preserve the session across subdomains for the same site.
167
+ *
168
+ * Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
169
+ *
170
+ * @category Session Persistence
171
+ * @defaultValue false
172
+ */
173
+ trackSessionAcrossSubdomains?: boolean | undefined;
174
+ /**
175
+ * Track anonymous user for the same site and extend cookie expiration date
176
+ *
177
+ * @category Data Collection
178
+ * @defaultValue true
179
+ */
180
+ trackAnonymousUser?: boolean | undefined;
181
+ /**
182
+ * [Internal option] Enable experimental features
183
+ *
184
+ * @internal
185
+ */
186
+ enableExperimentalFeatures?: string[] | undefined;
187
+ /**
188
+ * [Internal option] Configure the dual shipping to another datacenter
189
+ *
190
+ * @internal
191
+ */
192
+ replica?: ReplicaUserConfiguration | undefined;
193
+ /**
194
+ * [Internal option] Set the datacenter from where the data is dual shipped
195
+ *
196
+ * @internal
197
+ */
198
+ datacenter?: string;
199
+ /**
200
+ * [Internal option] Datadog internal analytics subdomain
201
+ *
202
+ * @internal
203
+ */
204
+ internalAnalyticsSubdomain?: string;
205
+ /**
206
+ * [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.
207
+ *
208
+ * @internal
209
+ * @defaultValue 5
210
+ */
211
+ telemetryConfigurationSampleRate?: number;
212
+ /**
213
+ * [Internal option] The percentage of telemetry usage sent. A value between 0 and 100.
214
+ *
215
+ * @internal
216
+ * @defaultValue 5
217
+ */
218
+ telemetryUsageSampleRate?: number;
219
+ /**
220
+ * [Internal option] Additional configuration for the SDK.
221
+ *
222
+ * @internal
223
+ */
224
+ source?: 'browser' | 'flutter' | 'unity' | undefined;
225
+ /**
226
+ * [Internal option] Additional configuration for the SDK.
227
+ *
228
+ * @internal
229
+ */
230
+ sdkVersion?: string | undefined;
231
+ /**
232
+ * [Internal option] Additional configuration for the SDK.
233
+ *
234
+ * @internal
235
+ */
236
+ variant?: string | undefined;
237
+ }
238
+ type GenericBeforeSendCallback = (event: any, context?: any) => unknown;
239
+ /**
240
+ * path: /api/vX/product
241
+ * parameters: xxx=yyy&zzz=aaa
242
+ */
243
+ export type ProxyFn = (options: {
244
+ path: string;
245
+ parameters: string;
246
+ }) => string;
247
+ /**
248
+ * @internal
249
+ */
250
+ export interface ReplicaUserConfiguration {
251
+ applicationId?: string;
252
+ clientToken: string;
253
+ }
254
+ export interface Configuration extends TransportConfiguration {
255
+ beforeSend: GenericBeforeSendCallback | undefined;
256
+ sessionStoreStrategyType: SessionStoreStrategyType | undefined;
257
+ sessionSampleRate: number;
258
+ telemetrySampleRate: number;
259
+ telemetryConfigurationSampleRate: number;
260
+ telemetryUsageSampleRate: number;
261
+ service?: string | undefined;
262
+ version?: string | undefined;
263
+ env?: string | undefined;
264
+ silentMultipleInit: boolean;
265
+ allowUntrustedEvents: boolean;
266
+ trackingConsent: TrackingConsent;
267
+ storeContextsAcrossPages: boolean;
268
+ trackAnonymousUser?: boolean;
269
+ eventRateLimiterThreshold: number;
270
+ maxTelemetryEventsPerPage: number;
271
+ batchBytesLimit: number;
272
+ flushTimeout: Duration;
273
+ batchMessagesLimit: number;
274
+ messageBytesLimit: number;
275
+ sdkVersion: string | undefined;
276
+ source: 'browser' | 'flutter' | 'unity';
277
+ variant: string | undefined;
278
+ }
279
+ export declare function isSampleRate(sampleRate: unknown, name: string): boolean;
280
+ export declare function validateAndBuildConfiguration(initConfiguration: InitConfiguration, errorStack?: string): Configuration | undefined;
281
+ export declare function serializeConfiguration(initConfiguration: InitConfiguration): {
282
+ session_sample_rate: number | undefined;
283
+ telemetry_sample_rate: number | undefined;
284
+ telemetry_configuration_sample_rate: number | undefined;
285
+ telemetry_usage_sample_rate: number | undefined;
286
+ use_before_send: boolean;
287
+ use_partitioned_cross_site_session_cookie: boolean | undefined;
288
+ use_secure_session_cookie: boolean | undefined;
289
+ use_proxy: boolean;
290
+ silent_multiple_init: boolean | undefined;
291
+ track_session_across_subdomains: boolean | undefined;
292
+ track_anonymous_user: boolean | undefined;
293
+ session_persistence: SessionPersistence | undefined;
294
+ allow_fallback_to_local_storage: boolean;
295
+ store_contexts_across_pages: boolean;
296
+ allow_untrusted_events: boolean;
297
+ tracking_consent: TrackingConsent | undefined;
298
+ use_allowed_tracking_origins: boolean;
299
+ source: "browser" | "flutter" | "unity" | undefined;
300
+ sdk_version: string | undefined;
301
+ variant: string | undefined;
302
+ };
303
+ export {};
@@ -0,0 +1,146 @@
1
+ import { catchUserErrors } from '../../tools/catchUserErrors';
2
+ import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';
3
+ import { ONE_SECOND } from '../../tools/utils/timeUtils';
4
+ import { isPercentage } from '../../tools/utils/numberUtils';
5
+ import { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';
6
+ import { objectHasValue } from '../../tools/utils/objectUtils';
7
+ import { selectSessionStoreStrategyType } from '../session/sessionStore';
8
+ import { TrackingConsent } from '../trackingConsent';
9
+ import { isAllowedTrackingOrigins } from '../allowedTrackingOrigins';
10
+ import { isWorkerEnvironment } from '../../tools/globalObject';
11
+ import { computeTransportConfiguration } from './transportConfiguration';
12
+ /**
13
+ * Default privacy level for the browser SDK.
14
+ *
15
+ * [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
16
+ */
17
+ export const DefaultPrivacyLevel = {
18
+ ALLOW: 'allow',
19
+ MASK: 'mask',
20
+ MASK_USER_INPUT: 'mask-user-input',
21
+ MASK_UNLESS_ALLOWLISTED: 'mask-unless-allowlisted',
22
+ };
23
+ /**
24
+ * Trace context injection option.
25
+ *
26
+ * See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
27
+ */
28
+ export const TraceContextInjection = {
29
+ ALL: 'all',
30
+ SAMPLED: 'sampled',
31
+ };
32
+ function isString(tag, tagName) {
33
+ if (tag !== undefined && tag !== null && typeof tag !== 'string') {
34
+ display.error(`${tagName} must be defined as a string`);
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ function isDatadogSite(site) {
40
+ if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {
41
+ display.error(`Site should be a valid Datadog site. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/site/.`);
42
+ return false;
43
+ }
44
+ return true;
45
+ }
46
+ export function isSampleRate(sampleRate, name) {
47
+ if (sampleRate !== undefined && !isPercentage(sampleRate)) {
48
+ display.error(`${name} Sample Rate should be a number between 0 and 100`);
49
+ return false;
50
+ }
51
+ return true;
52
+ }
53
+ export function validateAndBuildConfiguration(initConfiguration, errorStack) {
54
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
55
+ if (!initConfiguration || !initConfiguration.clientToken) {
56
+ display.error('Client Token is not configured, we will not send any data.');
57
+ return;
58
+ }
59
+ if (initConfiguration.allowedTrackingOrigins !== undefined &&
60
+ !Array.isArray(initConfiguration.allowedTrackingOrigins)) {
61
+ display.error('Allowed Tracking Origins must be an array');
62
+ return;
63
+ }
64
+ if (!isDatadogSite(initConfiguration.site) ||
65
+ !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||
66
+ !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||
67
+ !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||
68
+ !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||
69
+ !isString(initConfiguration.version, 'Version') ||
70
+ !isString(initConfiguration.env, 'Env') ||
71
+ !isString(initConfiguration.service, 'Service') ||
72
+ !isAllowedTrackingOrigins(initConfiguration, errorStack !== null && errorStack !== void 0 ? errorStack : '')) {
73
+ return;
74
+ }
75
+ if (initConfiguration.trackingConsent !== undefined &&
76
+ !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {
77
+ display.error('Tracking Consent should be either "granted" or "not-granted"');
78
+ return;
79
+ }
80
+ return {
81
+ beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),
82
+ sessionStoreStrategyType: isWorkerEnvironment ? undefined : selectSessionStoreStrategyType(initConfiguration),
83
+ sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,
84
+ telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,
85
+ telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,
86
+ telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,
87
+ service: (_e = initConfiguration.service) !== null && _e !== void 0 ? _e : undefined,
88
+ env: (_f = initConfiguration.env) !== null && _f !== void 0 ? _f : undefined,
89
+ version: (_g = initConfiguration.version) !== null && _g !== void 0 ? _g : undefined,
90
+ datacenter: (_h = initConfiguration.datacenter) !== null && _h !== void 0 ? _h : undefined,
91
+ silentMultipleInit: !!initConfiguration.silentMultipleInit,
92
+ allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
93
+ trackingConsent: (_j = initConfiguration.trackingConsent) !== null && _j !== void 0 ? _j : TrackingConsent.GRANTED,
94
+ trackAnonymousUser: (_k = initConfiguration.trackAnonymousUser) !== null && _k !== void 0 ? _k : true,
95
+ storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
96
+ /**
97
+ * beacon payload max queue size implementation is 64kb
98
+ * ensure that we leave room for logs, rum and potential other users
99
+ */
100
+ batchBytesLimit: 16 * ONE_KIBI_BYTE,
101
+ eventRateLimiterThreshold: 3000,
102
+ maxTelemetryEventsPerPage: 15,
103
+ /**
104
+ * flush automatically, aim to be lower than ALB connection timeout
105
+ * to maximize connection reuse.
106
+ */
107
+ flushTimeout: (30 * ONE_SECOND),
108
+ /**
109
+ * Logs intake limit. When using the SDK in a Worker Environment, we
110
+ * limit the batch size to 1 to ensure it can be sent in a single event.
111
+ */
112
+ batchMessagesLimit: isWorkerEnvironment ? 1 : 50,
113
+ messageBytesLimit: 256 * ONE_KIBI_BYTE,
114
+ /**
115
+ * The source of the SDK, used for support plugins purposes.
116
+ */
117
+ variant: initConfiguration.variant,
118
+ sdkVersion: initConfiguration.sdkVersion,
119
+ ...computeTransportConfiguration(initConfiguration),
120
+ };
121
+ }
122
+ export function serializeConfiguration(initConfiguration) {
123
+ return {
124
+ session_sample_rate: initConfiguration.sessionSampleRate,
125
+ telemetry_sample_rate: initConfiguration.telemetrySampleRate,
126
+ telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,
127
+ telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,
128
+ use_before_send: !!initConfiguration.beforeSend,
129
+ use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,
130
+ use_secure_session_cookie: initConfiguration.useSecureSessionCookie,
131
+ use_proxy: !!initConfiguration.proxy,
132
+ silent_multiple_init: initConfiguration.silentMultipleInit,
133
+ track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
134
+ track_anonymous_user: initConfiguration.trackAnonymousUser,
135
+ session_persistence: initConfiguration.sessionPersistence,
136
+ allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,
137
+ store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
138
+ allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
139
+ tracking_consent: initConfiguration.trackingConsent,
140
+ use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
141
+ source: initConfiguration.source,
142
+ sdk_version: initConfiguration.sdkVersion,
143
+ variant: initConfiguration.variant,
144
+ };
145
+ }
146
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/domain/configuration/configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
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';
5
+ export type EndpointBuilder = ReturnType<typeof createEndpointBuilder>;
6
+ export declare function createEndpointBuilder(initConfiguration: InitConfiguration, trackType: TrackType, extraParameters?: string[]): {
7
+ build(api: ApiType, payload: Payload): string;
8
+ trackType: TrackType;
9
+ };
10
+ export declare function buildEndpointHost(trackType: TrackType, initConfiguration: InitConfiguration & {
11
+ usePciIntake?: boolean;
12
+ }): string;
@@ -0,0 +1,74 @@
1
+ import { timeStampNow } from '../../tools/utils/timeUtils';
2
+ import { normalizeUrl } from '../../tools/utils/urlPolyfill';
3
+ import { generateUUID } from '../../tools/utils/stringUtils';
4
+ import { INTAKE_SITE_FED_STAGING, INTAKE_SITE_US1, PCI_INTAKE_HOST_US1 } from '../intakeSites';
5
+ export function createEndpointBuilder(initConfiguration, trackType, extraParameters) {
6
+ const buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);
7
+ return {
8
+ build(api, payload) {
9
+ const parameters = buildEndpointParameters(initConfiguration, trackType, api, payload, extraParameters);
10
+ return buildUrlWithParameters(parameters);
11
+ },
12
+ trackType,
13
+ };
14
+ }
15
+ /**
16
+ * Create a function used to build a full endpoint url from provided parameters. The goal of this
17
+ * function is to pre-compute some parts of the URL to avoid re-computing everything on every
18
+ * request, as only parameters are changing.
19
+ */
20
+ function createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {
21
+ const path = `/api/v2/${trackType}`;
22
+ const proxy = initConfiguration.proxy;
23
+ if (typeof proxy === 'string') {
24
+ const normalizedProxyUrl = normalizeUrl(proxy);
25
+ return (parameters) => `${normalizedProxyUrl}?ddforward=${encodeURIComponent(`${path}?${parameters}`)}`;
26
+ }
27
+ if (typeof proxy === 'function') {
28
+ return (parameters) => proxy({ path, parameters });
29
+ }
30
+ const host = buildEndpointHost(trackType, initConfiguration);
31
+ return (parameters) => `https://${host}${path}?${parameters}`;
32
+ }
33
+ export function buildEndpointHost(trackType, initConfiguration) {
34
+ const { site = INTAKE_SITE_US1, internalAnalyticsSubdomain } = initConfiguration;
35
+ if (trackType === 'logs' && initConfiguration.usePciIntake && site === INTAKE_SITE_US1) {
36
+ return PCI_INTAKE_HOST_US1;
37
+ }
38
+ if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {
39
+ return `${internalAnalyticsSubdomain}.${INTAKE_SITE_US1}`;
40
+ }
41
+ if (site === INTAKE_SITE_FED_STAGING) {
42
+ return `http-intake.logs.${site}`;
43
+ }
44
+ const domainParts = site.split('.');
45
+ const extension = domainParts.pop();
46
+ return `browser-intake-${domainParts.join('-')}.${extension}`;
47
+ }
48
+ /**
49
+ * Build parameters to be used for an intake request. Parameters should be re-built for each
50
+ * request, as they change randomly.
51
+ */
52
+ function buildEndpointParameters({ clientToken, internalAnalyticsSubdomain, source = 'browser' }, trackType, api, { retry, encoding }, extraParameters = []) {
53
+ const parameters = [
54
+ `ddsource=${source}`,
55
+ `dd-api-key=${clientToken}`,
56
+ `dd-evp-origin-version=${encodeURIComponent("dev")}`,
57
+ 'dd-evp-origin=browser',
58
+ `dd-request-id=${generateUUID()}`,
59
+ ].concat(extraParameters);
60
+ if (encoding) {
61
+ parameters.push(`dd-evp-encoding=${encoding}`);
62
+ }
63
+ if (trackType === 'rum') {
64
+ parameters.push(`batch_time=${timeStampNow()}`, `_dd.api=${api}`);
65
+ if (retry) {
66
+ parameters.push(`_dd.retry_count=${retry.count}`, `_dd.retry_after=${retry.lastFailureStatus}`);
67
+ }
68
+ }
69
+ if (internalAnalyticsSubdomain) {
70
+ parameters.reverse();
71
+ }
72
+ return parameters.join('&');
73
+ }
74
+ //# sourceMappingURL=endpointBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpointBuilder.js","sourceRoot":"","sources":["../../../src/domain/configuration/endpointBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type { Configuration, InitConfiguration, ProxyFn } from './configuration';
2
+ export { DefaultPrivacyLevel, TraceContextInjection, isSampleRate, validateAndBuildConfiguration, serializeConfiguration, } from './configuration';
3
+ export type { EndpointBuilder, TrackType } from './endpointBuilder';
4
+ export { createEndpointBuilder, buildEndpointHost } from './endpointBuilder';
5
+ export { computeTransportConfiguration, isIntakeUrl } from './transportConfiguration';
@@ -0,0 +1,4 @@
1
+ export { DefaultPrivacyLevel, TraceContextInjection, isSampleRate, validateAndBuildConfiguration, serializeConfiguration, } from './configuration';
2
+ export { createEndpointBuilder, buildEndpointHost } from './endpointBuilder';
3
+ export { computeTransportConfiguration, isIntakeUrl } from './transportConfiguration';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/configuration/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { Site } from '../intakeSites';
2
+ import type { InitConfiguration } from './configuration';
3
+ import type { EndpointBuilder } from './endpointBuilder';
4
+ export interface TransportConfiguration {
5
+ logsEndpointBuilder: EndpointBuilder;
6
+ rumEndpointBuilder: EndpointBuilder;
7
+ sessionReplayEndpointBuilder: EndpointBuilder;
8
+ profilingEndpointBuilder: EndpointBuilder;
9
+ exposuresEndpointBuilder: EndpointBuilder;
10
+ datacenter?: string | undefined;
11
+ replica?: ReplicaConfiguration;
12
+ site: Site;
13
+ source: 'browser' | 'flutter' | 'unity';
14
+ }
15
+ export interface ReplicaConfiguration {
16
+ logsEndpointBuilder: EndpointBuilder;
17
+ rumEndpointBuilder: EndpointBuilder;
18
+ }
19
+ export declare function computeTransportConfiguration(initConfiguration: InitConfiguration): TransportConfiguration;
20
+ export declare function isIntakeUrl(url: string): boolean;
@@ -0,0 +1,50 @@
1
+ import { INTAKE_SITE_US1, INTAKE_URL_PARAMETERS } from '../intakeSites';
2
+ import { createEndpointBuilder } from './endpointBuilder';
3
+ export function computeTransportConfiguration(initConfiguration) {
4
+ const site = initConfiguration.site || INTAKE_SITE_US1;
5
+ const source = validateSource(initConfiguration.source);
6
+ const endpointBuilders = computeEndpointBuilders({ ...initConfiguration, site, source });
7
+ const replicaConfiguration = computeReplicaConfiguration({ ...initConfiguration, site, source });
8
+ return {
9
+ replica: replicaConfiguration,
10
+ site,
11
+ source,
12
+ ...endpointBuilders,
13
+ };
14
+ }
15
+ function validateSource(source) {
16
+ if (source === 'flutter' || source === 'unity') {
17
+ return source;
18
+ }
19
+ return 'browser';
20
+ }
21
+ function computeEndpointBuilders(initConfiguration) {
22
+ return {
23
+ logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs'),
24
+ rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum'),
25
+ profilingEndpointBuilder: createEndpointBuilder(initConfiguration, 'profile'),
26
+ sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay'),
27
+ exposuresEndpointBuilder: createEndpointBuilder(initConfiguration, 'exposures'),
28
+ };
29
+ }
30
+ function computeReplicaConfiguration(initConfiguration) {
31
+ if (!initConfiguration.replica) {
32
+ return;
33
+ }
34
+ const replicaConfiguration = {
35
+ ...initConfiguration,
36
+ site: INTAKE_SITE_US1,
37
+ clientToken: initConfiguration.replica.clientToken,
38
+ };
39
+ return {
40
+ logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs'),
41
+ rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', [
42
+ `application.id=${initConfiguration.replica.applicationId}`,
43
+ ]),
44
+ };
45
+ }
46
+ export function isIntakeUrl(url) {
47
+ // check if tags is present in the query string
48
+ return INTAKE_URL_PARAMETERS.every((param) => url.includes(param));
49
+ }
50
+ //# sourceMappingURL=transportConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transportConfiguration.js","sourceRoot":"","sources":["../../../src/domain/configuration/transportConfiguration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAmBzD,MAAM,UAAU,6BAA6B,CAAC,iBAAoC;IAChF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,IAAI,eAAe,CAAA;IACtD,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEvD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACxF,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,EAAE,GAAG,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhG,OAAO;QACL,OAAO,EAAE,oBAAoB;QAC7B,IAAI;QACJ,MAAM;QACN,GAAG,gBAAgB;KACpB,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAA0B;IAChD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,iBAAoC;IACnE,OAAO;QACL,mBAAmB,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACrE,kBAAkB,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,KAAK,CAAC;QACnE,wBAAwB,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC;QAC7E,4BAA4B,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,QAAQ,CAAC;QAChF,wBAAwB,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,WAAW,CAAC;KAChF,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,iBAAoC;IACvE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAM;IACR,CAAC;IAED,MAAM,oBAAoB,GAAsB;QAC9C,GAAG,iBAAiB;QACpB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW;KACnD,CAAA;IAED,OAAO;QACL,mBAAmB,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,CAAC;QACxE,kBAAkB,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,EAAE;YACrE,kBAAkB,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE;SAC5D,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,+CAA+C;IAC/C,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AACpE,CAAC"}
@@ -0,0 +1,14 @@
1
+ export type NetworkInterface = 'bluetooth' | 'cellular' | 'ethernet' | 'none' | 'wifi' | 'wimax' | 'other' | 'unknown';
2
+ export type EffectiveType = 'slow-2g' | '2g' | '3g' | '4g';
3
+ export interface NetworkInformation {
4
+ type?: NetworkInterface;
5
+ effectiveType?: EffectiveType;
6
+ saveData: boolean;
7
+ }
8
+ export interface Connectivity {
9
+ status: 'connected' | 'not_connected';
10
+ interfaces?: NetworkInterface[];
11
+ effective_type?: EffectiveType;
12
+ [key: string]: unknown;
13
+ }
14
+ export declare function getConnectivity(): Connectivity;