@kubesense/kubesense-browser-core 1.7.0 → 2.0.0-beta.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/LICENSE +1 -1
- package/cjs/boot/displayAlreadyInitializedError.js +6 -7
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
- package/cjs/boot/init.d.ts +1 -0
- package/cjs/boot/init.js +26 -34
- package/cjs/boot/init.js.map +1 -1
- package/cjs/browser/addEventListener.d.ts +12 -9
- package/cjs/browser/addEventListener.js +107 -50
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/browser.types.d.ts +0 -24
- package/cjs/browser/cookie.d.ts +4 -1
- package/cjs/browser/cookie.js +76 -89
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/cookieAccess.d.ts +18 -0
- package/cjs/browser/cookieAccess.js +129 -0
- package/cjs/browser/cookieAccess.js.map +1 -0
- package/cjs/browser/fetch.d.ts +9 -0
- package/cjs/browser/fetch.js +18 -0
- package/cjs/browser/fetch.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +3 -3
- package/cjs/browser/fetchObservable.js +79 -92
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/pageMayExitObservable.d.ts +1 -2
- package/cjs/browser/pageMayExitObservable.js +53 -51
- package/cjs/browser/pageMayExitObservable.js.map +1 -1
- package/cjs/browser/runOnReadyState.d.ts +2 -3
- package/cjs/browser/runOnReadyState.js +18 -17
- package/cjs/browser/runOnReadyState.js.map +1 -1
- package/cjs/browser/webSocketObservable.d.ts +44 -0
- package/cjs/browser/webSocketObservable.js +92 -0
- package/cjs/browser/webSocketObservable.js.map +1 -0
- package/cjs/browser/xhrObservable.d.ts +8 -3
- package/cjs/browser/xhrObservable.js +64 -77
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/domain/allowedTrackingOrigins.d.ts +2 -2
- package/cjs/domain/allowedTrackingOrigins.js +27 -23
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
- package/cjs/domain/bufferedData.d.ts +20 -6
- package/cjs/domain/bufferedData.js +41 -19
- package/cjs/domain/bufferedData.js.map +1 -1
- package/cjs/domain/configuration/configuration.d.ts +169 -76
- package/cjs/domain/configuration/configuration.js +159 -128
- package/cjs/domain/configuration/configuration.js.map +1 -1
- package/cjs/domain/configuration/index.d.ts +5 -7
- package/cjs/domain/configuration/remoteSdkConfig.d.ts +26 -6
- package/cjs/domain/configuration/remoteSdkConfig.js +152 -159
- package/cjs/domain/configuration/remoteSdkConfig.js.map +1 -1
- package/cjs/domain/connectivity/connectivity.d.ts +2 -10
- package/cjs/domain/connectivity/connectivity.js +13 -13
- package/cjs/domain/connectivity/connectivity.js.map +1 -1
- package/cjs/domain/console/consoleObservable.d.ts +1 -1
- package/cjs/domain/console/consoleObservable.js +62 -74
- package/cjs/domain/console/consoleObservable.js.map +1 -1
- package/cjs/domain/context/contextConstants.js +24 -15
- package/cjs/domain/context/contextConstants.js.map +1 -1
- package/cjs/domain/context/contextManager.js +49 -53
- package/cjs/domain/context/contextManager.js.map +1 -1
- package/cjs/domain/context/contextUtils.js +11 -12
- package/cjs/domain/context/contextUtils.js.map +1 -1
- package/cjs/domain/context/defineContextMethod.d.ts +2 -2
- package/cjs/domain/context/defineContextMethod.js +15 -16
- package/cjs/domain/context/defineContextMethod.js.map +1 -1
- package/cjs/domain/context/storeContextManager.d.ts +1 -2
- package/cjs/domain/context/storeContextManager.js +31 -33
- package/cjs/domain/context/storeContextManager.js.map +1 -1
- package/cjs/domain/contexts/accountContext.d.ts +2 -2
- package/cjs/domain/contexts/accountContext.js +26 -29
- package/cjs/domain/contexts/accountContext.js.map +1 -1
- package/cjs/domain/contexts/globalContext.d.ts +2 -2
- package/cjs/domain/contexts/globalContext.js +17 -17
- package/cjs/domain/contexts/globalContext.js.map +1 -1
- package/cjs/domain/contexts/tabContext.d.ts +4 -0
- package/cjs/domain/contexts/tabContext.js +28 -0
- package/cjs/domain/contexts/tabContext.js.map +1 -0
- package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
- package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
- package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +8 -3
- package/cjs/domain/contexts/userContext.js +79 -114
- package/cjs/domain/contexts/userContext.js.map +1 -1
- package/cjs/domain/deflate/deflate.types.js +11 -2
- package/cjs/domain/deflate/deflate.types.js.map +1 -1
- package/cjs/domain/error/error.d.ts +14 -6
- package/cjs/domain/error/error.js +101 -70
- package/cjs/domain/error/error.js.map +1 -1
- package/cjs/domain/error/error.types.d.ts +6 -4
- package/cjs/domain/error/error.types.js +24 -11
- package/cjs/domain/error/error.types.js.map +1 -1
- package/cjs/domain/error/isError.d.ts +2 -0
- package/cjs/domain/error/isError.js +14 -0
- package/cjs/domain/error/isError.js.map +1 -0
- package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
- package/cjs/domain/error/trackRuntimeError.js +44 -41
- package/cjs/domain/error/trackRuntimeError.js.map +1 -1
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +1 -2
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +28 -38
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/cjs/domain/extension/extensionUtils.js +20 -25
- package/cjs/domain/extension/extensionUtils.js.map +1 -1
- package/cjs/domain/geo/geocoding.js +64 -0
- package/cjs/domain/geo/geocoding.js.map +1 -0
- package/cjs/domain/geo/geolocation.js +72 -0
- package/cjs/domain/geo/geolocation.js.map +1 -0
- package/cjs/domain/report/reportObservable.d.ts +1 -2
- package/cjs/domain/report/reportObservable.js +76 -85
- package/cjs/domain/report/reportObservable.js.map +1 -1
- package/cjs/domain/resourceUtils.d.ts +1 -0
- package/cjs/domain/resourceUtils.js +20 -17
- package/cjs/domain/resourceUtils.js.map +1 -1
- package/cjs/domain/sampler.d.ts +11 -0
- package/cjs/domain/sampler.js +40 -0
- package/cjs/domain/sampler.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +1 -0
- package/cjs/domain/session/sessionConstants.js +19 -13
- package/cjs/domain/session/sessionConstants.js.map +1 -1
- package/cjs/domain/session/sessionManager.d.ts +21 -13
- package/cjs/domain/session/sessionManager.js +254 -191
- package/cjs/domain/session/sessionManager.js.map +1 -1
- package/cjs/domain/session/sessionState.d.ts +10 -1
- package/cjs/domain/session/sessionState.js +72 -56
- package/cjs/domain/session/sessionState.js.map +1 -1
- package/cjs/domain/session/sessionStateValidation.js +7 -8
- package/cjs/domain/session/sessionStateValidation.js.map +1 -1
- package/cjs/domain/session/sessionStore.d.ts +4 -33
- package/cjs/domain/session/sessionStore.js +41 -181
- package/cjs/domain/session/sessionStore.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +90 -96
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js +36 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
- package/cjs/domain/sourceCodeContext.d.ts +22 -0
- package/cjs/domain/sourceCodeContext.js +56 -0
- package/cjs/domain/sourceCodeContext.js.map +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +37 -25
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/domain/tags.d.ts +1 -2
- package/cjs/domain/tags.js +23 -57
- package/cjs/domain/tags.js.map +1 -1
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
- package/cjs/domain/telemetry/telemetry.d.ts +7 -8
- package/cjs/domain/telemetry/telemetry.js +192 -215
- package/cjs/domain/telemetry/telemetry.js.map +1 -1
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +161 -16
- package/cjs/domain/trackingConsent.d.ts +1 -0
- package/cjs/domain/trackingConsent.js +35 -24
- package/cjs/domain/trackingConsent.js.map +1 -1
- package/cjs/domain/userAgentData/userAgentData.js +65 -96
- package/cjs/domain/userAgentData/userAgentData.js.map +1 -1
- package/cjs/index.d.ts +34 -30
- package/cjs/index.js +297 -213
- package/cjs/tools/abstractLifeCycle.js +19 -26
- package/cjs/tools/abstractLifeCycle.js.map +1 -1
- package/cjs/tools/catchUserErrors.js +12 -12
- package/cjs/tools/catchUserErrors.js.map +1 -1
- package/cjs/tools/display.d.ts +1 -37
- package/cjs/tools/display.js +8 -43
- package/cjs/tools/display.js.map +1 -1
- package/cjs/tools/encoder.js +36 -37
- package/cjs/tools/encoder.js.map +1 -1
- package/cjs/tools/experimentalFeatures.d.ts +1 -4
- package/cjs/tools/experimentalFeatures.js +29 -40
- package/cjs/tools/experimentalFeatures.js.map +1 -1
- package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
- package/cjs/tools/getZoneJsOriginalValue.js +22 -25
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/tools/instrumentMethod.d.ts +57 -0
- package/cjs/tools/instrumentMethod.js +179 -112
- package/cjs/tools/instrumentMethod.js.map +1 -1
- package/cjs/tools/matchOption.d.ts +0 -1
- package/cjs/tools/matchOption.js +21 -31
- package/cjs/tools/matchOption.js.map +1 -1
- package/cjs/tools/mockable.d.ts +22 -0
- package/cjs/tools/mockable.js +28 -0
- package/cjs/tools/mockable.js.map +1 -0
- package/cjs/tools/observable.d.ts +3 -1
- package/cjs/tools/observable.js +75 -85
- package/cjs/tools/observable.js.map +1 -1
- package/cjs/tools/queueMicrotask.js +9 -14
- package/cjs/tools/queueMicrotask.js.map +1 -1
- package/cjs/tools/readBytesFromStream.d.ts +1 -6
- package/cjs/tools/readBytesFromStream.js +18 -25
- package/cjs/tools/readBytesFromStream.js.map +1 -1
- package/cjs/tools/requestIdleCallback.js +23 -29
- package/cjs/tools/requestIdleCallback.js.map +1 -1
- package/cjs/tools/sendToExtension.js +10 -8
- package/cjs/tools/sendToExtension.js.map +1 -1
- package/cjs/tools/serialisation/jsonStringify.js +37 -42
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
- package/cjs/tools/serialisation/sanitize.d.ts +1 -0
- package/cjs/tools/serialisation/sanitize.js +112 -167
- package/cjs/tools/serialisation/sanitize.js.map +1 -1
- package/cjs/tools/serialisation/stringify.d.ts +2 -0
- package/cjs/tools/serialisation/stringify.js +18 -0
- package/cjs/tools/serialisation/stringify.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
- package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
- package/cjs/tools/stackTrace/handlingStack.js +39 -38
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
- package/cjs/tools/taskQueue.js +40 -49
- package/cjs/tools/taskQueue.js.map +1 -1
- package/cjs/tools/thenable.d.ts +8 -0
- package/cjs/tools/thenable.js +27 -0
- package/cjs/tools/thenable.js.map +1 -0
- package/cjs/tools/timer.d.ts +2 -1
- package/cjs/tools/timer.js +14 -13
- package/cjs/tools/timer.js.map +1 -1
- package/cjs/tools/utils/arrayUtils.d.ts +1 -0
- package/cjs/tools/utils/arrayUtils.js +17 -13
- package/cjs/tools/utils/arrayUtils.js.map +1 -1
- package/cjs/tools/utils/browserDetection.d.ts +1 -0
- package/cjs/tools/utils/browserDetection.js +25 -23
- package/cjs/tools/utils/browserDetection.js.map +1 -1
- package/cjs/tools/utils/byteUtils.js +20 -28
- package/cjs/tools/utils/byteUtils.js.map +1 -1
- package/cjs/tools/utils/functionUtils.js +33 -40
- package/cjs/tools/utils/functionUtils.js.map +1 -1
- package/cjs/tools/utils/numberUtils.d.ts +0 -6
- package/cjs/tools/utils/numberUtils.js +7 -18
- package/cjs/tools/utils/numberUtils.js.map +1 -1
- package/cjs/tools/utils/objectUtils.d.ts +2 -0
- package/cjs/tools/utils/objectUtils.js +27 -14
- package/cjs/tools/utils/objectUtils.js.map +1 -1
- package/cjs/tools/utils/polyfills.js +12 -16
- package/cjs/tools/utils/polyfills.js.map +1 -1
- package/cjs/tools/utils/responseUtils.js +11 -12
- package/cjs/tools/utils/responseUtils.js.map +1 -1
- package/cjs/tools/utils/stringUtils.d.ts +9 -0
- package/cjs/tools/utils/stringUtils.js +73 -77
- package/cjs/tools/utils/stringUtils.js.map +1 -1
- package/cjs/tools/utils/timezone.js +9 -10
- package/cjs/tools/utils/timezone.js.map +1 -1
- package/cjs/tools/valueHistory.d.ts +16 -3
- package/cjs/tools/valueHistory.js +113 -99
- package/cjs/tools/valueHistory.js.map +1 -1
- package/cjs/transport/batch.d.ts +11 -7
- package/cjs/transport/batch.js +93 -106
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.d.ts +6 -2
- package/cjs/transport/eventBridge.js +54 -38
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.d.ts +6 -15
- package/cjs/transport/flushController.js +99 -118
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.d.ts +8 -9
- package/cjs/transport/httpRequest.js +61 -97
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.d.ts +3 -2
- package/cjs/transport/sendWithRetryStrategy.d.ts +9 -4
- package/cjs/transport/sendWithRetryStrategy.js +144 -148
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
- package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
- package/esm/boot/init.mjs +30 -0
- package/esm/boot/init.mjs.map +1 -0
- package/esm/browser/addEventListener.mjs +107 -0
- package/esm/browser/addEventListener.mjs.map +1 -0
- package/esm/browser/cookie.mjs +92 -0
- package/esm/browser/cookie.mjs.map +1 -0
- package/esm/browser/cookieAccess.mjs +124 -0
- package/esm/browser/cookieAccess.mjs.map +1 -0
- package/esm/browser/fetch.mjs +18 -0
- package/esm/browser/fetch.mjs.map +1 -0
- package/esm/browser/fetchObservable.mjs +89 -0
- package/esm/browser/fetchObservable.mjs.map +1 -0
- package/esm/browser/pageMayExitObservable.mjs +56 -0
- package/esm/browser/pageMayExitObservable.mjs.map +1 -0
- package/esm/browser/runOnReadyState.mjs +19 -0
- package/esm/browser/runOnReadyState.mjs.map +1 -0
- package/esm/browser/webSocketObservable.mjs +92 -0
- package/esm/browser/webSocketObservable.mjs.map +1 -0
- package/esm/browser/xhrObservable.mjs +73 -0
- package/esm/browser/xhrObservable.mjs.map +1 -0
- package/esm/domain/allowedTrackingOrigins.mjs +27 -0
- package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
- package/esm/domain/bufferedData.mjs +43 -0
- package/esm/domain/bufferedData.mjs.map +1 -0
- package/esm/domain/configuration/configuration.mjs +163 -0
- package/esm/domain/configuration/configuration.mjs.map +1 -0
- package/esm/domain/configuration/remoteSdkConfig.mjs +163 -0
- package/esm/domain/configuration/remoteSdkConfig.mjs.map +1 -0
- package/esm/domain/connectivity/connectivity.mjs +16 -0
- package/esm/domain/connectivity/connectivity.mjs.map +1 -0
- package/esm/domain/console/consoleObservable.mjs +72 -0
- package/esm/domain/console/consoleObservable.mjs.map +1 -0
- package/esm/domain/context/contextConstants.mjs +25 -0
- package/esm/domain/context/contextConstants.mjs.map +1 -0
- package/esm/domain/context/contextManager.mjs +55 -0
- package/esm/domain/context/contextManager.mjs.map +1 -0
- package/esm/domain/context/contextUtils.mjs +15 -0
- package/esm/domain/context/contextUtils.mjs.map +1 -0
- package/esm/domain/context/defineContextMethod.mjs +19 -0
- package/esm/domain/context/defineContextMethod.mjs.map +1 -0
- package/esm/domain/context/storeContextManager.mjs +36 -0
- package/esm/domain/context/storeContextManager.mjs.map +1 -0
- package/esm/domain/contexts/accountContext.mjs +29 -0
- package/esm/domain/contexts/accountContext.mjs.map +1 -0
- package/esm/domain/contexts/globalContext.mjs +20 -0
- package/esm/domain/contexts/globalContext.mjs.map +1 -0
- package/esm/domain/contexts/tabContext.mjs +27 -0
- package/esm/domain/contexts/tabContext.mjs.map +1 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
- package/esm/domain/contexts/userContext.mjs +88 -0
- package/esm/domain/contexts/userContext.mjs.map +1 -0
- package/esm/domain/deflate/deflate.types.mjs +12 -0
- package/esm/domain/deflate/deflate.types.mjs.map +1 -0
- package/esm/domain/error/error.mjs +104 -0
- package/esm/domain/error/error.mjs.map +1 -0
- package/esm/domain/error/error.types.mjs +24 -0
- package/esm/domain/error/error.types.mjs.map +1 -0
- package/esm/domain/error/isError.mjs +13 -0
- package/esm/domain/error/isError.mjs.map +1 -0
- package/esm/domain/error/trackRuntimeError.mjs +49 -0
- package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +31 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
- package/esm/domain/extension/extensionUtils.mjs +23 -0
- package/esm/domain/extension/extensionUtils.mjs.map +1 -0
- package/esm/domain/geo/geocoding.mjs +60 -0
- package/esm/domain/geo/geocoding.mjs.map +1 -0
- package/esm/domain/geo/geolocation.mjs +69 -0
- package/esm/domain/geo/geolocation.mjs.map +1 -0
- package/esm/domain/report/reportObservable.mjs +89 -0
- package/esm/domain/report/reportObservable.mjs.map +1 -0
- package/esm/domain/resourceUtils.mjs +22 -0
- package/esm/domain/resourceUtils.mjs.map +1 -0
- package/esm/domain/sampler.mjs +37 -0
- package/esm/domain/sampler.mjs.map +1 -0
- package/esm/domain/session/sessionConstants.mjs +18 -0
- package/esm/domain/session/sessionConstants.mjs.map +1 -0
- package/esm/domain/session/sessionManager.mjs +258 -0
- package/esm/domain/session/sessionManager.mjs.map +1 -0
- package/esm/domain/session/sessionState.mjs +76 -0
- package/esm/domain/session/sessionState.mjs.map +1 -0
- package/esm/domain/session/sessionStateValidation.mjs +9 -0
- package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
- package/esm/domain/session/sessionStore.mjs +45 -0
- package/esm/domain/session/sessionStore.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs +96 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs +34 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
- package/esm/domain/sourceCodeContext.mjs +55 -0
- package/esm/domain/sourceCodeContext.mjs.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
- package/esm/domain/tags.mjs +29 -0
- package/esm/domain/tags.mjs.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
- package/esm/domain/telemetry/telemetry.mjs +210 -0
- package/esm/domain/telemetry/telemetry.mjs.map +1 -0
- package/esm/domain/trackingConsent.mjs +38 -0
- package/esm/domain/trackingConsent.mjs.map +1 -0
- package/esm/domain/userAgentData/userAgentData.mjs +77 -0
- package/esm/domain/userAgentData/userAgentData.mjs.map +1 -0
- package/esm/index.mjs +85 -0
- package/esm/tools/abstractLifeCycle.mjs +21 -0
- package/esm/tools/abstractLifeCycle.mjs.map +1 -0
- package/esm/tools/catchUserErrors.mjs +15 -0
- package/esm/tools/catchUserErrors.mjs.map +1 -0
- package/esm/tools/display.mjs +8 -0
- package/esm/tools/display.mjs.map +1 -0
- package/esm/tools/encoder.mjs +39 -0
- package/esm/tools/encoder.mjs.map +1 -0
- package/esm/tools/experimentalFeatures.mjs +35 -0
- package/esm/tools/experimentalFeatures.mjs.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
- package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
- package/esm/tools/instrumentMethod.mjs +183 -0
- package/esm/tools/instrumentMethod.mjs.map +1 -0
- package/esm/tools/matchOption.mjs +25 -0
- package/esm/tools/matchOption.mjs.map +1 -0
- package/esm/tools/mockable.mjs +28 -0
- package/esm/tools/mockable.mjs.map +1 -0
- package/esm/tools/observable.mjs +77 -0
- package/esm/tools/observable.mjs.map +1 -0
- package/esm/tools/queueMicrotask.mjs +12 -0
- package/esm/tools/queueMicrotask.mjs.map +1 -0
- package/esm/tools/readBytesFromStream.mjs +21 -0
- package/esm/tools/readBytesFromStream.mjs.map +1 -0
- package/esm/tools/requestIdleCallback.mjs +28 -0
- package/esm/tools/requestIdleCallback.mjs.map +1 -0
- package/esm/tools/sendToExtension.mjs +13 -0
- package/esm/tools/sendToExtension.mjs.map +1 -0
- package/esm/tools/serialisation/jsonStringify.mjs +42 -0
- package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
- package/esm/tools/serialisation/sanitize.mjs +132 -0
- package/esm/tools/serialisation/sanitize.mjs.map +1 -0
- package/esm/tools/serialisation/stringify.mjs +17 -0
- package/esm/tools/serialisation/stringify.mjs.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
- package/esm/tools/stackTrace/handlingStack.mjs +45 -0
- package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
- package/esm/tools/taskQueue.mjs +45 -0
- package/esm/tools/taskQueue.mjs.map +1 -0
- package/esm/tools/thenable.mjs +24 -0
- package/esm/tools/thenable.mjs.map +1 -0
- package/esm/tools/timer.mjs +20 -0
- package/esm/tools/timer.mjs.map +1 -0
- package/esm/tools/utils/arrayUtils.mjs +21 -0
- package/esm/tools/utils/arrayUtils.mjs.map +1 -0
- package/esm/tools/utils/browserDetection.mjs +31 -0
- package/esm/tools/utils/browserDetection.mjs.map +1 -0
- package/esm/tools/utils/byteUtils.mjs +23 -0
- package/esm/tools/utils/byteUtils.mjs.map +1 -0
- package/esm/tools/utils/functionUtils.mjs +35 -0
- package/esm/tools/utils/functionUtils.mjs.map +1 -0
- package/esm/tools/utils/numberUtils.mjs +11 -0
- package/esm/tools/utils/numberUtils.mjs.map +1 -0
- package/esm/tools/utils/objectUtils.mjs +31 -0
- package/esm/tools/utils/objectUtils.mjs.map +1 -0
- package/esm/tools/utils/polyfills.mjs +17 -0
- package/esm/tools/utils/polyfills.mjs.map +1 -0
- package/esm/tools/utils/responseUtils.mjs +15 -0
- package/esm/tools/utils/responseUtils.mjs.map +1 -0
- package/esm/tools/utils/stringUtils.mjs +81 -0
- package/esm/tools/utils/stringUtils.mjs.map +1 -0
- package/esm/tools/utils/timezone.mjs +12 -0
- package/esm/tools/utils/timezone.mjs.map +1 -0
- package/esm/tools/valueHistory.mjs +117 -0
- package/esm/tools/valueHistory.mjs.map +1 -0
- package/esm/transport/batch.mjs +96 -0
- package/esm/transport/batch.mjs.map +1 -0
- package/esm/transport/eventBridge.mjs +58 -0
- package/esm/transport/eventBridge.mjs.map +1 -0
- package/esm/transport/flushController.mjs +103 -0
- package/esm/transport/flushController.mjs.map +1 -0
- package/esm/transport/httpRequest.mjs +69 -0
- package/esm/transport/httpRequest.mjs.map +1 -0
- package/esm/transport/sendWithRetryStrategy.mjs +154 -0
- package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
- package/package.json +20 -11
- package/src/boot/displayAlreadyInitializedError.ts +4 -1
- package/src/boot/init.ts +3 -2
- package/src/browser/addEventListener.ts +43 -8
- package/src/browser/browser.types.ts +0 -32
- package/src/browser/cookie.ts +45 -30
- package/src/browser/cookieAccess.ts +172 -0
- package/src/browser/fetch.ts +14 -0
- package/src/browser/fetchObservable.ts +25 -26
- package/src/browser/pageMayExitObservable.ts +9 -5
- package/src/browser/runOnReadyState.ts +3 -8
- package/src/browser/webSocketObservable.ts +181 -0
- package/src/browser/xhrObservable.ts +22 -13
- package/src/domain/allowedTrackingOrigins.ts +7 -6
- package/src/domain/bufferedData.ts +41 -14
- package/src/domain/configuration/configuration.ts +121 -171
- package/src/domain/configuration/index.ts +6 -7
- package/src/domain/configuration/remoteSdkConfig.ts +65 -16
- package/src/domain/connectivity/connectivity.ts +11 -23
- package/src/domain/console/consoleObservable.ts +9 -5
- package/src/domain/context/contextManager.ts +6 -2
- package/src/domain/context/contextUtils.ts +1 -1
- package/src/domain/context/defineContextMethod.ts +4 -4
- package/src/domain/context/storeContextManager.ts +9 -6
- package/src/domain/contexts/accountContext.ts +5 -5
- package/src/domain/contexts/globalContext.ts +4 -5
- package/src/domain/contexts/tabContext.ts +43 -0
- package/src/domain/contexts/telemetrySessionContext.ts +26 -0
- package/src/domain/contexts/userContext.ts +21 -16
- package/src/domain/error/error.ts +83 -35
- package/src/domain/error/error.types.ts +6 -4
- package/src/domain/error/isError.ts +13 -0
- package/src/domain/error/trackRuntimeError.ts +11 -4
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +3 -9
- package/src/{tools/utils → domain/geo}/geocoding.ts +7 -18
- package/src/{tools/utils → domain/geo}/geolocation.ts +1 -1
- package/src/domain/report/reportObservable.ts +15 -8
- package/src/domain/resourceUtils.ts +1 -0
- package/src/domain/sampler.ts +59 -0
- package/src/domain/session/sessionConstants.ts +2 -1
- package/src/domain/session/sessionManager.ts +347 -178
- package/src/domain/session/sessionState.ts +71 -10
- package/src/domain/session/sessionStore.ts +53 -226
- package/src/domain/session/storeStrategies/sessionInCookie.ts +122 -107
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
- package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
- package/src/domain/sourceCodeContext.ts +100 -0
- package/src/domain/synthetics/syntheticsWorkerValues.ts +47 -15
- package/src/domain/tags.ts +5 -19
- package/src/domain/telemetry/rawTelemetryEvent.types.ts +1 -1
- package/src/domain/telemetry/telemetry.ts +44 -52
- package/src/domain/telemetry/telemetryEvent.types.ts +177 -19
- package/src/domain/trackingConsent.ts +18 -3
- package/src/domain/userAgentData/userAgentData.ts +1 -1
- package/src/index.ts +59 -43
- package/src/tools/display.ts +2 -52
- package/src/tools/experimentalFeatures.ts +3 -4
- package/src/tools/getZoneJsOriginalValue.ts +3 -3
- package/src/tools/instrumentMethod.ts +228 -18
- package/src/tools/matchOption.ts +2 -6
- package/src/tools/mockable.ts +32 -0
- package/src/tools/observable.ts +11 -2
- package/src/tools/queueMicrotask.ts +8 -3
- package/src/tools/readBytesFromStream.ts +3 -12
- package/src/tools/requestIdleCallback.ts +2 -2
- package/src/tools/sendToExtension.ts +1 -1
- package/src/tools/serialisation/sanitize.ts +71 -64
- package/src/tools/serialisation/stringify.ts +18 -0
- package/src/tools/stackTrace/computeStackTrace.ts +19 -19
- package/src/tools/stackTrace/handlingStack.ts +15 -2
- package/src/tools/taskQueue.ts +5 -3
- package/src/tools/thenable.ts +23 -0
- package/src/tools/timer.ts +8 -7
- package/src/tools/utils/arrayUtils.ts +8 -2
- package/src/tools/utils/browserDetection.ts +8 -0
- package/src/tools/utils/byteUtils.ts +2 -6
- package/src/tools/utils/functionUtils.ts +2 -2
- package/src/tools/utils/numberUtils.ts +0 -12
- package/src/tools/utils/objectUtils.ts +20 -0
- package/src/tools/utils/stringUtils.ts +23 -1
- package/src/tools/valueHistory.ts +59 -18
- package/src/transport/batch.ts +50 -31
- package/src/transport/eventBridge.ts +24 -10
- package/src/transport/flushController.ts +22 -30
- package/src/transport/httpRequest.ts +18 -47
- package/src/transport/index.ts +3 -2
- package/src/transport/sendWithRetryStrategy.ts +29 -17
- package/cjs/browser/browser.types.js +0 -6
- package/cjs/browser/browser.types.js.map +0 -1
- package/cjs/domain/configuration/endpointBuilder.d.ts +0 -12
- package/cjs/domain/configuration/endpointBuilder.js +0 -66
- package/cjs/domain/configuration/endpointBuilder.js.map +0 -1
- package/cjs/domain/configuration/index.js +0 -44
- package/cjs/domain/configuration/index.js.map +0 -1
- package/cjs/domain/configuration/transportConfiguration.d.ts +0 -21
- package/cjs/domain/configuration/transportConfiguration.js +0 -58
- package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
- package/cjs/domain/connectivity/index.js +0 -18
- package/cjs/domain/connectivity/index.js.map +0 -1
- package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
- package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/cjs/domain/deflate/index.js +0 -18
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/intakeSites.d.ts +0 -4
- package/cjs/domain/intakeSites.js +0 -7
- package/cjs/domain/intakeSites.js.map +0 -1
- package/cjs/domain/report/browser.types.js +0 -3
- package/cjs/domain/report/browser.types.js.map +0 -1
- package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
- package/cjs/domain/session/oldCookiesMigration.js +0 -40
- package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
- package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
- package/cjs/domain/session/sessionStoreOperations.js +0 -119
- package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
- package/cjs/domain/telemetry/index.js +0 -28
- package/cjs/domain/telemetry/index.js.map +0 -1
- package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/cjs/domain/userAgentData/index.js +0 -18
- package/cjs/domain/userAgentData/index.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/tools/abstractHooks.d.ts +0 -24
- package/cjs/tools/abstractHooks.js +0 -41
- package/cjs/tools/abstractHooks.js.map +0 -1
- package/cjs/tools/boundedBuffer.d.ts +0 -16
- package/cjs/tools/boundedBuffer.js +0 -32
- package/cjs/tools/boundedBuffer.js.map +0 -1
- package/cjs/tools/globalObject.d.ts +0 -19
- package/cjs/tools/globalObject.js +0 -44
- package/cjs/tools/globalObject.js.map +0 -1
- package/cjs/tools/mergeInto.d.ts +0 -25
- package/cjs/tools/mergeInto.js +0 -98
- package/cjs/tools/mergeInto.js.map +0 -1
- package/cjs/tools/monitor.d.ts +0 -9
- package/cjs/tools/monitor.js +0 -61
- package/cjs/tools/monitor.js.map +0 -1
- package/cjs/tools/serialisation/context.js +0 -3
- package/cjs/tools/serialisation/context.js.map +0 -1
- package/cjs/tools/utils/geocoding.js +0 -80
- package/cjs/tools/utils/geocoding.js.map +0 -1
- package/cjs/tools/utils/geolocation.js +0 -77
- package/cjs/tools/utils/geolocation.js.map +0 -1
- package/cjs/tools/utils/timeUtils.d.ts +0 -53
- package/cjs/tools/utils/timeUtils.js +0 -101
- package/cjs/tools/utils/timeUtils.js.map +0 -1
- package/cjs/tools/utils/typeUtils.d.ts +0 -4
- package/cjs/tools/utils/typeUtils.js +0 -16
- package/cjs/tools/utils/typeUtils.js.map +0 -1
- package/cjs/tools/utils/urlPolyfill.d.ts +0 -5
- package/cjs/tools/utils/urlPolyfill.js +0 -59
- package/cjs/tools/utils/urlPolyfill.js.map +0 -1
- package/cjs/transport/index.js +0 -15
- package/cjs/transport/index.js.map +0 -1
- package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
- package/esm/boot/displayAlreadyInitializedError.js +0 -7
- package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
- package/esm/boot/init.d.ts +0 -13
- package/esm/boot/init.js +0 -35
- package/esm/boot/init.js.map +0 -1
- package/esm/browser/addEventListener.d.ts +0 -87
- package/esm/browser/addEventListener.js +0 -51
- package/esm/browser/addEventListener.js.map +0 -1
- package/esm/browser/browser.types.d.ts +0 -51
- package/esm/browser/browser.types.js +0 -5
- package/esm/browser/browser.types.js.map +0 -1
- package/esm/browser/cookie.d.ts +0 -26
- package/esm/browser/cookie.js +0 -101
- package/esm/browser/cookie.js.map +0 -1
- package/esm/browser/fetchObservable.d.ts +0 -38
- package/esm/browser/fetchObservable.js +0 -99
- package/esm/browser/fetchObservable.js.map +0 -1
- package/esm/browser/pageMayExitObservable.d.ts +0 -14
- package/esm/browser/pageMayExitObservable.js +0 -51
- package/esm/browser/pageMayExitObservable.js.map +0 -1
- package/esm/browser/runOnReadyState.d.ts +0 -5
- package/esm/browser/runOnReadyState.js +0 -16
- package/esm/browser/runOnReadyState.js.map +0 -1
- package/esm/browser/xhrObservable.d.ts +0 -24
- package/esm/browser/xhrObservable.js +0 -83
- package/esm/browser/xhrObservable.js.map +0 -1
- package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
- package/esm/domain/allowedTrackingOrigins.js +0 -21
- package/esm/domain/allowedTrackingOrigins.js.map +0 -1
- package/esm/domain/bufferedData.d.ts +0 -14
- package/esm/domain/bufferedData.js +0 -19
- package/esm/domain/bufferedData.js.map +0 -1
- package/esm/domain/configuration/configuration.d.ts +0 -284
- package/esm/domain/configuration/configuration.js +0 -129
- package/esm/domain/configuration/configuration.js.map +0 -1
- package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
- package/esm/domain/configuration/endpointBuilder.js +0 -62
- package/esm/domain/configuration/endpointBuilder.js.map +0 -1
- package/esm/domain/configuration/index.d.ts +0 -8
- package/esm/domain/configuration/index.js +0 -6
- package/esm/domain/configuration/index.js.map +0 -1
- package/esm/domain/configuration/remoteSdkConfig.d.ts +0 -81
- package/esm/domain/configuration/remoteSdkConfig.js +0 -172
- package/esm/domain/configuration/remoteSdkConfig.js.map +0 -1
- package/esm/domain/configuration/transportConfiguration.d.ts +0 -21
- package/esm/domain/configuration/transportConfiguration.js +0 -54
- package/esm/domain/configuration/transportConfiguration.js.map +0 -1
- package/esm/domain/connectivity/connectivity.d.ts +0 -18
- package/esm/domain/connectivity/connectivity.js +0 -13
- package/esm/domain/connectivity/connectivity.js.map +0 -1
- package/esm/domain/connectivity/index.d.ts +0 -1
- package/esm/domain/connectivity/index.js +0 -2
- package/esm/domain/connectivity/index.js.map +0 -1
- package/esm/domain/console/consoleObservable.d.ts +0 -21
- package/esm/domain/console/consoleObservable.js +0 -80
- package/esm/domain/console/consoleObservable.js.map +0 -1
- package/esm/domain/context/contextConstants.d.ts +0 -21
- package/esm/domain/context/contextConstants.js +0 -15
- package/esm/domain/context/contextConstants.js.map +0 -1
- package/esm/domain/context/contextManager.d.ts +0 -19
- package/esm/domain/context/contextManager.js +0 -56
- package/esm/domain/context/contextManager.js.map +0 -1
- package/esm/domain/context/contextUtils.d.ts +0 -5
- package/esm/domain/context/contextUtils.js +0 -13
- package/esm/domain/context/contextUtils.js.map +0 -1
- package/esm/domain/context/defineContextMethod.d.ts +0 -6
- package/esm/domain/context/defineContextMethod.js +0 -17
- package/esm/domain/context/defineContextMethod.js.map +0 -1
- package/esm/domain/context/storeContextManager.d.ts +0 -6
- package/esm/domain/context/storeContextManager.js +0 -35
- package/esm/domain/context/storeContextManager.js.map +0 -1
- package/esm/domain/contexts/accountContext.d.ts +0 -26
- package/esm/domain/contexts/accountContext.js +0 -29
- package/esm/domain/contexts/accountContext.js.map +0 -1
- package/esm/domain/contexts/globalContext.d.ts +0 -18
- package/esm/domain/contexts/globalContext.js +0 -17
- package/esm/domain/contexts/globalContext.js.map +0 -1
- package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
- package/esm/domain/contexts/rumInternalContext.type.js +0 -2
- package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/esm/domain/contexts/userContext.d.ts +0 -32
- package/esm/domain/contexts/userContext.js +0 -120
- package/esm/domain/contexts/userContext.js.map +0 -1
- package/esm/domain/deflate/deflate.types.d.ts +0 -40
- package/esm/domain/deflate/deflate.types.js +0 -2
- package/esm/domain/deflate/deflate.types.js.map +0 -1
- package/esm/domain/deflate/index.d.ts +0 -1
- package/esm/domain/deflate/index.js +0 -2
- package/esm/domain/deflate/index.js.map +0 -1
- package/esm/domain/error/error.d.ts +0 -23
- package/esm/domain/error/error.js +0 -72
- package/esm/domain/error/error.js.map +0 -1
- package/esm/domain/error/error.types.d.ts +0 -47
- package/esm/domain/error/error.types.js +0 -10
- package/esm/domain/error/error.types.js.map +0 -1
- package/esm/domain/error/trackRuntimeError.d.ts +0 -11
- package/esm/domain/error/trackRuntimeError.js +0 -43
- package/esm/domain/error/trackRuntimeError.js.map +0 -1
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
- package/esm/domain/extension/extensionUtils.d.ts +0 -10
- package/esm/domain/extension/extensionUtils.js +0 -25
- package/esm/domain/extension/extensionUtils.js.map +0 -1
- package/esm/domain/intakeSites.d.ts +0 -4
- package/esm/domain/intakeSites.js +0 -4
- package/esm/domain/intakeSites.js.map +0 -1
- package/esm/domain/report/browser.types.d.ts +0 -34
- package/esm/domain/report/browser.types.js +0 -2
- package/esm/domain/report/browser.types.js.map +0 -1
- package/esm/domain/report/reportObservable.d.ts +0 -14
- package/esm/domain/report/reportObservable.js +0 -95
- package/esm/domain/report/reportObservable.js.map +0 -1
- package/esm/domain/resourceUtils.d.ts +0 -18
- package/esm/domain/resourceUtils.js +0 -17
- package/esm/domain/resourceUtils.js.map +0 -1
- package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
- package/esm/domain/session/oldCookiesMigration.js +0 -36
- package/esm/domain/session/oldCookiesMigration.js.map +0 -1
- package/esm/domain/session/sessionConstants.d.ts +0 -15
- package/esm/domain/session/sessionConstants.js +0 -13
- package/esm/domain/session/sessionConstants.js.map +0 -1
- package/esm/domain/session/sessionManager.d.ts +0 -28
- package/esm/domain/session/sessionManager.js +0 -196
- package/esm/domain/session/sessionManager.js.map +0 -1
- package/esm/domain/session/sessionState.d.ts +0 -16
- package/esm/domain/session/sessionState.js +0 -60
- package/esm/domain/session/sessionState.js.map +0 -1
- package/esm/domain/session/sessionStateValidation.d.ts +0 -3
- package/esm/domain/session/sessionStateValidation.js +0 -7
- package/esm/domain/session/sessionStateValidation.js.map +0 -1
- package/esm/domain/session/sessionStore.d.ts +0 -38
- package/esm/domain/session/sessionStore.js +0 -180
- package/esm/domain/session/sessionStore.js.map +0 -1
- package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
- package/esm/domain/session/sessionStoreOperations.js +0 -114
- package/esm/domain/session/sessionStoreOperations.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
- package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
- package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
- package/esm/domain/tags.d.ts +0 -6
- package/esm/domain/tags.js +0 -59
- package/esm/domain/tags.js.map +0 -1
- package/esm/domain/telemetry/index.d.ts +0 -4
- package/esm/domain/telemetry/index.js +0 -3
- package/esm/domain/telemetry/index.js.map +0 -1
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
- package/esm/domain/telemetry/telemetry.d.ts +0 -56
- package/esm/domain/telemetry/telemetry.js +0 -232
- package/esm/domain/telemetry/telemetry.js.map +0 -1
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
- package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/esm/domain/trackingConsent.d.ts +0 -13
- package/esm/domain/trackingConsent.js +0 -24
- package/esm/domain/trackingConsent.js.map +0 -1
- package/esm/domain/userAgentData/index.d.ts +0 -1
- package/esm/domain/userAgentData/index.js +0 -2
- package/esm/domain/userAgentData/index.js.map +0 -1
- package/esm/domain/userAgentData/userAgentData.d.ts +0 -22
- package/esm/domain/userAgentData/userAgentData.js +0 -105
- package/esm/domain/userAgentData/userAgentData.js.map +0 -1
- package/esm/index.d.ts +0 -104
- package/esm/index.js +0 -79
- package/esm/index.js.map +0 -1
- package/esm/tools/abstractHooks.d.ts +0 -24
- package/esm/tools/abstractHooks.js +0 -37
- package/esm/tools/abstractHooks.js.map +0 -1
- package/esm/tools/abstractLifeCycle.d.ts +0 -23
- package/esm/tools/abstractLifeCycle.js +0 -24
- package/esm/tools/abstractLifeCycle.js.map +0 -1
- package/esm/tools/boundedBuffer.d.ts +0 -16
- package/esm/tools/boundedBuffer.js +0 -29
- package/esm/tools/boundedBuffer.js.map +0 -1
- package/esm/tools/catchUserErrors.d.ts +0 -1
- package/esm/tools/catchUserErrors.js +0 -12
- package/esm/tools/catchUserErrors.js.map +0 -1
- package/esm/tools/display.d.ts +0 -38
- package/esm/tools/display.js +0 -41
- package/esm/tools/display.js.map +0 -1
- package/esm/tools/encoder.d.ts +0 -54
- package/esm/tools/encoder.js +0 -37
- package/esm/tools/encoder.js.map +0 -1
- package/esm/tools/experimentalFeatures.d.ts +0 -21
- package/esm/tools/experimentalFeatures.js +0 -42
- package/esm/tools/experimentalFeatures.js.map +0 -1
- package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
- package/esm/tools/getZoneJsOriginalValue.js +0 -26
- package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
- package/esm/tools/globalObject.d.ts +0 -19
- package/esm/tools/globalObject.js +0 -40
- package/esm/tools/globalObject.js.map +0 -1
- package/esm/tools/instrumentMethod.d.ts +0 -75
- package/esm/tools/instrumentMethod.js +0 -114
- package/esm/tools/instrumentMethod.js.map +0 -1
- package/esm/tools/matchOption.d.ts +0 -8
- package/esm/tools/matchOption.js +0 -31
- package/esm/tools/matchOption.js.map +0 -1
- package/esm/tools/mergeInto.d.ts +0 -25
- package/esm/tools/mergeInto.js +0 -93
- package/esm/tools/mergeInto.js.map +0 -1
- package/esm/tools/monitor.d.ts +0 -9
- package/esm/tools/monitor.js +0 -51
- package/esm/tools/monitor.js.map +0 -1
- package/esm/tools/observable.d.ts +0 -30
- package/esm/tools/observable.js +0 -83
- package/esm/tools/observable.js.map +0 -1
- package/esm/tools/queueMicrotask.d.ts +0 -1
- package/esm/tools/queueMicrotask.js +0 -14
- package/esm/tools/queueMicrotask.js.map +0 -1
- package/esm/tools/readBytesFromStream.d.ts +0 -10
- package/esm/tools/readBytesFromStream.js +0 -25
- package/esm/tools/readBytesFromStream.js.map +0 -1
- package/esm/tools/requestIdleCallback.d.ts +0 -12
- package/esm/tools/requestIdleCallback.js +0 -30
- package/esm/tools/requestIdleCallback.js.map +0 -1
- package/esm/tools/sendToExtension.d.ts +0 -3
- package/esm/tools/sendToExtension.js +0 -8
- package/esm/tools/sendToExtension.js.map +0 -1
- package/esm/tools/serialisation/context.d.ts +0 -9
- package/esm/tools/serialisation/context.js +0 -2
- package/esm/tools/serialisation/context.js.map +0 -1
- package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
- package/esm/tools/serialisation/jsonStringify.js +0 -44
- package/esm/tools/serialisation/jsonStringify.js.map +0 -1
- package/esm/tools/serialisation/sanitize.d.ts +0 -18
- package/esm/tools/serialisation/sanitize.js +0 -185
- package/esm/tools/serialisation/sanitize.js.map +0 -1
- package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
- package/esm/tools/stackTrace/computeStackTrace.js +0 -183
- package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
- package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
- package/esm/tools/stackTrace/handlingStack.js +0 -41
- package/esm/tools/stackTrace/handlingStack.js.map +0 -1
- package/esm/tools/taskQueue.d.ts +0 -15
- package/esm/tools/taskQueue.js +0 -50
- package/esm/tools/taskQueue.js.map +0 -1
- package/esm/tools/timer.d.ts +0 -5
- package/esm/tools/timer.js +0 -16
- package/esm/tools/timer.js.map +0 -1
- package/esm/tools/utils/arrayUtils.d.ts +0 -3
- package/esm/tools/utils/arrayUtils.js +0 -15
- package/esm/tools/utils/arrayUtils.js.map +0 -1
- package/esm/tools/utils/browserDetection.d.ts +0 -8
- package/esm/tools/utils/browserDetection.js +0 -28
- package/esm/tools/utils/browserDetection.js.map +0 -1
- package/esm/tools/utils/byteUtils.d.ts +0 -8
- package/esm/tools/utils/byteUtils.js +0 -29
- package/esm/tools/utils/byteUtils.js.map +0 -1
- package/esm/tools/utils/functionUtils.d.ts +0 -8
- package/esm/tools/utils/functionUtils.js +0 -39
- package/esm/tools/utils/functionUtils.js.map +0 -1
- package/esm/tools/utils/geocoding.d.ts +0 -60
- package/esm/tools/utils/geocoding.js +0 -73
- package/esm/tools/utils/geocoding.js.map +0 -1
- package/esm/tools/utils/geolocation.d.ts +0 -24
- package/esm/tools/utils/geolocation.js +0 -71
- package/esm/tools/utils/geolocation.js.map +0 -1
- package/esm/tools/utils/numberUtils.d.ts +0 -8
- package/esm/tools/utils/numberUtils.js +0 -17
- package/esm/tools/utils/numberUtils.js.map +0 -1
- package/esm/tools/utils/objectUtils.d.ts +0 -10
- package/esm/tools/utils/objectUtils.js +0 -17
- package/esm/tools/utils/objectUtils.js.map +0 -1
- package/esm/tools/utils/polyfills.d.ts +0 -7
- package/esm/tools/utils/polyfills.js +0 -18
- package/esm/tools/utils/polyfills.js.map +0 -1
- package/esm/tools/utils/responseUtils.d.ts +0 -2
- package/esm/tools/utils/responseUtils.js +0 -13
- package/esm/tools/utils/responseUtils.js.map +0 -1
- package/esm/tools/utils/stringUtils.d.ts +0 -23
- package/esm/tools/utils/stringUtils.js +0 -84
- package/esm/tools/utils/stringUtils.js.map +0 -1
- package/esm/tools/utils/timeUtils.d.ts +0 -53
- package/esm/tools/utils/timeUtils.js +0 -84
- package/esm/tools/utils/timeUtils.js.map +0 -1
- package/esm/tools/utils/timezone.d.ts +0 -1
- package/esm/tools/utils/timezone.js +0 -10
- package/esm/tools/utils/timezone.js.map +0 -1
- package/esm/tools/utils/typeUtils.d.ts +0 -4
- package/esm/tools/utils/typeUtils.js +0 -13
- package/esm/tools/utils/typeUtils.js.map +0 -1
- package/esm/tools/utils/urlPolyfill.d.ts +0 -5
- package/esm/tools/utils/urlPolyfill.js +0 -52
- package/esm/tools/utils/urlPolyfill.js.map +0 -1
- package/esm/tools/valueHistory.d.ts +0 -27
- package/esm/tools/valueHistory.js +0 -100
- package/esm/tools/valueHistory.js.map +0 -1
- package/esm/transport/batch.d.ts +0 -16
- package/esm/transport/batch.js +0 -106
- package/esm/transport/batch.js.map +0 -1
- package/esm/transport/eventBridge.d.ts +0 -21
- package/esm/transport/eventBridge.js +0 -41
- package/esm/transport/eventBridge.js.map +0 -1
- package/esm/transport/flushController.d.ts +0 -65
- package/esm/transport/flushController.js +0 -119
- package/esm/transport/flushController.js.map +0 -1
- package/esm/transport/httpRequest.d.ts +0 -57
- package/esm/transport/httpRequest.js +0 -101
- package/esm/transport/httpRequest.js.map +0 -1
- package/esm/transport/index.d.ts +0 -7
- package/esm/transport/index.js +0 -5
- package/esm/transport/index.js.map +0 -1
- package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
- package/esm/transport/sendWithRetryStrategy.js +0 -158
- package/esm/transport/sendWithRetryStrategy.js.map +0 -1
- package/src/domain/configuration/endpointBuilder.ts +0 -105
- package/src/domain/configuration/transportConfiguration.ts +0 -86
- package/src/domain/intakeSites.ts +0 -6
- package/src/domain/session/oldCookiesMigration.ts +0 -42
- package/src/domain/session/sessionStoreOperations.ts +0 -131
- package/src/tools/abstractHooks.ts +0 -72
- package/src/tools/boundedBuffer.ts +0 -44
- package/src/tools/globalObject.ts +0 -51
- package/src/tools/mergeInto.ts +0 -177
- package/src/tools/monitor.ts +0 -71
- package/src/tools/utils/timeUtils.ts +0 -117
- package/src/tools/utils/typeUtils.ts +0 -12
- package/src/tools/utils/urlPolyfill.ts +0 -55
- /package/cjs/{tools/utils → domain/geo}/geocoding.d.ts +0 -0
- /package/cjs/{tools/utils → domain/geo}/geolocation.d.ts +0 -0
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { elapsed, timeStampNow, clocksNow } from '@kubesense/kubesense-js-core/time'
|
|
2
|
+
import type { Duration, ClocksState } from '@kubesense/kubesense-js-core/time'
|
|
3
|
+
import { normalizeUrl, globalObject } from '@kubesense/kubesense-js-core/util'
|
|
1
4
|
import type { InstrumentedMethodCall } from '../tools/instrumentMethod'
|
|
2
5
|
import { instrumentMethod } from '../tools/instrumentMethod'
|
|
3
6
|
import { Observable } from '../tools/observable'
|
|
4
|
-
import type { Duration, ClocksState } from '../tools/utils/timeUtils'
|
|
5
|
-
import { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils'
|
|
6
|
-
import { normalizeUrl } from '../tools/utils/urlPolyfill'
|
|
7
|
-
import { shallowClone } from '../tools/utils/objectUtils'
|
|
8
|
-
import type { Configuration } from '../domain/configuration'
|
|
9
7
|
import { addEventListener } from './addEventListener'
|
|
10
8
|
|
|
11
9
|
export interface XhrOpenContext {
|
|
@@ -35,14 +33,18 @@ export type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext
|
|
|
35
33
|
let xhrObservable: Observable<XhrContext> | undefined
|
|
36
34
|
const xhrContexts = new WeakMap<XMLHttpRequest, XhrContext>()
|
|
37
35
|
|
|
38
|
-
export function initXhrObservable(
|
|
36
|
+
export function initXhrObservable() {
|
|
39
37
|
if (!xhrObservable) {
|
|
40
|
-
xhrObservable = createXhrObservable(
|
|
38
|
+
xhrObservable = createXhrObservable()
|
|
41
39
|
}
|
|
42
40
|
return xhrObservable
|
|
43
41
|
}
|
|
44
42
|
|
|
45
|
-
function createXhrObservable(
|
|
43
|
+
function createXhrObservable() {
|
|
44
|
+
if (!('XMLHttpRequest' in globalObject)) {
|
|
45
|
+
return new Observable<XhrContext>()
|
|
46
|
+
}
|
|
47
|
+
|
|
46
48
|
return new Observable<XhrContext>((observable) => {
|
|
47
49
|
const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr)
|
|
48
50
|
|
|
@@ -50,7 +52,7 @@ function createXhrObservable(configuration: Configuration) {
|
|
|
50
52
|
XMLHttpRequest.prototype,
|
|
51
53
|
'send',
|
|
52
54
|
(call) => {
|
|
53
|
-
sendXhr(call,
|
|
55
|
+
sendXhr(call, observable)
|
|
54
56
|
},
|
|
55
57
|
{ computeHandlingStack: true }
|
|
56
58
|
)
|
|
@@ -75,7 +77,6 @@ function openXhr({ target: xhr, parameters: [method, url] }: InstrumentedMethodC
|
|
|
75
77
|
|
|
76
78
|
function sendXhr(
|
|
77
79
|
{ target: xhr, parameters: [body], handlingStack }: InstrumentedMethodCall<XMLHttpRequest, 'send'>,
|
|
78
|
-
configuration: Configuration,
|
|
79
80
|
observable: Observable<XhrContext>
|
|
80
81
|
) {
|
|
81
82
|
const context = xhrContexts.get(xhr)
|
|
@@ -112,16 +113,15 @@ function sendXhr(
|
|
|
112
113
|
hasBeenReported = true
|
|
113
114
|
|
|
114
115
|
const completeContext = context as XhrCompleteContext
|
|
115
|
-
completeContext.state = 'complete'
|
|
116
116
|
completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow())
|
|
117
117
|
completeContext.status = xhr.status
|
|
118
118
|
if (typeof xhr.response === 'string') {
|
|
119
119
|
completeContext.responseBody = xhr.response
|
|
120
120
|
}
|
|
121
|
-
observable.notify(
|
|
121
|
+
observable.notify({ ...completeContext, state: 'complete' })
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
const { stop: unsubscribeLoadEndListener } = addEventListener(
|
|
124
|
+
const { stop: unsubscribeLoadEndListener } = addEventListener(xhr, 'loadend', onEnd)
|
|
125
125
|
|
|
126
126
|
observable.notify(startContext)
|
|
127
127
|
}
|
|
@@ -132,3 +132,12 @@ function abortXhr({ target: xhr }: InstrumentedMethodCall<XMLHttpRequest, 'abort
|
|
|
132
132
|
context.isAborted = true
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.
|
|
138
|
+
*
|
|
139
|
+
* @internal
|
|
140
|
+
*/
|
|
141
|
+
export function resetXhrObservable() {
|
|
142
|
+
xhrObservable = undefined
|
|
143
|
+
}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
+
import { globalObject } from '@kubesense/kubesense-js-core/util'
|
|
1
2
|
import { display } from '../tools/display'
|
|
2
3
|
import { matchList } from '../tools/matchOption'
|
|
3
|
-
import
|
|
4
|
+
import { mockable } from '../tools/mockable'
|
|
5
|
+
import type { Configuration } from './configuration'
|
|
4
6
|
import { isUnsupportedExtensionEnvironment } from './extension/extensionUtils'
|
|
5
7
|
|
|
6
8
|
export const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN =
|
|
7
9
|
'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.'
|
|
8
10
|
export const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'
|
|
9
11
|
|
|
10
|
-
export function isAllowedTrackingOrigins(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
windowOrigin = typeof location !== 'undefined' ? location.origin : ''
|
|
14
|
-
): boolean {
|
|
12
|
+
export function isAllowedTrackingOrigins(configuration: Configuration, errorStack: string): boolean {
|
|
13
|
+
const location = mockable(globalObject.location)
|
|
14
|
+
const windowOrigin = location ? location.origin : ''
|
|
15
15
|
const allowedTrackingOrigins = configuration.allowedTrackingOrigins
|
|
16
16
|
if (!allowedTrackingOrigins) {
|
|
17
17
|
if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {
|
|
18
18
|
display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN)
|
|
19
|
+
|
|
19
20
|
return false
|
|
20
21
|
}
|
|
21
22
|
return true
|
|
@@ -1,32 +1,59 @@
|
|
|
1
|
+
import { ConsoleApiName } from '@kubesense/kubesense-js-core/util'
|
|
2
|
+
import type { Observable, Subscription } from '../tools/observable'
|
|
1
3
|
import { BufferedObservable } from '../tools/observable'
|
|
4
|
+
import { mockable } from '../tools/mockable'
|
|
5
|
+
import type { FetchContext } from '../browser/fetchObservable'
|
|
6
|
+
import { initFetchObservable } from '../browser/fetchObservable'
|
|
7
|
+
import type { XhrContext } from '../browser/xhrObservable'
|
|
8
|
+
import { initXhrObservable } from '../browser/xhrObservable'
|
|
9
|
+
import { addTelemetryDebug } from './telemetry'
|
|
2
10
|
import type { RawError } from './error/error.types'
|
|
3
11
|
import { trackRuntimeError } from './error/trackRuntimeError'
|
|
12
|
+
import type { ConsoleLog } from './console/consoleObservable'
|
|
13
|
+
import { initConsoleObservable } from './console/consoleObservable'
|
|
4
14
|
|
|
5
15
|
const BUFFER_LIMIT = 500
|
|
6
16
|
|
|
7
17
|
export const enum BufferedDataType {
|
|
8
18
|
RUNTIME_ERROR,
|
|
19
|
+
FETCH,
|
|
20
|
+
XHR,
|
|
21
|
+
CONSOLE,
|
|
9
22
|
}
|
|
10
23
|
|
|
11
|
-
export
|
|
12
|
-
type: BufferedDataType.RUNTIME_ERROR
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function startBufferingData(trackRuntimeErrorImpl = trackRuntimeError) {
|
|
17
|
-
const observable = new BufferedObservable<BufferedData>(BUFFER_LIMIT)
|
|
24
|
+
export type BufferedData =
|
|
25
|
+
| { type: BufferedDataType.RUNTIME_ERROR; data: RawError }
|
|
26
|
+
| { type: BufferedDataType.FETCH; data: FetchContext }
|
|
27
|
+
| { type: BufferedDataType.XHR; data: XhrContext }
|
|
28
|
+
| { type: BufferedDataType.CONSOLE; data: ConsoleLog }
|
|
18
29
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
export function startBufferingData() {
|
|
31
|
+
const observable = new BufferedObservable<BufferedData>(BUFFER_LIMIT, (count) => {
|
|
32
|
+
// monitor-until: 2026-10-14
|
|
33
|
+
addTelemetryDebug('Early data collection dropped data on unbuffer', {
|
|
34
|
+
count,
|
|
23
35
|
})
|
|
24
36
|
})
|
|
37
|
+
const subscriptions: Subscription[] = []
|
|
38
|
+
|
|
39
|
+
function subscribe<T extends BufferedDataType>(
|
|
40
|
+
type: T,
|
|
41
|
+
source: Observable<Extract<BufferedData, { type: T }>['data']>
|
|
42
|
+
) {
|
|
43
|
+
subscriptions.push(
|
|
44
|
+
source.subscribe((data) => {
|
|
45
|
+
observable.notify({ type, data } as BufferedData)
|
|
46
|
+
})
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
subscribe(BufferedDataType.RUNTIME_ERROR, mockable(trackRuntimeError)())
|
|
51
|
+
subscribe(BufferedDataType.FETCH, initFetchObservable())
|
|
52
|
+
subscribe(BufferedDataType.XHR, initXhrObservable())
|
|
53
|
+
subscribe(BufferedDataType.CONSOLE, initConsoleObservable(Object.values(ConsoleApiName)))
|
|
25
54
|
|
|
26
55
|
return {
|
|
27
56
|
observable,
|
|
28
|
-
stop: () =>
|
|
29
|
-
runtimeErrorSubscription.unsubscribe()
|
|
30
|
-
},
|
|
57
|
+
stop: () => subscriptions.forEach((subscription) => subscription.unsubscribe()),
|
|
31
58
|
}
|
|
32
59
|
}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ProxyFn, Site } from '@kubesense/kubesense-js-core/transport'
|
|
2
|
+
import { INTAKE_SITE_PROD } from '@kubesense/kubesense-js-core/transport'
|
|
3
|
+
import type { InferredConfig, MatchOption } from '@kubesense/kubesense-js-core/configuration'
|
|
3
4
|
import type { RawTelemetryConfiguration } from '../telemetry'
|
|
4
|
-
import { isPercentage } from '../../tools/utils/numberUtils'
|
|
5
|
-
import { objectHasValue } from '../../tools/utils/objectUtils'
|
|
6
|
-
import { selectSessionStoreStrategyType } from '../session/sessionStore'
|
|
7
|
-
import type { SessionStoreStrategyType } from '../session/storeStrategies/sessionStoreStrategy'
|
|
8
5
|
import { TrackingConsent } from '../trackingConsent'
|
|
9
6
|
import type { SessionPersistence } from '../session/sessionConstants'
|
|
10
|
-
import type { MatchOption } from '../../tools/matchOption'
|
|
11
|
-
import { isAllowedTrackingOrigins } from '../allowedTrackingOrigins'
|
|
12
|
-
import { isWorkerEnvironment } from '../../tools/globalObject'
|
|
13
|
-
import type { TransportConfiguration } from './transportConfiguration'
|
|
14
|
-
import { computeTransportConfiguration } from './transportConfiguration'
|
|
15
|
-
import type { Site } from '../intakeSites'
|
|
16
7
|
|
|
17
8
|
/**
|
|
18
9
|
* Default privacy level for the browser SDK.
|
|
@@ -52,12 +43,14 @@ export interface InitConfiguration {
|
|
|
52
43
|
* @category Authentication
|
|
53
44
|
*/
|
|
54
45
|
clientToken: string
|
|
46
|
+
|
|
55
47
|
/**
|
|
56
48
|
* A callback function that can be used to modify events before they are sent to KubeSense.
|
|
57
49
|
*
|
|
58
|
-
*
|
|
50
|
+
* @category Data Collection
|
|
59
51
|
*/
|
|
60
52
|
beforeSend?: GenericBeforeSendCallback | undefined
|
|
53
|
+
|
|
61
54
|
/**
|
|
62
55
|
* The percentage of sessions tracked. A value between 0 and 100.
|
|
63
56
|
*
|
|
@@ -65,6 +58,7 @@ export interface InitConfiguration {
|
|
|
65
58
|
* @defaultValue 100
|
|
66
59
|
*/
|
|
67
60
|
sessionSampleRate?: number | undefined
|
|
61
|
+
|
|
68
62
|
/**
|
|
69
63
|
* The percentage of telemetry events sent. A value between 0 and 100.
|
|
70
64
|
*
|
|
@@ -72,43 +66,45 @@ export interface InitConfiguration {
|
|
|
72
66
|
* @defaultValue 20
|
|
73
67
|
*/
|
|
74
68
|
telemetrySampleRate?: number | undefined
|
|
69
|
+
|
|
75
70
|
/**
|
|
76
71
|
* Initialization fails silently if the RUM Browser SDK is already initialized on the page.
|
|
72
|
+
*
|
|
77
73
|
* @defaultValue false
|
|
78
74
|
*/
|
|
79
75
|
silentMultipleInit?: boolean | undefined
|
|
80
76
|
|
|
81
77
|
/**
|
|
82
|
-
* Which storage strategy to use for persisting sessions. Can be
|
|
78
|
+
* Which storage strategy to use for persisting sessions. Can be 'cookie', 'local-storage', or 'memory'.
|
|
79
|
+
* When an array is provided, the SDK will attempt each persistence type in the order specified.
|
|
83
80
|
*
|
|
84
81
|
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
85
82
|
*
|
|
86
|
-
*
|
|
87
|
-
* @defaultValue "cookie"
|
|
88
|
-
*/
|
|
89
|
-
sessionPersistence?: SessionPersistence | undefined
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Allows the use of localStorage when cookies cannot be set. This enables the RUM Browser SDK to run in environments that do not provide cookie support.
|
|
83
|
+
* Note: 'memory' option is only for use with single-page applications. All page loads will start a new session, likely resulting in an increase in total number of RUM sessions
|
|
93
84
|
*
|
|
94
|
-
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
95
85
|
* @category Session Persistence
|
|
96
|
-
* @
|
|
86
|
+
* @defaultValue "cookie"
|
|
97
87
|
*/
|
|
98
|
-
|
|
88
|
+
sessionPersistence?: SessionPersistence | SessionPersistence[] | undefined
|
|
99
89
|
|
|
100
90
|
/**
|
|
101
91
|
* Allow listening to DOM events dispatched programmatically ([untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted)). Enabling this option can be useful if you heavily rely on programmatic events, such as in an automated UI test environment.
|
|
92
|
+
*
|
|
102
93
|
* @defaultValue false
|
|
103
94
|
*/
|
|
104
95
|
allowUntrustedEvents?: boolean | undefined
|
|
96
|
+
|
|
105
97
|
/**
|
|
106
98
|
* Store global context and user context in localStorage to preserve them along the user navigation.
|
|
99
|
+
* See [Contexts life cycle](https://docs.kubesense.ai/real_user_monitoring/browser/advanced_configuration/?tab=npm#contexts-life-cycle) for further information.
|
|
100
|
+
*
|
|
107
101
|
* @defaultValue false
|
|
108
102
|
*/
|
|
109
103
|
storeContextsAcrossPages?: boolean | undefined
|
|
104
|
+
|
|
110
105
|
/**
|
|
111
106
|
* Set the initial user tracking consent state.
|
|
107
|
+
* See [User tracking consent](https://docs.kubesense.ai/real_user_monitoring/browser/advanced_configuration/?tab=npm#user-tracking-consent) for further information.
|
|
112
108
|
*
|
|
113
109
|
* @category Privacy
|
|
114
110
|
* @defaultValue granted
|
|
@@ -125,34 +121,39 @@ export interface InitConfiguration {
|
|
|
125
121
|
// transport options
|
|
126
122
|
/**
|
|
127
123
|
* Optional proxy URL, for example: https://www.proxy.com/path.
|
|
124
|
+
* See [Proxy Your Browser RUM Data](https://docs.kubesense.ai/real_user_monitoring/guide/proxy-rum-data) for further information.
|
|
128
125
|
*
|
|
129
126
|
* @category Transport
|
|
130
127
|
*/
|
|
131
128
|
proxy?: string | ProxyFn | undefined
|
|
129
|
+
|
|
132
130
|
/**
|
|
131
|
+
* The KubeSense RUM intake host that events are sent to, for example `us2.kubesense.ai`.
|
|
133
132
|
*
|
|
134
133
|
* @category Transport
|
|
135
|
-
* @defaultValue
|
|
134
|
+
* @defaultValue us2.kubesense.ai
|
|
136
135
|
*/
|
|
137
|
-
kubesenseRumEndpoint?: Site | undefined
|
|
136
|
+
kubesenseRumEndpoint?: Site | undefined
|
|
138
137
|
|
|
139
138
|
// tag and context options
|
|
140
139
|
/**
|
|
141
|
-
* The service name for your application.
|
|
140
|
+
* The service name for your application. Follows the [tag syntax requirements](https://docs.kubesense.ai/getting_started/tagging/#define-tags).
|
|
142
141
|
*
|
|
143
|
-
*
|
|
142
|
+
* @category Data Collection
|
|
144
143
|
*/
|
|
145
144
|
service?: string | undefined | null
|
|
145
|
+
|
|
146
146
|
/**
|
|
147
|
-
* The application’s environment, for example: prod, pre-prod, and staging.
|
|
147
|
+
* The application’s environment, for example: prod, pre-prod, and staging. Follows the [tag syntax requirements](https://docs.kubesense.ai/getting_started/tagging/#define-tags).
|
|
148
148
|
*
|
|
149
|
-
*
|
|
149
|
+
* @category Data Collection
|
|
150
150
|
*/
|
|
151
151
|
env?: string | undefined | null
|
|
152
|
+
|
|
152
153
|
/**
|
|
153
|
-
* The application’s version, for example: 1.2.3, 6c44da20, and 2020.02.13.
|
|
154
|
+
* The application’s version, for example: 1.2.3, 6c44da20, and 2020.02.13. Follows the [tag syntax requirements](https://docs.kubesense.ai/getting_started/tagging/#define-tags).
|
|
154
155
|
*
|
|
155
|
-
*
|
|
156
|
+
* @category Data Collection
|
|
156
157
|
*/
|
|
157
158
|
version?: string | undefined | null
|
|
158
159
|
|
|
@@ -161,70 +162,73 @@ export interface InitConfiguration {
|
|
|
161
162
|
* Use a partitioned secure cross-site session cookie. This allows the RUM Browser SDK to run when the site is loaded from another one (iframe). Implies `useSecureSessionCookie`.
|
|
162
163
|
*
|
|
163
164
|
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
165
|
+
*
|
|
164
166
|
* @category Session Persistence
|
|
165
167
|
* @defaultValue false
|
|
166
168
|
*/
|
|
167
169
|
usePartitionedCrossSiteSessionCookie?: boolean | undefined
|
|
170
|
+
|
|
168
171
|
/**
|
|
169
172
|
* Use a secure session cookie. This disables RUM events sent on insecure (non-HTTPS) connections.
|
|
170
173
|
*
|
|
171
174
|
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
175
|
+
*
|
|
172
176
|
* @category Session Persistence
|
|
173
177
|
* @defaultValue false
|
|
174
178
|
*/
|
|
175
179
|
useSecureSessionCookie?: boolean | undefined
|
|
180
|
+
|
|
176
181
|
/**
|
|
177
182
|
* Preserve the session across subdomains for the same site.
|
|
178
183
|
*
|
|
179
184
|
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
185
|
+
*
|
|
180
186
|
* @category Session Persistence
|
|
181
187
|
* @defaultValue false
|
|
182
188
|
*/
|
|
183
189
|
trackSessionAcrossSubdomains?: boolean | undefined
|
|
190
|
+
|
|
184
191
|
/**
|
|
185
192
|
* Track anonymous user for the same site and extend cookie expiration date
|
|
193
|
+
*
|
|
186
194
|
* @category Data Collection
|
|
187
195
|
* @defaultValue true
|
|
188
196
|
*/
|
|
189
197
|
trackAnonymousUser?: boolean | undefined
|
|
190
|
-
|
|
191
|
-
* Encode cookie options in the cookie value. This can be used as a mitigation for microssession issues.
|
|
192
|
-
* ⚠️ This is a beta feature and may be changed or removed in the future.
|
|
193
|
-
*
|
|
194
|
-
* @category Beta
|
|
195
|
-
* @defaultValue false
|
|
196
|
-
*/
|
|
197
|
-
betaEncodeCookieOptions?: boolean | undefined
|
|
198
|
+
|
|
198
199
|
// internal options
|
|
199
200
|
/**
|
|
200
201
|
* [Internal option] Enable experimental features
|
|
202
|
+
*
|
|
201
203
|
* @internal
|
|
202
204
|
*/
|
|
203
205
|
enableExperimentalFeatures?: string[] | undefined
|
|
206
|
+
|
|
204
207
|
/**
|
|
205
208
|
* [Internal option] Configure the dual shipping to another datacenter
|
|
209
|
+
*
|
|
206
210
|
* @internal
|
|
207
211
|
*/
|
|
208
|
-
replica?:
|
|
212
|
+
replica?: ReplicaInitConfiguration | undefined
|
|
213
|
+
|
|
209
214
|
/**
|
|
210
215
|
* [Internal option] Set the datacenter from where the data is dual shipped
|
|
216
|
+
*
|
|
211
217
|
* @internal
|
|
212
218
|
*/
|
|
213
219
|
datacenter?: string
|
|
214
|
-
|
|
215
|
-
* [Internal option] KubeSense internal analytics subdomain
|
|
216
|
-
* @internal
|
|
217
|
-
*/
|
|
218
|
-
// TODO next major: remove this option and replace usages by proxyFn
|
|
219
|
-
internalAnalyticsSubdomain?: string
|
|
220
|
+
|
|
220
221
|
/**
|
|
221
222
|
* [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.
|
|
223
|
+
*
|
|
222
224
|
* @internal
|
|
223
225
|
* @defaultValue 5
|
|
224
226
|
*/
|
|
225
227
|
telemetryConfigurationSampleRate?: number
|
|
228
|
+
|
|
226
229
|
/**
|
|
227
230
|
* [Internal option] The percentage of telemetry usage sent. A value between 0 and 100.
|
|
231
|
+
*
|
|
228
232
|
* @internal
|
|
229
233
|
* @defaultValue 5
|
|
230
234
|
*/
|
|
@@ -238,17 +242,17 @@ export interface InitConfiguration {
|
|
|
238
242
|
source?: 'browser' | 'flutter' | 'unity' | undefined
|
|
239
243
|
|
|
240
244
|
/**
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
+
* [Internal option] Additional configuration for the SDK.
|
|
246
|
+
*
|
|
247
|
+
* @internal
|
|
248
|
+
*/
|
|
245
249
|
sdkVersion?: string | undefined
|
|
246
250
|
|
|
247
251
|
/**
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
+
* [Internal option] Additional configuration for the SDK.
|
|
253
|
+
*
|
|
254
|
+
* @internal
|
|
255
|
+
*/
|
|
252
256
|
variant?: string | undefined
|
|
253
257
|
}
|
|
254
258
|
|
|
@@ -257,130 +261,76 @@ export interface InitConfiguration {
|
|
|
257
261
|
type GenericBeforeSendCallback = (event: any, context?: any) => unknown
|
|
258
262
|
|
|
259
263
|
/**
|
|
260
|
-
*
|
|
261
|
-
* parameters: xxx=yyy&zzz=aaa
|
|
264
|
+
* @internal
|
|
262
265
|
*/
|
|
263
|
-
export
|
|
264
|
-
|
|
265
|
-
export interface ReplicaUserConfiguration {
|
|
266
|
+
export interface ReplicaInitConfiguration {
|
|
266
267
|
applicationId?: string
|
|
267
268
|
clientToken: string
|
|
268
269
|
}
|
|
269
270
|
|
|
270
|
-
export
|
|
271
|
-
// Built from init configuration
|
|
272
|
-
beforeSend: GenericBeforeSendCallback | undefined
|
|
273
|
-
sessionStoreStrategyType: SessionStoreStrategyType | undefined
|
|
274
|
-
sessionSampleRate: number
|
|
275
|
-
telemetrySampleRate: number
|
|
276
|
-
telemetryConfigurationSampleRate: number
|
|
277
|
-
telemetryUsageSampleRate: number
|
|
278
|
-
service: string | undefined
|
|
279
|
-
version?: string | undefined
|
|
280
|
-
env?: string | undefined
|
|
281
|
-
silentMultipleInit: boolean
|
|
282
|
-
allowUntrustedEvents: boolean
|
|
283
|
-
trackingConsent: TrackingConsent
|
|
284
|
-
storeContextsAcrossPages: boolean
|
|
285
|
-
trackAnonymousUser?: boolean
|
|
286
|
-
betaEncodeCookieOptions: boolean
|
|
287
|
-
|
|
288
|
-
// internal
|
|
289
|
-
sdkVersion: string | undefined
|
|
290
|
-
source: 'browser' | 'flutter' | 'unity'
|
|
291
|
-
variant: string | undefined
|
|
292
|
-
}
|
|
271
|
+
export type SdkSource = 'browser' | 'flutter' | 'unity'
|
|
293
272
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
display.error(`${tagName} must be defined as a string`)
|
|
297
|
-
return false
|
|
298
|
-
}
|
|
299
|
-
return true
|
|
300
|
-
}
|
|
273
|
+
export const BROWSER_CORE_SCHEMA = {
|
|
274
|
+
clientToken: { type: 'string', required: true },
|
|
301
275
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
}
|
|
307
|
-
return true
|
|
308
|
-
}
|
|
276
|
+
// Optional tag fields
|
|
277
|
+
service: { type: 'string' },
|
|
278
|
+
env: { type: 'string' },
|
|
279
|
+
version: { type: 'string' },
|
|
309
280
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
281
|
+
// Transport
|
|
282
|
+
kubesenseRumEndpoint: { type: 'site', default: INTAKE_SITE_PROD },
|
|
283
|
+
proxy: {
|
|
284
|
+
type: 'union',
|
|
285
|
+
variants: [{ type: 'string' }, { type: 'function', signature: undefined as ProxyFn | undefined }],
|
|
286
|
+
},
|
|
317
287
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
display.error('Client Token is not configured, we will not send any data.')
|
|
324
|
-
return
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
if (
|
|
328
|
-
initConfiguration.allowedTrackingOrigins !== undefined &&
|
|
329
|
-
!Array.isArray(initConfiguration.allowedTrackingOrigins)
|
|
330
|
-
) {
|
|
331
|
-
display.error('Allowed Tracking Origins must be an array')
|
|
332
|
-
return
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
if (
|
|
336
|
-
// !isKubeSenseSite(initConfiguration.kubesenseRumEndpoint) ||
|
|
337
|
-
!isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||
|
|
338
|
-
!isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||
|
|
339
|
-
!isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||
|
|
340
|
-
!isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||
|
|
341
|
-
!isString(initConfiguration.version, 'Version') ||
|
|
342
|
-
!isString(initConfiguration.env, 'Env') ||
|
|
343
|
-
!isString(initConfiguration.service, 'Service') ||
|
|
344
|
-
!isAllowedTrackingOrigins(initConfiguration, errorStack ?? '')
|
|
345
|
-
) {
|
|
346
|
-
return
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
if (
|
|
350
|
-
initConfiguration.trackingConsent !== undefined &&
|
|
351
|
-
!objectHasValue(TrackingConsent, initConfiguration.trackingConsent)
|
|
352
|
-
) {
|
|
353
|
-
display.error('Tracking Consent should be either "granted" or "not-granted"')
|
|
354
|
-
return
|
|
355
|
-
}
|
|
288
|
+
// Sample rates
|
|
289
|
+
sessionSampleRate: { type: 'percentage', default: 100 },
|
|
290
|
+
telemetrySampleRate: { type: 'percentage', default: 20 },
|
|
291
|
+
telemetryConfigurationSampleRate: { type: 'percentage', default: 5 },
|
|
292
|
+
telemetryUsageSampleRate: { type: 'percentage', default: 5 },
|
|
356
293
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
telemetryUsageSampleRate: initConfiguration.telemetryUsageSampleRate ?? 5,
|
|
365
|
-
service: initConfiguration.service ?? undefined,
|
|
366
|
-
env: initConfiguration.env ?? undefined,
|
|
367
|
-
version: initConfiguration.version ?? undefined,
|
|
368
|
-
datacenter: initConfiguration.datacenter ?? undefined,
|
|
369
|
-
silentMultipleInit: !!initConfiguration.silentMultipleInit,
|
|
370
|
-
allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
|
|
371
|
-
trackingConsent: initConfiguration.trackingConsent ?? TrackingConsent.GRANTED,
|
|
372
|
-
trackAnonymousUser: initConfiguration.trackAnonymousUser ?? true,
|
|
373
|
-
storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
|
|
374
|
-
betaEncodeCookieOptions: !!initConfiguration.betaEncodeCookieOptions,
|
|
375
|
-
/**
|
|
376
|
-
* The source of the SDK, used for support plugins purposes.
|
|
377
|
-
*/
|
|
378
|
-
variant: initConfiguration.variant,
|
|
379
|
-
sdkVersion: initConfiguration.sdkVersion,
|
|
294
|
+
// Booleans
|
|
295
|
+
silentMultipleInit: { type: 'boolean', default: false, strict: false },
|
|
296
|
+
storeContextsAcrossPages: { type: 'boolean', default: false, strict: false },
|
|
297
|
+
trackAnonymousUser: { type: 'boolean', default: true, strict: false },
|
|
298
|
+
useSecureSessionCookie: { type: 'boolean', default: false, strict: false },
|
|
299
|
+
usePartitionedCrossSiteSessionCookie: { type: 'boolean', default: false, strict: false },
|
|
300
|
+
trackSessionAcrossSubdomains: { type: 'boolean', default: false, strict: false },
|
|
380
301
|
|
|
381
|
-
|
|
382
|
-
}
|
|
383
|
-
|
|
302
|
+
// Cookie/extension origin validation
|
|
303
|
+
allowedTrackingOrigins: { type: 'match-option', multiple: true, strict: false },
|
|
304
|
+
|
|
305
|
+
// Privacy
|
|
306
|
+
trackingConsent: { type: 'enum', values: TrackingConsent, default: TrackingConsent.GRANTED },
|
|
307
|
+
|
|
308
|
+
// Callbacks
|
|
309
|
+
beforeSend: { type: 'function', signature: undefined as GenericBeforeSendCallback | undefined },
|
|
310
|
+
|
|
311
|
+
// Passthroughs
|
|
312
|
+
source: { type: 'enum', values: ['browser', 'flutter', 'unity'] as const, default: 'browser', strict: false },
|
|
313
|
+
sessionPersistence: {
|
|
314
|
+
type: 'enum',
|
|
315
|
+
values: ['cookie', 'local-storage', 'memory'] as const,
|
|
316
|
+
multiple: true,
|
|
317
|
+
strict: false,
|
|
318
|
+
},
|
|
319
|
+
replica: {
|
|
320
|
+
type: 'schema',
|
|
321
|
+
schema: {
|
|
322
|
+
clientToken: { type: 'string', required: true },
|
|
323
|
+
applicationId: { type: 'string' },
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
|
|
327
|
+
// Internal
|
|
328
|
+
datacenter: { type: 'string' },
|
|
329
|
+
sdkVersion: { type: 'string' },
|
|
330
|
+
variant: { type: 'string' },
|
|
331
|
+
} as const
|
|
332
|
+
|
|
333
|
+
export type Configuration = InferredConfig<typeof BROWSER_CORE_SCHEMA>
|
|
384
334
|
|
|
385
335
|
export function serializeConfiguration(initConfiguration: InitConfiguration) {
|
|
386
336
|
return {
|
|
@@ -395,13 +345,13 @@ export function serializeConfiguration(initConfiguration: InitConfiguration) {
|
|
|
395
345
|
silent_multiple_init: initConfiguration.silentMultipleInit,
|
|
396
346
|
track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
|
|
397
347
|
track_anonymous_user: initConfiguration.trackAnonymousUser,
|
|
398
|
-
session_persistence: initConfiguration.sessionPersistence
|
|
399
|
-
|
|
348
|
+
session_persistence: Array.isArray(initConfiguration.sessionPersistence)
|
|
349
|
+
? initConfiguration.sessionPersistence[0]
|
|
350
|
+
: initConfiguration.sessionPersistence,
|
|
400
351
|
store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
|
|
401
352
|
allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
|
|
402
353
|
tracking_consent: initConfiguration.trackingConsent,
|
|
403
354
|
use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
|
|
404
|
-
beta_encode_cookie_options: initConfiguration.betaEncodeCookieOptions,
|
|
405
355
|
source: initConfiguration.source,
|
|
406
356
|
sdk_version: initConfiguration.sdkVersion,
|
|
407
357
|
variant: initConfiguration.variant,
|