@newrelic/browser-agent 1.238.0 → 1.239.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 (249) hide show
  1. package/dist/cjs/common/config/state/init.js +21 -13
  2. package/dist/cjs/common/config/state/runtime.js +0 -4
  3. package/dist/cjs/common/constants/env.cdn.js +1 -1
  4. package/dist/cjs/common/constants/env.npm.js +1 -1
  5. package/dist/cjs/common/constants/runtime.js +3 -3
  6. package/dist/cjs/common/constants/shared-channel.js +3 -1
  7. package/dist/cjs/common/deny-list/deny-list.js +2 -8
  8. package/dist/cjs/common/drain/drain.js +1 -1
  9. package/dist/cjs/common/event-emitter/contextual-ee.js +6 -6
  10. package/dist/cjs/common/harvest/harvest-scheduler.js +2 -4
  11. package/dist/cjs/common/harvest/harvest.js +2 -6
  12. package/dist/cjs/common/serialize/bel-serializer.js +1 -1
  13. package/dist/cjs/common/session/session-entity.js +16 -12
  14. package/dist/cjs/common/storage/first-party-cookies.js +5 -4
  15. package/dist/cjs/common/storage/local-storage.js +3 -2
  16. package/dist/cjs/common/timer/interaction-timer.js +14 -6
  17. package/dist/cjs/common/timing/nav-timing.js +1 -1
  18. package/dist/cjs/common/unload/eol.js +4 -30
  19. package/dist/cjs/common/util/feature-flags.js +14 -15
  20. package/dist/cjs/common/util/invoke.js +3 -1
  21. package/dist/cjs/common/util/obfuscate.js +3 -5
  22. package/dist/cjs/common/util/traverse.js +1 -0
  23. package/dist/cjs/common/window/page-visibility.js +1 -2
  24. package/dist/cjs/common/wrap/wrap-jsonp.js +1 -1
  25. package/dist/cjs/features/ajax/aggregate/index.js +5 -7
  26. package/dist/cjs/features/ajax/instrument/distributed-tracing.js +8 -8
  27. package/dist/cjs/features/ajax/instrument/index.js +47 -15
  28. package/dist/cjs/features/jserrors/aggregate/canonical-function-name.js +0 -1
  29. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.js +4 -4
  30. package/dist/cjs/features/jserrors/aggregate/index.js +4 -5
  31. package/dist/cjs/features/metrics/aggregate/framework-detection.js +103 -7
  32. package/dist/cjs/features/metrics/aggregate/index.js +20 -37
  33. package/dist/cjs/features/metrics/instrument/index.js +0 -2
  34. package/dist/cjs/features/page_action/aggregate/index.js +17 -19
  35. package/dist/cjs/features/page_view_event/aggregate/index.js +1 -2
  36. package/dist/cjs/features/page_view_event/instrument/index.js +4 -2
  37. package/dist/cjs/features/page_view_timing/aggregate/index.js +6 -7
  38. package/dist/cjs/features/session_replay/aggregate/index.js +3 -3
  39. package/dist/cjs/features/session_trace/aggregate/index.js +8 -8
  40. package/dist/cjs/features/spa/aggregate/index.js +14 -20
  41. package/dist/cjs/features/spa/aggregate/interaction.js +0 -2
  42. package/dist/cjs/features/spa/aggregate/serializer.js +1 -1
  43. package/dist/cjs/features/utils/aggregate-base.js +4 -0
  44. package/dist/cjs/features/utils/handler-cache.js +3 -1
  45. package/dist/cjs/features/utils/instrument-base.js +24 -6
  46. package/dist/cjs/loaders/agent-base.js +11 -0
  47. package/dist/cjs/loaders/agent.js +7 -7
  48. package/dist/cjs/loaders/api/api.js +21 -4
  49. package/dist/cjs/loaders/api/apiAsync.js +19 -20
  50. package/dist/cjs/loaders/configure/configure.js +3 -0
  51. package/dist/cjs/loaders/micro-agent.js +20 -3
  52. package/dist/esm/common/config/state/init.js +21 -13
  53. package/dist/esm/common/config/state/runtime.js +0 -4
  54. package/dist/esm/common/constants/env.cdn.js +1 -1
  55. package/dist/esm/common/constants/env.npm.js +1 -1
  56. package/dist/esm/common/constants/runtime.js +1 -1
  57. package/dist/esm/common/constants/shared-channel.js +3 -1
  58. package/dist/esm/common/deny-list/deny-list.js +2 -8
  59. package/dist/esm/common/drain/drain.js +1 -1
  60. package/dist/esm/common/event-emitter/contextual-ee.js +6 -6
  61. package/dist/esm/common/harvest/harvest-scheduler.js +2 -4
  62. package/dist/esm/common/harvest/harvest.js +2 -6
  63. package/dist/esm/common/serialize/bel-serializer.js +1 -1
  64. package/dist/esm/common/session/session-entity.js +16 -12
  65. package/dist/esm/common/storage/first-party-cookies.js +5 -4
  66. package/dist/esm/common/storage/local-storage.js +3 -2
  67. package/dist/esm/common/timer/interaction-timer.js +14 -6
  68. package/dist/esm/common/timing/nav-timing.js +1 -1
  69. package/dist/esm/common/unload/eol.js +5 -31
  70. package/dist/esm/common/util/feature-flags.js +14 -15
  71. package/dist/esm/common/util/invoke.js +3 -1
  72. package/dist/esm/common/util/obfuscate.js +3 -5
  73. package/dist/esm/common/util/traverse.js +1 -0
  74. package/dist/esm/common/window/page-visibility.js +1 -2
  75. package/dist/esm/common/wrap/wrap-jsonp.js +1 -1
  76. package/dist/esm/features/ajax/aggregate/index.js +5 -7
  77. package/dist/esm/features/ajax/instrument/distributed-tracing.js +8 -8
  78. package/dist/esm/features/ajax/instrument/index.js +47 -15
  79. package/dist/esm/features/jserrors/aggregate/canonical-function-name.js +0 -1
  80. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.js +4 -4
  81. package/dist/esm/features/jserrors/aggregate/index.js +4 -5
  82. package/dist/esm/features/metrics/aggregate/framework-detection.js +103 -7
  83. package/dist/esm/features/metrics/aggregate/index.js +22 -39
  84. package/dist/esm/features/metrics/instrument/index.js +1 -3
  85. package/dist/esm/features/page_action/aggregate/index.js +17 -19
  86. package/dist/esm/features/page_view_event/aggregate/index.js +1 -2
  87. package/dist/esm/features/page_view_event/instrument/index.js +4 -2
  88. package/dist/esm/features/page_view_timing/aggregate/index.js +7 -8
  89. package/dist/esm/features/session_replay/aggregate/index.js +2 -2
  90. package/dist/esm/features/session_trace/aggregate/index.js +8 -8
  91. package/dist/esm/features/spa/aggregate/index.js +14 -20
  92. package/dist/esm/features/spa/aggregate/interaction.js +0 -2
  93. package/dist/esm/features/spa/aggregate/serializer.js +1 -1
  94. package/dist/esm/features/utils/aggregate-base.js +4 -0
  95. package/dist/esm/features/utils/handler-cache.js +3 -1
  96. package/dist/esm/features/utils/instrument-base.js +24 -6
  97. package/dist/esm/loaders/agent-base.js +11 -0
  98. package/dist/esm/loaders/agent.js +7 -7
  99. package/dist/esm/loaders/api/api.js +21 -4
  100. package/dist/esm/loaders/api/apiAsync.js +19 -20
  101. package/dist/esm/loaders/configure/configure.js +3 -0
  102. package/dist/esm/loaders/features/enabled-features.js +1 -1
  103. package/dist/esm/loaders/micro-agent.js +21 -4
  104. package/dist/types/common/config/state/init.d.ts.map +1 -1
  105. package/dist/types/common/config/state/runtime.d.ts.map +1 -1
  106. package/dist/types/common/constants/runtime.d.ts +1 -1
  107. package/dist/types/common/constants/runtime.d.ts.map +1 -1
  108. package/dist/types/common/harvest/harvest-scheduler.d.ts.map +1 -1
  109. package/dist/types/common/harvest/harvest.d.ts.map +1 -1
  110. package/dist/types/common/session/session-entity.d.ts +6 -9
  111. package/dist/types/common/session/session-entity.d.ts.map +1 -1
  112. package/dist/types/common/storage/first-party-cookies.d.ts +1 -1
  113. package/dist/types/common/storage/first-party-cookies.d.ts.map +1 -1
  114. package/dist/types/common/storage/local-storage.d.ts.map +1 -1
  115. package/dist/types/common/timer/interaction-timer.d.ts +3 -0
  116. package/dist/types/common/timer/interaction-timer.d.ts.map +1 -1
  117. package/dist/types/common/unload/eol.d.ts +1 -2
  118. package/dist/types/common/unload/eol.d.ts.map +1 -1
  119. package/dist/types/common/util/feature-flags.d.ts.map +1 -1
  120. package/dist/types/common/util/obfuscate.d.ts.map +1 -1
  121. package/dist/types/common/util/traverse.d.ts.map +1 -1
  122. package/dist/types/common/window/page-visibility.d.ts.map +1 -1
  123. package/dist/types/features/ajax/aggregate/index.d.ts.map +1 -1
  124. package/dist/types/features/ajax/instrument/index.d.ts.map +1 -1
  125. package/dist/types/features/jserrors/aggregate/canonical-function-name.d.ts.map +1 -1
  126. package/dist/types/features/jserrors/aggregate/index.d.ts +1 -1
  127. package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
  128. package/dist/types/features/metrics/aggregate/framework-detection.d.ts.map +1 -1
  129. package/dist/types/features/metrics/aggregate/index.d.ts.map +1 -1
  130. package/dist/types/features/metrics/instrument/index.d.ts.map +1 -1
  131. package/dist/types/features/page_action/aggregate/index.d.ts +2 -2
  132. package/dist/types/features/page_action/aggregate/index.d.ts.map +1 -1
  133. package/dist/types/features/page_view_event/aggregate/index.d.ts.map +1 -1
  134. package/dist/types/features/page_view_timing/aggregate/index.d.ts.map +1 -1
  135. package/dist/types/features/session_replay/aggregate/index.d.ts.map +1 -1
  136. package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
  137. package/dist/types/features/spa/aggregate/index.d.ts.map +1 -1
  138. package/dist/types/features/spa/aggregate/interaction.d.ts.map +1 -1
  139. package/dist/types/features/utils/aggregate-base.d.ts +1 -0
  140. package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
  141. package/dist/types/features/utils/handler-cache.d.ts.map +1 -1
  142. package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
  143. package/dist/types/loaders/agent-base.d.ts +6 -0
  144. package/dist/types/loaders/agent-base.d.ts.map +1 -1
  145. package/dist/types/loaders/agent.d.ts +1 -1
  146. package/dist/types/loaders/agent.d.ts.map +1 -1
  147. package/dist/types/loaders/api/api.d.ts +1 -0
  148. package/dist/types/loaders/api/api.d.ts.map +1 -1
  149. package/dist/types/loaders/api/apiAsync.d.ts.map +1 -1
  150. package/dist/types/loaders/configure/configure.d.ts +1 -0
  151. package/dist/types/loaders/configure/configure.d.ts.map +1 -1
  152. package/dist/types/loaders/micro-agent.d.ts +7 -1
  153. package/dist/types/loaders/micro-agent.d.ts.map +1 -1
  154. package/package.json +41 -12
  155. package/src/common/aggregate/aggregator.test.js +107 -0
  156. package/src/common/config/state/configurable.test.js +73 -0
  157. package/src/common/config/state/info.test.js +31 -0
  158. package/src/common/config/state/init.js +13 -12
  159. package/src/common/config/state/init.test.js +28 -0
  160. package/src/common/config/state/loader-config.test.js +21 -0
  161. package/src/common/config/state/runtime.js +0 -2
  162. package/src/common/config/state/runtime.test.js +21 -0
  163. package/src/common/constants/__mocks__/runtime.js +1 -1
  164. package/src/common/constants/runtime.js +1 -1
  165. package/src/common/constants/runtime.test.js +2 -2
  166. package/src/common/constants/shared-channel.js +1 -1
  167. package/src/common/deny-list/deny-list.js +2 -10
  168. package/src/common/drain/drain.js +1 -1
  169. package/src/common/drain/drain.test.js +74 -0
  170. package/src/common/event-emitter/contextual-ee.js +6 -6
  171. package/src/common/harvest/harvest-scheduler.js +2 -5
  172. package/src/common/harvest/harvest-scheduler.test.js +2 -6
  173. package/src/common/harvest/harvest.js +2 -6
  174. package/src/common/harvest/harvest.test.js +0 -2
  175. package/src/common/ids/id.test.js +6 -6
  176. package/src/common/serialize/bel-serializer.js +1 -1
  177. package/src/common/session/session-entity.component-test.js +3 -2
  178. package/src/common/session/session-entity.js +11 -9
  179. package/src/common/storage/first-party-cookies.js +5 -4
  180. package/src/common/storage/local-storage.js +3 -2
  181. package/src/common/timer/interaction-timer.component-test.js +52 -7
  182. package/src/common/timer/interaction-timer.js +15 -6
  183. package/src/common/timer/timer.test.js +0 -1
  184. package/src/common/timing/nav-timing.js +1 -1
  185. package/src/common/unload/eol.js +5 -31
  186. package/src/common/url/encode.test.js +1 -0
  187. package/src/common/util/__mocks__/invoke.js +1 -0
  188. package/src/common/util/data-size.test.js +0 -1
  189. package/src/common/util/feature-flags.js +15 -17
  190. package/src/common/util/feature-flags.test.js +4 -8
  191. package/src/common/util/invoke.js +1 -1
  192. package/src/common/util/obfuscate.js +3 -5
  193. package/src/common/util/submit-data.test.js +1 -1
  194. package/src/common/util/traverse.js +1 -0
  195. package/src/common/window/__mocks__/nreum.js +3 -1
  196. package/src/common/window/page-visibility.js +1 -2
  197. package/src/common/wrap/wrap-jsonp.js +1 -1
  198. package/src/features/ajax/aggregate/index.js +5 -7
  199. package/src/features/ajax/instrument/distributed-tracing.js +8 -8
  200. package/src/features/ajax/instrument/index.js +40 -17
  201. package/src/features/jserrors/aggregate/canonical-function-name.js +0 -2
  202. package/src/features/jserrors/aggregate/compute-stack-trace.js +4 -4
  203. package/src/features/jserrors/aggregate/compute-stack-trace.test.js +1 -1
  204. package/src/features/jserrors/aggregate/index.js +4 -5
  205. package/src/features/metrics/aggregate/framework-detection.js +129 -8
  206. package/src/features/metrics/aggregate/framework-detection.test.js +213 -82
  207. package/src/features/metrics/aggregate/index.js +22 -45
  208. package/src/features/metrics/instrument/index.js +1 -3
  209. package/src/features/page_action/aggregate/index.js +12 -13
  210. package/src/features/page_view_event/aggregate/index.js +1 -2
  211. package/src/features/page_view_event/instrument/index.js +2 -2
  212. package/src/features/page_view_timing/aggregate/index.js +7 -8
  213. package/src/features/session_replay/aggregate/index.component-test.js +3 -15
  214. package/src/features/session_replay/aggregate/index.js +2 -2
  215. package/src/features/session_trace/aggregate/index.js +6 -9
  216. package/src/features/spa/aggregate/index.js +14 -20
  217. package/src/features/spa/aggregate/interaction.js +0 -2
  218. package/src/features/spa/aggregate/serializer.js +1 -1
  219. package/src/features/utils/aggregate-base.js +5 -0
  220. package/src/features/utils/aggregate-base.test.js +2 -1
  221. package/src/features/utils/handler-cache.js +3 -2
  222. package/src/features/utils/instrument-base.js +25 -6
  223. package/src/features/utils/instrument-base.test.js +2 -2
  224. package/src/loaders/agent-base.js +11 -0
  225. package/src/loaders/agent.js +7 -7
  226. package/src/loaders/api/api.js +21 -4
  227. package/src/loaders/api/api.test.js +85 -0
  228. package/src/loaders/api/apiAsync.js +19 -20
  229. package/src/loaders/api/apiAsync.test.js +17 -0
  230. package/src/loaders/configure/configure.js +3 -0
  231. package/src/loaders/features/enabled-features.js +1 -1
  232. package/src/loaders/micro-agent.js +22 -4
  233. package/dist/cjs/features/metrics/aggregate/endpoint-map.js +0 -14
  234. package/dist/cjs/features/metrics/aggregate/polyfill-detection.es5.js +0 -14
  235. package/dist/cjs/features/metrics/aggregate/polyfill-detection.js +0 -53
  236. package/dist/esm/features/metrics/aggregate/endpoint-map.js +0 -7
  237. package/dist/esm/features/metrics/aggregate/polyfill-detection.es5.js +0 -8
  238. package/dist/esm/features/metrics/aggregate/polyfill-detection.js +0 -47
  239. package/dist/types/features/metrics/aggregate/endpoint-map.d.ts +0 -8
  240. package/dist/types/features/metrics/aggregate/endpoint-map.d.ts.map +0 -1
  241. package/dist/types/features/metrics/aggregate/polyfill-detection.d.ts +0 -6
  242. package/dist/types/features/metrics/aggregate/polyfill-detection.d.ts.map +0 -1
  243. package/dist/types/features/metrics/aggregate/polyfill-detection.es5.d.ts +0 -7
  244. package/dist/types/features/metrics/aggregate/polyfill-detection.es5.d.ts.map +0 -1
  245. package/src/features/metrics/aggregate/endpoint-map.js +0 -7
  246. package/src/features/metrics/aggregate/polyfill-detection.es5.js +0 -8
  247. package/src/features/metrics/aggregate/polyfill-detection.es5.test.js +0 -16
  248. package/src/features/metrics/aggregate/polyfill-detection.js +0 -48
  249. package/src/features/metrics/aggregate/polyfill-detection.test.js +0 -163
