@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
@@ -0,0 +1,28 @@
1
+ const require_stringUtils = require("../../tools/utils/stringUtils.js");
2
+ //#region src/domain/contexts/tabContext.ts
3
+ const TAB_ID_STORAGE_KEY = "_kubesense_tab_id";
4
+ let cachedTabId;
5
+ function startTabContext(assembleHook) {
6
+ const tabId = retrieveOrCreateTabId();
7
+ assembleHook.register(() => ({ tab: { id: tabId } }));
8
+ }
9
+ function retrieveOrCreateTabId() {
10
+ if (!cachedTabId) cachedTabId = getOrCreateIdInSessionStorage() ?? require_stringUtils.generateUUID();
11
+ return cachedTabId;
12
+ }
13
+ function getOrCreateIdInSessionStorage() {
14
+ try {
15
+ const existingId = sessionStorage.getItem(TAB_ID_STORAGE_KEY);
16
+ if (existingId) return existingId;
17
+ const newId = require_stringUtils.generateUUID();
18
+ sessionStorage.setItem(TAB_ID_STORAGE_KEY, newId);
19
+ return newId;
20
+ } catch {
21
+ return;
22
+ }
23
+ }
24
+ //#endregion
25
+ exports.TAB_ID_STORAGE_KEY = TAB_ID_STORAGE_KEY;
26
+ exports.startTabContext = startTabContext;
27
+
28
+ //# sourceMappingURL=tabContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabContext.js","names":["generateUUID"],"sources":["../../../src/domain/contexts/tabContext.ts"],"sourcesContent":["import type { Hook } from '@kubesense/kubesense-js-core/assembly'\nimport { generateUUID } from '../../tools/utils/stringUtils'\n\nexport const TAB_ID_STORAGE_KEY = '_kubesense_tab_id'\n\nlet cachedTabId: string | undefined\n\n// Exported for test cleanup only — allows specs to reset the in-memory cache between tests.\nexport function resetCachedTabId(): void {\n cachedTabId = undefined\n}\n\nexport function startTabContext(assembleHook: Hook<any, any>) {\n const tabId = retrieveOrCreateTabId()\n\n assembleHook.register(() => ({\n tab: {\n id: tabId,\n },\n }))\n}\n\nfunction retrieveOrCreateTabId(): string {\n if (!cachedTabId) {\n cachedTabId = getOrCreateIdInSessionStorage() ?? generateUUID()\n }\n return cachedTabId\n}\n\nfunction getOrCreateIdInSessionStorage(): string | undefined {\n try {\n const existingId = sessionStorage.getItem(TAB_ID_STORAGE_KEY)\n if (existingId) {\n return existingId\n }\n const newId = generateUUID()\n sessionStorage.setItem(TAB_ID_STORAGE_KEY, newId)\n return newId\n } catch {\n // sessionStorage unavailable (e.g. Web Worker, sandboxed iframe, quota exceeded)\n return undefined\n }\n}\n"],"mappings":";;AAGA,MAAa,qBAAqB;AAElC,IAAI;AAOJ,SAAgB,gBAAgB,cAA8B;CAC5D,MAAM,QAAQ,sBAAsB;CAEpC,aAAa,gBAAgB,EAC3B,KAAK,EACH,IAAI,MACN,EACF,EAAE;AACJ;AAEA,SAAS,wBAAgC;CACvC,IAAI,CAAC,aACH,cAAc,8BAA8B,KAAKA,oBAAAA,aAAa;CAEhE,OAAO;AACT;AAEA,SAAS,gCAAoD;CAC3D,IAAI;EACF,MAAM,aAAa,eAAe,QAAQ,kBAAkB;EAC5D,IAAI,YACF,OAAO;EAET,MAAM,QAAQA,oBAAAA,aAAa;EAC3B,eAAe,QAAQ,oBAAoB,KAAK;EAChD,OAAO;CACT,QAAQ;EAEN;CACF;AACF"}
@@ -0,0 +1,4 @@
1
+ import type { Hook } from '@kubesense/kubesense-js-core/assembly';
2
+ import type { SessionManager } from '../session/sessionManager';
3
+ import type { Context } from '../../tools/serialisation/context';
4
+ export declare function startTelemetrySessionContext(assembleTelemetryHook: Hook<any, any>, sessionManager: SessionManager, extraContext?: Context): void;
@@ -0,0 +1,17 @@
1
+ let _kubesense_kubesense_js_core_assembly = require("@kubesense/kubesense-js-core/assembly");
2
+ //#region src/domain/contexts/telemetrySessionContext.ts
3
+ function startTelemetrySessionContext(assembleTelemetryHook, sessionManager, extraContext) {
4
+ assembleTelemetryHook.register(({ startTime }) => {
5
+ const session = sessionManager.findTrackedSession(startTime);
6
+ if (!session) return _kubesense_kubesense_js_core_assembly.SKIPPED;
7
+ return {
8
+ session: { id: session.id },
9
+ anonymous_id: session.anonymousId,
10
+ ...extraContext
11
+ };
12
+ });
13
+ }
14
+ //#endregion
15
+ exports.startTelemetrySessionContext = startTelemetrySessionContext;
16
+
17
+ //# sourceMappingURL=telemetrySessionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetrySessionContext.js","names":["SKIPPED"],"sources":["../../../src/domain/contexts/telemetrySessionContext.ts"],"sourcesContent":["import type { Hook } from '@kubesense/kubesense-js-core/assembly'\nimport { SKIPPED } from '@kubesense/kubesense-js-core/assembly'\nimport type { SessionManager } from '../session/sessionManager'\nimport type { Context } from '../../tools/serialisation/context'\n\nexport function startTelemetrySessionContext(\n assembleTelemetryHook: Hook<any, any>,\n sessionManager: SessionManager,\n extraContext?: Context\n) {\n assembleTelemetryHook.register(({ startTime }) => {\n const session = sessionManager.findTrackedSession(startTime)\n\n if (!session) {\n return SKIPPED\n }\n\n return {\n session: {\n id: session.id,\n },\n anonymous_id: session.anonymousId,\n ...extraContext,\n }\n })\n}\n"],"mappings":";;AAKA,SAAgB,6BACd,uBACA,gBACA,cACA;CACA,sBAAsB,UAAU,EAAE,gBAAgB;EAChD,MAAM,UAAU,eAAe,mBAAmB,SAAS;EAE3D,IAAI,CAAC,SACH,OAAOA,sCAAAA;EAGT,OAAO;GACL,SAAS,EACP,IAAI,QAAQ,GACd;GACA,cAAc,QAAQ;GACtB,GAAG;EACL;CACF,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
- import type { AbstractHooks } from '../../tools/abstractHooks';
1
+ import type { RelativeTime } from '@kubesense/kubesense-js-core/time';
2
+ import type { Hook } from '@kubesense/kubesense-js-core/assembly';
2
3
  import type { Configuration } from '../configuration';
