@newrelic/browser-agent 1.235.0 → 1.237.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +41 -1
  2. package/dist/cjs/common/config/state/init.js +4 -0
  3. package/dist/cjs/common/config/state/runtime.js +6 -5
  4. package/dist/cjs/common/constants/env.cdn.js +2 -2
  5. package/dist/cjs/common/constants/env.npm.js +1 -1
  6. package/dist/cjs/common/constants/runtime.js +52 -0
  7. package/dist/cjs/common/deny-list/deny-list.js +14 -10
  8. package/dist/cjs/common/event-listener/event-listener-opts.js +3 -3
  9. package/dist/cjs/common/harvest/harvest-scheduler.js +22 -19
  10. package/dist/cjs/common/harvest/harvest.js +154 -148
  11. package/dist/cjs/common/harvest/types.js +54 -0
  12. package/dist/cjs/common/ids/id.js +2 -2
  13. package/dist/cjs/common/ids/unique-id.js +3 -3
  14. package/dist/cjs/common/session/session-entity.js +2 -2
  15. package/dist/cjs/common/timer/interaction-timer.js +2 -2
  16. package/dist/cjs/common/unload/eol.js +10 -11
  17. package/dist/cjs/common/url/canonicalize-url.js +2 -2
  18. package/dist/cjs/common/url/parse-url.js +3 -3
  19. package/dist/cjs/common/url/protocol.js +2 -2
  20. package/dist/cjs/common/util/submit-data.js +31 -81
  21. package/dist/cjs/common/window/nreum.js +14 -14
  22. package/dist/cjs/common/wrap/wrap-events.js +3 -3
  23. package/dist/cjs/common/wrap/wrap-fetch.js +5 -5
  24. package/dist/cjs/common/wrap/wrap-history.js +2 -2
  25. package/dist/cjs/common/wrap/wrap-jsonp.js +14 -8
  26. package/dist/cjs/common/wrap/wrap-mutation.js +2 -2
  27. package/dist/cjs/common/wrap/wrap-promise.js +2 -2
  28. package/dist/cjs/common/wrap/wrap-raf.js +2 -2
  29. package/dist/cjs/common/wrap/wrap-timer.js +4 -4
  30. package/dist/cjs/common/wrap/wrap-xhr.js +3 -3
  31. package/dist/cjs/features/ajax/aggregate/index.js +25 -28
  32. package/dist/cjs/features/ajax/instrument/distributed-tracing.js +2 -2
  33. package/dist/cjs/features/ajax/instrument/index.js +6 -7
  34. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.js +1 -1
  35. package/dist/cjs/features/jserrors/aggregate/index.js +7 -4
  36. package/dist/cjs/features/jserrors/constants.js +2 -4
  37. package/dist/cjs/features/jserrors/instrument/index.js +80 -89
  38. package/dist/cjs/features/jserrors/instrument/uncaught-error.js +22 -0
  39. package/dist/cjs/features/metrics/aggregate/framework-detection.js +2 -2
  40. package/dist/cjs/features/metrics/aggregate/index.js +3 -3
  41. package/dist/cjs/features/page_action/aggregate/index.js +3 -3
  42. package/dist/cjs/features/page_view_event/aggregate/index.js +10 -11
  43. package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +23 -19
  44. package/dist/cjs/features/page_view_event/instrument/index.js +2 -2
  45. package/dist/cjs/features/page_view_timing/aggregate/index.js +3 -5
  46. package/dist/cjs/features/page_view_timing/instrument/index.js +2 -2
  47. package/dist/cjs/features/session_replay/aggregate/index.js +65 -34
  48. package/dist/cjs/features/session_replay/replay-mode.js +2 -2
  49. package/dist/cjs/features/session_trace/aggregate/index.js +3 -4
  50. package/dist/cjs/features/session_trace/instrument/index.js +2 -2
  51. package/dist/cjs/features/spa/aggregate/index.js +1 -1
  52. package/dist/cjs/features/spa/instrument/index.js +2 -2
  53. package/dist/cjs/features/utils/instrument-base.js +12 -15
  54. package/dist/cjs/index.js +7 -0
  55. package/dist/cjs/loaders/agent-base.js +87 -0
  56. package/dist/cjs/loaders/agent.js +48 -1
  57. package/dist/cjs/loaders/api/api.js +3 -3
  58. package/dist/cjs/loaders/api/apiAsync.js +6 -4
  59. package/dist/cjs/loaders/api/interaction-types.js +87 -0
  60. package/dist/cjs/loaders/configure/configure.js +4 -3
  61. package/dist/cjs/loaders/micro-agent.js +32 -39
  62. package/dist/esm/common/config/state/init.js +4 -0
  63. package/dist/esm/common/config/state/runtime.js +3 -2
  64. package/dist/esm/common/constants/env.cdn.js +2 -2
  65. package/dist/esm/common/constants/env.npm.js +1 -1
  66. package/dist/esm/common/constants/runtime.js +38 -0
  67. package/dist/esm/common/deny-list/deny-list.js +14 -10
  68. package/dist/esm/common/event-listener/event-listener-opts.js +1 -1
  69. package/dist/esm/common/harvest/harvest-scheduler.js +21 -20
  70. package/dist/esm/common/harvest/harvest.js +150 -146
  71. package/dist/esm/common/harvest/types.js +47 -0
  72. package/dist/esm/common/ids/id.js +1 -1
  73. package/dist/esm/common/ids/unique-id.js +1 -1
  74. package/dist/esm/common/session/session-entity.js +1 -1
  75. package/dist/esm/common/timer/interaction-timer.js +1 -1
  76. package/dist/esm/common/unload/eol.js +1 -2
  77. package/dist/esm/common/url/canonicalize-url.js +1 -1
  78. package/dist/esm/common/url/parse-url.js +1 -1
  79. package/dist/esm/common/url/protocol.js +1 -1
  80. package/dist/esm/common/util/submit-data.js +29 -78
  81. package/dist/esm/common/window/nreum.js +1 -1
  82. package/dist/esm/common/wrap/wrap-events.js +1 -1
  83. package/dist/esm/common/wrap/wrap-fetch.js +1 -1
  84. package/dist/esm/common/wrap/wrap-history.js +1 -1
  85. package/dist/esm/common/wrap/wrap-jsonp.js +13 -7
  86. package/dist/esm/common/wrap/wrap-mutation.js +1 -1
  87. package/dist/esm/common/wrap/wrap-promise.js +1 -1
  88. package/dist/esm/common/wrap/wrap-raf.js +1 -1
  89. package/dist/esm/common/wrap/wrap-timer.js +1 -1
  90. package/dist/esm/common/wrap/wrap-xhr.js +1 -1
  91. package/dist/esm/features/ajax/aggregate/index.js +26 -29
  92. package/dist/esm/features/ajax/instrument/distributed-tracing.js +1 -1
  93. package/dist/esm/features/ajax/instrument/index.js +1 -2
  94. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.js +1 -1
  95. package/dist/esm/features/jserrors/aggregate/index.js +6 -3
  96. package/dist/esm/features/jserrors/constants.js +1 -2
  97. package/dist/esm/features/jserrors/instrument/index.js +79 -88
  98. package/dist/esm/features/jserrors/instrument/uncaught-error.js +15 -0
  99. package/dist/esm/features/metrics/aggregate/framework-detection.js +1 -1
  100. package/dist/esm/features/metrics/aggregate/index.js +1 -1
  101. package/dist/esm/features/page_action/aggregate/index.js +1 -1
  102. package/dist/esm/features/page_view_event/aggregate/index.js +1 -2
  103. package/dist/esm/features/page_view_event/aggregate/initialized-features.js +23 -19
  104. package/dist/esm/features/page_view_event/instrument/index.js +1 -1
  105. package/dist/esm/features/page_view_timing/aggregate/index.js +2 -4
  106. package/dist/esm/features/page_view_timing/instrument/index.js +1 -1
  107. package/dist/esm/features/session_replay/aggregate/index.js +65 -34
  108. package/dist/esm/features/session_replay/replay-mode.js +2 -2
  109. package/dist/esm/features/session_trace/aggregate/index.js +3 -4
  110. package/dist/esm/features/session_trace/instrument/index.js +1 -1
  111. package/dist/esm/features/spa/aggregate/index.js +1 -1
  112. package/dist/esm/features/spa/instrument/index.js +1 -1
  113. package/dist/esm/features/utils/instrument-base.js +11 -14
  114. package/dist/esm/index.js +1 -4
  115. package/dist/esm/loaders/agent-base.js +80 -0
  116. package/dist/esm/loaders/agent.js +48 -1
  117. package/dist/esm/loaders/api/api.js +2 -2
  118. package/dist/esm/loaders/api/apiAsync.js +3 -3
  119. package/dist/esm/loaders/api/interaction-types.js +80 -0
  120. package/dist/esm/loaders/configure/configure.js +4 -3
  121. package/dist/esm/loaders/micro-agent.js +32 -39
  122. package/dist/types/common/config/state/init.d.ts.map +1 -1
  123. package/dist/types/common/config/state/runtime.d.ts.map +1 -1
  124. package/dist/types/common/constants/runtime.d.ts +29 -0
  125. package/dist/types/common/constants/runtime.d.ts.map +1 -0
  126. package/dist/types/common/event-emitter/register-handler.d.ts +1 -1
  127. package/dist/types/common/harvest/harvest-scheduler.d.ts +1 -1
  128. package/dist/types/common/harvest/harvest-scheduler.d.ts.map +1 -1
  129. package/dist/types/common/harvest/harvest.d.ts +49 -38
  130. package/dist/types/common/harvest/harvest.d.ts.map +1 -1
  131. package/dist/types/common/harvest/types.d.ts +100 -0
  132. package/dist/types/common/harvest/types.d.ts.map +1 -0
  133. package/dist/types/common/session/session-entity.d.ts +6 -6
  134. package/dist/types/common/unload/eol.d.ts.map +1 -1
  135. package/dist/types/common/util/submit-data.d.ts +44 -64
  136. package/dist/types/common/util/submit-data.d.ts.map +1 -1
  137. package/dist/types/common/window/nreum.d.ts +2 -2
  138. package/dist/types/common/wrap/wrap-jsonp.d.ts.map +1 -1
  139. package/dist/types/features/ajax/aggregate/index.d.ts +5 -5
  140. package/dist/types/features/ajax/aggregate/index.d.ts.map +1 -1
  141. package/dist/types/features/ajax/instrument/index.d.ts.map +1 -1
  142. package/dist/types/features/jserrors/aggregate/index.d.ts +1 -1
  143. package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
  144. package/dist/types/features/jserrors/constants.d.ts +0 -1
  145. package/dist/types/features/jserrors/constants.d.ts.map +1 -1
  146. package/dist/types/features/jserrors/instrument/index.d.ts +0 -13
  147. package/dist/types/features/jserrors/instrument/index.d.ts.map +1 -1
  148. package/dist/types/features/jserrors/instrument/uncaught-error.d.ts +15 -0
  149. package/dist/types/features/jserrors/instrument/uncaught-error.d.ts.map +1 -0
  150. package/dist/types/features/metrics/aggregate/endpoint-map.d.ts +5 -5
  151. package/dist/types/features/page_view_event/aggregate/index.d.ts.map +1 -1
  152. package/dist/types/features/page_view_event/aggregate/initialized-features.d.ts.map +1 -1
  153. package/dist/types/features/page_view_timing/aggregate/index.d.ts.map +1 -1
  154. package/dist/types/features/session_replay/aggregate/index.d.ts +16 -30
  155. package/dist/types/features/session_replay/aggregate/index.d.ts.map +1 -1
  156. package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
  157. package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
  158. package/dist/types/index.d.ts +1 -0
  159. package/dist/types/loaders/agent-base.d.ts +59 -0
  160. package/dist/types/loaders/agent-base.d.ts.map +1 -0
  161. package/dist/types/loaders/agent.d.ts +39 -5
  162. package/dist/types/loaders/agent.d.ts.map +1 -1
  163. package/dist/types/loaders/api/interaction-types.d.ts +122 -0
  164. package/dist/types/loaders/api/interaction-types.d.ts.map +1 -0
  165. package/dist/types/loaders/configure/configure.d.ts.map +1 -1
  166. package/dist/types/loaders/features/features.d.ts +9 -9
  167. package/dist/types/loaders/micro-agent.d.ts +6 -6
  168. package/dist/types/loaders/micro-agent.d.ts.map +1 -1
  169. package/package.json +6 -1
  170. package/src/common/config/__mocks__/config.js +11 -0
  171. package/src/common/config/state/init.js +2 -1
  172. package/src/common/config/state/runtime.js +3 -2
  173. package/src/common/constants/__mocks__/env.js +3 -0
  174. package/src/common/constants/__mocks__/runtime.js +8 -0
  175. package/src/common/constants/env.cdn.test.js +7 -0
  176. package/src/common/constants/env.npm.test.js +7 -0
  177. package/src/common/constants/env.test.js +7 -0
  178. package/src/common/constants/runtime.js +71 -0
  179. package/src/common/constants/runtime.test.js +168 -0
  180. package/src/common/context/__mocks__/shared-context.js +8 -0
  181. package/src/common/deny-list/deny-list.js +11 -11
  182. package/src/common/deny-list/deny-list.test.js +31 -0
  183. package/src/common/event-listener/__mocks__/event-listener-opts.js +7 -0
  184. package/src/common/event-listener/event-listener-opts.js +1 -1
  185. package/src/common/harvest/__mocks__/harvest.js +13 -0
  186. package/src/common/harvest/harvest-scheduler.js +21 -20
  187. package/src/common/harvest/harvest-scheduler.test.js +496 -0
  188. package/src/common/harvest/harvest.js +142 -134
  189. package/src/common/harvest/harvest.test.js +798 -0
  190. package/src/common/harvest/types.js +47 -0
  191. package/src/common/ids/id.js +1 -1
  192. package/src/common/ids/unique-id.js +1 -1
  193. package/src/common/session/__mocks__/session-entity.js +25 -0
  194. package/src/common/session/session-entity.component-test.js +1 -1
  195. package/src/common/session/session-entity.js +1 -1
  196. package/src/common/timer/interaction-timer.js +1 -1
  197. package/src/common/timing/__mocks__/now.js +1 -0
  198. package/src/common/unload/__mocks__/eol.js +1 -0
  199. package/src/common/unload/eol.js +1 -2
  200. package/src/common/url/__mocks__/clean-url.js +1 -0
  201. package/src/common/url/__mocks__/encode.js +7 -0
  202. package/src/common/url/__mocks__/location.js +1 -0
  203. package/src/common/url/canonicalize-url.js +1 -1
  204. package/src/common/url/canonicalize-url.test.js +2 -2
  205. package/src/common/url/parse-url.js +1 -1
  206. package/src/common/url/parse-url.test.js +3 -3
  207. package/src/common/url/protocol.js +1 -1
  208. package/src/common/util/__mocks__/obfuscate.js +10 -0
  209. package/src/common/util/__mocks__/stringify.js +1 -0
  210. package/src/common/util/__mocks__/submit-data.js +5 -0
  211. package/src/common/util/__mocks__/traverse.js +1 -0
  212. package/src/common/util/submit-data.js +22 -58
  213. package/src/common/util/submit-data.test.js +30 -73
  214. package/src/common/window/nreum.js +1 -1
  215. package/src/common/wrap/wrap-events.js +1 -1
  216. package/src/common/wrap/wrap-fetch.js +1 -1
  217. package/src/common/wrap/wrap-history.js +1 -1
  218. package/src/common/wrap/wrap-jsonp.js +12 -7
  219. package/src/common/wrap/wrap-mutation.js +1 -1
  220. package/src/common/wrap/wrap-promise.js +1 -1
  221. package/src/common/wrap/wrap-promise.test.js +2 -2
  222. package/src/common/wrap/wrap-raf.js +1 -1
  223. package/src/common/wrap/wrap-timer.js +1 -1
  224. package/src/common/wrap/wrap-xhr.js +1 -1
  225. package/src/features/ajax/aggregate/index.js +26 -32
  226. package/src/features/ajax/instrument/distributed-tracing.js +1 -1
  227. package/src/features/ajax/instrument/index.js +1 -2
  228. package/src/features/jserrors/aggregate/compute-stack-trace.js +1 -1
  229. package/src/features/jserrors/aggregate/compute-stack-trace.test.js +1 -1
  230. package/src/features/jserrors/aggregate/index.js +7 -3
  231. package/src/features/jserrors/constants.js +0 -1
  232. package/src/features/jserrors/instrument/index.js +92 -88
  233. package/src/features/jserrors/instrument/uncaught-error.js +15 -0
  234. package/src/features/metrics/aggregate/framework-detection.js +1 -1
  235. package/src/features/metrics/aggregate/framework-detection.test.js +2 -2
  236. package/src/features/metrics/aggregate/index.js +1 -1
  237. package/src/features/page_action/aggregate/index.js +1 -1
  238. package/src/features/page_view_event/aggregate/index.js +1 -2
  239. package/src/features/page_view_event/aggregate/initialized-features.js +18 -14
  240. package/src/features/page_view_event/instrument/index.js +1 -1
  241. package/src/features/page_view_timing/aggregate/index.js +2 -4
  242. package/src/features/page_view_timing/instrument/index.js +1 -1
  243. package/src/features/session_replay/aggregate/index.component-test.js +17 -56
  244. package/src/features/session_replay/aggregate/index.js +47 -28
  245. package/src/features/session_replay/replay-mode.js +2 -2
  246. package/src/features/session_trace/aggregate/index.js +3 -4
  247. package/src/features/session_trace/instrument/index.js +1 -1
  248. package/src/features/spa/aggregate/index.js +1 -1
  249. package/src/features/spa/instrument/index.js +1 -1
  250. package/src/features/utils/agent-session.test.js +2 -2
  251. package/src/features/utils/instrument-base.js +11 -14
  252. package/src/features/utils/instrument-base.test.js +29 -3
  253. package/src/index.js +1 -3
  254. package/src/loaders/agent-base.js +81 -0
  255. package/src/loaders/agent.js +50 -1
  256. package/src/loaders/api/api.js +2 -2
  257. package/src/loaders/api/apiAsync.js +3 -3
  258. package/src/loaders/api/interaction-types.js +80 -0
  259. package/src/loaders/configure/configure.js +5 -4
  260. package/src/loaders/micro-agent.js +30 -31
  261. package/dist/cjs/common/browser-version/firefox-version.js +0 -17
  262. package/dist/cjs/common/browser-version/ios-version.js +0 -19
  263. package/dist/cjs/common/event-emitter/contextual-ee.test.js +0 -282
  264. package/dist/cjs/common/event-emitter/handle.test.js +0 -58
  265. package/dist/cjs/common/event-emitter/register-handler.test.js +0 -55
  266. package/dist/cjs/common/harvest/harvest-scheduler.component-test.js +0 -39
  267. package/dist/cjs/common/harvest/harvest.component-test.js +0 -224
  268. package/dist/cjs/common/ids/id.test.js +0 -85
  269. package/dist/cjs/common/ids/unique-id.test.js +0 -49
  270. package/dist/cjs/common/session/session-entity.component-test.js +0 -497
  271. package/dist/cjs/common/storage/local-storage.test.js +0 -14
  272. package/dist/cjs/common/timer/interaction-timer.component-test.js +0 -216
  273. package/dist/cjs/common/timer/timer.test.js +0 -105
  274. package/dist/cjs/common/timing/nav-timing.test.js +0 -192
  275. package/dist/cjs/common/url/canonicalize-url.test.js +0 -38
  276. package/dist/cjs/common/url/clean-url.test.js +0 -9
  277. package/dist/cjs/common/url/encode.component-test.js +0 -74
  278. package/dist/cjs/common/url/location.test.js +0 -13
  279. package/dist/cjs/common/url/parse-url.test.js +0 -111
  280. package/dist/cjs/common/url/protocol.component-test.js +0 -15
  281. package/dist/cjs/common/util/console.test.js +0 -30
  282. package/dist/cjs/common/util/data-size.test.js +0 -64
  283. package/dist/cjs/common/util/feature-flags.test.js +0 -84
  284. package/dist/cjs/common/util/get-or-set.test.js +0 -47
  285. package/dist/cjs/common/util/global-scope.js +0 -27
  286. package/dist/cjs/common/util/global-scope.test.js +0 -72
  287. package/dist/cjs/common/util/invoke.test.js +0 -49
  288. package/dist/cjs/common/util/map-own.test.js +0 -49
  289. package/dist/cjs/common/util/obfuscate.component-test.js +0 -129
  290. package/dist/cjs/common/util/stringify.test.js +0 -48
  291. package/dist/cjs/common/util/submit-data.test.js +0 -245
  292. package/dist/cjs/common/util/traverse.test.js +0 -44
  293. package/dist/cjs/common/wrap/wrap-promise.test.js +0 -119
  294. package/dist/cjs/features/jserrors/aggregate/canonical-function-name.test.js +0 -31
  295. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.test.js +0 -383
  296. package/dist/cjs/features/jserrors/aggregate/format-stack-trace.test.js +0 -40
  297. package/dist/cjs/features/jserrors/aggregate/string-hash-code.test.js +0 -27
  298. package/dist/cjs/features/jserrors/instrument/debug.js +0 -40
  299. package/dist/cjs/features/metrics/aggregate/framework-detection.test.js +0 -137
  300. package/dist/cjs/features/metrics/aggregate/polyfill-detection.es5.test.js +0 -17
  301. package/dist/cjs/features/metrics/aggregate/polyfill-detection.test.js +0 -165
  302. package/dist/cjs/features/session_replay/aggregate/index.component-test.js +0 -457
  303. package/dist/cjs/features/spa/aggregate/interaction-node.test.js +0 -16
  304. package/dist/cjs/features/utils/agent-session.test.js +0 -211
  305. package/dist/cjs/features/utils/aggregate-base.test.js +0 -110
  306. package/dist/cjs/features/utils/feature-base.test.js +0 -42
  307. package/dist/cjs/features/utils/handler-cache.test.js +0 -53
  308. package/dist/cjs/features/utils/instrument-base.test.js +0 -179
  309. package/dist/cjs/features/utils/lazy-feature-loader.test.js +0 -30
  310. package/dist/esm/common/browser-version/firefox-version.js +0 -10
  311. package/dist/esm/common/browser-version/ios-version.js +0 -11
  312. package/dist/esm/common/event-emitter/contextual-ee.test.js +0 -278
  313. package/dist/esm/common/event-emitter/handle.test.js +0 -54
  314. package/dist/esm/common/event-emitter/register-handler.test.js +0 -51
  315. package/dist/esm/common/harvest/harvest-scheduler.component-test.js +0 -37
  316. package/dist/esm/common/harvest/harvest.component-test.js +0 -222
  317. package/dist/esm/common/ids/id.test.js +0 -81
  318. package/dist/esm/common/ids/unique-id.test.js +0 -44
  319. package/dist/esm/common/session/session-entity.component-test.js +0 -495
  320. package/dist/esm/common/storage/local-storage.test.js +0 -12
  321. package/dist/esm/common/timer/interaction-timer.component-test.js +0 -214
  322. package/dist/esm/common/timer/timer.test.js +0 -103
  323. package/dist/esm/common/timing/nav-timing.test.js +0 -190
  324. package/dist/esm/common/url/canonicalize-url.test.js +0 -34
  325. package/dist/esm/common/url/clean-url.test.js +0 -7
  326. package/dist/esm/common/url/encode.component-test.js +0 -70
  327. package/dist/esm/common/url/location.test.js +0 -11
  328. package/dist/esm/common/url/parse-url.test.js +0 -107
  329. package/dist/esm/common/url/protocol.component-test.js +0 -13
  330. package/dist/esm/common/util/console.test.js +0 -28
  331. package/dist/esm/common/util/data-size.test.js +0 -60
  332. package/dist/esm/common/util/feature-flags.test.js +0 -80
  333. package/dist/esm/common/util/get-or-set.test.js +0 -45
  334. package/dist/esm/common/util/global-scope.js +0 -17
  335. package/dist/esm/common/util/global-scope.test.js +0 -70
  336. package/dist/esm/common/util/invoke.test.js +0 -47
  337. package/dist/esm/common/util/map-own.test.js +0 -47
  338. package/dist/esm/common/util/obfuscate.component-test.js +0 -125
  339. package/dist/esm/common/util/stringify.test.js +0 -46
  340. package/dist/esm/common/util/submit-data.test.js +0 -241
  341. package/dist/esm/common/util/traverse.test.js +0 -42
  342. package/dist/esm/common/wrap/wrap-promise.test.js +0 -115
  343. package/dist/esm/features/jserrors/aggregate/canonical-function-name.test.js +0 -29
  344. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.test.js +0 -379
  345. package/dist/esm/features/jserrors/aggregate/format-stack-trace.test.js +0 -38
  346. package/dist/esm/features/jserrors/aggregate/string-hash-code.test.js +0 -25
  347. package/dist/esm/features/jserrors/instrument/debug.js +0 -38
  348. package/dist/esm/features/metrics/aggregate/framework-detection.test.js +0 -133
  349. package/dist/esm/features/metrics/aggregate/polyfill-detection.es5.test.js +0 -15
  350. package/dist/esm/features/metrics/aggregate/polyfill-detection.test.js +0 -163
  351. package/dist/esm/features/session_replay/aggregate/index.component-test.js +0 -453
  352. package/dist/esm/features/spa/aggregate/interaction-node.test.js +0 -14
  353. package/dist/esm/features/utils/agent-session.test.js +0 -207
  354. package/dist/esm/features/utils/aggregate-base.test.js +0 -108
  355. package/dist/esm/features/utils/feature-base.test.js +0 -40
  356. package/dist/esm/features/utils/handler-cache.test.js +0 -51
  357. package/dist/esm/features/utils/instrument-base.test.js +0 -175
  358. package/dist/esm/features/utils/lazy-feature-loader.test.js +0 -29
  359. package/dist/types/common/browser-version/firefox-version.d.ts +0 -2
  360. package/dist/types/common/browser-version/firefox-version.d.ts.map +0 -1
  361. package/dist/types/common/browser-version/ios-version.d.ts +0 -3
  362. package/dist/types/common/browser-version/ios-version.d.ts.map +0 -1
  363. package/dist/types/common/harvest/harvest-scheduler.component-test.d.ts +0 -2
  364. package/dist/types/common/harvest/harvest-scheduler.component-test.d.ts.map +0 -1
  365. package/dist/types/common/harvest/harvest.component-test.d.ts +0 -2
  366. package/dist/types/common/harvest/harvest.component-test.d.ts.map +0 -1
  367. package/dist/types/common/session/session-entity.component-test.d.ts +0 -2
  368. package/dist/types/common/session/session-entity.component-test.d.ts.map +0 -1
  369. package/dist/types/common/timer/interaction-timer.component-test.d.ts +0 -2
  370. package/dist/types/common/timer/interaction-timer.component-test.d.ts.map +0 -1
  371. package/dist/types/common/url/encode.component-test.d.ts +0 -2
  372. package/dist/types/common/url/encode.component-test.d.ts.map +0 -1
  373. package/dist/types/common/url/protocol.component-test.d.ts +0 -2
  374. package/dist/types/common/url/protocol.component-test.d.ts.map +0 -1
  375. package/dist/types/common/util/global-scope.d.ts +0 -5
  376. package/dist/types/common/util/global-scope.d.ts.map +0 -1
  377. package/dist/types/common/util/obfuscate.component-test.d.ts +0 -2
  378. package/dist/types/common/util/obfuscate.component-test.d.ts.map +0 -1
  379. package/dist/types/features/jserrors/instrument/debug.d.ts +0 -2
  380. package/dist/types/features/jserrors/instrument/debug.d.ts.map +0 -1
  381. package/dist/types/features/session_replay/aggregate/index.component-test.d.ts +0 -2
  382. package/dist/types/features/session_replay/aggregate/index.component-test.d.ts.map +0 -1
  383. package/src/common/browser-version/firefox-version.js +0 -10
  384. package/src/common/browser-version/ios-version.js +0 -11
  385. package/src/common/harvest/harvest-scheduler.component-test.js +0 -25
  386. package/src/common/harvest/harvest.component-test.js +0 -169
  387. package/src/common/util/global-scope.js +0 -23
  388. package/src/common/util/global-scope.test.js +0 -87
  389. package/src/features/jserrors/instrument/debug.js +0 -36
