@kubesense/kubesense-browser-core 1.8.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 -77
  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 +9 -6
  84. package/cjs/domain/error/error.js +97 -91
  85. package/cjs/domain/error/error.js.map +1 -1
  86. package/cjs/domain/error/error.types.d.ts +4 -2
  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 -39
  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 -149
  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 +5 -4
  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 +56 -34
  479. package/src/domain/error/error.types.ts +4 -2
  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 -10
  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 -18
  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 -83
  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 -28
  694. package/esm/domain/error/error.js +0 -97
  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 -39
  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 -159
  920. package/esm/transport/sendWithRetryStrategy.js.map +0 -1
  921. package/src/domain/configuration/endpointBuilder.ts +0 -105
  922. package/src/domain/configuration/transportConfiguration.ts +0 -86
  923. package/src/domain/intakeSites.ts +0 -6
  924. package/src/domain/session/oldCookiesMigration.ts +0 -42
  925. package/src/domain/session/sessionStoreOperations.ts +0 -131
  926. package/src/tools/abstractHooks.ts +0 -72
  927. package/src/tools/boundedBuffer.ts +0 -44
  928. package/src/tools/globalObject.ts +0 -51
  929. package/src/tools/mergeInto.ts +0 -177
  930. package/src/tools/monitor.ts +0 -71
  931. package/src/tools/utils/timeUtils.ts +0 -117
  932. package/src/tools/utils/typeUtils.ts +0 -12
  933. package/src/tools/utils/urlPolyfill.ts +0 -55
  934. /package/cjs/{tools/utils → domain/geo}/geocoding.d.ts +0 -0
  935. /package/cjs/{tools/utils → domain/geo}/geolocation.d.ts +0 -0
package/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2024-Present TykeVision, Inc.
189
+ Copyright 2019-Present KubeSense, Inc.
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,10 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.displayAlreadyInitializedError = displayAlreadyInitializedError;
4
- const display_1 = require("../tools/display");
1
+ const require_display = require("../tools/display.js");
2
+ //#region src/boot/displayAlreadyInitializedError.ts
5
3
  function displayAlreadyInitializedError(sdkName, initConfiguration) {
6
- if (!initConfiguration.silentMultipleInit) {
7
- display_1.display.error(`${sdkName} is already initialized.`);
8
- }
4
+ if (!initConfiguration.silentMultipleInit) require_display.display.error(`${sdkName} is already initialized.`);
9
5
  }
6
+ //#endregion
7
+ exports.displayAlreadyInitializedError = displayAlreadyInitializedError;
8
+
10
9
  //# sourceMappingURL=displayAlreadyInitializedError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"displayAlreadyInitializedError.js","sourceRoot":"","sources":["../../src/boot/displayAlreadyInitializedError.ts"],"names":[],"mappings":";;AAGA,wEAIC;AAND,8CAA0C;AAE1C,SAAgB,8BAA8B,CAAC,OAA2C,EAAE,iBAAoC;IAC9H,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAC1C,iBAAO,CAAC,KAAK,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAA;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"displayAlreadyInitializedError.js","names":[],"sources":["../../src/boot/displayAlreadyInitializedError.ts"],"sourcesContent":["import type { InitConfiguration } from '../domain/configuration'\nimport { display } from '../tools/display'\n\nexport function displayAlreadyInitializedError(\n sdkName: 'KUBESENSE_SDK' | 'KUBESENSE_LOGS',\n initConfiguration: InitConfiguration\n) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(`${sdkName} is already initialized.`)\n }\n}\n"],"mappings":";;AAGA,SAAgB,+BACd,SACA,mBACA;CACA,IAAI,CAAC,kBAAkB,oBACrB,gBAAA,QAAQ,MAAM,GAAG,QAAQ,yBAAyB;AAEtD"}
@@ -6,6 +6,7 @@ export interface PublicApi {
6
6
  /**
7
7
  * For CDN async setup: Early RUM API calls must be wrapped in the `window.KUBESENSE_SDK.onReady()` callback. This ensures the code only gets executed once the SDK is properly loaded.
8
8
  *
9
+ * See [CDN async setup](https://docs.kubesense.ai/real_user_monitoring/browser/#cdn-async) for further information.
9
10
  */
10
11
  onReady: (callback: () => void) => void;
11
12
  }
package/cjs/boot/init.js CHANGED
@@ -1,39 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makePublicApi = makePublicApi;
4
- exports.defineGlobal = defineGlobal;
5
- const catchUserErrors_1 = require("../tools/catchUserErrors");
6
- const monitor_1 = require("../tools/monitor");
7
- const display_1 = require("../tools/display");
1
+ const require_display = require("../tools/display.js");
2
+ const require_catchUserErrors = require("../tools/catchUserErrors.js");
3
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
4
+ //#region src/boot/init.ts
8
5
  function makePublicApi(stub) {
9
- const publicApi = {
10
- version: "1.8.0",
11
- // This API method is intentionally not monitored, since the only thing executed is the
12
- // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and
13
- // we don't want to interfere with the user uncaught exceptions.
14
- onReady(callback) {
15
- callback();
16
- },
17
- ...stub,
18
- };
19
- // Add a "hidden" property to set debug mode. We define it that way to hide it
20
- // as much as possible but of course it's not a real protection.
21
- Object.defineProperty(publicApi, '_setDebug', {
22
- get() {
23
- return monitor_1.setDebugMode;
24
- },
25
- enumerable: false,
26
- });
27
- return publicApi;
6
+ const publicApi = {
7
+ version: "2.0.0",
8
+ onReady(callback) {
9
+ callback();
10
+ },
11
+ ...stub
12
+ };
13
+ Object.defineProperty(publicApi, "_setDebug", {
14
+ get() {
15
+ return _kubesense_kubesense_js_core_util.setDebugMode;
16
+ },
17
+ enumerable: false
18
+ });
19
+ return publicApi;
28
20
  }