@@ -4,8 +4,11 @@ export class InteractionTimer extends Timer {
4
4
  onResume: any;
5
5
  remainingMs: number | undefined;
6
6
  abortController: AbortController | undefined;
7
+ ee: any;
8
+ refreshHandler: ((evts: any) => void) | undefined;
7
9
  abort(): void;
8
10
  pause(): void;
11
+ resume(): void;
9
12
  refresh(cb: any, ms: any): void;
10
13
  }
11
14
  import { Timer } from './timer';
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-timer.d.ts","sourceRoot":"","sources":["../../../../src/common/timer/interaction-timer.js"],"names":[],"mappings":"AAKA;IAGI,aAAuF;IACvF,eAA6F;IAC7F,cAA0F;IAG1F,gCAA4B;IAM1B,6CAA4C;IAkChD,cAGC;IAED,cAIC;IAED,gCAMC;CACF;sBAvEqB,SAAS"}
1
+ {"version":3,"file":"interaction-timer.d.ts","sourceRoot":"","sources":["../../../../src/common/timer/interaction-timer.js"],"names":[],"mappings":"AAKA;IAGI,aAAuF;IACvF,eAA6F;IAC7F,cAA0F;IAG1F,gCAA4B;IAM1B,6CAA4C;IAO1C,QAAiB;IAEjB,kDAIC;IAoBP,cAQC;IAED,cAIC;IAED,eAGC;IAED,gCAMC;CACF;sBAhFqB,SAAS"}
@@ -2,7 +2,6 @@
2
2
  * Subscribes a provided callback to the time/event when the agent should treat it as end-of-life.
