@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,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BROADCAST_CHANNEL_NAME = exports.SESSION_RECOVERY_KEY = exports.TAB_SPECIFIC_INFO_KEY = exports.TAB_INFO_KEY = exports.CROSS_TAB_SESSION_KEY = exports.SESSION_STORAGE_KEY = exports.QUEUE_KEY = exports.USER_ID_KEY = exports.QA_MODE_KEY = exports.STORAGE_BASE_KEY = void 0;
4
- exports.STORAGE_BASE_KEY = 'tlog';
5
- exports.QA_MODE_KEY = `${exports.STORAGE_BASE_KEY}:qa_mode`;
6
- exports.USER_ID_KEY = `${exports.STORAGE_BASE_KEY}:uid`;
7
- const QUEUE_KEY = (id) => (id ? `${exports.STORAGE_BASE_KEY}:${id}:queue` : `${exports.STORAGE_BASE_KEY}:queue`);
8
- exports.QUEUE_KEY = QUEUE_KEY;
9
- const SESSION_STORAGE_KEY = (id) => id ? `${exports.STORAGE_BASE_KEY}:${id}:session` : `${exports.STORAGE_BASE_KEY}:session`;
10
- exports.SESSION_STORAGE_KEY = SESSION_STORAGE_KEY;
11
- // Cross-tab session management storage keys
12
- const CROSS_TAB_SESSION_KEY = (id) => id ? `${exports.STORAGE_BASE_KEY}:${id}:cross_tab_session` : `${exports.STORAGE_BASE_KEY}:cross_tab_session`;
13
- exports.CROSS_TAB_SESSION_KEY = CROSS_TAB_SESSION_KEY;
14
- const TAB_INFO_KEY = (id) => id ? `${exports.STORAGE_BASE_KEY}:${id}:tab_info` : `${exports.STORAGE_BASE_KEY}:tab_info`;
15
- exports.TAB_INFO_KEY = TAB_INFO_KEY;
16
- const TAB_SPECIFIC_INFO_KEY = (projectId, tabId) => `${exports.STORAGE_BASE_KEY}:${projectId}:tab:${tabId}:info`;
17
- exports.TAB_SPECIFIC_INFO_KEY = TAB_SPECIFIC_INFO_KEY;
18
- const SESSION_RECOVERY_KEY = (id) => id ? `${exports.STORAGE_BASE_KEY}:${id}:recovery` : `${exports.STORAGE_BASE_KEY}:recovery`;
19
- exports.SESSION_RECOVERY_KEY = SESSION_RECOVERY_KEY;
20
- // BroadcastChannel name for cross-tab communication
21
- const BROADCAST_CHANNEL_NAME = (id) => id ? `${exports.STORAGE_BASE_KEY}:${id}:broadcast` : `${exports.STORAGE_BASE_KEY}:broadcast`;
22
- exports.BROADCAST_CHANNEL_NAME = BROADCAST_CHANNEL_NAME;
23
- //# sourceMappingURL=storage.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.constants.js","sourceRoot":"","sources":["../../../src/constants/storage.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,WAAW,GAAG,GAAG,wBAAgB,UAAU,CAAC;AAC5C,QAAA,WAAW,GAAG,GAAG,wBAAgB,MAAM,CAAC;AAE9C,MAAM,SAAS,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,wBAAgB,QAAQ,CAAC,CAAC;AAA3G,QAAA,SAAS,aAAkG;AACjH,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAU,EAAE,CACxD,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,wBAAgB,UAAU,CAAC;AAD9D,QAAA,mBAAmB,uBAC2C;AAE3E,4CAA4C;AACrC,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAU,EAAE,CAC1D,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,wBAAgB,oBAAoB,CAAC;AADlF,QAAA,qBAAqB,yBAC6D;AACxF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAU,EAAE,CACjD,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,wBAAgB,WAAW,CAAC;AADhE,QAAA,YAAY,gBACoD;AAEtE,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAU,EAAE,CAChF,GAAG,wBAAgB,IAAI,SAAS,QAAQ,KAAK,OAAO,CAAC;AAD1C,QAAA,qBAAqB,yBACqB;AAChD,MAAM,oBAAoB,GAAG,CAAC,EAAU,EAAU,EAAE,CACzD,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,wBAAgB,WAAW,CAAC;AADhE,QAAA,oBAAoB,wBAC4C;AAE7E,oDAAoD;AAC7C,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAU,EAAE,CAC3D,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAgB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,wBAAgB,YAAY,CAAC;AADlE,QAAA,sBAAsB,0BAC4C"}
@@ -1,36 +0,0 @@
1
- import { EventManager } from '../managers/event.manager';
2
- import { StateManager } from '../managers/state.manager';
3
- export declare class ClickHandler extends StateManager {
4
- private readonly eventManager;
5
- private clickHandler?;
6
- private readonly lastClickTimes;
7
- constructor(eventManager: EventManager);
8
- startTracking(): void;
9
- stopTracking(): void;
10
- private shouldIgnoreElement;
11
- /**
12
- * Checks per-element click throttling to prevent double-clicks and rapid spam
13
- * Returns true if the click should be tracked, false if throttled
14
- */
15
- private checkClickThrottle;
16
- /**
17
- * Creates a stable signature for an element to track throttling
18
- * Priority: id > data-testid > data-tlog-name > DOM path
19
- */
20
- private getElementSignature;
21
- /**
22
- * Generates a DOM path for an element (e.g., "body>div>button")
23
- */
24
- private getElementPath;
25
- private findTrackingElement;
26
- private getRelevantClickElement;
27
- private clamp;
28
- private calculateClickCoordinates;
29
- private extractTrackingData;
30
- private generateClickData;
31
- private sanitizeText;
32
- private getRelevantText;
33
- private extractElementAttributes;
34
- private createCustomEventData;
35
- }
36
- //# sourceMappingURL=click.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"click.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;gBAErD,YAAY,EAAE,YAAY;IAMtC,aAAa,IAAI,IAAI;IA6DrB,YAAY,IAAI,IAAI;IAQpB,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -1,263 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClickHandler = void 0;
4
- const constants_1 = require("../constants");
5
- const types_1 = require("../types");
6
- const state_manager_1 = require("../managers/state.manager");
7
- const utils_1 = require("../utils");
8
- class ClickHandler extends state_manager_1.StateManager {
9
- constructor(eventManager) {
10
- super();
11
- this.lastClickTimes = new Map();
12
- this.eventManager = eventManager;
13
- }
14
- startTracking() {
15
- if (this.clickHandler) {
16
- return;
17
- }
18
- this.clickHandler = (event) => {
19
- const mouseEvent = event;
20
- const target = mouseEvent.target;
21
- const clickedElement = typeof HTMLElement !== 'undefined' && target instanceof HTMLElement
22
- ? target
23
- : typeof HTMLElement !== 'undefined' && target instanceof Node && target.parentElement instanceof HTMLElement
24
- ? target.parentElement
25
- : null;
26
- if (!clickedElement) {
27
- (0, utils_1.log)('warn', 'Click target not found or not an element');
28
- return;
29
- }
30
- if (this.shouldIgnoreElement(clickedElement)) {
31
- return;
32
- }
33
- // Throttle clicks per element to prevent double-clicks and spam
34
- const clickThrottleMs = this.get('config')?.clickThrottleMs ?? constants_1.DEFAULT_CLICK_THROTTLE_MS;
35
- if (clickThrottleMs > 0 && !this.checkClickThrottle(clickedElement, clickThrottleMs)) {
36
- return;
37
- }
38
- const trackingElement = this.findTrackingElement(clickedElement);
39
- const relevantClickElement = this.getRelevantClickElement(clickedElement);
40
- const coordinates = this.calculateClickCoordinates(mouseEvent, clickedElement);
41
- if (trackingElement) {
42
- const trackingData = this.extractTrackingData(trackingElement);
43
- if (trackingData) {
44
- const attributeData = this.createCustomEventData(trackingData);
45
- this.eventManager.track({
46
- type: types_1.EventType.CUSTOM,
47
- custom_event: {
48
- name: attributeData.name,
49
- ...(attributeData.value && { metadata: { value: attributeData.value } }),
50
- },
51
- });
52
- }
53
- }
54
- const clickData = this.generateClickData(clickedElement, relevantClickElement, coordinates);
55
- this.eventManager.track({
56
- type: types_1.EventType.CLICK,
57
- click_data: clickData,
58
- });
59
- };
60
- window.addEventListener('click', this.clickHandler, true);
61
- }
62
- stopTracking() {
63
- if (this.clickHandler) {
64
- window.removeEventListener('click', this.clickHandler, true);
65
- this.clickHandler = undefined;
66
- }
67
- this.lastClickTimes.clear();
68
- }
69
- shouldIgnoreElement(element) {
70
- if (element.hasAttribute(`${constants_1.HTML_DATA_ATTR_PREFIX}-ignore`)) {
71
- return true;
72
- }
73
- const parent = element.closest(`[${constants_1.HTML_DATA_ATTR_PREFIX}-ignore]`);
74
- return parent !== null;
75
- }
76
- /**
77
- * Checks per-element click throttling to prevent double-clicks and rapid spam
78
- * Returns true if the click should be tracked, false if throttled
79
- */
80
- checkClickThrottle(element, throttleMs) {
81
- const signature = this.getElementSignature(element);
82
- const now = Date.now();
83
- const lastClickTime = this.lastClickTimes.get(signature);
84
- if (lastClickTime !== undefined && now - lastClickTime < throttleMs) {
85
- (0, utils_1.log)('debug', 'ClickHandler: Click suppressed by throttle', {
86
- data: {
87
- signature,
88
- throttleRemaining: throttleMs - (now - lastClickTime),
89
- },
90
- });
91
- return false;
92
- }
93
- this.lastClickTimes.set(signature, now);
94
- return true;
95
- }
96
- /**
97
- * Creates a stable signature for an element to track throttling
98
- * Priority: id > data-testid > data-tlog-name > DOM path
99
- */
100
- getElementSignature(element) {
101
- // Priority 1: Element ID (most stable)
102
- if (element.id) {
103
- return `#${element.id}`;
104
- }
105
- // Priority 2: data-testid (common in tests)
106
- const testId = element.getAttribute('data-testid');
107
- if (testId) {
108
- return `[data-testid="${testId}"]`;
109
- }
110
- // Priority 3: data-tlog-name (our own tracking attribute)
111
- const tlogName = element.getAttribute(`${constants_1.HTML_DATA_ATTR_PREFIX}-name`);
112
- if (tlogName) {
113
- return `[${constants_1.HTML_DATA_ATTR_PREFIX}-name="${tlogName}"]`;
114
- }
115
- // Priority 4: Generate DOM path as fallback
116
- return this.getElementPath(element);
117
- }
118
- /**
119
- * Generates a DOM path for an element (e.g., "body>div>button")
120
- */
121
- getElementPath(element) {
122
- const path = [];
123
- let current = element;
124
- while (current && current !== document.body) {
125
- let selector = current.tagName.toLowerCase();
126
- // Add class if available (first class only for brevity)
127
- if (current.className) {
128
- const firstClass = current.className.split(' ')[0];
129
- if (firstClass) {
130
- selector += `.${firstClass}`;
131
- }
132
- }
133
- path.unshift(selector);
134
- current = current.parentElement;
135
- }
136
- return path.join('>') || 'unknown';
137
- }
138
- findTrackingElement(element) {
139
- if (element.hasAttribute(`${constants_1.HTML_DATA_ATTR_PREFIX}-name`)) {
140
- return element;
141
- }
142
- const closest = element.closest(`[${constants_1.HTML_DATA_ATTR_PREFIX}-name]`);
143
- return closest;
144
- }
145
- getRelevantClickElement(element) {
146
- for (const selector of constants_1.INTERACTIVE_SELECTORS) {
147
- try {
148
- if (element.matches(selector)) {
149
- return element;
150
- }
151
- const parent = element.closest(selector);
152
- if (parent) {
153
- return parent;
154
- }
155
- }
156
- catch (error) {
157
- (0, utils_1.log)('warn', 'Invalid selector in element search', { error, data: { selector } });
158
- continue;
159
- }
160
- }
161
- return element;
162
- }
163
- clamp(value) {
164
- return Math.max(0, Math.min(1, Number(value.toFixed(3))));
165
- }
166
- calculateClickCoordinates(event, element) {
167
- const rect = element.getBoundingClientRect();
168
- const x = event.clientX;
169
- const y = event.clientY;
170
- const relativeX = rect.width > 0 ? this.clamp((x - rect.left) / rect.width) : 0;
171
- const relativeY = rect.height > 0 ? this.clamp((y - rect.top) / rect.height) : 0;
172
- return { x, y, relativeX, relativeY };
173
- }
174
- extractTrackingData(trackingElement) {
175
- const name = trackingElement.getAttribute(`${constants_1.HTML_DATA_ATTR_PREFIX}-name`);
176
- const value = trackingElement.getAttribute(`${constants_1.HTML_DATA_ATTR_PREFIX}-value`);
177
- if (!name) {
178
- return undefined;
179
- }
180
- return {
181
- element: trackingElement,
182
- name,
183
- ...(value && { value }),
184
- };
185
- }
186
- generateClickData(clickedElement, relevantElement, coordinates) {
187
- const { x, y, relativeX, relativeY } = coordinates;
188
- const text = this.getRelevantText(clickedElement, relevantElement);
189
- const attributes = this.extractElementAttributes(relevantElement);
190
- return {
191
- x,
192
- y,
193
- relativeX,
194
- relativeY,
195
- tag: relevantElement.tagName.toLowerCase(),
196
- ...(relevantElement.id && { id: relevantElement.id }),
197
- ...(relevantElement.className && { class: relevantElement.className }),
198
- ...(text && { text }),
199
- ...(attributes.href && { href: attributes.href }),
200
- ...(attributes.title && { title: attributes.title }),
201
- ...(attributes.alt && { alt: attributes.alt }),
202
- ...(attributes.role && { role: attributes.role }),
203
- ...(attributes['aria-label'] && { ariaLabel: attributes['aria-label'] }),
204
- ...(Object.keys(attributes).length > 0 && { dataAttributes: attributes }),
205
- };
206
- }
207
- sanitizeText(text) {
208
- let sanitized = text;
209
- for (const pattern of constants_1.PII_PATTERNS) {
210
- const regex = new RegExp(pattern.source, pattern.flags);
211
- sanitized = sanitized.replace(regex, '[REDACTED]');
212
- }
213
- return sanitized;
214
- }
215
- getRelevantText(clickedElement, relevantElement) {
216
- const clickedText = clickedElement.textContent?.trim() ?? '';
217
- const relevantText = relevantElement.textContent?.trim() ?? '';
218
- if (!clickedText && !relevantText) {
219
- return '';
220
- }
221
- let finalText = '';
222
- if (clickedText && clickedText.length <= constants_1.MAX_TEXT_LENGTH) {
223
- finalText = clickedText;
224
- }
225
- else if (relevantText.length <= constants_1.MAX_TEXT_LENGTH) {
226
- finalText = relevantText;
227
- }
228
- else {
229
- finalText = relevantText.slice(0, constants_1.MAX_TEXT_LENGTH - 3) + '...';
230
- }
231
- return this.sanitizeText(finalText);
232
- }
233
- extractElementAttributes(element) {
234
- const commonAttributes = [
235
- 'id',
236
- 'class',
237
- 'data-testid',
238
- 'aria-label',
239
- 'title',
240
- 'href',
241
- 'type',
242
- 'name',
243
- 'alt',
244
- 'role',
245
- ];
246
- const result = {};
247
- for (const attributeName of commonAttributes) {
248
- const value = element.getAttribute(attributeName);
249
- if (value) {
250
- result[attributeName] = value;
251
- }
252
- }
253
- return result;
254
- }
255
- createCustomEventData(trackingData) {
256
- return {
257
- name: trackingData.name,
258
- ...(trackingData.value && { value: trackingData.value }),
259
- };
260
- }
261
- }
262
- exports.ClickHandler = ClickHandler;
263
- //# sourceMappingURL=click.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"click.handler.js","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":";;;AAAA,4CAMsB;AACtB,oCAA4F;AAE5F,6DAAyD;AACzD,oCAA+B;AAE/B,MAAa,YAAa,SAAQ,4BAAY;IAM5C,YAAY,YAA0B;QACpC,KAAK,EAAE,CAAC;QAHO,mBAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QAK/D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,KAAY,EAAQ,EAAE;YACzC,MAAM,UAAU,GAAG,KAAmB,CAAC;YACvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,WAAW,IAAI,MAAM,YAAY,WAAW;gBACjE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,CAAC,aAAa,YAAY,WAAW;oBAC3G,CAAC,CAAC,MAAM,CAAC,aAAa;oBACtB,CAAC,CAAC,IAAI,CAAC;YAEb,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAA,WAAG,EAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,gEAAgE;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,eAAe,IAAI,qCAAyB,CAAC;YACzF,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAE/E,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;gBAE/D,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;oBAE/D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;wBACtB,IAAI,EAAE,iBAAS,CAAC,MAAM;wBACtB,YAAY,EAAE;4BACZ,IAAI,EAAE,aAAa,CAAC,IAAI;4BACxB,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;yBACzE;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;YAE5F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,KAAK;gBACrB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,mBAAmB,CAAC,OAAoB;QAC9C,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,iCAAqB,SAAS,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,iCAAqB,UAAU,CAAC,CAAC;QAEpE,OAAO,MAAM,KAAK,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,OAAoB,EAAE,UAAkB;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,aAAa,KAAK,SAAS,IAAI,GAAG,GAAG,aAAa,GAAG,UAAU,EAAE,CAAC;YACpE,IAAA,WAAG,EAAC,OAAO,EAAE,4CAA4C,EAAE;gBACzD,IAAI,EAAE;oBACJ,SAAS;oBACT,iBAAiB,EAAE,UAAU,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC;iBACtD;aACF,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,OAAoB;QAC9C,uCAAuC;QACvC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC;QAED,4CAA4C;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,iBAAiB,MAAM,IAAI,CAAC;QACrC,CAAC;QAED,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,iCAAqB,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,iCAAqB,UAAU,QAAQ,IAAI,CAAC;QACzD,CAAC;QAED,4CAA4C;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAoB;QACzC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAuB,OAAO,CAAC;QAE1C,OAAO,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAE7C,wDAAwD;YACxD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACrC,CAAC;IAEO,mBAAmB,CAAC,OAAoB;QAC9C,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,iCAAqB,OAAO,CAAC,EAAE,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,iCAAqB,QAAQ,CAAgB,CAAC;QAElF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,OAAoB;QAClD,KAAK,MAAM,QAAQ,IAAI,iCAAqB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAgB,CAAC;gBAExD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,WAAG,EAAC,MAAM,EAAE,oCAAoC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACjF,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEO,yBAAyB,CAAC,KAAiB,EAAE,OAAoB;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IAEO,mBAAmB,CAAC,eAA4B;QACtD,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,iCAAqB,OAAO,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,iCAAqB,QAAQ,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,eAAe;YACxB,IAAI;YACJ,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;SACxB,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,cAA2B,EAC3B,eAA4B,EAC5B,WAA6B;QAE7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAElE,OAAO;YACL,CAAC;YACD,CAAC;YACD,SAAS;YACT,SAAS;YACT,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1C,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;YACrD,GAAG,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC;YACtE,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YACjD,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACpD,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;YAC9C,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YACjD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,wBAAY,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,cAA2B,EAAE,eAA4B;QAC/E,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAE/D,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,2BAAe,EAAE,CAAC;YACzD,SAAS,GAAG,WAAW,CAAC;QAC1B,CAAC;aAAM,IAAI,YAAY,CAAC,MAAM,IAAI,2BAAe,EAAE,CAAC;YAClD,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,2BAAe,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,wBAAwB,CAAC,OAAoB;QACnD,MAAM,gBAAgB,GAAG;YACvB,IAAI;YACJ,OAAO;YACP,aAAa;YACb,YAAY;YACZ,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;SACP,CAAC;QACF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,YAAsC;QAClE,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;CACF;AA5TD,oCA4TC"}
@@ -1,28 +0,0 @@
1
- import { EventManager } from '../managers/event.manager';
2
- import { StateManager } from '../managers/state.manager';
3
- /**
4
- * Simplified error handler for tracking JavaScript errors and unhandled promise rejections
5
- * Includes PII sanitization and sampling support
6
- */
7
- export declare class ErrorHandler extends StateManager {
8
- private readonly eventManager;
9
- private readonly recentErrors;
10
- private errorBurstCounter;
11
- private burstWindowStart;
12
- private burstBackoffUntil;
13
- constructor(eventManager: EventManager);
14
- startTracking(): void;
15
- stopTracking(): void;
16
- /**
17
- * Checks sampling rate and burst detection (Phase 3)
18
- * Returns false if in cooldown period after burst detection
19
- */
20
- private shouldSample;
21
- private readonly handleError;
22
- private readonly handleRejection;
23
- private extractRejectionMessage;
24
- private sanitize;
25
- private shouldSuppressError;
26
- private pruneOldErrors;
27
- }
28
- //# sourceMappingURL=error.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAezD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAK;gBAElB,YAAY,EAAE,YAAY;IAKtC,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IASpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAqB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAmB9B;IAEF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,cAAc;CAsBvB"}
@@ -1,168 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorHandler = void 0;
4
- const state_manager_1 = require("../managers/state.manager");
5
- const types_1 = require("../types");
6
- const utils_1 = require("../utils");
7
- const error_constants_1 = require("../constants/error.constants");
8
- /**
9
- * Simplified error handler for tracking JavaScript errors and unhandled promise rejections
10
- * Includes PII sanitization and sampling support
11
- */
12
- class ErrorHandler extends state_manager_1.StateManager {
13
- constructor(eventManager) {
14
- super();
15
- this.recentErrors = new Map();
16
- this.errorBurstCounter = 0;
17
- this.burstWindowStart = 0;
18
- this.burstBackoffUntil = 0;
19
- this.handleError = (event) => {
20
- if (!this.shouldSample()) {
21
- return;
22
- }
23
- const sanitizedMessage = this.sanitize(event.message || 'Unknown error');
24
- if (this.shouldSuppressError(types_1.ErrorType.JS_ERROR, sanitizedMessage)) {
25
- return;
26
- }
27
- this.eventManager.track({
28
- type: types_1.EventType.ERROR,
29
- error_data: {
30
- type: types_1.ErrorType.JS_ERROR,
31
- message: sanitizedMessage,
32
- ...(event.filename && { filename: event.filename }),
33
- ...(event.lineno && { line: event.lineno }),
34
- ...(event.colno && { column: event.colno }),
35
- },
36
- });
37
- };
38
- this.handleRejection = (event) => {
39
- if (!this.shouldSample()) {
40
- return;
41
- }
42
- const message = this.extractRejectionMessage(event.reason);
43
- const sanitizedMessage = this.sanitize(message);
44
- if (this.shouldSuppressError(types_1.ErrorType.PROMISE_REJECTION, sanitizedMessage)) {
45
- return;
46
- }
47
- this.eventManager.track({
48
- type: types_1.EventType.ERROR,
49
- error_data: {
50
- type: types_1.ErrorType.PROMISE_REJECTION,
51
- message: sanitizedMessage,
52
- },
53
- });
54
- };
55
- this.eventManager = eventManager;
56
- }
57
- startTracking() {
58
- window.addEventListener('error', this.handleError);
59
- window.addEventListener('unhandledrejection', this.handleRejection);
60
- }
61
- stopTracking() {
62
- window.removeEventListener('error', this.handleError);
63
- window.removeEventListener('unhandledrejection', this.handleRejection);
64
- this.recentErrors.clear();
65
- this.errorBurstCounter = 0;
66
- this.burstWindowStart = 0;
67
- this.burstBackoffUntil = 0;
68
- }
69
- /**
70
- * Checks sampling rate and burst detection (Phase 3)
71
- * Returns false if in cooldown period after burst detection
72
- */
73
- shouldSample() {
74
- const now = Date.now();
75
- // Check if in backoff period (Phase 3)
76
- if (now < this.burstBackoffUntil) {
77
- return false;
78
- }
79
- // Reset burst counter if window expired
80
- if (now - this.burstWindowStart > error_constants_1.ERROR_BURST_WINDOW_MS) {
81
- this.errorBurstCounter = 0;
82
- this.burstWindowStart = now;
83
- }
84
- // Increment burst counter
85
- this.errorBurstCounter++;
86
- // Trigger backoff if burst threshold exceeded
87
- if (this.errorBurstCounter > error_constants_1.ERROR_BURST_THRESHOLD) {
88
- this.burstBackoffUntil = now + error_constants_1.ERROR_BURST_BACKOFF_MS;
89
- (0, utils_1.log)('warn', 'Error burst detected - entering cooldown', {
90
- data: {
91
- errorsInWindow: this.errorBurstCounter,
92
- cooldownMs: error_constants_1.ERROR_BURST_BACKOFF_MS,
93
- },
94
- });
95
- return false;
96
- }
97
- // Normal sampling logic
98
- const config = this.get('config');
99
- const samplingRate = config?.errorSampling ?? error_constants_1.DEFAULT_ERROR_SAMPLING_RATE;
100
- return Math.random() < samplingRate;
101
- }
102
- extractRejectionMessage(reason) {
103
- if (!reason)
104
- return 'Unknown rejection';
105
- if (typeof reason === 'string')
106
- return reason;
107
- if (reason instanceof Error) {
108
- return reason.stack ?? reason.message ?? reason.toString();
109
- }
110
- if (typeof reason === 'object' && 'message' in reason) {
111
- return String(reason.message);
112
- }
113
- try {
114
- return JSON.stringify(reason);
115
- }
116
- catch {
117
- return String(reason);
118
- }
119
- }
120
- sanitize(text) {
121
- let sanitized = text.length > error_constants_1.MAX_ERROR_MESSAGE_LENGTH ? text.slice(0, error_constants_1.MAX_ERROR_MESSAGE_LENGTH) + '...' : text;
122
- for (const pattern of error_constants_1.PII_PATTERNS) {
123
- const regex = new RegExp(pattern.source, pattern.flags);
124
- sanitized = sanitized.replace(regex, '[REDACTED]');
125
- }
126
- return sanitized;
127
- }
128
- shouldSuppressError(type, message) {
129
- const now = Date.now();
130
- const key = `${type}:${message}`;
131
- const lastSeenAt = this.recentErrors.get(key);
132
- if (lastSeenAt && now - lastSeenAt < error_constants_1.ERROR_SUPPRESSION_WINDOW_MS) {
133
- this.recentErrors.set(key, now);
134
- return true;
135
- }
136
- this.recentErrors.set(key, now);
137
- if (this.recentErrors.size > error_constants_1.MAX_TRACKED_ERRORS_HARD_LIMIT) {
138
- this.recentErrors.clear();
139
- this.recentErrors.set(key, now);
140
- return false;
141
- }
142
- if (this.recentErrors.size > error_constants_1.MAX_TRACKED_ERRORS) {
143
- this.pruneOldErrors();
144
- }
145
- return false;
146
- }
147
- pruneOldErrors() {
148
- const now = Date.now();
149
- for (const [key, timestamp] of this.recentErrors.entries()) {
150
- if (now - timestamp > error_constants_1.ERROR_SUPPRESSION_WINDOW_MS) {
151
- this.recentErrors.delete(key);
152
- }
153
- }
154
- if (this.recentErrors.size <= error_constants_1.MAX_TRACKED_ERRORS) {
155
- return;
156
- }
157
- const entries = Array.from(this.recentErrors.entries()).sort((a, b) => a[1] - b[1]);
158
- const excess = this.recentErrors.size - error_constants_1.MAX_TRACKED_ERRORS;
159
- for (let index = 0; index < excess; index += 1) {
160
- const entry = entries[index];
161
- if (entry) {
162
- this.recentErrors.delete(entry[0]);
163
- }
164
- }
165
- }
166
- }
167
- exports.ErrorHandler = ErrorHandler;
168
- //# sourceMappingURL=error.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.handler.js","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { StateManager } from '../managers/state.manager';
2
- import { EventManager } from '../managers/event.manager';
3
- export declare class PageViewHandler extends StateManager {
4
- private readonly eventManager;
5
- private readonly onTrack;
6
- private originalPushState?;
7
- private originalReplaceState?;
8
- private lastPageViewTime;
9
- constructor(eventManager: EventManager, onTrack: () => void);
10
- startTracking(): void;
11
- stopTracking(): void;
12
- private patchHistory;
13
- private readonly trackCurrentPage;
14
- private trackInitialPageView;
15
- private extractPageViewData;
16
- }
17
- //# sourceMappingURL=page-view.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-view.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/page-view.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IAErC,OAAO,CAAC,iBAAiB,CAAC,CAAkC;IAC5D,OAAO,CAAC,oBAAoB,CAAC,CAAqC;IAClE,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI;IAO3D,aAAa,IAAI,IAAI;IAUrB,YAAY,IAAI,IAAI;IAepB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CA+B/B;IAEF,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,mBAAmB;CAoB5B"}