@tracelog/lib 0.11.1 → 0.11.3

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 (540) hide show
  1. package/README.md +7 -0
  2. package/dist/public-api.cjs +4387 -0
  3. package/dist/public-api.cjs.map +1 -0
  4. package/dist/public-api.d.mts +913 -0
  5. package/dist/public-api.d.ts +913 -0
  6. package/dist/public-api.js +4348 -0
  7. package/dist/public-api.js.map +1 -0
  8. package/package.json +18 -18
  9. package/dist/browser/tracelog.esm.js +0 -2977
  10. package/dist/browser/tracelog.esm.js.map +0 -1
  11. package/dist/browser/tracelog.js +0 -8
  12. package/dist/browser/tracelog.js.map +0 -1
  13. package/dist/cjs/api.d.ts +0 -19
  14. package/dist/cjs/api.d.ts.map +0 -1
  15. package/dist/cjs/api.js +0 -168
  16. package/dist/cjs/api.js.map +0 -1
  17. package/dist/cjs/app.constants.d.ts +0 -80
  18. package/dist/cjs/app.constants.d.ts.map +0 -1
  19. package/dist/cjs/app.constants.js +0 -94
  20. package/dist/cjs/app.constants.js.map +0 -1
  21. package/dist/cjs/app.d.ts +0 -43
  22. package/dist/cjs/app.d.ts.map +0 -1
  23. package/dist/cjs/app.js +0 -165
  24. package/dist/cjs/app.js.map +0 -1
  25. package/dist/cjs/constants/config.constants.d.ts +0 -109
  26. package/dist/cjs/constants/config.constants.d.ts.map +0 -1
  27. package/dist/cjs/constants/config.constants.js +0 -216
  28. package/dist/cjs/constants/config.constants.js.map +0 -1
  29. package/dist/cjs/constants/error.constants.d.ts +0 -56
  30. package/dist/cjs/constants/error.constants.d.ts.map +0 -1
  31. package/dist/cjs/constants/error.constants.js +0 -89
  32. package/dist/cjs/constants/error.constants.js.map +0 -1
  33. package/dist/cjs/constants/index.d.ts +0 -5
  34. package/dist/cjs/constants/index.d.ts.map +0 -1
  35. package/dist/cjs/constants/index.js +0 -21
  36. package/dist/cjs/constants/index.js.map +0 -1
  37. package/dist/cjs/constants/performance.constants.d.ts +0 -29
  38. package/dist/cjs/constants/performance.constants.d.ts.map +0 -1
  39. package/dist/cjs/constants/performance.constants.js +0 -44
  40. package/dist/cjs/constants/performance.constants.js.map +0 -1
  41. package/dist/cjs/constants/storage.constants.d.ts +0 -11
  42. package/dist/cjs/constants/storage.constants.d.ts.map +0 -1
  43. package/dist/cjs/constants/storage.constants.js +0 -23
  44. package/dist/cjs/constants/storage.constants.js.map +0 -1
  45. package/dist/cjs/handlers/click.handler.d.ts +0 -36
  46. package/dist/cjs/handlers/click.handler.d.ts.map +0 -1
  47. package/dist/cjs/handlers/click.handler.js +0 -263
  48. package/dist/cjs/handlers/click.handler.js.map +0 -1
  49. package/dist/cjs/handlers/error.handler.d.ts +0 -28
  50. package/dist/cjs/handlers/error.handler.d.ts.map +0 -1
  51. package/dist/cjs/handlers/error.handler.js +0 -168
  52. package/dist/cjs/handlers/error.handler.js.map +0 -1
  53. package/dist/cjs/handlers/page-view.handler.d.ts +0 -17
  54. package/dist/cjs/handlers/page-view.handler.d.ts.map +0 -1
  55. package/dist/cjs/handlers/page-view.handler.js +0 -100
  56. package/dist/cjs/handlers/page-view.handler.js.map +0 -1
  57. package/dist/cjs/handlers/performance.handler.d.ts +0 -23
  58. package/dist/cjs/handlers/performance.handler.d.ts.map +0 -1
  59. package/dist/cjs/handlers/performance.handler.js +0 -274
  60. package/dist/cjs/handlers/performance.handler.js.map +0 -1
  61. package/dist/cjs/handlers/scroll.handler.d.ts +0 -40
  62. package/dist/cjs/handlers/scroll.handler.d.ts.map +0 -1
  63. package/dist/cjs/handlers/scroll.handler.js +0 -327
  64. package/dist/cjs/handlers/scroll.handler.js.map +0 -1
  65. package/dist/cjs/handlers/session.handler.d.ts +0 -16
  66. package/dist/cjs/handlers/session.handler.d.ts.map +0 -1
  67. package/dist/cjs/handlers/session.handler.js +0 -74
  68. package/dist/cjs/handlers/session.handler.js.map +0 -1
  69. package/dist/cjs/handlers/viewport.handler.d.ts +0 -44
  70. package/dist/cjs/handlers/viewport.handler.d.ts.map +0 -1
  71. package/dist/cjs/handlers/viewport.handler.js +0 -286
  72. package/dist/cjs/handlers/viewport.handler.js.map +0 -1
  73. package/dist/cjs/integrations/google-analytics.integration.d.ts +0 -18
  74. package/dist/cjs/integrations/google-analytics.integration.d.ts.map +0 -1
  75. package/dist/cjs/integrations/google-analytics.integration.js +0 -90
  76. package/dist/cjs/integrations/google-analytics.integration.js.map +0 -1
  77. package/dist/cjs/listeners/activity-listener-manager.d.ts +0 -9
  78. package/dist/cjs/listeners/activity-listener-manager.d.ts.map +0 -1
  79. package/dist/cjs/listeners/activity-listener-manager.js +0 -33
  80. package/dist/cjs/listeners/activity-listener-manager.js.map +0 -1
  81. package/dist/cjs/listeners/index.d.ts +0 -7
  82. package/dist/cjs/listeners/index.d.ts.map +0 -1
  83. package/dist/cjs/listeners/index.js +0 -15
  84. package/dist/cjs/listeners/index.js.map +0 -1
  85. package/dist/cjs/listeners/input-listener-managers.d.ts +0 -25
  86. package/dist/cjs/listeners/input-listener-managers.d.ts.map +0 -1
  87. package/dist/cjs/listeners/input-listener-managers.js +0 -50
  88. package/dist/cjs/listeners/input-listener-managers.js.map +0 -1
  89. package/dist/cjs/listeners/listeners.types.d.ts +0 -5
  90. package/dist/cjs/listeners/listeners.types.d.ts.map +0 -1
  91. package/dist/cjs/listeners/listeners.types.js +0 -3
  92. package/dist/cjs/listeners/listeners.types.js.map +0 -1
  93. package/dist/cjs/listeners/touch-listener-manager.d.ts +0 -9
  94. package/dist/cjs/listeners/touch-listener-manager.d.ts.map +0 -1
  95. package/dist/cjs/listeners/touch-listener-manager.js +0 -35
  96. package/dist/cjs/listeners/touch-listener-manager.js.map +0 -1
  97. package/dist/cjs/listeners/unload-listener-manager.d.ts +0 -9
  98. package/dist/cjs/listeners/unload-listener-manager.d.ts.map +0 -1
  99. package/dist/cjs/listeners/unload-listener-manager.js +0 -31
  100. package/dist/cjs/listeners/unload-listener-manager.js.map +0 -1
  101. package/dist/cjs/listeners/visibility-listener-manager.d.ts +0 -10
  102. package/dist/cjs/listeners/visibility-listener-manager.d.ts.map +0 -1
  103. package/dist/cjs/listeners/visibility-listener-manager.js +0 -48
  104. package/dist/cjs/listeners/visibility-listener-manager.js.map +0 -1
  105. package/dist/cjs/managers/event.manager.d.ts +0 -62
  106. package/dist/cjs/managers/event.manager.d.ts.map +0 -1
  107. package/dist/cjs/managers/event.manager.js +0 -508
  108. package/dist/cjs/managers/event.manager.js.map +0 -1
  109. package/dist/cjs/managers/sender.manager.d.ts +0 -32
  110. package/dist/cjs/managers/sender.manager.d.ts.map +0 -1
  111. package/dist/cjs/managers/sender.manager.js +0 -271
  112. package/dist/cjs/managers/sender.manager.js.map +0 -1
  113. package/dist/cjs/managers/session.manager.d.ts +0 -40
  114. package/dist/cjs/managers/session.manager.d.ts.map +0 -1
  115. package/dist/cjs/managers/session.manager.js +0 -282
  116. package/dist/cjs/managers/session.manager.js.map +0 -1
  117. package/dist/cjs/managers/state.manager.d.ts +0 -9
  118. package/dist/cjs/managers/state.manager.d.ts.map +0 -1
  119. package/dist/cjs/managers/state.manager.js +0 -27
  120. package/dist/cjs/managers/state.manager.js.map +0 -1
  121. package/dist/cjs/managers/storage.manager.d.ts +0 -60
  122. package/dist/cjs/managers/storage.manager.d.ts.map +0 -1
  123. package/dist/cjs/managers/storage.manager.js +0 -277
  124. package/dist/cjs/managers/storage.manager.js.map +0 -1
  125. package/dist/cjs/managers/user.manager.d.ts +0 -17
  126. package/dist/cjs/managers/user.manager.d.ts.map +0 -1
  127. package/dist/cjs/managers/user.manager.js +0 -31
  128. package/dist/cjs/managers/user.manager.js.map +0 -1
  129. package/dist/cjs/public-api.d.ts +0 -11
  130. package/dist/cjs/public-api.d.ts.map +0 -1
  131. package/dist/cjs/public-api.js +0 -32
  132. package/dist/cjs/public-api.js.map +0 -1
  133. package/dist/cjs/test-bridge.d.ts +0 -47
  134. package/dist/cjs/test-bridge.d.ts.map +0 -1
  135. package/dist/cjs/test-bridge.js +0 -165
  136. package/dist/cjs/test-bridge.js.map +0 -1
  137. package/dist/cjs/types/common.types.d.ts +0 -6
  138. package/dist/cjs/types/common.types.d.ts.map +0 -1
  139. package/dist/cjs/types/common.types.js +0 -3
  140. package/dist/cjs/types/common.types.js.map +0 -1
  141. package/dist/cjs/types/config.types.d.ts +0 -49
  142. package/dist/cjs/types/config.types.d.ts.map +0 -1
  143. package/dist/cjs/types/config.types.js +0 -9
  144. package/dist/cjs/types/config.types.js.map +0 -1
  145. package/dist/cjs/types/device.types.d.ts +0 -7
  146. package/dist/cjs/types/device.types.d.ts.map +0 -1
  147. package/dist/cjs/types/device.types.js +0 -11
  148. package/dist/cjs/types/device.types.js.map +0 -1
  149. package/dist/cjs/types/emitter.types.d.ts +0 -12
  150. package/dist/cjs/types/emitter.types.d.ts.map +0 -1
  151. package/dist/cjs/types/emitter.types.js +0 -9
  152. package/dist/cjs/types/emitter.types.js.map +0 -1
  153. package/dist/cjs/types/error.types.d.ts +0 -12
  154. package/dist/cjs/types/error.types.d.ts.map +0 -1
  155. package/dist/cjs/types/error.types.js +0 -23
  156. package/dist/cjs/types/error.types.js.map +0 -1
  157. package/dist/cjs/types/event.types.d.ts +0 -235
  158. package/dist/cjs/types/event.types.d.ts.map +0 -1
  159. package/dist/cjs/types/event.types.js +0 -48
  160. package/dist/cjs/types/event.types.js.map +0 -1
  161. package/dist/cjs/types/index.d.ts +0 -17
  162. package/dist/cjs/types/index.d.ts.map +0 -1
  163. package/dist/cjs/types/index.js +0 -33
  164. package/dist/cjs/types/index.js.map +0 -1
  165. package/dist/cjs/types/log.types.d.ts +0 -5
  166. package/dist/cjs/types/log.types.d.ts.map +0 -1
  167. package/dist/cjs/types/log.types.js +0 -3
  168. package/dist/cjs/types/log.types.js.map +0 -1
  169. package/dist/cjs/types/mode.types.d.ts +0 -7
  170. package/dist/cjs/types/mode.types.d.ts.map +0 -1
  171. package/dist/cjs/types/mode.types.js +0 -11
  172. package/dist/cjs/types/mode.types.js.map +0 -1
  173. package/dist/cjs/types/queue.types.d.ts +0 -19
  174. package/dist/cjs/types/queue.types.d.ts.map +0 -1
  175. package/dist/cjs/types/queue.types.js +0 -3
  176. package/dist/cjs/types/queue.types.js.map +0 -1
  177. package/dist/cjs/types/scroll.types.d.ts +0 -16
  178. package/dist/cjs/types/scroll.types.d.ts.map +0 -1
  179. package/dist/cjs/types/scroll.types.js +0 -12
  180. package/dist/cjs/types/scroll.types.js.map +0 -1
  181. package/dist/cjs/types/session.types.d.ts +0 -2
  182. package/dist/cjs/types/session.types.d.ts.map +0 -1
  183. package/dist/cjs/types/session.types.js +0 -3
  184. package/dist/cjs/types/session.types.js.map +0 -1
  185. package/dist/cjs/types/state.types.d.ts +0 -16
  186. package/dist/cjs/types/state.types.d.ts.map +0 -1
  187. package/dist/cjs/types/state.types.js +0 -3
  188. package/dist/cjs/types/state.types.js.map +0 -1
  189. package/dist/cjs/types/test-bridge.types.d.ts +0 -40
  190. package/dist/cjs/types/test-bridge.types.d.ts.map +0 -1
  191. package/dist/cjs/types/test-bridge.types.js +0 -3
  192. package/dist/cjs/types/test-bridge.types.js.map +0 -1
  193. package/dist/cjs/types/validation-error.types.d.ts +0 -44
  194. package/dist/cjs/types/validation-error.types.d.ts.map +0 -1
  195. package/dist/cjs/types/validation-error.types.js +0 -70
  196. package/dist/cjs/types/validation-error.types.js.map +0 -1
  197. package/dist/cjs/types/viewport.types.d.ts +0 -55
  198. package/dist/cjs/types/viewport.types.d.ts.map +0 -1
  199. package/dist/cjs/types/viewport.types.js +0 -3
  200. package/dist/cjs/types/viewport.types.js.map +0 -1
  201. package/dist/cjs/types/window.types.d.ts +0 -16
  202. package/dist/cjs/types/window.types.d.ts.map +0 -1
  203. package/dist/cjs/types/window.types.js +0 -3
  204. package/dist/cjs/types/window.types.js.map +0 -1
  205. package/dist/cjs/utils/browser/device-detector.utils.d.ts +0 -7
  206. package/dist/cjs/utils/browser/device-detector.utils.d.ts.map +0 -1
  207. package/dist/cjs/utils/browser/device-detector.utils.js +0 -50
  208. package/dist/cjs/utils/browser/device-detector.utils.js.map +0 -1
  209. package/dist/cjs/utils/browser/index.d.ts +0 -4
  210. package/dist/cjs/utils/browser/index.d.ts.map +0 -1
  211. package/dist/cjs/utils/browser/index.js +0 -20
  212. package/dist/cjs/utils/browser/index.js.map +0 -1
  213. package/dist/cjs/utils/browser/qa-mode.utils.d.ts +0 -14
  214. package/dist/cjs/utils/browser/qa-mode.utils.d.ts.map +0 -1
  215. package/dist/cjs/utils/browser/qa-mode.utils.js +0 -44
  216. package/dist/cjs/utils/browser/qa-mode.utils.js.map +0 -1
  217. package/dist/cjs/utils/browser/utm-params.utils.d.ts +0 -7
  218. package/dist/cjs/utils/browser/utm-params.utils.d.ts.map +0 -1
  219. package/dist/cjs/utils/browser/utm-params.utils.js +0 -23
  220. package/dist/cjs/utils/browser/utm-params.utils.js.map +0 -1
  221. package/dist/cjs/utils/data/index.d.ts +0 -2
  222. package/dist/cjs/utils/data/index.d.ts.map +0 -1
  223. package/dist/cjs/utils/data/index.js +0 -18
  224. package/dist/cjs/utils/data/index.js.map +0 -1
  225. package/dist/cjs/utils/data/uuid.utils.d.ts +0 -19
  226. package/dist/cjs/utils/data/uuid.utils.d.ts.map +0 -1
  227. package/dist/cjs/utils/data/uuid.utils.js +0 -57
  228. package/dist/cjs/utils/data/uuid.utils.js.map +0 -1
  229. package/dist/cjs/utils/emitter.utils.d.ts +0 -9
  230. package/dist/cjs/utils/emitter.utils.d.ts.map +0 -1
  231. package/dist/cjs/utils/emitter.utils.js +0 -36
  232. package/dist/cjs/utils/emitter.utils.js.map +0 -1
  233. package/dist/cjs/utils/index.d.ts +0 -8
  234. package/dist/cjs/utils/index.d.ts.map +0 -1
  235. package/dist/cjs/utils/index.js +0 -24
  236. package/dist/cjs/utils/index.js.map +0 -1
  237. package/dist/cjs/utils/logging.utils.d.ts +0 -22
  238. package/dist/cjs/utils/logging.utils.d.ts.map +0 -1
  239. package/dist/cjs/utils/logging.utils.js +0 -87
  240. package/dist/cjs/utils/logging.utils.js.map +0 -1
  241. package/dist/cjs/utils/network/index.d.ts +0 -2
  242. package/dist/cjs/utils/network/index.d.ts.map +0 -1
  243. package/dist/cjs/utils/network/index.js +0 -18
  244. package/dist/cjs/utils/network/index.js.map +0 -1
  245. package/dist/cjs/utils/network/url.utils.d.ts +0 -16
  246. package/dist/cjs/utils/network/url.utils.d.ts.map +0 -1
  247. package/dist/cjs/utils/network/url.utils.js +0 -92
  248. package/dist/cjs/utils/network/url.utils.js.map +0 -1
  249. package/dist/cjs/utils/security/index.d.ts +0 -2
  250. package/dist/cjs/utils/security/index.d.ts.map +0 -1
  251. package/dist/cjs/utils/security/index.js +0 -18
  252. package/dist/cjs/utils/security/index.js.map +0 -1
  253. package/dist/cjs/utils/security/sanitize.utils.d.ts +0 -14
  254. package/dist/cjs/utils/security/sanitize.utils.d.ts.map +0 -1
  255. package/dist/cjs/utils/security/sanitize.utils.js +0 -123
  256. package/dist/cjs/utils/security/sanitize.utils.js.map +0 -1
  257. package/dist/cjs/utils/validations/config-validations.utils.d.ts +0 -19
  258. package/dist/cjs/utils/validations/config-validations.utils.d.ts.map +0 -1
  259. package/dist/cjs/utils/validations/config-validations.utils.js +0 -236
  260. package/dist/cjs/utils/validations/config-validations.utils.js.map +0 -1
  261. package/dist/cjs/utils/validations/event-validations.utils.d.ts +0 -13
  262. package/dist/cjs/utils/validations/event-validations.utils.d.ts.map +0 -1
  263. package/dist/cjs/utils/validations/event-validations.utils.js +0 -37
  264. package/dist/cjs/utils/validations/event-validations.utils.js.map +0 -1
  265. package/dist/cjs/utils/validations/index.d.ts +0 -5
  266. package/dist/cjs/utils/validations/index.d.ts.map +0 -1
  267. package/dist/cjs/utils/validations/index.js +0 -21
  268. package/dist/cjs/utils/validations/index.js.map +0 -1
  269. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts +0 -23
  270. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  271. package/dist/cjs/utils/validations/metadata-validations.utils.js +0 -153
  272. package/dist/cjs/utils/validations/metadata-validations.utils.js.map +0 -1
  273. package/dist/cjs/utils/validations/type-guards.utils.d.ts +0 -9
  274. package/dist/cjs/utils/validations/type-guards.utils.d.ts.map +0 -1
  275. package/dist/cjs/utils/validations/type-guards.utils.js +0 -90
  276. package/dist/cjs/utils/validations/type-guards.utils.js.map +0 -1
  277. package/dist/esm/api.d.ts +0 -19
  278. package/dist/esm/api.d.ts.map +0 -1
  279. package/dist/esm/api.js +0 -158
  280. package/dist/esm/api.js.map +0 -1
  281. package/dist/esm/app.constants.d.ts +0 -80
  282. package/dist/esm/app.constants.d.ts.map +0 -1
  283. package/dist/esm/app.constants.js +0 -82
  284. package/dist/esm/app.constants.js.map +0 -1
  285. package/dist/esm/app.d.ts +0 -43
  286. package/dist/esm/app.d.ts.map +0 -1
  287. package/dist/esm/app.js +0 -161
  288. package/dist/esm/app.js.map +0 -1
  289. package/dist/esm/constants/config.constants.d.ts +0 -109
  290. package/dist/esm/constants/config.constants.d.ts.map +0 -1
  291. package/dist/esm/constants/config.constants.js +0 -212
  292. package/dist/esm/constants/config.constants.js.map +0 -1
  293. package/dist/esm/constants/error.constants.d.ts +0 -56
  294. package/dist/esm/constants/error.constants.d.ts.map +0 -1
  295. package/dist/esm/constants/error.constants.js +0 -86
  296. package/dist/esm/constants/error.constants.js.map +0 -1
  297. package/dist/esm/constants/index.d.ts +0 -5
  298. package/dist/esm/constants/index.d.ts.map +0 -1
  299. package/dist/esm/constants/index.js +0 -5
  300. package/dist/esm/constants/index.js.map +0 -1
  301. package/dist/esm/constants/performance.constants.d.ts +0 -29
  302. package/dist/esm/constants/performance.constants.d.ts.map +0 -1
  303. package/dist/esm/constants/performance.constants.js +0 -41
  304. package/dist/esm/constants/performance.constants.js.map +0 -1
  305. package/dist/esm/constants/storage.constants.d.ts +0 -11
  306. package/dist/esm/constants/storage.constants.d.ts.map +0 -1
  307. package/dist/esm/constants/storage.constants.js +0 -13
  308. package/dist/esm/constants/storage.constants.js.map +0 -1
  309. package/dist/esm/handlers/click.handler.d.ts +0 -36
  310. package/dist/esm/handlers/click.handler.d.ts.map +0 -1
  311. package/dist/esm/handlers/click.handler.js +0 -259
  312. package/dist/esm/handlers/click.handler.js.map +0 -1
  313. package/dist/esm/handlers/error.handler.d.ts +0 -28
  314. package/dist/esm/handlers/error.handler.d.ts.map +0 -1
  315. package/dist/esm/handlers/error.handler.js +0 -164
  316. package/dist/esm/handlers/error.handler.js.map +0 -1
  317. package/dist/esm/handlers/page-view.handler.d.ts +0 -17
  318. package/dist/esm/handlers/page-view.handler.d.ts.map +0 -1
  319. package/dist/esm/handlers/page-view.handler.js +0 -96
  320. package/dist/esm/handlers/page-view.handler.js.map +0 -1
  321. package/dist/esm/handlers/performance.handler.d.ts +0 -23
  322. package/dist/esm/handlers/performance.handler.d.ts.map +0 -1
  323. package/dist/esm/handlers/performance.handler.js +0 -237
  324. package/dist/esm/handlers/performance.handler.js.map +0 -1
  325. package/dist/esm/handlers/scroll.handler.d.ts +0 -40
  326. package/dist/esm/handlers/scroll.handler.d.ts.map +0 -1
  327. package/dist/esm/handlers/scroll.handler.js +0 -323
  328. package/dist/esm/handlers/scroll.handler.js.map +0 -1
  329. package/dist/esm/handlers/session.handler.d.ts +0 -16
  330. package/dist/esm/handlers/session.handler.d.ts.map +0 -1
  331. package/dist/esm/handlers/session.handler.js +0 -70
  332. package/dist/esm/handlers/session.handler.js.map +0 -1
  333. package/dist/esm/handlers/viewport.handler.d.ts +0 -44
  334. package/dist/esm/handlers/viewport.handler.d.ts.map +0 -1
  335. package/dist/esm/handlers/viewport.handler.js +0 -282
  336. package/dist/esm/handlers/viewport.handler.js.map +0 -1
  337. package/dist/esm/integrations/google-analytics.integration.d.ts +0 -18
  338. package/dist/esm/integrations/google-analytics.integration.d.ts.map +0 -1
  339. package/dist/esm/integrations/google-analytics.integration.js +0 -86
  340. package/dist/esm/integrations/google-analytics.integration.js.map +0 -1
  341. package/dist/esm/listeners/activity-listener-manager.d.ts +0 -9
  342. package/dist/esm/listeners/activity-listener-manager.d.ts.map +0 -1
  343. package/dist/esm/listeners/activity-listener-manager.js +0 -29
  344. package/dist/esm/listeners/activity-listener-manager.js.map +0 -1
  345. package/dist/esm/listeners/index.d.ts +0 -7
  346. package/dist/esm/listeners/index.d.ts.map +0 -1
  347. package/dist/esm/listeners/index.js +0 -6
  348. package/dist/esm/listeners/index.js.map +0 -1
  349. package/dist/esm/listeners/input-listener-managers.d.ts +0 -25
  350. package/dist/esm/listeners/input-listener-managers.d.ts.map +0 -1
  351. package/dist/esm/listeners/input-listener-managers.js +0 -45
  352. package/dist/esm/listeners/input-listener-managers.js.map +0 -1
  353. package/dist/esm/listeners/listeners.types.d.ts +0 -5
  354. package/dist/esm/listeners/listeners.types.d.ts.map +0 -1
  355. package/dist/esm/listeners/listeners.types.js +0 -2
  356. package/dist/esm/listeners/listeners.types.js.map +0 -1
  357. package/dist/esm/listeners/touch-listener-manager.d.ts +0 -9
  358. package/dist/esm/listeners/touch-listener-manager.d.ts.map +0 -1
  359. package/dist/esm/listeners/touch-listener-manager.js +0 -31
  360. package/dist/esm/listeners/touch-listener-manager.js.map +0 -1
  361. package/dist/esm/listeners/unload-listener-manager.d.ts +0 -9
  362. package/dist/esm/listeners/unload-listener-manager.d.ts.map +0 -1
  363. package/dist/esm/listeners/unload-listener-manager.js +0 -27
  364. package/dist/esm/listeners/unload-listener-manager.js.map +0 -1
  365. package/dist/esm/listeners/visibility-listener-manager.d.ts +0 -10
  366. package/dist/esm/listeners/visibility-listener-manager.d.ts.map +0 -1
  367. package/dist/esm/listeners/visibility-listener-manager.js +0 -44
  368. package/dist/esm/listeners/visibility-listener-manager.js.map +0 -1
  369. package/dist/esm/managers/event.manager.d.ts +0 -62
  370. package/dist/esm/managers/event.manager.d.ts.map +0 -1
  371. package/dist/esm/managers/event.manager.js +0 -504
  372. package/dist/esm/managers/event.manager.js.map +0 -1
  373. package/dist/esm/managers/sender.manager.d.ts +0 -32
  374. package/dist/esm/managers/sender.manager.d.ts.map +0 -1
  375. package/dist/esm/managers/sender.manager.js +0 -267
  376. package/dist/esm/managers/sender.manager.js.map +0 -1
  377. package/dist/esm/managers/session.manager.d.ts +0 -40
  378. package/dist/esm/managers/session.manager.d.ts.map +0 -1
  379. package/dist/esm/managers/session.manager.js +0 -278
  380. package/dist/esm/managers/session.manager.js.map +0 -1
  381. package/dist/esm/managers/state.manager.d.ts +0 -9
  382. package/dist/esm/managers/state.manager.d.ts.map +0 -1
  383. package/dist/esm/managers/state.manager.js +0 -21
  384. package/dist/esm/managers/state.manager.js.map +0 -1
  385. package/dist/esm/managers/storage.manager.d.ts +0 -60
  386. package/dist/esm/managers/storage.manager.d.ts.map +0 -1
  387. package/dist/esm/managers/storage.manager.js +0 -273
  388. package/dist/esm/managers/storage.manager.js.map +0 -1
  389. package/dist/esm/managers/user.manager.d.ts +0 -17
  390. package/dist/esm/managers/user.manager.d.ts.map +0 -1
  391. package/dist/esm/managers/user.manager.js +0 -27
  392. package/dist/esm/managers/user.manager.js.map +0 -1
  393. package/dist/esm/public-api.d.ts +0 -11
  394. package/dist/esm/public-api.d.ts.map +0 -1
  395. package/dist/esm/public-api.js +0 -15
  396. package/dist/esm/public-api.js.map +0 -1
  397. package/dist/esm/test-bridge.d.ts +0 -47
  398. package/dist/esm/test-bridge.d.ts.map +0 -1
  399. package/dist/esm/test-bridge.js +0 -161
  400. package/dist/esm/test-bridge.js.map +0 -1
  401. package/dist/esm/types/common.types.d.ts +0 -6
  402. package/dist/esm/types/common.types.d.ts.map +0 -1
  403. package/dist/esm/types/common.types.js +0 -2
  404. package/dist/esm/types/common.types.js.map +0 -1
  405. package/dist/esm/types/config.types.d.ts +0 -49
  406. package/dist/esm/types/config.types.d.ts.map +0 -1
  407. package/dist/esm/types/config.types.js +0 -6
  408. package/dist/esm/types/config.types.js.map +0 -1
  409. package/dist/esm/types/device.types.d.ts +0 -7
  410. package/dist/esm/types/device.types.d.ts.map +0 -1
  411. package/dist/esm/types/device.types.js +0 -8
  412. package/dist/esm/types/device.types.js.map +0 -1
  413. package/dist/esm/types/emitter.types.d.ts +0 -12
  414. package/dist/esm/types/emitter.types.d.ts.map +0 -1
  415. package/dist/esm/types/emitter.types.js +0 -6
  416. package/dist/esm/types/emitter.types.js.map +0 -1
  417. package/dist/esm/types/error.types.d.ts +0 -12
  418. package/dist/esm/types/error.types.d.ts.map +0 -1
  419. package/dist/esm/types/error.types.js +0 -19
  420. package/dist/esm/types/error.types.js.map +0 -1
  421. package/dist/esm/types/event.types.d.ts +0 -235
  422. package/dist/esm/types/event.types.d.ts.map +0 -1
  423. package/dist/esm/types/event.types.js +0 -45
  424. package/dist/esm/types/event.types.js.map +0 -1
  425. package/dist/esm/types/index.d.ts +0 -17
  426. package/dist/esm/types/index.d.ts.map +0 -1
  427. package/dist/esm/types/index.js +0 -17
  428. package/dist/esm/types/index.js.map +0 -1
  429. package/dist/esm/types/log.types.d.ts +0 -5
  430. package/dist/esm/types/log.types.d.ts.map +0 -1
  431. package/dist/esm/types/log.types.js +0 -2
  432. package/dist/esm/types/log.types.js.map +0 -1
  433. package/dist/esm/types/mode.types.d.ts +0 -7
  434. package/dist/esm/types/mode.types.d.ts.map +0 -1
  435. package/dist/esm/types/mode.types.js +0 -8
  436. package/dist/esm/types/mode.types.js.map +0 -1
  437. package/dist/esm/types/queue.types.d.ts +0 -19
  438. package/dist/esm/types/queue.types.d.ts.map +0 -1
  439. package/dist/esm/types/queue.types.js +0 -2
  440. package/dist/esm/types/queue.types.js.map +0 -1
  441. package/dist/esm/types/scroll.types.d.ts +0 -16
  442. package/dist/esm/types/scroll.types.d.ts.map +0 -1
  443. package/dist/esm/types/scroll.types.js +0 -8
  444. package/dist/esm/types/scroll.types.js.map +0 -1
  445. package/dist/esm/types/session.types.d.ts +0 -2
  446. package/dist/esm/types/session.types.d.ts.map +0 -1
  447. package/dist/esm/types/session.types.js +0 -2
  448. package/dist/esm/types/session.types.js.map +0 -1
  449. package/dist/esm/types/state.types.d.ts +0 -16
  450. package/dist/esm/types/state.types.d.ts.map +0 -1
  451. package/dist/esm/types/state.types.js +0 -2
  452. package/dist/esm/types/state.types.js.map +0 -1
  453. package/dist/esm/types/test-bridge.types.d.ts +0 -40
  454. package/dist/esm/types/test-bridge.types.d.ts.map +0 -1
  455. package/dist/esm/types/test-bridge.types.js +0 -2
  456. package/dist/esm/types/test-bridge.types.js.map +0 -1
  457. package/dist/esm/types/validation-error.types.d.ts +0 -44
  458. package/dist/esm/types/validation-error.types.d.ts.map +0 -1
  459. package/dist/esm/types/validation-error.types.js +0 -61
  460. package/dist/esm/types/validation-error.types.js.map +0 -1
  461. package/dist/esm/types/viewport.types.d.ts +0 -55
  462. package/dist/esm/types/viewport.types.d.ts.map +0 -1
  463. package/dist/esm/types/viewport.types.js +0 -2
  464. package/dist/esm/types/viewport.types.js.map +0 -1
  465. package/dist/esm/types/window.types.d.ts +0 -16
  466. package/dist/esm/types/window.types.d.ts.map +0 -1
  467. package/dist/esm/types/window.types.js +0 -2
  468. package/dist/esm/types/window.types.js.map +0 -1
  469. package/dist/esm/utils/browser/device-detector.utils.d.ts +0 -7
  470. package/dist/esm/utils/browser/device-detector.utils.d.ts.map +0 -1
  471. package/dist/esm/utils/browser/device-detector.utils.js +0 -46
  472. package/dist/esm/utils/browser/device-detector.utils.js.map +0 -1
  473. package/dist/esm/utils/browser/index.d.ts +0 -4
  474. package/dist/esm/utils/browser/index.d.ts.map +0 -1
  475. package/dist/esm/utils/browser/index.js +0 -4
  476. package/dist/esm/utils/browser/index.js.map +0 -1
  477. package/dist/esm/utils/browser/qa-mode.utils.d.ts +0 -14
  478. package/dist/esm/utils/browser/qa-mode.utils.d.ts.map +0 -1
  479. package/dist/esm/utils/browser/qa-mode.utils.js +0 -40
  480. package/dist/esm/utils/browser/qa-mode.utils.js.map +0 -1
  481. package/dist/esm/utils/browser/utm-params.utils.d.ts +0 -7
  482. package/dist/esm/utils/browser/utm-params.utils.d.ts.map +0 -1
  483. package/dist/esm/utils/browser/utm-params.utils.js +0 -19
  484. package/dist/esm/utils/browser/utm-params.utils.js.map +0 -1
  485. package/dist/esm/utils/data/index.d.ts +0 -2
  486. package/dist/esm/utils/data/index.d.ts.map +0 -1
  487. package/dist/esm/utils/data/index.js +0 -2
  488. package/dist/esm/utils/data/index.js.map +0 -1
  489. package/dist/esm/utils/data/uuid.utils.d.ts +0 -19
  490. package/dist/esm/utils/data/uuid.utils.d.ts.map +0 -1
  491. package/dist/esm/utils/data/uuid.utils.js +0 -52
  492. package/dist/esm/utils/data/uuid.utils.js.map +0 -1
  493. package/dist/esm/utils/emitter.utils.d.ts +0 -9
  494. package/dist/esm/utils/emitter.utils.d.ts.map +0 -1
  495. package/dist/esm/utils/emitter.utils.js +0 -32
  496. package/dist/esm/utils/emitter.utils.js.map +0 -1
  497. package/dist/esm/utils/index.d.ts +0 -8
  498. package/dist/esm/utils/index.d.ts.map +0 -1
  499. package/dist/esm/utils/index.js +0 -8
  500. package/dist/esm/utils/index.js.map +0 -1
  501. package/dist/esm/utils/logging.utils.d.ts +0 -22
  502. package/dist/esm/utils/logging.utils.d.ts.map +0 -1
  503. package/dist/esm/utils/logging.utils.js +0 -82
  504. package/dist/esm/utils/logging.utils.js.map +0 -1
  505. package/dist/esm/utils/network/index.d.ts +0 -2
  506. package/dist/esm/utils/network/index.d.ts.map +0 -1
  507. package/dist/esm/utils/network/index.js +0 -2
  508. package/dist/esm/utils/network/index.js.map +0 -1
  509. package/dist/esm/utils/network/url.utils.d.ts +0 -16
  510. package/dist/esm/utils/network/url.utils.d.ts.map +0 -1
  511. package/dist/esm/utils/network/url.utils.js +0 -87
  512. package/dist/esm/utils/network/url.utils.js.map +0 -1
  513. package/dist/esm/utils/security/index.d.ts +0 -2
  514. package/dist/esm/utils/security/index.d.ts.map +0 -1
  515. package/dist/esm/utils/security/index.js +0 -2
  516. package/dist/esm/utils/security/index.js.map +0 -1
  517. package/dist/esm/utils/security/sanitize.utils.d.ts +0 -14
  518. package/dist/esm/utils/security/sanitize.utils.d.ts.map +0 -1
  519. package/dist/esm/utils/security/sanitize.utils.js +0 -118
  520. package/dist/esm/utils/security/sanitize.utils.js.map +0 -1
  521. package/dist/esm/utils/validations/config-validations.utils.d.ts +0 -19
  522. package/dist/esm/utils/validations/config-validations.utils.d.ts.map +0 -1
  523. package/dist/esm/utils/validations/config-validations.utils.js +0 -231
  524. package/dist/esm/utils/validations/config-validations.utils.js.map +0 -1
  525. package/dist/esm/utils/validations/event-validations.utils.d.ts +0 -13
  526. package/dist/esm/utils/validations/event-validations.utils.d.ts.map +0 -1
  527. package/dist/esm/utils/validations/event-validations.utils.js +0 -33
  528. package/dist/esm/utils/validations/event-validations.utils.js.map +0 -1
  529. package/dist/esm/utils/validations/index.d.ts +0 -5
  530. package/dist/esm/utils/validations/index.d.ts.map +0 -1
  531. package/dist/esm/utils/validations/index.js +0 -5
  532. package/dist/esm/utils/validations/index.js.map +0 -1
  533. package/dist/esm/utils/validations/metadata-validations.utils.d.ts +0 -23
  534. package/dist/esm/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  535. package/dist/esm/utils/validations/metadata-validations.utils.js +0 -148
  536. package/dist/esm/utils/validations/metadata-validations.utils.js.map +0 -1
  537. package/dist/esm/utils/validations/type-guards.utils.d.ts +0 -9
  538. package/dist/esm/utils/validations/type-guards.utils.d.ts.map +0 -1
  539. package/dist/esm/utils/validations/type-guards.utils.js +0 -86
  540. package/dist/esm/utils/validations/type-guards.utils.js.map +0 -1