3
3
  * This is used, for example, to submit a final harvest and send all remaining data on best-effort.
4
4
  * @param {function} cb - func to run before or during the last reliable event or time of an env's life span
5
- * @param {boolean} allowBFCache - (temp) feature flag to gate new v1222 BFC support
6
5
  */
7
- export function subscribeToEOL(cb: Function, allowBFCache: boolean): void;
6
+ export function subscribeToEOL(cb: Function): void;
8
7
  //# sourceMappingURL=eol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../../../../src/common/unload/eol.js"],"names":[],"mappings":"AAqBA;;;;;GAKG;AACH,2DAFW,OAAO,QAmCjB"}
1
+ {"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../../../../src/common/unload/eol.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,mDASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../src/common/util/feature-flags.js"],"names":[],"mappings":"AAiBA,oKAAoK;AACpK,yEA6BC;AAED,mCAAmC"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../src/common/util/feature-flags.js"],"names":[],"mappings":"AAkBA,oKAAoK;AACpK,yEA0BC;AAED,mCAAmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../src/common/util/obfuscate.js"],"names":[],"mappings":"AAiCA,sDAUC;AAGD,mDAsBC;AA3DD;IACE,2BAEC;IAGD,kCAcC;CACF;8BA7B6B,2BAA2B"}
1
+ {"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../src/common/util/obfuscate.js"],"names":[],"mappings":"AAiCA,sDAUC;AAGD,mDAoBC;AAzDD;IACE,2BAEC;IAGD,kCAcC;CACF;8BA7B6B,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../../src/common/util/traverse.js"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,oCANW,MAAM,+EAIJ,MAAM,CAclB"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../../src/common/util/traverse.js"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,oCANW,MAAM,+EAIJ,MAAM,CAelB"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-visibility.d.ts","sourceRoot":"","sources":["../../../../src/common/window/page-visibility.js"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,oIAWC"}
1
+ {"version":3,"file":"page-visibility.d.ts","sourceRoot":"","sources":["../../../../src/common/window/page-visibility.js"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,oIAUC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAgBA;IACE,2BAAiC;IACjC,mDA4NC;IArMC,qGAAwB;IACxB;;;;4BAAoC;IACpC;;;mBAA2E;CAoM9E;8BAjO6B,4BAA4B"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/instrument/index.js"],"names":[],"mappings":"AAyBA;IACE,2BAAiC;IACjC,mEAqCC;IA/BC,mBAAiC;IAEjC,4EAAkF;CA8BrF;+BAlD8B,6BAA6B;mBAFzC,uBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-function-name.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/canonical-function-name.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,0DAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAS5B"}
1
+ {"version":3,"file":"canonical-function-name.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/canonical-function-name.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,0DAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAO5B"}
@@ -8,12 +8,12 @@ export class Aggregate extends AggregateBase {
8
8
  observedAt: {};
9
9
  pageviewReported: {};
10
10
  errorCache: {};
11
+ currentBody: any;
11
12
  errorOnPage: boolean;
12
13
  onHarvestStarted(options: any): {
13
14
  body: any;
14
15
  qs: {};
15
16
  };
16
- currentBody: any;
17
17
  onHarvestFinished(result: any): void;
18
18
  nameHash(params: any): number;
19
19
  getBucketName(objType: any, params: any, customParams: any): string;
@@ -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,oEAMC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4EA4FC;IAED,2CAgCC;IAED,+CA2BC;CACF;wBA7QY,OAAO,0BAA0B,EAAE,SAAS;8BAH3B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAuBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAoCC;IAjCC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,eAAoB;IACpB,iBAA4B;IAC5B,qBAAwB;IA8B1B;;;MAoBC;IAED,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 +1 @@
1
- {"version":3,"file":"framework-detection.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/framework-detection.js"],"names":[],"mappings":"AAeA,0CAmBC"}
1
+ {"version":3,"file":"framework-detection.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/framework-detection.js"],"names":[],"mappings":"AA8BA,0CA6CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC,mDAsBC;IAED,wDAKC;IAED,iDAKC;IAED,qBA+BC;IAED,0BAQC;IAED,eA4DC;IApDG,mCAAyB;CAqD9B;8BApJ6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/index.js"],"names":[],"mappings":"AAYA;IACE,2BAAiC;IACjC,mDAsBC;IAED,wDAKC;IAED,iDAKC;IAED,qBAgCC;IAED,0BAOC;IAED,eA0CC;IAvCG,mCAAyB;CAwC9B;8BAhI6B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/instrument/index.js"],"names":[],"mappings":"AAKA;IACE,2BAAiC;IACjC,mEAGC;CACF;+BAX8B,6BAA6B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/instrument/index.js"],"names":[],"mappings":"AAGA;IACE,2BAAiC;IACjC,mEAGC;CACF;+BAT8B,6BAA6B"}
@@ -4,9 +4,10 @@ export class Aggregate extends AggregateBase {
4
4
  eventsPerMinute: number;
5
5
  harvestTimeSeconds: any;
6
6
  eventsPerHarvest: number;
7
+ referrerUrl: string | undefined;
8
+ currentEvents: any[] | null | undefined;
7
9
  events: any[];
8
10
  att: any;
9
- referrerUrl: string | undefined;
10
11
  onHarvestStarted(options: any): {
11
12
  qs: {
12
13
  ua: any;
@@ -16,7 +17,6 @@ export class Aggregate extends AggregateBase {
16
17
  ins: any[];
17
18
  };
18
19
  };
19
- currentEvents: any[] | null | undefined;
20
20
  onHarvestFinished(result: any): void;
21
21
  addPageAction(t: any, name: any, attributes: any): void;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_action/aggregate/index.js"],"names":[],"mappings":"AAgBA;IACE,2BAAiC;IACjC,mDA2BC;IAzBC,wBAA0B;IAC1B,wBAAsL;IACtL,yBAA2E;IAI3E,cAAgB;IAEhB,SAAqD;IAEZ,gCAA8C;IAiBzF;;;;;;;;MAkBC;IALG,wCAAgC;IAOpC,qCAKC;IAGD,wDAoCC;CACF;8BAlG6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_action/aggregate/index.js"],"names":[],"mappings":"AAeA;IACE,2BAAiC;IACjC,mDA2BC;IAzBC,wBAA0B;IAC1B,wBAAsL;IACtL,yBAA2E;IAC3E,gCAA4B;IAC5B,wCAA8B;IAE9B,cAAgB;IAEhB,SAAqD;IAmBvD;;;;;;;;MAkBC;IAED,qCAKC;IAGD,wDAoCC;CACF;8BAlG6B,4BAA4B"}
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAeA;IACE,2BAA2C;IAC3C,mDA2BC;IAvBG,iCAAwB;IAyB5B,8BAEC;IAED,gBAyFC;CACF;8BA/H6B,4BAA4B"}
@@ -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,qCAKC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;CACF;8BA3O6B,4BAA4B;iCARzB,2CAA2C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAoBA;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;iCAPzB,2CAA2C"}
@@ -1 +1 @@
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,CAyDhB;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;8BAzV6B,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,CAyDhB;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;8BA1V6B,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,iEAyHC;IAvHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G;;4EAEwE;IACxE,kCAAyB;IAGzB,0CAAsC;IAuGxC,sEAcC;IA6CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAMC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAeC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD;;;;;;;;;;MAwBC;IAED,mEA8BC;;CACF;8BAre6B,4BAA4B;6BAH7B,2BAA2B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAiCA;IACE,2BAAiC;IAGjC,iEAyHC;IAvHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G;;4EAEwE;IACxE,kCAAyB;IAGzB,0CAAsC;IAuGxC,sEAcC;IA6CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAKC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAeC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD;;;;;;;;;;MAwBC;IAED,mEA6BC;;CACF;8BAne6B,4BAA4B;6BAH7B,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AA2BA;IACE,2BAAiC;IACjC,mDAmsBC;IAhsBC;;;;;;;;;;;;;;;;MAgBC;IAED,uBAAsC;CA+qBzC;8BA5sB6B,4BAA4B;2BAL/B,cAAc"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AA0BA;IACE,2BAAiC;IACjC,mDA8rBC;IA3rBC;;;;;;;;;;;;;;;;MAgBC;IAED,uBAAsC;CA0qBzC;8BAvsB6B,4BAA4B;2BAJ/B,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/interaction.js"],"names":[],"mappings":"AAgBA,mIAyBC;;IAzBD,6GAyBC;IAxBC,qBAAsC;IACtC,QAAiC;IAGjC,WAAmC;IACnC,eAA0B;IAC1B,cAAc;IACd,kBAAkB;IAClB,iBAAuB;IACvB,wBAA2B;IAC3B,YAAyC;IAA3B,gBAA2B;IACzC,gBAAkB;IAClB,gBAA4B;IAC5B,cAAiB;IAEN,sBAAqE;;gCAxBlD,oBAAoB"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/interaction.js"],"names":[],"mappings":"AAeA,mIAyBC;;IAzBD,6GAyBC;IAxBC,qBAAsC;IACtC,QAAiC;IAGjC,WAAmC;IACnC,eAA0B;IAC1B,cAAc;IACd,kBAAkB;IAClB,iBAAuB;IACvB,wBAA2B;IAC3B,YAAyC;IAA3B,gBAA2B;IACzC,gBAAkB;IAClB,gBAA4B;IAC5B,cAAiB;IAEN,sBAAqE;;gCAvBlD,oBAAoB"}
@@ -6,6 +6,7 @@ export class AggregateBase extends FeatureBase {
6
6
  * @returns
7
7
  */
8
8
  waitForFlags(flagNames?: string[]): Promise<any[]>;
9
+ drain(): void;
9
10
  /**
10
11
  * Checks for additional `jsAttributes` items to support backward compatibility with implementations of the agent where
11
12
  * loader configurations may appear after the loader code is executed.
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"AAMA;IACE,4BAGC;IAED;;;;OAIG;IACH,yBAHW,MAAM,EAAE,kBAWlB;IAED;;;OAGG;IACH,2BAqBC;CACF;4BApD2B,gBAAgB"}
1
+ {"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"AAOA;IACE,4BAGC;IAED;;;;OAIG;IACH,yBAHW,MAAM,EAAE,kBAWlB;IAED,cAEC;IAED;;;OAGG;IACH,2BAqBC;CACF;4BAzD2B,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-cache.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/handler-cache.js"],"names":[],"mappings":"AAAA;;GAEG;AACH;IA6BE;;;;OAIG;IACH,2BAFa,IAAI,CAMhB;IAED;;;;;;;OAOG;IACH,iBAFW,OAAO,QAOjB;IAED,uCAIC;;CACF"}
1
+ {"version":3,"file":"handler-cache.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/handler-cache.js"],"names":[],"mappings":"AAAA;;GAEG;AACH;IA6BE;;;;OAIG;IACH,2BAFa,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,iBAFW,OAAO,QAOjB;IAED,uCAIC;;CACF"}
@@ -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,mEA6CC;IAED;;;;;KAKC;IACD,6BAJS,MAAM,mCAWd;CACF;4BA5G2B,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,8BA4BhB;IArBC,cAAgB;IAEhB,8IAA8I;IAC9I,cADW,WAAW,SAAS,CACF;IAE7B;;;MAGE;IACF,qBAA8B;IAE9B;;;MAGE;IACF,kCAAoC;IAQtC;;;;;OAKG;IACH,mEA2DC;IAED;;;;;KAKC;IACD,6BAJS,MAAM,mCAWd;CACF;4BA/H2B,gBAAgB"}
@@ -64,5 +64,11 @@ export class AgentBase {
64
64
  * @param {string} id The ID or version of this release; for example, a version number, build number from your CI environment, GitHub SHA, GUID, or a hash of the contents.
65
65
  */
66
66
  addRelease(name: string, id: string): void;
67
+ /**
68
+ * Starts a set of agent features if not running in "autoStart" mode
69
+ * {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/start/}
70
+ * @param {string|string[]|undefined} name The feature name(s) to start. If no name(s) are passed, all features will be started
71
+ */
72
+ start(featureNames: any): void;
67
73
  }
68
74
  //# sourceMappingURL=agent-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-base.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent-base.js"],"names":[],"mappings":"AAEA;IACE;;;;;OAKG;IACH,oBAHW,MAAM,yCAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,mCAKhB;IAED;;;;;;OAMG;IACH,yBAJW,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,IAAI,uCAK5B;IAED;;;;;OAKG;IACH,mBAHW,KAAK,GAAC,MAAM,+CAKtB;IAED;;;;OAIG;IACH,iBAFW,MAAM,GAAC,IAAI,QAIrB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,IAAI,QAMrB;IAED;;;;OAIG;IACH,kCAFmB,KAAK,GAAC,MAAM,KAAK,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,QAI9D;IAED;;;;OAIG;IACH,+CAEC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,MACN,MAAM,QAIhB;CACF"}
1
+ {"version":3,"file":"agent-base.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent-base.js"],"names":[],"mappings":"AAIA;IACE;;;;;OAKG;IACH,oBAHW,MAAM,yCAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,mCAKhB;IAED;;;;;;OAMG;IACH,yBAJW,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,IAAI,uCAK5B;IAED;;;;;OAKG;IACH,mBAHW,KAAK,GAAC,MAAM,+CAKtB;IAED;;;;OAIG;IACH,iBAFW,MAAM,GAAC,IAAI,QAIrB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,IAAI,QAMrB;IAED;;;;OAIG;IACH,kCAFmB,KAAK,GAAC,MAAM,KAAK,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,QAI9D;IAED;;;;OAIG;IACH,+CAEC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,MACN,MAAM,QAIhB;IAED;;;;OAIG;IACH,+BAEC;CACF"}
@@ -17,7 +17,7 @@ export class Agent extends AgentBase {
17
17
  loader_config: any;
18
18
  runtime: any;
19
19
  };
