@openobserve/browser-core 0.2.8

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 (605) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/cjs/boot/init.d.ts +5 -0
  4. package/cjs/boot/init.js +36 -0
  5. package/cjs/boot/init.js.map +1 -0
  6. package/cjs/browser/addEventListener.d.ts +76 -0
  7. package/cjs/browser/addEventListener.js +52 -0
  8. package/cjs/browser/addEventListener.js.map +1 -0
  9. package/cjs/browser/cookie.d.ts +10 -0
  10. package/cjs/browser/cookie.js +69 -0
  11. package/cjs/browser/cookie.js.map +1 -0
  12. package/cjs/browser/fetchObservable.d.ts +23 -0
  13. package/cjs/browser/fetchObservable.js +74 -0
  14. package/cjs/browser/fetchObservable.js.map +1 -0
  15. package/cjs/browser/pageExitObservable.d.ts +14 -0
  16. package/cjs/browser/pageExitObservable.js +58 -0
  17. package/cjs/browser/pageExitObservable.js.map +1 -0
  18. package/cjs/browser/runOnReadyState.d.ts +2 -0
  19. package/cjs/browser/runOnReadyState.js +15 -0
  20. package/cjs/browser/runOnReadyState.js.map +1 -0
  21. package/cjs/browser/types.d.ts +19 -0
  22. package/cjs/browser/types.js +6 -0
  23. package/cjs/browser/types.js.map +1 -0
  24. package/cjs/browser/xhrObservable.d.ts +22 -0
  25. package/cjs/browser/xhrObservable.js +93 -0
  26. package/cjs/browser/xhrObservable.js.map +1 -0
  27. package/cjs/domain/configuration/configuration.d.ts +67 -0
  28. package/cjs/domain/configuration/configuration.js +95 -0
  29. package/cjs/domain/configuration/configuration.js.map +1 -0
  30. package/cjs/domain/configuration/endpointBuilder.d.ts +14 -0
  31. package/cjs/domain/configuration/endpointBuilder.js +94 -0
  32. package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
  33. package/cjs/domain/configuration/index.d.ts +3 -0
  34. package/cjs/domain/configuration/index.js +25 -0
  35. package/cjs/domain/configuration/index.js.map +1 -0
  36. package/cjs/domain/configuration/intakeSites.d.ts +5 -0
  37. package/cjs/domain/configuration/intakeSites.js +9 -0
  38. package/cjs/domain/configuration/intakeSites.js.map +1 -0
  39. package/cjs/domain/configuration/tags.d.ts +4 -0
  40. package/cjs/domain/configuration/tags.js +39 -0
  41. package/cjs/domain/configuration/tags.js.map +1 -0
  42. package/cjs/domain/configuration/transportConfiguration.d.ts +16 -0
  43. package/cjs/domain/configuration/transportConfiguration.js +42 -0
  44. package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
  45. package/cjs/domain/console/consoleObservable.d.ts +11 -0
  46. package/cjs/domain/console/consoleObservable.js +75 -0
  47. package/cjs/domain/console/consoleObservable.js.map +1 -0
  48. package/cjs/domain/deflate/index.d.ts +1 -0
  49. package/cjs/domain/deflate/index.js +18 -0
  50. package/cjs/domain/deflate/index.js.map +1 -0
  51. package/cjs/domain/deflate/types.d.ts +26 -0
  52. package/cjs/domain/deflate/types.js +3 -0
  53. package/cjs/domain/deflate/types.js.map +1 -0
  54. package/cjs/domain/error/error.d.ts +28 -0
  55. package/cjs/domain/error/error.js +131 -0
  56. package/cjs/domain/error/error.js.map +1 -0
  57. package/cjs/domain/error/error.types.d.ts +40 -0
  58. package/cjs/domain/error/error.types.js +13 -0
  59. package/cjs/domain/error/error.types.js.map +1 -0
  60. package/cjs/domain/error/trackRuntimeError.d.ts +5 -0
  61. package/cjs/domain/error/trackRuntimeError.js +21 -0
  62. package/cjs/domain/error/trackRuntimeError.js.map +1 -0
  63. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  64. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +40 -0
  65. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  66. package/cjs/domain/report/browser.types.d.ts +24 -0
  67. package/cjs/domain/report/browser.types.js +3 -0
  68. package/cjs/domain/report/browser.types.js.map +1 -0
  69. package/cjs/domain/report/reportObservable.d.ts +15 -0
  70. package/cjs/domain/report/reportObservable.js +94 -0
  71. package/cjs/domain/report/reportObservable.js.map +1 -0
  72. package/cjs/domain/resourceUtils.d.ts +16 -0
  73. package/cjs/domain/resourceUtils.js +3 -0
  74. package/cjs/domain/resourceUtils.js.map +1 -0
  75. package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
  76. package/cjs/domain/session/oldCookiesMigration.js +40 -0
  77. package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
  78. package/cjs/domain/session/sessionConstants.d.ts +2 -0
  79. package/cjs/domain/session/sessionConstants.js +7 -0
  80. package/cjs/domain/session/sessionConstants.js.map +1 -0
  81. package/cjs/domain/session/sessionManager.d.ts +20 -0
  82. package/cjs/domain/session/sessionManager.js +65 -0
  83. package/cjs/domain/session/sessionManager.js.map +1 -0
  84. package/cjs/domain/session/sessionState.d.ts +11 -0
  85. package/cjs/domain/session/sessionState.js +45 -0
  86. package/cjs/domain/session/sessionState.js.map +1 -0
  87. package/cjs/domain/session/sessionStore.d.ts +34 -0
  88. package/cjs/domain/session/sessionStore.js +144 -0
  89. package/cjs/domain/session/sessionStore.js.map +1 -0
  90. package/cjs/domain/session/sessionStoreOperations.d.ts +15 -0
  91. package/cjs/domain/session/sessionStoreOperations.js +104 -0
  92. package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
  93. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +6 -0
  94. package/cjs/domain/session/storeStrategies/sessionInCookie.js +48 -0
  95. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  96. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +3 -0
  97. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +40 -0
  98. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  99. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +14 -0
  100. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
  101. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  102. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +11 -0
  103. package/cjs/domain/synthetics/syntheticsWorkerValues.js +22 -0
  104. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  105. package/cjs/domain/telemetry/index.d.ts +3 -0
  106. package/cjs/domain/telemetry/index.js +28 -0
  107. package/cjs/domain/telemetry/index.js.map +1 -0
  108. package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +11 -0
  109. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -0
  110. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  111. package/cjs/domain/telemetry/telemetry.d.ts +112 -0
  112. package/cjs/domain/telemetry/telemetry.js +146 -0
  113. package/cjs/domain/telemetry/telemetry.js.map +1 -0
  114. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +375 -0
  115. package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
  116. package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
  117. package/cjs/domain/tracekit/computeStackTrace.d.ts +5 -0
  118. package/cjs/domain/tracekit/computeStackTrace.js +118 -0
  119. package/cjs/domain/tracekit/computeStackTrace.js.map +1 -0
  120. package/cjs/domain/tracekit/index.d.ts +3 -0
  121. package/cjs/domain/tracekit/index.js +8 -0
  122. package/cjs/domain/tracekit/index.js.map +1 -0
  123. package/cjs/domain/tracekit/tracekit.d.ts +35 -0
  124. package/cjs/domain/tracekit/tracekit.js +95 -0
  125. package/cjs/domain/tracekit/tracekit.js.map +1 -0
  126. package/cjs/domain/tracekit/types.d.ts +44 -0
  127. package/cjs/domain/tracekit/types.js +3 -0
  128. package/cjs/domain/tracekit/types.js.map +1 -0
  129. package/cjs/domain/user/index.d.ts +2 -0
  130. package/cjs/domain/user/index.js +19 -0
  131. package/cjs/domain/user/index.js.map +1 -0
  132. package/cjs/domain/user/user.d.ts +12 -0
  133. package/cjs/domain/user/user.js +35 -0
  134. package/cjs/domain/user/user.js.map +1 -0
  135. package/cjs/domain/user/user.types.d.ts +6 -0
  136. package/cjs/domain/user/user.types.js +3 -0
  137. package/cjs/domain/user/user.types.js.map +1 -0
  138. package/cjs/index.d.ts +63 -0
  139. package/cjs/index.js +155 -0
  140. package/cjs/index.js.map +1 -0
  141. package/cjs/tools/abstractLifeCycle.d.ts +23 -0
  142. package/cjs/tools/abstractLifeCycle.js +29 -0
  143. package/cjs/tools/abstractLifeCycle.js.map +1 -0
  144. package/cjs/tools/boundedBuffer.d.ts +5 -0
  145. package/cjs/tools/boundedBuffer.js +22 -0
  146. package/cjs/tools/boundedBuffer.js.map +1 -0
  147. package/cjs/tools/catchUserErrors.d.ts +1 -0
  148. package/cjs/tools/catchUserErrors.js +20 -0
  149. package/cjs/tools/catchUserErrors.js.map +1 -0
  150. package/cjs/tools/display.d.ts +35 -0
  151. package/cjs/tools/display.js +45 -0
  152. package/cjs/tools/display.js.map +1 -0
  153. package/cjs/tools/experimentalFeatures.d.ts +24 -0
  154. package/cjs/tools/experimentalFeatures.js +47 -0
  155. package/cjs/tools/experimentalFeatures.js.map +1 -0
  156. package/cjs/tools/getGlobalObject.d.ts +4 -0
  157. package/cjs/tools/getGlobalObject.js +37 -0
  158. package/cjs/tools/getGlobalObject.js.map +1 -0
  159. package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
  160. package/cjs/tools/getZoneJsOriginalValue.js +30 -0
  161. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
  162. package/cjs/tools/instrumentMethod.d.ts +19 -0
  163. package/cjs/tools/instrumentMethod.js +83 -0
  164. package/cjs/tools/instrumentMethod.js.map +1 -0
  165. package/cjs/tools/matchOption.d.ts +8 -0
  166. package/cjs/tools/matchOption.js +38 -0
  167. package/cjs/tools/matchOption.js.map +1 -0
  168. package/cjs/tools/mergeInto.d.ts +25 -0
  169. package/cjs/tools/mergeInto.js +105 -0
  170. package/cjs/tools/mergeInto.js.map +1 -0
  171. package/cjs/tools/monitor.d.ts +9 -0
  172. package/cjs/tools/monitor.js +76 -0
  173. package/cjs/tools/monitor.js.map +1 -0
  174. package/cjs/tools/observable.d.ts +12 -0
  175. package/cjs/tools/observable.js +44 -0
  176. package/cjs/tools/observable.js.map +1 -0
  177. package/cjs/tools/readBytesFromStream.d.ts +11 -0
  178. package/cjs/tools/readBytesFromStream.js +64 -0
  179. package/cjs/tools/readBytesFromStream.js.map +1 -0
  180. package/cjs/tools/sendToExtension.d.ts +3 -0
  181. package/cjs/tools/sendToExtension.js +11 -0
  182. package/cjs/tools/sendToExtension.js.map +1 -0
  183. package/cjs/tools/serialisation/context.d.ts +6 -0
  184. package/cjs/tools/serialisation/context.js +3 -0
  185. package/cjs/tools/serialisation/context.js.map +1 -0
  186. package/cjs/tools/serialisation/contextManager.d.ts +21 -0
  187. package/cjs/tools/serialisation/contextManager.js +70 -0
  188. package/cjs/tools/serialisation/contextManager.js.map +1 -0
  189. package/cjs/tools/serialisation/heavyCustomerDataWarning.d.ts +8 -0
  190. package/cjs/tools/serialisation/heavyCustomerDataWarning.js +18 -0
  191. package/cjs/tools/serialisation/heavyCustomerDataWarning.js.map +1 -0
  192. package/cjs/tools/serialisation/jsonStringify.d.ts +14 -0
  193. package/cjs/tools/serialisation/jsonStringify.js +49 -0
  194. package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
  195. package/cjs/tools/serialisation/sanitize.d.ts +18 -0
  196. package/cjs/tools/serialisation/sanitize.js +185 -0
  197. package/cjs/tools/serialisation/sanitize.js.map +1 -0
  198. package/cjs/tools/timer.d.ts +5 -0
  199. package/cjs/tools/timer.js +23 -0
  200. package/cjs/tools/timer.js.map +1 -0
  201. package/cjs/tools/utils/arrayUtils.d.ts +1 -0
  202. package/cjs/tools/utils/arrayUtils.js +11 -0
  203. package/cjs/tools/utils/arrayUtils.js.map +1 -0
  204. package/cjs/tools/utils/browserDetection.d.ts +2 -0
  205. package/cjs/tools/utils/browserDetection.js +12 -0
  206. package/cjs/tools/utils/browserDetection.js.map +1 -0
  207. package/cjs/tools/utils/byteUtils.d.ts +4 -0
  208. package/cjs/tools/utils/byteUtils.js +31 -0
  209. package/cjs/tools/utils/byteUtils.js.map +1 -0
  210. package/cjs/tools/utils/functionUtils.d.ts +9 -0
  211. package/cjs/tools/utils/functionUtils.js +48 -0
  212. package/cjs/tools/utils/functionUtils.js.map +1 -0
  213. package/cjs/tools/utils/numberUtils.d.ts +8 -0
  214. package/cjs/tools/utils/numberUtils.js +24 -0
  215. package/cjs/tools/utils/numberUtils.js.map +1 -0
  216. package/cjs/tools/utils/objectUtils.d.ts +10 -0
  217. package/cjs/tools/utils/objectUtils.js +26 -0
  218. package/cjs/tools/utils/objectUtils.js.map +1 -0
  219. package/cjs/tools/utils/polyfills.d.ts +24 -0
  220. package/cjs/tools/utils/polyfills.js +110 -0
  221. package/cjs/tools/utils/polyfills.js.map +1 -0
  222. package/cjs/tools/utils/responseUtils.d.ts +2 -0
  223. package/cjs/tools/utils/responseUtils.js +18 -0
  224. package/cjs/tools/utils/responseUtils.js.map +1 -0
  225. package/cjs/tools/utils/stringUtils.d.ts +7 -0
  226. package/cjs/tools/utils/stringUtils.js +32 -0
  227. package/cjs/tools/utils/stringUtils.js.map +1 -0
  228. package/cjs/tools/utils/timeUtils.d.ts +57 -0
  229. package/cjs/tools/utils/timeUtils.js +99 -0
  230. package/cjs/tools/utils/timeUtils.js.map +1 -0
  231. package/cjs/tools/utils/typeUtils.d.ts +4 -0
  232. package/cjs/tools/utils/typeUtils.js +17 -0
  233. package/cjs/tools/utils/typeUtils.js.map +1 -0
  234. package/cjs/tools/utils/urlPolyfill.d.ts +14 -0
  235. package/cjs/tools/utils/urlPolyfill.js +92 -0
  236. package/cjs/tools/utils/urlPolyfill.js.map +1 -0
  237. package/cjs/tools/valueHistory.d.ts +50 -0
  238. package/cjs/tools/valueHistory.js +106 -0
  239. package/cjs/tools/valueHistory.js.map +1 -0
  240. package/cjs/transport/batch.d.ts +19 -0
  241. package/cjs/transport/batch.js +79 -0
  242. package/cjs/transport/batch.js.map +1 -0
  243. package/cjs/transport/eventBridge.d.ts +12 -0
  244. package/cjs/transport/eventBridge.js +34 -0
  245. package/cjs/transport/eventBridge.js.map +1 -0
  246. package/cjs/transport/flushController.d.ts +48 -0
  247. package/cjs/transport/flushController.js +97 -0
  248. package/cjs/transport/flushController.js.map +1 -0
  249. package/cjs/transport/httpRequest.d.ts +37 -0
  250. package/cjs/transport/httpRequest.js +91 -0
  251. package/cjs/transport/httpRequest.js.map +1 -0
  252. package/cjs/transport/index.d.ts +4 -0
  253. package/cjs/transport/index.js +13 -0
  254. package/cjs/transport/index.js.map +1 -0
  255. package/cjs/transport/sendWithRetryStrategy.d.ts +39 -0
  256. package/cjs/transport/sendWithRetryStrategy.js +151 -0
  257. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  258. package/cjs/transport/startBatchWithReplica.d.ts +15 -0
  259. package/cjs/transport/startBatchWithReplica.js +37 -0
  260. package/cjs/transport/startBatchWithReplica.js.map +1 -0
  261. package/esm/boot/init.d.ts +5 -0
  262. package/esm/boot/init.js +31 -0
  263. package/esm/boot/init.js.map +1 -0
  264. package/esm/browser/addEventListener.d.ts +76 -0
  265. package/esm/browser/addEventListener.js +47 -0
  266. package/esm/browser/addEventListener.js.map +1 -0
  267. package/esm/browser/cookie.d.ts +10 -0
  268. package/esm/browser/cookie.js +61 -0
  269. package/esm/browser/cookie.js.map +1 -0
  270. package/esm/browser/fetchObservable.d.ts +23 -0
  271. package/esm/browser/fetchObservable.js +70 -0
  272. package/esm/browser/fetchObservable.js.map +1 -0
  273. package/esm/browser/pageExitObservable.d.ts +14 -0
  274. package/esm/browser/pageExitObservable.js +53 -0
  275. package/esm/browser/pageExitObservable.js.map +1 -0
  276. package/esm/browser/runOnReadyState.d.ts +2 -0
  277. package/esm/browser/runOnReadyState.js +11 -0
  278. package/esm/browser/runOnReadyState.js.map +1 -0
  279. package/esm/browser/types.d.ts +19 -0
  280. package/esm/browser/types.js +5 -0
  281. package/esm/browser/types.js.map +1 -0
  282. package/esm/browser/xhrObservable.d.ts +22 -0
  283. package/esm/browser/xhrObservable.js +89 -0
  284. package/esm/browser/xhrObservable.js.map +1 -0
  285. package/esm/domain/configuration/configuration.d.ts +67 -0
  286. package/esm/domain/configuration/configuration.js +90 -0
  287. package/esm/domain/configuration/configuration.js.map +1 -0
  288. package/esm/domain/configuration/endpointBuilder.d.ts +14 -0
  289. package/esm/domain/configuration/endpointBuilder.js +90 -0
  290. package/esm/domain/configuration/endpointBuilder.js.map +1 -0
  291. package/esm/domain/configuration/index.d.ts +3 -0
  292. package/esm/domain/configuration/index.js +4 -0
  293. package/esm/domain/configuration/index.js.map +1 -0
  294. package/esm/domain/configuration/intakeSites.d.ts +5 -0
  295. package/esm/domain/configuration/intakeSites.js +6 -0
  296. package/esm/domain/configuration/intakeSites.js.map +1 -0
  297. package/esm/domain/configuration/tags.d.ts +4 -0
  298. package/esm/domain/configuration/tags.js +34 -0
  299. package/esm/domain/configuration/tags.js.map +1 -0
  300. package/esm/domain/configuration/transportConfiguration.d.ts +16 -0
  301. package/esm/domain/configuration/transportConfiguration.js +38 -0
  302. package/esm/domain/configuration/transportConfiguration.js.map +1 -0
  303. package/esm/domain/console/consoleObservable.d.ts +11 -0
  304. package/esm/domain/console/consoleObservable.js +70 -0
  305. package/esm/domain/console/consoleObservable.js.map +1 -0
  306. package/esm/domain/deflate/index.d.ts +1 -0
  307. package/esm/domain/deflate/index.js +2 -0
  308. package/esm/domain/deflate/index.js.map +1 -0
  309. package/esm/domain/deflate/types.d.ts +26 -0
  310. package/esm/domain/deflate/types.js +2 -0
  311. package/esm/domain/deflate/types.js.map +1 -0
  312. package/esm/domain/error/error.d.ts +28 -0
  313. package/esm/domain/error/error.js +121 -0
  314. package/esm/domain/error/error.js.map +1 -0
  315. package/esm/domain/error/error.types.d.ts +40 -0
  316. package/esm/domain/error/error.types.js +10 -0
  317. package/esm/domain/error/error.types.js.map +1 -0
  318. package/esm/domain/error/trackRuntimeError.d.ts +5 -0
  319. package/esm/domain/error/trackRuntimeError.js +17 -0
  320. package/esm/domain/error/trackRuntimeError.js.map +1 -0
  321. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  322. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +36 -0
  323. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  324. package/esm/domain/report/browser.types.d.ts +24 -0
  325. package/esm/domain/report/browser.types.js +2 -0
  326. package/esm/domain/report/browser.types.js.map +1 -0
  327. package/esm/domain/report/reportObservable.d.ts +15 -0
  328. package/esm/domain/report/reportObservable.js +90 -0
  329. package/esm/domain/report/reportObservable.js.map +1 -0
  330. package/esm/domain/resourceUtils.d.ts +16 -0
  331. package/esm/domain/resourceUtils.js +2 -0
  332. package/esm/domain/resourceUtils.js.map +1 -0
  333. package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
  334. package/esm/domain/session/oldCookiesMigration.js +36 -0
  335. package/esm/domain/session/oldCookiesMigration.js.map +1 -0
  336. package/esm/domain/session/sessionConstants.d.ts +2 -0
  337. package/esm/domain/session/sessionConstants.js +4 -0
  338. package/esm/domain/session/sessionConstants.js.map +1 -0
  339. package/esm/domain/session/sessionManager.d.ts +20 -0
  340. package/esm/domain/session/sessionManager.js +60 -0
  341. package/esm/domain/session/sessionManager.js.map +1 -0
  342. package/esm/domain/session/sessionState.d.ts +11 -0
  343. package/esm/domain/session/sessionState.js +38 -0
  344. package/esm/domain/session/sessionState.js.map +1 -0
  345. package/esm/domain/session/sessionStore.d.ts +34 -0
  346. package/esm/domain/session/sessionStore.js +139 -0
  347. package/esm/domain/session/sessionStore.js.map +1 -0
  348. package/esm/domain/session/sessionStoreOperations.d.ts +15 -0
  349. package/esm/domain/session/sessionStoreOperations.js +99 -0
  350. package/esm/domain/session/sessionStoreOperations.js.map +1 -0
  351. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +6 -0
  352. package/esm/domain/session/storeStrategies/sessionInCookie.js +42 -0
  353. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  354. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +3 -0
  355. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +35 -0
  356. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  357. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +14 -0
  358. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
  359. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  360. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +11 -0
  361. package/esm/domain/synthetics/syntheticsWorkerValues.js +16 -0
  362. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  363. package/esm/domain/telemetry/index.d.ts +3 -0
  364. package/esm/domain/telemetry/index.js +4 -0
  365. package/esm/domain/telemetry/index.js.map +1 -0
  366. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +11 -0
  367. package/esm/domain/telemetry/rawTelemetryEvent.types.js +5 -0
  368. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  369. package/esm/domain/telemetry/telemetry.d.ts +112 -0
  370. package/esm/domain/telemetry/telemetry.js +134 -0
  371. package/esm/domain/telemetry/telemetry.js.map +1 -0
  372. package/esm/domain/telemetry/telemetryEvent.types.d.ts +375 -0
  373. package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
  374. package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
  375. package/esm/domain/tracekit/computeStackTrace.d.ts +5 -0
  376. package/esm/domain/tracekit/computeStackTrace.js +114 -0
  377. package/esm/domain/tracekit/computeStackTrace.js.map +1 -0
  378. package/esm/domain/tracekit/index.d.ts +3 -0
  379. package/esm/domain/tracekit/index.js +3 -0
  380. package/esm/domain/tracekit/index.js.map +1 -0
  381. package/esm/domain/tracekit/tracekit.d.ts +35 -0
  382. package/esm/domain/tracekit/tracekit.js +91 -0
  383. package/esm/domain/tracekit/tracekit.js.map +1 -0
  384. package/esm/domain/tracekit/types.d.ts +44 -0
  385. package/esm/domain/tracekit/types.js +2 -0
  386. package/esm/domain/tracekit/types.js.map +1 -0
  387. package/esm/domain/user/index.d.ts +2 -0
  388. package/esm/domain/user/index.js +3 -0
  389. package/esm/domain/user/index.js.map +1 -0
  390. package/esm/domain/user/user.d.ts +12 -0
  391. package/esm/domain/user/user.js +30 -0
  392. package/esm/domain/user/user.js.map +1 -0
  393. package/esm/domain/user/user.types.d.ts +6 -0
  394. package/esm/domain/user/user.types.js +2 -0
  395. package/esm/domain/user/user.types.js.map +1 -0
  396. package/esm/index.d.ts +63 -0
  397. package/esm/index.js +61 -0
  398. package/esm/index.js.map +1 -0
  399. package/esm/tools/abstractLifeCycle.d.ts +23 -0
  400. package/esm/tools/abstractLifeCycle.js +26 -0
  401. package/esm/tools/abstractLifeCycle.js.map +1 -0
  402. package/esm/tools/boundedBuffer.d.ts +5 -0
  403. package/esm/tools/boundedBuffer.js +19 -0
  404. package/esm/tools/boundedBuffer.js.map +1 -0
  405. package/esm/tools/catchUserErrors.d.ts +1 -0
  406. package/esm/tools/catchUserErrors.js +16 -0
  407. package/esm/tools/catchUserErrors.js.map +1 -0
  408. package/esm/tools/display.d.ts +35 -0
  409. package/esm/tools/display.js +41 -0
  410. package/esm/tools/display.js.map +1 -0
  411. package/esm/tools/experimentalFeatures.d.ts +24 -0
  412. package/esm/tools/experimentalFeatures.js +40 -0
  413. package/esm/tools/experimentalFeatures.js.map +1 -0
  414. package/esm/tools/getGlobalObject.d.ts +4 -0
  415. package/esm/tools/getGlobalObject.js +33 -0
  416. package/esm/tools/getGlobalObject.js.map +1 -0
  417. package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
  418. package/esm/tools/getZoneJsOriginalValue.js +26 -0
  419. package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
  420. package/esm/tools/instrumentMethod.d.ts +19 -0
  421. package/esm/tools/instrumentMethod.js +77 -0
  422. package/esm/tools/instrumentMethod.js.map +1 -0
  423. package/esm/tools/matchOption.d.ts +8 -0
  424. package/esm/tools/matchOption.js +33 -0
  425. package/esm/tools/matchOption.js.map +1 -0
  426. package/esm/tools/mergeInto.d.ts +25 -0
  427. package/esm/tools/mergeInto.js +99 -0
  428. package/esm/tools/mergeInto.js.map +1 -0
  429. package/esm/tools/monitor.d.ts +9 -0
  430. package/esm/tools/monitor.js +66 -0
  431. package/esm/tools/monitor.js.map +1 -0
  432. package/esm/tools/observable.d.ts +12 -0
  433. package/esm/tools/observable.js +40 -0
  434. package/esm/tools/observable.js.map +1 -0
  435. package/esm/tools/readBytesFromStream.d.ts +11 -0
  436. package/esm/tools/readBytesFromStream.js +60 -0
  437. package/esm/tools/readBytesFromStream.js.map +1 -0
  438. package/esm/tools/sendToExtension.d.ts +3 -0
  439. package/esm/tools/sendToExtension.js +7 -0
  440. package/esm/tools/sendToExtension.js.map +1 -0
  441. package/esm/tools/serialisation/context.d.ts +6 -0
  442. package/esm/tools/serialisation/context.js +2 -0
  443. package/esm/tools/serialisation/context.js.map +1 -0
  444. package/esm/tools/serialisation/contextManager.d.ts +21 -0
  445. package/esm/tools/serialisation/contextManager.js +66 -0
  446. package/esm/tools/serialisation/contextManager.js.map +1 -0
  447. package/esm/tools/serialisation/heavyCustomerDataWarning.d.ts +8 -0
  448. package/esm/tools/serialisation/heavyCustomerDataWarning.js +14 -0
  449. package/esm/tools/serialisation/heavyCustomerDataWarning.js.map +1 -0
  450. package/esm/tools/serialisation/jsonStringify.d.ts +14 -0
  451. package/esm/tools/serialisation/jsonStringify.js +44 -0
  452. package/esm/tools/serialisation/jsonStringify.js.map +1 -0
  453. package/esm/tools/serialisation/sanitize.d.ts +18 -0
  454. package/esm/tools/serialisation/sanitize.js +181 -0
  455. package/esm/tools/serialisation/sanitize.js.map +1 -0
  456. package/esm/tools/timer.d.ts +5 -0
  457. package/esm/tools/timer.js +16 -0
  458. package/esm/tools/timer.js.map +1 -0
  459. package/esm/tools/utils/arrayUtils.d.ts +1 -0
  460. package/esm/tools/utils/arrayUtils.js +7 -0
  461. package/esm/tools/utils/arrayUtils.js.map +1 -0
  462. package/esm/tools/utils/browserDetection.d.ts +2 -0
  463. package/esm/tools/utils/browserDetection.js +7 -0
  464. package/esm/tools/utils/browserDetection.js.map +1 -0
  465. package/esm/tools/utils/byteUtils.d.ts +4 -0
  466. package/esm/tools/utils/byteUtils.js +26 -0
  467. package/esm/tools/utils/byteUtils.js.map +1 -0
  468. package/esm/tools/utils/functionUtils.d.ts +9 -0
  469. package/esm/tools/utils/functionUtils.js +43 -0
  470. package/esm/tools/utils/functionUtils.js.map +1 -0
  471. package/esm/tools/utils/numberUtils.d.ts +8 -0
  472. package/esm/tools/utils/numberUtils.js +17 -0
  473. package/esm/tools/utils/numberUtils.js.map +1 -0
  474. package/esm/tools/utils/objectUtils.d.ts +10 -0
  475. package/esm/tools/utils/objectUtils.js +19 -0
  476. package/esm/tools/utils/objectUtils.js.map +1 -0
  477. package/esm/tools/utils/polyfills.d.ts +24 -0
  478. package/esm/tools/utils/polyfills.js +95 -0
  479. package/esm/tools/utils/polyfills.js.map +1 -0
  480. package/esm/tools/utils/responseUtils.d.ts +2 -0
  481. package/esm/tools/utils/responseUtils.js +13 -0
  482. package/esm/tools/utils/responseUtils.js.map +1 -0
  483. package/esm/tools/utils/stringUtils.d.ts +7 -0
  484. package/esm/tools/utils/stringUtils.js +26 -0
  485. package/esm/tools/utils/stringUtils.js.map +1 -0
  486. package/esm/tools/utils/timeUtils.d.ts +57 -0
  487. package/esm/tools/utils/timeUtils.js +82 -0
  488. package/esm/tools/utils/timeUtils.js.map +1 -0
  489. package/esm/tools/utils/typeUtils.d.ts +4 -0
  490. package/esm/tools/utils/typeUtils.js +13 -0
  491. package/esm/tools/utils/typeUtils.js.map +1 -0
  492. package/esm/tools/utils/urlPolyfill.d.ts +14 -0
  493. package/esm/tools/utils/urlPolyfill.js +80 -0
  494. package/esm/tools/utils/urlPolyfill.js.map +1 -0
  495. package/esm/tools/valueHistory.d.ts +50 -0
  496. package/esm/tools/valueHistory.js +103 -0
  497. package/esm/tools/valueHistory.js.map +1 -0
  498. package/esm/transport/batch.d.ts +19 -0
  499. package/esm/transport/batch.js +76 -0
  500. package/esm/transport/batch.js.map +1 -0
  501. package/esm/transport/eventBridge.d.ts +12 -0
  502. package/esm/transport/eventBridge.js +29 -0
  503. package/esm/transport/eventBridge.js.map +1 -0
  504. package/esm/transport/flushController.d.ts +48 -0
  505. package/esm/transport/flushController.js +93 -0
  506. package/esm/transport/flushController.js.map +1 -0
  507. package/esm/transport/httpRequest.d.ts +37 -0
  508. package/esm/transport/httpRequest.js +85 -0
  509. package/esm/transport/httpRequest.js.map +1 -0
  510. package/esm/transport/index.d.ts +4 -0
  511. package/esm/transport/index.js +5 -0
  512. package/esm/transport/index.js.map +1 -0
  513. package/esm/transport/sendWithRetryStrategy.d.ts +39 -0
  514. package/esm/transport/sendWithRetryStrategy.js +146 -0
  515. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  516. package/esm/transport/startBatchWithReplica.d.ts +15 -0
  517. package/esm/transport/startBatchWithReplica.js +33 -0
  518. package/esm/transport/startBatchWithReplica.js.map +1 -0
  519. package/package.json +26 -0
  520. package/src/boot/init.ts +41 -0
  521. package/src/browser/addEventListener.ts +136 -0
  522. package/src/browser/cookie.ts +71 -0
  523. package/src/browser/fetchObservable.ts +112 -0
  524. package/src/browser/pageExitObservable.ts +69 -0
  525. package/src/browser/runOnReadyState.ts +15 -0
  526. package/src/browser/types.ts +40 -0
  527. package/src/browser/xhrObservable.ts +127 -0
  528. package/src/domain/configuration/configuration.ts +191 -0
  529. package/src/domain/configuration/endpointBuilder.ts +134 -0
  530. package/src/domain/configuration/index.ts +9 -0
  531. package/src/domain/configuration/intakeSites.ts +5 -0
  532. package/src/domain/configuration/tags.ts +43 -0
  533. package/src/domain/configuration/transportConfiguration.ts +71 -0
  534. package/src/domain/console/consoleObservable.ts +86 -0
  535. package/src/domain/deflate/index.ts +1 -0
  536. package/src/domain/deflate/types.ts +41 -0
  537. package/src/domain/error/error.ts +159 -0
  538. package/src/domain/error/error.types.ts +47 -0
  539. package/src/domain/error/trackRuntimeError.ts +21 -0
  540. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +46 -0
  541. package/src/domain/report/browser.types.ts +26 -0
  542. package/src/domain/report/reportObservable.ts +126 -0
  543. package/src/domain/resourceUtils.ts +17 -0
  544. package/src/domain/session/oldCookiesMigration.ts +42 -0
  545. package/src/domain/session/sessionConstants.ts +4 -0
  546. package/src/domain/session/sessionManager.ts +98 -0
  547. package/src/domain/session/sessionState.ts +51 -0
  548. package/src/domain/session/sessionStore.ts +185 -0
  549. package/src/domain/session/sessionStoreOperations.ts +112 -0
  550. package/src/domain/session/storeStrategies/sessionInCookie.ts +56 -0
  551. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +41 -0
  552. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +12 -0
  553. package/src/domain/synthetics/syntheticsWorkerValues.ts +27 -0
  554. package/src/domain/telemetry/index.ts +14 -0
  555. package/src/domain/telemetry/rawTelemetryEvent.types.ts +14 -0
  556. package/src/domain/telemetry/telemetry.ts +195 -0
  557. package/src/domain/telemetry/telemetryEvent.types.ts +382 -0
  558. package/src/domain/tracekit/computeStackTrace.ts +141 -0
  559. package/src/domain/tracekit/index.ts +3 -0
  560. package/src/domain/tracekit/tracekit.ts +96 -0
  561. package/src/domain/tracekit/types.ts +47 -0
  562. package/src/domain/user/index.ts +2 -0
  563. package/src/domain/user/user.ts +33 -0
  564. package/src/domain/user/user.types.ts +6 -0
  565. package/src/index.ts +128 -0
  566. package/src/tools/abstractLifeCycle.ts +45 -0
  567. package/src/tools/boundedBuffer.ts +17 -0
  568. package/src/tools/catchUserErrors.ts +11 -0
  569. package/src/tools/display.ts +51 -0
  570. package/src/tools/experimentalFeatures.ts +43 -0
  571. package/src/tools/getGlobalObject.ts +31 -0
  572. package/src/tools/getZoneJsOriginalValue.ts +38 -0
  573. package/src/tools/instrumentMethod.ts +109 -0
  574. package/src/tools/matchOption.ts +32 -0
  575. package/src/tools/mergeInto.ts +177 -0
  576. package/src/tools/monitor.ts +68 -0
  577. package/src/tools/observable.ts +40 -0
  578. package/src/tools/readBytesFromStream.ts +77 -0
  579. package/src/tools/sendToExtension.ts +12 -0
  580. package/src/tools/serialisation/context.ts +8 -0
  581. package/src/tools/serialisation/contextManager.ts +79 -0
  582. package/src/tools/serialisation/heavyCustomerDataWarning.ts +26 -0
  583. package/src/tools/serialisation/jsonStringify.ts +53 -0
  584. package/src/tools/serialisation/sanitize.ts +255 -0
  585. package/src/tools/timer.ts +21 -0
  586. package/src/tools/utils/arrayUtils.ts +7 -0
  587. package/src/tools/utils/browserDetection.ts +7 -0
  588. package/src/tools/utils/byteUtils.ts +29 -0
  589. package/src/tools/utils/functionUtils.ts +47 -0
  590. package/src/tools/utils/numberUtils.ts +19 -0
  591. package/src/tools/utils/objectUtils.ts +21 -0
  592. package/src/tools/utils/polyfills.ts +127 -0
  593. package/src/tools/utils/responseUtils.ts +12 -0
  594. package/src/tools/utils/stringUtils.ts +28 -0
  595. package/src/tools/utils/timeUtils.ts +112 -0
  596. package/src/tools/utils/typeUtils.ts +12 -0
  597. package/src/tools/utils/urlPolyfill.ts +86 -0
  598. package/src/tools/valueHistory.ts +120 -0
  599. package/src/transport/batch.ts +92 -0
  600. package/src/transport/eventBridge.ts +42 -0
  601. package/src/transport/flushController.ts +129 -0
  602. package/src/transport/httpRequest.ts +150 -0
  603. package/src/transport/index.ts +4 -0
  604. package/src/transport/sendWithRetryStrategy.ts +203 -0
  605. package/src/transport/startBatchWithReplica.ts +52 -0
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isLockEnabled = exports.processSessionStoreOperations = exports.LOCK_MAX_TRIES = exports.LOCK_RETRY_DELAY = void 0;
4
+ var timer_1 = require("../../tools/timer");
5
+ var stringUtils_1 = require("../../tools/utils/stringUtils");
6
+ var browserDetection_1 = require("../../tools/utils/browserDetection");
7
+ var sessionState_1 = require("./sessionState");
8
+ exports.LOCK_RETRY_DELAY = 10;
9
+ exports.LOCK_MAX_TRIES = 100;
10
+ var bufferedOperations = [];
11
+ var ongoingOperations;
12
+ function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries) {
13
+ var _a;
14
+ if (numberOfRetries === void 0) { numberOfRetries = 0; }
15
+ var retrieveSession = sessionStoreStrategy.retrieveSession, persistSession = sessionStoreStrategy.persistSession, clearSession = sessionStoreStrategy.clearSession;
16
+ var lockEnabled = (0, exports.isLockEnabled)();
17
+ if (!ongoingOperations) {
18
+ ongoingOperations = operations;
19
+ }
20
+ if (operations !== ongoingOperations) {
21
+ bufferedOperations.push(operations);
22
+ return;
23
+ }
24
+ if (lockEnabled && numberOfRetries >= exports.LOCK_MAX_TRIES) {
25
+ next(sessionStoreStrategy);
26
+ return;
27
+ }
28
+ var currentLock;
29
+ var currentSession = retrieveSession();
30
+ if (lockEnabled) {
31
+ // if someone has lock, retry later
32
+ if (currentSession.lock) {
33
+ retryLater(operations, sessionStoreStrategy, numberOfRetries);
34
+ return;
35
+ }
36
+ // acquire lock
37
+ currentLock = (0, stringUtils_1.generateUUID)();
38
+ currentSession.lock = currentLock;
39
+ persistSession(currentSession);
40
+ // if lock is not acquired, retry later
41
+ currentSession = retrieveSession();
42
+ if (currentSession.lock !== currentLock) {
43
+ retryLater(operations, sessionStoreStrategy, numberOfRetries);
44
+ return;
45
+ }
46
+ }
47
+ var processedSession = operations.process(currentSession);
48
+ if (lockEnabled) {
49
+ // if lock corrupted after process, retry later
50
+ currentSession = retrieveSession();
51
+ if (currentSession.lock !== currentLock) {
52
+ retryLater(operations, sessionStoreStrategy, numberOfRetries);
53
+ return;
54
+ }
55
+ }
56
+ if (processedSession) {
57
+ if ((0, sessionState_1.isSessionInExpiredState)(processedSession)) {
58
+ clearSession();
59
+ }
60
+ else {
61
+ (0, sessionState_1.expandSessionState)(processedSession);
62
+ persistSession(processedSession);
63
+ }
64
+ }
65
+ if (lockEnabled) {
66
+ // correctly handle lock around expiration would require to handle this case properly at several levels
67
+ // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it
68
+ if (!(processedSession && (0, sessionState_1.isSessionInExpiredState)(processedSession))) {
69
+ // if lock corrupted after persist, retry later
70
+ currentSession = retrieveSession();
71
+ if (currentSession.lock !== currentLock) {
72
+ retryLater(operations, sessionStoreStrategy, numberOfRetries);
73
+ return;
74
+ }
75
+ delete currentSession.lock;
76
+ persistSession(currentSession);
77
+ processedSession = currentSession;
78
+ }
79
+ }
80
+ // call after even if session is not persisted in order to perform operations on
81
+ // up-to-date session state value => the value could have been modified by another tab
82
+ (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentSession);
83
+ next(sessionStoreStrategy);
84
+ }
85
+ exports.processSessionStoreOperations = processSessionStoreOperations;
86
+ /**
87
+ * Lock strategy allows mitigating issues due to concurrent access to cookie.
88
+ * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.
89
+ */
90
+ var isLockEnabled = function () { return (0, browserDetection_1.isChromium)(); };
91
+ exports.isLockEnabled = isLockEnabled;
92
+ function retryLater(operations, sessionStore, currentNumberOfRetries) {
93
+ (0, timer_1.setTimeout)(function () {
94
+ processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);
95
+ }, exports.LOCK_RETRY_DELAY);
96
+ }
97
+ function next(sessionStore) {
98
+ ongoingOperations = undefined;
99
+ var nextOperations = bufferedOperations.shift();
100
+ if (nextOperations) {
101
+ processSessionStoreOperations(nextOperations, sessionStore);
102
+ }
103
+ }
104
+ //# sourceMappingURL=sessionStoreOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStoreOperations.js","sourceRoot":"","sources":["../../../src/domain/session/sessionStoreOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CookieOptions } from '../../../browser/cookie';
2
+ import type { InitConfiguration } from '../../configuration';
3
+ import type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy';
4
+ export declare function selectCookieStrategy(initConfiguration: InitConfiguration): SessionStoreStrategyType | undefined;
5
+ export declare function initCookieStrategy(cookieOptions: CookieOptions): SessionStoreStrategy;
6
+ export declare function buildCookieOptions(initConfiguration: InitConfiguration): CookieOptions;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildCookieOptions = exports.initCookieStrategy = exports.selectCookieStrategy = void 0;
4
+ var cookie_1 = require("../../../browser/cookie");
5
+ var oldCookiesMigration_1 = require("../oldCookiesMigration");
6
+ var sessionConstants_1 = require("../sessionConstants");
7
+ var sessionState_1 = require("../sessionState");
8
+ var sessionStoreStrategy_1 = require("./sessionStoreStrategy");
9
+ function selectCookieStrategy(initConfiguration) {
10
+ var cookieOptions = buildCookieOptions(initConfiguration);
11
+ return (0, cookie_1.areCookiesAuthorized)(cookieOptions) ? { type: 'Cookie', cookieOptions: cookieOptions } : undefined;
12
+ }
13
+ exports.selectCookieStrategy = selectCookieStrategy;
14
+ function initCookieStrategy(cookieOptions) {
15
+ var cookieStore = {
16
+ persistSession: persistSessionCookie(cookieOptions),
17
+ retrieveSession: retrieveSessionCookie,
18
+ clearSession: deleteSessionCookie(cookieOptions),
19
+ };
20
+ (0, oldCookiesMigration_1.tryOldCookiesMigration)(cookieStore);
21
+ return cookieStore;
22
+ }
23
+ exports.initCookieStrategy = initCookieStrategy;
24
+ function persistSessionCookie(options) {
25
+ return function (session) {
26
+ (0, cookie_1.setCookie)(sessionStoreStrategy_1.SESSION_STORE_KEY, (0, sessionState_1.toSessionString)(session), sessionConstants_1.SESSION_EXPIRATION_DELAY, options);
27
+ };
28
+ }
29
+ function retrieveSessionCookie() {
30
+ var sessionString = (0, cookie_1.getCookie)(sessionStoreStrategy_1.SESSION_STORE_KEY);
31
+ return (0, sessionState_1.toSessionState)(sessionString);
32
+ }
33
+ function deleteSessionCookie(options) {
34
+ return function () {
35
+ (0, cookie_1.deleteCookie)(sessionStoreStrategy_1.SESSION_STORE_KEY, options);
36
+ };
37
+ }
38
+ function buildCookieOptions(initConfiguration) {
39
+ var cookieOptions = {};
40
+ cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;
41
+ cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie;
42
+ if (initConfiguration.trackSessionAcrossSubdomains) {
43
+ cookieOptions.domain = (0, cookie_1.getCurrentSite)();
44
+ }
45
+ return cookieOptions;
46
+ }
47
+ exports.buildCookieOptions = buildCookieOptions;
48
+ //# sourceMappingURL=sessionInCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInCookie.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionInCookie.ts"],"names":[],"mappings":";;;AACA,kDAAkH;AAElH,8DAA+D;AAC/D,wDAA8D;AAE9D,gDAAiE;AAEjE,+DAA0D;AAE1D,SAAgB,oBAAoB,CAAC,iBAAoC;IACvE,IAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IAC3D,OAAO,IAAA,6BAAoB,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5F,CAAC;AAHD,oDAGC;AAED,SAAgB,kBAAkB,CAAC,aAA4B;IAC7D,IAAM,WAAW,GAAG;QAClB,cAAc,EAAE,oBAAoB,CAAC,aAAa,CAAC;QACnD,eAAe,EAAE,qBAAqB;QACtC,YAAY,EAAE,mBAAmB,CAAC,aAAa,CAAC;KACjD,CAAA;IAED,IAAA,4CAAsB,EAAC,WAAW,CAAC,CAAA;IAEnC,OAAO,WAAW,CAAA;AACpB,CAAC;AAVD,gDAUC;AAED,SAAS,oBAAoB,CAAC,OAAsB;IAClD,OAAO,UAAC,OAAqB;QAC3B,IAAA,kBAAS,EAAC,wCAAiB,EAAE,IAAA,8BAAe,EAAC,OAAO,CAAC,EAAE,2CAAwB,EAAE,OAAO,CAAC,CAAA;IAC3F,CAAC,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,wCAAiB,CAAC,CAAA;IAClD,OAAO,IAAA,6BAAc,EAAC,aAAa,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAsB;IACjD,OAAO;QACL,IAAA,qBAAY,EAAC,wCAAiB,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,iBAAoC;IACrE,IAAM,aAAa,GAAkB,EAAE,CAAA;IAEvC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,sBAAsB,IAAI,CAAC,CAAC,iBAAiB,CAAC,yBAAyB,CAAA;IAClH,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAC,yBAAyB,CAAA;IAEvE,IAAI,iBAAiB,CAAC,4BAA4B,EAAE;QAClD,aAAa,CAAC,MAAM,GAAG,IAAA,uBAAc,GAAE,CAAA;KACxC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAXD,gDAWC"}
@@ -0,0 +1,3 @@
1
+ import type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy';
2
+ export declare function selectLocalStorageStrategy(): SessionStoreStrategyType | undefined;
3
+ export declare function initLocalStorageStrategy(): SessionStoreStrategy;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initLocalStorageStrategy = exports.selectLocalStorageStrategy = void 0;
4
+ var stringUtils_1 = require("../../../tools/utils/stringUtils");
5
+ var sessionState_1 = require("../sessionState");
6
+ var sessionStoreStrategy_1 = require("./sessionStoreStrategy");
7
+ var LOCAL_STORAGE_TEST_KEY = '_oo_test_';
8
+ function selectLocalStorageStrategy() {
9
+ try {
10
+ var id = (0, stringUtils_1.generateUUID)();
11
+ var testKey = "".concat(LOCAL_STORAGE_TEST_KEY).concat(id);
12
+ localStorage.setItem(testKey, id);
13
+ var retrievedId = localStorage.getItem(testKey);
14
+ localStorage.removeItem(testKey);
15
+ return id === retrievedId ? { type: 'LocalStorage' } : undefined;
16
+ }
17
+ catch (e) {
18
+ return undefined;
19
+ }
20
+ }
21
+ exports.selectLocalStorageStrategy = selectLocalStorageStrategy;
22
+ function initLocalStorageStrategy() {
23
+ return {
24
+ persistSession: persistInLocalStorage,
25
+ retrieveSession: retrieveSessionFromLocalStorage,
26
+ clearSession: clearSessionFromLocalStorage,
27
+ };
28
+ }
29
+ exports.initLocalStorageStrategy = initLocalStorageStrategy;
30
+ function persistInLocalStorage(sessionState) {
31
+ localStorage.setItem(sessionStoreStrategy_1.SESSION_STORE_KEY, (0, sessionState_1.toSessionString)(sessionState));
32
+ }
33
+ function retrieveSessionFromLocalStorage() {
34
+ var sessionString = localStorage.getItem(sessionStoreStrategy_1.SESSION_STORE_KEY);
35
+ return (0, sessionState_1.toSessionState)(sessionString);
36
+ }
37
+ function clearSessionFromLocalStorage() {
38
+ localStorage.removeItem(sessionStoreStrategy_1.SESSION_STORE_KEY);
39
+ }
40
+ //# sourceMappingURL=sessionInLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInLocalStorage.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionInLocalStorage.ts"],"names":[],"mappings":";;;AAAA,gEAA+D;AAE/D,gDAAiE;AAEjE,+DAA0D;AAE1D,IAAM,sBAAsB,GAAG,WAAW,CAAA;AAE1C,SAAgB,0BAA0B;IACxC,IAAI;QACF,IAAM,EAAE,GAAG,IAAA,0BAAY,GAAE,CAAA;QACzB,IAAM,OAAO,GAAG,UAAG,sBAAsB,SAAG,EAAE,CAAE,CAAA;QAChD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACjC,IAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjD,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;KACjE;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAXD,gEAWC;AAED,SAAgB,wBAAwB;IACtC,OAAO;QACL,cAAc,EAAE,qBAAqB;QACrC,eAAe,EAAE,+BAA+B;QAChD,YAAY,EAAE,4BAA4B;KAC3C,CAAA;AACH,CAAC;AAND,4DAMC;AAED,SAAS,qBAAqB,CAAC,YAA0B;IACvD,YAAY,CAAC,OAAO,CAAC,wCAAiB,EAAE,IAAA,8BAAe,EAAC,YAAY,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,+BAA+B;IACtC,IAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,wCAAiB,CAAC,CAAA;IAC7D,OAAO,IAAA,6BAAc,EAAC,aAAa,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,4BAA4B;IACnC,YAAY,CAAC,UAAU,CAAC,wCAAiB,CAAC,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CookieOptions } from '../../../browser/cookie';
2
+ import type { SessionState } from '../sessionState';
3
+ export declare const SESSION_STORE_KEY = "_oo_s";
4
+ export type SessionStoreStrategyType = {
5
+ type: 'Cookie';
6
+ cookieOptions: CookieOptions;
7
+ } | {
8
+ type: 'LocalStorage';
9
+ };
10
+ export interface SessionStoreStrategy {
11
+ persistSession: (session: SessionState) => void;
12
+ retrieveSession: () => SessionState;
13
+ clearSession: () => void;
14
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SESSION_STORE_KEY = void 0;
4
+ exports.SESSION_STORE_KEY = '_oo_s';
5
+ //# sourceMappingURL=sessionStoreStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStoreStrategy.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionStoreStrategy.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG,OAAO,CAAA"}
@@ -0,0 +1,11 @@
1
+ export declare const SYNTHETICS_TEST_ID_COOKIE_NAME = "openobserve-synthetics-public-id";
2
+ export declare const SYNTHETICS_RESULT_ID_COOKIE_NAME = "openobserve-synthetics-result-id";
3
+ export declare const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = "openobserve-synthetics-injects-rum";
4
+ export interface BrowserWindow extends Window {
5
+ _OO_SYNTHETICS_PUBLIC_ID?: unknown;
6
+ _OO_SYNTHETICS_RESULT_ID?: unknown;
7
+ _OO_SYNTHETICS_INJECTS_RUM?: unknown;
8
+ }
9
+ export declare function willSyntheticsInjectRum(): boolean;
10
+ export declare function getSyntheticsTestId(): string | undefined;
11
+ export declare function getSyntheticsResultId(): string | undefined;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSyntheticsResultId = exports.getSyntheticsTestId = exports.willSyntheticsInjectRum = exports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME = exports.SYNTHETICS_RESULT_ID_COOKIE_NAME = exports.SYNTHETICS_TEST_ID_COOKIE_NAME = void 0;
4
+ var cookie_1 = require("../../browser/cookie");
5
+ exports.SYNTHETICS_TEST_ID_COOKIE_NAME = 'openobserve-synthetics-public-id';
6
+ exports.SYNTHETICS_RESULT_ID_COOKIE_NAME = 'openobserve-synthetics-result-id';
7
+ exports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'openobserve-synthetics-injects-rum';
8
+ function willSyntheticsInjectRum() {
9
+ return Boolean(window._OO_SYNTHETICS_INJECTS_RUM || (0, cookie_1.getCookie)(exports.SYNTHETICS_INJECTS_RUM_COOKIE_NAME));
10
+ }
11
+ exports.willSyntheticsInjectRum = willSyntheticsInjectRum;
12
+ function getSyntheticsTestId() {
13
+ var value = window._OO_SYNTHETICS_PUBLIC_ID || (0, cookie_1.getCookie)(exports.SYNTHETICS_TEST_ID_COOKIE_NAME);
14
+ return typeof value === 'string' ? value : undefined;
15
+ }
16
+ exports.getSyntheticsTestId = getSyntheticsTestId;
17
+ function getSyntheticsResultId() {
18
+ var value = window._OO_SYNTHETICS_RESULT_ID || (0, cookie_1.getCookie)(exports.SYNTHETICS_RESULT_ID_COOKIE_NAME);
19
+ return typeof value === 'string' ? value : undefined;
20
+ }
21
+ exports.getSyntheticsResultId = getSyntheticsResultId;
22
+ //# sourceMappingURL=syntheticsWorkerValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntheticsWorkerValues.js","sourceRoot":"","sources":["../../../src/domain/synthetics/syntheticsWorkerValues.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEnC,QAAA,8BAA8B,GAAG,kCAAkC,CAAA;AACnE,QAAA,gCAAgC,GAAG,kCAAkC,CAAA;AACrE,QAAA,kCAAkC,GAAG,oCAAoC,CAAA;AAQtF,SAAgB,uBAAuB;IACrC,OAAO,OAAO,CACX,MAAwB,CAAC,0BAA0B,IAAI,IAAA,kBAAS,EAAC,0CAAkC,CAAC,CACtG,CAAA;AACH,CAAC;AAJD,0DAIC;AAED,SAAgB,mBAAmB;IACjC,IAAM,KAAK,GAAI,MAAwB,CAAC,wBAAwB,IAAI,IAAA,kBAAS,EAAC,sCAA8B,CAAC,CAAA;IAC7G,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAHD,kDAGC;AAED,SAAgB,qBAAqB;IACnC,IAAM,KAAK,GAAI,MAAwB,CAAC,wBAAwB,IAAI,IAAA,kBAAS,EAAC,wCAAgC,CAAC,CAAA;IAC/G,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAHD,sDAGC"}
@@ -0,0 +1,3 @@
1
+ export { Telemetry, TelemetryService, addTelemetryDebug, addTelemetryError, startFakeTelemetry, resetTelemetry, startTelemetry, isTelemetryReplicationAllowed, addTelemetryConfiguration, } from './telemetry';
2
+ export * from './rawTelemetryEvent.types';
3
+ export * from './telemetryEvent.types';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.addTelemetryConfiguration = exports.isTelemetryReplicationAllowed = exports.startTelemetry = exports.resetTelemetry = exports.startFakeTelemetry = exports.addTelemetryError = exports.addTelemetryDebug = void 0;
18
+ var telemetry_1 = require("./telemetry");
19
+ Object.defineProperty(exports, "addTelemetryDebug", { enumerable: true, get: function () { return telemetry_1.addTelemetryDebug; } });
20
+ Object.defineProperty(exports, "addTelemetryError", { enumerable: true, get: function () { return telemetry_1.addTelemetryError; } });
21
+ Object.defineProperty(exports, "startFakeTelemetry", { enumerable: true, get: function () { return telemetry_1.startFakeTelemetry; } });
22
+ Object.defineProperty(exports, "resetTelemetry", { enumerable: true, get: function () { return telemetry_1.resetTelemetry; } });
23
+ Object.defineProperty(exports, "startTelemetry", { enumerable: true, get: function () { return telemetry_1.startTelemetry; } });
24
+ Object.defineProperty(exports, "isTelemetryReplicationAllowed", { enumerable: true, get: function () { return telemetry_1.isTelemetryReplicationAllowed; } });
25
+ Object.defineProperty(exports, "addTelemetryConfiguration", { enumerable: true, get: function () { return telemetry_1.addTelemetryConfiguration; } });
26
+ __exportStar(require("./rawTelemetryEvent.types"), exports);
27
+ __exportStar(require("./telemetryEvent.types"), exports);
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/telemetry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAUoB;AAPlB,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,0HAAA,6BAA6B,OAAA;AAC7B,sHAAA,yBAAyB,OAAA;AAG3B,4DAAyC;AACzC,yDAAsC"}
@@ -0,0 +1,11 @@
1
+ import type { TelemetryEvent, TelemetryConfigurationEvent } from './telemetryEvent.types';
2
+ export declare const TelemetryType: {
3
+ readonly log: "log";
4
+ readonly configuration: "configuration";
5
+ };
6
+ export declare const enum StatusType {
7
+ debug = "debug",
8
+ error = "error"
9
+ }
10
+ export type RawTelemetryEvent = TelemetryEvent['telemetry'];
11
+ export type RawTelemetryConfiguration = TelemetryConfigurationEvent['telemetry']['configuration'];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TelemetryType = void 0;
4
+ exports.TelemetryType = {
5
+ log: 'log',
6
+ configuration: 'configuration',
7
+ };
8
+ //# sourceMappingURL=rawTelemetryEvent.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawTelemetryEvent.types.js","sourceRoot":"","sources":["../../../src/domain/telemetry/rawTelemetryEvent.types.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;CACtB,CAAA"}
@@ -0,0 +1,112 @@
1
+ import type { Context } from '../../tools/serialisation/context';
2
+ import type { Configuration } from '../configuration';
3
+ import type { StackTrace } from '../tracekit';
4
+ import { Observable } from '../../tools/observable';
5
+ import type { TelemetryEvent } from './telemetryEvent.types';
6
+ import type { RawTelemetryConfiguration } from './rawTelemetryEvent.types';
7
+ export declare const enum TelemetryService {
8
+ LOGS = "browser-logs-sdk",
9
+ RUM = "browser-rum-sdk"
10
+ }
11
+ export interface Telemetry {
12
+ setContextProvider: (provider: () => Context) => void;
13
+ observable: Observable<TelemetryEvent & Context>;
14
+ enabled: boolean;
15
+ }
16
+ export declare function startTelemetry(telemetryService: TelemetryService, configuration: Configuration): Telemetry;
17
+ export declare function startFakeTelemetry(): ({
18
+ [k: string]: unknown;
19
+ type?: "log" | undefined;
20
+ status: "error";
21
+ message: string;
22
+ error?: {
23
+ [k: string]: unknown;
24
+ stack?: string | undefined;
25
+ kind?: string | undefined;
26
+ } | undefined;
27
+ } | {
28
+ [k: string]: unknown;
29
+ type?: "log" | undefined;
30
+ status: "debug";
31
+ message: string;
32
+ } | {
33
+ [k: string]: unknown;
34
+ type: "configuration";
35
+ configuration: {
36
+ [k: string]: unknown;
37
+ session_sample_rate?: number | undefined;
38
+ telemetry_sample_rate?: number | undefined;
39
+ telemetry_configuration_sample_rate?: number | undefined;
40
+ trace_sample_rate?: number | undefined;
41
+ premium_sample_rate?: number | undefined;
42
+ replay_sample_rate?: number | undefined;
43
+ session_replay_sample_rate?: number | undefined;
44
+ start_session_replay_recording_manually?: boolean | undefined;
45
+ use_proxy?: boolean | undefined;
46
+ use_before_send?: boolean | undefined;
47
+ silent_multiple_init?: boolean | undefined;
48
+ track_session_across_subdomains?: boolean | undefined;
49
+ track_resources?: boolean | undefined;
50
+ track_long_task?: boolean | undefined;
51
+ use_cross_site_session_cookie?: boolean | undefined;
52
+ use_secure_session_cookie?: boolean | undefined;
53
+ allow_fallback_to_local_storage?: boolean | undefined;
54
+ allow_untrusted_events?: boolean | undefined;
55
+ action_name_attribute?: string | undefined;
56
+ use_allowed_tracing_origins?: boolean | undefined;
57
+ use_allowed_tracing_urls?: boolean | undefined;
58
+ selected_tracing_propagators?: ("tracecontext" | "b3" | "b3multi")[] | undefined;
59
+ default_privacy_level?: string | undefined;
60
+ use_excluded_activity_urls?: boolean | undefined;
61
+ use_worker_url?: boolean | undefined;
62
+ track_frustrations?: boolean | undefined;
63
+ track_views_manually?: boolean | undefined;
64
+ track_interactions?: boolean | undefined;
65
+ track_user_interactions?: boolean | undefined;
66
+ forward_errors_to_logs?: boolean | undefined;
67
+ forward_console_logs?: string[] | "all" | undefined;
68
+ forward_reports?: string[] | "all" | undefined;
69
+ use_local_encryption?: boolean | undefined;
70
+ view_tracking_strategy?: "ActivityViewTrackingStrategy" | "FragmentViewTrackingStrategy" | "MixedViewTrackingStrategy" | "NavigationViewTrackingStrategy" | undefined;
71
+ track_background_events?: boolean | undefined;
72
+ mobile_vitals_update_period?: number | undefined;
73
+ track_errors?: boolean | undefined;
74
+ track_network_requests?: boolean | undefined;
75
+ use_tracing?: boolean | undefined;
76
+ track_native_views?: boolean | undefined;
77
+ track_native_errors?: boolean | undefined;
78
+ track_native_long_tasks?: boolean | undefined;
79
+ track_cross_platform_long_tasks?: boolean | undefined;
80
+ use_first_party_hosts?: boolean | undefined;
81
+ initialization_type?: string | undefined;
82
+ track_flutter_performance?: boolean | undefined;
83
+ batch_size?: number | undefined;
84
+ batch_upload_frequency?: number | undefined;
85
+ react_version?: string | undefined;
86
+ react_native_version?: string | undefined;
87
+ dart_version?: string | undefined;
88
+ };
89
+ })[];
90
+ export declare function resetTelemetry(): void;
91
+ /**
92
+ * Avoid mixing telemetry events from different data centers
93
+ * but keep replicating staging events for reliability
94
+ */
95
+ export declare function isTelemetryReplicationAllowed(configuration: Configuration): boolean;
96
+ export declare function addTelemetryDebug(message: string, context?: Context): void;
97
+ export declare function addTelemetryError(e: unknown, context?: Context): void;
98
+ export declare function addTelemetryConfiguration(configuration: RawTelemetryConfiguration): void;
99
+ export declare function formatError(e: unknown): {
100
+ error: {
101
+ kind: string | undefined;
102
+ stack: string;
103
+ };
104
+ message: string;
105
+ } | {
106
+ error: {
107
+ stack: string;
108
+ kind?: undefined;
109
+ };
110
+ message: string;
111
+ };
112
+ export declare function scrubCustomerFrames(stackTrace: StackTrace): StackTrace;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scrubCustomerFrames = exports.formatError = exports.addTelemetryConfiguration = exports.addTelemetryError = exports.addTelemetryDebug = exports.isTelemetryReplicationAllowed = exports.resetTelemetry = exports.startFakeTelemetry = exports.startTelemetry = void 0;
4
+ var display_1 = require("../../tools/display");
5
+ var error_1 = require("../error/error");
6
+ var experimentalFeatures_1 = require("../../tools/experimentalFeatures");
7
+ var configuration_1 = require("../configuration");
8
+ var tracekit_1 = require("../tracekit");
9
+ var observable_1 = require("../../tools/observable");
10
+ var timeUtils_1 = require("../../tools/utils/timeUtils");
11
+ var monitor_1 = require("../../tools/monitor");
12
+ var sendToExtension_1 = require("../../tools/sendToExtension");
13
+ var polyfills_1 = require("../../tools/utils/polyfills");
14
+ var numberUtils_1 = require("../../tools/utils/numberUtils");
15
+ var jsonStringify_1 = require("../../tools/serialisation/jsonStringify");
16
+ var mergeInto_1 = require("../../tools/mergeInto");
17
+ var rawTelemetryEvent_types_1 = require("./rawTelemetryEvent.types");
18
+ var ALLOWED_FRAME_URLS = [
19
+ 'http://localhost',
20
+ '<anonymous>',
21
+ ];
22
+ var TELEMETRY_EXCLUDED_SITES = [configuration_1.INTAKE_SITE_US1_FED];
23
+ var telemetryConfiguration = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false };
24
+ var onRawTelemetryEventCollected;
25
+ function startTelemetry(telemetryService, configuration) {
26
+ var contextProvider;
27
+ var observable = new observable_1.Observable();
28
+ telemetryConfiguration.telemetryEnabled =
29
+ !(0, polyfills_1.includes)(TELEMETRY_EXCLUDED_SITES, configuration.site) && (0, numberUtils_1.performDraw)(configuration.telemetrySampleRate);
30
+ telemetryConfiguration.telemetryConfigurationEnabled =
31
+ telemetryConfiguration.telemetryEnabled && (0, numberUtils_1.performDraw)(configuration.telemetryConfigurationSampleRate);
32
+ onRawTelemetryEventCollected = function (rawEvent) {
33
+ if (telemetryConfiguration.telemetryEnabled) {
34
+ var event_1 = toTelemetryEvent(telemetryService, rawEvent);
35
+ observable.notify(event_1);
36
+ (0, sendToExtension_1.sendToExtension)('telemetry', event_1);
37
+ }
38
+ };
39
+ (0, monitor_1.startMonitorErrorCollection)(addTelemetryError);
40
+ (0, polyfills_1.assign)(telemetryConfiguration, {
41
+ maxEventsPerPage: configuration.maxTelemetryEventsPerPage,
42
+ sentEventCount: 0,
43
+ });
44
+ function toTelemetryEvent(telemetryService, event) {
45
+ return (0, mergeInto_1.combine)({
46
+ type: 'telemetry',
47
+ date: (0, timeUtils_1.timeStampNow)(),
48
+ service: telemetryService,
49
+ version: "0.2.8",
50
+ source: 'browser',
51
+ _oo: {
52
+ format_version: 2,
53
+ },
54
+ telemetry: event,
55
+ experimental_features: (0, polyfills_1.arrayFrom)((0, experimentalFeatures_1.getExperimentalFeatures)()),
56
+ }, contextProvider !== undefined ? contextProvider() : {});
57
+ }
58
+ return {
59
+ setContextProvider: function (provider) {
60
+ contextProvider = provider;
61
+ },
62
+ observable: observable,
63
+ enabled: telemetryConfiguration.telemetryEnabled,
64
+ };
65
+ }
66
+ exports.startTelemetry = startTelemetry;
67
+ function startFakeTelemetry() {
68
+ var events = [];
69
+ (0, polyfills_1.assign)(telemetryConfiguration, {
70
+ maxEventsPerPage: Infinity,
71
+ sentEventCount: 0,
72
+ });
73
+ onRawTelemetryEventCollected = function (event) {
74
+ events.push(event);
75
+ };
76
+ return events;
77
+ }
78
+ exports.startFakeTelemetry = startFakeTelemetry;
79
+ function resetTelemetry() {
80
+ onRawTelemetryEventCollected = undefined;
81
+ }
82
+ exports.resetTelemetry = resetTelemetry;
83
+ /**
84
+ * Avoid mixing telemetry events from different data centers
85
+ * but keep replicating staging events for reliability
86
+ */
87
+ function isTelemetryReplicationAllowed(configuration) {
88
+ return configuration.site === configuration_1.INTAKE_SITE_STAGING;
89
+ }
90
+ exports.isTelemetryReplicationAllowed = isTelemetryReplicationAllowed;
91
+ function addTelemetryDebug(message, context) {
92
+ (0, monitor_1.displayIfDebugEnabled)(display_1.ConsoleApiName.debug, message, context);
93
+ addTelemetry((0, polyfills_1.assign)({
94
+ type: rawTelemetryEvent_types_1.TelemetryType.log,
95
+ message: message,
96
+ status: "debug" /* StatusType.debug */,
97
+ }, context));
98
+ }
99
+ exports.addTelemetryDebug = addTelemetryDebug;
100
+ function addTelemetryError(e, context) {
101
+ addTelemetry((0, polyfills_1.assign)({
102
+ type: rawTelemetryEvent_types_1.TelemetryType.log,
103
+ status: "error" /* StatusType.error */,
104
+ }, formatError(e), context));
105
+ }
106
+ exports.addTelemetryError = addTelemetryError;
107
+ function addTelemetryConfiguration(configuration) {
108
+ if (telemetryConfiguration.telemetryConfigurationEnabled) {
109
+ addTelemetry({
110
+ type: rawTelemetryEvent_types_1.TelemetryType.configuration,
111
+ configuration: configuration,
112
+ });
113
+ }
114
+ }
115
+ exports.addTelemetryConfiguration = addTelemetryConfiguration;
116
+ function addTelemetry(event) {
117
+ if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {
118
+ telemetryConfiguration.sentEventCount += 1;
119
+ onRawTelemetryEventCollected(event);
120
+ }
121
+ }
122
+ function formatError(e) {
123
+ if (e instanceof Error) {
124
+ var stackTrace = (0, tracekit_1.computeStackTrace)(e);
125
+ return {
126
+ error: {
127
+ kind: stackTrace.name,
128
+ stack: (0, error_1.toStackTraceString)(scrubCustomerFrames(stackTrace)),
129
+ },
130
+ message: stackTrace.message,
131
+ };
132
+ }
133
+ return {
134
+ error: {
135
+ stack: error_1.NO_ERROR_STACK_PRESENT_MESSAGE,
136
+ },
137
+ message: "".concat("Uncaught" /* NonErrorPrefix.UNCAUGHT */, " ").concat((0, jsonStringify_1.jsonStringify)(e)),
138
+ };
139
+ }
140
+ exports.formatError = formatError;
141
+ function scrubCustomerFrames(stackTrace) {
142
+ stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return (0, polyfills_1.startsWith)(frame.url, allowedFrameUrl); }); });
143
+ return stackTrace;
144
+ }
145
+ exports.scrubCustomerFrames = scrubCustomerFrames;
146
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/domain/telemetry/telemetry.ts"],"names":[],"mappings":"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"}