@odigos/ui-kit 0.0.287 → 0.0.288
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 +15 -0
- package/lib/chunks/{helpers-CtkwQ3Wc.js → helpers-BCSEuuKh.js} +1 -1
- package/lib/chunks/index-Cy84opXf.js +351 -0
- package/lib/chunks/source-instrument-form-context-D6pVu22G.js +5 -0
- package/lib/chunks/{ui-components-CjgsN17j.js → ui-components-D8rTJS7r.js} +82 -82
- 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/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/system/constants.d.ts +3 -1
- package/lib/containers/insights/transactions/helpers.d.ts +2 -1
- package/lib/containers.js +516 -469
- package/lib/contexts/odigos-api/capabilities.d.ts +2 -0
- package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +7 -1
- 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 +24 -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.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/insights/index.d.ts +11 -11
- package/lib/types/workload/index.d.ts +61 -0
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +1 -1
- 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,7 +10,7 @@
|
|
|
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';
|
|
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
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';
|
|
15
15
|
export interface InsightsApi {
|
|
16
16
|
useServices: (options?: UseApiQueryOptions<InsightsServiceStat[]>) => UseApiQueryResult<InsightsServiceStat[]>;
|
|
@@ -105,6 +105,12 @@ export interface InsightsApi {
|
|
|
105
105
|
forcePromoteService?: (vars: ForcePromoteInsightsServiceVars) => Promise<{
|
|
106
106
|
error?: string;
|
|
107
107
|
} | undefined>;
|
|
108
|
+
enableTransactionGuardrail?: (vars: EnableInsightsTransactionGuardrailVars) => Promise<{
|
|
109
|
+
error?: string;
|
|
110
|
+
} | undefined>;
|
|
111
|
+
disableTransactionGuardrail?: (vars: DisableInsightsTransactionGuardrailVars) => Promise<{
|
|
112
|
+
error?: string;
|
|
113
|
+
} | undefined>;
|
|
108
114
|
deleteTransaction?: (transactionId: string) => Promise<{
|
|
109
115
|
error?: string;
|
|
110
116
|
} | undefined>;
|
|
@@ -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, ForcePromoteInsightsServiceVars, EnableInsightsTransactionGuardrailVars, DisableInsightsTransactionGuardrailVars, 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';
|
|
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, 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;
|
|
@@ -675,6 +688,8 @@ export interface ForcePromoteInsightsServiceVars {
|
|
|
675
688
|
namespace: string;
|
|
676
689
|
service: string;
|
|
677
690
|
}
|
|
691
|
+
export type EnableInsightsTransactionGuardrailVars = ForcePromoteInsightsServiceVars;
|
|
692
|
+
export type DisableInsightsTransactionGuardrailVars = ForcePromoteInsightsServiceVars;
|
|
678
693
|
export interface DeleteInsightsTransactionVars {
|
|
679
694
|
transactionId: string;
|
|
680
695
|
}
|
|
@@ -870,6 +885,12 @@ export interface OdigosApiOperations {
|
|
|
870
885
|
source?: Workload;
|
|
871
886
|
}, WorkloadId>;
|
|
872
887
|
GET_SOURCE_LIBRARIES: Operation<GetSourceLibrariesData, GetSourceLibrariesVars>;
|
|
888
|
+
/**
|
|
889
|
+
* Optional: only cloud-connector hosts serve it. K8s instruments workloads itself and has
|
|
890
|
+
* nothing to instruct a customer to do, so the slot is absent there and the drawer section
|
|
891
|
+
* simply does not render (`useApiQuery` reports `unsupported` and never fires).
|
|
892
|
+
*/
|
|
893
|
+
GET_INSTRUMENTATION_INSTRUCTIONS?: Operation<GetInstrumentationInstructionsData, GetInstrumentationInstructionsVars>;
|
|
873
894
|
GET_PEER_SOURCES: Operation<{
|
|
874
895
|
peerSources?: PeerSources;
|
|
875
896
|
}, GetPeerSourcesVars>;
|
|
@@ -976,6 +997,8 @@ export interface OdigosApiOperations {
|
|
|
976
997
|
RESET_INSIGHTS_BASELINE_CLASS?: Operation<boolean, ResetInsightsBaselineClassVars>;
|
|
977
998
|
RESET_INSIGHTS_TRANSACTION_BASELINES?: Operation<boolean, ResetInsightsTransactionBaselinesVars>;
|
|
978
999
|
FORCE_PROMOTE_INSIGHTS_SERVICE?: Operation<boolean, ForcePromoteInsightsServiceVars>;
|
|
1000
|
+
ENABLE_INSIGHTS_TRANSACTION_GUARDRAIL?: Operation<boolean, EnableInsightsTransactionGuardrailVars>;
|
|
1001
|
+
DISABLE_INSIGHTS_TRANSACTION_GUARDRAIL?: Operation<boolean, DisableInsightsTransactionGuardrailVars>;
|
|
979
1002
|
DELETE_INSIGHTS_TRANSACTION?: Operation<boolean, DeleteInsightsTransactionVars>;
|
|
980
1003
|
UPSERT_INSIGHTS_POLICY?: Operation<InsightsPolicy, UpsertInsightsPolicyVars>;
|
|
981
1004
|
DELETE_INSIGHTS_POLICY?: Operation<boolean, DeleteInsightsPolicyVars>;
|
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-D6pVu22G.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-D6pVu22G.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-BCSEuuKh.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-D8rTJS7r.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,gb 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-D8rTJS7r.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,gd 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-D8rTJS7r.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
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-D8rTJS7r.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-Cy84opXf.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-BCSEuuKh.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-D8rTJS7r.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-D8rTJS7r.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. */
|
|
@@ -424,7 +425,7 @@ export interface InsightsViolationActionInput {
|
|
|
424
425
|
export interface InsightsGuardrailSeedInput {
|
|
425
426
|
scopeKey: string;
|
|
426
427
|
mode?: InsightsRuleMode | null;
|
|
427
|
-
/** JSON-encoded map[string][]string; keys: allowed_callers | allowed_callees | allowed_egress. */
|
|
428
|
+
/** JSON-encoded map[string][]string; keys: allowed_callers | allowed_callees | allowed_egress | allowed_transactions. */
|
|
428
429
|
items: string;
|
|
429
430
|
}
|
|
430
431
|
export interface InsightsCatalogClass {
|
|
@@ -488,10 +489,6 @@ export interface InsightsSystemSamplingSettings {
|
|
|
488
489
|
export interface InsightsSystemRetentionSettings {
|
|
489
490
|
observationRetentionDays: number;
|
|
490
491
|
}
|
|
491
|
-
export interface InsightsSystemFindingsSettings {
|
|
492
|
-
defaultWindowHours: number;
|
|
493
|
-
maxWindowHours: number;
|
|
494
|
-
}
|
|
495
492
|
export interface InsightsSystemCapacitySettings {
|
|
496
493
|
maxResidentTransactions: number;
|
|
497
494
|
maxBaselineSetMembers: number;
|
|
@@ -499,12 +496,16 @@ export interface InsightsSystemCapacitySettings {
|
|
|
499
496
|
export interface InsightsSystemWritebackSettings {
|
|
500
497
|
flushIntervalSeconds: number;
|
|
501
498
|
}
|
|
499
|
+
export interface InsightsSystemDetectionSettings {
|
|
500
|
+
/** When true, auto-create an enforced allowed_transactions guardrail when a service finishes promoting. */
|
|
501
|
+
autoTransactionGuardrail: boolean;
|
|
502
|
+
}
|
|
502
503
|
export interface InsightsSystemSettings {
|
|
503
504
|
sampling: InsightsSystemSamplingSettings;
|
|
504
505
|
retention: InsightsSystemRetentionSettings;
|
|
505
|
-
findings: InsightsSystemFindingsSettings;
|
|
506
506
|
capacity: InsightsSystemCapacitySettings;
|
|
507
507
|
writeback: InsightsSystemWritebackSettings;
|
|
508
|
+
detection: InsightsSystemDetectionSettings;
|
|
508
509
|
}
|
|
509
510
|
export interface InsightsSystemSamplingSettingsInput {
|
|
510
511
|
examplesPerTransaction: number;
|
|
@@ -513,10 +514,6 @@ export interface InsightsSystemSamplingSettingsInput {
|
|
|
513
514
|
export interface InsightsSystemRetentionSettingsInput {
|
|
514
515
|
observationRetentionDays: number;
|
|
515
516
|
}
|
|
516
|
-
export interface InsightsSystemFindingsSettingsInput {
|
|
517
|
-
defaultWindowHours: number;
|
|
518
|
-
maxWindowHours: number;
|
|
519
|
-
}
|
|
520
517
|
export interface InsightsSystemCapacitySettingsInput {
|
|
521
518
|
maxResidentTransactions: number;
|
|
522
519
|
maxBaselineSetMembers: number;
|
|
@@ -524,12 +521,15 @@ export interface InsightsSystemCapacitySettingsInput {
|
|
|
524
521
|
export interface InsightsSystemWritebackSettingsInput {
|
|
525
522
|
flushIntervalSeconds: number;
|
|
526
523
|
}
|
|
524
|
+
export interface InsightsSystemDetectionSettingsInput {
|
|
525
|
+
autoTransactionGuardrail: boolean;
|
|
526
|
+
}
|
|
527
527
|
export interface InsightsSystemSettingsInput {
|
|
528
528
|
sampling: InsightsSystemSamplingSettingsInput;
|
|
529
529
|
retention: InsightsSystemRetentionSettingsInput;
|
|
530
|
-
findings: InsightsSystemFindingsSettingsInput;
|
|
531
530
|
capacity: InsightsSystemCapacitySettingsInput;
|
|
532
531
|
writeback: InsightsSystemWritebackSettingsInput;
|
|
532
|
+
detection: InsightsSystemDetectionSettingsInput;
|
|
533
533
|
}
|
|
534
534
|
export interface InsightsStorageConnection {
|
|
535
535
|
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,gc as InsightsBaselineLearningPhase,g3 as InsightsBulkResolution,gf as InsightsDeviationClass,bm as InsightsEntityTypes,g1 as InsightsFindingKind,gi as InsightsLearningConditionType,gh as InsightsLearningMode,gg as InsightsPolicyScope,g8 as InsightsRuleMode,ge 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-D8rTJS7r.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-D8rTJS7r.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";
|