29
21
  function defineGlobal(global, name, api) {
30
- const existingGlobalVariable = global[name];
31
- if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {
32
- display_1.display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');
33
- }
34
- global[name] = api;
35
- if (existingGlobalVariable && existingGlobalVariable.q) {
36
- existingGlobalVariable.q.forEach((fn) => (0, catchUserErrors_1.catchUserErrors)(fn, 'onReady callback threw an error:')());
37
- }
22
+ const existingGlobalVariable = global[name];
23
+ if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) require_display.display.warn("SDK is loaded more than once. This is unsupported and might have unexpected behavior.");
24
+ global[name] = api;
25
+ if (existingGlobalVariable?.q) existingGlobalVariable.q.forEach((fn) => require_catchUserErrors.catchUserErrors(fn, "onReady callback threw an error:")());
38
26
  }
27
+ //#endregion
28
+ exports.defineGlobal = defineGlobal;
29
+ exports.makePublicApi = makePublicApi;
30
+
39
31
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/boot/init.ts"],"names":[],"mappings":";;AAoBA,sCAsBC;AAED,oCASC;AArDD,8DAA0D;AAC1D,8CAA+C;AAC/C,8CAA0C;AAkB1C,SAAgB,aAAa,CAAsB,IAA8B;IAC/E,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,0BAA0B;QACnC,uFAAuF;QACvF,8FAA8F;QAC9F,gEAAgE;QAChE,OAAO,CAAC,QAAoB;YAC1B,QAAQ,EAAE,CAAA;QACZ,CAAC;QACD,GAAG,IAAI;KACR,CAAA;IAED,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;QAC5C,GAAG;YACD,OAAO,sBAAY,CAAA;QACrB,CAAC;QACD,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IAEF,OAAO,SAAc,CAAA;AACvB,CAAC;AAED,SAAgB,YAAY,CAAoC,MAAc,EAAE,IAAU,EAAE,GAAiB;IAC3G,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAA4D,CAAA;IACtG,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC1F,iBAAO,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAA;IACvG,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAClB,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,CAAC,EAAE,CAAC;QACvD,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,iCAAe,EAAC,EAAE,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","names":["setDebugMode","catchUserErrors"],"sources":["../../src/boot/init.ts"],"sourcesContent":["import { setDebugMode } from '@kubesense/kubesense-js-core/util'\nimport { catchUserErrors } from '../tools/catchUserErrors'\nimport { display } from '../tools/display'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nexport interface PublicApi {\n /**\n * Version of the Logs browser SDK\n */\n version: string\n\n /**\n * For CDN async setup: Early RUM API calls must be wrapped in the `window.KUBESENSE_SDK.onReady()` callback. This ensures the code only gets executed once the SDK is properly loaded.\n *\n * See [CDN async setup](https://docs.kubesense.ai/real_user_monitoring/browser/#cdn-async) for further information.\n */\n onReady: (callback: () => void) => void\n}\n\nexport function makePublicApi<T extends PublicApi>(stub: Omit<T, keyof PublicApi>): T {\n const publicApi = {\n version: __BUILD_ENV__SDK_VERSION__,\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady(callback: () => void) {\n callback()\n },\n ...stub,\n }\n\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get() {\n return setDebugMode\n },\n enumerable: false,\n })\n\n return publicApi as T\n}\n\nexport function defineGlobal<Global, Name extends keyof Global>(global: Global, name: Name, api: Global[Name]) {\n const existingGlobalVariable = global[name] as { q?: Array<() => void>; version?: string } | undefined\n if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {\n display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.')\n }\n global[name] = api\n if (existingGlobalVariable?.q) {\n existingGlobalVariable.q.forEach((fn) => catchUserErrors(fn, 'onReady callback threw an error:')())\n }\n}\n"],"mappings":";;;;AAqBA,SAAgB,cAAmC,MAAmC;CACpF,MAAM,YAAY;EAChB,SAAA;EAIA,QAAQ,UAAsB;GAC5B,SAAS;EACX;EACA,GAAG;CACL;CAIA,OAAO,eAAe,WAAW,aAAa;EAC5C,MAAM;GACJ,OAAOA,kCAAAA;EACT;EACA,YAAY;CACd,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,aAAgD,QAAgB,MAAY,KAAmB;CAC7G,MAAM,yBAAyB,OAAO;CACtC,IAAI,0BAA0B,CAAC,uBAAuB,KAAK,uBAAuB,SAChF,gBAAA,QAAQ,KAAK,uFAAuF;CAEtG,OAAO,QAAQ;CACf,IAAI,wBAAwB,GAC1B,uBAAuB,EAAE,SAAS,OAAOC,wBAAAA,gBAAgB,IAAI,kCAAkC,CAAC,CAAC,CAAC;AAEtG"}
@@ -1,4 +1,5 @@
1
- import type { CookieStore, CookieStoreEventMap, VisualViewport, VisualViewportEventMap } from './browser.types';
1
+ import type { CookieStore, CookieStoreEventMap } from '@kubesense/kubesense-js-core/util';
2
+ import type { VisualViewport, VisualViewportEventMap } from './browser.types';
2
3
  export type TrustableEvent<E extends Event = Event> = E & {
3
4
  __kubesenseIsTrusted?: boolean;
4
5
  };
@@ -36,7 +37,8 @@ export declare const enum DOM_EVENT {
36
37
  PAUSE = "pause",
37
38
  SECURITY_POLICY_VIOLATION = "securitypolicyviolation",
38
39
  SELECTION_CHANGE = "selectionchange",
39
- STORAGE = "storage"
40
+ STORAGE = "storage",
41
+ UNHANDLED_REJECTION = "unhandledrejection"
40
42
  }
41
43
  interface AddEventListenerOptions {
42
44
  once?: boolean;
@@ -47,7 +49,9 @@ type EventMapFor<T> = T extends Window ? WindowEventMap & {
47
49
  freeze: Event;
48
50
  resume: Event;
49
51
  visibilitychange: Event;
50
- } : T extends Document ? DocumentEventMap : T extends HTMLElement ? HTMLElementEventMap : T extends VisualViewport ? VisualViewportEventMap : T extends ShadowRoot ? GlobalEventHandlersEventMap : T extends XMLHttpRequest ? XMLHttpRequestEventMap : T extends Performance ? PerformanceEventMap : T extends Worker ? WorkerEventMap : T extends CookieStore ? CookieStoreEventMap : Record<never, never>;
52
+ } : T extends Document ? DocumentEventMap & {
53
+ prerenderingchange: Event;
54
+ } : T extends HTMLElement ? HTMLElementEventMap : T extends VisualViewport ? VisualViewportEventMap : T extends ShadowRoot ? GlobalEventHandlersEventMap : T extends XMLHttpRequest ? XMLHttpRequestEventMap : T extends Performance ? PerformanceEventMap : T extends Worker ? WorkerEventMap : T extends CookieStore ? CookieStoreEventMap : T extends WebSocket ? WebSocketEventMap : Record<never, never>;
51
55
  /**
52
56
  * Add an event listener to an event target object (Window, Element, mock object...). This provides
53
57
  * a few conveniences compared to using `element.addEventListener` directly:
@@ -58,9 +62,7 @@ type EventMapFor<T> = T extends Window ? WindowEventMap & {
58
62
  *
59
63
  * * returns a `stop` function to remove the listener
60
64
  */
61
- export declare function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: {
62
- allowUntrustedEvents?: boolean | undefined;
63
- }, eventTarget: Target, eventName: EventName, listener: (event: EventMapFor<Target>[EventName] & {
65
+ export declare function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(eventTarget: Target, eventName: EventName, listener: (event: EventMapFor<Target>[EventName] & {
64
66
  type: EventName;
65
67
  }) => void, options?: AddEventListenerOptions): {
66
68
  stop: () => void;
@@ -77,11 +79,12 @@ export declare function addEventListener<Target extends EventTarget, EventName e
77
79
  *
78
80
  * * with `once: true`, the listener will be called at most once, even if different events are listened
79
81
  */
80
- export declare function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: {
81
- allowUntrustedEvents?: boolean | undefined;
82
- }, eventTarget: Target, eventNames: EventName[], listener: (event: EventMapFor<Target>[EventName] & {
82
+ export declare function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(eventTarget: Target, eventNames: EventName[], listener: (event: EventMapFor<Target>[EventName] & {
83
83
  type: EventName;
84
84
  }) => void, { once, capture, passive }?: AddEventListenerOptions): {
85
85
  stop: () => void;
86
86
  };
87
+ export declare function isEventSupported<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(eventTarget: Target | undefined, eventName: EventName): boolean;
88
+ export declare function setAllowUntrustedEvents(value: boolean | undefined): void;
89
+ export declare function resetAllowUntrustedEvents(): void;
87
90
  export {};
@@ -1,55 +1,112 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addEventListener = addEventListener;
4
- exports.addEventListeners = addEventListeners;
5
- const monitor_1 = require("../tools/monitor");
6
- const getZoneJsOriginalValue_1 = require("../tools/getZoneJsOriginalValue");
1
+ const require_getZoneJsOriginalValue = require("../tools/getZoneJsOriginalValue.js");
2
+ const require_functionUtils = require("../tools/utils/functionUtils.js");
3
+ let _kubesense_kubesense_js_core_monitor = require("@kubesense/kubesense-js-core/monitor");
4
+ //#region src/browser/addEventListener.ts
5
+ let DOM_EVENT = /* @__PURE__ */ function(DOM_EVENT) {
6
+ DOM_EVENT["BEFORE_UNLOAD"] = "beforeunload";
7
+ DOM_EVENT["CLICK"] = "click";
8
+ DOM_EVENT["DBL_CLICK"] = "dblclick";
9
+ DOM_EVENT["KEY_DOWN"] = "keydown";
10
+ DOM_EVENT["LOAD"] = "load";
11
+ DOM_EVENT["POP_STATE"] = "popstate";
12
+ DOM_EVENT["SCROLL"] = "scroll";
13
+ DOM_EVENT["TOUCH_START"] = "touchstart";
14
+ DOM_EVENT["TOUCH_END"] = "touchend";
15
+ DOM_EVENT["TOUCH_MOVE"] = "touchmove";
16
+ DOM_EVENT["VISIBILITY_CHANGE"] = "visibilitychange";
17
+ DOM_EVENT["PAGE_SHOW"] = "pageshow";
18
+ DOM_EVENT["FREEZE"] = "freeze";
19
+ DOM_EVENT["RESUME"] = "resume";
20
+ DOM_EVENT["DOM_CONTENT_LOADED"] = "DOMContentLoaded";
21
+ DOM_EVENT["POINTER_DOWN"] = "pointerdown";
22
+ DOM_EVENT["POINTER_UP"] = "pointerup";
23
+ DOM_EVENT["POINTER_CANCEL"] = "pointercancel";
24
+ DOM_EVENT["HASH_CHANGE"] = "hashchange";
25
+ DOM_EVENT["PAGE_HIDE"] = "pagehide";
26
+ DOM_EVENT["MOUSE_DOWN"] = "mousedown";
27
+ DOM_EVENT["MOUSE_UP"] = "mouseup";
28
+ DOM_EVENT["MOUSE_MOVE"] = "mousemove";
29
+ DOM_EVENT["FOCUS"] = "focus";
30
+ DOM_EVENT["BLUR"] = "blur";
31
+ DOM_EVENT["CONTEXT_MENU"] = "contextmenu";
32
+ DOM_EVENT["RESIZE"] = "resize";
33
+ DOM_EVENT["CHANGE"] = "change";
34
+ DOM_EVENT["INPUT"] = "input";
35
+ DOM_EVENT["PLAY"] = "play";
36
+ DOM_EVENT["PAUSE"] = "pause";
37
+ DOM_EVENT["SECURITY_POLICY_VIOLATION"] = "securitypolicyviolation";
38
+ DOM_EVENT["SELECTION_CHANGE"] = "selectionchange";
39
+ DOM_EVENT["STORAGE"] = "storage";
40
+ DOM_EVENT["UNHANDLED_REJECTION"] = "unhandledrejection";
41
+ return DOM_EVENT;
42
+ }({});
7
43
  /**
8
- * Add an event listener to an event target object (Window, Element, mock object...). This provides
9
- * a few conveniences compared to using `element.addEventListener` directly:
10
- *
11
- * * supports IE11 by: using an option object only if needed and emulating the `once` option
12
- *
13
- * * wraps the listener with a `monitor` function
14
- *
15
- * * returns a `stop` function to remove the listener
16
- */
17
- function addEventListener(configuration, eventTarget, eventName, listener, options) {
18
- return addEventListeners(configuration, eventTarget, [eventName], listener, options);
44
+ * Add an event listener to an event target object (Window, Element, mock object...). This provides
45
+ * a few conveniences compared to using `element.addEventListener` directly:
46
+ *
47
+ * * supports IE11 by: using an option object only if needed and emulating the `once` option
48
+ *
49
+ * * wraps the listener with a `monitor` function
50
+ *
51
+ * * returns a `stop` function to remove the listener
52
+ */
53
+ function addEventListener(eventTarget, eventName, listener, options) {
54
+ return addEventListeners(eventTarget, [eventName], listener, options);
19
55
  }
20
56
  /**
21
- * Add event listeners to an event target object (Window, Element, mock object...). This provides
22
- * a few conveniences compared to using `element.addEventListener` directly:
23
- *
24
- * * supports IE11 by: using an option object only if needed and emulating the `once` option
25
- *
26
- * * wraps the listener with a `monitor` function
27
- *
28
- * * returns a `stop` function to remove the listener
29
- *
30
- * * with `once: true`, the listener will be called at most once, even if different events are listened
31
- */
32
- function addEventListeners(configuration, eventTarget, eventNames, listener, { once, capture, passive } = {}) {
33
- const listenerWithMonitor = (0, monitor_1.monitor)((event) => {
34
- if (!event.isTrusted && !event.__kubesenseIsTrusted && !configuration.allowUntrustedEvents) {
35
- return;
36
- }
37
- if (once) {
38
- stop();
39
- }
40
- listener(event);
41
- });
42
- const options = passive ? { capture, passive } : capture;
43
- // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)
44
- const listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;
45
- const add = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(listenerTarget, 'addEventListener');
46
- eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options));
47
- function stop() {
48
- const remove = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(listenerTarget, 'removeEventListener');
49
- eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options));
50
- }
51
- return {
52
- stop,
53
- };
57
+ * Add event listeners to an event target object (Window, Element, mock object...). This provides
58
+ * a few conveniences compared to using `element.addEventListener` directly:
59
+ *
60
+ * * supports IE11 by: using an option object only if needed and emulating the `once` option
61
+ *
62
+ * * wraps the listener with a `monitor` function
63
+ *
64
+ * * returns a `stop` function to remove the listener
65
+ *
66
+ * * with `once: true`, the listener will be called at most once, even if different events are listened
67
+ */
68
+ function addEventListeners(eventTarget, eventNames, listener, { once, capture, passive } = {}) {
69
+ const listenerWithMonitor = (0, _kubesense_kubesense_js_core_monitor.monitor)((event) => {
70
+ if (!event.isTrusted && !event.__kubesenseIsTrusted && allowUntrustedEventsFromConfiguration === false) return;
71
+ if (once) stop();
72
+ listener(event);
73
+ });
74
+ const options = passive ? {
75
+ capture,
76
+ passive
77
+ } : capture;
78
+ const listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;
79
+ const add = require_getZoneJsOriginalValue.getZoneJsOriginalValue(listenerTarget, "addEventListener");
80
+ eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options));
81
+ function stop() {
82
+ const remove = require_getZoneJsOriginalValue.getZoneJsOriginalValue(listenerTarget, "removeEventListener");
83
+ eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options));
84
+ }
85
+ return { stop };
86
+ }
87
+ function isEventSupported(eventTarget, eventName) {
88
+ if (!eventTarget) return false;
89
+ try {
90
+ addEventListener(eventTarget, eventName, require_functionUtils.noop).stop();
91
+ return true;
92
+ } catch {
93
+ return false;
94
+ }
95
+ }
96
+ let allowUntrustedEventsFromConfiguration;
97
+ function setAllowUntrustedEvents(value) {
98
+ if (allowUntrustedEventsFromConfiguration === true) return;
99
+ allowUntrustedEventsFromConfiguration = value ?? false;
54
100
  }
101
+ function resetAllowUntrustedEvents() {
102
+ allowUntrustedEventsFromConfiguration = void 0;
103
+ }
104
+ //#endregion
105
+ exports.DOM_EVENT = DOM_EVENT;
106
+ exports.addEventListener = addEventListener;
107
+ exports.addEventListeners = addEventListeners;
108
+ exports.isEventSupported = isEventSupported;
109
+ exports.resetAllowUntrustedEvents = resetAllowUntrustedEvents;
110
+ exports.setAllowUntrustedEvents = setAllowUntrustedEvents;
111
+
55
112
  //# sourceMappingURL=addEventListener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addEventListener.js","sourceRoot":"","sources":["../../src/browser/addEventListener.ts"],"names":[],"mappings":";;AAwFA,4CAQC;AAcD,8CAkCC;AAhJD,8CAA0C;AAC1C,4EAAwE;AA6ExE;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,aAA6D,EAC7D,WAAmB,EACnB,SAAoB,EACpB,QAA+E,EAC/E,OAAiC;IAEjC,OAAO,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AACtF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAC/B,aAA6D,EAC7D,WAAmB,EACnB,UAAuB,EACvB,QAA+E,EAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAA8B,EAAE;IAExD,MAAM,mBAAmB,GAAG,IAAA,iBAAO,EAAC,CAAC,KAAqB,EAAE,EAAE;QAC5D,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC3F,OAAM;QACR,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAA;QACR,CAAC;QACD,QAAQ,CAAC,KAAwE,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAExD,mIAAmI;IACnI,MAAM,cAAc,GAClB,MAAM,CAAC,WAAW,IAAI,WAAW,YAAY,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IAEvG,MAAM,GAAG,GAAG,IAAA,+CAAsB,EAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IACtE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;IAEjG,SAAS,IAAI;QACX,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,cAAc,EAAE,qBAAqB,CAAC,CAAA;QAC5E,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"addEventListener.js","names":["monitor","getZoneJsOriginalValue","noop"],"sources":["../../src/browser/addEventListener.ts"],"sourcesContent":["import type { CookieStore, CookieStoreEventMap } from '@kubesense/kubesense-js-core/util'\nimport { monitor } from '@kubesense/kubesense-js-core/monitor'\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue'\nimport { noop } from '../tools/utils/functionUtils'\nimport type { VisualViewport, VisualViewportEventMap } from './browser.types'\n\nexport type TrustableEvent<E extends Event = Event> = E & { __kubesenseIsTrusted?: boolean }\n\nexport const enum DOM_EVENT {\n BEFORE_UNLOAD = 'beforeunload',\n CLICK = 'click',\n DBL_CLICK = 'dblclick',\n KEY_DOWN = 'keydown',\n LOAD = 'load',\n POP_STATE = 'popstate',\n SCROLL = 'scroll',\n TOUCH_START = 'touchstart',\n TOUCH_END = 'touchend',\n TOUCH_MOVE = 'touchmove',\n VISIBILITY_CHANGE = 'visibilitychange',\n PAGE_SHOW = 'pageshow',\n FREEZE = 'freeze',\n RESUME = 'resume',\n DOM_CONTENT_LOADED = 'DOMContentLoaded',\n POINTER_DOWN = 'pointerdown',\n POINTER_UP = 'pointerup',\n POINTER_CANCEL = 'pointercancel',\n HASH_CHANGE = 'hashchange',\n PAGE_HIDE = 'pagehide',\n MOUSE_DOWN = 'mousedown',\n MOUSE_UP = 'mouseup',\n MOUSE_MOVE = 'mousemove',\n FOCUS = 'focus',\n BLUR = 'blur',\n CONTEXT_MENU = 'contextmenu',\n RESIZE = 'resize',\n CHANGE = 'change',\n INPUT = 'input',\n PLAY = 'play',\n PAUSE = 'pause',\n SECURITY_POLICY_VIOLATION = 'securitypolicyviolation',\n SELECTION_CHANGE = 'selectionchange',\n STORAGE = 'storage',\n UNHANDLED_REJECTION = 'unhandledrejection',\n}\n\ninterface AddEventListenerOptions {\n once?: boolean\n capture?: boolean\n passive?: boolean\n}\n\ntype EventMapFor<T> = T extends Window\n ? WindowEventMap & {\n // TS 4.9.5 does not support `freeze` and `resume` events yet\n freeze: Event\n resume: Event\n // TS 4.9.5 does not define `visibilitychange` on Window (only Document)\n visibilitychange: Event\n }\n : T extends Document\n ? DocumentEventMap & {\n // TS 4.9.5 does not define `prerenderingchange` on Document yet (Speculation Rules / Prerender2)\n prerenderingchange: Event\n }\n : T extends HTMLElement\n ? HTMLElementEventMap\n : T extends VisualViewport\n ? VisualViewportEventMap\n : T extends ShadowRoot\n ? // ShadowRootEventMap is not yet defined in our supported TS version. Instead, use\n // GlobalEventHandlersEventMap which is more than enough as we only need to listen for events bubbling\n // through the ShadowRoot like \"change\" or \"input\"\n GlobalEventHandlersEventMap\n : T extends XMLHttpRequest\n ? XMLHttpRequestEventMap\n : T extends Performance\n ? PerformanceEventMap\n : T extends Worker\n ? WorkerEventMap\n : T extends CookieStore\n ? CookieStoreEventMap\n : T extends WebSocket\n ? WebSocketEventMap\n : Record<never, never>\n\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(\n eventTarget: Target,\n eventName: EventName,\n listener: (event: EventMapFor<Target>[EventName] & { type: EventName }) => void,\n options?: AddEventListenerOptions\n) {\n return addEventListeners(eventTarget, [eventName], listener, options)\n}\n\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(\n eventTarget: Target,\n eventNames: EventName[],\n listener: (event: EventMapFor<Target>[EventName] & { type: EventName }) => void,\n { once, capture, passive }: AddEventListenerOptions = {}\n) {\n const listenerWithMonitor = monitor((event: TrustableEvent) => {\n if (!event.isTrusted && !event.__kubesenseIsTrusted && allowUntrustedEventsFromConfiguration === false) {\n return\n }\n if (once) {\n stop()\n }\n listener(event as unknown as EventMapFor<Target>[EventName] & { type: EventName })\n })\n\n const options = passive ? { capture, passive } : capture\n\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n const listenerTarget =\n window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget\n\n const add = getZoneJsOriginalValue(listenerTarget, 'addEventListener')\n eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options))\n\n function stop() {\n const remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener')\n eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options))\n }\n\n return {\n stop,\n }\n}\n\nexport function isEventSupported<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(\n eventTarget: Target | undefined,\n eventName: EventName\n) {\n if (!eventTarget) {\n return false\n }\n\n try {\n addEventListener(eventTarget, eventName, noop).stop()\n return true\n } catch {\n return false\n }\n}\n\nlet allowUntrustedEventsFromConfiguration: boolean | undefined\n\nexport function setAllowUntrustedEvents(value: boolean | undefined) {\n if (allowUntrustedEventsFromConfiguration === true) {\n return // keep the laxer value (true)\n }\n allowUntrustedEventsFromConfiguration = value ?? false\n}\n\nexport function resetAllowUntrustedEvents() {\n allowUntrustedEventsFromConfiguration = undefined\n}\n"],"mappings":";;;;AAQA,IAAkB,YAAX,yBAAA,WAAA;CACL,UAAA,mBAAA;CACA,UAAA,WAAA;CACA,UAAA,eAAA;CACA,UAAA,cAAA;CACA,UAAA,UAAA;CACA,UAAA,eAAA;CACA,UAAA,YAAA;CACA,UAAA,iBAAA;CACA,UAAA,eAAA;CACA,UAAA,gBAAA;CACA,UAAA,uBAAA;CACA,UAAA,eAAA;CACA,UAAA,YAAA;CACA,UAAA,YAAA;CACA,UAAA,wBAAA;CACA,UAAA,kBAAA;CACA,UAAA,gBAAA;CACA,UAAA,oBAAA;CACA,UAAA,iBAAA;CACA,UAAA,eAAA;CACA,UAAA,gBAAA;CACA,UAAA,cAAA;CACA,UAAA,gBAAA;CACA,UAAA,WAAA;CACA,UAAA,UAAA;CACA,UAAA,kBAAA;CACA,UAAA,YAAA;CACA,UAAA,YAAA;CACA,UAAA,WAAA;CACA,UAAA,UAAA;CACA,UAAA,WAAA;CACA,UAAA,+BAAA;CACA,UAAA,sBAAA;CACA,UAAA,aAAA;CACA,UAAA,yBAAA;;AACF,EAAA,CAAA,CAAA;;;;;;;;;;;AAoDA,SAAgB,iBACd,aACA,WACA,UACA,SACA;CACA,OAAO,kBAAkB,aAAa,CAAC,SAAS,GAAG,UAAU,OAAO;AACtE;;;;;;;;;;;;;AAcA,SAAgB,kBACd,aACA,YACA,UACA,EAAE,MAAM,SAAS,YAAqC,CAAC,GACvD;CACA,MAAM,uBAAA,GAAsBA,qCAAAA,QAAAA,EAAS,UAA0B;EAC7D,IAAI,CAAC,MAAM,aAAa,CAAC,MAAM,wBAAwB,0CAA0C,OAC/F;EAEF,IAAI,MACF,KAAK;EAEP,SAAS,KAAwE;CACnF,CAAC;CAED,MAAM,UAAU,UAAU;EAAE;EAAS;CAAQ,IAAI;CAGjD,MAAM,iBACJ,OAAO,eAAe,uBAAuB,cAAc,OAAO,YAAY,YAAY;CAE5F,MAAM,MAAMC,+BAAAA,uBAAuB,gBAAgB,kBAAkB;CACrE,WAAW,SAAS,cAAc,IAAI,KAAK,aAAa,WAAW,qBAAqB,OAAO,CAAC;CAEhG,SAAS,OAAO;EACd,MAAM,SAASA,+BAAAA,uBAAuB,gBAAgB,qBAAqB;EAC3E,WAAW,SAAS,cAAc,OAAO,KAAK,aAAa,WAAW,qBAAqB,OAAO,CAAC;CACrG;CAEA,OAAO,EACL,KACF;AACF;AAEA,SAAgB,iBACd,aACA,WACA;CACA,IAAI,CAAC,aACH,OAAO;CAGT,IAAI;EACF,iBAAiB,aAAa,WAAWC,sBAAAA,IAAI,CAAC,CAAC,KAAK;EACpD,OAAO;CACT,QAAQ;EACN,OAAO;CACT;AACF;AAEA,IAAI;AAEJ,SAAgB,wBAAwB,OAA4B;CAClE,IAAI,0CAA0C,MAC5C;CAEF,wCAAwC,SAAS;AACnD;AAEA,SAAgB,4BAA4B;CAC1C,wCAAwC,KAAA;AAC1C"}
@@ -25,27 +25,3 @@ export interface WeakRefConstructor {
25
25
  readonly prototype: WeakRef<any>;
26
26
  new <T extends object>(target: T): WeakRef<T>;
27
27
  }
28
- export interface CookieStore extends EventTarget {
29
- get(name: string): Promise<unknown>;
30
- getAll(name?: string): Promise<Array<{
31
- name: string;
32
- value: string;
33
- domain?: string;
34
- path?: string;
35
- expires?: number;
36
- secure?: boolean;
37
- sameSite?: 'strict' | 'lax' | 'none';
38
- partitioned?: boolean;
39
- }>>;
40
- }
41
- export interface CookieStoreEventMap {
42
- change: CookieChangeEvent;
43
- }
44
- export interface CookieChangeItem {
45
- name: string;
46
- value: string | undefined;
47
- }
48
- export type CookieChangeEvent = Event & {
49
- changed: CookieChangeItem[];
50
- deleted: CookieChangeItem[];
51
- };
@@ -1,3 +1,4 @@
1
+ import type { Configuration } from '../domain/configuration';
1
2
  export interface CookieOptions {
2
3
  secure?: boolean;
3
4
  crossSite?: boolean;
@@ -17,10 +18,12 @@ export declare function getCookies(name: string): string[];
17
18
  /**
18
19
  * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
19
20
  * to avoid accessing document.cookie multiple times.
21
+ *
22
+ * ⚠️ If there are multiple cookies with the same name, returns the LAST one (unlike `getCookie()`)
20
23
  */
21
24
  export declare function getInitCookie(name: string): string | undefined;
22
25
  export declare function resetInitCookies(): void;
23
26
  export declare function deleteCookie(name: string, options?: CookieOptions): void;
24
- export declare function areCookiesAuthorized(options: CookieOptions): boolean;
25
27
  export declare function getCurrentSite(hostname?: string, referrer?: string): string | undefined;
26
28
  export declare function resetGetCurrentSite(): void;
29
+ export declare function buildCookieOptions(configuration: Configuration): CookieOptions | undefined;
@@ -1,112 +1,99 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setCookie = setCookie;
4
- exports.getCookie = getCookie;
5
- exports.getCookies = getCookies;
6
- exports.getInitCookie = getInitCookie;
7
- exports.resetInitCookies = resetInitCookies;
8
- exports.deleteCookie = deleteCookie;
9
- exports.areCookiesAuthorized = areCookiesAuthorized;
10
- exports.getCurrentSite = getCurrentSite;
11
- exports.resetGetCurrentSite = resetGetCurrentSite;
12
- const display_1 = require("../tools/display");
13
- const timeUtils_1 = require("../tools/utils/timeUtils");
14
- const stringUtils_1 = require("../tools/utils/stringUtils");
15
- const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
1
+ const require_stringUtils = require("../tools/utils/stringUtils.js");
2
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
3
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
4
+ //#region src/browser/cookie.ts
16
5
  function setCookie(name, value, expireDelay = 0, options) {
17
- const date = new Date();
18
- date.setTime(date.getTime() + expireDelay);
19
- const expires = `expires=${date.toUTCString()}`;
20
- const sameSite = options && options.crossSite ? 'none' : 'strict';
21
- const domain = options && options.domain ? `;domain=${options.domain}` : '';
22
- const secure = options && options.secure ? ';secure' : '';
23
- const partitioned = options && options.partitioned ? ';partitioned' : '';
24
- document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;
6
+ const date = /* @__PURE__ */ new Date();
7
+ date.setTime(date.getTime() + expireDelay);
8
+ const expires = `expires=${date.toUTCString()}`;
9
+ const sameSite = options?.crossSite ? "none" : "strict";
10
+ const domain = options?.domain ? `;domain=${options.domain}` : "";
11
+ const secure = options?.secure ? ";secure" : "";
12
+ const partitioned = options?.partitioned ? ";partitioned" : "";
13
+ document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;
25
14
  }
26
15
  /**
27
- * Returns the value of the cookie with the given name
28
- * If there are multiple cookies with the same name, returns the first one
29
- */
16
+ * Returns the value of the cookie with the given name
17
+ * If there are multiple cookies with the same name, returns the first one
18
+ */
30
19
  function getCookie(name) {
31
- return (0, stringUtils_1.findCommaSeparatedValue)(document.cookie, name);
20
+ const value = require_stringUtils.findCommaSeparatedValue(document.cookie, name);
21
+ if (value === "") return;
22
+ return value;
32
23
  }
33
24
  /**
34
- * Returns all the values of the cookies with the given name
35
- */
25
+ * Returns all the values of the cookies with the given name
26
+ */
36
27
  function getCookies(name) {
37
- return (0, stringUtils_1.findAllCommaSeparatedValues)(document.cookie).get(name) || [];
28
+ return require_stringUtils.findAllCommaSeparatedValues(document.cookie).get(name) || [];
38
29
  }
39
30
  let initCookieParsed;
40
31
  /**
41
- * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
42
- * to avoid accessing document.cookie multiple times.
43
- */
32
+ * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
33
+ * to avoid accessing document.cookie multiple times.
34
+ *
35
+ * ⚠️ If there are multiple cookies with the same name, returns the LAST one (unlike `getCookie()`)
36
+ */
44
37
  function getInitCookie(name) {
45
- if (!initCookieParsed) {
46
- initCookieParsed = (0, stringUtils_1.findCommaSeparatedValues)(document.cookie);
47
- }
48
- return initCookieParsed.get(name);
38
+ if (!initCookieParsed) initCookieParsed = require_stringUtils.findCommaSeparatedValues(document.cookie);
39
+ return initCookieParsed.get(name);
49
40
  }
50
41
  function resetInitCookies() {
51
- initCookieParsed = undefined;
42
+ initCookieParsed = void 0;
52
43
  }
53
44
  function deleteCookie(name, options) {
54
- setCookie(name, '', 0, options);
55
- }
56
- function areCookiesAuthorized(options) {
57
- if (document.cookie === undefined || document.cookie === null) {
58
- return false;
59
- }
60
- try {
61
- // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
62
- // the test cookie lifetime
63
- const testCookieName = `kubesense_cookie_test_${(0, stringUtils_1.generateUUID)()}`;
64
- const testCookieValue = 'test';
65
- setCookie(testCookieName, testCookieValue, timeUtils_1.ONE_MINUTE, options);
66
- const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;
67
- deleteCookie(testCookieName, options);
68
- return isCookieCorrectlySet;
69
- }
70
- catch (error) {
71
- display_1.display.error(error);
72
- return false;
73
- }
45
+ setCookie(name, "", 0, options);
74
46
  }
75
47
  /**
76
- * No API to retrieve it, number of levels for subdomain and suffix are unknown
77
- * strategy: find the minimal domain on which cookies are allowed to be set
78
- * https://web.dev/same-site-same-origin/#site
79
- */
48
+ * No API to retrieve it, number of levels for subdomain and suffix are unknown
49
+ * strategy: find the minimal domain on which cookies are allowed to be set
50
+ * https://web.dev/same-site-same-origin/#site
51
+ */
80
52
  let getCurrentSiteCache;
81
- function getCurrentSite(hostname = location.hostname, referrer = document.referrer) {
82
- if (getCurrentSiteCache === undefined) {
83
- const defaultHostName = getCookieDefaultHostName(hostname, referrer);
84
- if (defaultHostName) {
85
- // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
86
- // the test cookie lifetime
87
- const testCookieName = `dd_site_test_${(0, stringUtils_1.generateUUID)()}`;
88
- const testCookieValue = 'test';
89
- const domainLevels = defaultHostName.split('.');
90
- let candidateDomain = domainLevels.pop();
91
- while (domainLevels.length && !getCookie(testCookieName)) {
92
- candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;
93
- setCookie(testCookieName, testCookieValue, timeUtils_1.ONE_SECOND, { domain: candidateDomain });
94
- }
95
- deleteCookie(testCookieName, { domain: candidateDomain });
96
- getCurrentSiteCache = candidateDomain;
97
- }
98
- }
99
- return getCurrentSiteCache;
53
+ function getCurrentSite(hostname = _kubesense_kubesense_js_core_util.globalObject.location?.hostname ?? "", referrer = typeof document !== "undefined" ? document.referrer : "") {
54
+ if (typeof document === "undefined") return;
55
+ if (getCurrentSiteCache === void 0) {
56
+ const defaultHostName = getCookieDefaultHostName(hostname, referrer);
57
+ if (defaultHostName) {
58
+ const testCookieName = `kubesense_site_test_${require_stringUtils.generateUUID()}`;
59
+ const testCookieValue = "test";
60
+ const domainLevels = defaultHostName.split(".");
61
+ let candidateDomain = domainLevels.pop();
62
+ while (domainLevels.length && !getCookie(testCookieName)) {
63
+ candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;
64
+ setCookie(testCookieName, testCookieValue, _kubesense_kubesense_js_core_time.ONE_SECOND, { domain: candidateDomain });
65
+ }
66
+ deleteCookie(testCookieName, { domain: candidateDomain });
67
+ getCurrentSiteCache = candidateDomain;
68
+ }
69
+ }
70
+ return getCurrentSiteCache;
100
71
  }
101
72
  function getCookieDefaultHostName(hostname, referrer) {
102
- try {
103
- return hostname || (0, urlPolyfill_1.buildUrl)(referrer).hostname;
104
- }
105
- catch (_a) {
106
- // Ignore
107
- }
73
+ try {
74
+ return hostname || (0, _kubesense_kubesense_js_core_util.buildUrl)(referrer).hostname;
75
+ } catch {}
108
76
  }
109
- function resetGetCurrentSite() {
110
- getCurrentSiteCache = undefined;
77
+ function buildCookieOptions(configuration) {
78
+ const cookieOptions = {};
79
+ cookieOptions.secure = configuration.useSecureSessionCookie || configuration.usePartitionedCrossSiteSessionCookie;
80
+ cookieOptions.crossSite = configuration.usePartitionedCrossSiteSessionCookie;
81
+ cookieOptions.partitioned = configuration.usePartitionedCrossSiteSessionCookie;
82
+ if (configuration.trackSessionAcrossSubdomains) {
83
+ const currentSite = getCurrentSite();
84
+ if (!currentSite) return;
85
+ cookieOptions.domain = currentSite;
86
+ }
87
+ return cookieOptions;
111
88
  }
89
+ //#endregion
90
+ exports.buildCookieOptions = buildCookieOptions;
91
+ exports.deleteCookie = deleteCookie;
92
+ exports.getCookie = getCookie;
93
+ exports.getCookies = getCookies;
94
+ exports.getCurrentSite = getCurrentSite;
95
+ exports.getInitCookie = getInitCookie;
96
+ exports.resetInitCookies = resetInitCookies;
97
+ exports.setCookie = setCookie;
98
+
112
99
  //# sourceMappingURL=cookie.js.map