@odigos/ui-kit 0.0.287 → 0.0.289

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 (59) hide show
  1. package/.cursor/rules/frontend-workflow.mdc +27 -0
  2. package/.cursor/rules/ui-feedback-tables-forms.mdc +40 -0
  3. package/.cursor/rules/ui-implementation.mdc +21 -0
  4. package/.cursor/rules/ui-pages-and-drawers.mdc +34 -0
  5. package/.cursor/rules/ui-visual-language.mdc +27 -0
  6. package/CHANGELOG.md +30 -0
  7. package/lib/chunks/{helpers-CtkwQ3Wc.js → helpers-Ds7r-EIJ.js} +1 -1
  8. package/lib/chunks/index-DiYN36pr.js +351 -0
  9. package/lib/chunks/source-instrument-form-context-CBP9xXNN.js +5 -0
  10. package/lib/chunks/{ui-components-CjgsN17j.js → ui-components-Dvmqmy3G.js} +93 -84
  11. package/lib/components/table/types.d.ts +2 -2
  12. package/lib/components/trace-view/styled.d.ts +51 -34
  13. package/lib/components/trace-view/types.d.ts +4 -0
  14. package/lib/components.js +1 -1
  15. package/lib/constants/strings/index.d.ts +6 -0
  16. package/lib/constants.js +1 -1
  17. package/lib/containers/_drawers/edit-source-drawer/overview/instructions-card.d.ts +21 -0
  18. package/lib/containers/_modals/sampling-onboarding-modal/common/chrome.d.ts +14 -10
  19. package/lib/containers/_modals/sampling-onboarding-modal/common/section.d.ts +9 -3
  20. package/lib/containers/insights/findings/drawer/anomaly/risk-breakdown/helpers.d.ts +23 -0
  21. package/lib/containers/insights/findings/drawer/anomaly/risk-breakdown/index.d.ts +9 -0
  22. package/lib/containers/insights/operation-identity.d.ts +22 -0
  23. package/lib/containers/insights/overview/contained-table-and-heading/index.d.ts +2 -1
  24. package/lib/containers/insights/settings-and-configurations/panels/detection/create-override-panel.d.ts +1 -1
  25. package/lib/containers/insights/settings-and-configurations/panels/guardrails/constants.d.ts +6 -1
  26. package/lib/containers/insights/settings-and-configurations/panels/guardrails/facet-section.d.ts +1 -0
  27. package/lib/containers/insights/settings-and-configurations/panels/guardrails/mappers.d.ts +2 -0
  28. package/lib/containers/insights/settings-and-configurations/panels/learning/mappers.d.ts +2 -1
  29. package/lib/containers/insights/settings-and-configurations/panels/storage/layout.d.ts +12 -4
  30. package/lib/containers/insights/settings-and-configurations/panels/system/constants.d.ts +19 -1
  31. package/lib/containers/insights/transactions/helpers.d.ts +16 -3
  32. package/lib/containers.js +606 -478
  33. package/lib/contexts/odigos-api/capabilities.d.ts +2 -0
  34. package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +19 -2
  35. package/lib/contexts/odigos-api/hooks/use-sources-api.d.ts +10 -1
  36. package/lib/contexts/odigos-api/index.d.ts +1 -1
  37. package/lib/contexts/odigos-api/types.d.ts +48 -1
  38. package/lib/contexts.js +1 -1
  39. package/lib/functions.js +1 -1
  40. package/lib/hooks.js +1 -1
  41. package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/helpers.d.ts +7 -6
  42. package/lib/snippets/blast-radius/index.d.ts +7 -0
  43. package/lib/snippets/index.d.ts +1 -0
  44. package/lib/snippets/sampling-rule-form-sections/styled.d.ts +6 -2
  45. package/lib/snippets.js +1 -1
  46. package/lib/store.js +1 -1
  47. package/lib/theme/palettes/index.d.ts +1 -0
  48. package/lib/theme.js +1 -1
  49. package/lib/types/insights/index.d.ts +68 -13
  50. package/lib/types/workload/index.d.ts +61 -0
  51. package/lib/types.js +1 -1
  52. package/lib/visuals.js +1 -1
  53. package/package.json +27 -24
  54. package/lib/chunks/index-BlYPxLja.js +0 -311
  55. package/lib/chunks/source-instrument-form-context-Bg6JzU76.js +0 -5
  56. package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/index.d.ts +0 -7
  57. /package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/animated-edge.d.ts +0 -0
  58. /package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/blast-radius-node.d.ts +0 -0
  59. /package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/types.d.ts +0 -0
@@ -23,6 +23,8 @@ export interface Capabilities {
23
23
  canRestartWorkloads: boolean;
24
24
  canFetchPeerSources: boolean;
25
25
  canFetchSourceLibraries: boolean;
26
+ /** The host can tell a customer how to instrument a workload themselves (cloud connectors). */
27
+ canFetchInstrumentationInstructions: boolean;
26
28
  canFetchK8sManifest: boolean;
27
29
  canCreateDestination: boolean;
28
30
  canTestConnection: boolean;
@@ -10,8 +10,8 @@
10
10
  * the `{ insights: { … } }` / mutation-root wire envelope).
11
11
  */
12
12
  import { type UseApiQueryOptions, type UseApiQueryResult } from '../use-api-query';
