@kopai/ui 0.6.0 → 0.8.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.cjs CHANGED
@@ -4039,7 +4039,14 @@ function buildMetrics(rows) {
4039
4039
  for (const row of rows) {
4040
4040
  const name = row.MetricName ?? "unknown";
4041
4041
  const type = row.MetricType;
4042
- if (type === "Histogram" || type === "ExponentialHistogram" || type === "Summary") continue;
4042
+ let value;
4043
+ if (type === "Gauge" || type === "Sum") value = "Value" in row ? row.Value : void 0;
4044
+ else if (type === "Histogram" || type === "ExponentialHistogram" || type === "Summary") {
4045
+ const sum = "Sum" in row ? row.Sum : void 0;
4046
+ const count = "Count" in row ? row.Count : void 0;
4047
+ if (sum != null && count != null && count > 0) value = sum / count;
4048
+ }
4049
+ if (value === void 0) continue;
4043
4050
  if (!metricMap.has(name)) metricMap.set(name, /* @__PURE__ */ new Map());
4044
4051
  if (!metricMeta.has(name)) metricMeta.set(name, {
4045
4052
  description: row.MetricDescription ?? "",
@@ -4058,8 +4065,6 @@ function buildMetrics(rows) {
4058
4065
  dataPoints: []
4059
4066
  });
4060
4067
  }
4061
- if (!("Value" in row)) continue;
4062
- const value = row.Value;
4063
4068
  const timestamp = parseInt(row.TimeUnix, 10) / 1e6;
4064
4069
  seriesMap.get(seriesKey).dataPoints.push({
4065
4070
  timestamp,
@@ -5491,10 +5496,14 @@ function OtelLogTimeline(props) {
5491
5496
  children: "No data source"
5492
5497
  });
5493
5498
  const response = props.data;
5494
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogTimeline, {
5495
- rows: response?.data ?? [],
5496
- isLoading: props.loading,
5497
- error: props.error ?? void 0
5499
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5500
+ style: { height: props.element.props.height ?? 600 },
5501
+ className: "flex flex-col min-h-0",
5502
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogTimeline, {
5503
+ rows: response?.data ?? [],
5504
+ isLoading: props.loading,
5505
+ error: props.error ?? void 0
5506
+ })
5498
5507
  });
5499
5508
  }
5500
5509
 
@@ -6125,7 +6134,6 @@ function ServicesTab({ selectedService, selectedTraceId, selectedSpanId, onSelec
6125
6134
  });
6126
6135
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ServiceListView, { onSelect: onSelectService });
6127
6136
  }
6128
- const DASHBOARDS_API_BASE = "/dashboards";
6129
6137
  const METRICS_TREE = {
6130
6138
  root: "root",
6131
6139
  elements: {
@@ -6186,14 +6194,12 @@ const METRICS_TREE = {
6186
6194
  }
6187
6195
  }
6188
6196
  };
