gitextract_310k3zcl/ ├── .claude/ │ ├── commands/ │ │ └── revise-agents-md.md │ ├── settings.json │ └── skills/ │ └── manual-testing/ │ └── SKILL.md ├── .cursor/ │ └── rules/ │ ├── test-driven-development.mdc │ └── unit-test-best-practices.mdc ├── .env.example ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── support-needed.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── chainguard/ │ │ ├── self.gitlab.pull_request.sts.yaml │ │ ├── self.gitlab.read.sts.yaml │ │ └── self.gitlab.release.sts.yaml │ ├── codeql-config.yml │ ├── dependabot.yml │ └── workflows/ │ ├── changelog-to-confluence.yml │ ├── cla.yml │ ├── codeql-analysis.yml │ ├── deploy-generated-docs.yml │ ├── shadow-review.yml │ └── stale.yml ├── .gitignore ├── .gitlab/ │ ├── deploy-auto.yml │ └── deploy-manual.yml ├── .gitlab-ci.yml ├── .gitmodules ├── .prettierignore ├── .prettierrc.yml ├── .wokeignore ├── .yarn/ │ └── releases/ │ └── yarn-4.13.0.cjs ├── .yarnrc.yml ├── AGENTS.md ├── CHANGELOG.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── Dockerfile ├── LEGAL ├── LICENSE ├── LICENSE-3rdparty.csv ├── NOTICE ├── README.md ├── developer-extension/ │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── background/ │ │ │ ├── devtoolsPanelConnection.ts │ │ │ ├── domain/ │ │ │ │ ├── messageRelay.ts │ │ │ │ └── syncRules.ts │ │ │ ├── index.ts │ │ │ └── monitoring.ts │ │ ├── common/ │ │ │ ├── eventListeners.ts │ │ │ ├── extension.types.ts │ │ │ ├── intakeDomainConstants.ts │ │ │ ├── isDisconnectError.ts │ │ │ ├── logger.ts │ │ │ ├── monitoringConfig.ts │ │ │ ├── packagesUrlConstants.ts │ │ │ ├── panelTabConstants.ts │ │ │ └── sessionKeyConstant.ts │ │ ├── content-scripts/ │ │ │ ├── isolated.ts │ │ │ └── main.ts │ │ ├── devtools/ │ │ │ └── index.ts │ │ ├── entrypoints/ │ │ │ ├── background.ts │ │ │ ├── contentScriptIsolated.ts │ │ │ ├── contentScriptMain.ts │ │ │ ├── devtools.html │ │ │ └── panel.html │ │ └── panel/ │ │ ├── backgroundScriptConnection.ts │ │ ├── components/ │ │ │ ├── alert.tsx │ │ │ ├── app.tsx │ │ │ ├── columns.tsx │ │ │ ├── json.module.css │ │ │ ├── json.tsx │ │ │ ├── lazyCollapse.tsx │ │ │ ├── panel.module.css │ │ │ ├── panel.tsx │ │ │ ├── tabBase.module.css │ │ │ ├── tabBase.tsx │ │ │ └── tabs/ │ │ │ ├── eventsTab/ │ │ │ │ ├── addColumnPopover.module.css │ │ │ │ ├── addColumnPopover.tsx │ │ │ │ ├── columnDrag.module.css │ │ │ │ ├── columnDrag.tsx │ │ │ │ ├── columnUtils.ts │ │ │ │ ├── computeFacetState.spec.ts │ │ │ │ ├── computeFacetState.ts │ │ │ │ ├── copyEvent.spec.ts │ │ │ │ ├── copyEvent.ts │ │ │ │ ├── drag.ts │ │ │ │ ├── eventRow.module.css │ │ │ │ ├── eventRow.tsx │ │ │ │ ├── eventsList.module.css │ │ │ │ ├── eventsList.tsx │ │ │ │ ├── eventsListHeader.module.css │ │ │ │ ├── eventsListHeader.tsx │ │ │ │ ├── eventsTab.tsx │ │ │ │ ├── eventsTabSide.tsx │ │ │ │ ├── eventsTabTop.module.css │ │ │ │ ├── eventsTabTop.tsx │ │ │ │ ├── facetList.module.css │ │ │ │ ├── facetList.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── rowButton.module.css │ │ │ │ └── rowButton.tsx │ │ │ ├── infosTab.tsx │ │ │ ├── replayTab.module.css │ │ │ ├── replayTab.tsx │ │ │ ├── settingsTab.module.css │ │ │ └── settingsTab.tsx │ │ ├── copy.ts │ │ ├── evalInWindow.ts │ │ ├── facets.constants.ts │ │ ├── flushEvents.spec.ts │ │ ├── flushEvents.ts │ │ ├── formatNumber.ts │ │ ├── global.css │ │ ├── hooks/ │ │ │ ├── useAutoFlushEvents.ts │ │ │ ├── useDebugMode.ts │ │ │ ├── useDevServerStatus.ts │ │ │ ├── useEvents/ │ │ │ │ ├── eventCollection.ts │ │ │ │ ├── eventFilters.spec.ts │ │ │ │ ├── eventFilters.ts │ │ │ │ ├── facetRegistry.spec.ts │ │ │ │ ├── facetRegistry.ts │ │ │ │ ├── index.ts │ │ │ │ └── useEvents.ts │ │ │ ├── useNetworkRules.ts │ │ │ ├── useSdkInfos.ts │ │ │ └── useSettings.ts │ │ ├── index.tsx │ │ ├── monitoring.ts │ │ ├── overrides.d.ts │ │ ├── sampler.ts │ │ ├── sdkEvent.ts │ │ ├── sessionReplayPlayer/ │ │ │ ├── sessionReplayPlayer.types.ts │ │ │ └── startSessionReplayPlayer.ts │ │ └── setDebugMode.ts │ ├── tsconfig.json │ └── wxt.config.ts ├── docs/ │ ├── ARCHITECTURE.md │ ├── CONVENTIONS.md │ ├── DEVELOPMENT.md │ ├── README.md │ └── TESTING.md ├── eslint-local-rules/ │ ├── disallowEnumExports.js │ ├── disallowGenericUtils.js │ ├── disallowNonScripts.js │ ├── disallowProtectedDirectoryImport.js │ ├── disallowSideEffects.js │ ├── disallowSpecImport.js │ ├── disallowTestImportExportFromSrc.js │ ├── disallowUrlConstructorPatchValues.js │ ├── disallowZoneJsPatchedValues.js │ ├── enforceProdDepsImports.js │ ├── index.js │ ├── monitorUntilCommentRules.js │ └── secureCommandExecution.js ├── eslint.config.mjs ├── package.json ├── packages/ │ ├── core/ │ │ ├── .yarnrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot/ │ │ │ │ ├── displayAlreadyInitializedError.spec.ts │ │ │ │ ├── displayAlreadyInitializedError.ts │ │ │ │ ├── init.spec.ts │ │ │ │ └── init.ts │ │ │ ├── browser/ │ │ │ │ ├── addEventListener.spec.ts │ │ │ │ ├── addEventListener.ts │ │ │ │ ├── browser.types.ts │ │ │ │ ├── cookie.spec.ts │ │ │ │ ├── cookie.ts │ │ │ │ ├── fetch.spec.ts │ │ │ │ ├── fetch.ts │ │ │ │ ├── fetchObservable.spec.ts │ │ │ │ ├── fetchObservable.ts │ │ │ │ ├── pageMayExitObservable.spec.ts │ │ │ │ ├── pageMayExitObservable.ts │ │ │ │ ├── runOnReadyState.ts │ │ │ │ ├── xhrObservable.spec.ts │ │ │ │ └── xhrObservable.ts │ │ │ ├── domain/ │ │ │ │ ├── allowedTrackingOrigins.spec.ts │ │ │ │ ├── allowedTrackingOrigins.ts │ │ │ │ ├── bufferedData.spec.ts │ │ │ │ ├── bufferedData.ts │ │ │ │ ├── configuration/ │ │ │ │ │ ├── configuration.spec.ts │ │ │ │ │ ├── configuration.ts │ │ │ │ │ ├── endpointBuilder.spec.ts │ │ │ │ │ ├── endpointBuilder.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── transportConfiguration.spec.ts │ │ │ │ │ └── transportConfiguration.ts │ │ │ │ ├── connectivity/ │ │ │ │ │ ├── connectivity.spec.ts │ │ │ │ │ ├── connectivity.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── console/ │ │ │ │ │ ├── consoleObservable.spec.ts │ │ │ │ │ └── consoleObservable.ts │ │ │ │ ├── context/ │ │ │ │ │ ├── contextConstants.ts │ │ │ │ │ ├── contextManager.spec.ts │ │ │ │ │ ├── contextManager.ts │ │ │ │ │ ├── contextUtils.spec.ts │ │ │ │ │ ├── contextUtils.ts │ │ │ │ │ ├── defineContextMethod.ts │ │ │ │ │ ├── storeContextManager.spec.ts │ │ │ │ │ └── storeContextManager.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── accountContext.spec.ts │ │ │ │ │ ├── accountContext.ts │ │ │ │ │ ├── globalContext.spec.ts │ │ │ │ │ ├── globalContext.ts │ │ │ │ │ ├── rumInternalContext.type.ts │ │ │ │ │ ├── tabContext.spec.ts │ │ │ │ │ ├── tabContext.ts │ │ │ │ │ ├── userContext.spec.ts │ │ │ │ │ └── userContext.ts │ │ │ │ ├── deflate/ │ │ │ │ │ ├── deflate.types.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── error/ │ │ │ │ │ ├── error.spec.ts │ │ │ │ │ ├── error.ts │ │ │ │ │ ├── error.types.ts │ │ │ │ │ ├── trackRuntimeError.spec.ts │ │ │ │ │ └── trackRuntimeError.ts │ │ │ │ ├── eventRateLimiter/ │ │ │ │ │ ├── createEventRateLimiter.spec.ts │ │ │ │ │ └── createEventRateLimiter.ts │ │ │ │ ├── extension/ │ │ │ │ │ ├── extensionUtils.spec.ts │ │ │ │ │ └── extensionUtils.ts │ │ │ │ ├── intakeSites.ts │ │ │ │ ├── report/ │ │ │ │ │ ├── browser.types.ts │ │ │ │ │ ├── reportObservable.spec.ts │ │ │ │ │ └── reportObservable.ts │ │ │ │ ├── resourceUtils.ts │ │ │ │ ├── session/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── oldCookiesMigration.spec.ts │ │ │ │ │ ├── oldCookiesMigration.ts │ │ │ │ │ ├── sessionConstants.ts │ │ │ │ │ ├── sessionManager.spec.ts │ │ │ │ │ ├── sessionManager.ts │ │ │ │ │ ├── sessionState.spec.ts │ │ │ │ │ ├── sessionState.ts │ │ │ │ │ ├── sessionStateValidation.ts │ │ │ │ │ ├── sessionStore.spec.ts │ │ │ │ │ ├── sessionStore.ts │ │ │ │ │ ├── sessionStoreOperations.spec.ts │ │ │ │ │ ├── sessionStoreOperations.ts │ │ │ │ │ └── storeStrategies/ │ │ │ │ │ ├── sessionInCookie.spec.ts │ │ │ │ │ ├── sessionInCookie.ts │ │ │ │ │ ├── sessionInLocalStorage.spec.ts │ │ │ │ │ ├── sessionInLocalStorage.ts │ │ │ │ │ ├── sessionInMemory.spec.ts │ │ │ │ │ ├── sessionInMemory.ts │ │ │ │ │ └── sessionStoreStrategy.ts │ │ │ │ ├── synthetics/ │ │ │ │ │ ├── syntheticsWorkerValues.spec.ts │ │ │ │ │ └── syntheticsWorkerValues.ts │ │ │ │ ├── tags.spec.ts │ │ │ │ ├── tags.ts │ │ │ │ ├── telemetry/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── rawTelemetryEvent.types.ts │ │ │ │ │ ├── telemetry.spec.ts │ │ │ │ │ ├── telemetry.ts │ │ │ │ │ └── telemetryEvent.types.ts │ │ │ │ ├── trackingConsent.spec.ts │ │ │ │ └── trackingConsent.ts │ │ │ ├── index.ts │ │ │ ├── tools/ │ │ │ │ ├── abstractHooks.spec.ts │ │ │ │ ├── abstractHooks.ts │ │ │ │ ├── abstractLifeCycle.spec.ts │ │ │ │ ├── abstractLifeCycle.ts │ │ │ │ ├── boundedBuffer.spec.ts │ │ │ │ ├── boundedBuffer.ts │ │ │ │ ├── catchUserErrors.spec.ts │ │ │ │ ├── catchUserErrors.ts │ │ │ │ ├── display.ts │ │ │ │ ├── encoder.spec.ts │ │ │ │ ├── encoder.ts │ │ │ │ ├── experimentalFeatures.spec.ts │ │ │ │ ├── experimentalFeatures.ts │ │ │ │ ├── getZoneJsOriginalValue.spec.ts │ │ │ │ ├── getZoneJsOriginalValue.ts │ │ │ │ ├── globalObject.ts │ │ │ │ ├── instrumentMethod.spec.ts │ │ │ │ ├── instrumentMethod.ts │ │ │ │ ├── matchOption.spec.ts │ │ │ │ ├── matchOption.ts │ │ │ │ ├── mergeInto.spec.ts │ │ │ │ ├── mergeInto.ts │ │ │ │ ├── mockable.ts │ │ │ │ ├── monitor.spec.ts │ │ │ │ ├── monitor.ts │ │ │ │ ├── observable.spec.ts │ │ │ │ ├── observable.ts │ │ │ │ ├── queueMicrotask.spec.ts │ │ │ │ ├── queueMicrotask.ts │ │ │ │ ├── readBytesFromStream.spec.ts │ │ │ │ ├── readBytesFromStream.ts │ │ │ │ ├── requestIdleCallback.spec.ts │ │ │ │ ├── requestIdleCallback.ts │ │ │ │ ├── sendToExtension.ts │ │ │ │ ├── serialisation/ │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── jsonStringify.spec.ts │ │ │ │ │ ├── jsonStringify.ts │ │ │ │ │ ├── sanitize.spec.ts │ │ │ │ │ └── sanitize.ts │ │ │ │ ├── stackTrace/ │ │ │ │ │ ├── capturedExceptions.specHelper.ts │ │ │ │ │ ├── computeStackTrace.spec.ts │ │ │ │ │ ├── computeStackTrace.ts │ │ │ │ │ ├── handlingStack.spec.ts │ │ │ │ │ └── handlingStack.ts │ │ │ │ ├── taskQueue.spec.ts │ │ │ │ ├── taskQueue.ts │ │ │ │ ├── timer.spec.ts │ │ │ │ ├── timer.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── arrayUtils.ts │ │ │ │ │ ├── browserDetection.spec.ts │ │ │ │ │ ├── browserDetection.ts │ │ │ │ │ ├── byteUtils.spec.ts │ │ │ │ │ ├── byteUtils.ts │ │ │ │ │ ├── functionUtils.spec.ts │ │ │ │ │ ├── functionUtils.ts │ │ │ │ │ ├── numberUtils.spec.ts │ │ │ │ │ ├── numberUtils.ts │ │ │ │ │ ├── objectUtils.ts │ │ │ │ │ ├── polyfills.ts │ │ │ │ │ ├── responseUtils.ts │ │ │ │ │ ├── stringUtils.spec.ts │ │ │ │ │ ├── stringUtils.ts │ │ │ │ │ ├── timeUtils.ts │ │ │ │ │ ├── timezone.ts │ │ │ │ │ ├── typeUtils.spec.ts │ │ │ │ │ ├── typeUtils.ts │ │ │ │ │ ├── urlPolyfill.spec.ts │ │ │ │ │ └── urlPolyfill.ts │ │ │ │ ├── valueHistory.spec.ts │ │ │ │ └── valueHistory.ts │ │ │ └── transport/ │ │ │ ├── batch.spec.ts │ │ │ ├── batch.ts │ │ │ ├── eventBridge.spec.ts │ │ │ ├── eventBridge.ts │ │ │ ├── flushController.spec.ts │ │ │ ├── flushController.ts │ │ │ ├── httpRequest.spec.ts │ │ │ ├── httpRequest.ts │ │ │ ├── index.ts │ │ │ ├── sendWithRetryStrategy.spec.ts │ │ │ └── sendWithRetryStrategy.ts │ │ └── test/ │ │ ├── browserChecks.ts │ │ ├── browserExtension.ts │ │ ├── buildEnv.ts │ │ ├── collectAsyncCalls.ts │ │ ├── consoleLog.ts │ │ ├── cookie.ts │ │ ├── coreConfiguration.ts │ │ ├── createHooks.ts │ │ ├── disableJasmineUncaughtExceptionTracking.ts │ │ ├── emulate/ │ │ │ ├── buildLocation.ts │ │ │ ├── createNewEvent.ts │ │ │ ├── mockClock.ts │ │ │ ├── mockEventBridge.ts │ │ │ ├── mockEventTarget.ts │ │ │ ├── mockFetch.ts │ │ │ ├── mockFlushController.ts │ │ │ ├── mockNavigator.ts │ │ │ ├── mockReportingObserver.ts │ │ │ ├── mockRequestIdleCallback.ts │ │ │ ├── mockSyntheticsWorkerValues.ts │ │ │ ├── mockTelemetry.ts │ │ │ ├── mockVisibilityState.ts │ │ │ ├── mockXhr.ts │ │ │ └── mockZoneJs.ts │ │ ├── fakeSessionStoreStrategy.ts │ │ ├── forEach.spec.ts │ │ ├── getCurrentJasmineSpec.ts │ │ ├── index.ts │ │ ├── instrumentation.ts │ │ ├── interceptRequests.ts │ │ ├── leakDetection.ts │ │ ├── mockGlobalContext.ts │ │ ├── readFormData.ts │ │ ├── registerCleanupTask.ts │ │ ├── replaceMockable.ts │ │ ├── typeUtils.ts │ │ └── wait.ts │ ├── logs/ │ │ ├── .yarnrc │ │ ├── BROWSER_SUPPORT.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot/ │ │ │ │ ├── logsPublicApi.spec.ts │ │ │ │ ├── logsPublicApi.ts │ │ │ │ ├── preStartLogs.spec.ts │ │ │ │ ├── preStartLogs.ts │ │ │ │ ├── startLogs.spec.ts │ │ │ │ └── startLogs.ts │ │ │ ├── domain/ │ │ │ │ ├── assembly.spec.ts │ │ │ │ ├── assembly.ts │ │ │ │ ├── configuration.spec.ts │ │ │ │ ├── configuration.ts │ │ │ │ ├── console/ │ │ │ │ │ ├── consoleCollection.spec.ts │ │ │ │ │ └── consoleCollection.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── commonContext.ts │ │ │ │ │ ├── internalContext.spec.ts │ │ │ │ │ ├── internalContext.ts │ │ │ │ │ ├── rumInternalContext.spec.ts │ │ │ │ │ ├── rumInternalContext.ts │ │ │ │ │ ├── sessionContext.spec.ts │ │ │ │ │ ├── sessionContext.ts │ │ │ │ │ ├── trackingConsentContext.spec.ts │ │ │ │ │ └── trackingConsentContext.ts │ │ │ │ ├── createErrorFieldFromRawError.spec.ts │ │ │ │ ├── createErrorFieldFromRawError.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── lifeCycle.ts │ │ │ │ ├── logger/ │ │ │ │ │ ├── isAuthorized.ts │ │ │ │ │ ├── loggerCollection.spec.ts │ │ │ │ │ └── loggerCollection.ts │ │ │ │ ├── logger.spec.ts │ │ │ │ ├── logger.ts │ │ │ │ ├── logsSessionManager.spec.ts │ │ │ │ ├── logsSessionManager.ts │ │ │ │ ├── networkError/ │ │ │ │ │ ├── networkErrorCollection.spec.ts │ │ │ │ │ └── networkErrorCollection.ts │ │ │ │ ├── report/ │ │ │ │ │ ├── reportCollection.spec.ts │ │ │ │ │ └── reportCollection.ts │ │ │ │ ├── reportError.ts │ │ │ │ └── runtimeError/ │ │ │ │ ├── runtimeErrorCollection.spec.ts │ │ │ │ └── runtimeErrorCollection.ts │ │ │ ├── domainContext.types.ts │ │ │ ├── entries/ │ │ │ │ └── main.ts │ │ │ ├── logsEvent.types.ts │ │ │ ├── rawLogsEvent.types.ts │ │ │ └── transport/ │ │ │ ├── startLogsBatch.ts │ │ │ └── startLogsBridge.ts │ │ ├── test/ │ │ │ └── mockLogsSessionManager.ts │ │ └── typedoc.json │ ├── rum/ │ │ ├── .yarnrc │ │ ├── BROWSER_SUPPORT.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── internal/ │ │ │ └── package.json │ │ ├── internal-synthetics/ │ │ │ └── package.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot/ │ │ │ │ ├── isBrowserSupported.ts │ │ │ │ ├── lazyLoadProfiler.ts │ │ │ │ ├── lazyLoadRecorder.spec.ts │ │ │ │ ├── lazyLoadRecorder.ts │ │ │ │ ├── postStartStrategy.ts │ │ │ │ ├── preStartStrategy.ts │ │ │ │ ├── profilerApi.ts │ │ │ │ ├── recorderApi.spec.ts │ │ │ │ ├── recorderApi.ts │ │ │ │ ├── startRecording.spec.ts │ │ │ │ └── startRecording.ts │ │ │ ├── domain/ │ │ │ │ ├── deflate/ │ │ │ │ │ ├── deflateEncoder.spec.ts │ │ │ │ │ ├── deflateEncoder.ts │ │ │ │ │ ├── deflateWorker.spec.ts │ │ │ │ │ ├── deflateWorker.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── getSessionReplayLink.spec.ts │ │ │ │ ├── getSessionReplayLink.ts │ │ │ │ ├── profiling/ │ │ │ │ │ ├── actionHistory.spec.ts │ │ │ │ │ ├── actionHistory.ts │ │ │ │ │ ├── longTaskHistory.spec.ts │ │ │ │ │ ├── longTaskHistory.ts │ │ │ │ │ ├── profiler.spec.ts │ │ │ │ │ ├── profiler.ts │ │ │ │ │ ├── profilingContext.spec.ts │ │ │ │ │ ├── profilingContext.ts │ │ │ │ │ ├── profilingSupported.ts │ │ │ │ │ ├── test-utils/ │ │ │ │ │ │ └── mockedTrace.ts │ │ │ │ │ ├── transport/ │ │ │ │ │ │ ├── assembly.ts │ │ │ │ │ │ ├── buildProfileEventAttributes.spec.ts │ │ │ │ │ │ └── buildProfileEventAttributes.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── profilerApi.types.ts │ │ │ │ │ │ └── rumProfiler.types.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── getCustomOrDefaultViewName.spec.ts │ │ │ │ │ │ ├── getCustomOrDefaultViewName.ts │ │ │ │ │ │ ├── getDefaultViewName.spec.ts │ │ │ │ │ │ ├── getDefaultViewName.ts │ │ │ │ │ │ ├── getNumberOfSamples.spec.ts │ │ │ │ │ │ └── getNumberOfSamples.ts │ │ │ │ │ ├── vitalHistory.spec.ts │ │ │ │ │ └── vitalHistory.ts │ │ │ │ ├── record/ │ │ │ │ │ ├── assembly.ts │ │ │ │ │ ├── elementsScrollPositions.ts │ │ │ │ │ ├── eventsUtils.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── internalApi.spec.ts │ │ │ │ │ ├── internalApi.ts │ │ │ │ │ ├── itemIds.spec.ts │ │ │ │ │ ├── itemIds.ts │ │ │ │ │ ├── mutationBatch.spec.ts │ │ │ │ │ ├── mutationBatch.ts │ │ │ │ │ ├── record.spec.ts │ │ │ │ │ ├── record.ts │ │ │ │ │ ├── record.types.ts │ │ │ │ │ ├── recordingScope.ts │ │ │ │ │ ├── serialization/ │ │ │ │ │ │ ├── changeEncoder.spec.ts │ │ │ │ │ │ ├── changeEncoder.ts │ │ │ │ │ │ ├── conversions/ │ │ │ │ │ │ │ ├── changeConverter.ts │ │ │ │ │ │ │ ├── changeDecoder.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── mutationLog.ts │ │ │ │ │ │ │ ├── nodeIdRemapper.ts │ │ │ │ │ │ │ ├── renderOptions.ts │ │ │ │ │ │ │ ├── stringTable.ts │ │ │ │ │ │ │ ├── vDocument.spec.ts │ │ │ │ │ │ │ ├── vDocument.ts │ │ │ │ │ │ │ ├── vDom.specHelper.ts │ │ │ │ │ │ │ ├── vNode.spec.ts │ │ │ │ │ │ │ ├── vNode.ts │ │ │ │ │ │ │ ├── vStyleSheet.spec.ts │ │ │ │ │ │ │ └── vStyleSheet.ts │ │ │ │ │ │ ├── experimentalFeatures.ts │ │ │ │ │ │ ├── htmlAst.specHelper.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── insertionCursor.spec.ts │ │ │ │ │ │ ├── insertionCursor.ts │ │ │ │ │ │ ├── serialization.types.ts │ │ │ │ │ │ ├── serializationStats.spec.ts │ │ │ │ │ │ ├── serializationStats.ts │ │ │ │ │ │ ├── serializationTransaction.ts │ │ │ │ │ │ ├── serializationUtils.spec.ts │ │ │ │ │ │ ├── serializationUtils.ts │ │ │ │ │ │ ├── serializeAttribute.spec.ts │ │ │ │ │ │ ├── serializeAttribute.ts │ │ │ │ │ │ ├── serializeAttributes.spec.ts │ │ │ │ │ │ ├── serializeAttributes.ts │ │ │ │ │ │ ├── serializeFullSnapshot.ts │ │ │ │ │ │ ├── serializeFullSnapshotAsChange.ts │ │ │ │ │ │ ├── serializeHtml.specHelper.ts │ │ │ │ │ │ ├── serializeMutations.spec.ts │ │ │ │ │ │ ├── serializeMutations.ts │ │ │ │ │ │ ├── serializeMutationsAsChange.ts │ │ │ │ │ │ ├── serializeNode.spec.ts │ │ │ │ │ │ ├── serializeNode.ts │ │ │ │ │ │ ├── serializeNodeAsChange.form.spec.ts │ │ │ │ │ │ ├── serializeNodeAsChange.node.spec.ts │ │ │ │ │ │ ├── serializeNodeAsChange.snapshot.spec.ts │ │ │ │ │ │ ├── serializeNodeAsChange.stylesheet.spec.ts │ │ │ │ │ │ ├── serializeNodeAsChange.ts │ │ │ │ │ │ ├── serializeStyleSheets.spec.ts │ │ │ │ │ │ └── serializeStyleSheets.ts │ │ │ │ │ ├── serializationVerifier.ts │ │ │ │ │ ├── shadowRootsController.ts │ │ │ │ │ ├── startFullSnapshots.spec.ts │ │ │ │ │ ├── startFullSnapshots.ts │ │ │ │ │ ├── test/ │ │ │ │ │ │ ├── recordingScope.specHelper.ts │ │ │ │ │ │ ├── rumConfiguration.specHelper.ts │ │ │ │ │ │ ├── serialization.specHelper.ts │ │ │ │ │ │ └── shadowRootsController.specHelper.ts │ │ │ │ │ ├── trackers/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── trackFocus.spec.ts │ │ │ │ │ │ ├── trackFocus.ts │ │ │ │ │ │ ├── trackInput.spec.ts │ │ │ │ │ │ ├── trackInput.ts │ │ │ │ │ │ ├── trackMediaInteraction.spec.ts │ │ │ │ │ │ ├── trackMediaInteraction.ts │ │ │ │ │ │ ├── trackMouseInteraction.spec.ts │ │ │ │ │ │ ├── trackMouseInteraction.ts │ │ │ │ │ │ ├── trackMove.spec.ts │ │ │ │ │ │ ├── trackMove.ts │ │ │ │ │ │ ├── trackMutation.spec.ts │ │ │ │ │ │ ├── trackMutation.ts │ │ │ │ │ │ ├── trackScroll.spec.ts │ │ │ │ │ │ ├── trackScroll.ts │ │ │ │ │ │ ├── trackStyleSheet.spec.ts │ │ │ │ │ │ ├── trackStyleSheet.ts │ │ │ │ │ │ ├── trackViewEnd.spec.ts │ │ │ │ │ │ ├── trackViewEnd.ts │ │ │ │ │ │ ├── trackViewportResize.spec.ts │ │ │ │ │ │ ├── trackViewportResize.ts │ │ │ │ │ │ └── tracker.types.ts │ │ │ │ │ └── viewports.ts │ │ │ │ ├── replayStats.spec.ts │ │ │ │ ├── replayStats.ts │ │ │ │ ├── scriptLoadingError.ts │ │ │ │ ├── segmentCollection/ │ │ │ │ │ ├── buildReplayPayload.spec.ts │ │ │ │ │ ├── buildReplayPayload.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── segment.spec.ts │ │ │ │ │ ├── segment.ts │ │ │ │ │ ├── segmentCollection.spec.ts │ │ │ │ │ ├── segmentCollection.ts │ │ │ │ │ ├── startSegmentTelemetry.spec.ts │ │ │ │ │ └── startSegmentTelemetry.ts │ │ │ │ ├── startRecordBridge.ts │ │ │ │ ├── startRecorderInitTelemetry.spec.ts │ │ │ │ └── startRecorderInitTelemetry.ts │ │ │ ├── entries/ │ │ │ │ ├── internal.ts │ │ │ │ ├── internalSynthetics.ts │ │ │ │ └── main.ts │ │ │ └── types/ │ │ │ ├── index.ts │ │ │ ├── profiling.ts │ │ │ ├── sessionReplay.ts │ │ │ └── sessionReplayConstants.ts │ │ ├── test/ │ │ │ ├── index.ts │ │ │ ├── mockProfiler.ts │ │ │ ├── mockWorker.ts │ │ │ ├── record/ │ │ │ │ ├── changes.ts │ │ │ │ ├── elements.ts │ │ │ │ ├── index.ts │ │ │ │ ├── mutationPayloadValidator.ts │ │ │ │ ├── nodes.ts │ │ │ │ ├── readReplayPayload.ts │ │ │ │ ├── recordsPerFullSnapshot.ts │ │ │ │ ├── segments.ts │ │ │ │ └── toto.css │ │ │ └── rumFrustrationEvent.ts │ │ └── typedoc.json │ ├── rum-angular/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── domain/ │ │ │ │ ├── angularPlugin.spec.ts │ │ │ │ ├── angularPlugin.ts │ │ │ │ ├── angularRouter/ │ │ │ │ │ ├── provideDatadogRouter.ts │ │ │ │ │ ├── startAngularView.spec.ts │ │ │ │ │ ├── startAngularView.ts │ │ │ │ │ └── types.ts │ │ │ │ └── error/ │ │ │ │ ├── addAngularError.spec.ts │ │ │ │ ├── addAngularError.ts │ │ │ │ ├── index.ts │ │ │ │ ├── provideDatadogErrorHandler.spec.ts │ │ │ │ └── provideDatadogErrorHandler.ts │ │ │ └── entries/ │ │ │ └── main.ts │ │ ├── test/ │ │ │ └── initializeAngularPlugin.ts │ │ └── tsconfig.json │ ├── rum-core/ │ │ ├── .yarnrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot/ │ │ │ │ ├── preStartRum.spec.ts │ │ │ │ ├── preStartRum.ts │ │ │ │ ├── rumPublicApi.spec.ts │ │ │ │ ├── rumPublicApi.ts │ │ │ │ ├── startRum.spec.ts │ │ │ │ └── startRum.ts │ │ │ ├── browser/ │ │ │ │ ├── cookieObservable.spec.ts │ │ │ │ ├── cookieObservable.ts │ │ │ │ ├── domMutationObservable.spec.ts │ │ │ │ ├── domMutationObservable.ts │ │ │ │ ├── firstInputPolyfill.ts │ │ │ │ ├── htmlDomUtils.spec.ts │ │ │ │ ├── htmlDomUtils.ts │ │ │ │ ├── locationChangeObservable.spec.ts │ │ │ │ ├── locationChangeObservable.ts │ │ │ │ ├── performanceObservable.spec.ts │ │ │ │ ├── performanceObservable.ts │ │ │ │ ├── performanceUtils.spec.ts │ │ │ │ ├── performanceUtils.ts │ │ │ │ ├── scroll.spec.ts │ │ │ │ ├── scroll.ts │ │ │ │ ├── viewportObservable.spec.ts │ │ │ │ ├── viewportObservable.ts │ │ │ │ ├── windowOpenObservable.spec.ts │ │ │ │ └── windowOpenObservable.ts │ │ │ ├── domain/ │ │ │ │ ├── action/ │ │ │ │ │ ├── actionCollection.spec.ts │ │ │ │ │ ├── actionCollection.ts │ │ │ │ │ ├── actionNameConstants.ts │ │ │ │ │ ├── clickChain.spec.ts │ │ │ │ │ ├── clickChain.ts │ │ │ │ │ ├── computeFrustration.spec.ts │ │ │ │ │ ├── computeFrustration.ts │ │ │ │ │ ├── getActionNameFromElement.spec.ts │ │ │ │ │ ├── getActionNameFromElement.ts │ │ │ │ │ ├── interactionSelectorCache.spec.ts │ │ │ │ │ ├── interactionSelectorCache.ts │ │ │ │ │ ├── isActionChildEvent.ts │ │ │ │ │ ├── listenActionEvents.spec.ts │ │ │ │ │ ├── listenActionEvents.ts │ │ │ │ │ ├── trackClickActions.spec.ts │ │ │ │ │ ├── trackClickActions.ts │ │ │ │ │ ├── trackManualActions.spec.ts │ │ │ │ │ └── trackManualActions.ts │ │ │ │ ├── assembly.spec.ts │ │ │ │ ├── assembly.ts │ │ │ │ ├── configuration/ │ │ │ │ │ ├── configuration.spec.ts │ │ │ │ │ ├── configuration.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── jsonPathParser.spec.ts │ │ │ │ │ ├── jsonPathParser.ts │ │ │ │ │ ├── remoteConfiguration.spec.ts │ │ │ │ │ ├── remoteConfiguration.ts │ │ │ │ │ └── remoteConfiguration.types.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── ciVisibilityContext.spec.ts │ │ │ │ │ ├── ciVisibilityContext.ts │ │ │ │ │ ├── connectivityContext.spec.ts │ │ │ │ │ ├── connectivityContext.ts │ │ │ │ │ ├── defaultContext.spec.ts │ │ │ │ │ ├── defaultContext.ts │ │ │ │ │ ├── displayContext.spec.ts │ │ │ │ │ ├── displayContext.ts │ │ │ │ │ ├── featureFlagContext.spec.ts │ │ │ │ │ ├── featureFlagContext.ts │ │ │ │ │ ├── internalContext.spec.ts │ │ │ │ │ ├── internalContext.ts │ │ │ │ │ ├── pageStateHistory.spec.ts │ │ │ │ │ ├── pageStateHistory.ts │ │ │ │ │ ├── sessionContext.spec.ts │ │ │ │ │ ├── sessionContext.ts │ │ │ │ │ ├── sourceCodeContext.spec.ts │ │ │ │ │ ├── sourceCodeContext.ts │ │ │ │ │ ├── syntheticsContext.spec.ts │ │ │ │ │ ├── syntheticsContext.ts │ │ │ │ │ ├── trackingConsentContext.spec.ts │ │ │ │ │ ├── trackingConsentContext.ts │ │ │ │ │ ├── urlContexts.spec.ts │ │ │ │ │ ├── urlContexts.ts │ │ │ │ │ ├── viewHistory.spec.ts │ │ │ │ │ └── viewHistory.ts │ │ │ │ ├── discardNegativeDuration.ts │ │ │ │ ├── error/ │ │ │ │ │ ├── errorCollection.spec.ts │ │ │ │ │ ├── errorCollection.ts │ │ │ │ │ ├── trackConsoleError.spec.ts │ │ │ │ │ ├── trackConsoleError.ts │ │ │ │ │ ├── trackReportError.spec.ts │ │ │ │ │ └── trackReportError.ts │ │ │ │ ├── event/ │ │ │ │ │ ├── eventCollection.spec.ts │ │ │ │ │ └── eventCollection.ts │ │ │ │ ├── eventTracker.spec.ts │ │ │ │ ├── eventTracker.ts │ │ │ │ ├── extractRegexMatch.ts │ │ │ │ ├── getComposedPathSelector.spec.ts │ │ │ │ ├── getComposedPathSelector.ts │ │ │ │ ├── getSelectorFromElement.spec.ts │ │ │ │ ├── getSelectorFromElement.ts │ │ │ │ ├── getSessionReplayUrl.spec.ts │ │ │ │ ├── getSessionReplayUrl.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── lifeCycle.ts │ │ │ │ ├── limitModification.spec.ts │ │ │ │ ├── limitModification.ts │ │ │ │ ├── longTask/ │ │ │ │ │ ├── longTaskCollection.spec.ts │ │ │ │ │ └── longTaskCollection.ts │ │ │ │ ├── plugins.spec.ts │ │ │ │ ├── plugins.ts │ │ │ │ ├── privacy.spec.ts │ │ │ │ ├── privacy.ts │ │ │ │ ├── privacyConstants.ts │ │ │ │ ├── requestCollection.spec.ts │ │ │ │ ├── requestCollection.ts │ │ │ │ ├── resource/ │ │ │ │ │ ├── graphql.spec.ts │ │ │ │ │ ├── graphql.ts │ │ │ │ │ ├── matchRequestResourceEntry.spec.ts │ │ │ │ │ ├── matchRequestResourceEntry.ts │ │ │ │ │ ├── requestRegistry.spec.ts │ │ │ │ │ ├── requestRegistry.ts │ │ │ │ │ ├── resourceCollection.spec.ts │ │ │ │ │ ├── resourceCollection.ts │ │ │ │ │ ├── resourceUtils.spec.ts │ │ │ │ │ ├── resourceUtils.ts │ │ │ │ │ ├── retrieveInitialDocumentResourceTiming.spec.ts │ │ │ │ │ ├── retrieveInitialDocumentResourceTiming.ts │ │ │ │ │ ├── trackManualResources.spec.ts │ │ │ │ │ └── trackManualResources.ts │ │ │ │ ├── rumSessionManager.spec.ts │ │ │ │ ├── rumSessionManager.ts │ │ │ │ ├── sampler/ │ │ │ │ │ ├── sampler.spec.ts │ │ │ │ │ └── sampler.ts │ │ │ │ ├── startCustomerDataTelemetry.spec.ts │ │ │ │ ├── startCustomerDataTelemetry.ts │ │ │ │ ├── tracing/ │ │ │ │ │ ├── getDocumentTraceId.spec.ts │ │ │ │ │ ├── getDocumentTraceId.ts │ │ │ │ │ ├── identifier.spec.ts │ │ │ │ │ ├── identifier.ts │ │ │ │ │ ├── tracer.spec.ts │ │ │ │ │ ├── tracer.ts │ │ │ │ │ └── tracer.types.ts │ │ │ │ ├── trackEventCounts.spec.ts │ │ │ │ ├── trackEventCounts.ts │ │ │ │ ├── view/ │ │ │ │ │ ├── bfCacheSupport.spec.ts │ │ │ │ │ ├── bfCacheSupport.ts │ │ │ │ │ ├── setupViewTest.specHelper.ts │ │ │ │ │ ├── trackViewEventCounts.spec.ts │ │ │ │ │ ├── trackViewEventCounts.ts │ │ │ │ │ ├── trackViews.spec.ts │ │ │ │ │ ├── trackViews.ts │ │ │ │ │ ├── viewCollection.spec.ts │ │ │ │ │ ├── viewCollection.ts │ │ │ │ │ └── viewMetrics/ │ │ │ │ │ ├── getClsAttributionImpactedArea.spec.ts │ │ │ │ │ ├── getClsAttributionImpactedArea.ts │ │ │ │ │ ├── interactionCountPolyfill.ts │ │ │ │ │ ├── startInitialViewMetricsTelemetry.spec.ts │ │ │ │ │ ├── startInitialViewMetricsTelemetry.ts │ │ │ │ │ ├── trackBfcacheMetrics.spec.ts │ │ │ │ │ ├── trackBfcacheMetrics.ts │ │ │ │ │ ├── trackCommonViewMetrics.spec.ts │ │ │ │ │ ├── trackCommonViewMetrics.ts │ │ │ │ │ ├── trackCumulativeLayoutShift.spec.ts │ │ │ │ │ ├── trackCumulativeLayoutShift.ts │ │ │ │ │ ├── trackFirstContentfulPaint.spec.ts │ │ │ │ │ ├── trackFirstContentfulPaint.ts │ │ │ │ │ ├── trackFirstHidden.spec.ts │ │ │ │ │ ├── trackFirstHidden.ts │ │ │ │ │ ├── trackFirstInput.spec.ts │ │ │ │ │ ├── trackFirstInput.ts │ │ │ │ │ ├── trackInitialViewMetrics.spec.ts │ │ │ │ │ ├── trackInitialViewMetrics.ts │ │ │ │ │ ├── trackInteractionToNextPaint.spec.ts │ │ │ │ │ ├── trackInteractionToNextPaint.ts │ │ │ │ │ ├── trackLargestContentfulPaint.spec.ts │ │ │ │ │ ├── trackLargestContentfulPaint.ts │ │ │ │ │ ├── trackLoadingTime.spec.ts │ │ │ │ │ ├── trackLoadingTime.ts │ │ │ │ │ ├── trackNavigationTimings.spec.ts │ │ │ │ │ ├── trackNavigationTimings.ts │ │ │ │ │ ├── trackScrollMetrics.spec.ts │ │ │ │ │ └── trackScrollMetrics.ts │ │ │ │ ├── vital/ │ │ │ │ │ ├── vitalCollection.spec.ts │ │ │ │ │ └── vitalCollection.ts │ │ │ │ ├── waitPageActivityEnd.spec.ts │ │ │ │ └── waitPageActivityEnd.ts │ │ │ ├── domainContext.types.ts │ │ │ ├── index.ts │ │ │ ├── rawRumEvent.types.ts │ │ │ ├── rumEvent.types.ts │ │ │ └── transport/ │ │ │ ├── formDataTransport.spec.ts │ │ │ ├── formDataTransport.ts │ │ │ ├── startRumBatch.ts │ │ │ └── startRumEventBridge.ts │ │ └── test/ │ │ ├── allJsonSchemas.d.ts │ │ ├── allJsonSchemas.js │ │ ├── createFakeClick.ts │ │ ├── dom.ts │ │ ├── emulate/ │ │ │ ├── mockDocumentReadyState.ts │ │ │ ├── mockGlobalPerformanceBuffer.ts │ │ │ └── mockPerformanceObserver.ts │ │ ├── fixtures.ts │ │ ├── formatValidation.ts │ │ ├── index.ts │ │ ├── locationChangeSetup.ts │ │ ├── mockCiVisibilityValues.ts │ │ ├── mockContexts.ts │ │ ├── mockPageStateHistory.ts │ │ ├── mockRumConfiguration.ts │ │ ├── mockRumSessionManager.ts │ │ ├── noopProfilerApi.ts │ │ └── noopRecorderApi.ts │ ├── rum-nextjs/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── domain/ │ │ │ │ ├── error/ │ │ │ │ │ ├── addNextjsError.spec.ts │ │ │ │ │ ├── addNextjsError.ts │ │ │ │ │ ├── errorBoundary.spec.tsx │ │ │ │ │ └── errorBoundary.ts │ │ │ │ ├── nextJSRouter/ │ │ │ │ │ ├── computeViewNameFromParams.spec.ts │ │ │ │ │ ├── computeViewNameFromParams.ts │ │ │ │ │ ├── datadogAppRouter.tsx │ │ │ │ │ └── datadogPagesRouter.tsx │ │ │ │ ├── nextjsPlugin.spec.ts │ │ │ │ └── nextjsPlugin.ts │ │ │ └── entries/ │ │ │ └── main.ts │ │ ├── test/ │ │ │ └── initializeNextjsPlugin.ts │ │ └── tsconfig.json │ ├── rum-nuxt/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── domain/ │ │ │ │ ├── nuxtPlugin.spec.ts │ │ │ │ ├── nuxtPlugin.ts │ │ │ │ └── router/ │ │ │ │ ├── nuxtRouter.spec.ts │ │ │ │ └── nuxtRouter.ts │ │ │ └── entries/ │ │ │ └── main.ts │ │ └── test/ │ │ └── initializeNuxtPlugin.ts │ ├── rum-react/ │ │ ├── .yarnrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── internal/ │ │ │ └── package.json │ │ ├── package.json │ │ ├── react-router-v6/ │ │ │ ├── package.json │ │ │ └── typedoc.json │ │ ├── react-router-v7/ │ │ │ ├── package.json │ │ │ └── typedoc.json │ │ ├── src/ │ │ │ ├── domain/ │ │ │ │ ├── error/ │ │ │ │ │ ├── addReactError.spec.ts │ │ │ │ │ ├── addReactError.ts │ │ │ │ │ ├── createErrorBoundary.spec.tsx │ │ │ │ │ ├── errorBoundary.spec.tsx │ │ │ │ │ ├── errorBoundary.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── performance/ │ │ │ │ │ ├── addDurationVital.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── reactComponentTracker.spec.tsx │ │ │ │ │ ├── reactComponentTracker.tsx │ │ │ │ │ ├── timer.spec.ts │ │ │ │ │ └── timer.ts │ │ │ │ ├── reactPlugin.spec.ts │ │ │ │ ├── reactPlugin.ts │ │ │ │ ├── reactRouter/ │ │ │ │ │ ├── createRouter.spec.ts │ │ │ │ │ ├── createRouter.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── reactRouter.specHelper.ts │ │ │ │ │ ├── routesComponent.spec.tsx │ │ │ │ │ ├── routesComponent.ts │ │ │ │ │ ├── startReactRouterView.spec.ts │ │ │ │ │ ├── startReactRouterView.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── useRoutes.spec.tsx │ │ │ │ │ └── useRoutes.ts │ │ │ │ └── tanstackRouter/ │ │ │ │ ├── startTanStackRouterView.spec.ts │ │ │ │ ├── startTanStackRouterView.ts │ │ │ │ ├── types.ts │ │ │ │ ├── wrapCreateRouter.spec.ts │ │ │ │ └── wrapCreateRouter.ts │ │ │ └── entries/ │ │ │ ├── internal.ts │ │ │ ├── main.ts │ │ │ ├── reactRouterV6.ts │ │ │ ├── reactRouterV7.ts │ │ │ └── tanstackRouter.ts │ │ ├── tanstack-router/ │ │ │ └── package.json │ │ ├── test/ │ │ │ ├── appendComponent.ts │ │ │ ├── initializeReactPlugin.ts │ │ │ └── reactOldBrowsersSupport.ts │ │ └── typedoc.json │ ├── rum-slim/ │ │ ├── .yarnrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot/ │ │ │ │ ├── stubProfilerApi.ts │ │ │ │ └── stubRecorderApi.ts │ │ │ ├── domain/ │ │ │ │ ├── getSessionReplayLink.spec.ts │ │ │ │ └── getSessionReplayLink.ts │ │ │ └── entries/ │ │ │ └── main.ts │ │ └── typedoc.json │ ├── rum-vue/ │ │ ├── .yarnrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── domain/ │ │ │ │ ├── error/ │ │ │ │ │ ├── addVueError.spec.ts │ │ │ │ │ └── addVueError.ts │ │ │ │ ├── router/ │ │ │ │ │ ├── startVueRouterView.spec.ts │ │ │ │ │ ├── startVueRouterView.ts │ │ │ │ │ ├── vueRouter.spec.ts │ │ │ │ │ └── vueRouter.ts │ │ │ │ ├── vuePlugin.spec.ts │ │ │ │ └── vuePlugin.ts │ │ │ └── entries/ │ │ │ ├── main.ts │ │ │ └── vueRouter.ts │ │ ├── test/ │ │ │ └── initializeVuePlugin.ts │ │ ├── typedoc.json │ │ └── vue-router-v4/ │ │ ├── package.json │ │ └── typedoc.json │ └── worker/ │ ├── .yarnrc │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── boot/ │ │ │ ├── startWorker.spec.ts │ │ │ └── startWorker.ts │ │ ├── domain/ │ │ │ ├── deflate.d.ts │ │ │ └── deflate.js │ │ └── entries/ │ │ └── main.ts │ └── tsconfig.json ├── remote-configuration/ │ ├── README.md │ └── rum-sdk-config.json ├── renovate.json ├── repository.datadog.yml ├── scripts/ │ ├── AGENTS.md │ ├── CLAUDE.md │ ├── build/ │ │ ├── build-package.ts │ │ └── build-test-apps.ts │ ├── check-licenses.ts │ ├── check-node-version.ts │ ├── check-packages.ts │ ├── check-schemas.ts │ ├── check-typescript-compatibility.ts │ ├── cli │ ├── deploy/ │ │ ├── deploy-prod-dc.spec.ts │ │ ├── deploy-prod-dc.ts │ │ ├── deploy.spec.ts │ │ ├── deploy.ts │ │ ├── lib/ │ │ │ ├── checkTelemetryErrors.spec.ts │ │ │ ├── checkTelemetryErrors.ts │ │ │ ├── deploymentUtils.ts │ │ │ └── testHelpers.ts │ │ ├── publish-developer-extension.ts │ │ ├── publish-npm.ts │ │ ├── upload-source-maps.spec.ts │ │ └── upload-source-maps.ts │ ├── dev-server/ │ │ ├── index.ts │ │ └── lib/ │ │ ├── commands/ │ │ │ ├── intake.ts │ │ │ ├── logs.ts │ │ │ ├── start.ts │ │ │ ├── status.ts │ │ │ └── stop.ts │ │ ├── daemon.ts │ │ ├── server.ts │ │ └── state.ts │ ├── generate-schema-types.ts │ ├── lib/ │ │ ├── browserSdkVersion.ts │ │ ├── bsUtils.ts │ │ ├── buildEnv.ts │ │ ├── checkBrowserSdkPackageJsonFiles.ts │ │ ├── command.spec.ts │ │ ├── command.ts │ │ ├── computeBundleSize.ts │ │ ├── datacenter.spec.ts │ │ ├── datacenter.ts │ │ ├── executionUtils.spec.ts │ │ ├── executionUtils.ts │ │ ├── filesUtils.ts │ │ ├── generatedSchemaTypes.ts │ │ ├── gitUtils.ts │ │ ├── global.d.ts │ │ ├── packagesDirectoryNames.ts │ │ └── secrets.ts │ ├── performance/ │ │ ├── index.ts │ │ └── lib/ │ │ ├── bundleSizes.ts │ │ ├── constants.ts │ │ ├── cpuPerformance.ts │ │ ├── fetchPerformanceMetrics.ts │ │ ├── memoryPerformance.ts │ │ ├── reportAsAPrComment.spec.ts │ │ ├── reportAsAPrComment.ts │ │ └── reportToDatadog.ts │ ├── release/ │ │ ├── check-release.ts │ │ ├── create-github-release.ts │ │ ├── generate-changelog/ │ │ │ ├── index.ts │ │ │ └── lib/ │ │ │ ├── addNewChangesToChangelog.ts │ │ │ ├── constants.ts │ │ │ └── getAffectedPackages.ts │ │ ├── prepare-release.ts │ │ └── renew-token.ts │ ├── show-bundle-size.ts │ ├── staging-ci/ │ │ ├── check-squash-into-staging.ts │ │ ├── check-staging-merge.ts │ │ └── staging-reset.ts │ ├── test/ │ │ ├── bs-kill.ts │ │ ├── bs-wrapper.ts │ │ ├── bump-chrome-version.ts │ │ ├── ci-bs.ts │ │ └── export-test-result.ts │ └── update-branch.ts ├── static-analysis.datadog.yml ├── test/ │ ├── apps/ │ │ ├── .gitignore │ │ ├── angular-app/ │ │ │ ├── .gitignore │ │ │ ├── main.ts │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── base-extension/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── manifest.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── appendChild.ts │ │ │ │ ├── base.ts │ │ │ │ └── cdn.ts │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── microfrontend/ │ │ │ ├── .gitignore │ │ │ ├── app1.ts │ │ │ ├── app2.ts │ │ │ ├── bootstrap.ts │ │ │ ├── common.ts │ │ │ ├── package.json │ │ │ ├── shell.ts │ │ │ ├── tsconfig.json │ │ │ ├── types.d.ts │ │ │ ├── webpack.app1.js │ │ │ ├── webpack.app2.js │ │ │ ├── webpack.base.js │ │ │ └── webpack.shell.js │ │ ├── nextjs/ │ │ │ ├── .gitignore │ │ │ ├── app/ │ │ │ │ ├── @sidebar/ │ │ │ │ │ ├── default.tsx │ │ │ │ │ ├── guides/ │ │ │ │ │ │ └── [...slug]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── user/ │ │ │ │ │ └── [id]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── error-test/ │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── server-error/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── global-error-test/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── global-error.tsx │ │ │ │ ├── guides/ │ │ │ │ │ └── [...slug]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── user/ │ │ │ │ └── [id]/ │ │ │ │ └── page.tsx │ │ │ ├── instrumentation-client.js │ │ │ ├── next.config.js │ │ │ ├── package.json │ │ │ ├── pages/ │ │ │ │ ├── _app.tsx │ │ │ │ └── pages-router/ │ │ │ │ ├── error-test.tsx │ │ │ │ ├── guides/ │ │ │ │ │ └── [...slug].tsx │ │ │ │ ├── index.tsx │ │ │ │ └── user/ │ │ │ │ └── [id].tsx │ │ │ └── tsconfig.json │ │ ├── nuxt-app/ │ │ │ ├── .gitignore │ │ │ ├── app.vue │ │ │ ├── nuxt.config.ts │ │ │ ├── package.json │ │ │ ├── pages/ │ │ │ │ ├── guides/ │ │ │ │ │ └── [...slug].vue │ │ │ │ ├── index.vue │ │ │ │ └── user/ │ │ │ │ └── [id].vue │ │ │ ├── plugins/ │ │ │ │ └── datadog-rum.client.ts │ │ │ └── tsconfig.json │ │ ├── react-heavy-spa/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── public/ │ │ │ │ └── data/ │ │ │ │ ├── infrastructure.json │ │ │ │ ├── logs.json │ │ │ │ ├── metrics.json │ │ │ │ └── traces.json │ │ │ ├── src/ │ │ │ │ ├── App.css │ │ │ │ ├── App.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── Dashboard/ │ │ │ │ │ │ ├── ActivityFeed.css │ │ │ │ │ │ ├── ActivityFeed.tsx │ │ │ │ │ │ ├── Dashboard.css │ │ │ │ │ │ ├── Dashboard.tsx │ │ │ │ │ │ ├── MetricCard.css │ │ │ │ │ │ ├── MetricCard.tsx │ │ │ │ │ │ ├── ServiceGrid.css │ │ │ │ │ │ ├── ServiceGrid.tsx │ │ │ │ │ │ ├── ServiceStatusPieChart.css │ │ │ │ │ │ ├── ServiceStatusPieChart.tsx │ │ │ │ │ │ ├── TimeSeriesChart.css │ │ │ │ │ │ └── TimeSeriesChart.tsx │ │ │ │ │ ├── Infrastructure/ │ │ │ │ │ │ ├── HostDetails.css │ │ │ │ │ │ ├── HostDetails.tsx │ │ │ │ │ │ ├── HostList.css │ │ │ │ │ │ ├── HostList.tsx │ │ │ │ │ │ ├── HostMap.css │ │ │ │ │ │ ├── HostMap.tsx │ │ │ │ │ │ ├── Infrastructure.css │ │ │ │ │ │ └── Infrastructure.tsx │ │ │ │ │ ├── Layout/ │ │ │ │ │ │ ├── MainLayout.css │ │ │ │ │ │ ├── MainLayout.tsx │ │ │ │ │ │ ├── Sidebar.css │ │ │ │ │ │ ├── Sidebar.tsx │ │ │ │ │ │ ├── TopBar.css │ │ │ │ │ │ └── TopBar.tsx │ │ │ │ │ ├── Logs/ │ │ │ │ │ │ ├── FilterSidebar.css │ │ │ │ │ │ ├── FilterSidebar.tsx │ │ │ │ │ │ ├── LogDetails.css │ │ │ │ │ │ ├── LogDetails.tsx │ │ │ │ │ │ ├── LogTable.css │ │ │ │ │ │ ├── LogTable.tsx │ │ │ │ │ │ ├── LogsExplorer.css │ │ │ │ │ │ ├── LogsExplorer.tsx │ │ │ │ │ │ ├── SearchBar.css │ │ │ │ │ │ └── SearchBar.tsx │ │ │ │ │ └── Settings/ │ │ │ │ │ ├── Integrations.css │ │ │ │ │ ├── Integrations.tsx │ │ │ │ │ ├── Settings.css │ │ │ │ │ ├── Settings.tsx │ │ │ │ │ ├── TeamManagement.css │ │ │ │ │ ├── TeamManagement.tsx │ │ │ │ │ ├── UserSettings.css │ │ │ │ │ └── UserSettings.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── useData.ts │ │ │ │ │ └── useDebounce.ts │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ ├── types/ │ │ │ │ │ └── data.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── api.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── generateMetrics.ts │ │ │ │ │ └── performanceThrottle.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── react-router-v6-app/ │ │ │ ├── .gitignore │ │ │ ├── app.tsx │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── react-shopist-like/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── public/ │ │ │ │ └── products.json │ │ │ ├── src/ │ │ │ │ ├── App.css │ │ │ │ ├── App.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── Footer.tsx │ │ │ │ │ ├── Header.tsx │ │ │ │ │ ├── ProductCard.tsx │ │ │ │ │ └── PromoBanner.tsx │ │ │ │ ├── data/ │ │ │ │ │ └── products.ts │ │ │ │ ├── main.tsx │ │ │ │ ├── pages/ │ │ │ │ │ ├── Cart.tsx │ │ │ │ │ ├── EditProfile.tsx │ │ │ │ │ ├── Home.tsx │ │ │ │ │ ├── ProductDetail.tsx │ │ │ │ │ └── Profile.tsx │ │ │ │ └── vite-env.d.ts │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── tanstack-router-app/ │ │ │ ├── .gitignore │ │ │ ├── app.tsx │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── vanilla/ │ │ │ ├── .gitignore │ │ │ ├── app.ts │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ ├── webpack.base.js │ │ │ ├── webpack.ssr.js │ │ │ └── webpack.web.js │ │ └── vue-router-app/ │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ └── pages/ │ │ │ ├── ErrorPage.vue │ │ │ ├── GuidesPage.vue │ │ │ ├── HomePage.vue │ │ │ └── UserPage.vue │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── browsers.conf.d.ts │ ├── e2e/ │ │ ├── AGENTS.md │ │ ├── CLAUDE.md │ │ ├── browsers.conf.js │ │ ├── lib/ │ │ │ ├── framework/ │ │ │ │ ├── createExtension.ts │ │ │ │ ├── createTest.ts │ │ │ │ ├── createWorker.ts │ │ │ │ ├── environment.ts │ │ │ │ ├── flushEvents.ts │ │ │ │ ├── httpServers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── intakeProxyMiddleware.ts │ │ │ │ ├── intakeRegistry.ts │ │ │ │ ├── pageSetups.ts │ │ │ │ ├── sdkBuilds.ts │ │ │ │ ├── serverApps/ │ │ │ │ │ ├── intake.ts │ │ │ │ │ └── mock.ts │ │ │ │ └── waitForRequests.ts │ │ │ ├── helpers/ │ │ │ │ ├── browser.ts │ │ │ │ ├── configuration.ts │ │ │ │ ├── extensionFixture.ts │ │ │ │ ├── playwright.ts │ │ │ │ ├── session.ts │ │ │ │ ├── tags.ts │ │ │ │ └── validation.ts │ │ │ └── types/ │ │ │ └── global.ts │ │ ├── noticeReporter.ts │ │ ├── package.json │ │ ├── playwright.base.config.ts │ │ ├── playwright.bs.config.ts │ │ ├── playwright.local.config.ts │ │ ├── scenario/ │ │ │ ├── browser-extensions/ │ │ │ │ └── browserExtensions.scenario.ts │ │ │ ├── context.scenario.ts │ │ │ ├── developer-extension/ │ │ │ │ └── developerExtension.scenario.ts │ │ │ ├── eventBridge.scenario.ts │ │ │ ├── logs.scenario.ts │ │ │ ├── microfrontend.scenario.ts │ │ │ ├── plugins/ │ │ │ │ ├── angularPlugin.scenario.ts │ │ │ │ ├── basePluginErrorTests.ts │ │ │ │ ├── basePluginRouterTests.ts │ │ │ │ ├── nextjsPlugin.scenario.ts │ │ │ │ ├── nuxtPlugin.scenario.ts │ │ │ │ ├── plugin.scenario.ts │ │ │ │ ├── reactPlugin.scenario.ts │ │ │ │ └── vuePlugin.scenario.ts │ │ │ ├── profiling.scenario.ts │ │ │ ├── recorder/ │ │ │ │ ├── recorder.scenario.ts │ │ │ │ ├── shadowDom.scenario.ts │ │ │ │ └── viewports.scenario.ts │ │ │ ├── rum/ │ │ │ │ ├── actions.scenario.ts │ │ │ │ ├── errors.scenario.ts │ │ │ │ ├── graphql.scenario.ts │ │ │ │ ├── init.scenario.ts │ │ │ │ ├── remoteConfiguration.scenario.ts │ │ │ │ ├── resources.scenario.ts │ │ │ │ ├── s8sInject.scenario.ts │ │ │ │ ├── sessions.scenario.ts │ │ │ │ ├── tracing.scenario.ts │ │ │ │ ├── views.scenario.ts │ │ │ │ └── vitals.scenario.ts │ │ │ ├── sessionStore.scenario.ts │ │ │ ├── tanstackRouterPlugin.scenario.ts │ │ │ ├── telemetry.scenario.ts │ │ │ ├── trackingConsent.scenario.ts │ │ │ └── transport.scenario.ts │ │ └── tsconfig.json │ ├── envUtils.ts │ ├── performance/ │ │ ├── configuration.ts │ │ ├── createBenchmarkTest.ts │ │ ├── environment.ts │ │ ├── playwright.config.ts │ │ ├── profilers/ │ │ │ ├── index.ts │ │ │ ├── startCpuProfiling.ts │ │ │ ├── startMemoryProfiling.ts │ │ │ ├── startNetworkProfiling.ts │ │ │ ├── startProfiling.ts │ │ │ └── startWebVitalsProfiling.ts │ │ ├── profiling.type.ts │ │ ├── reporters/ │ │ │ ├── reportToConsole.ts │ │ │ └── reportToDatadog.ts │ │ ├── scenarios/ │ │ │ ├── heavy.scenario.ts │ │ │ └── shopistLike.scenario.ts │ │ ├── server.ts │ │ └── tsconfig.json │ └── unit/ │ ├── browsers.conf.ts │ ├── globalThisPolyfill.js │ ├── jasmineSeedReporterPlugin.js │ ├── karma.base.conf.js │ ├── karma.bs.conf.js │ ├── karma.local.conf.js │ ├── karmaDuplicateTestNameReporterPlugin.js │ └── karmaSkippedFailedReporterPlugin.js ├── tsconfig.base.json ├── tsconfig.default.json ├── tsconfig.json ├── tsconfig.scripts.json ├── tsconfig.webpack.json ├── typedoc.css ├── typedoc.json └── webpack.base.ts