20
- start(): false | undefined;
20
+ run(): false | undefined;
21
21
  /**
22
22
  * Adds a JavaScript object with a custom name, start time, etc. to an in-progress session trace.
23
23
  * {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/addtotrace/}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent.js"],"names":[],"mappings":"AAiBA;;GAEG;AAEH;;;GAGG;AACH;IACE,oDAuBC;IAbC,oCAAsC;IACtC,yCAAiF;IACjF,yBAAkB;IAElB,sCAAsD;IAWxD;;;;;MAOC;IAED,2BAgCC;IAID;;;;;;;;;OASG;IACH,6BAPW;QAAC,MAAM,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,QASrF;IAED;;;;OAIG;IACH,0BAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,eAFa,mBAAmB,CAI/B;CACF;kCA7GY,OAAO,yBAAyB,EAAE,mBAAmB;0BAjBxC,cAAc;2BAQb,gCAAgC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent.js"],"names":[],"mappings":"AAiBA;;GAEG;AAEH;;;GAGG;AACH;IACE,oDAuBC;IAbC,oCAAsC;IACtC,yCAAiF;IACjF,yBAAkB;IAElB,sCAAsD;IAWxD;;;;;MAOC;IAED,yBAgCC;IAID;;;;;;;;;OASG;IACH,6BAPW;QAAC,MAAM,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,QASrF;IAED;;;;OAIG;IACH,0BAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,eAFa,mBAAmB,CAI/B;CACF;kCA7GY,OAAO,yBAAyB,EAAE,mBAAmB;0BAjBxC,cAAc;2BAQb,gCAAgC"}
@@ -16,6 +16,7 @@ export function setAPI(agentIdentifier: any, forceDrain: any): {
16
16
  * @returns @see apiCall
17
17
  */
