@newrelic/browser-agent 1.263.0 → 1.264.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 (210) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/cdn/experimental.js +3 -7
  4. package/dist/cjs/cdn/pro.js +2 -2
  5. package/dist/cjs/cdn/spa.js +2 -2
  6. package/dist/cjs/common/aggregate/aggregator.js +3 -3
  7. package/dist/cjs/common/config/state/init.js +6 -3
  8. package/dist/cjs/common/constants/env.cdn.js +1 -1
  9. package/dist/cjs/common/constants/env.npm.js +1 -1
  10. package/dist/cjs/common/constants/runtime.js +1 -3
  11. package/dist/cjs/common/drain/drain.js +4 -4
  12. package/dist/cjs/common/harvest/harvest.js +2 -2
  13. package/dist/cjs/common/serialize/bel-serializer.js +2 -2
  14. package/dist/cjs/common/session/session-entity.js +1 -1
  15. package/dist/cjs/common/url/encode.js +3 -5
  16. package/dist/cjs/common/util/submit-data.js +0 -1
  17. package/dist/cjs/common/vitals/vital-metric.js +1 -1
  18. package/dist/cjs/features/ajax/aggregate/index.js +1 -1
  19. package/dist/cjs/features/ajax/instrument/index.js +1 -1
  20. package/dist/cjs/features/generic_events/aggregate/index.js +137 -0
  21. package/dist/cjs/features/generic_events/constants.js +8 -0
  22. package/dist/cjs/features/generic_events/index.js +12 -0
  23. package/dist/cjs/features/generic_events/instrument/index.js +27 -0
  24. package/dist/cjs/features/jserrors/aggregate/index.js +13 -12
  25. package/dist/cjs/features/jserrors/instrument/index.js +1 -1
  26. package/dist/cjs/features/logging/aggregate/index.js +1 -1
  27. package/dist/cjs/features/logging/instrument/index.js +1 -1
  28. package/dist/cjs/features/metrics/aggregate/index.js +1 -1
  29. package/dist/cjs/features/metrics/instrument/index.js +1 -1
  30. package/dist/cjs/features/page_action/instrument/index.js +6 -6
  31. package/dist/cjs/features/page_view_event/aggregate/index.js +1 -1
  32. package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +1 -1
  33. package/dist/cjs/features/page_view_event/instrument/index.js +1 -1
  34. package/dist/cjs/features/page_view_timing/aggregate/index.js +3 -3
  35. package/dist/cjs/features/page_view_timing/instrument/index.js +1 -1
  36. package/dist/cjs/features/session_replay/aggregate/index.js +2 -2
  37. package/dist/cjs/features/session_replay/instrument/index.js +1 -1
  38. package/dist/cjs/features/session_replay/shared/stylesheet-evaluator.js +1 -1
  39. package/dist/cjs/features/session_trace/aggregate/index.js +1 -1
  40. package/dist/cjs/features/session_trace/aggregate/trace/storage.js +2 -2
  41. package/dist/cjs/features/session_trace/instrument/index.js +1 -1
  42. package/dist/cjs/features/soft_navigations/aggregate/bel-node.js +1 -1
  43. package/dist/cjs/features/soft_navigations/aggregate/index.js +1 -1
  44. package/dist/cjs/features/soft_navigations/aggregate/interaction.js +5 -5
  45. package/dist/cjs/features/soft_navigations/instrument/index.js +1 -1
  46. package/dist/cjs/features/spa/aggregate/index.js +2 -3
  47. package/dist/cjs/features/spa/aggregate/interaction.js +2 -2
  48. package/dist/cjs/features/spa/aggregate/serializer.js +1 -2
  49. package/dist/cjs/features/spa/instrument/index.js +1 -1
  50. package/dist/cjs/features/utils/aggregate-base.js +2 -0
  51. package/dist/cjs/features/utils/lazy-feature-loader.js +2 -2
  52. package/dist/cjs/index.js +21 -0
  53. package/dist/cjs/loaders/agent-base.js +0 -4
  54. package/dist/cjs/loaders/api/api.js +1 -1
  55. package/dist/cjs/loaders/api/apiAsync.js +1 -1
  56. package/dist/cjs/loaders/browser-agent.js +4 -3
  57. package/dist/cjs/loaders/configure/configure.js +4 -3
  58. package/dist/cjs/loaders/features/features.js +8 -4
  59. package/dist/cjs/loaders/micro-agent.js +1 -1
  60. package/dist/esm/cdn/experimental.js +2 -5
  61. package/dist/esm/cdn/pro.js +2 -2
  62. package/dist/esm/cdn/spa.js +2 -2
  63. package/dist/esm/common/aggregate/aggregator.js +3 -3
  64. package/dist/esm/common/config/state/init.js +6 -3
  65. package/dist/esm/common/constants/env.cdn.js +1 -1
  66. package/dist/esm/common/constants/env.npm.js +1 -1
  67. package/dist/esm/common/constants/runtime.js +0 -2
  68. package/dist/esm/common/drain/drain.js +4 -4
  69. package/dist/esm/common/harvest/harvest.js +3 -3
  70. package/dist/esm/common/serialize/bel-serializer.js +2 -2
  71. package/dist/esm/common/session/session-entity.js +2 -2
  72. package/dist/esm/common/url/encode.js +3 -5
  73. package/dist/esm/common/util/submit-data.js +0 -1
  74. package/dist/esm/common/vitals/vital-metric.js +1 -1
  75. package/dist/esm/features/ajax/aggregate/index.js +1 -1
  76. package/dist/esm/features/ajax/instrument/index.js +1 -1
  77. package/dist/esm/features/generic_events/aggregate/index.js +129 -0
  78. package/dist/esm/features/generic_events/constants.js +2 -0
  79. package/dist/esm/features/generic_events/index.js +1 -0
  80. package/dist/esm/features/generic_events/instrument/index.js +20 -0
  81. package/dist/esm/features/jserrors/aggregate/index.js +13 -12
  82. package/dist/esm/features/jserrors/instrument/index.js +1 -1
  83. package/dist/esm/features/logging/aggregate/index.js +1 -1
  84. package/dist/esm/features/logging/instrument/index.js +1 -1
  85. package/dist/esm/features/metrics/aggregate/index.js +1 -1
  86. package/dist/esm/features/metrics/instrument/index.js +1 -1
  87. package/dist/esm/features/page_action/instrument/index.js +7 -6
  88. package/dist/esm/features/page_view_event/aggregate/index.js +1 -1
  89. package/dist/esm/features/page_view_event/aggregate/initialized-features.js +1 -1
  90. package/dist/esm/features/page_view_event/instrument/index.js +1 -1
  91. package/dist/esm/features/page_view_timing/aggregate/index.js +3 -3
  92. package/dist/esm/features/page_view_timing/instrument/index.js +1 -1
  93. package/dist/esm/features/session_replay/aggregate/index.js +2 -2
  94. package/dist/esm/features/session_replay/instrument/index.js +1 -1
  95. package/dist/esm/features/session_replay/shared/stylesheet-evaluator.js +1 -1
  96. package/dist/esm/features/session_trace/aggregate/index.js +1 -1
  97. package/dist/esm/features/session_trace/aggregate/trace/storage.js +2 -2
  98. package/dist/esm/features/session_trace/instrument/index.js +1 -1
  99. package/dist/esm/features/soft_navigations/aggregate/bel-node.js +1 -1
  100. package/dist/esm/features/soft_navigations/aggregate/index.js +1 -1
  101. package/dist/esm/features/soft_navigations/aggregate/interaction.js +5 -5
  102. package/dist/esm/features/soft_navigations/instrument/index.js +1 -1
  103. package/dist/esm/features/spa/aggregate/index.js +2 -3
  104. package/dist/esm/features/spa/aggregate/interaction.js +2 -2
  105. package/dist/esm/features/spa/aggregate/serializer.js +1 -2
  106. package/dist/esm/features/spa/instrument/index.js +1 -1
  107. package/dist/esm/features/utils/aggregate-base.js +3 -1
  108. package/dist/esm/features/utils/lazy-feature-loader.js +2 -2
  109. package/dist/esm/index.js +3 -0
  110. package/dist/esm/loaders/agent-base.js +0 -4
  111. package/dist/esm/loaders/api/api.js +1 -1
  112. package/dist/esm/loaders/api/apiAsync.js +1 -1
  113. package/dist/esm/loaders/browser-agent.js +3 -2
  114. package/dist/esm/loaders/configure/configure.js +4 -3
  115. package/dist/esm/loaders/features/features.js +8 -4
  116. package/dist/esm/loaders/micro-agent.js +1 -1
  117. package/dist/types/common/aggregate/aggregator.d.ts.map +1 -1
  118. package/dist/types/common/config/state/init.d.ts.map +1 -1
  119. package/dist/types/common/constants/runtime.d.ts +0 -1
  120. package/dist/types/common/constants/runtime.d.ts.map +1 -1
  121. package/dist/types/common/drain/drain.d.ts.map +1 -1
  122. package/dist/types/common/serialize/bel-serializer.d.ts.map +1 -1
  123. package/dist/types/common/url/encode.d.ts.map +1 -1
  124. package/dist/types/common/util/submit-data.d.ts.map +1 -1
  125. package/dist/types/features/{page_action → generic_events}/aggregate/index.d.ts +7 -5
  126. package/dist/types/features/generic_events/aggregate/index.d.ts.map +1 -0
  127. package/dist/types/features/generic_events/constants.d.ts +2 -0
  128. package/dist/types/features/generic_events/constants.d.ts.map +1 -0
  129. package/dist/types/features/generic_events/index.d.ts +2 -0
  130. package/dist/types/features/generic_events/index.d.ts.map +1 -0
  131. package/dist/types/features/generic_events/instrument/index.d.ts +6 -0
  132. package/dist/types/features/generic_events/instrument/index.d.ts.map +1 -0
  133. package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
  134. package/dist/types/features/page_action/instrument/index.d.ts +5 -4
  135. package/dist/types/features/page_action/instrument/index.d.ts.map +1 -1
  136. package/dist/types/features/page_view_timing/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/spa/aggregate/serializer.d.ts.map +1 -1
  140. package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
  141. package/dist/types/index.d.ts +3 -0
  142. package/dist/types/loaders/agent-base.d.ts +0 -1
  143. package/dist/types/loaders/agent-base.d.ts.map +1 -1
  144. package/dist/types/loaders/browser-agent.d.ts.map +1 -1
  145. package/dist/types/loaders/configure/configure.d.ts.map +1 -1
  146. package/dist/types/loaders/features/features.d.ts +1 -0
  147. package/dist/types/loaders/features/features.d.ts.map +1 -1
  148. package/package.json +25 -6
  149. package/src/cdn/experimental.js +2 -4
  150. package/src/cdn/pro.js +2 -2
  151. package/src/cdn/spa.js +2 -2
  152. package/src/common/aggregate/aggregator.js +2 -3
  153. package/src/common/config/state/init.js +2 -1
  154. package/src/common/constants/runtime.js +0 -2
  155. package/src/common/drain/drain.js +3 -4
  156. package/src/common/harvest/harvest.js +3 -3
  157. package/src/common/serialize/bel-serializer.js +1 -2
  158. package/src/common/session/session-entity.js +2 -2
  159. package/src/common/url/encode.js +2 -3
  160. package/src/common/util/submit-data.js +0 -1
  161. package/src/features/generic_events/aggregate/index.js +133 -0
  162. package/src/features/generic_events/constants.js +3 -0
  163. package/src/features/generic_events/index.js +1 -0
  164. package/src/features/generic_events/instrument/index.js +22 -0
  165. package/src/features/jserrors/aggregate/index.js +4 -5
  166. package/src/features/page_action/instrument/index.js +6 -6
  167. package/src/features/page_view_event/aggregate/initialized-features.js +1 -1
  168. package/src/features/page_view_timing/aggregate/index.js +1 -2
  169. package/src/features/spa/aggregate/index.js +1 -2
  170. package/src/features/spa/aggregate/interaction.js +1 -2
  171. package/src/features/spa/aggregate/serializer.js +1 -2
  172. package/src/features/utils/aggregate-base.js +3 -1
  173. package/src/features/utils/lazy-feature-loader.js +2 -2
  174. package/src/index.js +3 -0
  175. package/src/loaders/agent-base.js +0 -4
  176. package/src/loaders/api/api.js +1 -1
  177. package/src/loaders/api/apiAsync.js +1 -1
  178. package/src/loaders/browser-agent.js +5 -3
  179. package/src/loaders/configure/configure.js +5 -1
  180. package/src/loaders/features/features.js +8 -4
  181. package/src/loaders/micro-agent.js +1 -1
  182. package/dist/cjs/cdn/polyfills/lite.js +0 -16
  183. package/dist/cjs/cdn/polyfills/pro.js +0 -21
  184. package/dist/cjs/cdn/polyfills/spa.js +0 -22
  185. package/dist/cjs/cdn/polyfills.js +0 -24
  186. package/dist/cjs/common/util/map-own.js +0 -31
  187. package/dist/cjs/features/page_action/aggregate/index.js +0 -121
  188. package/dist/esm/cdn/polyfills/lite.js +0 -14
  189. package/dist/esm/cdn/polyfills/pro.js +0 -19
  190. package/dist/esm/cdn/polyfills/spa.js +0 -20
  191. package/dist/esm/cdn/polyfills.js +0 -27
  192. package/dist/esm/common/util/map-own.js +0 -24
  193. package/dist/esm/features/page_action/aggregate/index.js +0 -114
  194. package/dist/types/cdn/polyfills/lite.d.ts +0 -2
  195. package/dist/types/cdn/polyfills/lite.d.ts.map +0 -1
  196. package/dist/types/cdn/polyfills/pro.d.ts +0 -2
  197. package/dist/types/cdn/polyfills/pro.d.ts.map +0 -1
  198. package/dist/types/cdn/polyfills/spa.d.ts +0 -2
  199. package/dist/types/cdn/polyfills/spa.d.ts.map +0 -1
  200. package/dist/types/cdn/polyfills.d.ts +0 -2
  201. package/dist/types/cdn/polyfills.d.ts.map +0 -1
  202. package/dist/types/common/util/map-own.d.ts +0 -3
  203. package/dist/types/common/util/map-own.d.ts.map +0 -1
  204. package/dist/types/features/page_action/aggregate/index.d.ts.map +0 -1
  205. package/src/cdn/polyfills/lite.js +0 -20
  206. package/src/cdn/polyfills/pro.js +0 -30
  207. package/src/cdn/polyfills/spa.js +0 -32
  208. package/src/cdn/polyfills.js +0 -27
  209. package/src/common/util/map-own.js +0 -22
  210. package/src/features/page_action/aggregate/index.js +0 -114
