@tracelog/lib 2.2.1-rc.82.7 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- const Fr = 9e5;
2
- const $r = 120, Br = 8192, Wr = 10, Gr = 10, Xr = 20;
3
- const Qr = 1e3, jr = 500, zr = 100;
1
+ const Hr = 9e5;
2
+ const Fr = 120, $r = 8192, Br = 10, Wr = 10, Gr = 20;
3
+ const Xr = 1e3, Qr = 500, jr = 100;
4
4
  const w = "data-tlog", at = [
5
5
  "button",
6
6
  "a",
@@ -78,15 +78,15 @@ const m = {
78
78
  /<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,
79
79
  /<embed\b[^>]*>/gi,
80
80
  /<object\b[^<]*(?:(?!<\/object>)<[^<]*)*<\/object>/gi
81
- ], _ = "tlog", x = `${_}:qa_mode`, ye = `${_}:uid`, We = "tlog_mode", be = "qa", Le = "qa_off", dt = (s) => s ? `${_}:${s}:queue` : `${_}:queue`, ht = (s) => s ? `${_}:${s}:session` : `${_}:session`, ft = (s) => s ? `${_}:${s}:broadcast` : `${_}:broadcast`, Ae = (s, e) => `${_}:${s}:session_counts:${e}`, Me = 10080 * 60 * 1e3, Ce = `${_}:session_counts_last_cleanup`, Re = 3600 * 1e3;
81
+ ], I = "tlog", H = `${I}:qa_mode`, ye = `${I}:uid`, We = "tlog_mode", be = "qa", Le = "qa_off", dt = (s) => s ? `${I}:${s}:queue` : `${I}:queue`, ht = (s) => s ? `${I}:${s}:session` : `${I}:session`, ft = (s) => s ? `${I}:${s}:broadcast` : `${I}:broadcast`, Ae = (s, e) => `${I}:${s}:session_counts:${e}`, Me = 10080 * 60 * 1e3, Ce = `${I}:session_counts_last_cleanup`, Re = 3600 * 1e3;
82
82
  var U = /* @__PURE__ */ ((s) => (s.Localhost = "localhost:8080", s.Fail = "localhost:9999", s))(U || {}), A = /* @__PURE__ */ ((s) => (s.Mobile = "mobile", s.Tablet = "tablet", s.Desktop = "desktop", s.Unknown = "unknown", s))(A || {}), ae = /* @__PURE__ */ ((s) => (s.EVENT = "event", s.QUEUE = "queue", s))(ae || {});
83
83
  class O extends Error {
84
84
  constructor(e, t) {
85
85
  super(e), this.statusCode = t, this.name = "PermanentError", Error.captureStackTrace && Error.captureStackTrace(this, O);
86
86
  }
87
87
  }
