@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,91 +1,87 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateUUID = generateUUID;
4
- exports.findCommaSeparatedValue = findCommaSeparatedValue;
5
- exports.findAllCommaSeparatedValues = findAllCommaSeparatedValues;
6
- exports.findCommaSeparatedValues = findCommaSeparatedValues;
7
- exports.safeTruncate = safeTruncate;
1
+ //#region src/tools/utils/stringUtils.ts
8
2
  /**
9
- * UUID v4
10
- * from https://gist.github.com/jed/982883
11
- */
3
+ * UUID v4
4
+ * from https://gist.github.com/jed/982883
5
+ */
12
6
  function generateUUID(placeholder) {
13
- return placeholder
14
- ? // eslint-disable-next-line no-bitwise
15
- (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)
16
- : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);
7
+ return placeholder ? (parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : `10000000-1000-4000-8000-100000000000`.replace(/[018]/g, generateUUID);
17
8
  }
18
- const COMMA_SEPARATED_KEY_VALUE = /([\w-]+)\s*=\s*([^;]+)/g;
9
+ const COMMA_SEPARATED_KEY_VALUE = /(\S+?)\s*=\s*(.*?)(?:;|$)/g;
19
10
  /**
20
- * Returns the value of the key with the given name
21
- * If there are multiple values with the same key, returns the first one
22
- */
11
+ * Returns the value of the key with the given name
12
+ * If there are multiple values with the same key, returns the first one
13
+ */
23
14
  function findCommaSeparatedValue(rawString, name) {
24
- COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
25
- while (true) {
26
- const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
27
- if (match) {
28
- if (match[1] === name) {
29
- return match[2];
30
- }
31
- }
32
- else {
33
- break;
34
- }
35
- }
15
+ COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
16
+ while (true) {
17
+ const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
18
+ if (match) {
19
+ if (match[1] === name) return match[2];
20
+ } else break;
21
+ }
36
22
  }
37
23
  /**
38
- * Returns a map of all the values with the given key
39
- * If there are multiple values with the same key, returns all the values
40
- */
24
+ * Returns a map of all the values with the given key
25
+ * If there are multiple values with the same key, returns all the values
26
+ */
41
27
  function findAllCommaSeparatedValues(rawString) {
42
- const result = new Map();
43
- COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
44
- while (true) {
45
- const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
46
- if (match) {
47
- const key = match[1];
48
- const value = match[2];
49
- if (result.has(key)) {
50
- result.get(key).push(value);
51
- }
52
- else {
53
- result.set(key, [value]);
54
- }
55
- }
56
- else {
57
- break;
58
- }
59
- }
60
- return result;
28
+ const result = /* @__PURE__ */ new Map();
29
+ COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
30
+ while (true) {
31
+ const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
32
+ if (match) {
33
+ const key = match[1];
34
+ const value = match[2];
35
+ if (result.has(key)) result.get(key).push(value);
36
+ else result.set(key, [value]);
37
+ } else break;
38
+ }
39
+ return result;
61
40
  }
62
41
  /**
63
- * Returns a map of the values with the given key
64
- * ⚠️ If there are multiple values with the same key, returns the LAST one
65
- *
66
- * @deprecated use `findAllCommaSeparatedValues()` instead
67
- */
42
+ * Returns a map of the values with the given key
43
+ * ⚠️ If there are multiple values with the same key, returns the LAST one
44
+ *
45
+ * @deprecated use `findAllCommaSeparatedValues()` instead
46
+ */
68
47
  function findCommaSeparatedValues(rawString) {
69
- const result = new Map();
70
- COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
71
- while (true) {
72
- const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
73
- if (match) {
74
- result.set(match[1], match[2]);
75
- }
76
- else {
77
- break;
78
- }
79
- }
80
- return result;
48
+ const result = /* @__PURE__ */ new Map();
49
+ COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
50
+ while (true) {
51
+ const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
52
+ if (match) result.set(match[1], match[2]);
53
+ else break;
54
+ }
55
+ return result;
56
+ }
57
+ function safeTruncate(candidate, length, suffix = "") {
58
+ const lastChar = candidate.charCodeAt(length - 1);
59
+ const correctedLength = lastChar >= 55296 && lastChar <= 56319 ? length + 1 : length;
60
+ if (candidate.length <= correctedLength) return candidate;
61
+ return `${candidate.slice(0, correctedLength)}${suffix}`;
62
+ }
63
+ /**
64
+ * Builds a telemetry integration identifier from a library name and its version, e.g. `react-v18`
65
+ */
66
+ function toMajorVersionIntegration(name, version) {
67
+ if (!version) return name;
68
+ return `${name}-v${version.split(".")[0]}`;
81
69
  }
