@odigos/ui-kit 0.0.290 → 0.0.291

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 (87) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/chunks/{helpers-esDVvrTt.js → helpers-eTR126Dv.js} +1 -1
  3. package/lib/chunks/{index-lV6RFSE-.js → index-CWNa5Q-H.js} +1 -1
  4. package/lib/chunks/source-instrument-form-context-opFCr-VF.js +5 -0
  5. package/lib/chunks/ui-components-Bvz84w4Q.js +1981 -0
  6. package/lib/components/_cards/text-card/index.d.ts +1 -0
  7. package/lib/components/island/index.d.ts +10 -1
  8. package/lib/components.js +1 -1
  9. package/lib/constants/common.d.ts +2 -0
  10. package/lib/constants/index.d.ts +2 -0
  11. package/lib/constants/insights/common.d.ts +15 -0
  12. package/lib/constants/insights/detection.d.ts +19 -0
  13. package/lib/{containers/insights/settings-and-configurations/panels/guardrails/constants.d.ts → constants/insights/guardrails.d.ts} +22 -13
  14. package/lib/constants/insights/index.d.ts +5 -0
  15. package/lib/{containers/insights/settings-and-configurations/panels/learning/constants.d.ts → constants/insights/learning.d.ts} +4 -27
  16. package/lib/{containers/insights/settings-and-configurations/panels/system/constants.d.ts → constants/insights/system.d.ts} +2 -6
  17. package/lib/constants.js +1 -1
  18. package/lib/containers/_drawers/index.d.ts +1 -0
  19. package/lib/containers/{insights/settings-and-configurations/panels/detection → _drawers}/risk-model-drawer/default-catalog.d.ts +1 -1
  20. package/lib/containers/{insights/settings-and-configurations/panels/detection → _drawers}/risk-model-drawer/helpers.d.ts +2 -2
  21. package/lib/containers/{insights/settings-and-configurations/panels/detection → _drawers}/risk-model-drawer/index.d.ts +3 -3
  22. package/lib/containers/_forms/index.d.ts +1 -0
  23. package/lib/containers/_forms/insights/detection-policy-form/index.d.ts +12 -0
  24. package/lib/containers/{insights/settings-and-configurations/panels/detection → _forms/insights/detection-policy-form}/mappers.d.ts +1 -1
  25. package/lib/containers/{insights/settings-and-configurations/panels/detection → _forms/insights/detection-policy-form}/signal-weights-panel.d.ts +1 -1
  26. package/lib/containers/{insights/settings-and-configurations/panels/detection → _forms/insights/detection-policy-form}/signal-weights.d.ts +2 -2
  27. package/lib/containers/_forms/insights/guardrail-form/extra-section.d.ts +15 -0
  28. package/lib/containers/{insights/settings-and-configurations/panels/guardrails → _forms/insights/guardrail-form}/facet-section.d.ts +1 -1
  29. package/lib/containers/_forms/insights/guardrail-form/index.d.ts +23 -0
  30. package/lib/containers/{insights/settings-and-configurations/panels/guardrails → _forms/insights/guardrail-form}/mappers.d.ts +3 -1
  31. package/lib/containers/_forms/insights/guardrail-form/types.d.ts +17 -0
  32. package/lib/containers/_forms/insights/index.d.ts +4 -0
  33. package/lib/containers/_forms/insights/learning-policy-form/index.d.ts +12 -0
  34. package/lib/containers/{insights/settings-and-configurations/panels/learning → _forms/insights/learning-policy-form}/mappers.d.ts +3 -3
  35. package/lib/containers/_forms/insights/learning-policy-form/options.d.ts +11 -0
  36. package/lib/containers/{insights/settings-and-configurations/panels/learning → _forms/insights/learning-policy-form}/types.d.ts +1 -1
  37. package/lib/containers/_forms/insights/system-settings-form/index.d.ts +9 -0
  38. package/lib/containers/_forms/insights/system-settings-form/mappers.d.ts +11 -0
  39. package/lib/containers/_forms/insights/system-settings-form/types.d.ts +11 -0
  40. package/lib/containers/insights/findings/helpers.d.ts +2 -2
  41. package/lib/containers/insights/settings-and-configurations/panels/detection/helpers.d.ts +28 -0
  42. package/lib/containers/insights/settings-and-configurations/panels/guardrails/helpers.d.ts +30 -0
  43. package/lib/containers/insights/settings-and-configurations/panels/learning/helpers.d.ts +46 -0
  44. package/lib/containers/insights/settings-and-configurations/panels/panel.d.ts +44 -0
  45. package/lib/containers/insights/transactions/drawer/baselines/helpers.d.ts +4 -0
  46. package/lib/containers.js +1839 -2139
  47. package/lib/contexts/index.d.ts +1 -0
  48. package/lib/contexts/insights/detection-override-form-context.d.ts +44 -0
  49. package/lib/contexts/insights/detection-policy-form-context.d.ts +29 -0
  50. package/lib/contexts/insights/guardrail-form-context.d.ts +67 -0
  51. package/lib/contexts/insights/index.d.ts +6 -0
  52. package/lib/contexts/insights/learning-override-form-context.d.ts +45 -0
  53. package/lib/contexts/insights/learning-policy-form-context.d.ts +34 -0
  54. package/lib/contexts/insights/system-settings-form-context.d.ts +28 -0
  55. package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +6 -1
  56. package/lib/contexts/odigos-api/types.d.ts +2 -1
  57. package/lib/contexts.js +1 -1
  58. package/lib/functions.js +1 -1
  59. package/lib/hooks.js +1 -1
  60. package/lib/snippets.js +1 -1
  61. package/lib/store.js +1 -1
  62. package/lib/theme.js +1 -1
  63. package/lib/types/insights/index.d.ts +41 -2
  64. package/lib/types.js +1 -1
  65. package/lib/visuals.js +1 -1
  66. package/package.json +1 -1
  67. package/lib/chunks/source-instrument-form-context-B9BHhgvw.js +0 -5
  68. package/lib/chunks/ui-components-DvoeDBMI.js +0 -1958
  69. package/lib/containers/insights/settings-and-configurations/content-panel/index.d.ts +0 -11
  70. package/lib/containers/insights/settings-and-configurations/panels/detection/constants.d.ts +0 -40
  71. package/lib/containers/insights/settings-and-configurations/panels/detection/create-override-panel.d.ts +0 -14
  72. package/lib/containers/insights/settings-and-configurations/panels/detection/mock.d.ts +0 -4
  73. package/lib/containers/insights/settings-and-configurations/panels/detection/policies-menu.d.ts +0 -10
  74. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-editor.d.ts +0 -8
  75. package/lib/containers/insights/settings-and-configurations/panels/detection/policy-list-item.d.ts +0 -8
  76. package/lib/containers/insights/settings-and-configurations/panels/guardrails/create-panel.d.ts +0 -13
  77. package/lib/containers/insights/settings-and-configurations/panels/guardrails/edit-panel.d.ts +0 -10
  78. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrail-list-item.d.ts +0 -8
  79. package/lib/containers/insights/settings-and-configurations/panels/guardrails/guardrails-menu.d.ts +0 -9
  80. package/lib/containers/insights/settings-and-configurations/panels/guardrails/types.d.ts +0 -10
  81. package/lib/containers/insights/settings-and-configurations/panels/learning/create-override-panel.d.ts +0 -21
  82. package/lib/containers/insights/settings-and-configurations/panels/learning/policies-menu.d.ts +0 -10
  83. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-editor.d.ts +0 -9
  84. package/lib/containers/insights/settings-and-configurations/panels/learning/policy-list-item.d.ts +0 -8
  85. /package/lib/containers/{insights/settings-and-configurations/panels/detection → _drawers}/risk-model-drawer/constants.d.ts +0 -0
  86. /package/lib/containers/{insights/settings-and-configurations/panels/detection → _forms/insights/detection-policy-form}/risk-levels.d.ts +0 -0
  87. /package/lib/containers/{insights/settings-and-configurations/panels/detection → _forms/insights/detection-policy-form}/types.d.ts +0 -0
