@openobserve/browser-core 0.2.12-beta.17 → 0.2.12-beta.21
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/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
- package/cjs/boot/displayAlreadyInitializedError.js +10 -0
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
- package/cjs/boot/init.d.ts +14 -0
- package/cjs/boot/init.js +39 -0
- package/cjs/boot/init.js.map +1 -0
- package/cjs/browser/addEventListener.d.ts +87 -0
- package/cjs/browser/addEventListener.js +55 -0
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/browser.types.d.ts +51 -0
- package/cjs/browser/browser.types.js +6 -0
- package/cjs/browser/browser.types.js.map +1 -0
- package/cjs/browser/cookie.d.ts +28 -0
- package/cjs/browser/cookie.js +114 -0
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +38 -0
- package/cjs/browser/fetchObservable.js +103 -0
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/pageMayExitObservable.d.ts +14 -0
- package/cjs/browser/pageMayExitObservable.js +45 -0
- package/cjs/browser/pageMayExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.d.ts +5 -0
- package/cjs/browser/runOnReadyState.js +20 -0
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/xhrObservable.d.ts +24 -0
- package/cjs/browser/xhrObservable.js +86 -0
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
- package/cjs/domain/allowedTrackingOrigins.js +25 -0
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
- package/cjs/domain/bufferedData.d.ts +14 -0
- package/cjs/domain/bufferedData.js +22 -0
- package/cjs/domain/bufferedData.js.map +1 -0
- package/cjs/domain/configuration/configuration.d.ts +312 -0
- package/cjs/domain/configuration/configuration.js +137 -0
- package/cjs/domain/configuration/configuration.js.map +1 -0
- package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
- package/cjs/domain/configuration/endpointBuilder.js +76 -0
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
- package/cjs/domain/configuration/index.d.ts +5 -0
- package/cjs/domain/configuration/index.js +16 -0
- package/cjs/domain/configuration/index.js.map +1 -0
- package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
- package/cjs/domain/configuration/transportConfiguration.js +54 -0
- package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
- package/cjs/domain/connectivity/connectivity.d.ts +14 -0
- package/cjs/domain/connectivity/connectivity.js +14 -0
- package/cjs/domain/connectivity/connectivity.js.map +1 -0
- package/cjs/domain/connectivity/index.d.ts +1 -0
- package/cjs/domain/connectivity/index.js +18 -0
- package/cjs/domain/connectivity/index.js.map +1 -0
- package/cjs/domain/console/consoleObservable.d.ts +21 -0
- package/cjs/domain/console/consoleObservable.js +84 -0
- package/cjs/domain/console/consoleObservable.js.map +1 -0
- package/cjs/domain/context/contextConstants.d.ts +21 -0
- package/cjs/domain/context/contextConstants.js +18 -0
- package/cjs/domain/context/contextConstants.js.map +1 -0
- package/cjs/domain/context/contextManager.d.ts +19 -0
- package/cjs/domain/context/contextManager.js +60 -0
- package/cjs/domain/context/contextManager.js.map +1 -0
- package/cjs/domain/context/contextUtils.d.ts +5 -0
- package/cjs/domain/context/contextUtils.js +16 -0
- package/cjs/domain/context/contextUtils.js.map +1 -0
- package/cjs/domain/context/defineContextMethod.d.ts +6 -0
- package/cjs/domain/context/defineContextMethod.js +21 -0
- package/cjs/domain/context/defineContextMethod.js.map +1 -0
- package/cjs/domain/context/storeContextManager.d.ts +6 -0
- package/cjs/domain/context/storeContextManager.js +40 -0
- package/cjs/domain/context/storeContextManager.js.map +1 -0
- package/cjs/domain/contexts/accountContext.d.ts +26 -0
- package/cjs/domain/contexts/accountContext.js +33 -0
- package/cjs/domain/contexts/accountContext.js.map +1 -0
- package/cjs/domain/contexts/globalContext.d.ts +18 -0
- package/cjs/domain/contexts/globalContext.js +21 -0
- package/cjs/domain/contexts/globalContext.js.map +1 -0
- package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
- package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
- package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +29 -0
- package/cjs/domain/contexts/userContext.js +45 -0
- package/cjs/domain/contexts/userContext.js.map +1 -0
- package/cjs/domain/deflate/deflate.types.d.ts +40 -0
- package/cjs/domain/deflate/deflate.types.js +3 -0
- package/cjs/domain/deflate/deflate.types.js.map +1 -0
- package/cjs/domain/deflate/index.d.ts +1 -0
- package/cjs/domain/deflate/index.js +18 -0
- package/cjs/domain/deflate/index.js.map +1 -0
- package/cjs/domain/error/error.d.ts +23 -0
- package/cjs/domain/error/error.js +74 -0
- package/cjs/domain/error/error.js.map +1 -0
- package/cjs/domain/error/error.types.d.ts +47 -0
- package/cjs/domain/error/error.types.js +13 -0
- package/cjs/domain/error/error.types.js.map +1 -0
- package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
- package/cjs/domain/error/trackRuntimeError.js +48 -0
- package/cjs/domain/error/trackRuntimeError.js.map +1 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +41 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
- package/cjs/domain/extension/extensionUtils.d.ts +10 -0
- package/cjs/domain/extension/extensionUtils.js +30 -0
- package/cjs/domain/extension/extensionUtils.js.map +1 -0
- package/cjs/domain/intakeSites.d.ts +8 -0
- package/cjs/domain/intakeSites.js +11 -0
- package/cjs/domain/intakeSites.js.map +1 -0
- package/cjs/domain/report/browser.types.d.ts +34 -0
- package/cjs/domain/report/browser.types.js +3 -0
- package/cjs/domain/report/browser.types.js.map +1 -0
- package/cjs/domain/report/reportObservable.d.ts +14 -0
- package/cjs/domain/report/reportObservable.js +99 -0
- package/cjs/domain/report/reportObservable.js.map +1 -0
- package/cjs/domain/resourceUtils.d.ts +18 -0
- package/cjs/domain/resourceUtils.js +20 -0
- package/cjs/domain/resourceUtils.js.map +1 -0
- package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
- package/cjs/domain/session/oldCookiesMigration.js +40 -0
- package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +15 -0
- package/cjs/domain/session/sessionConstants.js +16 -0
- package/cjs/domain/session/sessionConstants.js.map +1 -0
- package/cjs/domain/session/sessionManager.d.ts +28 -0
- package/cjs/domain/session/sessionManager.js +201 -0
- package/cjs/domain/session/sessionManager.js.map +1 -0
- package/cjs/domain/session/sessionState.d.ts +16 -0
- package/cjs/domain/session/sessionState.js +70 -0
- package/cjs/domain/session/sessionState.js.map +1 -0
- package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
- package/cjs/domain/session/sessionStateValidation.js +11 -0
- package/cjs/domain/session/sessionStateValidation.js.map +1 -0
- package/cjs/domain/session/sessionStore.d.ts +38 -0
- package/cjs/domain/session/sessionStore.js +185 -0
- package/cjs/domain/session/sessionStore.js.map +1 -0
- package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
- package/cjs/domain/session/sessionStoreOperations.js +119 -0
- package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +104 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +42 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/domain/tags.d.ts +6 -0
- package/cjs/domain/tags.js +67 -0
- package/cjs/domain/tags.js.map +1 -0
- package/cjs/domain/telemetry/index.d.ts +4 -0
- package/cjs/domain/telemetry/index.js +28 -0
- package/cjs/domain/telemetry/index.js.map +1 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
- package/cjs/domain/telemetry/telemetry.d.ts +56 -0
- package/cjs/domain/telemetry/telemetry.js +241 -0
- package/cjs/domain/telemetry/telemetry.js.map +1 -0
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +866 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
- package/cjs/domain/trackingConsent.d.ts +13 -0
- package/cjs/domain/trackingConsent.js +28 -0
- package/cjs/domain/trackingConsent.js.map +1 -0
- package/cjs/index.d.ts +100 -0
- package/cjs/index.js +194 -0
- package/cjs/index.js.map +1 -0
- package/cjs/tools/abstractHooks.d.ts +24 -0
- package/cjs/tools/abstractHooks.js +41 -0
- package/cjs/tools/abstractHooks.js.map +1 -0
- package/cjs/tools/abstractLifeCycle.d.ts +23 -0
- package/cjs/tools/abstractLifeCycle.js +28 -0
- package/cjs/tools/abstractLifeCycle.js.map +1 -0
- package/cjs/tools/boundedBuffer.d.ts +16 -0
- package/cjs/tools/boundedBuffer.js +32 -0
- package/cjs/tools/boundedBuffer.js.map +1 -0
- package/cjs/tools/catchUserErrors.d.ts +1 -0
- package/cjs/tools/catchUserErrors.js +15 -0
- package/cjs/tools/catchUserErrors.js.map +1 -0
- package/cjs/tools/display.d.ts +38 -0
- package/cjs/tools/display.js +44 -0
- package/cjs/tools/display.js.map +1 -0
- package/cjs/tools/encoder.d.ts +54 -0
- package/cjs/tools/encoder.js +40 -0
- package/cjs/tools/encoder.js.map +1 -0
- package/cjs/tools/experimentalFeatures.d.ts +21 -0
- package/cjs/tools/experimentalFeatures.js +50 -0
- package/cjs/tools/experimentalFeatures.js.map +1 -0
- package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
- package/cjs/tools/getZoneJsOriginalValue.js +29 -0
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/tools/globalObject.d.ts +19 -0
- package/cjs/tools/globalObject.js +44 -0
- package/cjs/tools/globalObject.js.map +1 -0
- package/cjs/tools/instrumentMethod.d.ts +75 -0
- package/cjs/tools/instrumentMethod.js +118 -0
- package/cjs/tools/instrumentMethod.js.map +1 -0
- package/cjs/tools/matchOption.d.ts +8 -0
- package/cjs/tools/matchOption.js +35 -0
- package/cjs/tools/matchOption.js.map +1 -0
- package/cjs/tools/mergeInto.d.ts +25 -0
- package/cjs/tools/mergeInto.js +98 -0
- package/cjs/tools/mergeInto.js.map +1 -0
- package/cjs/tools/monitor.d.ts +9 -0
- package/cjs/tools/monitor.js +62 -0
- package/cjs/tools/monitor.js.map +1 -0
- package/cjs/tools/observable.d.ts +30 -0
- package/cjs/tools/observable.js +89 -0
- package/cjs/tools/observable.js.map +1 -0
- package/cjs/tools/queueMicrotask.d.ts +1 -0
- package/cjs/tools/queueMicrotask.js +17 -0
- package/cjs/tools/queueMicrotask.js.map +1 -0
- package/cjs/tools/readBytesFromStream.d.ts +10 -0
- package/cjs/tools/readBytesFromStream.js +28 -0
- package/cjs/tools/readBytesFromStream.js.map +1 -0
- package/cjs/tools/requestIdleCallback.d.ts +12 -0
- package/cjs/tools/requestIdleCallback.js +35 -0
- package/cjs/tools/requestIdleCallback.js.map +1 -0
- package/cjs/tools/sendToExtension.d.ts +3 -0
- package/cjs/tools/sendToExtension.js +11 -0
- package/cjs/tools/sendToExtension.js.map +1 -0
- package/cjs/tools/serialisation/context.d.ts +9 -0
- package/cjs/tools/serialisation/context.js +3 -0
- package/cjs/tools/serialisation/context.js.map +1 -0
- package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
- package/cjs/tools/serialisation/jsonStringify.js +48 -0
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
- package/cjs/tools/serialisation/sanitize.d.ts +18 -0
- package/cjs/tools/serialisation/sanitize.js +188 -0
- package/cjs/tools/serialisation/sanitize.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
- package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
- package/cjs/tools/stackTrace/handlingStack.js +46 -0
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
- package/cjs/tools/taskQueue.d.ts +15 -0
- package/cjs/tools/taskQueue.js +54 -0
- package/cjs/tools/taskQueue.js.map +1 -0
- package/cjs/tools/timer.d.ts +5 -0
- package/cjs/tools/timer.js +22 -0
- package/cjs/tools/timer.js.map +1 -0
- package/cjs/tools/utils/arrayUtils.d.ts +3 -0
- package/cjs/tools/utils/arrayUtils.js +20 -0
- package/cjs/tools/utils/arrayUtils.js.map +1 -0
- package/cjs/tools/utils/browserDetection.d.ts +8 -0
- package/cjs/tools/utils/browserDetection.js +33 -0
- package/cjs/tools/utils/browserDetection.js.map +1 -0
- package/cjs/tools/utils/byteUtils.d.ts +8 -0
- package/cjs/tools/utils/byteUtils.js +34 -0
- package/cjs/tools/utils/byteUtils.js.map +1 -0
- package/cjs/tools/utils/functionUtils.d.ts +8 -0
- package/cjs/tools/utils/functionUtils.js +43 -0
- package/cjs/tools/utils/functionUtils.js.map +1 -0
- package/cjs/tools/utils/numberUtils.d.ts +9 -0
- package/cjs/tools/utils/numberUtils.js +24 -0
- package/cjs/tools/utils/numberUtils.js.map +1 -0
- package/cjs/tools/utils/objectUtils.d.ts +10 -0
- package/cjs/tools/utils/objectUtils.js +23 -0
- package/cjs/tools/utils/objectUtils.js.map +1 -0
- package/cjs/tools/utils/polyfills.d.ts +7 -0
- package/cjs/tools/utils/polyfills.js +23 -0
- package/cjs/tools/utils/polyfills.js.map +1 -0
- package/cjs/tools/utils/responseUtils.d.ts +2 -0
- package/cjs/tools/utils/responseUtils.js +17 -0
- package/cjs/tools/utils/responseUtils.js.map +1 -0
- package/cjs/tools/utils/stringUtils.d.ts +23 -0
- package/cjs/tools/utils/stringUtils.js +91 -0
- package/cjs/tools/utils/stringUtils.js.map +1 -0
- package/cjs/tools/utils/timeUtils.d.ts +53 -0
- package/cjs/tools/utils/timeUtils.js +101 -0
- package/cjs/tools/utils/timeUtils.js.map +1 -0
- package/cjs/tools/utils/timezone.d.ts +1 -0
- package/cjs/tools/utils/timezone.js +13 -0
- package/cjs/tools/utils/timezone.js.map +1 -0
- package/cjs/tools/utils/typeUtils.d.ts +4 -0
- package/cjs/tools/utils/typeUtils.js +16 -0
- package/cjs/tools/utils/typeUtils.js.map +1 -0
- package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
- package/cjs/tools/utils/urlPolyfill.js +59 -0
- package/cjs/tools/utils/urlPolyfill.js.map +1 -0
- package/cjs/tools/valueHistory.d.ts +27 -0
- package/cjs/tools/valueHistory.js +104 -0
- package/cjs/tools/valueHistory.js.map +1 -0
- package/cjs/transport/batch.d.ts +16 -0
- package/cjs/transport/batch.js +110 -0
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.d.ts +21 -0
- package/cjs/transport/eventBridge.js +46 -0
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.d.ts +65 -0
- package/cjs/transport/flushController.js +123 -0
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.d.ts +56 -0
- package/cjs/transport/httpRequest.js +95 -0
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.d.ts +7 -0
- package/cjs/transport/index.js +15 -0
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
- package/cjs/transport/sendWithRetryStrategy.js +163 -0
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorSource = void 0;
|
|
4
|
+
exports.ErrorSource = {
|
|
5
|
+
AGENT: 'agent',
|
|
6
|
+
CONSOLE: 'console',
|
|
7
|
+
CUSTOM: 'custom',
|
|
8
|
+
LOGGER: 'logger',
|
|
9
|
+
NETWORK: 'network',
|
|
10
|
+
SOURCE: 'source',
|
|
11
|
+
REPORT: 'report',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=error.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.types.js","sourceRoot":"","sources":["../../../src/domain/error/error.types.ts"],"names":[],"mappings":";;;AA2Ca,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Observable } from '../../tools/observable';
|
|
2
|
+
import type { StackTrace } from '../../tools/stackTrace/computeStackTrace';
|
|
3
|
+
import type { RawError } from './error.types';
|
|
4
|
+
export type UnhandledErrorCallback = (originalError: unknown, stackTrace?: StackTrace) => any;
|
|
5
|
+
export declare function trackRuntimeError(): Observable<RawError>;
|
|
6
|
+
export declare function instrumentOnError(callback: UnhandledErrorCallback): {
|
|
7
|
+
stop: typeof import("../..").noop;
|
|
8
|
+
};
|
|
9
|
+
export declare function instrumentUnhandledRejection(callback: UnhandledErrorCallback): {
|
|
10
|
+
stop: typeof import("../..").noop;
|
|
11
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.trackRuntimeError = trackRuntimeError;
|
|
4
|
+
exports.instrumentOnError = instrumentOnError;
|
|
5
|
+
exports.instrumentUnhandledRejection = instrumentUnhandledRejection;
|
|
6
|
+
const instrumentMethod_1 = require("../../tools/instrumentMethod");
|
|
7
|
+
const observable_1 = require("../../tools/observable");
|
|
8
|
+
const timeUtils_1 = require("../../tools/utils/timeUtils");
|
|
9
|
+
const computeStackTrace_1 = require("../../tools/stackTrace/computeStackTrace");
|
|
10
|
+
const globalObject_1 = require("../../tools/globalObject");
|
|
11
|
+
const error_1 = require("./error");
|
|
12
|
+
const error_types_1 = require("./error.types");
|
|
13
|
+
function trackRuntimeError() {
|
|
14
|
+
return new observable_1.Observable((observer) => {
|
|
15
|
+
const handleRuntimeError = (originalError, stackTrace) => {
|
|
16
|
+
const rawError = (0, error_1.computeRawError)({
|
|
17
|
+
stackTrace,
|
|
18
|
+
originalError,
|
|
19
|
+
startClocks: (0, timeUtils_1.clocksNow)(),
|
|
20
|
+
nonErrorPrefix: "Uncaught" /* NonErrorPrefix.UNCAUGHT */,
|
|
21
|
+
source: error_types_1.ErrorSource.SOURCE,
|
|
22
|
+
handling: "unhandled" /* ErrorHandling.UNHANDLED */,
|
|
23
|
+
});
|
|
24
|
+
observer.notify(rawError);
|
|
25
|
+
};
|
|
26
|
+
const { stop: stopInstrumentingOnError } = instrumentOnError(handleRuntimeError);
|
|
27
|
+
const { stop: stopInstrumentingOnUnhandledRejection } = instrumentUnhandledRejection(handleRuntimeError);
|
|
28
|
+
return () => {
|
|
29
|
+
stopInstrumentingOnError();
|
|
30
|
+
stopInstrumentingOnUnhandledRejection();
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function instrumentOnError(callback) {
|
|
35
|
+
return (0, instrumentMethod_1.instrumentMethod)((0, globalObject_1.getGlobalObject)(), 'onerror', ({ parameters: [messageObj, url, line, column, errorObj] }) => {
|
|
36
|
+
let stackTrace;
|
|
37
|
+
if (!(0, error_1.isError)(errorObj)) {
|
|
38
|
+
stackTrace = (0, computeStackTrace_1.computeStackTraceFromOnErrorMessage)(messageObj, url, line, column);
|
|
39
|
+
}
|
|
40
|
+
callback(errorObj !== null && errorObj !== void 0 ? errorObj : messageObj, stackTrace);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function instrumentUnhandledRejection(callback) {
|
|
44
|
+
return (0, instrumentMethod_1.instrumentMethod)((0, globalObject_1.getGlobalObject)(), 'onunhandledrejection', ({ parameters: [e] }) => {
|
|
45
|
+
callback(e.reason || 'Empty reason');
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=trackRuntimeError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackRuntimeError.js","sourceRoot":"","sources":["../../../src/domain/error/trackRuntimeError.ts"],"names":[],"mappings":";;AAYA,8CAqBC;AAED,8CAQC;AAED,oEAIC;AAjDD,mEAA+D;AAC/D,uDAAmD;AACnD,2DAAuD;AAEvD,gFAA8F;AAC9F,2DAA0D;AAC1D,mCAAkD;AAElD,+CAA0E;AAI1E,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,uBAAU,CAAW,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,CAAC,aAAsB,EAAE,UAAuB,EAAE,EAAE;YAC7E,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC;gBAC/B,UAAU;gBACV,aAAa;gBACb,WAAW,EAAE,IAAA,qBAAS,GAAE;gBACxB,cAAc,0CAAyB;gBACvC,MAAM,EAAE,yBAAW,CAAC,MAAM;gBAC1B,QAAQ,2CAAyB;aAClC,CAAC,CAAA;YACF,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC,CAAA;QACD,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;QAChF,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,CAAA;QAExG,OAAO,GAAG,EAAE;YACV,wBAAwB,EAAE,CAAA;YAC1B,qCAAqC,EAAE,CAAA;QACzC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgC;IAChE,OAAO,IAAA,mCAAgB,EAAC,IAAA,8BAAe,GAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE;QAClH,IAAI,UAAU,CAAA;QACd,IAAI,CAAC,IAAA,eAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,UAAU,GAAG,IAAA,uDAAmC,EAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;QACD,QAAQ,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,UAAU,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,4BAA4B,CAAC,QAAgC;IAC3E,OAAO,IAAA,mCAAgB,EAAC,IAAA,8BAAe,GAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QACzF,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RawError } from '../error/error.types';
|
|
2
|
+
export type EventRateLimiter = ReturnType<typeof createEventRateLimiter>;
|
|
3
|
+
export declare function createEventRateLimiter(eventType: string, onLimitReached: (limitError: RawError) => void, limit?: number): {
|
|
4
|
+
isLimitReached(): boolean;
|
|
5
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEventRateLimiter = createEventRateLimiter;
|
|
4
|
+
const timer_1 = require("../../tools/timer");
|
|
5
|
+
const timeUtils_1 = require("../../tools/utils/timeUtils");
|
|
6
|
+
const error_types_1 = require("../error/error.types");
|
|
7
|
+
// Limit the maximum number of actions, errors and logs per minutes
|
|
8
|
+
const EVENT_RATE_LIMIT = 3000;
|
|
9
|
+
function createEventRateLimiter(eventType, onLimitReached, limit = EVENT_RATE_LIMIT) {
|
|
10
|
+
let eventCount = 0;
|
|
11
|
+
let allowNextEvent = false;
|
|
12
|
+
return {
|
|
13
|
+
isLimitReached() {
|
|
14
|
+
if (eventCount === 0) {
|
|
15
|
+
(0, timer_1.setTimeout)(() => {
|
|
16
|
+
eventCount = 0;
|
|
17
|
+
}, timeUtils_1.ONE_MINUTE);
|
|
18
|
+
}
|
|
19
|
+
eventCount += 1;
|
|
20
|
+
if (eventCount <= limit || allowNextEvent) {
|
|
21
|
+
allowNextEvent = false;
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
if (eventCount === limit + 1) {
|
|
25
|
+
allowNextEvent = true;
|
|
26
|
+
try {
|
|
27
|
+
onLimitReached({
|
|
28
|
+
message: `Reached max number of ${eventType}s by minute: ${limit}`,
|
|
29
|
+
source: error_types_1.ErrorSource.AGENT,
|
|
30
|
+
startClocks: (0, timeUtils_1.clocksNow)(),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
allowNextEvent = false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=createEventRateLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createEventRateLimiter.js","sourceRoot":"","sources":["../../../src/domain/eventRateLimiter/createEventRateLimiter.ts"],"names":[],"mappings":";;AAUA,wDAsCC;AAhDD,6CAA8C;AAC9C,2DAAmE;AAEnE,sDAAkD;AAIlD,mEAAmE;AACnE,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,SAAgB,sBAAsB,CACpC,SAAiB,EACjB,cAA8C,EAC9C,KAAK,GAAG,gBAAgB;IAExB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,OAAO;QACL,cAAc;YACZ,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAA,kBAAU,EAAC,GAAG,EAAE;oBACd,UAAU,GAAG,CAAC,CAAA;gBAChB,CAAC,EAAE,sBAAU,CAAC,CAAA;YAChB,CAAC;YAED,UAAU,IAAI,CAAC,CAAA;YACf,IAAI,UAAU,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;gBAC1C,cAAc,GAAG,KAAK,CAAA;gBACtB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,UAAU,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC7B,cAAc,GAAG,IAAI,CAAA;gBACrB,IAAI,CAAC;oBACH,cAAc,CAAC;wBACb,OAAO,EAAE,yBAAyB,SAAS,gBAAgB,KAAK,EAAE;wBAClE,MAAM,EAAE,yBAAW,CAAC,KAAK;wBACzB,WAAW,EAAE,IAAA,qBAAS,GAAE;qBACzB,CAAC,CAAA;gBACJ,CAAC;wBAAS,CAAC;oBACT,cAAc,GAAG,KAAK,CAAA;gBACxB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const EXTENSION_PREFIXES: string[];
|
|
2
|
+
export declare function containsExtensionUrl(str: string): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Utility function to detect if the SDK is being initialized in an unsupported browser extension environment.
|
|
5
|
+
*
|
|
6
|
+
* @param windowLocation - The current window location to check
|
|
7
|
+
* @param stack - The error stack to check for extension URLs
|
|
8
|
+
* @returns true if running in an unsupported browser extension environment
|
|
9
|
+
*/
|
|
10
|
+
export declare function isUnsupportedExtensionEnvironment(windowLocation: string, stack?: string): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXTENSION_PREFIXES = void 0;
|
|
4
|
+
exports.containsExtensionUrl = containsExtensionUrl;
|
|
5
|
+
exports.isUnsupportedExtensionEnvironment = isUnsupportedExtensionEnvironment;
|
|
6
|
+
exports.EXTENSION_PREFIXES = ['chrome-extension://', 'moz-extension://'];
|
|
7
|
+
function containsExtensionUrl(str) {
|
|
8
|
+
return exports.EXTENSION_PREFIXES.some((prefix) => str.includes(prefix));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Utility function to detect if the SDK is being initialized in an unsupported browser extension environment.
|
|
12
|
+
*
|
|
13
|
+
* @param windowLocation - The current window location to check
|
|
14
|
+
* @param stack - The error stack to check for extension URLs
|
|
15
|
+
* @returns true if running in an unsupported browser extension environment
|
|
16
|
+
*/
|
|
17
|
+
function isUnsupportedExtensionEnvironment(windowLocation, stack = '') {
|
|
18
|
+
// If the page itself is an extension page.
|
|
19
|
+
if (containsExtensionUrl(windowLocation)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
// Since we generate the error on the init, we check the 2nd frame line.
|
|
23
|
+
const frameLines = stack.split('\n').filter((line) => {
|
|
24
|
+
const trimmedLine = line.trim();
|
|
25
|
+
return trimmedLine.length && /^at\s+|@/.test(trimmedLine);
|
|
26
|
+
});
|
|
27
|
+
const target = frameLines[1] || '';
|
|
28
|
+
return containsExtensionUrl(target);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=extensionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionUtils.js","sourceRoot":"","sources":["../../../src/domain/extension/extensionUtils.ts"],"names":[],"mappings":";;;AAEA,oDAEC;AASD,8EAcC;AA3BY,QAAA,kBAAkB,GAAG,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAA;AAE7E,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,0BAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AAClE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iCAAiC,CAAC,cAAsB,EAAE,QAAgB,EAAE;IAC1F,2CAA2C;IAC3C,IAAI,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wEAAwE;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,OAAO,WAAW,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAElC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type Site = 'datadoghq.com' | 'us3.datadoghq.com' | 'us5.datadoghq.com' | 'datadoghq.eu' | 'ddog-gov.com' | 'ap1.datadoghq.com' | 'ap2.datadoghq.com' | (string & {});
|
|
2
|
+
export declare const INTAKE_SITE_STAGING: Site;
|
|
3
|
+
export declare const INTAKE_SITE_FED_STAGING: Site;
|
|
4
|
+
export declare const INTAKE_SITE_US1: Site;
|
|
5
|
+
export declare const INTAKE_SITE_EU1: Site;
|
|
6
|
+
export declare const INTAKE_SITE_US1_FED: Site;
|
|
7
|
+
export declare const PCI_INTAKE_HOST_US1 = "pci.browser-intake-datadoghq.com";
|
|
8
|
+
export declare const INTAKE_URL_PARAMETERS: string[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INTAKE_URL_PARAMETERS = exports.PCI_INTAKE_HOST_US1 = exports.INTAKE_SITE_US1_FED = exports.INTAKE_SITE_EU1 = exports.INTAKE_SITE_US1 = exports.INTAKE_SITE_FED_STAGING = exports.INTAKE_SITE_STAGING = void 0;
|
|
4
|
+
exports.INTAKE_SITE_STAGING = 'datad0g.com';
|
|
5
|
+
exports.INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';
|
|
6
|
+
exports.INTAKE_SITE_US1 = 'datadoghq.com';
|
|
7
|
+
exports.INTAKE_SITE_EU1 = 'datadoghq.eu';
|
|
8
|
+
exports.INTAKE_SITE_US1_FED = 'ddog-gov.com';
|
|
9
|
+
exports.PCI_INTAKE_HOST_US1 = 'pci.browser-intake-datadoghq.com';
|
|
10
|
+
exports.INTAKE_URL_PARAMETERS = ['ddsource', 'dd-api-key', 'dd-request-id'];
|
|
11
|
+
//# sourceMappingURL=intakeSites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intakeSites.js","sourceRoot":"","sources":["../../src/domain/intakeSites.ts"],"names":[],"mappings":";;;AAUa,QAAA,mBAAmB,GAAS,aAAa,CAAA;AACzC,QAAA,uBAAuB,GAAS,cAAc,CAAA;AAC9C,QAAA,eAAe,GAAS,eAAe,CAAA;AACvC,QAAA,eAAe,GAAS,cAAc,CAAA;AACtC,QAAA,mBAAmB,GAAS,cAAc,CAAA;AAE1C,QAAA,mBAAmB,GAAG,kCAAkC,CAAA;AACxD,QAAA,qBAAqB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type ReportType = DeprecationReport['type'] | InterventionReport['type'];
|
|
2
|
+
interface Report {
|
|
3
|
+
type: ReportType;
|
|
4
|
+
url: string;
|
|
5
|
+
body: DeprecationReportBody | InterventionReportBody;
|
|
6
|
+
toJSON(): any;
|
|
7
|
+
}
|
|
8
|
+
interface ReportBody {
|
|
9
|
+
toJSON(): any;
|
|
10
|
+
}
|
|
11
|
+
export interface DeprecationReport extends Report {
|
|
12
|
+
type: 'deprecation';
|
|
13
|
+
body: DeprecationReportBody;
|
|
14
|
+
}
|
|
15
|
+
export interface DeprecationReportBody extends ReportBody {
|
|
16
|
+
id: string;
|
|
17
|
+
message: string;
|
|
18
|
+
lineNumber: number | null;
|
|
19
|
+
columnNumber: number | null;
|
|
20
|
+
sourceFile: string | null;
|
|
21
|
+
anticipatedRemoval: Date | null;
|
|
22
|
+
}
|
|
23
|
+
export interface InterventionReport extends Report {
|
|
24
|
+
type: 'intervention';
|
|
25
|
+
body: InterventionReportBody;
|
|
26
|
+
}
|
|
27
|
+
export interface InterventionReportBody extends ReportBody {
|
|
28
|
+
id: string;
|
|
29
|
+
message: string;
|
|
30
|
+
lineNumber: number | null;
|
|
31
|
+
columnNumber: number | null;
|
|
32
|
+
sourceFile: string | null;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.types.js","sourceRoot":"","sources":["../../../src/domain/report/browser.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Observable } from '../../tools/observable';
|
|
2
|
+
import type { Configuration } from '../configuration';
|
|
3
|
+
import type { RawError } from '../error/error.types';
|
|
4
|
+
import type { InterventionReport, DeprecationReport } from './browser.types';
|
|
5
|
+
export declare const RawReportType: {
|
|
6
|
+
readonly intervention: "intervention";
|
|
7
|
+
readonly deprecation: "deprecation";
|
|
8
|
+
readonly cspViolation: "csp_violation";
|
|
9
|
+
};
|
|
10
|
+
export type RawReportType = (typeof RawReportType)[keyof typeof RawReportType];
|
|
11
|
+
export type RawReportError = RawError & {
|
|
12
|
+
originalError: SecurityPolicyViolationEvent | DeprecationReport | InterventionReport;
|
|
13
|
+
};
|
|
14
|
+
export declare function initReportObservable(configuration: Configuration, apis: RawReportType[]): Observable<RawReportError>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RawReportType = void 0;
|
|
4
|
+
exports.initReportObservable = initReportObservable;
|
|
5
|
+
const handlingStack_1 = require("../../tools/stackTrace/handlingStack");
|
|
6
|
+
const monitor_1 = require("../../tools/monitor");
|
|
7
|
+
const observable_1 = require("../../tools/observable");
|
|
8
|
+
const addEventListener_1 = require("../../browser/addEventListener");
|
|
9
|
+
const stringUtils_1 = require("../../tools/utils/stringUtils");
|
|
10
|
+
const error_types_1 = require("../error/error.types");
|
|
11
|
+
const timeUtils_1 = require("../../tools/utils/timeUtils");
|
|
12
|
+
exports.RawReportType = {
|
|
13
|
+
intervention: 'intervention',
|
|
14
|
+
deprecation: 'deprecation',
|
|
15
|
+
cspViolation: 'csp_violation',
|
|
16
|
+
};
|
|
17
|
+
function initReportObservable(configuration, apis) {
|
|
18
|
+
const observables = [];
|
|
19
|
+
if (apis.includes(exports.RawReportType.cspViolation)) {
|
|
20
|
+
observables.push(createCspViolationReportObservable(configuration));
|
|
21
|
+
}
|
|
22
|
+
const reportTypes = apis.filter((api) => api !== exports.RawReportType.cspViolation);
|
|
23
|
+
if (reportTypes.length) {
|
|
24
|
+
observables.push(createReportObservable(reportTypes));
|
|
25
|
+
}
|
|
26
|
+
return (0, observable_1.mergeObservables)(...observables);
|
|
27
|
+
}
|
|
28
|
+
function createReportObservable(reportTypes) {
|
|
29
|
+
return new observable_1.Observable((observable) => {
|
|
30
|
+
if (!window.ReportingObserver) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const handleReports = (0, monitor_1.monitor)((reports, _) => reports.forEach((report) => observable.notify(buildRawReportErrorFromReport(report))));
|
|
34
|
+
const observer = new window.ReportingObserver(handleReports, {
|
|
35
|
+
types: reportTypes,
|
|
36
|
+
buffered: true,
|
|
37
|
+
});
|
|
38
|
+
observer.observe();
|
|
39
|
+
return () => {
|
|
40
|
+
observer.disconnect();
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function createCspViolationReportObservable(configuration) {
|
|
45
|
+
return new observable_1.Observable((observable) => {
|
|
46
|
+
const { stop } = (0, addEventListener_1.addEventListener)(configuration, document, "securitypolicyviolation" /* DOM_EVENT.SECURITY_POLICY_VIOLATION */, (event) => {
|
|
47
|
+
observable.notify(buildRawReportErrorFromCspViolation(event));
|
|
48
|
+
});
|
|
49
|
+
return stop;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function buildRawReportErrorFromReport(report) {
|
|
53
|
+
const { type, body } = report;
|
|
54
|
+
return buildRawReportError({
|
|
55
|
+
type: body.id,
|
|
56
|
+
message: `${type}: ${body.message}`,
|
|
57
|
+
originalError: report,
|
|
58
|
+
stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function buildRawReportErrorFromCspViolation(event) {
|
|
62
|
+
const message = `'${event.blockedURI}' blocked by '${event.effectiveDirective}' directive`;
|
|
63
|
+
return buildRawReportError({
|
|
64
|
+
type: event.effectiveDirective,
|
|
65
|
+
message: `${exports.RawReportType.cspViolation}: ${message}`,
|
|
66
|
+
originalError: event,
|
|
67
|
+
csp: {
|
|
68
|
+
disposition: event.disposition,
|
|
69
|
+
},
|
|
70
|
+
stack: buildStack(event.effectiveDirective, event.originalPolicy
|
|
71
|
+
? `${message} of the policy "${(0, stringUtils_1.safeTruncate)(event.originalPolicy, 100, '...')}"`
|
|
72
|
+
: 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function buildRawReportError(partial) {
|
|
76
|
+
return {
|
|
77
|
+
startClocks: (0, timeUtils_1.clocksNow)(),
|
|
78
|
+
source: error_types_1.ErrorSource.REPORT,
|
|
79
|
+
handling: "unhandled" /* ErrorHandling.UNHANDLED */,
|
|
80
|
+
...partial,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function buildStack(name, message, sourceFile, lineNumber, columnNumber) {
|
|
84
|
+
return sourceFile
|
|
85
|
+
? (0, handlingStack_1.toStackTraceString)({
|
|
86
|
+
name,
|
|
87
|
+
message,
|
|
88
|
+
stack: [
|
|
89
|
+
{
|
|
90
|
+
func: '?',
|
|
91
|
+
url: sourceFile,
|
|
92
|
+
line: lineNumber !== null && lineNumber !== void 0 ? lineNumber : undefined,
|
|
93
|
+
column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : undefined,
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
})
|
|
97
|
+
: undefined;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=reportObservable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportObservable.js","sourceRoot":"","sources":["../../../src/domain/report/reportObservable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const ResourceType: {
|
|
2
|
+
readonly DOCUMENT: "document";
|
|
3
|
+
readonly XHR: "xhr";
|
|
4
|
+
readonly BEACON: "beacon";
|
|
5
|
+
readonly FETCH: "fetch";
|
|
6
|
+
readonly CSS: "css";
|
|
7
|
+
readonly JS: "js";
|
|
8
|
+
readonly IMAGE: "image";
|
|
9
|
+
readonly FONT: "font";
|
|
10
|
+
readonly MEDIA: "media";
|
|
11
|
+
readonly OTHER: "other";
|
|
12
|
+
};
|
|
13
|
+
export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType];
|
|
14
|
+
export declare const RequestType: {
|
|
15
|
+
readonly FETCH: "fetch";
|
|
16
|
+
readonly XHR: "xhr";
|
|
17
|
+
};
|
|
18
|
+
export type RequestType = (typeof RequestType)[keyof typeof RequestType];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestType = exports.ResourceType = void 0;
|
|
4
|
+
exports.ResourceType = {
|
|
5
|
+
DOCUMENT: 'document',
|
|
6
|
+
XHR: 'xhr',
|
|
7
|
+
BEACON: 'beacon',
|
|
8
|
+
FETCH: 'fetch',
|
|
9
|
+
CSS: 'css',
|
|
10
|
+
JS: 'js',
|
|
11
|
+
IMAGE: 'image',
|
|
12
|
+
FONT: 'font',
|
|
13
|
+
MEDIA: 'media',
|
|
14
|
+
OTHER: 'other',
|
|
15
|
+
};
|
|
16
|
+
exports.RequestType = {
|
|
17
|
+
FETCH: exports.ResourceType.FETCH,
|
|
18
|
+
XHR: exports.ResourceType.XHR,
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=resourceUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceUtils.js","sourceRoot":"","sources":["../../src/domain/resourceUtils.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAA;AAIG,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,oBAAY,CAAC,KAAK;IACzB,GAAG,EAAE,oBAAY,CAAC,GAAG;CACb,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy';
|
|
2
|
+
export declare const OLD_SESSION_COOKIE_NAME = "_oo";
|
|
3
|
+
export declare const OLD_RUM_COOKIE_NAME = "_oo_r";
|
|
4
|
+
export declare const OLD_LOGS_COOKIE_NAME = "_oo_l";
|
|
5
|
+
export declare const RUM_SESSION_KEY = "rum";
|
|
6
|
+
export declare const LOGS_SESSION_KEY = "logs";
|
|
7
|
+
/**
|
|
8
|
+
* This migration should remain in the codebase as long as older versions are available/live
|
|
9
|
+
* to allow older sdk versions to be upgraded to newer versions without compatibility issues.
|
|
10
|
+
*/
|
|
11
|
+
export declare function tryOldCookiesMigration(cookieStoreStrategy: SessionStoreStrategy): void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOGS_SESSION_KEY = exports.RUM_SESSION_KEY = exports.OLD_LOGS_COOKIE_NAME = exports.OLD_RUM_COOKIE_NAME = exports.OLD_SESSION_COOKIE_NAME = void 0;
|
|
4
|
+
exports.tryOldCookiesMigration = tryOldCookiesMigration;
|
|
5
|
+
const cookie_1 = require("../../browser/cookie");
|
|
6
|
+
const sessionStoreStrategy_1 = require("./storeStrategies/sessionStoreStrategy");
|
|
7
|
+
const sessionState_1 = require("./sessionState");
|
|
8
|
+
exports.OLD_SESSION_COOKIE_NAME = '_oo';
|
|
9
|
+
exports.OLD_RUM_COOKIE_NAME = '_oo_r';
|
|
10
|
+
exports.OLD_LOGS_COOKIE_NAME = '_oo_l';
|
|
11
|
+
// duplicate values to avoid dependency issues
|
|
12
|
+
exports.RUM_SESSION_KEY = 'rum';
|
|
13
|
+
exports.LOGS_SESSION_KEY = 'logs';
|
|
14
|
+
/**
|
|
15
|
+
* This migration should remain in the codebase as long as older versions are available/live
|
|
16
|
+
* to allow older sdk versions to be upgraded to newer versions without compatibility issues.
|
|
17
|
+
*/
|
|
18
|
+
function tryOldCookiesMigration(cookieStoreStrategy) {
|
|
19
|
+
const sessionString = (0, cookie_1.getInitCookie)(sessionStoreStrategy_1.SESSION_STORE_KEY);
|
|
20
|
+
if (!sessionString) {
|
|
21
|
+
const oldSessionId = (0, cookie_1.getInitCookie)(exports.OLD_SESSION_COOKIE_NAME);
|
|
22
|
+
const oldRumType = (0, cookie_1.getInitCookie)(exports.OLD_RUM_COOKIE_NAME);
|
|
23
|
+
const oldLogsType = (0, cookie_1.getInitCookie)(exports.OLD_LOGS_COOKIE_NAME);
|
|
24
|
+
const session = {};
|
|
25
|
+
if (oldSessionId) {
|
|
26
|
+
session.id = oldSessionId;
|
|
27
|
+
}
|
|
28
|
+
if (oldLogsType && /^[01]$/.test(oldLogsType)) {
|
|
29
|
+
session[exports.LOGS_SESSION_KEY] = oldLogsType;
|
|
30
|
+
}
|
|
31
|
+
if (oldRumType && /^[012]$/.test(oldRumType)) {
|
|
32
|
+
session[exports.RUM_SESSION_KEY] = oldRumType;
|
|
33
|
+
}
|
|
34
|
+
if ((0, sessionState_1.isSessionStarted)(session)) {
|
|
35
|
+
(0, sessionState_1.expandSessionState)(session);
|
|
36
|
+
cookieStoreStrategy.persistSession(session);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=oldCookiesMigration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oldCookiesMigration.js","sourceRoot":"","sources":["../../../src/domain/session/oldCookiesMigration.ts"],"names":[],"mappings":";;;AAkBA,wDAuBC;AAzCD,iDAAoD;AAEpD,iFAA0E;AAE1E,iDAAqE;AAExD,QAAA,uBAAuB,GAAG,KAAK,CAAA;AAC/B,QAAA,mBAAmB,GAAG,OAAO,CAAA;AAC7B,QAAA,oBAAoB,GAAG,OAAO,CAAA;AAE3C,8CAA8C;AACjC,QAAA,eAAe,GAAG,KAAK,CAAA;AACvB,QAAA,gBAAgB,GAAG,MAAM,CAAA;AAEtC;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,mBAAyC;IAC9E,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,wCAAiB,CAAC,CAAA;IACtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,+BAAuB,CAAC,CAAA;QAC3D,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,2BAAmB,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,IAAA,sBAAa,EAAC,4BAAoB,CAAC,CAAA;QACvD,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,EAAE,GAAG,YAAY,CAAA;QAC3B,CAAC;QACD,IAAI,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,wBAAgB,CAAC,GAAG,WAAW,CAAA;QACzC,CAAC;QACD,IAAI,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,uBAAe,CAAC,GAAG,UAAU,CAAA;QACvC,CAAC;QAED,IAAI,IAAA,+BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAA,iCAAkB,EAAC,OAAO,CAAC,CAAA;YAC3B,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const SESSION_TIME_OUT_DELAY: number;
|
|
2
|
+
export declare const SESSION_EXPIRATION_DELAY: number;
|
|
3
|
+
export declare const SESSION_COOKIE_EXPIRATION_DELAY: number;
|
|
4
|
+
export declare const SESSION_NOT_TRACKED = "0";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const SessionPersistence: {
|
|
9
|
+
readonly COOKIE: "cookie";
|
|
10
|
+
readonly LOCAL_STORAGE: "local-storage";
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @inline
|
|
14
|
+
*/
|
|
15
|
+
export type SessionPersistence = (typeof SessionPersistence)[keyof typeof SessionPersistence];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionPersistence = exports.SESSION_NOT_TRACKED = exports.SESSION_COOKIE_EXPIRATION_DELAY = exports.SESSION_EXPIRATION_DELAY = exports.SESSION_TIME_OUT_DELAY = void 0;
|
|
4
|
+
const timeUtils_1 = require("../../tools/utils/timeUtils");
|
|
5
|
+
exports.SESSION_TIME_OUT_DELAY = 4 * timeUtils_1.ONE_HOUR;
|
|
6
|
+
exports.SESSION_EXPIRATION_DELAY = 15 * timeUtils_1.ONE_MINUTE;
|
|
7
|
+
exports.SESSION_COOKIE_EXPIRATION_DELAY = timeUtils_1.ONE_YEAR;
|
|
8
|
+
exports.SESSION_NOT_TRACKED = '0';
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
exports.SessionPersistence = {
|
|
13
|
+
COOKIE: 'cookie',
|
|
14
|
+
LOCAL_STORAGE: 'local-storage',
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=sessionConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionConstants.js","sourceRoot":"","sources":["../../../src/domain/session/sessionConstants.ts"],"names":[],"mappings":";;;AAAA,2DAA4E;AAE/D,QAAA,sBAAsB,GAAG,CAAC,GAAG,oBAAQ,CAAA;AACrC,QAAA,wBAAwB,GAAG,EAAE,GAAG,sBAAU,CAAA;AAC1C,QAAA,+BAA+B,GAAG,oBAAQ,CAAA;AAC1C,QAAA,mBAAmB,GAAG,GAAG,CAAA;AAEtC;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;CACtB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Observable } from '../../tools/observable';
|
|
2
|
+
import type { Context } from '../../tools/serialisation/context';
|
|
3
|
+
import type { RelativeTime } from '../../tools/utils/timeUtils';
|
|
4
|
+
import type { Configuration } from '../configuration';
|
|
5
|
+
import type { TrackingConsentState } from '../trackingConsent';
|
|
6
|
+
import type { SessionState } from './sessionState';
|
|
7
|
+
export interface SessionManager<TrackingType extends string> {
|
|
8
|
+
findSession: (startTime?: RelativeTime, options?: {
|
|
9
|
+
returnInactive: boolean;
|
|
10
|
+
}) => SessionContext<TrackingType> | undefined;
|
|
11
|
+
renewObservable: Observable<void>;
|
|
12
|
+
expireObservable: Observable<void>;
|
|
13
|
+
sessionStateUpdateObservable: Observable<{
|
|
14
|
+
previousState: SessionState;
|
|
15
|
+
newState: SessionState;
|
|
16
|
+
}>;
|
|
17
|
+
expire: () => void;
|
|
18
|
+
updateSessionState: (state: Partial<SessionState>) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface SessionContext<TrackingType extends string> extends Context {
|
|
21
|
+
id: string;
|
|
22
|
+
trackingType: TrackingType;
|
|
23
|
+
isReplayForced: boolean;
|
|
24
|
+
anonymousId: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
export declare const VISIBILITY_CHECK_DELAY: number;
|
|
27
|
+
export declare function startSessionManager<TrackingType extends string>(configuration: Configuration, productKey: string, computeTrackingType: (rawTrackingType?: string) => TrackingType, trackingConsentState: TrackingConsentState): SessionManager<TrackingType>;
|
|
28
|
+
export declare function stopSessionManager(): void;
|