@blueking/open-telemetry 0.0.22 → 0.0.24

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.
Files changed (44) hide show
  1. package/README.md +256 -70
  2. package/dist/bk-rum.global.js +2 -2
  3. package/dist/bk-rum.global.js.map +1 -1
  4. package/dist/core/config.d.ts +4 -2
  5. package/dist/core/processor.d.ts +2 -2
  6. package/dist/core/runtime-context.d.ts +4 -0
  7. package/dist/core/sampling.d.ts +0 -1
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.js +395 -477
  10. package/dist/index.js.map +1 -1
  11. package/dist/plugins/blank-screen.d.ts +1 -1
  12. package/dist/plugins/common.d.ts +3 -4
  13. package/dist/plugins/web-vitals.d.ts +0 -5
  14. package/dist/schema/attributes.d.ts +6 -8
  15. package/dist/schema/span.d.ts +24 -15
  16. package/package.json +1 -1
  17. package/skills/bk-rum-otele/SKILL.md +26 -23
  18. package/skills/bk-rum-otele/references/actions.md +166 -0
  19. package/skills/bk-rum-otele/references/api.md +248 -215
  20. package/skills/bk-rum-otele/references/architecture.md +139 -37
  21. package/skills/bk-rum-otele/references/blank-screen.md +190 -0
  22. package/skills/bk-rum-otele/references/capabilities.md +175 -83
  23. package/skills/bk-rum-otele/references/configuration.md +226 -151
  24. package/skills/bk-rum-otele/references/data-model.md +156 -24
  25. package/skills/bk-rum-otele/references/errors-security.md +168 -0
  26. package/skills/bk-rum-otele/references/extensions.md +236 -0
  27. package/skills/bk-rum-otele/references/framework-integration.md +318 -75
  28. package/skills/bk-rum-otele/references/getting-started.md +186 -70
  29. package/skills/bk-rum-otele/references/network.md +258 -0
  30. package/skills/bk-rum-otele/references/performance.md +197 -0
  31. package/skills/bk-rum-otele/references/privacy.md +236 -67
  32. package/skills/bk-rum-otele/references/production.md +264 -0
  33. package/skills/bk-rum-otele/references/session-context.md +185 -0
  34. package/skills/bk-rum-otele/references/telemetry-reference.md +479 -51
  35. package/skills/bk-rum-otele/references/transport-sampling.md +318 -32
  36. package/skills/bk-rum-otele/references/troubleshooting.md +341 -151
  37. package/skills/bk-rum-otele/references/views-routing.md +211 -0
  38. package/skills/bk-rum-otele/references/concepts.md +0 -60
  39. package/skills/bk-rum-otele/references/custom-plugin.md +0 -170
  40. package/skills/bk-rum-otele/references/plugins-basic.md +0 -135
  41. package/skills/bk-rum-otele/references/plugins-error-security.md +0 -83
  42. package/skills/bk-rum-otele/references/plugins-experience.md +0 -124
  43. package/skills/bk-rum-otele/references/plugins-network.md +0 -32
  44. package/skills/bk-rum-otele/references/plugins.md +0 -62
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { resourceFromAttributes as c } from "@opentelemetry/resources";
6
6
  import { BatchSpanProcessor as l, SamplingDecision as u, SimpleSpanProcessor as d } from "@opentelemetry/sdk-trace-base";
7
7
  import { WebTracerProvider as f } from "@opentelemetry/sdk-trace-web";
8
8
  //#region package.json
