@tracelog/lib 0.11.2 → 0.11.4

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 (539) hide show
  1. package/dist/browser/tracelog.esm.js +308 -251
  2. package/dist/browser/tracelog.esm.js.map +1 -1
  3. package/dist/browser/tracelog.js +2 -2
  4. package/dist/browser/tracelog.js.map +1 -1
  5. package/dist/public-api.cjs +4427 -0
  6. package/dist/public-api.cjs.map +1 -0
  7. package/dist/public-api.d.mts +913 -0
  8. package/dist/public-api.d.ts +913 -0
  9. package/dist/public-api.js +4388 -0
  10. package/dist/public-api.js.map +1 -0
  11. package/package.json +17 -18
  12. package/dist/cjs/api.d.ts +0 -19
  13. package/dist/cjs/api.d.ts.map +0 -1
  14. package/dist/cjs/api.js +0 -183
  15. package/dist/cjs/api.js.map +0 -1
  16. package/dist/cjs/app.constants.d.ts +0 -80
  17. package/dist/cjs/app.constants.d.ts.map +0 -1
  18. package/dist/cjs/app.constants.js +0 -94
  19. package/dist/cjs/app.constants.js.map +0 -1
  20. package/dist/cjs/app.d.ts +0 -43
  21. package/dist/cjs/app.d.ts.map +0 -1
  22. package/dist/cjs/app.js +0 -165
  23. package/dist/cjs/app.js.map +0 -1
  24. package/dist/cjs/constants/config.constants.d.ts +0 -109
  25. package/dist/cjs/constants/config.constants.d.ts.map +0 -1
  26. package/dist/cjs/constants/config.constants.js +0 -216
  27. package/dist/cjs/constants/config.constants.js.map +0 -1
  28. package/dist/cjs/constants/error.constants.d.ts +0 -56
  29. package/dist/cjs/constants/error.constants.d.ts.map +0 -1
  30. package/dist/cjs/constants/error.constants.js +0 -89
  31. package/dist/cjs/constants/error.constants.js.map +0 -1
  32. package/dist/cjs/constants/index.d.ts +0 -5
  33. package/dist/cjs/constants/index.d.ts.map +0 -1
  34. package/dist/cjs/constants/index.js +0 -21
  35. package/dist/cjs/constants/index.js.map +0 -1
  36. package/dist/cjs/constants/performance.constants.d.ts +0 -29
  37. package/dist/cjs/constants/performance.constants.d.ts.map +0 -1
  38. package/dist/cjs/constants/performance.constants.js +0 -44
  39. package/dist/cjs/constants/performance.constants.js.map +0 -1
  40. package/dist/cjs/constants/storage.constants.d.ts +0 -11
  41. package/dist/cjs/constants/storage.constants.d.ts.map +0 -1
  42. package/dist/cjs/constants/storage.constants.js +0 -23
  43. package/dist/cjs/constants/storage.constants.js.map +0 -1
  44. package/dist/cjs/handlers/click.handler.d.ts +0 -36
  45. package/dist/cjs/handlers/click.handler.d.ts.map +0 -1
  46. package/dist/cjs/handlers/click.handler.js +0 -263
  47. package/dist/cjs/handlers/click.handler.js.map +0 -1
  48. package/dist/cjs/handlers/error.handler.d.ts +0 -28
  49. package/dist/cjs/handlers/error.handler.d.ts.map +0 -1
  50. package/dist/cjs/handlers/error.handler.js +0 -168
  51. package/dist/cjs/handlers/error.handler.js.map +0 -1
  52. package/dist/cjs/handlers/page-view.handler.d.ts +0 -17
  53. package/dist/cjs/handlers/page-view.handler.d.ts.map +0 -1
  54. package/dist/cjs/handlers/page-view.handler.js +0 -100
  55. package/dist/cjs/handlers/page-view.handler.js.map +0 -1
  56. package/dist/cjs/handlers/performance.handler.d.ts +0 -23
  57. package/dist/cjs/handlers/performance.handler.d.ts.map +0 -1
  58. package/dist/cjs/handlers/performance.handler.js +0 -274
  59. package/dist/cjs/handlers/performance.handler.js.map +0 -1
  60. package/dist/cjs/handlers/scroll.handler.d.ts +0 -40
  61. package/dist/cjs/handlers/scroll.handler.d.ts.map +0 -1
  62. package/dist/cjs/handlers/scroll.handler.js +0 -327
  63. package/dist/cjs/handlers/scroll.handler.js.map +0 -1
  64. package/dist/cjs/handlers/session.handler.d.ts +0 -16
  65. package/dist/cjs/handlers/session.handler.d.ts.map +0 -1
  66. package/dist/cjs/handlers/session.handler.js +0 -74
  67. package/dist/cjs/handlers/session.handler.js.map +0 -1
  68. package/dist/cjs/handlers/viewport.handler.d.ts +0 -44
  69. package/dist/cjs/handlers/viewport.handler.d.ts.map +0 -1
  70. package/dist/cjs/handlers/viewport.handler.js +0 -286
  71. package/dist/cjs/handlers/viewport.handler.js.map +0 -1
  72. package/dist/cjs/integrations/google-analytics.integration.d.ts +0 -18
  73. package/dist/cjs/integrations/google-analytics.integration.d.ts.map +0 -1
  74. package/dist/cjs/integrations/google-analytics.integration.js +0 -90
  75. package/dist/cjs/integrations/google-analytics.integration.js.map +0 -1
  76. package/dist/cjs/listeners/activity-listener-manager.d.ts +0 -9
  77. package/dist/cjs/listeners/activity-listener-manager.d.ts.map +0 -1
  78. package/dist/cjs/listeners/activity-listener-manager.js +0 -33
  79. package/dist/cjs/listeners/activity-listener-manager.js.map +0 -1
  80. package/dist/cjs/listeners/index.d.ts +0 -7
  81. package/dist/cjs/listeners/index.d.ts.map +0 -1
  82. package/dist/cjs/listeners/index.js +0 -15
  83. package/dist/cjs/listeners/index.js.map +0 -1
  84. package/dist/cjs/listeners/input-listener-managers.d.ts +0 -25
  85. package/dist/cjs/listeners/input-listener-managers.d.ts.map +0 -1
  86. package/dist/cjs/listeners/input-listener-managers.js +0 -50
  87. package/dist/cjs/listeners/input-listener-managers.js.map +0 -1
  88. package/dist/cjs/listeners/listeners.types.d.ts +0 -5
  89. package/dist/cjs/listeners/listeners.types.d.ts.map +0 -1
  90. package/dist/cjs/listeners/listeners.types.js +0 -3
  91. package/dist/cjs/listeners/listeners.types.js.map +0 -1
  92. package/dist/cjs/listeners/touch-listener-manager.d.ts +0 -9
  93. package/dist/cjs/listeners/touch-listener-manager.d.ts.map +0 -1
  94. package/dist/cjs/listeners/touch-listener-manager.js +0 -35
  95. package/dist/cjs/listeners/touch-listener-manager.js.map +0 -1
  96. package/dist/cjs/listeners/unload-listener-manager.d.ts +0 -9
  97. package/dist/cjs/listeners/unload-listener-manager.d.ts.map +0 -1
  98. package/dist/cjs/listeners/unload-listener-manager.js +0 -31
  99. package/dist/cjs/listeners/unload-listener-manager.js.map +0 -1
  100. package/dist/cjs/listeners/visibility-listener-manager.d.ts +0 -10
  101. package/dist/cjs/listeners/visibility-listener-manager.d.ts.map +0 -1
  102. package/dist/cjs/listeners/visibility-listener-manager.js +0 -48
  103. package/dist/cjs/listeners/visibility-listener-manager.js.map +0 -1
  104. package/dist/cjs/managers/event.manager.d.ts +0 -62
  105. package/dist/cjs/managers/event.manager.d.ts.map +0 -1
  106. package/dist/cjs/managers/event.manager.js +0 -508
  107. package/dist/cjs/managers/event.manager.js.map +0 -1
  108. package/dist/cjs/managers/sender.manager.d.ts +0 -32
  109. package/dist/cjs/managers/sender.manager.d.ts.map +0 -1
  110. package/dist/cjs/managers/sender.manager.js +0 -271
  111. package/dist/cjs/managers/sender.manager.js.map +0 -1
  112. package/dist/cjs/managers/session.manager.d.ts +0 -40
  113. package/dist/cjs/managers/session.manager.d.ts.map +0 -1
  114. package/dist/cjs/managers/session.manager.js +0 -282
  115. package/dist/cjs/managers/session.manager.js.map +0 -1
  116. package/dist/cjs/managers/state.manager.d.ts +0 -9
  117. package/dist/cjs/managers/state.manager.d.ts.map +0 -1
  118. package/dist/cjs/managers/state.manager.js +0 -27
  119. package/dist/cjs/managers/state.manager.js.map +0 -1
  120. package/dist/cjs/managers/storage.manager.d.ts +0 -60
  121. package/dist/cjs/managers/storage.manager.d.ts.map +0 -1
  122. package/dist/cjs/managers/storage.manager.js +0 -277
  123. package/dist/cjs/managers/storage.manager.js.map +0 -1
  124. package/dist/cjs/managers/user.manager.d.ts +0 -17
  125. package/dist/cjs/managers/user.manager.d.ts.map +0 -1
  126. package/dist/cjs/managers/user.manager.js +0 -31
  127. package/dist/cjs/managers/user.manager.js.map +0 -1
  128. package/dist/cjs/public-api.d.ts +0 -11
  129. package/dist/cjs/public-api.d.ts.map +0 -1
  130. package/dist/cjs/public-api.js +0 -32
  131. package/dist/cjs/public-api.js.map +0 -1
  132. package/dist/cjs/test-bridge.d.ts +0 -47
  133. package/dist/cjs/test-bridge.d.ts.map +0 -1
  134. package/dist/cjs/test-bridge.js +0 -165
  135. package/dist/cjs/test-bridge.js.map +0 -1
  136. package/dist/cjs/types/common.types.d.ts +0 -6
  137. package/dist/cjs/types/common.types.d.ts.map +0 -1
  138. package/dist/cjs/types/common.types.js +0 -3
  139. package/dist/cjs/types/common.types.js.map +0 -1
  140. package/dist/cjs/types/config.types.d.ts +0 -49
  141. package/dist/cjs/types/config.types.d.ts.map +0 -1
  142. package/dist/cjs/types/config.types.js +0 -9
  143. package/dist/cjs/types/config.types.js.map +0 -1
  144. package/dist/cjs/types/device.types.d.ts +0 -7
  145. package/dist/cjs/types/device.types.d.ts.map +0 -1
  146. package/dist/cjs/types/device.types.js +0 -11
  147. package/dist/cjs/types/device.types.js.map +0 -1
  148. package/dist/cjs/types/emitter.types.d.ts +0 -12
  149. package/dist/cjs/types/emitter.types.d.ts.map +0 -1
  150. package/dist/cjs/types/emitter.types.js +0 -9
  151. package/dist/cjs/types/emitter.types.js.map +0 -1
  152. package/dist/cjs/types/error.types.d.ts +0 -12
  153. package/dist/cjs/types/error.types.d.ts.map +0 -1
  154. package/dist/cjs/types/error.types.js +0 -23
  155. package/dist/cjs/types/error.types.js.map +0 -1
  156. package/dist/cjs/types/event.types.d.ts +0 -235
  157. package/dist/cjs/types/event.types.d.ts.map +0 -1
  158. package/dist/cjs/types/event.types.js +0 -48
  159. package/dist/cjs/types/event.types.js.map +0 -1
  160. package/dist/cjs/types/index.d.ts +0 -17
  161. package/dist/cjs/types/index.d.ts.map +0 -1
  162. package/dist/cjs/types/index.js +0 -33
  163. package/dist/cjs/types/index.js.map +0 -1
  164. package/dist/cjs/types/log.types.d.ts +0 -5
  165. package/dist/cjs/types/log.types.d.ts.map +0 -1
  166. package/dist/cjs/types/log.types.js +0 -3
  167. package/dist/cjs/types/log.types.js.map +0 -1
  168. package/dist/cjs/types/mode.types.d.ts +0 -7
  169. package/dist/cjs/types/mode.types.d.ts.map +0 -1
  170. package/dist/cjs/types/mode.types.js +0 -11
  171. package/dist/cjs/types/mode.types.js.map +0 -1
  172. package/dist/cjs/types/queue.types.d.ts +0 -19
  173. package/dist/cjs/types/queue.types.d.ts.map +0 -1
  174. package/dist/cjs/types/queue.types.js +0 -3
  175. package/dist/cjs/types/queue.types.js.map +0 -1
  176. package/dist/cjs/types/scroll.types.d.ts +0 -16
  177. package/dist/cjs/types/scroll.types.d.ts.map +0 -1
  178. package/dist/cjs/types/scroll.types.js +0 -12
  179. package/dist/cjs/types/scroll.types.js.map +0 -1
  180. package/dist/cjs/types/session.types.d.ts +0 -2
  181. package/dist/cjs/types/session.types.d.ts.map +0 -1
  182. package/dist/cjs/types/session.types.js +0 -3
  183. package/dist/cjs/types/session.types.js.map +0 -1
  184. package/dist/cjs/types/state.types.d.ts +0 -16
  185. package/dist/cjs/types/state.types.d.ts.map +0 -1
  186. package/dist/cjs/types/state.types.js +0 -3
  187. package/dist/cjs/types/state.types.js.map +0 -1
  188. package/dist/cjs/types/test-bridge.types.d.ts +0 -40
  189. package/dist/cjs/types/test-bridge.types.d.ts.map +0 -1
  190. package/dist/cjs/types/test-bridge.types.js +0 -3
  191. package/dist/cjs/types/test-bridge.types.js.map +0 -1
  192. package/dist/cjs/types/validation-error.types.d.ts +0 -44
  193. package/dist/cjs/types/validation-error.types.d.ts.map +0 -1
  194. package/dist/cjs/types/validation-error.types.js +0 -70
  195. package/dist/cjs/types/validation-error.types.js.map +0 -1
  196. package/dist/cjs/types/viewport.types.d.ts +0 -55
  197. package/dist/cjs/types/viewport.types.d.ts.map +0 -1
  198. package/dist/cjs/types/viewport.types.js +0 -3
  199. package/dist/cjs/types/viewport.types.js.map +0 -1
  200. package/dist/cjs/types/window.types.d.ts +0 -16
  201. package/dist/cjs/types/window.types.d.ts.map +0 -1
  202. package/dist/cjs/types/window.types.js +0 -3
  203. package/dist/cjs/types/window.types.js.map +0 -1
  204. package/dist/cjs/utils/browser/device-detector.utils.d.ts +0 -7
  205. package/dist/cjs/utils/browser/device-detector.utils.d.ts.map +0 -1
  206. package/dist/cjs/utils/browser/device-detector.utils.js +0 -50
  207. package/dist/cjs/utils/browser/device-detector.utils.js.map +0 -1
  208. package/dist/cjs/utils/browser/index.d.ts +0 -4
  209. package/dist/cjs/utils/browser/index.d.ts.map +0 -1
  210. package/dist/cjs/utils/browser/index.js +0 -20
  211. package/dist/cjs/utils/browser/index.js.map +0 -1
  212. package/dist/cjs/utils/browser/qa-mode.utils.d.ts +0 -14
  213. package/dist/cjs/utils/browser/qa-mode.utils.d.ts.map +0 -1
  214. package/dist/cjs/utils/browser/qa-mode.utils.js +0 -44
  215. package/dist/cjs/utils/browser/qa-mode.utils.js.map +0 -1
  216. package/dist/cjs/utils/browser/utm-params.utils.d.ts +0 -7
  217. package/dist/cjs/utils/browser/utm-params.utils.d.ts.map +0 -1
  218. package/dist/cjs/utils/browser/utm-params.utils.js +0 -23
  219. package/dist/cjs/utils/browser/utm-params.utils.js.map +0 -1
  220. package/dist/cjs/utils/data/index.d.ts +0 -2
  221. package/dist/cjs/utils/data/index.d.ts.map +0 -1
  222. package/dist/cjs/utils/data/index.js +0 -18
  223. package/dist/cjs/utils/data/index.js.map +0 -1
  224. package/dist/cjs/utils/data/uuid.utils.d.ts +0 -19
  225. package/dist/cjs/utils/data/uuid.utils.d.ts.map +0 -1
  226. package/dist/cjs/utils/data/uuid.utils.js +0 -57
  227. package/dist/cjs/utils/data/uuid.utils.js.map +0 -1
  228. package/dist/cjs/utils/emitter.utils.d.ts +0 -9
  229. package/dist/cjs/utils/emitter.utils.d.ts.map +0 -1
  230. package/dist/cjs/utils/emitter.utils.js +0 -36
  231. package/dist/cjs/utils/emitter.utils.js.map +0 -1
  232. package/dist/cjs/utils/index.d.ts +0 -8
  233. package/dist/cjs/utils/index.d.ts.map +0 -1
  234. package/dist/cjs/utils/index.js +0 -24
  235. package/dist/cjs/utils/index.js.map +0 -1
  236. package/dist/cjs/utils/logging.utils.d.ts +0 -22
  237. package/dist/cjs/utils/logging.utils.d.ts.map +0 -1
  238. package/dist/cjs/utils/logging.utils.js +0 -87
  239. package/dist/cjs/utils/logging.utils.js.map +0 -1
  240. package/dist/cjs/utils/network/index.d.ts +0 -2
  241. package/dist/cjs/utils/network/index.d.ts.map +0 -1
  242. package/dist/cjs/utils/network/index.js +0 -18
  243. package/dist/cjs/utils/network/index.js.map +0 -1
  244. package/dist/cjs/utils/network/url.utils.d.ts +0 -16
  245. package/dist/cjs/utils/network/url.utils.d.ts.map +0 -1
  246. package/dist/cjs/utils/network/url.utils.js +0 -92
  247. package/dist/cjs/utils/network/url.utils.js.map +0 -1
  248. package/dist/cjs/utils/security/index.d.ts +0 -2
  249. package/dist/cjs/utils/security/index.d.ts.map +0 -1
  250. package/dist/cjs/utils/security/index.js +0 -18
  251. package/dist/cjs/utils/security/index.js.map +0 -1
  252. package/dist/cjs/utils/security/sanitize.utils.d.ts +0 -14
  253. package/dist/cjs/utils/security/sanitize.utils.d.ts.map +0 -1
  254. package/dist/cjs/utils/security/sanitize.utils.js +0 -123
  255. package/dist/cjs/utils/security/sanitize.utils.js.map +0 -1
  256. package/dist/cjs/utils/validations/config-validations.utils.d.ts +0 -19
  257. package/dist/cjs/utils/validations/config-validations.utils.d.ts.map +0 -1
  258. package/dist/cjs/utils/validations/config-validations.utils.js +0 -236
  259. package/dist/cjs/utils/validations/config-validations.utils.js.map +0 -1
  260. package/dist/cjs/utils/validations/event-validations.utils.d.ts +0 -13
  261. package/dist/cjs/utils/validations/event-validations.utils.d.ts.map +0 -1
  262. package/dist/cjs/utils/validations/event-validations.utils.js +0 -37
  263. package/dist/cjs/utils/validations/event-validations.utils.js.map +0 -1
  264. package/dist/cjs/utils/validations/index.d.ts +0 -5
  265. package/dist/cjs/utils/validations/index.d.ts.map +0 -1
  266. package/dist/cjs/utils/validations/index.js +0 -21
  267. package/dist/cjs/utils/validations/index.js.map +0 -1
  268. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts +0 -23
  269. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  270. package/dist/cjs/utils/validations/metadata-validations.utils.js +0 -153
  271. package/dist/cjs/utils/validations/metadata-validations.utils.js.map +0 -1
  272. package/dist/cjs/utils/validations/type-guards.utils.d.ts +0 -9
  273. package/dist/cjs/utils/validations/type-guards.utils.d.ts.map +0 -1
  274. package/dist/cjs/utils/validations/type-guards.utils.js +0 -90
  275. package/dist/cjs/utils/validations/type-guards.utils.js.map +0 -1
  276. package/dist/esm/api.d.ts +0 -19
  277. package/dist/esm/api.d.ts.map +0 -1
  278. package/dist/esm/api.js +0 -173
  279. package/dist/esm/api.js.map +0 -1
  280. package/dist/esm/app.constants.d.ts +0 -80
  281. package/dist/esm/app.constants.d.ts.map +0 -1
  282. package/dist/esm/app.constants.js +0 -82
  283. package/dist/esm/app.constants.js.map +0 -1
  284. package/dist/esm/app.d.ts +0 -43
  285. package/dist/esm/app.d.ts.map +0 -1
  286. package/dist/esm/app.js +0 -161
  287. package/dist/esm/app.js.map +0 -1
  288. package/dist/esm/constants/config.constants.d.ts +0 -109
  289. package/dist/esm/constants/config.constants.d.ts.map +0 -1
  290. package/dist/esm/constants/config.constants.js +0 -212
  291. package/dist/esm/constants/config.constants.js.map +0 -1
  292. package/dist/esm/constants/error.constants.d.ts +0 -56
  293. package/dist/esm/constants/error.constants.d.ts.map +0 -1
  294. package/dist/esm/constants/error.constants.js +0 -86
  295. package/dist/esm/constants/error.constants.js.map +0 -1
  296. package/dist/esm/constants/index.d.ts +0 -5
  297. package/dist/esm/constants/index.d.ts.map +0 -1
  298. package/dist/esm/constants/index.js +0 -5
  299. package/dist/esm/constants/index.js.map +0 -1
  300. package/dist/esm/constants/performance.constants.d.ts +0 -29
  301. package/dist/esm/constants/performance.constants.d.ts.map +0 -1
  302. package/dist/esm/constants/performance.constants.js +0 -41
  303. package/dist/esm/constants/performance.constants.js.map +0 -1
  304. package/dist/esm/constants/storage.constants.d.ts +0 -11
  305. package/dist/esm/constants/storage.constants.d.ts.map +0 -1
  306. package/dist/esm/constants/storage.constants.js +0 -13
  307. package/dist/esm/constants/storage.constants.js.map +0 -1
  308. package/dist/esm/handlers/click.handler.d.ts +0 -36
  309. package/dist/esm/handlers/click.handler.d.ts.map +0 -1
  310. package/dist/esm/handlers/click.handler.js +0 -259
  311. package/dist/esm/handlers/click.handler.js.map +0 -1
  312. package/dist/esm/handlers/error.handler.d.ts +0 -28
  313. package/dist/esm/handlers/error.handler.d.ts.map +0 -1
  314. package/dist/esm/handlers/error.handler.js +0 -164
  315. package/dist/esm/handlers/error.handler.js.map +0 -1
  316. package/dist/esm/handlers/page-view.handler.d.ts +0 -17
  317. package/dist/esm/handlers/page-view.handler.d.ts.map +0 -1
  318. package/dist/esm/handlers/page-view.handler.js +0 -96
  319. package/dist/esm/handlers/page-view.handler.js.map +0 -1
  320. package/dist/esm/handlers/performance.handler.d.ts +0 -23
  321. package/dist/esm/handlers/performance.handler.d.ts.map +0 -1
  322. package/dist/esm/handlers/performance.handler.js +0 -237
  323. package/dist/esm/handlers/performance.handler.js.map +0 -1
  324. package/dist/esm/handlers/scroll.handler.d.ts +0 -40
  325. package/dist/esm/handlers/scroll.handler.d.ts.map +0 -1
  326. package/dist/esm/handlers/scroll.handler.js +0 -323
  327. package/dist/esm/handlers/scroll.handler.js.map +0 -1
  328. package/dist/esm/handlers/session.handler.d.ts +0 -16
  329. package/dist/esm/handlers/session.handler.d.ts.map +0 -1
  330. package/dist/esm/handlers/session.handler.js +0 -70
  331. package/dist/esm/handlers/session.handler.js.map +0 -1
  332. package/dist/esm/handlers/viewport.handler.d.ts +0 -44
  333. package/dist/esm/handlers/viewport.handler.d.ts.map +0 -1
  334. package/dist/esm/handlers/viewport.handler.js +0 -282
  335. package/dist/esm/handlers/viewport.handler.js.map +0 -1
  336. package/dist/esm/integrations/google-analytics.integration.d.ts +0 -18
  337. package/dist/esm/integrations/google-analytics.integration.d.ts.map +0 -1
  338. package/dist/esm/integrations/google-analytics.integration.js +0 -86
  339. package/dist/esm/integrations/google-analytics.integration.js.map +0 -1
  340. package/dist/esm/listeners/activity-listener-manager.d.ts +0 -9
  341. package/dist/esm/listeners/activity-listener-manager.d.ts.map +0 -1
  342. package/dist/esm/listeners/activity-listener-manager.js +0 -29
  343. package/dist/esm/listeners/activity-listener-manager.js.map +0 -1
  344. package/dist/esm/listeners/index.d.ts +0 -7
  345. package/dist/esm/listeners/index.d.ts.map +0 -1
  346. package/dist/esm/listeners/index.js +0 -6
  347. package/dist/esm/listeners/index.js.map +0 -1
  348. package/dist/esm/listeners/input-listener-managers.d.ts +0 -25
  349. package/dist/esm/listeners/input-listener-managers.d.ts.map +0 -1
  350. package/dist/esm/listeners/input-listener-managers.js +0 -45
  351. package/dist/esm/listeners/input-listener-managers.js.map +0 -1
  352. package/dist/esm/listeners/listeners.types.d.ts +0 -5
  353. package/dist/esm/listeners/listeners.types.d.ts.map +0 -1
  354. package/dist/esm/listeners/listeners.types.js +0 -2
  355. package/dist/esm/listeners/listeners.types.js.map +0 -1
  356. package/dist/esm/listeners/touch-listener-manager.d.ts +0 -9
  357. package/dist/esm/listeners/touch-listener-manager.d.ts.map +0 -1
  358. package/dist/esm/listeners/touch-listener-manager.js +0 -31
  359. package/dist/esm/listeners/touch-listener-manager.js.map +0 -1
  360. package/dist/esm/listeners/unload-listener-manager.d.ts +0 -9
  361. package/dist/esm/listeners/unload-listener-manager.d.ts.map +0 -1
  362. package/dist/esm/listeners/unload-listener-manager.js +0 -27
  363. package/dist/esm/listeners/unload-listener-manager.js.map +0 -1
  364. package/dist/esm/listeners/visibility-listener-manager.d.ts +0 -10
  365. package/dist/esm/listeners/visibility-listener-manager.d.ts.map +0 -1
  366. package/dist/esm/listeners/visibility-listener-manager.js +0 -44
  367. package/dist/esm/listeners/visibility-listener-manager.js.map +0 -1
  368. package/dist/esm/managers/event.manager.d.ts +0 -62
  369. package/dist/esm/managers/event.manager.d.ts.map +0 -1
  370. package/dist/esm/managers/event.manager.js +0 -504
  371. package/dist/esm/managers/event.manager.js.map +0 -1
  372. package/dist/esm/managers/sender.manager.d.ts +0 -32
  373. package/dist/esm/managers/sender.manager.d.ts.map +0 -1
  374. package/dist/esm/managers/sender.manager.js +0 -267
  375. package/dist/esm/managers/sender.manager.js.map +0 -1
  376. package/dist/esm/managers/session.manager.d.ts +0 -40
  377. package/dist/esm/managers/session.manager.d.ts.map +0 -1
  378. package/dist/esm/managers/session.manager.js +0 -278
  379. package/dist/esm/managers/session.manager.js.map +0 -1
  380. package/dist/esm/managers/state.manager.d.ts +0 -9
  381. package/dist/esm/managers/state.manager.d.ts.map +0 -1
  382. package/dist/esm/managers/state.manager.js +0 -21
  383. package/dist/esm/managers/state.manager.js.map +0 -1
  384. package/dist/esm/managers/storage.manager.d.ts +0 -60
  385. package/dist/esm/managers/storage.manager.d.ts.map +0 -1
  386. package/dist/esm/managers/storage.manager.js +0 -273
  387. package/dist/esm/managers/storage.manager.js.map +0 -1
  388. package/dist/esm/managers/user.manager.d.ts +0 -17
  389. package/dist/esm/managers/user.manager.d.ts.map +0 -1
  390. package/dist/esm/managers/user.manager.js +0 -27
  391. package/dist/esm/managers/user.manager.js.map +0 -1
  392. package/dist/esm/public-api.d.ts +0 -11
  393. package/dist/esm/public-api.d.ts.map +0 -1
  394. package/dist/esm/public-api.js +0 -15
  395. package/dist/esm/public-api.js.map +0 -1
  396. package/dist/esm/test-bridge.d.ts +0 -47
  397. package/dist/esm/test-bridge.d.ts.map +0 -1
  398. package/dist/esm/test-bridge.js +0 -161
  399. package/dist/esm/test-bridge.js.map +0 -1
  400. package/dist/esm/types/common.types.d.ts +0 -6
  401. package/dist/esm/types/common.types.d.ts.map +0 -1
  402. package/dist/esm/types/common.types.js +0 -2
  403. package/dist/esm/types/common.types.js.map +0 -1
  404. package/dist/esm/types/config.types.d.ts +0 -49
  405. package/dist/esm/types/config.types.d.ts.map +0 -1
  406. package/dist/esm/types/config.types.js +0 -6
  407. package/dist/esm/types/config.types.js.map +0 -1
  408. package/dist/esm/types/device.types.d.ts +0 -7
  409. package/dist/esm/types/device.types.d.ts.map +0 -1
  410. package/dist/esm/types/device.types.js +0 -8
  411. package/dist/esm/types/device.types.js.map +0 -1
  412. package/dist/esm/types/emitter.types.d.ts +0 -12
  413. package/dist/esm/types/emitter.types.d.ts.map +0 -1
  414. package/dist/esm/types/emitter.types.js +0 -6
  415. package/dist/esm/types/emitter.types.js.map +0 -1
  416. package/dist/esm/types/error.types.d.ts +0 -12
  417. package/dist/esm/types/error.types.d.ts.map +0 -1
  418. package/dist/esm/types/error.types.js +0 -19
  419. package/dist/esm/types/error.types.js.map +0 -1
  420. package/dist/esm/types/event.types.d.ts +0 -235
  421. package/dist/esm/types/event.types.d.ts.map +0 -1
  422. package/dist/esm/types/event.types.js +0 -45
  423. package/dist/esm/types/event.types.js.map +0 -1
  424. package/dist/esm/types/index.d.ts +0 -17
  425. package/dist/esm/types/index.d.ts.map +0 -1
  426. package/dist/esm/types/index.js +0 -17
  427. package/dist/esm/types/index.js.map +0 -1
  428. package/dist/esm/types/log.types.d.ts +0 -5
  429. package/dist/esm/types/log.types.d.ts.map +0 -1
  430. package/dist/esm/types/log.types.js +0 -2
  431. package/dist/esm/types/log.types.js.map +0 -1
  432. package/dist/esm/types/mode.types.d.ts +0 -7
  433. package/dist/esm/types/mode.types.d.ts.map +0 -1
  434. package/dist/esm/types/mode.types.js +0 -8
  435. package/dist/esm/types/mode.types.js.map +0 -1
  436. package/dist/esm/types/queue.types.d.ts +0 -19
  437. package/dist/esm/types/queue.types.d.ts.map +0 -1
  438. package/dist/esm/types/queue.types.js +0 -2
  439. package/dist/esm/types/queue.types.js.map +0 -1
  440. package/dist/esm/types/scroll.types.d.ts +0 -16
  441. package/dist/esm/types/scroll.types.d.ts.map +0 -1
  442. package/dist/esm/types/scroll.types.js +0 -8
  443. package/dist/esm/types/scroll.types.js.map +0 -1
  444. package/dist/esm/types/session.types.d.ts +0 -2
  445. package/dist/esm/types/session.types.d.ts.map +0 -1
  446. package/dist/esm/types/session.types.js +0 -2
  447. package/dist/esm/types/session.types.js.map +0 -1
  448. package/dist/esm/types/state.types.d.ts +0 -16
  449. package/dist/esm/types/state.types.d.ts.map +0 -1
  450. package/dist/esm/types/state.types.js +0 -2
  451. package/dist/esm/types/state.types.js.map +0 -1
  452. package/dist/esm/types/test-bridge.types.d.ts +0 -40
  453. package/dist/esm/types/test-bridge.types.d.ts.map +0 -1
  454. package/dist/esm/types/test-bridge.types.js +0 -2
  455. package/dist/esm/types/test-bridge.types.js.map +0 -1
  456. package/dist/esm/types/validation-error.types.d.ts +0 -44
  457. package/dist/esm/types/validation-error.types.d.ts.map +0 -1
  458. package/dist/esm/types/validation-error.types.js +0 -61
  459. package/dist/esm/types/validation-error.types.js.map +0 -1
  460. package/dist/esm/types/viewport.types.d.ts +0 -55
  461. package/dist/esm/types/viewport.types.d.ts.map +0 -1
  462. package/dist/esm/types/viewport.types.js +0 -2
  463. package/dist/esm/types/viewport.types.js.map +0 -1
  464. package/dist/esm/types/window.types.d.ts +0 -16
  465. package/dist/esm/types/window.types.d.ts.map +0 -1
  466. package/dist/esm/types/window.types.js +0 -2
  467. package/dist/esm/types/window.types.js.map +0 -1
  468. package/dist/esm/utils/browser/device-detector.utils.d.ts +0 -7
  469. package/dist/esm/utils/browser/device-detector.utils.d.ts.map +0 -1
  470. package/dist/esm/utils/browser/device-detector.utils.js +0 -46
  471. package/dist/esm/utils/browser/device-detector.utils.js.map +0 -1
  472. package/dist/esm/utils/browser/index.d.ts +0 -4
  473. package/dist/esm/utils/browser/index.d.ts.map +0 -1
  474. package/dist/esm/utils/browser/index.js +0 -4
  475. package/dist/esm/utils/browser/index.js.map +0 -1
  476. package/dist/esm/utils/browser/qa-mode.utils.d.ts +0 -14
  477. package/dist/esm/utils/browser/qa-mode.utils.d.ts.map +0 -1
  478. package/dist/esm/utils/browser/qa-mode.utils.js +0 -40
  479. package/dist/esm/utils/browser/qa-mode.utils.js.map +0 -1
  480. package/dist/esm/utils/browser/utm-params.utils.d.ts +0 -7
  481. package/dist/esm/utils/browser/utm-params.utils.d.ts.map +0 -1
  482. package/dist/esm/utils/browser/utm-params.utils.js +0 -19
  483. package/dist/esm/utils/browser/utm-params.utils.js.map +0 -1
  484. package/dist/esm/utils/data/index.d.ts +0 -2
  485. package/dist/esm/utils/data/index.d.ts.map +0 -1
  486. package/dist/esm/utils/data/index.js +0 -2
  487. package/dist/esm/utils/data/index.js.map +0 -1
  488. package/dist/esm/utils/data/uuid.utils.d.ts +0 -19
  489. package/dist/esm/utils/data/uuid.utils.d.ts.map +0 -1
  490. package/dist/esm/utils/data/uuid.utils.js +0 -52
  491. package/dist/esm/utils/data/uuid.utils.js.map +0 -1
  492. package/dist/esm/utils/emitter.utils.d.ts +0 -9
  493. package/dist/esm/utils/emitter.utils.d.ts.map +0 -1
  494. package/dist/esm/utils/emitter.utils.js +0 -32
  495. package/dist/esm/utils/emitter.utils.js.map +0 -1
  496. package/dist/esm/utils/index.d.ts +0 -8
  497. package/dist/esm/utils/index.d.ts.map +0 -1
  498. package/dist/esm/utils/index.js +0 -8
  499. package/dist/esm/utils/index.js.map +0 -1
  500. package/dist/esm/utils/logging.utils.d.ts +0 -22
  501. package/dist/esm/utils/logging.utils.d.ts.map +0 -1
  502. package/dist/esm/utils/logging.utils.js +0 -82
  503. package/dist/esm/utils/logging.utils.js.map +0 -1
  504. package/dist/esm/utils/network/index.d.ts +0 -2
  505. package/dist/esm/utils/network/index.d.ts.map +0 -1
  506. package/dist/esm/utils/network/index.js +0 -2
  507. package/dist/esm/utils/network/index.js.map +0 -1
  508. package/dist/esm/utils/network/url.utils.d.ts +0 -16
  509. package/dist/esm/utils/network/url.utils.d.ts.map +0 -1
  510. package/dist/esm/utils/network/url.utils.js +0 -87
  511. package/dist/esm/utils/network/url.utils.js.map +0 -1
  512. package/dist/esm/utils/security/index.d.ts +0 -2
  513. package/dist/esm/utils/security/index.d.ts.map +0 -1
  514. package/dist/esm/utils/security/index.js +0 -2
  515. package/dist/esm/utils/security/index.js.map +0 -1
  516. package/dist/esm/utils/security/sanitize.utils.d.ts +0 -14
  517. package/dist/esm/utils/security/sanitize.utils.d.ts.map +0 -1
  518. package/dist/esm/utils/security/sanitize.utils.js +0 -118
  519. package/dist/esm/utils/security/sanitize.utils.js.map +0 -1
  520. package/dist/esm/utils/validations/config-validations.utils.d.ts +0 -19
  521. package/dist/esm/utils/validations/config-validations.utils.d.ts.map +0 -1
  522. package/dist/esm/utils/validations/config-validations.utils.js +0 -231
  523. package/dist/esm/utils/validations/config-validations.utils.js.map +0 -1
  524. package/dist/esm/utils/validations/event-validations.utils.d.ts +0 -13
  525. package/dist/esm/utils/validations/event-validations.utils.d.ts.map +0 -1
  526. package/dist/esm/utils/validations/event-validations.utils.js +0 -33
  527. package/dist/esm/utils/validations/event-validations.utils.js.map +0 -1
  528. package/dist/esm/utils/validations/index.d.ts +0 -5
  529. package/dist/esm/utils/validations/index.d.ts.map +0 -1
  530. package/dist/esm/utils/validations/index.js +0 -5
  531. package/dist/esm/utils/validations/index.js.map +0 -1
  532. package/dist/esm/utils/validations/metadata-validations.utils.d.ts +0 -23
  533. package/dist/esm/utils/validations/metadata-validations.utils.d.ts.map +0 -1
  534. package/dist/esm/utils/validations/metadata-validations.utils.js +0 -148
  535. package/dist/esm/utils/validations/metadata-validations.utils.js.map +0 -1
  536. package/dist/esm/utils/validations/type-guards.utils.d.ts +0 -9
  537. package/dist/esm/utils/validations/type-guards.utils.d.ts.map +0 -1
  538. package/dist/esm/utils/validations/type-guards.utils.js +0 -86
  539. package/dist/esm/utils/validations/type-guards.utils.js.map +0 -1