82
- function safeTruncate(candidate, length, suffix = '') {
83
- const lastChar = candidate.charCodeAt(length - 1);
84
- const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;
85
- const correctedLength = isLastCharSurrogatePair ? length + 1 : length;
86
- if (candidate.length <= correctedLength) {
87
- return candidate;
88
- }
89
- return `${candidate.slice(0, correctedLength)}${suffix}`;
70
+ /**
71
+ * Filters out falsy values and returns `undefined` if no integration is left, so plugins report a
72
+ * consistent "nothing to report" telemetry shape instead of an empty array.
73
+ */
74
+ function toIntegrations(...maybeIntegrations) {
75
+ const integrations = maybeIntegrations.filter((integration) => !!integration);
76
+ return integrations.length > 0 ? integrations : void 0;
90
77
  }
78
+ //#endregion
79
+ exports.findAllCommaSeparatedValues = findAllCommaSeparatedValues;
80
+ exports.findCommaSeparatedValue = findCommaSeparatedValue;
81
+ exports.findCommaSeparatedValues = findCommaSeparatedValues;
82
+ exports.generateUUID = generateUUID;
83
+ exports.safeTruncate = safeTruncate;
84
+ exports.toIntegrations = toIntegrations;
85
+ exports.toMajorVersionIntegration = toMajorVersionIntegration;
86
+
91
87
  //# sourceMappingURL=stringUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/stringUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringUtils.js","names":[],"sources":["../../../src/tools/utils/stringUtils.ts"],"sourcesContent":["/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder?: string): string {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID)\n}\n\n// Assuming input string is following the HTTP Cookie format defined in\n// https://www.ietf.org/rfc/rfc2616.txt and https://www.ietf.org/rfc/rfc6265.txt, we don't need to\n// be too strict with this regex.\nconst COMMA_SEPARATED_KEY_VALUE = /(\\S+?)\\s*=\\s*(.*?)(?:;|$)/g\n\n/**\n * Returns the value of the key with the given name\n * If there are multiple values with the same key, returns the first one\n */\nexport function findCommaSeparatedValue(rawString: string, name: string): string | undefined {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n if (match[1] === name) {\n return match[2]\n }\n } else {\n break\n }\n }\n}\n\n/**\n * Returns a map of all the values with the given key\n * If there are multiple values with the same key, returns all the values\n */\nexport function findAllCommaSeparatedValues(rawString: string): Map<string, string[]> {\n const result = new Map<string, string[]>()\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n const key = match[1]\n const value = match[2]\n if (result.has(key)) {\n result.get(key)!.push(value)\n } else {\n result.set(key, [value])\n }\n } else {\n break\n }\n }\n return result\n}\n\n/**\n * Returns a map of the values with the given key\n * ⚠️ If there are multiple values with the same key, returns the LAST one\n *\n * @deprecated use `findAllCommaSeparatedValues()` instead\n */\nexport function findCommaSeparatedValues(rawString: string): Map<string, string> {\n const result = new Map<string, string>()\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n result.set(match[1], match[2])\n } else {\n break\n }\n }\n return result\n}\n\nexport function safeTruncate(candidate: string, length: number, suffix = '') {\n const lastChar = candidate.charCodeAt(length - 1)\n const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff\n const correctedLength = isLastCharSurrogatePair ? length + 1 : length\n\n if (candidate.length <= correctedLength) {\n return candidate\n }\n\n return `${candidate.slice(0, correctedLength)}${suffix}`\n}\n\n/**\n * Builds a telemetry integration identifier from a library name and its version, e.g. `react-v18`\n */\nexport function toMajorVersionIntegration(name: string, version: string | null | undefined): string {\n if (!version) {\n return name\n }\n return `${name}-v${version.split('.')[0]}`\n}\n\n/**\n * Filters out falsy values and returns `undefined` if no integration is left, so plugins report a\n * consistent \"nothing to report\" telemetry shape instead of an empty array.\n */\nexport function toIntegrations(...maybeIntegrations: Array<string | false | undefined>): string[] | undefined {\n const integrations = maybeIntegrations.filter((integration): integration is string => !!integration)\n return integrations.length > 0 ? integrations : undefined\n}\n"],"mappings":";;;;;AAIA,SAAgB,aAAa,aAA8B;CACzD,OAAO,eAEF,SAAS,aAAa,EAAE,IAAM,KAAK,OAAO,IAAI,MAAQ,SAAS,aAAa,EAAE,IAAI,EAAA,CAAK,SAAS,EAAE,IACnG,uCAAsC,QAAQ,UAAU,YAAY;AAC1E;AAKA,MAAM,4BAA4B;;;;;AAMlC,SAAgB,wBAAwB,WAAmB,MAAkC;CAC3F,0BAA0B,YAAY;CACtC,OAAO,MAAM;EACX,MAAM,QAAQ,0BAA0B,KAAK,SAAS;EACtD,IAAI,OACE;OAAA,MAAM,OAAO,MACf,OAAO,MAAM;EAAA,OAGf;CAEJ;AACF;;;;;AAMA,SAAgB,4BAA4B,WAA0C;CACpF,MAAM,yBAAS,IAAI,IAAsB;CACzC,0BAA0B,YAAY;CACtC,OAAO,MAAM;EACX,MAAM,QAAQ,0BAA0B,KAAK,SAAS;EACtD,IAAI,OAAO;GACT,MAAM,MAAM,MAAM;GAClB,MAAM,QAAQ,MAAM;GACpB,IAAI,OAAO,IAAI,GAAG,GAChB,OAAO,IAAI,GAAG,CAAC,CAAE,KAAK,KAAK;QAE3B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;EAE3B,OACE;CAEJ;CACA,OAAO;AACT;;;;;;;AAQA,SAAgB,yBAAyB,WAAwC;CAC/E,MAAM,yBAAS,IAAI,IAAoB;CACvC,0BAA0B,YAAY;CACtC,OAAO,MAAM;EACX,MAAM,QAAQ,0BAA0B,KAAK,SAAS;EACtD,IAAI,OACF,OAAO,IAAI,MAAM,IAAI,MAAM,EAAE;OAE7B;CAEJ;CACA,OAAO;AACT;AAEA,SAAgB,aAAa,WAAmB,QAAgB,SAAS,IAAI;CAC3E,MAAM,WAAW,UAAU,WAAW,SAAS,CAAC;CAEhD,MAAM,kBAD0B,YAAY,SAAU,YAAY,QAChB,SAAS,IAAI;CAE/D,IAAI,UAAU,UAAU,iBACtB,OAAO;CAGT,OAAO,GAAG,UAAU,MAAM,GAAG,eAAe,IAAI;AAClD;;;;AAKA,SAAgB,0BAA0B,MAAc,SAA4C;CAClG,IAAI,CAAC,SACH,OAAO;CAET,OAAO,GAAG,KAAK,IAAI,QAAQ,MAAM,GAAG,CAAC,CAAC;AACxC;;;;;AAMA,SAAgB,eAAe,GAAG,mBAA4E;CAC5G,MAAM,eAAe,kBAAkB,QAAQ,gBAAuC,CAAC,CAAC,WAAW;CACnG,OAAO,aAAa,SAAS,IAAI,eAAe,KAAA;AAClD"}
@@ -1,13 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTimeZone = getTimeZone;
1
+ //#region src/tools/utils/timezone.ts
4
2
  function getTimeZone() {
5
- try {
6
- const intl = new Intl.DateTimeFormat();
7
- return intl.resolvedOptions().timeZone;
8
- }
9
- catch (_a) {
10
- return undefined;
11
- }
3
+ try {
4
+ return new Intl.DateTimeFormat().resolvedOptions().timeZone;
5
+ } catch {
6
+ return;
7
+ }
12
8
  }
9
+ //#endregion
10
+ exports.getTimeZone = getTimeZone;
11
+
13
12
  //# sourceMappingURL=timezone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../../src/tools/utils/timezone.ts"],"names":[],"mappings":";;AAAA,kCAQC;AARD,SAAgB,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;QAEtC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAA;IACxC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"timezone.js","names":[],"sources":["../../../src/tools/utils/timezone.ts"],"sourcesContent":["export function getTimeZone() {\n try {\n const intl = new Intl.DateTimeFormat()\n\n return intl.resolvedOptions().timeZone\n } catch {\n return undefined\n }\n}\n"],"mappings":";AAAA,SAAgB,cAAc;CAC5B,IAAI;EAGF,OAAO,IAFU,KAAK,eAEZ,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAChC,QAAQ;EACN;CACF;AACF"}
@@ -1,4 +1,4 @@
1
- import type { Duration, RelativeTime } from './utils/timeUtils';
1
+ import type { Duration, RelativeTime } from '@kubesense/kubesense-js-core/time';
2
2
  export interface ValueHistoryEntry<T> {
3
3
  startTime: RelativeTime;
4
4
  endTime: RelativeTime;
@@ -18,10 +18,23 @@ export interface ValueHistory<Value> {
18
18
  }) => Value | undefined;
19
19
  closeActive: (endTime: RelativeTime) => void;
20
20
  findAll: (startTime?: RelativeTime, duration?: Duration) => Value[];
21
+ findAllEntries: (startTime?: RelativeTime, duration?: Duration) => Array<ValueHistoryEntry<Value>>;
22
+ getEntries: (startTime: RelativeTime) => Array<ValueHistoryEntry<Value>>;
21
23
  reset: () => void;
22
24
  stop: () => void;
23
25
  }