3
- import type { RelativeTime } from '../../tools/utils/timeUtils';
4
4
  import type { Context } from '../../tools/serialisation/context';
5
5
  export interface User {
6
6
  id?: string | undefined;
@@ -9,7 +9,12 @@ export interface User {
9
9
  mobile?: string | undefined;
10
10
  [key: string]: unknown;
11
11
  }
12
- export declare function startUserContext(hooks: AbstractHooks, configuration: Configuration, sessionManager: {
12
+ export declare function startUserContext(hook: Hook<{
13
+ eventType?: string;
14
+ startTime: RelativeTime;
15
+ }, {
16
+ usr?: User;
17
+ }>, configuration: Configuration, sessionManager: {
13
18
  findTrackedSession: (startTime?: RelativeTime) => {
14
19
  anonymousId?: string;
15
20
  } | undefined;
@@ -1,124 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startUserContext = startUserContext;
4
- exports.buildUserContextManager = buildUserContextManager;
5
- const storeContextManager_1 = require("../context/storeContextManager");
6
- const abstractHooks_1 = require("../../tools/abstractHooks");
7
- const contextManager_1 = require("../context/contextManager");
8
- const objectUtils_1 = require("../../tools/utils/objectUtils");
9
- const timeUtils_1 = require("../../tools/utils/timeUtils");
10
- const valueHistory_1 = require("../../tools/valueHistory");
11
- const mergeInto_1 = require("../../tools/mergeInto");
12
- const sessionConstants_1 = require("../session/sessionConstants");
13
- const SESSION_OWNER_STORAGE_PREFIX = '_kubesense_session_user';
1
+ const require_objectUtils = require("../../tools/utils/objectUtils.js");
2
+ const require_jsonStringify = require("../../tools/serialisation/jsonStringify.js");
3
+ const require_valueHistory = require("../../tools/valueHistory.js");
4
+ const require_sessionConstants = require("../session/sessionConstants.js");
5
+ const require_contextManager = require("../context/contextManager.js");
6
+ const require_storeContextManager = require("../context/storeContextManager.js");
7
+ require("../context/contextConstants.js");
8
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
9
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
10
+ let _kubesense_kubesense_js_core_assembly = require("@kubesense/kubesense-js-core/assembly");
11
+ //#region src/domain/contexts/userContext.ts
12
+ const SESSION_OWNER_STORAGE_PREFIX = "_kubesense_session_user";
13
+ /**
14
+ * The user id is sanitized to a string by the context manager, but `getContext()` is typed as
15
+ * `Context`, so non-string values are normalized here rather than stringified blindly.
16
+ */
17
+ function toUserIdString(userId) {
18
+ return typeof userId === "string" ? userId : userId === void 0 ? void 0 : require_jsonStringify.jsonStringify(userId);
19
+ }
14
20
  function getSessionOwnerKey(productKey) {
15
- return `${SESSION_OWNER_STORAGE_PREFIX}_${productKey}`;
21
+ return `${SESSION_OWNER_STORAGE_PREFIX}_${productKey}`;
16
22
  }
17
23
  function readSessionOwnerUserId(productKey) {
18
- try {
19
- return localStorage.getItem(getSessionOwnerKey(productKey)) || undefined;
20
- }
21
- catch (_a) {
22
- return undefined;
23
- }
24
+ try {
25
+ return localStorage.getItem(getSessionOwnerKey(productKey)) || void 0;
26
+ } catch {
27
+ return;
28
+ }
24
29
  }
25
30
  function writeSessionOwnerUserId(productKey, userId) {
26
- try {
27
- const key = getSessionOwnerKey(productKey);
28
- if (userId) {
29
- localStorage.setItem(key, userId);
30
- }
31
- else {
32
- localStorage.removeItem(key);
33
- }
34
- }
35
- catch (_a) {
36
- // localStorage may be unavailable (private mode, quota); silently skip
37
- }
31
+ try {
32
+ const key = getSessionOwnerKey(productKey);
33
+ if (userId) localStorage.setItem(key, userId);
34
+ else localStorage.removeItem(key);
35
+ } catch {}
38
36
  }
39
- function startUserContext(hooks, configuration, sessionManager, productKey) {
40
- const userContextManager = buildUserContextManager();
41
- if (configuration.storeContextsAcrossPages) {
42
- (0, storeContextManager_1.storeContextManager)(configuration, userContextManager, productKey, 1 /* CustomerDataType.User */);
43
- }
44
- // Expire the session when the user identity changes so that the new user
45
- // gets a fresh session and their events are not attributed to the previous user's session.
46
- if (sessionManager.expire) {
47
- // Cross-page check: when the page reloads while the session cookie is still
48
- // valid but the active user has changed (e.g. logout/login between loads),
49
- // changeObservable won't fire because the loaded user equals the "previous"
50
- // user. Compare the persisted session owner against the current user and
51
- // expire on mismatch before any events get assembled with a stale session id.
52
- const initialUserId = userContextManager.getContext().id;
53
- const sessionOwnerUserId = readSessionOwnerUserId(productKey);
54
- const initialUserIdString = initialUserId !== undefined ? String(initialUserId) : undefined;
55
- if (sessionOwnerUserId !== undefined &&
56
- initialUserIdString !== undefined &&
57
- sessionOwnerUserId !== initialUserIdString) {
58
- sessionManager.expire();
59
- }
60
- writeSessionOwnerUserId(productKey, initialUserIdString !== null && initialUserIdString !== void 0 ? initialUserIdString : sessionOwnerUserId);
61
- // Seed previousUserId from the owner when current is undefined, so an
62
- // app calling setUser(sameOwner) post-load doesn't trigger a spurious expire.
63
- let previousUserId = initialUserIdString !== null && initialUserIdString !== void 0 ? initialUserIdString : sessionOwnerUserId;
64
- userContextManager.changeObservable.subscribe(() => {
65
- const rawCurrentUserId = userContextManager.getContext().id;
66
- const currentUserId = rawCurrentUserId !== undefined ? String(rawCurrentUserId) : undefined;
67
- if (currentUserId !== previousUserId) {
68
- sessionManager.expire();
69
- writeSessionOwnerUserId(productKey, currentUserId);
70
- }
71
- previousUserId = currentUserId;
72
- });
73
- }
74
- // Track user context over time so events get attributed to the user that was
75
- // active at the event's startTime, not at assembly time. Without this, a view
76
- // that started under user A but is assembled after setUser(B) would be tagged
77
- // with user B while its session.id still resolves to A's session — producing
78
- // a mismatched (session_id, user_id) row downstream.
79
- const userContextHistory = (0, valueHistory_1.createValueHistory)({
80
- expireDelay: sessionConstants_1.SESSION_TIME_OUT_DELAY,
81
- });
82
- userContextHistory.add(userContextManager.getContext(), (0, timeUtils_1.clocksOrigin)().relative);
83
- userContextManager.changeObservable.subscribe(() => {
84
- const now = (0, timeUtils_1.relativeNow)();
85
- userContextHistory.closeActive(now);
86
- userContextHistory.add(userContextManager.getContext(), now);
87
- });
88
- hooks.register(0 /* HookNames.Assemble */, ({ eventType, startTime }) => {
89
- const historicalUser = userContextHistory.find(startTime);
90
- const user = historicalUser ? (0, mergeInto_1.deepClone)(historicalUser) : userContextManager.getContext();
91
- const session = sessionManager.findTrackedSession(startTime);
92
- if (session && session.anonymousId && !user.anonymous_id && !!configuration.trackAnonymousUser) {
93
- user.anonymous_id = session.anonymousId;
94
- }
95
- if ((0, objectUtils_1.isEmptyObject)(user)) {
96
- return abstractHooks_1.SKIPPED;
97
- }
98
- return {
99
- type: eventType,
100
- usr: user,
101
- };
102
- });
103
- hooks.register(1 /* HookNames.AssembleTelemetry */, ({ startTime }) => {
104
- var _a;
105
- return ({
106
- anonymous_id: (_a = sessionManager.findTrackedSession(startTime)) === null || _a === void 0 ? void 0 : _a.anonymousId,
107
- });
108
- });
109
- return userContextManager;
37
+ function startUserContext(hook, configuration, sessionManager, productKey) {
38
+ const userContextManager = buildUserContextManager();
39
+ if (configuration.storeContextsAcrossPages) require_storeContextManager.storeContextManager(userContextManager, productKey, 1);
40
+ if (sessionManager.expire) {
41
+ const initialUserId = userContextManager.getContext().id;
42
+ const sessionOwnerUserId = readSessionOwnerUserId(productKey);
43
+ const initialUserIdString = toUserIdString(initialUserId);
44
+ if (sessionOwnerUserId !== void 0 && initialUserIdString !== void 0 && sessionOwnerUserId !== initialUserIdString) sessionManager.expire();
45
+ writeSessionOwnerUserId(productKey, initialUserIdString ?? sessionOwnerUserId);
46
+ let previousUserId = initialUserIdString ?? sessionOwnerUserId;
47
+ userContextManager.changeObservable.subscribe(() => {
48
+ const rawCurrentUserId = userContextManager.getContext().id;
49
+ const currentUserId = toUserIdString(rawCurrentUserId);
50
+ if (currentUserId !== previousUserId) {
51
+ sessionManager.expire();
52
+ writeSessionOwnerUserId(productKey, currentUserId);
53
+ }
54
+ previousUserId = currentUserId;
55
+ });
56
+ }
57
+ const userContextHistory = require_valueHistory.createValueHistory({ expireDelay: require_sessionConstants.SESSION_TIME_OUT_DELAY });
58
+ userContextHistory.add(userContextManager.getContext(), (0, _kubesense_kubesense_js_core_time.clocksOrigin)().relative);
59
+ userContextManager.changeObservable.subscribe(() => {
60
+ const now = (0, _kubesense_kubesense_js_core_time.relativeNow)();
61
+ userContextHistory.closeActive(now);
62
+ userContextHistory.add(userContextManager.getContext(), now);
63
+ });
64
+ hook.register(({ eventType, startTime }) => {
65
+ const historicalUser = userContextHistory.find(startTime);
66
+ const user = historicalUser ? (0, _kubesense_kubesense_js_core_util.deepClone)(historicalUser) : userContextManager.getContext();
67
+ const session = sessionManager.findTrackedSession(startTime);
68
+ if (session?.anonymousId && !user.anonymous_id && !!configuration.trackAnonymousUser) user.anonymous_id = session.anonymousId;
69
+ if (require_objectUtils.isEmptyObject(user)) return _kubesense_kubesense_js_core_assembly.SKIPPED;
70
+ return {
71
+ type: eventType,
72
+ usr: user
73
+ };
74
+ });
75
+ return userContextManager;
110
76
  }
111
77
  function buildUserContextManager() {
112
- return (0, contextManager_1.createContextManager)('user', {
113
- propertiesConfig: {
114
- id: { type: 'string' },
115
- name: { type: 'string' },
116
- email: { type: 'string' },
117
- // Coerced to string like the other identity fields: phone numbers are
118
- // routinely passed as JS numbers, and the collector unmarshals
119
- // usr.mobile into a string column.
120
- mobile: { type: 'string' },
121
- },
122
- });
78
+ return require_contextManager.createContextManager("user", { propertiesConfig: {
79
+ id: { type: "string" },
80
+ name: { type: "string" },
81
+ email: { type: "string" },
82
+ mobile: { type: "string" }
83
+ } });
123
84
  }
85
+ //#endregion
86
+ exports.buildUserContextManager = buildUserContextManager;
87
+ exports.startUserContext = startUserContext;
88
+
124
89
  //# sourceMappingURL=userContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"userContext.js","sourceRoot":"","sources":["../../../src/domain/contexts/userContext.ts"],"names":[],"mappings":";;AAiDA,4CAyFC;AAED,0DAYC;AAtJD,wEAAoE;AACpE,6DAA8D;AAC9D,8DAAgE;AAEhE,+DAA6D;AAE7D,2DAAuE;AACvE,2DAA6D;AAC7D,qDAAiD;AAEjD,kEAAoE;AAUpE,MAAM,4BAA4B,GAAG,yBAAyB,CAAA;AAE9D,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,OAAO,GAAG,4BAA4B,IAAI,UAAU,EAAE,CAAA;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,SAAS,CAAA;IAC1E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB,EAAE,MAA0B;IAC7E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,WAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAC9B,KAAoB,EACpB,aAA4B,EAC5B,cAGC,EACD,UAAkB;IAElB,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAA;IAEpD,IAAI,aAAa,CAAC,wBAAwB,EAAE,CAAC;QAC3C,IAAA,yCAAmB,EAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,gCAAwB,CAAA;IAC3F,CAAC;IAED,yEAAyE;IACzE,2FAA2F;IAC3F,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,8EAA8E;QAC9E,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAA;QACxD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAC7D,MAAM,mBAAmB,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE3F,IACE,kBAAkB,KAAK,SAAS;YAChC,mBAAmB,KAAK,SAAS;YACjC,kBAAkB,KAAK,mBAAmB,EAC1C,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;QACD,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,kBAAkB,CAAC,CAAA;QAE9E,sEAAsE;QACtE,8EAA8E;QAC9E,IAAI,cAAc,GAAuB,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,kBAAkB,CAAA;QAClF,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE;YACjD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAA;YAC3D,MAAM,aAAa,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3F,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;gBACrC,cAAc,CAAC,MAAO,EAAE,CAAA;gBACxB,uBAAuB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;YACpD,CAAC;YACD,cAAc,GAAG,aAAa,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,IAAA,iCAAkB,EAAU;QACrD,WAAW,EAAE,yCAAsB;KACpC,CAAC,CAAA;IACF,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,IAAA,wBAAY,GAAE,CAAC,QAAQ,CAAC,CAAA;IAChF,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,IAAA,uBAAW,GAAE,CAAA;QACzB,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACnC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,QAAQ,6BAAqB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QAC9D,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAA;QACzF,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAE5D,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAC/F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;QACzC,CAAC;QAED,IAAI,IAAA,2BAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,uBAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,IAAI;SACV,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,QAAQ,sCAA8B,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;;QAAC,OAAA,CAAC;YAC9D,YAAY,EAAE,MAAA,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,0CAAE,WAAW;SACxE,CAAC,CAAA;KAAA,CAAC,CAAA;IAEH,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,SAAgB,uBAAuB;IACrC,OAAO,IAAA,qCAAoB,EAAC,MAAM,EAAE;QAClC,gBAAgB,EAAE;YAChB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,sEAAsE;YACtE,+DAA+D;YAC/D,mCAAmC;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"userContext.js","names":["jsonStringify","createValueHistory","SESSION_TIME_OUT_DELAY","clocksOrigin","relativeNow","deepClone","isEmptyObject","SKIPPED","createContextManager"],"sources":["../../../src/domain/contexts/userContext.ts"],"sourcesContent":["import type { RelativeTime } from '@kubesense/kubesense-js-core/time'\nimport { clocksOrigin, relativeNow } from '@kubesense/kubesense-js-core/time'\nimport type { Hook } from '@kubesense/kubesense-js-core/assembly'\nimport { SKIPPED } from '@kubesense/kubesense-js-core/assembly'\nimport { deepClone } from '@kubesense/kubesense-js-core/util'\nimport { CustomerDataType } from '../context/contextConstants'\nimport { storeContextManager } from '../context/storeContextManager'\nimport { createContextManager } from '../context/contextManager'\nimport type { Configuration } from '../configuration'\nimport { isEmptyObject } from '../../tools/utils/objectUtils'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport type { Context } from '../../tools/serialisation/context'\nimport { createValueHistory } from '../../tools/valueHistory'\nimport { SESSION_TIME_OUT_DELAY } from '../session/sessionConstants'\n\nexport interface User {\n id?: string | undefined\n email?: string | undefined\n name?: string | undefined\n mobile?: string | undefined\n [key: string]: unknown\n}\n\nconst SESSION_OWNER_STORAGE_PREFIX = '_kubesense_session_user'\n\n/**\n * The user id is sanitized to a string by the context manager, but `getContext()` is typed as\n * `Context`, so non-string values are normalized here rather than stringified blindly.\n */\nfunction toUserIdString(userId: unknown): string | undefined {\n return typeof userId === 'string' ? userId : userId === undefined ? undefined : jsonStringify(userId)\n}\n\nfunction getSessionOwnerKey(productKey: string) {\n return `${SESSION_OWNER_STORAGE_PREFIX}_${productKey}`\n}\n\nfunction readSessionOwnerUserId(productKey: string): string | undefined {\n try {\n return localStorage.getItem(getSessionOwnerKey(productKey)) || undefined\n } catch {\n return undefined\n }\n}\n\nfunction writeSessionOwnerUserId(productKey: string, userId: string | undefined) {\n try {\n const key = getSessionOwnerKey(productKey)\n if (userId) {\n localStorage.setItem(key, userId)\n } else {\n localStorage.removeItem(key)\n }\n } catch {\n // localStorage may be unavailable (private mode, quota); silently skip\n }\n}\n\nexport function startUserContext(\n hook: Hook<{ eventType?: string; startTime: RelativeTime }, { usr?: User }>,\n configuration: Configuration,\n sessionManager: {\n findTrackedSession: (startTime?: RelativeTime) => { anonymousId?: string } | undefined\n expire?: () => void\n },\n productKey: string\n) {\n const userContextManager = buildUserContextManager()\n\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(userContextManager, productKey, CustomerDataType.User)\n }\n\n // Expire the session when the user identity changes so that the new user\n // gets a fresh session and their events are not attributed to the previous user's session.\n if (sessionManager.expire) {\n // Cross-page check: when the page reloads while the session cookie is still\n // valid but the active user has changed (e.g. logout/login between loads),\n // changeObservable won't fire because the loaded user equals the \"previous\"\n // user. Compare the persisted session owner against the current user and\n // expire on mismatch before any events get assembled with a stale session id.\n const initialUserId = userContextManager.getContext().id\n const sessionOwnerUserId = readSessionOwnerUserId(productKey)\n const initialUserIdString = toUserIdString(initialUserId)\n\n if (\n sessionOwnerUserId !== undefined &&\n initialUserIdString !== undefined &&\n sessionOwnerUserId !== initialUserIdString\n ) {\n sessionManager.expire()\n }\n writeSessionOwnerUserId(productKey, initialUserIdString ?? sessionOwnerUserId)\n\n // Seed previousUserId from the owner when current is undefined, so an\n // app calling setUser(sameOwner) post-load doesn't trigger a spurious expire.\n let previousUserId: string | undefined = initialUserIdString ?? sessionOwnerUserId\n userContextManager.changeObservable.subscribe(() => {\n const rawCurrentUserId = userContextManager.getContext().id\n const currentUserId = toUserIdString(rawCurrentUserId)\n if (currentUserId !== previousUserId) {\n sessionManager.expire!()\n writeSessionOwnerUserId(productKey, currentUserId)\n }\n previousUserId = currentUserId\n })\n }\n\n // Track user context over time so events get attributed to the user that was\n // active at the event's startTime, not at assembly time. Without this, a view\n // that started under user A but is assembled after setUser(B) would be tagged\n // with user B while its session.id still resolves to A's session — producing\n // a mismatched (session_id, user_id) row downstream.\n const userContextHistory = createValueHistory<Context>({\n expireDelay: SESSION_TIME_OUT_DELAY,\n })\n userContextHistory.add(userContextManager.getContext(), clocksOrigin().relative)\n userContextManager.changeObservable.subscribe(() => {\n const now = relativeNow()\n userContextHistory.closeActive(now)\n userContextHistory.add(userContextManager.getContext(), now)\n })\n\n hook.register(({ eventType, startTime }) => {\n const historicalUser = userContextHistory.find(startTime)\n const user = historicalUser ? deepClone(historicalUser) : userContextManager.getContext()\n const session = sessionManager.findTrackedSession(startTime)\n\n if (session?.anonymousId && !user.anonymous_id && !!configuration.trackAnonymousUser) {\n user.anonymous_id = session.anonymousId\n }\n\n if (isEmptyObject(user)) {\n return SKIPPED\n }\n\n return {\n type: eventType,\n usr: user,\n }\n })\n\n return userContextManager\n}\n\nexport function buildUserContextManager() {\n return createContextManager('user', {\n propertiesConfig: {\n id: { type: 'string' },\n name: { type: 'string' },\n email: { type: 'string' },\n // Coerced to string like the other identity fields: phone numbers are\n // routinely passed as JS numbers, and the collector unmarshals\n // usr.mobile into a string column.\n mobile: { type: 'string' },\n },\n })\n}\n"],"mappings":";;;;;;;;;;;AAuBA,MAAM,+BAA+B;;;;;AAMrC,SAAS,eAAe,QAAqC;CAC3D,OAAO,OAAO,WAAW,WAAW,SAAS,WAAW,KAAA,IAAY,KAAA,IAAYA,sBAAAA,cAAc,MAAM;AACtG;AAEA,SAAS,mBAAmB,YAAoB;CAC9C,OAAO,GAAG,6BAA6B,GAAG;AAC5C;AAEA,SAAS,uBAAuB,YAAwC;CACtE,IAAI;EACF,OAAO,aAAa,QAAQ,mBAAmB,UAAU,CAAC,KAAK,KAAA;CACjE,QAAQ;EACN;CACF;AACF;AAEA,SAAS,wBAAwB,YAAoB,QAA4B;CAC/E,IAAI;EACF,MAAM,MAAM,mBAAmB,UAAU;EACzC,IAAI,QACF,aAAa,QAAQ,KAAK,MAAM;OAEhC,aAAa,WAAW,GAAG;CAE/B,QAAQ,CAER;AACF;AAEA,SAAgB,iBACd,MACA,eACA,gBAIA,YACA;CACA,MAAM,qBAAqB,wBAAwB;CAEnD,IAAI,cAAc,0BAChB,4BAAA,oBAAoB,oBAAoB,YAAA,CAAiC;CAK3E,IAAI,eAAe,QAAQ;EAMzB,MAAM,gBAAgB,mBAAmB,WAAW,CAAC,CAAC;EACtD,MAAM,qBAAqB,uBAAuB,UAAU;EAC5D,MAAM,sBAAsB,eAAe,aAAa;EAExD,IACE,uBAAuB,KAAA,KACvB,wBAAwB,KAAA,KACxB,uBAAuB,qBAEvB,eAAe,OAAO;EAExB,wBAAwB,YAAY,uBAAuB,kBAAkB;EAI7E,IAAI,iBAAqC,uBAAuB;EAChE,mBAAmB,iBAAiB,gBAAgB;GAClD,MAAM,mBAAmB,mBAAmB,WAAW,CAAC,CAAC;GACzD,MAAM,gBAAgB,eAAe,gBAAgB;GACrD,IAAI,kBAAkB,gBAAgB;IACpC,eAAe,OAAQ;IACvB,wBAAwB,YAAY,aAAa;GACnD;GACA,iBAAiB;EACnB,CAAC;CACH;CAOA,MAAM,qBAAqBC,qBAAAA,mBAA4B,EACrD,aAAaC,yBAAAA,uBACf,CAAC;CACD,mBAAmB,IAAI,mBAAmB,WAAW,IAAA,GAAGC,kCAAAA,aAAAA,CAAa,CAAC,CAAC,QAAQ;CAC/E,mBAAmB,iBAAiB,gBAAgB;EAClD,MAAM,OAAA,GAAMC,kCAAAA,YAAAA,CAAY;EACxB,mBAAmB,YAAY,GAAG;EAClC,mBAAmB,IAAI,mBAAmB,WAAW,GAAG,GAAG;CAC7D,CAAC;CAED,KAAK,UAAU,EAAE,WAAW,gBAAgB;EAC1C,MAAM,iBAAiB,mBAAmB,KAAK,SAAS;EACxD,MAAM,OAAO,kBAAA,GAAiBC,kCAAAA,UAAAA,CAAU,cAAc,IAAI,mBAAmB,WAAW;EACxF,MAAM,UAAU,eAAe,mBAAmB,SAAS;EAE3D,IAAI,SAAS,eAAe,CAAC,KAAK,gBAAgB,CAAC,CAAC,cAAc,oBAChE,KAAK,eAAe,QAAQ;EAG9B,IAAIC,oBAAAA,cAAc,IAAI,GACpB,OAAOC,sCAAAA;EAGT,OAAO;GACL,MAAM;GACN,KAAK;EACP;CACF,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,0BAA0B;CACxC,OAAOC,uBAAAA,qBAAqB,QAAQ,EAClC,kBAAkB;EAChB,IAAI,EAAE,MAAM,SAAS;EACrB,MAAM,EAAE,MAAM,SAAS;EACvB,OAAO,EAAE,MAAM,SAAS;EAIxB,QAAQ,EAAE,MAAM,SAAS;CAC3B,EACF,CAAC;AACH"}
@@ -1,3 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ //#region src/domain/deflate/deflate.types.ts
2
+ let DeflateEncoderStreamId = /* @__PURE__ */ function(DeflateEncoderStreamId) {
3
+ DeflateEncoderStreamId[DeflateEncoderStreamId["REPLAY"] = 1] = "REPLAY";
4
+ DeflateEncoderStreamId[DeflateEncoderStreamId["RUM"] = 2] = "RUM";
5
+ DeflateEncoderStreamId[DeflateEncoderStreamId["TELEMETRY"] = 4] = "TELEMETRY";
6
+ DeflateEncoderStreamId[DeflateEncoderStreamId["PROFILING"] = 6] = "PROFILING";
7
+ return DeflateEncoderStreamId;
8
+ }({});
9
+ //#endregion
10
+ exports.DeflateEncoderStreamId = DeflateEncoderStreamId;
11
+
3
12
  //# sourceMappingURL=deflate.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deflate.types.js","sourceRoot":"","sources":["../../../src/domain/deflate/deflate.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"deflate.types.js","names":[],"sources":["../../../src/domain/deflate/deflate.types.ts"],"sourcesContent":["import type { Encoder } from '../../tools/encoder'\nimport type { Uint8ArrayBuffer } from '../../tools/utils/byteUtils'\n\nexport type DeflateWorkerAction =\n // Action to send when creating the worker to check if the communication is working correctly.\n // The worker should respond with a 'initialized' response.\n | {\n action: 'init'\n }\n // Action to send when writing some unfinished data. The worker will respond with a 'wrote'\n // response, with the same id and measurements of the wrote data bytes count.\n | {\n action: 'write'\n id: number\n streamId: number\n data: string\n }\n // Action to send when all data has been written and the state of the stream needs to be reset.\n | {\n action: 'reset'\n streamId: number\n }\n\nexport type DeflateWorkerResponse =\n // Response to 'init' action\n | {\n type: 'initialized'\n version: string\n }\n // Response to 'write' action\n | {\n type: 'wrote'\n id: number\n streamId: number\n result: Uint8ArrayBuffer\n trailer: Uint8ArrayBuffer\n additionalBytesCount: number\n }\n // Could happen at any time when something goes wrong in the worker\n | {\n type: 'errored'\n streamId?: number\n error: Error | string\n }\n\nexport interface DeflateWorker extends Worker {\n postMessage(message: DeflateWorkerAction): void\n}\n\nexport type DeflateEncoder = Encoder<Uint8ArrayBuffer> & { stop: () => void }\n\nexport const enum DeflateEncoderStreamId {\n REPLAY = 1,\n RUM = 2,\n TELEMETRY = 4,\n PROFILING = 6,\n}\n"],"mappings":";AAmDA,IAAkB,yBAAX,yBAAA,wBAAA;CACL,uBAAA,uBAAA,YAAA,KAAA;CACA,uBAAA,uBAAA,SAAA,KAAA;CACA,uBAAA,uBAAA,eAAA,KAAA;CACA,uBAAA,uBAAA,eAAA,KAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -1,8 +1,14 @@
1
- import type { ClocksState } from '../../tools/utils/timeUtils';
1
+ import type { ClocksState } from '@kubesense/kubesense-js-core/time';
2
2
  import type { Context } from '../../tools/serialisation/context';
3
3
  import type { StackTrace } from '../../tools/stackTrace/computeStackTrace';
4
- import type { ErrorSource, ErrorHandling, RawError, RawErrorCause, ErrorWithCause, NonErrorPrefix } from './error.types';
5
- export declare const NO_ERROR_STACK_PRESENT_MESSAGE = "No stack, consider using an instance of Error";
4
+ import type { ErrorSource, ErrorHandling, RawError, ErrorWithCause, NonErrorPrefix } from './error.types';
5
+ import { isError, NO_ERROR_STACK_PRESENT_MESSAGE } from './isError';
6
+ export { isError, NO_ERROR_STACK_PRESENT_MESSAGE };
7
+ /**
8
+ * Used when `error.type` cannot be derived from the collected error. Sending a default rather than
9
+ * nothing keeps those errors groupable and searchable alongside the rest.
10
+ */
11
+ export declare const DEFAULT_ERROR_TYPE = "Error";
6
12
  interface RawErrorParams {
7
13
  stackTrace?: StackTrace;
8
14
  originalError: unknown;
@@ -14,10 +20,12 @@ interface RawErrorParams {
14
20
  source: ErrorSource;
15
21
  handling: ErrorHandling;
16
22
  }
23
+ export declare function getStackTraceUrls(stackTrace: StackTrace | undefined): string[];
24
+ export declare function flattenErrorCauses(error: ErrorWithCause): Array<{
25
+ originalError: unknown;
26
+ stackTrace: StackTrace | undefined;
27
+ }>;
17
28
  export declare function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, useFallbackStack, source, handling, }: RawErrorParams): RawError;
18
29
  export declare function tryToGetFingerprint(originalError: unknown): string | undefined;
19
30
  export declare function tryToGetErrorContext(originalError: unknown): Context | undefined;
20
31
  export declare function getFileFromStackTraceString(stack: string): string | undefined;
21
- export declare function isError(error: unknown): error is Error;
22
- export declare function flattenErrorCauses(error: ErrorWithCause, parentSource: ErrorSource): RawErrorCause[] | undefined;
23
- export {};
@@ -1,81 +1,112 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NO_ERROR_STACK_PRESENT_MESSAGE = void 0;
4
- exports.computeRawError = computeRawError;
5
- exports.tryToGetFingerprint = tryToGetFingerprint;
6
- exports.tryToGetErrorContext = tryToGetErrorContext;
7
- exports.getFileFromStackTraceString = getFileFromStackTraceString;
8
- exports.isError = isError;
9
- exports.flattenErrorCauses = flattenErrorCauses;
10
- const sanitize_1 = require("../../tools/serialisation/sanitize");
11
- const jsonStringify_1 = require("../../tools/serialisation/jsonStringify");
12
- const computeStackTrace_1 = require("../../tools/stackTrace/computeStackTrace");
13
- const handlingStack_1 = require("../../tools/stackTrace/handlingStack");
14
- exports.NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';
15
- function computeErrorBase({ originalError, stackTrace, source, useFallbackStack = true, nonErrorPrefix, }) {
16
- const isErrorInstance = isError(originalError);
17
- if (!stackTrace && isErrorInstance) {
18
- stackTrace = (0, computeStackTrace_1.computeStackTrace)(originalError);
19
- }
20
- return {
21
- source,
22
- type: stackTrace ? stackTrace.name : undefined,
23
- message: computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError),
24
- stack: stackTrace ? (0, handlingStack_1.toStackTraceString)(stackTrace) : useFallbackStack ? exports.NO_ERROR_STACK_PRESENT_MESSAGE : undefined,
25
- };
1
+ const require_computeStackTrace = require("../../tools/stackTrace/computeStackTrace.js");
2
+ const require_handlingStack = require("../../tools/stackTrace/handlingStack.js");
3
+ const require_jsonStringify = require("../../tools/serialisation/jsonStringify.js");
4
+ const require_sanitize = require("../../tools/serialisation/sanitize.js");
5
+ const require_isError = require("./isError.js");
6
+ const require_sourceCodeContext = require("../sourceCodeContext.js");
7
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
8
+ //#region src/domain/error/error.ts
9
+ /**
10
+ * Used when `error.type` cannot be derived from the collected error. Sending a default rather than
11
+ * nothing keeps those errors groupable and searchable alongside the rest.
12
+ */
13
+ const DEFAULT_ERROR_TYPE = "Error";
14
+ function computeErrorBase({ originalError, stackTrace, source, useFallbackStack = true, nonErrorPrefix }) {
15
+ const isErrorInstance = require_isError.isError(originalError);
16
+ return {
17
+ source,
18
+ type: computeType(stackTrace, originalError),
19
+ message: computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError),
20
+ stack: stackTrace ? require_handlingStack.toStackTraceString(stackTrace) : useFallbackStack ? require_isError.NO_ERROR_STACK_PRESENT_MESSAGE : void 0
21
+ };
22
+ }
23
+ /**
24
+ * `error.type` is normally the error class name (`TypeError`, `RangeError`...), read from the `name`
25
+ * property of the collected error. It is unavailable in two cases.
26
+ *
27
+ * No `Error` instance ever reached the SDK, because the application threw, rejected or logged
28
+ * something else: `console.error('message')`, `Promise.reject('reason')`, `addError('message')`. The
29
+ * runtime type of that value is used instead, which also surfaces that a non-`Error` was thrown in
30
+ * the first place.
31
+ *
32
+ * Or a stack trace was collected but tracekit could not extract a name from it, typically the opaque
33
+ * cross-origin `"Script error."`. A real error was raised here, so only its name is missing.
34
+ */
35
+ function computeType(stackTrace, originalError) {
36
+ if (stackTrace) return stackTrace.name || "Error";
37
+ return /\[object (\w+)\]/.exec(Object.prototype.toString.call(originalError))?.[1] ?? "Error";
38
+ }
39
+ function getStackTraceUrls(stackTrace) {
40
+ return stackTrace?.stack.map((frame) => frame.url).filter((url) => !!url) ?? [];
41
+ }
42
+ function getErrorDebugIds(stackTrace, errorCauses) {
43
+ const errorCausesUrls = errorCauses.flatMap(({ stackTrace }) => getStackTraceUrls(stackTrace));
44
+ return require_sourceCodeContext.buildDebugIdByUrl(getStackTraceUrls(stackTrace).concat(errorCausesUrls));
26
45
  }
27
- function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, useFallbackStack = true, source, handling, }) {
28
- const errorBase = computeErrorBase({ originalError, stackTrace, source, useFallbackStack, nonErrorPrefix });
29
- return {
30
- startClocks,
31
- handling,
32
- handlingStack,
33
- componentStack,
34
- originalError,
35
- ...errorBase,
36
- causes: isError(originalError) ? flattenErrorCauses(originalError, source) : undefined,
37
- fingerprint: tryToGetFingerprint(originalError),
38
- context: tryToGetErrorContext(originalError),
39
- };
46
+ function flattenErrorCauses(error) {
47
+ const chain = [];
48
+ let current = error.cause;
49
+ while (current !== void 0 && current !== null && chain.length < 10) {
50
+ const isCurrentError = require_isError.isError(current);
51
+ const stackTrace = isCurrentError ? require_computeStackTrace.computeStackTrace(current) : void 0;
52
+ chain.push({
53
+ originalError: current,
54
+ stackTrace
55
+ });
56
+ current = isCurrentError ? current.cause : void 0;
57
+ }
58
+ return chain;
59
+ }
60
+ function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, useFallbackStack = true, source, handling }) {
61
+ const errorStackTrace = stackTrace ?? (require_isError.isError(originalError) ? require_computeStackTrace.computeStackTrace(originalError) : void 0);
62
+ const errorCauses = require_isError.isError(originalError) ? flattenErrorCauses(originalError) : [];
63
+ const errorBase = computeErrorBase({
64
+ originalError,
65
+ stackTrace: errorStackTrace,
66
+ source,
67
+ useFallbackStack,
68
+ nonErrorPrefix
69
+ });
70
+ const rawErrorCauses = errorCauses.map(({ originalError, stackTrace }) => computeErrorBase({
71
+ originalError,
72
+ stackTrace,
73
+ source,
74
+ useFallbackStack: false
75
+ }));
76
+ return {
77
+ startClocks,
78
+ handling,
79
+ handlingStack,
80
+ componentStack,
81
+ originalError,
82
+ ...errorBase,
83
+ debugIds: getErrorDebugIds(errorStackTrace, errorCauses),
84
+ causes: rawErrorCauses.length ? rawErrorCauses : void 0,
85
+ fingerprint: tryToGetFingerprint(originalError),
86
+ context: tryToGetErrorContext(originalError)
87
+ };
40
88
  }
41
89
  function computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {
42
- // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)
43
- // TODO rework tracekit integration to avoid scattering error building logic
44
- return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)
45
- ? stackTrace.message
46
- : !isErrorInstance
47
- ? nonErrorPrefix
48
- ? `${nonErrorPrefix} ${(0, jsonStringify_1.jsonStringify)((0, sanitize_1.sanitize)(originalError))}`
49
- : (0, jsonStringify_1.jsonStringify)((0, sanitize_1.sanitize)(originalError))
50
- : 'Empty message';
90
+ return stackTrace?.message && stackTrace?.name ? stackTrace.message : !isErrorInstance ? nonErrorPrefix ? `${nonErrorPrefix} ${require_jsonStringify.jsonStringify(require_sanitize.sanitize(originalError))}` : require_jsonStringify.jsonStringify(require_sanitize.sanitize(originalError)) : "Empty message";
51
91
  }