@@ -1,504 +0,0 @@
1
- import { EVENT_SENT_INTERVAL_MS, MAX_EVENTS_QUEUE_LENGTH, DUPLICATE_EVENT_THRESHOLD_MS, RATE_LIMIT_WINDOW_MS, MAX_EVENTS_PER_SECOND, MAX_PENDING_EVENTS_BUFFER, BATCH_SIZE_THRESHOLD, MAX_SAME_EVENT_PER_MINUTE, PER_EVENT_RATE_LIMIT_WINDOW_MS, MAX_EVENTS_PER_SESSION, MAX_CLICKS_PER_SESSION, MAX_PAGE_VIEWS_PER_SESSION, MAX_CUSTOM_EVENTS_PER_SESSION, MAX_VIEWPORT_EVENTS_PER_SESSION, MAX_SCROLL_EVENTS_PER_SESSION, MAX_FINGERPRINTS, FINGERPRINT_CLEANUP_MULTIPLIER, MAX_FINGERPRINTS_HARD_LIMIT, } from '../constants/config.constants';
2
- import { EmitterEvent, EventType, Mode } from '../types';
3
- import { getUTMParameters, log, generateEventId } from '../utils';
4
- import { SenderManager } from './sender.manager';
5
- import { StateManager } from './state.manager';
6
- export class EventManager extends StateManager {
7
- constructor(storeManager, googleAnalytics = null, emitter = null) {
8
- super();
9
- this.eventsQueue = [];
10
- this.pendingEventsBuffer = [];
11
- this.recentEventFingerprints = new Map(); // Time-based deduplication cache
12
- this.sendIntervalId = null;
13
- this.rateLimitCounter = 0;
14
- this.rateLimitWindowStart = 0;
15
- this.perEventRateLimits = new Map();
16
- this.sessionEventCounts = {
17
- total: 0,
18
- [EventType.CLICK]: 0,
19
- [EventType.PAGE_VIEW]: 0,
20
- [EventType.CUSTOM]: 0,
21
- [EventType.VIEWPORT_VISIBLE]: 0,
22
- [EventType.SCROLL]: 0,
23
- };
24
- this.lastSessionId = null;
25
- this.googleAnalytics = googleAnalytics;
26
- this.dataSender = new SenderManager(storeManager);
27
- this.emitter = emitter;
28
- }
29
- async recoverPersistedEvents() {
30
- await this.dataSender.recoverPersistedEvents({
31
- onSuccess: (_eventCount, recoveredEvents, body) => {
32
- if (recoveredEvents && recoveredEvents.length > 0) {
33
- const eventIds = recoveredEvents.map((e) => e.id);
34
- this.removeProcessedEvents(eventIds);
35
- if (body) {
36
- this.emitEventsQueue(body);
37
- }
38
- }
39
- },
40
- onFailure: () => {
41
- log('warn', 'Failed to recover persisted events');
42
- },
43
- });
44
- }
45
- track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, viewport_data, }) {
46
- if (!type) {
47
- log('error', 'Event type is required - event will be ignored');
48
- return;
49
- }
50
- const currentSessionId = this.get('sessionId');
51
- if (!currentSessionId) {
52
- if (this.pendingEventsBuffer.length >= MAX_PENDING_EVENTS_BUFFER) {
53
- this.pendingEventsBuffer.shift();
54
- log('warn', 'Pending events buffer full - dropping oldest event', {
55
- data: { maxBufferSize: MAX_PENDING_EVENTS_BUFFER },
56
- });
57
- }
58
- this.pendingEventsBuffer.push({
59
- type,
60
- page_url,
61
- from_page_url,
62
- scroll_data,
63
- click_data,
64
- custom_event,
65
- web_vitals,
66
- error_data,
67
- session_end_reason,
68
- viewport_data,
69
- });
70
- return;
71
- }
72
- // Reset session counters if session ID changed (Phase 3)
73
- if (this.lastSessionId !== currentSessionId) {
74
- this.lastSessionId = currentSessionId;
75
- this.sessionEventCounts = {
76
- total: 0,
77
- [EventType.CLICK]: 0,
78
- [EventType.PAGE_VIEW]: 0,
79
- [EventType.CUSTOM]: 0,
80
- [EventType.VIEWPORT_VISIBLE]: 0,
81
- [EventType.SCROLL]: 0,
82
- };
83
- }
84
- const isCriticalEvent = type === EventType.SESSION_START || type === EventType.SESSION_END;
85
- if (!isCriticalEvent && !this.checkRateLimit()) {
86
- return;
87
- }
88
- const eventType = type;
89
- // Per-session event caps (Phase 3) - skip for critical events
90
- if (!isCriticalEvent) {
91
- // Check total session limit
92
- if (this.sessionEventCounts.total >= MAX_EVENTS_PER_SESSION) {
93
- log('warn', 'Session event limit reached', {
94
- data: {
95
- type: eventType,
96
- total: this.sessionEventCounts.total,
97
- limit: MAX_EVENTS_PER_SESSION,
98
- },
99
- });
100
- return;
101
- }
102
- // Check type-specific limits
103
- const typeLimit = this.getTypeLimitForEvent(eventType);
104
- if (typeLimit) {
105
- const currentCount = this.sessionEventCounts[eventType];
106
- if (currentCount !== undefined && currentCount >= typeLimit) {
107
- log('warn', 'Session event type limit reached', {
108
- data: {
109
- type: eventType,
110
- count: currentCount,
111
- limit: typeLimit,
112
- },
113
- });
114
- return;
115
- }
116
- }
117
- }
118
- // Per-event-name rate limiting for CUSTOM events to prevent infinite loops
119
- if (eventType === EventType.CUSTOM && custom_event?.name) {
120
- const maxSameEventPerMinute = this.get('config')?.maxSameEventPerMinute ?? MAX_SAME_EVENT_PER_MINUTE;
121
- if (!this.checkPerEventRateLimit(custom_event.name, maxSameEventPerMinute)) {
122
- return;
123
- }
124
- }
125
- const isSessionStart = eventType === EventType.SESSION_START;
126
- const currentPageUrl = page_url || this.get('pageUrl');
127
- const payload = this.buildEventPayload({
128
- type: eventType,
129
- page_url: currentPageUrl,
130
- from_page_url,
131
- scroll_data,
132
- click_data,
133
- custom_event,
134
- web_vitals,
135
- error_data,
136
- session_end_reason,
137
- viewport_data,
138
- });
139
- if (!isCriticalEvent && !this.shouldSample()) {
140
- return;
141
- }
142
- if (isSessionStart) {
143
- const currentSessionId = this.get('sessionId');
144
- if (!currentSessionId) {
145
- log('error', 'Session start event requires sessionId - event will be ignored');
146
- return;
147
- }
148
- if (this.get('hasStartSession')) {
149
- log('warn', 'Duplicate session_start detected', {
150
- data: { sessionId: currentSessionId },
151
- });
152
- return;
153
- }
154
- this.set('hasStartSession', true);
155
- }
156
- if (this.isDuplicateEvent(payload)) {
157
- return;
158
- }
159
- if (this.get('mode') === Mode.QA && eventType === EventType.CUSTOM && custom_event) {
160
- console.log('[TraceLog] Event', {
161
- name: custom_event.name,
162
- ...(custom_event.metadata && { metadata: custom_event.metadata }),
163
- });
164
- this.emitEvent(payload);
165
- return;
166
- }
167
- this.addToQueue(payload);
168
- // Increment session counters (Phase 3) - only for non-critical events
169
- if (!isCriticalEvent) {
170
- this.sessionEventCounts.total++;
171
- if (this.sessionEventCounts[eventType] !== undefined) {
172
- this.sessionEventCounts[eventType]++;
173
- }
174
- }
175
- }
176
- stop() {
177
- if (this.sendIntervalId) {
178
- clearInterval(this.sendIntervalId);
179
- this.sendIntervalId = null;
180
- }
181
- this.eventsQueue = [];
182
- this.pendingEventsBuffer = [];
183
- this.recentEventFingerprints.clear();
184
- this.rateLimitCounter = 0;
185
- this.rateLimitWindowStart = 0;
186
- this.perEventRateLimits.clear();
187
- this.sessionEventCounts = {
188
- total: 0,
189
- [EventType.CLICK]: 0,
190
- [EventType.PAGE_VIEW]: 0,
191
- [EventType.CUSTOM]: 0,
192
- [EventType.VIEWPORT_VISIBLE]: 0,
193
- [EventType.SCROLL]: 0,
194
- };
195
- this.lastSessionId = null;
196
- this.dataSender.stop();
197
- }
198
- async flushImmediately() {
199
- return this.flushEvents(false);
200
- }
201
- flushImmediatelySync() {
202
- return this.flushEvents(true);
203
- }
204
- getQueueLength() {
205
- return this.eventsQueue.length;
206
- }
207
- flushPendingEvents() {
208
- if (this.pendingEventsBuffer.length === 0) {
209
- return;
210
- }
211
- const currentSessionId = this.get('sessionId');
212
- if (!currentSessionId) {
213
- log('warn', 'Cannot flush pending events: session not initialized - keeping in buffer', {
214
- data: { bufferedEventCount: this.pendingEventsBuffer.length },
215
- });
216
- return;
217
- }
218
- const bufferedEvents = [...this.pendingEventsBuffer];
219
- this.pendingEventsBuffer = [];
220
- bufferedEvents.forEach((event) => {
221
- this.track(event);
222
- });
223
- }
224
- clearSendInterval() {
225
- if (this.sendIntervalId) {
226
- clearInterval(this.sendIntervalId);
227
- this.sendIntervalId = null;
228
- }
229
- }
230
- flushEvents(isSync) {
231
- if (this.eventsQueue.length === 0) {
232
- return isSync ? true : Promise.resolve(true);
233
- }
234
- const body = this.buildEventsPayload();
235
- const eventsToSend = [...this.eventsQueue];
236
- const eventIds = eventsToSend.map((e) => e.id);
237
- if (isSync) {
238
- const success = this.dataSender.sendEventsQueueSync(body);
239
- if (success) {
240
- this.removeProcessedEvents(eventIds);
241
- this.clearSendInterval();
242
- this.emitEventsQueue(body);
243
- }
244
- return success;
245
- }
246
- else {
247
- return this.dataSender.sendEventsQueue(body, {
248
- onSuccess: () => {
249
- this.removeProcessedEvents(eventIds);
250
- this.clearSendInterval();
251
- this.emitEventsQueue(body);
252
- },
253
- onFailure: () => {
254
- log('warn', 'Async flush failed', {
255
- data: { eventCount: eventsToSend.length },
256
- });
257
- },
258
- });
259
- }
260
- }
261
- async sendEventsQueue() {
262
- if (!this.get('sessionId') || this.eventsQueue.length === 0) {
263
- return;
264
- }
265
- const body = this.buildEventsPayload();
266
- const eventsToSend = [...this.eventsQueue];
267
- const eventIds = eventsToSend.map((e) => e.id);
268
- await this.dataSender.sendEventsQueue(body, {
269
- onSuccess: () => {
270
- this.removeProcessedEvents(eventIds);
271
- this.emitEventsQueue(body);
272
- },
273
- onFailure: () => {
274
- log('warn', 'Events send failed, keeping in queue', {
275
- data: { eventCount: eventsToSend.length },
276
- });
277
- },
278
- });
279
- }
280
- buildEventsPayload() {
281
- const eventMap = new Map();
282
- const order = [];
283
- for (const event of this.eventsQueue) {
284
- const signature = this.createEventSignature(event);
285
- if (!eventMap.has(signature)) {
286
- order.push(signature);
287
- }
288
- eventMap.set(signature, event);
289
- }
290
- const events = order
291
- .map((signature) => eventMap.get(signature))
292
- .filter((event) => Boolean(event))
293
- .sort((a, b) => a.timestamp - b.timestamp);
294
- return {
295
- user_id: this.get('userId'),
296
- session_id: this.get('sessionId'),
297
- device: this.get('device'),
298
- events,
299
- ...(this.get('config')?.globalMetadata && { global_metadata: this.get('config')?.globalMetadata }),
300
- };
301
- }
302
- buildEventPayload(data) {
303
- const isSessionStart = data.type === EventType.SESSION_START;
304
- const currentPageUrl = data.page_url ?? this.get('pageUrl');
305
- const payload = {
306
- id: generateEventId(),
307
- type: data.type,
308
- page_url: currentPageUrl,
309
- timestamp: Date.now(),
310
- ...(isSessionStart && { referrer: document.referrer || 'Direct' }),
311
- ...(data.from_page_url && { from_page_url: data.from_page_url }),
312
- ...(data.scroll_data && { scroll_data: data.scroll_data }),
313
- ...(data.click_data && { click_data: data.click_data }),
314
- ...(data.custom_event && { custom_event: data.custom_event }),
315
- ...(data.web_vitals && { web_vitals: data.web_vitals }),
316
- ...(data.error_data && { error_data: data.error_data }),
317
- ...(data.session_end_reason && { session_end_reason: data.session_end_reason }),
318
- ...(data.viewport_data && { viewport_data: data.viewport_data }),
319
- ...(isSessionStart && getUTMParameters() && { utm: getUTMParameters() }),
320
- };
321
- return payload;
322
- }
323
- /**
324
- * Checks if event is a duplicate using time-based cache
325
- * Tracks recent event fingerprints with timestamp-based cleanup
326
- */
327
- isDuplicateEvent(event) {
328
- const now = Date.now();
329
- const fingerprint = this.createEventFingerprint(event);
330
- const lastSeen = this.recentEventFingerprints.get(fingerprint);
331
- // Check if seen recently
332
- if (lastSeen && now - lastSeen < DUPLICATE_EVENT_THRESHOLD_MS) {
333
- this.recentEventFingerprints.set(fingerprint, now); // Update timestamp
334
- return true; // Duplicate
335
- }
336
- // Add to cache
337
- this.recentEventFingerprints.set(fingerprint, now);
338
- // Cleanup if cache too large (soft limit)
339
- if (this.recentEventFingerprints.size > MAX_FINGERPRINTS) {
340
- this.pruneOldFingerprints();
341
- }
342
- // Hard limit: aggressive cleanup
343
- if (this.recentEventFingerprints.size > MAX_FINGERPRINTS_HARD_LIMIT) {
344
- this.recentEventFingerprints.clear();
345
- this.recentEventFingerprints.set(fingerprint, now);
346
- log('warn', 'Event fingerprint cache exceeded hard limit, cleared', {
347
- data: { hardLimit: MAX_FINGERPRINTS_HARD_LIMIT },
348
- });
349
- }
350
- return false;
351
- }
352
- /**
353
- * Prunes old fingerprints from cache based on timestamp
354
- * Removes entries older than 10x the duplicate threshold (5 seconds)
355
- */
356
- pruneOldFingerprints() {
357
- const now = Date.now();
358
- const cutoff = DUPLICATE_EVENT_THRESHOLD_MS * FINGERPRINT_CLEANUP_MULTIPLIER; // 5 seconds
359
- for (const [fingerprint, timestamp] of this.recentEventFingerprints.entries()) {
360
- if (now - timestamp > cutoff) {
361
- this.recentEventFingerprints.delete(fingerprint);
362
- }
363
- }
364
- log('debug', 'Pruned old event fingerprints', {
365
- data: {
366
- remaining: this.recentEventFingerprints.size,
367
- cutoffMs: cutoff,
368
- },
369
- });
370
- }
371
- createEventFingerprint(event) {
372
- let fingerprint = `${event.type}_${event.page_url}`;
373
- if (event.click_data) {
374
- const x = Math.round((event.click_data.x || 0) / 10) * 10;
375
- const y = Math.round((event.click_data.y || 0) / 10) * 10;
376
- fingerprint += `_click_${x}_${y}`;
377
- }
378
- if (event.scroll_data) {
379
- fingerprint += `_scroll_${event.scroll_data.depth}_${event.scroll_data.direction}`;
380
- }
381
- if (event.custom_event) {
382
- fingerprint += `_custom_${event.custom_event.name}`;
383
- }
384
- if (event.web_vitals) {
385
- fingerprint += `_vitals_${event.web_vitals.type}`;
386
- }
387
- if (event.error_data) {
388
- fingerprint += `_error_${event.error_data.type}_${event.error_data.message}`;
389
- }
390
- return fingerprint;
391
- }
392
- createEventSignature(event) {
393
- return this.createEventFingerprint(event);
394
- }
395
- addToQueue(event) {
396
- this.eventsQueue.push(event);
397
- this.emitEvent(event);
398
- if (this.eventsQueue.length > MAX_EVENTS_QUEUE_LENGTH) {
399
- const nonCriticalIndex = this.eventsQueue.findIndex((e) => e.type !== EventType.SESSION_START && e.type !== EventType.SESSION_END);
400
- const removedEvent = nonCriticalIndex >= 0 ? this.eventsQueue.splice(nonCriticalIndex, 1)[0] : this.eventsQueue.shift();
401
- log('warn', 'Event queue overflow, oldest non-critical event removed', {
402
- data: {
403
- maxLength: MAX_EVENTS_QUEUE_LENGTH,
404
- currentLength: this.eventsQueue.length,
405
- removedEventType: removedEvent?.type,
406
- wasCritical: removedEvent?.type === EventType.SESSION_START || removedEvent?.type === EventType.SESSION_END,
407
- },
408
- });
409
- }
410
- if (!this.sendIntervalId) {
411
- this.startSendInterval();
412
- }
413
- // Dynamic flush: Send immediately when batch size threshold is reached
414
- if (this.eventsQueue.length >= BATCH_SIZE_THRESHOLD) {
415
- void this.sendEventsQueue();
416
- }
417
- this.handleGoogleAnalyticsIntegration(event);
418
- }
419
- startSendInterval() {
420
- this.sendIntervalId = window.setInterval(() => {
421
- if (this.eventsQueue.length > 0) {
422
- void this.sendEventsQueue();
423
- }
424
- }, EVENT_SENT_INTERVAL_MS);
425
- }
426
- handleGoogleAnalyticsIntegration(event) {
427
- if (this.googleAnalytics && event.type === EventType.CUSTOM && event.custom_event) {
428
- if (this.get('mode') === Mode.QA) {
429
- return;
430
- }
431
- this.googleAnalytics.trackEvent(event.custom_event.name, event.custom_event.metadata ?? {});
432
- }
433
- }
434
- shouldSample() {
435
- const samplingRate = this.get('config')?.samplingRate ?? 1;
436
- return Math.random() < samplingRate;
437
- }
438
- checkRateLimit() {
439
- const now = Date.now();
440
- if (now - this.rateLimitWindowStart > RATE_LIMIT_WINDOW_MS) {
441
- this.rateLimitCounter = 0;
442
- this.rateLimitWindowStart = now;
443
- }
444
- if (this.rateLimitCounter >= MAX_EVENTS_PER_SECOND) {
445
- return false;
446
- }
447
- this.rateLimitCounter++;
448
- return true;
449
- }
450
- /**
451
- * Checks per-event-name rate limiting to prevent infinite loops in user code
452
- * Tracks timestamps per event name and limits to maxSameEventPerMinute per minute
453
- */
454
- checkPerEventRateLimit(eventName, maxSameEventPerMinute) {
455
- const now = Date.now();
456
- const timestamps = this.perEventRateLimits.get(eventName) ?? [];
457
- // Remove timestamps older than the rate limit window (60 seconds)
458
- const validTimestamps = timestamps.filter((ts) => now - ts < PER_EVENT_RATE_LIMIT_WINDOW_MS);
459
- if (validTimestamps.length >= maxSameEventPerMinute) {
460
- log('warn', 'Per-event rate limit exceeded for custom event', {
461
- data: {
462
- eventName,
463
- limit: maxSameEventPerMinute,
464
- window: `${PER_EVENT_RATE_LIMIT_WINDOW_MS / 1000}s`,
465
- },
466
- });
467
- return false;
468
- }
469
- // Add current timestamp and update map
470
- validTimestamps.push(now);
471
- this.perEventRateLimits.set(eventName, validTimestamps);
472
- return true;
473
- }
474
- /**
475
- * Gets the per-session limit for a specific event type (Phase 3)
476
- */
477
- getTypeLimitForEvent(type) {
478
- const limits = {
479
- [EventType.CLICK]: MAX_CLICKS_PER_SESSION,
480
- [EventType.PAGE_VIEW]: MAX_PAGE_VIEWS_PER_SESSION,
481
- [EventType.CUSTOM]: MAX_CUSTOM_EVENTS_PER_SESSION,
482
- [EventType.VIEWPORT_VISIBLE]: MAX_VIEWPORT_EVENTS_PER_SESSION,
483
- [EventType.SCROLL]: MAX_SCROLL_EVENTS_PER_SESSION,
484
- };
485
- return limits[type] ?? null;
486
- }
487
- removeProcessedEvents(eventIds) {
488
- const eventIdSet = new Set(eventIds);
489
- this.eventsQueue = this.eventsQueue.filter((event) => {
490
- return !eventIdSet.has(event.id);
491
- });
492
- }
493
- emitEvent(eventData) {
494
- if (this.emitter) {
495
- this.emitter.emit(EmitterEvent.EVENT, eventData);
496
- }
497
- }
498
- emitEventsQueue(queue) {
499
- if (this.emitter) {
500
- this.emitter.emit(EmitterEvent.QUEUE, queue);
501
- }
502
- }
503
- }
504
- //# sourceMappingURL=event.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.manager.js","sourceRoot":"","sources":["../../../src/managers/event.manager.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { BaseEventsQueueDto } from '../types';
2
- import { StorageManager } from './storage.manager';
3
- import { StateManager } from './state.manager';
4
- interface SendCallbacks {
5
- onSuccess?: (eventCount?: number, events?: any[], body?: BaseEventsQueueDto) => void;
6
- onFailure?: () => void;
7
- }
8
- export declare class SenderManager extends StateManager {
9
- private readonly storeManager;
10
- private lastPermanentErrorLog;
11
- constructor(storeManager: StorageManager);
12
- private getQueueStorageKey;
13
- sendEventsQueueSync(body: BaseEventsQueueDto): boolean;
14
- sendEventsQueue(body: BaseEventsQueueDto, callbacks?: SendCallbacks): Promise<boolean>;
15
- recoverPersistedEvents(callbacks?: SendCallbacks): Promise<void>;
16
- stop(): void;
17
- private send;
18
- private sendWithTimeout;
19
- private sendQueueSyncInternal;
20
- private prepareRequest;
21
- private getPersistedData;
22
- private isDataRecent;
23
- private createRecoveryBody;
24
- private persistEvents;
25
- private clearPersistedEvents;
26
- private shouldSkipSend;
27
- private simulateSuccessfulSend;
28
- private isSendBeaconAvailable;
29
- private logPermanentError;
30
- }
31
- export {};
32
- //# sourceMappingURL=sender.manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sender.manager.d.ts","sourceRoot":"","sources":["../../../src/managers/sender.manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsB,kBAAkB,EAAiC,MAAM,UAAU,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACrF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAC9C,OAAO,CAAC,qBAAqB,CAA2D;gBAE5E,YAAY,EAAE,cAAc;IAKxC,OAAO,CAAC,kBAAkB;IAK1B,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO;IAkBhD,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BtF,sBAAsB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtE,IAAI,IAAI,IAAI;YAEE,IAAI;YAsCJ,eAAe;IAkC7B,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,cAAc;YAIR,sBAAsB;IAQpC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;CAe1B"}