@newrelic/browser-agent 1.278.3 → 1.279.1

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 (743) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/cdn/experimental.js +2 -2
  3. package/dist/cjs/cdn/lite.js +5 -0
  4. package/dist/cjs/cdn/pro.js +5 -0
  5. package/dist/cjs/cdn/spa.js +5 -0
  6. package/dist/cjs/common/aggregate/aggregator.js +2 -2
  7. package/dist/cjs/common/aggregate/event-aggregator.js +5 -0
  8. package/dist/cjs/common/config/configurable.js +5 -0
  9. package/dist/cjs/common/config/info.js +5 -0
  10. package/dist/cjs/common/config/init.js +6 -0
  11. package/dist/cjs/common/config/loader-config.js +5 -0
  12. package/dist/cjs/common/config/runtime.js +5 -0
  13. package/dist/cjs/common/constants/agent-constants.js +4 -0
  14. package/dist/cjs/common/constants/env.cdn.js +6 -1
  15. package/dist/cjs/common/constants/env.js +5 -0
  16. package/dist/cjs/common/constants/env.npm.js +6 -1
  17. package/dist/cjs/common/constants/runtime.js +5 -0
  18. package/dist/cjs/common/constants/shared-channel.js +5 -0
  19. package/dist/cjs/common/context/shared-context.js +5 -0
  20. package/dist/cjs/common/deny-list/deny-list.js +7 -1
  21. package/dist/cjs/common/dispatch/global-event.js +5 -0
  22. package/dist/cjs/common/dom/iframe.js +4 -0
  23. package/dist/cjs/common/dom/query-selector.js +4 -0
  24. package/dist/cjs/common/dom/selector-path.js +5 -0
  25. package/dist/cjs/common/drain/drain.js +2 -2
  26. package/dist/cjs/common/event-emitter/contextual-ee.js +2 -2
  27. package/dist/cjs/common/event-emitter/event-context.js +4 -0
  28. package/dist/cjs/common/event-emitter/handle.js +2 -2
  29. package/dist/cjs/common/event-emitter/register-handler.js +2 -2
  30. package/dist/cjs/common/event-listener/event-listener-opts.js +4 -0
  31. package/dist/cjs/common/harvest/harvester.js +22 -7
  32. package/dist/cjs/common/harvest/types.js +5 -0
  33. package/dist/cjs/common/ids/bundle-id.js +5 -0
  34. package/dist/cjs/common/ids/id.js +2 -2
  35. package/dist/cjs/common/ids/unique-id.js +2 -2
  36. package/dist/cjs/common/serialize/bel-serializer.js +2 -2
  37. package/dist/cjs/common/session/constants.js +4 -0
  38. package/dist/cjs/common/session/session-entity.js +5 -0
  39. package/dist/cjs/common/storage/local-storage.js +4 -0
  40. package/dist/cjs/common/timer/interaction-timer.js +5 -0
  41. package/dist/cjs/common/timer/timer.js +4 -0
  42. package/dist/cjs/common/timing/nav-timing.js +2 -2
  43. package/dist/cjs/common/timing/now.js +2 -2
  44. package/dist/cjs/common/timing/time-keeper.js +5 -0
  45. package/dist/cjs/common/unload/eol.js +2 -2
  46. package/dist/cjs/common/url/canonicalize-url.js +2 -2
  47. package/dist/cjs/common/url/clean-url.js +2 -2
  48. package/dist/cjs/common/url/encode.js +2 -2
  49. package/dist/cjs/common/url/location.js +2 -2
  50. package/dist/cjs/common/url/parse-url.js +2 -2
  51. package/dist/cjs/common/url/protocol.js +2 -2
  52. package/dist/cjs/common/util/console.js +5 -0
  53. package/dist/cjs/common/util/data-size.js +2 -2
  54. package/dist/cjs/common/util/feature-flags.js +2 -2
  55. package/dist/cjs/common/util/get-or-set.js +2 -2
  56. package/dist/cjs/common/util/invoke.js +5 -0
  57. package/dist/cjs/common/util/obfuscate.js +5 -0
  58. package/dist/cjs/common/util/stringify.js +2 -2
  59. package/dist/cjs/common/util/submit-data.js +5 -0
  60. package/dist/cjs/common/util/text.js +4 -0
  61. package/dist/cjs/common/util/traverse.js +2 -2
  62. package/dist/cjs/common/util/type-check.js +5 -0
  63. package/dist/cjs/common/vitals/constants.js +9 -2
  64. package/dist/cjs/common/vitals/cumulative-layout-shift.js +5 -0
  65. package/dist/cjs/common/vitals/first-contentful-paint.js +5 -0
  66. package/dist/cjs/common/vitals/first-interaction.js +44 -0
  67. package/dist/cjs/common/vitals/first-paint.js +5 -0
  68. package/dist/cjs/common/vitals/interaction-to-next-paint.js +5 -0
  69. package/dist/cjs/common/vitals/largest-contentful-paint.js +5 -0
  70. package/dist/cjs/common/vitals/time-to-first-byte.js +5 -0
  71. package/dist/cjs/common/vitals/vital-metric.js +4 -0
  72. package/dist/cjs/common/window/load.js +5 -0
  73. package/dist/cjs/common/window/nreum.js +5 -0
  74. package/dist/cjs/common/window/page-visibility.js +2 -2
  75. package/dist/cjs/common/wrap/wrap-events.js +3 -2
  76. package/dist/cjs/common/wrap/wrap-fetch.js +3 -2
  77. package/dist/cjs/common/wrap/wrap-function.js +3 -2
  78. package/dist/cjs/common/wrap/wrap-history.js +3 -2
  79. package/dist/cjs/common/wrap/wrap-jsonp.js +3 -2
  80. package/dist/cjs/common/wrap/wrap-logger.js +3 -2
  81. package/dist/cjs/common/wrap/wrap-mutation.js +3 -2
  82. package/dist/cjs/common/wrap/wrap-promise.js +3 -2
  83. package/dist/cjs/common/wrap/wrap-timer.js +3 -2
  84. package/dist/cjs/common/wrap/wrap-websocket.js +5 -0
  85. package/dist/cjs/common/wrap/wrap-xhr.js +3 -2
  86. package/dist/cjs/features/ajax/aggregate/gql.js +5 -0
  87. package/dist/cjs/features/ajax/aggregate/index.js +2 -2
  88. package/dist/cjs/features/ajax/constants.js +5 -0
  89. package/dist/cjs/features/ajax/instrument/distributed-tracing.js +2 -2
  90. package/dist/cjs/features/ajax/instrument/index.js +2 -2
  91. package/dist/cjs/features/ajax/instrument/response-size.js +2 -2
  92. package/dist/cjs/features/generic_events/aggregate/index.js +24 -6
  93. package/dist/cjs/features/generic_events/aggregate/user-actions/aggregated-user-action.js +5 -0
  94. package/dist/cjs/features/generic_events/aggregate/user-actions/user-actions-aggregator.js +5 -0
  95. package/dist/cjs/features/generic_events/constants.js +5 -0
  96. package/dist/cjs/features/generic_events/instrument/index.js +11 -2
  97. package/dist/cjs/features/jserrors/aggregate/canonical-function-name.js +2 -2
  98. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.js +2 -2
  99. package/dist/cjs/features/jserrors/aggregate/format-stack-trace.js +2 -2
  100. package/dist/cjs/features/jserrors/aggregate/index.js +2 -2
  101. package/dist/cjs/features/jserrors/aggregate/internal-errors.js +4 -0
  102. package/dist/cjs/features/jserrors/aggregate/string-hash-code.js +2 -2
  103. package/dist/cjs/features/jserrors/constants.js +5 -0
  104. package/dist/cjs/features/jserrors/instrument/index.js +2 -2
  105. package/dist/cjs/features/jserrors/shared/cast-error.js +5 -0
  106. package/dist/cjs/features/jserrors/shared/uncaught-error.js +5 -0
  107. package/dist/cjs/features/logging/aggregate/index.js +5 -0
  108. package/dist/cjs/features/logging/constants.js +5 -0
  109. package/dist/cjs/features/logging/instrument/index.js +5 -0
  110. package/dist/cjs/features/logging/shared/log.js +5 -0
  111. package/dist/cjs/features/logging/shared/utils.js +5 -0
  112. package/dist/cjs/features/metrics/aggregate/framework-detection.js +5 -0
  113. package/dist/cjs/features/metrics/aggregate/index.js +5 -0
  114. package/dist/cjs/features/metrics/aggregate/websocket-detection.js +5 -0
  115. package/dist/cjs/features/metrics/constants.js +5 -0
  116. package/dist/cjs/features/metrics/instrument/index.js +5 -0
  117. package/dist/cjs/features/page_action/constants.js +5 -0
  118. package/dist/cjs/features/page_action/instrument/index.js +2 -2
  119. package/dist/cjs/features/page_view_event/aggregate/index.js +5 -0
  120. package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +5 -0
  121. package/dist/cjs/features/page_view_event/constants.js +5 -0
  122. package/dist/cjs/features/page_view_event/instrument/index.js +5 -0
  123. package/dist/cjs/features/page_view_timing/aggregate/index.js +5 -5
  124. package/dist/cjs/features/page_view_timing/constants.js +5 -0
  125. package/dist/cjs/features/page_view_timing/instrument/index.js +2 -2
  126. package/dist/cjs/features/session_replay/aggregate/index.js +2 -2
  127. package/dist/cjs/features/session_replay/constants.js +5 -0
  128. package/dist/cjs/features/session_replay/instrument/index.js +2 -2
  129. package/dist/cjs/features/session_replay/shared/recorder-events.js +5 -0
  130. package/dist/cjs/features/session_replay/shared/recorder.js +5 -0
  131. package/dist/cjs/features/session_replay/shared/stylesheet-evaluator.js +5 -0
  132. package/dist/cjs/features/session_replay/shared/utils.js +5 -0
  133. package/dist/cjs/features/session_trace/aggregate/index.js +5 -0
  134. package/dist/cjs/features/session_trace/aggregate/trace/node.js +4 -1
  135. package/dist/cjs/features/session_trace/aggregate/trace/storage.js +5 -7
  136. package/dist/cjs/features/session_trace/constants.js +5 -0
  137. package/dist/cjs/features/session_trace/instrument/index.js +2 -2
  138. package/dist/cjs/features/soft_navigations/aggregate/ajax-node.js +5 -0
  139. package/dist/cjs/features/soft_navigations/aggregate/bel-node.js +4 -0
  140. package/dist/cjs/features/soft_navigations/aggregate/index.js +5 -0
  141. package/dist/cjs/features/soft_navigations/aggregate/initial-page-load-interaction.js +5 -0
  142. package/dist/cjs/features/soft_navigations/aggregate/interaction.js +5 -0
  143. package/dist/cjs/features/soft_navigations/constants.js +5 -0
  144. package/dist/cjs/features/soft_navigations/instrument/index.js +5 -0
  145. package/dist/cjs/features/spa/aggregate/index.js +2 -2
  146. package/dist/cjs/features/spa/aggregate/interaction-node.js +2 -2
  147. package/dist/cjs/features/spa/aggregate/interaction.js +2 -2
  148. package/dist/cjs/features/spa/aggregate/serializer.js +2 -2
  149. package/dist/cjs/features/spa/constants.js +5 -0
  150. package/dist/cjs/features/spa/instrument/index.js +3 -3
  151. package/dist/cjs/features/utils/agent-session.js +5 -0
  152. package/dist/cjs/features/utils/aggregate-base.js +5 -0
  153. package/dist/cjs/features/utils/event-buffer.js +5 -0
  154. package/dist/cjs/features/utils/event-store-manager.js +5 -0
  155. package/dist/cjs/features/utils/feature-base.js +5 -0
  156. package/dist/cjs/features/utils/feature-gates.js +5 -0
  157. package/dist/cjs/features/utils/instrument-base.js +3 -0
  158. package/dist/cjs/features/utils/lazy-feature-loader.js +4 -1
  159. package/dist/cjs/features/utils/nr1-debugger.js +5 -0
  160. package/dist/cjs/loaders/agent-base.js +5 -0
  161. package/dist/cjs/loaders/agent.js +5 -0
  162. package/dist/cjs/loaders/api/api-methods.js +5 -0
  163. package/dist/cjs/loaders/api/api.js +2 -2
  164. package/dist/cjs/loaders/api/apiAsync.js +5 -0
  165. package/dist/cjs/loaders/api/interaction-types.js +3 -0
  166. package/dist/cjs/loaders/browser-agent.js +5 -0
  167. package/dist/cjs/loaders/configure/configure.js +5 -0
  168. package/dist/cjs/loaders/configure/nonce.cdn.js +5 -0
  169. package/dist/cjs/loaders/configure/nonce.js +11 -1
  170. package/dist/cjs/loaders/configure/public-path.cdn.js +5 -1
  171. package/dist/cjs/loaders/configure/public-path.js +4 -0
  172. package/dist/cjs/loaders/features/enabled-features.js +5 -0
  173. package/dist/cjs/loaders/features/featureDependencies.js +5 -0
  174. package/dist/cjs/loaders/features/features.js +5 -0
  175. package/dist/cjs/loaders/micro-agent-base.js +5 -0
  176. package/dist/cjs/loaders/micro-agent.js +4 -1
  177. package/dist/esm/cdn/experimental.js +2 -2
  178. package/dist/esm/cdn/lite.js +5 -0
  179. package/dist/esm/cdn/pro.js +5 -0
  180. package/dist/esm/cdn/spa.js +5 -0
  181. package/dist/esm/common/aggregate/aggregator.js +2 -2
  182. package/dist/esm/common/aggregate/event-aggregator.js +4 -0
  183. package/dist/esm/common/config/configurable.js +4 -0
  184. package/dist/esm/common/config/info.js +4 -0
  185. package/dist/esm/common/config/init.js +5 -0
  186. package/dist/esm/common/config/loader-config.js +4 -0
  187. package/dist/esm/common/config/runtime.js +4 -0
  188. package/dist/esm/common/constants/agent-constants.js +4 -0
  189. package/dist/esm/common/constants/env.cdn.js +6 -1
  190. package/dist/esm/common/constants/env.js +5 -0
  191. package/dist/esm/common/constants/env.npm.js +6 -1
  192. package/dist/esm/common/constants/runtime.js +5 -0
  193. package/dist/esm/common/constants/shared-channel.js +5 -0
  194. package/dist/esm/common/context/shared-context.js +4 -0
  195. package/dist/esm/common/deny-list/deny-list.js +7 -1
  196. package/dist/esm/common/dispatch/global-event.js +4 -0
  197. package/dist/esm/common/dom/iframe.js +4 -0
  198. package/dist/esm/common/dom/query-selector.js +4 -0
  199. package/dist/esm/common/dom/selector-path.js +5 -0
  200. package/dist/esm/common/drain/drain.js +2 -2
  201. package/dist/esm/common/event-emitter/contextual-ee.js +2 -2
  202. package/dist/esm/common/event-emitter/event-context.js +4 -0
  203. package/dist/esm/common/event-emitter/handle.js +2 -2
  204. package/dist/esm/common/event-emitter/register-handler.js +2 -2
  205. package/dist/esm/common/event-listener/event-listener-opts.js +4 -0
  206. package/dist/esm/common/harvest/harvester.js +20 -6
  207. package/dist/esm/common/harvest/types.js +5 -0
  208. package/dist/esm/common/ids/bundle-id.js +5 -0
  209. package/dist/esm/common/ids/id.js +2 -2
  210. package/dist/esm/common/ids/unique-id.js +2 -2
  211. package/dist/esm/common/serialize/bel-serializer.js +2 -2
  212. package/dist/esm/common/session/constants.js +4 -0
  213. package/dist/esm/common/session/session-entity.js +4 -0
  214. package/dist/esm/common/storage/local-storage.js +4 -0
  215. package/dist/esm/common/timer/interaction-timer.js +4 -0
  216. package/dist/esm/common/timer/timer.js +4 -0
  217. package/dist/esm/common/timing/nav-timing.js +2 -2
  218. package/dist/esm/common/timing/now.js +2 -2
  219. package/dist/esm/common/timing/time-keeper.js +4 -0
  220. package/dist/esm/common/unload/eol.js +2 -2
  221. package/dist/esm/common/url/canonicalize-url.js +2 -2
  222. package/dist/esm/common/url/clean-url.js +2 -2
  223. package/dist/esm/common/url/encode.js +2 -2
  224. package/dist/esm/common/url/location.js +2 -2
  225. package/dist/esm/common/url/parse-url.js +2 -2
  226. package/dist/esm/common/url/protocol.js +2 -2
  227. package/dist/esm/common/util/console.js +5 -0
  228. package/dist/esm/common/util/data-size.js +2 -2
  229. package/dist/esm/common/util/feature-flags.js +2 -2
  230. package/dist/esm/common/util/get-or-set.js +2 -2
  231. package/dist/esm/common/util/invoke.js +5 -0
  232. package/dist/esm/common/util/obfuscate.js +4 -0
  233. package/dist/esm/common/util/stringify.js +2 -2
  234. package/dist/esm/common/util/submit-data.js +5 -0
  235. package/dist/esm/common/util/text.js +4 -0
  236. package/dist/esm/common/util/traverse.js +2 -2
  237. package/dist/esm/common/util/type-check.js +5 -0
  238. package/dist/esm/common/vitals/constants.js +8 -1
  239. package/dist/esm/common/vitals/cumulative-layout-shift.js +4 -0
  240. package/dist/esm/common/vitals/first-contentful-paint.js +4 -0
  241. package/dist/esm/common/vitals/first-interaction.js +38 -0
  242. package/dist/esm/common/vitals/first-paint.js +4 -0
  243. package/dist/esm/common/vitals/interaction-to-next-paint.js +4 -0
  244. package/dist/esm/common/vitals/largest-contentful-paint.js +4 -0
  245. package/dist/esm/common/vitals/time-to-first-byte.js +4 -0
  246. package/dist/esm/common/vitals/vital-metric.js +4 -0
  247. package/dist/esm/common/window/load.js +4 -0
  248. package/dist/esm/common/window/nreum.js +4 -0
  249. package/dist/esm/common/window/page-visibility.js +2 -2
  250. package/dist/esm/common/wrap/wrap-events.js +3 -2
  251. package/dist/esm/common/wrap/wrap-fetch.js +3 -2
  252. package/dist/esm/common/wrap/wrap-function.js +3 -2
  253. package/dist/esm/common/wrap/wrap-history.js +3 -2
  254. package/dist/esm/common/wrap/wrap-jsonp.js +3 -2
  255. package/dist/esm/common/wrap/wrap-logger.js +3 -2
  256. package/dist/esm/common/wrap/wrap-mutation.js +3 -2
  257. package/dist/esm/common/wrap/wrap-promise.js +3 -2
  258. package/dist/esm/common/wrap/wrap-timer.js +3 -2
  259. package/dist/esm/common/wrap/wrap-websocket.js +4 -0
  260. package/dist/esm/common/wrap/wrap-xhr.js +3 -2
  261. package/dist/esm/features/ajax/aggregate/gql.js +4 -0
  262. package/dist/esm/features/ajax/aggregate/index.js +2 -2
  263. package/dist/esm/features/ajax/constants.js +4 -0
  264. package/dist/esm/features/ajax/index.js +4 -0
  265. package/dist/esm/features/ajax/instrument/distributed-tracing.js +2 -2
  266. package/dist/esm/features/ajax/instrument/index.js +2 -2
  267. package/dist/esm/features/ajax/instrument/response-size.js +2 -2
  268. package/dist/esm/features/generic_events/aggregate/index.js +24 -6
  269. package/dist/esm/features/generic_events/aggregate/user-actions/aggregated-user-action.js +4 -0
  270. package/dist/esm/features/generic_events/aggregate/user-actions/user-actions-aggregator.js +4 -0
  271. package/dist/esm/features/generic_events/constants.js +4 -0
  272. package/dist/esm/features/generic_events/index.js +4 -0
  273. package/dist/esm/features/generic_events/instrument/index.js +11 -2
  274. package/dist/esm/features/jserrors/aggregate/canonical-function-name.js +2 -2
  275. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.js +2 -2
  276. package/dist/esm/features/jserrors/aggregate/format-stack-trace.js +2 -2
  277. package/dist/esm/features/jserrors/aggregate/index.js +2 -2
  278. package/dist/esm/features/jserrors/aggregate/internal-errors.js +4 -0
  279. package/dist/esm/features/jserrors/aggregate/string-hash-code.js +2 -2
  280. package/dist/esm/features/jserrors/constants.js +4 -0
  281. package/dist/esm/features/jserrors/index.js +4 -0
  282. package/dist/esm/features/jserrors/instrument/index.js +2 -2
  283. package/dist/esm/features/jserrors/shared/cast-error.js +4 -0
  284. package/dist/esm/features/jserrors/shared/uncaught-error.js +4 -0
  285. package/dist/esm/features/logging/aggregate/index.js +4 -0
  286. package/dist/esm/features/logging/constants.js +4 -0
  287. package/dist/esm/features/logging/index.js +4 -0
  288. package/dist/esm/features/logging/instrument/index.js +4 -0
  289. package/dist/esm/features/logging/shared/log.js +4 -0
  290. package/dist/esm/features/logging/shared/utils.js +4 -0
  291. package/dist/esm/features/metrics/aggregate/framework-detection.js +4 -0
  292. package/dist/esm/features/metrics/aggregate/index.js +4 -0
  293. package/dist/esm/features/metrics/aggregate/websocket-detection.js +4 -0
  294. package/dist/esm/features/metrics/constants.js +5 -0
  295. package/dist/esm/features/metrics/index.js +4 -0
  296. package/dist/esm/features/metrics/instrument/index.js +5 -0
  297. package/dist/esm/features/page_action/constants.js +4 -0
  298. package/dist/esm/features/page_action/index.js +4 -0
  299. package/dist/esm/features/page_action/instrument/index.js +2 -2
  300. package/dist/esm/features/page_view_event/aggregate/index.js +4 -0
  301. package/dist/esm/features/page_view_event/aggregate/initialized-features.js +4 -0
  302. package/dist/esm/features/page_view_event/constants.js +4 -0
  303. package/dist/esm/features/page_view_event/index.js +4 -0
  304. package/dist/esm/features/page_view_event/instrument/index.js +4 -0
  305. package/dist/esm/features/page_view_timing/aggregate/index.js +5 -5
  306. package/dist/esm/features/page_view_timing/constants.js +4 -0
  307. package/dist/esm/features/page_view_timing/index.js +4 -0
  308. package/dist/esm/features/page_view_timing/instrument/index.js +2 -2
  309. package/dist/esm/features/session_replay/aggregate/index.js +2 -2
  310. package/dist/esm/features/session_replay/constants.js +4 -0
  311. package/dist/esm/features/session_replay/index.js +2 -2
  312. package/dist/esm/features/session_replay/instrument/index.js +2 -2
  313. package/dist/esm/features/session_replay/shared/recorder-events.js +4 -0
  314. package/dist/esm/features/session_replay/shared/recorder.js +4 -0
  315. package/dist/esm/features/session_replay/shared/stylesheet-evaluator.js +4 -0
  316. package/dist/esm/features/session_replay/shared/utils.js +4 -0
  317. package/dist/esm/features/session_trace/aggregate/index.js +4 -0
  318. package/dist/esm/features/session_trace/aggregate/trace/node.js +4 -1
  319. package/dist/esm/features/session_trace/aggregate/trace/storage.js +4 -7
  320. package/dist/esm/features/session_trace/constants.js +4 -0
  321. package/dist/esm/features/session_trace/index.js +4 -0
  322. package/dist/esm/features/session_trace/instrument/index.js +2 -2
  323. package/dist/esm/features/soft_navigations/aggregate/ajax-node.js +4 -0
  324. package/dist/esm/features/soft_navigations/aggregate/bel-node.js +4 -0
  325. package/dist/esm/features/soft_navigations/aggregate/index.js +4 -0
  326. package/dist/esm/features/soft_navigations/aggregate/initial-page-load-interaction.js +4 -0
  327. package/dist/esm/features/soft_navigations/aggregate/interaction.js +4 -0
  328. package/dist/esm/features/soft_navigations/constants.js +4 -0
  329. package/dist/esm/features/soft_navigations/index.js +4 -0
  330. package/dist/esm/features/soft_navigations/instrument/index.js +4 -0
  331. package/dist/esm/features/spa/aggregate/index.js +2 -2
  332. package/dist/esm/features/spa/aggregate/interaction-node.js +2 -2
  333. package/dist/esm/features/spa/aggregate/interaction.js +2 -2
  334. package/dist/esm/features/spa/aggregate/serializer.js +2 -2
  335. package/dist/esm/features/spa/constants.js +4 -0
  336. package/dist/esm/features/spa/index.js +4 -0
  337. package/dist/esm/features/spa/instrument/index.js +3 -3
  338. package/dist/esm/features/utils/agent-session.js +4 -0
  339. package/dist/esm/features/utils/aggregate-base.js +4 -0
  340. package/dist/esm/features/utils/event-buffer.js +4 -0
  341. package/dist/esm/features/utils/event-store-manager.js +4 -0
  342. package/dist/esm/features/utils/feature-base.js +4 -0
  343. package/dist/esm/features/utils/feature-gates.js +4 -0
  344. package/dist/esm/features/utils/instrument-base.js +5 -0
  345. package/dist/esm/features/utils/lazy-feature-loader.js +4 -0
  346. package/dist/esm/features/utils/nr1-debugger.js +4 -0
  347. package/dist/esm/index.js +4 -0
  348. package/dist/esm/loaders/agent-base.js +5 -0
  349. package/dist/esm/loaders/agent.js +5 -0
  350. package/dist/esm/loaders/api/api-methods.js +4 -0
  351. package/dist/esm/loaders/api/api.js +2 -2
  352. package/dist/esm/loaders/api/apiAsync.js +4 -0
  353. package/dist/esm/loaders/api/interaction-types.js +3 -0
  354. package/dist/esm/loaders/browser-agent.js +4 -0
  355. package/dist/esm/loaders/configure/configure.js +4 -0
  356. package/dist/esm/loaders/configure/nonce.cdn.js +5 -0
  357. package/dist/esm/loaders/configure/nonce.js +6 -1
  358. package/dist/esm/loaders/configure/public-path.cdn.js +5 -1
  359. package/dist/esm/loaders/configure/public-path.js +4 -0
  360. package/dist/esm/loaders/features/enabled-features.js +4 -0
  361. package/dist/esm/loaders/features/featureDependencies.js +4 -0
  362. package/dist/esm/loaders/features/features.js +5 -0
  363. package/dist/esm/loaders/micro-agent-base.js +4 -0
  364. package/dist/esm/loaders/micro-agent.js +5 -0
  365. package/dist/types/common/aggregate/aggregator.d.ts +4 -0
  366. package/dist/types/common/aggregate/aggregator.d.ts.map +1 -1
  367. package/dist/types/common/aggregate/event-aggregator.d.ts.map +1 -1
  368. package/dist/types/common/config/configurable.d.ts.map +1 -1
  369. package/dist/types/common/config/info.d.ts.map +1 -1
  370. package/dist/types/common/config/init.d.ts.map +1 -1
  371. package/dist/types/common/config/loader-config.d.ts.map +1 -1
  372. package/dist/types/common/config/runtime.d.ts.map +1 -1
  373. package/dist/types/common/constants/agent-constants.d.ts +4 -0
  374. package/dist/types/common/constants/agent-constants.d.ts.map +1 -1
  375. package/dist/types/common/constants/env.cdn.d.ts +4 -0
  376. package/dist/types/common/constants/env.cdn.d.ts.map +1 -1
  377. package/dist/types/common/constants/env.d.ts.map +1 -1
  378. package/dist/types/common/constants/env.npm.d.ts +4 -0
  379. package/dist/types/common/constants/env.npm.d.ts.map +1 -1
  380. package/dist/types/common/constants/runtime.d.ts.map +1 -1
  381. package/dist/types/common/constants/shared-channel.d.ts.map +1 -1
  382. package/dist/types/common/context/shared-context.d.ts.map +1 -1
  383. package/dist/types/common/deny-list/deny-list.d.ts.map +1 -1
  384. package/dist/types/common/dispatch/global-event.d.ts.map +1 -1
  385. package/dist/types/common/dom/iframe.d.ts +4 -0
  386. package/dist/types/common/dom/iframe.d.ts.map +1 -1
  387. package/dist/types/common/dom/query-selector.d.ts.map +1 -1
  388. package/dist/types/common/dom/selector-path.d.ts.map +1 -1
  389. package/dist/types/common/event-emitter/event-context.d.ts +4 -0
  390. package/dist/types/common/event-emitter/event-context.d.ts.map +1 -1
  391. package/dist/types/common/event-listener/event-listener-opts.d.ts +4 -0
  392. package/dist/types/common/event-listener/event-listener-opts.d.ts.map +1 -1
  393. package/dist/types/common/harvest/harvester.d.ts.map +1 -1
  394. package/dist/types/common/harvest/types.d.ts +4 -0
  395. package/dist/types/common/harvest/types.d.ts.map +1 -1
  396. package/dist/types/common/ids/bundle-id.d.ts.map +1 -1
  397. package/dist/types/common/session/constants.d.ts +4 -0
  398. package/dist/types/common/session/constants.d.ts.map +1 -1
  399. package/dist/types/common/session/session-entity.d.ts.map +1 -1
  400. package/dist/types/common/storage/local-storage.d.ts +4 -0
  401. package/dist/types/common/storage/local-storage.d.ts.map +1 -1
  402. package/dist/types/common/timer/interaction-timer.d.ts.map +1 -1
  403. package/dist/types/common/timer/timer.d.ts +4 -0
  404. package/dist/types/common/timer/timer.d.ts.map +1 -1
  405. package/dist/types/common/timing/now.d.ts +4 -0
  406. package/dist/types/common/timing/now.d.ts.map +1 -1
  407. package/dist/types/common/timing/time-keeper.d.ts.map +1 -1
  408. package/dist/types/common/url/location.d.ts +4 -0
  409. package/dist/types/common/url/location.d.ts.map +1 -1
  410. package/dist/types/common/util/console.d.ts +4 -0
  411. package/dist/types/common/util/console.d.ts.map +1 -1
  412. package/dist/types/common/util/invoke.d.ts +4 -0
  413. package/dist/types/common/util/invoke.d.ts.map +1 -1
  414. package/dist/types/common/util/obfuscate.d.ts.map +1 -1
  415. package/dist/types/common/util/submit-data.d.ts.map +1 -1
  416. package/dist/types/common/util/text.d.ts +4 -0
  417. package/dist/types/common/util/text.d.ts.map +1 -1
  418. package/dist/types/common/util/traverse.d.ts +4 -0
  419. package/dist/types/common/util/traverse.d.ts.map +1 -1
  420. package/dist/types/common/util/type-check.d.ts +4 -0
  421. package/dist/types/common/util/type-check.d.ts.map +1 -1
  422. package/dist/types/common/vitals/constants.d.ts +4 -1
  423. package/dist/types/common/vitals/cumulative-layout-shift.d.ts.map +1 -1
  424. package/dist/types/common/vitals/first-contentful-paint.d.ts.map +1 -1
  425. package/dist/types/common/vitals/first-interaction.d.ts +3 -0
  426. package/dist/types/common/vitals/first-interaction.d.ts.map +1 -0
  427. package/dist/types/common/vitals/first-paint.d.ts.map +1 -1
  428. package/dist/types/common/vitals/interaction-to-next-paint.d.ts.map +1 -1
  429. package/dist/types/common/vitals/largest-contentful-paint.d.ts.map +1 -1
  430. package/dist/types/common/vitals/time-to-first-byte.d.ts.map +1 -1
  431. package/dist/types/common/vitals/vital-metric.d.ts +4 -0
  432. package/dist/types/common/vitals/vital-metric.d.ts.map +1 -1
  433. package/dist/types/common/window/load.d.ts.map +1 -1
  434. package/dist/types/common/window/nreum.d.ts.map +1 -1
  435. package/dist/types/common/wrap/wrap-events.d.ts.map +1 -1
  436. package/dist/types/common/wrap/wrap-fetch.d.ts.map +1 -1
  437. package/dist/types/common/wrap/wrap-function.d.ts.map +1 -1
  438. package/dist/types/common/wrap/wrap-history.d.ts.map +1 -1
  439. package/dist/types/common/wrap/wrap-jsonp.d.ts.map +1 -1
  440. package/dist/types/common/wrap/wrap-logger.d.ts.map +1 -1
  441. package/dist/types/common/wrap/wrap-mutation.d.ts.map +1 -1
  442. package/dist/types/common/wrap/wrap-promise.d.ts.map +1 -1
  443. package/dist/types/common/wrap/wrap-timer.d.ts.map +1 -1
  444. package/dist/types/common/wrap/wrap-websocket.d.ts.map +1 -1
  445. package/dist/types/common/wrap/wrap-xhr.d.ts.map +1 -1
  446. package/dist/types/features/ajax/aggregate/gql.d.ts.map +1 -1
  447. package/dist/types/features/ajax/constants.d.ts.map +1 -1
  448. package/dist/types/features/generic_events/aggregate/index.d.ts.map +1 -1
  449. package/dist/types/features/generic_events/aggregate/user-actions/aggregated-user-action.d.ts.map +1 -1
  450. package/dist/types/features/generic_events/aggregate/user-actions/user-actions-aggregator.d.ts.map +1 -1
  451. package/dist/types/features/generic_events/constants.d.ts.map +1 -1
  452. package/dist/types/features/generic_events/instrument/index.d.ts.map +1 -1
  453. package/dist/types/features/jserrors/aggregate/internal-errors.d.ts.map +1 -1
  454. package/dist/types/features/jserrors/aggregate/string-hash-code.d.ts +4 -0
  455. package/dist/types/features/jserrors/aggregate/string-hash-code.d.ts.map +1 -1
  456. package/dist/types/features/jserrors/constants.d.ts.map +1 -1
  457. package/dist/types/features/jserrors/shared/cast-error.d.ts.map +1 -1
  458. package/dist/types/features/jserrors/shared/uncaught-error.d.ts.map +1 -1
  459. package/dist/types/features/logging/aggregate/index.d.ts.map +1 -1
  460. package/dist/types/features/logging/constants.d.ts.map +1 -1
  461. package/dist/types/features/logging/instrument/index.d.ts.map +1 -1
  462. package/dist/types/features/logging/shared/log.d.ts.map +1 -1
  463. package/dist/types/features/logging/shared/utils.d.ts.map +1 -1
  464. package/dist/types/features/metrics/aggregate/framework-detection.d.ts.map +1 -1
  465. package/dist/types/features/metrics/aggregate/index.d.ts.map +1 -1
  466. package/dist/types/features/metrics/aggregate/websocket-detection.d.ts.map +1 -1
  467. package/dist/types/features/metrics/constants.d.ts.map +1 -1
  468. package/dist/types/features/metrics/instrument/index.d.ts.map +1 -1
  469. package/dist/types/features/page_action/constants.d.ts.map +1 -1
  470. package/dist/types/features/page_view_event/aggregate/index.d.ts.map +1 -1
  471. package/dist/types/features/page_view_event/aggregate/initialized-features.d.ts.map +1 -1
  472. package/dist/types/features/page_view_event/constants.d.ts.map +1 -1
  473. package/dist/types/features/page_view_event/instrument/index.d.ts.map +1 -1
  474. package/dist/types/features/page_view_timing/constants.d.ts.map +1 -1
  475. package/dist/types/features/session_replay/constants.d.ts.map +1 -1
  476. package/dist/types/features/session_replay/shared/recorder-events.d.ts.map +1 -1
  477. package/dist/types/features/session_replay/shared/recorder.d.ts.map +1 -1
  478. package/dist/types/features/session_replay/shared/stylesheet-evaluator.d.ts.map +1 -1
  479. package/dist/types/features/session_replay/shared/utils.d.ts.map +1 -1
  480. package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
  481. package/dist/types/features/session_trace/aggregate/trace/node.d.ts +3 -1
  482. package/dist/types/features/session_trace/aggregate/trace/node.d.ts.map +1 -1
  483. package/dist/types/features/session_trace/aggregate/trace/storage.d.ts.map +1 -1
  484. package/dist/types/features/session_trace/constants.d.ts.map +1 -1
  485. package/dist/types/features/soft_navigations/aggregate/ajax-node.d.ts.map +1 -1
  486. package/dist/types/features/soft_navigations/aggregate/bel-node.d.ts.map +1 -1
  487. package/dist/types/features/soft_navigations/aggregate/index.d.ts.map +1 -1
  488. package/dist/types/features/soft_navigations/aggregate/initial-page-load-interaction.d.ts.map +1 -1
  489. package/dist/types/features/soft_navigations/aggregate/interaction.d.ts.map +1 -1
  490. package/dist/types/features/soft_navigations/constants.d.ts.map +1 -1
  491. package/dist/types/features/soft_navigations/instrument/index.d.ts.map +1 -1
  492. package/dist/types/features/spa/constants.d.ts.map +1 -1
  493. package/dist/types/features/utils/agent-session.d.ts.map +1 -1
  494. package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
  495. package/dist/types/features/utils/event-buffer.d.ts.map +1 -1
  496. package/dist/types/features/utils/event-store-manager.d.ts.map +1 -1
  497. package/dist/types/features/utils/feature-base.d.ts.map +1 -1
  498. package/dist/types/features/utils/feature-gates.d.ts.map +1 -1
  499. package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
  500. package/dist/types/features/utils/lazy-feature-loader.d.ts.map +1 -1
  501. package/dist/types/features/utils/nr1-debugger.d.ts.map +1 -1
  502. package/dist/types/loaders/agent-base.d.ts.map +1 -1
  503. package/dist/types/loaders/agent.d.ts.map +1 -1
  504. package/dist/types/loaders/api/api-methods.d.ts.map +1 -1
  505. package/dist/types/loaders/api/apiAsync.d.ts.map +1 -1
  506. package/dist/types/loaders/api/interaction-types.d.ts +7 -0
  507. package/dist/types/loaders/api/interaction-types.d.ts.map +1 -1
  508. package/dist/types/loaders/browser-agent.d.ts.map +1 -1
  509. package/dist/types/loaders/configure/configure.d.ts.map +1 -1
  510. package/dist/types/loaders/configure/nonce.d.ts +2 -0
  511. package/dist/types/loaders/configure/public-path.d.ts.map +1 -1
  512. package/dist/types/loaders/features/enabled-features.d.ts.map +1 -1
  513. package/dist/types/loaders/features/featureDependencies.d.ts.map +1 -1
  514. package/dist/types/loaders/features/features.d.ts +4 -0
  515. package/dist/types/loaders/features/features.d.ts.map +1 -1
  516. package/dist/types/loaders/micro-agent-base.d.ts.map +1 -1
  517. package/dist/types/loaders/micro-agent.d.ts.map +1 -1
  518. package/package.json +4 -3
  519. package/src/cdn/experimental.js +2 -2
  520. package/src/cdn/lite.js +5 -0
  521. package/src/cdn/pro.js +5 -0
  522. package/src/cdn/spa.js +5 -0
  523. package/src/common/aggregate/aggregator.js +2 -2
  524. package/src/common/aggregate/event-aggregator.js +4 -0
  525. package/src/common/config/__mocks__/info.js +4 -0
  526. package/src/common/config/__mocks__/init.js +4 -0
  527. package/src/common/config/__mocks__/loader-config.js +4 -0
  528. package/src/common/config/__mocks__/runtime.js +4 -0
  529. package/src/common/config/configurable.js +4 -0
  530. package/src/common/config/info.js +4 -0
  531. package/src/common/config/init.js +5 -0
  532. package/src/common/config/loader-config.js +4 -0
  533. package/src/common/config/runtime.js +4 -0
  534. package/src/common/constants/__mocks__/env.js +4 -0
  535. package/src/common/constants/__mocks__/runtime.js +4 -0
  536. package/src/common/constants/agent-constants.js +4 -0
  537. package/src/common/constants/env.cdn.js +5 -0
  538. package/src/common/constants/env.js +5 -0
  539. package/src/common/constants/env.npm.js +5 -0
  540. package/src/common/constants/runtime.js +5 -0
  541. package/src/common/constants/shared-channel.js +5 -0
  542. package/src/common/context/__mocks__/shared-context.js +4 -0
  543. package/src/common/context/shared-context.js +4 -0
  544. package/src/common/deny-list/deny-list.js +7 -1
  545. package/src/common/dispatch/global-event.js +4 -0
  546. package/src/common/dom/iframe.js +4 -0
  547. package/src/common/dom/query-selector.js +4 -0
  548. package/src/common/dom/selector-path.js +5 -0
  549. package/src/common/drain/__mocks__/drain.js +4 -0
  550. package/src/common/drain/drain.js +2 -2
  551. package/src/common/event-emitter/contextual-ee.js +2 -2
  552. package/src/common/event-emitter/event-context.js +4 -0
  553. package/src/common/event-emitter/handle.js +2 -2
  554. package/src/common/event-emitter/register-handler.js +2 -2
  555. package/src/common/event-listener/__mocks__/event-listener-opts.js +4 -0
  556. package/src/common/event-listener/event-listener-opts.js +4 -0
  557. package/src/common/harvest/__mocks__/harvester.js +6 -1
  558. package/src/common/harvest/harvester.js +20 -6
  559. package/src/common/harvest/types.js +5 -0
  560. package/src/common/ids/__mocks__/bundle-id.js +4 -0
  561. package/src/common/ids/__mocks__/unique-id.js +4 -0
  562. package/src/common/ids/bundle-id.js +5 -0
  563. package/src/common/ids/id.js +2 -2
  564. package/src/common/ids/unique-id.js +2 -2
  565. package/src/common/serialize/bel-serializer.js +2 -2
  566. package/src/common/session/__mocks__/session-entity.js +4 -0
  567. package/src/common/session/constants.js +4 -0
  568. package/src/common/session/session-entity.js +4 -0
  569. package/src/common/storage/local-storage.js +4 -0
  570. package/src/common/timer/interaction-timer.js +4 -0
  571. package/src/common/timer/timer.js +4 -0
  572. package/src/common/timing/__mocks__/now.js +4 -0
  573. package/src/common/timing/__mocks__/time-keeper.js +4 -0
  574. package/src/common/timing/nav-timing.js +2 -2
  575. package/src/common/timing/now.js +2 -2
  576. package/src/common/timing/time-keeper.js +4 -0
  577. package/src/common/unload/__mocks__/eol.js +4 -0
  578. package/src/common/unload/eol.js +2 -2
  579. package/src/common/url/__mocks__/clean-url.js +4 -0
  580. package/src/common/url/__mocks__/encode.js +4 -0
  581. package/src/common/url/__mocks__/location.js +4 -0
  582. package/src/common/url/__mocks__/parse-url.js +4 -0
  583. package/src/common/url/canonicalize-url.js +2 -2
  584. package/src/common/url/clean-url.js +2 -2
  585. package/src/common/url/encode.js +2 -2
  586. package/src/common/url/location.js +2 -2
  587. package/src/common/url/parse-url.js +2 -2
  588. package/src/common/url/protocol.js +2 -2
  589. package/src/common/util/__mocks__/console.js +4 -0
  590. package/src/common/util/__mocks__/get-or-set.js +4 -0
  591. package/src/common/util/__mocks__/invoke.js +4 -0
  592. package/src/common/util/__mocks__/obfuscate.js +4 -0
  593. package/src/common/util/__mocks__/stringify.js +4 -0
  594. package/src/common/util/__mocks__/submit-data.js +4 -0
  595. package/src/common/util/__mocks__/traverse.js +4 -0
  596. package/src/common/util/console.js +5 -0
  597. package/src/common/util/data-size.js +2 -2
  598. package/src/common/util/feature-flags.js +2 -2
  599. package/src/common/util/get-or-set.js +2 -2
  600. package/src/common/util/invoke.js +5 -0
  601. package/src/common/util/obfuscate.js +4 -0
  602. package/src/common/util/stringify.js +2 -2
  603. package/src/common/util/submit-data.js +5 -0
  604. package/src/common/util/text.js +4 -0
  605. package/src/common/util/traverse.js +2 -2
  606. package/src/common/util/type-check.js +5 -0
  607. package/src/common/vitals/constants.js +9 -1
  608. package/src/common/vitals/cumulative-layout-shift.js +4 -0
  609. package/src/common/vitals/first-contentful-paint.js +4 -0
  610. package/src/common/vitals/first-interaction.js +38 -0
  611. package/src/common/vitals/first-paint.js +4 -0
  612. package/src/common/vitals/interaction-to-next-paint.js +4 -0
  613. package/src/common/vitals/largest-contentful-paint.js +4 -0
  614. package/src/common/vitals/time-to-first-byte.js +4 -0
  615. package/src/common/vitals/vital-metric.js +4 -0
  616. package/src/common/window/__mocks__/load.js +4 -0
  617. package/src/common/window/__mocks__/nreum.js +4 -0
  618. package/src/common/window/load.js +4 -0
  619. package/src/common/window/nreum.js +4 -0
  620. package/src/common/window/page-visibility.js +2 -2
  621. package/src/common/wrap/wrap-events.js +3 -2
  622. package/src/common/wrap/wrap-fetch.js +3 -2
  623. package/src/common/wrap/wrap-function.js +3 -2
  624. package/src/common/wrap/wrap-history.js +3 -2
  625. package/src/common/wrap/wrap-jsonp.js +3 -2
  626. package/src/common/wrap/wrap-logger.js +3 -2
  627. package/src/common/wrap/wrap-mutation.js +3 -2
  628. package/src/common/wrap/wrap-promise.js +3 -2
  629. package/src/common/wrap/wrap-timer.js +3 -2
  630. package/src/common/wrap/wrap-websocket.js +4 -0
  631. package/src/common/wrap/wrap-xhr.js +3 -2
  632. package/src/features/ajax/aggregate/gql.js +4 -0
  633. package/src/features/ajax/aggregate/index.js +2 -2
  634. package/src/features/ajax/constants.js +4 -0
  635. package/src/features/ajax/index.js +4 -0
  636. package/src/features/ajax/instrument/distributed-tracing.js +2 -2
  637. package/src/features/ajax/instrument/index.js +2 -2
  638. package/src/features/ajax/instrument/response-size.js +2 -2
  639. package/src/features/generic_events/aggregate/index.js +26 -4
  640. package/src/features/generic_events/aggregate/user-actions/aggregated-user-action.js +4 -0
  641. package/src/features/generic_events/aggregate/user-actions/user-actions-aggregator.js +4 -0
  642. package/src/features/generic_events/constants.js +4 -0
  643. package/src/features/generic_events/index.js +4 -0
  644. package/src/features/generic_events/instrument/index.js +7 -3
  645. package/src/features/jserrors/aggregate/canonical-function-name.js +2 -2
  646. package/src/features/jserrors/aggregate/compute-stack-trace.js +2 -2
  647. package/src/features/jserrors/aggregate/format-stack-trace.js +2 -2
  648. package/src/features/jserrors/aggregate/index.js +2 -2
  649. package/src/features/jserrors/aggregate/internal-errors.js +4 -0
  650. package/src/features/jserrors/aggregate/string-hash-code.js +2 -2
  651. package/src/features/jserrors/constants.js +4 -0
  652. package/src/features/jserrors/index.js +4 -0
  653. package/src/features/jserrors/instrument/index.js +2 -2
  654. package/src/features/jserrors/shared/cast-error.js +4 -0
  655. package/src/features/jserrors/shared/uncaught-error.js +4 -0
  656. package/src/features/logging/aggregate/index.js +4 -0
  657. package/src/features/logging/constants.js +4 -0
  658. package/src/features/logging/index.js +4 -0
  659. package/src/features/logging/instrument/index.js +4 -0
  660. package/src/features/logging/shared/log.js +4 -0
  661. package/src/features/logging/shared/utils.js +4 -0
  662. package/src/features/metrics/aggregate/framework-detection.js +4 -0
  663. package/src/features/metrics/aggregate/index.js +4 -0
  664. package/src/features/metrics/aggregate/websocket-detection.js +4 -0
  665. package/src/features/metrics/constants.js +5 -0
  666. package/src/features/metrics/index.js +4 -0
  667. package/src/features/metrics/instrument/index.js +5 -0
  668. package/src/features/page_action/constants.js +4 -0
  669. package/src/features/page_action/index.js +4 -0
  670. package/src/features/page_action/instrument/index.js +2 -2
  671. package/src/features/page_view_event/aggregate/index.js +4 -0
  672. package/src/features/page_view_event/aggregate/initialized-features.js +4 -0
  673. package/src/features/page_view_event/constants.js +4 -0
  674. package/src/features/page_view_event/index.js +4 -0
  675. package/src/features/page_view_event/instrument/index.js +4 -0
  676. package/src/features/page_view_timing/aggregate/index.js +5 -5
  677. package/src/features/page_view_timing/constants.js +4 -0
  678. package/src/features/page_view_timing/index.js +4 -0
  679. package/src/features/page_view_timing/instrument/index.js +2 -2
  680. package/src/features/session_replay/aggregate/index.js +2 -2
  681. package/src/features/session_replay/constants.js +4 -0
  682. package/src/features/session_replay/index.js +2 -2
  683. package/src/features/session_replay/instrument/index.js +2 -2
  684. package/src/features/session_replay/shared/recorder-events.js +4 -0
  685. package/src/features/session_replay/shared/recorder.js +4 -0
  686. package/src/features/session_replay/shared/stylesheet-evaluator.js +4 -0
  687. package/src/features/session_replay/shared/utils.js +4 -0
  688. package/src/features/session_trace/aggregate/index.js +4 -0
  689. package/src/features/session_trace/aggregate/trace/node.js +4 -1
  690. package/src/features/session_trace/aggregate/trace/storage.js +4 -5
  691. package/src/features/session_trace/constants.js +4 -0
  692. package/src/features/session_trace/index.js +4 -0
  693. package/src/features/session_trace/instrument/index.js +2 -2
  694. package/src/features/soft_navigations/aggregate/ajax-node.js +4 -0
  695. package/src/features/soft_navigations/aggregate/bel-node.js +4 -0
  696. package/src/features/soft_navigations/aggregate/index.js +4 -0
  697. package/src/features/soft_navigations/aggregate/initial-page-load-interaction.js +4 -0
  698. package/src/features/soft_navigations/aggregate/interaction.js +4 -0
  699. package/src/features/soft_navigations/constants.js +4 -0
  700. package/src/features/soft_navigations/index.js +4 -0
  701. package/src/features/soft_navigations/instrument/index.js +4 -0
  702. package/src/features/spa/aggregate/index.js +2 -2
  703. package/src/features/spa/aggregate/interaction-node.js +2 -2
  704. package/src/features/spa/aggregate/interaction.js +2 -2
  705. package/src/features/spa/aggregate/serializer.js +2 -2
  706. package/src/features/spa/constants.js +4 -0
  707. package/src/features/spa/index.js +4 -0
  708. package/src/features/spa/instrument/index.js +3 -3
  709. package/src/features/utils/__mocks__/agent-session.js +4 -0
  710. package/src/features/utils/__mocks__/feature-base.js +4 -0
  711. package/src/features/utils/__mocks__/feature-gates.js +4 -0
  712. package/src/features/utils/agent-session.js +4 -0
  713. package/src/features/utils/aggregate-base.js +4 -0
  714. package/src/features/utils/event-buffer.js +4 -0
  715. package/src/features/utils/event-store-manager.js +4 -0
  716. package/src/features/utils/feature-base.js +4 -0
  717. package/src/features/utils/feature-gates.js +4 -0
  718. package/src/features/utils/instrument-base.js +5 -0
  719. package/src/features/utils/lazy-feature-loader.js +4 -0
  720. package/src/features/utils/nr1-debugger.js +4 -0
  721. package/src/index.js +4 -0
  722. package/src/loaders/agent-base.js +5 -0
  723. package/src/loaders/agent.js +5 -0
  724. package/src/loaders/api/api-methods.js +4 -0
  725. package/src/loaders/api/api.js +2 -2
  726. package/src/loaders/api/apiAsync.js +4 -0
  727. package/src/loaders/api/interaction-types.js +3 -0
  728. package/src/loaders/browser-agent.js +4 -0
  729. package/src/loaders/configure/configure.js +4 -0
  730. package/src/loaders/configure/nonce.cdn.js +5 -0
  731. package/src/loaders/configure/nonce.js +5 -0
  732. package/src/loaders/configure/public-path.cdn.js +5 -1
  733. package/src/loaders/configure/public-path.js +4 -0
  734. package/src/loaders/features/enabled-features.js +4 -0
  735. package/src/loaders/features/featureDependencies.js +4 -0
  736. package/src/loaders/features/features.js +5 -0
  737. package/src/loaders/micro-agent-base.js +4 -0
  738. package/src/loaders/micro-agent.js +5 -0
  739. package/dist/cjs/common/vitals/first-input-delay.js +0 -31
  740. package/dist/esm/common/vitals/first-input-delay.js +0 -25
  741. package/dist/types/common/vitals/first-input-delay.d.ts +0 -3
  742. package/dist/types/common/vitals/first-input-delay.d.ts.map +0 -1
  743. package/src/common/vitals/first-input-delay.js +0 -24
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.279.1](https://github.com/newrelic/newrelic-browser-agent/compare/v1.279.0...v1.279.1) (2025-01-28)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * CLS timing node not being reported post new Harvester ([#1352](https://github.com/newrelic/newrelic-browser-agent/issues/1352)) ([5db1d97](https://github.com/newrelic/newrelic-browser-agent/commit/5db1d97a147c78bf93dee669ff9da95bb560d1db))
12
+
13
+ ## [1.279.0](https://github.com/newrelic/newrelic-browser-agent/compare/v1.278.3...v1.279.0) (2025-01-24)
14
+
15
+
16
+ ### Features
17
+
18
+ * Add HTTP codes for harvest retry attempts ([#1331](https://github.com/newrelic/newrelic-browser-agent/issues/1331)) ([7c309f7](https://github.com/newrelic/newrelic-browser-agent/commit/7c309f780ce32e1787d66fb22a6a9313f2466b31))
19
+ * Capture details in marks and measures ([#1332](https://github.com/newrelic/newrelic-browser-agent/issues/1332)) ([32a6b56](https://github.com/newrelic/newrelic-browser-agent/commit/32a6b56d5db0ffc6c2157718ee72ca62695ee258))
20
+ * debounce window user actions ([#1326](https://github.com/newrelic/newrelic-browser-agent/issues/1326)) ([dec8f2d](https://github.com/newrelic/newrelic-browser-agent/commit/dec8f2d07e9e521e08647bd281457292312b56c0))
21
+ * Remove FID ([#1319](https://github.com/newrelic/newrelic-browser-agent/issues/1319)) ([0f32b99](https://github.com/newrelic/newrelic-browser-agent/commit/0f32b993a77e747f9724b6ba363e94730a6c8b3f))
22
+
6
23
  ## [1.278.3](https://github.com/newrelic/newrelic-browser-agent/compare/v1.278.2...v1.278.3) (2025-01-14)
7
24
 
8
25
 
@@ -11,8 +11,8 @@ var _instrument7 = require("../features/session_replay/instrument");
11
11
  var _instrument8 = require("../features/generic_events/instrument");
12
12
  var _instrument9 = require("../features/soft_navigations/instrument");
13
13
  var _instrument10 = require("../features/logging/instrument");
14
- /*
15
- * Copyright 2023 New Relic Corporation. All rights reserved.
14
+ /**
15
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
16
16
  * SPDX-License-Identifier: Apache-2.0
17
17
  */
18
18
  /**
@@ -4,6 +4,11 @@ var _agent = require("../loaders/agent");
4
4
  var _instrument = require("../features/page_view_event/instrument");
5
5
  var _instrument2 = require("../features/page_view_timing/instrument");
6
6
  var _instrument3 = require("../features/metrics/instrument");
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * @file Creates a "Lite" agent loader bundle composed of the core Agent and a subset of available feature modules.
9
14
  */
@@ -10,6 +10,11 @@ var _instrument6 = require("../features/session_trace/instrument");
10
10
  var _instrument7 = require("../features/session_replay/instrument");
11
11
  var _instrument8 = require("../features/generic_events/instrument");
12
12
  var _instrument9 = require("../features/logging/instrument");
13
+ /**
14
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
15
+ * SPDX-License-Identifier: Apache-2.0
16
+ */
17
+
13
18
  /**
14
19
  * @file Creates a "Pro" agent loader bundle composed of the core Agent and all available feature modules except `spa`.
15
20
  * This excludes collection of BrowserInteraction and BrowserTiming events.
@@ -12,6 +12,11 @@ var _instrument8 = require("../features/soft_navigations/instrument");
12
12
  var _instrument9 = require("../features/spa/instrument");
13
13
  var _instrument10 = require("../features/generic_events/instrument");
14
14
  var _instrument11 = require("../features/logging/instrument");
15
+ /**
16
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
17
+ * SPDX-License-Identifier: Apache-2.0
18
+ */
19
+
15
20
  /**
16
21
  * @file Creates a "SPA" agent loader bundle composed of the core agent and all available feature modules.
17
22
  */
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Aggregator = void 0;
7
- /*
8
- * Copyright 2020 New Relic Corporation. All rights reserved.
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
9
  * SPDX-License-Identifier: Apache-2.0
10
10
  */
11
11
  class Aggregator {
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.EventAggregator = void 0;
7
7
  var _aggregator = require("./aggregator");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  /**
9
14
  * An extension of the Aggregator class that provides an interface similar to that of EventBuffer class.
10
15
  * This typecasting allow features that uses Aggregator as their event handler to share the same AggregateBase.events utilization by those features.
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getModeledObject = getModeledObject;
7
7
  var _console = require("../util/console");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  function getModeledObject(obj, model) {
9
14
  try {
10
15
  if (!obj || typeof obj !== 'object') return (0, _console.warn)(3);
@@ -8,6 +8,11 @@ exports.isValid = isValid;
8
8
  exports.setInfo = setInfo;
9
9
  var _nreum = require("../window/nreum");
10
10
  var _configurable = require("./configurable");
11
+ /**
12
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
13
+ * SPDX-License-Identifier: Apache-2.0
14
+ */
15
+
11
16
  const model = {
12
17
  // preset defaults
13
18
  beacon: _nreum.defaults.beacon,
@@ -13,6 +13,11 @@ var _constants3 = require("../session/constants");
13
13
  var _console = require("../util/console");
14
14
  var _nreum = require("../window/nreum");
15
15
  var _configurable = require("./configurable");
16
+ /**
17
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
18
+ * SPDX-License-Identifier: Apache-2.0
19
+ */
20
+
16
21
  const nrMask = '[data-nr-mask]';
17
22
  const model = () => {
18
23
  const hiddenState = {
@@ -109,6 +114,7 @@ const model = () => {
109
114
  set capture_measures(val) {
110
115
  hiddenState.experimental.measures = val;
111
116
  },
117
+ capture_detail: true,
112
118
  resources: {
113
119
  // whether to run this subfeature or not in the generic_events feature. false by default through experimental phase, but flipped to true once GA'd
114
120
  get enabled() {
@@ -7,6 +7,11 @@ exports.getLoaderConfig = getLoaderConfig;
7
7
  exports.setLoaderConfig = setLoaderConfig;
8
8
  var _nreum = require("../window/nreum");
9
9
  var _configurable = require("./configurable");
10
+ /**
11
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
12
+ * SPDX-License-Identifier: Apache-2.0
13
+ */
14
+
10
15
  const model = {
11
16
  accountID: undefined,
12
17
  trustKey: undefined,
@@ -9,6 +9,11 @@ var _configurable = require("./configurable");
9
9
  var _nreum = require("../window/nreum");
10
10
  var _runtime = require("../constants/runtime");
11
11
  var _env = require("../constants/env.npm");
12
+ /**
13
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
14
+ * SPDX-License-Identifier: Apache-2.0
15
+ */
16
+
12
17
  /**
13
18
  * Module level count of harvests. This property will auto-increment each time it is accessed.
14
19
  * @type {number}
@@ -4,5 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MAX_PAYLOAD_SIZE = exports.IDEAL_PAYLOAD_SIZE = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  const IDEAL_PAYLOAD_SIZE = exports.IDEAL_PAYLOAD_SIZE = 64000;
8
12
  const MAX_PAYLOAD_SIZE = exports.MAX_PAYLOAD_SIZE = 1000000;
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_ENV = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * @file This file exposes CDN build environment variables. These variables will
9
14
  * be overridden with babel.
@@ -12,7 +17,7 @@ exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_EN
12
17
  /**
13
18
  * Exposes the version of the agent
14
19
  */
15
- const VERSION = exports.VERSION = "1.278.3";
20
+ const VERSION = exports.VERSION = "1.279.1";
16
21
 
17
22
  /**
18
23
  * Exposes the build type of the agent
@@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_ENV = void 0;
7
7
  var _package = _interopRequireDefault(require("../../../package.json"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
9
14
  /**
10
15
  * @file This file exposes build time environment variables that will be included in the
11
16
  * build output of the agent. This file specifically contains the normal environment variables
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_ENV = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * @file This file exposes NPM build environment variables. These variables will
9
14
  * be overridden with babel.
@@ -12,7 +17,7 @@ exports.VERSION = exports.RRWEB_VERSION = exports.DIST_METHOD = exports.BUILD_EN
12
17
  /**
13
18
  * Exposes the version of the agent
14
19
  */
15
- const VERSION = exports.VERSION = "1.278.3";
20
+ const VERSION = exports.VERSION = "1.279.1";
16
21
 
17
22
  /**
18
23
  * Exposes the build type of the agent
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.originTime = exports.loadedAsDeferredBrowserScript = exports.isiOS = exports.isWorkerScope = exports.isBrowserScope = exports.initiallyHidden = exports.initialLocation = exports.iOSBelow16 = exports.globalScope = exports.ffVersion = void 0;
7
7
  var _now = require("../timing/now");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  /**
9
14
  * @file Contains constants about the environment the agent is running
10
15
  * within. These values are derived at the time the agent is first loaded.
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.sharedChannel = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * @file Keeps an object alive that is passed to all feature aggregate modules.
9
14
  * The purpose is to have a way for communication and signals to relay across features at runtime.
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SharedContext = void 0;
7
7
  var _console = require("../util/console");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  const model = {
9
14
  agentIdentifier: '',
10
15
  ee: undefined
@@ -6,7 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.hasUndefinedHostname = hasUndefinedHostname;
7
7
  exports.setDenyList = setDenyList;
8
8
  exports.shouldCollectEvent = shouldCollectEvent;
9
- /** An array of filter objects {hostname, pathname} for identifying XHR events to be excluded from collection.
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
14
+ /**
15
+ * An array of filter objects {hostname, pathname} for identifying XHR events to be excluded from collection.
10
16
  * @see {@link https://docs.newrelic.com/docs/browser/new-relic-browser/configuration/filter-ajax-request-events/ Filter AjaxRequest events}
11
17
  * @type {Array.<{hostname: string, pathname: string}>}
12
18
  */
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.dispatchGlobalEvent = dispatchGlobalEvent;
7
7
  var _runtime = require("../constants/runtime");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  const GLOBAL_EVENT_NAMESPACE = 'newrelic';
9
14
  function dispatchGlobalEvent(detail = {}) {
10
15
  try {
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isIFrameWindow = isIFrameWindow;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  function isIFrameWindow(windowObject) {
8
12
  if (!windowObject) return false;
9
13
  return windowObject.self !== windowObject.top;
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isValidSelector = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  const isValidSelector = selector => {
8
12
  if (!selector || typeof selector !== 'string') return false;
9
13
  try {
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.generateSelectorPath = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * Generates a CSS selector path for the given element, if possible
9
14
  * @param {HTMLElement} elem
@@ -10,8 +10,8 @@ var _contextualEe = require("../event-emitter/contextual-ee");
10
10
  var _registerHandler = require("../event-emitter/register-handler");
11
11
  var _features = require("../../loaders/features/features");
12
12
  var _eventContext = require("../event-emitter/event-context");
13
- /*
14
- * Copyright 2020 New Relic Corporation. All rights reserved.
13
+ /**
14
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
15
15
  * SPDX-License-Identifier: Apache-2.0
16
16
  */
17
17
 
@@ -9,8 +9,8 @@ var _getOrSet = require("../util/get-or-set");
9
9
  var _runtime = require("../config/runtime");
10
10
  var _eventContext = require("./event-context");
11
11
  var _bundleId = require("../ids/bundle-id");
12
- /*
13
- * Copyright 2020 New Relic Corporation. All rights reserved.
12
+ /**
13
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
14
14
  * SPDX-License-Identifier: Apache-2.0
15
15
  */
16
16
 
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.EventContext = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  class EventContext {
8
12
  constructor(contextId) {
9
13
  this.contextId = contextId;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.handle = handle;
7
7
  exports.handleEE = void 0;
8
8
  var _contextualEe = require("./contextual-ee");
9
- /*
10
- * Copyright 2020 New Relic Corporation. All rights reserved.
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
11
  * SPDX-License-Identifier: Apache-2.0
12
12
  */
13
13
 
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defaultRegister = exports.registerHandler = defaultRegister;
7
7
  var _handle = require("./handle");
8
- /*
9
- * Copyright 2020 New Relic Corporation. All rights reserved.
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
10
  * SPDX-License-Identifier: Apache-2.0
11
11
  */
12
12
 
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.documentAddEventListener = documentAddEventListener;
7
7
  exports.eventListenerOpts = eventListenerOpts;
8
8
  exports.windowAddEventListener = windowAddEventListener;
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
9
13
  function eventListenerOpts(useCapture, abortSignal) {
10
14
  return {
11
15
  capture: useCapture,
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Harvester = void 0;
7
+ var _constants = require("../../features/metrics/constants");
7
8
  var _features = require("../../loaders/features/features");
8
9
  var _env = require("../constants/env.npm");
9
10
  var _runtime = require("../constants/runtime");
11
+ var _handle = require("../event-emitter/handle");
10
12
  var _eventListenerOpts = require("../event-listener/event-listener-opts");
11
- var _constants = require("../session/constants");
13
+ var _constants2 = require("../session/constants");
12
14
  var _now = require("../timing/now");
13
15
  var _eol = require("../unload/eol");
14
16
  var _cleanUrl = require("../url/clean-url");
@@ -16,6 +18,13 @@ var _encode = require("../url/encode");
16
18
  var _console = require("../util/console");
17
19
  var _stringify = require("../util/stringify");
18
20
  var _submitData = require("../util/submit-data");
21
+ /**
22
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
23
+ * SPDX-License-Identifier: Apache-2.0
24
+ */
25
+
26
+ const RETRY_FAILED = 'Harvester/Retry/Failed/';
27
+ const RETRY_SUCCEEDED = 'Harvester/Retry/Succeeded/';
19
28
  class Harvester {
20
29
  #started = false;
21
30
  initializedAggregates = [];
@@ -35,7 +44,7 @@ class Harvester {
35
44
 
36
45
  /* Flush all buffered data if session resets and give up retries. This should be synchronous to ensure that the correct `session` value is sent.
37
46
  Since session-reset generates a new session ID and the ID is grabbed at send-time, any delays or retries would cause the payload to be sent under the wrong session ID. */
38
- agentRef.ee.on(_constants.SESSION_EVENTS.RESET, () => this.initializedAggregates.forEach(aggregateInst => this.triggerHarvestFor(aggregateInst, {
47
+ agentRef.ee.on(_constants2.SESSION_EVENTS.RESET, () => this.initializedAggregates.forEach(aggregateInst => this.triggerHarvestFor(aggregateInst, {
39
48
  forceNoRetry: true
40
49
  })));
41
50
  }
@@ -90,7 +99,15 @@ class Harvester {
90
99
  * @param {Object} result - information regarding the result of the harvest attempt
91
100
  */
92
101
  function cbFinished(result) {
93
- if (localOpts.forceNoRetry) result.retry = false; // discard unsent data rather than re-queuing for next harvest attempt
102
+ if (aggregateInst.harvestOpts.prevAttemptCode) {
103
+ // this means we just retried a harvest that last failed
104
+ (0, _handle.handle)(_constants.SUPPORTABILITY_METRIC_CHANNEL, [(result.retry ? RETRY_FAILED : RETRY_SUCCEEDED) + aggregateInst.harvestOpts.prevAttemptCode], undefined, _features.FEATURE_NAMES.metrics, aggregateInst.ee);
105
+ delete aggregateInst.harvestOpts.prevAttemptCode; // always reset last observation so we don't falsely report again next harvest
106
+ // In case this re-attempt failed again, that'll be handled (re-marked again) next.
107
+ }
108
+ if (result.retry) aggregateInst.harvestOpts.prevAttemptCode = result.status; // earmark this Agg harvest as failed-but-retrying for next harvest trigger so we can capture metrics about retries
109
+
110
+ if (localOpts.forceNoRetry) result.retry = false; // discard unsent data rather than re-queuing for next harvest attempt; used by session reset to flush data belonging to prev session
94
111
  aggregateInst.postHarvestCleanup(result);
95
112
  }
96
113
  }
@@ -197,14 +214,12 @@ function send(agentRef, {
197
214
  return true;
198
215
  function shouldRetry(status) {
199
216
  switch (status) {
200
- case 429:
201
217
  case 408:
218
+ case 429:
202
219
  case 500:
203
- case 503:
204
220
  return true;
205
- default:
206
- return false;
207
221
  }
222
+ return status >= 502 && status <= 504 || status >= 512 && status <= 530;
208
223
  }
209
224
  }
210
225
 
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.unused = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
11
+
7
12
  /**
8
13
  * @file Contains types related to harvesting data.
9
14
  * @copyright 2023 New Relic Corporation. All rights reserved.
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.bundleId = void 0;
7
7
  var _uniqueId = require("./unique-id");
8
+ /**
9
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+
8
13
  /**
9
14
  * @file Contains a unique identifier for the running agent bundle
10
15
  * when loaded.
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.id = id;
7
7
  var _getOrSet = require("../util/get-or-set");
8
8
  var _runtime = require("../constants/runtime");
9
- /*
10
- * Copyright 2020 New Relic Corporation. All rights reserved.
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
11
  * SPDX-License-Identifier: Apache-2.0
12
12
  */
13
13
 
@@ -8,8 +8,8 @@ exports.generateSpanId = generateSpanId;
8
8
  exports.generateTraceId = generateTraceId;
9
9
  exports.generateUuid = generateUuid;
10
10
  var _runtime = require("../constants/runtime");
11
- /*
12
- * Copyright 2020 New Relic Corporation. All rights reserved.
11
+ /**
12
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
13
13
  * SPDX-License-Identifier: Apache-2.0
14
14
  */
15
15
 
@@ -9,8 +9,8 @@ exports.nullable = nullable;
9
9
  exports.numeric = numeric;
10
10
  var _stringify = require("../util/stringify");
11
11
  var _runtime = require("../config/runtime");
12
- /*
13
- * Copyright 2020 New Relic Corporation. All rights reserved.
12
+ /**
13
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
14
14
  * SPDX-License-Identifier: Apache-2.0
15
15
  */
16
16
 
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SESSION_EVENT_TYPES = exports.SESSION_EVENTS = exports.PREFIX = exports.MODE = exports.DEFAULT_KEY = exports.DEFAULT_INACTIVE_MS = exports.DEFAULT_EXPIRES_MS = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  const PREFIX = exports.PREFIX = 'NRBA';
8
12
  const DEFAULT_KEY = exports.DEFAULT_KEY = 'SESSION';
9
13
  const DEFAULT_EXPIRES_MS = exports.DEFAULT_EXPIRES_MS = 14400000;
@@ -18,6 +18,11 @@ var _handle = require("../event-emitter/handle");
18
18
  var _constants2 = require("../../features/metrics/constants");
19
19
  var _features = require("../../loaders/features/features");
20
20
  var _eventListenerOpts = require("../event-listener/event-listener-opts");
21
+ /**
22
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
23
+ * SPDX-License-Identifier: Apache-2.0
24
+ */
25
+
21
26
  // this is what can be stored in local storage (not enforced but probably should be)
22
27
  // these values should sync between local storage and the parent class props
23
28
  const model = {
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LocalStorage = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  class LocalStorage {
8
12
  get(key) {
9
13
  try {
@@ -8,6 +8,11 @@ var _timer = require("./timer");
8
8
  var _pageVisibility = require("../window/page-visibility");
9
9
  var _invoke = require("../util/invoke");
10
10
  var _runtime = require("../constants/runtime");
11
+ /**
12
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
13
+ * SPDX-License-Identifier: Apache-2.0
14
+ */
15
+
11
16
  class InteractionTimer extends _timer.Timer {
12
17
  constructor(opts, ms) {
13
18
  super(opts, ms);
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Timer = void 0;
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
+ * SPDX-License-Identifier: Apache-2.0
10
+ */
7
11
  class Timer {
8
12
  constructor(opts, ms) {
9
13
  if (!opts.onEnd) throw new Error('onEnd handler is required');
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.addPN = addPN;
7
7
  exports.addPT = addPT;
8
8
  exports.navTimingValues = void 0;
9
- /*
10
- * Copyright 2020 New Relic Corporation. All rights reserved.
9
+ /**
10
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
11
11
  * SPDX-License-Identifier: Apache-2.0
12
12
  */
13
13
 
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.now = now;
7
- /*
8
- * Copyright 2020 New Relic Corporation. All rights reserved.
7
+ /**
8
+ * Copyright 2020-2025 New Relic, Inc. All rights reserved.
9
9
  * SPDX-License-Identifier: Apache-2.0
10
10
  */
11
11