@@ -1,267 +0,0 @@
1
- import { QUEUE_KEY, EVENT_EXPIRY_HOURS, REQUEST_TIMEOUT_MS, PERMANENT_ERROR_LOG_THROTTLE_MS, MAX_BEACON_PAYLOAD_SIZE, } from '../constants';
2
- import { SpecialApiUrl, PermanentError } from '../types';
3
- import { log } from '../utils';
4
- import { StateManager } from './state.manager';
5
- export class SenderManager extends StateManager {
6
- constructor(storeManager) {
7
- super();
8
- this.lastPermanentErrorLog = null;
9
- this.storeManager = storeManager;
10
- }
11
- getQueueStorageKey() {
12
- const userId = this.get('userId') || 'anonymous';
13
- return QUEUE_KEY(userId);
14
- }
15
- sendEventsQueueSync(body) {
16
- if (this.shouldSkipSend()) {
17
- return true;
18
- }
19
- const config = this.get('config');
20
- if (config?.integrations?.custom?.collectApiUrl === SpecialApiUrl.Fail) {
21
- log('warn', 'Fail mode: simulating network failure (sync)', {
22
- data: { events: body.events.length },
23
- });
24
- return false;
25
- }
26
- return this.sendQueueSyncInternal(body);
27
- }
28
- async sendEventsQueue(body, callbacks) {
29
- try {
30
- const success = await this.send(body);
31
- if (success) {
32
- this.clearPersistedEvents();
33
- callbacks?.onSuccess?.(body.events.length, body.events, body);
34
- }
35
- else {
36
- this.persistEvents(body);
37
- callbacks?.onFailure?.();
38
- }
39
- return success;
40
- }
41
- catch (error) {
42
- if (error instanceof PermanentError) {
43
- this.logPermanentError('Permanent error, not retrying', error);
44
- this.clearPersistedEvents();
45
- callbacks?.onFailure?.();
46
- return false;
47
- }
48
- this.persistEvents(body);
49
- callbacks?.onFailure?.();
50
- return false;
51
- }
52
- }
53
- async recoverPersistedEvents(callbacks) {
54
- try {
55
- const persistedData = this.getPersistedData();
56
- if (!persistedData || !this.isDataRecent(persistedData) || persistedData.events.length === 0) {
57
- this.clearPersistedEvents();
58
- return;
59
- }
60
- const body = this.createRecoveryBody(persistedData);
61
- const success = await this.send(body);
62
- if (success) {
63
- this.clearPersistedEvents();
64
- callbacks?.onSuccess?.(persistedData.events.length, persistedData.events, body);
65
- }
66
- else {
67
- callbacks?.onFailure?.();
68
- }
69
- }
70
- catch (error) {
71
- if (error instanceof PermanentError) {
72
- this.logPermanentError('Permanent error during recovery, clearing persisted events', error);
73
- this.clearPersistedEvents();
74
- callbacks?.onFailure?.();
75
- return;
76
- }
77
- log('error', 'Failed to recover persisted events', { error });
78
- }
79
- }
80
- stop() { }
81
- async send(body) {
82
- if (this.shouldSkipSend()) {
83
- return this.simulateSuccessfulSend();
84
- }
85
- const config = this.get('config');
86
- if (config?.integrations?.custom?.collectApiUrl === SpecialApiUrl.Fail) {
87
- log('warn', 'Fail mode: simulating network failure', {
88
- data: { events: body.events.length },
89
- });
90
- return false;
91
- }
92
- const { url, payload } = this.prepareRequest(body);
93
- try {
94
- const response = await this.sendWithTimeout(url, payload);
95
- return response.ok;
96
- }
97
- catch (error) {
98
- if (error instanceof PermanentError) {
99
- throw error;
100
- }
101
- log('error', 'Send request failed', {
102
- error,
103
- data: {
104
- events: body.events.length,
105
- url: url.replace(/\/\/[^/]+/, '//[DOMAIN]'),
106
- },
107
- });
108
- return false;
109
- }
110
- }
111
- async sendWithTimeout(url, payload) {
112
- const controller = new AbortController();
113
- const timeoutId = setTimeout(() => {
114
- controller.abort();
115
- }, REQUEST_TIMEOUT_MS);
116
- try {
117
- const response = await fetch(url, {
118
- method: 'POST',
119
- body: payload,
120
- keepalive: true,
121
- credentials: 'include',
122
- signal: controller.signal,
123
- headers: {
124
- 'Content-Type': 'application/json',
125
- },
126
- });
127
- if (!response.ok) {
128
- const isPermanentError = response.status >= 400 && response.status < 500;
129
- if (isPermanentError) {
130
- throw new PermanentError(`HTTP ${response.status}: ${response.statusText}`, response.status);
131
- }
132
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
133
- }
134
- return response;
135
- }
136
- finally {
137
- clearTimeout(timeoutId);
138
- }
139
- }
140
- sendQueueSyncInternal(body) {
141
- const { url, payload } = this.prepareRequest(body);
142
- // Check payload size against 64KB browser limit (Phase 3)
143
- if (payload.length > MAX_BEACON_PAYLOAD_SIZE) {
144
- log('warn', 'Payload exceeds sendBeacon limit, persisting for recovery', {
145
- data: {
146
- size: payload.length,
147
- limit: MAX_BEACON_PAYLOAD_SIZE,
148
- events: body.events.length,
149
- },
150
- });
151
- this.persistEvents(body);
152
- return false;
153
- }
154
- const blob = new Blob([payload], { type: 'application/json' });
155
- if (!this.isSendBeaconAvailable()) {
156
- log('warn', 'sendBeacon not available, persisting events for recovery');
157
- this.persistEvents(body);
158
- return false;
159
- }
160
- // sendBeacon only returns true/false without HTTP status codes
161
- // true: browser accepted the request for sending
162
- // false: request rejected (queue full, size limits, etc.)
163
- const accepted = navigator.sendBeacon(url, blob);
164
- if (!accepted) {
165
- log('warn', 'sendBeacon rejected request, persisting events for recovery');
166
- this.persistEvents(body);
167
- }
168
- return accepted;
169
- }
170
- prepareRequest(body) {
171
- // Enrich payload with metadata for sendBeacon() fallback
172
- // sendBeacon() doesn't send custom headers, so we include referer in payload
173
- const enrichedBody = {
174
- ...body,
175
- _metadata: {
176
- referer: typeof window !== 'undefined' ? window.location.href : undefined,
177
- timestamp: Date.now(),
178
- },
179
- };
180
- return {
181
- url: this.get('collectApiUrl'),
182
- payload: JSON.stringify(enrichedBody),
183
- };
184
- }
185
- getPersistedData() {
186
- try {
187
- const storageKey = this.getQueueStorageKey();
188
- const persistedDataString = this.storeManager.getItem(storageKey);
189
- if (persistedDataString) {
190
- return JSON.parse(persistedDataString);
191
- }
192
- }
193
- catch (error) {
194
- log('warn', 'Failed to parse persisted data', { error });
195
- this.clearPersistedEvents();
196
- }
197
- return null;
198
- }
199
- isDataRecent(data) {
200
- if (!data.timestamp || typeof data.timestamp !== 'number') {
201
- return false;
202
- }
203
- const ageInHours = (Date.now() - data.timestamp) / (1000 * 60 * 60);
204
- return ageInHours < EVENT_EXPIRY_HOURS;
205
- }
206
- createRecoveryBody(data) {
207
- return {
208
- user_id: data.userId,
209
- session_id: data.sessionId,
210
- device: data.device,
211
- events: data.events,
212
- ...(data.global_metadata && { global_metadata: data.global_metadata }),
213
- };
214
- }
215
- persistEvents(body) {
216
- try {
217
- const persistedData = {
218
- userId: body.user_id,
219
- sessionId: body.session_id,
220
- device: body.device,
221
- events: body.events,
222
- timestamp: Date.now(),
223
- ...(body.global_metadata && { global_metadata: body.global_metadata }),
224
- };
225
- const storageKey = this.getQueueStorageKey();
226
- this.storeManager.setItem(storageKey, JSON.stringify(persistedData));
227
- return !!this.storeManager.getItem(storageKey);
228
- }
229
- catch (error) {
230
- log('warn', 'Failed to persist events', { error });
231
- return false;
232
- }
233
- }
234
- clearPersistedEvents() {
235
- try {
236
- const key = this.getQueueStorageKey();
237
- this.storeManager.removeItem(key);
238
- }
239
- catch (error) {
240
- log('warn', 'Failed to clear persisted events', { error });
241
- }
242
- }
243
- shouldSkipSend() {
244
- return !this.get('collectApiUrl');
245
- }
246
- async simulateSuccessfulSend() {
247
- const delay = Math.random() * 400 + 100;
248
- await new Promise((resolve) => setTimeout(resolve, delay));
249
- return true;
250
- }
251
- isSendBeaconAvailable() {
252
- return typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function';
253
- }
254
- logPermanentError(context, error) {
255
- const now = Date.now();
256
- const shouldLog = !this.lastPermanentErrorLog ||
257
- this.lastPermanentErrorLog.statusCode !== error.statusCode ||
258
- now - this.lastPermanentErrorLog.timestamp >= PERMANENT_ERROR_LOG_THROTTLE_MS;
259
- if (shouldLog) {
260
- log('error', context, {
261
- data: { status: error.statusCode, message: error.message },
262
- });
263
- this.lastPermanentErrorLog = { statusCode: error.statusCode, timestamp: now };
264
- }
265
- }
266
- }
267
- //# sourceMappingURL=sender.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sender.manager.js","sourceRoot":"","sources":["../../../src/managers/sender.manager.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { StateManager } from './state.manager';
2
- import { StorageManager } from './storage.manager';
3
- import { EventManager } from './event.manager';
4
- export declare class SessionManager extends StateManager {
5
- private readonly storageManager;
6
- private readonly eventManager;
7
- private readonly projectId;
8
- private sessionTimeoutId;
9
- private broadcastChannel;
10
- private activityHandler;
11
- private visibilityChangeHandler;
12
- private beforeUnloadHandler;
13
- private isTracking;
14
- constructor(storageManager: StorageManager, eventManager: EventManager, projectId: string);
15
- private initCrossTabSync;
16
- private shareSession;
17
- private broadcastSessionEnd;
18
- private cleanupCrossTabSync;
19
- private recoverSession;
20
- private persistSession;
21
- private clearStoredSession;
22
- private loadStoredSession;
23
- private saveStoredSession;
24
- private getSessionStorageKey;
25
- private getProjectId;
26
- startTracking(): void;
27
- private generateSessionId;
28
- private setupSessionTimeout;
29
- private resetSessionTimeout;
30
- private clearSessionTimeout;
31
- private setupActivityListeners;
32
- private cleanupActivityListeners;
33
- private setupLifecycleListeners;
34
- private cleanupLifecycleListeners;
35
- private endSession;
36
- private resetSessionState;
37
- stopTracking(): void;
38
- destroy(): void;
39
- }
40
- //# sourceMappingURL=session.manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.manager.d.ts","sourceRoot":"","sources":["../../../src/managers/session.manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,UAAU,CAAS;gBAEf,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM;IAOzF,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,YAAY;IAIpB,aAAa,IAAI,IAAI;IAuCrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,iBAAiB;IAezB,YAAY,IAAI,IAAI;IAIpB,OAAO,IAAI,IAAI;CAQhB"}
@@ -1,278 +0,0 @@
1
- import { BROADCAST_CHANNEL_NAME, DEFAULT_SESSION_TIMEOUT, SESSION_STORAGE_KEY } from '../constants';
2
- import { EventType } from '../types';
3
- import { log } from '../utils';
4
- import { StateManager } from './state.manager';
5
- export class SessionManager extends StateManager {
6
- constructor(storageManager, eventManager, projectId) {
7
- super();
8
- this.sessionTimeoutId = null;
9
- this.broadcastChannel = null;
10
- this.activityHandler = null;
11
- this.visibilityChangeHandler = null;
12
- this.beforeUnloadHandler = null;
13
- this.isTracking = false;
14
- this.storageManager = storageManager;
15
- this.eventManager = eventManager;
16
- this.projectId = projectId;
17
- }
18
- initCrossTabSync() {
19
- if (typeof BroadcastChannel === 'undefined') {
20
- log('warn', 'BroadcastChannel not supported');
21
- return;
22
- }
23
- const projectId = this.getProjectId();
24
- this.broadcastChannel = new BroadcastChannel(BROADCAST_CHANNEL_NAME(projectId));
25
- this.broadcastChannel.onmessage = (event) => {
26
- const { action, sessionId, timestamp, projectId: messageProjectId } = event.data ?? {};
27
- if (messageProjectId !== projectId) {
28
- return;
29
- }
30
- if (action === 'session_end') {
31
- this.resetSessionState();
32
- return;
33
- }
34
- if (sessionId && typeof timestamp === 'number' && timestamp > Date.now() - 5000) {
35
- this.set('sessionId', sessionId);
36
- this.set('hasStartSession', true);
37
- this.persistSession(sessionId, timestamp);
38
- if (this.isTracking) {
39
- this.setupSessionTimeout();
40
- }
41
- }
42
- };
43
- }
44
- shareSession(sessionId) {
45
- if (this.broadcastChannel && typeof this.broadcastChannel.postMessage === 'function') {
46
- this.broadcastChannel.postMessage({
47
- action: 'session_start',
48
- projectId: this.getProjectId(),
49
- sessionId,
50
- timestamp: Date.now(),
51
- });
52
- }
53
- }
54
- broadcastSessionEnd(sessionId, reason) {
55
- if (!sessionId) {
56
- return;
57
- }
58
- if (this.broadcastChannel && typeof this.broadcastChannel.postMessage === 'function') {
59
- try {
60
- this.broadcastChannel.postMessage({
61
- action: 'session_end',
62
- projectId: this.getProjectId(),
63
- sessionId,
64
- reason,
65
- timestamp: Date.now(),
66
- });
67
- }
68
- catch (error) {
69
- log('warn', 'Failed to broadcast session end', { error, data: { sessionId, reason } });
70
- }
71
- }
72
- }
73
- cleanupCrossTabSync() {
74
- if (this.broadcastChannel) {
75
- if (typeof this.broadcastChannel.close === 'function') {
76
- this.broadcastChannel.close();
77
- }
78
- this.broadcastChannel = null;
79
- }
80
- }
81
- recoverSession() {
82
- const storedSession = this.loadStoredSession();
83
- if (!storedSession) {
84
- return null;
85
- }
86
- const sessionTimeout = this.get('config')?.sessionTimeout ?? DEFAULT_SESSION_TIMEOUT;
87
- if (Date.now() - storedSession.lastActivity > sessionTimeout) {
88
- this.clearStoredSession();
89
- return null;
90
- }
91
- return storedSession.id;
92
- }
93
- persistSession(sessionId, lastActivity = Date.now()) {
94
- this.saveStoredSession({
95
- id: sessionId,
96
- lastActivity,
97
- });
98
- }
99
- clearStoredSession() {
100
- const storageKey = this.getSessionStorageKey();
101
- this.storageManager.removeItem(storageKey);
102
- }
103
- loadStoredSession() {
104
- const storageKey = this.getSessionStorageKey();
105
- const storedData = this.storageManager.getItem(storageKey);
106
- if (!storedData) {
107
- return null;
108
- }
109
- try {
110
- const parsed = JSON.parse(storedData);
111
- if (!parsed.id || typeof parsed.lastActivity !== 'number') {
112
- return null;
113
- }
114
- return parsed;
115
- }
116
- catch {
117
- this.storageManager.removeItem(storageKey);
118
- return null;
119
- }
120
- }
121
- saveStoredSession(session) {
122
- const storageKey = this.getSessionStorageKey();
123
- this.storageManager.setItem(storageKey, JSON.stringify(session));
124
- }
125
- getSessionStorageKey() {
126
- return SESSION_STORAGE_KEY(this.getProjectId());
127
- }
128
- getProjectId() {
129
- return this.projectId;
130
- }
131
- startTracking() {
132
- if (this.isTracking) {
133
- log('warn', 'Session tracking already active');
134
- return;
135
- }
136
- const recoveredSessionId = this.recoverSession();
137
- const sessionId = recoveredSessionId ?? this.generateSessionId();
138
- const isRecovered = Boolean(recoveredSessionId);
139
- this.isTracking = true;
140
- try {
141
- this.set('sessionId', sessionId);
142
- this.persistSession(sessionId);
143
- if (!isRecovered) {
144
- this.eventManager.track({
145
- type: EventType.SESSION_START,
146
- });
147
- }
148
- this.initCrossTabSync();
149
- this.shareSession(sessionId);
150
- this.setupSessionTimeout();
151
- this.setupActivityListeners();
152
- this.setupLifecycleListeners();
153
- }
154
- catch (error) {
155
- this.isTracking = false;
156
- this.clearSessionTimeout();
157
- this.cleanupActivityListeners();
158
- this.cleanupLifecycleListeners();
159
- this.cleanupCrossTabSync();
160
- this.set('sessionId', null);
161
- throw error;
162
- }
163
- }
164
- generateSessionId() {
165
- return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
166
- }
167
- setupSessionTimeout() {
168
- this.clearSessionTimeout();
169
- const sessionTimeout = this.get('config')?.sessionTimeout ?? DEFAULT_SESSION_TIMEOUT;
170
- this.sessionTimeoutId = setTimeout(() => {
171
- this.endSession('inactivity');
172
- }, sessionTimeout);
173
- }
174
- resetSessionTimeout() {
175
- this.setupSessionTimeout();
176
- const sessionId = this.get('sessionId');
177
- if (sessionId) {
178
- this.persistSession(sessionId);
179
- }
180
- }
181
- clearSessionTimeout() {
182
- if (this.sessionTimeoutId) {
183
- clearTimeout(this.sessionTimeoutId);
184
- this.sessionTimeoutId = null;
185
- }
186
- }
187
- setupActivityListeners() {
188
- this.activityHandler = () => {
189
- this.resetSessionTimeout();
190
- };
191
- document.addEventListener('click', this.activityHandler, { passive: true });
192
- document.addEventListener('keydown', this.activityHandler, { passive: true });
193
- document.addEventListener('scroll', this.activityHandler, { passive: true });
194
- }
195
- cleanupActivityListeners() {
196
- if (this.activityHandler) {
197
- document.removeEventListener('click', this.activityHandler);
198
- document.removeEventListener('keydown', this.activityHandler);
199
- document.removeEventListener('scroll', this.activityHandler);
200
- this.activityHandler = null;
201
- }
202
- }
203
- setupLifecycleListeners() {
204
- if (this.visibilityChangeHandler || this.beforeUnloadHandler) {
205
- return;
206
- }
207
- this.visibilityChangeHandler = () => {
208
- if (document.hidden) {
209
- this.clearSessionTimeout();
210
- }
211
- else {
212
- const sessionId = this.get('sessionId');
213
- if (sessionId) {
214
- this.setupSessionTimeout();
215
- }
216
- }
217
- };
218
- this.beforeUnloadHandler = () => {
219
- this.endSession('page_unload');
220
- };
221
- document.addEventListener('visibilitychange', this.visibilityChangeHandler);
222
- window.addEventListener('beforeunload', this.beforeUnloadHandler);
223
- }
224
- cleanupLifecycleListeners() {
225
- if (this.visibilityChangeHandler) {
226
- document.removeEventListener('visibilitychange', this.visibilityChangeHandler);
227
- this.visibilityChangeHandler = null;
228
- }
229
- if (this.beforeUnloadHandler) {
230
- window.removeEventListener('beforeunload', this.beforeUnloadHandler);
231
- this.beforeUnloadHandler = null;
232
- }
233
- }
234
- endSession(reason) {
235
- const sessionId = this.get('sessionId');
236
- if (!sessionId) {
237
- log('warn', 'endSession called without active session', { data: { reason } });
238
- this.resetSessionState(reason);
239
- return;
240
- }
241
- this.eventManager.track({
242
- type: EventType.SESSION_END,
243
- session_end_reason: reason,
244
- });
245
- const flushResult = this.eventManager.flushImmediatelySync();
246
- if (!flushResult) {
247
- log('warn', 'Sync flush failed during session end, events persisted for recovery', {
248
- data: { reason, sessionId },
249
- });
250
- }
251
- this.broadcastSessionEnd(sessionId, reason);
252
- this.resetSessionState(reason);
253
- }
254
- resetSessionState(reason) {
255
- this.clearSessionTimeout();
256
- this.cleanupActivityListeners();
257
- this.cleanupLifecycleListeners();
258
- this.cleanupCrossTabSync();
259
- if (reason !== 'page_unload') {
260
- this.clearStoredSession();
261
- }
262
- this.set('sessionId', null);
263
- this.set('hasStartSession', false);
264
- this.isTracking = false;
265
- }
266
- stopTracking() {
267
- this.endSession('manual_stop');
268
- }
269
- destroy() {
270
- this.clearSessionTimeout();
271
- this.cleanupActivityListeners();
272
- this.cleanupCrossTabSync();
273
- this.cleanupLifecycleListeners();
274
- this.isTracking = false;
275
- this.set('hasStartSession', false);
276
- }
277
- }
278
- //# sourceMappingURL=session.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.manager.js","sourceRoot":"","sources":["../../../src/managers/session.manager.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { State } from '../types';
2
- export declare function getGlobalState(): Readonly<State>;
3
- export declare function resetGlobalState(): void;
4
- export declare abstract class StateManager {
5
- protected get<T extends keyof State>(key: T): State[T];
6
- protected set<T extends keyof State>(key: T, value: State[T]): void;
7
- protected getState(): Readonly<State>;
8
- }
9
- //# sourceMappingURL=state.manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.manager.d.ts","sourceRoot":"","sources":["../../../src/managers/state.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED,8BAAsB,YAAY;IAChC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAItD,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAInE,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC;CAGtC"}
@@ -1,21 +0,0 @@
1
- const globalState = {};
2
- export function getGlobalState() {
3
- return globalState;
4
- }
5
- export function resetGlobalState() {
6
- Object.keys(globalState).forEach((key) => {
7
- delete globalState[key];
8
- });
9
- }
10
- export class StateManager {
11
- get(key) {
12
- return globalState[key];
13
- }
14
- set(key, value) {
15
- globalState[key] = value;
16
- }
17
- getState() {
18
- return { ...globalState };
19
- }
20
- }
21
- //# sourceMappingURL=state.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.manager.js","sourceRoot":"","sources":["../../../src/managers/state.manager.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAU,EAAW,CAAC;AAEvC,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,OAAO,WAAW,CAAC,GAAkB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAgB,YAAY;IACtB,GAAG,CAAwB,GAAM;QACzC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAES,GAAG,CAAwB,GAAM,EAAE,KAAe;QAC1D,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAES,QAAQ;QAChB,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5B,CAAC;CACF"}