@debugbundle/sdk-browser
Advanced tools
| 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":"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"} |
| 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"} |
+190
| 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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"} |
+147
-672
| 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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"} |
+52
-0
@@ -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":"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"} |
+123
-1
@@ -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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"} |
+3
-3
| { | ||
| "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" | ||
| } | ||
| } |
+27
-0
@@ -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 @@ |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
403418
32.42%63
80%4962
31.3%226
13.57%+ Added
+ Added
- Removed
- Removed
Updated