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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/LICENSE +1 -1
  2. package/cjs/boot/displayAlreadyInitializedError.js +6 -7
  3. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
  4. package/cjs/boot/init.d.ts +1 -0
  5. package/cjs/boot/init.js +26 -34
  6. package/cjs/boot/init.js.map +1 -1
  7. package/cjs/browser/addEventListener.d.ts +12 -9
  8. package/cjs/browser/addEventListener.js +107 -50
  9. package/cjs/browser/addEventListener.js.map +1 -1
  10. package/cjs/browser/browser.types.d.ts +0 -24
  11. package/cjs/browser/cookie.d.ts +4 -1
  12. package/cjs/browser/cookie.js +76 -89
  13. package/cjs/browser/cookie.js.map +1 -1
  14. package/cjs/browser/cookieAccess.d.ts +18 -0
  15. package/cjs/browser/cookieAccess.js +129 -0
  16. package/cjs/browser/cookieAccess.js.map +1 -0
  17. package/cjs/browser/fetch.d.ts +9 -0
  18. package/cjs/browser/fetch.js +18 -0
  19. package/cjs/browser/fetch.js.map +1 -0
  20. package/cjs/browser/fetchObservable.d.ts +3 -3
  21. package/cjs/browser/fetchObservable.js +79 -92
  22. package/cjs/browser/fetchObservable.js.map +1 -1
  23. package/cjs/browser/pageMayExitObservable.d.ts +1 -2
  24. package/cjs/browser/pageMayExitObservable.js +53 -51
  25. package/cjs/browser/pageMayExitObservable.js.map +1 -1
  26. package/cjs/browser/runOnReadyState.d.ts +2 -3
  27. package/cjs/browser/runOnReadyState.js +18 -17
  28. package/cjs/browser/runOnReadyState.js.map +1 -1
  29. package/cjs/browser/webSocketObservable.d.ts +44 -0
  30. package/cjs/browser/webSocketObservable.js +92 -0
  31. package/cjs/browser/webSocketObservable.js.map +1 -0
  32. package/cjs/browser/xhrObservable.d.ts +8 -3
  33. package/cjs/browser/xhrObservable.js +64 -77
  34. package/cjs/browser/xhrObservable.js.map +1 -1
  35. package/cjs/domain/allowedTrackingOrigins.d.ts +2 -2
  36. package/cjs/domain/allowedTrackingOrigins.js +27 -23
  37. package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
  38. package/cjs/domain/bufferedData.d.ts +20 -6
  39. package/cjs/domain/bufferedData.js +41 -19
  40. package/cjs/domain/bufferedData.js.map +1 -1
  41. package/cjs/domain/configuration/configuration.d.ts +169 -76
  42. package/cjs/domain/configuration/configuration.js +159 -128
  43. package/cjs/domain/configuration/configuration.js.map +1 -1
  44. package/cjs/domain/configuration/index.d.ts +5 -7
  45. package/cjs/domain/configuration/remoteSdkConfig.d.ts +26 -6
  46. package/cjs/domain/configuration/remoteSdkConfig.js +152 -159
  47. package/cjs/domain/configuration/remoteSdkConfig.js.map +1 -1
  48. package/cjs/domain/connectivity/connectivity.d.ts +2 -10
  49. package/cjs/domain/connectivity/connectivity.js +13 -13
  50. package/cjs/domain/connectivity/connectivity.js.map +1 -1
  51. package/cjs/domain/console/consoleObservable.d.ts +1 -1
  52. package/cjs/domain/console/consoleObservable.js +62 -74
  53. package/cjs/domain/console/consoleObservable.js.map +1 -1
  54. package/cjs/domain/context/contextConstants.js +24 -15
  55. package/cjs/domain/context/contextConstants.js.map +1 -1
  56. package/cjs/domain/context/contextManager.js +49 -53
  57. package/cjs/domain/context/contextManager.js.map +1 -1
  58. package/cjs/domain/context/contextUtils.js +11 -12
  59. package/cjs/domain/context/contextUtils.js.map +1 -1
  60. package/cjs/domain/context/defineContextMethod.d.ts +2 -2
  61. package/cjs/domain/context/defineContextMethod.js +15 -16
  62. package/cjs/domain/context/defineContextMethod.js.map +1 -1
  63. package/cjs/domain/context/storeContextManager.d.ts +1 -2
  64. package/cjs/domain/context/storeContextManager.js +31 -33
  65. package/cjs/domain/context/storeContextManager.js.map +1 -1
  66. package/cjs/domain/contexts/accountContext.d.ts +2 -2
  67. package/cjs/domain/contexts/accountContext.js +26 -29
  68. package/cjs/domain/contexts/accountContext.js.map +1 -1
  69. package/cjs/domain/contexts/globalContext.d.ts +2 -2
  70. package/cjs/domain/contexts/globalContext.js +17 -17
  71. package/cjs/domain/contexts/globalContext.js.map +1 -1
  72. package/cjs/domain/contexts/tabContext.d.ts +4 -0
  73. package/cjs/domain/contexts/tabContext.js +28 -0
  74. package/cjs/domain/contexts/tabContext.js.map +1 -0
  75. package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
  76. package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
  77. package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
  78. package/cjs/domain/contexts/userContext.d.ts +8 -3
  79. package/cjs/domain/contexts/userContext.js +79 -114
  80. package/cjs/domain/contexts/userContext.js.map +1 -1
  81. package/cjs/domain/deflate/deflate.types.js +11 -2
  82. package/cjs/domain/deflate/deflate.types.js.map +1 -1
  83. package/cjs/domain/error/error.d.ts +14 -6
  84. package/cjs/domain/error/error.js +101 -70
  85. package/cjs/domain/error/error.js.map +1 -1
  86. package/cjs/domain/error/error.types.d.ts +6 -4
  87. package/cjs/domain/error/error.types.js +24 -11
  88. package/cjs/domain/error/error.types.js.map +1 -1
  89. package/cjs/domain/error/isError.d.ts +2 -0
  90. package/cjs/domain/error/isError.js +14 -0
  91. package/cjs/domain/error/isError.js.map +1 -0
  92. package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
  93. package/cjs/domain/error/trackRuntimeError.js +44 -41
  94. package/cjs/domain/error/trackRuntimeError.js.map +1 -1
  95. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +1 -2
  96. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +28 -38
  97. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
  98. package/cjs/domain/extension/extensionUtils.js +20 -25
  99. package/cjs/domain/extension/extensionUtils.js.map +1 -1
  100. package/cjs/domain/geo/geocoding.js +64 -0
  101. package/cjs/domain/geo/geocoding.js.map +1 -0
  102. package/cjs/domain/geo/geolocation.js +72 -0
  103. package/cjs/domain/geo/geolocation.js.map +1 -0
  104. package/cjs/domain/report/reportObservable.d.ts +1 -2
  105. package/cjs/domain/report/reportObservable.js +76 -85
  106. package/cjs/domain/report/reportObservable.js.map +1 -1
  107. package/cjs/domain/resourceUtils.d.ts +1 -0
  108. package/cjs/domain/resourceUtils.js +20 -17
  109. package/cjs/domain/resourceUtils.js.map +1 -1
  110. package/cjs/domain/sampler.d.ts +11 -0
  111. package/cjs/domain/sampler.js +40 -0
  112. package/cjs/domain/sampler.js.map +1 -0
  113. package/cjs/domain/session/sessionConstants.d.ts +1 -0
  114. package/cjs/domain/session/sessionConstants.js +19 -13
  115. package/cjs/domain/session/sessionConstants.js.map +1 -1
  116. package/cjs/domain/session/sessionManager.d.ts +21 -13
  117. package/cjs/domain/session/sessionManager.js +254 -191
  118. package/cjs/domain/session/sessionManager.js.map +1 -1
  119. package/cjs/domain/session/sessionState.d.ts +10 -1
  120. package/cjs/domain/session/sessionState.js +72 -56
  121. package/cjs/domain/session/sessionState.js.map +1 -1
  122. package/cjs/domain/session/sessionStateValidation.js +7 -8
  123. package/cjs/domain/session/sessionStateValidation.js.map +1 -1
  124. package/cjs/domain/session/sessionStore.d.ts +4 -33
  125. package/cjs/domain/session/sessionStore.js +41 -181
  126. package/cjs/domain/session/sessionStore.js.map +1 -1
  127. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
  128. package/cjs/domain/session/storeStrategies/sessionInCookie.js +90 -96
  129. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
  130. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
  131. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
  132. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
  133. package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
  134. package/cjs/domain/session/storeStrategies/sessionInMemory.js +36 -0
  135. package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
  136. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
  137. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
  138. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
  139. package/cjs/domain/sourceCodeContext.d.ts +22 -0
  140. package/cjs/domain/sourceCodeContext.js +56 -0
  141. package/cjs/domain/sourceCodeContext.js.map +1 -0
  142. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
  143. package/cjs/domain/synthetics/syntheticsWorkerValues.js +37 -25
  144. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
  145. package/cjs/domain/tags.d.ts +1 -2
  146. package/cjs/domain/tags.js +23 -57
  147. package/cjs/domain/tags.js.map +1 -1
  148. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
  149. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
  150. package/cjs/domain/telemetry/telemetry.d.ts +7 -8
  151. package/cjs/domain/telemetry/telemetry.js +192 -215
  152. package/cjs/domain/telemetry/telemetry.js.map +1 -1
  153. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +161 -16
  154. package/cjs/domain/trackingConsent.d.ts +1 -0
  155. package/cjs/domain/trackingConsent.js +35 -24
  156. package/cjs/domain/trackingConsent.js.map +1 -1
  157. package/cjs/domain/userAgentData/userAgentData.js +65 -96
  158. package/cjs/domain/userAgentData/userAgentData.js.map +1 -1
  159. package/cjs/index.d.ts +34 -30
  160. package/cjs/index.js +297 -213
  161. package/cjs/tools/abstractLifeCycle.js +19 -26
  162. package/cjs/tools/abstractLifeCycle.js.map +1 -1
  163. package/cjs/tools/catchUserErrors.js +12 -12
  164. package/cjs/tools/catchUserErrors.js.map +1 -1
  165. package/cjs/tools/display.d.ts +1 -37
  166. package/cjs/tools/display.js +8 -43
  167. package/cjs/tools/display.js.map +1 -1
  168. package/cjs/tools/encoder.js +36 -37
  169. package/cjs/tools/encoder.js.map +1 -1
  170. package/cjs/tools/experimentalFeatures.d.ts +1 -4
  171. package/cjs/tools/experimentalFeatures.js +29 -40
  172. package/cjs/tools/experimentalFeatures.js.map +1 -1
  173. package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
  174. package/cjs/tools/getZoneJsOriginalValue.js +22 -25
  175. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
  176. package/cjs/tools/instrumentMethod.d.ts +57 -0
  177. package/cjs/tools/instrumentMethod.js +179 -112
  178. package/cjs/tools/instrumentMethod.js.map +1 -1
  179. package/cjs/tools/matchOption.d.ts +0 -1
  180. package/cjs/tools/matchOption.js +21 -31
  181. package/cjs/tools/matchOption.js.map +1 -1
  182. package/cjs/tools/mockable.d.ts +22 -0
  183. package/cjs/tools/mockable.js +28 -0
  184. package/cjs/tools/mockable.js.map +1 -0
  185. package/cjs/tools/observable.d.ts +3 -1
  186. package/cjs/tools/observable.js +75 -85
  187. package/cjs/tools/observable.js.map +1 -1
  188. package/cjs/tools/queueMicrotask.js +9 -14
  189. package/cjs/tools/queueMicrotask.js.map +1 -1
  190. package/cjs/tools/readBytesFromStream.d.ts +1 -6
  191. package/cjs/tools/readBytesFromStream.js +18 -25
  192. package/cjs/tools/readBytesFromStream.js.map +1 -1
  193. package/cjs/tools/requestIdleCallback.js +23 -29
  194. package/cjs/tools/requestIdleCallback.js.map +1 -1
  195. package/cjs/tools/sendToExtension.js +10 -8
  196. package/cjs/tools/sendToExtension.js.map +1 -1
  197. package/cjs/tools/serialisation/jsonStringify.js +37 -42
  198. package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
  199. package/cjs/tools/serialisation/sanitize.d.ts +1 -0
  200. package/cjs/tools/serialisation/sanitize.js +112 -167
  201. package/cjs/tools/serialisation/sanitize.js.map +1 -1
  202. package/cjs/tools/serialisation/stringify.d.ts +2 -0
  203. package/cjs/tools/serialisation/stringify.js +18 -0
  204. package/cjs/tools/serialisation/stringify.js.map +1 -0
  205. package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
  206. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
  207. package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
  208. package/cjs/tools/stackTrace/handlingStack.js +39 -38
  209. package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
  210. package/cjs/tools/taskQueue.js +40 -49
  211. package/cjs/tools/taskQueue.js.map +1 -1
  212. package/cjs/tools/thenable.d.ts +8 -0
  213. package/cjs/tools/thenable.js +27 -0
  214. package/cjs/tools/thenable.js.map +1 -0
  215. package/cjs/tools/timer.d.ts +2 -1
  216. package/cjs/tools/timer.js +14 -13
  217. package/cjs/tools/timer.js.map +1 -1
  218. package/cjs/tools/utils/arrayUtils.d.ts +1 -0
  219. package/cjs/tools/utils/arrayUtils.js +17 -13
  220. package/cjs/tools/utils/arrayUtils.js.map +1 -1
  221. package/cjs/tools/utils/browserDetection.d.ts +1 -0
  222. package/cjs/tools/utils/browserDetection.js +25 -23
  223. package/cjs/tools/utils/browserDetection.js.map +1 -1
  224. package/cjs/tools/utils/byteUtils.js +20 -28
  225. package/cjs/tools/utils/byteUtils.js.map +1 -1
  226. package/cjs/tools/utils/functionUtils.js +33 -40
  227. package/cjs/tools/utils/functionUtils.js.map +1 -1
  228. package/cjs/tools/utils/numberUtils.d.ts +0 -6
  229. package/cjs/tools/utils/numberUtils.js +7 -18
  230. package/cjs/tools/utils/numberUtils.js.map +1 -1
  231. package/cjs/tools/utils/objectUtils.d.ts +2 -0
  232. package/cjs/tools/utils/objectUtils.js +27 -14
  233. package/cjs/tools/utils/objectUtils.js.map +1 -1
  234. package/cjs/tools/utils/polyfills.js +12 -16
  235. package/cjs/tools/utils/polyfills.js.map +1 -1
  236. package/cjs/tools/utils/responseUtils.js +11 -12
  237. package/cjs/tools/utils/responseUtils.js.map +1 -1
  238. package/cjs/tools/utils/stringUtils.d.ts +9 -0
  239. package/cjs/tools/utils/stringUtils.js +73 -77
  240. package/cjs/tools/utils/stringUtils.js.map +1 -1
  241. package/cjs/tools/utils/timezone.js +9 -10
  242. package/cjs/tools/utils/timezone.js.map +1 -1
  243. package/cjs/tools/valueHistory.d.ts +16 -3
  244. package/cjs/tools/valueHistory.js +113 -99
  245. package/cjs/tools/valueHistory.js.map +1 -1
  246. package/cjs/transport/batch.d.ts +11 -7
  247. package/cjs/transport/batch.js +93 -106
  248. package/cjs/transport/batch.js.map +1 -1
  249. package/cjs/transport/eventBridge.d.ts +6 -2
  250. package/cjs/transport/eventBridge.js +54 -38
  251. package/cjs/transport/eventBridge.js.map +1 -1
  252. package/cjs/transport/flushController.d.ts +6 -15
  253. package/cjs/transport/flushController.js +99 -118
  254. package/cjs/transport/flushController.js.map +1 -1
  255. package/cjs/transport/httpRequest.d.ts +8 -9
  256. package/cjs/transport/httpRequest.js +61 -97
  257. package/cjs/transport/httpRequest.js.map +1 -1
  258. package/cjs/transport/index.d.ts +3 -2
  259. package/cjs/transport/sendWithRetryStrategy.d.ts +9 -4
  260. package/cjs/transport/sendWithRetryStrategy.js +144 -148
  261. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  262. package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
  263. package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
  264. package/esm/boot/init.mjs +30 -0
  265. package/esm/boot/init.mjs.map +1 -0
  266. package/esm/browser/addEventListener.mjs +107 -0
  267. package/esm/browser/addEventListener.mjs.map +1 -0
  268. package/esm/browser/cookie.mjs +92 -0
  269. package/esm/browser/cookie.mjs.map +1 -0
  270. package/esm/browser/cookieAccess.mjs +124 -0
  271. package/esm/browser/cookieAccess.mjs.map +1 -0
  272. package/esm/browser/fetch.mjs +18 -0
  273. package/esm/browser/fetch.mjs.map +1 -0
  274. package/esm/browser/fetchObservable.mjs +89 -0
  275. package/esm/browser/fetchObservable.mjs.map +1 -0
  276. package/esm/browser/pageMayExitObservable.mjs +56 -0
  277. package/esm/browser/pageMayExitObservable.mjs.map +1 -0
  278. package/esm/browser/runOnReadyState.mjs +19 -0
  279. package/esm/browser/runOnReadyState.mjs.map +1 -0
  280. package/esm/browser/webSocketObservable.mjs +92 -0
  281. package/esm/browser/webSocketObservable.mjs.map +1 -0
  282. package/esm/browser/xhrObservable.mjs +73 -0
  283. package/esm/browser/xhrObservable.mjs.map +1 -0
  284. package/esm/domain/allowedTrackingOrigins.mjs +27 -0
  285. package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
  286. package/esm/domain/bufferedData.mjs +43 -0
  287. package/esm/domain/bufferedData.mjs.map +1 -0
  288. package/esm/domain/configuration/configuration.mjs +163 -0
  289. package/esm/domain/configuration/configuration.mjs.map +1 -0
  290. package/esm/domain/configuration/remoteSdkConfig.mjs +163 -0
  291. package/esm/domain/configuration/remoteSdkConfig.mjs.map +1 -0
  292. package/esm/domain/connectivity/connectivity.mjs +16 -0
  293. package/esm/domain/connectivity/connectivity.mjs.map +1 -0
  294. package/esm/domain/console/consoleObservable.mjs +72 -0
  295. package/esm/domain/console/consoleObservable.mjs.map +1 -0
  296. package/esm/domain/context/contextConstants.mjs +25 -0
  297. package/esm/domain/context/contextConstants.mjs.map +1 -0
  298. package/esm/domain/context/contextManager.mjs +55 -0
  299. package/esm/domain/context/contextManager.mjs.map +1 -0
  300. package/esm/domain/context/contextUtils.mjs +15 -0
  301. package/esm/domain/context/contextUtils.mjs.map +1 -0
  302. package/esm/domain/context/defineContextMethod.mjs +19 -0
  303. package/esm/domain/context/defineContextMethod.mjs.map +1 -0
  304. package/esm/domain/context/storeContextManager.mjs +36 -0
  305. package/esm/domain/context/storeContextManager.mjs.map +1 -0
  306. package/esm/domain/contexts/accountContext.mjs +29 -0
  307. package/esm/domain/contexts/accountContext.mjs.map +1 -0
  308. package/esm/domain/contexts/globalContext.mjs +20 -0
  309. package/esm/domain/contexts/globalContext.mjs.map +1 -0
  310. package/esm/domain/contexts/tabContext.mjs +27 -0
  311. package/esm/domain/contexts/tabContext.mjs.map +1 -0
  312. package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
  313. package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
  314. package/esm/domain/contexts/userContext.mjs +88 -0
  315. package/esm/domain/contexts/userContext.mjs.map +1 -0
  316. package/esm/domain/deflate/deflate.types.mjs +12 -0
  317. package/esm/domain/deflate/deflate.types.mjs.map +1 -0
  318. package/esm/domain/error/error.mjs +104 -0
  319. package/esm/domain/error/error.mjs.map +1 -0
  320. package/esm/domain/error/error.types.mjs +24 -0
  321. package/esm/domain/error/error.types.mjs.map +1 -0
  322. package/esm/domain/error/isError.mjs +13 -0
  323. package/esm/domain/error/isError.mjs.map +1 -0
  324. package/esm/domain/error/trackRuntimeError.mjs +49 -0
  325. package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
  326. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +31 -0
  327. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
  328. package/esm/domain/extension/extensionUtils.mjs +23 -0
  329. package/esm/domain/extension/extensionUtils.mjs.map +1 -0
  330. package/esm/domain/geo/geocoding.mjs +60 -0
  331. package/esm/domain/geo/geocoding.mjs.map +1 -0
  332. package/esm/domain/geo/geolocation.mjs +69 -0
  333. package/esm/domain/geo/geolocation.mjs.map +1 -0
  334. package/esm/domain/report/reportObservable.mjs +89 -0
  335. package/esm/domain/report/reportObservable.mjs.map +1 -0
  336. package/esm/domain/resourceUtils.mjs +22 -0
  337. package/esm/domain/resourceUtils.mjs.map +1 -0
  338. package/esm/domain/sampler.mjs +37 -0
  339. package/esm/domain/sampler.mjs.map +1 -0
  340. package/esm/domain/session/sessionConstants.mjs +18 -0
  341. package/esm/domain/session/sessionConstants.mjs.map +1 -0
  342. package/esm/domain/session/sessionManager.mjs +258 -0
  343. package/esm/domain/session/sessionManager.mjs.map +1 -0
  344. package/esm/domain/session/sessionState.mjs +76 -0
  345. package/esm/domain/session/sessionState.mjs.map +1 -0
  346. package/esm/domain/session/sessionStateValidation.mjs +9 -0
  347. package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
  348. package/esm/domain/session/sessionStore.mjs +45 -0
  349. package/esm/domain/session/sessionStore.mjs.map +1 -0
  350. package/esm/domain/session/storeStrategies/sessionInCookie.mjs +96 -0
  351. package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
  352. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
  353. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
  354. package/esm/domain/session/storeStrategies/sessionInMemory.mjs +34 -0
  355. package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
  356. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
  357. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
  358. package/esm/domain/sourceCodeContext.mjs +55 -0
  359. package/esm/domain/sourceCodeContext.mjs.map +1 -0
  360. package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
  361. package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
  362. package/esm/domain/tags.mjs +29 -0
  363. package/esm/domain/tags.mjs.map +1 -0
  364. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
  365. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
  366. package/esm/domain/telemetry/telemetry.mjs +210 -0
  367. package/esm/domain/telemetry/telemetry.mjs.map +1 -0
  368. package/esm/domain/trackingConsent.mjs +38 -0
  369. package/esm/domain/trackingConsent.mjs.map +1 -0
  370. package/esm/domain/userAgentData/userAgentData.mjs +77 -0
  371. package/esm/domain/userAgentData/userAgentData.mjs.map +1 -0
  372. package/esm/index.mjs +85 -0
  373. package/esm/tools/abstractLifeCycle.mjs +21 -0
  374. package/esm/tools/abstractLifeCycle.mjs.map +1 -0
  375. package/esm/tools/catchUserErrors.mjs +15 -0
  376. package/esm/tools/catchUserErrors.mjs.map +1 -0
  377. package/esm/tools/display.mjs +8 -0
  378. package/esm/tools/display.mjs.map +1 -0
  379. package/esm/tools/encoder.mjs +39 -0
  380. package/esm/tools/encoder.mjs.map +1 -0
  381. package/esm/tools/experimentalFeatures.mjs +35 -0
  382. package/esm/tools/experimentalFeatures.mjs.map +1 -0
  383. package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
  384. package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
  385. package/esm/tools/instrumentMethod.mjs +183 -0
  386. package/esm/tools/instrumentMethod.mjs.map +1 -0
  387. package/esm/tools/matchOption.mjs +25 -0
  388. package/esm/tools/matchOption.mjs.map +1 -0
  389. package/esm/tools/mockable.mjs +28 -0
  390. package/esm/tools/mockable.mjs.map +1 -0
  391. package/esm/tools/observable.mjs +77 -0
  392. package/esm/tools/observable.mjs.map +1 -0
  393. package/esm/tools/queueMicrotask.mjs +12 -0
  394. package/esm/tools/queueMicrotask.mjs.map +1 -0
  395. package/esm/tools/readBytesFromStream.mjs +21 -0
  396. package/esm/tools/readBytesFromStream.mjs.map +1 -0
  397. package/esm/tools/requestIdleCallback.mjs +28 -0
  398. package/esm/tools/requestIdleCallback.mjs.map +1 -0
  399. package/esm/tools/sendToExtension.mjs +13 -0
  400. package/esm/tools/sendToExtension.mjs.map +1 -0
  401. package/esm/tools/serialisation/jsonStringify.mjs +42 -0
  402. package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
  403. package/esm/tools/serialisation/sanitize.mjs +132 -0
  404. package/esm/tools/serialisation/sanitize.mjs.map +1 -0
  405. package/esm/tools/serialisation/stringify.mjs +17 -0
  406. package/esm/tools/serialisation/stringify.mjs.map +1 -0
  407. package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
  408. package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
  409. package/esm/tools/stackTrace/handlingStack.mjs +45 -0
  410. package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
  411. package/esm/tools/taskQueue.mjs +45 -0
  412. package/esm/tools/taskQueue.mjs.map +1 -0
  413. package/esm/tools/thenable.mjs +24 -0
  414. package/esm/tools/thenable.mjs.map +1 -0
  415. package/esm/tools/timer.mjs +20 -0
  416. package/esm/tools/timer.mjs.map +1 -0
  417. package/esm/tools/utils/arrayUtils.mjs +21 -0
  418. package/esm/tools/utils/arrayUtils.mjs.map +1 -0
  419. package/esm/tools/utils/browserDetection.mjs +31 -0
  420. package/esm/tools/utils/browserDetection.mjs.map +1 -0
  421. package/esm/tools/utils/byteUtils.mjs +23 -0
  422. package/esm/tools/utils/byteUtils.mjs.map +1 -0
  423. package/esm/tools/utils/functionUtils.mjs +35 -0
  424. package/esm/tools/utils/functionUtils.mjs.map +1 -0
  425. package/esm/tools/utils/numberUtils.mjs +11 -0
  426. package/esm/tools/utils/numberUtils.mjs.map +1 -0
  427. package/esm/tools/utils/objectUtils.mjs +31 -0
  428. package/esm/tools/utils/objectUtils.mjs.map +1 -0
  429. package/esm/tools/utils/polyfills.mjs +17 -0
  430. package/esm/tools/utils/polyfills.mjs.map +1 -0
  431. package/esm/tools/utils/responseUtils.mjs +15 -0
  432. package/esm/tools/utils/responseUtils.mjs.map +1 -0
  433. package/esm/tools/utils/stringUtils.mjs +81 -0
  434. package/esm/tools/utils/stringUtils.mjs.map +1 -0
  435. package/esm/tools/utils/timezone.mjs +12 -0
  436. package/esm/tools/utils/timezone.mjs.map +1 -0
  437. package/esm/tools/valueHistory.mjs +117 -0
  438. package/esm/tools/valueHistory.mjs.map +1 -0
  439. package/esm/transport/batch.mjs +96 -0
  440. package/esm/transport/batch.mjs.map +1 -0
  441. package/esm/transport/eventBridge.mjs +58 -0
  442. package/esm/transport/eventBridge.mjs.map +1 -0
  443. package/esm/transport/flushController.mjs +103 -0
  444. package/esm/transport/flushController.mjs.map +1 -0
  445. package/esm/transport/httpRequest.mjs +69 -0
  446. package/esm/transport/httpRequest.mjs.map +1 -0
  447. package/esm/transport/sendWithRetryStrategy.mjs +154 -0
  448. package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
  449. package/package.json +20 -11
  450. package/src/boot/displayAlreadyInitializedError.ts +4 -1
  451. package/src/boot/init.ts +3 -2
  452. package/src/browser/addEventListener.ts +43 -8
  453. package/src/browser/browser.types.ts +0 -32
  454. package/src/browser/cookie.ts +45 -30
  455. package/src/browser/cookieAccess.ts +172 -0
  456. package/src/browser/fetch.ts +14 -0
  457. package/src/browser/fetchObservable.ts +25 -26
  458. package/src/browser/pageMayExitObservable.ts +9 -5
  459. package/src/browser/runOnReadyState.ts +3 -8
  460. package/src/browser/webSocketObservable.ts +181 -0
  461. package/src/browser/xhrObservable.ts +22 -13
  462. package/src/domain/allowedTrackingOrigins.ts +7 -6
  463. package/src/domain/bufferedData.ts +41 -14
  464. package/src/domain/configuration/configuration.ts +121 -171
  465. package/src/domain/configuration/index.ts +6 -7
  466. package/src/domain/configuration/remoteSdkConfig.ts +65 -16
  467. package/src/domain/connectivity/connectivity.ts +11 -23
  468. package/src/domain/console/consoleObservable.ts +9 -5
  469. package/src/domain/context/contextManager.ts +6 -2
  470. package/src/domain/context/contextUtils.ts +1 -1
  471. package/src/domain/context/defineContextMethod.ts +4 -4
  472. package/src/domain/context/storeContextManager.ts +9 -6
  473. package/src/domain/contexts/accountContext.ts +5 -5
  474. package/src/domain/contexts/globalContext.ts +4 -5
  475. package/src/domain/contexts/tabContext.ts +43 -0
  476. package/src/domain/contexts/telemetrySessionContext.ts +26 -0
  477. package/src/domain/contexts/userContext.ts +21 -16
  478. package/src/domain/error/error.ts +83 -35
  479. package/src/domain/error/error.types.ts +6 -4
  480. package/src/domain/error/isError.ts +13 -0
  481. package/src/domain/error/trackRuntimeError.ts +11 -4
  482. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +3 -9
  483. package/src/{tools/utils → domain/geo}/geocoding.ts +7 -18
  484. package/src/{tools/utils → domain/geo}/geolocation.ts +1 -1
  485. package/src/domain/report/reportObservable.ts +15 -8
  486. package/src/domain/resourceUtils.ts +1 -0
  487. package/src/domain/sampler.ts +59 -0
  488. package/src/domain/session/sessionConstants.ts +2 -1
  489. package/src/domain/session/sessionManager.ts +347 -178
  490. package/src/domain/session/sessionState.ts +71 -10
  491. package/src/domain/session/sessionStore.ts +53 -226
  492. package/src/domain/session/storeStrategies/sessionInCookie.ts +122 -107
  493. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
  494. package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
  495. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
  496. package/src/domain/sourceCodeContext.ts +100 -0
  497. package/src/domain/synthetics/syntheticsWorkerValues.ts +47 -15
  498. package/src/domain/tags.ts +5 -19
  499. package/src/domain/telemetry/rawTelemetryEvent.types.ts +1 -1
  500. package/src/domain/telemetry/telemetry.ts +44 -52
  501. package/src/domain/telemetry/telemetryEvent.types.ts +177 -19
  502. package/src/domain/trackingConsent.ts +18 -3
  503. package/src/domain/userAgentData/userAgentData.ts +1 -1
  504. package/src/index.ts +59 -43
  505. package/src/tools/display.ts +2 -52
  506. package/src/tools/experimentalFeatures.ts +3 -4
  507. package/src/tools/getZoneJsOriginalValue.ts +3 -3
  508. package/src/tools/instrumentMethod.ts +228 -18
  509. package/src/tools/matchOption.ts +2 -6
  510. package/src/tools/mockable.ts +32 -0
  511. package/src/tools/observable.ts +11 -2
  512. package/src/tools/queueMicrotask.ts +8 -3
  513. package/src/tools/readBytesFromStream.ts +3 -12
  514. package/src/tools/requestIdleCallback.ts +2 -2
  515. package/src/tools/sendToExtension.ts +1 -1
  516. package/src/tools/serialisation/sanitize.ts +71 -64
  517. package/src/tools/serialisation/stringify.ts +18 -0
  518. package/src/tools/stackTrace/computeStackTrace.ts +19 -19
  519. package/src/tools/stackTrace/handlingStack.ts +15 -2
  520. package/src/tools/taskQueue.ts +5 -3
  521. package/src/tools/thenable.ts +23 -0
  522. package/src/tools/timer.ts +8 -7
  523. package/src/tools/utils/arrayUtils.ts +8 -2
  524. package/src/tools/utils/browserDetection.ts +8 -0
  525. package/src/tools/utils/byteUtils.ts +2 -6
  526. package/src/tools/utils/functionUtils.ts +2 -2
  527. package/src/tools/utils/numberUtils.ts +0 -12
  528. package/src/tools/utils/objectUtils.ts +20 -0
  529. package/src/tools/utils/stringUtils.ts +23 -1
  530. package/src/tools/valueHistory.ts +59 -18
  531. package/src/transport/batch.ts +50 -31
  532. package/src/transport/eventBridge.ts +24 -10
  533. package/src/transport/flushController.ts +22 -30
  534. package/src/transport/httpRequest.ts +18 -47
  535. package/src/transport/index.ts +3 -2
  536. package/src/transport/sendWithRetryStrategy.ts +29 -17
  537. package/cjs/browser/browser.types.js +0 -6
  538. package/cjs/browser/browser.types.js.map +0 -1
  539. package/cjs/domain/configuration/endpointBuilder.d.ts +0 -12
  540. package/cjs/domain/configuration/endpointBuilder.js +0 -66
  541. package/cjs/domain/configuration/endpointBuilder.js.map +0 -1
  542. package/cjs/domain/configuration/index.js +0 -44
  543. package/cjs/domain/configuration/index.js.map +0 -1
  544. package/cjs/domain/configuration/transportConfiguration.d.ts +0 -21
  545. package/cjs/domain/configuration/transportConfiguration.js +0 -58
  546. package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
  547. package/cjs/domain/connectivity/index.js +0 -18
  548. package/cjs/domain/connectivity/index.js.map +0 -1
  549. package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
  550. package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
  551. package/cjs/domain/deflate/index.js +0 -18
  552. package/cjs/domain/deflate/index.js.map +0 -1
  553. package/cjs/domain/intakeSites.d.ts +0 -4
  554. package/cjs/domain/intakeSites.js +0 -7
  555. package/cjs/domain/intakeSites.js.map +0 -1
  556. package/cjs/domain/report/browser.types.js +0 -3
  557. package/cjs/domain/report/browser.types.js.map +0 -1
  558. package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
  559. package/cjs/domain/session/oldCookiesMigration.js +0 -40
  560. package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
  561. package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
  562. package/cjs/domain/session/sessionStoreOperations.js +0 -119
  563. package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
  564. package/cjs/domain/telemetry/index.js +0 -28
  565. package/cjs/domain/telemetry/index.js.map +0 -1
  566. package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
  567. package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
  568. package/cjs/domain/userAgentData/index.js +0 -18
  569. package/cjs/domain/userAgentData/index.js.map +0 -1
  570. package/cjs/index.js.map +0 -1
  571. package/cjs/tools/abstractHooks.d.ts +0 -24
  572. package/cjs/tools/abstractHooks.js +0 -41
  573. package/cjs/tools/abstractHooks.js.map +0 -1
  574. package/cjs/tools/boundedBuffer.d.ts +0 -16
  575. package/cjs/tools/boundedBuffer.js +0 -32
  576. package/cjs/tools/boundedBuffer.js.map +0 -1
  577. package/cjs/tools/globalObject.d.ts +0 -19
  578. package/cjs/tools/globalObject.js +0 -44
  579. package/cjs/tools/globalObject.js.map +0 -1
  580. package/cjs/tools/mergeInto.d.ts +0 -25
  581. package/cjs/tools/mergeInto.js +0 -98
  582. package/cjs/tools/mergeInto.js.map +0 -1
  583. package/cjs/tools/monitor.d.ts +0 -9
  584. package/cjs/tools/monitor.js +0 -61
  585. package/cjs/tools/monitor.js.map +0 -1
  586. package/cjs/tools/serialisation/context.js +0 -3
  587. package/cjs/tools/serialisation/context.js.map +0 -1
  588. package/cjs/tools/utils/geocoding.js +0 -80
  589. package/cjs/tools/utils/geocoding.js.map +0 -1
  590. package/cjs/tools/utils/geolocation.js +0 -77
  591. package/cjs/tools/utils/geolocation.js.map +0 -1
  592. package/cjs/tools/utils/timeUtils.d.ts +0 -53
  593. package/cjs/tools/utils/timeUtils.js +0 -101
  594. package/cjs/tools/utils/timeUtils.js.map +0 -1
  595. package/cjs/tools/utils/typeUtils.d.ts +0 -4
  596. package/cjs/tools/utils/typeUtils.js +0 -16
  597. package/cjs/tools/utils/typeUtils.js.map +0 -1
  598. package/cjs/tools/utils/urlPolyfill.d.ts +0 -5
  599. package/cjs/tools/utils/urlPolyfill.js +0 -59
  600. package/cjs/tools/utils/urlPolyfill.js.map +0 -1
  601. package/cjs/transport/index.js +0 -15
  602. package/cjs/transport/index.js.map +0 -1
  603. package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
  604. package/esm/boot/displayAlreadyInitializedError.js +0 -7
  605. package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
  606. package/esm/boot/init.d.ts +0 -13
  607. package/esm/boot/init.js +0 -35
  608. package/esm/boot/init.js.map +0 -1
  609. package/esm/browser/addEventListener.d.ts +0 -87
  610. package/esm/browser/addEventListener.js +0 -51
  611. package/esm/browser/addEventListener.js.map +0 -1
  612. package/esm/browser/browser.types.d.ts +0 -51
  613. package/esm/browser/browser.types.js +0 -5
  614. package/esm/browser/browser.types.js.map +0 -1
  615. package/esm/browser/cookie.d.ts +0 -26
  616. package/esm/browser/cookie.js +0 -101
  617. package/esm/browser/cookie.js.map +0 -1
  618. package/esm/browser/fetchObservable.d.ts +0 -38
  619. package/esm/browser/fetchObservable.js +0 -99
  620. package/esm/browser/fetchObservable.js.map +0 -1
  621. package/esm/browser/pageMayExitObservable.d.ts +0 -14
  622. package/esm/browser/pageMayExitObservable.js +0 -51
  623. package/esm/browser/pageMayExitObservable.js.map +0 -1
  624. package/esm/browser/runOnReadyState.d.ts +0 -5
  625. package/esm/browser/runOnReadyState.js +0 -16
  626. package/esm/browser/runOnReadyState.js.map +0 -1
  627. package/esm/browser/xhrObservable.d.ts +0 -24
  628. package/esm/browser/xhrObservable.js +0 -83
  629. package/esm/browser/xhrObservable.js.map +0 -1
  630. package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
  631. package/esm/domain/allowedTrackingOrigins.js +0 -21
  632. package/esm/domain/allowedTrackingOrigins.js.map +0 -1
  633. package/esm/domain/bufferedData.d.ts +0 -14
  634. package/esm/domain/bufferedData.js +0 -19
  635. package/esm/domain/bufferedData.js.map +0 -1
  636. package/esm/domain/configuration/configuration.d.ts +0 -284
  637. package/esm/domain/configuration/configuration.js +0 -129
  638. package/esm/domain/configuration/configuration.js.map +0 -1
  639. package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
  640. package/esm/domain/configuration/endpointBuilder.js +0 -62
  641. package/esm/domain/configuration/endpointBuilder.js.map +0 -1
  642. package/esm/domain/configuration/index.d.ts +0 -8
  643. package/esm/domain/configuration/index.js +0 -6
  644. package/esm/domain/configuration/index.js.map +0 -1
  645. package/esm/domain/configuration/remoteSdkConfig.d.ts +0 -81
  646. package/esm/domain/configuration/remoteSdkConfig.js +0 -172
  647. package/esm/domain/configuration/remoteSdkConfig.js.map +0 -1
  648. package/esm/domain/configuration/transportConfiguration.d.ts +0 -21
  649. package/esm/domain/configuration/transportConfiguration.js +0 -54
  650. package/esm/domain/configuration/transportConfiguration.js.map +0 -1
  651. package/esm/domain/connectivity/connectivity.d.ts +0 -18
  652. package/esm/domain/connectivity/connectivity.js +0 -13
  653. package/esm/domain/connectivity/connectivity.js.map +0 -1
  654. package/esm/domain/connectivity/index.d.ts +0 -1
  655. package/esm/domain/connectivity/index.js +0 -2
  656. package/esm/domain/connectivity/index.js.map +0 -1
  657. package/esm/domain/console/consoleObservable.d.ts +0 -21
  658. package/esm/domain/console/consoleObservable.js +0 -80
  659. package/esm/domain/console/consoleObservable.js.map +0 -1
  660. package/esm/domain/context/contextConstants.d.ts +0 -21
  661. package/esm/domain/context/contextConstants.js +0 -15
  662. package/esm/domain/context/contextConstants.js.map +0 -1
  663. package/esm/domain/context/contextManager.d.ts +0 -19
  664. package/esm/domain/context/contextManager.js +0 -56
  665. package/esm/domain/context/contextManager.js.map +0 -1
  666. package/esm/domain/context/contextUtils.d.ts +0 -5
  667. package/esm/domain/context/contextUtils.js +0 -13
  668. package/esm/domain/context/contextUtils.js.map +0 -1
  669. package/esm/domain/context/defineContextMethod.d.ts +0 -6
  670. package/esm/domain/context/defineContextMethod.js +0 -17
  671. package/esm/domain/context/defineContextMethod.js.map +0 -1
  672. package/esm/domain/context/storeContextManager.d.ts +0 -6
  673. package/esm/domain/context/storeContextManager.js +0 -35
  674. package/esm/domain/context/storeContextManager.js.map +0 -1
  675. package/esm/domain/contexts/accountContext.d.ts +0 -26
  676. package/esm/domain/contexts/accountContext.js +0 -29
  677. package/esm/domain/contexts/accountContext.js.map +0 -1
  678. package/esm/domain/contexts/globalContext.d.ts +0 -18
  679. package/esm/domain/contexts/globalContext.js +0 -17
  680. package/esm/domain/contexts/globalContext.js.map +0 -1
  681. package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
  682. package/esm/domain/contexts/rumInternalContext.type.js +0 -2
  683. package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
  684. package/esm/domain/contexts/userContext.d.ts +0 -32
  685. package/esm/domain/contexts/userContext.js +0 -120
  686. package/esm/domain/contexts/userContext.js.map +0 -1
  687. package/esm/domain/deflate/deflate.types.d.ts +0 -40
  688. package/esm/domain/deflate/deflate.types.js +0 -2
  689. package/esm/domain/deflate/deflate.types.js.map +0 -1
  690. package/esm/domain/deflate/index.d.ts +0 -1
  691. package/esm/domain/deflate/index.js +0 -2
  692. package/esm/domain/deflate/index.js.map +0 -1
  693. package/esm/domain/error/error.d.ts +0 -23
  694. package/esm/domain/error/error.js +0 -72
  695. package/esm/domain/error/error.js.map +0 -1
  696. package/esm/domain/error/error.types.d.ts +0 -47
  697. package/esm/domain/error/error.types.js +0 -10
  698. package/esm/domain/error/error.types.js.map +0 -1
  699. package/esm/domain/error/trackRuntimeError.d.ts +0 -11
  700. package/esm/domain/error/trackRuntimeError.js +0 -43
  701. package/esm/domain/error/trackRuntimeError.js.map +0 -1
  702. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
  703. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
  704. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
  705. package/esm/domain/extension/extensionUtils.d.ts +0 -10
  706. package/esm/domain/extension/extensionUtils.js +0 -25
  707. package/esm/domain/extension/extensionUtils.js.map +0 -1
  708. package/esm/domain/intakeSites.d.ts +0 -4
  709. package/esm/domain/intakeSites.js +0 -4
  710. package/esm/domain/intakeSites.js.map +0 -1
  711. package/esm/domain/report/browser.types.d.ts +0 -34
  712. package/esm/domain/report/browser.types.js +0 -2
  713. package/esm/domain/report/browser.types.js.map +0 -1
  714. package/esm/domain/report/reportObservable.d.ts +0 -14
  715. package/esm/domain/report/reportObservable.js +0 -95
  716. package/esm/domain/report/reportObservable.js.map +0 -1
  717. package/esm/domain/resourceUtils.d.ts +0 -18
  718. package/esm/domain/resourceUtils.js +0 -17
  719. package/esm/domain/resourceUtils.js.map +0 -1
  720. package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
  721. package/esm/domain/session/oldCookiesMigration.js +0 -36
  722. package/esm/domain/session/oldCookiesMigration.js.map +0 -1
  723. package/esm/domain/session/sessionConstants.d.ts +0 -15
  724. package/esm/domain/session/sessionConstants.js +0 -13
  725. package/esm/domain/session/sessionConstants.js.map +0 -1
  726. package/esm/domain/session/sessionManager.d.ts +0 -28
  727. package/esm/domain/session/sessionManager.js +0 -196
  728. package/esm/domain/session/sessionManager.js.map +0 -1
  729. package/esm/domain/session/sessionState.d.ts +0 -16
  730. package/esm/domain/session/sessionState.js +0 -60
  731. package/esm/domain/session/sessionState.js.map +0 -1
  732. package/esm/domain/session/sessionStateValidation.d.ts +0 -3
  733. package/esm/domain/session/sessionStateValidation.js +0 -7
  734. package/esm/domain/session/sessionStateValidation.js.map +0 -1
  735. package/esm/domain/session/sessionStore.d.ts +0 -38
  736. package/esm/domain/session/sessionStore.js +0 -180
  737. package/esm/domain/session/sessionStore.js.map +0 -1
  738. package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
  739. package/esm/domain/session/sessionStoreOperations.js +0 -114
  740. package/esm/domain/session/sessionStoreOperations.js.map +0 -1
  741. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
  742. package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
  743. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
  744. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
  745. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
  746. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
  747. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
  748. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
  749. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
  750. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
  751. package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
  752. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
  753. package/esm/domain/tags.d.ts +0 -6
  754. package/esm/domain/tags.js +0 -59
  755. package/esm/domain/tags.js.map +0 -1
  756. package/esm/domain/telemetry/index.d.ts +0 -4
  757. package/esm/domain/telemetry/index.js +0 -3
  758. package/esm/domain/telemetry/index.js.map +0 -1
  759. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
  760. package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
  761. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
  762. package/esm/domain/telemetry/telemetry.d.ts +0 -56
  763. package/esm/domain/telemetry/telemetry.js +0 -232
  764. package/esm/domain/telemetry/telemetry.js.map +0 -1
  765. package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
  766. package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
  767. package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
  768. package/esm/domain/trackingConsent.d.ts +0 -13
  769. package/esm/domain/trackingConsent.js +0 -24
  770. package/esm/domain/trackingConsent.js.map +0 -1
  771. package/esm/domain/userAgentData/index.d.ts +0 -1
  772. package/esm/domain/userAgentData/index.js +0 -2
  773. package/esm/domain/userAgentData/index.js.map +0 -1
  774. package/esm/domain/userAgentData/userAgentData.d.ts +0 -22
  775. package/esm/domain/userAgentData/userAgentData.js +0 -105
  776. package/esm/domain/userAgentData/userAgentData.js.map +0 -1
  777. package/esm/index.d.ts +0 -104
  778. package/esm/index.js +0 -79
  779. package/esm/index.js.map +0 -1
  780. package/esm/tools/abstractHooks.d.ts +0 -24
  781. package/esm/tools/abstractHooks.js +0 -37
  782. package/esm/tools/abstractHooks.js.map +0 -1
  783. package/esm/tools/abstractLifeCycle.d.ts +0 -23
  784. package/esm/tools/abstractLifeCycle.js +0 -24
  785. package/esm/tools/abstractLifeCycle.js.map +0 -1
  786. package/esm/tools/boundedBuffer.d.ts +0 -16
  787. package/esm/tools/boundedBuffer.js +0 -29
  788. package/esm/tools/boundedBuffer.js.map +0 -1
  789. package/esm/tools/catchUserErrors.d.ts +0 -1
  790. package/esm/tools/catchUserErrors.js +0 -12
  791. package/esm/tools/catchUserErrors.js.map +0 -1
  792. package/esm/tools/display.d.ts +0 -38
  793. package/esm/tools/display.js +0 -41
  794. package/esm/tools/display.js.map +0 -1
  795. package/esm/tools/encoder.d.ts +0 -54
  796. package/esm/tools/encoder.js +0 -37
  797. package/esm/tools/encoder.js.map +0 -1
  798. package/esm/tools/experimentalFeatures.d.ts +0 -21
  799. package/esm/tools/experimentalFeatures.js +0 -42
  800. package/esm/tools/experimentalFeatures.js.map +0 -1
  801. package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
  802. package/esm/tools/getZoneJsOriginalValue.js +0 -26
  803. package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
  804. package/esm/tools/globalObject.d.ts +0 -19
  805. package/esm/tools/globalObject.js +0 -40
  806. package/esm/tools/globalObject.js.map +0 -1
  807. package/esm/tools/instrumentMethod.d.ts +0 -75
  808. package/esm/tools/instrumentMethod.js +0 -114
  809. package/esm/tools/instrumentMethod.js.map +0 -1
  810. package/esm/tools/matchOption.d.ts +0 -8
  811. package/esm/tools/matchOption.js +0 -31
  812. package/esm/tools/matchOption.js.map +0 -1
  813. package/esm/tools/mergeInto.d.ts +0 -25
  814. package/esm/tools/mergeInto.js +0 -93
  815. package/esm/tools/mergeInto.js.map +0 -1
  816. package/esm/tools/monitor.d.ts +0 -9
  817. package/esm/tools/monitor.js +0 -51
  818. package/esm/tools/monitor.js.map +0 -1
  819. package/esm/tools/observable.d.ts +0 -30
  820. package/esm/tools/observable.js +0 -83
  821. package/esm/tools/observable.js.map +0 -1
  822. package/esm/tools/queueMicrotask.d.ts +0 -1
  823. package/esm/tools/queueMicrotask.js +0 -14
  824. package/esm/tools/queueMicrotask.js.map +0 -1
  825. package/esm/tools/readBytesFromStream.d.ts +0 -10
  826. package/esm/tools/readBytesFromStream.js +0 -25
  827. package/esm/tools/readBytesFromStream.js.map +0 -1
  828. package/esm/tools/requestIdleCallback.d.ts +0 -12
  829. package/esm/tools/requestIdleCallback.js +0 -30
  830. package/esm/tools/requestIdleCallback.js.map +0 -1
  831. package/esm/tools/sendToExtension.d.ts +0 -3
  832. package/esm/tools/sendToExtension.js +0 -8
  833. package/esm/tools/sendToExtension.js.map +0 -1
  834. package/esm/tools/serialisation/context.d.ts +0 -9
  835. package/esm/tools/serialisation/context.js +0 -2
  836. package/esm/tools/serialisation/context.js.map +0 -1
  837. package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
  838. package/esm/tools/serialisation/jsonStringify.js +0 -44
  839. package/esm/tools/serialisation/jsonStringify.js.map +0 -1
  840. package/esm/tools/serialisation/sanitize.d.ts +0 -18
  841. package/esm/tools/serialisation/sanitize.js +0 -185
  842. package/esm/tools/serialisation/sanitize.js.map +0 -1
  843. package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
  844. package/esm/tools/stackTrace/computeStackTrace.js +0 -183
  845. package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
  846. package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
  847. package/esm/tools/stackTrace/handlingStack.js +0 -41
  848. package/esm/tools/stackTrace/handlingStack.js.map +0 -1
  849. package/esm/tools/taskQueue.d.ts +0 -15
  850. package/esm/tools/taskQueue.js +0 -50
  851. package/esm/tools/taskQueue.js.map +0 -1
  852. package/esm/tools/timer.d.ts +0 -5
  853. package/esm/tools/timer.js +0 -16
  854. package/esm/tools/timer.js.map +0 -1
  855. package/esm/tools/utils/arrayUtils.d.ts +0 -3
  856. package/esm/tools/utils/arrayUtils.js +0 -15
  857. package/esm/tools/utils/arrayUtils.js.map +0 -1
  858. package/esm/tools/utils/browserDetection.d.ts +0 -8
  859. package/esm/tools/utils/browserDetection.js +0 -28
  860. package/esm/tools/utils/browserDetection.js.map +0 -1
  861. package/esm/tools/utils/byteUtils.d.ts +0 -8
  862. package/esm/tools/utils/byteUtils.js +0 -29
  863. package/esm/tools/utils/byteUtils.js.map +0 -1
  864. package/esm/tools/utils/functionUtils.d.ts +0 -8
  865. package/esm/tools/utils/functionUtils.js +0 -39
  866. package/esm/tools/utils/functionUtils.js.map +0 -1
  867. package/esm/tools/utils/geocoding.d.ts +0 -60
  868. package/esm/tools/utils/geocoding.js +0 -73
  869. package/esm/tools/utils/geocoding.js.map +0 -1
  870. package/esm/tools/utils/geolocation.d.ts +0 -24
  871. package/esm/tools/utils/geolocation.js +0 -71
  872. package/esm/tools/utils/geolocation.js.map +0 -1
  873. package/esm/tools/utils/numberUtils.d.ts +0 -8
  874. package/esm/tools/utils/numberUtils.js +0 -17
  875. package/esm/tools/utils/numberUtils.js.map +0 -1
  876. package/esm/tools/utils/objectUtils.d.ts +0 -10
  877. package/esm/tools/utils/objectUtils.js +0 -17
  878. package/esm/tools/utils/objectUtils.js.map +0 -1
  879. package/esm/tools/utils/polyfills.d.ts +0 -7
  880. package/esm/tools/utils/polyfills.js +0 -18
  881. package/esm/tools/utils/polyfills.js.map +0 -1
  882. package/esm/tools/utils/responseUtils.d.ts +0 -2
  883. package/esm/tools/utils/responseUtils.js +0 -13
  884. package/esm/tools/utils/responseUtils.js.map +0 -1
  885. package/esm/tools/utils/stringUtils.d.ts +0 -23
  886. package/esm/tools/utils/stringUtils.js +0 -84
  887. package/esm/tools/utils/stringUtils.js.map +0 -1
  888. package/esm/tools/utils/timeUtils.d.ts +0 -53
  889. package/esm/tools/utils/timeUtils.js +0 -84
  890. package/esm/tools/utils/timeUtils.js.map +0 -1
  891. package/esm/tools/utils/timezone.d.ts +0 -1
  892. package/esm/tools/utils/timezone.js +0 -10
  893. package/esm/tools/utils/timezone.js.map +0 -1
  894. package/esm/tools/utils/typeUtils.d.ts +0 -4
  895. package/esm/tools/utils/typeUtils.js +0 -13
  896. package/esm/tools/utils/typeUtils.js.map +0 -1
  897. package/esm/tools/utils/urlPolyfill.d.ts +0 -5
  898. package/esm/tools/utils/urlPolyfill.js +0 -52
  899. package/esm/tools/utils/urlPolyfill.js.map +0 -1
  900. package/esm/tools/valueHistory.d.ts +0 -27
  901. package/esm/tools/valueHistory.js +0 -100
  902. package/esm/tools/valueHistory.js.map +0 -1
  903. package/esm/transport/batch.d.ts +0 -16
  904. package/esm/transport/batch.js +0 -106
  905. package/esm/transport/batch.js.map +0 -1
  906. package/esm/transport/eventBridge.d.ts +0 -21
  907. package/esm/transport/eventBridge.js +0 -41
  908. package/esm/transport/eventBridge.js.map +0 -1
  909. package/esm/transport/flushController.d.ts +0 -65
  910. package/esm/transport/flushController.js +0 -119
  911. package/esm/transport/flushController.js.map +0 -1
  912. package/esm/transport/httpRequest.d.ts +0 -57
  913. package/esm/transport/httpRequest.js +0 -101
  914. package/esm/transport/httpRequest.js.map +0 -1
  915. package/esm/transport/index.d.ts +0 -7
  916. package/esm/transport/index.js +0 -5
  917. package/esm/transport/index.js.map +0 -1
  918. package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
  919. package/esm/transport/sendWithRetryStrategy.js +0 -158
  920. package/esm/transport/sendWithRetryStrategy.js.map +0 -1
  921. package/src/domain/configuration/endpointBuilder.ts +0 -105
  922. package/src/domain/configuration/transportConfiguration.ts +0 -86
  923. package/src/domain/intakeSites.ts +0 -6
  924. package/src/domain/session/oldCookiesMigration.ts +0 -42
  925. package/src/domain/session/sessionStoreOperations.ts +0 -131
  926. package/src/tools/abstractHooks.ts +0 -72
  927. package/src/tools/boundedBuffer.ts +0 -44
  928. package/src/tools/globalObject.ts +0 -51
  929. package/src/tools/mergeInto.ts +0 -177
  930. package/src/tools/monitor.ts +0 -71
  931. package/src/tools/utils/timeUtils.ts +0 -117
  932. package/src/tools/utils/typeUtils.ts +0 -12
  933. package/src/tools/utils/urlPolyfill.ts +0 -55
  934. /package/cjs/{tools/utils → domain/geo}/geocoding.d.ts +0 -0
  935. /package/cjs/{tools/utils → domain/geo}/geolocation.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/browser/cookie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.js","names":["findCommaSeparatedValue","findAllCommaSeparatedValues","findCommaSeparatedValues","globalObject","generateUUID","ONE_SECOND","buildUrl"],"sources":["../../src/browser/cookie.ts"],"sourcesContent":["import { ONE_SECOND } from '@kubesense/kubesense-js-core/time'\nimport { buildUrl, globalObject } from '@kubesense/kubesense-js-core/util'\nimport {\n findAllCommaSeparatedValues,\n findCommaSeparatedValue,\n findCommaSeparatedValues,\n generateUUID,\n} from '../tools/utils/stringUtils'\nimport type { Configuration } from '../domain/configuration'\n\nexport interface CookieOptions {\n secure?: boolean\n crossSite?: boolean\n partitioned?: boolean\n domain?: string\n}\n\nexport function setCookie(name: string, value: string, expireDelay: number = 0, options?: CookieOptions) {\n const date = new Date()\n date.setTime(date.getTime() + expireDelay)\n const expires = `expires=${date.toUTCString()}`\n const sameSite = options?.crossSite ? 'none' : 'strict'\n const domain = options?.domain ? `;domain=${options.domain}` : ''\n const secure = options?.secure ? ';secure' : ''\n const partitioned = options?.partitioned ? ';partitioned' : ''\n document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`\n}\n\n/**\n * Returns the value of the cookie with the given name\n * If there are multiple cookies with the same name, returns the first one\n */\nexport function getCookie(name: string) {\n const value = findCommaSeparatedValue(document.cookie, name)\n\n if (value === '') {\n return\n }\n\n return value\n}\n\n/**\n * Returns all the values of the cookies with the given name\n */\nexport function getCookies(name: string): string[] {\n return findAllCommaSeparatedValues(document.cookie).get(name) || []\n}\n\nlet initCookieParsed: Map<string, string> | undefined\n\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n *\n * ⚠️ If there are multiple cookies with the same name, returns the LAST one (unlike `getCookie()`)\n */\nexport function getInitCookie(name: string) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie)\n }\n return initCookieParsed.get(name)\n}\n\nexport function resetInitCookies() {\n initCookieParsed = undefined\n}\n\nexport function deleteCookie(name: string, options?: CookieOptions) {\n setCookie(name, '', 0, options)\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nlet getCurrentSiteCache: string | undefined\nexport function getCurrentSite(\n hostname = globalObject.location?.hostname ?? '',\n referrer = typeof document !== 'undefined' ? document.referrer : ''\n): string | undefined {\n // Cookie probing requires document.cookie, which is not available in Web Workers or Node.js\n if (typeof document === 'undefined') {\n return undefined\n }\n if (getCurrentSiteCache === undefined) {\n const defaultHostName = getCookieDefaultHostName(hostname, referrer)\n if (defaultHostName) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `kubesense_site_test_${generateUUID()}`\n const testCookieValue = 'test'\n\n const domainLevels = defaultHostName.split('.')\n let candidateDomain = domainLevels.pop()!\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = `${domainLevels.pop()!}.${candidateDomain}`\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain })\n }\n deleteCookie(testCookieName, { domain: candidateDomain })\n getCurrentSiteCache = candidateDomain\n }\n }\n\n return getCurrentSiteCache\n}\n\nfunction getCookieDefaultHostName(hostname: string, referrer: string) {\n try {\n return hostname || buildUrl(referrer).hostname\n } catch {\n // Ignore\n }\n}\n\nexport function resetGetCurrentSite() {\n getCurrentSiteCache = undefined\n}\n\nexport function buildCookieOptions(configuration: Configuration): CookieOptions | undefined {\n const cookieOptions: CookieOptions = {}\n\n cookieOptions.secure = configuration.useSecureSessionCookie || configuration.usePartitionedCrossSiteSessionCookie\n cookieOptions.crossSite = configuration.usePartitionedCrossSiteSessionCookie\n cookieOptions.partitioned = configuration.usePartitionedCrossSiteSessionCookie\n\n if (configuration.trackSessionAcrossSubdomains) {\n const currentSite = getCurrentSite()\n if (!currentSite) {\n return\n }\n cookieOptions.domain = currentSite\n }\n\n return cookieOptions\n}\n"],"mappings":";;;;AAiBA,SAAgB,UAAU,MAAc,OAAe,cAAsB,GAAG,SAAyB;CACvG,MAAM,uBAAO,IAAI,KAAK;CACtB,KAAK,QAAQ,KAAK,QAAQ,IAAI,WAAW;CACzC,MAAM,UAAU,WAAW,KAAK,YAAY;CAC5C,MAAM,WAAW,SAAS,YAAY,SAAS;CAC/C,MAAM,SAAS,SAAS,SAAS,WAAW,QAAQ,WAAW;CAC/D,MAAM,SAAS,SAAS,SAAS,YAAY;CAC7C,MAAM,cAAc,SAAS,cAAc,iBAAiB;CAC5D,SAAS,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,mBAAmB,WAAW,SAAS,SAAS;AAChG;;;;;AAMA,SAAgB,UAAU,MAAc;CACtC,MAAM,QAAQA,oBAAAA,wBAAwB,SAAS,QAAQ,IAAI;CAE3D,IAAI,UAAU,IACZ;CAGF,OAAO;AACT;;;;AAKA,SAAgB,WAAW,MAAwB;CACjD,OAAOC,oBAAAA,4BAA4B,SAAS,MAAM,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;AACpE;AAEA,IAAI;;;;;;;AAQJ,SAAgB,cAAc,MAAc;CAC1C,IAAI,CAAC,kBACH,mBAAmBC,oBAAAA,yBAAyB,SAAS,MAAM;CAE7D,OAAO,iBAAiB,IAAI,IAAI;AAClC;AAEA,SAAgB,mBAAmB;CACjC,mBAAmB,KAAA;AACrB;AAEA,SAAgB,aAAa,MAAc,SAAyB;CAClE,UAAU,MAAM,IAAI,GAAG,OAAO;AAChC;;;;;;AAOA,IAAI;AACJ,SAAgB,eACd,WAAWC,kCAAAA,aAAa,UAAU,YAAY,IAC9C,WAAW,OAAO,aAAa,cAAc,SAAS,WAAW,IAC7C;CAEpB,IAAI,OAAO,aAAa,aACtB;CAEF,IAAI,wBAAwB,KAAA,GAAW;EACrC,MAAM,kBAAkB,yBAAyB,UAAU,QAAQ;EACnE,IAAI,iBAAiB;GAGnB,MAAM,iBAAiB,uBAAuBC,oBAAAA,aAAa;GAC3D,MAAM,kBAAkB;GAExB,MAAM,eAAe,gBAAgB,MAAM,GAAG;GAC9C,IAAI,kBAAkB,aAAa,IAAI;GACvC,OAAO,aAAa,UAAU,CAAC,UAAU,cAAc,GAAG;IACxD,kBAAkB,GAAG,aAAa,IAAI,EAAG,GAAG;IAC5C,UAAU,gBAAgB,iBAAiBC,kCAAAA,YAAY,EAAE,QAAQ,gBAAgB,CAAC;GACpF;GACA,aAAa,gBAAgB,EAAE,QAAQ,gBAAgB,CAAC;GACxD,sBAAsB;EACxB;CACF;CAEA,OAAO;AACT;AAEA,SAAS,yBAAyB,UAAkB,UAAkB;CACpE,IAAI;EACF,OAAO,aAAA,GAAYC,kCAAAA,SAAAA,CAAS,QAAQ,CAAC,CAAC;CACxC,QAAQ,CAER;AACF;AAMA,SAAgB,mBAAmB,eAAyD;CAC1F,MAAM,gBAA+B,CAAC;CAEtC,cAAc,SAAS,cAAc,0BAA0B,cAAc;CAC7E,cAAc,YAAY,cAAc;CACxC,cAAc,cAAc,cAAc;CAE1C,IAAI,cAAc,8BAA8B;EAC9C,MAAM,cAAc,eAAe;EACnC,IAAI,CAAC,aACH;EAEF,cAAc,SAAS;CACzB;CAEA,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { Observable } from '../tools/observable';
2
+ import type { CookieOptions } from './cookie';
3
+ export interface CookieAccess {
4
+ getAll(): Promise<string[]>;
5
+ getAllAndSet(cb: (value: string[]) => {
6
+ value: string;
7
+ expireDelay: number;
8
+ }): Promise<void>;
9
+ delete(): Promise<void>;
10
+ observable: Observable<void>;
11
+ }
12
+ export type CookieAccessFactory = (cookieName: string, cookieOptions: CookieOptions) => CookieAccess;
13
+ export declare const TEST_COOKIE_NAME_PREFIX = "kubesense_cookie_test_";
14
+ export declare function areCookiesAuthorized(createAccess: CookieAccessFactory, cookieOptions: CookieOptions): Promise<boolean>;
15
+ export declare function createCookieStoreAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess;
16
+ export declare const WATCH_COOKIE_INTERVAL_DELAY = 1000;
17
+ export declare function createDocumentCookieAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess;
18
+ export declare function isCookieStoreSupported(): boolean;
@@ -0,0 +1,129 @@
1
+ const require_observable = require("../tools/observable.js");
2
+ const require_stringUtils = require("../tools/utils/stringUtils.js");
3
+ const require_display = require("../tools/display.js");
4
+ const require_cookie = require("./cookie.js");
5
+ const require_mockable = require("../tools/mockable.js");
6
+ const require_timer = require("../tools/timer.js");
7
+ const require_addEventListener = require("./addEventListener.js");
8
+ const require_telemetry = require("../domain/telemetry/telemetry.js");
9
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
10
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
11
+ //#region src/browser/cookieAccess.ts
12
+ const TEST_COOKIE_NAME_PREFIX = "kubesense_cookie_test_";
13
+ async function areCookiesAuthorized(createAccess, cookieOptions) {
14
+ const testCookieName = `${TEST_COOKIE_NAME_PREFIX}${require_stringUtils.generateUUID()}`;
15
+ const testCookieValue = "test";
16
+ const access = createAccess(testCookieName, cookieOptions);
17
+ try {
18
+ await access.getAllAndSet(() => ({
19
+ value: testCookieValue,
20
+ expireDelay: _kubesense_kubesense_js_core_time.ONE_MINUTE
21
+ }));
22
+ return (await access.getAll()).includes(testCookieValue);
23
+ } catch (error) {
24
+ require_display.display.error(error);
25
+ return false;
26
+ } finally {
27
+ try {
28
+ await access.delete();
29
+ } catch {}
30
+ }
31
+ }
32
+ function createCookieStoreAccess(cookieName, cookieOptions) {
33
+ const cookieStore = require_mockable.mockable(_kubesense_kubesense_js_core_util.globalObject.cookieStore);
34
+ const observable = new require_observable.Observable(() => {
35
+ return require_addEventListener.addEventListener(cookieStore, "change", (event) => {
36
+ if (event.changed.some((event) => event.name === cookieName) || event.deleted.some((event) => event.name === cookieName)) observable.notify();
37
+ }).stop;
38
+ });
39
+ return {
40
+ async getAll() {
41
+ return (await cookieStore.getAll(cookieName)).map((item) => item.value);
42
+ },
43
+ delete() {
44
+ return cookieStore.delete({
45
+ name: cookieName,
46
+ domain: cookieOptions.domain,
47
+ path: "/",
48
+ partitioned: cookieOptions.partitioned
49
+ });
50
+ },
51
+ async getAllAndSet(cb) {
52
+ const items = await cookieStore.getAll(cookieName);
53
+ const { value, expireDelay } = cb(items.map((item) => item.value));
54
+ try {
55
+ await cookieStore.set({
56
+ name: cookieName,
57
+ value,
58
+ expires: (0, _kubesense_kubesense_js_core_time.dateNow)() + expireDelay,
59
+ path: "/",
60
+ sameSite: cookieOptions.crossSite ? "none" : "strict",
61
+ domain: cookieOptions.domain,
62
+ secure: cookieOptions.secure,
63
+ partitioned: cookieOptions.partitioned
64
+ });
65
+ } catch (error) {
66
+ if (!cookieName.startsWith("kubesense_cookie_test_")) {
67
+ const documentCookies = require_cookie.getCookies(cookieName);
68
+ require_telemetry.addTelemetryDebug("Failed to set cookie using Cookie Store API", {
69
+ "error.message": error.message,
70
+ newValue: value,
71
+ cookieOptions: { ...cookieOptions },
72
+ cookies: items.map((item) => ({ ...item })),
73
+ cookieCount: items.length,
74
+ documentCookies
75
+ });
76
+ }
77
+ }
78
+ },
79
+ observable
80
+ };
81
+ }
82
+ const WATCH_COOKIE_INTERVAL_DELAY = _kubesense_kubesense_js_core_time.ONE_SECOND;
83
+ function createDocumentCookieAccess(cookieName, cookieOptions) {
84
+ let previousCookieValues = require_cookie.getCookies(cookieName);
85
+ const observable = new require_observable.Observable(() => {
86
+ const watchCookieIntervalId = require_timer.setInterval(() => {
87
+ notifyCookieValueIfChanged(require_cookie.getCookies(cookieName));
88
+ }, WATCH_COOKIE_INTERVAL_DELAY);
89
+ return () => {
90
+ require_timer.clearInterval(watchCookieIntervalId);
91
+ };
92
+ });
93
+ function notifyCookieValueIfChanged(cookieValues) {
94
+ if (String(cookieValues) !== String(previousCookieValues)) {
95
+ previousCookieValues = cookieValues;
96
+ observable.notify();
97
+ }
98
+ }
99
+ return {
100
+ getAll() {
101
+ return Promise.resolve(require_cookie.getCookies(cookieName));
102
+ },
103
+ async getAllAndSet(cb) {
104
+ const { value, expireDelay } = cb(require_cookie.getCookies(cookieName));
105
+ require_cookie.setCookie(cookieName, value, expireDelay, cookieOptions);
106
+ await Promise.resolve();
107
+ notifyCookieValueIfChanged([value]);
108
+ },
109
+ async delete() {
110
+ require_cookie.deleteCookie(cookieName, cookieOptions);
111
+ await Promise.resolve();
112
+ notifyCookieValueIfChanged([]);
113
+ },
114
+ observable
115
+ };
116
+ }
117
+ function isCookieStoreSupported() {
118
+ const cookieStore = require_mockable.mockable(_kubesense_kubesense_js_core_util.globalObject.cookieStore);
119
+ return Boolean(cookieStore && require_addEventListener.isEventSupported(cookieStore, "change"));
120
+ }
121
+ //#endregion
122
+ exports.TEST_COOKIE_NAME_PREFIX = TEST_COOKIE_NAME_PREFIX;
123
+ exports.WATCH_COOKIE_INTERVAL_DELAY = WATCH_COOKIE_INTERVAL_DELAY;
124
+ exports.areCookiesAuthorized = areCookiesAuthorized;
125
+ exports.createCookieStoreAccess = createCookieStoreAccess;
126
+ exports.createDocumentCookieAccess = createDocumentCookieAccess;
127
+ exports.isCookieStoreSupported = isCookieStoreSupported;
128
+
129
+ //# sourceMappingURL=cookieAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookieAccess.js","names":["generateUUID","ONE_MINUTE","mockable","globalObject","Observable","addEventListener","dateNow","getCookies","ONE_SECOND","setInterval","isEventSupported"],"sources":["../../src/browser/cookieAccess.ts"],"sourcesContent":["import { ONE_MINUTE, ONE_SECOND, dateNow } from '@kubesense/kubesense-js-core/time'\nimport { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { setInterval, clearInterval } from '../tools/timer'\nimport { Observable } from '../tools/observable'\nimport { mockable } from '../tools/mockable'\nimport { display } from '../tools/display'\nimport { generateUUID } from '../tools/utils/stringUtils'\nimport { addTelemetryDebug } from '../domain/telemetry'\nimport { addEventListener, DOM_EVENT, isEventSupported } from './addEventListener'\nimport { deleteCookie, getCookies, setCookie } from './cookie'\nimport type { CookieOptions } from './cookie'\n\nexport interface CookieAccess {\n getAll(): Promise<string[]>\n getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }): Promise<void>\n delete(): Promise<void>\n observable: Observable<void>\n}\n\nexport type CookieAccessFactory = (cookieName: string, cookieOptions: CookieOptions) => CookieAccess\n\n// Used to identify capability-probe cookies so their write failures aren't reported as telemetry:\n// failing to write them is an expected outcome (it triggers the document.cookie fallback), not a bug.\nexport const TEST_COOKIE_NAME_PREFIX = 'kubesense_cookie_test_'\n\nexport async function areCookiesAuthorized(\n createAccess: CookieAccessFactory,\n cookieOptions: CookieOptions\n): Promise<boolean> {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `${TEST_COOKIE_NAME_PREFIX}${generateUUID()}`\n const testCookieValue = 'test'\n const access = createAccess(testCookieName, cookieOptions)\n try {\n await access.getAllAndSet(() => ({ value: testCookieValue, expireDelay: ONE_MINUTE }))\n const values = await access.getAll()\n return values.includes(testCookieValue)\n } catch (error) {\n display.error(error)\n return false\n } finally {\n try {\n await access.delete()\n } catch {\n // Best-effort cleanup\n }\n }\n}\n\nexport function createCookieStoreAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess {\n const cookieStore = mockable(globalObject.cookieStore)!\n const observable = new Observable<void>(() => {\n const listener = addEventListener(cookieStore, DOM_EVENT.CHANGE, (event) => {\n // Based on our experimentation, we're assuming that entries for the same cookie cannot be in both the 'changed' and 'deleted' arrays.\n // However, due to ambiguity in the specification, we asked for clarification: https://github.com/WICG/cookie-store/issues/226\n const changeEvent =\n event.changed.some((event) => event.name === cookieName) ||\n event.deleted.some((event) => event.name === cookieName)\n if (changeEvent) {\n observable.notify()\n }\n })\n return listener.stop\n })\n\n return {\n async getAll() {\n const items = await cookieStore.getAll(cookieName)\n return items.map((item) => item.value)\n },\n\n delete() {\n return cookieStore.delete({\n name: cookieName,\n domain: cookieOptions.domain,\n path: '/',\n partitioned: cookieOptions.partitioned,\n })\n },\n\n async getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }) {\n const items = await cookieStore.getAll(cookieName)\n\n const currentValues = items.map((item) => item.value)\n const { value, expireDelay } = cb(currentValues)\n\n try {\n await cookieStore.set({\n name: cookieName,\n value,\n expires: dateNow() + expireDelay,\n path: '/',\n sameSite: cookieOptions.crossSite ? 'none' : 'strict',\n domain: cookieOptions.domain,\n secure: cookieOptions.secure,\n partitioned: cookieOptions.partitioned,\n })\n } catch (error) {\n if (!cookieName.startsWith(TEST_COOKIE_NAME_PREFIX)) {\n const documentCookies = getCookies(cookieName)\n // monitor-until: 2026-10-01\n addTelemetryDebug('Failed to set cookie using Cookie Store API', {\n 'error.message': (error as Error).message,\n newValue: value,\n cookieOptions: {\n ...cookieOptions,\n },\n cookies: items.map((item) => ({\n ...item,\n })),\n cookieCount: items.length,\n documentCookies,\n })\n }\n }\n },\n\n observable,\n }\n}\n\nexport const WATCH_COOKIE_INTERVAL_DELAY = ONE_SECOND\nexport function createDocumentCookieAccess(cookieName: string, cookieOptions: CookieOptions): CookieAccess {\n let previousCookieValues = getCookies(cookieName)\n\n const observable = new Observable<void>(() => {\n const watchCookieIntervalId = setInterval(() => {\n const cookieValues = getCookies(cookieName)\n notifyCookieValueIfChanged(cookieValues)\n }, WATCH_COOKIE_INTERVAL_DELAY)\n\n return () => {\n clearInterval(watchCookieIntervalId)\n }\n })\n\n function notifyCookieValueIfChanged(cookieValues: string[]) {\n if (String(cookieValues) !== String(previousCookieValues)) {\n previousCookieValues = cookieValues\n observable.notify()\n }\n }\n\n return {\n getAll() {\n return Promise.resolve(getCookies(cookieName))\n },\n\n async getAllAndSet(cb: (value: string[]) => { value: string; expireDelay: number }) {\n const currentValue = getCookies(cookieName)\n const { value, expireDelay } = cb(currentValue)\n setCookie(cookieName, value, expireDelay, cookieOptions)\n await Promise.resolve()\n notifyCookieValueIfChanged([value])\n },\n\n async delete() {\n deleteCookie(cookieName, cookieOptions)\n await Promise.resolve()\n notifyCookieValueIfChanged([])\n },\n\n observable,\n }\n}\n\n// Salesforce LWS does not support the change event of CookieStore objects. https://developer.salesforce.com/tools/lws-distortion-viewer\nexport function isCookieStoreSupported(): boolean {\n const cookieStore = mockable(globalObject.cookieStore)\n return Boolean(cookieStore && isEventSupported(cookieStore, DOM_EVENT.CHANGE))\n}\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Make a fetch request using the native implementation, bypassing Zone.js patching.
3
+ * This prevents unnecessary Angular change detection cycles.
4
+ *
5
+ * @param input - The resource to fetch (URL or Request object)
6
+ * @param init - Optional fetch options
7
+ * @returns A Promise that resolves to the Response
8
+ */
9
+ export declare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
@@ -0,0 +1,18 @@
1
+ const require_getZoneJsOriginalValue = require("../tools/getZoneJsOriginalValue.js");
2
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
3
+ //#region src/browser/fetch.ts
4
+ /**
5
+ * Make a fetch request using the native implementation, bypassing Zone.js patching.
6
+ * This prevents unnecessary Angular change detection cycles.
7
+ *
8
+ * @param input - The resource to fetch (URL or Request object)
9
+ * @param init - Optional fetch options
10
+ * @returns A Promise that resolves to the Response
11
+ */
12
+ function fetch(input, init) {
13
+ return require_getZoneJsOriginalValue.getZoneJsOriginalValue(_kubesense_kubesense_js_core_util.globalObject, "fetch")(input, init);
14
+ }
15
+ //#endregion
16
+ exports.fetch = fetch;
17
+
18
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","names":["getZoneJsOriginalValue","globalObject"],"sources":["../../src/browser/fetch.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue'\n\n/**\n * Make a fetch request using the native implementation, bypassing Zone.js patching.\n * This prevents unnecessary Angular change detection cycles.\n *\n * @param input - The resource to fetch (URL or Request object)\n * @param init - Optional fetch options\n * @returns A Promise that resolves to the Response\n */\nexport function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {\n return getZoneJsOriginalValue(globalObject, 'fetch')(input, init)\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,MAAM,OAA0B,MAAuC;CACrF,OAAOA,+BAAAA,uBAAuBC,kCAAAA,cAAc,OAAO,CAAC,CAAC,OAAO,IAAI;AAClE"}
@@ -1,5 +1,5 @@
1
+ import type { ClocksState } from '@kubesense/kubesense-js-core/time';
1
2
  import { Observable } from '../tools/observable';
2
- import type { ClocksState } from '../tools/utils/timeUtils';
3
3
  interface FetchContextBase {
4
4
  method: string;
5
5
  startClocks: ClocksState;
@@ -7,6 +7,7 @@ interface FetchContextBase {
7
7
  init?: RequestInit;
8
8
  url: string;
9
9
  handlingStack?: string;
10
+ isAbortedOnStart: boolean;
10
11
  }
11
12
  export interface FetchStartContext extends FetchContextBase {
12
13
  state: 'start';
@@ -28,8 +29,7 @@ type ResponseBodyActionGetter = (context: FetchResolveContext) => ResponseBodyAc
28
29
  */
29
30
  export declare const enum ResponseBodyAction {
30
31
  IGNORE = 0,
31
- WAIT = 1,
32
- COLLECT = 2
32
+ COLLECT = 1
33
33
  }
34
34
  export declare function initFetchObservable({ responseBodyAction }?: {
35
35
  responseBodyAction?: ResponseBodyActionGetter;
@@ -1,103 +1,90 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initFetchObservable = initFetchObservable;
4
- exports.resetFetchObservable = resetFetchObservable;
5
- const instrumentMethod_1 = require("../tools/instrumentMethod");
6
- const monitor_1 = require("../tools/monitor");
7
- const observable_1 = require("../tools/observable");
8
- const timeUtils_1 = require("../tools/utils/timeUtils");
9
- const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
10
- const globalObject_1 = require("../tools/globalObject");
11
- const readBytesFromStream_1 = require("../tools/readBytesFromStream");
12
- const responseUtils_1 = require("../tools/utils/responseUtils");
1
+ const require_observable = require("../tools/observable.js");
2
+ const require_instrumentMethod = require("../tools/instrumentMethod.js");
3
+ const require_responseUtils = require("../tools/utils/responseUtils.js");
4
+ const require_readBytesFromStream = require("../tools/readBytesFromStream.js");
5
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
6
+ let _kubesense_kubesense_js_core_monitor = require("@kubesense/kubesense-js-core/monitor");
7
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
8
+ //#region src/browser/fetchObservable.ts
9
+ /**
10
+ * Action to take with the response body of a fetch request.
11
+ * Values are ordered by priority: higher values take precedence when multiple actions are requested.
12
+ */
13
+ let ResponseBodyAction = /* @__PURE__ */ function(ResponseBodyAction) {
14
+ ResponseBodyAction[ResponseBodyAction["IGNORE"] = 0] = "IGNORE";
15
+ ResponseBodyAction[ResponseBodyAction["COLLECT"] = 1] = "COLLECT";
16
+ return ResponseBodyAction;
17
+ }({});
13
18
  let fetchObservable;
14
19
  const responseBodyActionGetters = [];
15
20
  function initFetchObservable({ responseBodyAction } = {}) {
16
- if (responseBodyAction) {
17
- responseBodyActionGetters.push(responseBodyAction);
18
- }
19
- if (!fetchObservable) {
20
- fetchObservable = createFetchObservable();
21
- }
22
- return fetchObservable;
23
- }
24
- function resetFetchObservable() {
25
- fetchObservable = undefined;
26
- responseBodyActionGetters.length = 0;
21
+ if (responseBodyAction) responseBodyActionGetters.push(responseBodyAction);
22
+ if (!fetchObservable) fetchObservable = createFetchObservable();
23
+ return fetchObservable;
27
24
  }
28
25
  function createFetchObservable() {
29
- return new observable_1.Observable((observable) => {
30
- if (!globalObject_1.globalObject.fetch) {
31
- return;
32
- }
33
- const { stop } = (0, instrumentMethod_1.instrumentMethod)(globalObject_1.globalObject, 'fetch', (call) => beforeSend(call, observable), {
34
- computeHandlingStack: true,
35
- });
36
- return stop;
37
- });
26
+ return new require_observable.Observable((observable) => {
27
+ if (!_kubesense_kubesense_js_core_util.globalObject.fetch) return;
28
+ const { stop } = require_instrumentMethod.instrumentMethod(_kubesense_kubesense_js_core_util.globalObject, "fetch", (call) => beforeSend(call, observable), { computeHandlingStack: true });
29
+ return stop;
30
+ });
38
31
  }
39
32
  function beforeSend({ parameters, onPostCall, handlingStack }, observable) {
40
- const [input, init] = parameters;
41
- let methodFromParams = init && init.method;
42
- if (methodFromParams === undefined && input instanceof Request) {
43
- methodFromParams = input.method;
44
- }
45
- const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
46
- const url = input instanceof Request ? input.url : (0, urlPolyfill_1.normalizeUrl)(String(input));
47
- const startClocks = (0, timeUtils_1.clocksNow)();
48
- const context = {
49
- state: 'start',
50
- init,
51
- input,
52
- method,
53
- startClocks,
54
- url,
55
- handlingStack,
56
- };
57
- observable.notify(context);
58
- // Those properties can be changed by observable subscribers
59
- parameters[0] = context.input;
60
- parameters[1] = context.init;
61
- onPostCall((responsePromise) => {
62
- afterSend(observable, responsePromise, context).catch(monitor_1.monitorError);
63
- });
33
+ const [input, init] = parameters;
34
+ let methodFromParams = init?.method;
35
+ if (methodFromParams === void 0 && input instanceof Request) methodFromParams = input.method;
36
+ const method = methodFromParams !== void 0 ? String(methodFromParams).toUpperCase() : "GET";
37
+ const url = input instanceof Request ? input.url : (0, _kubesense_kubesense_js_core_util.normalizeUrl)(String(input));
38
+ const context = {
39
+ state: "start",
40
+ init,
41
+ input,
42
+ method,
43
+ startClocks: (0, _kubesense_kubesense_js_core_time.clocksNow)(),
44
+ url,
45
+ handlingStack,
46
+ isAbortedOnStart: input instanceof Request && input.signal?.aborted || init?.signal?.aborted || false
47
+ };
48
+ observable.notify(context);
49
+ parameters[0] = context.input;
50
+ parameters[1] = context.init;
51
+ onPostCall((responsePromise) => {
52
+ afterSend(observable, responsePromise, context).catch(_kubesense_kubesense_js_core_monitor.monitorError);
53
+ });
64
54
  }
65
55
  async function afterSend(observable, responsePromise, startContext) {
66
- var _a, _b;
67
- const context = startContext;
68
- context.state = 'resolve';
69
- let response;
70
- try {
71
- response = await responsePromise;
72
- }
73
- catch (error) {
74
- context.status = 0;
75
- context.isAborted =
76
- ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR);
77
- context.error = error;
78
- observable.notify(context);
79
- return;
80
- }
81
- context.response = response;
82
- context.status = response.status;
83
- context.responseType = response.type;
84
- context.isAborted = false;
85
- const responseBodyCondition = responseBodyActionGetters.reduce((action, getter) => Math.max(action, getter(context)), 0 /* ResponseBodyAction.IGNORE */);
86
- if (responseBodyCondition !== 0 /* ResponseBodyAction.IGNORE */) {
87
- const clonedResponse = (0, responseUtils_1.tryToClone)(response);
88
- if (clonedResponse && clonedResponse.body) {
89
- try {
90
- const bytes = await (0, readBytesFromStream_1.readBytesFromStream)(clonedResponse.body, {
91
- collectStreamBody: responseBodyCondition === 2 /* ResponseBodyAction.COLLECT */,
92
- });
93
- context.responseBody = bytes && new TextDecoder().decode(bytes);
94
- }
95
- catch (_c) {
96
- // Ignore errors when reading the response body (e.g., stream aborted, network errors)
97
- // This is not critical and should not be reported as an SDK error
98
- }
99
- }
100
- }
101
- observable.notify(context);
56
+ const context = startContext;
57
+ let response;
58
+ try {
59
+ response = await responsePromise;
60
+ } catch (error) {
61
+ observable.notify({
62
+ ...context,
63
+ state: "resolve",
64
+ status: 0,
65
+ isAborted: context.init?.signal?.aborted || error instanceof DOMException && error.code === DOMException.ABORT_ERR,
66
+ error
67
+ });
68
+ return;
69
+ }
70
+ context.response = response;
71
+ context.status = response.status;
72
+ context.responseType = response.type;
73
+ context.isAborted = false;
74
+ if (responseBodyActionGetters.reduce((action, getter) => Math.max(action, getter(context)), 0) === 1) {
75
+ const clonedResponse = require_responseUtils.tryToClone(response);
76
+ if (clonedResponse?.body) try {
77
+ const bytes = await require_readBytesFromStream.readBytesFromStream(clonedResponse.body);
78
+ context.responseBody = new TextDecoder().decode(bytes);
79
+ } catch {}
80
+ }
81
+ observable.notify({
82
+ ...context,
83
+ state: "resolve"
84
+ });
102
85
  }
86
+ //#endregion
87
+ exports.ResponseBodyAction = ResponseBodyAction;
88
+ exports.initFetchObservable = initFetchObservable;
89
+
103
90
  //# sourceMappingURL=fetchObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchObservable.js","sourceRoot":"","sources":["../../src/browser/fetchObservable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchObservable.js","names":["Observable","globalObject","instrumentMethod","normalizeUrl","clocksNow","monitorError","tryToClone","readBytesFromStream"],"sources":["../../src/browser/fetchObservable.ts"],"sourcesContent":["import type { ClocksState } from '@kubesense/kubesense-js-core/time'\nimport { clocksNow } from '@kubesense/kubesense-js-core/time'\nimport { normalizeUrl, globalObject } from '@kubesense/kubesense-js-core/util'\nimport type { GlobalObject } from '@kubesense/kubesense-js-core/util'\nimport { monitorError } from '@kubesense/kubesense-js-core/monitor'\nimport type { InstrumentedMethodCall } from '../tools/instrumentMethod'\nimport { instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { readBytesFromStream } from '../tools/readBytesFromStream'\nimport { tryToClone } from '../tools/utils/responseUtils'\n\ninterface FetchContextBase {\n method: string\n startClocks: ClocksState\n input: unknown\n init?: RequestInit\n url: string\n handlingStack?: string\n isAbortedOnStart: boolean\n}\n\nexport interface FetchStartContext extends FetchContextBase {\n state: 'start'\n}\n\nexport interface FetchResolveContext extends FetchContextBase {\n state: 'resolve'\n status: number\n response?: Response\n responseBody?: string\n responseType?: string\n isAborted: boolean\n error?: Error\n}\n\nexport type FetchContext = FetchStartContext | FetchResolveContext\n\ntype ResponseBodyActionGetter = (context: FetchResolveContext) => ResponseBodyAction\n\n/**\n * Action to take with the response body of a fetch request.\n * Values are ordered by priority: higher values take precedence when multiple actions are requested.\n */\nexport const enum ResponseBodyAction {\n IGNORE = 0,\n COLLECT = 1,\n}\n\nlet fetchObservable: Observable<FetchContext> | undefined\nconst responseBodyActionGetters: ResponseBodyActionGetter[] = []\n\nexport function initFetchObservable({ responseBodyAction }: { responseBodyAction?: ResponseBodyActionGetter } = {}) {\n if (responseBodyAction) {\n responseBodyActionGetters.push(responseBodyAction)\n }\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nexport function resetFetchObservable() {\n fetchObservable = undefined\n responseBodyActionGetters.length = 0\n}\n\nfunction createFetchObservable() {\n return new Observable<FetchContext>((observable) => {\n // eslint-disable-next-line local-rules/disallow-zone-js-patched-values\n if (!globalObject.fetch) {\n return\n }\n\n const { stop } = instrumentMethod(globalObject, 'fetch', (call) => beforeSend(call, observable), {\n computeHandlingStack: true,\n })\n\n return stop\n })\n}\n\nfunction beforeSend(\n { parameters, onPostCall, handlingStack }: InstrumentedMethodCall<GlobalObject, 'fetch'>,\n observable: Observable<FetchContext>\n) {\n const [input, init] = parameters\n let methodFromParams = init?.method\n\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method\n }\n\n const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET'\n const url = input instanceof Request ? input.url : normalizeUrl(String(input))\n const startClocks = clocksNow()\n\n const context: FetchStartContext = {\n state: 'start',\n init,\n input,\n method,\n startClocks,\n url,\n handlingStack,\n isAbortedOnStart: (input instanceof Request && input.signal?.aborted) || init?.signal?.aborted || false,\n }\n\n observable.notify(context)\n\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input as RequestInfo | URL\n parameters[1] = context.init\n\n onPostCall((responsePromise) => {\n afterSend(observable, responsePromise, context).catch(monitorError)\n })\n}\n\nasync function afterSend(\n observable: Observable<FetchContext>,\n responsePromise: Promise<Response>,\n startContext: FetchStartContext\n) {\n const context = startContext as unknown as FetchResolveContext\n\n let response: Response\n\n try {\n response = await responsePromise\n } catch (error) {\n observable.notify({\n ...context,\n state: 'resolve',\n status: 0,\n isAborted:\n context.init?.signal?.aborted || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error: error as Error,\n })\n return\n }\n\n context.response = response\n context.status = response.status\n context.responseType = response.type\n context.isAborted = false\n\n const responseBodyCondition: ResponseBodyAction = responseBodyActionGetters.reduce<number>(\n (action, getter) => Math.max(action, getter(context)),\n ResponseBodyAction.IGNORE\n )\n\n if (responseBodyCondition === ResponseBodyAction.COLLECT) {\n const clonedResponse = tryToClone(response)\n if (clonedResponse?.body) {\n try {\n const bytes = await readBytesFromStream(clonedResponse.body)\n context.responseBody = new TextDecoder().decode(bytes)\n } catch {\n // Ignore errors when reading the response body (e.g., stream aborted, network errors)\n // This is not critical and should not be reported as an SDK error\n }\n }\n }\n\n observable.notify({ ...context, state: 'resolve' })\n}\n"],"mappings":";;;;;;;;;;;;AA2CA,IAAkB,qBAAX,yBAAA,oBAAA;CACL,mBAAA,mBAAA,YAAA,KAAA;CACA,mBAAA,mBAAA,aAAA,KAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAI;AACJ,MAAM,4BAAwD,CAAC;AAE/D,SAAgB,oBAAoB,EAAE,uBAA0E,CAAC,GAAG;CAClH,IAAI,oBACF,0BAA0B,KAAK,kBAAkB;CAEnD,IAAI,CAAC,iBACH,kBAAkB,sBAAsB;CAE1C,OAAO;AACT;AAOA,SAAS,wBAAwB;CAC/B,OAAO,IAAIA,mBAAAA,YAA0B,eAAe;EAElD,IAAI,CAACC,kCAAAA,aAAa,OAChB;EAGF,MAAM,EAAE,SAASC,yBAAAA,iBAAiBD,kCAAAA,cAAc,UAAU,SAAS,WAAW,MAAM,UAAU,GAAG,EAC/F,sBAAsB,KACxB,CAAC;EAED,OAAO;CACT,CAAC;AACH;AAEA,SAAS,WACP,EAAE,YAAY,YAAY,iBAC1B,YACA;CACA,MAAM,CAAC,OAAO,QAAQ;CACtB,IAAI,mBAAmB,MAAM;CAE7B,IAAI,qBAAqB,KAAA,KAAa,iBAAiB,SACrD,mBAAmB,MAAM;CAG3B,MAAM,SAAS,qBAAqB,KAAA,IAAY,OAAO,gBAAgB,CAAC,CAAC,YAAY,IAAI;CACzF,MAAM,MAAM,iBAAiB,UAAU,MAAM,OAAA,GAAME,kCAAAA,aAAAA,CAAa,OAAO,KAAK,CAAC;CAG7E,MAAM,UAA6B;EACjC,OAAO;EACP;EACA;EACA;EACA,cAAA,GAPkBC,kCAAAA,UAAAA,CAOR;EACV;EACA;EACA,kBAAmB,iBAAiB,WAAW,MAAM,QAAQ,WAAY,MAAM,QAAQ,WAAW;CACpG;CAEA,WAAW,OAAO,OAAO;CAGzB,WAAW,KAAK,QAAQ;CACxB,WAAW,KAAK,QAAQ;CAExB,YAAY,oBAAoB;EAC9B,UAAU,YAAY,iBAAiB,OAAO,CAAC,CAAC,MAAMC,qCAAAA,YAAY;CACpE,CAAC;AACH;AAEA,eAAe,UACb,YACA,iBACA,cACA;CACA,MAAM,UAAU;CAEhB,IAAI;CAEJ,IAAI;EACF,WAAW,MAAM;CACnB,SAAS,OAAO;EACd,WAAW,OAAO;GAChB,GAAG;GACH,OAAO;GACP,QAAQ;GACR,WACE,QAAQ,MAAM,QAAQ,WAAY,iBAAiB,gBAAgB,MAAM,SAAS,aAAa;GAC1F;EACT,CAAC;EACD;CACF;CAEA,QAAQ,WAAW;CACnB,QAAQ,SAAS,SAAS;CAC1B,QAAQ,eAAe,SAAS;CAChC,QAAQ,YAAY;CAOpB,IALkD,0BAA0B,QACzE,QAAQ,WAAW,KAAK,IAAI,QAAQ,OAAO,OAAO,CAAC,GAAA,CAI9B,MAAA,GAAkC;EACxD,MAAM,iBAAiBC,sBAAAA,WAAW,QAAQ;EAC1C,IAAI,gBAAgB,MAClB,IAAI;GACF,MAAM,QAAQ,MAAMC,4BAAAA,oBAAoB,eAAe,IAAI;GAC3D,QAAQ,eAAe,IAAI,YAAY,CAAC,CAAC,OAAO,KAAK;EACvD,QAAQ,CAGR;CAEJ;CAEA,WAAW,OAAO;EAAE,GAAG;EAAS,OAAO;CAAU,CAAC;AACpD"}
@@ -1,5 +1,4 @@
1
1
  import { Observable } from '../tools/observable';
2
- import type { Configuration } from '../domain/configuration';
3
2
  export declare const PageExitReason: {
4
3
  readonly HIDDEN: "visibility_hidden";
5
4
  readonly UNLOADING: "before_unload";
@@ -10,5 +9,5 @@ export type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason
10
9
  export interface PageMayExitEvent {
11
10
  reason: PageExitReason;
12
11
  }
13
- export declare function createPageMayExitObservable(configuration: Configuration): Observable<PageMayExitEvent>;
12
+ export declare function createPageMayExitObservable(): Observable<PageMayExitEvent>;
14
13
  export declare function isPageExitReason(reason: string): reason is PageExitReason;
@@ -1,56 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageExitReason = void 0;
4
- exports.createPageMayExitObservable = createPageMayExitObservable;
5
- exports.isPageExitReason = isPageExitReason;
6
- const observable_1 = require("../tools/observable");
7
- const polyfills_1 = require("../tools/utils/polyfills");
8
- const addEventListener_1 = require("./addEventListener");
9
- exports.PageExitReason = {
10
- HIDDEN: 'visibility_hidden',
11
- UNLOADING: 'before_unload',
12
- PAGEHIDE: 'page_hide',
13
- FROZEN: 'page_frozen',
1
+ const require_observable = require("../tools/observable.js");
2
+ const require_addEventListener = require("./addEventListener.js");
3
+ const require_polyfills = require("../tools/utils/polyfills.js");
4
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
5
+ //#region src/browser/pageMayExitObservable.ts
6
+ const PageExitReason = {
7
+ HIDDEN: "visibility_hidden",
8
+ UNLOADING: "before_unload",
9
+ PAGEHIDE: "page_hide",
10
+ FROZEN: "page_frozen"
14
11
  };
15
- function createPageMayExitObservable(configuration) {
16
- return new observable_1.Observable((observable) => {
17
- const { stop: stopListeners } = (0, addEventListener_1.addEventListeners)(configuration, window, ["visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */, "freeze" /* DOM_EVENT.FREEZE */], (event) => {
18
- if (event.type === "visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {
19
- /**
20
- * Only event that guarantee to fire on mobile devices when the page transitions to background state
21
- * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
22
- */
23
- observable.notify({ reason: exports.PageExitReason.HIDDEN });
24
- }
25
- else if (event.type === "freeze" /* DOM_EVENT.FREEZE */) {
26
- /**
27
- * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
28
- * Allow to collect events happening between hidden and frozen state.
29
- */
30
- observable.notify({ reason: exports.PageExitReason.FROZEN });
31
- }
32
- }, { capture: true });
33
- const stopBeforeUnloadListener = (0, addEventListener_1.addEventListener)(configuration, window, "beforeunload" /* DOM_EVENT.BEFORE_UNLOAD */, () => {
34
- observable.notify({ reason: exports.PageExitReason.UNLOADING });
35
- }).stop;
36
- /**
37
- * Fires when the page is actually going away — a closed tab, a navigation,
38
- * or a move into the bfcache — and unlike beforeunload it is not skipped on
39
- * mobile or when the browser discards the tab. It does not fire on a plain
40
- * tab switch, so it says "this page is done" in a way visibilitychange
41
- * cannot.
42
- */
43
- const stopPageHideListener = (0, addEventListener_1.addEventListener)(configuration, window, "pagehide" /* DOM_EVENT.PAGE_HIDE */, () => {
44
- observable.notify({ reason: exports.PageExitReason.PAGEHIDE });
45
- }).stop;
46
- return () => {
47
- stopListeners();
48
- stopBeforeUnloadListener();
49
- stopPageHideListener();
50
- };
51
- });
12
+ function createPageMayExitObservable() {
13
+ return new require_observable.Observable((observable) => {
14
+ const window = _kubesense_kubesense_js_core_util.globalObject.window;
15
+ if (!window) return;
16
+ const { stop: stopListeners } = require_addEventListener.addEventListeners(window, ["visibilitychange", "freeze"], (event) => {
17
+ if (event.type === "visibilitychange" && document.visibilityState === "hidden")
18
+ /**
19
+ * Only event that guarantee to fire on mobile devices when the page transitions to background state
20
+ * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
21
+ */
22
+ observable.notify({ reason: PageExitReason.HIDDEN });
23
+ else if (event.type === "freeze")
24
+ /**
25
+ * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
26
+ * Allow to collect events happening between hidden and frozen state.
27
+ */
28
+ observable.notify({ reason: PageExitReason.FROZEN });
29
+ }, { capture: true });
30
+ const stopBeforeUnloadListener = require_addEventListener.addEventListener(window, "beforeunload", () => {
31
+ observable.notify({ reason: PageExitReason.UNLOADING });
32
+ }).stop;
33
+ /**
34
+ * Fires when the page is actually going away — a closed tab, a navigation,
35
+ * or a move into the bfcache — and unlike beforeunload it is not skipped on
36
+ * mobile or when the browser discards the tab. It does not fire on a plain
37
+ * tab switch, so it says "this page is done" in a way visibilitychange
38
+ * cannot.
39
+ */
40
+ const stopPageHideListener = require_addEventListener.addEventListener(window, "pagehide", () => {
41
+ observable.notify({ reason: PageExitReason.PAGEHIDE });
42
+ }).stop;
43
+ return () => {
44
+ stopListeners();
45
+ stopBeforeUnloadListener();
46
+ stopPageHideListener();
47
+ };
48
+ });
52
49
  }
53
50
  function isPageExitReason(reason) {
54
- return (0, polyfills_1.objectValues)(exports.PageExitReason).includes(reason);
51
+ return require_polyfills.objectValues(PageExitReason).includes(reason);
55
52
  }
53
+ //#endregion
54
+ exports.PageExitReason = PageExitReason;
55
+ exports.createPageMayExitObservable = createPageMayExitObservable;
56
+ exports.isPageExitReason = isPageExitReason;
57
+
56
58
  //# sourceMappingURL=pageMayExitObservable.js.map