@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.
- package/.cursor/rules/frontend-workflow.mdc +27 -0
- package/.cursor/rules/ui-feedback-tables-forms.mdc +40 -0
- package/.cursor/rules/ui-implementation.mdc +21 -0
- package/.cursor/rules/ui-pages-and-drawers.mdc +34 -0
- package/.cursor/rules/ui-visual-language.mdc +27 -0
- package/CHANGELOG.md +30 -0
- package/lib/chunks/{helpers-CtkwQ3Wc.js → helpers-Ds7r-EIJ.js} +1 -1
- package/lib/chunks/index-DiYN36pr.js +351 -0
- package/lib/chunks/source-instrument-form-context-CBP9xXNN.js +5 -0
- package/lib/chunks/{ui-components-CjgsN17j.js → ui-components-Dvmqmy3G.js} +93 -84
- package/lib/components/table/types.d.ts +2 -2
- package/lib/components/trace-view/styled.d.ts +51 -34
- package/lib/components/trace-view/types.d.ts +4 -0
- package/lib/components.js +1 -1
- package/lib/constants/strings/index.d.ts +6 -0
- package/lib/constants.js +1 -1
- package/lib/containers/_drawers/edit-source-drawer/overview/instructions-card.d.ts +21 -0
- package/lib/containers/_modals/sampling-onboarding-modal/common/chrome.d.ts +14 -10
- package/lib/containers/_modals/sampling-onboarding-modal/common/section.d.ts +9 -3
- package/lib/containers/insights/findings/drawer/anomaly/risk-breakdown/helpers.d.ts +23 -0
- package/lib/containers/insights/findings/drawer/anomaly/risk-breakdown/index.d.ts +9 -0
- package/lib/containers/insights/operation-identity.d.ts +22 -0
- package/lib/containers/insights/overview/contained-table-and-heading/index.d.ts +2 -1
- package/lib/containers/insights/settings-and-configurations/panels/detection/create-override-panel.d.ts +1 -1
- package/lib/containers/insights/settings-and-configurations/panels/guardrails/constants.d.ts +6 -1
- package/lib/containers/insights/settings-and-configurations/panels/guardrails/facet-section.d.ts +1 -0
- package/lib/containers/insights/settings-and-configurations/panels/guardrails/mappers.d.ts +2 -0
- package/lib/containers/insights/settings-and-configurations/panels/learning/mappers.d.ts +2 -1
- package/lib/containers/insights/settings-and-configurations/panels/storage/layout.d.ts +12 -4
- package/lib/containers/insights/settings-and-configurations/panels/system/constants.d.ts +19 -1
- package/lib/containers/insights/transactions/helpers.d.ts +16 -3
- package/lib/containers.js +606 -478
- package/lib/contexts/odigos-api/capabilities.d.ts +2 -0
- package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +19 -2
- package/lib/contexts/odigos-api/hooks/use-sources-api.d.ts +10 -1
- package/lib/contexts/odigos-api/index.d.ts +1 -1
- package/lib/contexts/odigos-api/types.d.ts +48 -1
- package/lib/contexts.js +1 -1
- package/lib/functions.js +1 -1
- package/lib/hooks.js +1 -1
- package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/helpers.d.ts +7 -6
- package/lib/snippets/blast-radius/index.d.ts +7 -0
- package/lib/snippets/index.d.ts +1 -0
- package/lib/snippets/sampling-rule-form-sections/styled.d.ts +6 -2
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme/palettes/index.d.ts +1 -0
- package/lib/theme.js +1 -1
- package/lib/types/insights/index.d.ts +68 -13
- package/lib/types/workload/index.d.ts +61 -0
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +27 -24
- package/lib/chunks/index-BlYPxLja.js +0 -311
- package/lib/chunks/source-instrument-form-context-Bg6JzU76.js +0 -5
- package/lib/containers/insights/findings/drawer/anomaly/anomaly-blast-radius/index.d.ts +0 -7
- /package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/animated-edge.d.ts +0 -0
- /package/lib/{containers/insights/findings/drawer/anomaly/anomaly-blast-radius → snippets/blast-radius}/blast-radius-node.d.ts +0 -0
- /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-
|
|
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,
|
|
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,
|
|
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 '
|
|
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
|
|
12
|
-
*
|
|
11
|
+
* Attacker is the synthetic ingress hub named `user` (empty namespace), not
|
|
12
|
+
* inferred from traffic degrees.
|
|
13
13
|
*/
|
|
14
|
-
export declare const
|
|
15
|
-
|
|
16
|
-
|
|
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>;
|
package/lib/snippets/index.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
export declare const CellsRow: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
2
|
-
|
|
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-
|
|
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-
|
|
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";
|
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-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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-
|
|
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";
|