18
18
  setApplicationVersion(value: string | null): any;
19
+ start(features: any): void;
19
20
  interaction(): any;
20
21
  noticeError(err: any, customAttributes: any): void;
21
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/api.js"],"names":[],"mappings":"AAkBA,2CAoBC;AAED;;;;;IA0DE;;;;OAIG;qBAFQ,MAAM;IAWjB;;;;OAIG;iCAFQ,MAAM,GAAC,IAAI;;;EAuEvB;AAxKD,0CAA0C"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/api.js"],"names":[],"mappings":"AAkBA,2CAoBC;AAED;;;;;IA0DE;;;;OAIG;qBAFQ,MAAM;IAWjB;;;;OAIG;iCAFQ,MAAM,GAAC,IAAI;;;;EAwFvB;AAzLD,0CAA0C"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiAsync.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/apiAsync.js"],"names":[],"mappings":"AAUA,mDAkFC"}
1
+ {"version":3,"file":"apiAsync.d.ts","sourceRoot":"","sources":["../../../../src/loaders/api/apiAsync.js"],"names":[],"mappings":"AAUA,mDAiFC"}
@@ -5,6 +5,7 @@ export function configure(agentIdentifier: any, opts: {} | undefined, loaderType
5
5
  setCustomAttribute(name: any, value: any, persistAttribute?: boolean): any;
6
6
  setUserId(value: string): any;
7
7
  setApplicationVersion(value: string | null): any;
8
+ start(features: any): void;
8
9
  interaction(): any;
9
10
  noticeError(err: any, customAttributes: any): void;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"AAMA;;;;;;;;;EAqCC"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"AAMA;;;;;;;;;;EAwCC"}