24
- export declare function createValueHistory<Value>({ expireDelay, maxEntries, }: {
26
+ type ValueHistoryArgs = {
27
+ expireDelay?: number;
28
+ maxEntries: number;
29
+ } | {
25
30
  expireDelay: number;
26
31
  maxEntries?: number;
27
- }): ValueHistory<Value>;
32
+ };
33
+ export declare function createValueHistory<Value>({ expireDelay, maxEntries }: ValueHistoryArgs): ValueHistory<Value>;
34
+ /**
35
+ * Reset all global state. This is useful for testing to ensure clean state between tests.
36
+ *
37
+ * @internal
38
+ */
39
+ export declare function resetValueHistoryGlobals(): void;
40
+ export {};
@@ -1,104 +1,118 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLEAR_OLD_VALUES_INTERVAL = void 0;
4
- exports.createValueHistory = createValueHistory;
5
- const timer_1 = require("./timer");
6
- const arrayUtils_1 = require("./utils/arrayUtils");
7
- const timeUtils_1 = require("./utils/timeUtils");
1
+ const require_timer = require("./timer.js");
2
+ const require_arrayUtils = require("./utils/arrayUtils.js");
3
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
4
+ //#region src/tools/valueHistory.ts
8
5
  const END_OF_TIMES = Infinity;
