@newrelic/browser-agent 1.316.0 → 1.317.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.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/common/config/init-types.js +1 -0
- package/dist/cjs/common/config/init.js +6 -4
- package/dist/cjs/common/constants/env.cdn.js +2 -2
- package/dist/cjs/common/constants/env.npm.js +2 -2
- package/dist/cjs/common/constants/events.js +26 -0
- package/dist/cjs/common/harvest/harvester.js +12 -4
- package/dist/cjs/common/payloads/payloads.js +127 -0
- package/dist/cjs/common/serialize/bel-serializer.js +4 -3
- package/dist/cjs/common/util/data-size.js +2 -2
- package/dist/cjs/common/util/obfuscate.js +147 -3
- package/dist/cjs/common/wrap/wrap-websocket.js +2 -1
- package/dist/cjs/common/wrap/wrap-xhr.js +1 -1
- package/dist/cjs/features/ajax/aggregate/gql.js +40 -1
- package/dist/cjs/features/ajax/aggregate/index.js +51 -13
- package/dist/cjs/features/ajax/constants.js +6 -1
- package/dist/cjs/features/ajax/instrument/index.js +105 -17
- package/dist/cjs/features/generic_events/aggregate/index.js +15 -10
- package/dist/cjs/features/generic_events/constants.js +3 -2
- package/dist/cjs/features/jserrors/aggregate/format-stack-trace.js +2 -2
- package/dist/cjs/features/jserrors/aggregate/index.js +12 -3
- package/dist/cjs/features/logging/aggregate/index.js +7 -3
- package/dist/cjs/features/metrics/aggregate/index.js +5 -1
- package/dist/cjs/features/page_view_event/aggregate/index.js +7 -3
- package/dist/cjs/features/page_view_timing/aggregate/index.js +6 -1
- package/dist/cjs/features/session_replay/aggregate/index.js +7 -1
- package/dist/cjs/features/session_trace/aggregate/index.js +6 -2
- package/dist/cjs/features/soft_navigations/aggregate/ajax-node.js +36 -5
- package/dist/cjs/features/soft_navigations/aggregate/index.js +7 -1
- package/dist/cjs/features/soft_navigations/aggregate/initial-page-load-interaction.js +1 -1
- package/dist/cjs/features/soft_navigations/aggregate/interaction.js +6 -4
- package/dist/cjs/features/utils/aggregate-base.js +2 -3
- package/dist/esm/common/config/init-types.js +1 -0
- package/dist/esm/common/config/init.js +3 -1
- package/dist/esm/common/constants/env.cdn.js +2 -2
- package/dist/esm/common/constants/env.npm.js +2 -2
- package/dist/esm/common/constants/events.js +20 -0
- package/dist/esm/common/harvest/harvester.js +12 -4
- package/dist/esm/common/payloads/payloads.js +118 -0
- package/dist/esm/common/serialize/bel-serializer.js +4 -3
- package/dist/esm/common/util/data-size.js +2 -2
- package/dist/esm/common/util/obfuscate.js +147 -3
- package/dist/esm/common/wrap/wrap-websocket.js +2 -1
- package/dist/esm/common/wrap/wrap-xhr.js +1 -1
- package/dist/esm/features/ajax/aggregate/gql.js +39 -1
- package/dist/esm/features/ajax/aggregate/index.js +52 -14
- package/dist/esm/features/ajax/constants.js +5 -0
- package/dist/esm/features/ajax/instrument/index.js +106 -18
- package/dist/esm/features/generic_events/aggregate/index.js +15 -10
- package/dist/esm/features/generic_events/constants.js +3 -2
- package/dist/esm/features/jserrors/aggregate/format-stack-trace.js +2 -2
- package/dist/esm/features/jserrors/aggregate/index.js +12 -3
- package/dist/esm/features/logging/aggregate/index.js +7 -3
- package/dist/esm/features/metrics/aggregate/index.js +5 -1
- package/dist/esm/features/page_view_event/aggregate/index.js +7 -3
- package/dist/esm/features/page_view_timing/aggregate/index.js +6 -1
- package/dist/esm/features/session_replay/aggregate/index.js +7 -1
- package/dist/esm/features/session_trace/aggregate/index.js +6 -2
- package/dist/esm/features/soft_navigations/aggregate/ajax-node.js +36 -5
- package/dist/esm/features/soft_navigations/aggregate/index.js +7 -1
- package/dist/esm/features/soft_navigations/aggregate/initial-page-load-interaction.js +1 -1
- package/dist/esm/features/soft_navigations/aggregate/interaction.js +6 -4
- package/dist/esm/features/utils/aggregate-base.js +2 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/common/config/init-types.d.ts +4 -0
- package/dist/types/common/config/init-types.d.ts.map +1 -1
- package/dist/types/common/config/init.d.ts.map +1 -1
- package/dist/types/common/constants/events.d.ts +16 -0
- package/dist/types/common/constants/events.d.ts.map +1 -0
- package/dist/types/common/harvest/harvester.d.ts +4 -1
- package/dist/types/common/harvest/harvester.d.ts.map +1 -1
- package/dist/types/common/payloads/payloads.d.ts +42 -0
- package/dist/types/common/payloads/payloads.d.ts.map +1 -0
- package/dist/types/common/serialize/bel-serializer.d.ts +1 -1
- package/dist/types/common/serialize/bel-serializer.d.ts.map +1 -1
- package/dist/types/common/util/obfuscate.d.ts +23 -2
- package/dist/types/common/util/obfuscate.d.ts.map +1 -1
- package/dist/types/common/wrap/wrap-websocket.d.ts.map +1 -1
- package/dist/types/features/ajax/aggregate/gql.d.ts +8 -0
- package/dist/types/features/ajax/aggregate/gql.d.ts.map +1 -1
- package/dist/types/features/ajax/aggregate/index.d.ts +2 -0
- package/dist/types/features/ajax/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/ajax/constants.d.ts +5 -0
- package/dist/types/features/ajax/constants.d.ts.map +1 -1
- package/dist/types/features/ajax/instrument/index.d.ts.map +1 -1
- package/dist/types/features/generic_events/aggregate/index.d.ts +3 -1
- package/dist/types/features/generic_events/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/generic_events/constants.d.ts.map +1 -1
- package/dist/types/features/jserrors/aggregate/index.d.ts +8 -1
- package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/logging/aggregate/index.d.ts +3 -1
- package/dist/types/features/logging/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/metrics/aggregate/index.d.ts +2 -0
- package/dist/types/features/metrics/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/page_view_event/aggregate/index.d.ts +2 -0
- package/dist/types/features/page_view_event/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/page_view_timing/aggregate/index.d.ts +2 -0
- package/dist/types/features/page_view_timing/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/session_replay/aggregate/index.d.ts +2 -0
- package/dist/types/features/session_replay/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/session_trace/aggregate/index.d.ts +2 -0
- package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/aggregate/ajax-node.d.ts +6 -1
- package/dist/types/features/soft_navigations/aggregate/ajax-node.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/aggregate/index.d.ts +3 -0
- package/dist/types/features/soft_navigations/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/soft_navigations/aggregate/interaction.d.ts +3 -1
- package/dist/types/features/soft_navigations/aggregate/interaction.d.ts.map +1 -1
- package/dist/types/features/utils/aggregate-base.d.ts +0 -1
- package/dist/types/features/utils/aggregate-base.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/common/config/init-types.js +1 -0
- package/src/common/config/init.js +2 -1
- package/src/common/constants/events.js +20 -0
- package/src/common/harvest/harvester.js +11 -4
- package/src/common/payloads/payloads.js +135 -0
- package/src/common/serialize/bel-serializer.js +4 -3
- package/src/common/util/data-size.js +2 -2
- package/src/common/util/obfuscate.js +154 -3
- package/src/common/wrap/wrap-websocket.js +2 -1
- package/src/common/wrap/wrap-xhr.js +1 -1
- package/src/features/ajax/aggregate/gql.js +42 -1
- package/src/features/ajax/aggregate/index.js +43 -13
- package/src/features/ajax/constants.js +5 -1
- package/src/features/ajax/instrument/index.js +114 -18
- package/src/features/generic_events/aggregate/index.js +14 -9
- package/src/features/generic_events/constants.js +3 -2
- package/src/features/jserrors/aggregate/format-stack-trace.js +3 -3
- package/src/features/jserrors/aggregate/index.js +12 -3
- package/src/features/logging/aggregate/index.js +7 -6
- package/src/features/metrics/aggregate/index.js +5 -1
- package/src/features/page_view_event/aggregate/index.js +6 -2
- package/src/features/page_view_timing/aggregate/index.js +6 -1
- package/src/features/session_replay/aggregate/index.js +7 -1
- package/src/features/session_trace/aggregate/index.js +6 -2
- package/src/features/soft_navigations/aggregate/ajax-node.js +26 -5
- package/src/features/soft_navigations/aggregate/index.js +7 -1
- package/src/features/soft_navigations/aggregate/initial-page-load-interaction.js +1 -1
- package/src/features/soft_navigations/aggregate/interaction.js +6 -4
- package/src/features/utils/aggregate-base.js +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-types.d.ts","sourceRoot":"","sources":["../../../../src/common/config/init-types.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-types.d.ts","sourceRoot":"","sources":["../../../../src/common/config/init-types.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuCsB,MAAM,GAAG,MAAM;qBAAe,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/config/init.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/config/init.js"],"names":[],"mappings":"AAgJO,0CAEN;mBAtIY,OAAO,cAAc,EAAE,IAAI"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export namespace EVENT_TYPES {
|
|
2
|
+
let AJAX: string;
|
|
3
|
+
let PA: string;
|
|
4
|
+
let UA: string;
|
|
5
|
+
let BP: string;
|
|
6
|
+
let WS: string;
|
|
7
|
+
let SPV: string;
|
|
8
|
+
let JSE: string;
|
|
9
|
+
let LOG: string;
|
|
10
|
+
let PVE: string;
|
|
11
|
+
let PVT: string;
|
|
12
|
+
let SR: string;
|
|
13
|
+
let ST: string;
|
|
14
|
+
let BI: string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/common/constants/events.js"],"names":[],"mappings":""}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {NetworkSendSpec} param0 Specification for sending data
|
|
4
4
|
* @returns {boolean} True if a network call was made. Note that this does not mean or guarantee that it was successful.
|
|
5
5
|
*/
|
|
6
|
-
export function send(agentRef: any, { endpoint, payload, localOpts, submitMethod, cbFinished, raw, featureName, endpointVersion }: {
|
|
6
|
+
export function send(agentRef: any, { endpoint, payload, localOpts, submitMethod, cbFinished, raw, featureName, endpointVersion, harvesterObfuscator }: {
|
|
7
7
|
endpoint: any;
|
|
8
8
|
payload: any;
|
|
9
9
|
localOpts?: {} | undefined;
|
|
@@ -12,11 +12,13 @@ export function send(agentRef: any, { endpoint, payload, localOpts, submitMethod
|
|
|
12
12
|
raw: any;
|
|
13
13
|
featureName: any;
|
|
14
14
|
endpointVersion?: number | undefined;
|
|
15
|
+
harvesterObfuscator: any;
|
|
15
16
|
}): boolean;
|
|
16
17
|
export class Harvester {
|
|
17
18
|
constructor(agentRef: any);
|
|
18
19
|
initializedAggregates: any[];
|
|
19
20
|
agentRef: any;
|
|
21
|
+
obfuscator: Obfuscator;
|
|
20
22
|
startTimer(harvestInterval?: any): void;
|
|
21
23
|
/**
|
|
22
24
|
* Given a feature (aggregate), execute a harvest on-demand.
|
|
@@ -28,4 +30,5 @@ export class Harvester {
|
|
|
28
30
|
#private;
|
|
29
31
|
}
|
|
30
32
|
export type NetworkSendSpec = import("./types.js").NetworkSendSpec;
|
|
33
|
+
import { Obfuscator } from '../util/obfuscate';
|
|
31
34
|
//# sourceMappingURL=harvester.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvester.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../../../src/common/harvest/harvester.js"],"names":[],"mappings":"AAmHA;;;;IAII;AACJ;;;;;;;;;;IAFc,OAAO,CAsHpB;AAnND;IAIE,2BAcC;IAhBD,6BAA0B;IAGxB,cAAwB;IAIxB,uBAA0C;IAW5C,wCASC;IAED;;;;;OAKG;IACH,iCAJW,MAAM,cACN,MAAM,GACJ,OAAO,CA+CnB;;CACF;8BAGY,OAAO,YAAY,EAAE,eAAe;2BA7FtB,mBAAmB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines whether payload data should be captured based on the capture mode setting,
|
|
3
|
+
* HTTP status code, and GraphQL error status.
|
|
4
|
+
* @param {string} captureMode - The capture mode setting ('none', 'all', or 'failures')
|
|
5
|
+
* @param {number} statusCode - The HTTP status code
|
|
6
|
+
* @param {boolean} hasGQLErrors - Whether the response contains GraphQL errors
|
|
7
|
+
* @returns {boolean} True if payload should be captured
|
|
8
|
+
*/
|
|
9
|
+
export function canCapturePayload(captureMode: string, statusCode: number, hasGQLErrors: boolean): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Parses a query string into an object of key-value pairs.
|
|
12
|
+
* @param {string} search a query string starting with "?" or without (ex. new URL(...).search)
|
|
13
|
+
* @returns {Object|undefined} Parsed query parameters as key-value pairs. Returns undefined if no valid parameters are found.
|
|
14
|
+
*/
|
|
15
|
+
export function parseQueryString(search: string): Object | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Determines if the given content type is likely to be human-readable (text-based).
|
|
18
|
+
* @param {Object} headers - The headers object containing content-type
|
|
19
|
+
* @param {*} data - The data to check
|
|
20
|
+
* @returns {boolean} True if the content type is human-readable (text-based)
|
|
21
|
+
*/
|
|
22
|
+
export function isLikelyHumanReadable(headers: Object, data: any): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Truncates a string to ensure its UTF-8 byte length does not exceed 4092 bytes. If truncation is necessary,
|
|
25
|
+
* the string is cut off at a character boundary to avoid breaking multi-byte characters and " ..." is appended to indicate truncation.
|
|
26
|
+
* If not a string, it is first converted to a string using JSON.stringify.
|
|
27
|
+
* @param {*} data The data to truncate.
|
|
28
|
+
* @returns {string}
|
|
29
|
+
*/
|
|
30
|
+
export function truncateAsString(data: any): string;
|
|
31
|
+
/**
|
|
32
|
+
* Creates string adder functions for BEL serialization with obfuscation and optional truncation.
|
|
33
|
+
* This ensures a single string table is used while providing separate handling for regular vs payload attributes.
|
|
34
|
+
* @param {Function} getAddStringContext - Function that creates a new string table context
|
|
35
|
+
* @param {Object} obfuscator - Optional obfuscator instance for string obfuscation
|
|
36
|
+
* @returns {{addString: Function, addStringWithTruncation: Function}} Object containing both string adder functions
|
|
37
|
+
*/
|
|
38
|
+
export function createStringAdders(getAddStringContext: Function, obfuscator: Object): {
|
|
39
|
+
addString: Function;
|
|
40
|
+
addStringWithTruncation: Function;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=payloads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payloads.d.ts","sourceRoot":"","sources":["../../../../src/common/payloads/payloads.js"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,+CALW,MAAM,cACN,MAAM,gBACN,OAAO,GACL,OAAO,CAQnB;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;GAKG;AACH,+CAJW,MAAM,QACN,GAAC,GACC,OAAO,CA2BnB;AAED;;;;;;GAMG;AACH,uCAHW,GAAC,GACC,MAAM,CA2BlB;AAED;;;;;;GAMG;AACH,8EAHW,MAAM,GACJ;IAAC,SAAS,WAAW;IAAC,uBAAuB,WAAU;CAAC,CAiBpE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function nullable(val: any, fn: any, comma: any): string;
|
|
2
2
|
export function numeric(n: any, noDefault: any): string;
|
|
3
|
-
export function getAddStringContext(obfuscator: any): (str: any) => string;
|
|
3
|
+
export function getAddStringContext(obfuscator: any, truncator: any): (str: any) => string;
|
|
4
4
|
export function addCustomAttributes(attrs: any, addString: any): any[];
|
|
5
5
|
//# sourceMappingURL=bel-serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bel-serializer.d.ts","sourceRoot":"","sources":["../../../../src/common/serialize/bel-serializer.js"],"names":[],"mappings":"AAUA,gEAIC;AAED,wDAKC;AAED,
|
|
1
|
+
{"version":3,"file":"bel-serializer.d.ts","sourceRoot":"","sources":["../../../../src/common/serialize/bel-serializer.js"],"names":[],"mappings":"AAUA,gEAIC;AAED,wDAKC;AAED,2FAiBC;AAED,uEAwCC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @typedef {object} ObfuscationRule
|
|
4
4
|
* @property {string|RegExp} regex The regular expression to match against in the payload
|
|
5
5
|
* @property {string} [replacement] The string to replace the matched regex with
|
|
6
|
+
* @property {string[]} [eventFilter] An optional list of event types to which this rule should be applied. If not provided, or an empty array, the rule will be applied to all events.
|
|
6
7
|
*/
|
|
7
8
|
/**
|
|
8
9
|
* Represents an obfuscation rule validation state
|
|
@@ -15,8 +16,14 @@
|
|
|
15
16
|
* @property {boolean} errors.invalidReplacementDetected Whether the replacement is invalid
|
|
16
17
|
*/
|
|
17
18
|
export class Obfuscator {
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @param {Object} agentRef - Reference to the agent instance
|
|
21
|
+
* @param {string} [eventType] - Optional event type this obfuscator instance handles.
|
|
22
|
+
* If provided, only rules matching this event type (or rules with no eventFilter) will be applied.
|
|
23
|
+
*/
|
|
24
|
+
constructor(agentRef: Object, eventType?: string);
|
|
25
|
+
agentRef: Object;
|
|
26
|
+
eventType: string | undefined;
|
|
20
27
|
warnedRegexMissing: boolean;
|
|
21
28
|
warnedInvalidRegex: boolean;
|
|
22
29
|
warnedInvalidReplacement: boolean;
|
|
@@ -27,12 +34,22 @@ export class Obfuscator {
|
|
|
27
34
|
* @returns {string}
|
|
28
35
|
*/
|
|
29
36
|
obfuscateString(input: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Traverses an object and obfuscates all string properties.
|
|
39
|
+
* This instance will only apply rules that match its configured event type (if any).
|
|
40
|
+
* For features with mixed event types in their payloads (like generic_events), this will
|
|
41
|
+
* traverse the object and check each object's eventType property against the rules.
|
|
42
|
+
* @param {Object|Array} obj - The object or array to traverse
|
|
43
|
+
* @returns {Object|Array} The modified object
|
|
44
|
+
*/
|
|
45
|
+
traverseAndObfuscateEvents(obj: Object | any[]): Object | any[];
|
|
30
46
|
/**
|
|
31
47
|
* Validates an obfuscation rule and provides errors if any are found.
|
|
32
48
|
* @param {ObfuscationRule} rule The rule to validate
|
|
33
49
|
* @returns {ObfuscationRuleValidation} The validation state of the rule
|
|
34
50
|
*/
|
|
35
51
|
validateObfuscationRule(rule: ObfuscationRule): ObfuscationRuleValidation;
|
|
52
|
+
#private;
|
|
36
53
|
}
|
|
37
54
|
/**
|
|
38
55
|
* Represents an obfuscation rule that can be applied to harvested payloads
|
|
@@ -46,6 +63,10 @@ export type ObfuscationRule = {
|
|
|
46
63
|
* The string to replace the matched regex with
|
|
47
64
|
*/
|
|
48
65
|
replacement?: string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* An optional list of event types to which this rule should be applied. If not provided, or an empty array, the rule will be applied to all events.
|
|
68
|
+
*/
|
|
69
|
+
eventFilter?: string[] | undefined;
|
|
49
70
|
};
|
|
50
71
|
/**
|
|
51
72
|
* Represents an obfuscation rule validation state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../src/common/util/obfuscate.js"],"names":[],"mappings":"AAOA
|
|
1
|
+
{"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../src/common/util/obfuscate.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AAEH;IACE;;;;OAIG;IACH,sBAJW,MAAM,cACN,MAAM,EAShB;IALC,iBAAwB;IACxB,8BAA0B;IAC1B,4BAA+B;IAC/B,4BAA+B;IAC/B,kCAAqC;IAGvC,gCAeC;IAED;;;;OAIG;IACH,uBAHW,MAAM,GACJ,MAAM,CAoBlB;IAED;;;;;;;OAOG;IACH,gCAHW,MAAM,QAAM,GACV,MAAM,QAAM,CAuCxB;IAsFD;;;;OAIG;IACH,8BAHW,eAAe,GACb,yBAAyB,CA4BrC;;CACF;;;;;;;;WA3Oa,MAAM,GAAC,MAAM;;;;;;;;;;;;;;;;;UAQb,eAAe;;;;aACf,OAAO;;;;YAElB;QAA2B,oBAAoB,EAApC,OAAO;QACS,oBAAoB,EAApC,OAAO;QACS,0BAA0B,EAA1C,OAAO;KACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-websocket.d.ts","sourceRoot":"","sources":["../../../../src/common/wrap/wrap-websocket.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrap-websocket.d.ts","sourceRoot":"","sources":["../../../../src/common/wrap/wrap-websocket.js"],"names":[],"mappings":"AAeA,kDA2IC"}
|
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
* @returns {GQLMetadata | undefined}
|
|
13
13
|
*/
|
|
14
14
|
export function parseGQL({ body, query }?: object | string): GQLMetadata | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Checks if a response body contains GraphQL errors according to the GraphQL spec.
|
|
17
|
+
* A valid GraphQL error response contains an "errors" array with at least one error object.
|
|
18
|
+
* Supports both single and batched GraphQL responses.
|
|
19
|
+
* @param {string|object|array} [responseBody] The response body to check
|
|
20
|
+
* @returns {boolean} True if the response contains GraphQL errors
|
|
21
|
+
*/
|
|
22
|
+
export function hasGQLErrors(responseBody?: string | object | array): boolean;
|
|
15
23
|
export type GQLMetadata = {
|
|
16
24
|
/**
|
|
17
25
|
* Name of the operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/gql.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,2CAJW,MAAM,GAAC,MAAM,GAEX,WAAW,GAAG,SAAS,CAYnC;;;;;
|
|
1
|
+
{"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/gql.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,2CAJW,MAAM,GAAC,MAAM,GAEX,WAAW,GAAG,SAAS,CAYnC;AAkFD;;;;;;GAMG;AACH,4CAHW,MAAM,GAAC,MAAM,GAAC,KAAK,GACjB,OAAO,CAsBnB;;;;;mBAnIa,MAAM;;;;mBACN,MAAM;;;;wBACN,MAAM"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export class Aggregate extends AggregateBase {
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any);
|
|
4
|
+
obfuscator: Obfuscator;
|
|
4
5
|
storeXhr(params: any, metrics: any, startTime: any, endTime: any, type: any, target: any, ctx: any): void;
|
|
5
6
|
reportContainerEvent(evt: any, ctx: any): void;
|
|
6
7
|
serializer(eventBuffer: any): string | undefined;
|
|
7
8
|
}
|
|
8
9
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
10
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAoBA;IACE,2BAAiC;IAEjC,2BA6BC;IAvBC,uBAA4D;IAyB9D,0GAqFC;IAED,+CAOC;IAED,iDAoEC;CACF;8BAjN6B,4BAA4B;2BAK/B,gCAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/ajax/constants.js"],"names":[],"mappings":"AAMA,kCAA8C
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/ajax/constants.js"],"names":[],"mappings":"AAMA,kCAA8C;;;;;;AAM9C,sBAAuB,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/instrument/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/instrument/index.js"],"names":[],"mappings":"AA+BA;IACE,2BAAiC;IACjC,2BAiCC;IA9BC,OAA0B;IAE1B,8DAAkF;CA6BrF;AA6bD,qCAA8B;+BAjfC,6BAA6B;mBAFzC,uBAAuB"}
|
|
@@ -2,6 +2,7 @@ export class Aggregate extends AggregateBase {
|
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any);
|
|
4
4
|
referrerUrl: string | undefined;
|
|
5
|
+
obfuscator: Obfuscator;
|
|
5
6
|
/** Some keys are set by the query params or request headers sent with the harvest and override the body values, so check those before adding new standard body values...
|
|
6
7
|
* see harvest.js#baseQueryString for more info on the query params
|
|
7
8
|
* Notably:
|
|
@@ -16,7 +17,7 @@ export class Aggregate extends AggregateBase {
|
|
|
16
17
|
* @returns void
|
|
17
18
|
*/
|
|
18
19
|
addEvent(obj?: object | undefined, target?: string | undefined): void;
|
|
19
|
-
serializer(eventBuffer: any): Object;
|
|
20
|
+
serializer(eventBuffer: any): Object | any[];
|
|
20
21
|
queryStringsBuilder(): {
|
|
21
22
|
ua: any;
|
|
22
23
|
at: any;
|
|
@@ -24,4 +25,5 @@ export class Aggregate extends AggregateBase {
|
|
|
24
25
|
#private;
|
|
25
26
|
}
|
|
26
27
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
28
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
27
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/generic_events/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/generic_events/aggregate/index.js"],"names":[],"mappings":"AAmBA;IACE,2BAAiC;IAGjC,2BA6QC;IA3QC,gCAAkG;IAIlG,uBAA0C;IA0Q5C;;;;;;;;;;;;OAYG;IACH,eAJW,MAAM,YAAC,WACP,MAAM,YAAC,QAkCjB;IAED,6CAEC;IAED;;;MAEC;;CAsBF;8BAzW6B,4BAA4B;2BAI/B,gCAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/generic_events/constants.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/generic_events/constants.js"],"names":[],"mappings":"AAOA,kCAAuD;AAEvD,uCAA6F;AAC7F,8CAAuD;AAEvD,0CAA2C,CAAC,CAAA;AAC5C,sCAAuC,IAAI,CAAA;AAE3C,qCAAsC,IAAI,CAAA;AAE1C,4CAAoF"}
|
|
@@ -8,7 +8,13 @@ export class Aggregate extends AggregateBase {
|
|
|
8
8
|
observedAt: {};
|
|
9
9
|
pageviewReported: {};
|
|
10
10
|
errorOnPage: boolean;
|
|
11
|
-
|
|
11
|
+
errorObfuscator: Obfuscator;
|
|
12
|
+
xhrObfuscator: Obfuscator;
|
|
13
|
+
serializer(aggregatorTypeToBucketsMap: any): {
|
|
14
|
+
err: Object | any[];
|
|
15
|
+
ierr: Object | any[];
|
|
16
|
+
xhr: Object | any[];
|
|
17
|
+
};
|
|
12
18
|
queryStringsBuilder(aggregatorTakeReturnedData: any): {
|
|
13
19
|
ri: string;
|
|
14
20
|
pve: string;
|
|
@@ -46,4 +52,5 @@ export class Aggregate extends AggregateBase {
|
|
|
46
52
|
}
|
|
47
53
|
export type StackInfo = import("./compute-stack-trace.js").StackInfo;
|
|
48
54
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
55
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
49
56
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AA0BA;;GAEG;AAEH;IACE,2BAAiC;IACjC,2BA2BC;IAtBC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,qBAAwB;IAGxB,4BAAgE;IAChE,0BAA+D;IAiBjE;;;;MAMC;IAED;;;MAcC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,kBATW,KAAK,GAAC,aAAa,SACnB,MAAM,aACN,OAAO,qBACP,MAAM,cACN,OAAO,kBACP,MAAM,WACN,MAAM,GACJ,IAAI,CAiBhB;;CAyQF;wBA9WY,OAAO,0BAA0B,EAAE,SAAS;8BAV3B,4BAA4B;2BAE/B,gCAAgC"}
|
|
@@ -5,6 +5,7 @@ export class Aggregate extends AggregateBase {
|
|
|
5
5
|
auto: any;
|
|
6
6
|
api: any;
|
|
7
7
|
};
|
|
8
|
+
obfuscator: Obfuscator;
|
|
8
9
|
handleLog(timestamp: any, message: any, attributes: {} | undefined, level: string | undefined, autoCaptured: any, target: any): void;
|
|
9
10
|
serializer(eventBuffer: any): {
|
|
10
11
|
common: {
|
|
@@ -12,7 +13,7 @@ export class Aggregate extends AggregateBase {
|
|
|
12
13
|
attributes: any;
|
|
13
14
|
};
|
|
14
15
|
/** logs section contains individual unique log entries */
|
|
15
|
-
logs: Object;
|
|
16
|
+
logs: Object | any[];
|
|
16
17
|
}[];
|
|
17
18
|
queryStringsBuilder(): {
|
|
18
19
|
browser_monitoring_key: any;
|
|
@@ -22,4 +23,5 @@ export class Aggregate extends AggregateBase {
|
|
|
22
23
|
#private;
|
|
23
24
|
}
|
|
24
25
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
26
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
25
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/logging/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/logging/aggregate/index.js"],"names":[],"mappings":"AAoBA;IACE,2BAAiC;IACjC,2BA+CC;IA5CG;;;MAAgC;IAUlC,uBAA2D;IAoC7D,qIA8CC;IAED;;YAIM,0FAA0F;;;QAqB5F,0DAA0D;;QAG7D;IAED;;MAEC;IAED,yDAAyD;IACzD,yBAaC;;CAQF;8BAxK6B,4BAA4B;2BAI/B,gCAAgC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class Aggregate extends AggregateBase {
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any);
|
|
4
|
+
obfuscator: Obfuscator;
|
|
4
5
|
/** all the harvest metadata metrics need to be evaluated simulataneously at unload time so just temporarily buffer them and dont make SMs immediately from the data */
|
|
5
6
|
harvestMetadata: {};
|
|
6
7
|
agentNonce: string | false | undefined;
|
|
@@ -11,4 +12,5 @@ export class Aggregate extends AggregateBase {
|
|
|
11
12
|
eachSessionChecks(): void;
|
|
12
13
|
}
|
|
13
14
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
15
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metrics/aggregate/index.js"],"names":[],"mappings":"AAkBA;IACE,2BAAiC;IACjC,2BAmCC;IA9BC,uBAA0C;IAE1C,uKAAuK;IACvK,oBAAyB;IAWzB,uCAAiE;IAkBnE,iCAAsE;IAEtE,wDAKC;IAED,iDAKC;IAED,qBA0EC;IAED,0BAOC;CACF;8BAlJ6B,4BAA4B;2BAG/B,gCAAgC"}
|
|
@@ -6,6 +6,7 @@ export class Aggregate extends AggregateBase {
|
|
|
6
6
|
firstByteToWindowLoad: number;
|
|
7
7
|
firstByteToDomContent: number;
|
|
8
8
|
retries: number;
|
|
9
|
+
obfuscator: Obfuscator;
|
|
9
10
|
/**
|
|
10
11
|
*
|
|
11
12
|
* @param {Function} cb A function to run once the RUM call has finished - Defaults to activateFeatures
|
|
@@ -38,4 +39,5 @@ export class Aggregate extends AggregateBase {
|
|
|
38
39
|
}): void;
|
|
39
40
|
}
|
|
40
41
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
42
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
41
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAwBA;IACE,2BAA2C;IAE3C,2BA2BC;IAxBC,iBAAoB;IAEpB,wBAAwB;IACxB,8BAA8B;IAC9B,8BAA8B;IAC9B,gBAAgB;IAGhB,uBAA2D;IAkB7D;;;;OAIG;IACH,2BAFW,GAAC,QAiEX;IAbC;;;;;;;;;;;;;;mBAOC;IANC,iCAAyB;IAc7B,kCAEC;IAED;;;;;;aAiGC;CACF;8BAzN6B,4BAA4B;2BAM/B,gCAAgC"}
|
|
@@ -3,6 +3,7 @@ export class Aggregate extends AggregateBase {
|
|
|
3
3
|
constructor(agentRef: any);
|
|
4
4
|
curSessEndRecorded: boolean;
|
|
5
5
|
firstIxnRecorded: boolean;
|
|
6
|
+
obfuscator: Obfuscator;
|
|
6
7
|
/**
|
|
7
8
|
* Add the time of _document visibilitychange to hidden_ to the next PVT harvest == NRDB pageHide attr.
|
|
8
9
|
* @param {number} timestamp
|
|
@@ -24,4 +25,5 @@ export class Aggregate extends AggregateBase {
|
|
|
24
25
|
#private;
|
|
25
26
|
}
|
|
26
27
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
28
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
27
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AA0BA;IACE,2BAAiC;IAMjC,2BA+BC;IA7BC,4BAA+B;IAC/B,0BAA6B;IAK7B,uBAA2D;IAyB7D;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;;;MA+BC;IAED;;;OAGG;IACH,4BAFa,IAAI,CAahB;IAED,gDAWC;IAED,4BAGC;IAGD,qCAwBC;;CACF;8BAjK6B,4BAA4B;2BAC/B,gCAAgC"}
|
|
@@ -2,6 +2,7 @@ export class Aggregate extends AggregateBase {
|
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any, args: any);
|
|
4
4
|
mode: number;
|
|
5
|
+
obfuscator: Obfuscator;
|
|
5
6
|
/** Set once the recorder has fully initialized after flag checks and sampling */
|
|
6
7
|
initialized: boolean;
|
|
7
8
|
/** populated with the gzipper lib async */
|
|
@@ -68,4 +69,5 @@ export class Aggregate extends AggregateBase {
|
|
|
68
69
|
syncWithSessionManager(state?: {}): void;
|
|
69
70
|
}
|
|
70
71
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
72
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
71
73
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_replay/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_replay/aggregate/index.js"],"names":[],"mappings":"AA2BA;IACE,2BAAiC;IAIjC,sCA6FC;IAhGD,aAAe;IAOb,uBAA0D;IAE1D,iFAAiF;IACjF,qBAAwB;IAGxB,2CAA2C;IAC3C,sDAAwB;IACxB,6CAA6C;IAC7C,gDAAmB;IACnB,+DAA+D;IAC/D,wBAA0B;IAE1B,0BAA0B;IAC1B,kBAAqB;IACrB,6CAA6C;IAC7C,gBAA2B;IAE3B,qBAA2B;IAE3B,cAA8C;IAI9C,kCAAqG;IAmEvG,0BAEC;IAED,0BAMC;IAED,qBAUC;IAED;;;;;;OAMG;IACH,4BALW,OAAO,iBACP,OAAO;;;;;;QAEL,IAAI,CA8ChB;IAED,2BAUC;IAED,0BA0CC;IAED;;;;OAIG;IACH,6BAHW,MAAM,EAAE,GACN;QAAE,UAAU,EAAE,MAAM,GAAC,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAA;KAAE,CAUzE;IAED;;;;;;;;;;MAsEC;IAED,sCAcC;IAED;;;;OAIG;IACH,mCAKC;IAED,yDAAyD;IACzD,+CASC;IAED,yCAIC;CACF;8BA9X6B,4BAA4B;2BAe/B,gCAAgC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class Aggregate extends AggregateBase {
|
|
2
2
|
static featureName: string;
|
|
3
3
|
constructor(agentRef: any);
|
|
4
|
+
obfuscator: Obfuscator;
|
|
4
5
|
/** Tied to the entitlement flag response from BCS. Will short circuit operations of the agg if false */
|
|
5
6
|
entitled: any;
|
|
6
7
|
/** A flag used to decide if the 30 node threshold should be ignored on the first harvest to ensure sending on the first payload */
|
|
@@ -33,5 +34,6 @@ export class Aggregate extends AggregateBase {
|
|
|
33
34
|
postHarvestCleanup(result: any): void;
|
|
34
35
|
}
|
|
35
36
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
37
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
36
38
|
import { TraceStorage } from './trace/storage';
|
|
37
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAkBA;IACE,2BAAiC;IAEjC,2BAmBC;IAdC,uBAA0D;IAE1D,0GAA0G;IAC1G,cAAyB;IACzB,mIAAmI;IACnI,uBAA0B;IAC1B,0CAA0C;IAC1C,oBAAuB;IACvB,0GAA0G;IAC1G,2BAA0C;IAO5C,gLAAgL;IAChL,mEA2DC;IApDG,iCAAuB;IACvB,yJAAyJ;IACzJ,UAAsC;IACtC,eAA2D;IAyBD,UAAgE;IA0B9H,qCAWC;IAED,0CAIC;IAED;;;;;;;MAgDC;IAED,8DAA8D;IAC9D,qBAUC;IAED,2DAA2D;IAC3D,uBAMC;IAED,sCAGC;CACF;8BAjM6B,4BAA4B;2BAK/B,gCAAgC;6BAJ9B,iBAAiB"}
|
|
@@ -13,8 +13,13 @@ export class AjaxNode extends BelNode {
|
|
|
13
13
|
spanTimestamp: any;
|
|
14
14
|
gql: any;
|
|
15
15
|
targetAttributes: any;
|
|
16
|
+
requestBody: any;
|
|
17
|
+
requestHeaders: any;
|
|
18
|
+
requestQuery: any;
|
|
19
|
+
responseBody: any;
|
|
20
|
+
responseHeaders: any;
|
|
16
21
|
callbackEnd: any;
|
|
17
|
-
serialize(parentStartTimestamp: any, agentRef: any): string;
|
|
22
|
+
serialize(parentStartTimestamp: any, agentRef: any, ajaxObfuscator: any): string;
|
|
18
23
|
"ajaxRequest.id": any;
|
|
19
24
|
}
|
|
20
25
|
import { BelNode } from './bel-node';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajax-node.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/ajax-node.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ajax-node.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/ajax-node.js"],"names":[],"mappings":"AAUA;IACE,8CA8BC;IA5BC,gBAA6B;IAC7B,YAA8B;IAC9B,YAA8B;IAC9B,YAA8B;IAC9B,UAA0B;IAC1B,YAAmC;IACnC,YAAoC;IACpC,+BAAwD;IACxD,YAA8B;IAC9B,aAAgC;IAChC,mBAA4C;IAC5C,SAAwB;IACxB,sBAAkD;IAIlD,iBAAwC;IACxC,oBAA8C;IAC9C,kBAA0C;IAC1C,kBAA0C;IAC1C,qBAAgD;IAK9C,iBAAoE;IAKxE,iFA+CC;IAhEC,sBAAkC;CAiErC;wBAnFuB,YAAY"}
|
|
@@ -3,6 +3,8 @@ export class Aggregate extends AggregateBase {
|
|
|
3
3
|
constructor(agentRef: any, { domObserver }: {
|
|
4
4
|
domObserver: any;
|
|
5
5
|
});
|
|
6
|
+
interactionObfuscator: Obfuscator;
|
|
7
|
+
ajaxObfuscator: Obfuscator;
|
|
6
8
|
interactionsToHarvest: any;
|
|
7
9
|
domObserver: any;
|
|
8
10
|
initialPageLoadInteraction: InitialPageLoadInteraction;
|
|
@@ -24,6 +26,7 @@ export class Aggregate extends AggregateBase {
|
|
|
24
26
|
#private;
|
|
25
27
|
}
|
|
26
28
|
import { AggregateBase } from '../../utils/aggregate-base';
|
|
29
|
+
import { Obfuscator } from '../../../common/util/obfuscate';
|
|
27
30
|
import { InitialPageLoadInteraction } from './initial-page-load-interaction';
|
|
28
31
|
import { Interaction } from './interaction';
|
|
29
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC;;OAmEC;IA7DC,kCAAqE;IACrE,2BAAgE;IAEhE,2BAAwC;IACxC,iBAA8B;IAE9B,uDAA0E;IAc1E,yBAA+B;IAC/B,0CAAiC;IACjC,yBAA4C;IAyC9C,qCAUC;IAED,0EAmBC;IAED,2BAiBC;IAED;;;;;;;OAOG;IACH,6BAHW,mBAAmB,OAsB7B;;CAoHF;8BAlR6B,4BAA4B;2BAC/B,gCAAgC;2CAGhB,iCAAiC;4BAChD,eAAe"}
|
|
@@ -49,9 +49,11 @@ export class Interaction extends BelNode {
|
|
|
49
49
|
* Serializes (BEL) the interaction data for transmission.
|
|
50
50
|
* @param {Number} firstStartTimeOfPayload timestamp
|
|
51
51
|
* @param {Agent} agentRef Pass in the agent reference directly so that the event itself doesnt need to store the pointers and ruin the evaluation of the event size by including unused object references.
|
|
52
|
+
* @param {Obfuscator} interactionObfuscator Obfuscator for BrowserInteraction event type
|
|
53
|
+
* @param {Obfuscator} ajaxObfuscator Obfuscator for AjaxRequest event type (passed to child AjaxNodes)
|
|
52
54
|
* @returns {String} A string that is the serialized representation of this interaction.
|
|
53
55
|
*/
|
|
54
|
-
serialize(firstStartTimeOfPayload: number, agentRef: Agent): string;
|
|
56
|
+
serialize(firstStartTimeOfPayload: number, agentRef: Agent, interactionObfuscator: Obfuscator, ajaxObfuscator: Obfuscator): string;
|
|
55
57
|
#private;
|
|
56
58
|
}
|
|
57
59
|
import { BelNode } from './bel-node';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/interaction.js"],"names":[],"mappings":"AAYA;;IAEI;AACJ;IAoBE,0FAaC;IAhCD,WAAmB;IACnB,uBAAgC;IAChC,gBAAU;IACV,qBAAqB;IACrB,oBAAoB;IACpB,eAAS;IACT,aAAO;IACP,cAAQ;IACR,+EAA+E;IAC/E,eAA8B;IAC9B,qBAAgB;IAChB,yBAAoB;IACpB,sBAAoB;IACpB,6BAA2B;IAC3B,cAAW;IACX,kBAAa;IACb,uBAAiB;IACjB,wBAAkB;IAIhB,gBAAoC;IACpC,aAAsB;IAEtB,cAAiC;IACjC,wCAGE;IACF,mBAAyC;IAAxB,qBAAwB;IAEzC,YAAsE;IAAxD,YAAwD;IAGxE,iDAKC;IAED,gCAGC;IAED,oCAUC;IAED,8BAIC;IAED,6DAeC;IAmBD;;;;;;OAMG;IACH,0BAHW,mBAAmB,WAM7B;IAGD,uBAAoB;IACpB,iCAA8B;IAC9B,sBAAmB;IAEnB
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../../src/features/soft_navigations/aggregate/interaction.js"],"names":[],"mappings":"AAYA;;IAEI;AACJ;IAoBE,0FAaC;IAhCD,WAAmB;IACnB,uBAAgC;IAChC,gBAAU;IACV,qBAAqB;IACrB,oBAAoB;IACpB,eAAS;IACT,aAAO;IACP,cAAQ;IACR,+EAA+E;IAC/E,eAA8B;IAC9B,qBAAgB;IAChB,yBAAoB;IACpB,sBAAoB;IACpB,6BAA2B;IAC3B,cAAW;IACX,kBAAa;IACb,uBAAiB;IACjB,wBAAkB;IAIhB,gBAAoC;IACpC,aAAsB;IAEtB,cAAiC;IACjC,wCAGE;IACF,mBAAyC;IAAxB,qBAAwB;IAEzC,YAAsE;IAAxD,YAAwD;IAGxE,iDAKC;IAED,gCAGC;IAED,oCAUC;IAED,8BAIC;IAED,6DAeC;IAmBD;;;;;;OAMG;IACH,0BAHW,mBAAmB,WAM7B;IAGD,uBAAoB;IACpB,iCAA8B;IAC9B,sBAAmB;IAEnB;;;;;;;OAOG;IACH,qDALW,KAAK,yBACL,UAAU,kBACV,UAAU,UAgDpB;;CACF;wBA/KuB,YAAY"}
|
|
@@ -63,7 +63,6 @@ export class AggregateBase extends FeatureBase {
|
|
|
63
63
|
* This method should run after checkConfiguration, which may reset the agent's info/runtime object that is used here.
|
|
64
64
|
*/
|
|
65
65
|
doOnceForAllAggregate(agentRef: any): void;
|
|
66
|
-
obfuscator: any;
|
|
67
66
|
/**
|
|
68
67
|
* Report a supportability metric
|
|
69
68
|
* @param {*} metricName The tag of the name matching the Angler aggregation tag
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregate-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/aggregate-base.js"],"names":[],"mappings":"AAcA;IACE;;;;OAIG;IACH,sBAHW,MAAM,eACN,MAAM,EAkBhB;IAZC,uOAAuO;IACvO,qCAAwC;IACxC,gLAAgL;IAChL,yBAA2B;IAC3B,sFAAsF;IACtF,oBAAuB;IAEvB,gBAAqB;IAqBjB,YAAsE;IAW5E,iNAAiN;IACjN,0CAEC;IAED;;;;OAIG;IACH,8BAHU,MAAM,CAKf;IAED,qBAOC;IAFG,6BAAmB;IAIvB;;;;OAIG;IACH,2BAOC;IAED;;;;OAIG;IACH,yBAHW,MAAM,EAAE,gBAwBlB;IAED;;OAEG;IACH,cAEC;IAED,qCAEC;IAED;;;;;;OAMG;IACH,uDAJW,MAAM,GAAC,SAAS,SAsB1B;IAED;;;;;OAKG;IACH,4BAHG;QAAyB,IAAI,GAArB,OAAO,YAAC;QACS,KAAK,GAAtB,OAAO,YAAC;KAClB,QAKA;IAED;;;OAGG;IACH,2CAIC;IAED;;;;OAIG;IACH,uCAHW,GAAC,UACD,GAAC,QAIX;;CACF;4BAhM2B,gBAAgB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@newrelic/browser-agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.317.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "New Relic Browser Agent Team <browser-agent@newrelic.com>",
|
|
6
6
|
"description": "New Relic Browser Agent",
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"url": "https://github.com/newrelic/newrelic-browser-agent.git"
|
|
214
214
|
},
|
|
215
215
|
"dependencies": {
|
|
216
|
-
"@newrelic/rrweb": "1.1.
|
|
216
|
+
"@newrelic/rrweb": "^1.1.2",
|
|
217
217
|
"fflate": "0.8.2",
|
|
218
218
|
"web-vitals": "4.2.4"
|
|
219
219
|
},
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* @property {boolean} [ajax.block_internal] - If true, agent requests going to harvest endpoint are treated as on deny list. In other words, agent will not self-report AJAX.
|
|
12
12
|
* @property {boolean} [ajax.enabled] - Turn on/off the ajax feature (on by default).
|
|
13
13
|
* @property {boolean} [ajax.autoStart] - If true, the agent will automatically start the ajax feature. Otherwise, it will be in a deferred state until the `start` API method is called.
|
|
14
|
+
* @property {('none'|'failures'|'all')} [ajax.capture_payloads] - Controls when AJAX request/response payloads are captured. 'none' = never capture, 'failures' = capture only on errors (4xx, 5xx, network errors, GraphQL errors), 'all' = always capture.
|
|
14
15
|
* @property {Object} [api]
|
|
15
16
|
* @property {Object} [api.register]
|
|
16
17
|
* @property {boolean} [api.register.enabled] - If true, the agent will allow registered children to be sent to the server.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { FEATURE_FLAGS } from '../../features/generic_events/constants'
|
|
6
|
+
import { CAPTURE_PAYLOAD_SETTINGS } from '../../features/ajax/constants'
|
|
6
7
|
import { isValidSelector } from '../dom/query-selector'
|
|
7
8
|
import { DEFAULT_EXPIRES_MS, DEFAULT_INACTIVE_MS } from '../session/constants'
|
|
8
9
|
import { warn } from '../util/console'
|
|
@@ -47,7 +48,7 @@ const InitModelFn = () => {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
return {
|
|
50
|
-
ajax: { deny_list: undefined, block_internal: true, enabled: true, autoStart: true },
|
|
51
|
+
ajax: { deny_list: undefined, block_internal: true, enabled: true, autoStart: true, capture_payloads: CAPTURE_PAYLOAD_SETTINGS.NONE },
|
|
51
52
|
api: {
|
|
52
53
|
register: {
|
|
53
54
|
get enabled () { return hiddenState.feature_flags.includes(FEATURE_FLAGS.REGISTER) || hiddenState.experimental.register },
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2020-2026 New Relic, Inc. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const EVENT_TYPES = {
|
|
7
|
+
AJAX: 'AjaxRequest',
|
|
8
|
+
PA: 'PageAction',
|
|
9
|
+
UA: 'UserAction',
|
|
10
|
+
BP: 'BrowserPerformance',
|
|
11
|
+
WS: 'WebSocket',
|
|
12
|
+
SPV: 'SecurityPolicyViolation',
|
|
13
|
+
JSE: 'JavaScriptError',
|
|
14
|
+
LOG: 'Log',
|
|
15
|
+
PVE: 'PageView',
|
|
16
|
+
PVT: 'PageViewTiming',
|
|
17
|
+
SR: 'SessionReplay',
|
|
18
|
+
ST: 'SessionTrace',
|
|
19
|
+
BI: 'BrowserInteraction'
|
|
20
|
+
}
|