@@ -12,13 +12,19 @@ export class MicroAgent extends AgentBase {
12
12
  agentIdentifier: string;
13
13
  sharedAggregator: Aggregator;
14
14
  features: {};
15
+ /**
16
+ * Starts a set of agent features if not running in "autoStart" mode
17
+ * {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/start/}
18
+ * @param {string|string[]|undefined} name The feature name(s) to start. If no name(s) are passed, all features will be started
19
+ */
20
+ start: (features: any) => false | void | MicroAgent;
15
21
  get config(): {
16
22
  info: any;
17
23
  init: any;
18
24
  loader_config: any;
19
25
  runtime: any;
20
26
  };
21
- start(): false | MicroAgent;
27
+ run(features: any): false | void | MicroAgent;
22
28
  }
23
29
  import { AgentBase } from './agent-base';
24
30
  import { Aggregator } from '../common/aggregate/aggregator';
@@ -1 +1 @@
1
- {"version":3,"file":"micro-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/micro-agent.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH;IACE;;;OAGG;IACH,qBAHW,MAAM,oBACN,MAAM,cAYhB;IAPC,wBAAsC;IACtC,6BAAiF;IACjF,aAAkB;IAOpB;;;;;MAOC;IAED,4BA8BC;CACF;0BAtEyB,cAAc;2BAPb,gCAAgC"}
1
+ {"version":3,"file":"micro-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/micro-agent.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH;IACE;;;OAGG;IACH,qBAHW,MAAM,oBACN,MAAM,cAkBhB;IAbC,wBAAsC;IACtC,6BAAiF;IACjF,aAAkB;IAIlB;;;;OAIG;IACH,oDAA2C;IAI7C;;;;;MAOC;IAED,8CA0CC;CACF;0BAxFyB,cAAc;2BAPb,gCAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newrelic/browser-agent",
3
- "version": "1.238.0",
3
+ "version": "1.239.0",
4
4
  "private": false,
5
5
  "author": "New Relic Browser Agent Team <browser-agent@newrelic.com>",
6
6
  "description": "New Relic Browser Agent",
@@ -13,6 +13,45 @@
13
13
  ">=4.2": {
14
14
  "*": [
15
15
  "dist/types/*"
16
+ ],
17
+ "src/*": [
18
+ "dist/types/*"
19
+ ],
20
+ "loaders/agent": [
21
+ "dist/types/loaders/agent.d.ts"
22
+ ],
23
+ "loaders/browser-agent": [
24
+ "dist/types/loaders/browser-agent.d.ts"
25
+ ],
26
+ "loaders/micro-agent": [
27
+ "dist/types/loaders/micro-agent.d.ts"
28
+ ],
29
+ "loaders/worker-agent": [
30
+ "dist/types/loaders/worker-agent.d.ts"
31
+ ],
32
+ "features/ajax": [
33
+ "dist/types/features/ajax/index.d.ts"
34
+ ],
35
+ "features/jserrors": [
36
+ "dist/types/features/jserrors/index.d.ts"
37
+ ],
38
+ "features/metrics": [
39
+ "dist/types/features/metrics/index.d.ts"
40
+ ],
41
+ "features/page_action": [
42
+ "dist/types/features/page_action/index.d.ts"
43
+ ],
44
+ "features/page_view_event": [
45
+ "dist/types/features/page_view_event/index.d.ts"
46
+ ],
47
+ "features/page_view_timing": [
48
+ "dist/types/features/page_view_timing/index.d.ts"
49
+ ],
50
+ "features/session_trace": [
51
+ "dist/types/features/session_trace/index.d.ts"
52
+ ],
53
+ "features/spa": [
54
+ "dist/types/features/spa/index.d.ts"
16
55
  ]
17
56
  }
18
57
  },