9
- exports.CLEAR_OLD_VALUES_INTERVAL = timeUtils_1.ONE_MINUTE;
10
- let cleanupHistoriesInterval = null;
11
- const cleanupTasks = new Set();
6
+ const CLEAR_OLD_VALUES_INTERVAL = _kubesense_kubesense_js_core_time.ONE_MINUTE;
7
+ let cleanupHistoriesInterval;
8
+ const cleanupTasks = /* @__PURE__ */ new Set();
12
9
  function cleanupHistories() {
13
- cleanupTasks.forEach((task) => task());
10
+ cleanupTasks.forEach((task) => task());
14
11
  }
15
- function createValueHistory({ expireDelay, maxEntries, }) {
16
- let entries = [];
17
- if (!cleanupHistoriesInterval) {
18
- cleanupHistoriesInterval = (0, timer_1.setInterval)(() => cleanupHistories(), exports.CLEAR_OLD_VALUES_INTERVAL);
19
- }
20
- const clearExpiredValues = () => {
21
- const oldTimeThreshold = (0, timeUtils_1.relativeNow)() - expireDelay;
22
- while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {
23
- entries.pop();
24
- }
25
- };
26
- cleanupTasks.add(clearExpiredValues);
27
- /**
28
- * Add a value to the history associated with a start time. Returns a reference to this newly
29
- * added entry that can be removed or closed.
30
- */
31
- function add(value, startTime) {
32
- const entry = {
33
- value,
34
- startTime,
35
- endTime: END_OF_TIMES,
36
- remove: () => {
37
- (0, arrayUtils_1.removeItem)(entries, entry);
38
- },
39
- close: (endTime) => {
40
- entry.endTime = endTime;
41
- },
42
- };
43
- if (maxEntries && entries.length >= maxEntries) {
44
- entries.pop();
45
- }
46
- entries.unshift(entry);
47
- return entry;
48
- }
49
- /**
50
- * Return the latest value that was active during `startTime`, or the currently active value
51
- * if no `startTime` is provided. This method assumes that entries are not overlapping.
52
- *
53
- * If `option.returnInactive` is true, returns the value at `startTime` (active or not).
54
- */
55
- function find(startTime = END_OF_TIMES, options = { returnInactive: false }) {
56
- for (const entry of entries) {
57
- if (entry.startTime <= startTime) {
58
- if (options.returnInactive || startTime <= entry.endTime) {
59
- return entry.value;
60
- }
61
- break;
62
- }
63
- }
64
- }
65
- /**
66
- * Helper function to close the currently active value, if any. This method assumes that entries
67
- * are not overlapping.
68
- */
69
- function closeActive(endTime) {
70
- const latestEntry = entries[0];
71
- if (latestEntry && latestEntry.endTime === END_OF_TIMES) {
72
- latestEntry.close(endTime);
73
- }
74
- }
75
- /**
76
- * Return all values with an active period overlapping with the duration,
77
- * or all values that were active during `startTime` if no duration is provided,
78
- * or all currently active values if no `startTime` is provided.
79
- */
80
- function findAll(startTime = END_OF_TIMES, duration = 0) {
81
- const endTime = (0, timeUtils_1.addDuration)(startTime, duration);
82
- return entries
83
- .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)
84
- .map((entry) => entry.value);
85
- }
86
- /**
87
- * Remove all entries from this collection.
88
- */
89
- function reset() {
90
- entries = [];
91
- }
92
- /**
93
- * Stop internal garbage collection of past entries.
94
- */
95
- function stop() {
96
- cleanupTasks.delete(clearExpiredValues);
97
- if (cleanupTasks.size === 0 && cleanupHistoriesInterval) {
98
- (0, timer_1.clearInterval)(cleanupHistoriesInterval);
99
- cleanupHistoriesInterval = null;
100
- }
101
- }
102
- return { add, find, closeActive, findAll, reset, stop };
12
+ function createValueHistory({ expireDelay, maxEntries }) {
13
+ let entries = [];
14
+ const clearExpiredValues = () => {
15
+ if (!expireDelay) return;
16
+ const oldTimeThreshold = (0, _kubesense_kubesense_js_core_time.relativeNow)() - expireDelay;
17
+ while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) entries.pop();
18
+ };
19
+ if (expireDelay) {
20
+ if (!cleanupHistoriesInterval) cleanupHistoriesInterval = require_timer.setInterval(() => cleanupHistories(), CLEAR_OLD_VALUES_INTERVAL);
21
+ cleanupTasks.add(clearExpiredValues);
22
+ }
23
+ /**
24
+ * Add a value to the history associated with a start time. Returns a reference to this newly
25
+ * added entry that can be removed or closed.
26
+ */
27
+ function add(value, startTime) {
28
+ const entry = {
29
+ value,
30
+ startTime,
31
+ endTime: END_OF_TIMES,
32
+ remove: () => {
33
+ require_arrayUtils.removeItem(entries, entry);
34
+ },
35
+ close: (endTime) => {
36
+ entry.endTime = endTime;
37
+ }
38
+ };
39
+ if (maxEntries && entries.length >= maxEntries) entries.pop();
40
+ entries.unshift(entry);
41
+ return entry;
42
+ }
43
+ /**
44
+ * Return the latest value that was active during `startTime`, or the currently active value
45
+ * if no `startTime` is provided. This method assumes that entries are not overlapping.
46
+ *
47
+ * If `option.returnInactive` is true, returns the value at `startTime` (active or not).
48
+ */
49
+ function find(startTime = END_OF_TIMES, options = { returnInactive: false }) {
50
+ for (const entry of entries) if (entry.startTime <= startTime) {
51
+ if (options.returnInactive || startTime <= entry.endTime) return entry.value;
52
+ break;
53
+ }
54
+ }
55
+ /**
56
+ * Helper function to close the currently active value, if any. This method assumes that entries
57
+ * are not overlapping.
58
+ */
59
+ function closeActive(endTime) {
60
+ const latestEntry = entries[0];
61
+ if (latestEntry?.endTime === END_OF_TIMES) latestEntry.close(endTime);
62
+ }
63
+ /**
64
+ * Return all values with an active period overlapping with the duration,
65
+ * or all values that were active during `startTime` if no duration is provided,
66
+ * or all currently active values if no `startTime` is provided.
67
+ */
68
+ function findAll(startTime = END_OF_TIMES, duration = 0) {
69
+ const endTime = (0, _kubesense_kubesense_js_core_time.addDuration)(startTime, duration);
70
+ return entries.filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime).map((entry) => entry.value);
71
+ }
72
+ /**
73
+ * Return all entries with an active period overlapping with the duration,
74
+ * or all entries that were active during `startTime` if no duration is provided,
75
+ * or all currently active entries if no `startTime` is provided.
76
+ */
77
+ function findAllEntries(startTime = END_OF_TIMES, duration = 0) {
78
+ const endTime = (0, _kubesense_kubesense_js_core_time.addDuration)(startTime, duration);
79
+ return entries.filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime);
80
+ }
81
+ /**
82
+ * Return all the entries whose start time is equal to the given startTime.
83
+ */
84
+ function getEntries(startTime) {
85
+ return entries.filter((entry) => entry.startTime === startTime);
86
+ }
87
+ /**
88
+ * Remove all entries from this collection.
89
+ */
90
+ function reset() {
91
+ entries = [];
92
+ }
93
+ /**
94
+ * Stop internal garbage collection of past entries.
95
+ */
96
+ function stop() {
97
+ cleanupTasks.delete(clearExpiredValues);
98
+ if (cleanupTasks.size === 0 && cleanupHistoriesInterval) {
99
+ require_timer.clearInterval(cleanupHistoriesInterval);
100
+ cleanupHistoriesInterval = void 0;
101
+ }
102
+ }
103
+ return {
104
+ add,
105
+ find,
106
+ closeActive,
107
+ findAll,
108
+ findAllEntries,
109
+ getEntries,
110
+ reset,
111
+ stop
112
+ };
103
113
  }
