Sign In

@debugbundle/sdk-browser

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@debugbundle/sdk-browser - npm Package Compare versions

Comparing version
1.4.0
to
1.4.1
+8
dist/analytics-friction.d.ts
export declare class BrowserAnalyticsFrictionTracker {
private clickStates;
private recentRouteTransition;
reset(): void;
recordClick(targetIdentity: unknown, isStructuralTarget: boolean, isDeadClickCandidate: boolean, nowMs: number): "friction.repeated_click" | "friction.dead_click" | null;
recordRouteTransition(fromPath: string | null, toPath: string | null, nowMs: number): "friction.backtrack" | null;
}
//# sourceMappingURL=analytics-friction.d.ts.map
{"version":3,"file":"analytics-friction.d.ts","sourceRoot":"","sources":["../src/analytics-friction.ts"],"names":[],"mappings":"AAiBA,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,qBAAqB,CAAqC;IAE3D,KAAK,IAAI,IAAI;IAKb,WAAW,CAChB,cAAc,EAAE,OAAO,EACvB,kBAAkB,EAAE,OAAO,EAC3B,oBAAoB,EAAE,OAAO,EAC7B,KAAK,EAAE,MAAM,GACZ,yBAAyB,GAAG,qBAAqB,GAAG,IAAI;IAuCpD,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,MAAM,GACZ,oBAAoB,GAAG,IAAI;CAc/B"}
const FRICTION_CLICK_THRESHOLD = 3;
const FRICTION_CLICK_WINDOW_MS = 2_000;
const FRICTION_CLICK_COOLDOWN_MS = 10_000;
const FRICTION_BACKTRACK_WINDOW_MS = 10_000;
export class BrowserAnalyticsFrictionTracker {
clickStates = new WeakMap();
recentRouteTransition = null;
reset() {
this.clickStates = new WeakMap();
this.recentRouteTransition = null;
}
recordClick(targetIdentity, isStructuralTarget, isDeadClickCandidate, nowMs) {
if (targetIdentity === null || typeof targetIdentity !== "object") {
return null;
}
const prior = this.clickStates.get(targetIdentity);
if (prior !== undefined && nowMs < prior.cooldownUntilMs) {
return null;
}
const count = prior !== undefined && nowMs - prior.lastClickedAtMs <= FRICTION_CLICK_WINDOW_MS ? prior.count + 1 : 1;
const nextState = {
count,
lastClickedAtMs: nowMs,
cooldownUntilMs: 0
};
if (count < FRICTION_CLICK_THRESHOLD) {
this.clickStates.set(targetIdentity, nextState);
return null;
}
const markerKey = isStructuralTarget
? "friction.repeated_click"
: isDeadClickCandidate
? "friction.dead_click"
: null;
if (markerKey === null) {
this.clickStates.set(targetIdentity, nextState);
return null;
}
this.clickStates.set(targetIdentity, {
count: 0,
lastClickedAtMs: nowMs,
cooldownUntilMs: nowMs + FRICTION_CLICK_COOLDOWN_MS
});
return markerKey;
}
recordRouteTransition(fromPath, toPath, nowMs) {
if (fromPath === null || toPath === null || fromPath === toPath) {
return null;
}
const prior = this.recentRouteTransition;
const isBacktrack = prior !== null &&
nowMs - prior.occurredAtMs <= FRICTION_BACKTRACK_WINDOW_MS &&
prior.fromPath === toPath &&
prior.toPath === fromPath;
this.recentRouteTransition = { fromPath, toPath, occurredAtMs: nowMs };
return isBacktrack ? "friction.backtrack" : null;
}
}
//# sourceMappingURL=analytics-friction.js.map
{"version":3,"file":"analytics-friction.js","sourceRoot":"","sources":["../src/analytics-friction.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAc5C,MAAM,OAAO,+BAA+B;IAClC,WAAW,GAAG,IAAI,OAAO,EAA8B,CAAC;IACxD,qBAAqB,GAAgC,IAAI,CAAC;IAE3D,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,EAA8B,CAAC;QAC7D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAEM,WAAW,CAChB,cAAuB,EACvB,kBAA2B,EAC3B,oBAA6B,EAC7B,KAAa;QAEb,IAAI,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK,CAAC,eAAe,IAAI,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,MAAM,SAAS,GAAuB;YACpC,KAAK;YACL,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,CAAC;SACnB,CAAC;QACF,IAAI,KAAK,GAAG,wBAAwB,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB;YAClC,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,oBAAoB;gBACpB,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE;YACnC,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK,GAAG,0BAA0B;SACpD,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,qBAAqB,CAC1B,QAAuB,EACvB,MAAqB,EACrB,KAAa;QAEb,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzC,MAAM,WAAW,GACf,KAAK,KAAK,IAAI;YACd,KAAK,GAAG,KAAK,CAAC,YAAY,IAAI,4BAA4B;YAC1D,KAAK,CAAC,QAAQ,KAAK,MAAM;YACzB,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACvE,OAAO,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;CACF"}
import type { ActiveConfig, BrowserAnalyticsCustomDimensions, BrowserAnalyticsDimensions, BrowserAnalyticsEventEnvelope, BrowserAnalyticsPrivacyMode, BrowserDeviceInfo } from "./types.js";
export interface StandardAnalyticsVisitor {
storageKey: string;
visitorIdHash: string;
}
export declare function resolveStandardAnalyticsVisitor(projectToken: string): Promise<StandardAnalyticsVisitor | null>;
export declare function removeStoredAnalyticsVisitor(storageKey: string): void;
export declare function normalizeAnalyticsPrivacyMode(value: unknown): BrowserAnalyticsPrivacyMode;
export declare function getAnalyticsProjectTokenFields(config: ActiveConfig): Record<string, string>;
export declare function normalizeAnalyticsSignal(signal: Partial<BrowserAnalyticsEventEnvelope["payload"]["signal"]>): BrowserAnalyticsEventEnvelope["payload"]["signal"];
export declare function getStructuralActionKey(target: Record<string, unknown>): string | null;
export declare function isDeadClickCandidate(target: Record<string, unknown>): boolean;
export declare function normalizeAnalyticsRoute(path: string | null | undefined, title: string | null): BrowserAnalyticsEventEnvelope["payload"]["route"];
export declare function sanitizeAnalyticsCustomDimensions(input: Record<string, unknown>): BrowserAnalyticsCustomDimensions;
export declare function omitBuiltInAnalyticsDimensions(dimensions: BrowserAnalyticsCustomDimensions): BrowserAnalyticsCustomDimensions;
export declare function buildAnalyticsDimensions(device: BrowserDeviceInfo | null, trackReferrers: boolean, customDimensions: BrowserAnalyticsCustomDimensions): BrowserAnalyticsDimensions;
//# sourceMappingURL=analytics-normalization.d.ts.map
{"version":3,"file":"analytics-normalization.d.ts","sourceRoot":"","sources":["../src/analytics-normalization.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,gCAAgC,EAEhC,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA6CpB,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAcpH;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAEzF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3F;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAClE,6BAA6B,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAQpD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAiBrF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAG7E;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,6BAA6B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAqBnD;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gCAAgC,CAgBlH;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,gCAAgC,GAC3C,gCAAgC,CAMlC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,cAAc,EAAE,OAAO,EACvB,gBAAgB,EAAE,gCAAgC,GACjD,0BAA0B,CAqB5B"}
import { createBrowserTraceId, getCryptoSource, getDocumentSource, getLocalStorageSource, getLocationSource } from "./runtime.js";
const MAX_CUSTOM_DIMENSIONS = 8;
const MAX_CUSTOM_KEY_LENGTH = 64;
const MAX_CUSTOM_STRING_LENGTH = 128;
const SIGNAL_KEY_PATTERN = /^[A-Za-z][A-Za-z0-9_.:-]*$/;
const CUSTOM_KEY_PATTERN = /^[A-Za-z][A-Za-z0-9_.-]*$/;
const SENSITIVE_KEY_PATTERN = /(password|passwd|secret|token|authorization|cookie|email|phone|address|card|credit|ssn|user.?id|order.?id|ticket.?id|workspace.?id)/i;
const STRUCTURAL_ACTION_KEYS_BY_TAG = {
a: "click.link",
button: "click.button",
input: "click.input",
select: "click.select",
summary: "click.summary"
};
const STRUCTURAL_ACTION_KEYS_BY_ROLE = {
button: "click.button",
checkbox: "click.checkbox",
link: "click.link",
menuitem: "click.menuitem",
radio: "click.radio",
switch: "click.switch",
tab: "click.tab"
};
const STRUCTURAL_INPUT_TYPES = new Set(["button", "checkbox", "radio", "reset", "submit"]);
const NON_FRICTION_CONTROL_TAGS = new Set(["input", "textarea", "select", "option", "label"]);
const STANDARD_VISITOR_STORAGE_PREFIX = "debugbundle.analytics.visitor.v1";
const BUILT_IN_DIMENSION_KEYS = new Set([
"auth_state",
"device_type",
"browser_family",
"browser_major",
"os_family",
"os_major",
"language",
"locale",
"viewport_bucket",
"referrer_domain",
"utm_source",
"utm_medium",
"utm_campaign",
"country_code",
"region_code"
]);
export async function resolveStandardAnalyticsVisitor(projectToken) {
const projectScopeHash = await hashAnalyticsValue(projectToken);
if (projectScopeHash === null) {
return null;
}
const storageKey = `${STANDARD_VISITOR_STORAGE_PREFIX}.${projectScopeHash.slice("sha256:".length)}`;
const visitorId = getOrCreateStoredVisitor(storageKey);
if (visitorId === null) {
return null;
}
const visitorIdHash = await hashAnalyticsValue(`${projectScopeHash}:${visitorId}`);
return visitorIdHash === null ? null : { storageKey, visitorIdHash };
}
export function removeStoredAnalyticsVisitor(storageKey) {
try {
getLocalStorageSource()?.removeItem(storageKey);
}
catch {
// Storage access must never affect host application behavior.
}
}
export function normalizeAnalyticsPrivacyMode(value) {
return value === "standard" || value === "custom" ? value : "strict";
}
export function getAnalyticsProjectTokenFields(config) {
return config.projectToken === null ? {} : { project_token: config.projectToken };
}
export function normalizeAnalyticsSignal(signal) {
return {
action_key: normalizeSignalKey(signal.action_key),
funnel_key: normalizeSignalKey(signal.funnel_key),
step_key: normalizeSignalKey(signal.step_key),
conversion_key: normalizeSignalKey(signal.conversion_key),
marker_key: normalizeSignalKey(signal.marker_key)
};
}
export function getStructuralActionKey(target) {
const role = normalizeStructuralActionValue(target["role"]);
if (role !== null && STRUCTURAL_ACTION_KEYS_BY_ROLE[role] !== undefined) {
return STRUCTURAL_ACTION_KEYS_BY_ROLE[role];
}
const tagName = normalizeStructuralActionValue(target["tagName"]);
if (tagName === null) {
return null;
}
if (tagName === "input") {
const inputType = normalizeStructuralActionValue(target["type"]);
if (inputType !== null && STRUCTURAL_INPUT_TYPES.has(inputType)) {
return `click.input.${inputType}`;
}
}
return STRUCTURAL_ACTION_KEYS_BY_TAG[tagName] ?? null;
}
export function isDeadClickCandidate(target) {
const tagName = normalizeStructuralActionValue(target["tagName"]);
return tagName !== null && !NON_FRICTION_CONTROL_TAGS.has(tagName);
}
export function normalizeAnalyticsRoute(path, title) {
if (typeof path !== "string" || path.trim().length === 0) {
return null;
}
try {
const parsed = new URL(path, getLocationSource()?.href ?? "https://debugbundle.local");
return { path: parsed.pathname || "/", normalized_path: parsed.pathname || "/", title: normalizeTitle(title) };
}
catch {
const queryIndex = path.indexOf("?");
const fragmentIndex = path.indexOf("#");
const end = queryIndex === -1
? (fragmentIndex === -1 ? path.length : fragmentIndex)
: fragmentIndex === -1 ? queryIndex : Math.min(queryIndex, fragmentIndex);
const normalized = path.slice(0, end).trim();
if (normalized.length === 0) {
return null;
}
const normalizedPath = normalized.startsWith("/") ? normalized : `/${normalized}`;
return { path: normalizedPath, normalized_path: normalizedPath, title: normalizeTitle(title) };
}
}
export function sanitizeAnalyticsCustomDimensions(input) {
const output = {};
for (const [rawKey, rawValue] of Object.entries(input)) {
if (Object.keys(output).length >= MAX_CUSTOM_DIMENSIONS) {
break;
}
const key = normalizeCustomDimensionKey(rawKey);
if (key === null || BUILT_IN_DIMENSION_KEYS.has(key)) {
continue;
}
const value = normalizeCustomDimensionValue(key, rawValue);
if (value !== undefined) {
output[key] = value;
}
}
return output;
}
export function omitBuiltInAnalyticsDimensions(dimensions) {
const output = { ...dimensions };
for (const key of BUILT_IN_DIMENSION_KEYS) {
delete output[key];
}
return output;
}
export function buildAnalyticsDimensions(device, trackReferrers, customDimensions) {
const language = normalizeLocale(device?.language ?? null);
const locationSource = getLocationSource();
const params = new URLSearchParams(typeof locationSource?.search === "string" ? locationSource.search.replace(/^\?/, "") : "");
return {
auth_state: normalizeAuthState(customDimensions["auth_state"]),
device_type: device?.device_type ?? "unknown",
browser_family: normalizeDimensionText(device?.browser.name ?? null, 80),
browser_major: parseMajorVersion(device?.browser.version ?? null),
os_family: normalizeDimensionText(device?.os.name ?? null, 80),
os_major: parseMajorVersion(device?.os.version ?? null),
language,
locale: language,
viewport_bucket: getViewportBucket(device),
referrer_domain: trackReferrers ? getReferrerDomain() : null,
utm_source: normalizeDimensionText(params.get("utm_source"), 128),
utm_medium: normalizeDimensionText(params.get("utm_medium"), 128),
utm_campaign: normalizeDimensionText(params.get("utm_campaign"), 128),
country_code: null,
region_code: null
};
}
function getOrCreateStoredVisitor(storageKey) {
const storage = getLocalStorageSource();
if (storage === null) {
return null;
}
try {
const existing = storage.getItem(storageKey);
if (typeof existing === "string" && /^[a-f0-9-]{16,128}$/i.test(existing)) {
return existing;
}
const visitorId = createBrowserTraceId();
if (!/^[a-f0-9-]{16,128}$/i.test(visitorId)) {
return null;
}
storage.setItem(storageKey, visitorId);
return visitorId;
}
catch {
return null;
}
}
async function hashAnalyticsValue(value) {
const cryptoSource = getCryptoSource();
const TextEncoderConstructor = globalThis["TextEncoder"];
if (typeof cryptoSource?.subtle?.digest !== "function" || TextEncoderConstructor === undefined) {
return null;
}
const digest = await cryptoSource.subtle.digest("SHA-256", new TextEncoderConstructor().encode(value));
return `sha256:${Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("")}`;
}
function normalizeSignalKey(value) {
if (typeof value !== "string") {
return null;
}
const trimmed = value.trim();
return SIGNAL_KEY_PATTERN.test(trimmed) && trimmed.length <= 120 ? trimmed : null;
}
function normalizeStructuralActionValue(value) {
if (typeof value !== "string") {
return null;
}
const normalized = value.trim().toLowerCase();
return normalized.length > 0 && normalized.length <= 32 ? normalized : null;
}
function normalizeTitle(value) {
if (typeof value !== "string") {
return null;
}
const trimmed = value.trim();
return trimmed.length > 0 ? trimmed.slice(0, 200) : null;
}
function normalizeCustomDimensionKey(value) {
const trimmed = value.trim();
return trimmed.length > 0 && trimmed.length <= MAX_CUSTOM_KEY_LENGTH && CUSTOM_KEY_PATTERN.test(trimmed) && !SENSITIVE_KEY_PATTERN.test(trimmed)
? trimmed
: null;
}
function normalizeCustomDimensionValue(key, value) {
if (value === null || typeof value === "boolean") {
return value;
}
if (typeof value === "number" && Number.isFinite(value) && value >= -1_000_000 && value <= 1_000_000) {
return value;
}
if (typeof value !== "string") {
return undefined;
}
const trimmed = value.trim();
return trimmed.length > 0 && trimmed.length <= MAX_CUSTOM_STRING_LENGTH && !SENSITIVE_KEY_PATTERN.test(trimmed) && !SENSITIVE_KEY_PATTERN.test(key)
? trimmed
: undefined;
}
function normalizeAuthState(value) {
return value === "authenticated" || value === "unknown" ? value : "anonymous";
}
function normalizeDimensionText(value, maxLength) {
if (typeof value !== "string") {
return null;
}
const trimmed = value.trim();
return trimmed.length > 0 ? trimmed.slice(0, maxLength) : null;
}
function normalizeLocale(value) {
const normalized = normalizeDimensionText(value, 35);
return normalized !== null && /^[A-Za-z]{2,8}(-[A-Za-z0-9]{1,8})*$/.test(normalized) ? normalized : null;
}
function parseMajorVersion(value) {
const major = typeof value === "string" ? Number.parseInt(value.split(".")[0] ?? "", 10) : Number.NaN;
return Number.isFinite(major) && major >= 0 ? major : null;
}
function getViewportBucket(device) {
const width = device?.viewport.width ?? 0;
return width <= 0 ? "unknown" : width < 640 ? "small" : width < 1024 ? "medium" : "large";
}
function getReferrerDomain() {
const referrer = getDocumentSource()?.referrer;
if (typeof referrer !== "string" || referrer.trim().length === 0) {
return null;
}
try {
const hostname = new URL(referrer).hostname;
return hostname.length > 0 && hostname.length <= 255 ? hostname : null;
}
catch {
return null;
}
}
//# sourceMappingURL=analytics-normalization.js.map
{"version":3,"file":"analytics-normalization.js","sourceRoot":"","sources":["../src/analytics-normalization.ts"],"names":[],"mappings":"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"}
import { type ActiveConfig, type BrowserAnalyticsEventEnvelope, type BrowserRemoteAnalyticsConfig, type BrowserDeviceInfo, type DebugBundleBrowserAnalytics, type DebugBundleBrowserAnalyticsConfig } from "./types.js";
export declare class BrowserAnalyticsController {
private readonly host;
private active;
private lastRoute;
private sessionSummaryCaptured;
private readonly frictionTracker;
constructor(host: {
getConfig(): ActiveConfig | null;
getDeviceInfo(): BrowserDeviceInfo | null;
getCurrentRoute(): string | null;
getSessionId(): string;
enqueue(event: BrowserAnalyticsEventEnvelope): void;
});
readonly api: DebugBundleBrowserAnalytics;
configure(config: DebugBundleBrowserAnalyticsConfig | undefined, options?: {
deferCapture?: boolean;
}): void;
markCaptureReady(): void;
reset(): void;
captureSessionStart(): void;
captureSessionSummary(): void;
prepareForUnload(): void;
captureInitialPageView(): void;
captureRouteChange(path: string): void;
applyRemoteSettings(remote: BrowserRemoteAnalyticsConfig): void;
shouldCaptureStructuralActions(): boolean;
shouldCaptureFrictionSignals(): boolean;
captureStructuralAction(target: Record<string, unknown>): void;
captureFrictionClick(target: Record<string, unknown>, targetIdentity: unknown): void;
private capturePageView;
private captureBacktrackFriction;
private captureSignal;
private enqueue;
private initializeStandardVisitor;
private clearStandardVisitor;
private flushPendingEvents;
private setContext;
private captureWhenReady;
}
//# sourceMappingURL=analytics.d.ts.map
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,6BAA6B,EAGlC,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EAEvC,MAAM,YAAY,CAAC;AAiCpB,qBAAa,0BAA0B;IAOnC,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,SAAS,CAA2D;IAC5E,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;gBAGtD,IAAI,EAAE;QACrB,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC;QACjC,aAAa,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC1C,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;QACjC,YAAY,IAAI,MAAM,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI,CAAC;KACrD;IAGH,SAAgB,GAAG,EAAE,2BAA2B,CAyC9C;IAEK,SAAS,CACd,MAAM,EAAE,iCAAiC,GAAG,SAAS,EACrD,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,IAAI;IAmDA,gBAAgB,IAAI,IAAI;IAgBxB,KAAK,IAAI,IAAI;IAOb,mBAAmB,IAAI,IAAI;IAQ3B,qBAAqB,IAAI,IAAI;IAU7B,gBAAgB,IAAI,IAAI;IAQxB,sBAAsB,IAAI,IAAI;IAQ9B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQtC,mBAAmB,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI;IA2B/D,8BAA8B,IAAI,OAAO;IAIzC,4BAA4B,IAAI,OAAO;IAIvC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiB9D,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAqB3F,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,OAAO;YAuED,yBAAyB;IAwCvC,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,gBAAgB;CAazB"}
import { createBrowserTraceId, normalizeSampleRate } from "./runtime.js";
import { BrowserAnalyticsFrictionTracker } from "./analytics-friction.js";
import { buildAnalyticsDimensions, getAnalyticsProjectTokenFields, getStructuralActionKey, isDeadClickCandidate, normalizeAnalyticsPrivacyMode, normalizeAnalyticsRoute, normalizeAnalyticsSignal, omitBuiltInAnalyticsDimensions, removeStoredAnalyticsVisitor, resolveStandardAnalyticsVisitor, sanitizeAnalyticsCustomDimensions } from "./analytics-normalization.js";
import { SDK_NAME, SDK_VERSION } from "./types.js";
const ANALYTICS_EVENT_SCHEMA_VERSION = "2026-07-analytics-01";
const HASH_PATTERN = /^sha256:[a-f0-9]{64}$/i;
const MAX_PENDING_STANDARD_EVENTS = 16;
export class BrowserAnalyticsController {
host;
active = null;
lastRoute = null;
sessionSummaryCaptured = false;
frictionTracker = new BrowserAnalyticsFrictionTracker();
constructor(host) {
this.host = host;
}
api = {
setConsent: (value) => {
if (this.active !== null) {
this.active.consentGranted = value;
this.active.consentExplicitlySet = true;
if (!value) {
this.clearStandardVisitor(this.active);
}
else if (this.active.captureReady) {
void this.initializeStandardVisitor(this.active);
}
}
},
pageView: (input = {}) => {
this.captureWhenReady(() => this.capturePageView(input, "page_view"));
},
track: (name, dimensions = {}) => {
this.captureWhenReady(() => this.captureSignal("action", { action_key: name }, dimensions));
},
funnel: (name, step, dimensions = {}) => {
this.captureWhenReady(() => this.captureSignal("funnel_step", { funnel_key: name, step_key: step }, dimensions));
},
convert: (name, dimensions = {}) => {
this.captureWhenReady(() => this.captureSignal("conversion", { conversion_key: name }, dimensions));
},
marker: (name, dimensions = {}) => {
this.captureWhenReady(() => this.captureSignal("journey_marker", { marker_key: name }, dimensions));
},
setContext: (dimensions) => {
this.captureWhenReady(() => this.setContext(dimensions));
},
setUserHash: (hash) => {
this.captureWhenReady(() => {
if (this.active === null) {
return;
}
this.active.userIdHash =
this.active.privacyMode !== "strict" && typeof hash === "string" && HASH_PATTERN.test(hash)
? hash.toLowerCase()
: null;
});
}
};
configure(config, options = {}) {
this.sessionSummaryCaptured = false;
const enabled = config?.enabled === true;
if (!enabled) {
this.active = null;
this.lastRoute = null;
return;
}
const sampleRate = normalizeSampleRate(config?.sampleRate, 1);
if (sampleRate <= 0 || Math.random() > sampleRate) {
this.active = null;
this.lastRoute = null;
return;
}
const privacyMode = normalizeAnalyticsPrivacyMode(config?.privacyMode);
const consentRequired = config?.consentRequired === true;
this.active = {
enabled,
privacyMode,
consentRequired,
consentGranted: !consentRequired,
consentExplicitlySet: false,
trackPageViews: config?.trackPageViews !== false,
trackRouteChanges: config?.trackRouteChanges !== false,
trackSessions: config?.trackSessions !== false,
trackReferrers: config?.trackReferrers !== false,
captureActions: true,
trackActions: config?.trackActions === true,
trackFrictionSignals: config?.trackFrictionSignals !== false,
sampleRate,
sessionId: this.host.getSessionId(),
sessionStartedAtMs: Date.now(),
sessionPageviews: 0,
captureReady: options.deferCapture !== true,
pendingCaptures: [],
visitorIdHash: null,
visitorStorageKey: null,
visitorInitializationPending: false,
pendingEvents: [],
userIdHash: null,
context: {}
};
this.lastRoute = null;
this.frictionTracker.reset();
if (this.active.captureReady) {
void this.initializeStandardVisitor(this.active);
}
}
markCaptureReady() {
const active = this.active;
if (active === null || active.captureReady) {
return;
}
active.captureReady = true;
void this.initializeStandardVisitor(active);
const pendingCaptures = active.pendingCaptures;
active.pendingCaptures = [];
this.captureSessionStart();
this.captureInitialPageView();
for (const capture of pendingCaptures) {
capture();
}
}
reset() {
this.active = null;
this.lastRoute = null;
this.sessionSummaryCaptured = false;
this.frictionTracker.reset();
}
captureSessionStart() {
if (this.active?.trackSessions !== true) {
return;
}
this.enqueue("session_start", {}, null, {});
}
captureSessionSummary() {
if (this.active?.trackSessions !== true || this.sessionSummaryCaptured) {
return;
}
if (this.enqueue("session_summary", {}, this.lastRoute, {})) {
this.sessionSummaryCaptured = true;
}
}
prepareForUnload() {
const active = this.active;
if (active?.visitorInitializationPending === true) {
active.visitorInitializationPending = false;
this.flushPendingEvents(active);
}
}
captureInitialPageView() {
if (this.active?.trackPageViews !== true) {
return;
}
this.capturePageView({}, "page_view");
}
captureRouteChange(path) {
this.captureWhenReady(() => {
if (this.active?.trackRouteChanges === true) {
this.capturePageView({ path }, "route_change");
}
});
}
applyRemoteSettings(remote) {
const active = this.active;
if (active === null) {
return;
}
active.enabled = active.enabled && remote.enabled;
if (remote.privacyMode === "strict") {
active.privacyMode = "strict";
active.userIdHash = null;
this.clearStandardVisitor(active);
}
active.consentRequired = active.consentRequired || remote.consentRequired;
if (active.consentRequired && !active.consentExplicitlySet) {
active.consentGranted = false;
this.clearStandardVisitor(active);
}
active.trackPageViews = active.trackPageViews && remote.capturePageViews;
active.trackRouteChanges = active.trackRouteChanges && remote.captureRouteChanges;
active.captureActions = active.captureActions && remote.captureActions;
active.trackActions = active.trackActions && remote.captureActions;
active.trackFrictionSignals = active.trackFrictionSignals && remote.captureFrictionSignals;
if (!active.enabled) {
this.clearStandardVisitor(active);
}
}
shouldCaptureStructuralActions() {
return this.active?.enabled === true && this.active.trackActions && this.active.captureActions && this.active.consentGranted;
}
shouldCaptureFrictionSignals() {
return this.active?.enabled === true && this.active.trackFrictionSignals && this.active.consentGranted;
}
captureStructuralAction(target) {
if (!this.shouldCaptureStructuralActions()) {
return;
}
const actionKey = getStructuralActionKey(target);
if (actionKey === null) {
return;
}
this.captureWhenReady(() => {
if (this.shouldCaptureStructuralActions()) {
this.enqueue("action", { action_key: actionKey }, this.lastRoute, {});
}
});
}
captureFrictionClick(target, targetIdentity) {
if (!this.shouldCaptureFrictionSignals() || targetIdentity === null || typeof targetIdentity !== "object") {
return;
}
this.captureWhenReady(() => {
if (!this.shouldCaptureFrictionSignals()) {
return;
}
const markerKey = this.frictionTracker.recordClick(targetIdentity, getStructuralActionKey(target) !== null, isDeadClickCandidate(target), Date.now());
if (markerKey !== null) {
this.enqueue("journey_marker", { marker_key: markerKey }, this.lastRoute, {});
}
});
}
capturePageView(input, kind) {
const route = normalizeAnalyticsRoute(input.path ?? this.host.getCurrentRoute(), input.title ?? null);
if (route === null) {
return;
}
const previousRoute = kind === "route_change" ? this.lastRoute : null;
if (this.enqueue(kind, {}, route, {}, previousRoute)) {
this.lastRoute = route;
if (this.active !== null) {
this.active.sessionPageviews += 1;
}
if (kind === "route_change") {
this.captureBacktrackFriction(previousRoute, route);
}
}
}
captureBacktrackFriction(previousRoute, route) {
if (!this.shouldCaptureFrictionSignals() || previousRoute === null || route === null) {
return;
}
const fromPath = previousRoute.normalized_path;
const toPath = route.normalized_path;
if (fromPath === null || toPath === null || fromPath === toPath) {
return;
}
const markerKey = this.frictionTracker.recordRouteTransition(fromPath, toPath, Date.now());
if (markerKey !== null) {
this.enqueue("journey_marker", { marker_key: markerKey }, route, {});
}
}
captureSignal(kind, signal, dimensions) {
if (kind === "action" && this.active?.captureActions !== true) {
return;
}
const normalizedSignal = normalizeAnalyticsSignal(signal);
if ((kind === "action" && normalizedSignal.action_key === null) ||
(kind === "funnel_step" && (normalizedSignal.funnel_key === null || normalizedSignal.step_key === null)) ||
(kind === "conversion" && normalizedSignal.conversion_key === null) ||
(kind === "journey_marker" && normalizedSignal.marker_key === null)) {
return;
}
this.enqueue(kind, normalizedSignal, kind === "journey_marker" ? this.lastRoute : null, sanitizeAnalyticsCustomDimensions(dimensions));
}
enqueue(kind, signal, route, dimensions, previousRoute = null) {
const sdkConfig = this.host.getConfig();
const active = this.active;
if (sdkConfig === null || active === null || !active.enabled || !active.consentGranted) {
return false;
}
const mergedDimensions = {
...active.context,
...dimensions
};
const event = {
schema_version: ANALYTICS_EVENT_SCHEMA_VERSION,
event_id: createBrowserTraceId(),
event_type: "analytics_event",
...getAnalyticsProjectTokenFields(sdkConfig),
sdk_name: SDK_NAME,
sdk_version: SDK_VERSION,
service: {
name: sdkConfig.service,
runtime: "browser",
framework: null,
environment: sdkConfig.environment
},
occurred_at: new Date().toISOString(),
correlation: {
session_id: active.sessionId,
visitor_id_hash: active.visitorIdHash,
user_id_hash: active.userIdHash,
trace_id: null,
deploy_id: null
},
payload: {
kind,
privacy: {
mode: active.privacyMode,
consent_granted: active.consentGranted
},
...(kind === "session_summary"
? {
session: {
duration_ms: Math.min(86_400_000, Math.max(0, Date.now() - active.sessionStartedAtMs)),
pageviews: active.sessionPageviews
}
}
: {}),
signal: normalizeAnalyticsSignal(signal),
route,
...(previousRoute !== null ? { previous_route: previousRoute } : {}),
dimensions: buildAnalyticsDimensions(this.host.getDeviceInfo(), active.trackReferrers, mergedDimensions),
custom_dimensions: omitBuiltInAnalyticsDimensions(mergedDimensions)
}
};
if (active.visitorInitializationPending) {
if (active.pendingEvents.length < MAX_PENDING_STANDARD_EVENTS) {
active.pendingEvents.push(event);
}
return true;
}
this.host.enqueue(event);
return true;
}
async initializeStandardVisitor(active) {
if (active.privacyMode !== "standard" ||
!active.enabled ||
!active.consentGranted ||
active.visitorIdHash !== null ||
active.visitorInitializationPending) {
return;
}
const projectToken = this.host.getConfig()?.projectToken;
if (projectToken === null || projectToken === undefined) {
return;
}
active.visitorInitializationPending = true;
try {
const visitor = await resolveStandardAnalyticsVisitor(projectToken);
if (visitor === null) {
return;
}
active.visitorStorageKey = visitor.storageKey;
if (this.active !== active || active.privacyMode !== "standard" || !active.consentGranted) {
removeStoredAnalyticsVisitor(visitor.storageKey);
return;
}
if (this.active === active && active.privacyMode === "standard" && active.consentGranted) {
active.visitorIdHash = visitor.visitorIdHash;
}
}
catch {
// Browser storage and crypto APIs are optional; analytics falls back to session-only.
}
finally {
if (this.active === active) {
active.visitorInitializationPending = false;
this.flushPendingEvents(active);
}
}
}
clearStandardVisitor(active) {
if (active.visitorStorageKey !== null) {
removeStoredAnalyticsVisitor(active.visitorStorageKey);
}
active.visitorIdHash = null;
active.pendingEvents = [];
}
flushPendingEvents(active) {
const pendingEvents = active.pendingEvents;
active.pendingEvents = [];
if (!active.enabled || !active.consentGranted) {
return;
}
for (const event of pendingEvents) {
event.correlation.visitor_id_hash = active.visitorIdHash;
this.host.enqueue(event);
}
}
setContext(dimensions) {
const active = this.active;
if (active === null) {
return;
}
const authState = dimensions["auth_state"];
const sanitized = sanitizeAnalyticsCustomDimensions(dimensions);
if (authState === "anonymous" || authState === "authenticated" || authState === "unknown") {
sanitized["auth_state"] = authState;
}
active.context = {
...active.context,
...sanitized
};
}
captureWhenReady(capture) {
const active = this.active;
if (active === null) {
return;
}
if (active.captureReady) {
capture();
return;
}
if (active.pendingCaptures.length < MAX_PENDING_STANDARD_EVENTS) {
active.pendingCaptures.push(capture);
}
}
}
//# sourceMappingURL=analytics.js.map
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
import type { ActiveConfig, BrowserCapturePreset, BrowserCaptureRequestEvents, BrowserRejectionReasonContext, BrowserRemoteProbeState } from "./types.js";
export declare function createInitialRemoteProbeState(): BrowserRemoteProbeState;
export declare function normalizeUnhandledRejectionReason(reason: unknown): {
error: unknown;
rejectionReason: BrowserRejectionReasonContext;
};
export declare function isImmediateRequestIncidentStatus(statusCode: number, preset: BrowserCapturePreset, immediateClientErrorStatuses?: readonly number[], requestPath?: string, httpMethod?: string, immediateClientErrorPathRules?: BrowserRemoteProbeState["immediateClientErrorPathRules"]): boolean;
export declare function shouldCaptureRequestStatus(statusCode: number, preset: BrowserCapturePreset, policy: BrowserCaptureRequestEvents, immediateClientErrorStatuses?: readonly number[], requestPath?: string, httpMethod?: string, immediateClientErrorPathRules?: BrowserRemoteProbeState["immediateClientErrorPathRules"]): boolean;
export declare function shouldCaptureBrowserNetworkRequest(config: ActiveConfig | null, url: string, statusCode: number, durationMs: number): boolean;
export declare function shouldCaptureFailedBrowserNetworkRequest(config: ActiveConfig | null, url: string, durationMs: number): boolean;
//# sourceMappingURL=capture-helpers.d.ts.map
{"version":3,"file":"capture-helpers.d.ts","sourceRoot":"","sources":["../src/capture-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAE3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,YAAY,CAAC;AASpB,wBAAgB,6BAA6B,IAAI,uBAAuB,CAWvE;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,OAAO,GAAG;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,6BAA6B,CAAC;CAChD,CAmDA;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,4BAA4B,GAAE,SAAS,MAAM,EAAO,EACpD,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,6BAA6B,GAAE,uBAAuB,CAAC,+BAA+B,CAAM,GAC3F,OAAO,CAcT;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,2BAA2B,EACnC,4BAA4B,GAAE,SAAS,MAAM,EAAO,EACpD,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,6BAA6B,GAAE,uBAAuB,CAAC,+BAA+B,CAAM,GAC3F,OAAO,CAeT;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAMT;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAET"}
import { getLocationSource, matchesBrowserPattern, matchesStatusCodeFilter, normalizeUnknownRecord } from "./runtime.js";
const DEFAULT_REQUEST_FAILURE_PRESET = "balanced";
const DEFAULT_REQUEST_CAPTURE_EVENTS = "failures_only";
const DEFAULT_IMMEDIATE_CLIENT_ERROR_STATUSES = [];
const MAX_REJECTION_REASON_PREVIEW_LENGTH = 500;
const BALANCED_IMMEDIATE_REQUEST_STATUSES = new Set([408, 423, 424, 425, 429]);
const INVESTIGATIVE_IMMEDIATE_REQUEST_STATUSES = new Set([...BALANCED_IMMEDIATE_REQUEST_STATUSES, 409]);
export function createInitialRemoteProbeState() {
return {
probesEnabled: false,
remoteProbesEnabled: false,
directives: [],
triggerTokenKey: null,
requestFailurePreset: DEFAULT_REQUEST_FAILURE_PRESET,
requestCaptureEvents: DEFAULT_REQUEST_CAPTURE_EVENTS,
immediateClientErrorStatuses: [...DEFAULT_IMMEDIATE_CLIENT_ERROR_STATUSES],
immediateClientErrorPathRules: []
};
}
export function normalizeUnhandledRejectionReason(reason) {
if (reason instanceof Error) {
return {
error: reason,
rejectionReason: {
kind: "error",
name: reason.name || "Error",
message: truncateRejectionReasonPreview(reason.message || "Unknown rejection error")
}
};
}
if (typeof reason === "string") {
const preview = truncateRejectionReasonPreview(reason.length > 0 ? reason : "[empty string]");
return {
error: new Error(reason.length > 0 ? reason : "Unhandled promise rejection"),
rejectionReason: { kind: "string", preview }
};
}
if (reason === null) {
return {
error: new Error("Unhandled promise rejection: null"),
rejectionReason: { kind: "null", preview: "null" }
};
}
if (reason === undefined) {
return {
error: new Error("Unhandled promise rejection: undefined"),
rejectionReason: { kind: "undefined", preview: "undefined" }
};
}
const record = normalizeUnknownRecord(reason);
const name = readReasonStringField(record, "name");
const message = readReasonStringField(record, "message");
const constructorName = typeof reason === "object" && reason !== null && "constructor" in reason
? reason.constructor?.name
: undefined;
const preview = typeof constructorName === "string" && constructorName.length > 0 ? constructorName : "object";
return {
error: new Error(message ?? "Unhandled promise rejection"),
rejectionReason: {
kind: "object",
...(name === undefined ? {} : { name }),
...(message === undefined ? {} : { message }),
preview
}
};
}
export function isImmediateRequestIncidentStatus(statusCode, preset, immediateClientErrorStatuses = [], requestPath, httpMethod, immediateClientErrorPathRules = []) {
if (!Number.isFinite(statusCode)) {
return false;
}
if (statusCode >= 500 || immediateClientErrorStatuses.includes(statusCode)) {
return true;
}
if (matchesImmediateClientErrorPathRule(statusCode, requestPath, httpMethod, immediateClientErrorPathRules)) {
return true;
}
if (preset === "investigative") {
return INVESTIGATIVE_IMMEDIATE_REQUEST_STATUSES.has(statusCode);
}
return preset === "balanced" && BALANCED_IMMEDIATE_REQUEST_STATUSES.has(statusCode);
}
export function shouldCaptureRequestStatus(statusCode, preset, policy, immediateClientErrorStatuses = [], requestPath, httpMethod, immediateClientErrorPathRules = []) {
if (isImmediateRequestIncidentStatus(statusCode, preset, immediateClientErrorStatuses, requestPath, httpMethod, immediateClientErrorPathRules)) {
return true;
}
if (policy === "all") {
return Number.isFinite(statusCode) && statusCode >= 400;
}
return policy === "failures_only" && statusCode >= 500;
}
export function shouldCaptureBrowserNetworkRequest(config, url, statusCode, durationMs) {
if (config === null || !matchesNetworkFilter(config, url, durationMs)) {
return false;
}
return matchesStatusCodeFilter(statusCode, config.networkFilter.statusCodes);
}
export function shouldCaptureFailedBrowserNetworkRequest(config, url, durationMs) {
return config !== null && matchesNetworkFilter(config, url, durationMs);
}
function matchesNetworkFilter(config, url, durationMs) {
const filter = config.networkFilter;
if (filter.urlPatterns.length > 0 && !filter.urlPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
if (filter.urlDenyPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
return filter.minResponseTime === null || durationMs >= filter.minResponseTime;
}
function truncateRejectionReasonPreview(value) {
return value.length > MAX_REJECTION_REASON_PREVIEW_LENGTH
? `${value.slice(0, MAX_REJECTION_REASON_PREVIEW_LENGTH)}[truncated]`
: value;
}
function readReasonStringField(record, key) {
const value = record[key];
return typeof value === "string" && value.trim().length > 0
? truncateRejectionReasonPreview(value.trim())
: undefined;
}
function matchesImmediateClientErrorPathRule(statusCode, requestPath, httpMethod, rules) {
if (statusCode < 400 || statusCode > 499 || requestPath === undefined) {
return false;
}
const normalizedPath = normalizeRequestPath(requestPath);
const normalizedMethod = typeof httpMethod === "string" ? httpMethod.toUpperCase() : null;
return rules.some((rule) => {
if (rule.statusCode !== statusCode) {
return false;
}
if (rule.methods.length > 0 && (normalizedMethod === null || !rule.methods.includes(normalizedMethod))) {
return false;
}
if (rule.pathPattern.endsWith("*")) {
return normalizedPath.startsWith(rule.pathPattern.slice(0, -1));
}
return normalizedPath === rule.pathPattern;
});
}
function normalizeRequestPath(value) {
try {
return new URL(value, getLocationSource()?.href ?? "https://debugbundle.local").pathname || "/";
}
catch {
const queryIndex = value.indexOf("?");
const fragmentIndex = value.indexOf("#");
const end = queryIndex === -1
? (fragmentIndex === -1 ? value.length : fragmentIndex)
: fragmentIndex === -1
? queryIndex
: Math.min(queryIndex, fragmentIndex);
const path = value.slice(0, end);
return path.startsWith("/") && path.length > 0 ? path : "/";
}
}
//# sourceMappingURL=capture-helpers.js.map
{"version":3,"file":"capture-helpers.js","sourceRoot":"","sources":["../src/capture-helpers.ts"],"names":[],"mappings":"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"}
import type { EventEnvelope } from "@debugbundle/shared-types";
import type { ActiveConfig, BrowserBreadcrumb } from "./types.js";
export declare function applyBrowserCaptureRules(input: {
config: ActiveConfig | null;
event: EventEnvelope;
currentRoute: string | null;
now: string;
}): {
event: EventEnvelope | null;
breadcrumb: BrowserBreadcrumb | null;
};
export declare function buildBrowserSuppressionKey(event: EventEnvelope): string | null;
//# sourceMappingURL=event-pipeline.d.ts.map
{"version":3,"file":"event-pipeline.d.ts","sourceRoot":"","sources":["../src/event-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAsC,MAAM,YAAY,CAAC;AAEtG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb,GAAG;IAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,CA4CxE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CA4B9E"}
import { evaluateBrowserCaptureRulesForEvent } from "./capture-rules.js";
export function applyBrowserCaptureRules(input) {
const { config, event } = input;
if (config === null || config.captureRules.length === 0) {
return { event, breadcrumb: null };
}
const projectId = config.captureRules[0]?.project_id;
if (typeof projectId !== "string" || projectId.length === 0) {
return { event, breadcrumb: null };
}
try {
const captureRule = evaluateBrowserCaptureRulesForEvent(config.captureRules, projectId, event, input.now);
if (captureRule === null) {
return { event, breadcrumb: null };
}
if (captureRule.outcome === "drop" || captureRule.outcome === "sampled_out") {
return { event: null, breadcrumb: null };
}
if (event.event_type === "frontend_exception" &&
(captureRule.outcome === "demote" || captureRule.sample_event_class === "context")) {
return {
event: null,
breadcrumb: createDemotedExceptionBreadcrumb(event, captureRule, input.currentRoute)
};
}
if (event.event_type === "request_event" &&
(captureRule.outcome === "demote" || captureRule.sample_event_class === "context")) {
return { event: null, breadcrumb: null };
}
}
catch {
return { event, breadcrumb: null };
}
return { event, breadcrumb: null };
}
export function buildBrowserSuppressionKey(event) {
if (event.event_type === "frontend_exception") {
const stackFrame = event.payload.stack.split("\n")[1]?.trim() ?? null;
return JSON.stringify({
event_type: event.event_type,
name: event.payload.name,
message: event.payload.message,
stack_frame: stackFrame,
route: event.payload.route
});
}
if (event.event_type === "log_event") {
return JSON.stringify({
event_type: event.event_type,
level: event.payload.level,
message: event.payload.message,
attributes: event.payload.attributes
});
}
if (event.event_type === "request_event") {
return JSON.stringify({
event_type: event.event_type,
method: event.payload.method,
path: event.payload.path,
response_status: event.payload.response_status
});
}
return null;
}
function createDemotedExceptionBreadcrumb(event, captureRule, currentRoute) {
const payload = event.payload;
const browserEventRecord = typeof payload["browser_event"] === "object" && payload["browser_event"] !== null
? payload["browser_event"]
: null;
const targetRecord = typeof browserEventRecord?.["target"] === "object" && browserEventRecord["target"] !== null
? browserEventRecord["target"]
: null;
const browserEventKind = browserEventRecord?.["kind"] === "window_error" || browserEventRecord?.["kind"] === "resource_error"
? browserEventRecord["kind"]
: undefined;
const sourceUrl = typeof targetRecord?.["source_url"] === "string"
? targetRecord["source_url"]
: typeof browserEventRecord?.["file_name"] === "string"
? browserEventRecord["file_name"]
: null;
return {
ts: event.occurred_at,
breadcrumb_type: "console_log",
route: event.payload.route ?? currentRoute,
data: {
level: "error",
message: `${event.payload.name}: ${event.payload.message}`,
source: "capture_rule_demoted_exception",
capture_rule_action: captureRule.action,
capture_rule_outcome: captureRule.outcome,
...(browserEventKind === undefined ? {} : { browser_event_kind: browserEventKind }),
...(sourceUrl === null ? {} : { source_url: sourceUrl })
}
};
}
//# sourceMappingURL=event-pipeline.js.map
{"version":3,"file":"event-pipeline.js","sourceRoot":"","sources":["../src/event-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AAGzE,MAAM,UAAU,wBAAwB,CAAC,KAKxC;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAChC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACrD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,mCAAmC,CACrD,MAAM,CAAC,YAAY,EACnB,SAAS,EACT,KAAK,EACL,KAAK,CAAC,GAAG,CACV,CAAC;QACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YAC5E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,IACE,KAAK,CAAC,UAAU,KAAK,oBAAoB;YACzC,CAAC,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,kBAAkB,KAAK,SAAS,CAAC,EAClF,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,gCAAgC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;aACrF,CAAC;QACJ,CAAC;QACD,IACE,KAAK,CAAC,UAAU,KAAK,eAAe;YACpC,CAAC,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,kBAAkB,KAAK,SAAS,CAAC,EAClF,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAoB;IAC7D,IAAI,KAAK,CAAC,UAAU,KAAK,oBAAoB,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;SACrC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAmE,EACnE,WAA+C,EAC/C,YAA2B;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkC,CAAC;IACzD,MAAM,kBAAkB,GAAG,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI;QAC1G,CAAC,CAAC,OAAO,CAAC,eAAe,CAA4B;QACrD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,OAAO,kBAAkB,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI;QAC9G,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAA4B;QACzD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,cAAc,IAAI,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,gBAAgB;QAC3H,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,YAAY,EAAE,CAAC,YAAY,CAAC,KAAK,QAAQ;QAChE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAC5B,CAAC,CAAC,OAAO,kBAAkB,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ;YACrD,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,WAAW;QACrB,eAAe,EAAE,aAAa;QAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,YAAY;QAC1C,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YAC1D,MAAM,EAAE,gCAAgC;YACxC,mBAAmB,EAAE,WAAW,CAAC,MAAM;YACvC,oBAAoB,EAAE,WAAW,CAAC,OAAO;YACzC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;YACnF,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;SACzD;KACF,CAAC;AACJ,CAAC"}
import type { ActiveConfig, BrowserAnalyticsEventEnvelope, DebugBundleBrowserTransportEvent } from "./types.js";
export type BrowserTransportLaneName = "debug" | "analytics";
interface BrowserEventTransportCallbacks {
onDebugResponse(payload: unknown): void;
onUnauthorized(lane: BrowserTransportLaneName, statusCode: 401 | 403, endpoint: string, body: unknown): void;
}
export declare class BrowserEventTransport {
private readonly callbacks;
private config;
private debug;
private analytics;
constructor(callbacks: BrowserEventTransportCallbacks);
configure(config: ActiveConfig): void;
get debugRejected(): boolean;
get status(): "healthy" | "degraded" | "disconnected";
get lastEventAt(): number | null;
enqueueDebug(event: DebugBundleBrowserTransportEvent): void;
enqueueAnalytics(event: BrowserAnalyticsEventEnvelope): void;
flush(): Promise<void>;
scheduleDebug(delayMs?: number): void;
flushViaBeacon(): void;
reset(): void;
private enqueue;
private flushLane;
private schedule;
private flushLaneViaBeacon;
private getLane;
private clearLaneTimer;
}
export {};
//# sourceMappingURL=event-transport.d.ts.map
{"version":3,"file":"event-transport.d.ts","sourceRoot":"","sources":["../src/event-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,6BAA6B,EAC7B,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,WAAW,CAAC;AAY7D,UAAU,8BAA8B;IACtC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,cAAc,CACZ,IAAI,EAAE,wBAAwB,EAC9B,UAAU,EAAE,GAAG,GAAG,GAAG,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,GACZ,IAAI,CAAC;CACT;AAcD,qBAAa,qBAAqB;IAKb,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ7C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAgB;gBAEG,SAAS,EAAE,8BAA8B;IAEtE,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAK5C,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,MAAM,IAAI,SAAS,GAAG,UAAU,GAAG,cAAc,CAK3D;IAED,IAAW,WAAW,IAAI,MAAM,GAAG,IAAI,CAKtC;IAEM,YAAY,CAAC,KAAK,EAAE,gCAAgC,GAAG,IAAI;IAI3D,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAItD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrC,cAAc,IAAI,IAAI;IAKtB,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,OAAO;YAiBD,SAAS;IA+DvB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;CAMvB"}
import { buildBrowserTransportRequestBody, getNavigatorSource } from "./runtime.js";
function createLane() {
return {
events: [],
flushPromise: null,
timer: null,
nextRetryAt: null,
consecutiveFailures: 0,
rejected: false,
lastEventAt: null
};
}
export class BrowserEventTransport {
callbacks;
config = null;
debug = createLane();
analytics = createLane();
constructor(callbacks) {
this.callbacks = callbacks;
}
configure(config) {
this.reset();
this.config = config;
}
get debugRejected() {
return this.debug.rejected;
}
get status() {
if (this.config === null || this.debug.rejected || this.debug.consecutiveFailures >= 3) {
return "disconnected";
}
return this.debug.nextRetryAt === null ? "healthy" : "degraded";
}
get lastEventAt() {
const values = [this.debug.lastEventAt, this.analytics.lastEventAt].filter((value) => value !== null);
return values.length === 0 ? null : Math.max(...values);
}
enqueueDebug(event) {
this.enqueue("debug", event);
}
enqueueAnalytics(event) {
this.enqueue("analytics", event);
}
async flush() {
await Promise.all([
this.flushLane("debug"),
this.flushLane("analytics")
]);
}
scheduleDebug(delayMs) {
this.schedule("debug", delayMs);
}
flushViaBeacon() {
this.flushLaneViaBeacon("debug");
this.flushLaneViaBeacon("analytics");
}
reset() {
this.clearLaneTimer(this.debug);
this.clearLaneTimer(this.analytics);
this.debug = createLane();
this.analytics = createLane();
this.config = null;
}
enqueue(laneName, event) {
const config = this.config;
const lane = this.getLane(laneName);
if (config === null || lane.rejected) {
return;
}
lane.events.push(event);
if (lane.events.length >= config.batchSize) {
queueMicrotask(() => {
void this.flushLane(laneName);
});
return;
}
this.schedule(laneName);
}
async flushLane(laneName) {
const config = this.config;
const lane = this.getLane(laneName);
if (config === null || lane.events.length === 0 || lane.rejected) {
return;
}
if (lane.flushPromise !== null) {
return lane.flushPromise;
}
if (lane.nextRetryAt !== null && Date.now() < lane.nextRetryAt) {
return;
}
this.clearLaneTimer(lane);
const events = [...lane.events];
lane.flushPromise = (async () => {
try {
const response = await config.transport({
endpoint: config.endpoint,
headers: getTransportHeaders(config),
events,
transportMode: config.transportMode,
timeout_ms: config.requestTimeoutMs
});
if (response.status >= 200 && response.status < 300) {
if (laneName === "debug") {
this.callbacks.onDebugResponse(response.body);
}
lane.nextRetryAt = null;
lane.lastEventAt = Date.now();
lane.consecutiveFailures = 0;
removeLeadingEvents(lane, events);
return;
}
lane.consecutiveFailures += 1;
if (response.status === 401 || response.status === 403) {
lane.rejected = true;
lane.nextRetryAt = null;
lane.events = [];
this.callbacks.onUnauthorized(laneName, response.status, config.endpoint, response.body);
return;
}
if (response.status === 429) {
lane.nextRetryAt = Date.now() + (response.retry_after_ms ?? 1_000);
}
}
catch {
lane.consecutiveFailures += 1;
}
finally {
lane.flushPromise = null;
if (lane.events.length > 0 && !lane.rejected) {
const retryDelay = lane.nextRetryAt === null
? undefined
: Math.max(0, lane.nextRetryAt - Date.now());
this.schedule(laneName, retryDelay);
}
}
})();
return lane.flushPromise;
}
schedule(laneName, delayMs) {
const config = this.config;
const lane = this.getLane(laneName);
if (config === null || lane.rejected) {
return;
}
this.clearLaneTimer(lane);
lane.timer = setTimeout(() => {
lane.timer = null;
void this.flushLane(laneName);
}, delayMs ?? config.flushInterval);
}
flushLaneViaBeacon(laneName) {
const config = this.config;
const lane = this.getLane(laneName);
const navigatorSource = getNavigatorSource();
if (config === null || lane.events.length === 0 || lane.rejected || navigatorSource === null) {
return;
}
const pendingEvents = [...lane.events];
const body = buildBrowserTransportRequestBody(config.transportMode, pendingEvents);
const flushViaKeepalive = () => {
if (config.fetchImpl === null) {
void this.flushLane(laneName);
return;
}
void config.fetchImpl(config.endpoint, {
method: "POST",
headers: getTransportHeaders(config),
body,
keepalive: true
}).then((response) => {
if (response.status >= 200 && response.status < 300) {
removeLeadingEvents(lane, pendingEvents);
lane.nextRetryAt = null;
this.clearLaneTimer(lane);
}
}).catch(() => undefined);
};
if (typeof navigatorSource.sendBeacon !== "function") {
flushViaKeepalive();
return;
}
const beaconBody = typeof Blob === "function"
? new Blob([body], { type: "application/json" })
: body;
if (navigatorSource.sendBeacon(config.endpoint, beaconBody)) {
lane.events = [];
lane.nextRetryAt = null;
this.clearLaneTimer(lane);
return;
}
flushViaKeepalive();
}
getLane(name) {
return name === "debug" ? this.debug : this.analytics;
}
clearLaneTimer(lane) {
if (lane.timer !== null) {
clearTimeout(lane.timer);
lane.timer = null;
}
}
}
function removeLeadingEvents(lane, events) {
if (lane.events.length >= events.length &&
events.every((event, index) => lane.events[index]?.event_id === event.event_id)) {
lane.events.splice(0, events.length);
}
}
function getTransportHeaders(config) {
return config.projectToken === null
? { "content-type": "application/json" }
: {
"content-type": "application/json",
authorization: `Bearer ${config.projectToken}`
};
}
//# sourceMappingURL=event-transport.js.map
{"version":3,"file":"event-transport.js","sourceRoot":"","sources":["../src/event-transport.ts"],"names":[],"mappings":"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"}
import { type JsonValue } from "@debugbundle/redaction";
import type { ActiveConfig, BrowserProbeBufferItem, BrowserRemoteAnalyticsConfig, BrowserRemoteProbeDirective, BrowserRemoteProbeState } from "./types.js";
interface BrowserProbeControllerHost {
getConfig(): ActiveConfig | null;
isDebugRejected(): boolean;
isSessionSampledIn(): boolean;
emitProbeEvent(input: {
label: string;
data: Record<string, unknown>;
directive: BrowserRemoteProbeDirective;
}): void;
applyRemoteAnalytics(config: BrowserRemoteAnalyticsConfig): void;
}
export declare class BrowserProbeController {
private readonly host;
private buffers;
private remoteState;
private pendingTriggerToken;
private activeTriggerDirective;
constructor(host: BrowserProbeControllerHost);
get state(): BrowserRemoteProbeState;
initialize(): Promise<void>;
reset(): void;
capture(label: string, data: unknown): void;
consumeBufferedData(): {
version: 1;
items: BrowserProbeBufferItem[];
};
updateFromIngestionResponse(payload: unknown): void;
private buffer;
private refreshRemoteConfig;
private pruneExpiredDirectives;
private activatePendingTriggerToken;
private getMatchingDirectives;
}
export declare function normalizeProbeInput(data: unknown): Record<string, JsonValue>;
export declare function matchesProbeLabelPattern(pattern: string, label: string): boolean;
export {};
//# sourceMappingURL=probes.d.ts.map
{"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../src/probes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAchE,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,UAAU,0BAA0B;IAClC,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC;IAC3B,kBAAkB,IAAI,OAAO,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,2BAA2B,CAAC;KACxC,GAAG,IAAI,CAAC;IACT,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAC;CAClE;AAED,qBAAa,sBAAsB;IAMd,OAAO,CAAC,QAAQ,CAAC,IAAI;IALxC,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,WAAW,CAA4D;IAC/E,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,sBAAsB,CAA4C;gBAEtC,IAAI,EAAE,0BAA0B;IAEpE,IAAW,KAAK,IAAI,uBAAuB,CAE1C;IAEM,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IA0B3C,mBAAmB,IAAI;QAAE,OAAO,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,sBAAsB,EAAE,CAAA;KAAE;IAMtE,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ1D,OAAO,CAAC,MAAM;YAsBA,mBAAmB;IAmCjC,OAAO,CAAC,sBAAsB;YAUhB,2BAA2B;IAazC,OAAO,CAAC,qBAAqB;CAoB9B;AAqBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAK5E;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAShF"}
import { redact } from "@debugbundle/redaction";
import { parseRemoteCaptureRulesPayload } from "./capture-rules.js";
import { createInitialRemoteProbeState } from "./capture-helpers.js";
import { deriveSdkConfigEndpoint, getHistorySource, getLocationSource, normalizeUnknownRecord, parseIngestionProbeDirectives, parseRemoteAnalyticsConfigPayload, parseRemoteProbeConfigPayload } from "./runtime.js";
import { validateBrowserTriggerToken } from "./trigger-token.js";
export class BrowserProbeController {
host;
buffers = new Map();
remoteState = createInitialRemoteProbeState();
pendingTriggerToken = null;
activeTriggerDirective = null;
constructor(host) {
this.host = host;
}
get state() {
return this.remoteState;
}
initialize() {
this.pendingTriggerToken = consumeTriggerTokenFromLocation();
return this.refreshRemoteConfig();
}
reset() {
this.buffers = new Map();
this.remoteState = createInitialRemoteProbeState();
this.pendingTriggerToken = null;
this.activeTriggerDirective = null;
}
capture(label, data) {
const config = this.host.getConfig();
const normalizedLabel = label.trim();
if (config === null || normalizedLabel.length === 0) {
return;
}
try {
const redacted = redact(normalizeProbeInput(data), {
sensitiveKeys: config.redactFields
}).redacted;
const probeData = normalizeUnknownRecord(redacted);
this.buffer(normalizedLabel, probeData);
const matchingDirectives = this.getMatchingDirectives(normalizedLabel, Date.now());
if (!this.host.isSessionSampledIn()) {
return;
}
for (const directive of matchingDirectives) {
this.host.emitProbeEvent({ label: normalizedLabel, data: probeData, directive });
}
}
catch {
return;
}
}
consumeBufferedData() {
const items = Array.from(this.buffers.values()).flatMap((buffer) => buffer);
this.buffers.clear();
return { version: 1, items };
}
updateFromIngestionResponse(payload) {
const directives = parseIngestionProbeDirectives(payload, Date.now());
if (directives !== null) {
this.remoteState = { ...this.remoteState, directives };
}
this.pruneExpiredDirectives(Date.now());
}
buffer(label, data) {
const config = this.host.getConfig();
if (config === null || this.host.isDebugRejected()) {
return;
}
if (!this.buffers.has(label) && this.buffers.size >= config.maxProbeLabels) {
return;
}
const buffer = this.buffers.get(label) ?? [];
buffer.push({
label,
data,
timestamp: new Date().toISOString(),
activation_id: null
});
while (buffer.length > config.maxProbeEntriesPerLabel) {
buffer.shift();
}
this.buffers.set(label, buffer);
}
async refreshRemoteConfig() {
const config = this.host.getConfig();
if (config === null || config.fetchImpl === null || config.transportMode !== "direct" || config.projectToken === null) {
return;
}
try {
const response = await config.fetchImpl(deriveSdkConfigEndpoint(config.endpoint), {
method: "GET",
headers: {
authorization: `Bearer ${config.projectToken}`,
...(config.requestsAnalyticsConfig ? { "x-debugbundle-analytics-config": "1" } : {})
}
});
if (response.status === 304 || typeof response.json !== "function") {
return;
}
const payload = await response.json();
const analyticsConfig = parseRemoteAnalyticsConfigPayload(payload);
if (analyticsConfig !== null) {
this.host.applyRemoteAnalytics(analyticsConfig);
}
const parsed = parseRemoteProbeConfigPayload(payload, Date.now());
if (parsed !== null) {
this.remoteState = parsed;
this.pruneExpiredDirectives(Date.now());
await this.activatePendingTriggerToken();
}
config.captureRules = parseRemoteCaptureRulesPayload(payload);
}
catch {
return;
}
}
pruneExpiredDirectives(nowMs) {
const directives = this.remoteState.directives.filter((directive) => Date.parse(directive.expiresAt) > nowMs);
if (this.activeTriggerDirective !== null && Date.parse(this.activeTriggerDirective.expiresAt) <= nowMs) {
this.activeTriggerDirective = null;
}
if (directives.length !== this.remoteState.directives.length) {
this.remoteState = { ...this.remoteState, directives };
}
}
async activatePendingTriggerToken() {
if (this.pendingTriggerToken === null) {
return;
}
const directive = await validateBrowserTriggerToken({
token: this.pendingTriggerToken,
triggerTokenKey: this.remoteState.triggerTokenKey,
nowMs: Date.now()
});
this.pendingTriggerToken = null;
this.activeTriggerDirective = directive;
}
getMatchingDirectives(label, nowMs) {
const config = this.host.getConfig();
if (config === null || !this.remoteState.probesEnabled || !this.remoteState.remoteProbesEnabled) {
return [];
}
this.pruneExpiredDirectives(nowMs);
const activeDirectives = this.activeTriggerDirective === null
? this.remoteState.directives
: [...this.remoteState.directives, this.activeTriggerDirective];
return activeDirectives.filter((directive) => {
if (directive.service !== "*" && directive.service !== config.service) {
return false;
}
if (directive.environment !== "*" && directive.environment !== config.environment) {
return false;
}
return matchesProbeLabelPattern(directive.labelPattern, label);
});
}
}
function consumeTriggerTokenFromLocation() {
const locationSource = getLocationSource();
const search = typeof locationSource?.search === "string" ? locationSource.search : "";
if (search.length === 0) {
return null;
}
const params = new URLSearchParams(search.startsWith("?") ? search.slice(1) : search);
const token = params.get("_debug_probe");
if (token === null || token.length === 0) {
return null;
}
params.delete("_debug_probe");
const cleanedPath = `${locationSource?.pathname ?? ""}${params.toString().length > 0 ? `?${params.toString()}` : ""}`;
getHistorySource()?.replaceState({}, "", cleanedPath);
return token;
}
export function normalizeProbeInput(data) {
if (data === null || typeof data !== "object" || Array.isArray(data)) {
return { value: data };
}
return data;
}
export function matchesProbeLabelPattern(pattern, label) {
if (pattern === "*") {
return true;
}
if (pattern.endsWith(".*")) {
const prefix = pattern.slice(0, -2);
return label === prefix || label.startsWith(`${prefix}.`);
}
return pattern === label;
}
//# sourceMappingURL=probes.js.map
{"version":3,"file":"probes.js","sourceRoot":"","sources":["../src/probes.ts"],"names":[],"mappings":"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"}
+10
-31
import { type BrowserLogLevel, type CaptureBrowserExceptionContext, type DebugBundleBrowserInitConfig, type DebugBundleBrowserSdk } from "./types.js";
export type { CaptureBrowserExceptionContext, DebugBundleBrowserInitConfig, DebugBundleBrowserSdk, BrowserRequestMetadata, DebugBundleBrowserTransport, DebugBundleBrowserTransportRequest, DebugBundleBrowserTransportResponse } from "./types.js";
export type { CaptureBrowserExceptionContext, DebugBundleBrowserInitConfig, DebugBundleBrowserSdk, DebugBundleBrowserAnalytics, DebugBundleBrowserAnalyticsConfig, DebugBundleBrowserTransportEvent, BrowserRequestMetadata, DebugBundleBrowserTransport, DebugBundleBrowserTransportRequest, DebugBundleBrowserTransportResponse } from "./types.js";
export type { BrowserBeforeSendHook } from "./before-send.js";
export declare class BrowserSdk implements DebugBundleBrowserSdk {
private config;
private bufferedEvents;
private breadcrumbs;
private persistentContext;
private deviceInfo;
private flushPromise;
private flushTimer;
private nextRetryAt;
private _lastEventAt;
private _consecutiveFailures;
private authRejected;
private browserSessionId;
private analyticsInitialization;
private registeredListeners;

@@ -25,7 +20,8 @@ private originalPushState;

private sessionEventCount;
private probeBuffers;
private readonly suppressionTracker;
private remoteProbeState;
private pendingTriggerToken;
private activeTriggerDirective;
private readonly probeController;
private readonly eventTransport;
private readonly analyticsController;
readonly analytics: import("./types.js").DebugBundleBrowserAnalytics;
private get remoteProbeState();
get status(): "healthy" | "degraded" | "disconnected";

@@ -47,7 +43,6 @@ get lastEventAt(): number | null;

private addBreadcrumb;
private bufferProbe;
private consumeProbeData;
private consumeBreadcrumbs;
private captureRouteChange;
private createBreadcrumbEvent;
private emitProbeEvent;
private captureNetworkRequestFailure;

@@ -57,30 +52,14 @@ private resolveRequestTarget;

private enqueueEvent;
private applyCaptureRulesToEvent;
private createDemotedExceptionBreadcrumb;
private enqueueAnalyticsEvent;
private enqueueInternalEvent;
private buildSuppressionKey;
private shouldCaptureBySampleRate;
private scheduleFlush;
private clearFlushTimer;
private flushViaBeacon;
private sameLeadingEvents;
private shouldCaptureNonExceptionEvent;
private shouldCaptureBreadcrumb;
private getProjectTokenFields;
private getTransportHeaders;
private createSdkEventEnvelope;
private removeEmptyProjectToken;
private enqueueSuppressionAggregates;
private shouldCaptureNetworkRequest;
private shouldCaptureFailedNetworkRequest;
private pruneExpiredRemoteProbeDirectives;
private refreshRemoteProbeConfig;
private updateRemoteProbeStateFromIngestionResponse;
private consumeTriggerTokenFromLocation;
private activatePendingTriggerTokenIfPossible;
private normalizeProbeInput;
private getMatchingRemoteProbeDirectives;
private matchesProbeLabelPattern;
}
export declare function createDebugBundleBrowserSdk(): DebugBundleBrowserSdk;
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
import { redact } from "@debugbundle/redaction";
import { createEventEnvelope } from "@debugbundle/shared-types";
import { BrowserAnalyticsController } from "./analytics.js";
import { applyBrowserBeforeSend } from "./before-send.js";
import { evaluateBrowserCaptureRulesForEvent, parseRemoteCaptureRulesPayload } from "./capture-rules.js";
import { isImmediateRequestIncidentStatus, normalizeUnhandledRejectionReason, shouldCaptureBrowserNetworkRequest, shouldCaptureFailedBrowserNetworkRequest, shouldCaptureRequestStatus } from "./capture-helpers.js";
import { applyBrowserCaptureRules, buildBrowserSuppressionKey } from "./event-pipeline.js";
import { collectDeviceInfo, installConsoleHook, installNetworkHook } from "./hooks.js";
import { EventSuppressionTracker } from "./suppression.js";
import { validateBrowserTriggerToken } from "./trigger-token.js";
import { buildSelector, buildBrowserTransportRequestBody, createFetchTransport, deriveSdkConfigEndpoint, getConsoleSource, getDocumentSource, getFetchSource, getHistorySource, getLocationSource, getNavigatorSource, getWindowSource, matchesBrowserPattern, matchesStatusCodeFilter, normalizeBrowserErrorEvent, normalizeBoolean, normalizeError, normalizeLogLevel, normalizeNetworkFilter, normalizePositiveNumber, normalizeSampleRate, normalizeTracePropagationTargets, normalizeUnknownRecord, parseIngestionProbeDirectives, parseRemoteProbeConfigPayload, resolveBrowserTransport, } from "./runtime.js";
import { BrowserEventTransport } from "./event-transport.js";
import { BrowserProbeController } from "./probes.js";
import { buildSelector, createFetchTransport, getConsoleSource, getDocumentSource, getFetchSource, getHistorySource, getLocationSource, getWindowSource, createBrowserTraceId, normalizeBrowserErrorEvent, normalizeBoolean, normalizeError, normalizeLogLevel, normalizeNetworkFilter, normalizePositiveNumber, normalizeSampleRate, normalizeTracePropagationTargets, normalizeUnknownRecord, resolveBrowserTransport, } from "./runtime.js";
import { DEFAULT_BATCH_SIZE, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_LOG_LEVEL, DEFAULT_MAX_BREADCRUMBS, DEFAULT_MAX_EVENTS_PER_SESSION, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_SAMPLE_RATE, DEFAULT_SESSION_SAMPLE_RATE, LOG_LEVEL_ORDER, SDK_NAME, SDK_SCHEMA_VERSION, SDK_VERSION } from "./types.js";
const DEFAULT_REQUEST_FAILURE_PRESET = "balanced";
const DEFAULT_REQUEST_CAPTURE_EVENTS = "failures_only";
const DEFAULT_IMMEDIATE_CLIENT_ERROR_STATUSES = [];
const MAX_REJECTION_REASON_PREVIEW_LENGTH = 500;
function createInitialRemoteProbeState() {
return {
probesEnabled: false,
remoteProbesEnabled: false,
directives: [],
triggerTokenKey: null,
requestFailurePreset: DEFAULT_REQUEST_FAILURE_PRESET,
requestCaptureEvents: DEFAULT_REQUEST_CAPTURE_EVENTS,
immediateClientErrorStatuses: [...DEFAULT_IMMEDIATE_CLIENT_ERROR_STATUSES],
immediateClientErrorPathRules: []
};
}
function truncateRejectionReasonPreview(value) {
return value.length > MAX_REJECTION_REASON_PREVIEW_LENGTH
? `${value.slice(0, MAX_REJECTION_REASON_PREVIEW_LENGTH)}[truncated]`
: value;
}
function readReasonStringField(record, key) {
const value = record[key];
return typeof value === "string" && value.trim().length > 0
? truncateRejectionReasonPreview(value.trim())
: undefined;
}
function normalizeUnhandledRejectionReason(reason) {
if (reason instanceof Error) {
return {
error: reason,
rejectionReason: {
kind: "error",
name: reason.name || "Error",
message: truncateRejectionReasonPreview(reason.message || "Unknown rejection error")
}
};
}
if (typeof reason === "string") {
const preview = truncateRejectionReasonPreview(reason.length > 0 ? reason : "[empty string]");
return {
error: new Error(reason.length > 0 ? reason : "Unhandled promise rejection"),
rejectionReason: { kind: "string", preview }
};
}
if (reason === null) {
return {
error: new Error("Unhandled promise rejection: null"),
rejectionReason: { kind: "null", preview: "null" }
};
}
if (reason === undefined) {
return {
error: new Error("Unhandled promise rejection: undefined"),
rejectionReason: { kind: "undefined", preview: "undefined" }
};
}
const record = normalizeUnknownRecord(reason);
const name = readReasonStringField(record, "name");
const message = readReasonStringField(record, "message");
const constructorName = typeof reason === "object" && reason !== null && "constructor" in reason
? reason.constructor?.name
: undefined;
const preview = typeof constructorName === "string" && constructorName.length > 0 ? constructorName : "object";
return {
error: new Error(message ?? "Unhandled promise rejection"),
rejectionReason: {
kind: "object",
...(name === undefined ? {} : { name }),
...(message === undefined ? {} : { message }),
preview
}
};
}
const BALANCED_IMMEDIATE_REQUEST_STATUSES = new Set([408, 423, 424, 425, 429]);
const INVESTIGATIVE_IMMEDIATE_REQUEST_STATUSES = new Set([...BALANCED_IMMEDIATE_REQUEST_STATUSES, 409]);
function isImmediateRequestIncidentStatus(statusCode, preset, immediateClientErrorStatuses = [], requestPath, httpMethod, immediateClientErrorPathRules = []) {
if (!Number.isFinite(statusCode)) {
return false;
}
if (statusCode >= 500) {
return true;
}
if (immediateClientErrorStatuses.includes(statusCode)) {
return true;
}
if (matchesImmediateClientErrorPathRule(statusCode, requestPath, httpMethod, immediateClientErrorPathRules)) {
return true;
}
if (preset === "investigative") {
return INVESTIGATIVE_IMMEDIATE_REQUEST_STATUSES.has(statusCode);
}
if (preset === "balanced") {
return BALANCED_IMMEDIATE_REQUEST_STATUSES.has(statusCode);
}
return false;
}
function matchesImmediateClientErrorPathRule(statusCode, requestPath, httpMethod, rules) {
if (statusCode < 400 || statusCode > 499 || requestPath === undefined) {
return false;
}
const normalizedPath = normalizeRequestPath(requestPath);
const normalizedMethod = typeof httpMethod === "string" ? httpMethod.toUpperCase() : null;
return rules.some((rule) => {
if (rule.statusCode !== statusCode) {
return false;
}
if (rule.methods.length > 0 && (normalizedMethod === null || !rule.methods.includes(normalizedMethod))) {
return false;
}
if (rule.pathPattern.endsWith("*")) {
return normalizedPath.startsWith(rule.pathPattern.slice(0, -1));
}
return normalizedPath === rule.pathPattern;
});
}
function normalizeRequestPath(value) {
try {
return new URL(value, getLocationSource()?.href ?? "https://debugbundle.local").pathname || "/";
}
catch {
const queryIndex = value.indexOf("?");
const fragmentIndex = value.indexOf("#");
const end = queryIndex === -1 ? (fragmentIndex === -1 ? value.length : fragmentIndex) : fragmentIndex === -1 ? queryIndex : Math.min(queryIndex, fragmentIndex);
const path = value.slice(0, end);
return path.startsWith("/") && path.length > 0 ? path : "/";
}
}
function shouldCaptureRequestStatus(statusCode, preset, policy, immediateClientErrorStatuses = [], requestPath, httpMethod, immediateClientErrorPathRules = []) {
if (isImmediateRequestIncidentStatus(statusCode, preset, immediateClientErrorStatuses, requestPath, httpMethod, immediateClientErrorPathRules)) {
return true;
}
if (policy === "all") {
return Number.isFinite(statusCode) && statusCode >= 400;
}
if (policy === "failures_only") {
return statusCode >= 500;
}
return false;
}
export class BrowserSdk {
config = null;
bufferedEvents = [];
breadcrumbs = [];
persistentContext = {};
deviceInfo = null;
flushPromise = null;
flushTimer = null;
nextRetryAt = null;
_lastEventAt = null;
_consecutiveFailures = 0;
authRejected = false;
browserSessionId = null;
analyticsInitialization = null;
registeredListeners = [];

@@ -171,24 +29,32 @@ originalPushState = null;

sessionEventCount = 0;
probeBuffers = new Map();
suppressionTracker = new EventSuppressionTracker();
remoteProbeState = createInitialRemoteProbeState();
pendingTriggerToken = null;
activeTriggerDirective = null;
get status() {
if (this.config === null) {
return "disconnected";
probeController = new BrowserProbeController({
getConfig: () => this.config,
isDebugRejected: () => this.eventTransport.debugRejected,
isSessionSampledIn: () => this.sessionSampledIn,
emitProbeEvent: ({ label, data, directive }) => this.emitProbeEvent(label, data, directive),
applyRemoteAnalytics: (config) => this.analyticsController.applyRemoteSettings(config)
});
eventTransport = new BrowserEventTransport({
onDebugResponse: (payload) => this.probeController.updateFromIngestionResponse(payload),
onUnauthorized: (lane, statusCode, endpoint, body) => {
this.reportUnauthorizedTransportFailure(lane, statusCode, endpoint, body);
}
if (this.authRejected) {
return "disconnected";
}
if (this._consecutiveFailures >= 3) {
return "disconnected";
}
if (this.nextRetryAt !== null) {
return "degraded";
}
return "healthy";
});
analyticsController = new BrowserAnalyticsController({
getConfig: () => this.config,
getDeviceInfo: () => this.deviceInfo,
getCurrentRoute: () => this.getCurrentRoute(),
getSessionId: () => this.browserSessionId ?? createBrowserTraceId(),
enqueue: (event) => this.enqueueAnalyticsEvent(event)
});
analytics = this.analyticsController.api;
get remoteProbeState() {
return this.probeController.state;
}
get status() {
return this.eventTransport.status;
}
get lastEventAt() {
return this._lastEventAt;
return this.eventTransport.lastEventAt;
}

@@ -231,2 +97,3 @@ init(config) {

requestTimeoutMs: normalizePositiveNumber(config.requestTimeoutMs, DEFAULT_REQUEST_TIMEOUT_MS),
requestsAnalyticsConfig: config.analytics?.enabled === true,
captureRules: [],

@@ -238,9 +105,27 @@ fetchImpl: getFetchSource(),

};
this.authRejected = false;
this.eventTransport.configure(this.config);
this.sessionSampledIn = this.config.sessionSampleRate >= 1 || Math.random() < this.config.sessionSampleRate;
this.sessionEventCount = 0;
this.browserSessionId = createBrowserTraceId();
this.deviceInfo = collectDeviceInfo();
this.pendingTriggerToken = this.consumeTriggerTokenFromLocation();
void this.refreshRemoteProbeConfig();
const deferAnalyticsCapture = this.config.requestsAnalyticsConfig &&
this.config.transportMode === "direct" &&
this.config.projectToken !== null &&
this.config.fetchImpl !== null;
this.analyticsController.configure(config.analytics, { deferCapture: deferAnalyticsCapture });
const remoteInitialization = this.probeController.initialize();
this.installBrowserHooks();
if (deferAnalyticsCapture) {
const activeConfig = this.config;
this.analyticsInitialization = remoteInitialization.finally(() => {
if (this.config !== activeConfig) {
return;
}
this.analyticsController.markCaptureReady();
});
}
else {
this.analyticsController.captureSessionStart();
this.analyticsController.captureInitialPageView();
}
}

@@ -257,3 +142,5 @@ captureException(error, context = {}) {

const breadcrumbs = this.consumeBreadcrumbs();
const probeData = config.probeFlushOnError ? this.consumeProbeData() : { version: 1, items: [] };
const probeData = config.probeFlushOnError
? this.probeController.consumeBufferedData()
: { version: 1, items: [] };
const domContext = typeof context.target?.outerHTML === "string" && context.target.outerHTML.length > 0

@@ -381,129 +268,22 @@ ? {

probe(label, data) {
const config = this.config;
const normalizedLabel = label.trim();
if (config === null || normalizedLabel.length === 0) {
return;
}
try {
const redacted = redact(this.normalizeProbeInput(data), {
sensitiveKeys: config.redactFields
}).redacted;
const probeData = normalizeUnknownRecord(redacted);
this.bufferProbe(normalizedLabel, probeData);
const matchingDirectives = this.getMatchingRemoteProbeDirectives(normalizedLabel, Date.now());
if (!this.sessionSampledIn || matchingDirectives.length === 0) {
return;
}
for (const directive of matchingDirectives) {
this.enqueueEvent(this.createSdkEventEnvelope(config, {
schema_version: SDK_SCHEMA_VERSION,
event_type: "probe_event",
...this.getProjectTokenFields(config),
sdk_name: SDK_NAME,
sdk_version: SDK_VERSION,
service: {
name: config.service,
runtime: "browser",
framework: null,
environment: config.environment
},
occurred_at: new Date().toISOString(),
correlation: this.createCorrelation(),
payload: {
label: normalizedLabel,
data: probeData,
activation_id: directive.activationId,
probe_label_pattern: directive.labelPattern
}
}), false);
}
}
catch {
return;
}
this.probeController.capture(label, data);
}
async flush() {
const config = this.config;
if (config === null) {
return;
}
await this.analyticsInitialization;
this.enqueueSuppressionAggregates();
if (this.bufferedEvents.length === 0) {
return;
}
if (this.flushPromise !== null) {
return this.flushPromise;
}
if (this.nextRetryAt !== null && Date.now() < this.nextRetryAt) {
return;
}
if (this.authRejected) {
return;
}
this.clearFlushTimer();
const events = [...this.bufferedEvents];
this.flushPromise = (async () => {
try {
const response = await config.transport({
endpoint: config.endpoint,
headers: this.getTransportHeaders(config),
events,
transportMode: config.transportMode,
timeout_ms: config.requestTimeoutMs
});
if (response.status >= 200 && response.status < 300) {
this.updateRemoteProbeStateFromIngestionResponse(response.body);
this.nextRetryAt = null;
this._lastEventAt = Date.now();
this._consecutiveFailures = 0;
if (this.bufferedEvents === events || this.sameLeadingEvents(events)) {
this.bufferedEvents.splice(0, events.length);
}
return;
}
this._consecutiveFailures++;
if (response.status === 401 || response.status === 403) {
this.authRejected = true;
this.nextRetryAt = null;
this.reportUnauthorizedTransportFailure(response.status, config.endpoint, response.body);
this.bufferedEvents = [];
return;
}
if (response.status === 429) {
this.nextRetryAt = Date.now() + (response.retry_after_ms ?? 1_000);
}
}
catch {
this._consecutiveFailures++;
return;
}
finally {
this.flushPromise = null;
if (this.bufferedEvents.length > 0) {
const retryDelay = this.nextRetryAt === null ? undefined : Math.max(0, this.nextRetryAt - Date.now());
this.scheduleFlush(retryDelay);
}
}
})();
return this.flushPromise;
await this.eventTransport.flush();
}
dispose() {
this.clearFlushTimer();
this.flushPromise = null;
this.bufferedEvents = [];
this.eventTransport.reset();
this.breadcrumbs = [];
this.probeBuffers = new Map();
this.persistentContext = {};
this.deviceInfo = null;
this.browserSessionId = null;
this.analyticsInitialization = null;
this.config = null;
this.sessionSampledIn = true;
this.sessionEventCount = 0;
this.nextRetryAt = null;
this._lastEventAt = null;
this._consecutiveFailures = 0;
this.authRejected = false;
this.suppressionTracker.reset();
this.remoteProbeState = createInitialRemoteProbeState();
this.pendingTriggerToken = null;
this.activeTriggerDirective = null;
this.probeController.reset();
this.analyticsController.reset();
while (this.registeredListeners.length > 0) {

@@ -539,3 +319,3 @@ this.registeredListeners.pop()?.();

}
reportUnauthorizedTransportFailure(statusCode, endpoint, body) {
reportUnauthorizedTransportFailure(lane, statusCode, endpoint, body) {
const consoleSource = getConsoleSource();

@@ -548,3 +328,4 @@ if (consoleSource === null) {

const detail = errorCode === null ? "" : ` (${errorCode})`;
const message = `DebugBundle browser SDK disabled after ingestion returned ${statusCode} for ${endpoint}. ` +
const laneLabel = lane === "debug" ? "browser SDK" : "browser analytics";
const message = `DebugBundle ${laneLabel} disabled after ingestion returned ${statusCode} for ${endpoint}. ` +
`Check the project token or relay configuration${detail}.`;

@@ -560,3 +341,6 @@ if (typeof consoleSource.error === "function") {

if (windowSource !== null) {
const onPageHide = () => {
const onPageHide = (event) => {
if (normalizeUnknownRecord(event)["persisted"] !== true) {
this.analyticsController.captureSessionSummary();
}
this.flushViaBeacon();

@@ -589,17 +373,28 @@ };

const onClick = (event) => {
if (this.config?.captureClicks !== true) {
const captureDebugClick = this.config?.captureClicks === true;
const captureAnalyticsAction = this.analyticsController.shouldCaptureStructuralActions();
const captureAnalyticsFriction = this.analyticsController.shouldCaptureFrictionSignals();
if (!captureDebugClick && !captureAnalyticsAction && !captureAnalyticsFriction) {
return;
}
const target = normalizeUnknownRecord(normalizeUnknownRecord(event)["target"]);
const selector = buildSelector(target);
if (selector === null) {
return;
const targetIdentity = normalizeUnknownRecord(event)["target"];
const target = normalizeUnknownRecord(targetIdentity);
if (captureDebugClick) {
const selector = buildSelector(target);
if (selector !== null) {
this.addBreadcrumb({
ts: new Date().toISOString(),
breadcrumb_type: "click",
data: {
selector
}
});
}
}
this.addBreadcrumb({
ts: new Date().toISOString(),
breadcrumb_type: "click",
data: {
selector
}
});
if (captureAnalyticsAction) {
this.analyticsController.captureStructuralAction(target);
}
if (captureAnalyticsFriction) {
this.analyticsController.captureFrictionClick(target, targetIdentity);
}
};

@@ -656,3 +451,3 @@ const onSubmit = (event) => {

this.captureNetworkRequestFailure(breadcrumb);
}, (url, statusCode, durationMs) => this.shouldCaptureNetworkRequest(url, statusCode, durationMs), (url, durationMs) => this.shouldCaptureFailedNetworkRequest(url, durationMs), () => this.getCurrentRoute());
}, (url, statusCode, durationMs) => shouldCaptureBrowserNetworkRequest(this.config, url, statusCode, durationMs), (url, durationMs) => shouldCaptureFailedBrowserNetworkRequest(this.config, url, durationMs), () => this.getCurrentRoute());
this.originalFetch = networkHooks.originalFetch;

@@ -665,3 +460,3 @@ this.originalXmlHttpRequest = networkHooks.originalXmlHttpRequest;

trace_id: null,
session_id: null,
session_id: this.browserSessionId,
user_id_hash: null

@@ -672,3 +467,3 @@ };

const config = this.config;
if (config === null || this.authRejected || !this.shouldCaptureBreadcrumb()) {
if (config === null || this.eventTransport.debugRejected || !this.shouldCaptureBreadcrumb()) {
return;

@@ -686,30 +481,2 @@ }

}
bufferProbe(label, data) {
const config = this.config;
if (config === null || this.authRejected) {
return;
}
if (!this.probeBuffers.has(label) && this.probeBuffers.size >= config.maxProbeLabels) {
return;
}
const buffer = this.probeBuffers.get(label) ?? [];
buffer.push({
label,
data,
timestamp: new Date().toISOString(),
activation_id: null
});
while (buffer.length > config.maxProbeEntriesPerLabel) {
buffer.shift();
}
this.probeBuffers.set(label, buffer);
}
consumeProbeData() {
const items = Array.from(this.probeBuffers.values()).flatMap((buffer) => buffer);
this.probeBuffers.clear();
return {
version: 1,
items
};
}
consumeBreadcrumbs() {

@@ -740,2 +507,3 @@ const breadcrumbs = [...this.breadcrumbs];

});
this.analyticsController.captureRouteChange(route);
}

@@ -768,2 +536,29 @@ createBreadcrumbEvent(breadcrumb) {

}
emitProbeEvent(label, data, directive) {
const config = this.config;
if (config === null) {
return;
}
this.enqueueEvent(this.createSdkEventEnvelope(config, {
schema_version: SDK_SCHEMA_VERSION,
event_type: "probe_event",
...this.getProjectTokenFields(config),
sdk_name: SDK_NAME,
sdk_version: SDK_VERSION,
service: {
name: config.service,
runtime: "browser",
framework: null,
environment: config.environment
},
occurred_at: new Date().toISOString(),
correlation: this.createCorrelation(),
payload: {
label,
data,
activation_id: directive.activationId,
probe_label_pattern: directive.labelPattern
}
}), false);
}
captureNetworkRequestFailure(breadcrumb) {

@@ -840,3 +635,12 @@ const config = this.config;

}
const resolvedEvent = this.applyCaptureRulesToEvent(beforeSendEvent);
const captureRuleResult = applyBrowserCaptureRules({
config: this.config,
event: beforeSendEvent,
currentRoute: this.getCurrentRoute(),
now: new Date().toISOString()
});
if (captureRuleResult.breadcrumb !== null) {
this.addBreadcrumb(captureRuleResult.breadcrumb);
}
const resolvedEvent = captureRuleResult.event;
if (resolvedEvent === null) {

@@ -848,5 +652,5 @@ return;

}
const suppressionKey = this.buildSuppressionKey(resolvedEvent);
const suppressionKey = buildBrowserSuppressionKey(resolvedEvent);
if (suppressionKey !== null && !this.suppressionTracker.shouldCapture(suppressionKey, Date.now())) {
this.scheduleFlush();
this.eventTransport.scheduleDebug();
return;

@@ -856,71 +660,11 @@ }

}
applyCaptureRulesToEvent(event) {
const config = this.config;
if (config === null || config.captureRules.length === 0) {
return event;
}
const projectId = config.captureRules[0]?.project_id;
if (typeof projectId !== "string" || projectId.length === 0) {
return event;
}
try {
const captureRule = evaluateBrowserCaptureRulesForEvent(config.captureRules, projectId, event, new Date().toISOString());
if (captureRule === null) {
return event;
}
if (captureRule.outcome === "drop" || captureRule.outcome === "sampled_out") {
return null;
}
if (event.event_type === "frontend_exception" &&
(captureRule.outcome === "demote" || captureRule.sample_event_class === "context")) {
this.addBreadcrumb(this.createDemotedExceptionBreadcrumb(event, captureRule));
return null;
}
if (event.event_type === "request_event" &&
(captureRule.outcome === "demote" || captureRule.sample_event_class === "context")) {
return null;
}
}
catch {
return event;
}
return event;
enqueueAnalyticsEvent(event) {
this.eventTransport.enqueueAnalytics(event);
}
createDemotedExceptionBreadcrumb(event, captureRule) {
const payload = event.payload;
const browserEventRecord = typeof payload["browser_event"] === "object" && payload["browser_event"] !== null
? payload["browser_event"]
: null;
const targetRecord = typeof browserEventRecord?.["target"] === "object" && browserEventRecord["target"] !== null
? browserEventRecord["target"]
: null;
const browserEventKind = browserEventRecord?.["kind"] === "window_error" || browserEventRecord?.["kind"] === "resource_error"
? browserEventRecord["kind"]
: undefined;
const sourceUrl = typeof targetRecord?.["source_url"] === "string"
? targetRecord["source_url"]
: typeof browserEventRecord?.["file_name"] === "string"
? browserEventRecord["file_name"]
: null;
return {
ts: event.occurred_at,
breadcrumb_type: "console_log",
route: event.payload.route ?? this.getCurrentRoute(),
data: {
level: "error",
message: `${event.payload.name}: ${event.payload.message}`,
source: "capture_rule_demoted_exception",
capture_rule_action: captureRule.action,
capture_rule_outcome: captureRule.outcome,
...(browserEventKind === undefined ? {} : { browser_event_kind: browserEventKind }),
...(sourceUrl === null ? {} : { source_url: sourceUrl })
}
};
}
enqueueInternalEvent(event, countTowardSession = true, applyBeforeSend = true) {
const config = this.config;
if (config === null || this.authRejected) {
if (config === null || this.eventTransport.debugRejected) {
return;
}
if (applyBeforeSend) {
if (applyBeforeSend && event.event_type !== "analytics_event") {
const beforeSendEvent = applyBrowserBeforeSend(event, config.beforeSend);

@@ -932,43 +676,7 @@ if (beforeSendEvent === null) {

}
this.bufferedEvents.push(event);
this.eventTransport.enqueueDebug(event);
if (countTowardSession && event.event_type !== "frontend_exception") {
this.sessionEventCount += 1;
}
if (this.bufferedEvents.length >= config.batchSize) {
queueMicrotask(() => {
void this.flush();
});
return;
}
this.scheduleFlush();
}
buildSuppressionKey(event) {
if (event.event_type === "frontend_exception") {
const stackFrame = event.payload.stack.split("\n")[1]?.trim() ?? null;
return JSON.stringify({
event_type: event.event_type,
name: event.payload.name,
message: event.payload.message,
stack_frame: stackFrame,
route: event.payload.route
});
}
if (event.event_type === "log_event") {
return JSON.stringify({
event_type: event.event_type,
level: event.payload.level,
message: event.payload.message,
attributes: event.payload.attributes
});
}
if (event.event_type === "request_event") {
return JSON.stringify({
event_type: event.event_type,
method: event.payload.method,
path: event.payload.path,
response_status: event.payload.response_status
});
}
return null;
}
shouldCaptureBySampleRate(event) {

@@ -987,75 +695,6 @@ const config = this.config;

}
scheduleFlush(delayMs) {
const config = this.config;
if (config === null) {
return;
}
if (this.flushTimer !== null) {
clearTimeout(this.flushTimer);
this.flushTimer = null;
}
this.flushTimer = setTimeout(() => {
this.flushTimer = null;
void this.flush();
}, delayMs ?? config.flushInterval);
}
clearFlushTimer() {
if (this.flushTimer !== null) {
clearTimeout(this.flushTimer);
this.flushTimer = null;
}
}
flushViaBeacon() {
const config = this.config;
const navigatorSource = getNavigatorSource();
if (config === null || this.bufferedEvents.length === 0 || navigatorSource === null) {
return;
}
const pendingEvents = [...this.bufferedEvents];
const body = buildBrowserTransportRequestBody(config.transportMode, pendingEvents);
const flushViaKeepalive = () => {
if (config.fetchImpl === null) {
void this.flush();
return;
}
void config
.fetchImpl(config.endpoint, {
method: "POST",
headers: this.getTransportHeaders(config),
body,
keepalive: true
})
.then(() => {
if (this.bufferedEvents === pendingEvents || this.sameLeadingEvents(pendingEvents)) {
this.bufferedEvents.splice(0, pendingEvents.length);
}
this.nextRetryAt = null;
this.clearFlushTimer();
})
.catch(() => {
return;
});
};
if (typeof navigatorSource.sendBeacon !== "function") {
flushViaKeepalive();
return;
}
const beaconBody = typeof Blob === "function"
? new Blob([body], { type: "application/json" })
: body;
const accepted = navigatorSource.sendBeacon(config.endpoint, beaconBody);
if (accepted) {
this.bufferedEvents = [];
this.nextRetryAt = null;
this.clearFlushTimer();
return;
}
flushViaKeepalive();
this.analyticsController.prepareForUnload();
this.eventTransport.flushViaBeacon();
}
sameLeadingEvents(events) {
if (this.bufferedEvents.length < events.length) {
return false;
}
return events.every((event, index) => this.bufferedEvents[index]?.event_id === event.event_id);
}
shouldCaptureNonExceptionEvent() {

@@ -1079,13 +718,2 @@ const config = this.config;

}
getTransportHeaders(config) {
if (config.projectToken === null) {
return {
"content-type": "application/json"
};
}
return {
"content-type": "application/json",
authorization: `Bearer ${config.projectToken}`
};
}
createSdkEventEnvelope(config, input) {

@@ -1131,155 +759,2 @@ const event = createEventEnvelope(input);

}
shouldCaptureNetworkRequest(url, statusCode, durationMs) {
const config = this.config;
if (config === null) {
return false;
}
const filter = config.networkFilter;
if (filter.urlPatterns.length > 0 && !filter.urlPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
if (filter.urlDenyPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
if (filter.minResponseTime !== null && durationMs < filter.minResponseTime) {
return false;
}
return matchesStatusCodeFilter(statusCode, filter.statusCodes);
}
shouldCaptureFailedNetworkRequest(url, durationMs) {
const config = this.config;
if (config === null) {
return false;
}
const filter = config.networkFilter;
if (filter.urlPatterns.length > 0 && !filter.urlPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
if (filter.urlDenyPatterns.some((pattern) => matchesBrowserPattern(url, pattern))) {
return false;
}
if (filter.minResponseTime !== null && durationMs < filter.minResponseTime) {
return false;
}
return true;
}
pruneExpiredRemoteProbeDirectives(nowMs) {
const directives = this.remoteProbeState.directives.filter((directive) => Date.parse(directive.expiresAt) > nowMs);
if (this.activeTriggerDirective !== null && Date.parse(this.activeTriggerDirective.expiresAt) <= nowMs) {
this.activeTriggerDirective = null;
}
if (directives.length === this.remoteProbeState.directives.length) {
return;
}
this.remoteProbeState = {
...this.remoteProbeState,
directives
};
}
async refreshRemoteProbeConfig() {
const config = this.config;
if (config === null || config.fetchImpl === null || config.transportMode !== "direct" || config.projectToken === null) {
return;
}
try {
const response = await config.fetchImpl(deriveSdkConfigEndpoint(config.endpoint), {
method: "GET",
headers: {
authorization: `Bearer ${config.projectToken}`
}
});
if (response.status === 304 || typeof response.json !== "function") {
return;
}
const payload = await response.json();
const parsed = parseRemoteProbeConfigPayload(payload, Date.now());
if (parsed !== null) {
this.remoteProbeState = parsed;
this.pruneExpiredRemoteProbeDirectives(Date.now());
await this.activatePendingTriggerTokenIfPossible();
}
config.captureRules = parseRemoteCaptureRulesPayload(payload);
}
catch {
return;
}
}
updateRemoteProbeStateFromIngestionResponse(payload) {
const directives = parseIngestionProbeDirectives(payload, Date.now());
if (directives === null) {
this.pruneExpiredRemoteProbeDirectives(Date.now());
return;
}
this.remoteProbeState = {
...this.remoteProbeState,
directives
};
this.pruneExpiredRemoteProbeDirectives(Date.now());
}
consumeTriggerTokenFromLocation() {
const locationSource = getLocationSource();
const historySource = getHistorySource();
const search = typeof locationSource?.search === "string" ? locationSource.search : "";
if (search.length === 0) {
return null;
}
const params = new URLSearchParams(search.startsWith("?") ? search.slice(1) : search);
const token = params.get("_debug_probe");
if (token === null || token.length === 0) {
return null;
}
params.delete("_debug_probe");
const cleanedPath = `${locationSource?.pathname ?? ""}${params.toString().length > 0 ? `?${params.toString()}` : ""}`;
historySource?.replaceState({}, "", cleanedPath);
return token;
}
async activatePendingTriggerTokenIfPossible() {
if (this.pendingTriggerToken === null) {
return;
}
const directive = await validateBrowserTriggerToken({
token: this.pendingTriggerToken,
triggerTokenKey: this.remoteProbeState.triggerTokenKey,
nowMs: Date.now()
});
this.pendingTriggerToken = null;
this.activeTriggerDirective = directive;
}
normalizeProbeInput(data) {
if (data === null || typeof data !== "object" || Array.isArray(data)) {
return { value: data };
}
return data;
}
getMatchingRemoteProbeDirectives(label, nowMs) {
const config = this.config;
if (config === null ||
this.remoteProbeState.probesEnabled !== true ||
this.remoteProbeState.remoteProbesEnabled !== true) {
return [];
}
this.pruneExpiredRemoteProbeDirectives(nowMs);
const activeDirectives = this.activeTriggerDirective === null
? this.remoteProbeState.directives
: [...this.remoteProbeState.directives, this.activeTriggerDirective];
return activeDirectives.filter((directive) => {
if (directive.service !== "*" && directive.service !== config.service) {
return false;
}
if (directive.environment !== "*" && directive.environment !== config.environment) {
return false;
}
return this.matchesProbeLabelPattern(directive.labelPattern, label);
});
}
matchesProbeLabelPattern(pattern, label) {
if (pattern === "*") {
return true;
}
if (pattern.endsWith(".*")) {
const prefix = pattern.slice(0, -2);
return label === prefix || label.startsWith(`${prefix}.`);
}
return pattern === label;
}
}

@@ -1286,0 +761,0 @@ export function createDebugBundleBrowserSdk() {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

import { type BrowserExceptionEventContext, type BrowserConsoleLike, type BrowserCryptoSource, type BrowserDocumentSource, type BrowserEventSource, type BrowserFetch, type BrowserHistorySource, type BrowserLocationSource, type BrowserLogLevel, type BrowserNavigatorSource, type BrowserNetworkFilterConfig, type BrowserPattern, type BrowserRemoteProbeDirective, type BrowserRemoteProbeState, type BrowserScreenSource, type BrowserTransportMode, type BrowserWindowMetrics, type BrowserXmlHttpRequestConstructor, type DebugBundleBrowserTransport, type EventEnvelope, type NormalizedBrowserNetworkFilter } from "./types.js";
import { type BrowserExceptionEventContext, type BrowserConsoleLike, type BrowserCryptoSource, type BrowserDocumentSource, type BrowserEventSource, type BrowserFetch, type BrowserHistorySource, type BrowserLocationSource, type BrowserLogLevel, type BrowserNavigatorSource, type BrowserNetworkFilterConfig, type BrowserPattern, type BrowserRemoteProbeDirective, type BrowserRemoteAnalyticsConfig, type BrowserRemoteProbeState, type BrowserScreenSource, type BrowserStorageSource, type BrowserTransportMode, type BrowserWindowMetrics, type BrowserXmlHttpRequestConstructor, type DebugBundleBrowserTransport, type DebugBundleBrowserTransportEvent, type NormalizedBrowserNetworkFilter } from "./types.js";
export interface ResolvedBrowserTransport {

@@ -19,2 +19,3 @@ mode: BrowserTransportMode | "disabled";

export declare function getCryptoSource(): BrowserCryptoSource | null;
export declare function getLocalStorageSource(): BrowserStorageSource | null;
export declare function getXmlHttpRequestConstructor(): BrowserXmlHttpRequestConstructor | null;

@@ -34,3 +35,3 @@ export declare function normalizePositiveNumber(value: number | undefined, fallback: number): number;

export declare function createFetchTransport(): DebugBundleBrowserTransport;
export declare function buildBrowserTransportRequestBody(transportMode: BrowserTransportMode, events: EventEnvelope[]): string;
export declare function buildBrowserTransportRequestBody(transportMode: BrowserTransportMode, events: DebugBundleBrowserTransportEvent[]): string;
export declare function resolveBrowserTransport(input: {

@@ -47,2 +48,3 @@ endpoint?: string | undefined;

export declare function parseRemoteProbeConfigPayload(payload: unknown, nowMs: number): BrowserRemoteProbeState | null;
export declare function parseRemoteAnalyticsConfigPayload(payload: unknown): BrowserRemoteAnalyticsConfig | null;
export declare function parseIngestionProbeDirectives(payload: unknown, nowMs: number): BrowserRemoteProbeDirective[] | null;

@@ -49,0 +51,0 @@ export declare function stringifyConsoleArgs(args: unknown[]): string;

@@ -1,1 +0,1 @@

{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}

@@ -70,2 +70,18 @@ import { DEFAULT_LOG_LEVEL, LOG_LEVELS, DEFAULT_ENDPOINT, DEFAULT_RELAY_ENDPOINT } from "./types.js";

}
export function getLocalStorageSource() {
try {
const candidate = globalThis["localStorage"];
if (candidate === null ||
typeof candidate !== "object" ||
typeof candidate["getItem"] !== "function" ||
typeof candidate["setItem"] !== "function" ||
typeof candidate["removeItem"] !== "function") {
return null;
}
return candidate;
}
catch {
return null;
}
}
export function getXmlHttpRequestConstructor() {

@@ -453,2 +469,5 @@ const candidate = globalThis["XMLHttpRequest"];

}
function asBoolean(value) {
return typeof value === "boolean" ? value : null;
}
function parseRemoteProbeDirective(value, nowMs) {

@@ -522,2 +541,32 @@ const record = asRecord(value);

}
export function parseRemoteAnalyticsConfigPayload(payload) {
const record = asRecord(payload);
const analytics = record === null ? null : asRecord(record["analytics"]);
if (analytics === null || !isBrowserAnalyticsPrivacyMode(analytics["privacy_mode"])) {
return null;
}
const enabled = asBoolean(analytics["enabled"]);
const consentRequired = asBoolean(analytics["consent_required"]);
const capturePageViews = asBoolean(analytics["capture_page_views"]);
const captureRouteChanges = asBoolean(analytics["capture_route_changes"]);
const captureActions = asBoolean(analytics["capture_actions"]);
const captureFrictionSignals = asBoolean(analytics["capture_friction_signals"]);
if (enabled === null ||
consentRequired === null ||
capturePageViews === null ||
captureRouteChanges === null ||
captureActions === null ||
captureFrictionSignals === null) {
return null;
}
return {
enabled,
privacyMode: analytics["privacy_mode"],
consentRequired,
capturePageViews,
captureRouteChanges,
captureActions,
captureFrictionSignals
};
}
function parseImmediateClientErrorPathRules(value) {

@@ -569,2 +618,5 @@ if (!Array.isArray(value) || value.length > 25) {

}
function isBrowserAnalyticsPrivacyMode(value) {
return value === "strict" || value === "standard" || value === "custom";
}
export function parseIngestionProbeDirectives(payload, nowMs) {

@@ -571,0 +623,0 @@ const record = asRecord(payload);

@@ -1,1 +0,1 @@

{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,UAAU,EAyBV,gBAAgB,EAChB,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAEpB,MAAM,8BAA8B,GAAyB,UAAU,CAAC;AACxE,MAAM,8BAA8B,GAAgC,eAAe,CAAC;AACpF,MAAM,uCAAuC,GAAa,EAAE,CAAC;AAC7D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAQjG,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAI,UAAsC,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAsD,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,SAAS,GAAI,UAAsC,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAkC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAI,UAAsC,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAI,UAAsC,CAAC,WAAW,CAAC,CAAC;IACvE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAmC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,SAAS,GAAI,UAAsC,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAkC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAI,UAAsC,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GAAI,UAAsC,CAAC,YAAY,CAAC,CAAC;IACxE,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAAqD,CAAC,CAAC,CAAC,IAAI,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,SAAS,GAAI,UAAsC,CAAC,OAAO,CAAC,CAAC;IACnE,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAI,UAAsC,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAA+B,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAI,UAAsC,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAI,UAAsC,CAAC,cAAc,CAAC,CAAC;QAC1E,IACE,SAAS,KAAK,IAAI;YAClB,OAAO,SAAS,KAAK,QAAQ;YAC7B,OAAQ,SAAqC,CAAC,SAAS,CAAC,KAAK,UAAU;YACvE,OAAQ,SAAqC,CAAC,SAAS,CAAC,KAAK,UAAU;YACvE,OAAQ,SAAqC,CAAC,YAAY,CAAC,KAAK,UAAU,EAC1E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,SAAiC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,MAAM,SAAS,GAAI,UAAsC,CAAC,gBAAgB,CAAC,CAAC;IAC5E,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAA8C,CAAC,CAAC,CAAC,IAAI,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAyB,EAAE,QAAgB;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB,EAAE,QAAgB;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAC,CAAC,CAAE,KAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;YACjD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,uBAAuB,EAAE;SAC9F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,UAAU,KAAK,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,uBAAuB;QAChC,KAAK,EAAE,8BAA8B;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,GAAW;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B,EAAE,GAAW;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAoB;IACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,EAAE,EAAE,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC;IAE1H,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;YACpC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA+B,EAAE,GAAW;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnH,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO;QACL,GAAG,EAAE,uBAAuB,CAAC,OAAO,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,QAAQ,EAAE,uBAAuB,CAAC,OAAO,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAChH,WAAW,EAAE,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC;QAC5D,gBAAgB,EAAE,wBAAwB,CAAC,cAAc,EAAE,eAAe,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,MAA+B;IAC5E,MAAM,UAAU,GAAmF,EAAE,CAAC;IACtG,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEtD,IAAI,GAAG,KAAK,IAAI;QAAE,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,EAAE,KAAK,IAAI;QAAE,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,WAAW,KAAK,IAAI;QAAE,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IAClD,IAAI,SAAS,KAAK,IAAI;QAAE,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAe;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;IACzE,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1H,MAAM,UAAU,GAAG,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,uBAAuB,CAAC,SAAS,CAAC;QAC9C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;IAE/F,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,SAAS,EAAE,uBAAuB,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtE,WAAW,EAAE,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC;QACzD,aAAa,EAAE,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1D,MAAM;QACN,IAAI,EAAE,yBAAyB,EAAE;QACjC,MAAM,EAAE,CAAC,cAAc;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,SAAiB;IACtE,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,iBAAiB,GACrB,KAGD,CAAC,iBAAiB,CAAC;IAEpB,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QAEvD,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;YAAE,MAAM;QACtC,UAAU,EAAE,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IAEnC,OAAO,KAAK,EAAE,OAAO,EAAgD,EAAE;QACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,gCAAgC,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;SAC9E,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC;QAEnF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,aAAmC,EAAE,MAA0C;IAC9H,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,MAAM,KAAK,2BAA2B,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAIvC;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAE1C,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACxG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,aAAa;YACvB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClG,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,cAAc;YACxB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,YAAY;aACb,CAAC;QACJ,CAAC;QAED,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ;gBACR,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,gBAAgB;YAC1B,YAAY;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B,EAAE,QAAiB;IAC5E,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAmC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA2B;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAmC;IAClF,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA6C;IAClF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,WAAW;aACd,MAAM,CAAC,CAAC,UAAU,EAAwB,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC3G,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEf,OAAO;QACL,WAAW,EAAE,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC;QACxD,eAAe,EAAE,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC;QAChE,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;QAC9D,eAAe,EACb,OAAO,KAAK,EAAE,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC;YAC/G,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;IAC9D,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;IAC9D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc,EAAE,KAAa;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEhE,IACE,YAAY,KAAK,IAAI;QACrB,YAAY,KAAK,IAAI;QACrB,OAAO,KAAK,IAAI;QAChB,WAAW,KAAK,IAAI;QACpB,SAAS,KAAK,IAAI;QAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,YAAY;QACZ,YAAY;QACZ,OAAO;QACP,WAAW;QACX,SAAS;QACT,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;KACrH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB,EAAE,KAAa;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzD,MAAM,4BAA4B,GAChC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;QACvF,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC;aAC7C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;aACxH,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,6BAA6B,GACjC,aAAa,KAAK,IAAI;QACpB,CAAC,CAAC,kCAAkC,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QACxF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,oBAAoB,GACxB,aAAa,KAAK,IAAI,IAAI,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,8BAA8B,CAAC;IACrC,MAAM,oBAAoB,GACxB,aAAa,KAAK,IAAI,IAAI,6BAA6B,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC9F,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC;QACzC,CAAC,CAAC,8BAA8B,CAAC;IAErC,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,IAAI;QAChD,mBAAmB,EAAE,MAAM,CAAC,uBAAuB,CAAC,KAAK,IAAI;QAC7D,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;iBACpB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;iBAC/D,MAAM,CAAC,CAAC,SAAS,EAA4C,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;YACxF,CAAC,CAAC,EAAE;QACN,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,oBAAoB;QACpB,oBAAoB;QACpB,4BAA4B,EAC1B,4BAA4B,CAAC,MAAM,KAAK,CAAC;YACvC,CAAC,CAAC,CAAC,GAAG,uCAAuC,CAAC;YAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACvD,6BAA6B;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAG,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/D,MAAM,sBAAsB,GAAG,SAAS,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAChF,IACE,OAAO,KAAK,IAAI;QAChB,eAAe,KAAK,IAAI;QACxB,gBAAgB,KAAK,IAAI;QACzB,mBAAmB,KAAK,IAAI;QAC5B,cAAc,KAAK,IAAI;QACvB,sBAAsB,KAAK,IAAI,EAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;QACP,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC;QACtC,eAAe;QACf,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAc;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IACE,OAAO,UAAU,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7B,UAAU,GAAG,GAAG;YAChB,UAAU,GAAG,GAAG;YAChB,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAChC,UAAU,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAA2B,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,MAA2B,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,aAAa,KAAK,CAAC,CAAC,IAAI,aAAa,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,eAAe,CAAC;AAClF,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc;IACnD,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,CAAC;AACjG,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc;IACnD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB,EAAE,KAAa;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,gBAAgB,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvF,IAAI,gBAAgB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,gBAAgB,CAAC,eAAe,CAAC;SACrC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,SAAS,EAA4C,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAe;IAClD,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC;SACT,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,OAAuB;IAC1E,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,0BAA4C,EAAE;IACjG,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC7F,CAAC,CAAC,cAAc,CAAC,IAAI;QACrB,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,WAAgB,CAAC;IACrB,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,MAAgB;IAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC5D,OAAO,UAAU,IAAI,KAAK,IAAI,UAAU,IAAI,GAAG,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,OAAO,YAAY,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC3E,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,OAAO,GAAG,OAAO,GAAG,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAwB;IAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI;SAC1D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAwB;IACvD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}

@@ -22,2 +22,13 @@ import type { EventEnvelope } from "@debugbundle/shared-types";

export type BrowserTransportMode = "direct" | "relay";
export type BrowserAnalyticsPrivacyMode = "strict" | "standard" | "custom";
export interface BrowserRemoteAnalyticsConfig {
enabled: boolean;
privacyMode: BrowserAnalyticsPrivacyMode;
consentRequired: boolean;
capturePageViews: boolean;
captureRouteChanges: boolean;
captureActions: boolean;
captureFrictionSignals: boolean;
}
export type BrowserAnalyticsEventKind = "session_start" | "page_view" | "route_change" | "action" | "funnel_step" | "conversion" | "journey_marker" | "session_summary";
export type BreadcrumbType = "route_change" | "click" | "form_submit" | "console_log" | "network_request";

@@ -129,2 +140,75 @@ export type BrowserPattern = string;

}
export interface BrowserAnalyticsCorrelationFields {
session_id: string;
visitor_id_hash: string | null;
user_id_hash: string | null;
trace_id: string | null;
deploy_id: string | null;
}
export interface BrowserAnalyticsDimensions {
auth_state: "anonymous" | "authenticated" | "unknown";
device_type: "desktop" | "mobile" | "tablet" | "unknown";
browser_family: string | null;
browser_major: number | null;
os_family: string | null;
os_major: number | null;
language: string | null;
locale: string | null;
viewport_bucket: "small" | "medium" | "large" | "unknown";
referrer_domain: string | null;
utm_source: string | null;
utm_medium: string | null;
utm_campaign: string | null;
country_code: string | null;
region_code: string | null;
}
export type BrowserAnalyticsCustomDimensionValue = string | number | boolean | null;
export type BrowserAnalyticsCustomDimensions = Record<string, BrowserAnalyticsCustomDimensionValue>;
export interface BrowserAnalyticsEventEnvelope {
schema_version: "2026-07-analytics-01";
event_id: string;
event_type: "analytics_event";
project_token?: string;
occurred_at: string;
sdk_name: string;
sdk_version: string;
service: {
name: string;
runtime: "browser";
framework: string | null;
environment: string;
};
correlation: BrowserAnalyticsCorrelationFields;
payload: {
kind: BrowserAnalyticsEventKind;
privacy: {
mode: BrowserAnalyticsPrivacyMode;
consent_granted: boolean;
};
session?: {
duration_ms: number;
pageviews: number;
};
signal: {
action_key: string | null;
funnel_key: string | null;
step_key: string | null;
conversion_key: string | null;
marker_key: string | null;
};
route: {
path: string;
normalized_path: string;
title: string | null;
} | null;
previous_route?: {
path: string;
normalized_path: string;
title: string | null;
} | null;
dimensions: BrowserAnalyticsDimensions;
custom_dimensions: BrowserAnalyticsCustomDimensions;
};
}
export type DebugBundleBrowserTransportEvent = EventEnvelope | BrowserAnalyticsEventEnvelope;
export interface BrowserBreadcrumb {

@@ -173,3 +257,11 @@ ts: string;

randomUUID?: () => string;
subtle?: {
digest(algorithm: string, data: Uint8Array): Promise<ArrayBuffer>;
};
}
export interface BrowserStorageSource {
getItem(key: string): string | null;
setItem(key: string, value: string): void;
removeItem(key: string): void;
}
export interface BrowserEventSource {

@@ -247,3 +339,3 @@ addEventListener(eventName: string, listener: (event: unknown) => void, options?: boolean | {

headers: Record<string, string>;
events: EventEnvelope[];
events: DebugBundleBrowserTransportEvent[];
transportMode: BrowserTransportMode;

@@ -286,3 +378,31 @@ timeout_ms: number;

beforeSend?: BrowserBeforeSendHook;
analytics?: DebugBundleBrowserAnalyticsConfig;
}
export interface DebugBundleBrowserAnalyticsConfig {
enabled?: boolean;
privacyMode?: BrowserAnalyticsPrivacyMode;
consentRequired?: boolean;
trackPageViews?: boolean;
trackRouteChanges?: boolean;
trackSessions?: boolean;
trackReferrers?: boolean;
trackActions?: boolean;
trackFrictionSignals?: boolean;
sampleRate?: number;
journeySampleRate?: number;
}
export interface DebugBundleBrowserAnalyticsPageViewInput {
path?: string;
title?: string | null;
}
export interface DebugBundleBrowserAnalytics {
setConsent(value: boolean): void;
pageView(input?: DebugBundleBrowserAnalyticsPageViewInput): void;
track(name: string, dimensions?: Record<string, unknown>): void;
funnel(name: string, step: string, dimensions?: Record<string, unknown>): void;
convert(name: string, dimensions?: Record<string, unknown>): void;
marker(name: string, dimensions?: Record<string, unknown>): void;
setContext(dimensions: Record<string, unknown>): void;
setUserHash(hash: string | null): void;
}
export interface CaptureBrowserExceptionContext {

@@ -333,2 +453,3 @@ route?: string | null;

readonly lastEventAt: number | null;
readonly analytics: DebugBundleBrowserAnalytics;
init(config: DebugBundleBrowserInitConfig): void;

@@ -370,2 +491,3 @@ captureException(error: unknown, context?: CaptureBrowserExceptionContext): void;

requestTimeoutMs: number;
requestsAnalyticsConfig: boolean;
captureRules: BrowserCaptureRule[];

@@ -372,0 +494,0 @@ fetchImpl: BrowserFetch | null;

@@ -1,1 +0,1 @@

{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
{
"name": "@debugbundle/sdk-browser",
"version": "1.4.0",
"version": "1.4.1",
"private": false,

@@ -34,5 +34,5 @@ "type": "module",

"dependencies": {
"@debugbundle/shared-types": "1.4.0",
"@debugbundle/redaction": "1.4.0"
"@debugbundle/shared-types": "1.4.1",
"@debugbundle/redaction": "1.4.1"
}
}

@@ -105,2 +105,29 @@ # @debugbundle/sdk-browser

### AnalyticsBundle Capture
Analytics is opt-in and remains separate from debug capture:
```ts
debugbundle.init({
transportMode: "relay",
endpoint: "/debugbundle/browser",
service: "checkout-web",
environment: "production",
analytics: {
enabled: true,
trackActions: true
}
});
debugbundle.analytics.marker("checkout.validation_failed", {
attempt_bucket: 3
});
```
`marker()` emits a bounded `journey_marker` with a privacy-safe marker key and optional low-cardinality dimensions. `trackActions: true` additionally emits generic structural action keys such as `click.button` and `click.link`; it is independent from debug `captureClicks` and never retains target text, selectors, IDs, URLs, attributes, or form values. `trackFrictionSignals` defaults to true and emits only fixed `friction.repeated_click`, `friction.dead_click`, and `friction.backtrack` markers from bounded in-memory click timing and route reversal heuristics; it never serializes target-derived data. The SDK emits one `session_summary` before a non-persisted `pagehide` and reuses its existing beacon/keepalive flush path. It does not emit a summary when a page enters the back-forward cache.
For direct-cloud installs, `privacyMode: "standard"` keeps an opaque first-party anonymous visitor value in browser storage under a key derived from the SHA-256 digest of the public write-only project token. Events contain only a separate SHA-256-derived `visitor_id_hash`, enabling returning-visitor metrics without persisting or emitting the token or raw value. The SDK removes that value when consent is withdrawn or server settings force strict privacy. If browser storage or Web Crypto is unavailable, it safely falls back to session-only analytics. Relay installs remain session-only for visitor identity until the relay has an authenticated project-scope bootstrap; the relay/ingestion path still enforces project settings.
For direct-cloud installs, the SDK explicitly requests the project analytics capture block from `GET /v1/sdk/config` once during initialization. That server block can only restrict a local analytics opt-in: it can disable capture, turn off page/route/action capture, require explicit consent, or force strict privacy. It cannot enable analytics or broaden capture. Relay installs do not fetch it because the browser must not hold a project token.
Handled HTTP responses do not need to throw an exception to become request incidents. A failed response can emit a standalone `request_event` when it is first-party for trace propagation and matches the active capture preset, `immediate_client_error_statuses`, or an `immediate_client_error_path_rules` entry. Unpromoted `4xx` responses remain breadcrumbs/context.

@@ -107,0 +134,0 @@