@@ -141,7 +180,6 @@
141
180
  "web-vitals": "^3.1.0"
142
181
  },
143
182
  "devDependencies": {
144
- "@actions/core": "^1.10.0",
145
183
  "@babel/cli": "^7.20.7",
146
184
  "@babel/core": "^7.20.12",
147
185
  "@babel/eslint-parser": "^7.19.1",
@@ -160,20 +198,17 @@
160
198
  "@fastify/static": "^6.10.1",
161
199
  "@newrelic/newrelic-oss-cli": "^0.1.2",
162
200
  "@newrelic/nr-querypack": "https://git@github.com/newrelic/nr-querypack",
163
- "@octokit/rest": "^19.0.7",
164
201
  "@wdio/cli": "^8.10.5",
165
202
  "@wdio/local-runner": "^8.10.5",
166
203
  "@wdio/mocha-framework": "^8.10.4",
167
204
  "@wdio/sauce-service": "^8.10.5",
168
205
  "@wdio/selenium-standalone-service": "^8.10.4",
169
206
  "@wdio/spec-reporter": "^8.10.5",
170
- "aws-sdk": "^2.894.0",
171
207
  "babel-jest": "^29.4.1",
172
208
  "babel-loader": "^8.2.5",
173
209
  "babel-plugin-transform-inline-environment-variables": "^0.4.4",
174
210
  "babelify": "^10.0.0",
175
211
  "browserify": "^13.3.0",
176
- "chalk": "^5.1.2",
177
212
  "charm": "^1.0.1",
178
213
  "concat-stream": "^1.5.1",
179
214
  "deepmerge-ts": "^5.1.0",
@@ -187,11 +222,9 @@
187
222
  "eslint-plugin-sonarjs": "^0.19.0",
188
223
  "fastify": "^4.17.0",
189
224
  "fastify-plugin": "^4.5.0",
190
- "filesize": "^10.0.7",
191
225
  "fs-extra": "^11.1.0",
192
226
  "function-bind": "^1.1.1",
193
227
  "glob": "^10.2.5",
194
- "gzip-size": "^7.0.0",
195
228
  "html-webpack-plugin": "^5.5.0",
196
229
  "husky": "^8.0.0",
197
230
  "istanbul-lib-coverage": "^3.2.0",
@@ -203,27 +236,23 @@
203
236
  "jest-extended": "^3.2.4",
204
237
  "jung": "^2.1.0",
205
238
  "just-debounce": "^1.0.0",
206
- "mime-types": "^2.1.11",
207
239
  "newrelic": "^9.7.5",
208
240
  "node-fetch": "^3.3.0",
209
241
  "npm-run-all": "^4.1.5",
210
242
  "object-inspect": "^1.5.0",
211
- "octokit": "^2.0.14",
212
243
  "path-browserify": "^1.0.1",
213
244
  "preprocessify": "0.0.6",
214
245
  "process": "^0.11.10",
215
- "request": "2.74.0",
216
246
  "saucelabs": "^7.2.1",
217
247
  "semver": "^5.3.0",
218
248
  "serialize-anything": "^1.2.3",
219
- "sinon": "^2.4.1",
220
249
  "stream-browserify": "^3.0.0",
221
250
  "tap-parser": "^1.2.2",
222
251
  "tape": "^4.8.0",
223
252
  "through": "^2.3.8",
224
- "through2": "^2.0.1",
225
253
  "tsd": "^0.28.1",
226
254
  "typescript": "^5.0.3",
255
+ "util": "^0.12.5",
227
256
  "uuid": "^9.0.0",
228
257
  "wait-on": "^7.0.1",
229
258
  "wd": "^1.11.2",
@@ -0,0 +1,107 @@
1
+ import { Aggregator } from './aggregator.js'
2
+
3
+ let aggregator
4
+ beforeEach(() => {
5
+ aggregator = new Aggregator({ agentIdentifier: 'blah' })
6
+ })
7
+
8
+ test('storing and getting buckets', () => {
9
+ let bucket = aggregator.store('abc', '123')
10
+ const expectedBucketPattern = { params: {}, metrics: { count: 1 } }
11
+ expect(bucket).toEqual(expectedBucketPattern)
12
+ expect(aggregator.get('abc', '123')).toEqual(expectedBucketPattern)
13
+
14
+ aggregator.store('abc', '456')
15
+ // check we can get all buckets under the same type
16
+ expect(aggregator.get('abc')).toEqual({ 123: expectedBucketPattern, 456: expectedBucketPattern })
17
+ })
18
+
19
+ describe('storing the same bucket again', () => {
20
+ test('increments the count', () => {
21
+ aggregator.store('abc', '123')
22
+ aggregator.store('abc', '123')
23
+ expect(aggregator.get('abc', '123')).toEqual({ params: {}, metrics: { count: 2 } })
24
+ })
25
+
26
+ test('does not overwrite params', () => {
27
+ aggregator.store('def', '123', { someParam: true })
28
+ aggregator.store('def', '123', { anotherParam: true })
29
+ expect(aggregator.get('def', '123')).toEqual({ params: { someParam: true }, metrics: { count: 2 } })
30
+ })
31
+
32
+ test('does not overwrite custom params either', () => {
33
+ aggregator.store('ghi', '123', undefined, undefined, { someCustomParam: true })
34
+ aggregator.store('ghi', '123', undefined, undefined, { someCustomParam: false })
35
+ expect(aggregator.get('ghi', '123')).toEqual({ params: {}, custom: { someCustomParam: true }, metrics: { count: 2 } })
36
+ })
37
+ })
38
+
39
+ describe('metrics are properly updated', () => {
40
+ test('when using store fn', () => {
41
+ const expectedBucketPattern = {
42
+ params: {},
43
+ metrics: {
44
+ count: 2,
45
+ met1: { t: 3, min: 1, max: 2, sos: 5, c: 2 },
46
+ met2: { t: 7, min: 3, max: 4, sos: 25, c: 2 }
47
+ }
48
+ }
49
+ aggregator.store('abc', '123', undefined, { met1: 1, met2: 3 })
50
+ aggregator.store('abc', '123', undefined, { met1: 2, met2: 4 })
51
+ expect(aggregator.get('abc', '123')).toEqual(expectedBucketPattern)
52
+ })
53
+
54
+ test('when using storeMetric fn', () => {
55
+ const expectedBucketPattern = {
56
+ params: {},
57
+ stats: { t: 6, min: 1, max: 3, sos: 14, c: 3 }
58
+ }
59
+ aggregator.storeMetric('abc', 'metric', undefined, 2)
60
+ aggregator.storeMetric('abc', 'metric', undefined, 1)
61
+ aggregator.storeMetric('abc', 'metric', undefined, 3)
62
+ expect(aggregator.get('abc', 'metric')).toEqual(expectedBucketPattern)
63
+ })
64
+ })
65
+
66
+ test('take fn gets and deletes correctly', () => {
67
+ aggregator.store('type1', 'a')
68
+ aggregator.store('type1', 'b')
69
+ aggregator.store('type2', 'a')
70
+ aggregator.store('type3', 'a')
71
+
72
+ expect(aggregator.take(['type0'])).toBeNull() // when type dne in aggregator
73
+ let obj = aggregator.take(['type1', 'type2'])
74
+ expect(obj.type1.length).toEqual(2)
75
+ expect(obj.type2.length).toEqual(1)
76
+ expect(aggregator.get('type1', 'a')).toBeUndefined() // should be gone now
77
+ expect(aggregator.get('type3', 'a')).toEqual(expect.any(Object))
78
+ })
79
+
80
+ test('merge fn combines metrics correctly', () => {
81
+ aggregator.store('abc', '123', undefined, { met1: 1, met2: 3 })
82
+ let bucket = aggregator.store('abc', '123', undefined, { met1: 2 })
83
+ const expectedMetrics = {
84
+ count: 2,
85
+ met1: { t: 3, min: 1, max: 2, sos: 5, c: 2 },
86
+ met2: { t: 3 }
87
+ }
88
+ expect(bucket.metrics).toEqual(expectedMetrics)
89
+
90
+ aggregator.merge('abc', '456', bucket.metrics)
91
+ expect(aggregator.get('abc', '456').metrics).toEqual(expectedMetrics)
92
+
93
+ aggregator.merge('abc', '123', {
94
+ count: 4,
95
+ met1: { t: 4, min: 0, max: 4, sos: 16, c: 2 },
96
+ met2: { t: 5 },
97
+ met3: { t: 6 },
98
+ met4: { t: 7, min: 3, max: 4, sos: 25, c: 2 }
99
+ })
100
+ expect(aggregator.get('abc', '123').metrics).toEqual({
101
+ count: 6,
102
+ met1: { t: 7, min: 0, max: 4, sos: 21, c: 4 },
103
+ met2: { t: 8, min: 3, max: 5, sos: 34, c: 2 },
104
+ met3: { t: 6 },
105
+ met4: { t: 7, min: 3, max: 4, sos: 25, c: 2 }
106
+ })
107
+ })
@@ -0,0 +1,73 @@
1
+ import { getModeledObject } from './configurable'
2
+
3
+ test('if either params are not objects, function fails', () => {
4
+ let result = getModeledObject(123, {})
5
+ expect(result).toEqual(undefined)
6
+
7
+ result = getModeledObject({}, () => 'whatever')
8
+ expect(result).toEqual(undefined)
9
+ })
10
+
11
+ test('models are not mutated by function', () => {
12
+ const template = { dontchangethis: true }
13
+ getModeledObject({ dontchangethis: false, addthis: true }, template)
14
+ expect(template).toEqual({ dontchangethis: true })
15
+ })
16
+
17
+ const model = {
18
+ eat: true,
19
+ sleep: true,
20
+ rave: true,
21
+ repeat: {
22
+ eat: true,
23
+ sleep: true,
24
+ rave: true,
25
+ repeat: false
26
+ }
27
+ }
28
+
29
+ test('empty object does not change model output', () => {
30
+ expect(getModeledObject({}, model)).toEqual(model)
31
+ })
32
+
33
+ test('existing keys get their values changed', () => {
34
+ let obj = {
35
+ sleep: false,
36
+ repeat: {
37
+ eat: false
38
+ }
39
+ }
40
+ expect(getModeledObject(obj, model)).toEqual({
41
+ eat: true,
42
+ sleep: false,
43
+ rave: true,
44
+ repeat: {
45
+ eat: false, // should recurse
46
+ sleep: true,
47
+ rave: true,
48
+ repeat: false
49
+ }
50
+ })
51
+ })
52
+
53
+ test('existing keys can change types too, to/from object', () => {
54
+ // in other words, if replacement is not an object, it has no effect
55
+ let obj = {
56
+ rave: {},
57
+ repeat: 'just a sad lonely string now'
58
+ }
59
+ expect(getModeledObject(obj, model)).toEqual({
60
+ eat: true,
61
+ sleep: true,
62
+ rave: {},
63
+ repeat: 'just a sad lonely string now'
64
+ })
65
+ })
66
+
67
+ test('keys not in model are ignored', () => {
68
+ expect(getModeledObject({ game: 'allnight' }, model)).toEqual(model)
69
+ })
70
+
71
+ test('but if model is empty, then keys are not ignored', () => {
72
+ expect(getModeledObject({ game: 'allnight' }, {})).toEqual({ game: 'allnight' })
73
+ })