@@ -2,6 +2,7 @@ export * from './action-form-context';
2
2
  export * from './cloud-connector-form-context';
3
3
  export * from './data-stream-form-context';
4
4
  export * from './destination-form-context';
5
+ export * from './insights';
5
6
  export * from './odigos-api';
6
7
  export * from './odigos-context';
7
8
  export * from './rule-form-context';
@@ -0,0 +1,44 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import type { InsightsServiceStat, InsightsTransactionStat } from '../../types';
4
+ import { DetectionPolicyScope } from '../../containers/_forms/insights/detection-policy-form/types';
5
+ export interface DetectionOverrideSubmitPayload {
6
+ scope: DetectionPolicyScope.Service | DetectionPolicyScope.Transaction;
7
+ scopeKey: string;
8
+ name: string;
9
+ }
10
+ interface DetectionOverrideFormData {
11
+ scopeType: DetectionPolicyScope.Service | DetectionPolicyScope.Transaction;
12
+ selectedKey: string;
13
+ }
14
+ export interface DetectionOverrideFormContextValue {
15
+ services: InsightsServiceStat[];
16
+ transactions: InsightsTransactionStat[];
17
+ existingScopeKeys: string[];
18
+ genericForm: GenericFormResult<DetectionOverrideFormData>;
19
+ serviceOptions: {
20
+ id: string;
21
+ label: string;
22
+ }[];
23
+ transactionOptions: {
24
+ id: string;
25
+ label: string;
26
+ }[];
27
+ options: {
28
+ id: string;
29
+ label: string;
30
+ }[];
31
+ canCreate: boolean;
32
+ submitting: boolean;
33
+ handleSubmit: () => Promise<void>;
34
+ }
35
+ export interface DetectionOverrideFormContextProviderProps {
36
+ children: ReactNode;
37
+ services: InsightsServiceStat[];
38
+ transactions: InsightsTransactionStat[];
39
+ existingScopeKeys: string[];
40
+ onSubmit: (payload: DetectionOverrideSubmitPayload) => void | Promise<void>;
41
+ }
42
+ export declare const DetectionOverrideFormContextProvider: FC<DetectionOverrideFormContextProviderProps>;
43
+ export declare const useDetectionOverrideFormContext: () => DetectionOverrideFormContextValue;
44
+ export {};
@@ -0,0 +1,29 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import { type DetectionPolicyListItem } from '../../containers/_forms/insights/detection-policy-form/types';
4
+ export interface DetectionPolicyFormContextValue {
5
+ policy: DetectionPolicyListItem;
6
+ genericForm: GenericFormResult<DetectionPolicyListItem>;
7
+ isDirty: boolean;
8
+ canUpdate: boolean;
9
+ canDiscard: boolean;
10
+ isSaving: boolean;
11
+ isDeleting: boolean;
12
+ handleSave: () => Promise<void>;
13
+ handleDiscard: () => void;
14
+ handleDelete: () => Promise<void>;
15
+ handleRiskLevelChange: (values: string[]) => void;
16
+ handleSignalWeightsChange: (next: {
17
+ signalWeights: string | null;
18
+ enricherLists: string | null;
19
+ overrideCount: number;
20
+ }) => void;
21
+ }
22
+ export interface DetectionPolicyFormContextProviderProps {
23
+ children: ReactNode;
24
+ policy: DetectionPolicyListItem;
25
+ onSave: (policy: DetectionPolicyListItem) => void | Promise<void>;
26
+ onDelete?: () => void | Promise<void>;
27
+ }
28
+ export declare const DetectionPolicyFormContextProvider: FC<DetectionPolicyFormContextProviderProps>;
29
+ export declare const useDetectionPolicyFormContext: () => DetectionPolicyFormContextValue;
@@ -0,0 +1,67 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import { InsightsRuleMode, type InsightsGuardrail, type InsightsGuardrailInput, type InsightsServiceProfile } from '../../types';
4
+ interface GuardrailFormData {
5
+ mode: InsightsRuleMode;
6
+ callers: string[];
7
+ callees: string[];
8
+ egress: string[];
9
+ transactions: string[];
10
+ extraCallers: string[];
11
+ extraCallees: string[];
12
+ extraEgress: string[];
13
+ }
14
+ export interface GuardrailFormContextValue {
15
+ profile: InsightsServiceProfile | null;
16
+ profileLoading: boolean;
17
+ guardrail: InsightsGuardrail | null;
18
+ isEdit: boolean;
19
+ namespace: string;
20
+ service: string;
21
+ genericForm: GenericFormResult<GuardrailFormData>;
22
+ isDirty: boolean;
23
+ isSubmitting: boolean;
24
+ canCreate: boolean;
25
+ canUpdate: boolean;
26
+ canDiscard: boolean;
27
+ canDelete: boolean;
28
+ handleDiscard: () => void;
29
+ handleSubmit: () => Promise<void>;
30
+ handleDelete: () => Promise<void>;
31
+ setMode: (mode: InsightsRuleMode) => void;
32
+ callerItems: string[];
33
+ calleeItems: string[];
34
+ egressItems: string[];
35
+ transactionItems: string[];
36
+ setExtraCallers: (values: string[]) => void;
37
+ setExtraCallees: (values: string[]) => void;
38
+ setExtraEgress: (values: string[]) => void;
39
+ toggleCaller: (item: string, checked: boolean) => void;
40
+ toggleCallee: (item: string, checked: boolean) => void;
41
+ toggleEgress: (item: string, checked: boolean) => void;
42
+ toggleTransaction: (item: string, checked: boolean) => void;
43
+ toggleAllCallers: (checked: boolean) => void;
44
+ toggleAllCallees: (checked: boolean) => void;
45
+ toggleAllEgress: (checked: boolean) => void;
46
+ toggleAllTransactions: (checked: boolean) => void;
47
+ }
48
+ export interface GuardrailFormContextProviderProps {
49
+ children: ReactNode;
50
+ profile: InsightsServiceProfile | null;
51
+ profileLoading?: boolean;
52
+ /**
53
+ * Every service name Insights has seen, cluster-wide. Callers/callees may be
54
+ * allowlisted against any of them, not just this service's observed peers.
55
+ */
56
+ serviceNames?: string[];
57
+ /** When set, form initializes from the existing guardrail (edit). When omitted, from profile (create). */
58
+ guardrail?: InsightsGuardrail | null;
59
+ /** Create flow: selected namespace and service. */
60
+ namespace?: string;
61
+ service?: string;
62
+ onSubmit: (input: InsightsGuardrailInput) => void | Promise<void>;
63
+ onDelete?: (scopeKey: string) => void | Promise<void>;
64
+ }
65
+ export declare const GuardrailFormContextProvider: FC<GuardrailFormContextProviderProps>;
66
+ export declare const useGuardrailFormContext: () => GuardrailFormContextValue;
67
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './detection-override-form-context';
2
+ export * from './detection-policy-form-context';
3
+ export * from './guardrail-form-context';
4
+ export * from './learning-override-form-context';
5
+ export * from './learning-policy-form-context';
6
+ export * from './system-settings-form-context';
@@ -0,0 +1,45 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import type { InsightsServiceStat, InsightsTransactionStat } from '../../types';
4
+ import { InsightsDeviationClass, InsightsPolicyScope } from '../../containers/_forms/insights/learning-policy-form/types';
5
+ export interface LearningOverrideSubmitPayload {
6
+ class: InsightsDeviationClass;
7
+ scope: InsightsPolicyScope.Service | InsightsPolicyScope.Transaction;
8
+ scopeKey: string;
9
+ name: string;
10
+ }
11
+ interface LearningOverrideFormData {
12
+ deviationClass: InsightsDeviationClass;
13
+ scopeType: InsightsPolicyScope.Service | InsightsPolicyScope.Transaction;
14
+ selectedKey: string;
15
+ }
16
+ export interface LearningOverrideFormContextValue {
17
+ services: InsightsServiceStat[];
18
+ transactions: InsightsTransactionStat[];
19
+ existingOverrides: {
20
+ class: InsightsDeviationClass;
21
+ scopeKey: string;
22
+ }[];
23
+ genericForm: GenericFormResult<LearningOverrideFormData>;
24
+ options: {
25
+ id: string;
26
+ label: string;
27
+ }[];
28
+ canCreate: boolean;
29
+ submitting: boolean;
30
+ handleSubmit: () => Promise<void>;
31
+ }
32
+ export interface LearningOverrideFormContextProviderProps {
33
+ children: ReactNode;
34
+ services: InsightsServiceStat[];
35
+ transactions: InsightsTransactionStat[];
36
+ existingOverrides: {
37
+ class: InsightsDeviationClass;
38
+ scopeKey: string;
39
+ }[];
40
+ initialClass?: InsightsDeviationClass;
41
+ onSubmit: (payload: LearningOverrideSubmitPayload) => void | Promise<void>;
42
+ }
43
+ export declare const LearningOverrideFormContextProvider: FC<LearningOverrideFormContextProviderProps>;
44
+ export declare const useLearningOverrideFormContext: () => LearningOverrideFormContextValue;
45
+ export {};
@@ -0,0 +1,34 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import { type PromotesWhenParts } from '../../containers/_forms/insights/learning-policy-form/mappers';
4
+ import { DurationUnit, InsightsLearningConditionType, type LearningPolicyListItem } from '../../containers/_forms/insights/learning-policy-form/types';
5
+ export interface LearningPolicyFormContextValue {
6
+ policy: LearningPolicyListItem;
7
+ genericForm: GenericFormResult<LearningPolicyListItem>;
8
+ isDirty: boolean;
9
+ canUpdate: boolean;
10
+ canDiscard: boolean;
11
+ isOverride: boolean;
12
+ isSaving: boolean;
13
+ isDeleting: boolean;
14
+ promotesWhen: PromotesWhenParts;
15
+ currently: string;
16
+ handleModeChange: (values: string[]) => void;
17
+ handleConditionTypeChange: (key: string, type: InsightsLearningConditionType) => void;
18
+ handleConditionValueChange: (key: string, raw: string) => void;
19
+ handleDurationUnitChange: (key: string, unit: DurationUnit) => void;
20
+ handleRemoveCondition: (key: string) => void;
21
+ handleAddCondition: () => void;
22
+ handleMinMatchesChange: (value: number) => void;
23
+ handleSave: () => Promise<void>;
24
+ handleDiscard: () => void;
25
+ handleDelete: () => Promise<void>;
26
+ }
27
+ export interface LearningPolicyFormContextProviderProps {
28
+ children: ReactNode;
29
+ policy: LearningPolicyListItem;
30
+ onSave: (policy: LearningPolicyListItem) => void | Promise<void>;
31
+ onDelete?: () => void | Promise<void>;
32
+ }
33
+ export declare const LearningPolicyFormContextProvider: FC<LearningPolicyFormContextProviderProps>;
34
+ export declare const useLearningPolicyFormContext: () => LearningPolicyFormContextValue;
@@ -0,0 +1,28 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import { type GenericFormResult } from '../../hooks';
3
+ import type { SystemSettingsDraft } from '../../containers/_forms/insights/system-settings-form/types';
4
+ import type { InsightsSystemSettings, InsightsSystemSettingsInput, InsightsSystemTransactionIdentityDimension } from '../../types';
5
+ export interface SystemSettingsFormContextValue {
6
+ settings: InsightsSystemSettings | null;
7
+ genericForm: GenericFormResult<SystemSettingsDraft>;
8
+ isDirty: boolean;
9
+ canUpdate: boolean;
10
+ canDiscard: boolean;
11
+ isSaving: boolean;
12
+ enabledDimCount: number;
13
+ identityConfirmOpen: boolean;
14
+ setIdentityConfirmOpen: (open: boolean) => void;
15
+ handleSave: () => Promise<void>;
16
+ handleDiscard: () => void;
17
+ persist: (resetTransactions?: boolean) => Promise<void>;
18
+ updateDim: (index: number, patch: Partial<InsightsSystemTransactionIdentityDimension>) => void;
19
+ removeDim: (index: number) => void;
20
+ addDim: () => void;
21
+ }
22
+ export interface SystemSettingsFormContextProviderProps {
23
+ children: ReactNode;
24
+ settings: InsightsSystemSettings | null;
25
+ onSave: (input: InsightsSystemSettingsInput) => void | Promise<void>;
26
+ }
27
+ export declare const SystemSettingsFormContextProvider: FC<SystemSettingsFormContextProviderProps>;
28
+ export declare const useSystemSettingsFormContext: () => SystemSettingsFormContextValue;
@@ -14,6 +14,7 @@ import type { GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsBasel
14
14
  import type { InsightsAnomalyIssue, InsightsAnomalySummary, InsightsBaselineClass, InsightsBulkDeleteResult, InsightsBulkPromoteResult, InsightsBulkResolveResult, InsightsCatalog, InsightsFinding, InsightsGuardrail, InsightsGuardrailViolation, InsightsGuardrailViolationDetail, InsightsLearningPolicy, InsightsLearningPolicyInput, InsightsObservation, InsightsObservationSummary, InsightsPolicy, InsightsPolicyInput, InsightsPromoteResult, InsightsServiceStat, InsightsServiceProfile, InsightsBlastRadiusSubgraph, InsightsStorageHealth, InsightsSystemSettings, InsightsSystemSettingsInput, InsightsTransaction, InsightsTransactionStat, InsightsViolationActionInput, InsightsGuardrailInput, InsightsGuardrailSeedInput, InsightsDeviationClass, InsightsBulkResolution, InsightsPolicyScope, InsightsAnomalyRefInput } from '../../../types';
15
15
  export interface InsightsApi {
16
16
  useServices: (options?: UseApiQueryOptions<InsightsServiceStat[]>) => UseApiQueryResult<InsightsServiceStat[]>;
17
+ useServiceNames: (options?: UseApiQueryOptions<string[]>) => UseApiQueryResult<string[]>;
17
18
  useTransactions: (vars?: GetInsightsTransactionsVars, options?: UseApiQueryOptions<InsightsTransactionStat[]>) => UseApiQueryResult<InsightsTransactionStat[]>;
18
19
  useTransaction: (vars: GetInsightsTransactionVars, options?: UseApiQueryOptions<InsightsTransaction | undefined>) => UseApiQueryResult<InsightsTransaction | undefined>;
19
20
  useBaseline: (vars: GetInsightsBaselineVars, options?: UseApiQueryOptions<InsightsBaselineClass[]>) => UseApiQueryResult<InsightsBaselineClass[]>;
@@ -36,6 +37,10 @@ export interface InsightsApi {
36
37
  data?: InsightsServiceStat[];
37
38
  error?: string;
38
39
  }>;
40
+ getServiceNames?: () => Promise<{
41
+ data?: string[];
42
+ error?: string;
43
+ }>;
39
44
  getTransactions?: (vars?: GetInsightsTransactionsVars) => Promise<{
40
45
  data?: InsightsTransactionStat[];
41
46
  error?: string;
@@ -156,7 +161,7 @@ export interface InsightsApi {
156
161
  seedGuardrail?: (seed: InsightsGuardrailSeedInput) => Promise<{
157
162
  error?: string;
158
163
  } | undefined>;
159
- allowViolation?: (action: InsightsViolationActionInput) => Promise<{
164
+ acceptViolation?: (action: InsightsViolationActionInput) => Promise<{
160
165
  error?: string;
161
166
  } | undefined>;
162
167
  dismissViolation?: (action: InsightsViolationActionInput) => Promise<{
@@ -996,6 +996,7 @@ export interface OdigosApiOperations {
996
996
  GET_ALL_CLUSTER_SNAPSHOTS?: Operation<AllClusterSnapshots, undefined>;
997
997
  GET_CLUSTER_SNAPSHOT?: Operation<ClusterSnapshot, GetClusterSnapshotVars>;
998
998
  GET_INSIGHTS_SERVICES?: Operation<InsightsServiceStat[], undefined>;
999
+ GET_INSIGHTS_SERVICE_NAMES?: Operation<string[], undefined>;
999
1000
  GET_INSIGHTS_SERVICE_PROFILE?: Operation<InsightsServiceProfile | undefined, GetInsightsServiceProfileVars>;
1000
1001
  GET_INSIGHTS_BLAST_RADIUS?: Operation<InsightsBlastRadiusSubgraph | undefined, GetInsightsBlastRadiusVars>;
1001
1002
  GET_INSIGHTS_TRANSACTIONS?: Operation<InsightsTransactionStat[], GetInsightsTransactionsVars | undefined>;
@@ -1033,7 +1034,7 @@ export interface OdigosApiOperations {
1033
1034
  UPSERT_INSIGHTS_GUARDRAIL?: Operation<InsightsGuardrail, UpsertInsightsGuardrailVars>;
1034
1035
  DELETE_INSIGHTS_GUARDRAIL?: Operation<boolean, DeleteInsightsGuardrailVars>;
1035
1036
  SEED_INSIGHTS_GUARDRAIL?: Operation<boolean, SeedInsightsGuardrailVars>;
1036
- ALLOW_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
1037
+ ACCEPT_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
1037
1038
  DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
1038
1039
  REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
1039
1040
  UPDATE_INSIGHTS_SYSTEM_SETTINGS?: Operation<InsightsSystemSettings, UpdateInsightsSystemSettingsVars>;
package/lib/contexts.js CHANGED
@@ -1 +1 @@
1
- import{u as a,r as x,a as y}from"./chunks/source-instrument-form-context-B9BHhgvw.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,O as OdigosApiConnectionsScope,c as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,d as SamplingRulesFormProvider,e as SourceEditFormContextProvider,f as SourceInstrumentFormContextProvider,p as prepareNamespacePayloads,g as prepareSourcePayloads,h as useActionFormContext,i as useApiLazyQuery,j as useApiMutation,k as useApiQuery,l as useCloudConnectorFormContext,m as useDataStreamFormContext,n as useDestinationFormContext,o as useOdigosApi,q as useRuleFormContext,s as useSamplingRulesFormContext,t as useSourceEditFormContext,v as useSourceInstrumentFormContext}from"./chunks/source-instrument-form-context-B9BHhgvw.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-esDVvrTt.js";import{jsx as F}from"react/jsx-runtime";import{useMemo as P,useContext as E,createContext as T}from"react";import{P as I,t as _}from"./chunks/ui-components-DvoeDBMI.js";import{useApolloClient as w}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";const M=()=>{const o=w(),{operations:r,context:e}=a();return{multiFetch:async(t,s,n)=>{const i=r[t];return i?y(o,i,s,n,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:s.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,s)=>{const n=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await x(o,r.PERSIST_SOURCES,s,t);a&&n.push(`${i}: ${a}`)}return n.length?{error:n.join(", ")}:void 0},applyConfigurations:async(t,s)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const n={formData:s,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await x(o,i,n,e)):({error:a}=await y(o,i,t,n,e)),a?{error:a}:void 0}}},N=(o,r)=>o.platformType===I.K8s?r.K8s:[I.Vm,I.Connector,I.AwsEcs].includes(o.platformType)?r.Vm:void 0,V=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const s=_(r.schemaVersion??r.version),n=[...t].sort((o,r)=>_(r)-_(o)).find(o=>s>=_(o));return n?e[n]:void 0},U=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},z=T({formType:void 0}),G=({children:o,formType:r})=>{const e=P(()=>({formType:r}),[r]);return F(z.Provider,{value:e,children:o})},$=()=>E(z);export{G as StorybookProvider,N as pickByPlatform,M as useApiForConnections,$ as useStorybook,V as versionedDocument,U as vmDialectMap};
1
+ import{u as a,r as P,a as T}from"./chunks/source-instrument-form-context-opFCr-VF.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,c as DetectionOverrideFormContextProvider,d as DetectionPolicyFormContextProvider,G as GuardrailFormContextProvider,L as LearningOverrideFormContextProvider,e as LearningPolicyFormContextProvider,O as OdigosApiConnectionsScope,f as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,g as SamplingRulesFormProvider,h as SourceEditFormContextProvider,i as SourceInstrumentFormContextProvider,j as SystemSettingsFormContextProvider,p as prepareNamespacePayloads,k as prepareSourcePayloads,l as useActionFormContext,m as useApiLazyQuery,n as useApiMutation,o as useApiQuery,q as useCloudConnectorFormContext,s as useDataStreamFormContext,t as useDestinationFormContext,v as useDetectionOverrideFormContext,w as useDetectionPolicyFormContext,x as useGuardrailFormContext,y as useLearningOverrideFormContext,z as useLearningPolicyFormContext,B as useOdigosApi,E as useRuleFormContext,F as useSamplingRulesFormContext,H as useSourceEditFormContext,I as useSourceInstrumentFormContext,J as useSystemSettingsFormContext}from"./chunks/source-instrument-form-context-opFCr-VF.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-eTR126Dv.js";import{jsx as _}from"react/jsx-runtime";import{useMemo as M,useContext as N,createContext as V}from"react";import{P as U,t as $}from"./chunks/ui-components-Bvz84w4Q.js";import{useApolloClient as K}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";const Q=()=>{const o=K(),{operations:r,context:e}=a();return{multiFetch:async(t,n,s)=>{const i=r[t];return i?T(o,i,n,s,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:n.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,n)=>{const s=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await P(o,r.PERSIST_SOURCES,n,t);a&&s.push(`${i}: ${a}`)}return s.length?{error:s.join(", ")}:void 0},applyConfigurations:async(t,n)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const s={formData:n,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await P(o,i,s,e)):({error:a}=await T(o,i,t,s,e)),a?{error:a}:void 0}}},W=(o,r)=>o.platformType===U.K8s?r.K8s:[U.Vm,U.Connector,U.AwsEcs].includes(o.platformType)?r.Vm:void 0,X=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const n=$(r.schemaVersion??r.version),s=[...t].sort((o,r)=>$(r)-$(o)).find(o=>n>=$(o));return s?e[s]:void 0},Y=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},Z=V({formType:void 0}),oo=({children:o,formType:r})=>{const e=M(()=>({formType:r}),[r]);return _(Z.Provider,{value:e,children:o})},ro=()=>N(Z);export{oo as StorybookProvider,W as pickByPlatform,Q as useApiForConnections,ro as useStorybook,X as versionedDocument,Y as vmDialectMap};
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{bu as adaptInstrumentationRuleFromWire,bs as adaptInstrumentationRuleInputForWire,cr as buildBadgeForDesiredStatus,iM as buildCatalogFieldsDataCard,ch as buildCatalogFieldsSegments,iN as capitalizeFirstLetter,iO as cleanObjectEmptyStringsValues,aa as compareCondition,iP as decimalsOnly,b4 as deepClone,h4 as entityIdKey,h9 as filterActions,h8 as filterDestinations,cl as filterDestinationsByStream,h7 as filterSources,gW as filterSourcesByStream,iQ as flattenObjectKeys,cG as formatBytes,gG as formatDuration,b9 as generateId,h1 as getActionConditions,cj as getActionIcon,h2 as getConditionsBooleans,cZ as getContainersIcons,iR as getContainersInstrumentedCount,iS as getDeepValue,c9 as getDestinationIcon,iT as getDetectedLanguageIcons,cw as getEffectiveLanguage,cO as getEffectiveRuntimeVersion,h5 as getEntityIcon,bn as getEntityId,h0 as getEntityIdKey,h3 as getEntityLabel,iU as getHealthBadgeLabel,bj as getIdFromSseTarget,cn as getInstrumentationRuleIcon,iV as getMainContainerLanguage,iW as getMetricForEntity,iX as getMonitorIcon,iY as getNearestTypographySize,cY as getPlatformIcon,gt as getPlatformLabel,a0 as getProgrammingLanguageIcon,iZ as getRecursiveValues,cF as getSourceKindLabel,cC as getSourceLanguageIcons,bc as getSseTargetFromId,cM as getStatusColor,hb as getStatusFromPodStatus,cN as getStatusIcon,cH as getStatusTypeFromOdigosHealth,i_ as getValueForRange,cB as getVirtualServiceIcon,cA as getWorkloadId,cm as getYamlFieldsForDestination,i$ as hasUnhealthyInstances,j0 as instrumentationRuleSourceScopesFromWire,j1 as instrumentationRuleSourceScopesToWire,bz as isEmpty,bA as isLegalK8sLabel,fe as isOverTime,j2 as isStringABoolean,j3 as isTimeElapsed,cL as isValidVersion,j4 as mapConditions,ct as mapDesiredStatusToConditionStatus,cf as mapDesiredStatusesToConditions,ck as mapDestinationFieldsForDisplay,bE as mapExportedSignals,bC as mapSupportedSignals,j5 as numbersOnly,j6 as parseBooleanFromString,j7 as parseJsonStringToPrettyString,gJ as parseRawOtlp,bT as prepareDestinationFormData,j8 as removeEmptyValuesFromObject,G as safeJsonParse,j9 as safeJsonStringify,ja as setDeepValue,jb as sleep,ao as splitCamelString,jc as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{bu as adaptInstrumentationRuleFromWire,bs as adaptInstrumentationRuleInputForWire,eA as buildBadgeForDesiredStatus,l9 as buildCatalogFieldsDataCard,eq as buildCatalogFieldsSegments,la as capitalizeFirstLetter,lb as cleanObjectEmptyStringsValues,aa as compareCondition,lc as decimalsOnly,b4 as deepClone,ju as entityIdKey,jz as filterActions,jy as filterDestinations,eu as filterDestinationsByStream,jx as filterSources,jk as filterSourcesByStream,ld as flattenObjectKeys,eO as formatBytes,iN as formatDuration,b9 as generateId,jr as getActionConditions,es as getActionIcon,js as getConditionsBooleans,f4 as getContainersIcons,le as getContainersInstrumentedCount,lf as getDeepValue,ei as getDestinationIcon,lg as getDetectedLanguageIcons,eF as getEffectiveLanguage,eW as getEffectiveRuntimeVersion,jv as getEntityIcon,bn as getEntityId,jq as getEntityIdKey,jt as getEntityLabel,lh as getHealthBadgeLabel,bj as getIdFromSseTarget,ew as getInstrumentationRuleIcon,li as getMainContainerLanguage,lj as getMetricForEntity,lk as getMonitorIcon,ll as getNearestTypographySize,f3 as getPlatformIcon,iA as getPlatformLabel,a0 as getProgrammingLanguageIcon,lm as getRecursiveValues,eN as getSourceKindLabel,eK as getSourceLanguageIcons,bc as getSseTargetFromId,eU as getStatusColor,jB as getStatusFromPodStatus,eV as getStatusIcon,eP as getStatusTypeFromOdigosHealth,ln as getValueForRange,eJ as getVirtualServiceIcon,eI as getWorkloadId,ev as getYamlFieldsForDestination,lo as hasUnhealthyInstances,lp as instrumentationRuleSourceScopesFromWire,lq as instrumentationRuleSourceScopesToWire,bz as isEmpty,bA as isLegalK8sLabel,hk as isOverTime,lr as isStringABoolean,ls as isTimeElapsed,eT as isValidVersion,lt as mapConditions,eC as mapDesiredStatusToConditionStatus,eo as mapDesiredStatusesToConditions,et as mapDestinationFieldsForDisplay,bE as mapExportedSignals,bC as mapSupportedSignals,lu as numbersOnly,lv as parseBooleanFromString,lw as parseJsonStringToPrettyString,iP as parseRawOtlp,cc as prepareDestinationFormData,lx as removeEmptyValuesFromObject,G as safeJsonParse,ly as safeJsonStringify,lz as setDeepValue,lA as sleep,ao as splitCamelString,lB as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
package/lib/hooks.js CHANGED
@@ -1 +1 @@
1
- export{kP as IGNORE_OUTSIDE_CLICK_ATTR,fg as PopupAlignX,ff as PopupAlignY,gL as formatDurationMinutes,kQ as formatDurationMs,kR as isInsideIgnoredPortal,kS as useActionFormData,kT as useAnchoredPopup,kU as useBodyScroll,h6 as useContainerSize,u as useCopy,kV as useDataStreamFormData,kW as useDestinationFormData,bv as useGenericForm,kX as useInstrumentationRuleFormData,fd as useKeyDown,cI as useOnClickOutside,kY as useOverflow,kZ as usePopup,cq as useScrollIntoViewWhen,ht as useScrollTo,gZ as useSessionStorage,k_ as useSourceFormData,co as useTimeAgo}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{no as IGNORE_OUTSIDE_CLICK_ATTR,db as PopupAlignX,hl as PopupAlignY,iJ as formatDurationMinutes,np as formatDurationMs,nq as isInsideIgnoredPortal,nr as useActionFormData,ns as useAnchoredPopup,nt as useBodyScroll,jw as useContainerSize,u as useCopy,nu as useDataStreamFormData,nv as useDestinationFormData,bv as useGenericForm,nw as useInstrumentationRuleFormData,hj as useKeyDown,eQ as useOnClickOutside,nx as useOverflow,ny as usePopup,ez as useScrollIntoViewWhen,jT as useScrollTo,jn as useSessionStorage,nz as useSourceFormData,ex as useTimeAgo}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
package/lib/snippets.js CHANGED
@@ -1 +1 @@
1
- export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-DvoeDBMI.js";export{A as AnimatedCollapse,B as BlastRadius,C as CancelModal,a as CodeModal,b as ConnectorCreatedModal,D as DURATION_OPTIONS,c as DeleteModal,d as DurationErrorsSection,e as DynamicActionFields,f as DynamicField,g as DynamicFields,E as EnableDisableSegment,I as InstrumentationPreviewSection,N as NOISY_PERCENTAGE_OPTIONS,O as OdigosLogoTextByTier,h as OperationSection,P as PERCENTAGE_OPTIONS,i as PercentageSection,j as PresetWithCustomInput,R as RuleInfoSection,k as RuleTypeSection,S as SamplingPreviewSection,l as SignalsCheckboxList,m as SourceScopeSection,U as UpgradeModal,W as WIDE_DRAWER_WIDTH,n as WideDrawer,Y as YamlSectionCard}from"./chunks/index-lV6RFSE-.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-esDVvrTt.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";import"@xyflow/react/dist/style.css";import"@xyflow/react";
1
+ export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-Bvz84w4Q.js";export{A as AnimatedCollapse,B as BlastRadius,C as CancelModal,a as CodeModal,b as ConnectorCreatedModal,D as DURATION_OPTIONS,c as DeleteModal,d as DurationErrorsSection,e as DynamicActionFields,f as DynamicField,g as DynamicFields,E as EnableDisableSegment,I as InstrumentationPreviewSection,N as NOISY_PERCENTAGE_OPTIONS,O as OdigosLogoTextByTier,h as OperationSection,P as PERCENTAGE_OPTIONS,i as PercentageSection,j as PresetWithCustomInput,R as RuleInfoSection,k as RuleTypeSection,S as SamplingPreviewSection,l as SignalsCheckboxList,m as SourceScopeSection,U as UpgradeModal,W as WIDE_DRAWER_WIDTH,n as WideDrawer,Y as YamlSectionCard}from"./chunks/index-CWNa5Q-H.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-eTR126Dv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";import"@xyflow/react/dist/style.css";import"@xyflow/react";
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- export{fh as DrawerType,bi as ProgressKeys,g_ as getDrawerTypeForAdd,cE as getDrawerTypeForEdit,kO as useDarkMode,bf as useDataStreamStore,cz as useDrawerStore,gV as useFilterStore,ba as useNotificationStore,bg as useProgressStore,g$ as useSelectedStore,bh as useSetupStore}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{hm as DrawerType,bi as ProgressKeys,jo as getDrawerTypeForAdd,eM as getDrawerTypeForEdit,nn as useDarkMode,bf as useDataStreamStore,eH as useDrawerStore,jj as useFilterStore,ba as useNotificationStore,bg as useProgressStore,jp as useSelectedStore,bh as useSetupStore}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
package/lib/theme.js CHANGED
@@ -1 +1 @@
1
- export{k$ as Provider,l0 as animations,l1 as opacity,l2 as palettes}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{nA as Provider,nB as animations,nC as opacity,nD as palettes}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
@@ -47,12 +47,12 @@ export declare enum InsightsFindingKind {
47
47
  }
48
48
  export declare enum InsightsAnomalyStatus {
49
49
  Open = "open",
50
- Baselined = "baselined",
50
+ Accepted = "accepted",
51
51
  Dismissed = "dismissed"
52
52
  }
53
53
  export declare enum InsightsViolationStatus {
54
54
  Open = "open",
55
- Allowed = "allowed",
55
+ Accepted = "accepted",
56
56
  Dismissed = "dismissed"
57
57
  }
58
58
  export declare enum InsightsRuleMode {
@@ -106,8 +106,11 @@ export interface InsightsServiceStat {
106
106
  export interface InsightsServiceProfile {
107
107
  namespace: string;
108
108
  service: string;
109
+ /** Service names observed calling this service (default create selection). */
109
110
  callers: string[];
111
+ /** Internal service names this service has called (default create selection). */
110
112
  callees: string[];
113
+ /** External hosts this service has reached (seeds open egress allowlist). */
111
114
  egress: string[];
112
115
  transactions: string[];
113
116
  }
@@ -164,6 +167,33 @@ export interface InsightsTransaction {
164
167
  identityDimensions: InsightsTransactionIdentityValue[];
165
168
  kind: InsightsTransactionKind;
166
169
  }
170
+ /** Physical unit of histogram bar bounds. `us` = microseconds; `bytes` = payload size. */
171
+ export declare enum InsightsBaselineHistogramUnit {
172
+ Us = "us",
173
+ Bytes = "bytes"
174
+ }
175
+ /** One exponential histogram bucket ready for a bar chart. */
176
+ export interface InsightsBaselineHistogramBar {
177
+ lo: number;
178
+ hi: number;
179
+ count: number;
180
+ label: string;
181
+ }
182
+ /** One named distribution within a histogram class (e.g. latency, request, response). */
183
+ export interface InsightsBaselineHistogramSeries {
184
+ name: string;
185
+ label: string;
186
+ bars: InsightsBaselineHistogramBar[];
187
+ }
188
+ /**
189
+ * Chart-ready exponential histogram for D3_latency and D8_payload_size.
190
+ * Plot `series[].bars`; do not recompute bounds from raw `data`.
191
+ */
192
+ export interface InsightsBaselineHistogram {
193
+ unit: InsightsBaselineHistogramUnit;
194
+ layoutFingerprint?: string | null;
195
+ series: InsightsBaselineHistogramSeries[];
196
+ }
167
197
  /** One stability dimension (observations count, or duration in minutes). */
168
198
  export interface InsightsBaselineStabilityProgress {
169
199
  current: number;
@@ -197,6 +227,8 @@ export interface InsightsBaselineClass {
197
227
  classDescription: string;
198
228
  /** JSON-encoded baseline data; shape varies per deviation class. */
199
229
  data?: string | null;
230
+ /** Chart-ready histogram for D3_latency / D8_payload_size. Omitted for other classes. */
231
+ histogram?: InsightsBaselineHistogram | null;
200
232
  dataSchemaVersion?: number | null;
201
233
  observationCount: number;
202
234
  promoted: boolean;
@@ -409,6 +441,11 @@ export interface InsightsGuardrailRule {
409
441
  label: string;
410
442
  mode: InsightsRuleMode;
411
443
  allowlist?: string[] | null;
444
+ /**
445
+ * How this rule was created. `auto_transaction_guardrail` means it was created
446
+ * automatically when the service's transactions promoted (not a manual edit).
447
+ */
448
+ origin?: string | null;
412
449
  }
413
450
  export interface InsightsGuardrail {
414
451
  scope: InsightsPolicyScope;
@@ -421,6 +458,8 @@ export interface InsightsGuardrailRuleInput {
421
458
  label: string;
422
459
  mode: InsightsRuleMode;
423
460
  allowlist?: string[] | null;
461
+ /** Preserved on save so auto-created rules keep their origin across edits. */
462
+ origin?: string | null;
424
463
  }
425
464
  export interface InsightsGuardrailInput {
426
465
  scope: InsightsPolicyScope;
package/lib/types.js CHANGED
@@ -1 +1 @@
1
- export{c7 as ActionCategoryTypes,bx as ActionKeyTypes,by as ActionType,ih as AgentInjectedReason,ii as BooleanOperation,cd as CloudConnectorFeatureKey,an as CodeAttributesKeyTypes,ij as ConditionType,bd as Crud,ah as CustomInstrumentationsKeyTypes,cP as DesiredConditionActionItemType,cs as DesiredStateProgress,ik as DestinationTypes,be as EntityTypes,bO as ExtractionDataFormat,q as FieldTypes,aj as GolangCustomProbe,al as HeadersCollectionKeyTypes,K as InputTypes,il as InsightsAnomalyClassFindingKind,gB as InsightsAnomalyResolution,gx as InsightsAnomalyStatus,gK as InsightsBaselineLearningPhase,gA as InsightsBulkResolution,gI as InsightsDeviationClass,bm as InsightsEntityTypes,gy as InsightsFindingKind,gP as InsightsLearningConditionType,gO as InsightsLearningMode,gN as InsightsPolicyScope,gF as InsightsRuleMode,gM as InsightsSampleReason,gz as InsightsSeverity,gS as InsightsStorageDiskStatus,im as InsightsStorageHealthStatus,io as InsightsTransactionKind,gw as InsightsViolationStatus,ip as InstallationMethod,iq as InstallationStatus,ag as InstrumentationRuleType,ir as IntrumentationStatus,ai as JavaCustomProbe,is as JsonOperation,bM as K8sAttributesFrom,bG as K8sResourceKind,it as K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode,iu as ListDirection,iv as NumberOperation,iw as OtelDistroName,ix as OtherEntityTypes,am as PayloadCollectionKeyTypes,ak as PhpCustomProbe,P as PlatformType,iy as PodContainerLifecycleStatus,iz as PodContainerStatus,iA as PodPhase,iB as Profile,$ as ProgrammingLanguages,c$ as RecommendationApplyExampleType,d0 as RecommendationRemediationType,c_ as RecommendationState,iC as RecommendationType,iD as SIGNAL_KEY_TO_TYPE,iE as SIGNAL_TYPE_TO_KEY,iF as SignalKey,bD as SignalType,iG as SortDirection,S as StatusType,iH as StringOperation,b as Tier,iI as WorkloadRolloutReason,hc as WorkloadRolloutStatus}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{eg as ActionCategoryTypes,bx as ActionKeyTypes,by as ActionType,kG as AgentInjectedReason,kH as BooleanOperation,em as CloudConnectorFeatureKey,an as CodeAttributesKeyTypes,kI as ConditionType,bd as Crud,ah as CustomInstrumentationsKeyTypes,eX as DesiredConditionActionItemType,eB as DesiredStateProgress,kJ as DestinationTypes,be as EntityTypes,c7 as ExtractionDataFormat,q as FieldTypes,aj as GolangCustomProbe,al as HeadersCollectionKeyTypes,K as InputTypes,kK as InsightsAnomalyClassFindingKind,iH as InsightsAnomalyResolution,iE as InsightsAnomalyStatus,kL as InsightsBaselineHistogramUnit,iI as InsightsBaselineLearningPhase,iG as InsightsBulkResolution,bS as InsightsDeviationClass,bm as InsightsEntityTypes,iF as InsightsFindingKind,bU as InsightsLearningConditionType,bW as InsightsLearningMode,bR as InsightsPolicyScope,bL as InsightsRuleMode,iS as InsightsSampleReason,e5 as InsightsSeverity,jg as InsightsStorageDiskStatus,kM as InsightsStorageHealthStatus,kN as InsightsTransactionKind,iD as InsightsViolationStatus,kO as InstallationMethod,kP as InstallationStatus,ag as InstrumentationRuleType,kQ as IntrumentationStatus,ai as JavaCustomProbe,kR as JsonOperation,c5 as K8sAttributesFrom,b$ as K8sResourceKind,kS as K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode,kT as ListDirection,kU as NumberOperation,kV as OtelDistroName,kW as OtherEntityTypes,am as PayloadCollectionKeyTypes,ak as PhpCustomProbe,P as PlatformType,kX as PodContainerLifecycleStatus,kY as PodContainerStatus,kZ as PodPhase,k_ as Profile,$ as ProgrammingLanguages,f6 as RecommendationApplyExampleType,f7 as RecommendationRemediationType,f5 as RecommendationState,k$ as RecommendationType,l0 as SIGNAL_KEY_TO_TYPE,l1 as SIGNAL_TYPE_TO_KEY,l2 as SignalKey,bD as SignalType,l3 as SortDirection,S as StatusType,l4 as StringOperation,b as Tier,l5 as WorkloadRolloutReason,jC as WorkloadRolloutStatus}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
package/lib/visuals.js CHANGED
@@ -1 +1 @@
1
- export{iJ as VISUAL_ODIGOS_LOGO_HEIGHT,iK as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,iL as VisualOdigosLogo,fr as VisualPurpleRings}from"./chunks/ui-components-DvoeDBMI.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
1
+ export{l6 as VISUAL_ODIGOS_LOGO_HEIGHT,l7 as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,l8 as VisualOdigosLogo,hw as VisualPurpleRings}from"./chunks/ui-components-Bvz84w4Q.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.290",
3
+ "version": "0.0.291",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {