@gravitee/gamma-lib-observability 1.12.0 → 1.13.0
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.
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-trace-detail-query.d.ts +20 -0
- package/dist/hooks/use-trace-detail-query.d.ts.map +1 -0
- package/dist/hooks/use-traces-paged-query.d.ts +29 -0
- package/dist/hooks/use-traces-paged-query.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +693 -624
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -376,8 +376,77 @@ function bn(e, t) {
|
|
|
376
376
|
});
|
|
377
377
|
}
|
|
378
378
|
//#endregion
|
|
379
|
+
//#region src/hooks/use-trace-detail-query.ts
|
|
380
|
+
function xn(e) {
|
|
381
|
+
let { apiId: n, traceId: r, enabled: i } = e, a = t(), o = N({
|
|
382
|
+
queryKey: K.traceDetail(n, r ?? ""),
|
|
383
|
+
queryFn: ({ signal: e }) => {
|
|
384
|
+
if (!r) throw Error("traceId is required but was called with a falsy value");
|
|
385
|
+
return a.fetchTraceById({
|
|
386
|
+
apiId: n,
|
|
387
|
+
traceId: r,
|
|
388
|
+
signal: e
|
|
389
|
+
});
|
|
390
|
+
},
|
|
391
|
+
staleTime: W,
|
|
392
|
+
enabled: !!r && i !== !1
|
|
393
|
+
});
|
|
394
|
+
return {
|
|
395
|
+
data: o.data,
|
|
396
|
+
isLoading: o.isLoading,
|
|
397
|
+
isFetching: o.isFetching,
|
|
398
|
+
isError: o.isError,
|
|
399
|
+
error: o.error,
|
|
400
|
+
refetch: o.refetch
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
//#endregion
|
|
404
|
+
//#region src/hooks/use-traces-paged-query.ts
|
|
405
|
+
var Sn = 25, Cn = [];
|
|
406
|
+
function wn(e) {
|
|
407
|
+
let { apiId: n, timeRange: r, filters: i, pageSize: a = Sn, enabled: o } = e, s = t(), [c, l] = k(1), [u, d] = k(a), f = K.traces(n, r, i), p = JSON.stringify(f), m = O(p);
|
|
408
|
+
T(() => {
|
|
409
|
+
m.current !== p && (m.current = p, l(1));
|
|
410
|
+
}, [p]);
|
|
411
|
+
let h = N({
|
|
412
|
+
queryKey: [...f, {
|
|
413
|
+
page: c,
|
|
414
|
+
pageSize: u
|
|
415
|
+
}],
|
|
416
|
+
queryFn: ({ signal: e }) => s.fetchTraces({
|
|
417
|
+
apiId: n,
|
|
418
|
+
timeRange: r,
|
|
419
|
+
filters: i,
|
|
420
|
+
page: c,
|
|
421
|
+
perPage: u,
|
|
422
|
+
signal: e
|
|
423
|
+
}),
|
|
424
|
+
staleTime: W,
|
|
425
|
+
placeholderData: (e) => e,
|
|
426
|
+
enabled: o
|
|
427
|
+
}), g = h.data?.totalCount ?? 0, _ = h.data?.pageCount ?? (g > 0 ? Math.ceil(g / u) : 0);
|
|
428
|
+
_ > 0 && c > _ && l(_);
|
|
429
|
+
let v = _ > 0 ? Math.min(c, _) : c;
|
|
430
|
+
return {
|
|
431
|
+
data: h.data?.entries ?? Cn,
|
|
432
|
+
totalCount: g,
|
|
433
|
+
page: v,
|
|
434
|
+
pageSize: u,
|
|
435
|
+
pageCount: _,
|
|
436
|
+
isLoading: h.isLoading,
|
|
437
|
+
isFetching: h.isFetching,
|
|
438
|
+
isError: h.isError,
|
|
439
|
+
error: h.error,
|
|
440
|
+
goToPage: (e) => l(Math.max(1, Math.min(e, _ || 1))),
|
|
441
|
+
setPageSize: (e) => {
|
|
442
|
+
d(e), l(1);
|
|
443
|
+
},
|
|
444
|
+
refetch: h.refetch
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
//#endregion
|
|
379
448
|
//#region src/filters/constants.ts
|
|
380
|
-
var
|
|
449
|
+
var Tn = "5m", En = [
|
|
381
450
|
{
|
|
382
451
|
label: "Last",
|
|
383
452
|
periods: [
|
|
@@ -410,7 +479,7 @@ var xn = "5m", Sn = [
|
|
|
410
479
|
"previousQuarter"
|
|
411
480
|
]
|
|
412
481
|
}
|
|
413
|
-
],
|
|
482
|
+
], Dn = En.flatMap((e) => e.periods), On = {
|
|
414
483
|
"5m": "5 minutes",
|
|
415
484
|
"15m": "15 minutes",
|
|
416
485
|
"1h": "1 hour",
|
|
@@ -428,7 +497,7 @@ var xn = "5m", Sn = [
|
|
|
428
497
|
previousWeek: "Week",
|
|
429
498
|
previousMonth: "Month",
|
|
430
499
|
previousQuarter: "Quarter"
|
|
431
|
-
},
|
|
500
|
+
}, kn = {
|
|
432
501
|
"5m": "Last 5 minutes",
|
|
433
502
|
"15m": "Last 15 minutes",
|
|
434
503
|
"1h": "Last 1 hour",
|
|
@@ -446,22 +515,22 @@ var xn = "5m", Sn = [
|
|
|
446
515
|
previousWeek: "Previous week",
|
|
447
516
|
previousMonth: "Previous month",
|
|
448
517
|
previousQuarter: "Previous quarter"
|
|
449
|
-
},
|
|
518
|
+
}, An = new Set(Dn), jn = new Set(_), Mn = "1", Nn = {
|
|
450
519
|
type: "relative",
|
|
451
520
|
period: "5m"
|
|
452
521
|
};
|
|
453
|
-
function
|
|
522
|
+
function Pn(e) {
|
|
454
523
|
return btoa(e).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
455
524
|
}
|
|
456
|
-
function
|
|
525
|
+
function Fn(e) {
|
|
457
526
|
let t = e.replace(/-/g, "+").replace(/_/g, "/");
|
|
458
527
|
return atob(t);
|
|
459
528
|
}
|
|
460
|
-
function
|
|
461
|
-
return e.conditions.length === 0 && e.timeRange.type === "relative" && e.timeRange.period ===
|
|
529
|
+
function In(e) {
|
|
530
|
+
return e.conditions.length === 0 && e.timeRange.type === "relative" && e.timeRange.period === Nn.period;
|
|
462
531
|
}
|
|
463
|
-
function
|
|
464
|
-
if (
|
|
532
|
+
function Ln(e) {
|
|
533
|
+
if (In(e)) return null;
|
|
465
534
|
let t = {
|
|
466
535
|
c: e.conditions.map(({ field: e, label: t, operator: n, value: r }) => ({
|
|
467
536
|
field: e,
|
|
@@ -472,19 +541,19 @@ function Nn(e) {
|
|
|
472
541
|
t: e.timeRange
|
|
473
542
|
};
|
|
474
543
|
return {
|
|
475
|
-
q:
|
|
544
|
+
q: Pn(JSON.stringify(t)),
|
|
476
545
|
v: "1"
|
|
477
546
|
};
|
|
478
547
|
}
|
|
479
|
-
function
|
|
548
|
+
function Rn(e, t) {
|
|
480
549
|
let n = {
|
|
481
550
|
conditions: [],
|
|
482
|
-
timeRange:
|
|
551
|
+
timeRange: Nn
|
|
483
552
|
};
|
|
484
553
|
if (!e || !t || t !== "1") return n;
|
|
485
554
|
try {
|
|
486
|
-
let t =
|
|
487
|
-
return
|
|
555
|
+
let t = Fn(e), r = JSON.parse(t);
|
|
556
|
+
return Vn(r) ? {
|
|
488
557
|
conditions: r.c.map(({ field: e, label: t, operator: n, value: r }) => ({
|
|
489
558
|
field: e,
|
|
490
559
|
label: t,
|
|
@@ -497,33 +566,33 @@ function Pn(e, t) {
|
|
|
497
566
|
return n;
|
|
498
567
|
}
|
|
499
568
|
}
|
|
500
|
-
function
|
|
569
|
+
function zn(e) {
|
|
501
570
|
if (typeof e != "object" || !e) return !1;
|
|
502
571
|
let t = e;
|
|
503
|
-
return !(typeof t.field != "string" || t.field.length === 0 || typeof t.label != "string" || typeof t.operator != "string" || !
|
|
572
|
+
return !(typeof t.field != "string" || t.field.length === 0 || typeof t.label != "string" || typeof t.operator != "string" || !jn.has(t.operator) || !Array.isArray(t.value) || !t.value.every((e) => typeof e == "string"));
|
|
504
573
|
}
|
|
505
|
-
function
|
|
574
|
+
function Bn(e) {
|
|
506
575
|
if (typeof e != "object" || !e) return !1;
|
|
507
576
|
let t = e;
|
|
508
|
-
return t.type === "relative" ? typeof t.period == "string" &&
|
|
577
|
+
return t.type === "relative" ? typeof t.period == "string" && An.has(t.period) : t.type === "absolute" ? typeof t.from == "number" && Number.isFinite(t.from) && typeof t.to == "number" && Number.isFinite(t.to) : !1;
|
|
509
578
|
}
|
|
510
|
-
function
|
|
579
|
+
function Vn(e) {
|
|
511
580
|
if (typeof e != "object" || !e) return !1;
|
|
512
581
|
let t = e;
|
|
513
|
-
return !Array.isArray(t.c) || !t.c.every(
|
|
582
|
+
return !Array.isArray(t.c) || !t.c.every(zn) ? !1 : Bn(t.t);
|
|
514
583
|
}
|
|
515
584
|
//#endregion
|
|
516
585
|
//#region src/filters/TimeRangePicker.tsx
|
|
517
|
-
function
|
|
586
|
+
function Hn(e) {
|
|
518
587
|
return `${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}`;
|
|
519
588
|
}
|
|
520
|
-
function
|
|
589
|
+
function Un() {
|
|
521
590
|
let e = -(/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
522
591
|
return `GMT${e >= 0 ? "+" : "-"}${Math.floor(Math.abs(e) / 60)}`;
|
|
523
592
|
}
|
|
524
|
-
function
|
|
525
|
-
let n = t ? ` (${
|
|
526
|
-
if (e.type === "relative") return `${
|
|
593
|
+
function Wn(e, t) {
|
|
594
|
+
let n = t ? ` (${Un()})` : "";
|
|
595
|
+
if (e.type === "relative") return `${kn[e.period]}${n}`;
|
|
527
596
|
let r = new Date(e.from), i = new Date(e.to), a = new Intl.DateTimeFormat(void 0, {
|
|
528
597
|
month: "short",
|
|
529
598
|
day: "numeric",
|
|
@@ -535,7 +604,7 @@ function Bn(e, t) {
|
|
|
535
604
|
});
|
|
536
605
|
return `${a.format(r)} @ ${o.format(r)} - ${a.format(i)} @ ${o.format(i)}${n}`;
|
|
537
606
|
}
|
|
538
|
-
function
|
|
607
|
+
function Gn(e) {
|
|
539
608
|
return e ? e.toLocaleDateString(void 0, {
|
|
540
609
|
weekday: "short",
|
|
541
610
|
month: "short",
|
|
@@ -543,20 +612,20 @@ function Vn(e) {
|
|
|
543
612
|
year: "numeric"
|
|
544
613
|
}) : "—";
|
|
545
614
|
}
|
|
546
|
-
function
|
|
615
|
+
function Kn(e, t) {
|
|
547
616
|
if (!e) return;
|
|
548
617
|
let [n, r] = t.split(":").map(Number), i = new Date(e);
|
|
549
618
|
return i.setHours(n ?? 0, r ?? 0, 0, 0), i.getTime();
|
|
550
619
|
}
|
|
551
|
-
function
|
|
552
|
-
let a = E(), o = `${a}-from`, s = `${a}-to`, [c, l] = k(!1), [u, d] = k("relative"), [f, p] = k(void 0), [m, h] = k("00:00"), [g, _] = k("23:59"), v =
|
|
620
|
+
function qn({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, className: i }) {
|
|
621
|
+
let a = E(), o = `${a}-from`, s = `${a}-to`, [c, l] = k(!1), [u, d] = k("relative"), [f, p] = k(void 0), [m, h] = k("00:00"), [g, _] = k("23:59"), v = Kn(f?.from, m), y = Kn(f?.to, g), b = v !== void 0 && y !== void 0 && v >= y, x = v !== void 0 && y !== void 0 && !b;
|
|
553
622
|
function S(t) {
|
|
554
623
|
if (l(t), t && (d(e.type === "absolute" ? "custom" : "relative"), e.type === "absolute")) {
|
|
555
624
|
let t = new Date(e.from), n = new Date(e.to);
|
|
556
625
|
p({
|
|
557
626
|
from: t,
|
|
558
627
|
to: n
|
|
559
|
-
}), h(
|
|
628
|
+
}), h(Hn(t)), _(Hn(n));
|
|
560
629
|
}
|
|
561
630
|
}
|
|
562
631
|
function C(e) {
|
|
@@ -587,7 +656,7 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
587
656
|
"aria-haspopup": "dialog",
|
|
588
657
|
"aria-expanded": c,
|
|
589
658
|
className: V("justify-between gap-2 font-normal", i),
|
|
590
|
-
children: [
|
|
659
|
+
children: [Wn(e, r), /* @__PURE__ */ j(Qe, {
|
|
591
660
|
"aria-hidden": "true",
|
|
592
661
|
className: "size-4 shrink-0"
|
|
593
662
|
})]
|
|
@@ -618,7 +687,7 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
618
687
|
className: "flex flex-col gap-4",
|
|
619
688
|
role: "listbox",
|
|
620
689
|
"aria-label": "Preset time ranges",
|
|
621
|
-
children:
|
|
690
|
+
children: En.map((t) => /* @__PURE__ */ M("div", {
|
|
622
691
|
className: "flex flex-col gap-2",
|
|
623
692
|
children: [/* @__PURE__ */ j("p", {
|
|
624
693
|
className: "text-xs font-medium text-muted-foreground",
|
|
@@ -629,12 +698,12 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
629
698
|
variant: "outline",
|
|
630
699
|
size: "sm",
|
|
631
700
|
role: "option",
|
|
632
|
-
"aria-label":
|
|
701
|
+
"aria-label": kn[t],
|
|
633
702
|
"aria-selected": e.type === "relative" && e.period === t,
|
|
634
703
|
className: V(e.type === "relative" && e.period === t && "bg-primary text-primary-foreground hover:bg-primary/90"),
|
|
635
704
|
disabled: n,
|
|
636
705
|
onClick: () => C(t),
|
|
637
|
-
children:
|
|
706
|
+
children: On[t]
|
|
638
707
|
}, t))
|
|
639
708
|
})]
|
|
640
709
|
}, t.label))
|
|
@@ -658,7 +727,7 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
658
727
|
className: "flex-1",
|
|
659
728
|
children: [/* @__PURE__ */ j(Ee, {
|
|
660
729
|
htmlFor: o,
|
|
661
|
-
children:
|
|
730
|
+
children: Gn(f?.from)
|
|
662
731
|
}), /* @__PURE__ */ j(De, {
|
|
663
732
|
id: o,
|
|
664
733
|
type: "time",
|
|
@@ -677,7 +746,7 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
677
746
|
className: "flex-1",
|
|
678
747
|
children: [/* @__PURE__ */ j(Ee, {
|
|
679
748
|
htmlFor: s,
|
|
680
|
-
children:
|
|
749
|
+
children: Gn(f?.to)
|
|
681
750
|
}), /* @__PURE__ */ j(De, {
|
|
682
751
|
id: s,
|
|
683
752
|
type: "time",
|
|
@@ -709,7 +778,7 @@ function Un({ value: e, onChange: t, disabled: n = !1, showTimezone: r = !1, cla
|
|
|
709
778
|
}
|
|
710
779
|
//#endregion
|
|
711
780
|
//#region src/filters/resolve-period.ts
|
|
712
|
-
function
|
|
781
|
+
function Jn() {
|
|
713
782
|
try {
|
|
714
783
|
let { firstDay: e } = new Intl.Locale(navigator.language).getWeekInfo();
|
|
715
784
|
return e % 7;
|
|
@@ -717,7 +786,7 @@ function Wn() {
|
|
|
717
786
|
return 1;
|
|
718
787
|
}
|
|
719
788
|
}
|
|
720
|
-
var
|
|
789
|
+
var Yn = {
|
|
721
790
|
"5m": 5 * 6e4,
|
|
722
791
|
"15m": 15 * 6e4,
|
|
723
792
|
"1h": 60 * 6e4,
|
|
@@ -730,51 +799,51 @@ var Gn = {
|
|
|
730
799
|
"180d": 4320 * 60 * 6e4,
|
|
731
800
|
"365d": 365 * 24 * 60 * 6e4
|
|
732
801
|
};
|
|
733
|
-
function
|
|
802
|
+
function Xn(e) {
|
|
734
803
|
let t = new Date(e);
|
|
735
804
|
return t.setHours(0, 0, 0, 0), t;
|
|
736
805
|
}
|
|
737
|
-
function
|
|
738
|
-
let n =
|
|
806
|
+
function Zn(e, t) {
|
|
807
|
+
let n = Xn(e), r = (n.getDay() - t + 7) % 7;
|
|
739
808
|
return n.setDate(n.getDate() - r), n;
|
|
740
809
|
}
|
|
741
|
-
function
|
|
810
|
+
function Qn(e) {
|
|
742
811
|
return new Date(e.getFullYear(), e.getMonth(), 1);
|
|
743
812
|
}
|
|
744
|
-
function
|
|
813
|
+
function $n(e) {
|
|
745
814
|
let t = Math.floor(e.getMonth() / 3) * 3;
|
|
746
815
|
return new Date(e.getFullYear(), t, 1);
|
|
747
816
|
}
|
|
748
|
-
function
|
|
817
|
+
function er(e, t, n) {
|
|
749
818
|
switch (e) {
|
|
750
819
|
case "currentWeek": return {
|
|
751
|
-
from:
|
|
820
|
+
from: Zn(t, n),
|
|
752
821
|
to: t
|
|
753
822
|
};
|
|
754
823
|
case "currentMonth": return {
|
|
755
|
-
from:
|
|
824
|
+
from: Qn(t),
|
|
756
825
|
to: t
|
|
757
826
|
};
|
|
758
827
|
case "currentQuarter": return {
|
|
759
|
-
from:
|
|
828
|
+
from: $n(t),
|
|
760
829
|
to: t
|
|
761
830
|
};
|
|
762
831
|
case "previousWeek": {
|
|
763
|
-
let e =
|
|
832
|
+
let e = Zn(t, n), r = new Date(e);
|
|
764
833
|
return r.setDate(r.getDate() - 7), {
|
|
765
834
|
from: r,
|
|
766
835
|
to: e
|
|
767
836
|
};
|
|
768
837
|
}
|
|
769
838
|
case "previousMonth": {
|
|
770
|
-
let e =
|
|
839
|
+
let e = Qn(t), n = new Date(e);
|
|
771
840
|
return n.setMonth(n.getMonth() - 1), {
|
|
772
841
|
from: n,
|
|
773
842
|
to: e
|
|
774
843
|
};
|
|
775
844
|
}
|
|
776
845
|
case "previousQuarter": {
|
|
777
|
-
let e =
|
|
846
|
+
let e = $n(t), n = new Date(e);
|
|
778
847
|
return n.setMonth(n.getMonth() - 3), {
|
|
779
848
|
from: n,
|
|
780
849
|
to: e
|
|
@@ -783,8 +852,8 @@ function Xn(e, t, n) {
|
|
|
783
852
|
default: return;
|
|
784
853
|
}
|
|
785
854
|
}
|
|
786
|
-
function
|
|
787
|
-
let { now: n = /* @__PURE__ */ new Date(), weekStartsOn: r =
|
|
855
|
+
function tr(e, t = {}) {
|
|
856
|
+
let { now: n = /* @__PURE__ */ new Date(), weekStartsOn: r = Jn() } = t, i = Yn[e];
|
|
788
857
|
if (i !== void 0) {
|
|
789
858
|
let e = n.getTime();
|
|
790
859
|
return {
|
|
@@ -793,7 +862,7 @@ function Zn(e, t = {}) {
|
|
|
793
862
|
to: e
|
|
794
863
|
};
|
|
795
864
|
}
|
|
796
|
-
let a =
|
|
865
|
+
let a = er(e, n, r);
|
|
797
866
|
return a ? {
|
|
798
867
|
type: "absolute",
|
|
799
868
|
from: a.from.getTime(),
|
|
@@ -806,7 +875,7 @@ function Zn(e, t = {}) {
|
|
|
806
875
|
}
|
|
807
876
|
//#endregion
|
|
808
877
|
//#region src/filters/filter-provider.ts
|
|
809
|
-
function
|
|
878
|
+
function nr(e) {
|
|
810
879
|
let t = e.kind ?? "async", n = e.field;
|
|
811
880
|
if (!e.operators.length) throw Error(`[gamma-lib-observability] FilterProvider "${n}" must define at least one operator.`);
|
|
812
881
|
if (t === "enum") {
|
|
@@ -822,7 +891,7 @@ function Qn(e) {
|
|
|
822
891
|
}
|
|
823
892
|
//#endregion
|
|
824
893
|
//#region src/filters/use-scoped-filter-providers.ts
|
|
825
|
-
function
|
|
894
|
+
function rr(e) {
|
|
826
895
|
let t = p(), n = J();
|
|
827
896
|
return D(() => {
|
|
828
897
|
if (!e) return t;
|
|
@@ -838,18 +907,18 @@ function $n(e) {
|
|
|
838
907
|
}
|
|
839
908
|
//#endregion
|
|
840
909
|
//#region src/filters/utils/filter-value-options.ts
|
|
841
|
-
function
|
|
910
|
+
function ir(e, t) {
|
|
842
911
|
let n = /* @__PURE__ */ new Map();
|
|
843
912
|
for (let t of e) n.set(t.value, t);
|
|
844
913
|
for (let e of t) n.set(e.value, e);
|
|
845
914
|
return [...n.values()];
|
|
846
915
|
}
|
|
847
|
-
function
|
|
916
|
+
function ar(e, t) {
|
|
848
917
|
return e.value === t.value;
|
|
849
918
|
}
|
|
850
919
|
//#endregion
|
|
851
920
|
//#region src/filters/utils/use-auto-open-on-focus.ts
|
|
852
|
-
function
|
|
921
|
+
function or() {
|
|
853
922
|
let [e, t] = k(!1), n = O(!1);
|
|
854
923
|
return {
|
|
855
924
|
open: e,
|
|
@@ -870,15 +939,15 @@ function nr() {
|
|
|
870
939
|
}
|
|
871
940
|
//#endregion
|
|
872
941
|
//#region src/filters/FilterValueCombobox.tsx
|
|
873
|
-
var
|
|
874
|
-
function
|
|
875
|
-
let u = Ke(), { open: d, handleOpenChange: f, handleInputFocus: p, handleInputKeyDown: m } =
|
|
942
|
+
var sr = (e) => e.label, cr = (e) => e.value;
|
|
943
|
+
function lr({ options: e, selected: t, onSelectedChange: n, multiple: r, onSearchChange: i, disableBuiltInFilter: a = !1, placeholder: o = r ? "Search values…" : "Search value…", emptyMessage: s = "No results.", listFooter: c, errorMessage: l }) {
|
|
944
|
+
let u = Ke(), { open: d, handleOpenChange: f, handleInputFocus: p, handleInputKeyDown: m } = or(), h = E(), g = !!l, _ = {
|
|
876
945
|
open: d,
|
|
877
946
|
onOpenChange: f,
|
|
878
947
|
items: e,
|
|
879
|
-
itemToStringLabel:
|
|
880
|
-
itemToStringValue:
|
|
881
|
-
isItemEqualToValue:
|
|
948
|
+
itemToStringLabel: sr,
|
|
949
|
+
itemToStringValue: cr,
|
|
950
|
+
isItemEqualToValue: ar,
|
|
882
951
|
...a && { filter: null },
|
|
883
952
|
...i && { onInputValueChange: (e) => i(String(e)) }
|
|
884
953
|
}, y = /* @__PURE__ */ M(A, { children: [
|
|
@@ -938,7 +1007,7 @@ function ar({ options: e, selected: t, onSelectedChange: n, multiple: r, onSearc
|
|
|
938
1007
|
}
|
|
939
1008
|
//#endregion
|
|
940
1009
|
//#region src/filters/utils/use-debounced-value.ts
|
|
941
|
-
function
|
|
1010
|
+
function ur(e, t) {
|
|
942
1011
|
let [n, r] = k(e);
|
|
943
1012
|
return T(() => {
|
|
944
1013
|
let n = window.setTimeout(() => r(e), t);
|
|
@@ -947,13 +1016,13 @@ function or(e, t) {
|
|
|
947
1016
|
}
|
|
948
1017
|
//#endregion
|
|
949
1018
|
//#region src/filters/utils/use-scroll-sentinel.ts
|
|
950
|
-
function
|
|
1019
|
+
function dr(e, t) {
|
|
951
1020
|
let n = O(e), r = O(null);
|
|
952
1021
|
return T(() => {
|
|
953
1022
|
n.current = e;
|
|
954
1023
|
}, [e]), C((e) => {
|
|
955
1024
|
if (r.current &&= (r.current.disconnect(), null), e && t) {
|
|
956
|
-
let t =
|
|
1025
|
+
let t = fr(e), i = new IntersectionObserver((e) => {
|
|
957
1026
|
e[0]?.isIntersecting && n.current();
|
|
958
1027
|
}, {
|
|
959
1028
|
root: t,
|
|
@@ -963,7 +1032,7 @@ function sr(e, t) {
|
|
|
963
1032
|
}
|
|
964
1033
|
}, [t]);
|
|
965
1034
|
}
|
|
966
|
-
function
|
|
1035
|
+
function fr(e) {
|
|
967
1036
|
let t = e.closest("[data-slot=combobox-content]");
|
|
968
1037
|
if (t) return t;
|
|
969
1038
|
let n = e.parentElement;
|
|
@@ -976,9 +1045,9 @@ function cr(e) {
|
|
|
976
1045
|
}
|
|
977
1046
|
//#endregion
|
|
978
1047
|
//#region src/filters/FilterAsyncValueField.tsx
|
|
979
|
-
var
|
|
980
|
-
function
|
|
981
|
-
let [i, a] = k(""), o =
|
|
1048
|
+
var pr = 300;
|
|
1049
|
+
function mr({ provider: e, selected: t, onSelectedChange: n, multiple: r }) {
|
|
1050
|
+
let [i, a] = k(""), o = ur(i, pr), [s, c] = k([]), [l, u] = k(!1), [d, f] = k(null), [p, m] = k(!1), [h, g] = k(1), _ = O(0), v = O(null), y = O(o), b = C(async (t, n) => {
|
|
982
1051
|
if (!e.valueLoader) return;
|
|
983
1052
|
v.current?.abort();
|
|
984
1053
|
let r = new AbortController();
|
|
@@ -1018,11 +1087,11 @@ function ur({ provider: e, selected: t, onSelectedChange: n, multiple: r }) {
|
|
|
1018
1087
|
h,
|
|
1019
1088
|
b
|
|
1020
1089
|
]);
|
|
1021
|
-
let x =
|
|
1090
|
+
let x = dr(C(() => {
|
|
1022
1091
|
!l && p && g((e) => e + 1);
|
|
1023
1092
|
}, [l, p]), p && !l);
|
|
1024
|
-
return /* @__PURE__ */ j(
|
|
1025
|
-
options: D(() =>
|
|
1093
|
+
return /* @__PURE__ */ j(lr, {
|
|
1094
|
+
options: D(() => ir(t, s), [t, s]),
|
|
1026
1095
|
selected: t,
|
|
1027
1096
|
onSelectedChange: n,
|
|
1028
1097
|
multiple: r,
|
|
@@ -1048,8 +1117,8 @@ function ur({ provider: e, selected: t, onSelectedChange: n, multiple: r }) {
|
|
|
1048
1117
|
}
|
|
1049
1118
|
//#endregion
|
|
1050
1119
|
//#region src/filters/FilterEnumValueField.tsx
|
|
1051
|
-
function
|
|
1052
|
-
return /* @__PURE__ */ j(
|
|
1120
|
+
function hr({ provider: e, selected: t, onSelectedChange: n, multiple: r }) {
|
|
1121
|
+
return /* @__PURE__ */ j(lr, {
|
|
1053
1122
|
options: D(() => e.options ?? [], [e.options]),
|
|
1054
1123
|
selected: t,
|
|
1055
1124
|
onSelectedChange: n,
|
|
@@ -1058,19 +1127,19 @@ function dr({ provider: e, selected: t, onSelectedChange: n, multiple: r }) {
|
|
|
1058
1127
|
}
|
|
1059
1128
|
//#endregion
|
|
1060
1129
|
//#region src/filters/utils/scope-labels.ts
|
|
1061
|
-
var
|
|
1130
|
+
var gr = {
|
|
1062
1131
|
HTTP_PROXY: "HTTP Proxy",
|
|
1063
1132
|
MESSAGE: "Message"
|
|
1064
1133
|
};
|
|
1065
|
-
function
|
|
1134
|
+
function _r(e) {
|
|
1066
1135
|
return e.trim().replace(/\s+/g, "_").toUpperCase();
|
|
1067
1136
|
}
|
|
1068
|
-
function
|
|
1069
|
-
return
|
|
1137
|
+
function vr(e) {
|
|
1138
|
+
return gr[_r(e)] ?? e.trim();
|
|
1070
1139
|
}
|
|
1071
1140
|
//#endregion
|
|
1072
1141
|
//#region src/filters/FilterFieldOptionRow.tsx
|
|
1073
|
-
var
|
|
1142
|
+
var yr = S(function({ provider: e, showScopes: t = !1, className: n }) {
|
|
1074
1143
|
let r = t && e.scopes && e.scopes.length > 0;
|
|
1075
1144
|
return /* @__PURE__ */ M("div", {
|
|
1076
1145
|
className: V("flex min-w-0 flex-1 items-center justify-between gap-3", n),
|
|
@@ -1082,15 +1151,15 @@ var hr = S(function({ provider: e, showScopes: t = !1, className: n }) {
|
|
|
1082
1151
|
children: e.scopes?.map((e) => /* @__PURE__ */ j(P, {
|
|
1083
1152
|
variant: "secondary",
|
|
1084
1153
|
className: "max-w-28 truncate text-xs font-normal",
|
|
1085
|
-
children:
|
|
1154
|
+
children: vr(e)
|
|
1086
1155
|
}, e))
|
|
1087
1156
|
}) : null]
|
|
1088
1157
|
});
|
|
1089
1158
|
});
|
|
1090
1159
|
//#endregion
|
|
1091
1160
|
//#region src/filters/FilterPropertyField.tsx
|
|
1092
|
-
function
|
|
1093
|
-
let i = Ke(), { open: a, handleOpenChange: o, handleInputFocus: s, handleInputKeyDown: c } =
|
|
1161
|
+
function br({ providers: e, selectedField: t, onFieldChange: n, showScopes: r }) {
|
|
1162
|
+
let i = Ke(), { open: a, handleOpenChange: o, handleInputFocus: s, handleInputKeyDown: c } = or();
|
|
1094
1163
|
return /* @__PURE__ */ M(ce, {
|
|
1095
1164
|
open: a,
|
|
1096
1165
|
onOpenChange: o,
|
|
@@ -1112,7 +1181,7 @@ function gr({ providers: e, selectedField: t, onFieldChange: n, showScopes: r })
|
|
|
1112
1181
|
anchor: i,
|
|
1113
1182
|
children: [/* @__PURE__ */ j(pe, { children: "No results." }), /* @__PURE__ */ j(he, { children: (e) => /* @__PURE__ */ j(me, {
|
|
1114
1183
|
value: e,
|
|
1115
|
-
children: /* @__PURE__ */ j(
|
|
1184
|
+
children: /* @__PURE__ */ j(yr, {
|
|
1116
1185
|
provider: e,
|
|
1117
1186
|
showScopes: r
|
|
1118
1187
|
})
|
|
@@ -1122,7 +1191,7 @@ function gr({ providers: e, selectedField: t, onFieldChange: n, showScopes: r })
|
|
|
1122
1191
|
}
|
|
1123
1192
|
//#endregion
|
|
1124
1193
|
//#region src/filters/utils/filter-operators.ts
|
|
1125
|
-
var
|
|
1194
|
+
var xr = {
|
|
1126
1195
|
eq: "=",
|
|
1127
1196
|
neq: "≠",
|
|
1128
1197
|
in: "in",
|
|
@@ -1137,13 +1206,13 @@ var _r = {
|
|
|
1137
1206
|
lte: "≤",
|
|
1138
1207
|
exists: "exists",
|
|
1139
1208
|
not_exists: "not exists"
|
|
1140
|
-
},
|
|
1209
|
+
}, Sr = new Set(["exists", "not_exists"]), Cr = new Set([
|
|
1141
1210
|
"neq",
|
|
1142
1211
|
"not_in",
|
|
1143
1212
|
"not_contains",
|
|
1144
1213
|
"not_exists"
|
|
1145
1214
|
]);
|
|
1146
|
-
function
|
|
1215
|
+
function wr(e) {
|
|
1147
1216
|
switch (e) {
|
|
1148
1217
|
case "eq": return "=";
|
|
1149
1218
|
case "neq": return "≠";
|
|
@@ -1151,38 +1220,38 @@ function br(e) {
|
|
|
1151
1220
|
case "not_in": return "Not in";
|
|
1152
1221
|
case "gte": return "≥";
|
|
1153
1222
|
case "lte": return "≤";
|
|
1154
|
-
default: return
|
|
1223
|
+
default: return xr[e] ?? e;
|
|
1155
1224
|
}
|
|
1156
1225
|
}
|
|
1157
|
-
function
|
|
1158
|
-
return !
|
|
1226
|
+
function Tr(e) {
|
|
1227
|
+
return !Sr.has(e);
|
|
1159
1228
|
}
|
|
1160
|
-
function
|
|
1229
|
+
function Er(e, t) {
|
|
1161
1230
|
return e.operators.includes(t);
|
|
1162
1231
|
}
|
|
1163
|
-
function
|
|
1164
|
-
let n =
|
|
1232
|
+
function Dr(e, t) {
|
|
1233
|
+
let n = Er(e, "in"), r = Er(e, "not_in");
|
|
1165
1234
|
return !!(t === "in" || t === "not_in" || n && t === "eq" || r && t === "neq");
|
|
1166
1235
|
}
|
|
1167
|
-
function
|
|
1236
|
+
function Or(e, t, n) {
|
|
1168
1237
|
if (n >= 2) {
|
|
1169
|
-
if (t === "eq" &&
|
|
1170
|
-
if (t === "neq" &&
|
|
1238
|
+
if (t === "eq" && Er(e, "in")) return "in";
|
|
1239
|
+
if (t === "neq" && Er(e, "not_in")) return "not_in";
|
|
1171
1240
|
}
|
|
1172
1241
|
if (n === 1) {
|
|
1173
|
-
if (t === "in" &&
|
|
1174
|
-
if (t === "not_in" &&
|
|
1242
|
+
if (t === "in" && Er(e, "eq")) return "eq";
|
|
1243
|
+
if (t === "not_in" && Er(e, "neq")) return "neq";
|
|
1175
1244
|
}
|
|
1176
1245
|
return t;
|
|
1177
1246
|
}
|
|
1178
1247
|
//#endregion
|
|
1179
1248
|
//#region src/filters/utils/normalize-filter-value.ts
|
|
1180
|
-
function
|
|
1249
|
+
function kr(e) {
|
|
1181
1250
|
return e.every((e) => typeof e == "object" && !!e && "value" in e && typeof e.value == "string" && "label" in e && typeof e.label == "string");
|
|
1182
1251
|
}
|
|
1183
|
-
function
|
|
1252
|
+
function Ar(e) {
|
|
1184
1253
|
if (Array.isArray(e)) {
|
|
1185
|
-
if (e.length > 0 &&
|
|
1254
|
+
if (e.length > 0 && kr(e)) return {
|
|
1186
1255
|
values: e.map((e) => e.value),
|
|
1187
1256
|
valueLabels: e.map((e) => e.label)
|
|
1188
1257
|
};
|
|
@@ -1201,7 +1270,7 @@ function Er(e) {
|
|
|
1201
1270
|
valueLabels: t.map((e, t) => n[t] ?? e)
|
|
1202
1271
|
};
|
|
1203
1272
|
}
|
|
1204
|
-
function
|
|
1273
|
+
function jr(e, t) {
|
|
1205
1274
|
return e.map((e, n) => ({
|
|
1206
1275
|
value: e,
|
|
1207
1276
|
label: t?.[n] ?? e
|
|
@@ -1209,42 +1278,42 @@ function Dr(e, t) {
|
|
|
1209
1278
|
}
|
|
1210
1279
|
//#endregion
|
|
1211
1280
|
//#region src/filters/utils/parse-free-text-input.ts
|
|
1212
|
-
function
|
|
1281
|
+
function Mr(e) {
|
|
1213
1282
|
return e.split(",").map((e) => e.trim()).filter((e) => e.length > 0);
|
|
1214
1283
|
}
|
|
1215
1284
|
//#endregion
|
|
1216
1285
|
//#region src/filters/utils/build-filter-condition.ts
|
|
1217
|
-
function
|
|
1286
|
+
function Nr(e) {
|
|
1218
1287
|
let { provider: t, operator: n, selectedOptions: r = [], freeText: i = "" } = e;
|
|
1219
1288
|
if (!t || !n) return !1;
|
|
1220
|
-
if (!
|
|
1289
|
+
if (!Tr(n)) return !0;
|
|
1221
1290
|
if (t.allowFreeText && !t.valueLoader && t.kind !== "enum") {
|
|
1222
|
-
let e =
|
|
1291
|
+
let e = Mr(i);
|
|
1223
1292
|
if (e.length === 0) return !1;
|
|
1224
1293
|
if (e.length > 1) {
|
|
1225
|
-
let r =
|
|
1294
|
+
let r = Or(t, n, e.length);
|
|
1226
1295
|
if (r === "eq" || r === "neq") return !1;
|
|
1227
1296
|
}
|
|
1228
1297
|
return !0;
|
|
1229
1298
|
}
|
|
1230
1299
|
if (r.length === 0) return !1;
|
|
1231
1300
|
if (r.length > 1) {
|
|
1232
|
-
let e =
|
|
1301
|
+
let e = Or(t, n, r.length);
|
|
1233
1302
|
if (e === "eq" || e === "neq") return !1;
|
|
1234
1303
|
}
|
|
1235
1304
|
return !0;
|
|
1236
1305
|
}
|
|
1237
|
-
function
|
|
1238
|
-
let { provider: t, operator: n, selectedOptions: r, freeText: i } = e, a =
|
|
1306
|
+
function Pr(e) {
|
|
1307
|
+
let { provider: t, operator: n, selectedOptions: r, freeText: i } = e, a = Tr(n), o, s;
|
|
1239
1308
|
if (!a) o = [], s = [];
|
|
1240
1309
|
else if (t.allowFreeText && !t.valueLoader && t.kind !== "enum") {
|
|
1241
|
-
let e =
|
|
1310
|
+
let e = Ar(Mr(i));
|
|
1242
1311
|
o = e.values, s = e.valueLabels;
|
|
1243
1312
|
} else {
|
|
1244
|
-
let e =
|
|
1313
|
+
let e = Ar([...r]);
|
|
1245
1314
|
o = e.values, s = e.valueLabels;
|
|
1246
1315
|
}
|
|
1247
|
-
let c =
|
|
1316
|
+
let c = Or(t, n, o.length);
|
|
1248
1317
|
return {
|
|
1249
1318
|
field: t.field,
|
|
1250
1319
|
label: t.label,
|
|
@@ -1255,8 +1324,8 @@ function Ar(e) {
|
|
|
1255
1324
|
}
|
|
1256
1325
|
//#endregion
|
|
1257
1326
|
//#region src/filters/FilterPopoverForm.tsx
|
|
1258
|
-
function
|
|
1259
|
-
let i = p(), [a, o] = k(e?.field ?? null), [s, c] = k(e?.operator ?? null), [l, u] = k(() => e ?
|
|
1327
|
+
function Fr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1 }) {
|
|
1328
|
+
let i = p(), [a, o] = k(e?.field ?? null), [s, c] = k(e?.operator ?? null), [l, u] = k(() => e ? jr(e.value, e.valueLabels) : []), [d, f] = k(e?.value.join(", ") ?? ""), m = D(() => i.find((e) => e.field === a) ?? null, [i, a]), h = m && s ? Dr(m, s) : !1, g = m?.kind ?? "async", _ = s ? Tr(s) : !0, v = Nr({
|
|
1260
1329
|
provider: m,
|
|
1261
1330
|
operator: s,
|
|
1262
1331
|
selectedOptions: l,
|
|
@@ -1271,12 +1340,12 @@ function jr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1
|
|
|
1271
1340
|
function x(e) {
|
|
1272
1341
|
let t = h ? e : e.slice(0, 1);
|
|
1273
1342
|
if (u(t), m && s) {
|
|
1274
|
-
let e =
|
|
1343
|
+
let e = Or(m, s, t.length);
|
|
1275
1344
|
e !== s && c(e);
|
|
1276
1345
|
}
|
|
1277
1346
|
}
|
|
1278
1347
|
function S() {
|
|
1279
|
-
!m || !s || t(
|
|
1348
|
+
!m || !s || t(Pr({
|
|
1280
1349
|
provider: m,
|
|
1281
1350
|
operator: s,
|
|
1282
1351
|
selectedOptions: l,
|
|
@@ -1288,12 +1357,12 @@ function jr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1
|
|
|
1288
1357
|
disabled: !0,
|
|
1289
1358
|
placeholder: "Search value…",
|
|
1290
1359
|
"aria-label": "Filter value"
|
|
1291
|
-
}) : g === "enum" && m.options ? /* @__PURE__ */ j(
|
|
1360
|
+
}) : g === "enum" && m.options ? /* @__PURE__ */ j(hr, {
|
|
1292
1361
|
provider: m,
|
|
1293
1362
|
selected: l,
|
|
1294
1363
|
onSelectedChange: x,
|
|
1295
1364
|
multiple: h
|
|
1296
|
-
}, m.field) : m.valueLoader ? /* @__PURE__ */ j(
|
|
1365
|
+
}, m.field) : m.valueLoader ? /* @__PURE__ */ j(mr, {
|
|
1297
1366
|
provider: m,
|
|
1298
1367
|
selected: l,
|
|
1299
1368
|
onSelectedChange: x,
|
|
@@ -1311,7 +1380,7 @@ function jr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1
|
|
|
1311
1380
|
return /* @__PURE__ */ M("div", {
|
|
1312
1381
|
className: "flex w-[340px] flex-col gap-4 p-4",
|
|
1313
1382
|
children: [
|
|
1314
|
-
/* @__PURE__ */ M(we, { children: [/* @__PURE__ */ j(Ee, { children: "Filter by" }), /* @__PURE__ */ j(
|
|
1383
|
+
/* @__PURE__ */ M(we, { children: [/* @__PURE__ */ j(Ee, { children: "Filter by" }), /* @__PURE__ */ j(br, {
|
|
1315
1384
|
providers: i,
|
|
1316
1385
|
selectedField: a,
|
|
1317
1386
|
onFieldChange: y,
|
|
@@ -1327,7 +1396,7 @@ function jr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1
|
|
|
1327
1396
|
children: /* @__PURE__ */ j(Le, { placeholder: "Select operator…" })
|
|
1328
1397
|
}), /* @__PURE__ */ j(Pe, { children: (m?.operators ?? []).map((e) => /* @__PURE__ */ j(Fe, {
|
|
1329
1398
|
value: e,
|
|
1330
|
-
children:
|
|
1399
|
+
children: wr(e)
|
|
1331
1400
|
}, e)) })]
|
|
1332
1401
|
})] }),
|
|
1333
1402
|
_ ? /* @__PURE__ */ M(we, { children: [/* @__PURE__ */ j(Ee, { children: "Filter value" }), C()] }) : null,
|
|
@@ -1352,31 +1421,31 @@ function jr({ existingCondition: e, onApply: t, onCancel: n, showScopes: r = !1
|
|
|
1352
1421
|
}
|
|
1353
1422
|
//#endregion
|
|
1354
1423
|
//#region src/filters/utils/filter-display.ts
|
|
1355
|
-
function
|
|
1424
|
+
function Ir(e, t) {
|
|
1356
1425
|
let n = e.value[t];
|
|
1357
1426
|
if (n === void 0) return "";
|
|
1358
1427
|
let r = e.valueLabels?.[t];
|
|
1359
1428
|
return r != null && r !== "" ? r : n;
|
|
1360
1429
|
}
|
|
1361
|
-
function
|
|
1430
|
+
function Lr(e) {
|
|
1362
1431
|
return e.value.length === 1 && e.operator === "in" ? "eq" : e.value.length === 1 && e.operator === "not_in" ? "neq" : e.operator;
|
|
1363
1432
|
}
|
|
1364
|
-
function
|
|
1365
|
-
return
|
|
1433
|
+
function Rr(e) {
|
|
1434
|
+
return xr[e] ?? e;
|
|
1366
1435
|
}
|
|
1367
|
-
function
|
|
1436
|
+
function zr(e) {
|
|
1368
1437
|
if (e.value.length === 0) return e.label;
|
|
1369
|
-
let t =
|
|
1370
|
-
return e.value.length > 1 ? `${e.label} ${t} (${e.value.length})` : `${e.label} ${t} ${
|
|
1438
|
+
let t = Rr(Lr(e));
|
|
1439
|
+
return e.value.length > 1 ? `${e.label} ${t} (${e.value.length})` : `${e.label} ${t} ${Ir(e, 0)}`;
|
|
1371
1440
|
}
|
|
1372
|
-
function
|
|
1441
|
+
function Br(e) {
|
|
1373
1442
|
if (e.value.length === 0) return {
|
|
1374
1443
|
name: e.label,
|
|
1375
1444
|
operator: "",
|
|
1376
1445
|
value: "",
|
|
1377
1446
|
isCount: !1
|
|
1378
1447
|
};
|
|
1379
|
-
let t =
|
|
1448
|
+
let t = Rr(Lr(e));
|
|
1380
1449
|
return e.value.length > 1 ? {
|
|
1381
1450
|
name: e.label,
|
|
1382
1451
|
operator: t,
|
|
@@ -1385,26 +1454,26 @@ function Ir(e) {
|
|
|
1385
1454
|
} : {
|
|
1386
1455
|
name: e.label,
|
|
1387
1456
|
operator: t,
|
|
1388
|
-
value:
|
|
1457
|
+
value: Ir(e, 0),
|
|
1389
1458
|
isCount: !1
|
|
1390
1459
|
};
|
|
1391
1460
|
}
|
|
1392
|
-
function
|
|
1461
|
+
function Vr(e) {
|
|
1393
1462
|
if (e.value.length === 0) return e.label;
|
|
1394
|
-
let t =
|
|
1463
|
+
let t = Rr(Lr(e));
|
|
1395
1464
|
if (e.value.length > 1) {
|
|
1396
|
-
let n = e.value.map((t, n) =>
|
|
1465
|
+
let n = e.value.map((t, n) => Ir(e, n));
|
|
1397
1466
|
return `${e.label} ${t} [${n.join(", ")}]`;
|
|
1398
1467
|
}
|
|
1399
|
-
return `${e.label} ${t} ${
|
|
1468
|
+
return `${e.label} ${t} ${Ir(e, 0)}`;
|
|
1400
1469
|
}
|
|
1401
1470
|
//#endregion
|
|
1402
1471
|
//#region src/filters/FilterChip.tsx
|
|
1403
|
-
function
|
|
1472
|
+
function Hr(e, t, n) {
|
|
1404
1473
|
return e ? t ? `Filter: ${n}` : `Edit filter: ${n}. Press Delete to remove.` : `Active filter: ${n}`;
|
|
1405
1474
|
}
|
|
1406
|
-
var
|
|
1407
|
-
let l =
|
|
1475
|
+
var Ur = S(x(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0, disabled: i = !1, active: a = !1, className: o, "data-chip-index": s }, c) {
|
|
1476
|
+
let l = Br(e), u = Vr(e), d = r && !i, f = Cr.has(e.operator), [p, m] = k(!1);
|
|
1408
1477
|
function h(e) {
|
|
1409
1478
|
e.stopPropagation(), d && n?.();
|
|
1410
1479
|
}
|
|
@@ -1431,7 +1500,7 @@ var zr = S(x(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0,
|
|
|
1431
1500
|
ref: c,
|
|
1432
1501
|
"data-chip-index": s,
|
|
1433
1502
|
className: V("inline-flex items-center gap-1.5", f && r && "border-dashed border-highlight/40", f && !r && "border-dashed", i && "pointer-events-none opacity-50", o),
|
|
1434
|
-
"aria-label":
|
|
1503
|
+
"aria-label": Hr(r, i, u),
|
|
1435
1504
|
"aria-disabled": i || void 0,
|
|
1436
1505
|
"data-active": a || void 0,
|
|
1437
1506
|
onMouseEnter: () => d && m(!0),
|
|
@@ -1465,32 +1534,32 @@ var zr = S(x(function({ condition: e, onEdit: t, onRemove: n, editable: r = !0,
|
|
|
1465
1534
|
})
|
|
1466
1535
|
}), /* @__PURE__ */ j(R, { children: u })] });
|
|
1467
1536
|
}));
|
|
1468
|
-
|
|
1537
|
+
Ur.displayName = "FilterChip";
|
|
1469
1538
|
//#endregion
|
|
1470
1539
|
//#region src/filters/utils/filter-condition-key.ts
|
|
1471
|
-
function
|
|
1540
|
+
function Wr(e) {
|
|
1472
1541
|
let t = JSON.stringify([...e.value].sort());
|
|
1473
1542
|
return `${e.field}:${e.operator}:${t}`;
|
|
1474
1543
|
}
|
|
1475
1544
|
//#endregion
|
|
1476
1545
|
//#region src/filters/utils/merge-conditions.ts
|
|
1477
|
-
var
|
|
1478
|
-
function
|
|
1479
|
-
return
|
|
1546
|
+
var Gr = new Set(["eq", "in"]), Kr = new Set(["neq", "not_in"]);
|
|
1547
|
+
function qr(e) {
|
|
1548
|
+
return Gr.has(e);
|
|
1480
1549
|
}
|
|
1481
|
-
function
|
|
1482
|
-
return
|
|
1550
|
+
function Jr(e) {
|
|
1551
|
+
return Kr.has(e);
|
|
1483
1552
|
}
|
|
1484
|
-
function
|
|
1485
|
-
return e.field === t.field ? !!(
|
|
1553
|
+
function Yr(e, t) {
|
|
1554
|
+
return e.field === t.field ? !!(qr(e.operator) && qr(t.operator) || Jr(e.operator) && Jr(t.operator)) : !1;
|
|
1486
1555
|
}
|
|
1487
|
-
function
|
|
1488
|
-
if (!
|
|
1556
|
+
function Xr(e, t, n) {
|
|
1557
|
+
if (!Yr(e, t)) return null;
|
|
1489
1558
|
let r = /* @__PURE__ */ new Set(), i = [], a = [];
|
|
1490
1559
|
for (let n of [e, t]) n.value.forEach((e, t) => {
|
|
1491
1560
|
r.has(e) || (r.add(e), i.push(e), a.push(n.valueLabels?.[t] ?? e));
|
|
1492
1561
|
});
|
|
1493
|
-
let o =
|
|
1562
|
+
let o = Or(n, qr(e.operator) ? "eq" : "neq", i.length);
|
|
1494
1563
|
return !n.operators.includes(o) || i.length > 1 && (o === "eq" || o === "neq") ? null : {
|
|
1495
1564
|
field: e.field,
|
|
1496
1565
|
label: e.label,
|
|
@@ -1501,11 +1570,11 @@ function Kr(e, t, n) {
|
|
|
1501
1570
|
}
|
|
1502
1571
|
//#endregion
|
|
1503
1572
|
//#region src/filters/FilterBar.tsx
|
|
1504
|
-
function
|
|
1573
|
+
function Zr(e, t) {
|
|
1505
1574
|
return e ? e.mode === "add" ? "add" : t ? `edit-${t.field}-${t.operator}-${JSON.stringify(t.value)}` : `edit-${e.editIndex}` : "closed";
|
|
1506
1575
|
}
|
|
1507
|
-
function
|
|
1508
|
-
let o =
|
|
1576
|
+
function Qr({ filters: e, onFiltersChange: t, editable: n = !0, showScopes: r = !1, scopeFilterField: i, className: a }) {
|
|
1577
|
+
let o = rr(i), [s, c] = k(null), l = O(null), u = O(/* @__PURE__ */ new Map()), d = O(null), f = O({ getBoundingClientRect: () => new DOMRect() }), p = s?.editIndex !== void 0 && s.editIndex >= 0 && s.editIndex < e.length, m = s !== null && (s.mode === "add" || p), h = p ? e[s.editIndex] : void 0, g = C((e) => {
|
|
1509
1578
|
if (e) {
|
|
1510
1579
|
let t = Number(e.dataset.chipIndex);
|
|
1511
1580
|
u.current.set(t, e);
|
|
@@ -1536,7 +1605,7 @@ function Jr({ filters: e, onFiltersChange: t, editable: n = !0, showScopes: r =
|
|
|
1536
1605
|
}
|
|
1537
1606
|
let r = o.find((e) => e.field === n.field), i = e.findIndex((e) => e.field === n.field), a = i >= 0 ? e[i] : void 0;
|
|
1538
1607
|
if (a && r) {
|
|
1539
|
-
let o =
|
|
1608
|
+
let o = Xr(a, n, r);
|
|
1540
1609
|
if (o) {
|
|
1541
1610
|
t(e.map((e, t) => t === i ? o : e)), b();
|
|
1542
1611
|
return;
|
|
@@ -1581,7 +1650,7 @@ function Jr({ filters: e, onFiltersChange: t, editable: n = !0, showScopes: r =
|
|
|
1581
1650
|
}) : null,
|
|
1582
1651
|
e.map((e, t) => {
|
|
1583
1652
|
let r = s?.mode === "edit" && s.editIndex === t;
|
|
1584
|
-
return /* @__PURE__ */ j(
|
|
1653
|
+
return /* @__PURE__ */ j(Ur, {
|
|
1585
1654
|
ref: g,
|
|
1586
1655
|
"data-chip-index": t,
|
|
1587
1656
|
condition: e,
|
|
@@ -1590,7 +1659,7 @@ function Jr({ filters: e, onFiltersChange: t, editable: n = !0, showScopes: r =
|
|
|
1590
1659
|
active: r,
|
|
1591
1660
|
onEdit: () => v(t),
|
|
1592
1661
|
onRemove: () => w(t)
|
|
1593
|
-
},
|
|
1662
|
+
}, Wr(e));
|
|
1594
1663
|
}),
|
|
1595
1664
|
n && e.length > 0 ? /* @__PURE__ */ j("button", {
|
|
1596
1665
|
type: "button",
|
|
@@ -1609,44 +1678,44 @@ function Jr({ filters: e, onFiltersChange: t, editable: n = !0, showScopes: r =
|
|
|
1609
1678
|
sideOffset: 8,
|
|
1610
1679
|
className: "w-auto p-0",
|
|
1611
1680
|
onOpenAutoFocus: E,
|
|
1612
|
-
children: m ? /* @__PURE__ */ j(
|
|
1681
|
+
children: m ? /* @__PURE__ */ j(Fr, {
|
|
1613
1682
|
existingCondition: h,
|
|
1614
1683
|
onApply: S,
|
|
1615
1684
|
onCancel: b,
|
|
1616
1685
|
showScopes: r
|
|
1617
|
-
},
|
|
1686
|
+
}, Zr(s, h)) : null
|
|
1618
1687
|
})
|
|
1619
1688
|
]
|
|
1620
1689
|
}) });
|
|
1621
1690
|
}
|
|
1622
1691
|
//#endregion
|
|
1623
1692
|
//#region src/dashboards/WidgetGroupContext.tsx
|
|
1624
|
-
var
|
|
1625
|
-
function
|
|
1626
|
-
return w(
|
|
1693
|
+
var $r = [], ei = y(null), ti = ei.Provider;
|
|
1694
|
+
function ni() {
|
|
1695
|
+
return w(ei);
|
|
1627
1696
|
}
|
|
1628
1697
|
//#endregion
|
|
1629
1698
|
//#region src/dashboards/resolve-stable-time-range.ts
|
|
1630
|
-
var
|
|
1631
|
-
function
|
|
1699
|
+
var ri = 6e4;
|
|
1700
|
+
function ii(e) {
|
|
1632
1701
|
if (e.type === "absolute") return e;
|
|
1633
|
-
let t =
|
|
1702
|
+
let t = tr(e.period);
|
|
1634
1703
|
return {
|
|
1635
1704
|
type: "absolute",
|
|
1636
|
-
from: Math.floor(t.from /
|
|
1637
|
-
to: Math.floor(t.to /
|
|
1705
|
+
from: Math.floor(t.from / ri) * ri,
|
|
1706
|
+
to: Math.floor(t.to / ri) * ri
|
|
1638
1707
|
};
|
|
1639
1708
|
}
|
|
1640
1709
|
//#endregion
|
|
1641
1710
|
//#region src/hooks/use-stable-time-range.ts
|
|
1642
|
-
function
|
|
1711
|
+
function ai(e) {
|
|
1643
1712
|
return Math.floor(Date.now() / e);
|
|
1644
1713
|
}
|
|
1645
1714
|
function Y(e) {
|
|
1646
|
-
let t = $t(), n = t?.intervalMs ?? 6e4, r = t?.isLive ?? !0, [i, a] = k(() =>
|
|
1715
|
+
let t = $t(), n = t?.intervalMs ?? 6e4, r = t?.isLive ?? !0, [i, a] = k(() => ai(n));
|
|
1647
1716
|
return T(() => {
|
|
1648
1717
|
if (e.type === "absolute" || !r) return;
|
|
1649
|
-
let t, i = () => a(
|
|
1718
|
+
let t, i = () => a(ai(n)), o = n - Date.now() % n, s = setTimeout(() => {
|
|
1650
1719
|
i(), t = setInterval(i, n);
|
|
1651
1720
|
}, o);
|
|
1652
1721
|
if (typeof document < "u") {
|
|
@@ -1664,48 +1733,48 @@ function Y(e) {
|
|
|
1664
1733
|
e.type,
|
|
1665
1734
|
r,
|
|
1666
1735
|
n
|
|
1667
|
-
]), D(() =>
|
|
1736
|
+
]), D(() => ii(e), [e, i]);
|
|
1668
1737
|
}
|
|
1669
1738
|
//#endregion
|
|
1670
1739
|
//#region src/dashboards/adapters/facets-adapter.ts
|
|
1671
|
-
var
|
|
1672
|
-
function
|
|
1673
|
-
return e.length <=
|
|
1740
|
+
var oi = 20;
|
|
1741
|
+
function si(e) {
|
|
1742
|
+
return e.length <= oi ? e : `${e.slice(0, oi - 1)}…`;
|
|
1674
1743
|
}
|
|
1675
|
-
function
|
|
1744
|
+
function ci(e) {
|
|
1676
1745
|
return e.map((e) => ({
|
|
1677
1746
|
category: e.value,
|
|
1678
1747
|
value: e.count
|
|
1679
1748
|
}));
|
|
1680
1749
|
}
|
|
1681
|
-
function
|
|
1750
|
+
function li(e) {
|
|
1682
1751
|
return e.map((e) => ({
|
|
1683
|
-
category:
|
|
1752
|
+
category: si(e.label || e.value),
|
|
1684
1753
|
count: e.count
|
|
1685
1754
|
}));
|
|
1686
1755
|
}
|
|
1687
1756
|
//#endregion
|
|
1688
1757
|
//#region src/dashboards/use-merged-widget-filters.ts
|
|
1689
|
-
function
|
|
1758
|
+
function ui(e, t) {
|
|
1690
1759
|
return q(J(), t, e);
|
|
1691
1760
|
}
|
|
1692
1761
|
//#endregion
|
|
1693
1762
|
//#region src/dashboards/renderers/facet-value-format.ts
|
|
1694
|
-
var
|
|
1695
|
-
function
|
|
1763
|
+
var di = new Intl.NumberFormat("en-US");
|
|
1764
|
+
function fi(e) {
|
|
1696
1765
|
return e.toLowerCase().split(/[_\s]+/).filter(Boolean).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ");
|
|
1697
1766
|
}
|
|
1698
|
-
function
|
|
1699
|
-
return e.valueLabel?.trim() || (e.metric ?
|
|
1767
|
+
function pi(e) {
|
|
1768
|
+
return e.valueLabel?.trim() || (e.metric ? fi(e.metric) : fi(U(e.measure)));
|
|
1700
1769
|
}
|
|
1701
|
-
function
|
|
1770
|
+
function mi(e) {
|
|
1702
1771
|
return e.reduce((e, t) => e + (Number.isFinite(t) ? t : 0), 0);
|
|
1703
1772
|
}
|
|
1704
|
-
function
|
|
1773
|
+
function hi(e) {
|
|
1705
1774
|
return (t) => {
|
|
1706
1775
|
let n = typeof t == "number" ? t : Number(t);
|
|
1707
1776
|
if (!Number.isFinite(n)) return String(t);
|
|
1708
|
-
let r =
|
|
1777
|
+
let r = di.format(n);
|
|
1709
1778
|
if (e <= 0) return r;
|
|
1710
1779
|
let i = n / e * 100;
|
|
1711
1780
|
return `${r} (${i > 0 && i < .5 ? "<1" : Math.round(i)}%)`;
|
|
@@ -1713,17 +1782,17 @@ function di(e) {
|
|
|
1713
1782
|
}
|
|
1714
1783
|
//#endregion
|
|
1715
1784
|
//#region src/dashboards/renderers/BarPresentation.tsx
|
|
1716
|
-
var
|
|
1717
|
-
function
|
|
1785
|
+
var gi = 160, _i = 72, vi = 7, yi = 20;
|
|
1786
|
+
function bi({ data: e, config: t, state: n, layout: r = "vertical", showShare: i = !0, valueFormatter: a }) {
|
|
1718
1787
|
let o = D(() => {
|
|
1719
1788
|
if (a) return a;
|
|
1720
|
-
if (i) return
|
|
1789
|
+
if (i) return hi(mi(e.map((e) => e.count)));
|
|
1721
1790
|
}, [
|
|
1722
1791
|
e,
|
|
1723
1792
|
i,
|
|
1724
1793
|
a
|
|
1725
1794
|
]), s = D(() => {
|
|
1726
|
-
if (!(r !== "horizontal" || e.length === 0)) return { left: Math.min(
|
|
1795
|
+
if (!(r !== "horizontal" || e.length === 0)) return { left: Math.min(gi, Math.max(_i, e.reduce((e, t) => Math.max(e, t.category.length), 0) * vi + yi)) };
|
|
1727
1796
|
}, [e, r]);
|
|
1728
1797
|
return /* @__PURE__ */ j(St, {
|
|
1729
1798
|
config: t,
|
|
@@ -1739,8 +1808,8 @@ function gi({ data: e, config: t, state: n, layout: r = "vertical", showShare: i
|
|
|
1739
1808
|
}
|
|
1740
1809
|
//#endregion
|
|
1741
1810
|
//#region src/dashboards/renderers/BarWidgetRenderer.tsx
|
|
1742
|
-
function
|
|
1743
|
-
let r =
|
|
1811
|
+
function xi({ widget: e, timeRange: t, filters: n }) {
|
|
1812
|
+
let r = ui(e.filters, n), i = Y(t), { data: a, isLoading: o, isError: s } = fn({
|
|
1744
1813
|
by: [...e.by],
|
|
1745
1814
|
metric: e.metric,
|
|
1746
1815
|
measure: e.measure,
|
|
@@ -1753,14 +1822,14 @@ function _i({ widget: e, timeRange: t, filters: n }) {
|
|
|
1753
1822
|
T(() => {
|
|
1754
1823
|
s && console.error(`[BarWidgetRenderer] Failed to fetch facets for widget "${e.title}"`);
|
|
1755
1824
|
}, [s, e.title]);
|
|
1756
|
-
let c =
|
|
1757
|
-
data:
|
|
1825
|
+
let c = pi(e), { data: l, config: u } = D(() => a ? {
|
|
1826
|
+
data: li(a),
|
|
1758
1827
|
config: { count: { label: c } }
|
|
1759
1828
|
} : {
|
|
1760
1829
|
data: [],
|
|
1761
1830
|
config: {}
|
|
1762
1831
|
}, [a, c]);
|
|
1763
|
-
return /* @__PURE__ */ j(
|
|
1832
|
+
return /* @__PURE__ */ j(bi, {
|
|
1764
1833
|
data: l,
|
|
1765
1834
|
config: u,
|
|
1766
1835
|
state: o ? "loading" : s ? "empty" : "ready",
|
|
@@ -1769,36 +1838,36 @@ function _i({ widget: e, timeRange: t, filters: n }) {
|
|
|
1769
1838
|
}
|
|
1770
1839
|
//#endregion
|
|
1771
1840
|
//#region src/dashboards/adapters/status-palette.ts
|
|
1772
|
-
var
|
|
1841
|
+
var Si = {
|
|
1773
1842
|
"1XX": "var(--chart-5)",
|
|
1774
1843
|
"2XX": "var(--success)",
|
|
1775
1844
|
"3XX": "var(--chart-4)",
|
|
1776
1845
|
"4XX": "var(--warning)",
|
|
1777
1846
|
"5XX": "var(--destructive)"
|
|
1778
|
-
},
|
|
1847
|
+
}, Ci = new Set([
|
|
1779
1848
|
"HTTP_STATUS_CODE_GROUP",
|
|
1780
1849
|
"http_status_code_group",
|
|
1781
1850
|
"status_code_group"
|
|
1782
1851
|
]);
|
|
1783
|
-
function
|
|
1852
|
+
function wi(e, t, n) {
|
|
1784
1853
|
if (n?.[e]) return n[e];
|
|
1785
|
-
if (t &&
|
|
1854
|
+
if (t && Ci.has(t)) return Si[e.toUpperCase()];
|
|
1786
1855
|
}
|
|
1787
1856
|
//#endregion
|
|
1788
1857
|
//#region src/dashboards/adapters/time-series-adapter.ts
|
|
1789
|
-
function
|
|
1858
|
+
function Ti(e) {
|
|
1790
1859
|
return e.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
1791
1860
|
}
|
|
1792
|
-
function
|
|
1861
|
+
function Ei(e, t) {
|
|
1793
1862
|
let n = [], r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
1794
1863
|
for (let t of e) i.set(t.metric, (i.get(t.metric) ?? 0) + 1);
|
|
1795
1864
|
return e.forEach((e, a) => {
|
|
1796
|
-
let o = t[a] ?? [], s = U(e.measure), c = `${
|
|
1865
|
+
let o = t[a] ?? [], s = U(e.measure), c = `${Ti(e.metric)}__${Ti(s)}__${Ti(e.representation)}`, l = e.by?.[0];
|
|
1797
1866
|
if (l) {
|
|
1798
1867
|
for (let t of o) {
|
|
1799
|
-
let i = `${c}__${
|
|
1868
|
+
let i = `${c}__${Ti(t.key)}`;
|
|
1800
1869
|
if (r.has(i)) continue;
|
|
1801
|
-
let a =
|
|
1870
|
+
let a = wi(t.key, l, e.colorByGroup);
|
|
1802
1871
|
n.push({
|
|
1803
1872
|
dataKey: i,
|
|
1804
1873
|
label: t.label,
|
|
@@ -1831,10 +1900,10 @@ function Si(e, t) {
|
|
|
1831
1900
|
seriesMap: r
|
|
1832
1901
|
};
|
|
1833
1902
|
}
|
|
1834
|
-
function
|
|
1903
|
+
function Di(e) {
|
|
1835
1904
|
let t = /* @__PURE__ */ new Map(), n = Infinity, r = -Infinity;
|
|
1836
1905
|
for (let t of e.values()) for (let e of t) for (let t of e.points) t.timestamp < n && (n = t.timestamp), t.timestamp > r && (r = t.timestamp);
|
|
1837
|
-
let i = r - n >
|
|
1906
|
+
let i = r - n > Oi ? ji : Ai;
|
|
1838
1907
|
for (let n of e.values()) for (let e of n) for (let n of e.points) {
|
|
1839
1908
|
let e = i(n.timestamp), r = t.get(e);
|
|
1840
1909
|
(r === void 0 || n.timestamp < r) && t.set(e, n.timestamp);
|
|
@@ -1850,7 +1919,7 @@ function Ci(e) {
|
|
|
1850
1919
|
}
|
|
1851
1920
|
return o;
|
|
1852
1921
|
}
|
|
1853
|
-
var
|
|
1922
|
+
var Oi = 1440 * 6e4, ki = [
|
|
1854
1923
|
"Jan",
|
|
1855
1924
|
"Feb",
|
|
1856
1925
|
"Mar",
|
|
@@ -1864,25 +1933,25 @@ var wi = 1440 * 6e4, Ti = [
|
|
|
1864
1933
|
"Nov",
|
|
1865
1934
|
"Dec"
|
|
1866
1935
|
];
|
|
1867
|
-
function
|
|
1936
|
+
function Ai(e) {
|
|
1868
1937
|
let t = new Date(e);
|
|
1869
1938
|
return `${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}`;
|
|
1870
1939
|
}
|
|
1871
|
-
function
|
|
1940
|
+
function ji(e) {
|
|
1872
1941
|
let t = new Date(e);
|
|
1873
|
-
return `${
|
|
1942
|
+
return `${ki[t.getMonth()]} ${String(t.getDate()).padStart(2, "0")} ${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}`;
|
|
1874
1943
|
}
|
|
1875
1944
|
//#endregion
|
|
1876
1945
|
//#region src/dashboards/compute-bucket-interval.ts
|
|
1877
|
-
var
|
|
1878
|
-
function
|
|
1879
|
-
if (t <= 0) return
|
|
1946
|
+
var Mi = 6e4, Ni = 48;
|
|
1947
|
+
function Pi(e, t) {
|
|
1948
|
+
if (t <= 0) return Mi;
|
|
1880
1949
|
let n = e.to - e.from, r = Math.floor(n / t);
|
|
1881
|
-
return Math.max(
|
|
1950
|
+
return Math.max(Mi, r);
|
|
1882
1951
|
}
|
|
1883
1952
|
//#endregion
|
|
1884
1953
|
//#region src/dashboards/renderers/CartesianPresentation.tsx
|
|
1885
|
-
function
|
|
1954
|
+
function Fi({ data: e, config: t, series: n, seriesByKey: r, state: i, showTotal: a, totalLabel: o }) {
|
|
1886
1955
|
let s = Object.keys(t), c = n.some((e) => e.representation === "bar") ? "band" : "point";
|
|
1887
1956
|
return /* @__PURE__ */ j(St, {
|
|
1888
1957
|
config: t,
|
|
@@ -1895,8 +1964,8 @@ function ji({ data: e, config: t, series: n, seriesByKey: r, state: i, showTotal
|
|
|
1895
1964
|
children: [
|
|
1896
1965
|
/* @__PURE__ */ j(Ot, {}),
|
|
1897
1966
|
s.map((e) => {
|
|
1898
|
-
let t = r?.[e] ??
|
|
1899
|
-
return t ?
|
|
1967
|
+
let t = r?.[e] ?? Ii(e, n);
|
|
1968
|
+
return t ? Li(e, t) : null;
|
|
1900
1969
|
}),
|
|
1901
1970
|
/* @__PURE__ */ j(Nt, {}),
|
|
1902
1971
|
/* @__PURE__ */ j(Pt, {}),
|
|
@@ -1909,10 +1978,10 @@ function ji({ data: e, config: t, series: n, seriesByKey: r, state: i, showTotal
|
|
|
1909
1978
|
})
|
|
1910
1979
|
});
|
|
1911
1980
|
}
|
|
1912
|
-
function
|
|
1981
|
+
function Ii(e, t) {
|
|
1913
1982
|
return t.find((t) => e === t.metric || e.startsWith(`${t.metric}_`));
|
|
1914
1983
|
}
|
|
1915
|
-
function
|
|
1984
|
+
function Li(e, t) {
|
|
1916
1985
|
switch (t.representation) {
|
|
1917
1986
|
case "line": return /* @__PURE__ */ j(kt, {
|
|
1918
1987
|
dataKey: e,
|
|
@@ -1933,8 +2002,8 @@ function Ni(e, t) {
|
|
|
1933
2002
|
}
|
|
1934
2003
|
//#endregion
|
|
1935
2004
|
//#region src/dashboards/renderers/CartesianWidgetRenderer.tsx
|
|
1936
|
-
function
|
|
1937
|
-
let r =
|
|
2005
|
+
function Ri({ widget: e, timeRange: t, filters: n }) {
|
|
2006
|
+
let r = ui(e.filters, n), i = m(), a = Y(t), o = D(() => Pi(a, 48), [a]), s = te({ queries: e.series.map((e) => {
|
|
1938
2007
|
let t = q(r, e.filters), n = [{
|
|
1939
2008
|
name: e.metric,
|
|
1940
2009
|
measures: [U(e.measure)],
|
|
@@ -1959,18 +2028,18 @@ function Pi({ widget: e, timeRange: t, filters: n }) {
|
|
|
1959
2028
|
l && console.error(`[CartesianWidgetRenderer] One or more series queries failed for widget "${e.title}"`);
|
|
1960
2029
|
}, [l, e.title]);
|
|
1961
2030
|
let u = s.map((e) => e.dataUpdatedAt).join(","), { data: d, config: f, seriesByKey: p } = D(() => {
|
|
1962
|
-
let { elements: t, seriesMap: n } =
|
|
2031
|
+
let { elements: t, seriesMap: n } = Ei(e.series, s.map((e) => e?.data)), r = {}, i = {};
|
|
1963
2032
|
for (let e of t) {
|
|
1964
2033
|
let t = { label: e.label };
|
|
1965
2034
|
e.color && (t.color = e.color), r[e.dataKey] = t, i[e.dataKey] = e.series;
|
|
1966
2035
|
}
|
|
1967
2036
|
return {
|
|
1968
|
-
data:
|
|
2037
|
+
data: Di(n),
|
|
1969
2038
|
config: r,
|
|
1970
2039
|
seriesByKey: i
|
|
1971
2040
|
};
|
|
1972
2041
|
}, [e.series, u]), h = c ? "loading" : l ? "empty" : "ready";
|
|
1973
|
-
return /* @__PURE__ */ j(
|
|
2042
|
+
return /* @__PURE__ */ j(Fi, {
|
|
1974
2043
|
data: d,
|
|
1975
2044
|
config: f,
|
|
1976
2045
|
series: [...e.series],
|
|
@@ -1982,10 +2051,10 @@ function Pi({ widget: e, timeRange: t, filters: n }) {
|
|
|
1982
2051
|
}
|
|
1983
2052
|
//#endregion
|
|
1984
2053
|
//#region src/dashboards/renderers/DoughnutPresentation.tsx
|
|
1985
|
-
function
|
|
2054
|
+
function zi({ data: e, config: t, state: n, showShare: r = !0, valueFormatter: i }) {
|
|
1986
2055
|
let a = D(() => {
|
|
1987
2056
|
if (i) return i;
|
|
1988
|
-
if (r) return
|
|
2057
|
+
if (r) return hi(mi(e.map((e) => e.value)));
|
|
1989
2058
|
}, [
|
|
1990
2059
|
e,
|
|
1991
2060
|
r,
|
|
@@ -2003,8 +2072,8 @@ function Fi({ data: e, config: t, state: n, showShare: r = !0, valueFormatter: i
|
|
|
2003
2072
|
}
|
|
2004
2073
|
//#endregion
|
|
2005
2074
|
//#region src/dashboards/renderers/DoughnutWidgetRenderer.tsx
|
|
2006
|
-
function
|
|
2007
|
-
let r =
|
|
2075
|
+
function Bi({ widget: e, timeRange: t, filters: n }) {
|
|
2076
|
+
let r = ui(e.filters, n), i = Y(t), { data: a, isLoading: o, isError: s } = fn({
|
|
2008
2077
|
by: [...e.by],
|
|
2009
2078
|
metric: e.metric,
|
|
2010
2079
|
measure: e.measure,
|
|
@@ -2022,14 +2091,14 @@ function Ii({ widget: e, timeRange: t, filters: n }) {
|
|
|
2022
2091
|
data: [],
|
|
2023
2092
|
config: {}
|
|
2024
2093
|
};
|
|
2025
|
-
let e =
|
|
2094
|
+
let e = ci(a), t = {};
|
|
2026
2095
|
for (let e of a) t[e.value] = { label: e.label || e.value };
|
|
2027
2096
|
return {
|
|
2028
2097
|
data: e,
|
|
2029
2098
|
config: t
|
|
2030
2099
|
};
|
|
2031
2100
|
}, [a]);
|
|
2032
|
-
return /* @__PURE__ */ j(
|
|
2101
|
+
return /* @__PURE__ */ j(zi, {
|
|
2033
2102
|
data: c,
|
|
2034
2103
|
config: l,
|
|
2035
2104
|
state: o ? "loading" : s ? "empty" : "ready"
|
|
@@ -2037,18 +2106,18 @@ function Ii({ widget: e, timeRange: t, filters: n }) {
|
|
|
2037
2106
|
}
|
|
2038
2107
|
//#endregion
|
|
2039
2108
|
//#region src/dashboards/adapters/measures-adapter.ts
|
|
2040
|
-
function
|
|
2109
|
+
function Vi(e, t) {
|
|
2041
2110
|
if (e.measures.length !== 0) return t ? e.measures.find((e) => e.name === t)?.value : e.measures[0].value;
|
|
2042
2111
|
}
|
|
2043
|
-
function
|
|
2044
|
-
let n =
|
|
2112
|
+
function Hi(e, t) {
|
|
2113
|
+
let n = Vi(e, t);
|
|
2045
2114
|
return {
|
|
2046
|
-
value: n === void 0 ? "—" :
|
|
2115
|
+
value: n === void 0 ? "—" : Ji(n, e.unit),
|
|
2047
2116
|
label: e.name,
|
|
2048
2117
|
unit: e.unit
|
|
2049
2118
|
};
|
|
2050
2119
|
}
|
|
2051
|
-
function
|
|
2120
|
+
function Ui(e, t) {
|
|
2052
2121
|
if (t === void 0) return;
|
|
2053
2122
|
if (t === 0) return {
|
|
2054
2123
|
value: 0,
|
|
@@ -2063,17 +2132,17 @@ function zi(e, t) {
|
|
|
2063
2132
|
direction: n > 0 ? "up" : "down"
|
|
2064
2133
|
};
|
|
2065
2134
|
}
|
|
2066
|
-
function
|
|
2135
|
+
function Wi(e, t) {
|
|
2067
2136
|
if (!e || e.length === 0) return;
|
|
2068
2137
|
let n = t ? e.find((e) => e.key === t) : e[0];
|
|
2069
2138
|
if (!(!n || n.points.length < 2)) return n.points.slice().sort((e, t) => e.timestamp - t.timestamp).map((e) => e.value);
|
|
2070
2139
|
}
|
|
2071
|
-
var
|
|
2140
|
+
var Gi = new Set([
|
|
2072
2141
|
"B",
|
|
2073
2142
|
"KB",
|
|
2074
2143
|
"MB",
|
|
2075
2144
|
"GB"
|
|
2076
|
-
]),
|
|
2145
|
+
]), Ki = {
|
|
2077
2146
|
PERCENT: { suffix: "%" },
|
|
2078
2147
|
MILLISECONDS: { suffix: "ms" },
|
|
2079
2148
|
SECONDS: { suffix: "s" },
|
|
@@ -2083,17 +2152,17 @@ var Vi = new Set([
|
|
|
2083
2152
|
GIGABYTES: { suffix: "GB" },
|
|
2084
2153
|
COUNT: { suffix: "" },
|
|
2085
2154
|
COUNT_PER_SECOND: { suffix: "/s" }
|
|
2086
|
-
},
|
|
2087
|
-
function
|
|
2088
|
-
let n = t ?
|
|
2089
|
-
if (t && !n && !
|
|
2155
|
+
}, qi = /* @__PURE__ */ new Set();
|
|
2156
|
+
function Ji(e, t) {
|
|
2157
|
+
let n = t ? Ki[t] : void 0;
|
|
2158
|
+
if (t && !n && !qi.has(t) && (qi.add(t), console.warn(`[formatMeasureValue] Unknown unit "${t}" — value will be displayed without unit`)), n?.suffix === "%") return `${(Math.round(e * 10) / 10).toLocaleString()}%`;
|
|
2090
2159
|
if (n?.suffix === "ms" && e >= 1e3) return `${(e / 1e3).toFixed(2)} s`;
|
|
2091
|
-
let r = n !== void 0 &&
|
|
2160
|
+
let r = n !== void 0 && Gi.has(n.suffix) ? e.toLocaleString() : e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}k` : e.toLocaleString(), i = n?.suffix;
|
|
2092
2161
|
return i ? `${r}${i === "" ? "" : ` ${i}`}` : r;
|
|
2093
2162
|
}
|
|
2094
2163
|
//#endregion
|
|
2095
2164
|
//#region src/dashboards/compute-previous-time-range.ts
|
|
2096
|
-
function
|
|
2165
|
+
function Yi(e) {
|
|
2097
2166
|
let t = e.to - e.from;
|
|
2098
2167
|
return {
|
|
2099
2168
|
type: "absolute",
|
|
@@ -2103,7 +2172,7 @@ function Gi(e) {
|
|
|
2103
2172
|
}
|
|
2104
2173
|
//#endregion
|
|
2105
2174
|
//#region src/dashboards/renderers/MetricGroupPresentation.tsx
|
|
2106
|
-
function
|
|
2175
|
+
function Xi({ items: e, state: t, skeletonCount: n }) {
|
|
2107
2176
|
return /* @__PURE__ */ j(jt, {
|
|
2108
2177
|
items: e,
|
|
2109
2178
|
state: t,
|
|
@@ -2112,14 +2181,14 @@ function Ki({ items: e, state: t, skeletonCount: n }) {
|
|
|
2112
2181
|
}
|
|
2113
2182
|
//#endregion
|
|
2114
2183
|
//#region src/dashboards/renderers/MetricGroupWidgetRenderer.tsx
|
|
2115
|
-
function
|
|
2184
|
+
function Zi(e) {
|
|
2116
2185
|
let t = e.filters?.length ? e.filters.map((e) => `${e.field}:${e.operator}:${e.value.join(",")}`).sort().join("|") : "";
|
|
2117
2186
|
return `${e.name}::${t}`;
|
|
2118
2187
|
}
|
|
2119
|
-
function
|
|
2188
|
+
function Qi(e) {
|
|
2120
2189
|
let t = /* @__PURE__ */ new Map();
|
|
2121
2190
|
for (let n of e) {
|
|
2122
|
-
let e =
|
|
2191
|
+
let e = Zi(n), r = t.get(e), i = n.measures ?? [];
|
|
2123
2192
|
if (r) for (let e of i) r.measures.add(e);
|
|
2124
2193
|
else t.set(e, {
|
|
2125
2194
|
name: n.name,
|
|
@@ -2133,15 +2202,15 @@ function Ji(e) {
|
|
|
2133
2202
|
...n?.length ? { filters: n } : {}
|
|
2134
2203
|
}));
|
|
2135
2204
|
}
|
|
2136
|
-
function
|
|
2205
|
+
function $i(e) {
|
|
2137
2206
|
return {
|
|
2138
2207
|
name: e.metric,
|
|
2139
2208
|
measures: [U(e.measure)],
|
|
2140
2209
|
...e.filters?.length ? { filters: [...e.filters] } : {}
|
|
2141
2210
|
};
|
|
2142
2211
|
}
|
|
2143
|
-
function
|
|
2144
|
-
let r =
|
|
2212
|
+
function ea({ widget: e, timeRange: t, filters: n }) {
|
|
2213
|
+
let r = ui(e.filters, n), i = e.items.some((e) => e.showTrend !== !1), a = Y(t), o = D(() => Qi(e.items.map($i)), [e.items]), s = D(() => Qi(e.items.filter((e) => e.showTrend !== !1).map($i)), [e.items]), c = D(() => Yi(a), [a]), { data: l, isLoading: u, isError: d } = vn({
|
|
2145
2214
|
metrics: o,
|
|
2146
2215
|
timeRange: a,
|
|
2147
2216
|
filters: r
|
|
@@ -2155,7 +2224,7 @@ function Xi({ widget: e, timeRange: t, filters: n }) {
|
|
|
2155
2224
|
d && console.error(`[MetricGroupWidgetRenderer] Failed to fetch measures for "${e.title}"`);
|
|
2156
2225
|
}, [d, e.title]), T(() => {
|
|
2157
2226
|
p && console.error(`[MetricGroupWidgetRenderer] Failed to fetch previous-period measures for "${e.title}"`);
|
|
2158
|
-
}, [p, e.title]), /* @__PURE__ */ j(
|
|
2227
|
+
}, [p, e.title]), /* @__PURE__ */ j(Xi, {
|
|
2159
2228
|
items: D(() => {
|
|
2160
2229
|
let t = new Map(l?.map((e) => [e.name, e]) ?? []), n = new Map(f?.map((e) => [e.name, e]) ?? []);
|
|
2161
2230
|
return e.items.map((e) => {
|
|
@@ -2164,11 +2233,11 @@ function Xi({ widget: e, timeRange: t, filters: n }) {
|
|
|
2164
2233
|
value: "—",
|
|
2165
2234
|
label: e.label ?? e.metric
|
|
2166
2235
|
};
|
|
2167
|
-
let i = U(e.measure), a =
|
|
2236
|
+
let i = U(e.measure), a = Hi(r, i), o = e.showTrend !== !1, s = Vi(r, i), c = n.get(e.metric), l = c ? Vi(c, i) : void 0;
|
|
2168
2237
|
return {
|
|
2169
2238
|
value: a.value,
|
|
2170
2239
|
label: e.label ?? r.name,
|
|
2171
|
-
trend: o && s !== void 0 ?
|
|
2240
|
+
trend: o && s !== void 0 ? Ui(s, l) : void 0,
|
|
2172
2241
|
trendSentiment: e.sentiment
|
|
2173
2242
|
};
|
|
2174
2243
|
});
|
|
@@ -2183,7 +2252,7 @@ function Xi({ widget: e, timeRange: t, filters: n }) {
|
|
|
2183
2252
|
}
|
|
2184
2253
|
//#endregion
|
|
2185
2254
|
//#region src/dashboards/renderers/MetricPresentation.tsx
|
|
2186
|
-
function
|
|
2255
|
+
function ta({ value: e, label: t, state: n, trend: r, trendSentiment: i, sparklineData: a }) {
|
|
2187
2256
|
return /* @__PURE__ */ j(At, {
|
|
2188
2257
|
value: e,
|
|
2189
2258
|
label: t,
|
|
@@ -2195,11 +2264,11 @@ function Zi({ value: e, label: t, state: n, trend: r, trendSentiment: i, sparkli
|
|
|
2195
2264
|
}
|
|
2196
2265
|
//#endregion
|
|
2197
2266
|
//#region src/dashboards/renderers/MetricWidgetRenderer.tsx
|
|
2198
|
-
function
|
|
2199
|
-
let r =
|
|
2267
|
+
function na({ widget: e, timeRange: t, filters: n }) {
|
|
2268
|
+
let r = ui(e.filters, n), i = e.showTrend === !0, a = e.showSparkline === !0, o = Y(t), s = U(e.measure), c = D(() => [{
|
|
2200
2269
|
name: e.metric,
|
|
2201
2270
|
measures: [s]
|
|
2202
|
-
}], [e.metric, s]), l = D(() =>
|
|
2271
|
+
}], [e.metric, s]), l = D(() => Yi(o), [o]), u = D(() => Pi(o, 48), [o]), { data: d, isLoading: f, isError: p } = vn({
|
|
2203
2272
|
metrics: c,
|
|
2204
2273
|
timeRange: o,
|
|
2205
2274
|
filters: r
|
|
@@ -2222,8 +2291,8 @@ function Qi({ widget: e, timeRange: t, filters: n }) {
|
|
|
2222
2291
|
}, [h, e.metric]), T(() => {
|
|
2223
2292
|
_ && console.error(`[MetricWidgetRenderer] Failed to fetch sparkline data for "${e.metric}"`);
|
|
2224
2293
|
}, [_, e.metric]);
|
|
2225
|
-
let v = d?.[0], y = m?.[0], b = v ?
|
|
2226
|
-
return /* @__PURE__ */ j(
|
|
2294
|
+
let v = d?.[0], y = m?.[0], b = v ? Hi(v, s) : void 0, x = v ? Vi(v, s) : void 0, S = y ? Vi(y, s) : void 0, C = i && x !== void 0 ? Ui(x, S) : void 0, w = a ? Wi(g, e.metric) : void 0, E = f ? "loading" : p || !f && !v ? "empty" : "ready";
|
|
2295
|
+
return /* @__PURE__ */ j(ta, {
|
|
2227
2296
|
value: b?.value ?? "—",
|
|
2228
2297
|
label: e.title,
|
|
2229
2298
|
state: E,
|
|
@@ -2234,25 +2303,25 @@ function Qi({ widget: e, timeRange: t, filters: n }) {
|
|
|
2234
2303
|
}
|
|
2235
2304
|
//#endregion
|
|
2236
2305
|
//#region src/dashboards/widget-renderer-registry.ts
|
|
2237
|
-
var
|
|
2238
|
-
function
|
|
2239
|
-
|
|
2306
|
+
var ra = /* @__PURE__ */ new Map();
|
|
2307
|
+
function ia(e, t) {
|
|
2308
|
+
ra.set(e, t);
|
|
2240
2309
|
}
|
|
2241
|
-
function
|
|
2242
|
-
return
|
|
2310
|
+
function aa(e) {
|
|
2311
|
+
return ra.get(e);
|
|
2243
2312
|
}
|
|
2244
|
-
function
|
|
2245
|
-
|
|
2313
|
+
function oa() {
|
|
2314
|
+
ra.clear();
|
|
2246
2315
|
}
|
|
2247
2316
|
//#endregion
|
|
2248
2317
|
//#region src/dashboards/register-default-renderers.ts
|
|
2249
|
-
var
|
|
2250
|
-
function
|
|
2251
|
-
|
|
2318
|
+
var sa = !1;
|
|
2319
|
+
function ca() {
|
|
2320
|
+
sa || (sa = !0, ia("cartesian", Ri), ia("doughnut", Bi), ia("bar", xi), ia("metric", na), ia("metric-group", ea));
|
|
2252
2321
|
}
|
|
2253
2322
|
//#endregion
|
|
2254
2323
|
//#region src/dashboards/renderers/UnknownWidgetFallback.tsx
|
|
2255
|
-
function
|
|
2324
|
+
function la({ widget: e }) {
|
|
2256
2325
|
return /* @__PURE__ */ M("div", {
|
|
2257
2326
|
role: "alert",
|
|
2258
2327
|
className: "flex h-full flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-destructive/30 bg-destructive/5 p-4 text-center",
|
|
@@ -2271,28 +2340,28 @@ function aa({ widget: e }) {
|
|
|
2271
2340
|
}
|
|
2272
2341
|
//#endregion
|
|
2273
2342
|
//#region src/dashboards/WidgetItem.tsx
|
|
2274
|
-
|
|
2275
|
-
function
|
|
2276
|
-
return e.data ?
|
|
2343
|
+
ca();
|
|
2344
|
+
function ua(e) {
|
|
2345
|
+
return e.data ? fa(e.widget, e.data) : /* @__PURE__ */ j(da, {
|
|
2277
2346
|
widget: e.widget,
|
|
2278
2347
|
timeRange: e.timeRange,
|
|
2279
2348
|
filters: e.filters
|
|
2280
2349
|
});
|
|
2281
2350
|
}
|
|
2282
|
-
function
|
|
2283
|
-
let r =
|
|
2351
|
+
function da({ widget: e, timeRange: t, filters: n }) {
|
|
2352
|
+
let r = ni(), i = t ?? r?.timeRange, a = n ?? r?.filters ?? $r;
|
|
2284
2353
|
if (!i) throw Error("[gamma-lib-observability] <WidgetItem> requires a timeRange. Provide it as a prop or wrap the component in a <WidgetGroup>.");
|
|
2285
|
-
let o =
|
|
2354
|
+
let o = aa(e.type);
|
|
2286
2355
|
return o ? b(o, {
|
|
2287
2356
|
widget: e,
|
|
2288
2357
|
timeRange: i,
|
|
2289
2358
|
filters: a
|
|
2290
|
-
}) : /* @__PURE__ */ j(
|
|
2359
|
+
}) : /* @__PURE__ */ j(la, { widget: e });
|
|
2291
2360
|
}
|
|
2292
|
-
function
|
|
2361
|
+
function fa(e, t) {
|
|
2293
2362
|
if (t.type !== e.type) throw Error(`[gamma-lib-observability] <WidgetItem> data.type "${t.type}" does not match widget.type "${e.type}". The data.type must match the widget definition type.`);
|
|
2294
2363
|
switch (t.type) {
|
|
2295
|
-
case "metric": return /* @__PURE__ */ j(
|
|
2364
|
+
case "metric": return /* @__PURE__ */ j(ta, {
|
|
2296
2365
|
value: t.value,
|
|
2297
2366
|
label: t.label,
|
|
2298
2367
|
state: t.state,
|
|
@@ -2300,12 +2369,12 @@ function ca(e, t) {
|
|
|
2300
2369
|
trendSentiment: t.trendSentiment,
|
|
2301
2370
|
sparklineData: t.sparklineData
|
|
2302
2371
|
});
|
|
2303
|
-
case "metric-group": return /* @__PURE__ */ j(
|
|
2372
|
+
case "metric-group": return /* @__PURE__ */ j(Xi, {
|
|
2304
2373
|
items: t.items,
|
|
2305
2374
|
state: t.state,
|
|
2306
2375
|
skeletonCount: t.skeletonCount
|
|
2307
2376
|
});
|
|
2308
|
-
case "cartesian": return /* @__PURE__ */ j(
|
|
2377
|
+
case "cartesian": return /* @__PURE__ */ j(Fi, {
|
|
2309
2378
|
data: t.data,
|
|
2310
2379
|
config: t.config,
|
|
2311
2380
|
series: t.series,
|
|
@@ -2313,32 +2382,32 @@ function ca(e, t) {
|
|
|
2313
2382
|
showTotal: t.showTotal,
|
|
2314
2383
|
totalLabel: t.totalLabel
|
|
2315
2384
|
});
|
|
2316
|
-
case "bar": return /* @__PURE__ */ j(
|
|
2385
|
+
case "bar": return /* @__PURE__ */ j(bi, {
|
|
2317
2386
|
data: t.data,
|
|
2318
2387
|
config: t.config,
|
|
2319
2388
|
state: t.state,
|
|
2320
2389
|
layout: t.layout,
|
|
2321
2390
|
showShare: t.showShare
|
|
2322
2391
|
});
|
|
2323
|
-
case "doughnut": return /* @__PURE__ */ j(
|
|
2392
|
+
case "doughnut": return /* @__PURE__ */ j(zi, {
|
|
2324
2393
|
data: t.data,
|
|
2325
2394
|
config: t.config,
|
|
2326
2395
|
state: t.state,
|
|
2327
2396
|
showShare: t.showShare
|
|
2328
2397
|
});
|
|
2329
|
-
default: return /* @__PURE__ */ j(
|
|
2398
|
+
default: return /* @__PURE__ */ j(la, { widget: e });
|
|
2330
2399
|
}
|
|
2331
2400
|
}
|
|
2332
2401
|
//#endregion
|
|
2333
2402
|
//#region src/dashboards/DashboardView.tsx
|
|
2334
|
-
var
|
|
2403
|
+
var pa = {
|
|
2335
2404
|
lg: 12,
|
|
2336
2405
|
md: 12,
|
|
2337
2406
|
sm: 12,
|
|
2338
2407
|
xs: 12,
|
|
2339
2408
|
xxs: 12
|
|
2340
2409
|
};
|
|
2341
|
-
function
|
|
2410
|
+
function ma({ dashboard: e, timeRange: t, filters: n = $r, editable: r = !1, rowHeight: i, breakpointCols: o = pa, onLayoutChange: s }) {
|
|
2342
2411
|
let c = a("observability.dashboards.write"), l = r && c, u = D(() => e.widgets.map((e) => ({
|
|
2343
2412
|
id: e.id,
|
|
2344
2413
|
x: e.layout.x,
|
|
@@ -2363,8 +2432,8 @@ function ua({ dashboard: e, timeRange: t, filters: n = Yr, editable: r = !1, row
|
|
|
2363
2432
|
return r ? /* @__PURE__ */ j(_t, {
|
|
2364
2433
|
title: r.title,
|
|
2365
2434
|
subtitle: r.description,
|
|
2366
|
-
noPadding:
|
|
2367
|
-
children: /* @__PURE__ */ j(
|
|
2435
|
+
noPadding: ha(r),
|
|
2436
|
+
children: /* @__PURE__ */ j(ua, {
|
|
2368
2437
|
widget: r,
|
|
2369
2438
|
timeRange: t,
|
|
2370
2439
|
filters: n
|
|
@@ -2374,32 +2443,32 @@ function ua({ dashboard: e, timeRange: t, filters: n = Yr, editable: r = !1, row
|
|
|
2374
2443
|
})
|
|
2375
2444
|
});
|
|
2376
2445
|
}
|
|
2377
|
-
function
|
|
2446
|
+
function ha(e) {
|
|
2378
2447
|
return e.type === "cartesian" || e.type === "doughnut" || e.type === "bar";
|
|
2379
2448
|
}
|
|
2380
2449
|
//#endregion
|
|
2381
2450
|
//#region src/dashboards/WidgetGroup.tsx
|
|
2382
|
-
var
|
|
2451
|
+
var ga = {
|
|
2383
2452
|
stretch: "items-stretch",
|
|
2384
2453
|
center: "items-center",
|
|
2385
2454
|
start: "items-start",
|
|
2386
2455
|
end: "items-end"
|
|
2387
2456
|
};
|
|
2388
|
-
function
|
|
2389
|
-
return /* @__PURE__ */ j(
|
|
2457
|
+
function _a({ timeRange: e, filters: t = $r, align: n = "stretch", children: r }) {
|
|
2458
|
+
return /* @__PURE__ */ j(ti, {
|
|
2390
2459
|
value: D(() => ({
|
|
2391
2460
|
timeRange: e,
|
|
2392
2461
|
filters: t
|
|
2393
2462
|
}), [e, t]),
|
|
2394
2463
|
children: /* @__PURE__ */ j("div", {
|
|
2395
|
-
className: `flex flex-wrap gap-4 ${
|
|
2464
|
+
className: `flex flex-wrap gap-4 ${ga[n]} *:min-w-48 *:flex-1`,
|
|
2396
2465
|
children: r
|
|
2397
2466
|
})
|
|
2398
2467
|
});
|
|
2399
2468
|
}
|
|
2400
2469
|
//#endregion
|
|
2401
2470
|
//#region src/dashboards/templates/dashboard-template.ts
|
|
2402
|
-
function
|
|
2471
|
+
function va(e) {
|
|
2403
2472
|
if (!e.id) throw Error("[gamma-lib-observability] DashboardTemplate must have a non-empty id.");
|
|
2404
2473
|
if (!e.label) throw Error(`[gamma-lib-observability] DashboardTemplate "${e.id}" must have a non-empty label.`);
|
|
2405
2474
|
if (!e.dashboard) throw Error(`[gamma-lib-observability] DashboardTemplate "${e.id}" must define a dashboard or a factory function.`);
|
|
@@ -2411,37 +2480,37 @@ function ma(e) {
|
|
|
2411
2480
|
dashboard: e.dashboard
|
|
2412
2481
|
};
|
|
2413
2482
|
}
|
|
2414
|
-
function
|
|
2483
|
+
function ya(e, t) {
|
|
2415
2484
|
return typeof e.dashboard == "function" ? e.dashboard(t) : e.dashboard;
|
|
2416
2485
|
}
|
|
2417
|
-
function
|
|
2486
|
+
function ba(e, t) {
|
|
2418
2487
|
return e.filter((e) => e.requiredCapabilities?.length ? e.requiredCapabilities.every((e) => t[e]) : !0);
|
|
2419
2488
|
}
|
|
2420
2489
|
//#endregion
|
|
2421
2490
|
//#region src/dashboards/templates/DashboardTemplatesProvider.tsx
|
|
2422
|
-
var
|
|
2423
|
-
function
|
|
2491
|
+
var xa = y(null);
|
|
2492
|
+
function Sa({ templates: e, children: t }) {
|
|
2424
2493
|
let n = D(() => e, [e]);
|
|
2425
|
-
return /* @__PURE__ */ j(
|
|
2494
|
+
return /* @__PURE__ */ j(xa.Provider, {
|
|
2426
2495
|
value: n,
|
|
2427
2496
|
children: t
|
|
2428
2497
|
});
|
|
2429
2498
|
}
|
|
2430
|
-
function
|
|
2431
|
-
let e = w(
|
|
2499
|
+
function Ca() {
|
|
2500
|
+
let e = w(xa), t = o();
|
|
2432
2501
|
if (!e) throw Error("[gamma-lib-observability] useDashboardTemplates must be used within a <DashboardTemplatesProvider>. Wrap your component tree with <DashboardTemplatesProvider templates={[...]}>.");
|
|
2433
|
-
return D(() =>
|
|
2502
|
+
return D(() => ba(e, t), [e, t]);
|
|
2434
2503
|
}
|
|
2435
|
-
function
|
|
2436
|
-
return
|
|
2504
|
+
function wa(e) {
|
|
2505
|
+
return Ca().find((t) => t.id === e);
|
|
2437
2506
|
}
|
|
2438
2507
|
//#endregion
|
|
2439
2508
|
//#region src/live/LiveIndicator.tsx
|
|
2440
|
-
function
|
|
2509
|
+
function Ta(e) {
|
|
2441
2510
|
return e < 6e4 ? `${Math.round(e / 1e3)}s` : `${Math.round(e / 6e4)}min`;
|
|
2442
2511
|
}
|
|
2443
|
-
function
|
|
2444
|
-
let n = $t(), [r, i] = k(!0), a = C(() => i((e) => !e), []), o = n?.isLive ?? r, s = n?.intervalMs ?? 6e4, c = n?.toggle ?? a, l = e ?? n?.isFetching ?? !1, u = o ? `Live — refreshing every ${
|
|
2512
|
+
function Ea({ isFetching: e, className: t }) {
|
|
2513
|
+
let n = $t(), [r, i] = k(!0), a = C(() => i((e) => !e), []), o = n?.isLive ?? r, s = n?.intervalMs ?? 6e4, c = n?.toggle ?? a, l = e ?? n?.isFetching ?? !1, u = o ? `Live — refreshing every ${Ta(s)}` : "Paused — click to resume";
|
|
2445
2514
|
return /* @__PURE__ */ M(L, { children: [/* @__PURE__ */ j(B, {
|
|
2446
2515
|
asChild: !0,
|
|
2447
2516
|
children: /* @__PURE__ */ M("button", {
|
|
@@ -2462,9 +2531,9 @@ function Sa({ isFetching: e, className: t }) {
|
|
|
2462
2531
|
}
|
|
2463
2532
|
//#endregion
|
|
2464
2533
|
//#region src/routing/use-observability-url-state.ts
|
|
2465
|
-
function
|
|
2466
|
-
let [e, t] = Ht(), n = D(() =>
|
|
2467
|
-
let r =
|
|
2534
|
+
function Da() {
|
|
2535
|
+
let [e, t] = Ht(), n = D(() => Rn(e.get("q"), e.get("v")), [e]), r = C((e, n) => {
|
|
2536
|
+
let r = Ln({
|
|
2468
2537
|
conditions: n,
|
|
2469
2538
|
timeRange: e
|
|
2470
2539
|
});
|
|
@@ -2474,7 +2543,7 @@ function Ca() {
|
|
|
2474
2543
|
}, { replace: !0 });
|
|
2475
2544
|
}, [t]), i = C((e) => r(e, n.conditions), [r, n.conditions]), a = C((e) => r(n.timeRange, e), [r, n.timeRange]);
|
|
2476
2545
|
return {
|
|
2477
|
-
timeRange: n.timeRange ??
|
|
2546
|
+
timeRange: n.timeRange ?? Nn,
|
|
2478
2547
|
filters: n.conditions,
|
|
2479
2548
|
setTimeRange: i,
|
|
2480
2549
|
setFilters: a
|
|
@@ -2482,7 +2551,7 @@ function Ca() {
|
|
|
2482
2551
|
}
|
|
2483
2552
|
//#endregion
|
|
2484
2553
|
//#region src/logs/LogSeverityBadge.tsx
|
|
2485
|
-
var
|
|
2554
|
+
var Oa = {
|
|
2486
2555
|
trace: "outline",
|
|
2487
2556
|
debug: "secondary",
|
|
2488
2557
|
info: "highlight",
|
|
@@ -2490,19 +2559,19 @@ var wa = {
|
|
|
2490
2559
|
error: "destructive",
|
|
2491
2560
|
fatal: "destructive"
|
|
2492
2561
|
};
|
|
2493
|
-
function
|
|
2494
|
-
return e in
|
|
2562
|
+
function ka(e) {
|
|
2563
|
+
return e in Oa;
|
|
2495
2564
|
}
|
|
2496
|
-
function
|
|
2565
|
+
function Aa({ level: e }) {
|
|
2497
2566
|
let t = e.toLowerCase();
|
|
2498
2567
|
return /* @__PURE__ */ j(P, {
|
|
2499
|
-
variant:
|
|
2568
|
+
variant: ka(t) ? Oa[t] : "secondary",
|
|
2500
2569
|
children: e.toUpperCase()
|
|
2501
2570
|
});
|
|
2502
2571
|
}
|
|
2503
2572
|
//#endregion
|
|
2504
2573
|
//#region src/logs/map-log-columns.tsx
|
|
2505
|
-
var
|
|
2574
|
+
var ja = {
|
|
2506
2575
|
GET: "success",
|
|
2507
2576
|
POST: "default",
|
|
2508
2577
|
PUT: "warning",
|
|
@@ -2511,7 +2580,7 @@ var Da = {
|
|
|
2511
2580
|
HEAD: "secondary",
|
|
2512
2581
|
OPTIONS: "secondary"
|
|
2513
2582
|
};
|
|
2514
|
-
function
|
|
2583
|
+
function Ma(e) {
|
|
2515
2584
|
let t = typeof e == "number" ? new Date(e) : new Date(String(e));
|
|
2516
2585
|
return Number.isNaN(t.getTime()) ? String(e) : new Intl.DateTimeFormat("en-US", {
|
|
2517
2586
|
year: "numeric",
|
|
@@ -2524,19 +2593,19 @@ function Oa(e) {
|
|
|
2524
2593
|
hour12: !1
|
|
2525
2594
|
}).format(t);
|
|
2526
2595
|
}
|
|
2527
|
-
function
|
|
2596
|
+
function Na(e) {
|
|
2528
2597
|
let t = typeof e == "number" ? e : Number(e);
|
|
2529
2598
|
return Number.isNaN(t) ? String(e) : t < 1e3 ? `${Math.round(t)}ms` : `${(t / 1e3).toFixed(2)}s`;
|
|
2530
2599
|
}
|
|
2531
|
-
var
|
|
2532
|
-
function
|
|
2600
|
+
var Pa = ["unknown"];
|
|
2601
|
+
function Fa(e, t) {
|
|
2533
2602
|
if (t.length === 0) return !1;
|
|
2534
2603
|
let n = String(e).trim().toLowerCase();
|
|
2535
2604
|
return t.some((e) => e.trim().toLowerCase() === n);
|
|
2536
2605
|
}
|
|
2537
|
-
function
|
|
2606
|
+
function Ia(e, t, n, r) {
|
|
2538
2607
|
let i = e.href?.(t);
|
|
2539
|
-
return !i ||
|
|
2608
|
+
return !i || Fa(r, e.linkSentinels ?? Pa) ? n : /* @__PURE__ */ j("a", {
|
|
2540
2609
|
href: i,
|
|
2541
2610
|
target: "_blank",
|
|
2542
2611
|
rel: "noopener noreferrer",
|
|
@@ -2545,7 +2614,7 @@ function Ma(e, t, n, r) {
|
|
|
2545
2614
|
children: n
|
|
2546
2615
|
});
|
|
2547
2616
|
}
|
|
2548
|
-
function
|
|
2617
|
+
function La(e, t) {
|
|
2549
2618
|
if (e.render) return e.render(t);
|
|
2550
2619
|
let n = e.value(t);
|
|
2551
2620
|
if (n == null) return /* @__PURE__ */ j("span", {
|
|
@@ -2554,17 +2623,17 @@ function Na(e, t) {
|
|
|
2554
2623
|
});
|
|
2555
2624
|
let r;
|
|
2556
2625
|
switch (e.variant) {
|
|
2557
|
-
case "badge": return /* @__PURE__ */ j(
|
|
2626
|
+
case "badge": return /* @__PURE__ */ j(Aa, { level: String(n) });
|
|
2558
2627
|
case "datetime":
|
|
2559
2628
|
r = /* @__PURE__ */ j("span", {
|
|
2560
2629
|
className: "font-mono text-xs",
|
|
2561
|
-
children:
|
|
2630
|
+
children: Ma(n)
|
|
2562
2631
|
});
|
|
2563
2632
|
break;
|
|
2564
2633
|
case "duration":
|
|
2565
2634
|
r = /* @__PURE__ */ j("span", {
|
|
2566
2635
|
className: "font-mono text-xs",
|
|
2567
|
-
children:
|
|
2636
|
+
children: Na(n)
|
|
2568
2637
|
});
|
|
2569
2638
|
break;
|
|
2570
2639
|
case "status-code": {
|
|
@@ -2578,7 +2647,7 @@ function Na(e, t) {
|
|
|
2578
2647
|
case "http-method": {
|
|
2579
2648
|
let e = String(n).toUpperCase();
|
|
2580
2649
|
r = /* @__PURE__ */ j(P, {
|
|
2581
|
-
variant:
|
|
2650
|
+
variant: ja[e] ?? "secondary",
|
|
2582
2651
|
children: e
|
|
2583
2652
|
});
|
|
2584
2653
|
break;
|
|
@@ -2588,26 +2657,26 @@ function Na(e, t) {
|
|
|
2588
2657
|
children: String(n)
|
|
2589
2658
|
});
|
|
2590
2659
|
}
|
|
2591
|
-
return
|
|
2660
|
+
return Ia(e, t, r, n);
|
|
2592
2661
|
}
|
|
2593
|
-
function
|
|
2662
|
+
function Ra(e) {
|
|
2594
2663
|
return e.map((e) => ({
|
|
2595
2664
|
id: e.key,
|
|
2596
2665
|
accessorFn: (t) => e.value(t),
|
|
2597
2666
|
header: e.label,
|
|
2598
|
-
cell: ({ row: t }) =>
|
|
2667
|
+
cell: ({ row: t }) => La(e, t.original),
|
|
2599
2668
|
enableSorting: !1,
|
|
2600
2669
|
enableHiding: !0
|
|
2601
2670
|
}));
|
|
2602
2671
|
}
|
|
2603
|
-
function
|
|
2672
|
+
function za(e) {
|
|
2604
2673
|
let t = {};
|
|
2605
2674
|
for (let n of e) n.defaultVisible === !1 && (t[n.key] = !1);
|
|
2606
2675
|
return t;
|
|
2607
2676
|
}
|
|
2608
2677
|
//#endregion
|
|
2609
2678
|
//#region src/logs/LogTable.tsx
|
|
2610
|
-
function
|
|
2679
|
+
function Ba(e, t) {
|
|
2611
2680
|
try {
|
|
2612
2681
|
let n = localStorage.getItem(e);
|
|
2613
2682
|
return n ? {
|
|
@@ -2618,23 +2687,23 @@ function Ia(e, t) {
|
|
|
2618
2687
|
return typeof console < "u" && console.warn("[LogTable] Failed to read column visibility:", e), t;
|
|
2619
2688
|
}
|
|
2620
2689
|
}
|
|
2621
|
-
function
|
|
2690
|
+
function Va(e, t) {
|
|
2622
2691
|
try {
|
|
2623
2692
|
localStorage.setItem(e, JSON.stringify(t));
|
|
2624
2693
|
} catch (e) {
|
|
2625
2694
|
typeof console < "u" && console.warn("[LogTable] Failed to persist column visibility:", e);
|
|
2626
2695
|
}
|
|
2627
2696
|
}
|
|
2628
|
-
function
|
|
2697
|
+
function Ha({ columns: e, data: t, loading: n, totalCount: r, page: i, pageSize: a, onPageChange: o, onPageSizeChange: s, pageSizeOptions: c = [
|
|
2629
2698
|
10,
|
|
2630
2699
|
25,
|
|
2631
2700
|
50,
|
|
2632
2701
|
100
|
|
2633
2702
|
], onRowClick: l, toolbar: u, getRowId: d, columnVisibilityStorageKey: f }) {
|
|
2634
|
-
let p = D(() =>
|
|
2703
|
+
let p = D(() => Ra(e), [e]), m = D(() => za(e), [e]), [h, g] = k(() => f ? Ba(f, m) : m), _ = C((e) => {
|
|
2635
2704
|
g((t) => {
|
|
2636
2705
|
let n = typeof e == "function" ? e(t) : e;
|
|
2637
|
-
return f &&
|
|
2706
|
+
return f && Va(f, n), n;
|
|
2638
2707
|
});
|
|
2639
2708
|
}, [f]), v = C((e) => {
|
|
2640
2709
|
if (!l) return;
|
|
@@ -2697,7 +2766,7 @@ function Ra({ columns: e, data: t, loading: n, totalCount: r, page: i, pageSize:
|
|
|
2697
2766
|
}
|
|
2698
2767
|
//#endregion
|
|
2699
2768
|
//#region src/logs/analytics-filter-mapping.ts
|
|
2700
|
-
function
|
|
2769
|
+
function Ua(e, t) {
|
|
2701
2770
|
if (!e?.length) return [];
|
|
2702
2771
|
if (!t) return e.slice();
|
|
2703
2772
|
let n = t.dropFields ? new Set(t.dropFields) : void 0, r = [];
|
|
@@ -2715,24 +2784,24 @@ function za(e, t) {
|
|
|
2715
2784
|
}
|
|
2716
2785
|
//#endregion
|
|
2717
2786
|
//#region src/hooks/use-logs-histogram-query.ts
|
|
2718
|
-
var
|
|
2787
|
+
var Wa = 40, Ga = "HTTP_REQUESTS", Ka = "COUNT", qa = {
|
|
2719
2788
|
from: 100,
|
|
2720
2789
|
to: 399
|
|
2721
|
-
},
|
|
2790
|
+
}, Ja = {
|
|
2722
2791
|
from: 400,
|
|
2723
2792
|
to: 499
|
|
2724
|
-
},
|
|
2793
|
+
}, Ya = {
|
|
2725
2794
|
from: 500,
|
|
2726
2795
|
to: 599
|
|
2727
2796
|
};
|
|
2728
|
-
function
|
|
2729
|
-
let { timeRange: t, filters: r, enabled: i = !0, analyticsFilterMapping: a } = e, o = n(), s =
|
|
2730
|
-
name:
|
|
2731
|
-
measures: [
|
|
2797
|
+
function Xa(e) {
|
|
2798
|
+
let { timeRange: t, filters: r, enabled: i = !0, analyticsFilterMapping: a } = e, o = n(), s = Ua(q(J(), r), a), c = Y(t), l = D(() => Pi(c, Wa), [c]), u = D(() => [{
|
|
2799
|
+
name: Ga,
|
|
2800
|
+
measures: [Ka]
|
|
2732
2801
|
}], []), d = D(() => ["HTTP_STATUS"], []), f = D(() => [
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2802
|
+
qa,
|
|
2803
|
+
Ja,
|
|
2804
|
+
Ya
|
|
2736
2805
|
], []), p = N({
|
|
2737
2806
|
queryKey: [...K.timeSeries(u, c, l, s, d), "histogram"],
|
|
2738
2807
|
queryFn: ({ signal: e }) => o.fetchTimeSeries({
|
|
@@ -2760,7 +2829,7 @@ function Ka(e) {
|
|
|
2760
2829
|
}
|
|
2761
2830
|
//#endregion
|
|
2762
2831
|
//#region src/logs/LogsHistogram.tsx
|
|
2763
|
-
var
|
|
2832
|
+
var Za = {
|
|
2764
2833
|
"100-399": {
|
|
2765
2834
|
label: "1xx–3xx",
|
|
2766
2835
|
color: "var(--success)"
|
|
@@ -2773,9 +2842,9 @@ var qa = {
|
|
|
2773
2842
|
label: "5xx",
|
|
2774
2843
|
color: "var(--destructive)"
|
|
2775
2844
|
}
|
|
2776
|
-
},
|
|
2777
|
-
function
|
|
2778
|
-
let { data: t, isLoading: n, available: r } =
|
|
2845
|
+
}, Qa = "100-399", $a = "400-499", eo = "500-599";
|
|
2846
|
+
function to(e) {
|
|
2847
|
+
let { data: t, isLoading: n, available: r } = Xa(e), i = D(() => no(t), [t]);
|
|
2779
2848
|
if (!r) return null;
|
|
2780
2849
|
let a = !n && i.length === 0;
|
|
2781
2850
|
return /* @__PURE__ */ M("div", {
|
|
@@ -2785,7 +2854,7 @@ function Za(e) {
|
|
|
2785
2854
|
className: "mb-1 text-xs text-muted-foreground",
|
|
2786
2855
|
children: "Requests over time"
|
|
2787
2856
|
}), /* @__PURE__ */ j(St, {
|
|
2788
|
-
config:
|
|
2857
|
+
config: Za,
|
|
2789
2858
|
className: "h-[120px] w-full",
|
|
2790
2859
|
children: /* @__PURE__ */ M(xt, {
|
|
2791
2860
|
data: i,
|
|
@@ -2795,15 +2864,15 @@ function Za(e) {
|
|
|
2795
2864
|
children: [
|
|
2796
2865
|
/* @__PURE__ */ j(Ot, { orientation: "horizontal" }),
|
|
2797
2866
|
/* @__PURE__ */ j(bt, {
|
|
2798
|
-
dataKey:
|
|
2867
|
+
dataKey: Qa,
|
|
2799
2868
|
stackId: "volume"
|
|
2800
2869
|
}),
|
|
2801
2870
|
/* @__PURE__ */ j(bt, {
|
|
2802
|
-
dataKey:
|
|
2871
|
+
dataKey: $a,
|
|
2803
2872
|
stackId: "volume"
|
|
2804
2873
|
}),
|
|
2805
2874
|
/* @__PURE__ */ j(bt, {
|
|
2806
|
-
dataKey:
|
|
2875
|
+
dataKey: eo,
|
|
2807
2876
|
stackId: "volume"
|
|
2808
2877
|
}),
|
|
2809
2878
|
/* @__PURE__ */ j(Nt, {}),
|
|
@@ -2814,19 +2883,19 @@ function Za(e) {
|
|
|
2814
2883
|
})]
|
|
2815
2884
|
});
|
|
2816
2885
|
}
|
|
2817
|
-
function
|
|
2886
|
+
function no(e) {
|
|
2818
2887
|
let t = /* @__PURE__ */ new Map();
|
|
2819
2888
|
for (let n of e) t.set(n.key, [n]);
|
|
2820
|
-
return
|
|
2889
|
+
return Di(t);
|
|
2821
2890
|
}
|
|
2822
2891
|
//#endregion
|
|
2823
2892
|
//#region src/logs/LogsExplorerPage.tsx
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
let { timeRange: c, filters: l, setTimeRange: u, setFilters: d } =
|
|
2893
|
+
var ro = 300, io = "observability-logs-columns";
|
|
2894
|
+
function ao({ columns: e, onRowClick: t, pageSize: n = 25, getRowId: r, scopeFilterField: i, columnVisibilityStorageKey: a = io, analyticsFilterMapping: o, onPageDataChange: s }) {
|
|
2895
|
+
let { timeRange: c, filters: l, setTimeRange: u, setFilters: d } = Da(), f = yn(l, nn()), [p, m] = k(""), h = _n({
|
|
2827
2896
|
timeRange: c,
|
|
2828
2897
|
filters: l,
|
|
2829
|
-
search:
|
|
2898
|
+
search: ur(p, ro) || void 0,
|
|
2830
2899
|
pageSize: n
|
|
2831
2900
|
}), g = O(s);
|
|
2832
2901
|
T(() => {
|
|
@@ -2857,20 +2926,20 @@ function to({ columns: e, onRowClick: t, pageSize: n = 25, getRowId: r, scopeFil
|
|
|
2857
2926
|
children: [
|
|
2858
2927
|
/* @__PURE__ */ j("div", {
|
|
2859
2928
|
className: "flex flex-1 items-center gap-2",
|
|
2860
|
-
children: /* @__PURE__ */ j(
|
|
2929
|
+
children: /* @__PURE__ */ j(Qr, {
|
|
2861
2930
|
filters: f,
|
|
2862
2931
|
onFiltersChange: d,
|
|
2863
2932
|
scopeFilterField: i
|
|
2864
2933
|
})
|
|
2865
2934
|
}),
|
|
2866
|
-
/* @__PURE__ */ j(z, { children: /* @__PURE__ */ j(
|
|
2867
|
-
/* @__PURE__ */ j(
|
|
2935
|
+
/* @__PURE__ */ j(z, { children: /* @__PURE__ */ j(Ea, { isFetching: h.isFetching }) }),
|
|
2936
|
+
/* @__PURE__ */ j(qn, {
|
|
2868
2937
|
value: c,
|
|
2869
2938
|
onChange: u
|
|
2870
2939
|
})
|
|
2871
2940
|
]
|
|
2872
2941
|
}),
|
|
2873
|
-
/* @__PURE__ */ j(
|
|
2942
|
+
/* @__PURE__ */ j(to, {
|
|
2874
2943
|
timeRange: c,
|
|
2875
2944
|
filters: l,
|
|
2876
2945
|
analyticsFilterMapping: o
|
|
@@ -2891,7 +2960,7 @@ function to({ columns: e, onRowClick: t, pageSize: n = 25, getRowId: r, scopeFil
|
|
|
2891
2960
|
})
|
|
2892
2961
|
]
|
|
2893
2962
|
}),
|
|
2894
|
-
/* @__PURE__ */ j(
|
|
2963
|
+
/* @__PURE__ */ j(Ha, {
|
|
2895
2964
|
columns: e,
|
|
2896
2965
|
data: h.data,
|
|
2897
2966
|
loading: h.isLoading,
|
|
@@ -2910,8 +2979,8 @@ function to({ columns: e, onRowClick: t, pageSize: n = 25, getRowId: r, scopeFil
|
|
|
2910
2979
|
}
|
|
2911
2980
|
//#endregion
|
|
2912
2981
|
//#region src/logs/build-logs-deep-link.ts
|
|
2913
|
-
function
|
|
2914
|
-
let r =
|
|
2982
|
+
function oo({ basePath: e, timeRange: t, filters: n = [] }) {
|
|
2983
|
+
let r = Ln({
|
|
2915
2984
|
conditions: n,
|
|
2916
2985
|
timeRange: t
|
|
2917
2986
|
}), i = `${e.replace(/\/+$/, "")}/logs`;
|
|
@@ -2921,7 +2990,7 @@ function no({ basePath: e, timeRange: t, filters: n = [] }) {
|
|
|
2921
2990
|
}
|
|
2922
2991
|
//#endregion
|
|
2923
2992
|
//#region src/logs/default-connection-log-columns.tsx
|
|
2924
|
-
var
|
|
2993
|
+
var so = {
|
|
2925
2994
|
HTTP_PROXY: {
|
|
2926
2995
|
icon: ct,
|
|
2927
2996
|
label: "HTTP"
|
|
@@ -2943,8 +3012,8 @@ var ro = {
|
|
|
2943
3012
|
label: "Webhook"
|
|
2944
3013
|
}
|
|
2945
3014
|
};
|
|
2946
|
-
function
|
|
2947
|
-
let t =
|
|
3015
|
+
function co(e) {
|
|
3016
|
+
let t = so[e.apiType];
|
|
2948
3017
|
if (t) {
|
|
2949
3018
|
let e = t.icon;
|
|
2950
3019
|
return /* @__PURE__ */ M("span", {
|
|
@@ -2957,11 +3026,11 @@ function io(e) {
|
|
|
2957
3026
|
children: [/* @__PURE__ */ j(nt, { className: "size-3.5" }), e.apiType]
|
|
2958
3027
|
});
|
|
2959
3028
|
}
|
|
2960
|
-
var
|
|
2961
|
-
function
|
|
2962
|
-
if (t.apiId) return `${e}/${n?.byApiType?.[t.apiType] ?? n?.defaultSegment ??
|
|
3029
|
+
var lo = "apis";
|
|
3030
|
+
function uo(e, t, n) {
|
|
3031
|
+
if (t.apiId) return `${e}/${n?.byApiType?.[t.apiType] ?? n?.defaultSegment ?? lo}/${t.apiId}`;
|
|
2963
3032
|
}
|
|
2964
|
-
function
|
|
3033
|
+
function fo(e, t) {
|
|
2965
3034
|
let n = e.replace(/\/$/, ""), r = t?.apiLink, i = [
|
|
2966
3035
|
{
|
|
2967
3036
|
key: "timestamp",
|
|
@@ -2988,7 +3057,7 @@ function so(e, t) {
|
|
|
2988
3057
|
key: "apiName",
|
|
2989
3058
|
label: "API",
|
|
2990
3059
|
value: (e) => e.apiName,
|
|
2991
|
-
href: (e) =>
|
|
3060
|
+
href: (e) => uo(n, e, r),
|
|
2992
3061
|
defaultVisible: !0
|
|
2993
3062
|
},
|
|
2994
3063
|
{
|
|
@@ -3022,7 +3091,7 @@ function so(e, t) {
|
|
|
3022
3091
|
key: "apiType",
|
|
3023
3092
|
label: "API Type",
|
|
3024
3093
|
value: (e) => e.apiType,
|
|
3025
|
-
render:
|
|
3094
|
+
render: co,
|
|
3026
3095
|
defaultVisible: !1
|
|
3027
3096
|
},
|
|
3028
3097
|
{
|
|
@@ -3096,14 +3165,14 @@ function so(e, t) {
|
|
|
3096
3165
|
}
|
|
3097
3166
|
//#endregion
|
|
3098
3167
|
//#region src/logs/detail/components/LogDetailCodeBlock.tsx
|
|
3099
|
-
var
|
|
3100
|
-
function X({ code: e, language: t = "json", maxHeight: n =
|
|
3168
|
+
var po = 240;
|
|
3169
|
+
function X({ code: e, language: t = "json", maxHeight: n = po }) {
|
|
3101
3170
|
let [r, i] = k(!1);
|
|
3102
3171
|
if (!e) return /* @__PURE__ */ j("p", {
|
|
3103
3172
|
className: "text-xs text-muted-foreground/70 py-3 italic",
|
|
3104
3173
|
children: "No body captured"
|
|
3105
3174
|
});
|
|
3106
|
-
let a =
|
|
3175
|
+
let a = mo(e), o = a.split("\n").length > 12;
|
|
3107
3176
|
return /* @__PURE__ */ M("div", {
|
|
3108
3177
|
className: "relative rounded-lg border",
|
|
3109
3178
|
children: [
|
|
@@ -3136,7 +3205,7 @@ function X({ code: e, language: t = "json", maxHeight: n = co }) {
|
|
|
3136
3205
|
]
|
|
3137
3206
|
});
|
|
3138
3207
|
}
|
|
3139
|
-
function
|
|
3208
|
+
function mo(e) {
|
|
3140
3209
|
try {
|
|
3141
3210
|
let t = JSON.parse(e);
|
|
3142
3211
|
return JSON.stringify(t, null, 2);
|
|
@@ -3177,7 +3246,7 @@ function Q({ headers: e }) {
|
|
|
3177
3246
|
}
|
|
3178
3247
|
//#endregion
|
|
3179
3248
|
//#region src/logs/detail/components/LogDetailJsonTree.tsx
|
|
3180
|
-
function
|
|
3249
|
+
function ho({ data: e, onCopyAll: t }) {
|
|
3181
3250
|
let n = O(null), r = () => {
|
|
3182
3251
|
let n = JSON.stringify(e, null, 2);
|
|
3183
3252
|
navigator.clipboard.writeText(n).then(() => {
|
|
@@ -3218,7 +3287,7 @@ function uo({ data: e, onCopyAll: t }) {
|
|
|
3218
3287
|
"aria-label": "Log attributes",
|
|
3219
3288
|
className: "rounded-md border p-3 text-xs font-mono",
|
|
3220
3289
|
onKeyDown: i,
|
|
3221
|
-
children: /* @__PURE__ */ j(
|
|
3290
|
+
children: /* @__PURE__ */ j(go, {
|
|
3222
3291
|
value: e,
|
|
3223
3292
|
depth: 0,
|
|
3224
3293
|
isRoot: !0
|
|
@@ -3226,9 +3295,9 @@ function uo({ data: e, onCopyAll: t }) {
|
|
|
3226
3295
|
})]
|
|
3227
3296
|
});
|
|
3228
3297
|
}
|
|
3229
|
-
function
|
|
3298
|
+
function go({ name: e, value: t, depth: n, isRoot: r, isLast: i }) {
|
|
3230
3299
|
let [a, o] = k(n < 2);
|
|
3231
|
-
if (t === null) return /* @__PURE__ */ j(
|
|
3300
|
+
if (t === null) return /* @__PURE__ */ j(_o, {
|
|
3232
3301
|
name: e,
|
|
3233
3302
|
value: "null",
|
|
3234
3303
|
className: "text-muted-foreground",
|
|
@@ -3301,7 +3370,7 @@ function fo({ name: e, value: t, depth: n, isRoot: r, isLast: i }) {
|
|
|
3301
3370
|
a && /* @__PURE__ */ j("div", {
|
|
3302
3371
|
className: "ml-4 border-l border-muted pl-2",
|
|
3303
3372
|
role: "group",
|
|
3304
|
-
children: c.map(([e, t], r) => /* @__PURE__ */ j(
|
|
3373
|
+
children: c.map(([e, t], r) => /* @__PURE__ */ j(go, {
|
|
3305
3374
|
name: s ? void 0 : e,
|
|
3306
3375
|
value: t,
|
|
3307
3376
|
depth: n + 1,
|
|
@@ -3315,29 +3384,29 @@ function fo({ name: e, value: t, depth: n, isRoot: r, isLast: i }) {
|
|
|
3315
3384
|
]
|
|
3316
3385
|
});
|
|
3317
3386
|
}
|
|
3318
|
-
return typeof t == "string" ? /* @__PURE__ */ j(
|
|
3387
|
+
return typeof t == "string" ? /* @__PURE__ */ j(_o, {
|
|
3319
3388
|
name: e,
|
|
3320
3389
|
value: `"${t}"`,
|
|
3321
3390
|
className: "text-green-600 dark:text-green-400",
|
|
3322
3391
|
isLast: i
|
|
3323
|
-
}) : typeof t == "number" ? /* @__PURE__ */ j(
|
|
3392
|
+
}) : typeof t == "number" ? /* @__PURE__ */ j(_o, {
|
|
3324
3393
|
name: e,
|
|
3325
3394
|
value: String(t),
|
|
3326
3395
|
className: "text-blue-600 dark:text-blue-400",
|
|
3327
3396
|
isLast: i
|
|
3328
|
-
}) : typeof t == "boolean" ? /* @__PURE__ */ j(
|
|
3397
|
+
}) : typeof t == "boolean" ? /* @__PURE__ */ j(_o, {
|
|
3329
3398
|
name: e,
|
|
3330
3399
|
value: String(t),
|
|
3331
3400
|
className: "text-amber-600 dark:text-amber-400",
|
|
3332
3401
|
isLast: i
|
|
3333
|
-
}) : /* @__PURE__ */ j(
|
|
3402
|
+
}) : /* @__PURE__ */ j(_o, {
|
|
3334
3403
|
name: e,
|
|
3335
3404
|
value: String(t),
|
|
3336
3405
|
className: "text-foreground",
|
|
3337
3406
|
isLast: i
|
|
3338
3407
|
});
|
|
3339
3408
|
}
|
|
3340
|
-
function
|
|
3409
|
+
function _o({ name: e, value: t, className: n, isLast: r }) {
|
|
3341
3410
|
return /* @__PURE__ */ M("div", {
|
|
3342
3411
|
className: "flex items-center py-px",
|
|
3343
3412
|
role: "treeitem",
|
|
@@ -3369,13 +3438,13 @@ function $({ items: e, onFilter: t }) {
|
|
|
3369
3438
|
let n = e.filter((e) => e.value !== void 0 && e.value !== null && e.value !== "");
|
|
3370
3439
|
return n.length === 0 ? null : /* @__PURE__ */ j("dl", {
|
|
3371
3440
|
className: "space-y-0 divide-y divide-border/50",
|
|
3372
|
-
children: n.map((e) => /* @__PURE__ */ j(
|
|
3441
|
+
children: n.map((e) => /* @__PURE__ */ j(vo, {
|
|
3373
3442
|
item: e,
|
|
3374
3443
|
onFilter: t
|
|
3375
3444
|
}, e.label))
|
|
3376
3445
|
});
|
|
3377
3446
|
}
|
|
3378
|
-
function
|
|
3447
|
+
function vo({ item: e, onFilter: t }) {
|
|
3379
3448
|
let n = String(e.value);
|
|
3380
3449
|
return /* @__PURE__ */ M("div", {
|
|
3381
3450
|
className: "group flex items-baseline gap-4 py-2.5",
|
|
@@ -3424,7 +3493,7 @@ function mo({ item: e, onFilter: t }) {
|
|
|
3424
3493
|
}
|
|
3425
3494
|
//#endregion
|
|
3426
3495
|
//#region src/logs/detail/presets/connection-log-preset.tsx
|
|
3427
|
-
function
|
|
3496
|
+
function yo(e) {
|
|
3428
3497
|
return {
|
|
3429
3498
|
type: "preset",
|
|
3430
3499
|
resolve: (t) => {
|
|
@@ -3458,7 +3527,7 @@ function ho(e) {
|
|
|
3458
3527
|
key: "overview",
|
|
3459
3528
|
title: "Overview",
|
|
3460
3529
|
defaultOpen: !0,
|
|
3461
|
-
render: (t, r) => /* @__PURE__ */ j(
|
|
3530
|
+
render: (t, r) => /* @__PURE__ */ j(bo, {
|
|
3462
3531
|
log: n,
|
|
3463
3532
|
basePath: e?.basePath,
|
|
3464
3533
|
extraFields: e?.extraFields,
|
|
@@ -3468,23 +3537,23 @@ function ho(e) {
|
|
|
3468
3537
|
key: "request",
|
|
3469
3538
|
title: "Request",
|
|
3470
3539
|
defaultOpen: !1,
|
|
3471
|
-
render: () => /* @__PURE__ */ j(
|
|
3540
|
+
render: () => /* @__PURE__ */ j(xo, { log: n })
|
|
3472
3541
|
}), i.has("response") || a.push({
|
|
3473
3542
|
key: "response",
|
|
3474
3543
|
title: "Response",
|
|
3475
3544
|
defaultOpen: !1,
|
|
3476
|
-
render: () => /* @__PURE__ */ j(
|
|
3545
|
+
render: () => /* @__PURE__ */ j(So, { log: n })
|
|
3477
3546
|
}), !i.has("errors") && (n.errorKey || n.warnings && n.warnings.length > 0) && a.push({
|
|
3478
3547
|
key: "errors",
|
|
3479
3548
|
title: "Issues",
|
|
3480
3549
|
defaultOpen: !0,
|
|
3481
3550
|
badge: () => (n.warnings?.length ?? 0) + +!!n.errorKey,
|
|
3482
|
-
render: () => /* @__PURE__ */ j(
|
|
3551
|
+
render: () => /* @__PURE__ */ j(Co, { log: n })
|
|
3483
3552
|
}), i.has("raw") || a.push({
|
|
3484
3553
|
key: "raw",
|
|
3485
3554
|
title: "Raw JSON",
|
|
3486
3555
|
defaultOpen: !1,
|
|
3487
|
-
render: () => /* @__PURE__ */ j(
|
|
3556
|
+
render: () => /* @__PURE__ */ j(ho, { data: n })
|
|
3488
3557
|
}), {
|
|
3489
3558
|
header: {
|
|
3490
3559
|
method: () => n.method,
|
|
@@ -3498,7 +3567,7 @@ function ho(e) {
|
|
|
3498
3567
|
}
|
|
3499
3568
|
};
|
|
3500
3569
|
}
|
|
3501
|
-
function
|
|
3570
|
+
function bo({ log: e, basePath: t, extraFields: n, onFilter: r }) {
|
|
3502
3571
|
let i = t?.replace(/\/$/, "") ?? "";
|
|
3503
3572
|
return /* @__PURE__ */ j($, {
|
|
3504
3573
|
items: [
|
|
@@ -3571,7 +3640,7 @@ function go({ log: e, basePath: t, extraFields: n, onFilter: r }) {
|
|
|
3571
3640
|
onFilter: r
|
|
3572
3641
|
});
|
|
3573
3642
|
}
|
|
3574
|
-
function
|
|
3643
|
+
function xo({ log: e }) {
|
|
3575
3644
|
let t = e.entrypointRequest, n = e.endpointRequest;
|
|
3576
3645
|
return !t && !n ? /* @__PURE__ */ j(Z, { message: "No request details captured" }) : /* @__PURE__ */ M("div", {
|
|
3577
3646
|
className: "space-y-4",
|
|
@@ -3612,7 +3681,7 @@ function _o({ log: e }) {
|
|
|
3612
3681
|
})]
|
|
3613
3682
|
});
|
|
3614
3683
|
}
|
|
3615
|
-
function
|
|
3684
|
+
function So({ log: e }) {
|
|
3616
3685
|
let t = e.endpointResponse, n = e.entrypointResponse;
|
|
3617
3686
|
return !t && !n ? /* @__PURE__ */ j(Z, { message: "No response details captured" }) : /* @__PURE__ */ M("div", {
|
|
3618
3687
|
className: "space-y-4",
|
|
@@ -3647,7 +3716,7 @@ function vo({ log: e }) {
|
|
|
3647
3716
|
})]
|
|
3648
3717
|
});
|
|
3649
3718
|
}
|
|
3650
|
-
function
|
|
3719
|
+
function Co({ log: e }) {
|
|
3651
3720
|
return /* @__PURE__ */ M("div", {
|
|
3652
3721
|
className: "space-y-3",
|
|
3653
3722
|
children: [e.errorKey && /* @__PURE__ */ M("div", {
|
|
@@ -3697,9 +3766,9 @@ function yo({ log: e }) {
|
|
|
3697
3766
|
}
|
|
3698
3767
|
//#endregion
|
|
3699
3768
|
//#region src/logs/detail/presets/message-log-preset.tsx
|
|
3700
|
-
var
|
|
3701
|
-
function
|
|
3702
|
-
let t = e?.messagesPageSize ??
|
|
3769
|
+
var wo = 5;
|
|
3770
|
+
function To(e) {
|
|
3771
|
+
let t = e?.messagesPageSize ?? wo;
|
|
3703
3772
|
return {
|
|
3704
3773
|
type: "preset",
|
|
3705
3774
|
resolve: (e) => {
|
|
@@ -3707,7 +3776,7 @@ function xo(e) {
|
|
|
3707
3776
|
key: "overview",
|
|
3708
3777
|
title: "Overview",
|
|
3709
3778
|
defaultOpen: !0,
|
|
3710
|
-
render: (e, t) => /* @__PURE__ */ j(
|
|
3779
|
+
render: (e, t) => /* @__PURE__ */ j(Eo, {
|
|
3711
3780
|
log: n,
|
|
3712
3781
|
onFilter: t
|
|
3713
3782
|
})
|
|
@@ -3715,14 +3784,14 @@ function xo(e) {
|
|
|
3715
3784
|
key: "connection",
|
|
3716
3785
|
title: "Connection Logs",
|
|
3717
3786
|
defaultOpen: !1,
|
|
3718
|
-
render: () => /* @__PURE__ */ j(
|
|
3787
|
+
render: () => /* @__PURE__ */ j(Do, { log: n })
|
|
3719
3788
|
}];
|
|
3720
3789
|
return n.messages && n.messages.length > 0 && r.push({
|
|
3721
3790
|
key: "messages",
|
|
3722
3791
|
title: "Messages",
|
|
3723
3792
|
defaultOpen: !0,
|
|
3724
3793
|
badge: () => n.messages?.length,
|
|
3725
|
-
render: () => /* @__PURE__ */ j(
|
|
3794
|
+
render: () => /* @__PURE__ */ j(Oo, {
|
|
3726
3795
|
messages: n.messages,
|
|
3727
3796
|
pageSize: t
|
|
3728
3797
|
})
|
|
@@ -3730,7 +3799,7 @@ function xo(e) {
|
|
|
3730
3799
|
key: "raw",
|
|
3731
3800
|
title: "Raw JSON",
|
|
3732
3801
|
defaultOpen: !1,
|
|
3733
|
-
render: () => /* @__PURE__ */ j(
|
|
3802
|
+
render: () => /* @__PURE__ */ j(ho, { data: n })
|
|
3734
3803
|
}), {
|
|
3735
3804
|
header: {
|
|
3736
3805
|
method: () => void 0,
|
|
@@ -3744,7 +3813,7 @@ function xo(e) {
|
|
|
3744
3813
|
}
|
|
3745
3814
|
};
|
|
3746
3815
|
}
|
|
3747
|
-
function
|
|
3816
|
+
function Eo({ log: e, onFilter: t }) {
|
|
3748
3817
|
return /* @__PURE__ */ j($, {
|
|
3749
3818
|
items: [
|
|
3750
3819
|
{
|
|
@@ -3789,7 +3858,7 @@ function So({ log: e, onFilter: t }) {
|
|
|
3789
3858
|
onFilter: t
|
|
3790
3859
|
});
|
|
3791
3860
|
}
|
|
3792
|
-
function
|
|
3861
|
+
function Do({ log: e }) {
|
|
3793
3862
|
return e.entrypointRequest || e.endpointRequest || e.entrypointResponse || e.endpointResponse ? /* @__PURE__ */ M("div", {
|
|
3794
3863
|
className: "space-y-4",
|
|
3795
3864
|
children: [
|
|
@@ -3862,11 +3931,11 @@ function Co({ log: e }) {
|
|
|
3862
3931
|
]
|
|
3863
3932
|
}) : /* @__PURE__ */ j(Z, { message: "No connection log details captured" });
|
|
3864
3933
|
}
|
|
3865
|
-
function
|
|
3934
|
+
function Oo({ messages: e, pageSize: t }) {
|
|
3866
3935
|
let [n, r] = k(t), i = e.slice(0, n), a = n < e.length;
|
|
3867
3936
|
return /* @__PURE__ */ M("div", {
|
|
3868
3937
|
className: "space-y-3",
|
|
3869
|
-
children: [i.map((e, t) => /* @__PURE__ */ j(
|
|
3938
|
+
children: [i.map((e, t) => /* @__PURE__ */ j(ko, { message: e }, e.id ?? t)), a && /* @__PURE__ */ M("button", {
|
|
3870
3939
|
onClick: () => r((e) => e + t),
|
|
3871
3940
|
className: "w-full rounded-md border py-2 text-xs text-muted-foreground hover:bg-muted/50 transition-colors",
|
|
3872
3941
|
children: [
|
|
@@ -3877,7 +3946,7 @@ function wo({ messages: e, pageSize: t }) {
|
|
|
3877
3946
|
})]
|
|
3878
3947
|
});
|
|
3879
3948
|
}
|
|
3880
|
-
function
|
|
3949
|
+
function ko({ message: e }) {
|
|
3881
3950
|
return /* @__PURE__ */ M("div", {
|
|
3882
3951
|
className: "rounded-md border p-3 space-y-2",
|
|
3883
3952
|
children: [
|
|
@@ -3925,7 +3994,7 @@ function To({ message: e }) {
|
|
|
3925
3994
|
}
|
|
3926
3995
|
//#endregion
|
|
3927
3996
|
//#region src/logs/detail/presets/webhook-log-preset.tsx
|
|
3928
|
-
function
|
|
3997
|
+
function Ao(e) {
|
|
3929
3998
|
return {
|
|
3930
3999
|
type: "preset",
|
|
3931
4000
|
resolve: (t) => {
|
|
@@ -3950,7 +4019,7 @@ function Eo(e) {
|
|
|
3950
4019
|
key: "overview",
|
|
3951
4020
|
title: "Overview",
|
|
3952
4021
|
defaultOpen: !0,
|
|
3953
|
-
render: () => /* @__PURE__ */ j(
|
|
4022
|
+
render: () => /* @__PURE__ */ j(jo, {
|
|
3954
4023
|
log: n,
|
|
3955
4024
|
basePath: e?.basePath
|
|
3956
4025
|
})
|
|
@@ -3960,22 +4029,22 @@ function Eo(e) {
|
|
|
3960
4029
|
title: "Delivery Attempts",
|
|
3961
4030
|
defaultOpen: !0,
|
|
3962
4031
|
badge: () => n.retryTimeline?.length,
|
|
3963
|
-
render: () => /* @__PURE__ */ j(
|
|
4032
|
+
render: () => /* @__PURE__ */ j(Mo, { attempts: n.retryTimeline })
|
|
3964
4033
|
}), i.push({
|
|
3965
4034
|
key: "request",
|
|
3966
4035
|
title: "Request Sent by Gateway",
|
|
3967
4036
|
defaultOpen: !1,
|
|
3968
|
-
render: () => /* @__PURE__ */ j(
|
|
4037
|
+
render: () => /* @__PURE__ */ j(No, { log: n })
|
|
3969
4038
|
}), i.push({
|
|
3970
4039
|
key: "response",
|
|
3971
4040
|
title: "Response from Callback",
|
|
3972
4041
|
defaultOpen: !1,
|
|
3973
|
-
render: () => /* @__PURE__ */ j(
|
|
4042
|
+
render: () => /* @__PURE__ */ j(Po, { log: n })
|
|
3974
4043
|
}), i.push({
|
|
3975
4044
|
key: "raw",
|
|
3976
4045
|
title: "Raw JSON",
|
|
3977
4046
|
defaultOpen: !1,
|
|
3978
|
-
render: () => /* @__PURE__ */ j(
|
|
4047
|
+
render: () => /* @__PURE__ */ j(ho, { data: n })
|
|
3979
4048
|
}), {
|
|
3980
4049
|
header: {
|
|
3981
4050
|
method: () => n.method,
|
|
@@ -3989,7 +4058,7 @@ function Eo(e) {
|
|
|
3989
4058
|
}
|
|
3990
4059
|
};
|
|
3991
4060
|
}
|
|
3992
|
-
function
|
|
4061
|
+
function jo({ log: e, basePath: t }) {
|
|
3993
4062
|
let n = t?.replace(/\/$/, "") ?? "";
|
|
3994
4063
|
return /* @__PURE__ */ j($, { items: [
|
|
3995
4064
|
{
|
|
@@ -4026,7 +4095,7 @@ function Do({ log: e, basePath: t }) {
|
|
|
4026
4095
|
}] : []
|
|
4027
4096
|
] });
|
|
4028
4097
|
}
|
|
4029
|
-
function
|
|
4098
|
+
function Mo({ attempts: e }) {
|
|
4030
4099
|
return /* @__PURE__ */ j("div", {
|
|
4031
4100
|
className: "rounded-md border",
|
|
4032
4101
|
children: /* @__PURE__ */ M("table", {
|
|
@@ -4078,13 +4147,13 @@ function Oo({ attempts: e }) {
|
|
|
4078
4147
|
})
|
|
4079
4148
|
});
|
|
4080
4149
|
}
|
|
4081
|
-
function
|
|
4150
|
+
function No({ log: e }) {
|
|
4082
4151
|
return !e.requestHeaders && !e.requestBody ? /* @__PURE__ */ j(Z, { message: "No request details captured" }) : /* @__PURE__ */ M("div", {
|
|
4083
4152
|
className: "space-y-2",
|
|
4084
4153
|
children: [/* @__PURE__ */ j(Q, { headers: e.requestHeaders }), /* @__PURE__ */ j(X, { code: e.requestBody })]
|
|
4085
4154
|
});
|
|
4086
4155
|
}
|
|
4087
|
-
function
|
|
4156
|
+
function Po({ log: e }) {
|
|
4088
4157
|
return !e.responseHeaders && !e.responseBody ? /* @__PURE__ */ j(Z, { message: "No response details captured" }) : /* @__PURE__ */ M("div", {
|
|
4089
4158
|
className: "space-y-2",
|
|
4090
4159
|
children: [/* @__PURE__ */ j(Q, { headers: e.responseHeaders }), /* @__PURE__ */ j(X, { code: e.responseBody })]
|
|
@@ -4092,16 +4161,16 @@ function Ao({ log: e }) {
|
|
|
4092
4161
|
}
|
|
4093
4162
|
//#endregion
|
|
4094
4163
|
//#region src/logs/detail/types.ts
|
|
4095
|
-
function
|
|
4164
|
+
function Fo(e) {
|
|
4096
4165
|
return "discriminant" in e;
|
|
4097
4166
|
}
|
|
4098
4167
|
//#endregion
|
|
4099
4168
|
//#region src/logs/detail/define-log-detail.ts
|
|
4100
|
-
function
|
|
4169
|
+
function Io(e) {
|
|
4101
4170
|
return "preset" in e;
|
|
4102
4171
|
}
|
|
4103
|
-
function
|
|
4104
|
-
return
|
|
4172
|
+
function Lo(e) {
|
|
4173
|
+
return Io(e) ? {
|
|
4105
4174
|
preset: e.preset,
|
|
4106
4175
|
contextChart: e.contextChart
|
|
4107
4176
|
} : {
|
|
@@ -4111,32 +4180,32 @@ function No(e) {
|
|
|
4111
4180
|
contextChart: e.contextChart
|
|
4112
4181
|
};
|
|
4113
4182
|
}
|
|
4114
|
-
function
|
|
4115
|
-
if (
|
|
4183
|
+
function Ro(e, t) {
|
|
4184
|
+
if (Fo(e)) {
|
|
4116
4185
|
let n = e.discriminant(t);
|
|
4117
4186
|
return e.variants[n] ?? e.fallback ?? null;
|
|
4118
4187
|
}
|
|
4119
4188
|
return e.preset;
|
|
4120
4189
|
}
|
|
4121
|
-
function
|
|
4190
|
+
function zo(e, t) {
|
|
4122
4191
|
return e.type === "preset" ? e.resolve(t) : null;
|
|
4123
4192
|
}
|
|
4124
|
-
function
|
|
4125
|
-
let { basePath: t, connectionLog: n, messageLog: r, webhookLog: i, extraVariants: a, contextChart: o, fallback: s, discriminant: c } = e, l = t.replace(/\/$/, ""), u =
|
|
4193
|
+
function Bo(e) {
|
|
4194
|
+
let { basePath: t, connectionLog: n, messageLog: r, webhookLog: i, extraVariants: a, contextChart: o, fallback: s, discriminant: c } = e, l = t.replace(/\/$/, ""), u = yo({
|
|
4126
4195
|
...n,
|
|
4127
4196
|
basePath: l
|
|
4128
|
-
}), d =
|
|
4197
|
+
}), d = Ao({
|
|
4129
4198
|
...i,
|
|
4130
4199
|
basePath: l
|
|
4131
4200
|
}), f = {
|
|
4132
4201
|
HTTP_PROXY: u,
|
|
4133
4202
|
LLM_PROXY: u,
|
|
4134
4203
|
MCP_PROXY: u,
|
|
4135
|
-
MESSAGE:
|
|
4204
|
+
MESSAGE: To(r),
|
|
4136
4205
|
WEBHOOK: d,
|
|
4137
4206
|
...a
|
|
4138
4207
|
};
|
|
4139
|
-
return
|
|
4208
|
+
return Lo({
|
|
4140
4209
|
discriminant: c ?? ((e) => e.apiType ?? ""),
|
|
4141
4210
|
variants: f,
|
|
4142
4211
|
fallback: s ?? u,
|
|
@@ -4149,16 +4218,16 @@ function Io(e) {
|
|
|
4149
4218
|
}
|
|
4150
4219
|
//#endregion
|
|
4151
4220
|
//#region src/logs/detail/components/LogDetailContextChart.tsx
|
|
4152
|
-
var
|
|
4153
|
-
function
|
|
4221
|
+
var Vo = 900 * 1e3, Ho = "HTTP_GATEWAY_RESPONSE_TIME", Uo = "AVG", Wo = "API";
|
|
4222
|
+
function Go({ apiId: e, timestamp: t, metric: r = Ho, measure: i = Uo, filterField: a = Wo, analyticsFilterMapping: o }) {
|
|
4154
4223
|
let s = n(), c = D(() => {
|
|
4155
4224
|
let e = new Date(t).getTime();
|
|
4156
4225
|
return {
|
|
4157
4226
|
type: "absolute",
|
|
4158
|
-
from: e -
|
|
4159
|
-
to: e +
|
|
4227
|
+
from: e - Vo,
|
|
4228
|
+
to: e + Vo
|
|
4160
4229
|
};
|
|
4161
|
-
}, [t]), l = D(() =>
|
|
4230
|
+
}, [t]), l = D(() => Pi(c, 30), [c]), u = D(() => Ua([{
|
|
4162
4231
|
field: a,
|
|
4163
4232
|
operator: "eq",
|
|
4164
4233
|
value: [e],
|
|
@@ -4187,7 +4256,7 @@ function Vo({ apiId: e, timestamp: t, metric: r = Ro, measure: i = zo, filterFie
|
|
|
4187
4256
|
} }), [m]), g = D(() => {
|
|
4188
4257
|
if (!f) return [];
|
|
4189
4258
|
let e = /* @__PURE__ */ new Map();
|
|
4190
|
-
return e.set(m, f),
|
|
4259
|
+
return e.set(m, f), Di(e);
|
|
4191
4260
|
}, [f, m]), _ = D(() => {
|
|
4192
4261
|
let e = new Date(t).getTime(), n = f?.[0]?.points;
|
|
4193
4262
|
if (g.length === 0 || !n?.length) return;
|
|
@@ -4242,18 +4311,18 @@ function Vo({ apiId: e, timestamp: t, metric: r = Ro, measure: i = zo, filterFie
|
|
|
4242
4311
|
}
|
|
4243
4312
|
//#endregion
|
|
4244
4313
|
//#region src/logs/detail/components/LogDetailDrawerShell.tsx
|
|
4245
|
-
var
|
|
4314
|
+
var Ko = y({
|
|
4246
4315
|
expanded: !1,
|
|
4247
4316
|
setExpanded: () => {}
|
|
4248
4317
|
});
|
|
4249
|
-
function
|
|
4250
|
-
return w(
|
|
4318
|
+
function qo() {
|
|
4319
|
+
return w(Ko);
|
|
4251
4320
|
}
|
|
4252
|
-
var
|
|
4253
|
-
function
|
|
4254
|
-
return e === document.body ? !0 : e.closest(
|
|
4321
|
+
var Jo = "[role=\"tree\"], [role=\"treeitem\"], input, textarea, select, [contenteditable]";
|
|
4322
|
+
function Yo(e) {
|
|
4323
|
+
return e === document.body ? !0 : e.closest(Jo) ? !1 : !!e.closest("[data-log-detail-shell]");
|
|
4255
4324
|
}
|
|
4256
|
-
function
|
|
4325
|
+
function Xo({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, children: i }) {
|
|
4257
4326
|
let [a, o] = k(!1), s = C(() => {
|
|
4258
4327
|
o(!1), t();
|
|
4259
4328
|
}, [t]), c = C((e) => {
|
|
@@ -4264,10 +4333,10 @@ function Ko({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, childre
|
|
|
4264
4333
|
t.preventDefault(), a ? o(!1) : s();
|
|
4265
4334
|
break;
|
|
4266
4335
|
case "ArrowUp":
|
|
4267
|
-
|
|
4336
|
+
Yo(t.target) && (t.preventDefault(), n?.());
|
|
4268
4337
|
break;
|
|
4269
4338
|
case "ArrowDown":
|
|
4270
|
-
|
|
4339
|
+
Yo(t.target) && (t.preventDefault(), r?.());
|
|
4271
4340
|
break;
|
|
4272
4341
|
}
|
|
4273
4342
|
}, [
|
|
@@ -4282,7 +4351,7 @@ function Ko({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, childre
|
|
|
4282
4351
|
expanded: a,
|
|
4283
4352
|
setExpanded: o
|
|
4284
4353
|
}), [a]);
|
|
4285
|
-
return /* @__PURE__ */ j(
|
|
4354
|
+
return /* @__PURE__ */ j(Ko.Provider, {
|
|
4286
4355
|
value: f,
|
|
4287
4356
|
children: /* @__PURE__ */ j(ze, {
|
|
4288
4357
|
open: e,
|
|
@@ -4318,7 +4387,7 @@ function Ko({ open: e, onClose: t, onNavigatePrev: n, onNavigateNext: r, childre
|
|
|
4318
4387
|
}
|
|
4319
4388
|
//#endregion
|
|
4320
4389
|
//#region src/logs/detail/components/LogDetailHeader.tsx
|
|
4321
|
-
var
|
|
4390
|
+
var Zo = {
|
|
4322
4391
|
GET: "success",
|
|
4323
4392
|
POST: "default",
|
|
4324
4393
|
PUT: "warning",
|
|
@@ -4327,10 +4396,10 @@ var qo = {
|
|
|
4327
4396
|
HEAD: "secondary",
|
|
4328
4397
|
OPTIONS: "secondary"
|
|
4329
4398
|
};
|
|
4330
|
-
function
|
|
4399
|
+
function Qo(e) {
|
|
4331
4400
|
return e >= 500 ? "text-destructive" : e >= 400 ? "text-warning" : "text-success";
|
|
4332
4401
|
}
|
|
4333
|
-
function
|
|
4402
|
+
function $o(e) {
|
|
4334
4403
|
let t = new Date(e), n = (/* @__PURE__ */ new Date()).getTime() - t.getTime(), r = Math.floor(n / 1e3), i;
|
|
4335
4404
|
i = r < 60 ? `${r}s ago` : r < 3600 ? `${Math.floor(r / 60)}m ago` : r < 86400 ? `${Math.floor(r / 3600)}h ago` : t.toLocaleDateString(void 0, {
|
|
4336
4405
|
month: "short",
|
|
@@ -4350,10 +4419,10 @@ function Yo(e) {
|
|
|
4350
4419
|
full: a
|
|
4351
4420
|
};
|
|
4352
4421
|
}
|
|
4353
|
-
function
|
|
4354
|
-
let { expanded: d, setExpanded: f } =
|
|
4422
|
+
function es({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigatePrev: a, onNavigateNext: o, onCopyJson: s, hasPrev: c = !0, hasNext: l = !0, showExpandToggle: u = !0 }) {
|
|
4423
|
+
let { expanded: d, setExpanded: f } = qo(), p = C((e) => {
|
|
4355
4424
|
e.key === "Escape" && i?.();
|
|
4356
|
-
}, [i]), m = r ?
|
|
4425
|
+
}, [i]), m = r ? $o(r) : null;
|
|
4357
4426
|
return /* @__PURE__ */ M("div", {
|
|
4358
4427
|
className: "sticky top-0 z-10 border-b bg-background/95 backdrop-blur-sm",
|
|
4359
4428
|
role: "toolbar",
|
|
@@ -4419,11 +4488,11 @@ function Xo({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
|
|
|
4419
4488
|
className: "flex items-center gap-3",
|
|
4420
4489
|
children: [
|
|
4421
4490
|
e && /* @__PURE__ */ j(P, {
|
|
4422
|
-
variant:
|
|
4491
|
+
variant: Zo[e] ?? "secondary",
|
|
4423
4492
|
children: e
|
|
4424
4493
|
}),
|
|
4425
4494
|
t !== void 0 && /* @__PURE__ */ j("span", {
|
|
4426
|
-
className: `font-mono text-sm font-semibold tabular-nums ${
|
|
4495
|
+
className: `font-mono text-sm font-semibold tabular-nums ${Qo(t)}`,
|
|
4427
4496
|
children: t
|
|
4428
4497
|
}),
|
|
4429
4498
|
m && /* @__PURE__ */ j(z, { children: /* @__PURE__ */ M(L, { children: [/* @__PURE__ */ j(B, {
|
|
@@ -4455,9 +4524,9 @@ function Xo({ method: e, status: t, uri: n, timestamp: r, onClose: i, onNavigate
|
|
|
4455
4524
|
}
|
|
4456
4525
|
//#endregion
|
|
4457
4526
|
//#region src/logs/detail/components/LogDetailMetrics.tsx
|
|
4458
|
-
function
|
|
4527
|
+
function ts({ items: e }) {
|
|
4459
4528
|
let t = e.filter((e) => e.value !== void 0 && e.value !== null), n = D(() => t.map((e) => ({
|
|
4460
|
-
value:
|
|
4529
|
+
value: ns(e.value, e.unit),
|
|
4461
4530
|
label: e.label
|
|
4462
4531
|
})), [t]);
|
|
4463
4532
|
return n.length === 0 ? null : /* @__PURE__ */ j("div", {
|
|
@@ -4470,12 +4539,12 @@ function Zo({ items: e }) {
|
|
|
4470
4539
|
})
|
|
4471
4540
|
});
|
|
4472
4541
|
}
|
|
4473
|
-
function
|
|
4542
|
+
function ns(e, t) {
|
|
4474
4543
|
return t === "ms" || !t ? e >= 1e4 ? `${(e / 1e3).toFixed(1)}s` : e >= 1e3 ? `${(e / 1e3).toFixed(2)}s` : `${Math.round(e)}ms` : t === "B" ? e >= 1024 * 1024 ? `${(e / (1024 * 1024)).toFixed(1)} MB` : e >= 1024 ? `${(e / 1024).toFixed(1)} KB` : `${e} B` : t === "" ? String(e) : `${e}${t}`;
|
|
4475
4544
|
}
|
|
4476
4545
|
//#endregion
|
|
4477
4546
|
//#region src/logs/detail/components/LogDetailSection.tsx
|
|
4478
|
-
function
|
|
4547
|
+
function rs({ children: e, defaultValue: t }) {
|
|
4479
4548
|
let [n, r] = k(t ?? "");
|
|
4480
4549
|
return /* @__PURE__ */ j(ne, {
|
|
4481
4550
|
type: "single",
|
|
@@ -4485,7 +4554,7 @@ function $o({ children: e, defaultValue: t }) {
|
|
|
4485
4554
|
children: e
|
|
4486
4555
|
});
|
|
4487
4556
|
}
|
|
4488
|
-
function
|
|
4557
|
+
function is({ title: e, badge: t, children: n }) {
|
|
4489
4558
|
return /* @__PURE__ */ M(ie, {
|
|
4490
4559
|
value: e,
|
|
4491
4560
|
className: "border-b last:border-b-0",
|
|
@@ -4507,26 +4576,26 @@ function es({ title: e, badge: t, children: n }) {
|
|
|
4507
4576
|
}
|
|
4508
4577
|
//#endregion
|
|
4509
4578
|
//#region src/logs/detail/components/LogDetailContent.tsx
|
|
4510
|
-
var
|
|
4511
|
-
Header:
|
|
4512
|
-
Section:
|
|
4579
|
+
var as = {
|
|
4580
|
+
Header: es,
|
|
4581
|
+
Section: is,
|
|
4513
4582
|
KeyValueGrid: $,
|
|
4514
4583
|
HeadersTable: Q,
|
|
4515
4584
|
CodeBlock: X,
|
|
4516
|
-
Metrics:
|
|
4585
|
+
Metrics: ts
|
|
4517
4586
|
};
|
|
4518
|
-
function
|
|
4519
|
-
let f =
|
|
4587
|
+
function os({ config: e, log: t, logId: n, onClose: r, onCopyJson: i, onNavigatePrev: a, onNavigateNext: o, onFilter: s, hasPrev: c, hasNext: l, showExpandToggle: u = !0, showNavigation: d = !0 }) {
|
|
4588
|
+
let f = Ro(e, t);
|
|
4520
4589
|
if (!f) return /* @__PURE__ */ j("div", {
|
|
4521
4590
|
className: "flex items-center justify-center p-8 text-sm text-muted-foreground",
|
|
4522
4591
|
children: "No detail view configured for this log type."
|
|
4523
4592
|
});
|
|
4524
|
-
if (f.type === "custom") return /* @__PURE__ */ j(A, { children: f.render(t,
|
|
4525
|
-
let p =
|
|
4593
|
+
if (f.type === "custom") return /* @__PURE__ */ j(A, { children: f.render(t, as) });
|
|
4594
|
+
let p = zo(f, t);
|
|
4526
4595
|
if (!p) return null;
|
|
4527
4596
|
let m = e.contextChart;
|
|
4528
4597
|
return /* @__PURE__ */ M(A, { children: [
|
|
4529
|
-
/* @__PURE__ */ j(
|
|
4598
|
+
/* @__PURE__ */ j(es, {
|
|
4530
4599
|
method: p.header.method(t),
|
|
4531
4600
|
status: p.header.status(t),
|
|
4532
4601
|
uri: p.header.uri(t),
|
|
@@ -4539,7 +4608,7 @@ function ns({ config: e, log: t, logId: n, onClose: r, onCopyJson: i, onNavigate
|
|
|
4539
4608
|
hasNext: d ? l : !1,
|
|
4540
4609
|
showExpandToggle: u
|
|
4541
4610
|
}),
|
|
4542
|
-
m && /* @__PURE__ */ j(
|
|
4611
|
+
m && /* @__PURE__ */ j(Go, {
|
|
4543
4612
|
apiId: m.extractApiId(t),
|
|
4544
4613
|
timestamp: m.extractTimestamp?.(t) ?? p.header.timestamp(t),
|
|
4545
4614
|
metric: m.metric,
|
|
@@ -4547,14 +4616,14 @@ function ns({ config: e, log: t, logId: n, onClose: r, onCopyJson: i, onNavigate
|
|
|
4547
4616
|
filterField: m.filterField,
|
|
4548
4617
|
analyticsFilterMapping: m.analyticsFilterMapping
|
|
4549
4618
|
}),
|
|
4550
|
-
p.metrics && p.metrics.length > 0 && /* @__PURE__ */ j(
|
|
4619
|
+
p.metrics && p.metrics.length > 0 && /* @__PURE__ */ j(ts, { items: p.metrics.map((e) => ({
|
|
4551
4620
|
label: e.label,
|
|
4552
4621
|
value: e.value(t),
|
|
4553
4622
|
unit: e.unit
|
|
4554
4623
|
})) }),
|
|
4555
|
-
/* @__PURE__ */ j(
|
|
4624
|
+
/* @__PURE__ */ j(rs, {
|
|
4556
4625
|
defaultValue: p.sections.find((e) => e.defaultOpen)?.title,
|
|
4557
|
-
children: p.sections.map((e) => /* @__PURE__ */ j(
|
|
4626
|
+
children: p.sections.map((e) => /* @__PURE__ */ j(is, {
|
|
4558
4627
|
title: e.title,
|
|
4559
4628
|
badge: e.badge?.(t),
|
|
4560
4629
|
children: e.render(t, s)
|
|
@@ -4564,20 +4633,20 @@ function ns({ config: e, log: t, logId: n, onClose: r, onCopyJson: i, onNavigate
|
|
|
4564
4633
|
}
|
|
4565
4634
|
//#endregion
|
|
4566
4635
|
//#region src/logs/detail/utils/clipboard.ts
|
|
4567
|
-
function
|
|
4636
|
+
function ss(e) {
|
|
4568
4637
|
navigator.clipboard.writeText(JSON.stringify(e, null, 2)).then(() => H.success("Full JSON copied to clipboard"), () => H.error("Failed to copy to clipboard"));
|
|
4569
4638
|
}
|
|
4570
4639
|
//#endregion
|
|
4571
4640
|
//#region src/logs/detail/components/LogDetailDrawer.tsx
|
|
4572
|
-
function
|
|
4641
|
+
function cs({ config: e, logId: t, onClose: n, onNavigatePrev: r, onNavigateNext: i, onFilter: a, hasPrev: o, hasNext: s }) {
|
|
4573
4642
|
let { data: c, isLoading: l, isError: u, isNotFound: d, isUnsupported: f, refetch: p } = pn({ id: t });
|
|
4574
|
-
return /* @__PURE__ */ M(
|
|
4643
|
+
return /* @__PURE__ */ M(Xo, {
|
|
4575
4644
|
open: !!t,
|
|
4576
4645
|
onClose: n,
|
|
4577
4646
|
onNavigatePrev: r,
|
|
4578
4647
|
onNavigateNext: i,
|
|
4579
4648
|
children: [
|
|
4580
|
-
l && /* @__PURE__ */ j(
|
|
4649
|
+
l && /* @__PURE__ */ j(ls, {}),
|
|
4581
4650
|
f && /* @__PURE__ */ M("div", {
|
|
4582
4651
|
className: "flex flex-col items-center justify-center gap-2 p-8 text-center text-muted-foreground",
|
|
4583
4652
|
children: [/* @__PURE__ */ j("p", {
|
|
@@ -4614,13 +4683,13 @@ function is({ config: e, logId: t, onClose: n, onNavigatePrev: r, onNavigateNext
|
|
|
4614
4683
|
})
|
|
4615
4684
|
]
|
|
4616
4685
|
}),
|
|
4617
|
-
c != null && /* @__PURE__ */ j(
|
|
4686
|
+
c != null && /* @__PURE__ */ j(os, {
|
|
4618
4687
|
config: e,
|
|
4619
4688
|
log: c,
|
|
4620
4689
|
logId: t,
|
|
4621
4690
|
onClose: n,
|
|
4622
4691
|
onCopyJson: () => {
|
|
4623
|
-
c &&
|
|
4692
|
+
c && ss(c);
|
|
4624
4693
|
},
|
|
4625
4694
|
onNavigatePrev: r,
|
|
4626
4695
|
onNavigateNext: i,
|
|
@@ -4631,7 +4700,7 @@ function is({ config: e, logId: t, onClose: n, onNavigatePrev: r, onNavigateNext
|
|
|
4631
4700
|
]
|
|
4632
4701
|
});
|
|
4633
4702
|
}
|
|
4634
|
-
function
|
|
4703
|
+
function ls() {
|
|
4635
4704
|
return /* @__PURE__ */ M("div", {
|
|
4636
4705
|
className: "space-y-4 p-4",
|
|
4637
4706
|
children: [
|
|
@@ -4659,7 +4728,7 @@ function as() {
|
|
|
4659
4728
|
}
|
|
4660
4729
|
//#endregion
|
|
4661
4730
|
//#region src/logs/detail/components/LogDetailPage.tsx
|
|
4662
|
-
function
|
|
4731
|
+
function us({ config: e, onFilter: t }) {
|
|
4663
4732
|
let { logId: n } = Vt(), r = Bt(), { data: i, isLoading: a, isError: o, isNotFound: s, isUnsupported: c, refetch: l } = pn({ id: n }), u = () => r(-1);
|
|
4664
4733
|
return a ? /* @__PURE__ */ M("div", {
|
|
4665
4734
|
className: "space-y-4 p-6",
|
|
@@ -4720,13 +4789,13 @@ function os({ config: e, onFilter: t }) {
|
|
|
4720
4789
|
})
|
|
4721
4790
|
}), /* @__PURE__ */ j(se, {
|
|
4722
4791
|
className: "mx-6 mt-4 overflow-hidden",
|
|
4723
|
-
children: /* @__PURE__ */ j(
|
|
4792
|
+
children: /* @__PURE__ */ j(os, {
|
|
4724
4793
|
config: e,
|
|
4725
4794
|
log: i,
|
|
4726
4795
|
logId: n,
|
|
4727
4796
|
onClose: u,
|
|
4728
4797
|
onCopyJson: () => {
|
|
4729
|
-
i &&
|
|
4798
|
+
i && ss(i);
|
|
4730
4799
|
},
|
|
4731
4800
|
onFilter: t,
|
|
4732
4801
|
showExpandToggle: !1,
|
|
@@ -4737,27 +4806,27 @@ function os({ config: e, onFilter: t }) {
|
|
|
4737
4806
|
}
|
|
4738
4807
|
//#endregion
|
|
4739
4808
|
//#region src/data-sources/filter-serialization.ts
|
|
4740
|
-
var
|
|
4809
|
+
var ds = [
|
|
4741
4810
|
"eq",
|
|
4742
4811
|
"in",
|
|
4743
4812
|
"lte",
|
|
4744
4813
|
"gte"
|
|
4745
4814
|
];
|
|
4746
|
-
function
|
|
4747
|
-
return
|
|
4815
|
+
function fs(e) {
|
|
4816
|
+
return ds.includes(e);
|
|
4748
4817
|
}
|
|
4749
|
-
var
|
|
4818
|
+
var ps = {
|
|
4750
4819
|
eq: "EQ",
|
|
4751
4820
|
in: "IN",
|
|
4752
4821
|
lte: "LTE",
|
|
4753
4822
|
gte: "GTE"
|
|
4754
4823
|
};
|
|
4755
|
-
function
|
|
4756
|
-
if (!
|
|
4824
|
+
function ms(e) {
|
|
4825
|
+
if (!fs(e.operator)) throw Error(`[gamma-lib-observability] Filter operator "${e.operator}" on field "${e.field}" is not supported by the Gravitee Management v2 API. Supported operators: ${ds.join(", ")}.`);
|
|
4757
4826
|
let t = e.value[0];
|
|
4758
4827
|
if (t === void 0) throw Error(`[gamma-lib-observability] Filter on field "${e.field}" with operator "${e.operator}" has no value — every supported operator requires at least one value.`);
|
|
4759
4828
|
switch (e.operator) {
|
|
4760
|
-
case "eq": return
|
|
4829
|
+
case "eq": return hs(e, "eq", "in"), {
|
|
4761
4830
|
name: e.field,
|
|
4762
4831
|
operator: "EQ",
|
|
4763
4832
|
value: t
|
|
@@ -4769,11 +4838,11 @@ function us(e) {
|
|
|
4769
4838
|
};
|
|
4770
4839
|
case "lte":
|
|
4771
4840
|
case "gte": {
|
|
4772
|
-
|
|
4773
|
-
let n =
|
|
4841
|
+
hs(e, e.operator);
|
|
4842
|
+
let n = gs(e, t);
|
|
4774
4843
|
return {
|
|
4775
4844
|
name: e.field,
|
|
4776
|
-
operator:
|
|
4845
|
+
operator: ps[e.operator],
|
|
4777
4846
|
value: n
|
|
4778
4847
|
};
|
|
4779
4848
|
}
|
|
@@ -4783,50 +4852,50 @@ function us(e) {
|
|
|
4783
4852
|
}
|
|
4784
4853
|
}
|
|
4785
4854
|
}
|
|
4786
|
-
function
|
|
4855
|
+
function hs(e, t, n) {
|
|
4787
4856
|
if (e.value.length <= 1) return;
|
|
4788
4857
|
let r = n ? ` Use "${n}" for multi-value membership.` : "";
|
|
4789
4858
|
throw Error(`[gamma-lib-observability] Filter on field "${e.field}" with operator "${t}" received ${e.value.length} values; "${t}" expects a single value.${r}`);
|
|
4790
4859
|
}
|
|
4791
|
-
function
|
|
4860
|
+
function gs(e, t) {
|
|
4792
4861
|
let n = t.trim();
|
|
4793
4862
|
if (n === "") throw Error(`[gamma-lib-observability] Filter on field "${e.field}" with operator "${e.operator}" expects a numeric value but received an empty string.`);
|
|
4794
4863
|
let r = Number(n);
|
|
4795
4864
|
if (Number.isNaN(r)) throw Error(`[gamma-lib-observability] Filter on field "${e.field}" with operator "${e.operator}" expects a numeric value but received "${t}".`);
|
|
4796
4865
|
return r;
|
|
4797
4866
|
}
|
|
4798
|
-
function
|
|
4799
|
-
if (e?.length) return e.map(
|
|
4867
|
+
function _s(e) {
|
|
4868
|
+
if (e?.length) return e.map(ms);
|
|
4800
4869
|
}
|
|
4801
4870
|
//#endregion
|
|
4802
4871
|
//#region src/data-sources/http-utils.ts
|
|
4803
|
-
function
|
|
4872
|
+
function vs(e) {
|
|
4804
4873
|
if (e) return typeof e == "function" ? e() : e;
|
|
4805
4874
|
}
|
|
4806
|
-
function
|
|
4875
|
+
function ys(...e) {
|
|
4807
4876
|
let t = new Headers();
|
|
4808
4877
|
for (let n of e) n && new Headers(n).forEach((e, n) => t.set(n, e));
|
|
4809
4878
|
return t;
|
|
4810
4879
|
}
|
|
4811
4880
|
//#endregion
|
|
4812
4881
|
//#region src/data-sources/http-data-source.ts
|
|
4813
|
-
var
|
|
4882
|
+
var bs = {
|
|
4814
4883
|
name: "HTTP_REQUESTS",
|
|
4815
4884
|
measures: [Jt]
|
|
4816
4885
|
};
|
|
4817
|
-
function
|
|
4886
|
+
function xs(e) {
|
|
4818
4887
|
return e.metrics.map((e) => ({
|
|
4819
4888
|
name: e.name,
|
|
4820
4889
|
unit: e.unit,
|
|
4821
4890
|
measures: e.measures ?? []
|
|
4822
4891
|
}));
|
|
4823
4892
|
}
|
|
4824
|
-
function
|
|
4893
|
+
function Ss(e, t = "", n = "") {
|
|
4825
4894
|
let r = [];
|
|
4826
4895
|
for (let i of e) {
|
|
4827
4896
|
let e = t ? `${t} / ${i.key}` : i.key, a = n ? `${n} › ${i.name ?? i.key}` : i.name ?? i.key;
|
|
4828
4897
|
if (i.type === "GROUP" && i.buckets?.length) {
|
|
4829
|
-
r.push(...
|
|
4898
|
+
r.push(...Ss(i.buckets, e, a));
|
|
4830
4899
|
continue;
|
|
4831
4900
|
}
|
|
4832
4901
|
r.push({
|
|
@@ -4837,12 +4906,12 @@ function vs(e, t = "", n = "") {
|
|
|
4837
4906
|
}
|
|
4838
4907
|
return r;
|
|
4839
4908
|
}
|
|
4840
|
-
function
|
|
4909
|
+
function Cs(e) {
|
|
4841
4910
|
let t = [];
|
|
4842
|
-
for (let n of e.metrics) n.buckets && t.push(...
|
|
4911
|
+
for (let n of e.metrics) n.buckets && t.push(...Ss(n.buckets));
|
|
4843
4912
|
return t;
|
|
4844
4913
|
}
|
|
4845
|
-
function
|
|
4914
|
+
function ws(e) {
|
|
4846
4915
|
let t = [];
|
|
4847
4916
|
for (let n of e.metrics) if (n.buckets) if (n.buckets.some((e) => e.type === "GROUP" && e.buckets?.length)) {
|
|
4848
4917
|
let e = /* @__PURE__ */ new Map();
|
|
@@ -4879,47 +4948,47 @@ function bs(e) {
|
|
|
4879
4948
|
}
|
|
4880
4949
|
return t;
|
|
4881
4950
|
}
|
|
4882
|
-
function
|
|
4951
|
+
function Ts(e) {
|
|
4883
4952
|
return {
|
|
4884
4953
|
...e,
|
|
4885
4954
|
measures: e.measures?.length ? e.measures : [Jt]
|
|
4886
4955
|
};
|
|
4887
4956
|
}
|
|
4888
|
-
function
|
|
4889
|
-
let t =
|
|
4890
|
-
return t.metrics = e.metrics.map(
|
|
4957
|
+
function Es(e) {
|
|
4958
|
+
let t = ks(e);
|
|
4959
|
+
return t.metrics = e.metrics.map(As), t;
|
|
4891
4960
|
}
|
|
4892
|
-
function
|
|
4893
|
-
let t =
|
|
4894
|
-
return t.interval = e.interval, t.metrics = e.metrics.map(
|
|
4961
|
+
function Ds(e) {
|
|
4962
|
+
let t = ks(e);
|
|
4963
|
+
return t.interval = e.interval, t.metrics = e.metrics.map(As), e.by?.length && (t.by = e.by), e.ranges?.length && (t.ranges = e.ranges), e.limit !== void 0 && (t.limit = e.limit), t;
|
|
4895
4964
|
}
|
|
4896
|
-
function
|
|
4897
|
-
let n =
|
|
4898
|
-
return n.by = e.by, n.metrics = (e.metrics?.length ? e.metrics : [t]).map(
|
|
4965
|
+
function Os(e, t) {
|
|
4966
|
+
let n = ks(e);
|
|
4967
|
+
return n.by = e.by, n.metrics = (e.metrics?.length ? e.metrics : [t]).map(As), e.ranges?.length && (n.ranges = e.ranges), e.limit !== void 0 && (n.limit = e.limit), n;
|
|
4899
4968
|
}
|
|
4900
|
-
function
|
|
4901
|
-
let t =
|
|
4969
|
+
function ks(e) {
|
|
4970
|
+
let t = ii(e.timeRange), n = { timeRange: {
|
|
4902
4971
|
from: new Date(t.from).toISOString(),
|
|
4903
4972
|
to: new Date(t.to).toISOString()
|
|
4904
|
-
} }, r =
|
|
4973
|
+
} }, r = _s(e.filters);
|
|
4905
4974
|
return r && (n.filters = r), n;
|
|
4906
4975
|
}
|
|
4907
|
-
function
|
|
4908
|
-
let t =
|
|
4976
|
+
function As(e) {
|
|
4977
|
+
let t = Ts(e), n = {
|
|
4909
4978
|
name: t.name,
|
|
4910
4979
|
measures: t.measures
|
|
4911
|
-
}, r =
|
|
4980
|
+
}, r = _s(e.filters);
|
|
4912
4981
|
return r && (n.filters = r), "sorts" in e && e.sorts?.length && (n.sorts = e.sorts), n;
|
|
4913
4982
|
}
|
|
4914
|
-
function
|
|
4983
|
+
function js(e, t) {
|
|
4915
4984
|
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = {
|
|
4916
|
-
name: t?.defaultFacetMetric?.name ??
|
|
4917
|
-
measures: t?.defaultFacetMetric?.measures?.length ? [...t.defaultFacetMetric.measures] : [...
|
|
4985
|
+
name: t?.defaultFacetMetric?.name ?? bs.name,
|
|
4986
|
+
measures: t?.defaultFacetMetric?.measures?.length ? [...t.defaultFacetMetric.measures] : [...bs.measures]
|
|
4918
4987
|
};
|
|
4919
4988
|
async function a(i, a, o) {
|
|
4920
4989
|
let s = {
|
|
4921
4990
|
method: "POST",
|
|
4922
|
-
headers:
|
|
4991
|
+
headers: ys({ "Content-Type": "application/json" }, vs(t?.headers)),
|
|
4923
4992
|
body: JSON.stringify(a),
|
|
4924
4993
|
signal: o
|
|
4925
4994
|
};
|
|
@@ -4930,19 +4999,19 @@ function Ds(e, t) {
|
|
|
4930
4999
|
}
|
|
4931
5000
|
return {
|
|
4932
5001
|
async fetchTimeSeries(e) {
|
|
4933
|
-
return
|
|
5002
|
+
return ws(await a("/analytics/time-series", Ds(e), e.signal));
|
|
4934
5003
|
},
|
|
4935
5004
|
async fetchFacets(e) {
|
|
4936
|
-
return
|
|
5005
|
+
return Cs(await a("/analytics/facets", Os(e, i), e.signal));
|
|
4937
5006
|
},
|
|
4938
5007
|
async fetchMeasures(e) {
|
|
4939
|
-
return
|
|
5008
|
+
return xs(await a("/analytics/measures", Es(e), e.signal));
|
|
4940
5009
|
}
|
|
4941
5010
|
};
|
|
4942
5011
|
}
|
|
4943
5012
|
//#endregion
|
|
4944
5013
|
//#region src/data-sources/http-filter-source.ts
|
|
4945
|
-
function
|
|
5014
|
+
function Ms(e) {
|
|
4946
5015
|
return {
|
|
4947
5016
|
EQ: "eq",
|
|
4948
5017
|
IN: "in",
|
|
@@ -4955,14 +5024,14 @@ function Os(e) {
|
|
|
4955
5024
|
CONTAINS: "contains"
|
|
4956
5025
|
}[e] ?? e.toLowerCase();
|
|
4957
5026
|
}
|
|
4958
|
-
function
|
|
5027
|
+
function Ns(e) {
|
|
4959
5028
|
return e === "ENUM" ? "enum" : "async";
|
|
4960
5029
|
}
|
|
4961
|
-
function
|
|
5030
|
+
function Ps(e, t) {
|
|
4962
5031
|
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials;
|
|
4963
5032
|
function i(e) {
|
|
4964
|
-
let n = { ...e }, i =
|
|
4965
|
-
return (e?.headers || i) && (n.headers =
|
|
5033
|
+
let n = { ...e }, i = vs(t?.headers);
|
|
5034
|
+
return (e?.headers || i) && (n.headers = ys(e?.headers, i)), r && (n.credentials = r), n;
|
|
4966
5035
|
}
|
|
4967
5036
|
function a(t) {
|
|
4968
5037
|
return async (r) => {
|
|
@@ -4988,7 +5057,7 @@ function As(e, t) {
|
|
|
4988
5057
|
let r = await n(`${e}/observability/filters/definition`, i({ signal: t }));
|
|
4989
5058
|
if (!r.ok) throw Error(`[gamma-lib-observability] HTTP ${r.status} on GET filters/definition`);
|
|
4990
5059
|
return (await r.json()).data.map((e) => {
|
|
4991
|
-
let t =
|
|
5060
|
+
let t = Ns(e.type), n = e.operators.map(Ms), r = e.apiTypes;
|
|
4992
5061
|
if (t === "enum") {
|
|
4993
5062
|
let i = (e.enumValues ?? []).map((e) => ({
|
|
4994
5063
|
value: e,
|
|
@@ -5029,13 +5098,13 @@ function As(e, t) {
|
|
|
5029
5098
|
}
|
|
5030
5099
|
//#endregion
|
|
5031
5100
|
//#region src/data-sources/http-logs-source.ts
|
|
5032
|
-
var
|
|
5033
|
-
function
|
|
5034
|
-
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ??
|
|
5101
|
+
var Fs = "/logs/search", Is = 10 * 365.25 * 864e5;
|
|
5102
|
+
function Ls(e, t) {
|
|
5103
|
+
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? Fs, a;
|
|
5035
5104
|
function o(e) {
|
|
5036
5105
|
let n = {
|
|
5037
5106
|
method: "POST",
|
|
5038
|
-
headers:
|
|
5107
|
+
headers: ys({ "Content-Type": "application/json" }, e, vs(t?.headers))
|
|
5039
5108
|
};
|
|
5040
5109
|
return r && (n.credentials = r), n;
|
|
5041
5110
|
}
|
|
@@ -5055,7 +5124,7 @@ function Ns(e, t) {
|
|
|
5055
5124
|
let r = {
|
|
5056
5125
|
timeRange: c(a ?? {
|
|
5057
5126
|
type: "absolute",
|
|
5058
|
-
from: Date.now() -
|
|
5127
|
+
from: Date.now() - Is,
|
|
5059
5128
|
to: Date.now()
|
|
5060
5129
|
}),
|
|
5061
5130
|
filters: [{
|
|
@@ -5071,9 +5140,9 @@ function Ns(e, t) {
|
|
|
5071
5140
|
}
|
|
5072
5141
|
return {
|
|
5073
5142
|
async fetchLogs(e) {
|
|
5074
|
-
let t =
|
|
5143
|
+
let t = ii(e.timeRange);
|
|
5075
5144
|
a = t;
|
|
5076
|
-
let r =
|
|
5145
|
+
let r = _s(e.filters), l = { timeRange: c(t) };
|
|
5077
5146
|
r && (l.filters = r);
|
|
5078
5147
|
let u = o();
|
|
5079
5148
|
u.body = JSON.stringify(l), e.signal && (u.signal = e.signal);
|
|
@@ -5092,8 +5161,8 @@ function Ns(e, t) {
|
|
|
5092
5161
|
}
|
|
5093
5162
|
//#endregion
|
|
5094
5163
|
//#region src/routing/DashboardListPage.tsx
|
|
5095
|
-
function
|
|
5096
|
-
let t = o(), n = D(() =>
|
|
5164
|
+
function Rs({ templates: e }) {
|
|
5165
|
+
let t = o(), n = D(() => ba(e, t), [e, t]), r = D(() => [{
|
|
5097
5166
|
id: "name",
|
|
5098
5167
|
accessorKey: "label",
|
|
5099
5168
|
header: "Name",
|
|
@@ -5126,7 +5195,7 @@ function Ps({ templates: e }) {
|
|
|
5126
5195
|
}
|
|
5127
5196
|
//#endregion
|
|
5128
5197
|
//#region src/routing/detail-filter.ts
|
|
5129
|
-
function
|
|
5198
|
+
function zs(e, t, n) {
|
|
5130
5199
|
let r = e.filter((e) => e.field !== t);
|
|
5131
5200
|
return r.push({
|
|
5132
5201
|
field: t,
|
|
@@ -5135,8 +5204,8 @@ function Fs(e, t, n) {
|
|
|
5135
5204
|
value: [n]
|
|
5136
5205
|
}), r;
|
|
5137
5206
|
}
|
|
5138
|
-
function
|
|
5139
|
-
let n =
|
|
5207
|
+
function Bs(e, t) {
|
|
5208
|
+
let n = Ln({
|
|
5140
5209
|
conditions: [...e],
|
|
5141
5210
|
timeRange: t
|
|
5142
5211
|
}), r = new URLSearchParams();
|
|
@@ -5144,9 +5213,9 @@ function Is(e, t) {
|
|
|
5144
5213
|
}
|
|
5145
5214
|
//#endregion
|
|
5146
5215
|
//#region src/routing/LogsRouteElement.tsx
|
|
5147
|
-
function
|
|
5216
|
+
function Vs({ columns: e, getRowId: t, onRowClickOverride: n, detailConfig: r, detailMode: i, pageSize: a, scopeFilterField: o, columnVisibilityStorageKey: s, analyticsFilterMapping: c }) {
|
|
5148
5217
|
let l = !n && !!r && !!t;
|
|
5149
|
-
return l && i === "drawer" && r && t ? /* @__PURE__ */ j(
|
|
5218
|
+
return l && i === "drawer" && r && t ? /* @__PURE__ */ j(Hs, {
|
|
5150
5219
|
columns: e,
|
|
5151
5220
|
getRowId: t,
|
|
5152
5221
|
detailConfig: r,
|
|
@@ -5154,7 +5223,7 @@ function Ls({ columns: e, getRowId: t, onRowClickOverride: n, detailConfig: r, d
|
|
|
5154
5223
|
scopeFilterField: o,
|
|
5155
5224
|
columnVisibilityStorageKey: s,
|
|
5156
5225
|
analyticsFilterMapping: c
|
|
5157
|
-
}) : /* @__PURE__ */ j(
|
|
5226
|
+
}) : /* @__PURE__ */ j(Us, {
|
|
5158
5227
|
columns: e,
|
|
5159
5228
|
getRowId: t,
|
|
5160
5229
|
onRowClickOverride: n,
|
|
@@ -5165,13 +5234,13 @@ function Ls({ columns: e, getRowId: t, onRowClickOverride: n, detailConfig: r, d
|
|
|
5165
5234
|
analyticsFilterMapping: c
|
|
5166
5235
|
});
|
|
5167
5236
|
}
|
|
5168
|
-
function
|
|
5169
|
-
let [s, c] = k(void 0), [l, u] = k([]), { filters: d, setFilters: f } =
|
|
5237
|
+
function Hs({ columns: e, getRowId: t, detailConfig: n, pageSize: r, scopeFilterField: i, columnVisibilityStorageKey: a, analyticsFilterMapping: o }) {
|
|
5238
|
+
let [s, c] = k(void 0), [l, u] = k([]), { filters: d, setFilters: f } = Da(), p = D(() => s ? l.findIndex((e) => t(e) === s) : -1, [
|
|
5170
5239
|
s,
|
|
5171
5240
|
l,
|
|
5172
5241
|
t
|
|
5173
5242
|
]), m = C((e) => c(t(e)), [t]), h = C((e, t) => {
|
|
5174
|
-
f(
|
|
5243
|
+
f(zs(d, e, t)), c(void 0);
|
|
5175
5244
|
}, [d, f]), g = C(() => {
|
|
5176
5245
|
let e = l[p - 1];
|
|
5177
5246
|
e && c(t(e));
|
|
@@ -5187,7 +5256,7 @@ function Rs({ columns: e, getRowId: t, detailConfig: n, pageSize: r, scopeFilter
|
|
|
5187
5256
|
p,
|
|
5188
5257
|
t
|
|
5189
5258
|
]);
|
|
5190
|
-
return /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(
|
|
5259
|
+
return /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(ao, {
|
|
5191
5260
|
columns: e,
|
|
5192
5261
|
onRowClick: m,
|
|
5193
5262
|
getRowId: t,
|
|
@@ -5196,7 +5265,7 @@ function Rs({ columns: e, getRowId: t, detailConfig: n, pageSize: r, scopeFilter
|
|
|
5196
5265
|
scopeFilterField: i,
|
|
5197
5266
|
columnVisibilityStorageKey: a,
|
|
5198
5267
|
analyticsFilterMapping: o
|
|
5199
|
-
}), /* @__PURE__ */ j(
|
|
5268
|
+
}), /* @__PURE__ */ j(cs, {
|
|
5200
5269
|
config: n,
|
|
5201
5270
|
logId: s,
|
|
5202
5271
|
onClose: () => c(void 0),
|
|
@@ -5207,9 +5276,9 @@ function Rs({ columns: e, getRowId: t, detailConfig: n, pageSize: r, scopeFilter
|
|
|
5207
5276
|
hasNext: p >= 0 && p < l.length - 1
|
|
5208
5277
|
})] });
|
|
5209
5278
|
}
|
|
5210
|
-
function
|
|
5279
|
+
function Us({ columns: e, getRowId: t, onRowClickOverride: n, builtInDetailEnabled: r, pageSize: i, scopeFilterField: a, columnVisibilityStorageKey: o, analyticsFilterMapping: s }) {
|
|
5211
5280
|
let c = Bt(), { pathname: l } = zt();
|
|
5212
|
-
return /* @__PURE__ */ j(
|
|
5281
|
+
return /* @__PURE__ */ j(ao, {
|
|
5213
5282
|
columns: e,
|
|
5214
5283
|
onRowClick: D(() => {
|
|
5215
5284
|
if (n) return n;
|
|
@@ -5233,15 +5302,15 @@ function zs({ columns: e, getRowId: t, onRowClickOverride: n, builtInDetailEnabl
|
|
|
5233
5302
|
}
|
|
5234
5303
|
//#endregion
|
|
5235
5304
|
//#region src/routing/ObservabilityDashboardPage.tsx
|
|
5236
|
-
function
|
|
5305
|
+
function Ws(e) {
|
|
5237
5306
|
let [t] = Ht(), n = t.get("live");
|
|
5238
5307
|
return /* @__PURE__ */ j(Zt, {
|
|
5239
5308
|
config: { defaultEnabled: n === "1" || n === "true" },
|
|
5240
|
-
children: /* @__PURE__ */ j(
|
|
5309
|
+
children: /* @__PURE__ */ j(Gs, { ...e })
|
|
5241
5310
|
});
|
|
5242
5311
|
}
|
|
5243
|
-
function
|
|
5244
|
-
let { dashboardId: r } = Vt(), i = o(), a = $t(), [, s] = Ht(), c = D(() =>
|
|
5312
|
+
function Gs({ templates: e, scopeFilterField: t, externalLinks: n }) {
|
|
5313
|
+
let { dashboardId: r } = Vt(), i = o(), a = $t(), [, s] = Ht(), c = D(() => ba(e, i), [e, i]).find((e) => e.id === r), { timeRange: l, filters: u, setTimeRange: d, setFilters: f } = Da(), p = yn(u, nn()), m = a?.isLive ?? !1;
|
|
5245
5314
|
T(() => {
|
|
5246
5315
|
s((e) => {
|
|
5247
5316
|
let t = e.has("live");
|
|
@@ -5258,7 +5327,7 @@ function Vs({ templates: e, scopeFilterField: t, externalLinks: n }) {
|
|
|
5258
5327
|
}, [m, s]);
|
|
5259
5328
|
let h = C((e) => {
|
|
5260
5329
|
e.type === "absolute" && a?.isLive && a.toggle(), d(e);
|
|
5261
|
-
}, [d, a]), g = D(() => c ?
|
|
5330
|
+
}, [d, a]), g = D(() => c ? ya(c, { capabilities: i }) : null, [c, i]);
|
|
5262
5331
|
return !c || !g ? /* @__PURE__ */ j("div", {
|
|
5263
5332
|
className: "flex items-center justify-center p-8 text-muted-foreground",
|
|
5264
5333
|
children: r ? `Dashboard "${r}" not found.` : "No dashboard available."
|
|
@@ -5274,7 +5343,7 @@ function Vs({ templates: e, scopeFilterField: t, externalLinks: n }) {
|
|
|
5274
5343
|
children: [
|
|
5275
5344
|
/* @__PURE__ */ j("div", {
|
|
5276
5345
|
className: "flex flex-1 items-center gap-2",
|
|
5277
|
-
children: /* @__PURE__ */ j(
|
|
5346
|
+
children: /* @__PURE__ */ j(Qr, {
|
|
5278
5347
|
filters: p,
|
|
5279
5348
|
onFiltersChange: f,
|
|
5280
5349
|
scopeFilterField: t
|
|
@@ -5285,14 +5354,14 @@ function Vs({ templates: e, scopeFilterField: t, externalLinks: n }) {
|
|
|
5285
5354
|
className: "text-sm text-muted-foreground transition-colors hover:text-foreground",
|
|
5286
5355
|
children: [e.label, " →"]
|
|
5287
5356
|
}, e.label)),
|
|
5288
|
-
/* @__PURE__ */ j(z, { children: /* @__PURE__ */ j(
|
|
5289
|
-
/* @__PURE__ */ j(
|
|
5357
|
+
/* @__PURE__ */ j(z, { children: /* @__PURE__ */ j(Ea, {}) }),
|
|
5358
|
+
/* @__PURE__ */ j(qn, {
|
|
5290
5359
|
value: l,
|
|
5291
5360
|
onChange: h
|
|
5292
5361
|
})
|
|
5293
5362
|
]
|
|
5294
5363
|
}),
|
|
5295
|
-
/* @__PURE__ */ j(
|
|
5364
|
+
/* @__PURE__ */ j(ma, {
|
|
5296
5365
|
dashboard: g,
|
|
5297
5366
|
timeRange: l,
|
|
5298
5367
|
filters: u
|
|
@@ -5302,23 +5371,23 @@ function Vs({ templates: e, scopeFilterField: t, externalLinks: n }) {
|
|
|
5302
5371
|
}
|
|
5303
5372
|
//#endregion
|
|
5304
5373
|
//#region src/routing/ObservabilityRoutes.tsx
|
|
5305
|
-
var
|
|
5306
|
-
function
|
|
5374
|
+
var Ks = [];
|
|
5375
|
+
function qs(e, t, n) {
|
|
5307
5376
|
return e ? /* @__PURE__ */ j(c, {
|
|
5308
5377
|
dataSource: t,
|
|
5309
5378
|
children: n
|
|
5310
5379
|
}) : n;
|
|
5311
5380
|
}
|
|
5312
|
-
function
|
|
5381
|
+
function Js({ children: e }) {
|
|
5313
5382
|
let t = nn(), { data: n, isLoading: r, isError: i } = N({
|
|
5314
5383
|
queryKey: ["observability", "filter-definitions"],
|
|
5315
5384
|
queryFn: ({ signal: e }) => t.fetchFilterDefinitions(e),
|
|
5316
5385
|
enabled: !!t,
|
|
5317
5386
|
staleTime: 300 * 1e3
|
|
5318
5387
|
});
|
|
5319
|
-
return r ? /* @__PURE__ */ j(
|
|
5388
|
+
return r ? /* @__PURE__ */ j(Ys, {}) : i || !n ? /* @__PURE__ */ j(A, { children: e([]) }) : /* @__PURE__ */ j(A, { children: e(n) });
|
|
5320
5389
|
}
|
|
5321
|
-
function
|
|
5390
|
+
function Ys() {
|
|
5322
5391
|
return /* @__PURE__ */ M("div", {
|
|
5323
5392
|
className: "flex items-center gap-2 p-4",
|
|
5324
5393
|
children: [
|
|
@@ -5328,23 +5397,23 @@ function Gs() {
|
|
|
5328
5397
|
]
|
|
5329
5398
|
});
|
|
5330
5399
|
}
|
|
5331
|
-
function
|
|
5332
|
-
let n = o(), r = D(() =>
|
|
5400
|
+
function Xs({ templates: e, contextFilters: t }) {
|
|
5401
|
+
let n = o(), r = D(() => ba(e, n), [e, n]);
|
|
5333
5402
|
return r.length === 1 && r[0] ? /* @__PURE__ */ j(It, {
|
|
5334
5403
|
to: `./${r[0].id}`,
|
|
5335
5404
|
replace: !0
|
|
5336
5405
|
}) : /* @__PURE__ */ j(un, {
|
|
5337
5406
|
filters: t,
|
|
5338
|
-
children: /* @__PURE__ */ j(
|
|
5407
|
+
children: /* @__PURE__ */ j(Rs, { templates: e })
|
|
5339
5408
|
});
|
|
5340
5409
|
}
|
|
5341
|
-
function
|
|
5342
|
-
let m = on(), g = t ?? m, _ = n(), v = D(() =>
|
|
5410
|
+
function Zs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage: o, logsDataSource: s, logsColumns: c, logsOnRowClick: l, logsGetRowId: u, logsDetailBasePath: f, config: p }) {
|
|
5411
|
+
let m = on(), g = t ?? m, _ = n(), v = D(() => js(e, g), [e, g]), y = i !== void 0 || _ === null, b = i ?? _ ?? v, x = D(() => Ps(e, g), [e, g]), S = r(), C = D(() => p.features.logs?.enabled ? Ls(e, g) : void 0, [
|
|
5343
5412
|
e,
|
|
5344
5413
|
g,
|
|
5345
5414
|
p.features.logs?.enabled
|
|
5346
|
-
]), w = s ?? S ?? C, T = s !== void 0 || S === null, E = p.features.dashboards, O = p.features.logs, k = E?.contextFilters ??
|
|
5347
|
-
if (te) return N ||
|
|
5415
|
+
]), w = s ?? S ?? C, T = s !== void 0 || S === null, E = p.features.dashboards, O = p.features.logs, k = E?.contextFilters ?? Ks, ee = O?.contextFilters ?? Ks, te = O?.enabled, N = O?.logDetail, ne = O?.analyticsFilterMapping, re = D(() => {
|
|
5416
|
+
if (te) return N || Bo({
|
|
5348
5417
|
basePath: f ?? "",
|
|
5349
5418
|
contextChart: { analyticsFilterMapping: ne }
|
|
5350
5419
|
});
|
|
@@ -5358,7 +5427,7 @@ function qs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage:
|
|
|
5358
5427
|
children: /* @__PURE__ */ M(Rt, { children: [
|
|
5359
5428
|
E?.enabled && /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(Lt, {
|
|
5360
5429
|
path: "dashboards",
|
|
5361
|
-
element: /* @__PURE__ */ j(
|
|
5430
|
+
element: /* @__PURE__ */ j(Xs, {
|
|
5362
5431
|
templates: E.templates,
|
|
5363
5432
|
contextFilters: k
|
|
5364
5433
|
})
|
|
@@ -5366,7 +5435,7 @@ function qs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage:
|
|
|
5366
5435
|
path: "dashboards/:dashboardId",
|
|
5367
5436
|
element: /* @__PURE__ */ j(un, {
|
|
5368
5437
|
filters: k,
|
|
5369
|
-
children: /* @__PURE__ */ j(
|
|
5438
|
+
children: /* @__PURE__ */ j(Ws, {
|
|
5370
5439
|
templates: E.templates,
|
|
5371
5440
|
scopeFilterField: E.scopeFilterField,
|
|
5372
5441
|
externalLinks: E.externalLinks
|
|
@@ -5377,7 +5446,7 @@ function qs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage:
|
|
|
5377
5446
|
path: "logs",
|
|
5378
5447
|
element: /* @__PURE__ */ j(un, {
|
|
5379
5448
|
filters: ee,
|
|
5380
|
-
children: o ?? (w && c ?
|
|
5449
|
+
children: o ?? (w && c ? qs(T, w, /* @__PURE__ */ j(Vs, {
|
|
5381
5450
|
columns: c,
|
|
5382
5451
|
getRowId: u,
|
|
5383
5452
|
onRowClickOverride: l,
|
|
@@ -5397,7 +5466,7 @@ function qs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage:
|
|
|
5397
5466
|
path: "logs/:logId",
|
|
5398
5467
|
element: /* @__PURE__ */ j(un, {
|
|
5399
5468
|
filters: ee,
|
|
5400
|
-
children:
|
|
5469
|
+
children: qs(T, w, /* @__PURE__ */ j(Qs, { config: re }))
|
|
5401
5470
|
})
|
|
5402
5471
|
}),
|
|
5403
5472
|
/* @__PURE__ */ j(Lt, {
|
|
@@ -5416,21 +5485,21 @@ function qs({ baseUrl: e, http: t, dataSource: i, filterProviders: a, logsPage:
|
|
|
5416
5485
|
] })
|
|
5417
5486
|
}), P = /* @__PURE__ */ j(tn, {
|
|
5418
5487
|
source: x,
|
|
5419
|
-
children: a ? ae(a) : /* @__PURE__ */ j(
|
|
5488
|
+
children: a ? ae(a) : /* @__PURE__ */ j(Js, { children: (e) => ae(e) })
|
|
5420
5489
|
});
|
|
5421
5490
|
return y ? /* @__PURE__ */ j(d, {
|
|
5422
5491
|
dataSource: b,
|
|
5423
5492
|
children: P
|
|
5424
5493
|
}) : P;
|
|
5425
5494
|
}
|
|
5426
|
-
function
|
|
5427
|
-
let t = Bt(), { filters: n, timeRange: r } =
|
|
5428
|
-
return /* @__PURE__ */ j(
|
|
5495
|
+
function Qs({ config: e }) {
|
|
5496
|
+
let t = Bt(), { filters: n, timeRange: r } = Da();
|
|
5497
|
+
return /* @__PURE__ */ j(us, {
|
|
5429
5498
|
config: e,
|
|
5430
5499
|
onFilter: C((e, i) => {
|
|
5431
5500
|
t({
|
|
5432
5501
|
pathname: "..",
|
|
5433
|
-
search:
|
|
5502
|
+
search: Bs(zs(n, e, i), r)
|
|
5434
5503
|
}, { relative: "path" });
|
|
5435
5504
|
}, [
|
|
5436
5505
|
n,
|
|
@@ -5441,7 +5510,7 @@ function Js({ config: e }) {
|
|
|
5441
5510
|
}
|
|
5442
5511
|
//#endregion
|
|
5443
5512
|
//#region src/routing/define-observability-features.ts
|
|
5444
|
-
var
|
|
5513
|
+
var $s = {
|
|
5445
5514
|
dashboards: {
|
|
5446
5515
|
icon: $e,
|
|
5447
5516
|
title: "Dashboards",
|
|
@@ -5453,10 +5522,10 @@ var Ys = {
|
|
|
5453
5522
|
order: 1
|
|
5454
5523
|
}
|
|
5455
5524
|
};
|
|
5456
|
-
function
|
|
5457
|
-
let t = e.basePath ?? "observe", n =
|
|
5525
|
+
function ec(e) {
|
|
5526
|
+
let t = e.basePath ?? "observe", n = tc(e), r = nc(e, n, t), i = n.map((e) => `${t}/${e}`), a = rc(n, t);
|
|
5458
5527
|
function o(t) {
|
|
5459
|
-
return b(
|
|
5528
|
+
return b(Zs, {
|
|
5460
5529
|
...t,
|
|
5461
5530
|
config: e
|
|
5462
5531
|
});
|
|
@@ -5485,13 +5554,13 @@ function Xs(e) {
|
|
|
5485
5554
|
breadcrumbSegments: c
|
|
5486
5555
|
};
|
|
5487
5556
|
}
|
|
5488
|
-
function
|
|
5557
|
+
function tc(e) {
|
|
5489
5558
|
let t = [];
|
|
5490
|
-
return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), t.sort((e, t) =>
|
|
5559
|
+
return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), t.sort((e, t) => $s[e].order - $s[t].order);
|
|
5491
5560
|
}
|
|
5492
|
-
function
|
|
5561
|
+
function nc(e, t, n) {
|
|
5493
5562
|
let r = t.map((t) => {
|
|
5494
|
-
let r =
|
|
5563
|
+
let r = $s[t], i = e.nav.overrides?.[t];
|
|
5495
5564
|
return {
|
|
5496
5565
|
key: `${n}/${t}`,
|
|
5497
5566
|
title: i?.title ?? r.title,
|
|
@@ -5503,10 +5572,10 @@ function Qs(e, t, n) {
|
|
|
5503
5572
|
items: r
|
|
5504
5573
|
};
|
|
5505
5574
|
}
|
|
5506
|
-
function
|
|
5575
|
+
function rc(e, t) {
|
|
5507
5576
|
let n = {};
|
|
5508
5577
|
for (let r of e) {
|
|
5509
|
-
let e =
|
|
5578
|
+
let e = $s[r], i = `${t}/${r}`;
|
|
5510
5579
|
n[i] = {
|
|
5511
5580
|
path: `${t}/${r}`,
|
|
5512
5581
|
label: e.title
|
|
@@ -5516,7 +5585,7 @@ function $s(e, t) {
|
|
|
5516
5585
|
}
|
|
5517
5586
|
//#endregion
|
|
5518
5587
|
//#region src/build-observability-base-url.ts
|
|
5519
|
-
function
|
|
5588
|
+
function ic(e, t, n) {
|
|
5520
5589
|
let r = e;
|
|
5521
5590
|
if (n?.useDevProxy) try {
|
|
5522
5591
|
r = new URL(r).pathname;
|
|
@@ -5525,12 +5594,12 @@ function ec(e, t, n) {
|
|
|
5525
5594
|
}
|
|
5526
5595
|
//#endregion
|
|
5527
5596
|
//#region src/data-sources/http-traces-source.ts
|
|
5528
|
-
var
|
|
5529
|
-
function
|
|
5597
|
+
var ac = "/observability/traces/search";
|
|
5598
|
+
function oc(e) {
|
|
5530
5599
|
return e / 1e6;
|
|
5531
5600
|
}
|
|
5532
|
-
function
|
|
5533
|
-
let t =
|
|
5601
|
+
function sc(e) {
|
|
5602
|
+
let t = oc(e.durationNanos);
|
|
5534
5603
|
return {
|
|
5535
5604
|
traceId: e.traceId,
|
|
5536
5605
|
rootOperationName: e.rootOperationName,
|
|
@@ -5541,8 +5610,8 @@ function rc(e) {
|
|
|
5541
5610
|
status: e.status
|
|
5542
5611
|
};
|
|
5543
5612
|
}
|
|
5544
|
-
function
|
|
5545
|
-
let t = e.startTimeEpochMs, n =
|
|
5613
|
+
function cc(e) {
|
|
5614
|
+
let t = e.startTimeEpochMs, n = oc(e.durationNanos);
|
|
5546
5615
|
return {
|
|
5547
5616
|
traceId: e.traceId,
|
|
5548
5617
|
spanId: e.spanId,
|
|
@@ -5559,21 +5628,21 @@ function ic(e) {
|
|
|
5559
5628
|
payloadLogs: e.payloadLogs
|
|
5560
5629
|
};
|
|
5561
5630
|
}
|
|
5562
|
-
function
|
|
5631
|
+
function lc(e) {
|
|
5563
5632
|
return {
|
|
5564
|
-
...
|
|
5565
|
-
spans: e.spans.map(
|
|
5633
|
+
...sc(e),
|
|
5634
|
+
spans: e.spans.map(cc)
|
|
5566
5635
|
};
|
|
5567
5636
|
}
|
|
5568
|
-
function
|
|
5637
|
+
function uc(e) {
|
|
5569
5638
|
return e.endsWith("/search") ? e.slice(0, -7) : e;
|
|
5570
5639
|
}
|
|
5571
|
-
function
|
|
5572
|
-
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ??
|
|
5640
|
+
function dc(e, t) {
|
|
5641
|
+
let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? ac, a = uc(i);
|
|
5573
5642
|
function o(e) {
|
|
5574
5643
|
let n = {
|
|
5575
5644
|
method: e,
|
|
5576
|
-
headers:
|
|
5645
|
+
headers: ys(e === "GET" ? void 0 : { "Content-Type": "application/json" }, vs(t?.headers))
|
|
5577
5646
|
};
|
|
5578
5647
|
return r && (n.credentials = r), n;
|
|
5579
5648
|
}
|
|
@@ -5591,7 +5660,7 @@ function sc(e, t) {
|
|
|
5591
5660
|
}
|
|
5592
5661
|
return {
|
|
5593
5662
|
async fetchTraces(e) {
|
|
5594
|
-
let t =
|
|
5663
|
+
let t = ii(e.timeRange), r = _s(e.filters), a = {
|
|
5595
5664
|
apiId: e.apiId,
|
|
5596
5665
|
timeRange: c(t)
|
|
5597
5666
|
};
|
|
@@ -5602,7 +5671,7 @@ function sc(e, t) {
|
|
|
5602
5671
|
if (!u.ok) throw Error(`[gamma-lib-observability] HTTP ${u.status} on POST ${i}`);
|
|
5603
5672
|
let d = await u.json();
|
|
5604
5673
|
return {
|
|
5605
|
-
entries: (d.data ?? []).map(
|
|
5674
|
+
entries: (d.data ?? []).map(sc),
|
|
5606
5675
|
totalCount: d.pagination?.totalCount,
|
|
5607
5676
|
page: d.pagination?.page,
|
|
5608
5677
|
pageCount: d.pagination?.pageCount
|
|
@@ -5613,9 +5682,9 @@ function sc(e, t) {
|
|
|
5613
5682
|
t.signal && (i.signal = t.signal);
|
|
5614
5683
|
let s = await n(r, i);
|
|
5615
5684
|
if (!s.ok) throw Error(`[gamma-lib-observability] HTTP ${s.status} on GET ${a}/${t.traceId}`);
|
|
5616
|
-
return
|
|
5685
|
+
return lc(await s.json());
|
|
5617
5686
|
}
|
|
5618
5687
|
};
|
|
5619
5688
|
}
|
|
5620
5689
|
//#endregion
|
|
5621
|
-
export {
|
|
5690
|
+
export { bi as BarPresentation, Mn as CODEC_VERSION, l as CapabilityProvider, Fi as CartesianPresentation, un as ContextFiltersProvider, Ni as DASHBOARD_BUCKET_TARGET, e as DEFAULT_CAPABILITIES, Jt as DEFAULT_MEASURE, Tn as DEFAULT_PERIOD, Yt as DEFAULT_REFRESH_INTERVAL_MS, W as DEFAULT_STALE_TIME, Nn as DEFAULT_TIME_RANGE, i as DashboardPersistenceProvider, Sa as DashboardTemplatesProvider, ma as DashboardView, zi as DoughnutPresentation, _ as FILTER_OPERATORS, Qr as FilterBar, Ur as FilterChip, Fr as FilterPopoverForm, h as FilterProvidersProvider, Si as HTTP_STATUS_PALETTE, an as HttpProvider, Ea as LiveIndicator, Zt as LiveRefreshProvider, X as LogDetailCodeBlock, Go as LogDetailContextChart, cs as LogDetailDrawer, Xo as LogDetailDrawerShell, Z as LogDetailEmptyField, es as LogDetailHeader, Q as LogDetailHeadersTable, ho as LogDetailJsonTree, $ as LogDetailKeyValueGrid, ts as LogDetailMetrics, us as LogDetailPage, is as LogDetailSection, rs as LogDetailSections, Aa as LogSeverityBadge, Ha as LogTable, c as LogsDataSourceProvider, ao as LogsExplorerPage, Xi as MetricGroupPresentation, ta as MetricPresentation, d as MetricsDataSourceProvider, kn as PERIOD_DISPLAY_LABELS, On as PERIOD_LABELS, En as PRESET_CATEGORIES, Dn as RELATIVE_PERIODS, qn as TimeRangePicker, s as TracesDataSourceProvider, _a as WidgetGroup, ua as WidgetItem, uo as buildApiTypeLink, zr as buildChipLabel, Br as buildChipLabelParts, Vr as buildChipTooltip, fo as buildDefaultConnectionLogColumns, Bo as buildDefaultLogDetailConfig, oo as buildLogsDeepLink, ic as buildObservabilityBaseUrl, oa as clearWidgetRenderers, Pi as computeBucketInterval, Yi as computePreviousTimeRange, Ui as computeTrend, yo as connectionLogPreset, js as createHttpDataSource, Ps as createHttpFilterSource, Ls as createHttpLogsSource, dc as createHttpTracesSource, Rn as decodeObservabilityState, va as defineDashboardTemplate, nr as defineFilterProvider, Lo as defineLogDetail, ec as defineObservabilityFeatures, Ln as encodeObservabilityState, Vi as extractMeasureValue, Wi as extractSparklineData, li as facetsToBar, ci as facetsToDoughnut, Jn as getLocaleWeekStart, aa as getWidgetRenderer, Gt as isBarWidget, Ut as isCartesianWidget, Wt as isDoughnutWidget, qt as isMetricGroupWidget, Kt as isMetricWidget, Dr as isMultiSelectForFilter, Ua as mapAnalyticsFilters, Hi as measureResultToMetric, q as mergeFilters, Di as mergeTimeSeriesToCartesian, To as messageLogPreset, Or as normalizeMembershipOperatorForValues, K as observabilityQueryKeys, wr as operatorLabel, Tr as operatorNeedsValue, ca as registerDefaultRenderers, ia as registerWidgetRenderer, ya as resolveDashboardFromTemplate, wi as resolveGroupColor, Ro as resolveLogDetailVariant, U as resolveMeasure, zo as resolvePreset, tr as resolveRelativePeriod, ii as resolveStableTimeRange, o as useCapabilities, a as useCapability, J as useContextFilters, f as useDashboardPersistence, wa as useDashboardTemplate, Ca as useDashboardTemplates, fn as useFacetsQuery, u as useFilterProvider, p as useFilterProviders, on as useHttpOptions, Qt as useLiveRefresh, qo as useLogDetailDrawerExpand, pn as useLogDetailQuery, g as useLogsDataSource, _n as useLogsPagedQuery, mn as useLogsQuery, vn as useMeasuresQuery, ui as useMergedWidgetFilters, m as useMetricsDataSource, $t as useOptionalLiveRefresh, r as useOptionalLogsDataSource, n as useOptionalMetricsDataSource, Y as useStableTimeRange, bn as useTimeSeriesQuery, xn as useTraceDetailQuery, t as useTracesDataSource, wn as useTracesPagedQuery, ni as useWidgetGroupContext, Ao as webhookLogPreset };
|