6189
- function useDashboardTree(dashboardId) {
6197
+ function useDashboardTree(client, dashboardId) {
6190
6198
  const { data, isFetching, error } = (0, _tanstack_react_query.useQuery)({
6191
6199
  queryKey: ["dashboard-tree", dashboardId],
6192
6200
  queryFn: async ({ signal }) => {
6193
- const res = await fetch(`${DASHBOARDS_API_BASE}/${dashboardId}`, { signal });
6194
- if (!res.ok) throw new Error(`Failed to load dashboard: ${res.status}`);
6195
- const json = await res.json();
6196
- const parsed = observabilityCatalog.uiTreeSchema.safeParse(json.uiTree);
6201
+ const dashboard = await client.getDashboard(dashboardId, { signal });
6202
+ const parsed = observabilityCatalog.uiTreeSchema.safeParse(dashboard.uiTree);
6197
6203
  if (!parsed.success) {
6198
6204
  const issue = parsed.error.issues[0];
6199
6205
  const path = issue?.path.length ? issue.path.join(".") + ": " : "";
@@ -6212,7 +6218,7 @@ function useDashboardTree(dashboardId) {
6212
6218
  function MetricsTab() {
6213
6219
  const kopaiClient = useKopaiSDK();
6214
6220
  const { dashboardId } = useURLState();
6215
- const { loading, error, tree } = useDashboardTree(dashboardId);
6221
+ const { loading, error, tree } = useDashboardTree(kopaiClient, dashboardId);
6216
6222
  if (loading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
6217
6223
  className: "text-muted-foreground text-sm",
6218
6224
  children: "Loading dashboard..."
package/dist/index.d.cts CHANGED
@@ -222,9 +222,9 @@ declare const observabilityCatalog: {
222
222
  label: "label";
223
223
  }>>;
224
224
  color: z.ZodNullable<z.ZodEnum<{
225
+ success: "success";
225
226
  default: "default";
226
227
  muted: "muted";
227
- success: "success";
228
228
  warning: "warning";
229
229
  danger: "danger";
230
230
  }>>;
@@ -236,8 +236,8 @@ declare const observabilityCatalog: {
236
236
  props: z.ZodObject<{
237
237
  text: z.ZodString;
238
238
  variant: z.ZodNullable<z.ZodEnum<{
239
- default: "default";
240
239
  success: "success";
240
+ default: "default";
241
241
  warning: "warning";
242
242
  danger: "danger";
243
243
  info: "info";
@@ -400,9 +400,9 @@ declare const observabilityCatalog: {
400
400
  label: "label";
401
401
  }>>;
402
402
  color: z.ZodNullable<z.ZodEnum<{
403
+ success: "success";
403
404
  default: "default";
404
405
  muted: "muted";
405
- success: "success";
406
406
  warning: "warning";
407
407
  danger: "danger";
408
408
  }>>;
@@ -416,8 +416,8 @@ declare const observabilityCatalog: {
416
416
  props: z.ZodObject<{
417
417
  text: z.ZodString;
418
418
  variant: z.ZodNullable<z.ZodEnum<{
419
- default: "default";
420
419
  success: "success";
420
+ default: "default";
421
421
  warning: "warning";
422
422
  danger: "danger";
423
423
  info: "info";
@@ -592,9 +592,9 @@ declare const observabilityCatalog: {
592
592
  label: "label";
593
593
  }>>;
594
594
  color: z.ZodNullable<z.ZodEnum<{
595
+ success: "success";
595
596
  default: "default";
596
597
  muted: "muted";
597
- success: "success";
598
598
  warning: "warning";
599
599
  danger: "danger";
600
600
  }>>;
@@ -608,8 +608,8 @@ declare const observabilityCatalog: {
608
608
  props: z.ZodObject<{
609
609
  text: z.ZodString;
610
610
  variant: z.ZodNullable<z.ZodEnum<{
611
- default: "default";
612
611
  success: "success";
612
+ default: "default";
613
613
  warning: "warning";
614
614
  danger: "danger";
615
615
  info: "info";
@@ -850,7 +850,7 @@ declare function Renderer<C extends {
850
850
  }): react_jsx_runtime0.JSX.Element | null;
851
851
  //#endregion
852
852
  //#region src/providers/kopai-provider.d.ts
853
- type KopaiClient = Pick<KopaiClient$1, "searchTracesPage" | "searchLogsPage" | "searchMetricsPage" | "getTrace" | "discoverMetrics">;
853
+ type KopaiClient = Pick<KopaiClient$1, "searchTracesPage" | "searchLogsPage" | "searchMetricsPage" | "getTrace" | "discoverMetrics" | "getDashboard">;
854
854
  interface KopaiSDKProviderProps {
855
855
  client: KopaiClient;
856
856
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/pages/observability.tsx","../src/lib/component-catalog.ts","../src/lib/observability-catalog.ts","../src/lib/generate-prompt-instructions.ts","../src/lib/renderer.tsx","../src/providers/kopai-provider.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/pages/observability.tsx","../src/lib/component-catalog.ts","../src/lib/observability-catalog.ts","../src/lib/generate-prompt-instructions.ts","../src/lib/renderer.tsx","../src/providers/kopai-provider.tsx"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -223,9 +223,9 @@ declare const observabilityCatalog: {
223
223
  label: "label";
224
224
  }>>;
225
225
  color: z.ZodNullable<z.ZodEnum<{
226
+ success: "success";
226
227
  default: "default";
227
228
  muted: "muted";
228
- success: "success";
229
229
  warning: "warning";
230
230
  danger: "danger";
231
231
  }>>;
@@ -237,8 +237,8 @@ declare const observabilityCatalog: {
237
237
  props: z.ZodObject<{
238
238
  text: z.ZodString;
239
239
  variant: z.ZodNullable<z.ZodEnum<{
240
- default: "default";
241
240
  success: "success";
241
+ default: "default";
242
242
  warning: "warning";
243
243
  danger: "danger";
244
244
  info: "info";
@@ -401,9 +401,9 @@ declare const observabilityCatalog: {
401
401
  label: "label";
402
402
  }>>;
403
403
  color: z.ZodNullable<z.ZodEnum<{
404
+ success: "success";
404
405
  default: "default";
405
406
  muted: "muted";
406
- success: "success";
407
407
  warning: "warning";
408
408
  danger: "danger";
409
409
  }>>;
@@ -417,8 +417,8 @@ declare const observabilityCatalog: {
417
417
  props: z.ZodObject<{
418
418
  text: z.ZodString;
419
419
  variant: z.ZodNullable<z.ZodEnum<{
420
- default: "default";
421
420
  success: "success";
421
+ default: "default";
422
422
  warning: "warning";
423
423
  danger: "danger";
424
424
  info: "info";
@@ -593,9 +593,9 @@ declare const observabilityCatalog: {
593
593
  label: "label";
594
594
  }>>;
595
595
  color: z.ZodNullable<z.ZodEnum<{
596
+ success: "success";
596
597
  default: "default";
597
598
  muted: "muted";
598
- success: "success";
599
599
  warning: "warning";
600
600
  danger: "danger";
601
601
  }>>;
@@ -609,8 +609,8 @@ declare const observabilityCatalog: {
609
609
  props: z.ZodObject<{
610
610
  text: z.ZodString;
611
611
  variant: z.ZodNullable<z.ZodEnum<{
612
- default: "default";
613
612
  success: "success";
613
+ default: "default";
614
614
  warning: "warning";
615
615
  danger: "danger";
616
616
  info: "info";
@@ -851,7 +851,7 @@ declare function Renderer<C extends {
851
851
  }): react_jsx_runtime0.JSX.Element | null;
852
852
  //#endregion
853
853
  //#region src/providers/kopai-provider.d.ts
854
- type KopaiClient = Pick<KopaiClient$1, "searchTracesPage" | "searchLogsPage" | "searchMetricsPage" | "getTrace" | "discoverMetrics">;
854
+ type KopaiClient = Pick<KopaiClient$1, "searchTracesPage" | "searchLogsPage" | "searchMetricsPage" | "getTrace" | "discoverMetrics" | "getDashboard">;
855
855
  interface KopaiSDKProviderProps {
856
856
  client: KopaiClient;
857
857
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/pages/observability.tsx","../src/lib/component-catalog.ts","../src/lib/observability-catalog.ts","../src/lib/generate-prompt-instructions.ts","../src/lib/renderer.tsx","../src/providers/kopai-provider.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/pages/observability.tsx","../src/lib/component-catalog.ts","../src/lib/observability-catalog.ts","../src/lib/generate-prompt-instructions.ts","../src/lib/renderer.tsx","../src/providers/kopai-provider.tsx"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -4009,7 +4009,14 @@ function buildMetrics(rows) {
4009
4009
  for (const row of rows) {
4010
4010
  const name = row.MetricName ?? "unknown";
4011
4011
  const type = row.MetricType;
4012
- if (type === "Histogram" || type === "ExponentialHistogram" || type === "Summary") continue;
4012
+ let value;
4013
+ if (type === "Gauge" || type === "Sum") value = "Value" in row ? row.Value : void 0;
4014
+ else if (type === "Histogram" || type === "ExponentialHistogram" || type === "Summary") {
4015
+ const sum = "Sum" in row ? row.Sum : void 0;
4016
+ const count = "Count" in row ? row.Count : void 0;
4017
+ if (sum != null && count != null && count > 0) value = sum / count;
4018
+ }
4019
+ if (value === void 0) continue;
4013
4020
  if (!metricMap.has(name)) metricMap.set(name, /* @__PURE__ */ new Map());
4014
4021
  if (!metricMeta.has(name)) metricMeta.set(name, {
4015
4022
  description: row.MetricDescription ?? "",
@@ -4028,8 +4035,6 @@ function buildMetrics(rows) {
4028
4035
  dataPoints: []
4029
4036
  });
4030
4037
  }
4031
- if (!("Value" in row)) continue;
4032
- const value = row.Value;
4033
4038
  const timestamp = parseInt(row.TimeUnix, 10) / 1e6;
4034
4039
  seriesMap.get(seriesKey).dataPoints.push({
4035
4040
  timestamp,
@@ -5461,10 +5466,14 @@ function OtelLogTimeline(props) {
5461
5466
  children: "No data source"
5462
5467
  });
5463
5468
  const response = props.data;
5464
- return /* @__PURE__ */ jsx(LogTimeline, {
5465
- rows: response?.data ?? [],
5466
- isLoading: props.loading,
5467
- error: props.error ?? void 0
5469
+ return /* @__PURE__ */ jsx("div", {
5470
+ style: { height: props.element.props.height ?? 600 },
5471
+ className: "flex flex-col min-h-0",
5472
+ children: /* @__PURE__ */ jsx(LogTimeline, {
5473
+ rows: response?.data ?? [],
5474
+ isLoading: props.loading,
5475
+ error: props.error ?? void 0
5476
+ })
5468
5477
  });
5469
5478
  }
5470
5479
 
@@ -6095,7 +6104,6 @@ function ServicesTab({ selectedService, selectedTraceId, selectedSpanId, onSelec
6095
6104
  });
6096
6105
  return /* @__PURE__ */ jsx(ServiceListView, { onSelect: onSelectService });
6097
6106
  }
6098
- const DASHBOARDS_API_BASE = "/dashboards";
6099
6107
  const METRICS_TREE = {
6100
6108
  root: "root",
6101
6109
  elements: {
@@ -6156,14 +6164,12 @@ const METRICS_TREE = {
6156
6164
  }
6157
6165
  }
6158
6166
  };
6159
- function useDashboardTree(dashboardId) {
6167
+ function useDashboardTree(client, dashboardId) {
6160
6168
  const { data, isFetching, error } = useQuery({
6161
6169
  queryKey: ["dashboard-tree", dashboardId],
6162
6170
  queryFn: async ({ signal }) => {
6163
- const res = await fetch(`${DASHBOARDS_API_BASE}/${dashboardId}`, { signal });
6164
- if (!res.ok) throw new Error(`Failed to load dashboard: ${res.status}`);
6165
- const json = await res.json();
6166
- const parsed = observabilityCatalog.uiTreeSchema.safeParse(json.uiTree);
6171
+ const dashboard = await client.getDashboard(dashboardId, { signal });
6172
+ const parsed = observabilityCatalog.uiTreeSchema.safeParse(dashboard.uiTree);
6167
6173
  if (!parsed.success) {
6168
6174
  const issue = parsed.error.issues[0];
6169
6175
  const path = issue?.path.length ? issue.path.join(".") + ": " : "";
@@ -6182,7 +6188,7 @@ function useDashboardTree(dashboardId) {
6182
6188
  function MetricsTab() {
6183
6189
  const kopaiClient = useKopaiSDK();
6184
6190
  const { dashboardId } = useURLState();
6185
- const { loading, error, tree } = useDashboardTree(dashboardId);
6191
+ const { loading, error, tree } = useDashboardTree(kopaiClient, dashboardId);
6186
6192
  if (loading) return /* @__PURE__ */ jsx("p", {
6187
6193
  className: "text-muted-foreground text-sm",
6188
6194
  children: "Loading dashboard..."