@kubesense/kubesense-browser-core 1.7.0 → 2.0.0-beta.0

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