@odigos/ui-kit 0.0.286 → 0.0.287

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/docs/api-context.md +1 -1
  3. package/lib/chunks/helpers-CtkwQ3Wc.js +9 -0
  4. package/lib/chunks/index-BlYPxLja.js +311 -0
  5. package/lib/chunks/source-instrument-form-context-Bg6JzU76.js +5 -0
  6. package/lib/chunks/ui-components-CjgsN17j.js +1943 -0
  7. package/lib/components/_cards/data-card/index.d.ts +6 -1
  8. package/lib/components/_cards/text-card/index.d.ts +3 -0
  9. package/lib/components/button/index.d.ts +3 -1
  10. package/lib/components/drawer/header/index.d.ts +2 -0
  11. package/lib/components/drop-data/index.d.ts +4 -10
  12. package/lib/components/hover-actions/index.d.ts +1 -1
  13. package/lib/components/index.d.ts +4 -0
  14. package/lib/components/info-row/index.d.ts +11 -0
  15. package/lib/components/input/index.d.ts +2 -0
  16. package/lib/components/popup/index.d.ts +17 -0
  17. package/lib/components/select-window-hours/index.d.ts +17 -0
  18. package/lib/components/table/index.d.ts +10 -0
  19. package/lib/components/table/styled.d.ts +11 -0
  20. package/lib/components/table/table-rows/index.d.ts +6 -1
  21. package/lib/components/table/types.d.ts +11 -2
  22. package/lib/components/trace-view/index.d.ts +4 -0
  23. package/lib/components/trace-view/styled.d.ts +43 -0
  24. package/lib/components/trace-view/types.d.ts +46 -0
  25. package/lib/components.js +1 -1
  26. package/lib/constants/index.d.ts +1 -0
  27. package/lib/constants/instrumentation-rules/index.d.ts +2 -1
  28. package/lib/constants/strings/index.d.ts +14 -0
  29. package/lib/constants/url-templatization/index.d.ts +90 -0
  30. package/lib/constants.js +1 -1
  31. package/lib/containers/_drawers/edit-source-drawer/pods/containers-card/process-card.d.ts +1 -7
  32. package/lib/containers/_drawers/index.d.ts +3 -0
  33. package/lib/containers/_drawers/url-templatization-custom-template-drawer/destination-step.d.ts +16 -0
  34. package/lib/containers/_drawers/url-templatization-custom-template-drawer/index.d.ts +18 -0
  35. package/lib/containers/_drawers/url-templatization-default-rule-drawer/index.d.ts +14 -0
  36. package/lib/containers/_drawers/url-templatization-template-view-drawer/index.d.ts +9 -0
  37. package/lib/containers/central-connections/helpers.d.ts +8 -0
  38. package/lib/containers/central-connections/index.d.ts +1 -0
  39. package/lib/containers/index.d.ts +2 -0
  40. package/lib/containers/insights/consts.d.ts +6 -0
  41. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/animated-edge.d.ts +10 -0
  42. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/blast-radius-node.d.ts +6 -0
  43. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/helpers.d.ts +28 -0
  44. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/index.d.ts +7 -0
  45. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/types.d.ts +19 -0
  46. package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/helpers.d.ts +15 -0
  47. package/lib/containers/insights/findings/drawer/anomaly/anomaly-trace-compare/index.d.ts +7 -0
  48. package/lib/containers/insights/findings/drawer/anomaly/index.d.ts +16 -0
  49. package/lib/containers/insights/findings/drawer/anomaly/why-this-fired/index.d.ts +6 -0
  50. package/lib/containers/insights/findings/drawer/helpers.d.ts +9 -0
  51. package/lib/containers/insights/findings/drawer/index.d.ts +6 -0
  52. package/lib/containers/insights/findings/drawer/violation/index.d.ts +7 -0
  53. package/lib/containers/insights/findings/drawer/violation/violation-trace-view/index.d.ts +8 -0
  54. package/lib/containers/insights/findings/helpers.d.ts +57 -0
  55. package/lib/containers/insights/findings/index.d.ts +2 -0
  56. package/lib/containers/insights/findings/resolve-findings/index.d.ts +11 -0
  57. package/lib/containers/insights/index.d.ts +6 -0
  58. package/lib/containers/insights/insights-context.d.ts +44 -0
  59. package/lib/containers/insights/overview/contained-table-and-heading/index.d.ts +19 -0
  60. package/lib/containers/insights/overview/index.d.ts +6 -0
  61. package/lib/containers/insights/settings-and-configurations/constants.d.ts +16 -0
  62. package/lib/containers/insights/settings-and-configurations/content-panel/index.d.ts +11 -0
  63. package/lib/containers/insights/settings-and-configurations/index.d.ts +2 -0
  64. package/lib/containers/insights/settings-and-configurations/menu-config.d.ts +24 -0
  65. package/lib/containers/insights/settings-and-configurations/panels/detection/constants.d.ts +40 -0
  66. package/lib/containers/insights/settings-and-configurations/panels/detection/create-override-panel.d.ts +14 -0
  67. package/lib/containers/insights/settings-and-configurations/panels/detection/index.d.ts +2 -0
  68. package/lib/containers/insights/settings-and-configurations/panels/detection/mappers.d.ts +12 -0
  69. package/lib/containers/insights/settings-and-configurations/panels/detection/mock.d.ts +4 -0
  70. package/lib/containers/insights/settings-and-configurations/panels/detection/policies-menu.d.ts +10 -0
  71. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-editor.d.ts +8 -0
  72. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-list-item.d.ts +8 -0
  73. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-levels.d.ts +15 -0
  74. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/constants.d.ts +16 -0
  75. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/default-catalog.d.ts +3 -0
  76. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/helpers.d.ts +30 -0
  77. package/lib/containers/insights/settings-and-configurations/panels/detection/risk-model-drawer/index.d.ts +10 -0
  78. package/lib/containers/insights/settings-and-configurations/panels/detection/signal-weights-panel.d.ts +13 -0
  79. package/lib/containers/insights/settings-and-configurations/panels/detection/signal-weights.d.ts +17 -0
  80. package/lib/containers/insights/settings-and-configurations/panels/detection/types.d.ts +29 -0
  81. package/lib/containers/insights/settings-and-configurations/panels/guardrails/constants.d.ts +35 -0
  82. package/lib/containers/insights/settings-and-configurations/panels/guardrails/create-panel.d.ts +13 -0
  83. package/lib/containers/insights/settings-and-configurations/panels/guardrails/edit-panel.d.ts +10 -0
  84. package/lib/containers/insights/settings-and-configurations/panels/guardrails/facet-section.d.ts +14 -0
  85. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrail-list-item.d.ts +8 -0
  86. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrails-menu.d.ts +9 -0
  87. package/lib/containers/insights/settings-and-configurations/panels/guardrails/index.d.ts +2 -0
  88. package/lib/containers/insights/settings-and-configurations/panels/guardrails/mappers.d.ts +23 -0
  89. package/lib/containers/insights/settings-and-configurations/panels/guardrails/types.d.ts +10 -0
  90. package/lib/containers/insights/settings-and-configurations/panels/learning/constants.d.ts +82 -0
  91. package/lib/containers/insights/settings-and-configurations/panels/learning/create-override-panel.d.ts +21 -0
  92. package/lib/containers/insights/settings-and-configurations/panels/learning/index.d.ts +2 -0
  93. package/lib/containers/insights/settings-and-configurations/panels/learning/mappers.d.ts +38 -0
  94. package/lib/containers/insights/settings-and-configurations/panels/learning/policies-menu.d.ts +10 -0
  95. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-editor.d.ts +9 -0
  96. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-list-item.d.ts +8 -0
  97. package/lib/containers/insights/settings-and-configurations/panels/learning/types.d.ts +31 -0
  98. package/lib/containers/insights/settings-and-configurations/panels/storage/constants.d.ts +52 -0
  99. package/lib/containers/insights/settings-and-configurations/panels/storage/formatters.d.ts +5 -0
  100. package/lib/containers/insights/settings-and-configurations/panels/storage/index.d.ts +2 -0
  101. package/lib/containers/insights/settings-and-configurations/panels/storage/layout.d.ts +18 -0
  102. package/lib/containers/insights/settings-and-configurations/panels/storage/mappers.d.ts +27 -0
  103. package/lib/containers/insights/settings-and-configurations/panels/system/constants.d.ts +31 -0
  104. package/lib/containers/insights/settings-and-configurations/panels/system/index.d.ts +2 -0
  105. package/lib/containers/insights/settings-and-configurations/settings-menu/category-header.d.ts +8 -0
  106. package/lib/containers/insights/settings-and-configurations/settings-menu/index.d.ts +7 -0
  107. package/lib/containers/insights/transactions/drawer/baselines/helpers.d.ts +16 -0
  108. package/lib/containers/insights/transactions/drawer/baselines/index.d.ts +5 -0
  109. package/lib/containers/insights/transactions/drawer/index.d.ts +2 -0
  110. package/lib/containers/insights/transactions/drawer/observations/helpers.d.ts +11 -0
  111. package/lib/containers/insights/transactions/drawer/observations/index.d.ts +5 -0
  112. package/lib/containers/insights/transactions/helpers.d.ts +34 -0
  113. package/lib/containers/insights/transactions/index.d.ts +2 -0
  114. package/lib/containers/url-templatization/converters.d.ts +43 -0
  115. package/lib/containers/url-templatization/custom-templates-list.d.ts +16 -0
  116. package/lib/containers/url-templatization/default-rules-list.d.ts +10 -0
  117. package/lib/containers/url-templatization/helpers.d.ts +17 -0
  118. package/lib/containers/url-templatization/index.d.ts +5 -0
  119. package/lib/containers/url-templatization/scope-summary.d.ts +8 -0
  120. package/lib/containers/url-templatization/template-path.d.ts +8 -0
  121. package/lib/containers.js +1862 -286
  122. package/lib/contexts/odigos-api/capabilities.d.ts +2 -0
  123. package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +156 -0
  124. package/lib/contexts/odigos-api/index.d.ts +2 -1
  125. package/lib/contexts/odigos-api/internal/notify.d.ts +4 -3
  126. package/lib/contexts/odigos-api/types.d.ts +206 -1
  127. package/lib/contexts/odigos-api/use-odigos-api.d.ts +2 -0
  128. package/lib/contexts/odigos-context.d.ts +3 -3
  129. package/lib/contexts.js +1 -1
  130. package/lib/functions/index.d.ts +1 -0
  131. package/lib/functions/parse-raw-otlp/index.d.ts +43 -0
  132. package/lib/functions.js +1 -1
  133. package/lib/hooks/index.d.ts +1 -0
  134. package/lib/hooks/useAnchoredPopup.d.ts +44 -0
  135. package/lib/hooks/useCopy.d.ts +2 -3
  136. package/lib/hooks/useOnClickOutside.d.ts +1 -0
  137. package/lib/hooks/useTimeAgo.d.ts +4 -0
  138. package/lib/hooks.js +1 -1
  139. package/lib/icons/common/clock-icon/index.d.ts +2 -0
  140. package/lib/icons/common/index.d.ts +4 -0
  141. package/lib/icons/common/insights-findings-icon/index.d.ts +2 -0
  142. package/lib/icons/common/insights-transactions-icon/index.d.ts +2 -0
  143. package/lib/icons/common/threat-detection-icon/index.d.ts +2 -0
  144. package/lib/icons/overview/index.d.ts +2 -0
  145. package/lib/icons/overview/insights-icon/index.d.ts +2 -0
  146. package/lib/icons/overview/url-templatization-icon/index.d.ts +2 -0
  147. package/lib/icons.js +1 -1
  148. package/lib/snippets/actions/index.d.ts +8 -5
  149. package/lib/snippets/code-modal/index.d.ts +9 -0
  150. package/lib/snippets/index.d.ts +1 -0
  151. package/lib/snippets/trace-modal/index.d.ts +8 -0
  152. package/lib/snippets/upgrade-modal/index.d.ts +1 -1
  153. package/lib/snippets/wide-drawer/index.d.ts +6 -0
  154. package/lib/snippets.js +1 -1
  155. package/lib/store.js +1 -1
  156. package/lib/theme/palettes/index.d.ts +7 -1
  157. package/lib/theme.js +1 -1
  158. package/lib/types/actions/index.d.ts +12 -0
  159. package/lib/types/common/index.d.ts +9 -2
  160. package/lib/types/index.d.ts +1 -0
  161. package/lib/types/insights/index.d.ts +598 -0
  162. package/lib/types/instrumentation-rules/index.d.ts +1 -0
  163. package/lib/types.js +1 -1
  164. package/lib/visuals.js +1 -1
  165. package/package.json +1 -1
  166. package/lib/chunks/helpers-C5bkjRbO.js +0 -9
  167. package/lib/chunks/index-DBZ1mLhG.js +0 -298
  168. package/lib/chunks/source-instrument-form-context-CnRKQq6W.js +0 -5
  169. package/lib/chunks/ui-components-Ci-Vq1Dl.js +0 -1620