114
+ //#endregion
115
+ exports.CLEAR_OLD_VALUES_INTERVAL = CLEAR_OLD_VALUES_INTERVAL;
116
+ exports.createValueHistory = createValueHistory;
117
+
104
118
  //# sourceMappingURL=valueHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueHistory.js","sourceRoot":"","sources":["../../src/tools/valueHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valueHistory.js","names":["ONE_MINUTE","relativeNow","setInterval","addDuration"],"sources":["../../src/tools/valueHistory.ts"],"sourcesContent":["import { ONE_MINUTE, addDuration, relativeNow } from '@kubesense/kubesense-js-core/time'\nimport type { Duration, RelativeTime } from '@kubesense/kubesense-js-core/time'\nimport { setInterval, clearInterval } from './timer'\nimport type { TimeoutId } from './timer'\nimport { removeItem } from './utils/arrayUtils'\n\nconst END_OF_TIMES = Infinity as RelativeTime\n\nexport interface ValueHistoryEntry<T> {\n startTime: RelativeTime\n endTime: RelativeTime\n value: T\n remove(): void\n close(endTime: RelativeTime): void\n}\n\nexport const CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE\n\n/**\n * Store and keep track of values spans. This whole cache assumes that values are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nexport interface ValueHistory<Value> {\n add: (value: Value, startTime: RelativeTime) => ValueHistoryEntry<Value>\n find: (startTime?: RelativeTime, options?: { returnInactive: boolean }) => Value | undefined\n\n closeActive: (endTime: RelativeTime) => void\n findAll: (startTime?: RelativeTime, duration?: Duration) => Value[]\n findAllEntries: (startTime?: RelativeTime, duration?: Duration) => Array<ValueHistoryEntry<Value>>\n getEntries: (startTime: RelativeTime) => Array<ValueHistoryEntry<Value>>\n reset: () => void\n stop: () => void\n}\n\nlet cleanupHistoriesInterval: TimeoutId | undefined\n\nconst cleanupTasks: Set<() => void> = new Set()\n\nfunction cleanupHistories() {\n cleanupTasks.forEach((task) => task())\n}\n\ntype ValueHistoryArgs =\n | {\n expireDelay?: number\n maxEntries: number\n }\n | {\n expireDelay: number\n maxEntries?: number\n }\n\nexport function createValueHistory<Value>({ expireDelay, maxEntries }: ValueHistoryArgs): ValueHistory<Value> {\n let entries: Array<ValueHistoryEntry<Value>> = []\n\n const clearExpiredValues = () => {\n if (!expireDelay) {\n return\n }\n const oldTimeThreshold = relativeNow() - expireDelay\n while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {\n entries.pop()\n }\n }\n\n if (expireDelay) {\n if (!cleanupHistoriesInterval) {\n cleanupHistoriesInterval = setInterval(() => cleanupHistories(), CLEAR_OLD_VALUES_INTERVAL)\n }\n cleanupTasks.add(clearExpiredValues)\n }\n\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n function add(value: Value, startTime: RelativeTime): ValueHistoryEntry<Value> {\n const entry: ValueHistoryEntry<Value> = {\n value,\n startTime,\n endTime: END_OF_TIMES,\n remove: () => {\n removeItem(entries, entry)\n },\n close: (endTime: RelativeTime) => {\n entry.endTime = endTime\n },\n }\n\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop()\n }\n\n entries.unshift(entry)\n\n return entry\n }\n\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n *\n * If `option.returnInactive` is true, returns the value at `startTime` (active or not).\n */\n function find(\n startTime: RelativeTime = END_OF_TIMES,\n options: { returnInactive: boolean } = { returnInactive: false }\n ): Value | undefined {\n for (const entry of entries) {\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value\n }\n break\n }\n }\n }\n\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n function closeActive(endTime: RelativeTime) {\n const latestEntry = entries[0]\n if (latestEntry?.endTime === END_OF_TIMES) {\n latestEntry.close(endTime)\n }\n }\n\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n function findAll(startTime: RelativeTime = END_OF_TIMES, duration = 0 as Duration): Value[] {\n const endTime = addDuration(startTime, duration)\n return entries\n .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)\n .map((entry) => entry.value)\n }\n\n /**\n * Return all entries with an active period overlapping with the duration,\n * or all entries that were active during `startTime` if no duration is provided,\n * or all currently active entries if no `startTime` is provided.\n */\n function findAllEntries(\n startTime: RelativeTime = END_OF_TIMES,\n duration = 0 as Duration\n ): Array<ValueHistoryEntry<Value>> {\n const endTime = addDuration(startTime, duration)\n return entries.filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)\n }\n\n /**\n * Return all the entries whose start time is equal to the given startTime.\n */\n function getEntries(startTime: RelativeTime): Array<ValueHistoryEntry<Value>> {\n return entries.filter((entry) => entry.startTime === startTime)\n }\n\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = []\n }\n\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n cleanupTasks.delete(clearExpiredValues)\n if (cleanupTasks.size === 0 && cleanupHistoriesInterval) {\n clearInterval(cleanupHistoriesInterval)\n cleanupHistoriesInterval = undefined\n }\n }\n\n return { add, find, closeActive, findAll, findAllEntries, getEntries, reset, stop }\n}\n\n/**\n * Reset all global state. This is useful for testing to ensure clean state between tests.\n *\n * @internal\n */\nexport function resetValueHistoryGlobals() {\n cleanupTasks.clear()\n clearInterval(cleanupHistoriesInterval)\n cleanupHistoriesInterval = undefined\n}\n"],"mappings":";;;;AAMA,MAAM,eAAe;AAUrB,MAAa,4BAA4BA,kCAAAA;AAkBzC,IAAI;AAEJ,MAAM,+BAAgC,IAAI,IAAI;AAE9C,SAAS,mBAAmB;CAC1B,aAAa,SAAS,SAAS,KAAK,CAAC;AACvC;AAYA,SAAgB,mBAA0B,EAAE,aAAa,cAAqD;CAC5G,IAAI,UAA2C,CAAC;CAEhD,MAAM,2BAA2B;EAC/B,IAAI,CAAC,aACH;EAEF,MAAM,oBAAA,GAAmBC,kCAAAA,YAAAA,CAAY,IAAI;EACzC,OAAO,QAAQ,SAAS,KAAK,QAAQ,QAAQ,SAAS,EAAE,CAAC,UAAU,kBACjE,QAAQ,IAAI;CAEhB;CAEA,IAAI,aAAa;EACf,IAAI,CAAC,0BACH,2BAA2BC,cAAAA,kBAAkB,iBAAiB,GAAG,yBAAyB;EAE5F,aAAa,IAAI,kBAAkB;CACrC;;;;;CAMA,SAAS,IAAI,OAAc,WAAmD;EAC5E,MAAM,QAAkC;GACtC;GACA;GACA,SAAS;GACT,cAAc;IACZ,mBAAA,WAAW,SAAS,KAAK;GAC3B;GACA,QAAQ,YAA0B;IAChC,MAAM,UAAU;GAClB;EACF;EAEA,IAAI,cAAc,QAAQ,UAAU,YAClC,QAAQ,IAAI;EAGd,QAAQ,QAAQ,KAAK;EAErB,OAAO;CACT;;;;;;;CAQA,SAAS,KACP,YAA0B,cAC1B,UAAuC,EAAE,gBAAgB,MAAM,GAC5C;EACnB,KAAK,MAAM,SAAS,SAClB,IAAI,MAAM,aAAa,WAAW;GAChC,IAAI,QAAQ,kBAAkB,aAAa,MAAM,SAC/C,OAAO,MAAM;GAEf;EACF;CAEJ;;;;;CAMA,SAAS,YAAY,SAAuB;EAC1C,MAAM,cAAc,QAAQ;EAC5B,IAAI,aAAa,YAAY,cAC3B,YAAY,MAAM,OAAO;CAE7B;;;;;;CAOA,SAAS,QAAQ,YAA0B,cAAc,WAAW,GAAwB;EAC1F,MAAM,WAAA,GAAUC,kCAAAA,YAAAA,CAAY,WAAW,QAAQ;EAC/C,OAAO,QACJ,QAAQ,UAAU,MAAM,aAAa,WAAW,aAAa,MAAM,OAAO,CAAC,CAC3E,KAAK,UAAU,MAAM,KAAK;CAC/B;;;;;;CAOA,SAAS,eACP,YAA0B,cAC1B,WAAW,GACsB;EACjC,MAAM,WAAA,GAAUA,kCAAAA,YAAAA,CAAY,WAAW,QAAQ;EAC/C,OAAO,QAAQ,QAAQ,UAAU,MAAM,aAAa,WAAW,aAAa,MAAM,OAAO;CAC3F;;;;CAKA,SAAS,WAAW,WAA0D;EAC5E,OAAO,QAAQ,QAAQ,UAAU,MAAM,cAAc,SAAS;CAChE;;;;CAKA,SAAS,QAAQ;EACf,UAAU,CAAC;CACb;;;;CAKA,SAAS,OAAO;EACd,aAAa,OAAO,kBAAkB;EACtC,IAAI,aAAa,SAAS,KAAK,0BAA0B;GACvD,cAAA,cAAc,wBAAwB;GACtC,2BAA2B,KAAA;EAC7B;CACF;CAEA,OAAO;EAAE;EAAK;EAAM;EAAa;EAAS;EAAgB;EAAY;EAAO;CAAK;AACpF"}