9
- var p = "0.0.22", m = (e) => {
9
+ var p = "0.0.24", m = (e) => {
10
10
  let t = 5381;
11
11
  for (let n = 0; n < e.length; n++) t = t * 33 ^ e.charCodeAt(n);
12
12
  return (t >>> 0).toString(36);
@@ -25,11 +25,6 @@ var p = "0.0.22", m = (e) => {
25
25
  deviceLogicalProcessorCount: "device.logical_processor_count",
26
26
  deviceMemoryGib: "device.memory_gib",
27
27
  deviceType: "device.type",
28
- eventId: "event.id",
29
- eventPhase: "event.phase",
30
- eventTimestamp: "event.timestamp",
31
- eventType: "event.type",
32
- errorType: "error_type",
33
28
  longTaskBlockingDuration: "long_task.blocking_duration",
34
29
  longTaskDuration: "long_task.duration",
35
30
  longTaskEntryType: "long_task.entry_type",
@@ -37,17 +32,17 @@ var p = "0.0.22", m = (e) => {
37
32
  longTaskStartTime: "long_task.start_time",
38
33
  networkEffectiveType: "network.effective_type",
39
34
  nextHopProtocol: "resource.protocol",
40
- result: "result",
41
- rumSchemaVersion: "rum.schema.version",
35
+ outcomeReason: "outcome.reason",
36
+ outcomeType: "outcome.type",
42
37
  serviceName: "service.name",
43
38
  serviceVersion: "service.version",
44
39
  osName: "os.name",
45
40
  sessionHasReplay: "session.has_replay",
46
41
  sessionId: "session.id",
47
42
  sessionSampleRate: "session.sample_rate",
43
+ sessionPhase: "session.phase",
48
44
  sessionStartTime: "session.start_time",
49
45
  sessionType: "session.type",
50
- spanSubtype: "span_subtype",
51
46
  spanType: "span_type",
52
47
  userId: "user.id",
53
48
  vitalMetric: "vital.metric",
@@ -62,10 +57,13 @@ var p = "0.0.22", m = (e) => {
62
57
  viewLoadingTime: "view.loading_time",
63
58
  viewLoadingType: "view.loading_type",
64
59
  viewName: "view.name",
60
+ viewPhase: "view.phase",
61
+ viewSource: "view.source",
65
62
  viewStartedAt: "view.started_at",
66
63
  viewUrl: "view.url",
67
64
  viewUrlPathGroup: "view.url_path_group",
68
- viewVersion: "view.version"
65
+ viewVersion: "view.version",
66
+ websocketPhase: "websocket.phase"
69
67
  };
70
68
  //#endregion
71
69
  //#region \0@oxc-project+runtime@0.128.0/helpers/typeof.js
@@ -256,10 +254,7 @@ var C = "BK_RUM_DEVICE_ID", w = 250, T = () => navigator.connection, ee = () =>
256
254
  name: e.name,
257
255
  version: e.version
258
256
  };
259
- }, ge = (e, t, n) => S(S(S({ [g.deploymentEnvironmentName]: e.environment }, t === !1 ? {} : oe()), {}, {
260
- [g.rumSchemaVersion]: "2",
261
- [g.serviceName]: e.name
262
- }, e.version ? { [g.serviceVersion]: e.version } : {}), {}, {
257
+ }, ge = (e, t, n) => S(S(S({ [g.deploymentEnvironmentName]: e.environment }, t === !1 ? {} : oe()), {}, { [g.serviceName]: e.name }, e.version ? { [g.serviceVersion]: e.version } : {}), {}, {
263
258
  [g.sessionSampleRate]: n,
264
259
  "telemetry.sdk.language": "webjs",
265
260
  "telemetry.sdk.name": "@blueking/open-telemetry",
@@ -272,10 +267,7 @@ var C = "BK_RUM_DEVICE_ID", w = 250, T = () => navigator.connection, ee = () =>
272
267
  var t, n, r, i, a, o, s, c, l, u, d;
273
268
  return {
274
269
  beforeSend: (t = e.tracking) == null ? void 0 : t.beforeSend,
275
- getPageAttributes: (n = (r = e.context) == null || (r = r.attributes) == null ? void 0 : r.page) == null ? (() => ({
276
- "rum.page.host": typeof window > "u" ? "" : window.location.host,
277
- "rum.page.path": typeof window > "u" ? "" : window.location.pathname
278
- })) : n,
270
+ getPageAttributes: (n = (r = e.context) == null || (r = r.attributes) == null ? void 0 : r.page) == null ? (() => ({})) : n,
279
271
  getErrorAttributes: (i = (a = e.context) == null || (a = a.attributes) == null ? void 0 : a.error) == null ? (() => ({})) : i,
280
272
  getCustomAttributes: (o = (s = e.context) == null || (s = s.attributes) == null ? void 0 : s.custom) == null ? (() => ({})) : o,
281
273
  getViewPathGroup: (t) => {
@@ -380,38 +372,36 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
380
372
  }
381
373
  })();
382
374
  }
383
- }, D = "bk.rum.sampled", we = (e) => {
384
- let t = 2166136261;
385
- for (let n = 0; n < e.length; n += 1) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
386
- return t += t << 13, t ^= t >>> 7, t += t << 3, t ^= t >>> 17, t += t << 5, (t >>> 0) / 4294967296;
387
- }, Te = ({ application: e, session: t }, n) => t.sampleRate <= 0 ? !1 : t.sampleRate >= 1 ? !0 : we(`${e.name}\0${n}`) < t.sampleRate, Ee = () => typeof window > "u" ? "http://localhost" : window.location.origin, O = (e) => {
375
+ }, we = () => typeof window > "u" ? "http://localhost" : window.location.origin, D = (e) => {
388
376
  try {
389
- return new URL(e, Ee()).href;
377
+ return new URL(e, we()).href;
390
378
  } catch (t) {
391
379
  return e;
392
380
  }
393
- }, De = (e) => e.length > 1 ? e.replace(/\/+$/, "") : e, Oe = (e, t) => {
394
- let n = (e) => De(e.replace(/[?#].*$/, ""));
381
+ }, Te = (e) => e.length > 1 ? e.replace(/\/+$/, "") : e, Ee = (e, t) => {
382
+ let n = (e) => Te(e.replace(/[?#].*$/, ""));
395
383
  return n(e) === n(t);
396
- }, ke = (e, t) => Oe(O(t), O(e.transport.endpoint)), k = (e, t) => ke(e, t), Ae = (e, t) => typeof e == "function" ? e(t) : typeof e == "string" ? t.includes(e) : (e.lastIndex = 0, e.test(t)), A = (e, t) => (Array.isArray(e) ? e : e ? [e] : []).some((e) => Ae(e, t)), je = (e) => typeof e.tracking.request == "object" ? e.tracking.request : void 0, Me = (e, t) => {
384
+ }, De = (e, t) => Ee(D(t), D(e.transport.endpoint)), O = (e, t) => De(e, t), Oe = (e, t) => typeof e == "function" ? e(t) : typeof e == "string" ? t.includes(e) : (e.lastIndex = 0, e.test(t)), k = (e, t) => (Array.isArray(e) ? e : e ? [e] : []).some((e) => Oe(e, t)), ke = (e) => typeof e.tracking.request == "object" ? e.tracking.request : void 0, Ae = (e, t) => {
397
385
  var n;
398
- return k(e, t) || A((n = je(e)) == null ? void 0 : n.excludedUrls, O(t));
399
- }, Ne = (e, t) => {
386
+ return O(e, t) || k((n = ke(e)) == null ? void 0 : n.excludedUrls, D(t));
387
+ }, je = (e, t) => {
400
388
  var n;
401
- return A((n = je(e)) == null ? void 0 : n.allowedTracingUrls, O(t));
402
- }, Pe = ["http.url", "url.full"], Fe = "bk.rum.request.discard", Ie = (e) => {
403
- for (let n of Pe) {
389
+ return k((n = ke(e)) == null ? void 0 : n.allowedTracingUrls, D(t));
390
+ }, Me = ["http.url", "url.full"], Ne = /* @__PURE__ */ new WeakSet(), Pe = (e) => {
391
+ Ne.add(e);
392
+ }, Fe = (e) => {
393
+ for (let n of Me) {
404
394
  var t;
405
395
  let r = (t = e.attributes) == null ? void 0 : t[n];
406
396
  if (typeof r == "string") return r;
407
397
  }
408
- }, Le = (e) => {
398
+ }, Ie = (e) => {
409
399
  let t = e == null ? void 0 : e[g.sessionId];
410
400
  return typeof t == "string" && t.length > 0;
411
- }, Re = (e) => {
401
+ }, Le = (e) => {
412
402
  let t = e == null ? void 0 : e[g.viewId];
413
403
  return typeof t == "string" && t.length > 0;
414
- }, ze = (e) => (e == null ? void 0 : e["bk.rum.sampled"]) === !0 && Le(e) && Re(e), Be = class {
404
+ }, Re = (e) => Ie(e) && Le(e), ze = class {
415
405
  constructor(e, t, n) {
416
406
  this.inner = e, this.config = t, this.getRuntimeAttributes = n;
417
407
  }
@@ -419,9 +409,8 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
419
409
  return this.inner.forceFlush();
420
410
  }
421
411
  onEnd(e) {
422
- let t = Ie(e);
423
- if (!(e.attributes["bk.rum.request.discard"] === !0 || t && ke(this.config, t) || !ze(e.attributes) && !(e.name === "browser.session" && e.attributes["bk.rum.sampled"] === !0 && Le(e.attributes)))) {
424
- delete e.attributes[D];
412
+ let t = Fe(e);
413
+ if (!(Ne.delete(e) || t && De(this.config, t) || !Re(e.attributes) && !(e.name === "browser.session" && Ie(e.attributes)))) {
425
414
  try {
426
415
  var n, r;
427
416
  if (((n = this.config.hooks) == null || (r = n.beforeSend) == null ? void 0 : r.call(n, {
@@ -445,7 +434,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
445
434
  shutdown() {
446
435
  return this.inner.shutdown();
447
436
  }
448
- }, Ve = new Set([...Object.values(g), D]), He = class {
437
+ }, Be = new Set(Object.values(g)), Ve = class {
449
438
  constructor(e = {}, t) {
450
439
  b(this, "actionHistory", []), b(this, "attributes", {}), b(this, "queuedViewCommands", []), b(this, "recordAssociation", (e, t, n, r) => {
451
440
  let i = e.at(-1);
@@ -461,7 +450,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
461
450
  });
462
451
  }
463
452
  e.length > 100 && e.splice(0, e.length - 100);
464
- }), b(this, "sessionHistory", []), b(this, "sessionLifecycleListeners", /* @__PURE__ */ new Set()), b(this, "setOptionalAttribute", (e, t) => {
453
+ }), b(this, "sessionHistory", []), b(this, "sampled", !1), b(this, "samplingHistory", []), b(this, "sessionLifecycleListeners", /* @__PURE__ */ new Set()), b(this, "setOptionalAttribute", (e, t) => {
465
454
  if (t === void 0) {
466
455
  delete this.attributes[e];
467
456
  return;
@@ -480,12 +469,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
480
469
  let i = [...n].reverse().find((t) => t.startedAt <= e && (t.endedAt === void 0 || e < t.endedAt));
481
470
  i && Object.assign(t, i.attributes);
482
471
  };
483
- return n(this.sessionHistory, [
484
- g.sessionId,
485
- g.sessionHasReplay,
486
- D
487
- ]), n(this.viewHistory, this.viewScopedAttributeKeys), n(this.actionHistory, [g.actionId]), t;
488
- }), b(this, "getUser", () => S({}, this.user)), b(this, "getView", () => S({}, this.view)), b(this, "isSessionActive", () => typeof this.attributes[g.sessionId] == "string"), b(this, "isViewActive", () => typeof this.attributes[g.viewId] == "string"), b(this, "notifySessionLifecycle", (e) => {
472
+ return n(this.sessionHistory, [g.sessionId, g.sessionHasReplay]), n(this.viewHistory, this.viewScopedAttributeKeys), n(this.actionHistory, [g.actionId]), t;
473
+ }), b(this, "getUser", () => S({}, this.user)), b(this, "getView", () => S({}, this.view)), b(this, "isSessionActive", () => typeof this.attributes[g.sessionId] == "string"), b(this, "isSessionSampledAt", (e) => {
474
+ var t, n;
475
+ return Number.isFinite(e) ? (t = (n = [...this.samplingHistory].reverse().find((t) => t.startedAt <= e && (t.endedAt === void 0 || e < t.endedAt))) == null ? void 0 : n.sampled) == null ? !1 : t : this.sampled;
476
+ }), b(this, "isViewActive", () => typeof this.attributes[g.viewId] == "string"), b(this, "notifySessionLifecycle", (e) => {
489
477
  this.sessionLifecycleListeners.forEach((t) => t(e));
490
478
  }), b(this, "onSessionLifecycle", (e) => (this.sessionLifecycleListeners.add(e), () => this.sessionLifecycleListeners.delete(e))), b(this, "onViewChange", (e) => (this.viewChangeListeners.add(e), this.view.id && e(this.getView()), () => this.viewChangeListeners.delete(e))), b(this, "onViewCommand", (e) => {
491
479
  for (this.viewCommandListeners.add(e); this.queuedViewCommands.length;) e(this.queuedViewCommands.shift());
@@ -498,11 +486,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
498
486
  }
499
487
  this.attributes[t] = n;
500
488
  }
501
- if (g.sessionId in e && this.recordAssociation(this.sessionHistory, [
502
- g.sessionId,
503
- g.sessionHasReplay,
504
- D
505
- ], t, typeof this.attributes[g.sessionId] == "string"), g.actionId in e) {
489
+ if (g.sessionId in e && this.recordAssociation(this.sessionHistory, [g.sessionId, g.sessionHasReplay], t, typeof this.attributes[g.sessionId] == "string"), g.actionId in e) {
506
490
  let e = this.attributes[g.actionId];
507
491
  this.recordAssociation(this.actionHistory, [g.actionId], t, Array.isArray(e) ? e.length > 0 : typeof e == "string");
508
492
  }
@@ -514,11 +498,18 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
514
498
  }
515
499
  this.attributes[g.userId] = e.id;
516
500
  }
501
+ }), b(this, "setSessionSampled", (e, t = Date.now()) => {
502
+ if (e === this.sampled) return;
503
+ let n = this.samplingHistory.at(-1);
504
+ n && n.endedAt === void 0 && (n.endedAt = Math.max(n.startedAt, t)), this.sampled = e, e && this.samplingHistory.push({
505
+ sampled: e,
506
+ startedAt: t
507
+ }), this.samplingHistory.length > 100 && this.samplingHistory.splice(0, this.samplingHistory.length - 100);
517
508
  }), b(this, "setView", (e, t = ((t) => (t = e.startedAt) == null ? Date.now() : t)()) => {
518
509
  var n;
519
510
  this.viewAttributeKeys.forEach((e) => delete this.attributes[e]), this.viewAttributeKeys.clear();
520
511
  let r = {};
521
- for (let [t, i] of Object.entries((n = e.attributes) == null ? {} : n)) i === void 0 || Ve.has(t) || (r[t] = i, this.attributes[t] = i, this.viewAttributeKeys.add(t), this.viewScopedAttributeKeys.add(t));
512
+ for (let [t, i] of Object.entries((n = e.attributes) == null ? {} : n)) i === void 0 || Be.has(t) || (r[t] = i, this.attributes[t] = i, this.viewAttributeKeys.add(t), this.viewScopedAttributeKeys.add(t));
522
513
  this.view = S(S({}, e), {}, { attributes: r }), this.setOptionalAttribute(g.viewId, e.id), this.setOptionalAttribute(g.viewUrl, e.url), this.setOptionalAttribute(g.viewUrlPathGroup, e.urlPathGroup), this.setOptionalAttribute(g.viewLoadingType, e.loadingType), this.setOptionalAttribute(g.viewName, e.name), [
523
514
  g.viewId,
524
515
  g.viewUrl,
@@ -528,24 +519,26 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
528
519
  ].forEach((e) => this.viewScopedAttributeKeys.add(e)), this.recordAssociation(this.viewHistory, this.viewScopedAttributeKeys, t, typeof e.id == "string" && e.id.length > 0), this.viewChangeListeners.forEach((e) => e(this.getView()));
529
520
  }), this.setAttributes(e), t && this.setUser(t);
530
521
  }
531
- }, j = {
522
+ }, A = {
532
523
  abort: "abort",
533
524
  error: "error",
534
525
  success: "success",
535
526
  timeout: "timeout",
536
527
  warning: "warning"
537
- }, M = {
528
+ }, j = {
538
529
  action: "action",
539
530
  custom: "custom",
540
- document: "document",
541
531
  error: "error",
542
- longtask: "longtask",
532
+ longTask: "long_task",
543
533
  resource: "resource",
544
- route: "route",
545
534
  session: "session",
546
535
  vital: "vital",
536
+ view: "view",
547
537
  websocket: "websocket"
548
- }, Ue = (e) => e === 408 || e === 504 ? j.timeout : typeof e == "number" && e >= 400 ? j.error : j.success, We = (e) => e === 408 || e === 504 ? "network_timeout" : typeof e != "number" || e < 400 ? "none" : e >= 500 ? "http_5xx" : "http_4xx", Ge = (e) => e === "good" ? j.success : j.warning, Ke = (e) => {
538
+ }, He = (e) => e === 408 || e === 504 ? A.timeout : typeof e == "number" && e >= 400 ? A.error : A.success, Ue = (e) => {
539
+ if (e === 408 || e === 504) return "network_timeout";
540
+ if (!(typeof e != "number" || e < 400)) return e >= 500 ? "http_5xx" : "http_4xx";
541
+ }, We = (e) => e === "good" ? A.success : A.warning, Ge = (e) => {
549
542
  if (!e) return {};
550
543
  try {
551
544
  let t = new URL(e, typeof location > "u" ? "http://localhost" : location.href);
@@ -556,39 +549,36 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
556
549
  } catch (e) {
557
550
  return {};
558
551
  }
559
- }, N = ({ errorType: e = "none", result: t = j.success, spanSubtype: n, spanType: r }) => ({
560
- [g.spanType]: r,
561
- [g.spanSubtype]: n,
562
- [g.result]: t,
563
- [g.errorType]: e
564
- }), qe = ({ initiatorType: e = "other", method: t, networkError: n = !1, responseStatus: r, transferSize: i, url: a }) => {
565
- let o = Ke(a), s = n ? j.error : typeof r == "number" ? Ue(r) : j.success, c = t == null ? void 0 : t.toUpperCase();
566
- return S(S(S(S(S(S({}, N({
567
- errorType: n ? "network" : typeof r == "number" ? We(r) : "none",
568
- result: s,
569
- spanSubtype: e,
570
- spanType: M.resource
571
- })), o.serverAddress ? { "server.address": o.serverAddress } : {}), o.serverPort === void 0 ? {} : { "server.port": o.serverPort }), {}, { "resource.type": e }, c ? { "http.request.method": c } : {}), typeof i == "number" ? { "resource.size": i } : {}), typeof r == "number" ? { "http.response.status_code": r } : {});
572
- }, Je = 100, Ye = 100, Xe = 1e3, Ze = 100, Qe = 1e4, $e = "data-bk-action-name", et = 100, tt = 10, P = (e) => e.replace(/\s+/g, " ").trim().slice(0, et), F = (e) => {
552
+ }, M = ({ outcome: e = A.success, outcomeReason: t, spanType: n }) => S({
553
+ [g.spanType]: n,
554
+ [g.outcomeType]: e
555
+ }, t ? { [g.outcomeReason]: t } : {}), Ke = ({ initiatorType: e = "other", method: t, outcome: n, transferSize: r, url: i }) => {
556
+ let a = Ge(i), o = (n == null ? void 0 : n.type) === "response" && typeof n.statusCode == "number" && n.statusCode > 0 ? n.statusCode : void 0, s = (n == null ? void 0 : n.type) === "abort" ? A.abort : (n == null ? void 0 : n.type) === "timeout" ? A.timeout : (n == null ? void 0 : n.type) === "network_error" ? A.error : typeof o == "number" ? He(o) : A.success, c = (n == null ? void 0 : n.type) === "timeout" ? "network_timeout" : (n == null ? void 0 : n.type) === "network_error" ? "network" : typeof o == "number" ? Ue(o) : void 0, l = t == null ? void 0 : t.toUpperCase();
557
+ return S(S(S(S(S(S({}, M({
558
+ outcome: s,
559
+ outcomeReason: c,
560
+ spanType: j.resource
561
+ })), a.serverAddress ? { "server.address": a.serverAddress } : {}), a.serverPort === void 0 ? {} : { "server.port": a.serverPort }), {}, { "resource.type": e }, l ? { "http.request.method": l } : {}), typeof r == "number" ? { "resource.size": r } : {}), typeof o == "number" ? { "http.response.status_code": o } : {});
562
+ }, qe = 100, Je = 100, Ye = 1e3, Xe = 100, Ze = 1e4, Qe = "data-bk-action-name", $e = 100, et = 10, N = (e) => e.replace(/\s+/g, " ").trim().slice(0, $e), P = (e) => {
573
563
  var t;
574
564
  if (e.parentElement) return e.parentElement;
575
565
  let n = (t = e.getRootNode) == null ? void 0 : t.call(e);
576
566
  return typeof ShadowRoot < "u" && n instanceof ShadowRoot ? n.host : null;
577
- }, nt = (e, t) => {
567
+ }, tt = (e, t) => {
578
568
  let n = e;
579
569
  for (; n;) {
580
570
  let e = n.getAttribute(t);
581
- if (e) return P(e);
582
- n = F(n);
571
+ if (e) return N(e);
572
+ n = P(n);
583
573
  }
584
- }, I = (e) => {
574
+ }, F = (e) => {
585
575
  var t;
586
- return e.isContentEditable ? "" : P((t = e.textContent) == null ? "" : t);
587
- }, rt = (e) => {
576
+ return e.isContentEditable ? "" : N((t = e.textContent) == null ? "" : t);
577
+ }, nt = (e) => {
588
578
  var t, n;
589
579
  let r = e, i = (t = r.labels) == null ? void 0 : t[0];
590
580
  if (i) {
591
- let e = I(i);
581
+ let e = F(i);
592
582
  if (e) return e;
593
583
  }
594
584
  let a = e.tagName.toLowerCase(), o = (n = e.getAttribute("type")) == null ? void 0 : n.toLowerCase();
@@ -598,11 +588,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
598
588
  "submit"
599
589
  ].includes(o == null ? "" : o)) {
600
590
  var s;
601
- let e = P((s = r.value) == null ? "" : s);
591
+ let e = N((s = r.value) == null ? "" : s);
602
592
  if (e) return e;
603
593
  }
604
594
  if (a === "button" || a === "label" || e.getAttribute("role") === "button") {
605
- let t = I(e);
595
+ let t = F(e);
606
596
  if (t) return t;
607
597
  }
608
598
  for (let t of [
@@ -613,39 +603,39 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
613
603
  "placeholder"
614
604
  ]) {
615
605
  var c;
616
- let n = P((c = e.getAttribute(t)) == null ? "" : c);
606
+ let n = N((c = e.getAttribute(t)) == null ? "" : c);
617
607
  if (n) return n;
618
608
  }
619
- }, it = (e, t = $e, n = !1) => {
620
- let r = nt(e, t);
609
+ }, rt = (e, t = Qe, n = !1) => {
610
+ let r = tt(e, t);
621
611
  if (r) return r;
622
612
  if (!n) return e.tagName.toLowerCase();
623
613
  let i = e, a = 0;
624
- for (; i && a <= tt;) {
614
+ for (; i && a <= et;) {
625
615
  let e = i.tagName.toLowerCase();
626
616
  if (e === "body" || e === "html" || e === "head") break;
627
- let t = rt(i);
617
+ let t = nt(i);
628
618
  if (t) return t;
629
619
  if (e === "form") break;
630
- i = F(i), a += 1;
620
+ i = P(i), a += 1;
631
621
  }
632
- for (i = e, a = 0; i && a <= tt;) {
622
+ for (i = e, a = 0; i && a <= et;) {
633
623
  let e = i.tagName.toLowerCase();
634
624
  if (e === "body" || e === "html" || e === "head") break;
635
- let t = I(i);
625
+ let t = F(i);
636
626
  if (t) return t;
637
627
  if (e === "form") break;
638
- i = F(i), a += 1;
628
+ i = P(i), a += 1;
639
629
  }
640
630
  return e.tagName.toLowerCase();
641
- }, at = (e) => {
631
+ }, it = (e) => {
642
632
  var t;
643
633
  let n = (t = e.composedPath) == null ? void 0 : t.call(e)[0];
644
634
  return n instanceof Element ? n : e.target instanceof Element ? e.target : void 0;
645
- }, ot = (e) => {
635
+ }, at = (e) => {
646
636
  let t = e.timeStamp;
647
637
  return !Number.isFinite(t) || t <= 0 ? Date.now() : t > 0xe8d4a51000 ? t : typeof performance > "u" ? Date.now() : performance.timeOrigin + t;
648
- }, st = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t, ct = (e) => {
638
+ }, ot = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t, st = (e) => {
649
639
  let t = e;
650
640
  if (t.tagName.toLowerCase() === "label" && t.hasAttribute("for")) {
651
641
  var n;
@@ -665,13 +655,13 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
665
655
  "submit"
666
656
  ].includes((r = (i = t.getAttribute("type")) == null ? void 0 : i.toLowerCase()) == null ? "text" : r);
667
657
  }
668
- t = F(t);
658
+ t = P(t);
669
659
  }
670
660
  return !1;
671
- }, lt = (e = {}) => {
672
- let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = e.actionNameAttribute || $e, a = st(e.maxDuration, Qe), o = [], s, c = () => {
661
+ }, ct = (e = {}) => {
662
+ let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = e.actionNameAttribute || Qe, a = ot(e.maxDuration, Ze), o = [], s, c = () => {
673
663
  s == null || s.setRuntimeAttributes({ [g.actionId]: n.size ? [...n.keys()] : void 0 });
674
- }, l = (e) => !e.hadActivity && !e.userActivity.input && !e.userActivity.scroll && !e.userActivity.selection && !ct(e.target), u = (e) => {
664
+ }, l = (e) => !e.hadActivity && !e.userActivity.input && !e.userActivity.scroll && !e.userActivity.selection && !st(e.target), u = (e) => {
675
665
  if (!r.delete(e) || !s || !e.completed) return;
676
666
  clearTimeout(e.reportTimer), e.hadError && e.frustrations.add("error_click"), l(e) && e.frustrations.add("dead_click");
677
667
  let t = [
@@ -679,15 +669,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
679
669
  "dead_click",
680
670
  "error_click"
681
671
  ].filter((t) => e.frustrations.has(t)), { endTime: n, hasLoadingTime: i } = e.completed, a = Math.max(0, n - e.startTime), o = e.hadError || t.length > 0;
682
- s.startSpan("action.click", S(S(S(S(S({}, s.config.hooks.getPageAttributes()), N({
683
- errorType: e.hadError ? "js" : t.length ? "frustration" : "none",
684
- result: o ? j.warning : j.success,
685
- spanSubtype: "click",
686
- spanType: M.action
672
+ s.startSpan("action.click", S(S(S(S(S({}, s.config.hooks.getPageAttributes()), M({
673
+ outcome: o ? A.warning : A.success,
674
+ spanType: j.action
687
675
  })), e.runtimeAttributes), {}, {
688
- [g.eventId]: h("event"),
689
- [g.eventTimestamp]: e.startTime,
690
- [g.eventType]: "action",
691
676
  [g.actionId]: e.id,
692
677
  [g.actionType]: "click",
693
678
  [g.actionName]: `Click on ${e.targetName}`,
@@ -700,13 +685,13 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
700
685
  endTime: t,
701
686
  hasLoadingTime: i
702
687
  }, r.add(e);
703
- let a = Math.max(0, e.startTime + Xe - Date.now());
688
+ let a = Math.max(0, e.startTime + Ye - Date.now());
704
689
  e.reportTimer = setTimeout(() => u(e), a);
705
690
  }, f = () => {
706
691
  [...r].forEach(u);
707
692
  }, p = (e) => {
708
693
  if (clearTimeout(e.quietTimer), !e.hadActivity || e.pendingRequests.size) return;
709
- let t = Math.max(0, e.lastActivityTime + Ye - Date.now());
694
+ let t = Math.max(0, e.lastActivityTime + Je - Date.now());
710
695
  e.quietTimer = setTimeout(() => d(e, e.lastActivityTime, !0), t);
711
696
  }, m = (e, t) => {
712
697
  e.hadActivity = !0, e.lastActivityTime = Math.max(e.lastActivityTime, t), p(e);
@@ -714,7 +699,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
714
699
  for (let i of n.values()) {
715
700
  if (e.type === "request_start") {
716
701
  var t;
717
- if (e.url && A(s == null || (t = s.config.view) == null ? void 0 : t.excludedActivityUrls, e.url) || !_(i, e.time)) continue;
702
+ if (e.url && k(s == null || (t = s.config.view) == null ? void 0 : t.excludedActivityUrls, e.url) || !_(i, e.time)) continue;
718
703
  i.pendingRequests.add(e.id), m(i, e.time);
719
704
  continue;
720
705
  }
@@ -725,7 +710,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
725
710
  }
726
711
  if (e.type === "long_task" || e.type === "resource") {
727
712
  var r;
728
- if (e.type === "resource" && e.url && A(s == null || (r = s.config.view) == null ? void 0 : r.excludedActivityUrls, e.url) || e.startTime > i.startTime + a || (e.type === "resource" ? e.startTime < i.startTime : e.endTime < i.startTime)) continue;
713
+ if (e.type === "resource" && e.url && k(s == null || (r = s.config.view) == null ? void 0 : r.excludedActivityUrls, e.url) || e.startTime > i.startTime + a || (e.type === "resource" ? e.startTime < i.startTime : e.endTime < i.startTime)) continue;
729
714
  m(i, e.endTime);
730
715
  continue;
731
716
  }
@@ -739,14 +724,14 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
739
724
  [...n.values()].forEach((t) => d(t, e, t.hadActivity));
740
725
  }, b = (e, t) => {
741
726
  let n = "clientX" in t && typeof t.clientX == "number" ? t.clientX : 0, r = "clientY" in t && typeof t.clientY == "number" ? t.clientY : 0;
742
- o = o.filter((t) => e.startTime - t.action.startTime <= Xe);
743
- let i = o.at(-1), a = o.some((e) => e.action.userActivity.scroll || e.action.userActivity.selection), s = (i == null ? void 0 : i.target) === e.target && Math.hypot(i.x - n, i.y - r) <= Ze;
727
+ o = o.filter((t) => e.startTime - t.action.startTime <= Ye);
728
+ let i = o.at(-1), a = o.some((e) => e.action.userActivity.scroll || e.action.userActivity.selection), s = (i == null ? void 0 : i.target) === e.target && Math.hypot(i.x - n, i.y - r) <= Xe;
744
729
  (a || i && !s) && (o = []), o.push({
745
730
  action: e,
746
731
  target: e.target,
747
732
  x: n,
748
733
  y: r
749
- }), o.length >= 3 && e.startTime - o[o.length - 3].action.startTime <= Xe && (o.slice(-3).map((e) => e.action).forEach((e) => e.frustrations.add("rage_click")), o = []);
734
+ }), o.length >= 3 && e.startTime - o[o.length - 3].action.startTime <= Ye && (o.slice(-3).map((e) => e.action).forEach((e) => e.frustrations.add("rage_click")), o = []);
750
735
  };
751
736
  return {
752
737
  name: "action",
@@ -758,9 +743,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
758
743
  passive: !0
759
744
  }, p = (t) => {
760
745
  if (!l.isSampled() || "button" in t && typeof t.button == "number" && t.button !== 0) return;
761
- let r = at(t);
746
+ let r = it(t);
762
747
  if (!r) return;
763
- let o = ot(t), s = h("action"), u = {
748
+ let o = at(t), s = h("action"), u = {
764
749
  frustrations: /* @__PURE__ */ new Set(),
765
750
  hadActivity: !1,
766
751
  hadError: !1,
@@ -771,7 +756,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
771
756
  runtimeAttributes: l.getRuntimeAttributes(),
772
757
  startTime: o,
773
758
  target: r,
774
- targetName: it(r, i, e.nameCollection === "text"),
759
+ targetName: rt(r, i, e.nameCollection === "text"),
775
760
  targetTag: r.tagName.toLowerCase(),
776
761
  userActivity: {
777
762
  input: !1,
@@ -780,7 +765,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
780
765
  },
781
766
  validationTimer: setTimeout(() => {
782
767
  u.hadActivity || d(u, u.startTime, !1);
783
- }, Je)
768
+ }, qe)
784
769
  };
785
770
  n.set(s, u), b(u, t), c();
786
771
  };
@@ -814,16 +799,16 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
814
799
  o = [], s = void 0;
815
800
  }
816
801
  };
817
- }, ut = "data-bk-excluded-activity-mutations", dt = (e) => {
802
+ }, lt = "data-bk-excluded-activity-mutations", ut = (e) => {
818
803
  let t = e.type === "characterData" ? e.target.parentElement : e.target;
819
804
  return t instanceof Element && !!t.closest("[data-bk-excluded-activity-mutations]");
820
- }, ft = () => {
805
+ }, dt = () => {
821
806
  let e, t = [];
822
807
  return {
823
808
  name: "activity",
824
809
  init(n) {
825
810
  if (typeof document < "u" && typeof MutationObserver < "u" && (e = new MutationObserver((e) => {
826
- e.length && !e.every(dt) && n.notifyActivity({
811
+ e.length && !e.every(ut) && n.notifyActivity({
827
812
  time: Date.now(),
828
813
  type: "dom_mutation"
829
814
  });
@@ -847,7 +832,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
847
832
  for (e == null || e.disconnect(), e = void 0; t.length;) (n = t.pop()) == null || n();
848
833
  }
849
834
  };
850
- }, pt = (e, t) => !!(t && A(e.config.view.excludedActivityUrls, t)), mt = (e, t, n) => {
835
+ }, ft = (e, t) => !!(t && k(e.config.view.excludedActivityUrls, t)), pt = (e, t, n) => {
851
836
  let r = /* @__PURE__ */ new Set(), i = !1, a = !1, o = t, s, c = (e) => {
852
837
  i || (i = !0, clearTimeout(f), clearTimeout(s), d(), n(e));
853
838
  }, l = () => {
@@ -860,7 +845,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
860
845
  }, d = e.onActivity((n) => {
861
846
  if (!(n.type === "error" || n.type === "long_task")) {
862
847
  if (n.type === "request_start") {
863
- if (n.time < t || pt(e, n.url)) return;
848
+ if (n.time < t || ft(e, n.url)) return;
864
849
  r.add(n.id), u(n.time);
865
850
  return;
866
851
  }
@@ -870,7 +855,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
870
855
  return;
871
856
  }
872
857
  if (n.type === "resource") {
873
- if (n.endTime < t || pt(e, n.url)) return;
858
+ if (n.endTime < t || ft(e, n.url)) return;
874
859
  u(n.endTime);
875
860
  return;
876
861
  }
@@ -882,7 +867,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
882
867
  return () => {
883
868
  i || (i = !0, clearTimeout(f), clearTimeout(s), d());
884
869
  };
885
- }, ht = 1e3, gt = 200, _t = "body", vt = .8, yt = [
870
+ }, mt = 1e3, ht = 200, gt = "body", _t = .8, vt = [
886
871
  "[data-loading=\"true\"]",
887
872
  "[aria-busy=\"true\"]",
888
873
  ".loading",
@@ -890,7 +875,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
890
875
  ".spinner",
891
876
  ".skeleton",
892
877
  ".bk-loading"
893
- ], L = [
878
+ ], I = [
894
879
  [.2, .2],
895
880
  [.5, .2],
896
881
  [.8, .2],
@@ -900,57 +885,48 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
900
885
  [.2, .8],
901
886
  [.5, .8],
902
887
  [.8, .8]
903
- ], bt = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, xt = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.min(1, e)) : t, St = (e) => {
888
+ ], yt = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, bt = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.min(1, e)) : t, xt = (e) => {
904
889
  if (!e) return "";
905
890
  let t = e.tagName.toLowerCase();
906
891
  return e.id ? `${t}#${e.id}` : t;
907
- }, Ct = (e, t) => t.some((t) => {
892
+ }, St = (e, t) => t.some((t) => {
908
893
  try {
909
894
  return e.matches(t) || !!e.closest(t);
910
895
  } catch (e) {
911
896
  return !1;
912
897
  }
913
- }), wt = (e) => {
898
+ }), Ct = (e) => {
914
899
  if (typeof getComputedStyle != "function") return !0;
915
900
  let t = getComputedStyle(e);
916
901
  return t.display !== "none" && t.visibility !== "hidden" && Number(t.opacity || 1) > 0;
917
- }, Tt = (e, t) => {
902
+ }, wt = (e, t) => {
918
903
  if (typeof document.elementsFromPoint == "function") return document.elementsFromPoint(e, t);
919
904
  let n = document.elementFromPoint(e, t);
920
905
  return n ? [n] : [];
921
- }, Et = (e, t) => {
922
- let n = document.querySelector(e);
923
- if (!n) return {
924
- centerElement: St(Tt(window.innerWidth / 2, window.innerHeight / 2)[0]),
925
- emptyCount: L.length,
926
- ignoredCount: 0,
927
- reason: "missing_root",
928
- rootFound: !1,
929
- score: 1,
930
- validCount: L.length
931
- };
932
- let r = 0, i = 0, a = "";
933
- for (let [e, o] of L) {
934
- let s = Tt(window.innerWidth * e, window.innerHeight * o);
935
- if (e === .5 && o === .5 && (a = St(s[0])), s.some((e) => Ct(e, t))) {
936
- i += 1;
906
+ }, Tt = (e, t) => {
907
+ var n;
908
+ let r = document.querySelector(e), i = (n = r == null ? document.body : r) == null ? document.documentElement : n, a = !!r, o = 0, s = 0, c = "";
909
+ for (let [e, n] of I) {
910
+ let r = wt(window.innerWidth * e, window.innerHeight * n);
911
+ if (e === .5 && n === .5 && (c = xt(r[0])), r.some((e) => St(e, t))) {
912
+ s += 1;
937
913
  continue;
938
914
  }
939
- s.some((e) => e !== n && e !== document.body && e !== document.documentElement && n.contains(e) && wt(e)) || (r += 1);
915
+ r.some((e) => e !== i && e !== document.body && e !== document.documentElement && i.contains(e) && Ct(e)) || (o += 1);
940
916
  }
941
- let o = L.length - i;
917
+ let l = I.length - s;
942
918
  return {
943
- centerElement: a,
944
- emptyCount: r,
945
- ignoredCount: i,
946
- reason: "empty_viewport",
947
- rootFound: !0,
948
- score: o ? r / o : 0,
949
- validCount: o
919
+ centerElement: c,
920
+ emptyCount: o,
921
+ ignoredCount: s,
922
+ reason: a ? "empty_viewport" : "missing_root",
923
+ rootFound: a,
924
+ score: l ? o / l : 0,
925
+ validCount: l
950
926
  };
951
- }, Dt = (e = {}) => {
927
+ }, Et = (e = {}) => {
952
928
  var t;
953
- let n = bt(e.checkDelay, ht), r = bt(e.confirmationDelay, gt), i = e.rootSelector || _t, a = xt(e.threshold, vt), o = [...yt, ...(t = e.ignoreSelectors) == null ? [] : t], s, c, l, u, d = () => {}, f;
929
+ let n = yt(e.checkDelay, mt), r = yt(e.confirmationDelay, ht), i = e.rootSelector || gt, a = bt(e.threshold, _t), o = [...vt, ...(t = e.ignoreSelectors) == null ? [] : t], s, c, l, u, d = () => {}, f;
954
930
  return {
955
931
  name: "blank-screen",
956
932
  init(e) {
@@ -961,11 +937,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
961
937
  if (s !== t || c === t || !e.isSampled()) return;
962
938
  c = t;
963
939
  let r = Date.now();
964
- e.startSpan("browser.blank_screen", S(S({}, N({
965
- errorType: "blank_screen",
966
- result: j.error,
967
- spanSubtype: n.reason,
968
- spanType: M.error
940
+ e.startSpan("browser.blank_screen", S(S({}, M({
941
+ outcome: A.error,
942
+ outcomeReason: "blank_screen",
943
+ spanType: j.error
969
944
  })), {}, {
970
945
  "blank_screen.center_element": n.centerElement,
971
946
  "blank_screen.empty_ratio": n.score,
@@ -974,17 +949,14 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
974
949
  "blank_screen.reason": n.reason,
975
950
  "blank_screen.root_found": n.rootFound,
976
951
  "blank_screen.root_selector": i,
977
- "blank_screen.sample_count": L.length,
978
- "blank_screen.valid_sample_count": n.validCount,
979
- [g.eventId]: h("event"),
980
- [g.eventTimestamp]: r,
981
- [g.eventType]: "error"
952
+ "blank_screen.sample_count": I.length,
953
+ "blank_screen.valid_sample_count": n.validCount
982
954
  }), { startTime: r }).end(r);
983
955
  }, m = (t) => {
984
956
  if (s !== t || c === t || document.visibilityState === "hidden") return;
985
957
  let n;
986
958
  try {
987
- n = Et(i, o);
959
+ n = Tt(i, o);
988
960
  } catch (t) {
989
961
  var l;
990
962
  e.config.debug && ((l = globalThis.console) == null || l.warn("[bk-ot][blank-screen] detection failed:", t));
@@ -994,7 +966,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
994
966
  if (s !== t || document.visibilityState === "hidden") return;
995
967
  let n;
996
968
  try {
997
- n = Et(i, o);
969
+ n = Tt(i, o);
998
970
  } catch (t) {
999
971
  var r;
1000
972
  e.config.debug && ((r = globalThis.console) == null || r.warn("[bk-ot][blank-screen] confirmation failed:", t));
@@ -1002,53 +974,53 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1002
974
  }
1003
975
  n.validCount && n.score >= a && p(t, n);
1004
976
  }, r));
1005
- }, _ = (r) => {
977
+ }, h = (r) => {
1006
978
  t(), !(document.visibilityState === "hidden" || !e.isSampled()) && (u = setTimeout(() => m(r), n));
1007
979
  };
1008
980
  d = e.onViewChange((n) => {
1009
981
  if (n.id !== s && (t(), l == null || l(), l = void 0, s = n.id, c = void 0, n.id)) {
1010
982
  let t = n.id;
1011
- l = mt(e, Date.now(), () => {
1012
- l = void 0, _(t);
983
+ l = pt(e, Date.now(), () => {
984
+ l = void 0, h(t);
1013
985
  });
1014
986
  }
1015
987
  });
1016
- let v = () => {
1017
- document.visibilityState === "hidden" ? t() : s && c !== s && _(s);
988
+ let g = () => {
989
+ document.visibilityState === "hidden" ? t() : s && c !== s && h(s);
1018
990
  };
1019
- document.addEventListener("visibilitychange", v), f = () => document.removeEventListener("visibilitychange", v);
991
+ document.addEventListener("visibilitychange", g), f = () => document.removeEventListener("visibilitychange", g);
1020
992
  },
1021
993
  shutdown() {
1022
994
  clearTimeout(u), u = void 0, d(), l == null || l(), l = void 0, f == null || f(), f = void 0, s = void 0, c = void 0;
1023
995
  }
1024
996
  };
1025
- }, Ot = 100, kt = 200, R = [], At = (e) => e.replace(/#.*$/, ""), jt = (e) => {
1026
- let t = R.indexOf(e);
1027
- t >= 0 && R.splice(t, 1), e.timer !== void 0 && clearTimeout(e.timer);
1028
- }, z = (e, t) => {
997
+ }, Dt = 100, Ot = 200, L = [], kt = (e) => e.replace(/#.*$/, ""), At = (e) => {
998
+ let t = L.indexOf(e);
999
+ t >= 0 && L.splice(t, 1), e.timer !== void 0 && clearTimeout(e.timer);
1000
+ }, R = (e, t) => {
1029
1001
  let n = e.callback;
1030
- jt(e), e.callback = void 0, n == null || n(t);
1031
- }, Mt = (e) => {
1032
- let t = performance.timeOrigin + e.startTime, n = R.filter((n) => !n.entry && At(n.url) === At(e.name) && t >= n.startTime - 50).sort((e, n) => Math.abs(e.startTime - t) - Math.abs(n.startTime - t))[0];
1033
- n && (n.entry = e, n.callback && z(n, e));
1034
- }, Nt = (e, t = Date.now()) => {
1002
+ At(e), e.callback = void 0, n == null || n(t);
1003
+ }, jt = (e) => {
1004
+ let t = performance.timeOrigin + e.startTime, n = L.filter((n) => !n.entry && kt(n.url) === kt(e.name) && t >= n.startTime - 50).sort((e, n) => Math.abs(e.startTime - t) - Math.abs(n.startTime - t))[0];
1005
+ n && (n.entry = e, n.callback && R(n, e));
1006
+ }, Mt = (e, t = Date.now()) => {
1035
1007
  let n = {
1036
1008
  startTime: t,
1037
1009
  url: e
1038
1010
  };
1039
- return R.push(n), R.length > Ot && z(R[0]), {
1040
- cancel: () => z(n),
1011
+ return L.push(n), L.length > Dt && R(L[0]), {
1012
+ cancel: () => R(n),
1041
1013
  complete: (e) => {
1042
1014
  if (n.callback = e, n.entry) {
1043
- z(n, n.entry);
1015
+ R(n, n.entry);
1044
1016
  return;
1045
1017
  }
1046
- n.timer = setTimeout(() => z(n), kt);
1018
+ n.timer = setTimeout(() => R(n), Ot);
1047
1019
  }
1048
1020
  };
1049
- }, Pt = (e) => e.deliveryType === "cache" || e.transferSize === 0 && e.decodedBodySize > 0 ? !0 : void 0, Ft = (...e) => e.every((t, n) => n === 0 || e[n - 1] <= t), B = (e, t, n, r, i) => {
1050
- Ft(n, r, i) && (e[`resource.${t}.start`] = r - n, e[`resource.${t}.duration`] = i - r);
1051
- }, It = (e) => {
1021
+ }, Nt = (e) => e.deliveryType === "cache" || e.transferSize === 0 && e.decodedBodySize > 0 ? !0 : void 0, z = (...e) => e.every((t, n) => n === 0 || e[n - 1] <= t), B = (e, t, n, r, i) => {
1022
+ z(n, r, i) && (e[`resource.${t}.start`] = r - n, e[`resource.${t}.duration`] = i - r);
1023
+ }, Pt = (e) => {
1052
1024
  let t = {}, n = [
1053
1025
  e.startTime,
1054
1026
  e.fetchStart,
@@ -1060,17 +1032,17 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1060
1032
  e.responseStart,
1061
1033
  e.responseEnd
1062
1034
  ];
1063
- return !n.every(Number.isFinite) || !Ft(...n) ? t : (B(t, "first_byte", e.startTime, e.requestStart, e.responseStart), B(t, "download", e.startTime, e.responseStart, e.responseEnd), e.workerStart > 0 && e.workerStart < e.fetchStart && B(t, "worker", e.startTime, e.workerStart, e.fetchStart), e.fetchStart < e.domainLookupEnd && B(t, "dns", e.startTime, e.domainLookupStart, e.domainLookupEnd), e.fetchStart < e.connectEnd && (B(t, "connect", e.startTime, e.connectStart, e.connectEnd), e.connectStart <= e.secureConnectionStart && e.secureConnectionStart <= e.connectEnd && B(t, "ssl", e.startTime, e.secureConnectionStart, e.connectEnd)), e.redirectEnd > e.startTime && Ft(e.startTime, e.redirectStart, e.redirectEnd, e.fetchStart) && B(t, "redirect", e.startTime, e.redirectStart, e.redirectEnd), t);
1064
- }, Lt = (e) => e.duration === 0 && e.responseEnd > e.startTime ? e.responseEnd - e.startTime : e.duration, Rt = (e) => {
1035
+ return !n.every(Number.isFinite) || !z(...n) ? t : (B(t, "first_byte", e.startTime, e.requestStart, e.responseStart), B(t, "download", e.startTime, e.responseStart, e.responseEnd), e.workerStart > 0 && e.workerStart < e.fetchStart && B(t, "worker", e.startTime, e.workerStart, e.fetchStart), e.fetchStart < e.domainLookupEnd && B(t, "dns", e.startTime, e.domainLookupStart, e.domainLookupEnd), e.fetchStart < e.connectEnd && (B(t, "connect", e.startTime, e.connectStart, e.connectEnd), e.connectStart <= e.secureConnectionStart && e.secureConnectionStart <= e.connectEnd && B(t, "ssl", e.startTime, e.secureConnectionStart, e.connectEnd)), e.redirectEnd > e.startTime && z(e.startTime, e.redirectStart, e.redirectEnd, e.fetchStart) && B(t, "redirect", e.startTime, e.redirectStart, e.redirectEnd), t);
1036
+ }, Ft = (e) => e.duration === 0 && e.responseEnd > e.startTime ? e.responseEnd - e.startTime : e.duration, It = (e) => {
1065
1037
  let t = typeof e.deliveryType == "string" ? e.deliveryType || "other" : void 0;
1066
1038
  return S(S(S(S({
1067
- [g.cacheHit]: Pt(e),
1039
+ [g.cacheHit]: Nt(e),
1068
1040
  [g.nextHopProtocol]: e.nextHopProtocol
1069
- }, It(e)), t ? { "resource.delivery_type": t } : {}), e.renderBlockingStatus ? { "resource.render_blocking_status": e.renderBlockingStatus } : {}), {}, {
1041
+ }, Pt(e)), t ? { "resource.delivery_type": t } : {}), e.renderBlockingStatus ? { "resource.render_blocking_status": e.renderBlockingStatus } : {}), {}, {
1070
1042
  "resource.encoded_body_size": e.encodedBodySize,
1071
1043
  "resource.decoded_body_size": e.decodedBodySize
1072
1044
  });
1073
- }, zt = (t = !0) => {
1045
+ }, Lt = (t = !0) => {
1074
1046
  let n;
1075
1047
  return {
1076
1048
  name: "resource",
@@ -1078,24 +1050,22 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1078
1050
  var i;
1079
1051
  if (typeof PerformanceObserver > "u" || !((i = PerformanceObserver.supportedEntryTypes) != null && i.includes("resource"))) return;
1080
1052
  let a = (n) => {
1081
- if (!r.isSampled() || !n.name || k(r.config, n.name)) return;
1053
+ if (!r.isSampled() || !n.name || O(r.config, n.name)) return;
1082
1054
  if (n.initiatorType === "fetch" || n.initiatorType === "xmlhttprequest") {
1083
- Mt(n);
1055
+ jt(n);
1084
1056
  return;
1085
1057
  }
1086
1058
  if (n.duration < 0) return;
1087
- let i = r.config.hooks.redactUrl(n.name), a = Lt(n), o = performance.timeOrigin + n.startTime, s = o + a;
1088
- t && r.isSampled() && r.startSpan("browser.resource", S(S(S({}, r.config.hooks.getPageAttributes()), qe({
1059
+ let i = r.config.hooks.redactUrl(n.name), a = Ft(n), o = performance.timeOrigin + n.startTime, s = o + a;
1060
+ t && r.isSampled() && r.startSpan("browser.resource", S(S(S({}, r.config.hooks.getPageAttributes()), Ke({
1089
1061
  initiatorType: n.initiatorType || "other",
1090
- responseStatus: n.responseStatus,
1062
+ outcome: typeof n.responseStatus == "number" ? {
1063
+ statusCode: n.responseStatus,
1064
+ type: "response"
1065
+ } : void 0,
1091
1066
  transferSize: n.transferSize,
1092
1067
  url: i
1093
- })), {}, {
1094
- [g.eventId]: h("event"),
1095
- [g.eventTimestamp]: o,
1096
- [g.eventType]: "resource",
1097
- "url.full": i
1098
- }, Rt(n)), {
1068
+ })), {}, { "url.full": i }, It(n)), {
1099
1069
  kind: e.CLIENT,
1100
1070
  startTime: o
1101
1071
  }).end(s), r.notifyActivity({
@@ -1120,26 +1090,31 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1120
1090
  n == null || n.disconnect(), n = void 0;
1121
1091
  }
1122
1092
  };
1123
- }, Bt = (e) => typeof e.config.tracking.request == "object" ? e.config.tracking.request : void 0, Vt = (e) => {
1124
- if (e.type === "xhr") return e.xhr.status;
1125
- if (e.response) return e.response.status;
1126
- if (typeof e.error == "object" && e.error && "status" in e.error) {
1127
- let t = e.error.status;
1128
- return typeof t == "number" ? t : void 0;
1129
- }
1130
- }, Ht = (e) => typeof e == "string" || e instanceof URL ? O(String(e)) : O(e.url), Ut = (e, t) => {
1093
+ }, Rt = (e) => typeof e.config.tracking.request == "object" ? e.config.tracking.request : void 0, zt = (e) => typeof e == "object" && e && "name" in e && typeof e.name == "string" ? e.name : "", Bt = (e, t) => {
1094
+ let n = e.signal;
1095
+ return zt(n == null ? void 0 : n.reason) === "TimeoutError" || zt(t) === "TimeoutError" ? {
1096
+ error: t,
1097
+ type: "timeout"
1098
+ } : n != null && n.aborted || zt(t) === "AbortError" ? { type: "abort" } : {
1099
+ error: t,
1100
+ type: "network_error"
1101
+ };
1102
+ }, Vt = (e, t) => e === "abort" ? { type: "abort" } : e === "timeout" ? { type: "timeout" } : e === "error" || t.status === 0 ? { type: "network_error" } : {
1103
+ statusCode: t.status,
1104
+ type: "response"
1105
+ }, Ht = (e) => e.type === "network_error" || e.type === "timeout" || e.type === "response" && typeof e.statusCode == "number" && e.statusCode >= 400, Ut = (e) => typeof e == "string" || e instanceof URL ? D(String(e)) : D(e.url), Wt = (e, t) => {
1131
1106
  var n;
1132
1107
  return ((n = t == null ? void 0 : t.method) == null ? typeof Request < "u" && e instanceof Request ? e.method : "GET" : n).toUpperCase();
1133
- }, Wt = (e, t) => typeof Request < "u" && e instanceof Request ? e : t == null ? {} : t, Gt = (e, t, a) => {
1108
+ }, Gt = (e, t) => typeof Request < "u" && e instanceof Request ? e : t == null ? {} : t, Kt = (e, t, a) => {
1134
1109
  var o;
1135
1110
  let s = typeof Request < "u" && e instanceof Request ? e.headers : void 0, c = new Headers((o = t == null ? void 0 : t.headers) == null ? s : o);
1136
1111
  return r.inject(i.setSpan(n.active(), a), c, { set: (e, t, n) => e.set(t, n) }), S(S({}, t), {}, { headers: c });
1137
- }, Kt = (e, t) => {
1112
+ }, qt = (e, t) => {
1138
1113
  let a = {};
1139
1114
  r.inject(i.setSpan(n.active(), t), a);
1140
1115
  for (let [t, n] of Object.entries(a)) e.setRequestHeader(t, n);
1141
- }, qt = (e, t) => k(e.config, t) || A(e.config.view.excludedActivityUrls, t), Jt = (e, t) => {
1142
- if (qt(e, t)) return () => {};
1116
+ }, Jt = (e, t) => O(e.config, t) || k(e.config.view.excludedActivityUrls, t), Yt = (e, t) => {
1117
+ if (Jt(e, t)) return () => {};
1143
1118
  let n = h("request");
1144
1119
  e.notifyActivity({
1145
1120
  id: n,
@@ -1155,56 +1130,51 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1155
1130
  type: "request_end"
1156
1131
  }));
1157
1132
  };
1158
- }, Yt = (e, t) => e.isSampled() ? Nt(t) : {
1133
+ }, Xt = (e, t) => e.isSampled() ? Mt(t) : {
1159
1134
  cancel() {},
1160
1135
  complete(e) {
1161
1136
  e();
1162
1137
  }
1163
- }, Xt = (t, n, r) => {
1138
+ }, Zt = (t, n, r) => {
1164
1139
  var i, a;
1165
1140
  let o = (i = r.startedAt) == null ? Date.now() : i;
1166
- return t.startSpan("browser.resource", S(S(S({}, t.config.hooks.getPageAttributes()), qe({
1141
+ return t.startSpan("browser.resource", S(S(S({}, t.config.hooks.getPageAttributes()), Ke({
1167
1142
  initiatorType: n,
1168
1143
  method: r.method,
1169
1144
  url: (a = r.url) == null ? "" : a
1170
- })), {}, {
1171
- [g.eventId]: h("event"),
1172
- [g.eventTimestamp]: o,
1173
- [g.eventType]: "resource"
1174
- }, r.url ? { "url.full": t.config.hooks.redactUrl(r.url) } : {}), {
1145
+ })), r.url ? { "url.full": t.config.hooks.redactUrl(r.url) } : {}), {
1175
1146
  kind: e.CLIENT,
1176
1147
  startTime: o
1177
1148
  });
1178
- }, Zt = (e, n, r, i, a = {}) => {
1179
- let o = a.url, s = o ? e.config.hooks.redactUrl(o) : void 0, c = Vt(i), l = a.method, u = {
1180
- attributes: S(S(S({}, e.config.hooks.getPageAttributes()), qe({
1149
+ }, Qt = (e, n, r, i, a, o = {}) => {
1150
+ let s = o.url, c = s ? e.config.hooks.redactUrl(s) : void 0, l = o.method, u = {
1151
+ attributes: S(S(S({}, e.config.hooks.getPageAttributes()), Ke({
1181
1152
  initiatorType: r,
1182
1153
  method: l,
1183
- networkError: i.type === "fetch" ? !i.response : i.xhr.status === 0,
1184
- responseStatus: c,
1185
- url: s == null ? "" : s
1186
- })), s ? { "url.full": s } : {}),
1154
+ outcome: a,
1155
+ url: c == null ? "" : c
1156
+ })), c ? { "url.full": c } : {}),
1187
1157
  resource: {
1188
1158
  method: l,
1189
- statusCode: c,
1190
- type: r,
1191
- url: s
1159
+ outcome: a,
1160
+ transport: r,
1161
+ url: c
1192
1162
  },
1193
1163
  type: "resource"
1194
1164
  }, d = !0;
1195
1165
  try {
1196
1166
  var f, p;
1197
- d = (f = Bt(e)) == null || (p = f.beforeSend) == null ? void 0 : p.call(f, u, i);
1167
+ d = (f = Rt(e)) == null || (p = f.beforeSend) == null ? void 0 : p.call(f, u, i);
1198
1168
  } catch (t) {
1199
1169
  var m;
1200
1170
  e.config.debug && ((m = globalThis.console) == null || m.warn("[bk-ot] request.beforeSend failed:", t));
1201
1171
  }
1202
1172
  if (n.setAttributes(e.applyRedact(u.attributes)), d === !1) {
1203
- n.setAttribute(Fe, !0);
1173
+ Pe(n);
1204
1174
  return;
1205
1175
  }
1206
- ((c == null ? 0 : c) >= 400 || c === 0 || i.type === "fetch" && i.error) && n.setStatus({ code: t.ERROR });
1207
- }, Qt = (e) => {
1176
+ Ht(a) && n.setStatus({ code: t.ERROR });
1177
+ }, $t = (e) => {
1208
1178
  let t = [], n = /* @__PURE__ */ new Set();
1209
1179
  return {
1210
1180
  name: "request",
@@ -1214,16 +1184,16 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1214
1184
  if (typeof window.fetch == "function") {
1215
1185
  let r = window.fetch, i = /* @__PURE__ */ function() {
1216
1186
  var t = E(function* (t, i) {
1217
- let a = Ht(t);
1218
- if (!e.isSampled() || Me(e.config, a)) return r.call(this, t, i);
1187
+ let a = Ut(t);
1188
+ if (!e.isSampled() || Ae(e.config, a)) return r.call(this, t, i);
1219
1189
  let o = {
1220
- method: Ut(t, i),
1190
+ method: Wt(t, i),
1221
1191
  startedAt: Date.now(),
1222
1192
  url: a
1223
- }, s = Xt(e, "fetch", o), c = Yt(e, a), l = Jt(e, a), u = Wt(t, i), d = Ne(e.config, a) ? Gt(t, i, s) : i, f = !1, p = (t, r = Date.now()) => {
1193
+ }, s = Zt(e, "fetch", o), c = Xt(e, a), l = Yt(e, a), u = Gt(t, i), d = je(e.config, a) ? Kt(t, i, s) : i, f = !1, p = (t, r = Date.now()) => {
1224
1194
  if (!f) {
1225
1195
  if (f = !0, n.delete(m), t) {
1226
- s.setAttributes(e.applyRedact(Rt(t))), s.end(performance.timeOrigin + t.startTime + Lt(t));
1196
+ s.setAttributes(e.applyRedact(It(t))), s.end(performance.timeOrigin + t.startTime + Ft(t));
1227
1197
  return;
1228
1198
  }
1229
1199
  s.end(r);
@@ -1233,22 +1203,23 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1233
1203
  };
1234
1204
  n.add(m);
1235
1205
  try {
1236
- let n = yield r.call(this, t, d);
1237
- Zt(e, s, "fetch", {
1206
+ let n = yield r.call(this, t, d), i = S(S({}, n.status > 0 ? { statusCode: n.status } : {}), {}, { type: "response" });
1207
+ Qt(e, s, "fetch", {
1238
1208
  request: u,
1239
1209
  response: n,
1240
1210
  type: "fetch"
1241
- }, o);
1242
- let i = Date.now();
1243
- return c.complete((e) => p(e, i)), n;
1211
+ }, i, o);
1212
+ let a = Date.now();
1213
+ return c.complete((e) => p(e, a)), n;
1244
1214
  } catch (t) {
1245
- Zt(e, s, "fetch", {
1215
+ let n = Bt(u, t);
1216
+ Qt(e, s, "fetch", {
1246
1217
  error: t,
1247
1218
  request: u,
1248
1219
  type: "fetch"
1249
- }, o), t instanceof Error && s.recordException(t);
1250
- let n = Date.now();
1251
- throw c.complete((e) => p(e, n)), t;
1220
+ }, n, o), n.type !== "abort" && t instanceof Error && s.recordException(t);
1221
+ let r = Date.now();
1222
+ throw c.complete((e) => p(e, r)), t;
1252
1223
  } finally {
1253
1224
  l();
1254
1225
  }
@@ -1265,41 +1236,45 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1265
1236
  let r = /* @__PURE__ */ new WeakMap(), i = XMLHttpRequest.prototype.open, a = XMLHttpRequest.prototype.send, o = function(e, t, n = !0, a, o) {
1266
1237
  return r.set(this, {
1267
1238
  method: e.toUpperCase(),
1268
- url: O(String(t))
1239
+ url: D(String(t))
1269
1240
  }), i.call(this, e, String(t), n, a, o);
1270
1241
  }, s = function(t) {
1271
1242
  var i;
1272
1243
  let o = (i = r.get(this)) == null ? {} : i;
1273
- if (!e.isSampled() || !o.url || Me(e.config, o.url)) return a.call(this, t);
1244
+ if (!e.isSampled() || !o.url || Ae(e.config, o.url)) return a.call(this, t);
1274
1245
  o.startedAt = Date.now();
1275
- let s = Xt(e, "xhr", o), c = Yt(e, o.url), l = Jt(e, o.url);
1276
- Ne(e.config, o.url) && Kt(this, s);
1277
- let u = !1, d = () => {
1278
- c.cancel(), !u && (u = !0, n.delete(d), l(), s.end());
1246
+ let s = Zt(e, "xhr", o), c = Xt(e, o.url), l = Yt(e, o.url);
1247
+ je(e.config, o.url) && qt(this, s);
1248
+ let u = !1, d = !1, f = () => {}, p = () => {
1249
+ f(), c.cancel(), !d && (d = !0, n.delete(p), l(), s.end());
1279
1250
  };
1280
- n.add(d);
1281
- let f = () => {
1282
- if (u) return;
1283
- Zt(e, s, "xhr", {
1251
+ n.add(p);
1252
+ let m = (t) => {
1253
+ if (u || d) return;
1254
+ u = !0, f();
1255
+ let r = Vt(t, this);
1256
+ Qt(e, s, "xhr", {
1284
1257
  type: "xhr",
1285
1258
  xhr: this
1286
- }, o), l();
1287
- let t = Date.now();
1288
- c.complete((r) => {
1289
- if (!u) {
1290
- if (u = !0, n.delete(d), r) {
1291
- s.setAttributes(e.applyRedact(Rt(r))), s.end(performance.timeOrigin + r.startTime + Lt(r));
1259
+ }, r, o), l();
1260
+ let i = Date.now();
1261
+ c.complete((t) => {
1262
+ if (!d) {
1263
+ if (d = !0, n.delete(p), t) {
1264
+ s.setAttributes(e.applyRedact(It(t))), s.end(performance.timeOrigin + t.startTime + Ft(t));
1292
1265
  return;
1293
1266
  }
1294
- s.end(t);
1267
+ s.end(i);
1295
1268
  }
1296
1269
  });
1297
- };
1298
- this.addEventListener("loadend", f, { once: !0 });
1270
+ }, h = () => m("abort"), g = () => m("error"), _ = () => m("load"), v = () => m("timeout");
1271
+ f = () => {
1272
+ this.removeEventListener("abort", h), this.removeEventListener("error", g), this.removeEventListener("load", _), this.removeEventListener("timeout", v);
1273
+ }, this.addEventListener("abort", h, { once: !0 }), this.addEventListener("error", g, { once: !0 }), this.addEventListener("load", _, { once: !0 }), this.addEventListener("timeout", v, { once: !0 });
1299
1274
  try {
1300
1275
  return a.call(this, t);
1301
1276
  } catch (e) {
1302
- throw e instanceof Error && s.recordException(e), f(), e;
1277
+ throw e instanceof Error && s.recordException(e), m("error"), e;
1303
1278
  }
1304
1279
  };
1305
1280
  XMLHttpRequest.prototype.open = o, XMLHttpRequest.prototype.send = s, t.push(() => {
@@ -1314,9 +1289,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1314
1289
  for (; t.length;) (e = t.pop()) == null || e();
1315
1290
  }
1316
1291
  };
1317
- }, $t = /^https?:|^\/\//i, en = (e, t) => {
1318
- if (t) return $t.test(t) ? e(t) : t;
1319
- }, tn = () => {
1292
+ }, en = /^https?:|^\/\//i, tn = (e, t) => {
1293
+ if (t) return en.test(t) ? e(t) : t;
1294
+ }, nn = () => {
1320
1295
  let e;
1321
1296
  return {
1322
1297
  name: "csp-violation",
@@ -1324,12 +1299,11 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1324
1299
  if (typeof window > "u" || typeof document > "u") return;
1325
1300
  let n = (e) => {
1326
1301
  if (!t.isSampled()) return;
1327
- let n = Date.now(), r = en(t.config.hooks.redactUrl, e.blockedURI), i = e.sourceFile ? t.config.hooks.redactUrl(e.sourceFile) : void 0;
1328
- t.startSpan("csp.violation", S(S(S({}, t.config.hooks.getPageAttributes()), N({
1329
- errorType: "csp",
1330
- result: j.error,
1331
- spanSubtype: "csp",
1332
- spanType: M.error
1302
+ let n = Date.now(), r = tn(t.config.hooks.redactUrl, e.blockedURI), i = e.sourceFile ? t.config.hooks.redactUrl(e.sourceFile) : void 0;
1303
+ t.startSpan("csp.violation", S(S(S({}, t.config.hooks.getPageAttributes()), M({
1304
+ outcome: A.error,
1305
+ outcomeReason: "csp",
1306
+ spanType: j.error
1333
1307
  })), {}, {
1334
1308
  "csp.blocked_uri": r,
1335
1309
  "csp.violated_directive": e.violatedDirective,
@@ -1340,9 +1314,6 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1340
1314
  "csp.column_number": e.columnNumber,
1341
1315
  "csp.status_code": e.statusCode,
1342
1316
  "csp.original_policy": e.originalPolicy,
1343
- [g.eventId]: h("event"),
1344
- [g.eventTimestamp]: n,
1345
- [g.eventType]: "error",
1346
1317
  "error.source": "csp"
1347
1318
  }), { startTime: n }).end(n);
1348
1319
  };
@@ -1352,7 +1323,7 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1352
1323
  e == null || e(), e = void 0;
1353
1324
  }
1354
1325
  };
1355
- }, nn = (e) => {
1326
+ }, rn = (e) => {
1356
1327
  if (e instanceof Error) return e.message;
1357
1328
  if (typeof e == "string") return e;
1358
1329
  try {
@@ -1360,9 +1331,9 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1360
1331
  } catch (t) {
1361
1332
  return String(e);
1362
1333
  }
1363
- }, rn = (e) => e === "unhandledrejection" ? "promise" : e === "resource" ? "resource_load" : "js", an = ({ context: e, error: n, exceptionType: r, extra: i = {}, source: a, spanName: o }) => {
1334
+ }, an = ({ context: e, error: n, exceptionType: r, extra: i = {}, source: a, spanName: o }) => {
1364
1335
  if (!e.isSampled()) return;
1365
- let s = Date.now(), c = nn(n);
1336
+ let s = Date.now(), c = rn(n);
1366
1337
  e.notifyActivity({
1367
1338
  time: s,
1368
1339
  type: "error"
@@ -1370,15 +1341,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1370
1341
  let l = n instanceof Error ? n : {
1371
1342
  message: c,
1372
1343
  name: r == null ? a : r
1373
- }, u = S(S(S(S({}, e.config.hooks.getPageAttributes()), e.config.hooks.getErrorAttributes()), N({
1374
- errorType: rn(a),
1375
- result: j.error,
1376
- spanSubtype: rn(a),
1377
- spanType: M.error
1344
+ }, u = S(S(S(S({}, e.config.hooks.getPageAttributes()), e.config.hooks.getErrorAttributes()), M({
1345
+ outcome: A.error,
1346
+ spanType: j.error
1378
1347
  })), {}, {
1379
- [g.eventId]: h("event"),
1380
- [g.eventTimestamp]: s,
1381
- [g.eventType]: "error",
1382
1348
  "error.message": c,
1383
1349
  "error.handled": !1,
1384
1350
  "error.source": a
@@ -1465,18 +1431,10 @@ var xe = (e, t) => typeof e.enabled == "function" ? e.enabled(t) : e.enabled !==
1465
1431
  let c = (n) => {
1466
1432
  var r, i;
1467
1433
  if (!e.isSampled() || !Number.isFinite(n.duration) || n.duration < t) return;
1468
- let a = n.entryType === "long-animation-frame", o = a ? n : void 0, s = (r = o == null ? void 0 : o.scripts) == null ? [] : r, c = h("long-task"), l = performance.timeOrigin + n.startTime, u = l + n.duration, d = a ? "long-animation-frame" : "long-task", f = a || (i = n.attribution) == null ? [] : i, p = e.startSpan("browser.long_task", S(S(S(S(S(S(S({}, e.config.hooks.getPageAttributes()), N({
1469
- errorType: "none",
1470
- result: j.success,
1471
- spanSubtype: d,
1472
- spanType: M.longtask
1473
- })), V(o == null ? void 0 : o.blockingDuration) === void 0 ? {} : { [g.longTaskBlockingDuration]: o.blockingDuration }), {}, {
1434
+ let a = n.entryType === "long-animation-frame", o = a ? n : void 0, s = (r = o == null ? void 0 : o.scripts) == null ? [] : r, c = h("long-task"), l = performance.timeOrigin + n.startTime, u = l + n.duration, d = a ? "long-animation-frame" : "long-task", f = a || (i = n.attribution) == null ? [] : i, p = e.startSpan("browser.long_task", S(S(S(S(S(S(S({}, e.config.hooks.getPageAttributes()), M({ spanType: j.longTask })), V(o == null ? void 0 : o.blockingDuration) === void 0 ? {} : { [g.longTaskBlockingDuration]: o.blockingDuration }), {}, {
1474
1435
  [g.longTaskDuration]: n.duration,
1475
1436
  [g.longTaskEntryType]: d,
1476
1437
  [g.longTaskId]: c,
1477
- [g.eventId]: h("event"),
1478
- [g.eventTimestamp]: l,
1479
- [g.eventType]: "long_task",
1480
1438
  "long_task.name": n.name
1481
1439
  }, V(o == null ? void 0 : o.firstUIEventTimestamp) === void 0 ? {} : { "long_task.first_ui_event_timestamp": o.firstUIEventTimestamp }), V(o == null ? void 0 : o.renderStart) === void 0 ? {} : { "long_task.render_start": o.renderStart }), V(o == null ? void 0 : o.styleAndLayoutStart) === void 0 ? {} : { "long_task.style_and_layout_start": o.styleAndLayoutStart }), o ? { [g.longTaskStartTime]: o.startTime } : {}), { startTime: l });
1482
1440
  s.forEach((t) => {
@@ -1567,7 +1525,7 @@ function vn(e, t) {
1567
1525
  }
1568
1526
  //#endregion
1569
1527
  //#region src/plugins/page-view.ts
1570
- var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () => typeof location > "u" ? "" : location.href, Sn = () => {
1528
+ var yn = ["stopLoadingTime"], bn = new Set(Object.values(g)), xn = () => typeof location > "u" ? "" : location.href, Sn = () => {
1571
1529
  if (typeof performance > "u") return {};
1572
1530
  let e = performance.getEntriesByType("navigation")[0];
1573
1531
  if (!e) return {};
@@ -1601,10 +1559,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1601
1559
  if (typeof window > "u") return;
1602
1560
  let n, r, i, a = (e = Date.now()) => t.setView({}, e), o = (e, n, r = Date.now(), i) => {
1603
1561
  e.version += 1, t.startSpan("browser.view", S(S(S(S(S({}, t.config.hooks.getPageAttributes()), e.attributes), e.snapshotAttributes), {}, {
1604
- [g.eventId]: h("event"),
1605
- [g.eventPhase]: n,
1606
- [g.eventTimestamp]: r,
1607
- [g.eventType]: "view",
1562
+ [g.viewPhase]: n,
1608
1563
  [g.viewStartedAt]: e.startedAt,
1609
1564
  [g.viewVersion]: e.version
1610
1565
  }, i ? { "view.end_reason": i } : {}), e.loadingTime === void 0 ? {} : {
@@ -1651,7 +1606,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1651
1606
  };
1652
1607
  window.addEventListener("load", t, { once: !0 }), s = () => window.removeEventListener("load", t);
1653
1608
  }
1654
- let p = mt(t, e.startedAt, (t) => {
1609
+ let p = pt(t, e.startedAt, (t) => {
1655
1610
  r = !0, t.hadActivity && (i = Math.max(0, t.endTime - e.startedAt)), d();
1656
1611
  }), m = () => {
1657
1612
  var t;
@@ -1684,18 +1639,14 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1684
1639
  loadingType: i,
1685
1640
  name: m,
1686
1641
  rawUrl: f,
1687
- snapshotAttributes: S(S(S(S(S({}, _), t.config.hooks.getPageAttributes()), w), N({
1688
- errorType: "none",
1689
- spanSubtype: x ? "navigate" : r,
1690
- spanType: x ? M.document : M.route
1691
- })), {}, {
1642
+ snapshotAttributes: S(S(S(S(S({}, _), t.config.hooks.getPageAttributes()), w), M({ spanType: j.view })), {}, {
1692
1643
  [g.viewId]: v,
1693
1644
  [g.viewName]: m,
1694
1645
  [g.viewUrl]: y,
1695
1646
  [g.viewUrlPathGroup]: p,
1696
1647
  [g.viewLoadingType]: i,
1697
1648
  "url.previous": b,
1698
- "event.source": r
1649
+ [g.viewSource]: r
1699
1650
  }, x ? { "document.referrer": t.config.hooks.redactUrl(document.referrer || "") } : {}),
1700
1651
  startedAt: C,
1701
1652
  url: y,
@@ -1766,27 +1717,27 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1766
1717
  }
1767
1718
  }
1768
1719
  };
1769
- }, Dn = 5e3, On = (e) => typeof e == "number" && Number.isFinite(e) && e > 0, kn = (e, t, n, r) => ({
1720
+ }, Dn = 5e3, Y = (e) => typeof e == "number" && Number.isFinite(e) && e > 0, On = (e, t, n, r) => ({
1770
1721
  expiresAt: Math.min(t + n, t + r),
1771
1722
  id: e,
1772
1723
  startedAt: t,
1773
1724
  status: "active"
1774
- }), Y = (e, t, n) => {
1725
+ }), X = (e, t, n) => {
1775
1726
  if (t >= e.startedAt + n) return "maxLifetime";
1776
1727
  if (t >= e.expiresAt) return "inactivity";
1777
- }, An = (e, t, n, r) => S(S({}, e), {}, { expiresAt: Math.min(t + n, e.startedAt + r) }), jn = (e, t, n) => {
1728
+ }, kn = (e, t, n, r) => S(S({}, e), {}, { expiresAt: Math.min(t + n, e.startedAt + r) }), An = (e, t, n) => {
1778
1729
  if (!e) return null;
1779
1730
  try {
1780
1731
  let r = JSON.parse(e);
1781
- if (r.status === "active" && typeof r.id == "string" && r.id.length > 0 && On(r.startedAt) && r.startedAt <= t + Dn && On(r.expiresAt) && r.expiresAt >= r.startedAt && r.expiresAt <= r.startedAt + n || r.status === "expired" && typeof r.previousId == "string" && r.previousId.length > 0 && (r.reason === "inactivity" || r.reason === "maxLifetime") && On(r.expiredAt) && r.expiredAt <= t + Dn) return r;
1732
+ if (r.status === "active" && typeof r.id == "string" && r.id.length > 0 && Y(r.startedAt) && r.startedAt <= t + Dn && Y(r.expiresAt) && r.expiresAt >= r.startedAt && r.expiresAt <= r.startedAt + n || r.status === "expired" && typeof r.previousId == "string" && r.previousId.length > 0 && (r.reason === "inactivity" || r.reason === "maxLifetime") && Y(r.expiredAt) && r.expiredAt <= t + Dn) return r;
1782
1733
  } catch (e) {}
1783
1734
  return null;
1784
- }, Mn = 900 * 1e3, X = 14400 * 1e3, Nn = 1e3, Pn = 6e4, Fn = [
1735
+ }, jn = 900 * 1e3, Z = 14400 * 1e3, Mn = 1e3, Nn = 6e4, Pn = [
1785
1736
  "click",
1786
1737
  "keydown",
1787
1738
  "scroll",
1788
1739
  "touchstart"
1789
- ], In = /* @__PURE__ */ new Map(), Ln = (e) => {
1740
+ ], Fn = /* @__PURE__ */ new Map(), In = (e) => {
1790
1741
  let t = typeof window < "u", n = () => {
1791
1742
  var n;
1792
1743
  if (t) try {
@@ -1794,21 +1745,21 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1794
1745
  } catch (e) {
1795
1746
  t = !1;
1796
1747
  }
1797
- return (n = In.get(e)) == null ? null : n;
1748
+ return (n = Fn.get(e)) == null ? null : n;
1798
1749
  };
1799
1750
  return n(), {
1800
1751
  isLocalStorage: () => t,
1801
1752
  read: n,
1802
1753
  write: (n) => {
1803
1754
  let r = JSON.stringify(n);
1804
- if (In.set(e, r), t) try {
1755
+ if (Fn.set(e, r), t) try {
1805
1756
  window.localStorage.setItem(e, r);
1806
1757
  } catch (e) {
1807
1758
  t = !1;
1808
1759
  }
1809
1760
  }
1810
1761
  };
1811
- }, Rn = (e, t) => {
1762
+ }, Ln = (e, t) => {
1812
1763
  let n = "";
1813
1764
  try {
1814
1765
  n = new URL(e).host;
@@ -1816,15 +1767,9 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1816
1767
  n = e;
1817
1768
  }
1818
1769
  return `bk_ot_session__${m(`${t}\0${n || "default"}`)}`;
1819
- }, zn = (e, t, n, r, i, a, o) => {
1820
- e.startSpan("browser.session", S(S(S({}, e.config.hooks.getPageAttributes()), N({
1821
- spanSubtype: t,
1822
- spanType: M.session
1823
- })), {}, {
1824
- [g.eventId]: h("event"),
1825
- [g.eventPhase]: t,
1826
- [g.eventTimestamp]: i,
1827
- [g.eventType]: "session",
1770
+ }, Rn = (e, t, n, r, i, a, o) => {
1771
+ e.startSpan("browser.session", S(S(S({}, e.config.hooks.getPageAttributes()), M({ spanType: j.session })), {}, {
1772
+ [g.sessionPhase]: t,
1828
1773
  [g.sessionHasReplay]: !1,
1829
1774
  [g.sessionId]: n,
1830
1775
  [g.sessionStartTime]: r,
@@ -1834,7 +1779,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1834
1779
  contextTime: i,
1835
1780
  startTime: i
1836
1781
  }).end(i);
1837
- }, Bn = (e = {}) => {
1782
+ }, zn = (e = {}) => {
1838
1783
  let t = [];
1839
1784
  return {
1840
1785
  name: "session",
@@ -1850,7 +1795,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1850
1795
  }, e);
1851
1796
  return;
1852
1797
  }
1853
- let i = (r = e.storageKey) == null ? Rn(n.config.transport.endpoint, n.config.application.name) : r, a = Ln(i), o = typeof performance < "u" && Number.isFinite(performance.timeOrigin) ? performance.timeOrigin : Date.now(), s, c, l, u = (e = Date.now()) => jn(a.read(), e, X), d = () => {
1798
+ let i = (r = e.storageKey) == null ? Ln(n.config.transport.endpoint, n.config.application.name) : r, a = In(i), o = typeof performance < "u" && Number.isFinite(performance.timeOrigin) ? performance.timeOrigin : Date.now(), s, c, l, u = (e = Date.now()) => An(a.read(), e, Z), d = () => {
1854
1799
  l !== void 0 && (clearTimeout(l), l = void 0);
1855
1800
  }, f = (e, t = Date.now()) => {
1856
1801
  var r;
@@ -1860,7 +1805,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1860
1805
  id: i,
1861
1806
  reason: e,
1862
1807
  type: "expired"
1863
- }), zn(n, "end", i, (r = c) == null ? t : r, t, e), d(), s = void 0, c = void 0, n.setRuntimeAttributes({
1808
+ }), Rn(n, "end", i, (r = c) == null ? t : r, t, e), d(), s = void 0, c = void 0, n.setRuntimeAttributes({
1864
1809
  [g.sessionHasReplay]: void 0,
1865
1810
  [g.sessionId]: void 0,
1866
1811
  [g.sessionStartTime]: void 0,
@@ -1880,7 +1825,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1880
1825
  f("external", e);
1881
1826
  return;
1882
1827
  }
1883
- let n = Y(t, e, X);
1828
+ let n = X(t, e, Z);
1884
1829
  if (!n) {
1885
1830
  m(t);
1886
1831
  return;
@@ -1894,7 +1839,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1894
1839
  a.write(r), f(n, e);
1895
1840
  }, m = (e) => {
1896
1841
  d();
1897
- let t = Math.min(e.expiresAt, e.startedAt + X);
1842
+ let t = Math.min(e.expiresAt, e.startedAt + Z);
1898
1843
  l = setTimeout(p, Math.max(0, t - Date.now()));
1899
1844
  }, _ = (e, t) => {
1900
1845
  let r = e.id !== s;
@@ -1912,51 +1857,51 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1912
1857
  });
1913
1858
  }, v = (e = !1) => {
1914
1859
  let t = Date.now(), r = u(t);
1915
- if ((r == null ? void 0 : r.status) === "active" && !Y(r, t, X)) {
1916
- let e = An(r, t, Mn, X);
1860
+ if ((r == null ? void 0 : r.status) === "active" && !X(r, t, Z)) {
1861
+ let e = kn(r, t, jn, Z);
1917
1862
  a.write(e), _(e, s ? void 0 : { reason: "shared" });
1918
1863
  return;
1919
1864
  }
1920
- let i = (r == null ? void 0 : r.status) === "expired" ? r.previousId : r == null ? void 0 : r.id, o = (r == null ? void 0 : r.status) === "expired" ? r.reason : r ? Y(r, t, X) : e ? "init" : void 0, c = kn(h("session"), t, Mn, X);
1865
+ let i = (r == null ? void 0 : r.status) === "expired" ? r.previousId : r == null ? void 0 : r.id, o = (r == null ? void 0 : r.status) === "expired" ? r.reason : r ? X(r, t, Z) : e ? "init" : void 0, c = On(h("session"), t, jn, Z);
1921
1866
  a.write(c), _(c, {
1922
1867
  previousId: i,
1923
1868
  reason: o == null ? "init" : o
1924
1869
  });
1925
1870
  let l = o == null ? "init" : o;
1926
- zn(n, l === "init" ? "start" : "rotate", c.id, c.startedAt, c.startedAt, l, i);
1871
+ Rn(n, l === "init" ? "start" : "rotate", c.id, c.startedAt, c.startedAt, l, i);
1927
1872
  }, y = () => {
1928
1873
  if (!s) return;
1929
1874
  let e = Date.now(), t = u(e);
1930
- if ((t == null ? void 0 : t.status) !== "active" || t.id !== s || Y(t, e, X)) {
1875
+ if ((t == null ? void 0 : t.status) !== "active" || t.id !== s || X(t, e, Z)) {
1931
1876
  p();
1932
1877
  return;
1933
1878
  }
1934
- let n = An(t, e, Mn, X);
1879
+ let n = kn(t, e, jn, Z);
1935
1880
  a.write(n), _(n);
1936
1881
  };
1937
1882
  v(!0);
1938
1883
  let b = 0, x = () => {
1939
1884
  let e = Date.now();
1940
- e - b < Nn || (b = e, v());
1885
+ e - b < Mn || (b = e, v());
1941
1886
  }, S = {
1942
1887
  capture: !0,
1943
1888
  passive: !0
1944
1889
  };
1945
- Fn.forEach((e) => window.addEventListener(e, x, S)), t.push(() => {
1946
- Fn.forEach((e) => window.removeEventListener(e, x, S));
1890
+ Pn.forEach((e) => window.addEventListener(e, x, S)), t.push(() => {
1891
+ Pn.forEach((e) => window.removeEventListener(e, x, S));
1947
1892
  });
1948
1893
  let C = () => {
1949
1894
  document.visibilityState === "visible" && y();
1950
1895
  };
1951
1896
  document.addEventListener("visibilitychange", C);
1952
- let w = window.setInterval(C, Pn);
1897
+ let w = window.setInterval(C, Nn);
1953
1898
  t.push(() => {
1954
1899
  document.removeEventListener("visibilitychange", C), window.clearInterval(w);
1955
1900
  });
1956
1901
  let T = (e) => {
1957
1902
  if (!a.isLocalStorage() || e.storageArea !== window.localStorage || e.key !== i) return;
1958
- let t = Date.now(), n = jn(e.newValue, t, X);
1959
- if ((n == null ? void 0 : n.status) === "active" && n.id === s && !Y(n, t, X)) {
1903
+ let t = Date.now(), n = An(e.newValue, t, Z);
1904
+ if ((n == null ? void 0 : n.status) === "active" && n.id === s && !X(n, t, Z)) {
1960
1905
  m(n);
1961
1906
  return;
1962
1907
  }
@@ -1968,54 +1913,47 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
1968
1913
  for (var e; t.length;) (e = t.pop()) == null || e();
1969
1914
  }
1970
1915
  };
1971
- }, Vn = "unknown", Hn = 10, Un = 6e4, Wn = 5e3, Gn = 1e3, Kn = (e, t) => !!t && e === t, qn = (e) => e ? e.replace(/_/g, "-") : Vn, Jn = () => {
1972
- if (typeof performance > "u") return Vn;
1973
- let e = performance.getEntriesByType("navigation")[0];
1974
- return qn(e == null ? void 0 : e.type);
1975
- }, Yn = (e, t) => {
1916
+ }, Bn = 10, Vn = 6e4, Hn = 5e3, Un = 1e3, Wn = (e, t) => !!t && e === t, Gn = (e, t) => {
1976
1917
  let [n, r] = e === "CLS" ? [.1, .25] : [200, 500];
1977
1918
  return t <= n ? "good" : t <= r ? "needs-improvement" : "poor";
1978
- }, Z = (e) => {
1919
+ }, Kn = (e) => {
1979
1920
  var t, n, r;
1980
1921
  if (!(typeof Element > "u" || !(e instanceof Element))) return (t = (n = (r = e.getAttribute("data-bk-action-name")) == null ? e.getAttribute("aria-label") : r) == null ? e.getAttribute("name") : n) == null ? e.tagName.toLowerCase() : t;
1981
- }, Xn = () => {
1922
+ }, qn = () => {
1982
1923
  if (typeof performance > "u") return;
1983
1924
  let e = performance.interactionCount;
1984
1925
  return typeof e == "number" && Number.isFinite(e) ? e : void 0;
1985
- }, Zn = (e, t) => {
1926
+ }, Jn = (e, t) => {
1986
1927
  var n, r;
1987
1928
  let i = (n = t.value) == null ? 0 : n;
1988
1929
  if (!(t.hadRecentInput || !Number.isFinite(i))) {
1989
- if (e.clsWindowStart === void 0 || t.startTime - ((r = e.clsWindowEnd) == null ? t.startTime : r) >= Gn || t.startTime - e.clsWindowStart >= Wn) {
1930
+ if (e.clsWindowStart === void 0 || t.startTime - ((r = e.clsWindowEnd) == null ? t.startTime : r) >= Un || t.startTime - e.clsWindowStart >= Hn) {
1990
1931
  var a;
1991
- e.clsWindowStart = t.startTime, e.clsWindowValue = i, e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Z((a = t.sources) == null || (a = a[0]) == null ? void 0 : a.node);
1932
+ e.clsWindowStart = t.startTime, e.clsWindowValue = i, e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Kn((a = t.sources) == null || (a = a[0]) == null ? void 0 : a.node);
1992
1933
  } else if (e.clsWindowValue += i, i > e.clsWindowLargestShiftValue) {
1993
1934
  var o;
1994
- e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Z((o = t.sources) == null || (o = o[0]) == null ? void 0 : o.node);
1935
+ e.clsWindowLargestShiftValue = i, e.clsWindowLargestShiftTarget = Kn((o = t.sources) == null || (o = o[0]) == null ? void 0 : o.node);
1995
1936
  }
1996
1937
  e.clsWindowEnd = t.startTime, e.clsWindowValue > e.cls && (e.cls = Math.round(e.clsWindowValue * 1e4) / 1e4, e.largestShiftValue = e.clsWindowLargestShiftValue, e.largestShiftTarget = e.clsWindowLargestShiftTarget);
1997
1938
  }
1998
- }, Qn = (e, t) => {
1939
+ }, Yn = (e, t) => {
1999
1940
  var n, r;
2000
1941
  if (!t.interactionId || !Number.isFinite(t.duration)) return;
2001
1942
  e.interactionIdMin = Math.min(e.interactionIdMin, t.interactionId), e.interactionIdMax = Math.max(e.interactionIdMax, t.interactionId);
2002
1943
  let i = (n = t.processingStart) == null ? t.startTime : n, a = (r = t.processingEnd) == null ? i : r, o = {
2003
- duration: Math.min(t.duration, Un),
1944
+ duration: Math.min(t.duration, Vn),
2004
1945
  inputDelay: Math.max(0, i - t.startTime),
2005
1946
  interactionId: t.interactionId,
2006
- interactionTarget: Z(t.target),
1947
+ interactionTarget: Kn(t.target),
2007
1948
  interactionType: t.name,
2008
1949
  presentationDelay: Math.max(0, t.startTime + t.duration - a),
2009
1950
  processingDuration: Math.max(0, a - i)
2010
1951
  }, s = e.inpCandidates.findIndex((e) => e.interactionId === t.interactionId);
2011
- s >= 0 ? o.duration > e.inpCandidates[s].duration && (e.inpCandidates[s] = o) : e.inpCandidates.push(o), e.inpCandidates.sort((e, t) => t.duration - e.duration).splice(Hn);
2012
- }, $n = (e) => {
2013
- let t = Xn(), n = t !== void 0 && e.interactionCountAtStart !== void 0 ? Math.max(0, t - e.interactionCountAtStart) : e.interactionIdMin === Infinity ? 0 : (e.interactionIdMax - e.interactionIdMin) / 7 + 1;
1952
+ s >= 0 ? o.duration > e.inpCandidates[s].duration && (e.inpCandidates[s] = o) : e.inpCandidates.push(o), e.inpCandidates.sort((e, t) => t.duration - e.duration).splice(Bn);
1953
+ }, Xn = (e) => {
1954
+ let t = qn(), n = t !== void 0 && e.interactionCountAtStart !== void 0 ? Math.max(0, t - e.interactionCountAtStart) : e.interactionIdMin === Infinity ? 0 : (e.interactionIdMax - e.interactionIdMin) / 7 + 1;
2014
1955
  if (e.inpCandidates.length) return e.inpCandidates[Math.min(e.inpCandidates.length - 1, Math.floor(n / 50))];
2015
- }, er = (e, t) => {
2016
- var n;
2017
- return { "rum.navigation.type": (n = e.navigationType) == null ? t : n };
2018
- }, tr = (e, t) => {
1956
+ }, Zn = (e, t) => {
2019
1957
  var n;
2020
1958
  let r = (n = e.attribution) == null ? {} : n, i = {}, a = (e) => r[e], o = (e, t, n) => {
2021
1959
  t != null && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") && (i[e] = typeof t == "string" && n ? n(t) : t);
@@ -2039,7 +1977,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2039
1977
  default: break;
2040
1978
  }
2041
1979
  return i;
2042
- }, nr = () => {
1980
+ }, Qn = () => {
2043
1981
  let e, t = !1;
2044
1982
  return {
2045
1983
  name: "web-vitals",
@@ -2057,36 +1995,31 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2057
1995
  return;
2058
1996
  }
2059
1997
  if (t) return;
2060
- let { onFCP: a, onLCP: o, onTTFB: s } = r, c = Jn(), l = (e, t, r, i = r == null ? Date.now() : r) => {
1998
+ let { onFCP: a, onLCP: o, onTTFB: s } = r, c = (e, t, r, i = r == null ? Date.now() : r) => {
2061
1999
  if (!n.isSampled()) return;
2062
2000
  let a = e.name.toLowerCase();
2063
- n.startSpan("browser.web_vital", S(S(S(S(S({}, n.config.hooks.getPageAttributes()), t), er(e, c)), N({
2064
- errorType: e.rating === "good" ? "none" : "slow",
2065
- result: Ge(e.rating),
2066
- spanSubtype: a,
2067
- spanType: M.vital
2001
+ n.startSpan("browser.web_vital", S(S(S(S({}, n.config.hooks.getPageAttributes()), t), M({
2002
+ outcome: We(e.rating),
2003
+ spanType: j.vital
2068
2004
  })), {}, {
2069
2005
  [g.vitalMetric]: a,
2070
2006
  [g.vitalValue]: e.value,
2071
2007
  [g.vitalRating]: e.rating,
2072
- [g.eventId]: h("event"),
2073
- [g.eventTimestamp]: i,
2074
- [g.eventType]: "vital",
2075
2008
  "vital.id": e.id
2076
- }, tr(e, n.config.hooks.redactUrl)), {
2009
+ }, Zn(e, n.config.hooks.redactUrl)), {
2077
2010
  contextTime: r,
2078
2011
  startTime: i
2079
2012
  }).end(i);
2080
- }, u = (e) => {
2013
+ }, l = (e) => {
2081
2014
  if (t || !Number.isFinite(e.value) || !n.isSampled()) return;
2082
2015
  let r = e.entries[0], i = r && typeof performance < "u" ? performance.timeOrigin + r.startTime : void 0;
2083
- l(e, i === void 0 ? n.getRuntimeAttributes() : n.getRuntimeAttributesAt(i), i);
2084
- }, d, f, p, m = (e, t, n) => {
2085
- l(e, t, n, Date.now());
2086
- }, _ = () => {
2087
- let e = d;
2016
+ c(e, i === void 0 ? n.getRuntimeAttributes() : n.getRuntimeAttributesAt(i), i);
2017
+ }, u, d, f, p = (e, t, n) => {
2018
+ c(e, t, n, Date.now());
2019
+ }, m = () => {
2020
+ let e = u;
2088
2021
  if (!e || !n.isSampled()) return;
2089
- m({
2022
+ p({
2090
2023
  attribution: {
2091
2024
  largestShiftTarget: e.largestShiftTarget,
2092
2025
  largestShiftValue: e.largestShiftValue
@@ -2094,12 +2027,11 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2094
2027
  entries: [],
2095
2028
  id: h("vital"),
2096
2029
  name: "CLS",
2097
- navigationType: c,
2098
- rating: Yn("CLS", e.cls),
2030
+ rating: Gn("CLS", e.cls),
2099
2031
  value: e.cls
2100
2032
  }, e.runtimeAttributes, e.startedAt);
2101
- let t = $n(e);
2102
- t && m({
2033
+ let t = Xn(e);
2034
+ t && p({
2103
2035
  attribution: {
2104
2036
  inputDelay: t.inputDelay,
2105
2037
  interactionTarget: t.interactionTarget,
@@ -2110,14 +2042,13 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2110
2042
  entries: [],
2111
2043
  id: h("vital"),
2112
2044
  name: "INP",
2113
- navigationType: c,
2114
- rating: Yn("INP", t.duration),
2045
+ rating: Gn("INP", t.duration),
2115
2046
  value: t.duration
2116
2047
  }, e.runtimeAttributes, e.startedAt);
2117
- }, v = n.onViewChange((e) => {
2048
+ }, _ = n.onViewChange((e) => {
2118
2049
  var t;
2119
- let r = d;
2120
- if (r && Kn(r.id, e.id)) {
2050
+ let r = u;
2051
+ if (r && Wn(r.id, e.id)) {
2121
2052
  r.runtimeAttributes = S(S({}, r.runtimeAttributes), {}, {
2122
2053
  [g.viewId]: e.id,
2123
2054
  [g.viewName]: e.name,
@@ -2126,11 +2057,11 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2126
2057
  });
2127
2058
  return;
2128
2059
  }
2129
- _(), d = e.id ? {
2060
+ m(), u = e.id ? {
2130
2061
  cls: 0,
2131
2062
  clsWindowLargestShiftValue: 0,
2132
2063
  clsWindowValue: 0,
2133
- interactionCountAtStart: Xn(),
2064
+ interactionCountAtStart: qn(),
2134
2065
  interactionIdMax: 0,
2135
2066
  interactionIdMin: Infinity,
2136
2067
  inpCandidates: [],
@@ -2141,22 +2072,22 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2141
2072
  } : void 0;
2142
2073
  });
2143
2074
  if (typeof PerformanceObserver < "u") {
2144
- var y, b;
2145
- (y = PerformanceObserver.supportedEntryTypes) != null && y.includes("layout-shift") && (p = new PerformanceObserver((e) => {
2146
- if (d) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < d.startedAt || Zn(d, t);
2147
- }), p.observe({
2075
+ var v, y;
2076
+ (v = PerformanceObserver.supportedEntryTypes) != null && v.includes("layout-shift") && (f = new PerformanceObserver((e) => {
2077
+ if (u) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < u.startedAt || Jn(u, t);
2078
+ }), f.observe({
2148
2079
  buffered: !0,
2149
2080
  type: "layout-shift"
2150
- })), (b = PerformanceObserver.supportedEntryTypes) != null && b.includes("event") && (f = new PerformanceObserver((e) => {
2151
- if (d) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < d.startedAt || !t.interactionId || !Number.isFinite(t.duration) || Qn(d, t);
2152
- }), f.observe({
2081
+ })), (y = PerformanceObserver.supportedEntryTypes) != null && y.includes("event") && (d = new PerformanceObserver((e) => {
2082
+ if (u) for (let t of e.getEntries()) performance.timeOrigin + t.startTime < u.startedAt || !t.interactionId || !Number.isFinite(t.duration) || Yn(u, t);
2083
+ }), d.observe({
2153
2084
  buffered: !0,
2154
2085
  durationThreshold: 40,
2155
2086
  type: "event"
2156
2087
  }));
2157
2088
  }
2158
- a(u), o(u), s(u), e = () => {
2159
- _(), d = void 0, v(), p == null || p.disconnect(), f == null || f.disconnect();
2089
+ a(l), o(l), s(l), e = () => {
2090
+ m(), u = void 0, _(), f == null || f.disconnect(), d == null || d.disconnect();
2160
2091
  };
2161
2092
  })();
2162
2093
  },
@@ -2164,7 +2095,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2164
2095
  t = !0, e == null || e(), e = void 0;
2165
2096
  }
2166
2097
  };
2167
- }, rr = (e, t) => {
2098
+ }, $n = (e, t) => {
2168
2099
  let n = {
2169
2100
  "network.protocol.name": "websocket",
2170
2101
  "url.full": t(e)
@@ -2174,20 +2105,16 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2174
2105
  n["server.address"] = t.hostname, t.port && (n["server.port"] = Number(t.port)), n["url.scheme"] = t.protocol.replace(":", "");
2175
2106
  } catch (e) {}
2176
2107
  return n;
2177
- }, ir = (t, n, r, i) => {
2178
- let a = h("websocket"), o = rr(r, n.config.hooks.redactUrl), s = !1, c = (t, r, s = {}) => {
2108
+ }, er = (t, n, r, i) => {
2109
+ let a = h("websocket"), o = $n(r, n.config.hooks.redactUrl), s = !1, c = (t, r, s = {}) => {
2179
2110
  if (i() || !n.isSampled()) return;
2180
2111
  let c = t === "error";
2181
- n.startSpan("browser.websocket", S(S(S({}, o), N({
2182
- errorType: c ? "network" : "none",
2183
- result: c ? j.error : j.success,
2184
- spanSubtype: t,
2185
- spanType: M.websocket
2112
+ n.startSpan("browser.websocket", S(S(S({}, o), M({
2113
+ outcome: c ? A.error : A.success,
2114
+ outcomeReason: c ? "network" : void 0,
2115
+ spanType: j.websocket
2186
2116
  })), {}, {
2187
- [g.eventId]: h("event"),
2188
- [g.eventPhase]: t,
2189
- [g.eventTimestamp]: r,
2190
- [g.eventType]: "websocket",
2117
+ [g.websocketPhase]: t,
2191
2118
  "websocket.connection.id": a
2192
2119
  }, s), {
2193
2120
  kind: e.CLIENT,
@@ -2205,7 +2132,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2205
2132
  "websocket.close.was_clean": e.wasClean
2206
2133
  });
2207
2134
  });
2208
- }, ar = () => {
2135
+ }, tr = () => {
2209
2136
  let e, t, n = !1;
2210
2137
  return {
2211
2138
  name: "websocket",
@@ -2216,25 +2143,29 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2216
2143
  let a = Reflect.construct(e, t, i);
2217
2144
  if (n || !r.isSampled()) return a;
2218
2145
  let o = t[0] == null ? "" : String(t[0]);
2219
- return o && !k(r.config, o) && ir(a, r, o, () => n), a;
2146
+ return o && !O(r.config, o) && er(a, r, o, () => n), a;
2220
2147
  } }), window.WebSocket = t;
2221
2148
  },
2222
2149
  shutdown() {
2223
2150
  n = !0, typeof window < "u" && e && window.WebSocket === t && (window.WebSocket = e), t = void 0, e = void 0;
2224
2151
  }
2225
2152
  };
2226
- }, or = class {
2153
+ }, nr = class {
2227
2154
  constructor() {
2228
2155
  b(this, "listeners", /* @__PURE__ */ new Set()), b(this, "notify", (e) => {
2229
2156
  this.listeners.forEach((t) => t(e));
2230
2157
  }), b(this, "subscribe", (e) => (this.listeners.add(e), () => this.listeners.delete(e)));
2231
2158
  }
2232
- }, sr = (e) => ({
2159
+ }, rr = (e) => {
2160
+ let t = 2166136261;
2161
+ for (let n = 0; n < e.length; n += 1) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
2162
+ return t += t << 13, t ^= t >>> 7, t += t << 3, t ^= t >>> 17, t += t << 5, (t >>> 0) / 4294967296;
2163
+ }, ir = ({ application: e, session: t }, n) => t.sampleRate <= 0 ? !1 : t.sampleRate >= 1 ? !0 : rr(`${e.name}\0${n}`) < t.sampleRate, ar = (e) => ({
2233
2164
  url: e.endpoint,
2234
2165
  headers: e.headers,
2235
2166
  concurrencyLimit: e.concurrencyLimit,
2236
2167
  timeoutMillis: e.timeoutMillis
2237
- }), cr = "bk-rum", lr = class {
2168
+ }), or = "bk-rum", sr = class {
2238
2169
  constructor(e) {
2239
2170
  this.isSampled = e;
2240
2171
  }
@@ -2244,7 +2175,7 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2244
2175
  toString() {
2245
2176
  return "RumSessionSampler";
2246
2177
  }
2247
- }, Q, ur = () => {
2178
+ }, Q, cr = () => {
2248
2179
  if (Q) Q.users += 1;
2249
2180
  else {
2250
2181
  let e = new a().enable(), t = n.setGlobalContextManager(e);
@@ -2259,28 +2190,28 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2259
2190
  return () => {
2260
2191
  e || !Q || (e = !0, --Q.users, !(Q.users > 0) && (Q.ownsContext && n.disable(), Q.ownsPropagator && r.disable(), Q = void 0));
2261
2192
  };
2262
- }, dr = (e, t) => t ? new Proxy(e, { get(e, t, n) {
2193
+ }, lr = (e, t) => t ? new Proxy(e, { get(e, t, n) {
2263
2194
  if (t === "export") return (t, n) => {
2264
2195
  var r;
2265
2196
  return (r = globalThis.console) == null || r.log("[bk-ot][rum]", t), e.export(t, n);
2266
2197
  };
2267
2198
  let r = Reflect.get(e, t, n);
2268
2199
  return typeof r == "function" ? r.bind(e) : r;
2269
- } }) : e, fr = (e) => [Qt(e.tracking.request)], pr = (e) => [
2270
- Bn(e.session),
2200
+ } }) : e, ur = (e) => [$t(e.tracking.request)], dr = (e) => [
2201
+ zn(e.session),
2271
2202
  ...$(e.tracking.device, !0, ce),
2272
- ft(),
2203
+ dt(),
2273
2204
  En(),
2274
- zt(mr(e.tracking.resource, !0))
2275
- ], mr = (e, t) => e === void 0 ? t : e !== !1, hr = (e) => typeof e == "object" && e ? e : void 0, $ = (e, t, n) => mr(e, t) ? [n(hr(e))] : [], gr = (e) => [
2205
+ Lt(fr(e.tracking.resource, !0))
2206
+ ], fr = (e, t) => e === void 0 ? t : e !== !1, pr = (e) => typeof e == "object" && e ? e : void 0, $ = (e, t, n) => fr(e, t) ? [n(pr(e))] : [], mr = (e) => [
2276
2207
  ...$(e.error, !0, on),
2277
- ...$(e.webVitals, !0, nr),
2278
- ...$(e.blankScreen, !0, Dt),
2279
- ...$(e.action, !0, lt),
2280
- ...$(e.websocket, !1, ar),
2208
+ ...$(e.webVitals, !0, Qn),
2209
+ ...$(e.blankScreen, !0, Et),
2210
+ ...$(e.action, !0, ct),
2211
+ ...$(e.websocket, !1, tr),
2281
2212
  ...$(e.longTask, !1, dn),
2282
- ...$(e.cspViolation, !1, tn)
2283
- ], _r = class {
2213
+ ...$(e.cspViolation, !1, nn)
2214
+ ], hr = class {
2284
2215
  assertBeforeStart(e) {
2285
2216
  if (this.phase !== "idle") throw Error(`[bk-ot] ${e}() must be called before start(); set autoStart: false before registration.`);
2286
2217
  }
@@ -2311,19 +2242,19 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2311
2242
  createPluginManager() {
2312
2243
  var e;
2313
2244
  return new Ce([
2314
- ...pr(this.config),
2315
- ...fr(this.config),
2316
- ...gr(this.config.tracking),
2245
+ ...dr(this.config),
2246
+ ...ur(this.config),
2247
+ ...mr(this.config.tracking),
2317
2248
  ...(e = this.config.extensions.plugins) == null ? [] : e
2318
2249
  ]);
2319
2250
  }
2320
2251
  constructor(n) {
2321
2252
  var r = this;
2322
- b(this, "activityObserver", new or()), b(this, "flushProviders", E(function* () {
2253
+ b(this, "activityObserver", new nr()), b(this, "flushProviders", E(function* () {
2323
2254
  yield r.tracerProvider.forceFlush();
2324
2255
  })), b(this, "phase", "idle"), b(this, "pluginManager", void 0), b(this, "registeredInstrumentations", void 0), b(this, "releaseOtelGlobals", void 0), b(this, "runtimeContext", void 0), b(this, "sampled", !1), b(this, "startCollection", E(function* () {
2325
2256
  if (r.pluginManager || !r.config.enabled || r.config.trackingConsent !== "granted") return;
2326
- r.releaseOtelGlobals = ur();
2257
+ r.releaseOtelGlobals = cr();
2327
2258
  let e = r.createPluginManager();
2328
2259
  r.pluginManager = e;
2329
2260
  try {
@@ -2361,17 +2292,10 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2361
2292
  }), b(this, "reportAction", ({ attributes: e = {}, name: t }) => {
2362
2293
  if (!this.isSampled()) return;
2363
2294
  let n = h("action"), r = Date.now();
2364
- this.startSpan("action.custom", S(S(S(S({}, this.config.hooks.getPageAttributes()), e), N({
2365
- errorType: "none",
2366
- spanSubtype: "custom",
2367
- spanType: M.action
2368
- })), {}, {
2295
+ this.startSpan("action.custom", S(S(S(S({}, this.config.hooks.getPageAttributes()), e), M({ spanType: j.action })), {}, {
2369
2296
  [g.actionId]: n,
2370
2297
  [g.actionName]: t,
2371
- [g.actionType]: "custom",
2372
- [g.eventId]: h("event"),
2373
- [g.eventTimestamp]: r,
2374
- [g.eventType]: "action"
2298
+ [g.actionType]: "custom"
2375
2299
  }), { startTime: r }).end(r);
2376
2300
  }), b(this, "reportCustomEvent", ({ attributes: e = {}, error: n, name: r }) => {
2377
2301
  if (!this.isSampled()) {
@@ -2381,28 +2305,21 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2381
2305
  }
2382
2306
  return;
2383
2307
  }
2384
- let a = Date.now(), o = this.startSpan(`custom.${r}`, S(S(S(S(S({}, this.config.hooks.getPageAttributes()), this.config.hooks.getCustomAttributes()), N({
2385
- errorType: n ? "custom" : "none",
2386
- result: n ? j.error : j.success,
2387
- spanSubtype: r,
2388
- spanType: M.custom
2389
- })), e), {}, {
2390
- [g.eventId]: h("event"),
2391
- [g.eventTimestamp]: a,
2392
- [g.eventType]: "custom",
2393
- "rum.custom.name": r
2394
- }), { startTime: a });
2308
+ let a = Date.now(), o = this.startSpan(`custom.${r}`, S(S(S(S({}, this.config.hooks.getPageAttributes()), this.config.hooks.getCustomAttributes()), e), M({
2309
+ outcome: n ? A.error : A.success,
2310
+ spanType: j.custom
2311
+ })), { startTime: a });
2395
2312
  n && (o.recordException(n), o.setStatus({
2396
2313
  code: t.ERROR,
2397
2314
  message: n.message
2398
2315
  })), o.end(a);
2399
2316
  }), b(this, "setRuntimeAttributes", (e, t) => {
2400
- let n = S({}, e);
2317
+ let n = S({}, e), r = t == null ? Date.now() : t;
2401
2318
  if (g.sessionId in e) {
2402
2319
  let t = e[g.sessionId];
2403
- this.sampled = this.config.enabled && typeof t == "string" && t.length > 0 ? Te(this.config, t) : !1, n[D] = this.sampled;
2320
+ this.sampled = this.config.enabled && typeof t == "string" && t.length > 0 ? ir(this.config, t) : !1, this.runtimeContext.setSessionSampled(this.sampled, r);
2404
2321
  }
2405
- this.runtimeContext.setAttributes(n, t);
2322
+ this.runtimeContext.setAttributes(n, r);
2406
2323
  }), b(this, "setTrackingConsent", function() {
2407
2324
  var e = E(function* (e) {
2408
2325
  r.config.trackingConsent !== e && (r.config.trackingConsent = e, r.phase === "started" && (e === "granted" ? yield r.startCollection() : yield r.stopCollection(!0)));
@@ -2458,8 +2375,9 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2458
2375
  }
2459
2376
  })), b(this, "startSpan", (t, n = {}, r) => {
2460
2377
  var i, a;
2461
- if (!this.isSampled()) return this.tracer.startSpan(t);
2462
- let o = (i = r == null ? void 0 : r.contextTime) == null ? typeof (r == null ? void 0 : r.startTime) == "number" ? r.startTime : void 0 : i, s = o === void 0 ? this.getRuntimeAttributes() : this.runtimeContext.getAttributesAt(o);
2378
+ let o = (i = r == null ? void 0 : r.contextTime) == null ? typeof (r == null ? void 0 : r.startTime) == "number" ? r.startTime : void 0 : i;
2379
+ if (!this.isSampled() || o !== void 0 && !this.runtimeContext.isSessionSampledAt(o)) return this.tracer.startSpan(t);
2380
+ let s = o === void 0 ? this.getRuntimeAttributes() : this.runtimeContext.getAttributesAt(o);
2463
2381
  return this.tracer.startSpan(t, {
2464
2382
  kind: (a = r == null ? void 0 : r.kind) == null ? e.INTERNAL : a,
2465
2383
  startTime: r == null ? void 0 : r.startTime,
@@ -2476,20 +2394,20 @@ var yn = ["stopLoadingTime"], bn = new Set([...Object.values(g), D]), xn = () =>
2476
2394
  }), b(this, "useInstrumentation", (e) => {
2477
2395
  var t;
2478
2396
  return this.assertBeforeStart("useInstrumentation"), this.config.enabled && ((t = this.config.extensions.instrumentations) == null || t.push(e)), this;
2479
- }), this.config = ye(n), this.runtimeContext = new He({ [D]: !1 }, this.config.user);
2397
+ }), this.config = ye(n), this.runtimeContext = new Ve({}, this.config.user);
2480
2398
  let i = c(this.config.resourceAttributes), a = (() => {
2481
- let e = dr(new s(sr(this.config.transport)), this.config.debug);
2482
- return [new Be(this.config.spanProcessor === "simple" ? new d(e) : new l(e, this.config.spanBatch), this.config, () => this.applyRedact(S(S({}, this.runtimeContext.getAttributes()), this.config.hooks.getPageAttributes())))];
2399
+ let e = lr(new s(ar(this.config.transport)), this.config.debug);
2400
+ return [new ze(this.config.spanProcessor === "simple" ? new d(e) : new l(e, this.config.spanBatch), this.config, () => this.applyRedact(S(S({}, this.runtimeContext.getAttributes()), this.config.hooks.getPageAttributes())))];
2483
2401
  })();
2484
2402
  this.tracerProvider = new f({
2485
2403
  resource: i,
2486
- sampler: new lr(this.isSampled),
2404
+ sampler: new sr(this.isSampled),
2487
2405
  spanProcessors: a
2488
- }), this.tracer = this.tracerProvider.getTracer(cr), this.registeredInstrumentations = [], this.config.autoStart && this.start().catch((e) => {
2406
+ }), this.tracer = this.tracerProvider.getTracer(or), this.registeredInstrumentations = [], this.config.autoStart && this.start().catch((e) => {
2489
2407
  var t;
2490
2408
  (t = globalThis.console) == null || t.warn("[bk-ot] auto start failed:", e);
2491
2409
  });
2492
2410
  }
2493
2411
  };
2494
2412
  //#endregion
2495
- export { _r as BkOpenTelemetry, ut as EXCLUDED_ACTIVITY_MUTATIONS_ATTRIBUTE, Be as FilteringSpanProcessor, g as RUM_ATTRIBUTES, j as RUM_SPAN_RESULT, M as RUM_SPAN_TYPE, He as RumRuntimeContext, N as buildRumSpanAttributes, lt as createActionPlugin, Dt as createBlankScreenPlugin, Qt as createCommonInstrumentationsPlugin, tn as createCspViolationPlugin, ce as createDevicePlugin, on as createErrorPlugin, dn as createLongTaskPlugin, Se as createPlugin, zt as createResourcePlugin, Bn as createSessionPlugin, ar as createWebSocketPlugin, nr as createWebVitalsPlugin, ye as resolveConfig };
2413
+ export { hr as BkOpenTelemetry, lt as EXCLUDED_ACTIVITY_MUTATIONS_ATTRIBUTE, ze as FilteringSpanProcessor, g as RUM_ATTRIBUTES, A as RUM_SPAN_OUTCOME, j as RUM_SPAN_TYPE, Ve as RumRuntimeContext, M as buildRumSpanAttributes, ct as createActionPlugin, Et as createBlankScreenPlugin, $t as createCommonInstrumentationsPlugin, nn as createCspViolationPlugin, ce as createDevicePlugin, on as createErrorPlugin, dn as createLongTaskPlugin, Se as createPlugin, Lt as createResourcePlugin, zn as createSessionPlugin, tr as createWebSocketPlugin, Qn as createWebVitalsPlugin, ye as resolveConfig };