@@ -0,0 +1,14 @@
1
+ import { type FC } from 'react';
2
+ import type { InsightsServiceStat, InsightsTransactionStat } from '../../../../../types';
3
+ import { DetectionPolicyScope } from './types';
4
+ export interface CreateOverridePanelProps {
5
+ services: InsightsServiceStat[];
6
+ transactions: InsightsTransactionStat[];
7
+ existingScopeKeys: string[];
8
+ onSubmit: (payload: {
9
+ scope: DetectionPolicyScope.Service | DetectionPolicyScope.Transaction;
10
+ scopeKey: string;
11
+ name: string;
12
+ }) => void | Promise<void>;
13
+ }
14
+ export declare const CreateOverridePanel: FC<CreateOverridePanelProps>;
@@ -0,0 +1,2 @@
1
+ import { type FC } from 'react';
2
+ export declare const DetectionPanel: FC;
@@ -0,0 +1,12 @@
1
+ import type { InsightsPolicy, InsightsPolicyInput } from '../../../../../types';
2
+ import { DetectionPolicyScope, RiskLevel, type DetectionPolicyListItem } from './types';
3
+ export declare const fireAtScoreToRiskLevel: (fireAtScore: number) => RiskLevel;
4
+ export declare const getRiskLevelTriggerSummary: (riskLevel: RiskLevel) => string;
5
+ export declare const insightsPolicyToListItem: (policy: InsightsPolicy) => DetectionPolicyListItem;
6
+ export declare const listItemToInsightsPolicyInput: (policy: DetectionPolicyListItem) => InsightsPolicyInput;
7
+ export declare const buildOverridePolicy: ({ scope, scopeKey, name, defaults, }: {
8
+ scope: DetectionPolicyScope.Service | DetectionPolicyScope.Transaction;
9
+ scopeKey: string;
10
+ name: string;
11
+ defaults?: DetectionPolicyListItem | null;
12
+ }) => DetectionPolicyListItem;
@@ -0,0 +1,4 @@
1
+ import { type DetectionPolicyListItem } from './types';
2
+ /** Local fallback when Detection Policies APIs are unsupported by the host. */
3
+ export declare const MOCK_DEFAULT_POLICIES: DetectionPolicyListItem[];
4
+ export declare const MOCK_OVERRIDE_POLICIES: DetectionPolicyListItem[];
@@ -0,0 +1,10 @@
1
+ import { type FC } from 'react';
2
+ import type { DetectionPolicyListItem } from './types';
3
+ export interface PoliciesMenuProps {
4
+ defaultPolicies: DetectionPolicyListItem[];
5
+ overridePolicies: DetectionPolicyListItem[];
6
+ selectedId: string | null;
7
+ onSelect: (id: string) => void;
8
+ onAddOverride: () => void;
9
+ }
10
+ export declare const PoliciesMenu: FC<PoliciesMenuProps>;
@@ -0,0 +1,8 @@
1
+ import { type FC } from 'react';
2
+ import { type DetectionPolicyListItem } from './types';
3
+ export interface PolicyEditorProps {
4
+ policy: DetectionPolicyListItem;
5
+ onAddOverride: () => void;
6
+ onSave: (policy: DetectionPolicyListItem) => void | Promise<void>;
7
+ }
8
+ export declare const PolicyEditor: FC<PolicyEditorProps>;
@@ -0,0 +1,8 @@
1
+ import { type FC } from 'react';
2
+ import { type DetectionPolicyListItem } from './types';
3
+ export interface PolicyListItemProps {
4
+ policy: DetectionPolicyListItem;
5
+ isSelected: boolean;
6
+ onSelect: (id: string) => void;
7
+ }
8
+ export declare const PolicyListItem: FC<PolicyListItemProps>;
@@ -0,0 +1,15 @@
1
+ import { RiskLevel } from './types';
2
+ export declare const RISK_LEVEL_OPTIONS: readonly [{
3
+ readonly id: RiskLevel.Low;
4
+ readonly label: "Low";
5
+ }, {
6
+ readonly id: RiskLevel.Medium;
7
+ readonly label: "Medium";
8
+ }, {
9
+ readonly id: RiskLevel.High;
10
+ readonly label: "High";
11
+ }, {
12
+ readonly id: RiskLevel.Critical;
13
+ readonly label: "Critical";
14
+ }];
15
+ export declare const RISK_LEVEL_FIRE_AT_SCORE: Record<RiskLevel, number>;
@@ -0,0 +1,16 @@
1
+ export declare const TITLE_RISK_MODEL = "Risk model";
2
+ export declare const DESC_RISK_MODEL = "The default risk model every anomaly policy builds on. Each signal adds its weight (points) to a 0\u2013100 risk score; dangerous sub-cases add on top of a class\u2019s base novelty. Read-only reference \u2014 tune the weights per scope in this Detection policy.";
3
+ export declare const LABEL_VIEW_RISK_MODEL = "View risk model";
4
+ export declare const COL_SIGNAL = "Signal";
5
+ export declare const COL_CLASS_SOURCE = "Class / source";
6
+ export declare const COL_WEIGHT = "Weight";
7
+ export declare const COL_BAND = "Band";
8
+ export declare const COL_CATEGORY = "Category";
9
+ export declare const COL_WHAT_IT_MEANS = "What it means";
10
+ export declare const TITLE_HOW_SCORING_WORKS = "How scoring works";
11
+ export declare const SCORING_FORMULA = "Base signal + modifiers + cross-category bonus = final risk score";
12
+ export declare const DESC_MODIFIERS = "Modifiers are not independent signals. They are added only when their parent base signal occurs.";
13
+ export declare const LABEL_MODIFIER = "Modifier";
14
+ export declare const getScoringLimitsDesc: (bonus: number) => string;
15
+ export declare const TITLE_CROSS_CLASS_CORRELATION = "Cross-class correlation";
16
+ export declare const getCorrelationBonusDesc: (bonus: number) => string;
@@ -0,0 +1,3 @@
1
+ import { type InsightsCatalog } from '../../../../../../types';
2
+ /** Mirrors the live risk package catalog (odigos-enterprise/insights/internal/risk). */
3
+ export declare const DEFAULT_RISK_MODEL_CATALOG: InsightsCatalog;
@@ -0,0 +1,30 @@
1
+ import type { InsightsCatalog } from '../../../../../../types';
2
+ import { InsightsSeverity } from '../../../../../../types';
3
+ export interface RiskModelRow {
4
+ id: string;
5
+ signal: string;
6
+ source: string;
7
+ weight: number;
8
+ weightLabel: string;
9
+ band: InsightsSeverity;
10
+ bandLabel: string;
11
+ category: string;
12
+ description: string;
13
+ isSubCase: boolean;
14
+ }
15
+ export interface RiskModelScoringExample {
16
+ baseLabel: string;
17
+ baseScore: number;
18
+ modifierLabel: string;
19
+ modifierWeight: number;
20
+ finalScore: number;
21
+ finalBand: InsightsSeverity;
22
+ finalBandLabel: string;
23
+ }
24
+ export declare const buildRiskModelRows: (catalog: InsightsCatalog) => RiskModelRow[];
25
+ export declare const buildScoringExample: (catalog: InsightsCatalog) => RiskModelScoringExample | null;
26
+ export declare const bandThresholdsForHint: (catalog: InsightsCatalog) => {
27
+ severity: InsightsSeverity;
28
+ label: string;
29
+ minScore: number;
30
+ }[];
@@ -0,0 +1,10 @@
1
+ import { type FC } from 'react';
2
+ import type { InsightsCatalog } from '../../../../../../types';
3
+ import { type DrawerProps } from '../../../../../../components';
4
+ import { type HeaderProps } from '../../../../../../components/drawer/header';
5
+ export interface RiskModelDrawerProps {
6
+ isOpen: DrawerProps['isOpen'];
7
+ onClose: HeaderProps['onClose'];
8
+ catalog: InsightsCatalog;
9
+ }
10
+ export declare const RiskModelDrawer: FC<RiskModelDrawerProps>;
@@ -0,0 +1,13 @@
1
+ import { type FC } from 'react';
2
+ import type { InsightsCatalog } from '../../../../../types';
3
+ export interface SignalWeightsPanelProps {
4
+ catalog: InsightsCatalog;
5
+ signalWeights?: string | null;
6
+ enricherLists?: string | null;
7
+ onChange: (next: {
8
+ signalWeights: string | null;
9
+ enricherLists: string | null;
10
+ overrideCount: number;
11
+ }) => void;
12
+ }
13
+ export declare const SignalWeightsPanel: FC<SignalWeightsPanelProps>;
@@ -0,0 +1,17 @@
1
+ import type { InsightsCatalog, InsightsCatalogClass, InsightsCatalogEnricher, InsightsSeverityBand } from '../../../../../types';
2
+ import { InsightsSeverity } from '../../../../../types';
3
+ export declare const WEIGHT_BANDS: InsightsSeverityBand[];
4
+ export declare const SEVERITY_LABEL: Record<InsightsSeverity, string>;
5
+ export declare const severityForScore: (score: number, bands?: InsightsSeverityBand[]) => InsightsSeverity;
6
+ export declare const parseSignalWeights: (raw?: string | null) => Record<string, number>;
7
+ export declare const parseEnricherLists: (raw?: string | null) => Record<string, string[]>;
8
+ export declare const listToText: (items: string[]) => string;
9
+ export declare const textToList: (text: string) => string[];
10
+ export declare const getDefaultWeight: (catalog: InsightsCatalog, source: string) => number;
11
+ export declare const getEffectiveWeight: (catalog: InsightsCatalog, source: string, overrides: Record<string, number>) => number;
12
+ export declare const encodeSignalWeightOverrides: (catalog: InsightsCatalog, effective: Record<string, number>) => string | null;
13
+ export declare const encodeEnricherListOverrides: (catalog: InsightsCatalog, lists: Record<string, string[]>) => string | null;
14
+ export declare const buildEffectiveWeights: (catalog: InsightsCatalog, rawOverrides?: string | null) => Record<string, number>;
15
+ export declare const buildEffectiveLists: (catalog: InsightsCatalog, rawOverrides?: string | null) => Record<string, string[]>;
16
+ export declare const enrichersForClass: (catalog: InsightsCatalog, classId: string) => InsightsCatalogEnricher[];
17
+ export declare const orderedClasses: (catalog: InsightsCatalog) => InsightsCatalogClass[];
@@ -0,0 +1,29 @@
1
+ export declare enum DetectionPolicyScope {
2
+ Global = "global",
3
+ Service = "service",
4
+ Transaction = "transaction"
5
+ }
6
+ export declare enum RiskLevel {
7
+ Low = "low",
8
+ Medium = "medium",
9
+ High = "high",
10
+ Critical = "critical"
11
+ }
12
+ export interface DetectionPolicyListItem {
13
+ id: string;
14
+ name: string;
15
+ scope: DetectionPolicyScope;
16
+ /** Empty for global policies; service/transaction identifier otherwise. */
17
+ scopeKey: string;
18
+ enabled: boolean;
19
+ /** Short subtitle shown under the policy name in the side menu. */
20
+ summary: string;
21
+ fireAtScore: number;
22
+ riskLevel: RiskLevel;
23
+ signalWeightOverrideCount: number;
24
+ /** JSON-encoded map[string]int — preserved for upsert round-trips. */
25
+ signalWeights?: string | null;
26
+ /** JSON-encoded map[string][]string — preserved for upsert round-trips. */
27
+ enricherLists?: string | null;
28
+ }
29
+ export declare const isGlobalPolicy: (policy: DetectionPolicyListItem) => boolean;
@@ -0,0 +1,35 @@
1
+ export declare const TITLE_GUARDRAILS = "Guardrails";
2
+ export declare const DESC_PANEL_GUARDRAILS = "Guardrails are rules you declare about how a service may communicate. A broken guardrail is a Policy violation.\nPick a service to see what it actually talks to, check the callers/callees/egress you want to allow.";
3
+ export declare const TITLE_CREATED_GUARDRAILS = "Created Guardrails";
4
+ export declare const TITLE_NO_GUARDRAILS = "No guardrails yet";
5
+ export declare const DESC_NO_GUARDRAILS = "Create a guardrail to declare allowed service communication.";
6
+ export declare const TITLE_INSPECT_SERVICE = "Inspect a service";
7
+ export declare const TITLE_EDIT_GUARDRAIL = "Edit guardrail";
8
+ export declare const LABEL_NAMESPACE = "Namespace";
9
+ export declare const LABEL_SERVICE = "Service";
10
+ export declare const TITLE_CALLERS = "Callers";
11
+ export declare const DESC_CALLERS = "Who may call this service (inbound)";
12
+ export declare const TITLE_NO_CALLERS = "No Callers detected";
13
+ export declare const DESC_NO_CALLERS = "No callers found for this selection";
14
+ export declare const TITLE_CALLEES = "Callees";
15
+ export declare const DESC_CALLEES = "Internal services it may call (outbound)";
16
+ export declare const TITLE_NO_CALLEES = "No Callees detected";
17
+ export declare const DESC_NO_CALLEES = "No callees found for this selection";
18
+ export declare const TITLE_EGRESS = "Egress";
19
+ export declare const DESC_EGRESS = "External destinations it may reach";
20
+ export declare const TITLE_NO_EGRESS = "No egress detected";
21
+ export declare const DESC_NO_EGRESS = "No egress found for this selection";
22
+ export declare const TITLE_ADOPT_ENFORCE = "Adopt as enforce";
23
+ export declare const DESC_ADOPT_ENFORCE = "Alert on violation";
24
+ export declare const TITLE_ADOPT_SUGGEST = "Adopt as suggest";
25
+ export declare const DESC_ADOPT_SUGGEST = "Observe only";
26
+ export declare const BTN_CREATE_NEW_GUARDRAIL = "Create new guardrail";
27
+ export declare const BTN_ADD_TO_GUARDRAILS = "Add to guardrails";
28
+ export declare const BTN_SAVE_CHANGES = "Save changes";
29
+ export declare const BTN_DELETE_GUARDRAIL = "Delete";
30
+ export declare const LABEL_ENFORCE = "Enforce";
31
+ export declare const LABEL_SUGGEST = "Suggest";
32
+ export declare const LABEL_COMING_SOON = "Coming soon";
33
+ export declare const RULE_KEY_CALLERS = "allowed_callers";
34
+ export declare const RULE_KEY_CALLEES = "allowed_callees";
35
+ export declare const RULE_KEY_EGRESS = "allowed_egress";
@@ -0,0 +1,13 @@
1
+ import { type FC } from 'react';
2
+ import { type InsightsGuardrailInput, type InsightsServiceProfile, type InsightsServiceStat } from '../../../../../types';
3
+ export interface CreatePanelProps {
4
+ services: InsightsServiceStat[];
5
+ profile: InsightsServiceProfile | null;
6
+ profileLoading?: boolean;
7
+ namespace: string;
8
+ service: string;
9
+ onNamespaceChange: (namespace: string) => void;
10
+ onServiceChange: (service: string) => void;
11
+ onSubmit: (input: InsightsGuardrailInput) => void | Promise<void>;
12
+ }
13
+ export declare const CreatePanel: FC<CreatePanelProps>;
@@ -0,0 +1,10 @@
1
+ import { type FC } from 'react';
2
+ import { type InsightsGuardrail, type InsightsGuardrailInput, type InsightsServiceProfile } from '../../../../../types';
3
+ export interface EditPanelProps {
4
+ guardrail: InsightsGuardrail;
5
+ profile: InsightsServiceProfile | null;
6
+ profileLoading?: boolean;
7
+ onSave: (input: InsightsGuardrailInput) => void | Promise<void>;
8
+ onDelete: (scopeKey: string) => void | Promise<void>;
9
+ }
10
+ export declare const EditPanel: FC<EditPanelProps>;
@@ -0,0 +1,14 @@
1
+ import { type FC } from 'react';
2
+ import type { SVG } from '../../../../../types';
3
+ export interface FacetSectionProps {
4
+ title: string;
5
+ description: string;
6
+ items: string[];
7
+ selected: Set<string>;
8
+ onToggle: (item: string, checked: boolean) => void;
9
+ onToggleAll?: (checked: boolean) => void;
10
+ emptyIcon: SVG;
11
+ emptyTitle: string;
12
+ emptyDescription: string;
13
+ }
14
+ export declare const FacetSection: FC<FacetSectionProps>;
@@ -0,0 +1,8 @@
1
+ import { type FC } from 'react';
2
+ import type { GuardrailListItem } from './types';
3
+ export interface GuardrailListItemProps {
4
+ guardrail: GuardrailListItem;
5
+ isSelected: boolean;
6
+ onSelect: (id: string) => void;
7
+ }
8
+ export declare const GuardrailListItemCard: FC<GuardrailListItemProps>;
@@ -0,0 +1,9 @@
1
+ import { type FC } from 'react';
2
+ import type { GuardrailListItem } from './types';
3
+ export interface GuardrailsMenuProps {
4
+ guardrails: GuardrailListItem[];
5
+ selectedId: string | null;
6
+ onSelect: (id: string) => void;
7
+ onCreate: () => void;
8
+ }
9
+ export declare const GuardrailsMenu: FC<GuardrailsMenuProps>;
@@ -0,0 +1,2 @@
1
+ import { type FC } from 'react';
2
+ export declare const GuardrailsPanel: FC;
@@ -0,0 +1,23 @@
1
+ import { InsightsRuleMode, type InsightsGuardrail, type InsightsGuardrailInput } from '../../../../../types';
2
+ import type { GuardrailListItem } from './types';
3
+ export declare const insightsGuardrailToListItem: (guardrail: InsightsGuardrail) => GuardrailListItem;
4
+ export declare const parseScopeKey: (scopeKey: string) => {
5
+ namespace: string;
6
+ service: string;
7
+ };
8
+ export declare const getRuleAllowlist: (guardrail: InsightsGuardrail, key: string) => string[];
9
+ export declare const getGuardrailMode: (guardrail: InsightsGuardrail) => InsightsRuleMode;
10
+ export declare const uniqueUnion: (...lists: (string[] | undefined)[]) => string[];
11
+ export declare const buildGuardrailInput: (params: {
12
+ scope: InsightsGuardrail["scope"];
13
+ scopeKey: string;
14
+ mode: InsightsRuleMode;
15
+ callers: string[];
16
+ callees: string[];
17
+ egress: string[];
18
+ governed?: {
19
+ callers?: boolean;
20
+ callees?: boolean;
21
+ egress?: boolean;
22
+ };
23
+ }) => InsightsGuardrailInput;
@@ -0,0 +1,10 @@
1
+ import type { InsightsRuleMode } from '../../../../../types';
2
+ export interface GuardrailListItem {
3
+ /** Unique key — namespace/service scopeKey. */
4
+ id: string;
5
+ scopeKey: string;
6
+ /** Primary rule label shown under the title (e.g. "Allowed callees"). */
7
+ ruleLabel: string;
8
+ allowlistCount: number;
9
+ mode: InsightsRuleMode;
10
+ }
@@ -0,0 +1,82 @@
1
+ import { InsightsDeviationClass, InsightsLearningConditionType, InsightsLearningMode } from '../../../../../types';
2
+ import { DurationUnit } from './types';
3
+ export declare const TITLE_LEARNING_POLICIES = "Learning Policies";
4
+ export declare const DESC_LEARNING_POLICIES = "Configure when a class stops learning and how baselines are finalized.\nUse service overrides to adjust learning for specific services or transactions.";
5
+ export declare const TITLE_DEFAULT_POLICY = "Default policy";
6
+ export declare const TITLE_OVERRIDES = "Overrides";
7
+ export declare const TITLE_NO_OVERRIDES = "No overrides yet";
8
+ export declare const DESC_NO_OVERRIDES = "Add overrides to adjust learning for specific services.";
9
+ export declare const BTN_ADD_OVERRIDE_POLICY = "Add override policy";
10
+ export declare const BTN_ADD_OVERRIDE = "Add override";
11
+ export declare const BTN_ADD_SELECTION = "Add selection";
12
+ export declare const BTN_ADD_CONDITION = "Add condition";
13
+ export declare const BTN_DELETE_OVERRIDE = "Delete override";
14
+ export declare const BTN_SAVE_CHANGES = "Save Changes";
15
+ export declare const TITLE_CHOOSE_OVERRIDE_SCOPE = "Choose override scope";
16
+ export declare const DESC_CHOOSE_OVERRIDE_SCOPE = "Select where this policy should override the global learning settings.\nYou can apply it to a specific service or transaction.";
17
+ export declare const LABEL_GLOBAL = "Global";
18
+ export declare const LABEL_SELECT_A_POLICY = "Select a policy";
19
+ export declare const LABEL_COMBINE = "Combine";
20
+ export declare const LABEL_CURRENTLY = "Currently:";
21
+ export declare const LABEL_PROMOTES_WHEN = "Promotes when";
22
+ export declare const LABEL_MIN_MATCHES = "Min matches";
23
+ export declare const LABEL_FALLBACK_NOTE = "A policy with no conditions falls back to the count-only default.";
24
+ export declare const LABEL_CHOOSE_OVERRIDE_TYPE = "Choose Override type";
25
+ export declare const LABEL_SELECT_DEVIATION_CLASS = "Select Deviation class";
26
+ export declare const LABEL_SELECT_SERVICE = "Select Service";
27
+ export declare const LABEL_SELECT_TRANSACTION = "Select Transaction";
28
+ export declare const LABEL_OVERRIDE_TYPE_SERVICE = "Service";
29
+ export declare const LABEL_OVERRIDE_TYPE_TRANSACTION = "Transaction";
30
+ export declare const PLACEHOLDER_SELECT_DEVIATION_CLASS = "Select deviation class\u2026";
31
+ export declare const PLACEHOLDER_SELECT_SERVICE = "Select service\u2026";
32
+ export declare const PLACEHOLDER_SELECT_TRANSACTION = "Select transaction\u2026";
33
+ export declare const LABEL_MODE_ANY = "Any";
34
+ export declare const LABEL_MODE_ALL = "All";
35
+ export declare const LABEL_MODE_K_OF = "K of";
36
+ export declare const LABEL_MODE_ANY_OR = "Any (OR)";
37
+ export declare const LABEL_MODE_ALL_AND = "All (AND)";
38
+ export declare const LABEL_MODE_K_OF_N = "K of N";
39
+ export declare const LABEL_CONDITION_STABLE_OBSERVATIONS = "Stable for N observations";
40
+ export declare const LABEL_CONDITION_STABLE_DURATION = "Stable for a duration";
41
+ export declare const LABEL_CONDITION_MIN_OBSERVATIONS = "Min observations";
42
+ export declare const LABEL_CONDITION_MIN_DURATION = "Min duration";
43
+ export declare const LABEL_UNIT_MINUTES = "Minutes";
44
+ export declare const LABEL_UNIT_HOURS = "Hours";
45
+ export declare const LABEL_UNIT_DAYS = "Days";
46
+ export declare const CLASS_LABELS: Record<InsightsDeviationClass, string>;
47
+ export declare const MODE_BADGE_LABELS: Record<InsightsLearningMode, string>;
48
+ export declare const MODE_OPTIONS: readonly [{
49
+ readonly id: InsightsLearningMode.Any;
50
+ readonly label: "Any (OR)";
51
+ }, {
52
+ readonly id: InsightsLearningMode.All;
53
+ readonly label: "All (AND)";
54
+ }, {
55
+ readonly id: InsightsLearningMode.KOf;
56
+ readonly label: "K of N";
57
+ }];
58
+ export declare const CONDITION_TYPE_OPTIONS: readonly [{
59
+ readonly id: InsightsLearningConditionType.StableObservations;
60
+ readonly label: "Stable for N observations";
61
+ }, {
62
+ readonly id: InsightsLearningConditionType.StableDuration;
63
+ readonly label: "Stable for a duration";
64
+ }, {
65
+ readonly id: InsightsLearningConditionType.MinObservations;
66
+ readonly label: "Min observations";
67
+ }, {
68
+ readonly id: InsightsLearningConditionType.MinDuration;
69
+ readonly label: "Min duration";
70
+ }];
71
+ export declare const DURATION_UNIT_OPTIONS: readonly [{
72
+ readonly id: DurationUnit.Minutes;
73
+ readonly label: "Minutes";
74
+ }, {
75
+ readonly id: DurationUnit.Hours;
76
+ readonly label: "Hours";
77
+ }, {
78
+ readonly id: DurationUnit.Days;
79
+ readonly label: "Days";
80
+ }];
81
+ export declare const isDurationConditionType: (type: InsightsLearningConditionType) => type is InsightsLearningConditionType.MinDuration | InsightsLearningConditionType.StableDuration;
82
+ export declare const isObservationsConditionType: (type: InsightsLearningConditionType) => type is InsightsLearningConditionType.MinObservations | InsightsLearningConditionType.StableObservations;
@@ -0,0 +1,21 @@
1
+ import { type FC } from 'react';
2
+ import type { InsightsServiceStat, InsightsTransactionStat } from '../../../../../types';
3
+ import { InsightsDeviationClass, InsightsPolicyScope } from './types';
4
+ export interface CreateOverridePanelProps {
5
+ services: InsightsServiceStat[];
6
+ transactions: InsightsTransactionStat[];
7
+ /** Existing overrides used to avoid duplicate (class, scopeKey) pairs. */
8
+ existingOverrides: {
9
+ class: InsightsDeviationClass;
10
+ scopeKey: string;
11
+ }[];
12
+ /** Prefill from the policy that opened create-override. */
13
+ initialClass?: InsightsDeviationClass;
14
+ onSubmit: (payload: {
15
+ class: InsightsDeviationClass;
16
+ scope: InsightsPolicyScope.Service | InsightsPolicyScope.Transaction;
17
+ scopeKey: string;
18
+ name: string;
19
+ }) => void | Promise<void>;
20
+ }
21
+ export declare const CreateOverridePanel: FC<CreateOverridePanelProps>;
@@ -0,0 +1,2 @@
1
+ import { type FC } from 'react';
2
+ export declare const LearningPanel: FC;
@@ -0,0 +1,38 @@
1
+ import { InsightsLearningConditionType, InsightsLearningMode, type InsightsLearningCondition, type InsightsLearningConditionInput, type InsightsLearningPolicy, type InsightsLearningPolicyInput, type InsightsPolicyScope, type InsightsTransactionStat } from '../../../../../types';
2
+ import { DurationUnit, InsightsDeviationClass, InsightsPolicyScope as PolicyScope, isGlobalPolicy, type LearningConditionDraft, type LearningPolicyListItem } from './types';
3
+ export declare const nextConditionKey: () => string;
4
+ export declare const buildPolicyId: (scope: InsightsPolicyScope | string, scopeKey: string, deviationClass: InsightsDeviationClass) => string;
5
+ export declare const minutesFromUnit: (value: number, unit: DurationUnit) => number;
6
+ export declare const unitFromMinutes: (minutes: number) => {
7
+ value: number;
8
+ unit: DurationUnit;
9
+ };
10
+ export declare const formatDurationShort: (minutes: number) => string;
11
+ export declare const formatDurationLong: (minutes: number) => string;
12
+ export declare const buildPolicySummary: (mode: InsightsLearningMode, conditions: LearningConditionDraft[], minMatches: number | null) => string;
13
+ export declare const buildPromotesWhenSummary: (mode: InsightsLearningMode, conditions: LearningConditionDraft[], minMatches: number | null) => string;
14
+ export type PromotesWhenParts = {
15
+ parts: string[];
16
+ joiner: string | null;
17
+ };
18
+ export declare const buildPromotesWhenParts: (mode: InsightsLearningMode, conditions: LearningConditionDraft[], minMatches: number | null) => PromotesWhenParts;
19
+ export declare const getModeJoinLabel: (mode: InsightsLearningMode) => "Any" | "All" | "K of";
20
+ export declare const apiConditionToDraft: (condition: InsightsLearningCondition) => LearningConditionDraft;
21
+ export declare const draftConditionToApi: (condition: LearningConditionDraft) => InsightsLearningConditionInput;
22
+ export declare const createDefaultCondition: (type?: InsightsLearningConditionType) => LearningConditionDraft;
23
+ export declare const insightsLearningPolicyToListItem: (policy: InsightsLearningPolicy) => LearningPolicyListItem;
24
+ export declare const formatTransactionScopeLabel: (tx: InsightsTransactionStat) => string;
25
+ /** Prefer human-readable transaction labels when stats are available. */
26
+ export declare const withResolvedOverrideNames: (policies: LearningPolicyListItem[], transactions: InsightsTransactionStat[]) => LearningPolicyListItem[];
27
+ export declare const listItemToInsightsLearningPolicyInput: (policy: LearningPolicyListItem) => InsightsLearningPolicyInput;
28
+ export declare const buildOverridePolicy: ({ scope, scopeKey, source, displayName, }: {
29
+ scope: PolicyScope.Service | PolicyScope.Transaction;
30
+ scopeKey: string;
31
+ source: LearningPolicyListItem;
32
+ displayName?: string;
33
+ }) => LearningPolicyListItem;
34
+ /** Fallback template when no global policy exists yet for the chosen class. */
35
+ export declare const createClassPolicyTemplate: (deviationClass: InsightsDeviationClass) => LearningPolicyListItem;
36
+ /** Reset numeric defaults when switching between observation and duration condition kinds. */
37
+ export declare const nextConditionForTypeChange: (condition: LearningConditionDraft, type: InsightsLearningConditionType) => LearningConditionDraft;
38
+ export { isGlobalPolicy };
@@ -0,0 +1,10 @@
1
+ import { type FC } from 'react';
2
+ import type { LearningPolicyListItem } from './types';
3
+ export interface PoliciesMenuProps {
4
+ defaultPolicies: LearningPolicyListItem[];
5
+ overridePolicies: LearningPolicyListItem[];
6
+ selectedId: string | null;
7
+ onSelect: (id: string) => void;
8
+ onAddOverride: () => void;
9
+ }
10
+ export declare const PoliciesMenu: FC<PoliciesMenuProps>;
@@ -0,0 +1,9 @@
1
+ import { type FC } from 'react';
2
+ import { type LearningPolicyListItem } from './types';
3
+ export interface PolicyEditorProps {
4
+ policy: LearningPolicyListItem;
5
+ onAddOverride: () => void;
6
+ onSave: (policy: LearningPolicyListItem) => void | Promise<void>;
7
+ onDelete?: () => void | Promise<void>;
8
+ }
9
+ export declare const PolicyEditor: FC<PolicyEditorProps>;
@@ -0,0 +1,8 @@
1
+ import { type FC } from 'react';
2
+ import { type LearningPolicyListItem } from './types';
3
+ export interface PolicyListItemProps {
4
+ policy: LearningPolicyListItem;
5
+ isSelected: boolean;
6
+ onSelect: (id: string) => void;
7
+ }
8
+ export declare const PolicyListItem: FC<PolicyListItemProps>;
@@ -0,0 +1,31 @@
1
+ import { InsightsDeviationClass, InsightsLearningConditionType, InsightsLearningMode, InsightsPolicyScope } from '../../../../../types';
2
+ export { InsightsDeviationClass, InsightsLearningConditionType, InsightsLearningMode, InsightsPolicyScope };
3
+ export interface LearningConditionDraft {
4
+ /** Local React key — not sent to the API. */
5
+ key: string;
6
+ type: InsightsLearningConditionType;
7
+ /** Numeric value for the active condition field. */
8
+ value: number;
9
+ /** Display unit for duration conditions (stored as minutes on the wire). */
10
+ durationUnit: DurationUnit;
11
+ }
12
+ export declare enum DurationUnit {
13
+ Minutes = "minutes",
14
+ Hours = "hours",
15
+ Days = "days"
16
+ }
17
+ export interface LearningPolicyListItem {
18
+ id: string;
19
+ name: string;
20
+ class: InsightsDeviationClass;
21
+ mode: InsightsLearningMode;
22
+ conditions: LearningConditionDraft[];
23
+ minMatches: number | null;
24
+ scope: InsightsPolicyScope;
25
+ scopeKey: string;
26
+ /** Short subtitle shown under the policy name in the side menu. */
27
+ summary: string;
28
+ }
29
+ export declare const isGlobalPolicy: (policy: LearningPolicyListItem) => boolean;
30
+ /** Seeded / designed default classes (6) — matches backend seed + Figma row count. */
31
+ export declare const DEFAULT_LEARNING_CLASSES: InsightsDeviationClass[];
@@ -0,0 +1,52 @@
1
+ export declare const TITLE_CONNECTION = "Connection";
2
+ export declare const TITLE_DISK = "Disk";
3
+ export declare const TITLE_FILESYSTEM = "Filesystem (ClickHouse volume)";
4
+ export declare const DESC_FILESYSTEM = "On shared volumes this includes unrelated host data \u2014 use Insights data above for stored size.";
5
+ export declare const TITLE_MEMORY = "Memory";
6
+ export declare const TITLE_RUNNING_QUERIES = "Running queries";
7
+ export declare const TITLE_RECENT_QUERIES = "Recent queries";
8
+ export declare const DESC_RECENT_QUERIES = "Last 5 min \u00B7 max 5";
9
+ export declare const TITLE_TABLES = "Database Tables";
10
+ export declare const TITLE_WRITE_PRESSURE = "Write pressure";
11
+ export declare const TITLE_WRITEBACK = "Insights <> DB";
12
+ export declare const LABEL_REACHABLE = "Reachable";
13
+ export declare const LABEL_PING_LATENCY = "Ping latency";
14
+ export declare const LABEL_CLICKHOUSE_VERSION = "ClickHouse version";
15
+ export declare const LABEL_DATABASE = "Database";
16
+ export declare const LABEL_INSIGHTS_DATA = "Insights data";
17
+ export declare const LABEL_PROCESS_RSS = "Process RSS";
18
+ export declare const LABEL_POD_CGROUP = "Pod (cgroup)";
19
+ export declare const LABEL_UPTIME = "Uptime";
20
+ export declare const LABEL_ACTIVE_NOW = "Active now";
21
+ export declare const LABEL_LONGEST_RUNNING = "Longest running";
22
+ export declare const LABEL_PEAK_MEMORY_ACTIVE = "Peak memory (active)";
23
+ export declare const LABEL_UNFINISHED_MUTATIONS = "Unfinished mutations";
24
+ export declare const LABEL_ACTIVE_PARTS = "Active parts";
25
+ export declare const LABEL_FLUSH_INTERVAL = "Flush interval";
26
+ export declare const LABEL_LAST_FLUSH = "Last flush";
27
+ export declare const LABEL_LAST_FLUSH_AT = "Last flush at";
28
+ export declare const LABEL_LAST_FLUSH_ERROR = "Last flush error";
29
+ export declare const LABEL_OK = "OK";
30
+ export declare const LABEL_NO = "No";
31
+ export declare const LABEL_ERROR = "Error";
32
+ export declare const LABEL_EM_DASH = "\u2014";
33
+ export declare const LABEL_HEAVIEST = "Heaviest";
34
+ export declare const LABEL_LATEST = "Latest";
35
+ export declare const LABEL_NO_ACTIVE_QUERIES = "No active queries (idle is normal).";
36
+ export declare const LABEL_NO_RECENT_QUERIES = "No finished queries in the last 5 minutes.";
37
+ export declare const LABEL_NO_TABLE_STATS = "No table stats.";
38
+ export declare const LABEL_NO_DISK_METRICS = "Filesystem usage is not available.";
39
+ export declare const LABEL_STORAGE_UNAVAILABLE = "Storage health is not available.";
40
+ export declare const LABEL_USED = "Used";
41
+ export declare const LABEL_AVAILABLE = "Available";
42
+ export declare const LABEL_TOTAL = "Total";
43
+ export declare const COL_WHEN = "When";
44
+ export declare const COL_DURATION = "Duration";
45
+ export declare const COL_MEMORY = "Memory";
46
+ export declare const COL_USER = "User";
47
+ export declare const COL_QUERY = "Query";
48
+ export declare const COL_ELAPSED = "Elapsed";
49
+ export declare const COL_TABLE = "Table";
50
+ export declare const COL_ROWS = "Rows (approx)";
51
+ export declare const COL_ON_DISK = "On disk";
52
+ export declare const COL_ACTIVE_PARTS = "Active parts";
@@ -0,0 +1,5 @@
1
+ export declare const formatStorageBytes: (bytes?: number | null) => string;
2
+ export declare const formatSeconds: (seconds?: number | null) => string;
3
+ export declare const formatCount: (value?: number | null) => string;
4
+ export declare const formatMs: (ms?: number | null) => string;
5
+ export declare const formatPercent: (value?: number | null) => string;