@gravitee/gamma-lib-observability 2.0.0 → 2.1.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/index.js CHANGED
@@ -9699,34 +9699,212 @@ function tp(e, t) {
9699
9699
  return e.length === 0 ? "all values" : e.map((e, n) => t?.[n] ?? e).join(", ");
9700
9700
  }
9701
9701
  //#endregion
9702
+ //#region src/data-sources/dashboard-errors.ts
9703
+ var np = class extends Error {
9704
+ status;
9705
+ constructor(e, t) {
9706
+ super(t), this.name = "DashboardPersistenceError", this.status = e;
9707
+ }
9708
+ }, rp = class extends np {
9709
+ constructor(e) {
9710
+ super(403, e), this.name = "DashboardForbiddenError";
9711
+ }
9712
+ }, ip = class extends np {
9713
+ dashboardId;
9714
+ constructor(e, t) {
9715
+ super(404, t), this.name = "DashboardNotFoundError", this.dashboardId = e;
9716
+ }
9717
+ }, ap = class extends np {
9718
+ currentVersion;
9719
+ currentDashboard;
9720
+ constructor(e, t, n) {
9721
+ super(412, e), this.name = "DashboardConflictError", this.currentDashboard = t, this.currentVersion = n;
9722
+ }
9723
+ }, op = {
9724
+ type: "relative",
9725
+ period: "24h"
9726
+ };
9727
+ function sp(e) {
9728
+ return e.toLowerCase();
9729
+ }
9730
+ function cp(e) {
9731
+ return {
9732
+ name: e.field,
9733
+ ...e.label === void 0 ? {} : { label: e.label },
9734
+ operator: e.operator.toUpperCase(),
9735
+ value: [...e.value],
9736
+ editable: e.editable === !0
9737
+ };
9738
+ }
9739
+ function lp(e) {
9740
+ let t = e.label ?? void 0;
9741
+ return {
9742
+ field: e.name,
9743
+ ...t === void 0 ? {} : { label: t },
9744
+ operator: sp(e.operator),
9745
+ value: e.value ?? [],
9746
+ editable: e.editable === !0
9747
+ };
9748
+ }
9749
+ function up(e) {
9750
+ return e.type === "relative" ? {
9751
+ type: "relative",
9752
+ period: e.period
9753
+ } : {
9754
+ type: "absolute",
9755
+ from: e.from,
9756
+ to: e.to
9757
+ };
9758
+ }
9759
+ function dp(e) {
9760
+ if (!e) return op;
9761
+ if (e.type === "absolute") {
9762
+ let t = e.from ?? void 0, n = e.to ?? void 0;
9763
+ return t === void 0 || n === void 0 ? op : {
9764
+ type: "absolute",
9765
+ from: t,
9766
+ to: n
9767
+ };
9768
+ }
9769
+ let t = e.period ?? void 0;
9770
+ return t === void 0 ? op : {
9771
+ type: "relative",
9772
+ period: t
9773
+ };
9774
+ }
9775
+ function fp(e) {
9776
+ let t = e.description ?? void 0;
9777
+ return {
9778
+ id: e.id,
9779
+ title: e.title,
9780
+ ...t === void 0 ? {} : { description: t },
9781
+ widgets: e.widgets ?? [],
9782
+ filters: (e.filters ?? []).map(lp),
9783
+ timeRange: dp(e.timeRange),
9784
+ createdAt: e.createdAt ?? 0,
9785
+ updatedAt: e.updatedAt ?? e.createdAt ?? 0
9786
+ };
9787
+ }
9788
+ function pp(e, t) {
9789
+ return {
9790
+ ...t.includeId ? { id: e.id } : {},
9791
+ title: e.title,
9792
+ ...e.description === void 0 ? {} : { description: e.description },
9793
+ filters: e.filters.map(cp),
9794
+ timeRange: up(e.timeRange),
9795
+ widgets: e.widgets
9796
+ };
9797
+ }
9798
+ //#endregion
9702
9799
  //#region src/data-sources/http-utils.ts