52
92
  function tryToGetFingerprint(originalError) {
53
- return isError(originalError) && 'kubesense_fingerprint' in originalError ? String(originalError.kubesense_fingerprint) : undefined;
93
+ return require_isError.isError(originalError) && "kubesense_fingerprint" in originalError ? String(originalError.kubesense_fingerprint) : void 0;
54
94
  }
55
95
  function tryToGetErrorContext(originalError) {
56
- if (originalError !== null && typeof originalError === 'object' && 'kubesense_context' in originalError) {
57
- return originalError.kubesense_context;
58
- }
96
+ if ((0, _kubesense_kubesense_js_core_util.isIndexableObject)(originalError)) return originalError.kubesense_context;
59
97
  }
60
98
  function getFileFromStackTraceString(stack) {
61
- var _a;
62
- return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];
63
- }
64
- function isError(error) {
65
- return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]';
66
- }
67
- function flattenErrorCauses(error, parentSource) {
68
- const causes = [];
69
- let currentCause = error.cause;
70
- while (currentCause !== undefined && currentCause !== null && causes.length < 10) {
71
- const causeBase = computeErrorBase({
72
- originalError: currentCause,
73
- source: parentSource,
74
- useFallbackStack: false,
75
- });
76
- causes.push(causeBase);
77
- currentCause = isError(currentCause) ? currentCause.cause : undefined;
78
- }
79
- return causes.length ? causes : undefined;
99
+ return /@ (.+)/.exec(stack)?.[1];
80
100
  }
101
+ //#endregion
102
+ exports.DEFAULT_ERROR_TYPE = DEFAULT_ERROR_TYPE;
103
+ exports.NO_ERROR_STACK_PRESENT_MESSAGE = require_isError.NO_ERROR_STACK_PRESENT_MESSAGE;
104
+ exports.computeRawError = computeRawError;
105
+ exports.flattenErrorCauses = flattenErrorCauses;
106
+ exports.getFileFromStackTraceString = getFileFromStackTraceString;
107
+ exports.getStackTraceUrls = getStackTraceUrls;
108
+ exports.isError = require_isError.isError;
109
+ exports.tryToGetErrorContext = tryToGetErrorContext;
110
+ exports.tryToGetFingerprint = tryToGetFingerprint;
111
+
81
112
  //# sourceMappingURL=error.js.map