88
- var d = /* @__PURE__ */ ((s) => (s.PAGE_VIEW = "page_view", s.CLICK = "click", s.SCROLL = "scroll", s.SESSION_START = "session_start", s.CUSTOM = "custom", s.WEB_VITALS = "web_vitals", s.ERROR = "error", s.VIEWPORT_VISIBLE = "viewport_visible", s))(d || {}), Q = /* @__PURE__ */ ((s) => (s.UP = "up", s.DOWN = "down", s))(Q || {}), H = /* @__PURE__ */ ((s) => (s.JS_ERROR = "js_error", s.PROMISE_REJECTION = "promise_rejection", s))(H || {}), K = /* @__PURE__ */ ((s) => (s.QA = "qa", s))(K || {});
89
- const Kr = (s) => s.type === d.SCROLL && "scroll_data" in s && s.scroll_data.is_primary === !0, Yr = (s) => s.type === d.SCROLL && "scroll_data" in s && s.scroll_data.is_primary === !1;
88
+ var d = /* @__PURE__ */ ((s) => (s.PAGE_VIEW = "page_view", s.CLICK = "click", s.SCROLL = "scroll", s.SESSION_START = "session_start", s.CUSTOM = "custom", s.WEB_VITALS = "web_vitals", s.ERROR = "error", s.VIEWPORT_VISIBLE = "viewport_visible", s))(d || {}), Q = /* @__PURE__ */ ((s) => (s.UP = "up", s.DOWN = "down", s))(Q || {}), x = /* @__PURE__ */ ((s) => (s.JS_ERROR = "js_error", s.PROMISE_REJECTION = "promise_rejection", s))(x || {}), K = /* @__PURE__ */ ((s) => (s.QA = "qa", s))(K || {});
89
+ const zr = (s) => s.type === d.SCROLL && "scroll_data" in s && s.scroll_data.is_primary === !0, Kr = (s) => s.type === d.SCROLL && "scroll_data" in s && s.scroll_data.is_primary === !1;
90
90
  class F extends Error {
91
91
  constructor(e, t, r) {
92
92
  super(e), this.errorCode = t, this.layer = r, this.name = this.constructor.name, Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
@@ -112,7 +112,7 @@ class V extends F {
112
112
  super(e, "INTEGRATION_INVALID", t);
113
113
  }
114
114
  }
115
- class qr extends F {
115
+ class Yr extends F {
116
116
  constructor(e, t, r = "runtime") {
117
117
  super(e, "INITIALIZATION_TIMEOUT", r), this.timeoutMs = t;
118
118
  }
@@ -140,7 +140,7 @@ const Ge = "background: #ff9800; color: white; font-weight: bold; padding: 2px 8
140
140
  if (typeof window > "u" || typeof sessionStorage > "u")
141
141
  return !1;
142
142
  try {
143
- return sessionStorage.getItem(x) === "true";
143
+ return sessionStorage.getItem(H) === "true";
144
144
  } catch {
145
145
  return !1;
146
146
  }
@@ -168,9 +168,9 @@ const Ge = "background: #ff9800; color: white; font-weight: bold; padding: 2px 8
168
168
  return e;
169
169
  };
170
170
  let ce, Qe;
171
- const It = () => {
171
+ const _t = () => {
172
172
  typeof window < "u" && !ce && (ce = window.matchMedia("(pointer: coarse)"), Qe = window.matchMedia("(hover: none)"));
173
- }, Y = "Unknown", _t = (s) => {
173
+ }, Y = "Unknown", It = (s) => {
174
174
  const e = s.userAgentData?.platform;
175
175
  if (e != null && e !== "") {
176
176
  if (/windows/i.test(e)) return "Windows";
@@ -200,7 +200,7 @@ const It = () => {
200
200
  const c = s.userAgentData.platform;
201
201
  return c != null && c !== "" && /ipad|tablet/i.test(c) ? A.Tablet : s.userAgentData.mobile ? A.Mobile : A.Desktop;
202
202
  }
203
- It();
203
+ _t();
204
204
  const e = window.innerWidth, t = ce?.matches ?? !1, r = Qe?.matches ?? !1, n = "ontouchstart" in window || navigator.maxTouchPoints > 0, i = navigator.userAgent.toLowerCase(), o = /mobile|android|iphone|ipod|blackberry|iemobile|opera mini/.test(i), l = /tablet|ipad|android(?!.*mobile)/.test(i);
205
205
  return e <= 767 || o && n ? A.Mobile : e >= 768 && e <= 1024 || l || t && r && n ? A.Tablet : A.Desktop;
206
206
  } catch (s) {
@@ -211,7 +211,7 @@ const It = () => {
211
211
  const s = navigator;
212
212
  return {
213
213
  type: yt(),
214
- os: _t(s),
214
+ os: It(s),
215
215
  browser: wt(s)
216
216
  };
217
217
  } catch (s) {
@@ -236,7 +236,7 @@ const It = () => {
236
236
  /Bearer\s+[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?(?:\.[A-Za-z0-9_-]+)?/gi,
237
237
  // Passwords in connection strings (protocol://user:password@host)
238
238
  /:\/\/[^:/]+:([^@]+)@/gi
239
- ], Oe = 500, Pe = 5e3, j = 50, Lt = j * 2, ze = 1, At = 1e3, Mt = 10, De = 5e3, Ct = 6e4, Jr = {
239
+ ], Oe = 500, Pe = 5e3, j = 50, Lt = j * 2, ze = 1, At = 1e3, Mt = 10, De = 5e3, Ct = 6e4, qr = {
240
240
  LCP: 2500,
241
241
  // Good: ≤ 2.5s
242
242
  FCP: 1800,
@@ -284,7 +284,7 @@ const It = () => {
284
284
  default:
285
285
  return ke;
286
286
  }
287
- }, Nt = 1e3, Ot = 50, Pt = "2.2.1", Dt = Pt, Ke = () => typeof window < "u" && typeof sessionStorage < "u", kt = () => {
287
+ }, Nt = 1e3, Ot = 50, Pt = "2.2.0", Dt = Pt, Ke = () => typeof window < "u" && typeof sessionStorage < "u", kt = () => {
288
288
  try {
289
289
  const s = new URLSearchParams(window.location.search);
290
290
  s.delete(We);
@@ -296,12 +296,12 @@ const It = () => {
296
296
  if (!Ke())
297
297
  return !1;
298
298
  try {
299
- const e = new URLSearchParams(window.location.search).get(We), t = sessionStorage.getItem(x);
299
+ const e = new URLSearchParams(window.location.search).get(We), t = sessionStorage.getItem(H);
300
300
  let r = null;
301
- return e === be ? (r = !0, sessionStorage.setItem(x, "true"), a("info", "QA Mode ACTIVE", {
301
+ return e === be ? (r = !0, sessionStorage.setItem(H, "true"), a("info", "QA Mode ACTIVE", {
302
302
  visibility: "qa",
303
303
  style: Ge
304
- })) : e === Le && (r = !1, sessionStorage.setItem(x, "false"), a("info", "QA Mode DISABLED", {
304
+ })) : e === Le && (r = !1, sessionStorage.setItem(H, "false"), a("info", "QA Mode DISABLED", {
305
305
  visibility: "qa",
306
306
  style: Xe
307
307
  })), (e === be || e === Le) && kt(), r ?? t === "true";
@@ -311,14 +311,14 @@ const It = () => {
311
311
  }, Ut = (s) => {
312
312
  if (Ke())
313
313
  try {
314
- sessionStorage.setItem(x, s ? "true" : "false"), a("info", s ? "QA Mode ACTIVE" : "QA Mode DISABLED", {
314
+ sessionStorage.setItem(H, s ? "true" : "false"), a("info", s ? "QA Mode ACTIVE" : "QA Mode DISABLED", {
315
315
  visibility: "qa",
316
316
  style: s ? Ge : Xe
317
317
  });
318
318
  } catch {
319
319
  a("debug", "Cannot set QA mode: sessionStorage unavailable");
320
320
  }
321
- }, Ht = [
321
+ }, xt = [
322
322
  "co.uk",
323
323
  "org.uk",
324
324
  "com.au",
@@ -335,14 +335,14 @@ const It = () => {
335
335
  if (e.length <= 2)
336
336
  return s.toLowerCase();
337
337
  const t = e.slice(-2).join(".");
338
- return Ht.includes(t) ? e.slice(-3).join(".") : e.slice(-2).join(".");
339
- }, xt = (s, e) => s === e ? !0 : Ue(s) === Ue(e), re = () => {
338
+ return xt.includes(t) ? e.slice(-3).join(".") : e.slice(-2).join(".");
339
+ }, Ht = (s, e) => s === e ? !0 : Ue(s) === Ue(e), re = () => {
340
340
  const s = document.referrer;
341
341
  if (!s)
342
342
  return "Direct";
343
343
  try {
344
344
  const e = new URL(s).hostname.toLowerCase(), t = window.location.hostname.toLowerCase();
345
- return xt(e, t) ? "Direct" : s;
345
+ return Ht(e, t) ? "Direct" : s;
346
346
  } catch (e) {
347
347
  return a("debug", "Failed to parse referrer URL, using raw value", { error: e, data: { referrer: s } }), s;
348
348
  }
@@ -428,7 +428,7 @@ const $t = () => {
428
428
  } catch (t) {
429
429
  return a("warn", "URL normalization failed, returning original", { error: t, data: { urlLength: s?.length } }), s;
430
430
  }
431
- }, He = (s) => {
431
+ }, xe = (s) => {
432
432
  if (!s || typeof s != "string" || s.trim().length === 0)
433
433
  return "";
434
434
  let e = s;
@@ -443,12 +443,12 @@ const $t = () => {
443
443
  patternMatches: t,
444
444
  valueLength: s.length
445
445
  }
446
- }), e.trim();
446
+ }), e = e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&#x27;").replaceAll("/", "&#x2F;"), e.trim();
447
447
  }, he = (s, e = 0) => {
448
448
  if (s == null)
449
449
  return null;
450
450
  if (typeof s == "string")
451
- return He(s);
451
+ return xe(s);
452
452
  if (typeof s == "number")
453
453
  return !Number.isFinite(s) || s < -Number.MAX_SAFE_INTEGER || s > Number.MAX_SAFE_INTEGER ? 0 : s;
454
454
  if (typeof s == "boolean")
@@ -460,7 +460,7 @@ const $t = () => {
460
460
  if (typeof s == "object") {
461
461
  const t = {}, n = Object.entries(s).slice(0, 20);
462
462
  for (const [i, o] of n) {
463
- const l = He(i);
463
+ const l = xe(i);
464
464
  if (l) {
465
465
  const c = he(o, e + 1);
466
466
  c !== null && (t[l] = c);
@@ -640,7 +640,7 @@ const $t = () => {
640
640
  } : ["constructor", "prototype", "__proto__", "eval", "function", "var", "let", "const"].includes(s.toLowerCase()) ? {
641
641
  valid: !1,
642
642
  error: "Event name cannot be a reserved word"
643
- } : { valid: !0 }, xe = (s, e, t) => {
643
+ } : { valid: !0 }, He = (s, e, t) => {
644
644
  const r = Gt(e), n = t && t === "customEvent" ? `${t} "${s}" metadata error` : `${s} metadata error`;
645
645
  if (!Kt(r))
646
646
  return {
@@ -700,7 +700,7 @@ const $t = () => {
700
700
  valid: !1,
701
701
  error: `${n}: array item at index ${i} must be an object.`
702
702
  };
703
- const l = xe(s, o, t);
703
+ const l = He(s, o, t);
704
704
  if (!l.valid)
705
705
  return {
706
706
  valid: !1,
@@ -713,7 +713,7 @@ const $t = () => {
713
713
  sanitizedMetadata: r
714
714
  };
715
715
  }
716
- return xe(s, e, t);
716
+ return He(s, e, t);
717
717
  }, qt = (s, e) => {
718
718
  const t = Yt(s);
719
719
  if (!t.valid)
@@ -878,7 +878,7 @@ function Ze(s, e, t) {
878
878
  }
879
879
  }
880
880
  const ne = {};
881
- class I {
881
+ class _ {
882
882
  /**
883
883
  * Retrieves a value from global state.
884
884
  *
@@ -936,7 +936,7 @@ class I {
936
936
  return { ...ne };
937
937
  }
938
938
  }
939
- class Fe extends I {
939
+ class Fe extends _ {
940
940
  storeManager;
941
941
  integrationId;
942
942
  apiUrl;
@@ -1622,7 +1622,7 @@ class Fe extends I {
1622
1622
  }), this.lastPermanentErrorLog = { statusCode: t.statusCode, timestamp: r });
1623
1623
  }
1624
1624
  }
1625
- class er extends I {
1625
+ class er extends _ {
1626
1626
  bootTime;
1627
1627
  bootTimestamp;
1628
1628
  hasPerformanceNow;
@@ -1771,7 +1771,7 @@ class er extends I {
1771
1771
  };
1772
1772
  }
1773
1773
  }
1774
- class tr extends I {
1774
+ class tr extends _ {
1775
1775
  dataSenders;
1776
1776
  emitter;
1777
1777
  transformers;
@@ -2636,7 +2636,7 @@ class tr extends I {
2636
2636
  return;
2637
2637
  }
2638
2638
  }
2639
- const t = this.get("userId") || "anonymous", r = `${_}:${t}:session_counts:`, n = [];
2639
+ const t = this.get("userId") || "anonymous", r = `${I}:${t}:session_counts:`, n = [];
2640
2640
  for (let i = 0; i < localStorage.length; i++) {
2641
2641
  const o = localStorage.key(i);
2642
2642
  if (o?.startsWith(r))
@@ -2727,7 +2727,7 @@ class rr {
2727
2727
  }
2728
2728
  }
2729
2729
  const sr = /^\d{13}-[a-z0-9]{9}$/;
2730
- class nr extends I {
2730
+ class nr extends _ {
2731
2731
  storageManager;
2732
2732
  eventManager;
2733
2733
  projectId;
@@ -3047,7 +3047,7 @@ class nr extends I {
3047
3047
  this.clearSessionTimeout(), this.cleanupActivityListeners(), this.cleanupCrossTabSync(), this.cleanupLifecycleListeners(), this.isTracking = !1, this.needsRenewal = !1, this.set("hasStartSession", !1);
3048
3048
  }
3049
3049
  }
3050
- class ir extends I {
3050
+ class ir extends _ {
3051
3051
  eventManager;
3052
3052
  storageManager;
3053
3053
  sessionManager = null;
@@ -3135,7 +3135,7 @@ class ir extends I {
3135
3135
  this.destroyed || (this.sessionManager && (this.sessionManager.destroy(), this.sessionManager = null), this.destroyed = !0);
3136
3136
  }
3137
3137
  }
3138
- class or extends I {
3138
+ class or extends _ {
3139
3139
  eventManager;
3140
3140
  onTrack;
3141
3141
  originalPushState;
@@ -3211,7 +3211,7 @@ class or extends I {
3211
3211
  };
3212
3212
  }
3213
3213
  }
3214
- class ar extends I {
3214
+ class ar extends _ {
3215
3215
  eventManager;
3216
3216
  lastClickTimes = /* @__PURE__ */ new Map();
3217
3217
  clickHandler;
@@ -3468,7 +3468,7 @@ class ar extends I {
3468
3468
  };
3469
3469
  }
3470
3470
  }
3471
- class lr extends I {
3471
+ class lr extends _ {
3472
3472
  eventManager;
3473
3473
  containers = [];
3474
3474
  limitWarningLogged = !1;
@@ -3696,7 +3696,7 @@ class lr extends I {
3696
3696
  e.isPrimary = t;
3697
3697
  }
3698
3698
  }
3699
- class cr extends I {
3699
+ class cr extends _ {
3700
3700
  eventManager;
3701
3701
  trackedElements = /* @__PURE__ */ new Map();
3702
3702
  observer = null;
@@ -4140,7 +4140,7 @@ class ur {
4140
4140
  this.fallbackSessionStorage.delete(e);
4141
4141
  }
4142
4142
  }
4143
- class dr extends I {
4143
+ class dr extends _ {
4144
4144
  eventManager;
4145
4145
  reportedByNav = /* @__PURE__ */ new Map();
4146
4146
  navigationHistory = [];
@@ -4373,7 +4373,7 @@ class dr extends I {
4373
4373
  return !(typeof r == "number" && t <= r);
4374
4374
  }
4375
4375
  }
4376
- class hr extends I {
4376
+ class hr extends _ {
4377
4377
  eventManager;
4378
4378
  recentErrors = /* @__PURE__ */ new Map();
4379
4379
  errorBurstCounter = 0;
@@ -4423,10 +4423,10 @@ class hr extends I {
4423
4423
  if (!this.shouldSample())
4424
4424
  return;
4425
4425
  const t = this.sanitize(e.message || "Unknown error");
4426
- this.shouldSuppressError(H.JS_ERROR, t) || this.eventManager.track({
4426
+ this.shouldSuppressError(x.JS_ERROR, t) || this.eventManager.track({
4427
4427
  type: d.ERROR,
4428
4428
  error_data: {
4429
- type: H.JS_ERROR,
4429
+ type: x.JS_ERROR,
4430
4430
  message: t,
4431
4431
  ...e.filename && { filename: e.filename },
4432
4432
  ...e.lineno && { line: e.lineno },
@@ -4438,10 +4438,10 @@ class hr extends I {
4438
4438
  if (!this.shouldSample())
4439
4439
  return;
4440
4440
  const t = this.extractRejectionMessage(e.reason), r = this.sanitize(t);
4441
- this.shouldSuppressError(H.PROMISE_REJECTION, r) || this.eventManager.track({
4441
+ this.shouldSuppressError(x.PROMISE_REJECTION, r) || this.eventManager.track({
4442
4442
  type: d.ERROR,
4443
4443
  error_data: {
4444
- type: H.PROMISE_REJECTION,
4444
+ type: x.PROMISE_REJECTION,
4445
4445
  message: r
4446
4446
  }
4447
4447
  });
@@ -4484,7 +4484,7 @@ class hr extends I {
4484
4484
  }
4485
4485
  }
4486
4486
  }
4487
- class fr extends I {
4487
+ class fr extends _ {
4488
4488
  isInitialized = !1;
4489
4489
  suppressNextScrollTimer = null;
4490
4490
  emitter = new Jt();
@@ -4503,25 +4503,25 @@ class fr extends I {
4503
4503
  * @internal Called from api.init()
4504
4504
  */
4505
4505
  async init(e = {}) {
4506
- if (this.isInitialized)
4507
- return { sessionId: this.get("sessionId") ?? "" };
4508
- this.managers.storage = new ur();
4509
- try {
4510
- this.setupState(e);
4511
- const t = e.integrations?.custom?.headers ?? {};
4512
- return this.managers.event = new tr(
4513
- this.managers.storage,
4514
- this.emitter,
4515
- this.transformers,
4516
- t,
4517
- this.customHeadersProvider
4518
- ), this.initializeHandlers(), await this.managers.event.recoverPersistedEvents().catch((r) => {
4519
- a("warn", "Failed to recover persisted events", { error: r });
4520
- }), this.isInitialized = !0, { sessionId: this.get("sessionId") ?? "" };
4521
- } catch (t) {
4522
- this.destroy(!0);
4523
- const r = t instanceof Error ? t.message : String(t);
4524
- throw new Error(`[TraceLog] TraceLog initialization failed: ${r}`);
4506
+ if (!this.isInitialized) {
4507
+ this.managers.storage = new ur();
4508
+ try {
4509
+ this.setupState(e);
4510
+ const t = e.integrations?.custom?.headers ?? {};
4511
+ this.managers.event = new tr(
4512
+ this.managers.storage,
4513
+ this.emitter,
4514
+ this.transformers,
4515
+ t,
4516
+ this.customHeadersProvider
4517
+ ), this.initializeHandlers(), await this.managers.event.recoverPersistedEvents().catch((r) => {
4518
+ a("warn", "Failed to recover persisted events", { error: r });
4519
+ }), this.isInitialized = !0;
4520
+ } catch (t) {
4521
+ this.destroy(!0);
4522
+ const r = t instanceof Error ? t.message : String(t);
4523
+ throw new Error(`[TraceLog] TraceLog initialization failed: ${r}`);
4524
+ }
4525
4525
  }
4526
4526
  }
4527
4527
  /**
@@ -4643,15 +4643,6 @@ class fr extends I {
4643
4643
  getEventManager() {
4644
4644
  return this.managers.event;
4645
4645
  }
4646
- /**
4647
- * Returns the current session ID.
4648
- *
4649
- * @returns The session ID string, or null if not yet initialized
4650
- * @internal Used by api.getSessionId()
4651
- */
4652
- getSessionId() {
4653
- return this.get("sessionId");
4654
- }
4655
4646
  /**
4656
4647
  * Validates metadata object structure and values.
4657
4648
  *
@@ -4727,41 +4718,35 @@ class fr extends I {
4727
4718
  const N = [], M = [];
4728
4719
  let R = null, h = null, C = !1, v = !1;
4729
4720
  const mr = async (s) => {
4730
- if (typeof window > "u" || typeof document > "u")
4731
- return { sessionId: "" };
4732
- if (v = !1, window.__traceLogDisabled === !0)
4733
- return { sessionId: "" };
4734
- if (h)
4735
- return { sessionId: h.getSessionId() ?? "" };
4736
- if (C)
4737
- return { sessionId: "" };
4738
- C = !0;
4739
- try {
4740
- const e = zt(s ?? {}), t = new fr();
4721
+ if (!(typeof window > "u" || typeof document > "u") && (v = !1, window.__traceLogDisabled !== !0 && !h && !C)) {
4722
+ C = !0;
4741
4723
  try {
4742
- N.forEach(({ event: o, callback: l }) => {
4743
- t.on(o, l);
4744
- }), N.length = 0, M.forEach(({ hook: o, fn: l }) => {
4745
- o === "beforeSend" ? t.setTransformer("beforeSend", l) : t.setTransformer("beforeBatch", l);
4746
- }), M.length = 0, R && (t.setCustomHeaders(R), R = null);
4747
- const r = t.init(e), n = new Promise((o, l) => {
4748
- setTimeout(() => {
4749
- l(new Error("[TraceLog] Initialization timeout after 10000ms"));
4750
- }, 1e4);
4751
- }), i = await Promise.race([r, n]);
4752
- return h = t, i;
4753
- } catch (r) {
4724
+ const e = zt(s ?? {}), t = new fr();
4754
4725
  try {
4755
- t.destroy(!0);
4756
- } catch (n) {
4757
- a("error", "Failed to cleanup partially initialized app", { error: n });
4726
+ N.forEach(({ event: i, callback: o }) => {
4727
+ t.on(i, o);
4728
+ }), N.length = 0, M.forEach(({ hook: i, fn: o }) => {
4729
+ i === "beforeSend" ? t.setTransformer("beforeSend", o) : t.setTransformer("beforeBatch", o);
4730
+ }), M.length = 0, R && (t.setCustomHeaders(R), R = null);
4731
+ const r = t.init(e), n = new Promise((i, o) => {
4732
+ setTimeout(() => {
4733
+ o(new Error("[TraceLog] Initialization timeout after 10000ms"));
4734
+ }, 1e4);
4735
+ });
4736
+ await Promise.race([r, n]), h = t;
4737
+ } catch (r) {
4738
+ try {
4739
+ t.destroy(!0);
4740
+ } catch (n) {
4741
+ a("error", "Failed to cleanup partially initialized app", { error: n });
4742
+ }
4743
+ throw r;
4758
4744
  }
4759
- throw r;
4745
+ } catch (e) {
4746
+ throw h = null, e;
4747
+ } finally {
4748
+ C = !1;
4760
4749
  }
4761
- } catch (e) {
4762
- throw h = null, e;
4763
- } finally {
4764
- C = !1;
4765
4750
  }
4766
4751
  }, gr = (s, e) => {
4767
4752
  if (!(typeof window > "u" || typeof document > "u")) {
@@ -4826,7 +4811,7 @@ const Tr = (s) => {
4826
4811
  throw new Error("[TraceLog] Cannot set custom headers while TraceLog is being destroyed");
4827
4812
  h.setCustomHeaders(s);
4828
4813
  }
4829
- }, Ir = () => {
4814
+ }, _r = () => {
4830
4815
  if (!(typeof window > "u" || typeof document > "u")) {
4831
4816
  if (!h) {
4832
4817
  R = null;
@@ -4836,7 +4821,7 @@ const Tr = (s) => {
4836
4821
  throw new Error("[TraceLog] Cannot remove custom headers while TraceLog is being destroyed");
4837
4822
  h.removeCustomHeaders();
4838
4823
  }
4839
- }, _r = () => typeof window > "u" || typeof document > "u" ? !1 : h !== null, wr = () => typeof window > "u" || typeof document > "u" || !h ? null : h.getSessionId(), yr = () => {
4824
+ }, Ir = () => typeof window > "u" || typeof document > "u" ? !1 : h !== null, wr = () => {
4840
4825
  if (!(typeof window > "u" || typeof document > "u")) {
4841
4826
  if (v)
4842
4827
  throw new Error("[TraceLog] Destroy operation already in progress");
@@ -4851,9 +4836,9 @@ const Tr = (s) => {
4851
4836
  h = null, C = !1, N.length = 0, M.length = 0, R = null, v = !1, a("warn", "Error during destroy, forced cleanup completed", { error: s });
4852
4837
  }
4853
4838
  }
4854
- }, br = (s) => {
4839
+ }, yr = (s) => {
4855
4840
  typeof window > "u" || typeof document > "u" || Ut(s);
4856
- }, Lr = (s) => {
4841
+ }, br = (s) => {
4857
4842
  if (!(typeof window > "u" || typeof document > "u")) {
4858
4843
  if (!h)
4859
4844
  throw new Error("[TraceLog] TraceLog not initialized. Please call init() first.");
@@ -4861,7 +4846,7 @@ const Tr = (s) => {
4861
4846
  throw new Error("[TraceLog] Cannot update metadata while TraceLog is being destroyed");
4862
4847
  h.updateGlobalMetadata(s);
4863
4848
  }
4864
- }, Ar = (s) => {
4849
+ }, Lr = (s) => {
4865
4850
  if (!(typeof window > "u" || typeof document > "u")) {
4866
4851
  if (!h)
4867
4852
  throw new Error("[TraceLog] TraceLog not initialized. Please call init() first.");
@@ -4869,7 +4854,7 @@ const Tr = (s) => {
4869
4854
  throw new Error("[TraceLog] Cannot update metadata while TraceLog is being destroyed");
4870
4855
  h.mergeGlobalMetadata(s);
4871
4856
  }
4872
- }, Zr = {
4857
+ }, Jr = {
4873
4858
  init: mr,
4874
4859
  event: gr,
4875
4860
  on: Er,
@@ -4877,13 +4862,12 @@ const Tr = (s) => {
4877
4862
  setTransformer: pr,
4878
4863
  removeTransformer: Tr,
4879
4864
  setCustomHeaders: vr,
4880
- removeCustomHeaders: Ir,
4881
- isInitialized: _r,
4882
- getSessionId: wr,
4883
- destroy: yr,
4884
- setQaMode: br,
4885
- updateGlobalMetadata: Lr,
4886
- mergeGlobalMetadata: Ar
4865
+ removeCustomHeaders: _r,
4866
+ isInitialized: Ir,
4867
+ destroy: wr,
4868
+ setQaMode: yr,
4869
+ updateGlobalMetadata: br,
4870
+ mergeGlobalMetadata: Lr
4887
4871
  };
4888
4872
  var me, et = -1, D = function(s) {
4889
4873
  addEventListener("pageshow", (function(e) {
@@ -4917,7 +4901,7 @@ var me, et = -1, D = function(s) {
4917
4901
  return l > c[1] ? "poor" : l > c[0] ? "needs-improvement" : "good";
4918
4902
  })(e.value, t), s(e));
4919
4903
  };
4920
- }, Ie = function(s) {
4904
+ }, _e = function(s) {
4921
4905
  requestAnimationFrame((function() {
4922
4906
  return requestAnimationFrame((function() {
4923
4907
  return s();
@@ -4927,7 +4911,7 @@ var me, et = -1, D = function(s) {
4927
4911
  document.addEventListener("visibilitychange", (function() {
4928
4912
  document.visibilityState === "hidden" && s();
4929
4913
  }));
4930
- }, _e = function(s) {
4914
+ }, Ie = function(s) {
4931
4915
  var e = !1;
4932
4916
  return function() {
4933
4917
  e || (s(), e = !0);
@@ -4935,10 +4919,10 @@ var me, et = -1, D = function(s) {
4935
4919
  }, P = -1, $e = function() {
4936
4920
  return document.visibilityState !== "hidden" || document.prerendering ? 1 / 0 : 0;
4937
4921
  }, q = function(s) {
4938
- document.visibilityState === "hidden" && P > -1 && (P = s.type === "visibilitychange" ? s.timeStamp : 0, Mr());
4922
+ document.visibilityState === "hidden" && P > -1 && (P = s.type === "visibilitychange" ? s.timeStamp : 0, Ar());
4939
4923
  }, Be = function() {
4940
4924
  addEventListener("visibilitychange", q, !0), addEventListener("prerenderingchange", q, !0);
4941
- }, Mr = function() {
4925
+ }, Ar = function() {
4942
4926
  removeEventListener("visibilitychange", q, !0), removeEventListener("prerenderingchange", q, !0);
4943
4927
  }, tt = function() {
4944
4928
  return P < 0 && (P = $e(), Be(), D((function() {
@@ -4960,13 +4944,13 @@ var me, et = -1, D = function(s) {
4960
4944
  }));
4961
4945
  }));
4962
4946
  i && (t = L(s, n, ge, e.reportAllChanges), D((function(o) {
4963
- n = b("FCP"), t = L(s, n, ge, e.reportAllChanges), Ie((function() {
4947
+ n = b("FCP"), t = L(s, n, ge, e.reportAllChanges), _e((function() {
4964
4948
  n.value = performance.now() - o.timeStamp, t(!0);
4965
4949
  }));
4966
4950
  })));
4967
4951
  }));
4968
- }, Ee = [0.1, 0.25], Cr = function(s, e) {
4969
- e = e || {}, rt(_e((function() {
4952
+ }, Ee = [0.1, 0.25], Mr = function(s, e) {
4953
+ e = e || {}, rt(Ie((function() {
4970
4954
  var t, r = b("CLS", 0), n = 0, i = [], o = function(c) {
4971
4955
  c.forEach((function(u) {
4972
4956
  if (!u.hadRecentInput) {
@@ -4978,24 +4962,24 @@ var me, et = -1, D = function(s) {
4978
4962
  l && (t = L(s, r, Ee, e.reportAllChanges), Z((function() {
4979
4963
  o(l.takeRecords()), t(!0);
4980
4964
  })), D((function() {
4981
- n = 0, r = b("CLS", 0), t = L(s, r, Ee, e.reportAllChanges), Ie((function() {
4965
+ n = 0, r = b("CLS", 0), t = L(s, r, Ee, e.reportAllChanges), _e((function() {
4982
4966
  return t();
4983
4967
  }));
4984
4968
  })), setTimeout(t, 0));
4985
4969
  })));
4986
- }, st = 0, ie = 1 / 0, X = 0, Rr = function(s) {
4970
+ }, st = 0, ie = 1 / 0, X = 0, Cr = function(s) {
4987
4971
  s.forEach((function(e) {
4988
4972
  e.interactionId && (ie = Math.min(ie, e.interactionId), X = Math.max(X, e.interactionId), st = X ? (X - ie) / 7 + 1 : 0);
4989
4973
  }));
4990
4974
  }, nt = function() {
4991
4975
  return me ? st : performance.interactionCount || 0;
4992
- }, Nr = function() {
4993
- "interactionCount" in performance || me || (me = $("event", Rr, { type: "event", buffered: !0, durationThreshold: 0 }));
4994
- }, y = [], z = /* @__PURE__ */ new Map(), it = 0, Or = function() {
4976
+ }, Rr = function() {
4977
+ "interactionCount" in performance || me || (me = $("event", Cr, { type: "event", buffered: !0, durationThreshold: 0 }));
4978
+ }, y = [], z = /* @__PURE__ */ new Map(), it = 0, Nr = function() {
4995
4979
  var s = Math.min(y.length - 1, Math.floor((nt() - it) / 50));
4996
4980
  return y[s];
4997
- }, Pr = [], Dr = function(s) {
4998
- if (Pr.forEach((function(n) {
4981
+ }, Or = [], Pr = function(s) {
4982
+ if (Or.forEach((function(n) {
4999
4983
  return n(s);
5000
4984
  })), s.interactionId || s.entryType === "first-input") {
5001
4985
  var e = y[y.length - 1], t = z.get(s.interactionId);
@@ -5014,15 +4998,15 @@ var me, et = -1, D = function(s) {
5014
4998
  }
5015
4999
  }, ot = function(s) {
5016
5000
  var e = self.requestIdleCallback || self.setTimeout, t = -1;
5017
- return s = _e(s), document.visibilityState === "hidden" ? s() : (t = e(s), Z(s)), t;
5018
- }, Se = [200, 500], kr = function(s, e) {
5001
+ return s = Ie(s), document.visibilityState === "hidden" ? s() : (t = e(s), Z(s)), t;
5002
+ }, Se = [200, 500], Dr = function(s, e) {
5019
5003
  "PerformanceEventTiming" in self && "interactionId" in PerformanceEventTiming.prototype && (e = e || {}, ee((function() {
5020
5004
  var t;
5021
- Nr();
5005
+ Rr();
5022
5006
  var r, n = b("INP"), i = function(l) {
5023
5007
  ot((function() {
5024
- l.forEach(Dr);
5025
- var c = Or();
5008
+ l.forEach(Pr);
5009
+ var c = Nr();
5026
5010
  c && c.latency !== n.value && (n.value = c.latency, n.entries = c.entries, r());
5027
5011
  }));
5028
5012
  }, o = $("event", i, { durationThreshold: (t = e.durationThreshold) !== null && t !== void 0 ? t : 40 });
@@ -5032,7 +5016,7 @@ var me, et = -1, D = function(s) {
5032
5016
  it = nt(), y.length = 0, z.clear(), n = b("INP"), r = L(s, n, Se, e.reportAllChanges);
5033
5017
  })));
5034
5018
  })));
5035
- }, pe = [2500, 4e3], oe = {}, Vr = function(s, e) {
5019
+ }, pe = [2500, 4e3], oe = {}, kr = function(s, e) {
5036
5020
  e = e || {}, ee((function() {
5037
5021
  var t, r = tt(), n = b("LCP"), i = function(c) {
5038
5022
  e.reportAllChanges || (c = c.slice(-1)), c.forEach((function(u) {
@@ -5041,7 +5025,7 @@ var me, et = -1, D = function(s) {
5041
5025
  }, o = $("largest-contentful-paint", i);
5042
5026
  if (o) {
5043
5027
  t = L(s, n, pe, e.reportAllChanges);
5044
- var l = _e((function() {
5028
+ var l = Ie((function() {
5045
5029
  oe[n.id] || (i(o.takeRecords()), o.disconnect(), oe[n.id] = !0, t(!0));
5046
5030
  }));
5047
5031
  ["keydown", "click"].forEach((function(c) {
@@ -5049,22 +5033,22 @@ var me, et = -1, D = function(s) {
5049
5033
  return ot(l);
5050
5034
  }), { once: !0, capture: !0 });
5051
5035
  })), Z(l), D((function(c) {
5052
- n = b("LCP"), t = L(s, n, pe, e.reportAllChanges), Ie((function() {
5036
+ n = b("LCP"), t = L(s, n, pe, e.reportAllChanges), _e((function() {
5053
5037
  n.value = performance.now() - c.timeStamp, oe[n.id] = !0, t(!0);
5054
5038
  }));
5055
5039
  }));
5056
5040
  }
5057
5041
  }));
5058
- }, Te = [800, 1800], Ur = function s(e) {
5042
+ }, Te = [800, 1800], Vr = function s(e) {
5059
5043
  document.prerendering ? ee((function() {
5060
5044
  return s(e);
5061
5045
  })) : document.readyState !== "complete" ? addEventListener("load", (function() {
5062
5046
  return s(e);
5063
5047
  }), !0) : setTimeout(e, 0);
5064
- }, Hr = function(s, e) {
5048
+ }, Ur = function(s, e) {
5065
5049
  e = e || {};
5066
5050
  var t = b("TTFB"), r = L(s, t, Te, e.reportAllChanges);
5067
- Ur((function() {
5051
+ Vr((function() {
5068
5052
  var n = ve();
5069
5053
  n && (t.value = Math.max(n.responseStart - J(), 0), t.entries = [n], r(!0), D((function() {
5070
5054
  t = b("TTFB", 0), (r = L(s, t, Te, e.reportAllChanges))(!0);
@@ -5078,30 +5062,30 @@ const xr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5078
5062
  INPThresholds: Se,
5079
5063
  LCPThresholds: pe,
5080
5064
  TTFBThresholds: Te,
5081
- onCLS: Cr,
5065
+ onCLS: Mr,
5082
5066
  onFCP: rt,
5083
- onINP: kr,
5084
- onLCP: Vr,
5085
- onTTFB: Hr
5067
+ onINP: Dr,
5068
+ onLCP: kr,
5069
+ onTTFB: Ur
5086
5070
  }, Symbol.toStringTag, { value: "Module" }));
5087
5071
  export {
5088
5072
  f as AppConfigValidationError,
5089
- Fr as DEFAULT_SESSION_TIMEOUT,
5073
+ Hr as DEFAULT_SESSION_TIMEOUT,
5090
5074
  ue as DEFAULT_WEB_VITALS_MODE,
5091
5075
  A as DeviceType,
5092
5076
  ae as EmitterEvent,
5093
- H as ErrorType,
5077
+ x as ErrorType,
5094
5078
  d as EventType,
5095
- qr as InitializationTimeoutError,
5079
+ Yr as InitializationTimeoutError,
5096
5080
  V as IntegrationValidationError,
5097
- zr as MAX_ARRAY_LENGTH,
5098
- Gr as MAX_CUSTOM_EVENT_ARRAY_SIZE,
5099
- Wr as MAX_CUSTOM_EVENT_KEYS,
5100
- $r as MAX_CUSTOM_EVENT_NAME_LENGTH,
5101
- Br as MAX_CUSTOM_EVENT_STRING_SIZE,
5102
- Xr as MAX_NESTED_OBJECT_KEYS,
5103
- Qr as MAX_STRING_LENGTH,
5104
- jr as MAX_STRING_LENGTH_IN_ARRAY,
5081
+ jr as MAX_ARRAY_LENGTH,
5082
+ Wr as MAX_CUSTOM_EVENT_ARRAY_SIZE,
5083
+ Br as MAX_CUSTOM_EVENT_KEYS,
5084
+ Fr as MAX_CUSTOM_EVENT_NAME_LENGTH,
5085
+ $r as MAX_CUSTOM_EVENT_STRING_SIZE,
5086
+ Gr as MAX_NESTED_OBJECT_KEYS,
5087
+ Xr as MAX_STRING_LENGTH,
5088
+ Qr as MAX_STRING_LENGTH_IN_ARRAY,
5105
5089
  K as Mode,
5106
5090
  je as PII_PATTERNS,
5107
5091
  O as PermanentError,
@@ -5110,11 +5094,11 @@ export {
5110
5094
  mt as SessionTimeoutValidationError,
5111
5095
  U as SpecialApiUrl,
5112
5096
  F as TraceLogValidationError,
5113
- Jr as WEB_VITALS_GOOD_THRESHOLDS,
5097
+ qr as WEB_VITALS_GOOD_THRESHOLDS,
5114
5098
  ke as WEB_VITALS_NEEDS_IMPROVEMENT_THRESHOLDS,
5115
5099
  Rt as WEB_VITALS_POOR_THRESHOLDS,
5116
5100
  Ve as getWebVitalsThresholds,
5117
- Kr as isPrimaryScrollEvent,
5118
- Yr as isSecondaryScrollEvent,
5119
- Zr as tracelog
5101
+ zr as isPrimaryScrollEvent,
5102
+ Kr as isSecondaryScrollEvent,
5103
+ Jr as tracelog
5120
5104
  };