@@ -11,10 +11,10 @@ import { BelNode } from './bel-node';
11
11
  * link https://github.com/newrelic/nr-querypack/blob/main/schemas/bel/7.qpschema
12
12
  **/
13
13
  export class Interaction extends BelNode {
14
- id = generateUuid(); // unique id that is serialized and used to link interactions with errors
15
- initialPageURL = initialLocation;
16
- oldURL = '' + globalScope?.location;
17
- newURL = '' + globalScope?.location;
14
+ id = (() => generateUuid())(); // unique id that is serialized and used to link interactions with errors
15
+ initialPageURL = (() => initialLocation)();
16
+ oldURL = (() => '' + globalScope?.location)();
17
+ newURL = (() => '' + globalScope?.location)();
18
18
  customName;
19
19
  customAttributes = {};
20
20
  customDataByApi = {};
@@ -22,7 +22,7 @@ export class Interaction extends BelNode {
22
22
  appTime; // only used by initialPageLoad interactions
23
23
  newRoute;
24
24
  /** Internal state of this interaction: in-progress, finished, or cancelled. */
25
- status = INTERACTION_STATUS.IP;
25
+ status = (() => INTERACTION_STATUS.IP)();
26
26
  domTimestamp = 0;
27
27
  historyTimestamp = 0;
28
28
  createdByApi = false;
@@ -15,7 +15,7 @@ import { now } from '../../../common/timing/now';
15
15
  const UI_WAIT_INTERVAL = 1 / 10 * 1000; // assume 10 fps
16
16
 
17
17
  export class Instrument extends InstrumentBase {
18
- static featureName = FEATURE_NAME;
18
+ static featureName = (() => FEATURE_NAME)();
19
19
  constructor(agentIdentifier, aggregator) {
20
20
  let auto = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
21
21
  super(agentIdentifier, aggregator, FEATURE_NAME, auto);
@@ -6,7 +6,6 @@
6
6
  import { registerHandler as register } from '../../../common/event-emitter/register-handler';
7
7
  import { parseUrl } from '../../../common/url/parse-url';
8
8
  import { shouldCollectEvent } from '../../../common/deny-list/deny-list';
9
- import { mapOwn } from '../../../common/util/map-own';
10
9
  import { navTimingValues as navTiming } from '../../../common/timing/nav-timing';
11
10
  import { generateUuid } from '../../../common/ids/unique-id';
12
11
  import { Interaction } from './interaction';
@@ -45,7 +44,7 @@ const {
45
44
  originalSetTimeout
46
45
  } = CONSTANTS;
47
46
  export class Aggregate extends AggregateBase {
48
- static featureName = FEATURE_NAME;
47
+ static featureName = (() => FEATURE_NAME)();
49
48
  constructor(agentIdentifier, aggregator) {
50
49
  super(agentIdentifier, aggregator, FEATURE_NAME);
51
50
  const agentRuntime = getRuntime(agentIdentifier);
@@ -613,7 +612,7 @@ export class Aggregate extends AggregateBase {
613
612
 
614
613
  // make sure that newrelic[INTERACTION]() works in end handler
615
614
  state.currentNode = root;
616
- mapOwn(interaction.handlers, function (i, cb) {
615
+ Object.values(interaction.handlers || {}).forEach(function (cb) {
617
616
  cb(attrs.store);
618
617
  });
619
618
  setCurrentNode(null);
@@ -4,7 +4,6 @@
4
4
  */
5
5
 
6
6
  import { getInfo, getRuntime, originals } from '../../../common/config/config';
7
- import { mapOwn } from '../../../common/util/map-own';
8
7
  import { ee } from '../../../common/event-emitter/contextual-ee';
9
8
  import { InteractionNode } from './interaction-node';
10
9
  var originalSetTimeout = originals.ST;
@@ -82,7 +81,8 @@ InteractionPrototype.finish = function finishInteraction() {
82
81
  if (this.onFinished) {
83
82
  this.onFinished(this);
84
83
  }
85
- mapOwn(getInfo(interaction.agentIdentifier).jsAttributes, function (attr, value) {
84
+ Object.entries(getInfo(interaction.agentIdentifier).jsAttributes || {}).forEach(_ref => {
85
+ let [attr, value] = _ref;
86
86
  if (!(attr in customAttrs)) customAttrs[attr] = value;
87
87
  });
88
88
  root.end = endTimestamp;
@@ -3,7 +3,6 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { cleanURL } from '../../../common/url/clean-url';
6
- import { mapOwn } from '../../../common/util/map-own';
7
6
  import { nullable, numeric, getAddStringContext, addCustomAttributes } from '../../../common/serialize/bel-serializer';
8
7
  import { SharedContext } from '../../../common/context/shared-context';
9
8
  import { getInfo } from '../../../common/config/config';
@@ -125,7 +124,7 @@ export class Serializer extends SharedContext {
125
124
  // get all navTiming values except navigationStart
126
125
  // (since its the same as interaction.start)
127
126
  // and limit to just the first 20 values we know about
128
- mapOwn(navTiming.slice(1, 21), function (i, v) {
127
+ Object.values(navTiming.slice(1, 21) || {}).forEach(v => {
129
128
  if (v !== undefined) {
130
129
  navTimingNode += seperator + numeric(v - prev);
131
130
  seperator = ',';
@@ -22,7 +22,7 @@ const {
22
22
  FN_END
23
23
  } = CONSTANTS;
24
24
  export class Instrument extends InstrumentBase {
25
- static featureName = FEATURE_NAME;
25
+ static featureName = (() => FEATURE_NAME)();
26
26
  constructor(agentIdentifier, aggregator) {
27
27
  var _this;
28
28
  let auto = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
@@ -2,7 +2,7 @@ import { FeatureBase } from './feature-base';
2
2
  import { getInfo, isConfigured, getRuntime } from '../../common/config/config';
3
3
  import { configure } from '../../loaders/configure/configure';
4
4
  import { gosCDN } from '../../common/window/nreum';
5
- import { drain } from '../../common/drain/drain';
5
+ import { deregisterDrain, drain } from '../../common/drain/drain';
6
6
  import { activatedFeatures } from '../../common/util/feature-flags';
7
7
  export class AggregateBase extends FeatureBase {
8
8
  constructor() {
@@ -35,6 +35,8 @@ export class AggregateBase extends FeatureBase {
35
35
  });
36
36
  return flagsPromise.catch(err => {
37
37
  this.ee.emit('internal-error', [err]);
38
+ this.blocked = true;
39
+ deregisterDrain(this.agentIdentifier, this.featureName);
38
40
  });
39
41
  }
40
42
  drain() {
@@ -18,12 +18,12 @@ export function lazyFeatureLoader(featureName, featurePart) {
18
18
  return import( /* webpackChunkName: "ajax-aggregate" */'../ajax/aggregate');
19
19
  case FEATURE_NAMES.jserrors:
20
20
  return import( /* webpackChunkName: "jserrors-aggregate" */'../jserrors/aggregate');
21
+ case FEATURE_NAMES.genericEvents:
22
+ return import( /* webpackChunkName: "generic_events-aggregate" */'../generic_events/aggregate');
21
23
  case FEATURE_NAMES.logging:
22
24
  return import( /* webpackChunkName: "logging-aggregate" */'../logging/aggregate');
23
25
  case FEATURE_NAMES.metrics:
24
26
  return import( /* webpackChunkName: "metrics-aggregate" */'../metrics/aggregate');
25
- case FEATURE_NAMES.pageAction:
26
- return import( /* webpackChunkName: "page_action-aggregate" */'../page_action/aggregate');
27
27
  case FEATURE_NAMES.pageViewEvent:
28
28
  return import( /* webpackChunkName: "page_view_event-aggregate" */'../page_view_event/aggregate');
29
29
  case FEATURE_NAMES.pageViewTiming:
package/dist/esm/index.js CHANGED
@@ -3,9 +3,12 @@ export { BrowserAgent } from './loaders/browser-agent';
3
3
  export { MicroAgent } from './loaders/micro-agent';
4
4
  export { Ajax } from './features/ajax';
5
5
  export { JSErrors } from './features/jserrors';
6
+ export { GenericEvents } from './features/generic_events';
7
+ export { Logging } from './features/logging';
6
8
  export { Metrics } from './features/metrics';
7
9
  export { PageAction } from './features/page_action';
8
10
  export { PageViewEvent } from './features/page_view_event';
9
11
  export { PageViewTiming } from './features/page_view_timing';
10
12
  export { SessionTrace } from './features/session_trace';
13
+ export { SessionReplay } from './features/session_replay';
11
14
  export { Spa } from './features/spa';
@@ -3,7 +3,6 @@
3
3
  import { warn } from '../common/util/console';
4
4
  import { SR_EVENT_EMITTER_TYPES } from '../features/session_replay/constants';
5
5
  import { generateRandomHexString } from '../common/ids/unique-id';
6
- import { ee } from '../common/event-emitter/contextual-ee';
7
6
 
8
7
  /**
9
8
  * @typedef {import('./api/interaction-types').InteractionInstance} InteractionInstance
@@ -14,9 +13,6 @@ export class AgentBase {
14
13
  constructor() {
15
14
  let agentIdentifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : generateRandomHexString(16);
16
15
  this.agentIdentifier = agentIdentifier;
17
-
18
- // Assign the observation context to the event emitter, so it knows how to create observation contexts
19
- this.ee = ee.get(agentIdentifier);
20
16
  }
21
17
 
22
18
  /**
@@ -81,7 +81,7 @@ export function setAPI(agentIdentifier, forceDrain) {
81
81
  asyncApiMethods.forEach(fnName => {
82
82
  apiInterface[fnName] = apiCall(prefix, fnName, true, 'api');
83
83
  });
84
- apiInterface.addPageAction = apiCall(prefix, 'addPageAction', true, FEATURE_NAMES.pageAction);
84
+ apiInterface.addPageAction = apiCall(prefix, 'addPageAction', true, FEATURE_NAMES.genericEvents);
85
85
  apiInterface.setPageViewName = function (name, host) {
86
86
  if (typeof name !== 'string') return;
87
87
  if (name.charAt(0) !== '/') name = '/' + name;
@@ -34,7 +34,7 @@ export function setAPI(agentIdentifier) {
34
34
  start: time + originTime,
35
35
  origin: 'nr'
36
36
  });
37
- handle('api-addPageAction', [time, 'finished'], undefined, FEATURE_NAMES.pageAction, instanceEE);
37
+ handle('api-addPageAction', [time, 'finished'], undefined, FEATURE_NAMES.genericEvents, instanceEE);
38
38
  }
39
39
  function addToTrace(t, evt) {
40
40
  if (!(evt && typeof evt === 'object' && evt.name && evt.start)) return;
@@ -6,8 +6,9 @@ import { Instrument as InstrumentErrors } from '../features/jserrors/instrument'
6
6
  import { Instrument as InstrumentXhr } from '../features/ajax/instrument';
7
7
  import { Instrument as InstrumentSessionTrace } from '../features/session_trace/instrument';
8
8
  import { Instrument as InstrumentSpa } from '../features/spa/instrument';
9
- import { Instrument as InstrumentPageAction } from '../features/page_action/instrument';
10
9
  import { Instrument as InstrumentSessionReplay } from '../features/session_replay/instrument';
10
+ import { Instrument as InstrumentGenericEvents } from '../features/generic_events/instrument';
11
+ import { Instrument as InstrumentLogs } from '../features/logging/instrument';
11
12
 
12
13
  /**
13
14
  * An agent class with all feature modules available. Features may be disabled and enabled via runtime configuration.
@@ -17,7 +18,7 @@ export class BrowserAgent extends Agent {
17
18
  constructor(args) {
18
19
  super({
19
20
  ...args,
20
- features: [InstrumentXhr, InstrumentPageViewEvent, InstrumentPageViewTiming, InstrumentSessionTrace, InstrumentMetrics, InstrumentPageAction, InstrumentErrors, InstrumentSpa, InstrumentSessionReplay],
21
+ features: [InstrumentXhr, InstrumentPageViewEvent, InstrumentPageViewTiming, InstrumentSessionTrace, InstrumentMetrics, InstrumentErrors, InstrumentSpa, InstrumentSessionReplay, InstrumentGenericEvents, InstrumentLogs],
21
22
  loaderType: 'browser-agent'
22
23
  });
23
24
  }
@@ -4,6 +4,7 @@ import { getConfiguration, setConfiguration, setInfo, setLoaderConfig, setRuntim
4
4
  import { activatedFeatures } from '../../common/util/feature-flags';
5
5
  import { isWorkerScope } from '../../common/constants/runtime';
6
6
  import { redefinePublicPath } from './public-path';
7
+ import { ee } from '../../common/event-emitter/contextual-ee';
7
8
  let alreadySetOnce = false; // the configure() function can run multiple times in agent lifecycle
8
9
 
9
10
  /**
@@ -18,11 +19,10 @@ export function configure(agent) {
18
19
  init,
19
20
  info,
20
21
  loader_config,
21
- runtime = {
22
- loaderType
23
- },
22
+ runtime = {},
24
23
  exposed = true
25
24
  } = opts;
25
+ runtime.loaderType = loaderType;
26
26
  const nr = gosCDN();
27
27
  if (!info) {
28
28
  init = nr.init;
@@ -56,6 +56,7 @@ export function configure(agent) {
56
56
  runtime.denyList = [...(updatedInit.ajax.deny_list || []), ...(updatedInit.ajax.block_internal ? internalTrafficList : [])];
57
57
  runtime.ptid = agent.agentIdentifier;
58
58
  setRuntime(agent.agentIdentifier, runtime);
59
+ agent.ee = ee.get(agent.agentIdentifier);
59
60
  if (agent.api === undefined) agent.api = setAPI(agent.agentIdentifier, forceDrain, agent.runSoftNavOverSpa);
60
61
  if (agent.exposed === undefined) agent.exposed = exposed;
61
62
  alreadySetOnce = true;
@@ -1,8 +1,12 @@
1
1
  export const FEATURE_NAMES = {
2
2
  ajax: 'ajax',
3
+ genericEvents: 'generic_events',
3
4
  jserrors: 'jserrors',
4
5
  logging: 'logging',
5
6
  metrics: 'metrics',
7
+ /**
8
+ * @deprecated This feature has been replaced by Generic Events. Use/Import `GenericEvents` instead. This wrapper will be removed in a future release
9
+ */
6
10
  pageAction: 'page_action',
7
11
  pageViewEvent: 'page_view_event',
8
12
  pageViewTiming: 'page_view_timing',
@@ -24,8 +28,8 @@ export const featurePriority = {
24
28
  [FEATURE_NAMES.spa]: 5,
25
29
  [FEATURE_NAMES.ajax]: 6,
26
30
  [FEATURE_NAMES.sessionTrace]: 7,
27
- [FEATURE_NAMES.pageAction]: 8,
28
- [FEATURE_NAMES.softNav]: 9,
29
- [FEATURE_NAMES.sessionReplay]: 10,
30
- [FEATURE_NAMES.logging]: 11
31
+ [FEATURE_NAMES.softNav]: 8,
32
+ [FEATURE_NAMES.sessionReplay]: 9,
33
+ [FEATURE_NAMES.logging]: 10,
34
+ [FEATURE_NAMES.genericEvents]: 11
31
35
  };
@@ -10,7 +10,7 @@ import { FEATURE_NAMES } from './features/features';
10
10
  import { warn } from '../common/util/console';
11
11
  import { onWindowLoad } from '../common/window/load';
12
12
  import { AgentBase } from './agent-base';
13
- const nonAutoFeatures = [FEATURE_NAMES.jserrors, FEATURE_NAMES.pageAction, FEATURE_NAMES.metrics];
13
+ const nonAutoFeatures = [FEATURE_NAMES.jserrors, FEATURE_NAMES.genericEvents, FEATURE_NAMES.metrics];
14
14
 
15
15
  /**
16
16
  * A minimal agent class designed to only respond to manual user input. As such, this class does not
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/common/aggregate/aggregator.js"],"names":[],"mappings":"AAQA;IAGI,mBAAwB;IAO1B,kFAIC;IAED,gFA0BC;IAED,gEAIC;IAED,qEAUC;IAED,+BAKC;IAGD,4BAYC;CACF;8BAtF6B,2BAA2B"}
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/common/aggregate/aggregator.js"],"names":[],"mappings":"AAOA;IAGI,mBAAwB;IAO1B,kFAIC;IAED,gFA0BC;IAED,gEAIC;IAED,qEAUC;IAED,+BAKC;IAGD,4BAYC;CACF;8BArF6B,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/init.js"],"names":[],"mappings":"AAiHA,+CAIC;AAED,0DAKC;AAED,+DAYC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/init.js"],"names":[],"mappings":"AAkHA,+CAIC;AAED,0DAKC;AAED,+DAYC"}
@@ -20,7 +20,6 @@ export const isiOS: boolean;
20
20
  */
21
21
  export const iOSBelow16: boolean;
22
22
  export const ffVersion: number;
23
- export const isIE: boolean;
24
23
  export const supportsSendBeacon: boolean;
25
24
  /**
26
25
  * Represents the absolute timestamp in milliseconds that the page was loaded
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/constants/runtime.js"],"names":[],"mappings":"AASA;;GAEG;AACH,qCAEqB;AAErB;;GAEG;AACH,oCAeK;AAEL,oDAUI;AAEJ,oDAA6F;AAE7F,sCAA2F;AAE3F,qCAAyD;AAEzD,4BAA8E;AAE9E;;;;;;GAMG;AACH,iCAAwE;AAExE,+BAOI;AAEJ,2BAA2E;AAE3E,yCAAqE;AAErE;;;;GAIG;AACH,yBAFU,MAAM,CAE4B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/common/constants/runtime.js"],"names":[],"mappings":"AASA;;GAEG;AACH,qCAEqB;AAErB;;GAEG;AACH,oCAeK;AAEL,oDAUI;AAEJ,oDAA6F;AAE7F,sCAA2F;AAE3F,qCAAyD;AAEzD,4BAA8E;AAE9E;;;;;;GAMG;AACH,iCAAwE;AAExE,+BAOI;AAEJ,yCAAqE;AAErE;;;;GAIG;AACH,yBAFU,MAAM,CAE4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../../../src/common/drain/drain.js"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,+CAHW,MAAM,SACN,MAAM,QAQhB;AAED;;;;GAIG;AACH,iDAHW,GAAC,SACD,GAAC,QAOX;AAYD;;;;;;GAMG;AACH,wCAJW,MAAM,gBACN,MAAM,UACN,OAAO,QAajB"}
1
+ {"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../../../src/common/drain/drain.js"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,+CAHW,MAAM,SACN,MAAM,QAQhB;AAED;;;;GAIG;AACH,iDAHW,GAAC,SACD,GAAC,QAOX;AAYD;;;;;;GAMG;AACH,wCAJW,MAAM,gBACN,MAAM,UACN,OAAO,QAajB"}
@@ -1 +1 @@
1
- {"version":3,"file":"bel-serializer.d.ts","sourceRoot":"","sources":["../../../../src/common/serialize/bel-serializer.js"],"names":[],"mappings":"AAYA,gEAIC;AAED,wDAKC;AAED,gFAmBC;AAED,uEAwCC"}
1
+ {"version":3,"file":"bel-serializer.d.ts","sourceRoot":"","sources":["../../../../src/common/serialize/bel-serializer.js"],"names":[],"mappings":"AAWA,gEAIC;AAED,wDAKC;AAED,gFAmBC;AAED,uEAwCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../../src/common/url/encode.js"],"names":[],"mappings":"AA2BA,uCAGC;AAED,uDAOC;AAED,yDAyBC;AAGD,gEAMC"}
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../../src/common/url/encode.js"],"names":[],"mappings":"AA0BA,uCAGC;AAED,uDAOC;AAED,yDAyBC;AAGD,gEAMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"submit-data.d.ts","sourceRoot":"","sources":["../../../../src/common/util/submit-data.js"],"names":[],"mappings":"AAQA;;GAEG;AAEH;;;;;GAKG;AACH,qDAHG;IAAsB,cAAc,EAA5B,OAAO;CAEjB,8BAQA;AAED;;;;;;;;;GASG;AACH,0DAPG;IAAqB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM,YAAC;IACQ,IAAI,GAAnB,OAAO,YAAC;IACO,MAAM,GAArB,MAAM,YAAC;IAC+B,OAAO;aAAvC,MAAM;eAAS,MAAM;;CACnC,GAAU,cAAc,CAmB1B;AAED;;;;;;GAMG;AACH,sCAJG;IAAqB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM,YAAC;CACf,GAAU,OAAO,CAanB;6BAjEY,0BAAU"}
1
+ {"version":3,"file":"submit-data.d.ts","sourceRoot":"","sources":["../../../../src/common/util/submit-data.js"],"names":[],"mappings":"AAQA;;GAEG;AAEH;;;;;GAKG;AACH,qDAHG;IAAsB,cAAc,EAA5B,OAAO;CAEjB,8BAOA;AAED;;;;;;;;;GASG;AACH,0DAPG;IAAqB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM,YAAC;IACQ,IAAI,GAAnB,OAAO,YAAC;IACO,MAAM,GAArB,MAAM,YAAC;IAC+B,OAAO;aAAvC,MAAM;eAAS,MAAM;;CACnC,GAAU,cAAc,CAmB1B;AAED;;;;;;GAMG;AACH,sCAJG;IAAqB,GAAG,EAAhB,MAAM;IACQ,IAAI,GAAlB,MAAM,YAAC;CACf,GAAU,OAAO,CAanB;6BAhEY,0BAAU"}
@@ -1,13 +1,13 @@
1
1
  export class Aggregate extends AggregateBase {
2
2
  static featureName: string;
3
3
  constructor(agentIdentifier: any, aggregator: any);
4
- eventsPerMinute: number;
5
- harvestTimeSeconds: any;
6
4
  eventsPerHarvest: number;
5
+ harvestTimeSeconds: any;
7
6
  referrerUrl: string | undefined;
8
- currentEvents: any[] | null | undefined;
7
+ currentEvents: any[];
9
8
  events: any[];
10
- att: any;
9
+ overflow: any[];
10
+ harvestScheduler: HarvestScheduler;
11
11
  onHarvestStarted(options: any): {
12
12
  qs: {
13
13
  ua: any;
@@ -18,7 +18,9 @@ export class Aggregate extends AggregateBase {
18
18
  };
19
19
  };
20
20
  onHarvestFinished(result: any): void;
21
- addPageAction(t: any, name: any, attributes: any): void;
21
+ addEvent(obj?: {}): void;
22
+ #private;
22
23
  }
23
24
  import { AggregateBase } from '../../utils/aggregate-base';
25
+ import { HarvestScheduler } from '../../../common/harvest/harvest-scheduler';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/generic_events/aggregate/index.js"],"names":[],"mappings":"AAiBA;IAEE,2BAAiC;IACjC,mDA6CC;IA1CC,yBAA4B;IAC5B,wBAA0G;IAE1G,gCAAkG;IAClG,qBAAuB;IAEvB,cAAgB;IAChB,gBAAkB;IA6BhB,mCAAuH;IAQ3H;;;;;;;;MAkBC;IAED,qCAKC;IAGD,yBAoCC;;CACF;8BA1H6B,4BAA4B;iCALzB,2CAA2C"}
@@ -0,0 +1,2 @@
1
+ export const FEATURE_NAME: string;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/generic_events/constants.js"],"names":[],"mappings":"AAEA,kCAAuD"}
@@ -0,0 +1,2 @@
1
+ export { Instrument as GenericEvents } from "./instrument/index";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/generic_events/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export class Instrument extends InstrumentBase {
2
+ static featureName: string;
3
+ constructor(agentIdentifier: any, aggregator: any, auto?: boolean);
4
+ }
5
+ import { InstrumentBase } from '../../utils/instrument-base';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/generic_events/instrument/index.js"],"names":[],"mappings":"AASA;IACE,2BAAiC;IACjC,mEASC;CACF;+BAf8B,6BAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAyBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAgCC;IA7BC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,2BAAgC;IAChC,mCAA4B;IAC5B,qBAAwB;IA0B1B;;;MAwBC;IAED,qCAWC;IAED,8BAEC;IAED,oEAMC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4FA4FC;IA4BD,yDA6BC;IAED,qFAOC;;CAwBF;wBAvSY,OAAO,0BAA0B,EAAE,SAAS;8BAN3B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAwBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAgCC;IA7BC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,2BAAgC;IAChC,mCAA4B;IAC5B,qBAAwB;IA0B1B;;;MAwBC;IAED,qCAWC;IAED,8BAEC;IAED,oEAMC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4FA4FC;IA4BD,yDA6BC;IAED,qFAOC;;CAwBF;wBAvSY,OAAO,0BAA0B,EAAE,SAAS;8BAN3B,4BAA4B"}
@@ -1,6 +1,7 @@
1
- export class Instrument extends InstrumentBase {
2
- static featureName: string;
3
- constructor(agentIdentifier: any, aggregator: any, auto?: boolean);
1
+ /**
2
+ * @deprecated This feature has been replaced by Generic Events. Use/Import `GenericEvents` instead. This wrapper will be removed in a future release
3
+ */
4
+ export class Instrument extends GenericEvents {
4
5
  }
5
- import { InstrumentBase } from '../../utils/instrument-base';
6
+ import { GenericEvents } from '../../generic_events';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_action/instrument/index.js"],"names":[],"mappings":"AAQA;IACE,2BAAiC;IACjC,mEAGC;CACF;+BAT8B,6BAA6B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_action/instrument/index.js"],"names":[],"mappings":"AAOA;;GAEG;AACH;CAIC;8BAT6B,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAyBA;IACE,2BAAiC;IAMjC,mDA0CC;IAvCC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAuCjC;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,mDAuBC;IAED,qCAKC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;;CACF;8BA7K6B,4BAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAwBA;IACE,2BAAiC;IAMjC,mDA0CC;IAvCC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAuCjC;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,mDAuBC;IAED,qCAKC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;;CACF;8BA7K6B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AAiCA;IACE,2BAAiC;IACjC,mDA2tBC;IAvtBC;;;;;;;;;;;;;;;;;MAkBC;IAGD,uBAAsC;CAmsBzC;8BA5uB6B,4BAA4B;2BAJ/B,cAAc"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AAgCA;IACE,2BAAiC;IACjC,mDA2tBC;IAvtBC;;;;;;;;;;;;;;;;;MAkBC;IAGD,uBAAsC;CAmsBzC;8BA5uB6B,4BAA4B;2BAJ/B,cAAc"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/interaction.js"],"names":[],"mappings":"AAcA,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/serializer.js"],"names":[],"mappings":"AAUA;IAII;;;;;;OAMG;IACH,gBAFU,MAAM,GAAC,SAAS,CAEK;IAGjC,0EASC;IAED,oFAMC;IAED,iHA+JC;CACF;8BApM6B,wCAAwC"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/serializer.js"],"names":[],"mappings":"AASA;IAII;;;;;;OAMG;IACH,gBAFU,MAAM,GAAC,SAAS,CAEK;IAGjC,0EASC;IAED,oFAMC;IAED,iHA+JC;CACF;8BApM6B,wCAAwC"}
@@ -1 +1 @@
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,gBAsBlB;IAED,cAGC;IADC,6BAAmB;IAGrB;;;OAGG;IACH,2BAsBC;CACF;4BAvE2B,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,gBAwBlB;IAED,cAGC;IADC,6BAAmB;IAGrB;;;OAGG;IACH,2BAsBC;CACF;4BAzE2B,gBAAgB"}
@@ -3,10 +3,13 @@ export { BrowserAgent } from "./loaders/browser-agent";
3
3
  export { MicroAgent } from "./loaders/micro-agent";
4
4
  export { Ajax } from "./features/ajax";
5
5
  export { JSErrors } from "./features/jserrors";
6
+ export { GenericEvents } from "./features/generic_events";
7
+ export { Logging } from "./features/logging";
6
8
  export { Metrics } from "./features/metrics";
7
9
  export { PageAction } from "./features/page_action";
8
10
  export { PageViewEvent } from "./features/page_view_event";
9
11
  export { PageViewTiming } from "./features/page_view_timing";
10
12
  export { SessionTrace } from "./features/session_trace";
13
+ export { SessionReplay } from "./features/session_replay";
11
14
  export { Spa } from "./features/spa";
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -4,7 +4,6 @@
4
4
  export class AgentBase {
5
5
  constructor(agentIdentifier?: string);
6
6
  agentIdentifier: string;
7
- ee: any;
8
7
  /**
9
8
  * Reports a browser PageAction event along with a name and optional attributes.
10
9
  * {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/addpageaction/}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-base.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent-base.js"],"names":[],"mappings":"AAOA;;GAEG;AAEH;IAGE,sCAKC;IAPD,wBAAe;IAMb,QAAiC;IAanC;;;;;OAKG;IACH,oBAHW,MAAM,wCAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,kCAKhB;IAED;;;;;;OAMG;IACH,yBAJW,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,sCAKpC;IAED;;;;;OAKG;IACH,mBAHW,KAAK,GAAC,MAAM,8CAKtB;IAED;;;;OAIG;IACH,iBAFW,MAAM,GAAC,IAAI,OAIrB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,IAAI,OAMrB;IAED;;;;OAIG;IACH,0BAFW,CAAC,KAAK,EAAE,KAAK,GAAC,MAAM,KAAK,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,OAI9D;IAED;;;;OAIG;IACH,8CAEC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,MACN,MAAM,OAIhB;IAED;;;;OAIG;IACH,yDAEC;IAED;;;;OAIG;IACH,oBAEC;IAED;;;;;OAKG;IACH,mBAEC;IAED;;;;;;;;;;OAUG;IACH,6BARW;QAAC,IAAI,EAAE,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,OAUrF;IAED;;;;;OAKG;IACH,0BAHW,MAAM,OAKhB;IAED;;;;;MAKE;IACF,eAHa,mBAAmB,CAK/B;IAED;;;;;MAKE;IACF,aAHW,MAAM;2BACc,MAAM;gBAAU,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM;wBAInF;IAED;;;;;;MAME;IACF,mBAJW,MAAM,gBACN,MAAM;2BACc,MAAM;gBAAU,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM;wBAInF;;CACF;kCApMY,OAAO,yBAAyB,EAAE,mBAAmB"}
1
+ {"version":3,"file":"agent-base.d.ts","sourceRoot":"","sources":["../../../src/loaders/agent-base.js"],"names":[],"mappings":"AAMA;;GAEG;AAEH;IAGE,sCAEC;IAJD,wBAAe;IAgBf;;;;;OAKG;IACH,oBAHW,MAAM,wCAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,kCAKhB;IAED;;;;;;OAMG;IACH,yBAJW,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,sCAKpC;IAED;;;;;OAKG;IACH,mBAHW,KAAK,GAAC,MAAM,8CAKtB;IAED;;;;OAIG;IACH,iBAFW,MAAM,GAAC,IAAI,OAIrB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,IAAI,OAMrB;IAED;;;;OAIG;IACH,0BAFW,CAAC,KAAK,EAAE,KAAK,GAAC,MAAM,KAAK,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,OAI9D;IAED;;;;OAIG;IACH,8CAEC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,MACN,MAAM,OAIhB;IAED;;;;OAIG;IACH,yDAEC;IAED;;;;OAIG;IACH,oBAEC;IAED;;;;;OAKG;IACH,mBAEC;IAED;;;;;;;;;;OAUG;IACH,6BARW;QAAC,IAAI,EAAE,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,OAUrF;IAED;;;;;OAKG;IACH,0BAHW,MAAM,OAKhB;IAED;;;;;MAKE;IACF,eAHa,mBAAmB,CAK/B;IAED;;;;;MAKE;IACF,aAHW,MAAM;2BACc,MAAM;gBAAU,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM;wBAInF;IAED;;;;;;MAME;IACF,mBAJW,MAAM,gBACN,MAAM;2BACc,MAAM;gBAAU,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM;wBAInF;;CACF;kCAjMY,OAAO,yBAAyB,EAAE,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/browser-agent.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH;IACE,uBAgBC;CACF;sBAlCqB,SAAS"}
1
+ {"version":3,"file":"browser-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/browser-agent.js"],"names":[],"mappings":"AAaA;;;GAGG;AACH;IACE,uBAiBC;CACF;sBApCqB,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"AASA;;GAEG;AACH,oGAgDC"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/configure.js"],"names":[],"mappings":"AAUA;;GAEG;AACH,oGAmDC"}
@@ -1,5 +1,6 @@
1
1
  export namespace FEATURE_NAMES {
2
2
  let ajax: string;
3
+ let genericEvents: string;
3
4
  let jserrors: string;
4
5
  let logging: string;
5
6
  let metrics: string;
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../../src/loaders/features/features.js"],"names":[],"mappings":";;;;;;;;;;;;;AAcA;;;GAGG;AACH;;EAYC"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../../src/loaders/features/features.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAkBA;;;GAGG;AACH;;EAYC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newrelic/browser-agent",
3
- "version": "1.263.0",
3
+ "version": "1.264.0",
4
4
  "private": false,
5
5
  "author": "New Relic Browser Agent Team <browser-agent@newrelic.com>",
6
6
  "description": "New Relic Browser Agent",
@@ -44,6 +44,9 @@
44
44
  "features/page_action": [
45
45
  "dist/types/features/page_action/index.d.ts"
46
46
  ],
47
+ "features/generic_events": [
48
+ "dist/types/features/generic_events/index.d.ts"
49
+ ],
47
50
  "features/page_view_event": [
48
51
  "dist/types/features/page_view_event/index.d.ts"
49
52
  ],
@@ -53,6 +56,9 @@
53
56
  "features/session_trace": [
54
57
  "dist/types/features/session_trace/index.d.ts"
55
58
  ],
59
+ "features/session_replay": [
60
+ "dist/types/features/session_replay/index.d.ts"
61
+ ],
56
62
  "features/spa": [
57
63
  "dist/types/features/spa/index.d.ts"
58
64
  ]
@@ -89,6 +95,11 @@
89
95
  "require": "./dist/cjs/features/ajax/index.js",
90
96
  "default": "./dist/esm/features/ajax/index.js"
91
97
  },
98
+ "./features/generic_events": {
99
+ "types": "./dist/types/features/generic_events/index.d.ts",
100
+ "require": "./dist/cjs/features/generic_events/index.js",
101
+ "default": "./dist/esm/features/generic_events/index.js"
102
+ },
92
103
  "./features/jserrors": {
93
104
  "types": "./dist/types/features/jserrors/index.d.ts",
94
105
  "require": "./dist/cjs/features/jserrors/index.js",
@@ -119,11 +130,21 @@
119
130
  "require": "./dist/cjs/features/page_view_timing/index.js",
120
131
  "default": "./dist/esm/features/page_view_timing/index.js"
121
132
  },
133
+ "./features/session_replay": {
134
+ "types": "./dist/types/features/session_replay/index.d.ts",
135
+ "require": "./dist/cjs/features/session_replay/index.js",
136
+ "default": "./dist/esm/features/session_replay/index.js"
137
+ },
122
138
  "./features/session_trace": {
123
139
  "types": "./dist/types/features/session_trace/index.d.ts",
124
140
  "require": "./dist/cjs/features/session_trace/index.js",
125
141
  "default": "./dist/esm/features/session_trace/index.js"
126
142
  },
143
+ "./features/soft_navigations": {
144
+ "types": "./dist/types/features/soft_navigations/index.d.ts",
145
+ "require": "./dist/cjs/features/soft_navigations/index.js",
146
+ "default": "./dist/esm/features/soft_navigations/index.js"
147
+ },
127
148
  "./features/spa": {
128
149
  "types": "./dist/types/features/spa/index.d.ts",
129
150
  "require": "./dist/cjs/features/spa/index.js",
@@ -170,10 +191,9 @@
170
191
  "url": "https://github.com/newrelic/newrelic-browser-agent.git"
171
192
  },
172
193
  "dependencies": {
173
- "core-js": "^3.26.0",
174
- "fflate": "^0.7.4",
194
+ "fflate": "0.7.4",
175
195
  "rrweb": "2.0.0-alpha.12",
176
- "web-vitals": "^3.1.0"
196
+ "web-vitals": "3.5.2"
177
197
  },
178
198
  "devDependencies": {
179
199
  "@babel/cli": "^7.23.4",
@@ -184,7 +204,6 @@
184
204
  "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
185
205
  "@babel/plugin-proposal-optional-chaining": "^7.21.0",
186
206
  "@babel/plugin-proposal-private-methods": "^7.18.6",
187
- "@babel/plugin-syntax-import-assertions": "^7.23.3",
188
207
  "@babel/preset-env": "^7.23.8",
189
208
  "@babel/register": "^7.23.7",
190
209
  "@faker-js/faker": "^8.3.1",
@@ -235,7 +254,7 @@
235
254
  "util": "^0.12.5",
236
255
  "uuid": "^9.0.1",
237
256
  "wait-on": "^7.2.0",
238
- "wdio-lambdatest-service": "^2.1.3",
257
+ "wdio-lambdatest-service": "^3.0.0",
239
258
  "webpack": "^5.89.0",
240
259
  "webpack-bundle-analyzer": "^4.10.1",
241
260
  "webpack-cli": "^5.1.4",