@@ -1,21 +1,10 @@
1
- export function getSubmitMethod(endpoint: any, opts: any): {
2
- method: (({ url, body, sync, method, headers }: {
3
- url: string;
4
- body?: string | undefined;
5
- sync?: boolean | undefined;
6
- method?: string | undefined;
7
- headers?: {
8
- key: string;
9
- value: string;
10
- }[] | undefined;
11
- }) => XMLHttpRequest) | (({ url }: {
12
- url: string;
13
- }) => HTMLImageElement) | (({ url, body }: {
14
- url: string;
15
- body?: string | undefined;
16
- }) => boolean);
17
- useBody: boolean;
18
- };
1
+ /**
2
+ * @typedef {import('./types.js').NetworkSendSpec} NetworkSendSpec
3
+ * @typedef {import('./types.js').HarvestEndpointIdentifier} HarvestEndpointIdentifier
4
+ * @typedef {import('./types.js').HarvestPayload} HarvestPayload
5
+ * @typedef {import('./types.js').FeatureHarvestCallback} FeatureHarvestCallback
6
+ * @typedef {import('./types.js').FeatureHarvestCallbackOptions} FeatureHarvestCallbackOptions
7
+ */
19
8
  export class Harvest extends SharedContext {
20
9
  tooManyRequestsDelay: any;
21
10
  obfuscator: Obfuscator;
@@ -24,38 +13,60 @@ export class Harvest extends SharedContext {
24
13
  /**
25
14
  * Initiate a harvest from multiple sources. An event that corresponds to the endpoint
26
15
  * name is emitted, which gives any listeners the opportunity to provide payload data.
16
+ * Note: Used by page_action
27
17
  * @param {NetworkSendSpec} spec Specification for sending data
28
18
  */
29
- sendX(spec: NetworkSendSpec): any;
19
+ sendX(spec?: NetworkSendSpec): boolean;
30
20
  /**
31
21
  * Initiate a harvest call.
32
22
  * @param {NetworkSendSpec} spec Specification for sending data
33
23
  */
34
- send(spec: NetworkSendSpec): any;
24
+ send(spec?: NetworkSendSpec): boolean;
35
25
  /**
36
26
  * Apply obfuscation rules to the payload and then initial the harvest network call.
37
27
  * @param {NetworkSendSpec} spec Specification for sending data
38
28
  */
39
- obfuscateAndSend(spec: NetworkSendSpec): any;
40
- _send({ endpoint, payload, opts, submitMethod, cbFinished, customUrl, raw, includeBaseParams }: {
41
- endpoint: any;
42
- payload?: {} | undefined;
43
- opts?: {} | undefined;
44
- submitMethod: any;
45
- cbFinished: any;
46
- customUrl: any;
47
- raw: any;
48
- includeBaseParams?: boolean | undefined;
49
- }): any;
29
+ obfuscateAndSend(spec?: NetworkSendSpec): boolean;
30
+ /**
31
+ * Initiate a harvest call. Typically used by `sendX` and `send` methods or called directly
32
+ * for raw network calls.
33
+ * @param {NetworkSendSpec} param0 Specification for sending data
34
+ * @returns {boolean} True if the network call succeeded. For final harvest calls, the return
35
+ * value should not be relied upon because network calls will be made asynchronously.
36
+ */
37
+ _send({ endpoint, payload, opts, submitMethod, cbFinished, customUrl, raw, includeBaseParams }: NetworkSendSpec): boolean;
50
38
  baseQueryString(): string;
51
- createPayload(type: any, options: any): {
52
- body: {} | undefined;
53
- qs: {} | undefined;
54
- };
55
- on(type: any, listener: any): void;
56
- resetListeners(): void;
39
+ /**
40
+ * Calls and accumulates data from registered harvesting functions based on
41
+ * the endpoint being harvested.
42
+ * @param {HarvestEndpointIdentifier} endpoint BAM endpoint identifier.
43
+ * @param {FeatureHarvestCallbackOptions} options Options to be passed to the
44
+ * feature harvest listener callback.
45
+ * @returns {HarvestPayload} Payload object to transmit to the bam endpoint.
46
+ */
47
+ createPayload(endpoint: HarvestEndpointIdentifier, options: FeatureHarvestCallbackOptions): HarvestPayload;
48
+ /**
49
+ * Cleans and returns a payload object containing a body and qs
50
+ * object with key/value pairs. KV pairs where the value is null,
51
+ * undefined, or an empty string are removed to save on transmission
52
+ * size.
53
+ * @param {HarvestPayload} payload Payload to be sent to the endpoint.
54
+ * @returns {HarvestPayload} Cleaned payload payload to be sent to the endpoint.
55
+ */
56
+ cleanPayload(payload?: HarvestPayload): HarvestPayload;
57
+ /**
58
+ * Registers a function to be called when harvesting is triggered for a specific
59
+ * endpoint.
60
+ * @param {HarvestEndpointIdentifier} endpoint
61
+ * @param {FeatureHarvestCallback} listener
62
+ */
63
+ on(endpoint: HarvestEndpointIdentifier, listener: FeatureHarvestCallback): void;
57
64
  }
58
- export type NetworkSendSpec = object;
65
+ export type NetworkSendSpec = import('./types.js').NetworkSendSpec;
66
+ export type HarvestEndpointIdentifier = import('./types.js').HarvestEndpointIdentifier;
67
+ export type HarvestPayload = import('./types.js').HarvestPayload;
68
+ export type FeatureHarvestCallback = import('./types.js').FeatureHarvestCallback;
69
+ export type FeatureHarvestCallbackOptions = import('./types.js').FeatureHarvestCallbackOptions;
59
70
  import { SharedContext } from '../context/shared-context';
60
71
  import { Obfuscator } from '../util/obfuscate';
61
72
  //# sourceMappingURL=harvest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"harvest.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvest.js"],"names":[],"mappings":"AAkOA;;;;;;;;;;;;;;;;;EAmBC;AA9MD;IAII,0BAA2H;IAC3H,uBAAoD;IACpD,kCAAsH;IAEtH,YAAiB;IAGnB;;;;OAIG;IACH,YAFW,eAAe,OAYzB;IAED;;;OAGG;IACH,WAFW,eAAe,OAazB;IAED;;;OAGG;IACH,uBAFW,eAAe,OAMzB;IAED;;;;;;;;;YAiFC;IAGD,0BAmBC;IAED;;;MAaC;IAED,mCAGC;IAED,uBAIC;CACF;8BA3MY,MAAM;8BALW,2BAA2B;2BAF9B,mBAAmB"}
1
+ {"version":3,"file":"harvest.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvest.js"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH;IAII,0BAA2H;IAC3H,uBAAoD;IACpD,kCAAsH;IAEtH,YAAiB;IAGnB;;;;;OAKG;IACH,aAFW,eAAe,WAUzB;IAED;;;OAGG;IACH,YAFW,eAAe,WAMzB;IAED;;;OAGG;IACH,wBAFW,eAAe,WAMzB;IAED;;;;;;OAMG;IACH,gGAJW,eAAe,GACb,OAAO,CAmFnB;IAGD,0BAmBC;IAED;;;;;;;OAOG;IACH,wBALW,yBAAyB,WACzB,6BAA6B,GAE3B,cAAc,CA2B1B;IAED;;;;;;;OAOG;IACH,uBAHW,cAAc,GACZ,cAAc,CAwB1B;IAED;;;;;OAKG;IACH,aAHW,yBAAyB,YACzB,sBAAsB,QAQhC;CACF;8BApPY,OAAO,YAAY,EAAE,eAAe;wCACpC,OAAO,YAAY,EAAE,yBAAyB;6BAC9C,OAAO,YAAY,EAAE,cAAc;qCACnC,OAAO,YAAY,EAAE,sBAAsB;4CAC3C,OAAO,YAAY,EAAE,6BAA6B;8BAZjC,2BAA2B;2BAF9B,mBAAmB"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @file Contains types related to harvesting data.
3
+ * @copyright 2023 New Relic Corporation. All rights reserved.
4
+ * @license Apache-2.0
5
+ */
6
+ /**
7
+ * @typedef {'rum'|'jserrors'|'events'|'ins'|'resources'|'blob'} HarvestEndpointIdentifier
8
+ */
9
+ /**
10
+ * @typedef {object} HarvestPayload
11
+ * @property {object} qs Map of values that should be sent as part of the request query string.
12
+ * @property {object} body Map of values that should be sent as the body of the request.
13
+ * @property {string} body.e Special case of body used for browser interactions.
14
+ */
15
+ /**
16
+ * @typedef {object} FeatureHarvestCallbackOptions Options for aggregating data for harvesting.
17
+ * @property {boolean} options.retry Indicates if the feature should store the aggregated
18
+ * data in anticipation of a possible need to retry the transmission.
19
+ */
20
+ /**
21
+ * @callback FeatureHarvestCallback
22
+ * @param {FeatureHarvestCallbackOptions} options Options for aggregating data for harvesting.
23
+ * @returns {HarvestPayload} Payload of data to transmit to bam endpoint.
24
+ */
25
+ /**
26
+ * @typedef {object} NetworkSendSpec
27
+ * @property {HarvestEndpointIdentifier} endpoint The endpoint to use (jserrors, events, resources etc.)
28
+ * @property {HarvestPayload} payload Object representing payload.
29
+ * @property {object} opts Additional options for sending data
30
+ * @property {boolean} opts.needResponse Specify whether the caller expects a response data.
31
+ * @property {boolean} opts.unload Specify whether the call is a final harvest during page unload.
32
+ * @property {boolean} opts.sendEmptyBody Specify whether the call should be made even if the body is empty. Useful for rum calls.
33
+ * @property {boolean} opts.retry Indicates if the feature should store the aggregated data in anticipation of a possible need to
34
+ * retry the transmission.
35
+ * @property {import('../util/submit-data.js').NetworkMethods} submitMethod The network method to use {@link ../util/submit-data.js}
36
+ * @property {string} customUrl Override the beacon url the data is sent to; must include protocol if defined
37
+ * @property {boolean} raw If true, disables adding the license key to the url
38
+ * @property {boolean} includeBaseParams Enables the use of base query parameters in the beacon url
39
+ */
40
+ export const unused: {};
41
+ export type HarvestEndpointIdentifier = 'rum' | 'jserrors' | 'events' | 'ins' | 'resources' | 'blob';
42
+ export type HarvestPayload = {
43
+ /**
44
+ * Map of values that should be sent as part of the request query string.
45
+ */
46
+ qs: object;
47
+ /**
48
+ * Map of values that should be sent as the body of the request.
49
+ */
50
+ body: {
51
+ e: string;
52
+ };
53
+ };
54
+ /**
55
+ * Options for aggregating data for harvesting.
56
+ */
57
+ export type FeatureHarvestCallbackOptions = {
58
+ /**
59
+ * Indicates if the feature should store the aggregated
60
+ * data in anticipation of a possible need to retry the transmission.
61
+ */
62
+ retry: boolean;
63
+ };
64
+ export type FeatureHarvestCallback = (options: FeatureHarvestCallbackOptions) => HarvestPayload;
65
+ export type NetworkSendSpec = {
66
+ /**
67
+ * The endpoint to use (jserrors, events, resources etc.)
68
+ */
69
+ endpoint: HarvestEndpointIdentifier;
70
+ /**
71
+ * Object representing payload.
72
+ */
73
+ payload: HarvestPayload;
74
+ /**
75
+ * Additional options for sending data
76
+ */
77
+ opts: {
78
+ needResponse: boolean;
79
+ unload: boolean;
80
+ sendEmptyBody: boolean;
81
+ retry: boolean;
82
+ };
83
+ /**
84
+ * The network method to use {@link ../util/submit-data.js}
85
+ */
86
+ submitMethod: import('../util/submit-data.js').NetworkMethods;
87
+ /**
88
+ * Override the beacon url the data is sent to; must include protocol if defined
89
+ */
90
+ customUrl: string;
91
+ /**
92
+ * If true, disables adding the license key to the url
93
+ */
94
+ raw: boolean;
95
+ /**
96
+ * Enables the use of base query parameters in the beacon url
97
+ */
98
+ includeBaseParams: boolean;
99
+ };
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/types.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAGH,wBAAwB;wCAvCX,KAAK,GAAC,UAAU,GAAC,QAAQ,GAAC,KAAK,GAAC,WAAW,GAAC,MAAM;;;;;QAKjD,MAAM;;;;;QAEO,CAAC,EAAd,MAAM;;;;;;;;;;;WAKN,OAAO;;+CAMV,6BAA6B,KAC3B,cAAc;;;;;cAKb,yBAAyB;;;;aACzB,cAAc;;;;;QAEA,YAAY,EAA1B,OAAO;QACO,MAAM,EAApB,OAAO;QACO,aAAa,EAA3B,OAAO;QACO,KAAK,EAAnB,OAAO;;;;;kBAEP,OAAO,wBAAwB,EAAE,cAAc;;;;eAC/C,MAAM;;;;SACN,OAAO;;;;uBACP,OAAO"}
@@ -1,12 +1,12 @@
1
1
  export namespace MODE {
2
- const OFF: number;
3
- const FULL: number;
4
- const ERROR: number;
2
+ let OFF: number;
3
+ let FULL: number;
4
+ let ERROR: number;
5
5
  }
6
6
  export namespace SESSION_EVENTS {
7
- const PAUSE: string;
8
- const RESET: string;
9
- const RESUME: string;
7
+ let PAUSE: string;
8
+ let RESET: string;
9
+ let RESUME: string;
10
10
  }
11
11
  export class SessionEntity {
12
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../../../../src/common/unload/eol.js"],"names":[],"mappings":"AAsBA;;;;;GAKG;AACH,2DAFW,OAAO,QAmCjB"}
1
+ {"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../../../../src/common/unload/eol.js"],"names":[],"mappings":"AAqBA;;;;;GAKG;AACH,2DAFW,OAAO,QAmCjB"}
@@ -1,65 +1,45 @@
1
- export namespace submitData {
2
- /**
3
- * Send via JSONP. Do NOT call this function outside of a guaranteed web window environment.
4
- * @param {Object} args - The args
5
- * @param {string} args.url - The URL to send to
6
- * @param {string} args.jsonp - The string name of the jsonp cb method
7
- * @returns {XMLHttpRequest}
8
- * @returns {Element}
9
- */
10
- function jsonp({ url, jsonp }: {
11
- url: string;
12
- jsonp: string;
13
- }): XMLHttpRequest;
14
- /**
15
- * Performs an asynchronous GET request using XMLHttpRequest.
16
- *
17
- * @param {Object} args - An object containing a `url` property.
18
- * @param {string} args.url - The URL to send the GET request to.
19
- * @returns {XMLHttpRequest} - An XMLHttpRequest object.
20
- */
21
- function xhrGet({ url }: {
22
- url: string;
23
- }): XMLHttpRequest;
24
- /**
25
- * Send via XHR
26
- * @param {Object} args - The args.
27
- * @param {string} args.url - The URL to send to.
28
- * @param {string=} args.body - The Stringified body. Default null to prevent IE11 from breaking.
29
- * @param {boolean=} args.sync - Run XHR synchronously.
30
- * @param {string=} [args.method=POST] - The XHR method to use.
31
- * @param {{key: string, value: string}[]} [args.headers] - The headers to attach.
32
- * @returns {XMLHttpRequest}
33
- */
34
- function xhr({ url, body, sync, method, headers }: {
35
- url: string;
36
- body?: string | undefined;
37
- sync?: boolean | undefined;
38
- method?: string | undefined;
39
- headers?: {
40
- key: string;
41
- value: string;
42
- }[] | undefined;
43
- }): XMLHttpRequest;
44
- /**
45
- * Send by appending an <img> element to the page. Do NOT call this function outside of a guaranteed web window environment.
46
- * @param {Object} args - The args
47
- * @param {string} args.url - The URL to send to
48
- * @returns {HTMLImageElement}
49
- */
50
- function img({ url }: {
51
- url: string;
52
- }): HTMLImageElement;
53
- /**
54
- * Send via sendBeacon. Do NOT call this function outside of a guaranteed web window environment.
55
- * @param {Object} args - The args
56
- * @param {string} args.url - The URL to send to
57
- * @param {string=} args.body - The Stringified body
58
- * @returns {boolean}
59
- */
60
- function beacon({ url, body }: {
61
- url: string;
62
- body?: string | undefined;
63
- }): boolean;
64
- }
1
+ /**
2
+ * @typedef {xhr|beacon} NetworkMethods
3
+ */
4
+ /**
5
+ * Determines the submit method to use based on options.
6
+ * @param {object} opts Options used to determine submit method.
7
+ * @param {boolean} opts.isFinalHarvest Indicates if the data submission is due to
8
+ * a final harvest within the agent.
9
+ */
10
+ export function getSubmitMethod({ isFinalHarvest }?: {
11
+ isFinalHarvest: boolean;
12
+ }): typeof xhr | typeof beacon;
13
+ /**
14
+ * Send via XHR
15
+ * @param {Object} args - The args.
16
+ * @param {string} args.url - The URL to send to.
17
+ * @param {string=} args.body - The Stringified body. Default null to prevent IE11 from breaking.
18
+ * @param {boolean=} args.sync - Run XHR synchronously.
19
+ * @param {string=} [args.method=POST] - The XHR method to use.
20
+ * @param {{key: string, value: string}[]} [args.headers] - The headers to attach.
21
+ * @returns {XMLHttpRequest}
22
+ */
23
+ export function xhr({ url, body, sync, method, headers }: {
24
+ url: string;
25
+ body?: string | undefined;
26
+ sync?: boolean | undefined;
27
+ method?: string | undefined;
28
+ headers?: {
29
+ key: string;
30
+ value: string;
31
+ }[] | undefined;
32
+ }): XMLHttpRequest;
33
+ /**
34
+ * Send via sendBeacon. Do NOT call this function outside of a guaranteed web window environment.
35
+ * @param {Object} args - The args
36
+ * @param {string} args.url - The URL to send to
37
+ * @param {string=} args.body - The Stringified body
38
+ * @returns {boolean}
39
+ */
40
+ export function beacon({ url, body }: {
41
+ url: string;
42
+ body?: string | undefined;
43
+ }): boolean;
44
+ export type NetworkMethods = typeof xhr | typeof beacon;
65
45
  //# sourceMappingURL=submit-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-data.d.ts","sourceRoot":"","sources":["../../../../src/common/util/submit-data.js"],"names":[],"mappings":";IAOA;;;;;;;OAOG;IACH;;;uBAsBC;IAED;;;;;;OAMG;IACH;;uBAEC;IAED;;;;;;;;;OASG;IACH;;;;;;;;;uBAiBC;IAED;;;;;OAKG;IACH;;yBAIC;IAED;;;;;;OAMG;IACH;;;gBAYC"}
1
+ {"version":3,"file":"submit-data.d.ts","sourceRoot":"","sources":["../../../../src/common/util/submit-data.js"],"names":[],"mappings":"AAQA;;GAEG;AAEH;;;;;GAKG;AACH;IAHyB,cAAc,EAA5B,OAAO;+BAUjB;AAED;;;;;;;;;GASG;AACH;IAPwB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM;IACS,IAAI,GAAnB,OAAO;IACQ,MAAM,GAArB,MAAM;IACgC,OAAO;aAAvC,MAAM;eAAS,MAAM;;IACzB,cAAc,CAmB1B;AAED;;;;;;GAMG;AACH;IAJwB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM;IACJ,OAAO,CAanB;6BAjEY,0BAAU"}
@@ -8,7 +8,7 @@ export function addToNREUM(fnName: any, fn: any): void;
8
8
  export function NREUMinitialized(): void;
9
9
  export function gosCDN(): any;
10
10
  export namespace defaults {
11
- const beacon: string;
12
- const errorBeacon: string;
11
+ let beacon: string;
12
+ let errorBeacon: string;
13
13
  }
14
14
  //# sourceMappingURL=nreum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-jsonp.d.ts","sourceRoot":"","sources":["../../../../src/common/wrap/wrap-jsonp.js"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,oCAHW,MAAM,GACJ,MAAM,CAuGlB;AAED;;;;;;GAMG;AACH,mCAJW,MAAM,GAEJ,MAAM,CAIlB"}
1
+ {"version":3,"file":"wrap-jsonp.d.ts","sourceRoot":"","sources":["../../../../src/common/wrap/wrap-jsonp.js"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,oCAHW,MAAM,GACJ,MAAM,CA4GlB;AAED;;;;;;GAMG;AACH,mCAJW,MAAM,GAEJ,MAAM,CAIlB"}
@@ -1,16 +1,16 @@
1
1
  export class Aggregate extends AggregateBase {
2
2
  static featureName: string;
3
3
  constructor(agentIdentifier: any, aggregator: any);
4
- storeXhr: (params: any, metrics: any, startTime: any, endTime: any, type: any) => void;
5
- prepareHarvest: (options: any) => {
4
+ storeXhr: ((params: any, metrics: any, startTime: any, endTime: any, type: any) => void) | undefined;
5
+ prepareHarvest: ((options: any) => {
6
6
  body: {
7
7
  e: any;
8
8
  };
9
- }[] | null;
10
- getStoredEvents: () => {
9
+ }[] | null) | undefined;
10
+ getStoredEvents: (() => {
11
11
  ajaxEvents: any[];
12
12
  spaAjaxEvents: {};
13
- };
13
+ }) | undefined;
14
14
  }
15
15
  import { AggregateBase } from '../../utils/aggregate-base';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC,mDAmOC;IAtNC,uFAAwB;IACxB;;;;eAAoC;IACpC;;;MAA2E;CAqN9E;8BAxO6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC,mDA6NC;IAtMC,qGAAwB;IACxB;;;;4BAAoC;IACpC;;;mBAA2E;CAqM9E;8BAlO6B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/instrument/index.js"],"names":[],"mappings":"AA0BA;IACE,2BAAiC;IACjC,mEAcC;IARC,mBAAiC;IAEjC,4EAAkF;CAOrF;+BA5B8B,6BAA6B;mBAFzC,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/instrument/index.js"],"names":[],"mappings":"AAyBA;IACE,2BAAiC;IACjC,mEAcC;IARC,mBAAiC;IAEjC,4EAAkF;CAOrF;+BA3B8B,6BAA6B;mBAFzC,uBAAuB"}
@@ -16,7 +16,7 @@ export class Aggregate extends AggregateBase {
16
16
  currentBody: any;
17
17
  onHarvestFinished(result: any): void;
18
18
  nameHash(params: any): number;
19
- getBucketName(params: any, customParams: any): string;
19
+ getBucketName(objType: any, params: any, customParams: any): string;
20
20
  /**
21
21
  * Builds a standardized stack trace string from the frames in the given `stackInfo` object, with each frame separated
22
22
  * by a newline character. Lines take the form `<functionName>@<url>:<lineNumber>`.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAwBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAoCC;IAjCC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,eAAoB;IAEpB,qBAAwB;IA8B1B;;;MAoBC;IAfG,iBAAuB;IAiB3B,qCAWC;IAED,8BAEC;IAED,sDAEC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4EA4FC;IAED,2CAgCC;IAED,+CA2BC;CACF;wBAzQY,OAAO,0BAA0B,EAAE,SAAS;8BAH3B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAwBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAoCC;IAjCC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,eAAoB;IAEpB,qBAAwB;IA8B1B;;;MAoBC;IAfG,iBAAuB;IAiB3B,qCAWC;IAED,8BAEC;IAED,oEAMC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4EA4FC;IAED,2CAgCC;IAED,+CA2BC;CACF;wBA7QY,OAAO,0BAA0B,EAAE,SAAS;8BAH3B,4BAA4B"}
@@ -1,3 +1,2 @@
1
1
  export const FEATURE_NAME: string;
2
- export const NR_ERR_PROP: "nr@seenError";
3
2
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/jserrors/constants.js"],"names":[],"mappings":"AAEA,kCAAkD;AAClD,yCAAyC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/jserrors/constants.js"],"names":[],"mappings":"AAEA,kCAAkD"}
@@ -1,21 +1,8 @@
1
1
  export class Instrument extends InstrumentBase {
2
2
  static featureName: string;
3
3
  constructor(agentIdentifier: any, aggregator: any, auto?: boolean);
4
- skipNext: number;
5
4
  removeOnAbort: AbortController | undefined;
6
- origOnerror: OnErrorEventHandler;
7
5
  abortHandler: () => void;
8
- /**
9
- * FF and Android browsers do not provide error info to the 'error' event callback,
10
- * so we must use window.onerror
11
- * @param {string} message
12
- * @param {string} filename
13
- * @param {number} lineno
14
- * @param {number} column
15
- * @param {Error | *} errorObj
16
- * @returns
17
- */
18
- onerrorHandler(message: string, filename: string, lineno: number, column: number, errorObj: Error | any, ...args: any[]): boolean;
19
6
  #private;
20
7
  }
21
8
  import { InstrumentBase } from '../../utils/instrument-base';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/instrument/index.js"],"names":[],"mappings":"AAkBA;IACE,2BAAiC;IACjC,mEAgDC;IA5CC,iBAAiB;IAGf,2CAA0C;IAyB5C,iCAAsC;IActC,yBAA+B;IAUjC;;;;;;;;;OASG;IACH,wBAPW,MAAM,YACN,MAAM,UACN,MAAM,UACN,MAAM,YACN,KAAK,MAAI,2BAiBnB;;CACF;+BA3F8B,6BAA6B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/instrument/index.js"],"names":[],"mappings":"AAeA;IACE,2BAAiC;IAIjC,mEA4CC;IAvCG,2CAA0C;IAqC5C,yBAA+B;;CA8ElC;+BArI8B,6BAA6B"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Represents an uncaught non Error type error. This class does
3
+ * not extend the Error class to prevent an invalid stack trace
4
+ * from being created. Use this class to cast thrown errors that
5
+ * do not use the Error class (strings, etc) to an object.
6
+ */
7
+ export class UncaughtError {
8
+ constructor(message: any, filename: any, lineno: any, colno: any);
9
+ name: string;
10
+ message: any;
11
+ sourceURL: any;
12
+ line: any;
13
+ column: any;
14
+ }
15
+ //# sourceMappingURL=uncaught-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uncaught-error.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/instrument/uncaught-error.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;IACE,kEAMC;IALC,aAA2B;IAC3B,aAAsB;IACtB,eAAyB;IACzB,UAAkB;IAClB,YAAmB;CAEtB"}
@@ -1,8 +1,8 @@
1
1
  export namespace endpointMap {
2
- const rum: string;
3
- const events: string;
4
- const ins: string;
5
- const jserrors: string;
6
- const resources: string;
2
+ let rum: string;
3
+ let events: string;
4
+ let ins: string;
5
+ let jserrors: string;
6
+ let resources: string;
7
7
  }
8
8
  //# sourceMappingURL=endpoint-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAA2C;IAC3C,mDA2BC;IAvBG,iCAAwB;IAyB5B,8BAEC;IAED,gBAyFC;CACF;8BA/H6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAgBA;IACE,2BAA2C;IAC3C,mDA2BC;IAvBG,iCAAwB;IAyB5B,8BAEC;IAED,gBAyFC;CACF;8BA/H6B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"initialized-features.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/initialized-features.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,4DAFa,QAAQ,CAqBpB"}
1
+ {"version":3,"file":"initialized-features.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/initialized-features.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,4DAFa,QAAQ,CAwBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAqBA;IACE,2BAAiC;IACjC,mDA4GC;IAzGC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAC/B,mBAAe;IAKf,sBAA4B;IAkF5B,4BAGQ;IAeV,8CAUC;IAED;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,mDAqBC;IAED,qCAOC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;CACF;8BA7O6B,4BAA4B;iCARzB,2CAA2C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAqBA;IACE,2BAAiC;IACjC,mDA4GC;IAzGC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAC/B,mBAAe;IAKf,sBAA4B;IAkF5B,4BAGQ;IAeV,8CAUC;IAED;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,mDAqBC;IAED,qCAKC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;CACF;8BA3O6B,4BAA4B;iCARzB,2CAA2C"}
@@ -30,6 +30,11 @@ export class Aggregate extends AggregateBase {
30
30
  hasSnapshot: boolean;
31
31
  /** Payload metadata -- Should indicate that the payload being sent contains an error. Used for query/filter purposes in UI */
32
32
  hasError: boolean;
33
+ /** Payload metadata -- Should indicate when a replay blob started recording. Resets each time a harvest occurs. */
34
+ timestamp: {
35
+ first: undefined;
36
+ last: undefined;
37
+ };
33
38
  /** A value which increments with every new mutation node reported. Resets after a harvest is sent */
34
39
  payloadBytesEstimation: number;
35
40
  /** The method to stop recording. This defaults to a noop, but is overwritten once the recording library is imported and initialized */
@@ -45,45 +50,23 @@ export class Aggregate extends AggregateBase {
45
50
  initializeRecording(entitlements: boolean, errorSample: boolean, fullSample: boolean): void;
46
51
  prepareHarvest(): {
47
52
  qs: {
48
- protocol_version: string;
49
- content_encoding: string;
50
53
  browser_monitoring_key: any;
51
- };
52
- body: {
53
54
  type: string;
54
- appId: number;
55
- timestamp: number;
56
- blob: string;
57
- attributes: {
58
- session: any;
59
- hasSnapshot: boolean;
60
- hasError: boolean;
61
- agentVersion: any;
62
- isFirstChunk: boolean;
63
- 'nr.rrweb.version': string;
64
- };
55
+ app_id: any;
56
+ protocol_version: string;
57
+ attributes: string;
65
58
  };
59
+ body: any[];
66
60
  }[] | undefined;
67
61
  getHarvestContents(): {
68
62
  qs: {
69
- protocol_version: string;
70
- content_encoding: string;
71
63
  browser_monitoring_key: any;
72
- };
73
- body: {
74
64
  type: string;
75
- appId: number;
76
- timestamp: number;
77
- blob: string;
78
- attributes: {
79
- session: any;
80
- hasSnapshot: boolean;
81
- hasError: boolean;
82
- agentVersion: any;
83
- isFirstChunk: boolean;
84
- 'nr.rrweb.version': string;
85
- };
65
+ app_id: any;
66
+ protocol_version: string;
67
+ attributes: string;
86
68
  };
69
+ body: any[];
87
70
  };
88
71
  onHarvestFinished(result: any): void;
89
72
  /** Clears the buffer (this.events), and resets all payload metadata properties */
@@ -94,6 +77,8 @@ export class Aggregate extends AggregateBase {
94
77
  store(event: any, isCheckout: any): void;
95
78
  /** force the recording lib to take a full DOM snapshot. This needs to occur in certain cases, like visibility changes */
96
79
  takeFullSnapshot(): void;
80
+ setTimestamps(rrwebEvent: any): void;
81
+ clearTimestamps(): void;
97
82
  /** Estimate the payload size */
98
83
  getPayloadSize(newBytes?: number): any;
99
84
  /** Abort the feature, once aborted it will not resume */
@@ -103,6 +88,7 @@ export class Aggregate extends AggregateBase {
103
88
  * https://staging.onenr.io/037jbJWxbjy
104
89
  * */
105
90
  estimateCompression(data: any): any;
91
+ syncWithSessionManager(state?: {}): void;
106
92
  }
107
93
  import { AggregateBase } from '../../utils/aggregate-base';
108
94
  import { HarvestScheduler } from '../../../common/harvest/harvest-scheduler';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_replay/aggregate/index.js"],"names":[],"mappings":"AAuBA,4CAA4C;AAE5C,mCAAmC;AAInC,uCAAuC;AACvC,uCAAuC;AACvC,iCAAiC;AACjC,uCAAuC;AAIvC;IACE,2BAAiC;IACjC,mDA0FC;IAxFC,iHAAiH;IACjH,cAAgB;IAChB,8GAA8G;IAC9G,wBAAgH;IAChH,iFAAiF;IACjF,qBAAwB;IACxB,mEAAmE;IACnE,sBAAyB;IACzB,6GAA6G;IAC7G,aAAoB;IAGpB,iEAAiE;IACjE,mBAAsB;IACtB,gDAAgD;IAChD,wBAA0B;IAE1B,gGAAgG;IAChG,sBAAyB;IACzB;;;MAGE;IACF,qBAAwB;IACxB,+HAA+H;IAC/H,kBAAqB;IAErB,qGAAqG;IACrG,+BAA+B;IAO/B,uIAAuI;IACvI,0BAAyE;IAiBvE,wCAKQ;IAgCZ;;;;;;OAMG;IACH,kCALW,OAAO,eACP,OAAO,cACP,OAAO,GACL,IAAI,CAuDhB;IAED;;;;;;;;;;;;;;;;;;;;oBAcC;IAED;;;;;;;;;;;;;;;;;;;;MAwBC;IAED,qCAOC;IAED,kFAAkF;IAClF,oBAMC;IAED,qDAAqD;IACrD,uBA2BC;IAED,yHAAyH;IACzH,yCA2BC;IAED,0HAA0H;IAC1H,yBAIC;IAED,gCAAgC;IAChC,uCAGC;IAED,yDAAyD;IACzD,cAOC;IAED;;;SAGK;IACL,oCAGC;CACF;8BApU6B,4BAA4B;iCALzB,2CAA2C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_replay/aggregate/index.js"],"names":[],"mappings":"AAwBA,4CAA4C;AAE5C,mCAAmC;AAInC,uCAAuC;AACvC,uCAAuC;AACvC,iCAAiC;AACjC,uCAAuC;AAIvC;IACE,2BAAiC;IACjC,mDA4FC;IA1FC,iHAAiH;IACjH,cAAgB;IAChB,8GAA8G;IAC9G,wBAAgH;IAChH,iFAAiF;IACjF,qBAAwB;IACxB,mEAAmE;IACnE,sBAAyB;IACzB,6GAA6G;IAC7G,aAAoB;IAGpB,iEAAiE;IACjE,mBAAsB;IACtB,gDAAgD;IAChD,wBAA0B;IAE1B,gGAAgG;IAChG,sBAAyB;IACzB;;;MAGE;IACF,qBAAwB;IACxB,+HAA+H;IAC/H,kBAAqB;IAErB,oHAAoH;IACpH;;;MAAsD;IAEtD,qGAAqG;IACrG,+BAA+B;IAO/B,uIAAuI;IACvI,0BAAyE;IAiBvE,wCAKQ;IA+BZ;;;;;;OAMG;IACH,kCALW,OAAO,eACP,OAAO,cACP,OAAO,GACL,IAAI,CAuDhB;IAED;;;;;;;;;oBAaC;IAED;;;;;;;;;MAyBC;IAED,qCAOC;IAED,kFAAkF;IAClF,oBAOC;IAED,qDAAqD;IACrD,uBAyBC;IAED,yHAAyH;IACzH,yCA8BC;IAED,0HAA0H;IAC1H,yBAGC;IAED,qCAIC;IAED,wBAEC;IAED,gCAAgC;IAChC,uCAGC;IAED,yDAAyD;IACzD,cAOC;IAED;;;SAGK;IACL,oCAGC;IAED,yCAGC;CACF;8BAvV6B,4BAA4B;iCALzB,2CAA2C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAkCA;IACE,2BAAiC;IAGjC,iEAsHC;IApHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G,kCAAyB;IA0G3B,sEAcC;IA4CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAMC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAWC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD;;;;;;;;;;MAwBC;IAED,mEA8BC;;CACF;8BA7d6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAkCA;IACE,2BAAiC;IAGjC,iEAqHC;IAnHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G,kCAAyB;IAyG3B,sEAcC;IA4CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAMC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAWC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD;;;;;;;;;;MAwBC;IAED,mEA8BC;;CACF;8BA5d6B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACE;;;;;;;;OAQG;IACH,6BAPW,MAAM,uCAEN,MAAM,8BAuBhB;IAhBC,cAAgB;IAEhB,8IAA8I;IAC9I,cADW,WAAW,SAAS,CACd;IACjB;;;MAGE;IACF,qBAAkB;IAClB;;;MAGE;IACF,kCAAwB;IAK1B;;;;;OAKG;IACH,mEA4CC;IAED;;;;;KAKC;IACD,6BAJS,MAAM,mCAed;CACF;4BA/G2B,gBAAgB"}
1
+ {"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACE;;;;;;;;OAQG;IACH,6BAPW,MAAM,uCAEN,MAAM,8BAuBhB;IAhBC,cAAgB;IAEhB,8IAA8I;IAC9I,cADW,WAAW,SAAS,CACd;IACjB;;;MAGE;IACF,qBAAkB;IAClB;;;MAGE;IACF,kCAAwB;IAK1B;;;;;OAKG;IACH,mEA6CC;IAED;;;;;KAKC;IACD,6BAJS,MAAM,mCAWd;CACF;4BA5G2B,gBAAgB"}