@@ -1,16 +1,20 @@
1
+ import type { EndpointBuilder } from '@kubesense/kubesense-js-core/transport';
1
2
  import type { Context } from '../tools/serialisation/context';
2
3
  import type { Encoder } from '../tools/encoder';
3
- import type { HttpRequest } from './httpRequest';
4
- import type { FlushController } from './flushController';
4
+ import type { Observable } from '../tools/observable';
5
+ import type { FlushEvent, FlushReason, UrgentFlushReason } from './flushController';
5
6
  export declare const MESSAGE_BYTES_LIMIT: number;
6
7
  export interface Batch {
7
- flushController: FlushController;
8
+ isEmpty: boolean;
8
9
  add: (message: Context) => void;
9
10
  upsert: (message: Context, key: string) => void;
11
+ forceFlush: (reason: FlushReason) => void;
12
+ prepareUrgentFlushObservable: Observable<UrgentFlushReason>;
13
+ flushObservable: Observable<FlushEvent>;
10
14
  stop: () => void;
11
15
  }
12
- export declare function createBatch({ encoder, request, flushController, }: {
13
- encoder: Encoder;
14
- request: HttpRequest;
15
- flushController: FlushController;
16
+ export declare function createBatch({ encoder, endpoints, reportError, }: {
17
+ encoder?: Encoder;
18
+ endpoints: EndpointBuilder[];
19
+ reportError: (message: string) => void;
16
20
  }): Batch;