9703
- function np(e) {
9800
+ function mp(e) {
9704
9801
  if (e) return typeof e == "function" ? e() : e;
9705
9802
  }
9706
- function rp(...e) {
9803
+ function hp(...e) {
9707
9804
  let t = new Headers();
9708
9805
  for (let n of e) n && new Headers(n).forEach((e, n) => t.set(n, e));
9709
9806
  return t;
9710
9807
  }
9711
9808
  //#endregion
9809
+ //#region src/data-sources/http-dashboard-persistence.ts
9810
+ var gp = "/observability/dashboards", _p = 100, vp = "*";
9811
+ function yp(e, t) {
9812
+ let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.dashboardsPath ?? gp, a = `${e}${i}`, o = (e) => `${a}/${encodeURIComponent(e)}`, s = /* @__PURE__ */ new Map();
9813
+ function c(e, n) {
9814
+ let i = {
9815
+ method: e,
9816
+ headers: hp(n?.headers, mp(t?.headers))
9817
+ };
9818
+ return n?.body !== void 0 && (i.body = n.body), n?.signal && (i.signal = n.signal), r && (i.credentials = r), i;
9819
+ }
9820
+ function l(e, t, n, r) {
9821
+ return c(e, {
9822
+ headers: hp({ "Content-Type": "application/json" }, r),
9823
+ body: JSON.stringify(t),
9824
+ ...n ? { signal: n } : {}
9825
+ });
9826
+ }
9827
+ function u(e, t, n, r) {
9828
+ if (r === "seed" && s.has(e)) return;
9829
+ let i = t ?? (typeof n == "number" ? `"${n}"` : null);
9830
+ i && s.set(e, i);
9831
+ }
9832
+ async function d(e) {
9833
+ try {
9834
+ return await e.json();
9835
+ } catch {
9836
+ return null;
9837
+ }
9838
+ }
9839
+ async function f(e, t, n) {
9840
+ let r = await d(e), i = r?.message ?? `[gamma-lib-observability] HTTP ${e.status} on ${t}`;
9841
+ switch (e.status) {
9842
+ case 403: return new rp(i);
9843
+ case 404: return n === void 0 ? new np(e.status, i) : new ip(n, i);
9844
+ case 412: return r?.dashboard ? new ap(i, fp(r.dashboard), r.currentVersion ?? r.dashboard.version ?? void 0) : new np(e.status, i);
9845
+ default: return new np(e.status, i);
9846
+ }
9847
+ }
9848
+ async function p(e, t) {
9849
+ let n = await e.json();
9850
+ return u(n.id, e.headers.get("ETag"), n.version, t), fp(n);
9851
+ }
9852
+ async function m(e, t) {
9853
+ let r = await n(o(e), c("GET", t ? { signal: t } : void 0));
9854
+ if (!r.ok) throw await f(r, `GET ${i}/{dashboardId}`, e);
9855
+ return p(r, "seed");
9856
+ }
9857
+ async function h(e, t) {
9858
+ return s.get(e) || (await m(e, t), s.get(e) ?? vp);
9859
+ }
9860
+ return {
9861
+ fetchDashboard: m,
9862
+ async fetchDashboards(e) {
9863
+ let t = [];
9864
+ for (let r = 1;; r += 1) {
9865
+ let o = await n(`${a}?page=${r}&perPage=${_p}`, c("GET", e ? { signal: e } : void 0));
9866
+ if (!o.ok) throw await f(o, `GET ${i}`);
9867
+ let s = await o.json(), l = s.data ?? [];
9868
+ for (let e of l) u(e.id, null, e.version, "seed"), t.push(fp(e));
9869
+ let d = s.pagination?.pageCount ?? 0;
9870
+ if (l.length === 0 || r >= d) return t;
9871
+ }
9872
+ },
9873
+ async createDashboard(e, t) {
9874
+ let r = await n(a, l("POST", pp(e, { includeId: !0 }), t));
9875
+ if (!r.ok) throw await f(r, `POST ${i}`, e.id);
9876
+ return p(r, "refresh");
9877
+ },
9878
+ async updateDashboard(e, t, r) {
9879
+ let a = r?.force ? vp : await h(e.id, t), s = await n(o(e.id), l("PUT", pp(e, { includeId: !1 }), t, { "If-Match": a }));
9880
+ if (!s.ok) throw await f(s, `PUT ${i}/{dashboardId}`, e.id);
9881
+ return p(s, "refresh");
9882
+ },
9883
+ async deleteDashboard(e, t) {
9884
+ let r = await n(o(e), c("DELETE", t ? { signal: t } : void 0));
9885
+ if (s.delete(e), !r.ok && r.status !== 404) throw await f(r, `DELETE ${i}/{dashboardId}`, e);
9886
+ }
9887
+ };
9888
+ }
9889
+ //#endregion
9712
9890
  //#region src/data-sources/http-data-source.ts
9713
- var ip = {
9891
+ var bp = {
9714
9892
  name: "HTTP_REQUESTS",
9715
9893
  measures: [er]
9716
9894
  };
9717
- function ap(e) {
9895
+ function xp(e) {
9718
9896
  return e.metrics.map((e) => ({
9719
9897
  name: e.name,
9720
9898
  unit: e.unit,
9721
9899
  measures: e.measures ?? []
9722
9900
  }));
9723
9901
  }
9724
- function op(e, t = "", n = "") {
9902
+ function Sp(e, t = "", n = "") {
9725
9903
  let r = [];
9726
9904
  for (let i of e) {
9727
9905
  let e = t ? `${t} / ${i.key}` : i.key, a = n ? `${n}${Ua}${i.name ?? i.key}` : i.name ?? i.key;
9728
9906
  if (i.type === "GROUP" && i.buckets?.length) {
9729
- r.push(...op(i.buckets, e, a));
9907
+ r.push(...Sp(i.buckets, e, a));
9730
9908
  continue;
9731
9909
  }
9732
9910
  r.push({
@@ -9737,12 +9915,12 @@ function op(e, t = "", n = "") {
9737
9915
  }
9738
9916
  return r;
9739
9917
  }
9740
- function sp(e) {
9918
+ function Cp(e) {
9741
9919
  let t = [];
9742
- for (let n of e.metrics) n.buckets && t.push(...op(n.buckets));
9920
+ for (let n of e.metrics) n.buckets && t.push(...Sp(n.buckets));
9743
9921
  return t;
9744
9922
  }
9745
- function cp(e) {
9923
+ function wp(e) {
9746
9924
  let t = [];
9747
9925
  for (let n of e.metrics) if (n.buckets) if (n.buckets.some((e) => e.type === "GROUP" && e.buckets?.length)) {
9748
9926
  let e = /* @__PURE__ */ new Map();
@@ -9779,47 +9957,47 @@ function cp(e) {
9779
9957
  }
9780
9958
  return t;
9781
9959
  }
9782
- function lp(e) {
9960
+ function Tp(e) {
9783
9961
  return {
9784
9962
  ...e,
9785
9963
  measures: e.measures?.length ? e.measures : [er]
9786
9964
  };
9787
9965
  }
9788
- function up(e) {
9789
- let t = pp(e);
9790
- return t.metrics = e.metrics.map(mp), t;
9966
+ function Ep(e) {
9967
+ let t = kp(e);
9968
+ return t.metrics = e.metrics.map(Ap), t;
9791
9969
  }
9792
- function dp(e) {
9793
- let t = pp(e);
9794
- return t.interval = e.interval, t.metrics = e.metrics.map(mp), e.by?.length && (t.by = e.by), e.ranges?.length && (t.ranges = e.ranges), e.limit !== void 0 && (t.limit = e.limit), t;
9970
+ function Dp(e) {
9971
+ let t = kp(e);
9972
+ return t.interval = e.interval, t.metrics = e.metrics.map(Ap), e.by?.length && (t.by = e.by), e.ranges?.length && (t.ranges = e.ranges), e.limit !== void 0 && (t.limit = e.limit), t;
9795
9973
  }
9796
- function fp(e, t) {
9797
- let n = pp(e);
9798
- return n.by = e.by, n.metrics = (e.metrics?.length ? e.metrics : [t]).map(mp), e.ranges?.length && (n.ranges = e.ranges), e.limit !== void 0 && (n.limit = e.limit), n;
9974
+ function Op(e, t) {
9975
+ let n = kp(e);
9976
+ return n.by = e.by, n.metrics = (e.metrics?.length ? e.metrics : [t]).map(Ap), e.ranges?.length && (n.ranges = e.ranges), e.limit !== void 0 && (n.limit = e.limit), n;
9799
9977
  }
9800
- function pp(e) {
9978
+ function kp(e) {
9801
9979
  let t = zr(e.timeRange), n = { timeRange: {
9802
9980
  from: new Date(t.from).toISOString(),
9803
9981
  to: new Date(t.to).toISOString()
9804
9982
  } }, r = qu(e.filters);
9805
9983
  return r && (n.filters = r), n;
9806
9984
  }
9807
- function mp(e) {
9808
- let t = lp(e), n = {
9985
+ function Ap(e) {
9986
+ let t = Tp(e), n = {
9809
9987
  name: t.name,
9810
9988
  measures: t.measures
9811
9989
  }, r = qu(e.filters);
9812
9990
  return r && (n.filters = r), "sorts" in e && e.sorts?.length && (n.sorts = e.sorts), n;
9813
9991
  }
9814
- function hp(e, t) {
9992
+ function jp(e, t) {
9815
9993
  let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = {
9816
- name: t?.defaultFacetMetric?.name ?? ip.name,
9817
- measures: t?.defaultFacetMetric?.measures?.length ? [...t.defaultFacetMetric.measures] : [...ip.measures]
9994
+ name: t?.defaultFacetMetric?.name ?? bp.name,
9995
+ measures: t?.defaultFacetMetric?.measures?.length ? [...t.defaultFacetMetric.measures] : [...bp.measures]
9818
9996
  };
9819
9997
  async function a(i, a, o) {
9820
9998
  let s = {
9821
9999
  method: "POST",
9822
- headers: rp({ "Content-Type": "application/json" }, np(t?.headers)),
10000
+ headers: hp({ "Content-Type": "application/json" }, mp(t?.headers)),
9823
10001
  body: JSON.stringify(a),
9824
10002
  signal: o
9825
10003
  };
@@ -9830,19 +10008,19 @@ function hp(e, t) {
9830
10008
  }
9831
10009
  return {
9832
10010
  async fetchTimeSeries(e) {
9833
- return cp(await a("/observability/analytics/time-series", dp(e), e.signal));
10011
+ return wp(await a("/observability/analytics/time-series", Dp(e), e.signal));
9834
10012
  },
9835
10013
  async fetchFacets(e) {
9836
- return sp(await a("/observability/analytics/facets", fp(e, i), e.signal));
10014
+ return Cp(await a("/observability/analytics/facets", Op(e, i), e.signal));
9837
10015
  },
9838
10016
  async fetchMeasures(e) {
9839
- return ap(await a("/observability/analytics/measures", up(e), e.signal));
10017
+ return xp(await a("/observability/analytics/measures", Ep(e), e.signal));
9840
10018
  }
9841
10019
  };
9842
10020
  }
9843
10021
  //#endregion
9844
10022
  //#region src/data-sources/http-filter-source.ts
9845
- function gp(e) {
10023
+ function Mp(e) {
9846
10024
  return {
9847
10025
  EQ: "eq",
9848
10026
  IN: "in",
@@ -9855,14 +10033,14 @@ function gp(e) {
9855
10033
  CONTAINS: "contains"
9856
10034
  }[e] ?? e.toLowerCase();
9857
10035
  }
9858
- function _p(e) {
10036
+ function Np(e) {
9859
10037
  return e.toUpperCase() === "ENUM" ? "enum" : "async";
9860
10038
  }
9861
- function vp(e, t) {
10039
+ function Pp(e, t) {
9862
10040
  let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials;
9863
10041
  function i(e) {
9864
- let n = { ...e }, i = np(t?.headers);
9865
- return (e?.headers || i) && (n.headers = rp(e?.headers, i)), r && (n.credentials = r), n;
10042
+ let n = { ...e }, i = mp(t?.headers);
10043
+ return (e?.headers || i) && (n.headers = hp(e?.headers, i)), r && (n.credentials = r), n;
9866
10044
  }
9867
10045
  function a(t) {
9868
10046
  return async (r) => {
@@ -9888,7 +10066,7 @@ function vp(e, t) {
9888
10066
  let r = await n(`${e}/observability/filters/definition`, i({ signal: t }));
9889
10067
  if (!r.ok) throw Error(`[gamma-lib-observability] HTTP ${r.status} on GET filters/definition`);
9890
10068
  return (await r.json()).data.map((e) => {
9891
- let t = _p(e.type), n = e.operators.map(gp), r = e.type.toUpperCase(), i = e.apiTypes, o = e.signals;
10069
+ let t = Np(e.type), n = e.operators.map(Mp), r = e.type.toUpperCase(), i = e.apiTypes, o = e.signals;
9892
10070
  if (t === "enum") {
9893
10071
  let r = (e.enumValues ?? []).map((e) => typeof e == "string" ? {
9894
10072
  value: e,
@@ -9943,20 +10121,20 @@ function vp(e, t) {
9943
10121
  }
9944
10122
  //#endregion
9945
10123
  //#region src/data-sources/http-logs-source.ts
9946
- var yp = "/observability/logs/search";
9947
- function bp(e, t) {
9948
- let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? yp;
10124
+ var Fp = "/observability/logs/search";
10125
+ function Ip(e, t) {
10126
+ let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? Fp;
9949
10127
  function a(e) {
9950
10128
  let n = {
9951
10129
  method: "POST",
9952
- headers: rp({ "Content-Type": "application/json" }, e, np(t?.headers))
10130
+ headers: hp({ "Content-Type": "application/json" }, e, mp(t?.headers))
9953
10131
  };
9954
10132
  return r && (n.credentials = r), n;
9955
10133
  }
9956
10134
  function o() {
9957
10135
  let e = {
9958
10136
  method: "GET",
9959
- headers: rp(np(t?.headers))
10137
+ headers: hp(mp(t?.headers))
9960
10138
  };
9961
10139
  return r && (e.credentials = r), e;
9962
10140
  }
@@ -9999,30 +10177,30 @@ function bp(e, t) {
9999
10177
  }
10000
10178
  //#endregion
10001
10179
  //#region src/data-sources/http-traces-source.ts
10002
- var xp = "/observability/traces/search";
10003
- function Sp(e) {
10180
+ var Lp = "/observability/traces/search";
10181
+ function Rp(e) {
10004
10182
  return e / 1e6;
10005
10183
  }
10006
- function Cp(e) {
10184
+ function zp(e) {
10007
10185
  return e;
10008
10186
  }
10009
- function wp(e) {
10187
+ function Bp(e) {
10010
10188
  return {
10011
10189
  name: e.name,
10012
10190
  timestampEpochMs: e.timestampEpochMs,
10013
- attributes: Cp(e.attributes)
10191
+ attributes: zp(e.attributes)
10014
10192
  };
10015
10193
  }
10016
- function Tp(e) {
10194
+ function Vp(e) {
10017
10195
  return {
10018
10196
  timestampEpochMs: e.timestampEpochMs,
10019
10197
  body: e.body,
10020
10198
  severity: e.severity,
10021
- attributes: Cp(e.attributes)
10199
+ attributes: zp(e.attributes)
10022
10200
  };
10023
10201
  }
10024
- function Ep(e) {
10025
- let t = Sp(e.durationNanos);
10202
+ function Hp(e) {
10203
+ let t = Rp(e.durationNanos);
10026
10204
  return {
10027
10205
  traceId: e.traceId,
10028
10206
  rootOperationName: e.rootOperationName,
@@ -10033,8 +10211,8 @@ function Ep(e) {
10033
10211
  status: e.status
10034
10212
  };
10035
10213
  }
10036
- function Dp(e) {
10037
- let t = e.startTimeEpochMs, n = Sp(e.durationNanos);
10214
+ function Up(e) {
10215
+ let t = e.startTimeEpochMs, n = Rp(e.durationNanos);
10038
10216
  return {
10039
10217
  traceId: e.traceId,
10040
10218
  spanId: e.spanId,
@@ -10047,27 +10225,27 @@ function Dp(e) {
10047
10225
  status: e.status,
10048
10226
  kind: e.kind,
10049
10227
  attributes: e.attributes,
10050
- events: e.events.map(wp),
10051
- payloadLogs: e.payloadLogs.map(Tp)
10228
+ events: e.events.map(Bp),
10229
+ payloadLogs: e.payloadLogs.map(Vp)
10052
10230
  };
10053
10231
  }
10054
- function Op(e) {
10055
- let t = e.spans.map(Dp);
10232
+ function Wp(e) {
10233
+ let t = e.spans.map(Up);
10056
10234
  return {
10057
- ...Ep(e),
10235
+ ...Hp(e),
10058
10236
  spanCount: t.length,
10059
10237
  spans: t
10060
10238
  };
10061
10239
  }
10062
- function kp(e) {
10240
+ function Gp(e) {
10063
10241
  return e.endsWith("/search") ? e.slice(0, -7) : e;
10064
10242
  }
10065
- function Ap(e, t) {
10066
- let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? xp, a = kp(i);
10243
+ function Kp(e, t) {
10244
+ let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.searchPath ?? Lp, a = Gp(i);
10067
10245
  function o(e) {
10068
10246
  let n = {
10069
10247
  method: e,
10070
- headers: rp(e === "GET" ? void 0 : { "Content-Type": "application/json" }, np(t?.headers))
10248
+ headers: hp(e === "GET" ? void 0 : { "Content-Type": "application/json" }, mp(t?.headers))
10071
10249
  };
10072
10250
  return r && (n.credentials = r), n;
10073
10251
  }
@@ -10096,7 +10274,7 @@ function Ap(e, t) {
10096
10274
  if (!u.ok) throw Error(`[gamma-lib-observability] HTTP ${u.status} on POST ${i}`);
10097
10275
  let d = await u.json();
10098
10276
  return {
10099
- entries: (d.data ?? []).map(Ep),
10277
+ entries: (d.data ?? []).map(Hp),
10100
10278
  totalCount: d.pagination?.totalCount,
10101
10279
  page: d.pagination?.page,
10102
10280
  pageCount: d.pagination?.pageCount
@@ -10107,13 +10285,13 @@ function Ap(e, t) {
10107
10285
  t.signal && (i.signal = t.signal);
10108
10286
  let s = await n(r, i);
10109
10287
  if (!s.ok) throw Error(`[gamma-lib-observability] HTTP ${s.status} on GET ${a}/${t.traceId}`);
10110
- return Op(await s.json());
10288
+ return Wp(await s.json());
10111
10289
  }
10112
10290
  };
10113
10291
  }
10114
10292
  //#endregion
10115
10293
  //#region src/routing/DashboardListPage.tsx
10116
- function jp(e) {
10294
+ function qp(e) {
10117
10295
  return new Date(e).toLocaleDateString(void 0, {
10118
10296
  month: "short",
10119
10297
  day: "numeric",
@@ -10121,7 +10299,7 @@ function jp(e) {
10121
10299
  minute: "2-digit"
10122
10300
  });
10123
10301
  }
10124
- function Mp({ templates: t }) {
10302
+ function Jp({ templates: t }) {
10125
10303
  let n = e(), r = v("observability.dashboards.write"), i = s(), a = Ju(), o = Rn(), c = r && i !== null, l = k(() => Vs(t, n), [t, n]), u = k(() => {
10126
10304
  let e = l.map((e) => ({
10127
10305
  id: e.id,
@@ -10174,13 +10352,13 @@ function Mp({ templates: t }) {
10174
10352
  header: "Last updated",
10175
10353
  cell: ({ row: e }) => /* @__PURE__ */ N("span", {
10176
10354
  className: "text-muted-foreground",
10177
- children: e.original.updatedAt === void 0 ? "—" : jp(e.original.updatedAt)
10355
+ children: e.original.updatedAt === void 0 ? "—" : qp(e.original.updatedAt)
10178
10356
  })
10179
10357
  },
10180
10358
  {
10181
10359
  id: "actions",
10182
10360
  header: "",
10183
- cell: ({ row: e }) => /* @__PURE__ */ N(Np, {
10361
+ cell: ({ row: e }) => /* @__PURE__ */ N(Yp, {
10184
10362
  row: e.original,
10185
10363
  capabilities: n
10186
10364
  })
@@ -10205,7 +10383,7 @@ function Mp({ templates: t }) {
10205
10383
  })]
10206
10384
  });
10207
10385
  }
10208
- function Np({ row: e, capabilities: t }) {
10386
+ function Yp({ row: e, capabilities: t }) {
10209
10387
  let n = Rn(), r = v("observability.dashboards.write"), i = s(), a = Xu(), o = $u(), [c, l] = j(!1), u = r && i !== null, d = () => e.kind === "custom" ? e.dashboard ?? null : e.template ? Bs(e.template, { capabilities: t }) : null, f = async () => {
10210
10388
  let e = d();
10211
10389
  if (e) try {
@@ -10284,7 +10462,7 @@ function Np({ row: e, capabilities: t }) {
10284
10462
  }
10285
10463
  //#endregion
10286
10464
  //#region src/routing/detail-filter.ts
10287
- function Pp(e, t, n) {
10465
+ function Xp(e, t, n) {
10288
10466
  let r = e.filter((e) => e.field !== t);
10289
10467
  return r.push({
10290
10468
  field: t,
@@ -10292,7 +10470,7 @@ function Pp(e, t, n) {
10292
10470
  value: [n]
10293
10471
  }), r;
10294
10472
  }
10295
- function Fp(e, t) {
10473
+ function Zp(e, t) {
10296
10474
  let n = hi({
10297
10475
  conditions: [...e],
10298
10476
  timeRange: t
@@ -10301,9 +10479,9 @@ function Fp(e, t) {
10301
10479
  }
10302
10480
  //#endregion
10303
10481
  //#region src/routing/LogsRouteElement.tsx
10304
- function Ip({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, detailConfig: i, detailMode: a, pageSize: o, scopeFilterField: s, columnVisibilityStorageKey: c, widget: l }) {
10482
+ function Qp({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, detailConfig: i, detailMode: a, pageSize: o, scopeFilterField: s, columnVisibilityStorageKey: c, widget: l }) {
10305
10483
  let u = !r && !!i && !!t;
10306
- return u && a === "drawer" && i && t ? /* @__PURE__ */ N(Lp, {
10484
+ return u && a === "drawer" && i && t ? /* @__PURE__ */ N($p, {
10307
10485
  columns: e,
10308
10486
  getRowId: t,
10309
10487
  getApiId: n,
@@ -10312,7 +10490,7 @@ function Ip({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, detai
10312
10490
  scopeFilterField: s,
10313
10491
  columnVisibilityStorageKey: c,
10314
10492
  widget: l
10315
- }) : /* @__PURE__ */ N(Rp, {
10493
+ }) : /* @__PURE__ */ N(em, {
10316
10494
  columns: e,
10317
10495
  getRowId: t,
10318
10496
  getApiId: n,
@@ -10324,7 +10502,7 @@ function Ip({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, detai
10324
10502
  widget: l
10325
10503
  });
10326
10504
  }
10327
- function Lp({ columns: e, getRowId: t, getApiId: n, detailConfig: r, pageSize: i, scopeFilterField: a, columnVisibilityStorageKey: o, widget: s }) {
10505
+ function $p({ columns: e, getRowId: t, getApiId: n, detailConfig: r, pageSize: i, scopeFilterField: a, columnVisibilityStorageKey: o, widget: s }) {
10328
10506
  let [c, l] = j(void 0), [u, d] = j(void 0), [f, p] = j([]), { filters: m, setFilters: h } = ec(), g = k(() => c ? f.findIndex((e) => t(e) === c) : -1, [
10329
10507
  c,
10330
10508
  f,
@@ -10332,7 +10510,7 @@ function Lp({ columns: e, getRowId: t, getApiId: n, detailConfig: r, pageSize: i
10332
10510
  ]), _ = D((e) => {
10333
10511
  l(t(e)), d(n?.(e));
10334
10512
  }, [t, n]), v = D((e, t) => {
10335
- h(Pp(m, e, t)), l(void 0), d(void 0);
10513
+ h(Xp(m, e, t)), l(void 0), d(void 0);
10336
10514
  }, [m, h]), y = D(() => {
10337
10515
  let e = f[g - 1];
10338
10516
  e && (l(t(e)), d(n?.(e)));
@@ -10374,7 +10552,7 @@ function Lp({ columns: e, getRowId: t, getApiId: n, detailConfig: r, pageSize: i
10374
10552
  hasNext: g >= 0 && g < f.length - 1
10375
10553
  })] });
10376
10554
  }
10377
- function Rp({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, builtInDetailEnabled: i, pageSize: a, scopeFilterField: o, columnVisibilityStorageKey: s, widget: c }) {
10555
+ function em({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, builtInDetailEnabled: i, pageSize: a, scopeFilterField: o, columnVisibilityStorageKey: s, widget: c }) {
10378
10556
  let l = Rn(), { pathname: u } = Ln();
10379
10557
  return /* @__PURE__ */ N(vc, {
10380
10558
  columns: e,
@@ -10404,7 +10582,7 @@ function Rp({ columns: e, getRowId: t, getApiId: n, onRowClickOverride: r, built
10404
10582
  }
10405
10583
  //#endregion
10406
10584
  //#region src/dashboards/DashboardFilterValueForm.tsx
10407
- function zp({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply: i, onCancel: a }) {
10585
+ function tm({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply: i, onCancel: a }) {
10408
10586
  let [o, s] = j(() => ua(e.value, e.valueLabels)), [c, l] = j(e.value.join(", ")), u = !!(t?.kind === "enum" && t.options || t?.valueLoader), d = u ? o.length === 0 : c.trim() === "", f = t ? aa(t, e.operator) : !1, p = Sa(e);
10409
10587
  function m() {
10410
10588
  let t = {
@@ -10482,12 +10660,12 @@ function zp({ condition: e, provider: t, activeApiTypes: n, onReset: r, onApply:
10482
10660
  }
10483
10661
  //#endregion
10484
10662
  //#region src/dashboards/DashboardFilterChips.tsx
10485
- function Bp(e, t) {
10663
+ function nm(e, t) {
10486
10664
  if (e.length !== t.length) return !1;
10487
10665
  let n = [...t].sort();
10488
10666
  return [...e].sort().every((e, t) => e === n[t]);
10489
10667
  }
10490
- function Vp({ lockedFilters: e, revaluableFilters: t, revaluableDefaults: n, providers: r, activeApiTypes: i, onRevalue: a, onResetRevalue: o }) {
10668
+ function rm({ lockedFilters: e, revaluableFilters: t, revaluableDefaults: n, providers: r, activeApiTypes: i, onRevalue: a, onResetRevalue: o }) {
10491
10669
  return e.length === 0 && t.length === 0 ? null : /* @__PURE__ */ P(M, { children: [e.map((e) => /* @__PURE__ */ N(ad, {
10492
10670
  condition: {
10493
10671
  ...e,
@@ -10499,12 +10677,12 @@ function Vp({ lockedFilters: e, revaluableFilters: t, revaluableDefaults: n, pro
10499
10677
  let s = r.find((t) => t.field === e.field), c = {
10500
10678
  ...e,
10501
10679
  label: Ea(e, r)
10502
- }, l = n?.[t], u = !!(l && !Bp(l.value, e.value));
10680
+ }, l = n?.[t], u = !!(l && !nm(l.value, e.value));
10503
10681
  return /* @__PURE__ */ N(od, {
10504
10682
  condition: c,
10505
10683
  revaluable: !0,
10506
10684
  changedByReader: u,
10507
- renderForm: (t) => /* @__PURE__ */ N(zp, {
10685
+ renderForm: (t) => /* @__PURE__ */ N(tm, {
10508
10686
  condition: c,
10509
10687
  provider: s,
10510
10688
  activeApiTypes: i,
@@ -10521,20 +10699,20 @@ function Vp({ lockedFilters: e, revaluableFilters: t, revaluableDefaults: n, pro
10521
10699
  }
10522
10700
  //#endregion
10523
10701
  //#region src/routing/ObservabilityDashboardPage.tsx
10524
- var Hp = ["ANALYTICS"];
10525
- function Up(e) {
10702
+ var im = ["ANALYTICS"];
10703
+ function am(e) {
10526
10704
  let [t] = Bn(), n = Ke(), r = t.get("live");
10527
10705
  return /* @__PURE__ */ N(ir, {
10528
10706
  config: {
10529
10707
  defaultEnabled: r === "1" || r === "true",
10530
10708
  onResume: D(() => n.invalidateQueries({ queryKey: Z.all }), [n])
10531
10709
  },
10532
- children: /* @__PURE__ */ N(Wp, { ...e })
10710
+ children: /* @__PURE__ */ N(om, { ...e })
10533
10711
  });
10534
10712
  }
10535
- function Wp(t) {
10713
+ function om(t) {
10536
10714
  let { dashboardId: n } = zn(), r = e(), i = s(), a = k(() => Vs(t.templates, r), [t.templates, r]).find((e) => e.id === n), o = Yu(a || !i ? void 0 : n), c = k(() => a ? Bs(a, { capabilities: r }) : null, [a, r]);
10537
- return a && c ? /* @__PURE__ */ N(Gp, {
10715
+ return a && c ? /* @__PURE__ */ N(sm, {
10538
10716
  ...t,
10539
10717
  dashboard: c,
10540
10718
  kind: "template"
@@ -10545,7 +10723,7 @@ function Wp(t) {
10545
10723
  /* @__PURE__ */ N(G, { className: "h-10 w-full" }),
10546
10724
  /* @__PURE__ */ N(G, { className: "h-[420px] w-full" })
10547
10725
  ]
10548
- }) : o.data ? /* @__PURE__ */ N(Gp, {
10726
+ }) : o.data ? /* @__PURE__ */ N(sm, {
10549
10727
  ...t,
10550
10728
  dashboard: o.data,
10551
10729
  kind: "custom"
@@ -10554,7 +10732,7 @@ function Wp(t) {
10554
10732
  children: n ? `Dashboard "${n}" not found.` : "No dashboard available."
10555
10733
  });
10556
10734
  }
10557
- function Gp({ dashboard: e, kind: t, scopeFilterField: n, externalLinks: r }) {
10735
+ function sm({ dashboard: e, kind: t, scopeFilterField: n, externalLinks: r }) {
10558
10736
  let i = or(), [, a] = Bn(), { timeRange: o, filters: s, setTimeRange: c, setFilters: l } = ec({ defaultTimeRange: t === "custom" ? e.timeRange : void 0 }), u = lr(), d = m(), { analyticsFilters: f, excludedFilters: p } = k(() => {
10559
10737
  let { matching: e, excluded: t } = Pi(s, d, "ANALYTICS");
10560
10738
  return {
@@ -10613,7 +10791,7 @@ function Gp({ dashboard: e, kind: t, scopeFilterField: n, externalLinks: r }) {
10613
10791
  className: "mt-0.5 truncate text-xs text-muted-foreground",
10614
10792
  children: e.description
10615
10793
  })]
10616
- }), /* @__PURE__ */ N(Kp, {
10794
+ }), /* @__PURE__ */ N(cm, {
10617
10795
  dashboard: e,
10618
10796
  kind: t
10619
10797
  })]
@@ -10629,8 +10807,8 @@ function Gp({ dashboard: e, kind: t, scopeFilterField: n, externalLinks: r }) {
10629
10807
  filters: b,
10630
10808
  onFiltersChange: w,
10631
10809
  scopeFilterField: n,
10632
- visibleSignals: Hp,
10633
- leadingChips: /* @__PURE__ */ N(Vp, {
10810
+ visibleSignals: im,
10811
+ leadingChips: /* @__PURE__ */ N(rm, {
10634
10812
  lockedFilters: v,
10635
10813
  revaluableFilters: y,
10636
10814
  revaluableDefaults: _.revaluableDefaults,
@@ -10662,7 +10840,7 @@ function Gp({ dashboard: e, kind: t, scopeFilterField: n, externalLinks: r }) {
10662
10840
  ]
10663
10841
  });
10664
10842
  }
10665
- function Kp({ dashboard: e, kind: t }) {
10843
+ function cm({ dashboard: e, kind: t }) {
10666
10844
  let n = Rn(), r = Ln(), i = v("observability.dashboards.write"), a = s(), o = Xu(), c = $u(), [l, u] = j(!1), d = i && a !== null, f = async () => {
10667
10845
  try {
10668
10846
  await navigator.clipboard.writeText(Ad(e)), X.success("Dashboard JSON copied to clipboard");
@@ -10741,7 +10919,7 @@ function Kp({ dashboard: e, kind: t }) {
10741
10919
  }
10742
10920
  //#endregion
10743
10921
  //#region src/data-sources/http-traces-filter-source.ts
10744
- function qp(e) {
10922
+ function lm(e) {
10745
10923
  return {
10746
10924
  EQ: "eq",
10747
10925
  IN: "in",
@@ -10754,15 +10932,15 @@ function qp(e) {
10754
10932
  CONTAINS: "contains"
10755
10933
  }[e] ?? e.toLowerCase();
10756
10934
  }
10757
- function Jp(e) {
10935
+ function um(e) {
10758
10936
  let t = e.toUpperCase();
10759
10937
  return t === "ENUM" || t === "BOOLEAN" ? "enum" : "async";
10760
10938
  }
10761
- function Yp(e, t) {
10939
+ function dm(e, t) {
10762
10940
  let n = t?.fetch ?? globalThis.fetch.bind(globalThis), r = t?.credentials, i = t?.module;
10763
10941
  function a(e) {
10764
- let n = { ...e }, i = np(t?.headers);
10765
- return (e?.headers || i) && (n.headers = rp(e?.headers, i)), r && (n.credentials = r), n;
10942
+ let n = { ...e }, i = mp(t?.headers);
10943
+ return (e?.headers || i) && (n.headers = hp(e?.headers, i)), r && (n.credentials = r), n;
10766
10944
  }
10767
10945
  function o(t) {
10768
10946
  return async (r) => {
@@ -10788,7 +10966,7 @@ function Yp(e, t) {
10788
10966
  let r = await n(`${e}/observability/traces/filters/definition`, a({ signal: t }));
10789
10967
  if (!r.ok) throw Error(`[gamma-lib-observability] HTTP ${r.status} on GET traces/filters/definition`);
10790
10968
  return (await r.json()).data.map((e) => {
10791
- let t = Jp(e.type), n = e.operators.map(qp), r = e.type.toUpperCase();
10969
+ let t = um(e.type), n = e.operators.map(lm), r = e.type.toUpperCase();
10792
10970
  if (r === "BOOLEAN") return {
10793
10971
  field: e.name,
10794
10972
  label: e.label,
@@ -10838,8 +11016,8 @@ function Yp(e, t) {
10838
11016
  }
10839
11017
  //#endregion
10840
11018
  //#region src/routing/TracingFilterProvider.tsx
10841
- function Xp({ baseUrl: e, http: t, module: n, children: r }) {
10842
- let i = k(() => Yp(e, {
11019
+ function fm({ baseUrl: e, http: t, module: n, children: r }) {
11020
+ let i = k(() => dm(e, {
10843
11021
  ...t,
10844
11022
  module: n
10845
11023
  }), [
@@ -10861,15 +11039,15 @@ function Xp({ baseUrl: e, http: t, module: n, children: r }) {
10861
11039
  }
10862
11040
  //#endregion
10863
11041
  //#region src/routing/TracesRouteElement.tsx
10864
- function Zp({ detailMode: e, pageSize: t, columnVisibilityStorageKey: n, toolbarStart: r, emptyVariant: i }) {
10865
- return N(e === "drawer" ? Qp : $p, {
11042
+ function pm({ detailMode: e, pageSize: t, columnVisibilityStorageKey: n, toolbarStart: r, emptyVariant: i }) {
11043
+ return N(e === "drawer" ? mm : hm, {
10866
11044
  pageSize: t,
10867
11045
  columnVisibilityStorageKey: n,
10868
11046
  toolbarStart: r,
10869
11047
  emptyVariant: i
10870
11048
  });
10871
11049
  }
10872
- function Qp({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, emptyVariant: r }) {
11050
+ function mm({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, emptyVariant: r }) {
10873
11051
  let { apiId: i } = zn(), [a, o] = j(void 0), [s, c] = j([]), l = k(() => a ? s.findIndex((e) => e.traceId === a) : -1, [a, s]), u = D((e) => o(e.traceId), []), d = D(() => o(void 0), []), f = D(() => {
10874
11052
  let e = s[l - 1];
10875
11053
  e && o(e.traceId);
@@ -10895,7 +11073,7 @@ function Qp({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, empty
10895
11073
  hasNext: l >= 0 && l < s.length - 1
10896
11074
  })] });
10897
11075
  }
10898
- function $p({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, emptyVariant: r }) {
11076
+ function hm({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, emptyVariant: r }) {
10899
11077
  let i = Rn(), { pathname: a } = Ln(), { apiId: o } = zn();
10900
11078
  return /* @__PURE__ */ N(Nl, {
10901
11079
  onRowClick: k(() => {
@@ -10915,7 +11093,7 @@ function $p({ pageSize: e, columnVisibilityStorageKey: t, toolbarStart: n, empty
10915
11093
  }
10916
11094
  //#endregion
10917
11095
  //#region src/routing/TracingScreen.tsx
10918
- function em(e) {
11096
+ function gm(e) {
10919
11097
  let t = e !== void 0 && Kl(e), n = F({
10920
11098
  queryKey: Z.tracingApis(),
10921
11099
  queryFn: ({ signal: t }) => e(t),
@@ -10939,19 +11117,19 @@ function em(e) {
10939
11117
  refetch: () => {}
10940
11118
  };
10941
11119
  }
10942
- function tm(e) {
11120
+ function _m(e) {
10943
11121
  return k(() => {
10944
11122
  if (!(e === void 0 || !Jl(e))) return ql(e);
10945
11123
  }, [e]);
10946
11124
  }
10947
- function nm({ loadTracingApis: e, detailMode: t = "drawer", pageSize: n, columnVisibilityStorageKey: r }) {
10948
- let { apiId: i } = zn(), a = Rn(), { pathname: o } = Ln(), { options: s, loading: c, error: l, refetch: u } = em(e), d = tm(e), f = e !== void 0, p = k(() => {
11125
+ function vm({ loadTracingApis: e, detailMode: t = "drawer", pageSize: n, columnVisibilityStorageKey: r }) {
11126
+ let { apiId: i } = zn(), a = Rn(), { pathname: o } = Ln(), { options: s, loading: c, error: l, refetch: u } = gm(e), d = _m(e), f = e !== void 0, p = k(() => {
10949
11127
  let e = o.replace(/\/+$/, "");
10950
11128
  if (!i) return e;
10951
11129
  let t = e.lastIndexOf("/");
10952
11130
  return t > 0 ? e.slice(0, t) : e;
10953
11131
  }, [o, i]), m = D((e) => a(`${p}/${encodeURIComponent(e)}`), [a, p]);
10954
- return /* @__PURE__ */ N(Zp, {
11132
+ return /* @__PURE__ */ N(pm, {
10955
11133
  detailMode: t,
10956
11134
  pageSize: n,
10957
11135
  columnVisibilityStorageKey: r,
@@ -10973,9 +11151,9 @@ function nm({ loadTracingApis: e, detailMode: t = "drawer", pageSize: n, columnV
10973
11151
  }
10974
11152
  //#endregion
10975
11153
  //#region src/routing/ObservabilityRoutes.tsx
10976
- var rm = [];
10977
- function im(e, t) {
10978
- let n = e?.scopeApiTypes ?? t, r = e?.contextFilters ?? rm, i = e?.scopeFilterField;
11154
+ var ym = [];
11155
+ function bm(e, t) {
11156
+ let n = e?.scopeApiTypes ?? t, r = e?.contextFilters ?? ym, i = e?.scopeFilterField;
10979
11157
  return n?.length && (i ||= "API_TYPE", r.some((e) => e.field === "API_TYPE") || (r = [{
10980
11158
  field: "API_TYPE",
10981
11159
  operator: "in",
@@ -10985,28 +11163,28 @@ function im(e, t) {
10985
11163
  scopeFilterField: i
10986
11164
  };
10987
11165
  }
10988
- function am(e, t, n) {
11166
+ function xm(e, t, n) {
10989
11167
  return e ? /* @__PURE__ */ N(_, {
10990
11168
  dataSource: t,
10991
11169
  children: n
10992
11170
  }) : n;
10993
11171
  }
10994
- function om(e, t, n) {
11172
+ function Sm(e, t, n) {
10995
11173
  return e ? /* @__PURE__ */ N(c, {
10996
11174
  dataSource: t,
10997
11175
  children: n
10998
11176
  }) : n;
10999
11177
  }
11000
- function sm({ children: e }) {
11178
+ function Cm({ children: e }) {
11001
11179
  let t = lr(), { data: n, isLoading: r, isError: i } = F({
11002
11180
  queryKey: ["observability", "filter-definitions"],
11003
11181
  queryFn: ({ signal: e }) => t.fetchFilterDefinitions(e),
11004
11182
  enabled: !!t,
11005
11183
  staleTime: 300 * 1e3
11006
11184
  });
11007
- return r ? /* @__PURE__ */ N(cm, {}) : i || !n ? /* @__PURE__ */ N(M, { children: e([]) }) : /* @__PURE__ */ N(M, { children: e(n) });
11185
+ return r ? /* @__PURE__ */ N(wm, {}) : i || !n ? /* @__PURE__ */ N(M, { children: e([]) }) : /* @__PURE__ */ N(M, { children: e(n) });
11008
11186
  }
11009
- function cm() {
11187
+ function wm() {
11010
11188
  return /* @__PURE__ */ P("div", {
11011
11189
  className: "flex items-center gap-2 p-4",
11012
11190
  children: [
@@ -11016,26 +11194,26 @@ function cm() {
11016
11194
  ]
11017
11195
  });
11018
11196
  }
11019
- function lm({ baseUrl: e, http: t, children: n }) {
11197
+ function Tm({ baseUrl: e, http: t, children: n }) {
11020
11198
  let { apiId: r } = zn();
11021
- return /* @__PURE__ */ N(Xp, {
11199
+ return /* @__PURE__ */ N(fm, {
11022
11200
  baseUrl: e,
11023
11201
  http: t,
11024
11202
  module: r,
11025
11203
  children: n
11026
11204
  });
11027
11205
  }
11028
- function um({ templates: t, contextFilters: n }) {
11206
+ function Em({ templates: t, contextFilters: n }) {
11029
11207
  let r = e(), i = s(), a = Ju(), o = k(() => Vs(t, r), [t, r]), c = r["observability.dashboards.write"] && i !== null, l = i !== null && a.isLoading, u = (a.data?.length ?? 0) > 0;
11030
11208
  return !c && !l && !u && o.length === 1 && o[0] ? /* @__PURE__ */ N(Pn, {
11031
11209
  to: `./${o[0].id}`,
11032
11210
  replace: !0
11033
11211
  }) : l && !c ? null : /* @__PURE__ */ N(Or, {
11034
11212
  filters: n,
11035
- children: /* @__PURE__ */ N(Mp, { templates: t })
11213
+ children: /* @__PURE__ */ N(Jp, { templates: t })
11036
11214
  });
11037
11215
  }
11038
- function dm({ contextFilters: t, scopeFilterField: n }) {
11216
+ function Dm({ contextFilters: t, scopeFilterField: n }) {
11039
11217
  let r = e(), i = s();
11040
11218
  return !r["observability.dashboards.write"] || i === null ? /* @__PURE__ */ N(Pn, {
11041
11219
  to: "..",
@@ -11046,127 +11224,131 @@ function dm({ contextFilters: t, scopeFilterField: n }) {
11046
11224
  children: /* @__PURE__ */ N(Zf, { scopeFilterField: n })
11047
11225
  });
11048
11226
  }
11049
- function fm({ baseUrl: n, tracesBaseUrl: r, http: i, dataSource: o, filterProviders: s, logsPage: c, logsDataSource: u, logsColumns: d, logsOnRowClick: f, logsGetRowId: p, logsGetApiId: m, logsDetailBasePath: _, tracesDataSource: v, loadTracingApis: y, config: b }) {
11050
- let x = fr(), S = i ?? x, C = e(), w = l(), T = k(() => hp(n, S), [n, S]), ee = o !== void 0 || w === null, te = o ?? w ?? T, ne = k(() => vp(n, S), [n, S]), re = a(), ie = k(() => b.features.logs?.enabled ? bp(n, S) : void 0, [
11227
+ function Om({ baseUrl: n, tracesBaseUrl: r, http: i, dataSource: o, filterProviders: c, logsPage: u, logsDataSource: d, logsColumns: f, logsOnRowClick: m, logsGetRowId: _, logsGetApiId: v, logsDetailBasePath: y, tracesDataSource: b, loadTracingApis: x, config: S }) {
11228
+ let C = fr(), w = i ?? C, T = e(), ee = l(), te = k(() => jp(n, w), [n, w]), ne = o !== void 0 || ee === null, re = o ?? ee ?? te, ie = k(() => Pp(n, w), [n, w]), ae = a(), oe = k(() => S.features.logs?.enabled ? Ip(n, w) : void 0, [
11051
11229
  n,
11052
- S,
11053
- b.features.logs?.enabled
11054
- ]), ae = u ?? re ?? ie, oe = u !== void 0 || re === null, se = t(), ce = r ?? n, le = k(() => b.features.tracing?.enabled ? Ap(ce, S) : void 0, [
11055
- ce,
11056
- S,
11057
- b.features.tracing?.enabled
11058
- ]), E = v ?? se ?? le, ue = v !== void 0 || se === null, de = b.features.dashboards, fe = b.features.logs, pe = b.features.tracing, me = im(de, b.scopeApiTypes), he = im(fe, b.scopeApiTypes), ge = fe?.enabled, _e = fe?.logDetail, ve = k(() => {
11059
- if (ge) return _e || $c({ basePath: _ ?? "" });
11230
+ w,
11231
+ S.features.logs?.enabled
11232
+ ]), se = d ?? ae ?? oe, ce = d !== void 0 || ae === null, le = t(), E = r ?? n, ue = k(() => S.features.tracing?.enabled ? Kp(E, w) : void 0, [
11233
+ E,
11234
+ w,
11235
+ S.features.tracing?.enabled
11236
+ ]), de = b ?? le ?? ue, fe = b !== void 0 || le === null, pe = S.features.dashboards, me = s(), he = k(() => pe?.enabled ? yp(n, w) : void 0, [
11237
+ n,
11238
+ w,
11239
+ pe?.enabled
11240
+ ]), ge = me ?? he, _e = me === null, ve = S.features.logs, ye = S.features.tracing, be = bm(pe, S.scopeApiTypes), xe = bm(ve, S.scopeApiTypes), Se = ve?.enabled, Ce = ve?.logDetail, we = k(() => {
11241
+ if (Se) return Ce || $c({ basePath: y ?? "" });
11060
11242
  }, [
11061
- ge,
11062
- _e,
11063
- _
11064
- ]), ye = fe?.detailMode ?? "drawer", be = k(() => d ?? Cc(_ ?? ""), [d, _]), xe = p ?? ((e) => e.requestId), Se = m ?? ((e) => e.apiId), Ce = (e) => /* @__PURE__ */ N(g, {
11243
+ Se,
11244
+ Ce,
11245
+ y
11246
+ ]), Te = ve?.detailMode ?? "drawer", Ee = k(() => f ?? Cc(y ?? ""), [f, y]), De = _ ?? ((e) => e.requestId), Oe = v ?? ((e) => e.apiId), ke = (e) => /* @__PURE__ */ N(g, {
11065
11247
  providers: e,
11066
11248
  children: /* @__PURE__ */ P(In, { children: [
11067
- de?.enabled && /* @__PURE__ */ P(M, { children: [
11249
+ pe?.enabled && /* @__PURE__ */ P(M, { children: [
11068
11250
  /* @__PURE__ */ N(Fn, {
11069
11251
  path: "dashboards",
11070
- element: /* @__PURE__ */ N(um, {
11071
- templates: de.templates,
11072
- contextFilters: me.contextFilters
11252
+ element: /* @__PURE__ */ N(Em, {
11253
+ templates: pe.templates,
11254
+ contextFilters: be.contextFilters
11073
11255
  })
11074
11256
  }),
11075
11257
  /* @__PURE__ */ N(Fn, {
11076
11258
  path: "dashboards/new",
11077
- element: /* @__PURE__ */ N(dm, {
11078
- contextFilters: me.contextFilters,
11079
- scopeFilterField: me.scopeFilterField
11259
+ element: /* @__PURE__ */ N(Dm, {
11260
+ contextFilters: be.contextFilters,
11261
+ scopeFilterField: be.scopeFilterField
11080
11262
  })
11081
11263
  }),
11082
11264
  /* @__PURE__ */ N(Fn, {
11083
11265
  path: "dashboards/:dashboardId/edit",
11084
- element: /* @__PURE__ */ N(dm, {
11085
- contextFilters: me.contextFilters,
11086
- scopeFilterField: me.scopeFilterField
11266
+ element: /* @__PURE__ */ N(Dm, {
11267
+ contextFilters: be.contextFilters,
11268
+ scopeFilterField: be.scopeFilterField
11087
11269
  })
11088
11270
  }),
11089
11271
  /* @__PURE__ */ N(Fn, {
11090
11272
  path: "dashboards/:dashboardId",
11091
11273
  element: /* @__PURE__ */ N(Or, {
11092
- filters: me.contextFilters,
11093
- children: /* @__PURE__ */ N(Up, {
11094
- templates: de.templates,
11095
- scopeFilterField: me.scopeFilterField,
11096
- externalLinks: de.externalLinks
11274
+ filters: be.contextFilters,
11275
+ children: /* @__PURE__ */ N(am, {
11276
+ templates: pe.templates,
11277
+ scopeFilterField: be.scopeFilterField,
11278
+ externalLinks: pe.externalLinks
11097
11279
  })
11098
11280
  })
11099
11281
  })
11100
11282
  ] }),
11101
- b.features.logs?.enabled && /* @__PURE__ */ N(Fn, {
11283
+ S.features.logs?.enabled && /* @__PURE__ */ N(Fn, {
11102
11284
  path: "logs",
11103
11285
  element: /* @__PURE__ */ N(Or, {
11104
- filters: he.contextFilters,
11105
- children: c ?? (ae ? am(oe, ae, /* @__PURE__ */ N(Ip, {
11106
- columns: be,
11107
- getRowId: xe,
11108
- getApiId: Se,
11109
- onRowClickOverride: f,
11110
- detailConfig: ve,
11111
- detailMode: ye,
11112
- pageSize: fe?.pageSize,
11113
- scopeFilterField: he.scopeFilterField,
11114
- columnVisibilityStorageKey: fe?.columnVisibilityStorageKey,
11115
- widget: fe?.widget
11286
+ filters: xe.contextFilters,
11287
+ children: u ?? (se ? xm(ce, se, /* @__PURE__ */ N(Qp, {
11288
+ columns: Ee,
11289
+ getRowId: De,
11290
+ getApiId: Oe,
11291
+ onRowClickOverride: m,
11292
+ detailConfig: we,
11293
+ detailMode: Te,
11294
+ pageSize: ve?.pageSize,
11295
+ scopeFilterField: xe.scopeFilterField,
11296
+ columnVisibilityStorageKey: ve?.columnVisibilityStorageKey,
11297
+ widget: ve?.widget
11116
11298
  })) : /* @__PURE__ */ N("div", {
11117
11299
  className: "flex items-center justify-center p-8 text-muted-foreground",
11118
11300
  children: "Logs feature enabled but no page provided."
11119
11301
  }))
11120
11302
  })
11121
11303
  }),
11122
- b.features.logs?.enabled && ve && ae && /* @__PURE__ */ N(Fn, {
11304
+ S.features.logs?.enabled && we && se && /* @__PURE__ */ N(Fn, {
11123
11305
  path: "logs/:logId",
11124
11306
  element: /* @__PURE__ */ N(Or, {
11125
- filters: he.contextFilters,
11126
- children: am(oe, ae, /* @__PURE__ */ N(pm, { config: ve }))
11307
+ filters: xe.contextFilters,
11308
+ children: xm(ce, se, /* @__PURE__ */ N(km, { config: we }))
11127
11309
  })
11128
11310
  }),
11129
- pe?.enabled && C["observability.traces.read"] && E && /* @__PURE__ */ P(M, { children: [
11311
+ ye?.enabled && T["observability.traces.read"] && de && /* @__PURE__ */ P(M, { children: [
11130
11312
  /* @__PURE__ */ N(Fn, {
11131
11313
  path: "tracing",
11132
- element: om(ue, E, /* @__PURE__ */ N(lm, {
11133
- baseUrl: ce,
11134
- http: S,
11135
- children: /* @__PURE__ */ N(nm, {
11136
- loadTracingApis: y,
11137
- detailMode: pe.detailMode ?? "drawer",
11138
- pageSize: pe.pageSize,
11139
- columnVisibilityStorageKey: pe.columnVisibilityStorageKey
11314
+ element: Sm(fe, de, /* @__PURE__ */ N(Tm, {
11315
+ baseUrl: E,
11316
+ http: w,
11317
+ children: /* @__PURE__ */ N(vm, {
11318
+ loadTracingApis: x,
11319
+ detailMode: ye.detailMode ?? "drawer",
11320
+ pageSize: ye.pageSize,
11321
+ columnVisibilityStorageKey: ye.columnVisibilityStorageKey
11140
11322
  })
11141
11323
  }))
11142
11324
  }),
11143
11325
  /* @__PURE__ */ N(Fn, {
11144
11326
  path: "tracing/:apiId",
11145
- element: om(ue, E, /* @__PURE__ */ N(lm, {
11146
- baseUrl: ce,
11147
- http: S,
11148
- children: /* @__PURE__ */ N(nm, {
11149
- loadTracingApis: y,
11150
- detailMode: pe.detailMode ?? "drawer",
11151
- pageSize: pe.pageSize,
11152
- columnVisibilityStorageKey: pe.columnVisibilityStorageKey
11327
+ element: Sm(fe, de, /* @__PURE__ */ N(Tm, {
11328
+ baseUrl: E,
11329
+ http: w,
11330
+ children: /* @__PURE__ */ N(vm, {
11331
+ loadTracingApis: x,
11332
+ detailMode: ye.detailMode ?? "drawer",
11333
+ pageSize: ye.pageSize,
11334
+ columnVisibilityStorageKey: ye.columnVisibilityStorageKey
11153
11335
  })
11154
11336
  }))
11155
11337
  }),
11156
11338
  /* @__PURE__ */ N(Fn, {
11157
11339
  path: "tracing/:apiId/:traceId",
11158
- element: om(ue, E, /* @__PURE__ */ N(Fu, {}))
11340
+ element: Sm(fe, de, /* @__PURE__ */ N(Fu, {}))
11159
11341
  })
11160
11342
  ] }),
11161
11343
  /* @__PURE__ */ N(Fn, {
11162
11344
  path: "*",
11163
- element: de?.enabled ? /* @__PURE__ */ N(Pn, {
11345
+ element: pe?.enabled ? /* @__PURE__ */ N(Pn, {
11164
11346
  to: "dashboards",
11165
11347
  replace: !0
11166
- }) : b.features.logs?.enabled ? /* @__PURE__ */ N(Pn, {
11348
+ }) : S.features.logs?.enabled ? /* @__PURE__ */ N(Pn, {
11167
11349
  to: "logs",
11168
11350
  replace: !0
11169
- }) : pe?.enabled ? /* @__PURE__ */ N(Pn, {
11351
+ }) : ye?.enabled ? /* @__PURE__ */ N(Pn, {
11170
11352
  to: "tracing",
11171
11353
  replace: !0
11172
11354
  }) : /* @__PURE__ */ N("div", {
@@ -11175,23 +11357,26 @@ function fm({ baseUrl: n, tracesBaseUrl: r, http: i, dataSource: o, filterProvid
11175
11357
  })
11176
11358
  })
11177
11359
  ] })
11178
- }), we = /* @__PURE__ */ N(ir, { children: de?.enabled || fe?.enabled ? /* @__PURE__ */ N(cr, {
11179
- source: ne,
11180
- children: s ? Ce(s) : /* @__PURE__ */ N(sm, { children: (e) => Ce(e) })
11181
- }) : Ce(s ?? []) });
11182
- return ee ? /* @__PURE__ */ N(h, {
11183
- dataSource: te,
11184
- children: we
11185
- }) : we;
11186
- }
11187
- function pm({ config: e }) {
11360
+ }), Ae = /* @__PURE__ */ N(ir, { children: pe?.enabled || ve?.enabled ? /* @__PURE__ */ N(cr, {
11361
+ source: ie,
11362
+ children: c ? ke(c) : /* @__PURE__ */ N(Cm, { children: (e) => ke(e) })
11363
+ }) : ke(c ?? []) }), je = _e && ge ? /* @__PURE__ */ N(p, {
11364
+ persistence: ge,
11365
+ children: Ae
11366
+ }) : Ae;
11367
+ return ne ? /* @__PURE__ */ N(h, {
11368
+ dataSource: re,
11369
+ children: je
11370
+ }) : je;
11371
+ }
11372
+ function km({ config: e }) {
11188
11373
  let t = Rn(), { filters: n, timeRange: r } = ec();
11189
11374
  return /* @__PURE__ */ N(Cl, {
11190
11375
  config: e,
11191
11376
  onFilter: D((e, i) => {
11192
11377
  t({
11193
11378
  pathname: "..",
11194
- search: Fp(Pp(n, e, i), r)
11379
+ search: Zp(Xp(n, e, i), r)
11195
11380
  }, { relative: "path" });
11196
11381
  }, [
11197
11382
  n,
@@ -11202,7 +11387,7 @@ function pm({ config: e }) {
11202
11387
  }
11203
11388
  //#endregion
11204
11389
  //#region src/routing/define-observability-features.ts
11205
- var mm = {
11390
+ var Am = {
11206
11391
  dashboards: {
11207
11392
  icon: re,
11208
11393
  title: "Dashboards",
@@ -11222,10 +11407,10 @@ var mm = {
11222
11407
  showInNav: !0
11223
11408
  }
11224
11409
  };
11225
- function hm(e) {
11226
- let t = e.basePath ?? "observe", n = gm(e), r = _m(e, n, t), i = n.map((e) => `${t}/${e}`), a = vm(n, t);
11410
+ function jm(e) {
11411
+ let t = e.basePath ?? "observe", n = Mm(e), r = Nm(e, n, t), i = n.map((e) => `${t}/${e}`), a = Pm(n, t);
11227
11412
  function o(t) {
11228
- return Fe(fm, {
11413
+ return Fe(Om, {
11229
11414
  ...t,
11230
11415
  config: e
11231
11416
  });
@@ -11254,13 +11439,13 @@ function hm(e) {
11254
11439
  breadcrumbSegments: c
11255
11440
  };
11256
11441
  }
11257
- function gm(e) {
11442
+ function Mm(e) {
11258
11443
  let t = [];
11259
- return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), e.features.tracing?.enabled && t.push("tracing"), t.sort((e, t) => mm[e].order - mm[t].order);
11444
+ return e.features.dashboards?.enabled && t.push("dashboards"), e.features.logs?.enabled && t.push("logs"), e.features.tracing?.enabled && t.push("tracing"), t.sort((e, t) => Am[e].order - Am[t].order);
11260
11445
  }
11261
- function _m(e, t, n) {
11262
- let r = t.filter((e) => mm[e].showInNav).map((t) => {
11263
- let r = mm[t], i = e.nav.overrides?.[t];
11446
+ function Nm(e, t, n) {
11447
+ let r = t.filter((e) => Am[e].showInNav).map((t) => {
11448
+ let r = Am[t], i = e.nav.overrides?.[t];
11264
11449
  return {
11265
11450
  key: `${n}/${t}`,
11266
11451
  title: i?.title ?? r.title,
@@ -11272,10 +11457,10 @@ function _m(e, t, n) {
11272
11457
  items: r
11273
11458
  };
11274
11459
  }
11275
- function vm(e, t) {
11460
+ function Pm(e, t) {
11276
11461
  let n = {};
11277
11462
  for (let r of e) {
11278
- let e = mm[r], i = `${t}/${r}`;
11463
+ let e = Am[r], i = `${t}/${r}`;
11279
11464
  n[i] = {
11280
11465
  path: `${t}/${r}`,
11281
11466
  label: e.title
@@ -11285,7 +11470,7 @@ function vm(e, t) {
11285
11470
  }
11286
11471
  //#endregion
11287
11472
  //#region src/build-observability-base-url.ts
11288
- function ym(e, t, n, r) {
11473
+ function Fm(e, t, n, r) {
11289
11474
  let i = e;
11290
11475
  if (r?.useDevProxy) try {
11291
11476
  i = new URL(i).pathname;
@@ -11294,21 +11479,21 @@ function ym(e, t, n, r) {
11294
11479
  }
11295
11480
  //#endregion
11296
11481
  //#region src/build-traces-base-url.ts
11297
- function bm(e, t, n, r) {
11298
- return ym(e, t, n, r);
11482
+ function Im(e, t, n, r) {
11483
+ return Fm(e, t, n, r);
11299
11484
  }
11300
11485
  //#endregion
11301
11486
  //#region src/persistence/local-storage-dashboard-persistence.ts
11302
- var xm = "observability.custom-dashboards", Sm = 1;
11303
- function Cm(e = {}) {
11304
- let t = e.storageKey ?? xm, n = () => {
11487
+ var Lm = "observability.custom-dashboards", Rm = 1;
11488
+ function zm(e = {}) {
11489
+ let t = e.storageKey ?? Lm, n = () => {
11305
11490
  if (e.storage) return e.storage;
11306
11491
  if (typeof window > "u" || !window.localStorage) throw Error("[gamma-lib-observability] localStorage is not available in this environment.");
11307
11492
  return window.localStorage;
11308
11493
  }, r = () => {
11309
11494
  let e = n().getItem(t);
11310
11495
  if (!e) return {
11311
- version: Sm,
11496
+ version: Rm,
11312
11497
  dashboards: {}
11313
11498
  };
11314
11499
  let r = JSON.parse(e);
@@ -11371,4 +11556,4 @@ function Cm(e = {}) {
11371
11556
  };
11372
11557
  }
11373
11558
  //#endregion
11374
- export { Vn as API_TYPE_REGISTRY, _o as BarPresentation, li as CODEC_VERSION, o as CapabilityProvider, as as CartesianPresentation, Or as ContextFiltersProvider, rs as DASHBOARD_BUCKET_TARGET, y as DEFAULT_CAPABILITIES, er as DEFAULT_MEASURE, ni as DEFAULT_PERIOD, nr as DEFAULT_REFRESH_INTERVAL_MS, pr as DEFAULT_STALE_TIME, ui as DEFAULT_TIME_RANGE, p as DashboardPersistenceProvider, Us as DashboardTemplatesProvider, Fs as DashboardView, fs as DoughnutPresentation, Xs as ExplorerTable, n as FILTER_OPERATORS, Ai as FILTER_SCOPES, Ra as FilterBar, Ta as FilterChip, ha as FilterPopoverForm, Hi as FilterPropertyCombobox, g as FilterProvidersProvider, Ya as HTTP_STATUS_PALETTE, dr as HttpProvider, $s as LiveIndicator, ir as LiveRefreshProvider, Q as LogDetailCodeBlock, il as LogDetailContextChart, xl as LogDetailDrawer, ll as LogDetailDrawerShell, Ec as LogDetailEmptyField, pl as LogDetailHeader, Dc as LogDetailHeadersTable, Oc as LogDetailJsonTree, $ as LogDetailKeyValueGrid, ml as LogDetailMetrics, Cl as LogDetailPage, _l as LogDetailSection, gl as LogDetailSections, ic as LogSeverityBadge, mc as LogTable, _ as LogsDataSourceProvider, vc as LogsExplorerPage, _s as MetricGroupPresentation, Ss as MetricPresentation, h as MetricsDataSourceProvider, oi as PERIOD_DISPLAY_LABELS, ai as PERIOD_LABELS, iu as POLICY_POST_EVENT, ru as POLICY_PRE_EVENT, ri as PRESET_CATEGORIES, eu as PolicyAttributeDiff, Zs as QueryErrorBanner, ii as RELATIVE_PERIODS, ki as SCOPE_COMMON, Oi as SIGNAL_DATA_TYPES, Kn as SIGNAL_REGISTRY, fu as SpanDetailPanel, Ti as TimeRangePicker, Iu as TraceDetailDrawer, Fu as TraceDetailPage, Au as TraceDetailShell, Nl as TraceExplorerPage, Su as TraceLineage, Tl as TraceStatusBadge, jl as TraceTable, Ou as TraceTimeline, c as TracesDataSourceProvider, Ul as TracingApiSelector, nm as TracingScreen, Rs as WidgetGroup, js as WidgetItem, Sc as buildApiTypeLink, xa as buildChipLabel, Sa as buildChipLabelParts, Ca as buildChipTooltip, Cc as buildDefaultConnectionLogColumns, $c as buildDefaultLogDetailConfig, Ri as buildFilterScopes, yc as buildLogsDeepLink, ym as buildObservabilityBaseUrl, Mi as buildScopeFromId, bm as buildTracesBaseUrl, Yl as buildTracesDeepLink, Ds as clearWidgetRenderers, is as computeBucketInterval, lu as computePolicyAttributeDiff, Do as computePreviousTimeRange, xo as computeTrend, Mc as connectionLogPreset, hp as createHttpDataSource, vp as createHttpFilterSource, bp as createHttpLogsSource, Yp as createHttpTracesFilterSource, Ap as createHttpTracesSource, Cm as createLocalStorageDashboardPersistence, gi as decodeObservabilityState, zs as defineDashboardTemplate, Ei as defineFilterProvider, Xc as defineLogDetail, hm as defineObservabilityFeatures, hi as encodeObservabilityState, yo as extractMeasureValue, So as extractSparklineData, Ja as facetsToBar, Ka as facetsToDoughnut, Dl as formatDuration, El as formatTraceTime, Un as getApiType, Gn as getApiTypeOrFallback, Ar as getLocaleWeekStart, Jn as getSignal, Es as getWidgetRenderer, Zn as isBarWidget, Yn as isCartesianWidget, Xn as isDoughnutWidget, $n as isMetricGroupWidget, Qn as isMetricWidget, aa as isMultiSelectForFilter, Za as isStatusFacetField, Kl as isTracingApiLegacyLoader, Jl as isTracingApiPaginatedLoad, Gl as isTracingApiPaginatedLoader, Wl as isTracingApiPaginatedLoaderConfig, bo as measureResultToMetric, wr as mergeFilters, Zo as mergeTimeSeriesToCartesian, Rc as messageLogPreset, oa as normalizeMembershipOperatorForValues, Qa as normalizeStatusGroupKey, Z as observabilityQueryKeys, ea as operatorLabel, ta as operatorNeedsValue, jd as parseDashboardJson, ks as registerDefaultRenderers, Ts as registerWidgetRenderer, Bs as resolveDashboardFromTemplate, Vi as resolveDataTypeIds, no as resolveGroupColor, Zc as resolveLogDetailVariant, tr as resolveMeasure, Qc as resolvePreset, Lr as resolveRelativePeriod, zr as resolveStableTimeRange, $a as resolveStatusPaletteColor, ql as resolveTracingApiPaginatedLoader, Ad as serializeDashboard, zi as toFilterItems, e as useCapabilities, v as useCapability, kr as useContextFilters, Xu as useCreateDashboardMutation, Yu as useCustomDashboardQuery, Ju as useCustomDashboardsQuery, u as useDashboardPersistence, Gs as useDashboardTemplate, Ws as useDashboardTemplates, $u as useDeleteDashboardMutation, Ur as useFacetsQuery, d as useFilterProvider, m as useFilterProviders, fr as useHttpOptions, br as useInfiniteOptions, ar as useLiveRefresh, ol as useLogDetailDrawerExpand, Wr as useLogDetailQuery, i as useLogsDataSource, Jr as useLogsPagedQuery, Gr as useLogsQuery, Yr as useMeasuresQuery, io as useMergedWidgetFilters, r as useMetricsDataSource, s as useOptionalDashboardPersistence, or as useOptionalLiveRefresh, a as useOptionalLogsDataSource, l as useOptionalMetricsDataSource, t as useOptionalTracesDataSource, Vr as useStableTimeRange, Zr as useTimeSeriesQuery, Qr as useTraceDetailQuery, f as useTracesDataSource, ti as useTracesPagedQuery, Zu as useUpdateDashboardMutation, Ha as useWidgetGroupContext, Uc as webhookLogPreset };
11559
+ export { Vn as API_TYPE_REGISTRY, _o as BarPresentation, li as CODEC_VERSION, o as CapabilityProvider, as as CartesianPresentation, Or as ContextFiltersProvider, rs as DASHBOARD_BUCKET_TARGET, y as DEFAULT_CAPABILITIES, er as DEFAULT_MEASURE, ni as DEFAULT_PERIOD, nr as DEFAULT_REFRESH_INTERVAL_MS, pr as DEFAULT_STALE_TIME, ui as DEFAULT_TIME_RANGE, ap as DashboardConflictError, rp as DashboardForbiddenError, ip as DashboardNotFoundError, np as DashboardPersistenceError, p as DashboardPersistenceProvider, Us as DashboardTemplatesProvider, Fs as DashboardView, fs as DoughnutPresentation, Xs as ExplorerTable, n as FILTER_OPERATORS, Ai as FILTER_SCOPES, Ra as FilterBar, Ta as FilterChip, ha as FilterPopoverForm, Hi as FilterPropertyCombobox, g as FilterProvidersProvider, Ya as HTTP_STATUS_PALETTE, dr as HttpProvider, $s as LiveIndicator, ir as LiveRefreshProvider, Q as LogDetailCodeBlock, il as LogDetailContextChart, xl as LogDetailDrawer, ll as LogDetailDrawerShell, Ec as LogDetailEmptyField, pl as LogDetailHeader, Dc as LogDetailHeadersTable, Oc as LogDetailJsonTree, $ as LogDetailKeyValueGrid, ml as LogDetailMetrics, Cl as LogDetailPage, _l as LogDetailSection, gl as LogDetailSections, ic as LogSeverityBadge, mc as LogTable, _ as LogsDataSourceProvider, vc as LogsExplorerPage, _s as MetricGroupPresentation, Ss as MetricPresentation, h as MetricsDataSourceProvider, oi as PERIOD_DISPLAY_LABELS, ai as PERIOD_LABELS, iu as POLICY_POST_EVENT, ru as POLICY_PRE_EVENT, ri as PRESET_CATEGORIES, eu as PolicyAttributeDiff, Zs as QueryErrorBanner, ii as RELATIVE_PERIODS, ki as SCOPE_COMMON, Oi as SIGNAL_DATA_TYPES, Kn as SIGNAL_REGISTRY, fu as SpanDetailPanel, Ti as TimeRangePicker, Iu as TraceDetailDrawer, Fu as TraceDetailPage, Au as TraceDetailShell, Nl as TraceExplorerPage, Su as TraceLineage, Tl as TraceStatusBadge, jl as TraceTable, Ou as TraceTimeline, c as TracesDataSourceProvider, Ul as TracingApiSelector, vm as TracingScreen, Rs as WidgetGroup, js as WidgetItem, Sc as buildApiTypeLink, xa as buildChipLabel, Sa as buildChipLabelParts, Ca as buildChipTooltip, Cc as buildDefaultConnectionLogColumns, $c as buildDefaultLogDetailConfig, Ri as buildFilterScopes, yc as buildLogsDeepLink, Fm as buildObservabilityBaseUrl, Mi as buildScopeFromId, Im as buildTracesBaseUrl, Yl as buildTracesDeepLink, Ds as clearWidgetRenderers, is as computeBucketInterval, lu as computePolicyAttributeDiff, Do as computePreviousTimeRange, xo as computeTrend, Mc as connectionLogPreset, yp as createHttpDashboardPersistence, jp as createHttpDataSource, Pp as createHttpFilterSource, Ip as createHttpLogsSource, dm as createHttpTracesFilterSource, Kp as createHttpTracesSource, zm as createLocalStorageDashboardPersistence, gi as decodeObservabilityState, zs as defineDashboardTemplate, Ei as defineFilterProvider, Xc as defineLogDetail, jm as defineObservabilityFeatures, hi as encodeObservabilityState, yo as extractMeasureValue, So as extractSparklineData, Ja as facetsToBar, Ka as facetsToDoughnut, Dl as formatDuration, El as formatTraceTime, Un as getApiType, Gn as getApiTypeOrFallback, Ar as getLocaleWeekStart, Jn as getSignal, Es as getWidgetRenderer, Zn as isBarWidget, Yn as isCartesianWidget, Xn as isDoughnutWidget, $n as isMetricGroupWidget, Qn as isMetricWidget, aa as isMultiSelectForFilter, Za as isStatusFacetField, Kl as isTracingApiLegacyLoader, Jl as isTracingApiPaginatedLoad, Gl as isTracingApiPaginatedLoader, Wl as isTracingApiPaginatedLoaderConfig, bo as measureResultToMetric, wr as mergeFilters, Zo as mergeTimeSeriesToCartesian, Rc as messageLogPreset, oa as normalizeMembershipOperatorForValues, Qa as normalizeStatusGroupKey, Z as observabilityQueryKeys, ea as operatorLabel, ta as operatorNeedsValue, jd as parseDashboardJson, ks as registerDefaultRenderers, Ts as registerWidgetRenderer, Bs as resolveDashboardFromTemplate, Vi as resolveDataTypeIds, no as resolveGroupColor, Zc as resolveLogDetailVariant, tr as resolveMeasure, Qc as resolvePreset, Lr as resolveRelativePeriod, zr as resolveStableTimeRange, $a as resolveStatusPaletteColor, ql as resolveTracingApiPaginatedLoader, Ad as serializeDashboard, zi as toFilterItems, e as useCapabilities, v as useCapability, kr as useContextFilters, Xu as useCreateDashboardMutation, Yu as useCustomDashboardQuery, Ju as useCustomDashboardsQuery, u as useDashboardPersistence, Gs as useDashboardTemplate, Ws as useDashboardTemplates, $u as useDeleteDashboardMutation, Ur as useFacetsQuery, d as useFilterProvider, m as useFilterProviders, fr as useHttpOptions, br as useInfiniteOptions, ar as useLiveRefresh, ol as useLogDetailDrawerExpand, Wr as useLogDetailQuery, i as useLogsDataSource, Jr as useLogsPagedQuery, Gr as useLogsQuery, Yr as useMeasuresQuery, io as useMergedWidgetFilters, r as useMetricsDataSource, s as useOptionalDashboardPersistence, or as useOptionalLiveRefresh, a as useOptionalLogsDataSource, l as useOptionalMetricsDataSource, t as useOptionalTracesDataSource, Vr as useStableTimeRange, Zr as useTimeSeriesQuery, Qr as useTraceDetailQuery, f as useTracesDataSource, ti as useTracesPagedQuery, Zu as useUpdateDashboardMutation, Ha as useWidgetGroupContext, Uc as webhookLogPreset };