@newrelic/browser-agent 1.245.0 → 1.246.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +19 -0
- package/dist/cjs/cdn/polyfills.js +2 -1
- package/dist/cjs/common/config/state/configurable.js +1 -1
- package/dist/cjs/common/config/state/init.js +1 -0
- package/dist/cjs/common/constants/env.cdn.js +1 -1
- package/dist/cjs/common/constants/env.npm.js +1 -1
- package/dist/cjs/common/session/session-entity.js +3 -2
- package/dist/cjs/common/url/parse-url.js +20 -44
- package/dist/cjs/common/vitals/first-input-delay.js +1 -2
- package/dist/cjs/common/vitals/largest-contentful-paint.js +1 -2
- package/dist/cjs/common/vitals/vital-metric.js +2 -12
- package/dist/cjs/features/ajax/aggregate/index.js +1 -0
- package/dist/cjs/features/jserrors/aggregate/index.js +1 -1
- package/dist/cjs/features/page_view_event/aggregate/index.js +2 -0
- package/dist/cjs/features/page_view_timing/aggregate/index.js +10 -1
- package/dist/cjs/features/session_replay/aggregate/index.js +6 -6
- package/dist/cjs/features/session_trace/aggregate/index.js +14 -3
- package/dist/cjs/features/spa/aggregate/index.js +5 -3
- package/dist/cjs/features/utils/feature-base.js +2 -2
- package/dist/cjs/features/utils/instrument-base.js +4 -4
- package/dist/esm/cdn/polyfills.js +2 -1
- package/dist/esm/common/config/state/configurable.js +1 -1
- package/dist/esm/common/config/state/init.js +1 -0
- package/dist/esm/common/constants/env.cdn.js +1 -1
- package/dist/esm/common/constants/env.npm.js +1 -1
- package/dist/esm/common/session/session-entity.js +3 -2
- package/dist/esm/common/url/parse-url.js +21 -45
- package/dist/esm/common/vitals/first-input-delay.js +1 -2
- package/dist/esm/common/vitals/largest-contentful-paint.js +1 -2
- package/dist/esm/common/vitals/vital-metric.js +1 -11
- package/dist/esm/features/ajax/aggregate/index.js +1 -0
- package/dist/esm/features/jserrors/aggregate/index.js +1 -1
- package/dist/esm/features/page_view_event/aggregate/index.js +2 -0
- package/dist/esm/features/page_view_timing/aggregate/index.js +9 -0
- package/dist/esm/features/session_replay/aggregate/index.js +6 -6
- package/dist/esm/features/session_trace/aggregate/index.js +14 -3
- package/dist/esm/features/spa/aggregate/index.js +5 -3
- package/dist/esm/features/utils/feature-base.js +2 -2
- package/dist/esm/features/utils/instrument-base.js +4 -4
- package/dist/types/common/config/state/configurable.d.ts.map +1 -1
- package/dist/types/common/config/state/init.d.ts.map +1 -1
- package/dist/types/common/event-emitter/contextual-ee.d.ts +2 -2
- package/dist/types/common/event-emitter/register-handler.d.ts +1 -1
- package/dist/types/common/session/session-entity.d.ts +9 -9
- package/dist/types/common/session/session-entity.d.ts.map +1 -1
- package/dist/types/common/url/parse-url.d.ts +12 -1
- package/dist/types/common/url/parse-url.d.ts.map +1 -1
- package/dist/types/common/vitals/constants.d.ts +8 -8
- package/dist/types/common/vitals/vital-metric.d.ts +1 -2
- package/dist/types/common/vitals/vital-metric.d.ts.map +1 -1
- package/dist/types/common/window/nreum.d.ts +2 -2
- package/dist/types/features/ajax/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/jserrors/aggregate/index.d.ts +2 -2
- package/dist/types/features/jserrors/aggregate/index.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/features/session_replay/aggregate/index.d.ts +6 -6
- package/dist/types/features/session_trace/aggregate/index.d.ts +1 -0
- package/dist/types/features/session_trace/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/spa/aggregate/index.d.ts +1 -0
- package/dist/types/features/spa/aggregate/index.d.ts.map +1 -1
- package/dist/types/features/utils/feature-base.d.ts +4 -4
- package/dist/types/features/utils/feature-base.d.ts.map +1 -1
- package/dist/types/features/utils/instrument-base.d.ts +6 -6
- package/dist/types/features/utils/instrument-base.d.ts.map +1 -1
- package/dist/types/loaders/configure/public-path.npm.d.ts.map +1 -1
- package/dist/types/loaders/features/features.d.ts +9 -9
- package/dist/types/loaders/micro-agent.d.ts +2 -2
- package/dist/types/loaders/micro-agent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cdn/polyfills.js +1 -0
- package/src/common/config/state/configurable.js +2 -1
- package/src/common/config/state/init.js +1 -0
- package/src/common/session/session-entity.js +3 -2
- package/src/common/url/parse-url.js +21 -51
- package/src/common/vitals/first-input-delay.js +1 -2
- package/src/common/vitals/largest-contentful-paint.js +1 -2
- package/src/common/vitals/vital-metric.js +2 -12
- package/src/features/ajax/aggregate/index.js +2 -0
- package/src/features/jserrors/aggregate/index.js +1 -1
- package/src/features/page_view_event/aggregate/index.js +2 -0
- package/src/features/page_view_timing/aggregate/index.js +11 -0
- package/src/features/session_replay/aggregate/index.js +6 -6
- package/src/features/session_trace/aggregate/index.js +10 -2
- package/src/features/spa/aggregate/index.js +5 -3
- package/src/features/utils/feature-base.js +2 -2
- package/src/features/utils/instrument-base.js +4 -4
- package/src/loaders/configure/public-path.npm.js +0 -1
|
@@ -10,8 +10,7 @@ export class VitalMetric {
|
|
|
10
10
|
let {
|
|
11
11
|
value,
|
|
12
12
|
entries = [],
|
|
13
|
-
attrs = {}
|
|
14
|
-
shouldAddConnectionAttributes = false
|
|
13
|
+
attrs = {}
|
|
15
14
|
} = _ref;
|
|
16
15
|
if (value < 0) return;
|
|
17
16
|
const state = {
|
|
@@ -20,7 +19,6 @@ export class VitalMetric {
|
|
|
20
19
|
entries,
|
|
21
20
|
attrs
|
|
22
21
|
};
|
|
23
|
-
if (shouldAddConnectionAttributes) addConnectionAttributes(state.attrs);
|
|
24
22
|
this.history.push(state);
|
|
25
23
|
this.#subscribers.forEach(cb => {
|
|
26
24
|
try {
|
|
@@ -53,12 +51,4 @@ export class VitalMetric {
|
|
|
53
51
|
this.#subscribers.delete(callback);
|
|
54
52
|
};
|
|
55
53
|
}
|
|
56
|
-
}
|
|
57
|
-
function addConnectionAttributes(obj) {
|
|
58
|
-
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; // to date, both window & worker shares the same support for connection
|
|
59
|
-
if (!connection) return;
|
|
60
|
-
if (connection.type) obj['net-type'] = connection.type;
|
|
61
|
-
if (connection.effectiveType) obj['net-etype'] = connection.effectiveType;
|
|
62
|
-
if (connection.rtt) obj['net-rtt'] = connection.rtt;
|
|
63
|
-
if (connection.downlink) obj['net-dlink'] = connection.downlink;
|
|
64
54
|
}
|
|
@@ -115,6 +115,7 @@ export class Aggregate extends AggregateBase {
|
|
|
115
115
|
body: this.body,
|
|
116
116
|
query: this?.parsedOrigin?.search
|
|
117
117
|
});
|
|
118
|
+
if (event.gql) handle(SUPPORTABILITY_METRIC_CHANNEL, ['Ajax/Events/GraphQL/Bytes-Added', stringify(event.gql).length], undefined, FEATURE_NAMES.metrics, ee);
|
|
118
119
|
|
|
119
120
|
// if the ajax happened inside an interaction, hold it until the interaction finishes
|
|
120
121
|
if (this.spaNode) {
|
|
@@ -182,7 +182,7 @@ export class Aggregate extends AggregateBase {
|
|
|
182
182
|
params.pageview = 1;
|
|
183
183
|
this.pageviewReported[bucketHash] = true;
|
|
184
184
|
}
|
|
185
|
-
if (agentRuntime?.session?.state?.
|
|
185
|
+
if (agentRuntime?.session?.state?.sessionReplayMode) params.hasReplay = true;
|
|
186
186
|
params.firstOccurrenceTimestamp = this.observedAt[bucketHash];
|
|
187
187
|
var type = internal ? 'ierr' : 'err';
|
|
188
188
|
var newMetrics = {
|
|
@@ -76,6 +76,8 @@ export class Aggregate extends AggregateBase {
|
|
|
76
76
|
ua: info.userAttributes,
|
|
77
77
|
at: info.atts
|
|
78
78
|
};
|
|
79
|
+
if (agentRuntime.session) queryParameters.fsh = Number(agentRuntime.session.isNew); // "first session harvest" aka RUM request or PageView event of a session
|
|
80
|
+
|
|
79
81
|
let body;
|
|
80
82
|
if (typeof info.jsAttributes === 'object' && Object.keys(info.jsAttributes).length > 0) {
|
|
81
83
|
body = {
|
|
@@ -100,6 +100,7 @@ export class Aggregate extends AggregateBase {
|
|
|
100
100
|
}
|
|
101
101
|
addTiming(name, value, attrs) {
|
|
102
102
|
attrs = attrs || {};
|
|
103
|
+
addConnectionAttributes(attrs); // network conditions may differ from the actual for VitalMetrics when they were captured
|
|
103
104
|
|
|
104
105
|
// If cls was set to another value by `onCLS`, then it's supported and is attached onto any timing but is omitted until such time.
|
|
105
106
|
/*
|
|
@@ -170,4 +171,12 @@ export class Aggregate extends AggregateBase {
|
|
|
170
171
|
}
|
|
171
172
|
return payload;
|
|
172
173
|
}
|
|
174
|
+
}
|
|
175
|
+
function addConnectionAttributes(obj) {
|
|
176
|
+
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; // to date, both window & worker shares the same support for connection
|
|
177
|
+
if (!connection) return;
|
|
178
|
+
if (connection.type) obj['net-type'] = connection.type;
|
|
179
|
+
if (connection.effectiveType) obj['net-etype'] = connection.effectiveType;
|
|
180
|
+
if (connection.rtt) obj['net-rtt'] = connection.rtt;
|
|
181
|
+
if (connection.downlink) obj['net-dlink'] = connection.downlink;
|
|
173
182
|
}
|
|
@@ -131,13 +131,13 @@ export class Aggregate extends AggregateBase {
|
|
|
131
131
|
const {
|
|
132
132
|
session
|
|
133
133
|
} = getRuntime(this.agentIdentifier);
|
|
134
|
-
this.mode = session.state.
|
|
134
|
+
this.mode = session.state.sessionReplayMode;
|
|
135
135
|
if (!this.initialized || this.mode === MODE.OFF) return;
|
|
136
136
|
this.startRecording();
|
|
137
137
|
});
|
|
138
138
|
this.ee.on(SESSION_EVENTS.UPDATE, (type, data) => {
|
|
139
139
|
if (!this.initialized || this.blocked || type !== SESSION_EVENT_TYPES.CROSS_TAB) return;
|
|
140
|
-
if (this.mode !== MODE.OFF && data.
|
|
140
|
+
if (this.mode !== MODE.OFF && data.sessionReplayMode === MODE.OFF) this.abort(ABORT_REASONS.CROSS_TAB);
|
|
141
141
|
this.mode = data.sessionReplay;
|
|
142
142
|
});
|
|
143
143
|
|
|
@@ -163,7 +163,7 @@ export class Aggregate extends AggregateBase {
|
|
|
163
163
|
this.startRecording();
|
|
164
164
|
this.scheduler.startTimer(this.harvestTimeSeconds);
|
|
165
165
|
this.syncWithSessionManager({
|
|
166
|
-
|
|
166
|
+
sessionReplayMode: this.mode
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -198,7 +198,7 @@ export class Aggregate extends AggregateBase {
|
|
|
198
198
|
// session replays can continue if already in progress
|
|
199
199
|
if (!session.isNew) {
|
|
200
200
|
// inherit the mode of the existing session
|
|
201
|
-
this.mode = session.state.
|
|
201
|
+
this.mode = session.state.sessionReplayMode;
|
|
202
202
|
} else {
|
|
203
203
|
// The session is new... determine the mode the new session should start in
|
|
204
204
|
if (fullSample) this.mode = MODE.FULL; // full mode has precedence over error mode
|
|
@@ -239,7 +239,7 @@ export class Aggregate extends AggregateBase {
|
|
|
239
239
|
}
|
|
240
240
|
this.startRecording();
|
|
241
241
|
this.syncWithSessionManager({
|
|
242
|
-
|
|
242
|
+
sessionReplayMode: this.mode
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
prepareHarvest() {
|
|
@@ -448,7 +448,7 @@ export class Aggregate extends AggregateBase {
|
|
|
448
448
|
this.mode = MODE.OFF;
|
|
449
449
|
this.stopRecording();
|
|
450
450
|
this.syncWithSessionManager({
|
|
451
|
-
|
|
451
|
+
sessionReplayMode: this.mode
|
|
452
452
|
});
|
|
453
453
|
this.clearTimestamps();
|
|
454
454
|
this.ee.emit('REPLAY_ABORTED');
|
|
@@ -141,7 +141,7 @@ export class Aggregate extends AggregateBase {
|
|
|
141
141
|
});
|
|
142
142
|
if (!sessionEntity.isNew) {
|
|
143
143
|
// inherit the same mode as existing session's Trace
|
|
144
|
-
if (sessionEntity.state.
|
|
144
|
+
if (sessionEntity.state.sessionReplayMode === MODE.OFF) this.isStandalone = true;
|
|
145
145
|
controlTraceOp(mostRecentModeKnown = sessionEntity.state.sessionTraceMode);
|
|
146
146
|
} else {
|
|
147
147
|
// for new sessions, see the truth table associated with NEWRELIC-8662 wrt the new Trace behavior under session management
|
|
@@ -503,6 +503,16 @@ export class Aggregate extends AggregateBase {
|
|
|
503
503
|
}
|
|
504
504
|
this.trace = {};
|
|
505
505
|
this.nodeCount = 0;
|
|
506
|
+
let firstHarvestOfSession;
|
|
507
|
+
if (this.agentRuntime.session) {
|
|
508
|
+
const isFirstPayload = !this.agentRuntime.session.state.traceHarvestStarted;
|
|
509
|
+
firstHarvestOfSession = {
|
|
510
|
+
fsh: Number(isFirstPayload)
|
|
511
|
+
}; // converted to '0' | '1'
|
|
512
|
+
if (isFirstPayload) this.agentRuntime.session.write({
|
|
513
|
+
traceHarvestStarted: true
|
|
514
|
+
});
|
|
515
|
+
}
|
|
506
516
|
return {
|
|
507
517
|
qs: {
|
|
508
518
|
st: this.agentRuntime.offset,
|
|
@@ -513,9 +523,10 @@ export class Aggregate extends AggregateBase {
|
|
|
513
523
|
* so that blob parsing doesn't need to happen to support UI/API functions */
|
|
514
524
|
fts: this.agentRuntime.offset + earliestTimeStamp,
|
|
515
525
|
/** n === "nodeCount" in NR1, a count of nodes in the ST payload, so that blob parsing doesn't need to happen to support UI/API functions */
|
|
516
|
-
n: stns.length
|
|
526
|
+
n: stns.length,
|
|
527
|
+
// node count
|
|
528
|
+
...firstHarvestOfSession
|
|
517
529
|
},
|
|
518
|
-
|
|
519
530
|
body: {
|
|
520
531
|
res: stns
|
|
521
532
|
}
|
|
@@ -58,7 +58,9 @@ export class Aggregate extends AggregateBase {
|
|
|
58
58
|
depth: 0,
|
|
59
59
|
harvestTimeSeconds: getConfigurationValue(agentIdentifier, 'spa.harvestTimeSeconds') || 10,
|
|
60
60
|
interactionsToHarvest: [],
|
|
61
|
-
interactionsSent: []
|
|
61
|
+
interactionsSent: [],
|
|
62
|
+
// The below feature flag is used to disable the SPA ajax fix for specific customers, see https://new-relic.atlassian.net/browse/NR-172169
|
|
63
|
+
disableSpaFix: (getConfigurationValue(agentIdentifier, 'feature_flags') || []).indexOf('disable-spa-fix') > -1
|
|
62
64
|
};
|
|
63
65
|
this.serializer = new Serializer(this);
|
|
64
66
|
const {
|
|
@@ -278,7 +280,7 @@ export class Aggregate extends AggregateBase {
|
|
|
278
280
|
// context is stored on the xhr and is shared with all callbacks associated
|
|
279
281
|
// with the new xhr
|
|
280
282
|
register('new-xhr', function () {
|
|
281
|
-
if (!state.currentNode && state.prevInteraction && !state.prevInteraction.ignored) {
|
|
283
|
+
if (!state.disableSpaFix && !state.currentNode && state.prevInteraction && !state.prevInteraction.ignored) {
|
|
282
284
|
/*
|
|
283
285
|
* The previous interaction was discarded before a route change. Restore the interaction
|
|
284
286
|
* in case this XHR is associated with a route change.
|
|
@@ -369,7 +371,7 @@ export class Aggregate extends AggregateBase {
|
|
|
369
371
|
}, this.featureName, jsonpEE);
|
|
370
372
|
register(FETCH_START, function (fetchArguments, dtPayload) {
|
|
371
373
|
if (fetchArguments) {
|
|
372
|
-
if (!state.currentNode && state.prevInteraction && !state.prevInteraction.ignored) {
|
|
374
|
+
if (!state.disableSpaFix && !state.currentNode && state.prevInteraction && !state.prevInteraction.ignored) {
|
|
373
375
|
/*
|
|
374
376
|
* The previous interaction was discarded before a route change. Restore the interaction
|
|
375
377
|
* in case this XHR is associated with a route change.
|
|
@@ -3,9 +3,9 @@ export class FeatureBase {
|
|
|
3
3
|
constructor(agentIdentifier, aggregator, featureName) {
|
|
4
4
|
/** @type {string} */
|
|
5
5
|
this.agentIdentifier = agentIdentifier;
|
|
6
|
-
/** @type {Aggregator} */
|
|
6
|
+
/** @type {import('../../common/aggregate/aggregator').Aggregator} */
|
|
7
7
|
this.aggregator = aggregator;
|
|
8
|
-
/** @type {
|
|
8
|
+
/** @type {import('../../common/event-emitter/contextual-ee').ee} */
|
|
9
9
|
this.ee = ee.get(agentIdentifier);
|
|
10
10
|
/** @type {string} */
|
|
11
11
|
this.featureName = featureName;
|
|
@@ -20,7 +20,7 @@ export class InstrumentBase extends FeatureBase {
|
|
|
20
20
|
/**
|
|
21
21
|
* Instantiate InstrumentBase.
|
|
22
22
|
* @param {string} agentIdentifier - The unique ID of the instantiated agent (relative to global scope).
|
|
23
|
-
* @param {Aggregator} aggregator - The shared Aggregator that will handle batching and reporting of data.
|
|
23
|
+
* @param {import('../../common/aggregate/aggregator').Aggregator} aggregator - The shared Aggregator that will handle batching and reporting of data.
|
|
24
24
|
* @param {string} featureName - The name of the feature module (used to construct file path).
|
|
25
25
|
* @param {boolean} [auto=true] - Determines whether the feature should automatically register to have the draining
|
|
26
26
|
* of its pooled instrumentation data handled by the agent's centralized drain functionality, rather than draining
|
|
@@ -35,7 +35,7 @@ export class InstrumentBase extends FeatureBase {
|
|
|
35
35
|
this.abortHandler = undefined;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* @type {
|
|
38
|
+
* @type {import('./aggregate-base').AggregateBase} Holds the reference to the feature's aggregate module counterpart, if and after it has been initialized. This may not be assigned until after page loads!
|
|
39
39
|
* The only purpose of this for now is to expose it to the NREUM interface, as the feature's instrument instance is already exposed.
|
|
40
40
|
*/
|
|
41
41
|
this.featAggregate = undefined;
|
|
@@ -127,14 +127,14 @@ export class InstrumentBase extends FeatureBase {
|
|
|
127
127
|
/**
|
|
128
128
|
* Make a determination if an aggregate class should even be imported
|
|
129
129
|
* @param {string} featureName
|
|
130
|
-
* @param {SessionEntity} session
|
|
130
|
+
* @param {import('../../common/session/session-entity').SessionEntity} session
|
|
131
131
|
* @returns
|
|
132
132
|
*/
|
|
133
133
|
shouldImportAgg(featureName, session) {
|
|
134
134
|
if (featureName === FEATURE_NAMES.sessionReplay) {
|
|
135
135
|
if (!originals.MO) return false; // Session Replay cannot work without Mutation Observer
|
|
136
136
|
if (getConfigurationValue(this.agentIdentifier, 'session_trace.enabled') === false) return false; // Session Replay as of now is tightly coupled with Session Trace in the UI
|
|
137
|
-
return !!session?.isNew || !!session?.state.
|
|
137
|
+
return !!session?.isNew || !!session?.state.sessionReplayMode; // Session Replay should only try to run if already running from a previous page, or at the beginning of a session
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurable.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/configurable.js"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"configurable.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/configurable.js"],"names":[],"mappings":"AAEA,4DAyBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/init.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/common/config/state/init.js"],"names":[],"mappings":"AA2GA,+CAIC;AAED,0DAIC;AAED,+DAYC"}
|
|
@@ -8,10 +8,10 @@ declare namespace globalInstance {
|
|
|
8
8
|
export { context };
|
|
9
9
|
export { bufferEventsByGroup as buffer };
|
|
10
10
|
export { abort };
|
|
11
|
-
export
|
|
11
|
+
export let aborted: boolean;
|
|
12
12
|
export { isBuffering };
|
|
13
13
|
export { debugId };
|
|
14
|
-
export
|
|
14
|
+
export let backlog: any;
|
|
15
15
|
}
|
|
16
16
|
export const contextId: string;
|
|
17
17
|
declare function emit(type: any, args: any, contextOrStore: any, force: any, bubble: any): any;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export function defaultRegister(type: any, handler: any, group: any, ee: any): void;
|
|
2
2
|
export namespace defaultRegister {
|
|
3
3
|
export { registerWithSpecificEmitter as on };
|
|
4
|
-
export
|
|
4
|
+
export let handlers: {};
|
|
5
5
|
}
|
|
6
6
|
export { defaultRegister as registerHandler };
|
|
7
7
|
declare function registerWithSpecificEmitter(ee: any, handlers: any, type: any, handler: any, group: any): void;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export namespace MODE {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
let OFF: number;
|
|
3
|
+
let FULL: number;
|
|
4
|
+
let ERROR: number;
|
|
5
5
|
}
|
|
6
6
|
export namespace SESSION_EVENTS {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
let PAUSE: string;
|
|
8
|
+
let RESET: string;
|
|
9
|
+
let RESUME: string;
|
|
10
|
+
let UPDATE: string;
|
|
11
11
|
}
|
|
12
12
|
export namespace SESSION_EVENT_TYPES {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
let SAME_TAB: string;
|
|
14
|
+
let CROSS_TAB: string;
|
|
15
15
|
}
|
|
16
16
|
export class SessionEntity {
|
|
17
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-entity.d.ts","sourceRoot":"","sources":["../../../../src/common/session/session-entity.js"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"session-entity.d.ts","sourceRoot":"","sources":["../../../../src/common/session/session-entity.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AA6CA;IACE;;;;;OAKG;IACH,uBA0BC;IApBC,qBAAsC;IACtC,aAAsB;IACtB,UAAe;IAGf,SAAc;IAEd,QAAiC;IAenC;;;;aAsEC;IA/DC,8BAA0B;IAC1B,+BAA4B;IAc1B,gCAOqC;IAUrC,4CAiBsC;IAOxC,2BAA6C;IAM7C,iCAAuB;IAIzB,wBAEC;IAED,sBAEC;IAED;;;OAGG;IACH,QAFa,MAAM,CA6BlB;IAED;;;;;;OAMG;IACH,YAHW,MAAM,GACJ,MAAM,CAkBlB;IAED,gBAuBC;IAED;;OAEG;IACH,gBAIC;IAED;;;OAGG;IACH,qBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,OAAO,CAKnB;IAED,yDAYC;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,MAAM,CAIlB;IAED,gDAaC;IAHG,YAAuD;CAI5D;sBA9SqB,gBAAgB;iCAGL,4BAA4B"}
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
export function parseUrl(url: any):
|
|
1
|
+
export function parseUrl(url: any): {
|
|
2
|
+
port: string;
|
|
3
|
+
hostname: string;
|
|
4
|
+
pathname: string;
|
|
5
|
+
search: string;
|
|
6
|
+
protocol: string;
|
|
7
|
+
sameOrigin: boolean;
|
|
8
|
+
} | {
|
|
9
|
+
protocol: string;
|
|
10
|
+
} | {
|
|
11
|
+
protocol?: undefined;
|
|
12
|
+
};
|
|
2
13
|
//# sourceMappingURL=parse-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-url.d.ts","sourceRoot":"","sources":["../../../../src/common/url/parse-url.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-url.d.ts","sourceRoot":"","sources":["../../../../src/common/url/parse-url.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;EAkCC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export namespace VITAL_NAMES {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
let FIRST_PAINT: string;
|
|
3
|
+
let FIRST_CONTENTFUL_PAINT: string;
|
|
4
|
+
let FIRST_INPUT_DELAY: string;
|
|
5
|
+
let LARGEST_CONTENTFUL_PAINT: string;
|
|
6
|
+
let CUMULATIVE_LAYOUT_SHIFT: string;
|
|
7
|
+
let INTERACTION_TO_NEXT_PAINT: string;
|
|
8
|
+
let LONG_TASK: string;
|
|
9
|
+
let TIME_TO_FIRST_BYTE: string;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -4,11 +4,10 @@ export class VitalMetric {
|
|
|
4
4
|
name: any;
|
|
5
5
|
attrs: {};
|
|
6
6
|
roundingMethod: any;
|
|
7
|
-
update({ value, entries, attrs
|
|
7
|
+
update({ value, entries, attrs }: {
|
|
8
8
|
value: any;
|
|
9
9
|
entries?: any[] | undefined;
|
|
10
10
|
attrs?: {} | undefined;
|
|
11
|
-
shouldAddConnectionAttributes?: boolean | undefined;
|
|
12
11
|
}): void;
|
|
13
12
|
get current(): any;
|
|
14
13
|
get isValid(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vital-metric.d.ts","sourceRoot":"","sources":["../../../../src/common/vitals/vital-metric.js"],"names":[],"mappings":"AAAA;IAIE,4CAIC;IAND,eAAY;IAGV,UAAgB;IAChB,UAAe;IACf,oBAAwF;IAG1F
|
|
1
|
+
{"version":3,"file":"vital-metric.d.ts","sourceRoot":"","sources":["../../../../src/common/vitals/vital-metric.js"],"names":[],"mappings":"AAAA;IAIE,4CAIC;IAND,eAAY;IAGV,UAAgB;IAChB,UAAe;IACf,oBAAwF;IAG1F;;;;aAiBC;IAED,mBAOC;IAED,uBAEC;IAED,uEAMC;;CACF"}
|
|
@@ -8,7 +8,7 @@ export function addToNREUM(fnName: any, fn: any): void;
|
|
|
8
8
|
export function NREUMinitialized(): void;
|
|
9
9
|
export function gosCDN(): any;
|
|
10
10
|
export namespace defaults {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
let beacon: string;
|
|
12
|
+
let errorBeacon: string;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=nreum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/ajax/aggregate/index.js"],"names":[],"mappings":"AAiBA;IACE,2BAAiC;IACjC,mDAyOC;IAlNC,qGAAwB;IACxB;;;;4BAAoC;IACpC;;;mBAA2E;CAiN9E;8BA/O6B,4BAA4B"}
|
|
@@ -8,10 +8,10 @@ export class Aggregate extends AggregateBase {
|
|
|
8
8
|
observedAt: {};
|
|
9
9
|
pageviewReported: {};
|
|
10
10
|
errorCache: {};
|
|
11
|
-
currentBody:
|
|
11
|
+
currentBody: {} | null | undefined;
|
|
12
12
|
errorOnPage: boolean;
|
|
13
13
|
onHarvestStarted(options: any): {
|
|
14
|
-
body:
|
|
14
|
+
body: {} | null;
|
|
15
15
|
qs: {};
|
|
16
16
|
};
|
|
17
17
|
onHarvestFinished(result: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAuBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAoCC;IAjCC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,eAAoB;IACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/jserrors/aggregate/index.js"],"names":[],"mappings":"AAuBA;;GAEG;AAEH;IACE,2BAAiC;IACjC,mDAoCC;IAjCC,kBAAuB;IACvB,eAAoB;IACpB,qBAA0B;IAC1B,eAAoB;IACpB,mCAA4B;IAC5B,qBAAwB;IA8B1B;;;MAoBC;IAED,qCAWC;IAED,8BAEC;IAED,oEAMC;IAED;;;;;;OAMG;IACH,qCAHW,SAAS,GACP,MAAM,CAgBlB;IAED,4EA4FC;IAED,2CAgCC;IAED,+CA2BC;CACF;wBA7QY,OAAO,0BAA0B,EAAE,SAAS;8BAH3B,4BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAcA;IACE,2BAA2C;IAC3C,mDAoBC;IAjBC,wBAAwB;IACxB,8BAA8B;IAC9B,8BAA8B;IAiBhC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_event/aggregate/index.js"],"names":[],"mappings":"AAcA;IACE,2BAA2C;IAC3C,mDAoBC;IAjBC,wBAAwB;IACxB,8BAA8B;IAC9B,8BAA8B;IAiBhC,gBAgFC;CACF;8BA9G6B,4BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAuBA;IACE,2BAAiC;IAMjC,mDAoCC;IAjCC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAuB7B,4BAGQ;IAOZ;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/page_view_timing/aggregate/index.js"],"names":[],"mappings":"AAuBA;IACE,2BAAiC;IAMjC,mDAoCC;IAjCC,eAAiB;IACjB,mBAAqB;IACrB,4BAA+B;IAuB7B,4BAGQ;IAOZ;;;OAGG;IACH,6BAFW,MAAM,QAOhB;IAED;;OAEG;IACH,uCAUC;IAED,mDAsBC;IAED,qCAKC;IAED,gDAWC;IAGD;;;;kBAWC;IAGD,8BAuBC;;CACF;8BApK6B,4BAA4B;iCANzB,2CAA2C"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export const AVG_COMPRESSION: 0.12;
|
|
2
2
|
export namespace RRWEB_EVENT_TYPES {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
let DomContentLoaded: number;
|
|
4
|
+
let Load: number;
|
|
5
|
+
let FullSnapshot: number;
|
|
6
|
+
let IncrementalSnapshot: number;
|
|
7
|
+
let Meta: number;
|
|
8
|
+
let Custom: number;
|
|
9
9
|
}
|
|
10
10
|
/** Vortex caps payload sizes at 1MB */
|
|
11
11
|
export const MAX_PAYLOAD_SIZE: 1000000;
|
|
@@ -37,6 +37,7 @@ export class Aggregate extends AggregateBase {
|
|
|
37
37
|
body?: undefined;
|
|
38
38
|
} | {
|
|
39
39
|
qs: {
|
|
40
|
+
fsh?: number | undefined;
|
|
40
41
|
st: any;
|
|
41
42
|
/** hr === "hasReplay" in NR1, standalone is always checked and processed before harvesting
|
|
42
43
|
* so a race condition between ST and SR states should not be a concern if implemented here */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAiCA;IACE,2BAAiC;IAGjC,iEAyHC;IAvHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G;;4EAEwE;IACxE,kCAAyB;IAGzB,0CAAsC;IAuGxC,sEAcC;IA6CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAKC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAeC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/session_trace/aggregate/index.js"],"names":[],"mappings":"AAiCA;IACE,2BAAiC;IAGjC,iEAyHC;IAvHC,kBAA+C;IAK/C,sBAAiD;IACjD,yBAAc;IACd,sBAAe;IACf,8BAAkB;IAClB,iCAAqB;IACrB,wBAA0G;IAC1G,wBAA4G;IAC5G;;4EAEwE;IACxE,kCAAyB;IAGzB,0CAAsC;IAuGxC,sEAcC;IA6CD,oDAOC;IAGD,oCAwBC;IAGD,uEAkBC;IAED,oDAKC;IAED,wBAwBC;IAED,uCAuBC;IAGD,gDASC;IAID,qCAkBC;IAGD,qEAUC;IAGD,mEAUC;IAGD,yBAeC;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACJ,MAAM,CAsBlB;IAGD;;;;;;;YAkCM;0GAC8F;;YAE9F;0FAC8E;;YAE9E,4IAA4I;;;;;;MAMjJ;IAED,mEA6BC;;CACF;8BAzf6B,4BAA4B;6BAH7B,2BAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AA4BA;IACE,2BAAiC;IACjC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/spa/aggregate/index.js"],"names":[],"mappings":"AA4BA;IACE,2BAAiC;IACjC,mDAgsBC;IA7rBC;;;;;;;;;;;;;;;;;MAkBC;IAED,uBAAsC;CA0qBzC;8BA5sB6B,4BAA4B;2BAJ/B,cAAc"}
|
|
@@ -2,10 +2,10 @@ export class FeatureBase {
|
|
|
2
2
|
constructor(agentIdentifier: any, aggregator: any, featureName: any);
|
|
3
3
|
/** @type {string} */
|
|
4
4
|
agentIdentifier: string;
|
|
5
|
-
/** @type {Aggregator} */
|
|
6
|
-
aggregator: Aggregator;
|
|
7
|
-
/** @type {
|
|
8
|
-
ee:
|
|
5
|
+
/** @type {import('../../common/aggregate/aggregator').Aggregator} */
|
|
6
|
+
aggregator: import('../../common/aggregate/aggregator').Aggregator;
|
|
7
|
+
/** @type {import('../../common/event-emitter/contextual-ee').ee} */
|
|
8
|
+
ee: any;
|
|
9
9
|
/** @type {string} */
|
|
10
10
|
featureName: string;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/feature-base.js"],"names":[],"mappings":"AAEA;IACE,qEAeC;IAdC,qBAAqB;IACrB,iBADW,MAAM,CACqB;IACtC,
|
|
1
|
+
{"version":3,"file":"feature-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/feature-base.js"],"names":[],"mappings":"AAEA;IACE,qEAeC;IAdC,qBAAqB;IACrB,iBADW,MAAM,CACqB;IACtC,qEAAqE;IACrE,YADW,OAAO,mCAAmC,EAAE,UAAU,CACrC;IAC5B,oEAAoE;IACpE,QAAiC;IACjC,qBAAqB;IACrB,aADW,MAAM,CACa;IAC9B;;;;OAIG;IACH,SAFU,OAAO,CAEG;CAEvB"}
|
|
@@ -6,21 +6,21 @@ export class InstrumentBase extends FeatureBase {
|
|
|
6
6
|
/**
|
|
7
7
|
* Instantiate InstrumentBase.
|
|
8
8
|
* @param {string} agentIdentifier - The unique ID of the instantiated agent (relative to global scope).
|
|
9
|
-
* @param {Aggregator} aggregator - The shared Aggregator that will handle batching and reporting of data.
|
|
9
|
+
* @param {import('../../common/aggregate/aggregator').Aggregator} aggregator - The shared Aggregator that will handle batching and reporting of data.
|
|
10
10
|
* @param {string} featureName - The name of the feature module (used to construct file path).
|
|
11
11
|
* @param {boolean} [auto=true] - Determines whether the feature should automatically register to have the draining
|
|
12
12
|
* of its pooled instrumentation data handled by the agent's centralized drain functionality, rather than draining
|
|
13
13
|
* immediately. Primarily useful for fine-grained control in tests.
|
|
14
14
|
*/
|
|
15
|
-
constructor(agentIdentifier: string, aggregator: Aggregator, featureName: string, auto?: boolean | undefined);
|
|
15
|
+
constructor(agentIdentifier: string, aggregator: import('../../common/aggregate/aggregator').Aggregator, featureName: string, auto?: boolean | undefined);
|
|
16
16
|
auto: boolean;
|
|
17
17
|
/** @type {Function | undefined} This should be set by any derived Instrument class if it has things to do when feature fails or is killed. */
|
|
18
18
|
abortHandler: Function | undefined;
|
|
19
19
|
/**
|
|
20
|
-
* @type {
|
|
20
|
+
* @type {import('./aggregate-base').AggregateBase} Holds the reference to the feature's aggregate module counterpart, if and after it has been initialized. This may not be assigned until after page loads!
|
|
21
21
|
* The only purpose of this for now is to expose it to the NREUM interface, as the feature's instrument instance is already exposed.
|
|
22
22
|
*/
|
|
23
|
-
featAggregate:
|
|
23
|
+
featAggregate: import('./aggregate-base').AggregateBase;
|
|
24
24
|
/**
|
|
25
25
|
* @type {Promise} Assigned immediately after @see importAggregator runs. Serves as a signal for when the inner async fn finishes execution. Useful for features to await
|
|
26
26
|
* one another if there are inter-features dependencies.
|
|
@@ -36,10 +36,10 @@ export class InstrumentBase extends FeatureBase {
|
|
|
36
36
|
/**
|
|
37
37
|
* Make a determination if an aggregate class should even be imported
|
|
38
38
|
* @param {string} featureName
|
|
39
|
-
* @param {SessionEntity} session
|
|
39
|
+
* @param {import('../../common/session/session-entity').SessionEntity} session
|
|
40
40
|
* @returns
|
|
41
41
|
*/
|
|
42
|
-
shouldImportAgg(featureName: string, session: SessionEntity): boolean;
|
|
42
|
+
shouldImportAgg(featureName: string, session: import('../../common/session/session-entity').SessionEntity): boolean;
|
|
43
43
|
}
|
|
44
44
|
import { FeatureBase } from './feature-base';
|
|
45
45
|
//# sourceMappingURL=instrument-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACE;;;;;;;;OAQG;IACH,6BAPW,MAAM,
|
|
1
|
+
{"version":3,"file":"instrument-base.d.ts","sourceRoot":"","sources":["../../../../src/features/utils/instrument-base.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACE;;;;;;;;OAQG;IACH,6BAPW,MAAM,cACN,OAAO,mCAAmC,EAAE,UAAU,eACtD,MAAM,8BA4BhB;IArBC,cAAgB;IAEhB,8IAA8I;IAC9I,cADW,WAAW,SAAS,CACF;IAE7B;;;MAGE;IACF,eAHU,OAAO,kBAAkB,EAAE,aAAa,CAGpB;IAE9B;;;MAGE;IACF,kCAAoC;IAQtC;;;;;OAKG;IACH,mEA4DC;IAED;;;;;KAKC;IACD,6BAJS,MAAM,WACN,OAAO,qCAAqC,EAAE,aAAa,WAUnE;CACF;4BAhI2B,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-path.npm.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/public-path.npm.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public-path.npm.d.ts","sourceRoot":"","sources":["../../../../src/loaders/configure/public-path.npm.js"],"names":[],"mappings":"AAAO,2CAEN"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export namespace FEATURE_NAMES {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
let ajax: string;
|
|
3
|
+
let jserrors: string;
|
|
4
|
+
let metrics: string;
|
|
5
|
+
let pageAction: string;
|
|
6
|
+
let pageViewEvent: string;
|
|
7
|
+
let pageViewTiming: string;
|
|
8
|
+
let sessionReplay: string;
|
|
9
|
+
let sessionTrace: string;
|
|
10
|
+
let spa: string;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* The order in which features will be instrumented. This is the traditional order. It's unclear if the order of
|
|
@@ -17,14 +17,14 @@ export class MicroAgent extends AgentBase {
|
|
|
17
17
|
* {@link https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/start/}
|
|
18
18
|
* @param {string|string[]|undefined} name The feature name(s) to start. If no name(s) are passed, all features will be started
|
|
19
19
|
*/
|
|
20
|
-
start: (features: any) => false | void |
|
|
20
|
+
start: (features: any) => false | void | this;
|
|
21
21
|
get config(): {
|
|
22
22
|
info: any;
|
|
23
23
|
init: any;
|
|
24
24
|
loader_config: any;
|
|
25
25
|
runtime: any;
|
|
26
26
|
};
|
|
27
|
-
run(features: any): false | void |
|
|
27
|
+
run(features: any): false | void | this;
|
|
28
28
|
}
|
|
29
29
|
import { AgentBase } from './agent-base';
|
|
30
30
|
import { Aggregator } from '../common/aggregate/aggregator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"micro-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/micro-agent.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH;IACE;;;OAGG;IACH,qBAHW,MAAM,oBACN,MAAM,cAkBhB;IAbC,wBAAsC;IACtC,6BAAiF;IACjF,aAAkB;IAIlB;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"micro-agent.d.ts","sourceRoot":"","sources":["../../../src/loaders/micro-agent.js"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH;IACE;;;OAGG;IACH,qBAHW,MAAM,oBACN,MAAM,cAkBhB;IAbC,wBAAsC;IACtC,6BAAiF;IACjF,aAAkB;IAIlB;;;;OAIG;IACH,8CAA2C;IAI7C;;;;;MAOC;IAED,wCA0CC;CACF;0BAxFyB,cAAc;2BAPb,gCAAgC"}
|