13
- import type { GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsBaselineVars, GetInsightsFindingsVars, GetInsightsGuardrailViolationsVars, GetInsightsGuardrailViolationVars, GetInsightsServiceProfileVars, GetInsightsBlastRadiusVars, GetInsightsObservationVars, GetInsightsObservationsVars, GetInsightsTransactionVars, GetInsightsTransactionsVars, OperationContext, OdigosApiOperations, ForcePromoteInsightsServiceVars, PromoteInsightsBaselineClassVars, ResolveInsightsAnomalyVars } from '../types';
14
- import type { InsightsAnomalyIssue, InsightsAnomalySummary, InsightsBaselineClass, 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';
13
+ import type { GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsBaselineVars, GetInsightsFindingsVars, GetInsightsGuardrailViolationsVars, GetInsightsGuardrailViolationVars, GetInsightsServiceProfileVars, GetInsightsBlastRadiusVars, GetInsightsObservationVars, GetInsightsObservationsVars, GetInsightsTransactionVars, GetInsightsTransactionsVars, OperationContext, OdigosApiOperations, ForcePromoteInsightsServiceVars, EnableInsightsTransactionGuardrailVars, DisableInsightsTransactionGuardrailVars, PromoteInsightsBaselineClassVars, ResolveInsightsAnomalyVars } from '../types';
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
17
  useTransactions: (vars?: GetInsightsTransactionsVars, options?: UseApiQueryOptions<InsightsTransactionStat[]>) => UseApiQueryResult<InsightsTransactionStat[]>;
@@ -102,12 +102,29 @@ export interface InsightsApi {
102
102
  resetTransactionBaselines?: (transactionId: string) => Promise<{
103
103
  error?: string;
104
104
  } | undefined>;
105
+ promoteTransactionBaselines?: (transactionId: string) => Promise<{
106
+ error?: string;
107
+ } | undefined>;
108
+ bulkPromoteTransactions?: (transactionIds: string[]) => Promise<{
109
+ data?: InsightsBulkPromoteResult;
110
+ error?: string;
111
+ } | undefined>;
105
112
  forcePromoteService?: (vars: ForcePromoteInsightsServiceVars) => Promise<{
106
113
  error?: string;
107
114
  } | undefined>;
115
+ enableTransactionGuardrail?: (vars: EnableInsightsTransactionGuardrailVars) => Promise<{
116
+ error?: string;
117
+ } | undefined>;
118
+ disableTransactionGuardrail?: (vars: DisableInsightsTransactionGuardrailVars) => Promise<{
119
+ error?: string;
120
+ } | undefined>;
108
121
  deleteTransaction?: (transactionId: string) => Promise<{
109
122
  error?: string;
110
123
  } | undefined>;
124
+ bulkDeleteTransactions?: (transactionIds: string[]) => Promise<{
125
+ data?: InsightsBulkDeleteResult;
126
+ error?: string;
127
+ } | undefined>;
111
128
  upsertPolicy?: (policy: InsightsPolicyInput) => Promise<{
112
129
  data?: InsightsPolicy;
113
130
  error?: string;
@@ -25,7 +25,7 @@
25
25
  * `useApiQuery('GET_WORKLOADS')` subscriber.
26
26
  */
27
27
  import { type UseApiQueryOptions, type UseApiQueryResult } from '../use-api-query';
28
- import type { GetSourceLibrariesData, GetPeerSourcesVars, OperationContext, OdigosApiOperations } from '../types';
28
+ import type { GetInstrumentationInstructionsData, GetInstrumentationInstructionsVars, GetSourceLibrariesData, GetPeerSourcesVars, OperationContext, OdigosApiOperations } from '../types';
29
29
  import { type PeerSources, type SourceFormData, type Workload, type WorkloadId } from '../../../types';
30
30
  import { type NamespaceSelectionFormData, type SourceSelectionFormData } from '../../../store';
31
31
  export interface PersistSourceInput {
@@ -83,6 +83,15 @@ export interface SourcesApi {
83
83
  }>) => UseApiQueryResult<{
84
84
  peerSources?: PeerSources;
85
85
  }>;
86
+ /**
87
+ * Subscribe to how one workload should be instrumented — the connector-rendered documents a
88
+ * customer applies in manual mode. Owns a `useApiQuery('GET_INSTRUMENTATION_INSTRUCTIONS')`;
89
+ * call at the top level of a container.
90
+ *
91
+ * The slot is optional, so on a host that does not serve it (k8s, which instruments workloads
92
+ * itself) this reports `unsupported` and never fires a request.
93
+ */
94
+ useInstrumentationInstructions: (vars?: GetInstrumentationInstructionsVars, options?: UseApiQueryOptions<GetInstrumentationInstructionsData>) => UseApiQueryResult<GetInstrumentationInstructionsData>;
86
95
  /** Persist the legacy form-shape payload (used by `AddSourceDrawer` / `Onboarding`). */
87
96
  persist: (selectAppsList: SourceSelectionFormData, futureSelectAppsList: NamespaceSelectionFormData) => Promise<void>;
88
97
  /** Persist the V2 multi-cluster payload shape (used by `CentralConnections` / standalone overview's bulk persist). */
@@ -15,7 +15,7 @@ export { useApiQuery, useApiLazyQuery, useApiMutation } from './use-api-query';
15
15
  export { useApiForConnections, type ApiForConnections } from './use-api-for-connections';
16
16
  export type { UseApiQueryOptions, UseApiQueryResult, UseApiLazyQueryResult, UseApiMutationOptions, UseApiMutationResult, UseApiMutationTuple } from './use-api-query';
17
17
  export { pickByPlatform, versionedDocument, vmDialectMap, type VersionedDocumentMap } from './platform-helpers';
18
- export type { ApolloConfig, ApplyRecommendationRemediationResult, ApplyRecommendationRemediationVars, CreateActionResult, CreateActionVars, CreateCostReductionRuleResult, CreateDataStreamResult, CreateDataStreamVars, CreateDestinationResult, CreateDestinationVars, CreateHighlyRelevantOperationRuleResult, CreateInstrumentationRuleResult, CreateInstrumentationRuleVars, CreateNoisyOperationRuleResult, DeleteActionResult, DeleteActionVars, DeleteCostReductionRuleResult, DeleteDataStreamResult, DeleteDataStreamVars, DeleteDestinationResult, DeleteDestinationVars, DeleteHighlyRelevantOperationRuleResult, DeleteInstrumentationRuleResult, DeleteInstrumentationRuleVars, DeleteNoisyOperationRuleResult, DescribeOdigosData, DescribeSourceData, DestinationWireInput, DiagnoseResult, DiagnoseVars, GetActionsData, GetAllClusterSnapshotsData, GetClusterSnapshotData, GetClusterSnapshotVars, GetCollectorPodInfoData, GetCollectorPodInfoVars, GetConfigYamlsData, GetDataStreamsData, GetDestinationsData, GetEffectiveConfigVars, GetGatewayInfoData, GetGatewayPodsData, GetInstrumentationRulesData, GetK8sManifestData, GetK8sManifestVars, GetMetricsData, GetNamespacesWithWorkloadsData, GetNodeCollectorInfoData, GetNodeCollectorPodsData, GetPeerSourcesVars, GetProfilingSlotsData, GetRecommendationsData, GetSamplingRulesData, GetServiceMapData, GetSourceLibrariesData, GetSourceLibrariesVars, GetSourceProfilingData, GetTokensData, GetWorkloadsByIdsData, GetWorkloadsByIdsVars, GetWorkloadsData, GetWorkloadsVars, GetInsightsTransactionsVars, GetInsightsTransactionVars, GetInsightsBaselineVars, GetInsightsObservationsVars, GetInsightsObservationVars, GetInsightsFindingsVars, GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsGuardrailViolationsVars, GetInsightsGuardrailViolationVars, GetInsightsServiceProfileVars, GetInsightsBlastRadiusVars, PromoteInsightsBaselineClassVars, ResetInsightsBaselineClassVars, ResetInsightsTransactionBaselinesVars, ForcePromoteInsightsServiceVars, DeleteInsightsTransactionVars, UpsertInsightsPolicyVars, DeleteInsightsPolicyVars, UpsertInsightsLearningPolicyVars, DeleteInsightsLearningPolicyVars, ResolveInsightsAnomalyVars, BulkResolveInsightsAnomaliesVars, UpsertInsightsGuardrailVars, DeleteInsightsGuardrailVars, SeedInsightsGuardrailVars, InsightsViolationActionVars, UpdateInsightsSystemSettingsVars, MultiFetchGroup, MultiFetchResponse, MultiFetchResult, OdigosApiOperations, OdigosApiProviderProps, Operation, OperationContext, PersistNamespacesResult, PersistNamespacesVars, PersistSourcesResult, PersistSourcesVars, RecoverFromRollbackVars, ResetLocalUiConfigResult, RestartPodVars, RestartWorkloadsVars, SamplingConfigInputWire, SamplingK8sHealthConfigInput, SamplingK8sHealthConfigVars, SamplingRuleCreateVars, SamplingRuleDeleteVars, SamplingRuleUpdateVars, SetRecommendationDismissedResult, TestDestinationConnectionVars, UpdateActionResult, UpdateActionVars, UpdateCostReductionRuleResult, UpdateDataStreamResult, UpdateDataStreamVars, UpdateDestinationData, UpdateDestinationVars, UpdateHighlyRelevantOperationRuleResult, UpdateInstrumentationRuleResult, UpdateInstrumentationRuleVars, UpdateLocalUiConfigResult, UpdateLocalUiConfigVars, UpdateLocalUiSamplingConfigResult, UpdateLocalUiSamplingConfigVars, UpdateNoisyOperationRuleResult, UpdateRemoteConfigResult, UpdateRemoteConfigVars, UpdateSourceVars, UpdateTokenResult, UpdateTokenVars, } from './types';
18
+ export type { ApolloConfig, ApplyRecommendationRemediationResult, ApplyRecommendationRemediationVars, CreateActionResult, CreateActionVars, CreateCostReductionRuleResult, CreateDataStreamResult, CreateDataStreamVars, CreateDestinationResult, CreateDestinationVars, CreateHighlyRelevantOperationRuleResult, CreateInstrumentationRuleResult, CreateInstrumentationRuleVars, CreateNoisyOperationRuleResult, DeleteActionResult, DeleteActionVars, DeleteCostReductionRuleResult, DeleteDataStreamResult, DeleteDataStreamVars, DeleteDestinationResult, DeleteDestinationVars, DeleteHighlyRelevantOperationRuleResult, DeleteInstrumentationRuleResult, DeleteInstrumentationRuleVars, DeleteNoisyOperationRuleResult, DescribeOdigosData, DescribeSourceData, DestinationWireInput, DiagnoseResult, DiagnoseVars, GetActionsData, GetAllClusterSnapshotsData, GetClusterSnapshotData, GetClusterSnapshotVars, GetCollectorPodInfoData, GetCollectorPodInfoVars, GetConfigYamlsData, GetDataStreamsData, GetDestinationsData, GetEffectiveConfigVars, GetGatewayInfoData, GetGatewayPodsData, GetInstrumentationInstructionsData, GetInstrumentationInstructionsVars, GetInstrumentationRulesData, GetK8sManifestData, GetK8sManifestVars, GetMetricsData, GetNamespacesWithWorkloadsData, GetNodeCollectorInfoData, GetNodeCollectorPodsData, GetPeerSourcesVars, GetProfilingSlotsData, GetRecommendationsData, GetSamplingRulesData, GetServiceMapData, GetSourceLibrariesData, GetSourceLibrariesVars, GetSourceProfilingData, GetTokensData, GetWorkloadsByIdsData, GetWorkloadsByIdsVars, GetWorkloadsData, GetWorkloadsVars, GetInsightsTransactionsVars, GetInsightsTransactionVars, GetInsightsBaselineVars, GetInsightsObservationsVars, GetInsightsObservationVars, GetInsightsFindingsVars, GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsGuardrailViolationsVars, GetInsightsGuardrailViolationVars, GetInsightsServiceProfileVars, GetInsightsBlastRadiusVars, PromoteInsightsBaselineClassVars, ResetInsightsBaselineClassVars, ResetInsightsTransactionBaselinesVars, PromoteInsightsTransactionBaselinesVars, BulkPromoteInsightsTransactionsVars, ForcePromoteInsightsServiceVars, EnableInsightsTransactionGuardrailVars, DisableInsightsTransactionGuardrailVars, DeleteInsightsTransactionVars, BulkDeleteInsightsTransactionsVars, UpsertInsightsPolicyVars, DeleteInsightsPolicyVars, UpsertInsightsLearningPolicyVars, DeleteInsightsLearningPolicyVars, ResolveInsightsAnomalyVars, BulkResolveInsightsAnomaliesVars, UpsertInsightsGuardrailVars, DeleteInsightsGuardrailVars, SeedInsightsGuardrailVars, InsightsViolationActionVars, UpdateInsightsSystemSettingsVars, MultiFetchGroup, MultiFetchResponse, MultiFetchResult, OdigosApiOperations, OdigosApiProviderProps, Operation, OperationContext, PersistNamespacesResult, PersistNamespacesVars, PersistSourcesResult, PersistSourcesVars, RecoverFromRollbackVars, ResetLocalUiConfigResult, RestartPodVars, RestartWorkloadsVars, SamplingConfigInputWire, SamplingK8sHealthConfigInput, SamplingK8sHealthConfigVars, SamplingRuleCreateVars, SamplingRuleDeleteVars, SamplingRuleUpdateVars, SetRecommendationDismissedResult, TestDestinationConnectionVars, UpdateActionResult, UpdateActionVars, UpdateCostReductionRuleResult, UpdateDataStreamResult, UpdateDataStreamVars, UpdateDestinationData, UpdateDestinationVars, UpdateHighlyRelevantOperationRuleResult, UpdateInstrumentationRuleResult, UpdateInstrumentationRuleVars, UpdateLocalUiConfigResult, UpdateLocalUiConfigVars, UpdateLocalUiSamplingConfigResult, UpdateLocalUiSamplingConfigVars, UpdateNoisyOperationRuleResult, UpdateRemoteConfigResult, UpdateRemoteConfigVars, UpdateSourceVars, UpdateTokenResult, UpdateTokenVars, } from './types';
19
19
  export type { Capabilities } from './capabilities';
20
20
  export type { ConfigApi } from './hooks/use-config-api';
21
21
  export type { TokensApi } from './hooks/use-tokens-api';
@@ -18,7 +18,7 @@ import type { ReactNode } from 'react';
18
18
  import type { DocumentNode } from '@apollo/client';
19
19
  import type { InstrumentationRuleInputWire } from '../../functions/instrumentation-rule-source-scopes';
20
20
  import type { ApolloClient, ApolloLink, FetchPolicy, MutationFetchPolicy, TypePolicies, WatchQueryFetchPolicy } from '@apollo/client';
21
- import type { Action, ActionFormData, AllClusterSnapshots, ClusterSnapshot, ConfigYaml, CostReductionRule, CostReductionRuleInput, DataStream, DescribeOdigos, DescribeSource, Destination, DestinationFormData, DiagnoseFormData, EffectiveConfig, EffectiveConfigInput, EnableProfilingResult, ExtendedPodInfo, FetchedConfig, GatewayInfo, GetActionTypesResult, GetInstrumentationRuleTypesResult, GetDestinationCategoriesResult, GetPotentialDestinationsResult, GetProfileHotFunctionsVars, HighlyRelevantOperationRule, HighlyRelevantOperationRuleInput, HotFunctionsResult, InsightsAnomalyIssue, InsightsAnomalyRefInput, InsightsAnomalyResolution, InsightsAnomalySummary, InsightsBaselineClass, InsightsBulkResolution, InsightsBulkResolveResult, InsightsCatalog, InsightsDeviationClass, InsightsFinding, InsightsFindingKind, InsightsGuardrail, InsightsGuardrailInput, InsightsGuardrailSeedInput, InsightsGuardrailViolation, InsightsGuardrailViolationDetail, InsightsLearningPolicy, InsightsLearningPolicyInput, InsightsObservation, InsightsObservationSummary, InsightsPolicy, InsightsPolicyInput, InsightsPolicyScope, InsightsPromoteResult, InsightsSampleReason, InsightsServiceStat, InsightsServiceProfile, InsightsBlastRadiusSubgraph, InsightsStorageHealth, InsightsSystemSettings, InsightsSystemSettingsInput, InsightsTransaction, InsightsTransactionKind, InsightsTransactionStat, InsightsViolationActionInput, InstrumentationRule, K8sResourceKind, LocalUiConfigInput, Metrics, Namespace, NoisyOperationRule, NoisyOperationRuleInput, NodeCollectoInfo, PlatformType, PodInfo, ProfilingSlots, SourceProfilingVars, Recommendation, RecommendationRemediationType, RecommendationType, SamplingRules, SamplingRulesK8sHealthConfig, ServiceMapSources, SourceFormData, SourceProfilingResult, TestConnectionResponse, Tier, TokenPayload, Workload, WorkloadId, PeerSources } from '../../types';
21
+ import type { Action, ActionFormData, AllClusterSnapshots, ClusterSnapshot, ConfigYaml, CostReductionRule, CostReductionRuleInput, DataStream, DescribeOdigos, DescribeSource, Destination, DestinationFormData, DiagnoseFormData, EffectiveConfig, EffectiveConfigInput, EnableProfilingResult, ExtendedPodInfo, FetchedConfig, GatewayInfo, GetActionTypesResult, GetInstrumentationRuleTypesResult, GetDestinationCategoriesResult, GetPotentialDestinationsResult, GetProfileHotFunctionsVars, HighlyRelevantOperationRule, HighlyRelevantOperationRuleInput, HotFunctionsResult, InsightsAnomalyIssue, InsightsAnomalyRefInput, InsightsAnomalyResolution, InsightsAnomalySummary, InsightsBaselineClass, InsightsBulkDeleteResult, InsightsBulkPromoteResult, InsightsBulkResolution, InsightsBulkResolveResult, InsightsCatalog, InsightsDeviationClass, InsightsFinding, InsightsFindingKind, InsightsGuardrail, InsightsGuardrailInput, InsightsGuardrailSeedInput, InsightsGuardrailViolation, InsightsGuardrailViolationDetail, InsightsLearningPolicy, InsightsLearningPolicyInput, InsightsObservation, InsightsObservationSummary, InsightsPolicy, InsightsPolicyInput, InsightsPolicyScope, InsightsPromoteResult, InsightsSampleReason, InsightsServiceStat, InsightsServiceProfile, InsightsBlastRadiusSubgraph, InsightsStorageHealth, InsightsSystemSettings, InsightsSystemSettingsInput, InsightsTransaction, InsightsTransactionKind, InsightsTransactionStat, InsightsViolationActionInput, InstrumentationInstructions, InstrumentationRule, K8sResourceKind, LocalUiConfigInput, Metrics, Namespace, NoisyOperationRule, NoisyOperationRuleInput, NodeCollectoInfo, PlatformType, PodInfo, ProfilingSlots, SourceProfilingVars, Recommendation, RecommendationRemediationType, RecommendationType, SamplingRules, SamplingRulesK8sHealthConfig, ServiceMapSources, SourceFormData, SourceProfilingResult, TestConnectionResponse, Tier, TokenPayload, Workload, WorkloadId, PeerSources } from '../../types';
22
22
  /**
23
23
  * The execution context for a given operation, propagated through every
24
24
  * `Operation.document(ctx)` / `transformVariables(vars, ctx)` /
@@ -257,6 +257,19 @@ export interface GetSourceLibrariesData {
257
257
  }[];
258
258
  }[];
259
259
  }
260
+ /** Variables for `GET_INSTRUMENTATION_INSTRUCTIONS` — the same composite id the workload is keyed by. */
261
+ export type GetInstrumentationInstructionsVars = WorkloadId;
262
+ /**
263
+ * Result envelope for `GET_INSTRUMENTATION_INSTRUCTIONS`.
264
+ *
265
+ * Null is a normal answer, not an error: the workload's type may have no instrumentation defined on
266
+ * this connector at all. The drawer renders nothing in that case — the report already explains why
267
+ * the workload is not instrumented, and an empty "how to instrument it" panel would compete with
268
+ * that explanation.
269
+ */
270
+ export interface GetInstrumentationInstructionsData {
271
+ instrumentationInstructions?: InstrumentationInstructions | null;
272
+ }
260
273
  /** Variables for the peer-sources query (used by service map). */
261
274
  export interface GetPeerSourcesVars {
262
275
  serviceName: string;
@@ -671,13 +684,24 @@ export interface ResetInsightsBaselineClassVars {
671
684
  export interface ResetInsightsTransactionBaselinesVars {
672
685
  transactionId: string;
673
686
  }
687
+ export interface PromoteInsightsTransactionBaselinesVars {
688
+ transactionId: string;
689
+ }
690
+ export interface BulkPromoteInsightsTransactionsVars {
691
+ transactionIds: string[];
692
+ }
674
693
  export interface ForcePromoteInsightsServiceVars {
675
694
  namespace: string;
676
695
  service: string;
677
696
  }
697
+ export type EnableInsightsTransactionGuardrailVars = ForcePromoteInsightsServiceVars;
698
+ export type DisableInsightsTransactionGuardrailVars = ForcePromoteInsightsServiceVars;
678
699
  export interface DeleteInsightsTransactionVars {
679
700
  transactionId: string;
680
701
  }
702
+ export interface BulkDeleteInsightsTransactionsVars {
703
+ transactionIds: string[];
704
+ }
681
705
  export interface UpsertInsightsPolicyVars {
682
706
  policy: InsightsPolicyInput;
683
707
  }
@@ -807,6 +831,18 @@ export interface ResetInsightsBaselineClassResult {
807
831
  export interface ResetInsightsTransactionBaselinesResult {
808
832
  resetInsightsTransactionBaselines: boolean;
809
833
  }
834
+ export interface PromoteInsightsTransactionBaselinesResult {
835
+ promoteInsightsTransactionBaselines: boolean;
836
+ }
837
+ export interface BulkPromoteInsightsTransactionsResult {
838
+ bulkPromoteInsightsTransactions: InsightsBulkPromoteResult;
839
+ }
840
+ export interface DeleteInsightsTransactionResult {
841
+ deleteInsightsTransaction: boolean;
842
+ }
843
+ export interface BulkDeleteInsightsTransactionsResult {
844
+ bulkDeleteInsightsTransactions: InsightsBulkDeleteResult;
845
+ }
810
846
  export interface UpsertInsightsPolicyResult {
811
847
  upsertInsightsPolicy: InsightsPolicy;
812
848
  }
@@ -870,6 +906,12 @@ export interface OdigosApiOperations {
870
906
  source?: Workload;
871
907
  }, WorkloadId>;
872
908
  GET_SOURCE_LIBRARIES: Operation<GetSourceLibrariesData, GetSourceLibrariesVars>;
909
+ /**
910
+ * Optional: only cloud-connector hosts serve it. K8s instruments workloads itself and has
911
+ * nothing to instruct a customer to do, so the slot is absent there and the drawer section
912
+ * simply does not render (`useApiQuery` reports `unsupported` and never fires).
913
+ */
914
+ GET_INSTRUMENTATION_INSTRUCTIONS?: Operation<GetInstrumentationInstructionsData, GetInstrumentationInstructionsVars>;
873
915
  GET_PEER_SOURCES: Operation<{
874
916
  peerSources?: PeerSources;
875
917
  }, GetPeerSourcesVars>;
@@ -975,8 +1017,13 @@ export interface OdigosApiOperations {
975
1017
  PROMOTE_INSIGHTS_BASELINE_CLASS?: Operation<InsightsPromoteResult, PromoteInsightsBaselineClassVars>;
976
1018
  RESET_INSIGHTS_BASELINE_CLASS?: Operation<boolean, ResetInsightsBaselineClassVars>;
977
1019
  RESET_INSIGHTS_TRANSACTION_BASELINES?: Operation<boolean, ResetInsightsTransactionBaselinesVars>;
1020
+ PROMOTE_INSIGHTS_TRANSACTION_BASELINES?: Operation<boolean, PromoteInsightsTransactionBaselinesVars>;
1021
+ BULK_PROMOTE_INSIGHTS_TRANSACTIONS?: Operation<InsightsBulkPromoteResult, BulkPromoteInsightsTransactionsVars>;
978
1022
  FORCE_PROMOTE_INSIGHTS_SERVICE?: Operation<boolean, ForcePromoteInsightsServiceVars>;
1023
+ ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL?: Operation<boolean, EnableInsightsTransactionGuardrailVars>;
1024
+ DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL?: Operation<boolean, DisableInsightsTransactionGuardrailVars>;
979
1025
  DELETE_INSIGHTS_TRANSACTION?: Operation<boolean, DeleteInsightsTransactionVars>;
1026
+ BULK_DELETE_INSIGHTS_TRANSACTIONS?: Operation<InsightsBulkDeleteResult, BulkDeleteInsightsTransactionsVars>;
980
1027
  UPSERT_INSIGHTS_POLICY?: Operation<InsightsPolicy, UpsertInsightsPolicyVars>;
981
1028
  DELETE_INSIGHTS_POLICY?: Operation<boolean, DeleteInsightsPolicyVars>;
982
1029
  UPSERT_INSIGHTS_LEARNING_POLICY?: Operation<InsightsLearningPolicy, UpsertInsightsLearningPolicyVars>;
package/lib/contexts.js CHANGED
@@ -1 +1 @@
1
- import{u as a,r as x,a as y}from"./chunks/source-instrument-form-context-Bg6JzU76.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-Bg6JzU76.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-CtkwQ3Wc.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-CjgsN17j.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 x,a as y}from"./chunks/source-instrument-form-context-CBP9xXNN.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-CBP9xXNN.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-Ds7r-EIJ.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-Dvmqmy3G.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};
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{bu as adaptInstrumentationRuleFromWire,bs as adaptInstrumentationRuleInputForWire,cr as buildBadgeForDesiredStatus,hM as buildCatalogFieldsDataCard,ch as buildCatalogFieldsSegments,hN as capitalizeFirstLetter,hO as cleanObjectEmptyStringsValues,a9 as compareCondition,hP as decimalsOnly,b3 as deepClone,gz as entityIdKey,gE as filterActions,gD as filterDestinations,cl as filterDestinationsByStream,gC as filterSources,gp as filterSourcesByStream,hQ as flattenObjectKeys,cG as formatBytes,g8 as formatDuration,b9 as generateId,gw as getActionConditions,cj as getActionIcon,gx as getConditionsBooleans,cZ as getContainersIcons,hR as getContainersInstrumentedCount,hS as getDeepValue,c9 as getDestinationIcon,hT as getDetectedLanguageIcons,cw as getEffectiveLanguage,cO as getEffectiveRuntimeVersion,gA as getEntityIcon,bn as getEntityId,gv as getEntityIdKey,gy as getEntityLabel,hU as getHealthBadgeLabel,bj as getIdFromSseTarget,cn as getInstrumentationRuleIcon,hV as getMainContainerLanguage,hW as getMetricForEntity,hX as getMonitorIcon,hY as getNearestTypographySize,cY as getPlatformIcon,fY as getPlatformLabel,$ as getProgrammingLanguageIcon,hZ as getRecursiveValues,cF as getSourceKindLabel,cC as getSourceLanguageIcons,bc as getSseTargetFromId,cM as getStatusColor,gG as getStatusFromPodStatus,cN as getStatusIcon,cH as getStatusTypeFromOdigosHealth,h_ as getValueForRange,cB as getVirtualServiceIcon,cA as getWorkloadId,cm as getYamlFieldsForDestination,h$ as hasUnhealthyInstances,i0 as instrumentationRuleSourceScopesFromWire,i1 as instrumentationRuleSourceScopesToWire,bz as isEmpty,bA as isLegalK8sLabel,eJ as isOverTime,i2 as isStringABoolean,i3 as isTimeElapsed,cL as isValidVersion,i4 as mapConditions,ct as mapDesiredStatusToConditionStatus,cf as mapDesiredStatusesToConditions,ck as mapDestinationFieldsForDisplay,bE as mapExportedSignals,bC as mapSupportedSignals,i5 as numbersOnly,i6 as parseBooleanFromString,i7 as parseJsonStringToPrettyString,ga as parseRawOtlp,bT as prepareDestinationFormData,i8 as removeEmptyValuesFromObject,E as safeJsonParse,i9 as safeJsonStringify,ia as setDeepValue,ib as sleep,an as splitCamelString,ic as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-CjgsN17j.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,cr as buildBadgeForDesiredStatus,hM as buildCatalogFieldsDataCard,ch as buildCatalogFieldsSegments,hN as capitalizeFirstLetter,hO as cleanObjectEmptyStringsValues,aa as compareCondition,hP as decimalsOnly,b4 as deepClone,gz as entityIdKey,gE as filterActions,gD as filterDestinations,cl as filterDestinationsByStream,gC as filterSources,gp as filterSourcesByStream,hQ as flattenObjectKeys,cG as formatBytes,g9 as formatDuration,b9 as generateId,gw as getActionConditions,cj as getActionIcon,gx as getConditionsBooleans,cZ as getContainersIcons,hR as getContainersInstrumentedCount,hS as getDeepValue,c9 as getDestinationIcon,hT as getDetectedLanguageIcons,cw as getEffectiveLanguage,cO as getEffectiveRuntimeVersion,gA as getEntityIcon,bn as getEntityId,gv as getEntityIdKey,gy as getEntityLabel,hU as getHealthBadgeLabel,bj as getIdFromSseTarget,cn as getInstrumentationRuleIcon,hV as getMainContainerLanguage,hW as getMetricForEntity,hX as getMonitorIcon,hY as getNearestTypographySize,cY as getPlatformIcon,fY as getPlatformLabel,a0 as getProgrammingLanguageIcon,hZ as getRecursiveValues,cF as getSourceKindLabel,cC as getSourceLanguageIcons,bc as getSseTargetFromId,cM as getStatusColor,gG as getStatusFromPodStatus,cN as getStatusIcon,cH as getStatusTypeFromOdigosHealth,h_ as getValueForRange,cB as getVirtualServiceIcon,cA as getWorkloadId,cm as getYamlFieldsForDestination,h$ as hasUnhealthyInstances,i0 as instrumentationRuleSourceScopesFromWire,i1 as instrumentationRuleSourceScopesToWire,bz as isEmpty,bA as isLegalK8sLabel,eJ as isOverTime,i2 as isStringABoolean,i3 as isTimeElapsed,cL as isValidVersion,i4 as mapConditions,ct as mapDesiredStatusToConditionStatus,cf as mapDesiredStatusesToConditions,ck as mapDestinationFieldsForDisplay,bE as mapExportedSignals,bC as mapSupportedSignals,i5 as numbersOnly,i6 as parseBooleanFromString,i7 as parseJsonStringToPrettyString,gc as parseRawOtlp,bT as prepareDestinationFormData,i8 as removeEmptyValuesFromObject,G as safeJsonParse,i9 as safeJsonStringify,ia as setDeepValue,ib as sleep,ao as splitCamelString,ic as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-Dvmqmy3G.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{iE as IGNORE_OUTSIDE_CLICK_ATTR,eL as PopupAlignX,eK as PopupAlignY,gc as formatDurationMinutes,iF as formatDurationMs,iG as isInsideIgnoredPortal,iH as useActionFormData,iI as useAnchoredPopup,iJ as useBodyScroll,gB as useContainerSize,u as useCopy,iK as useDataStreamFormData,iL as useDestinationFormData,bv as useGenericForm,iM as useInstrumentationRuleFormData,eI as useKeyDown,cI as useOnClickOutside,iN as useOverflow,iO as usePopup,cq as useScrollIntoViewWhen,gY as useScrollTo,gs as useSessionStorage,iP as useSourceFormData,co as useTimeAgo}from"./chunks/ui-components-CjgsN17j.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{iE as IGNORE_OUTSIDE_CLICK_ATTR,eL as PopupAlignX,eK as PopupAlignY,ge as formatDurationMinutes,iF as formatDurationMs,iG as isInsideIgnoredPortal,iH as useActionFormData,iI as useAnchoredPopup,iJ as useBodyScroll,gB as useContainerSize,u as useCopy,iK as useDataStreamFormData,iL as useDestinationFormData,bv as useGenericForm,iM as useInstrumentationRuleFormData,eI as useKeyDown,cI as useOnClickOutside,iN as useOverflow,iO as usePopup,cq as useScrollIntoViewWhen,gY as useScrollTo,gs as useSessionStorage,iP as useSourceFormData,co as useTimeAgo}from"./chunks/ui-components-Dvmqmy3G.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,19 +1,20 @@
1
1
  import { type Edge } from '@xyflow/react';
2
2
  import type { DefaultTheme } from 'styled-components';
3
3
  import { type BlastRadiusEdgeData, type BlastRadiusServiceNode } from './types';
4
- import type { InsightsBlastRadiusNode, InsightsBlastRadiusSubgraph } from '../../../../../../types';
4
+ import type { InsightsBlastRadiusNode, InsightsBlastRadiusSubgraph } from '../../types';
5
5
  export declare const NODE_WIDTH = 120;
6
6
  export declare const NODE_HEIGHT = 58;
7
7
  /** Stable React Flow id — namespace may be empty for virtual hubs like `user`. */
8
8
  export declare const getBlastRadiusNodeId: (namespace: string | undefined | null, service: string) => string;
9
9
  export declare const getBlastRadiusNodeIdFromNode: (node: Pick<InsightsBlastRadiusNode, "namespace" | "service">) => string;
10
10
  /**
11
- * Attacker: non-root node with both inbound and outbound edges (two-way traffic).
12
- * Prefer a node that is reciprocal with the root when several qualify.
11
+ * Attacker is the synthetic ingress hub named `user` (empty namespace), not
12
+ * inferred from traffic degrees.
13
13
  */
14
- export declare const findAttackerNodeId: (rootId: string, edges: Array<{
15
- source: string;
16
- target: string;
14
+ export declare const ATTACKER_SERVICE_NAME = "user";
15
+ export declare const findAttackerNodeId: (rootId: string, nodes: Array<{
16
+ id: string;
17
+ service: string;
17
18
  }>) => string | null;
18
19
  export declare const buildBlastRadiusNodes: (subgraph: InsightsBlastRadiusSubgraph, attackerId: string | null) => BlastRadiusServiceNode[];
19
20
  export declare const buildBlastRadiusEdges: (subgraph: InsightsBlastRadiusSubgraph, theme: DefaultTheme, nodeIds: Set<string>, attackerId: string | null) => Edge<BlastRadiusEdgeData>[];
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import '@xyflow/react/dist/style.css';
3
+ import type { InsightsBlastRadiusSubgraph } from '../../types';
4
+ export interface BlastRadiusProps {
5
+ blastRadius?: InsightsBlastRadiusSubgraph;
6
+ }
7
+ export declare const BlastRadius: FC<BlastRadiusProps>;
@@ -1,5 +1,6 @@
1
1
  export * from './actions';
2
2
  export * from './animated-collapse';
3
+ export * from './blast-radius';
3
4
  export * from './cancel-modal';
4
5
  export * from './code-modal';
5
6
  export * from './colored-span';
@@ -1,2 +1,6 @@
1
- export declare const CellsRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
2
- export declare const Cell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
1
+ export declare const CellsRow: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
2
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
3
+ }> & string;
4
+ export declare const Cell: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
5
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
6
+ }> & string;
package/lib/snippets.js CHANGED
@@ -1 +1 @@
1
- export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-CjgsN17j.js";export{A as AnimatedCollapse,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-BlYPxLja.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-CtkwQ3Wc.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{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-Dvmqmy3G.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-DiYN36pr.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-Ds7r-EIJ.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{eM as DrawerType,bi as ProgressKeys,gt as getDrawerTypeForAdd,cE as getDrawerTypeForEdit,iD as useDarkMode,bf as useDataStreamStore,cz as useDrawerStore,go as useFilterStore,ba as useNotificationStore,bg as useProgressStore,gu as useSelectedStore,bh as useSetupStore}from"./chunks/ui-components-CjgsN17j.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{eM as DrawerType,bi as ProgressKeys,gt as getDrawerTypeForAdd,cE as getDrawerTypeForEdit,iD as useDarkMode,bf as useDataStreamStore,cz as useDrawerStore,go as useFilterStore,ba as useNotificationStore,bg as useProgressStore,gu as useSelectedStore,bh as useSetupStore}from"./chunks/ui-components-Dvmqmy3G.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";
@@ -124,6 +124,7 @@ export declare const baseTheme: {
124
124
  };
125
125
  orange: {
126
126
  '500': string;
127
+ '1000': string;
127
128
  };
128
129
  };
129
130
  zIndex: {
package/lib/theme.js CHANGED
@@ -1 +1 @@
1
- export{iQ as Provider,iR as animations,iS as opacity,iT as palettes}from"./chunks/ui-components-CjgsN17j.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{iQ as Provider,iR as animations,iS as opacity,iT as palettes}from"./chunks/ui-components-Dvmqmy3G.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";
@@ -109,6 +109,7 @@ export interface InsightsServiceProfile {
109
109
  callers: string[];
110
110
  callees: string[];
111
111
  egress: string[];
112
+ transactions: string[];
112
113
  }
113
114
  export interface InsightsBlastRadiusNode {
114
115
  /** Empty for synthetic hubs (e.g. `user`) and some virtual leaves. */
@@ -133,11 +134,19 @@ export interface InsightsBlastRadiusSubgraph {
133
134
  nodes: InsightsBlastRadiusNode[];
134
135
  edges: InsightsBlastRadiusEdge[];
135
136
  }
137
+ export interface InsightsTransactionIdentityValue {
138
+ key: string;
139
+ value: string;
140
+ }
136
141
  export interface InsightsTransactionStat {
137
142
  id: string;
138
143
  service: string;
139
144
  namespace: string;
145
+ /** Full canonical identity string (hashed). Includes [key=value] suffixes when identity dimensions are enabled. */
140
146
  operation: string;
147
+ /** Entry-span operation without dimension suffixes. */
148
+ operationName: string;
149
+ identityDimensions: InsightsTransactionIdentityValue[];
141
150
  kind: InsightsTransactionKind;
142
151
  volume: number;
143
152
  lastSeen: string;
@@ -148,7 +157,11 @@ export interface InsightsTransaction {
148
157
  id: string;
149
158
  service: string;
150
159
  namespace: string;
160
+ /** Full canonical identity string (hashed, guardrails). Includes [key=value] suffixes when identity dimensions are enabled. */
151
161
  operation: string;
162
+ /** Human-readable entry-span operation without dimension suffixes. */
163
+ operationName: string;
164
+ identityDimensions: InsightsTransactionIdentityValue[];
152
165
  kind: InsightsTransactionKind;
153
166
  }
154
167
  /** One stability dimension (observations count, or duration in minutes). */
@@ -178,6 +191,10 @@ export interface InsightsBaselineLearning {
178
191
  export interface InsightsBaselineClass {
179
192
  transactionId: string;
180
193
  class: InsightsDeviationClass;
194
+ /** Human-readable name for what this class learns (e.g. "Request latency"). Keep `class` for promote/reset. */
195
+ classLabel: string;
196
+ /** Tooltip describing what this class learns for the transaction. */
197
+ classDescription: string;
181
198
  /** JSON-encoded baseline data; shape varies per deviation class. */
182
199
  data?: string | null;
183
200
  dataSchemaVersion?: number | null;
@@ -186,13 +203,19 @@ export interface InsightsBaselineClass {
186
203
  learningStartedAt?: string | null;
187
204
  lastChangedAt?: string | null;
188
205
  observationCountAtLastChange?: number | null;
189
- learning: InsightsBaselineLearning;
206
+ learning?: InsightsBaselineLearning | null;
190
207
  }
191
208
  export interface InsightsPromoteResult {
192
209
  transactionId: string;
193
210
  class: InsightsDeviationClass;
194
211
  promoted: boolean;
195
212
  }
213
+ export interface InsightsBulkPromoteResult {
214
+ promoted: number;
215
+ }
216
+ export interface InsightsBulkDeleteResult {
217
+ deleted: number;
218
+ }
196
219
  export interface InsightsObservationSummary {
197
220
  traceId: string;
198
221
  transactionId: string;
@@ -266,7 +289,14 @@ export interface InsightsFinding {
266
289
  kind: InsightsFindingKind;
267
290
  service: string;
268
291
  namespace: string;
292
+ /** Human-readable headline. Anomalies use operationName; violations use the guardrail rule label. */
269
293
  title: string;
294
+ /** Full canonical transaction operation (anomalies only). Omitted for violations. */
295
+ operation?: string | null;
296
+ /** Entry-span operation without dimension suffixes (anomalies). */
297
+ operationName?: string | null;
298
+ /** Parsed identity dimensions (anomalies only). */
299
+ identityDimensions?: InsightsTransactionIdentityValue[] | null;
270
300
  offending?: string | null;
271
301
  score: number;
272
302
  severity: InsightsSeverity;
@@ -305,7 +335,11 @@ export interface InsightsAnomalySummary {
305
335
  signature: string;
306
336
  service: string;
307
337
  namespace: string;
308
- operation?: string | null;
338
+ /** Full canonical identity string. */
339
+ operation: string;
340
+ /** Entry-span operation without dimension suffixes. */
341
+ operationName: string;
342
+ identityDimensions: InsightsTransactionIdentityValue[];
309
343
  kind?: InsightsTransactionKind | null;
310
344
  triggeredClasses: InsightsDeviationClass[];
311
345
  offending?: string | null;
@@ -424,13 +458,17 @@ export interface InsightsViolationActionInput {
424
458
  export interface InsightsGuardrailSeedInput {
425
459
  scopeKey: string;
426
460
  mode?: InsightsRuleMode | null;
427
- /** JSON-encoded map[string][]string; keys: allowed_callers | allowed_callees | allowed_egress. */
461
+ /** JSON-encoded map[string][]string; keys: allowed_callers | allowed_callees | allowed_egress | allowed_transactions. */
428
462
  items: string;
429
463
  }
430
464
  export interface InsightsCatalogClass {
431
465
  id: string;
432
466
  label: string;
433
467
  description?: string | null;
468
+ /** Transaction-baseline name (what is learned). Distinct from finding-oriented `label`. */
469
+ baselineLabel: string;
470
+ /** Tooltip for what this class learns on a transaction baseline. */
471
+ baselineDescription?: string | null;
434
472
  category: string;
435
473
  categoryLabel?: string | null;
436
474
  weight: number;
@@ -488,10 +526,6 @@ export interface InsightsSystemSamplingSettings {
488
526
  export interface InsightsSystemRetentionSettings {
489
527
  observationRetentionDays: number;
490
528
  }
491
- export interface InsightsSystemFindingsSettings {
492
- defaultWindowHours: number;
493
- maxWindowHours: number;
494
- }
495
529
  export interface InsightsSystemCapacitySettings {
496
530
  maxResidentTransactions: number;
497
531
  maxBaselineSetMembers: number;
@@ -499,12 +533,24 @@ export interface InsightsSystemCapacitySettings {
499
533
  export interface InsightsSystemWritebackSettings {
500
534
  flushIntervalSeconds: number;
501
535
  }
536
+ export interface InsightsSystemDetectionSettings {
537
+ /** When true, auto-create an enforced allowed_transactions guardrail when a service finishes promoting. */
538
+ autoTransactionGuardrail: boolean;
539
+ }
540
+ export interface InsightsSystemTransactionIdentityDimension {
541
+ key: string;
542
+ enabled: boolean;
543
+ }
544
+ export interface InsightsSystemIdentitySettings {
545
+ transactionIdentityDimensions: InsightsSystemTransactionIdentityDimension[];
546
+ }
502
547
  export interface InsightsSystemSettings {
503
548
  sampling: InsightsSystemSamplingSettings;
504
549
  retention: InsightsSystemRetentionSettings;
505
- findings: InsightsSystemFindingsSettings;
506
550
  capacity: InsightsSystemCapacitySettings;
507
551
  writeback: InsightsSystemWritebackSettings;
552
+ detection: InsightsSystemDetectionSettings;
553
+ identity: InsightsSystemIdentitySettings;
508
554
  }
509
555
  export interface InsightsSystemSamplingSettingsInput {
510
556
  examplesPerTransaction: number;
@@ -513,10 +559,6 @@ export interface InsightsSystemSamplingSettingsInput {
513
559
  export interface InsightsSystemRetentionSettingsInput {
514
560
  observationRetentionDays: number;
515
561
  }
516
- export interface InsightsSystemFindingsSettingsInput {
517
- defaultWindowHours: number;
518
- maxWindowHours: number;
519
- }
520
562
  export interface InsightsSystemCapacitySettingsInput {
521
563
  maxResidentTransactions: number;
522
564
  maxBaselineSetMembers: number;
@@ -524,12 +566,25 @@ export interface InsightsSystemCapacitySettingsInput {
524
566
  export interface InsightsSystemWritebackSettingsInput {
525
567
  flushIntervalSeconds: number;
526
568
  }
569
+ export interface InsightsSystemDetectionSettingsInput {
570
+ autoTransactionGuardrail: boolean;
571
+ }
572
+ export interface InsightsSystemTransactionIdentityDimensionInput {
573
+ key: string;
574
+ enabled: boolean;
575
+ }
576
+ export interface InsightsSystemIdentitySettingsInput {
577
+ transactionIdentityDimensions: InsightsSystemTransactionIdentityDimensionInput[];
578
+ }
527
579
  export interface InsightsSystemSettingsInput {
528
580
  sampling: InsightsSystemSamplingSettingsInput;
529
581
  retention: InsightsSystemRetentionSettingsInput;
530
- findings: InsightsSystemFindingsSettingsInput;
531
582
  capacity: InsightsSystemCapacitySettingsInput;
532
583
  writeback: InsightsSystemWritebackSettingsInput;
584
+ detection: InsightsSystemDetectionSettingsInput;
585
+ identity: InsightsSystemIdentitySettingsInput;
586
+ /** Write-only. When true and identity dimensions changed, wipe transactions before applying. */
587
+ resetTransactions?: boolean | null;
533
588
  }
534
589
  export interface InsightsStorageConnection {
535
590
  reachable: boolean;
@@ -246,6 +246,20 @@ export interface InstrumentationReport {
246
246
  state: string;
247
247
  /** WorkloadReport.current.instrumented */
248
248
  instrumented?: boolean | null;
249
+ /**
250
+ * WorkloadReport.desired.mode — WHO instruments this workload: `automatic` (Odigos
251
+ * applies and repairs it) or `manual` (the customer applies it themselves, in their
252
+ * own IaC, and Odigos observes the result). Null when the workload's type is not
253
+ * enabled for instrumentation in any mode, so "not applicable" is distinguishable
254
+ * from either mode.
255
+ *
256
+ * It changes what a status MEANS rather than adding detail to it. An enabled,
257
+ * uninstrumented workload is Odigos still working on it in automatic mode and
258
+ * Odigos waiting for the CUSTOMER in manual mode — the same state with opposite
259
+ * implications for who has to act, so copy that ignores this tells half of all
260
+ * cloud-connector users the wrong thing.
261
+ */
262
+ mode?: string | null;
249
263
  /** WorkloadReport.desired.sdkType when advertised (e.g. "opentelemetry"). */
250
264
  sdkType?: string | null;
251
265
  progressStage?: string | null;
@@ -281,3 +295,50 @@ export interface InstrumentationReportIssue {
281
295
  since?: string | null;
282
296
  transient?: boolean | null;
283
297
  }
298
+ /**
299
+ * How to instrument one workload, as the connector rendered it.
300
+ *
301
+ * This is the other half of manual mode. `InstrumentationReport.mode === 'manual'` says the
302
+ * customer is the one who applies instrumentation; this says WHAT to apply, for the workload in
303
+ * front of them, with the endpoint / service name / region already filled in.
304
+ *
305
+ * Everything here is display-ready text. The kit deliberately knows nothing about the mechanics of
306
+ * the change — no environment-variable merge directions, no volumes, no sidecars, no layer ARNs.
307
+ * The connector computes the change from the same recipes it uses to JUDGE the workload
308
+ * afterwards, so anything the kit re-derived would be a second implementation, free to disagree
309
+ * with the one that decides whether the customer's deployment is reported as drifted.
310
+ */
311
+ export interface InstrumentationInstructions {
312
+ serviceName: string;
313
+ kind: string;
314
+ region?: string | null;
315
+ /** `automatic` | `manual` — why the customer is being shown this at all. */
316
+ mode: string;
317
+ /** Never empty: a connector with no per-tool snippet for a type still describes the change. */
318
+ documents: InstructionDocument[];
319
+ notes: string[];
320
+ updatedAt: string;
321
+ }
322
+ /** The change rendered for one delivery tool. */
323
+ export interface InstructionDocument {
324
+ id: string;
325
+ /** terraform | cloudformation | bicep | aws-cli | gcloud | az-cli | manual — keys the chooser. */
326
+ variant: string;
327
+ variantLabel: string;
328
+ title: string;
329
+ description: string;
330
+ /** Ordered instructions shown above the snippet. The snippet alone never says where it goes. */
331
+ steps: string[];
332
+ /** Syntax hint for the code block: json | yaml | hcl | shell | text. */
333
+ format: string;
334
+ /** Fully rendered for this workload — render verbatim, never substitute into it. */
335
+ content: string;
336
+ /** Blanks the connector genuinely could not fill. Absent when nothing is left to supply. */
337
+ unresolved?: InstructionInput[] | null;
338
+ }
339
+ /** One blank left in a document for the customer to fill in. */
340
+ export interface InstructionInput {
341
+ /** The placeholder exactly as it appears in `content`, e.g. `<YOUR_CONTAINER>`. */
342
+ placeholder: string;
343
+ description: string;
344
+ }
package/lib/types.js CHANGED
@@ -1 +1 @@
1
- export{c7 as ActionCategoryTypes,bx as ActionKeyTypes,by as ActionType,hi as AgentInjectedReason,hj as BooleanOperation,cd as CloudConnectorFeatureKey,am as CodeAttributesKeyTypes,hk as ConditionType,bd as Crud,ag as CustomInstrumentationsKeyTypes,cP as DesiredConditionActionItemType,cs as DesiredStateProgress,hl as DestinationTypes,be as EntityTypes,bO as ExtractionDataFormat,p as FieldTypes,ai as GolangCustomProbe,ak as HeadersCollectionKeyTypes,J as InputTypes,hm as InsightsAnomalyClassFindingKind,g4 as InsightsAnomalyResolution,g0 as InsightsAnomalyStatus,gb as InsightsBaselineLearningPhase,g3 as InsightsBulkResolution,ge as InsightsDeviationClass,bm as InsightsEntityTypes,g1 as InsightsFindingKind,gh as InsightsLearningConditionType,gg as InsightsLearningMode,gf as InsightsPolicyScope,gi as InsightsRuleMode,gd as InsightsSampleReason,g2 as InsightsSeverity,gl as InsightsStorageDiskStatus,hn as InsightsStorageHealthStatus,ho as InsightsTransactionKind,f$ as InsightsViolationStatus,hp as InstallationMethod,hq as InstallationStatus,af as InstrumentationRuleType,hr as IntrumentationStatus,ah as JavaCustomProbe,hs as JsonOperation,bM as K8sAttributesFrom,bG as K8sResourceKind,ht as K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode,hu as ListDirection,hv as NumberOperation,hw as OtelDistroName,hx as OtherEntityTypes,al as PayloadCollectionKeyTypes,aj as PhpCustomProbe,P as PlatformType,hy as PodContainerLifecycleStatus,hz as PodContainerStatus,hA as PodPhase,hB as Profile,_ as ProgrammingLanguages,c$ as RecommendationApplyExampleType,d0 as RecommendationRemediationType,c_ as RecommendationState,hC as RecommendationType,hD as SIGNAL_KEY_TO_TYPE,hE as SIGNAL_TYPE_TO_KEY,hF as SignalKey,bD as SignalType,hG as SortDirection,S as StatusType,hH as StringOperation,b as Tier,hI as WorkloadRolloutReason,gH as WorkloadRolloutStatus}from"./chunks/ui-components-CjgsN17j.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{c7 as ActionCategoryTypes,bx as ActionKeyTypes,by as ActionType,hi as AgentInjectedReason,hj as BooleanOperation,cd as CloudConnectorFeatureKey,an as CodeAttributesKeyTypes,hk as ConditionType,bd as Crud,ah as CustomInstrumentationsKeyTypes,cP as DesiredConditionActionItemType,cs as DesiredStateProgress,hl as DestinationTypes,be as EntityTypes,bO as ExtractionDataFormat,q as FieldTypes,aj as GolangCustomProbe,al as HeadersCollectionKeyTypes,K as InputTypes,hm as InsightsAnomalyClassFindingKind,g4 as InsightsAnomalyResolution,g0 as InsightsAnomalyStatus,gd as InsightsBaselineLearningPhase,g3 as InsightsBulkResolution,gb as InsightsDeviationClass,bm as InsightsEntityTypes,g1 as InsightsFindingKind,gi as InsightsLearningConditionType,gh as InsightsLearningMode,gg as InsightsPolicyScope,g8 as InsightsRuleMode,gf as InsightsSampleReason,g2 as InsightsSeverity,gl as InsightsStorageDiskStatus,hn as InsightsStorageHealthStatus,ho as InsightsTransactionKind,f$ as InsightsViolationStatus,hp as InstallationMethod,hq as InstallationStatus,ag as InstrumentationRuleType,hr as IntrumentationStatus,ai as JavaCustomProbe,hs as JsonOperation,bM as K8sAttributesFrom,bG as K8sResourceKind,ht as K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode,hu as ListDirection,hv as NumberOperation,hw as OtelDistroName,hx as OtherEntityTypes,am as PayloadCollectionKeyTypes,ak as PhpCustomProbe,P as PlatformType,hy as PodContainerLifecycleStatus,hz as PodContainerStatus,hA as PodPhase,hB as Profile,$ as ProgrammingLanguages,c$ as RecommendationApplyExampleType,d0 as RecommendationRemediationType,c_ as RecommendationState,hC as RecommendationType,hD as SIGNAL_KEY_TO_TYPE,hE as SIGNAL_TYPE_TO_KEY,hF as SignalKey,bD as SignalType,hG as SortDirection,S as StatusType,hH as StringOperation,b as Tier,hI as WorkloadRolloutReason,gH as WorkloadRolloutStatus}from"./chunks/ui-components-Dvmqmy3G.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{hJ as VISUAL_ODIGOS_LOGO_HEIGHT,hK as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,hL as VisualOdigosLogo,eW as VisualPurpleRings}from"./chunks/ui-components-CjgsN17j.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{hJ as VISUAL_ODIGOS_LOGO_HEIGHT,hK as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,hL as VisualOdigosLogo,eW as VisualPurpleRings}from"./chunks/ui-components-Dvmqmy3G.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";