@odigos/ui-kit 0.0.304 → 0.0.306
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/CHANGELOG.md +14 -0
- package/lib/chunks/{helpers-YkbGOGt5.js → helpers-Cnnu6nDZ.js} +1 -1
- package/lib/chunks/{index-BJ98y5gR.js → index-qLBXdBIN.js} +1 -1
- package/lib/chunks/source-instrument-form-context-CB8LQMmT.js +5 -0
- package/lib/chunks/ui-components-DRnj62bc.js +2298 -0
- package/lib/components/_cards/data-card/index.d.ts +2 -0
- package/lib/components.js +1 -1
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/insights/index.d.ts +1 -0
- package/lib/constants/insights/recommendations.d.ts +78 -0
- package/lib/constants/instrumentation-agents/index.d.ts +58 -0
- package/lib/constants.js +1 -1
- package/lib/containers/_drawers/index.d.ts +1 -0
- package/lib/containers/_drawers/instrumentation-agent-drawer/index.d.ts +7 -0
- package/lib/containers/_drawers/instrumentation-agent-drawer/offsets.d.ts +7 -0
- package/lib/containers/_drawers/instrumentation-agent-drawer/overview.d.ts +6 -0
- package/lib/containers/_drawers/instrumentation-agent-drawer/tabs.d.ts +4 -0
- package/lib/containers/_forms/insights/learning-policy-form/types.d.ts +1 -1
- package/lib/containers/index.d.ts +1 -0
- package/lib/containers/insights/consts.d.ts +1 -0
- package/lib/containers/insights/recommendations/card-primitives.d.ts +69 -0
- package/lib/containers/insights/recommendations/drawer.d.ts +12 -0
- package/lib/containers/insights/recommendations/edit-apply-drawer.d.ts +8 -0
- package/lib/containers/insights/recommendations/grouped.d.ts +11 -0
- package/lib/containers/insights/recommendations/guardrail-card.d.ts +22 -0
- package/lib/containers/insights/recommendations/helpers.d.ts +200 -0
- package/lib/containers/insights/recommendations/index.d.ts +2 -0
- package/lib/containers/insights/recommendations/rule-card.d.ts +11 -0
- package/lib/containers/instrumentation-agents/agents-table.d.ts +8 -0
- package/lib/containers/instrumentation-agents/helpers.d.ts +4 -0
- package/lib/containers/instrumentation-agents/index.d.ts +4 -0
- package/lib/containers/instrumentation-agents/types.d.ts +3 -0
- package/lib/containers.js +669 -566
- package/lib/contexts/odigos-api/capabilities.d.ts +2 -0
- package/lib/contexts/odigos-api/hooks/use-insights-api.d.ts +42 -2
- package/lib/contexts/odigos-api/hooks/use-instrumentation-agents-api.d.ts +31 -0
- package/lib/contexts/odigos-api/types.d.ts +64 -1
- package/lib/contexts/odigos-api/use-odigos-api.d.ts +2 -0
- package/lib/contexts.js +1 -1
- package/lib/functions/agent-supports-offsets/index.d.ts +7 -0
- package/lib/functions/get-agent-badge-colors/index.d.ts +8 -0
- package/lib/functions/get-containers-counts/index.d.ts +1 -0
- package/lib/functions/index.d.ts +2 -0
- package/lib/functions.js +1 -1
- package/lib/hooks.js +1 -1
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/common/index.d.ts +2 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/insights/index.d.ts +296 -5
- package/lib/types/instrumentation-agents/index.d.ts +71 -0
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +1 -1
- package/lib/chunks/source-instrument-form-context-RwsR5XPB.js +0 -5
- package/lib/chunks/ui-components-CM2SQ_TO.js +0 -2298
|
@@ -44,6 +44,8 @@ export interface Capabilities {
|
|
|
44
44
|
canManageSamplingRules: boolean;
|
|
45
45
|
canManageInsightsPolicies: boolean;
|
|
46
46
|
canFetchInsights: boolean;
|
|
47
|
+
/** Insights' mined guardrail rules — unrelated to canManageRecommendations below. */
|
|
48
|
+
canManageInsightsRecommendations: boolean;
|
|
47
49
|
canManageRecommendations: boolean;
|
|
48
50
|
}
|
|
49
51
|
export declare const deriveCapabilities: (operations: OdigosApiOperations, ctx: OperationContext) => Capabilities;
|
|
@@ -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, 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';
|
|
13
|
+
import type { GetInsightsAnomaliesVars, GetInsightsAnomalyVars, GetInsightsBaselineVars, GetInsightsFindingsVars, GetInsightsGuardrailViolationsVars, GetInsightsGuardrailViolationVars, GetInsightsServiceProfileVars, GetInsightsBlastRadiusVars, GetInsightsObservationVars, GetInsightsObservationsVars, GetInsightsTransactionVars, GetInsightsTransactionsVars, OperationContext, OdigosApiOperations, ForcePromoteInsightsServiceVars, EnableInsightsTransactionGuardrailVars, DisableInsightsTransactionGuardrailVars, PromoteInsightsBaselineClassVars, ResolveInsightsAnomalyVars, GetInsightsRecommendationsVars, GetInsightsRecommendationVars, PreviewInsightsRecommendationVars, RecomputeInsightsRecommendationsVars } 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, InsightsRecommendation, InsightsRecommendationApplyItemInput, InsightsRecommendationBulkResult, InsightsRecommendationPreview } from '../../../types';
|
|
15
15
|
export interface InsightsApi {
|
|
16
16
|
useServices: (options?: UseApiQueryOptions<InsightsServiceStat[]>) => UseApiQueryResult<InsightsServiceStat[]>;
|
|
17
17
|
useServiceNames: (options?: UseApiQueryOptions<string[]>) => UseApiQueryResult<string[]>;
|
|
@@ -33,6 +33,8 @@ export interface InsightsApi {
|
|
|
33
33
|
useCatalog: (options?: UseApiQueryOptions<InsightsCatalog>) => UseApiQueryResult<InsightsCatalog>;
|
|
34
34
|
useSystemSettings: (options?: UseApiQueryOptions<InsightsSystemSettings>) => UseApiQueryResult<InsightsSystemSettings>;
|
|
35
35
|
useStorageHealth: (options?: UseApiQueryOptions<InsightsStorageHealth>) => UseApiQueryResult<InsightsStorageHealth>;
|
|
36
|
+
useRecommendations: (vars?: GetInsightsRecommendationsVars, options?: UseApiQueryOptions<InsightsRecommendation[]>) => UseApiQueryResult<InsightsRecommendation[]>;
|
|
37
|
+
useRecommendation: (vars: GetInsightsRecommendationVars, options?: UseApiQueryOptions<InsightsRecommendation | undefined>) => UseApiQueryResult<InsightsRecommendation | undefined>;
|
|
36
38
|
getServices?: () => Promise<{
|
|
37
39
|
data?: InsightsServiceStat[];
|
|
38
40
|
error?: string;
|
|
@@ -97,6 +99,14 @@ export interface InsightsApi {
|
|
|
97
99
|
data?: InsightsStorageHealth;
|
|
98
100
|
error?: string;
|
|
99
101
|
}>;
|
|
102
|
+
getRecommendations?: (vars?: GetInsightsRecommendationsVars) => Promise<{
|
|
103
|
+
data?: InsightsRecommendation[];
|
|
104
|
+
error?: string;
|
|
105
|
+
}>;
|
|
106
|
+
getRecommendation?: (vars: GetInsightsRecommendationVars) => Promise<{
|
|
107
|
+
data?: InsightsRecommendation;
|
|
108
|
+
error?: string;
|
|
109
|
+
}>;
|
|
100
110
|
promoteBaselineClass?: (vars: PromoteInsightsBaselineClassVars) => Promise<{
|
|
101
111
|
data?: InsightsPromoteResult;
|
|
102
112
|
error?: string;
|
|
@@ -174,5 +184,35 @@ export interface InsightsApi {
|
|
|
174
184
|
data?: InsightsSystemSettings;
|
|
175
185
|
error?: string;
|
|
176
186
|
} | undefined>;
|
|
187
|
+
applyRecommendations?: (items: InsightsRecommendationApplyItemInput[]) => Promise<{
|
|
188
|
+
data?: InsightsRecommendationBulkResult;
|
|
189
|
+
error?: string;
|
|
190
|
+
} | undefined>;
|
|
191
|
+
dismissRecommendations?: (ids: string[]) => Promise<{
|
|
192
|
+
data?: InsightsRecommendationBulkResult;
|
|
193
|
+
error?: string;
|
|
194
|
+
} | undefined>;
|
|
195
|
+
restoreRecommendations?: (ids: string[]) => Promise<{
|
|
196
|
+
data?: InsightsRecommendationBulkResult;
|
|
197
|
+
error?: string;
|
|
198
|
+
} | undefined>;
|
|
199
|
+
revertRecommendations?: (ids: string[]) => Promise<{
|
|
200
|
+
data?: InsightsRecommendationBulkResult;
|
|
201
|
+
error?: string;
|
|
202
|
+
} | undefined>;
|
|
203
|
+
/** Dry run against stored samples. Persists nothing; no success toast. */
|
|
204
|
+
previewRecommendation?: (vars: PreviewInsightsRecommendationVars) => Promise<{
|
|
205
|
+
data?: InsightsRecommendationPreview;
|
|
206
|
+
error?: string;
|
|
207
|
+
} | undefined>;
|
|
208
|
+
/**
|
|
209
|
+
* Queue a mining run. Pass nothing to sweep everything, `{ transactionId }`
|
|
210
|
+
* to re-mine one transaction's correlations, or `{ namespace, service }` to
|
|
211
|
+
* rebuild one service's guardrail card — never a namespace on its own, and
|
|
212
|
+
* never a transaction id together with a service.
|
|
213
|
+
*/
|
|
214
|
+
recomputeRecommendations?: (vars?: RecomputeInsightsRecommendationsVars) => Promise<{
|
|
215
|
+
error?: string;
|
|
216
|
+
} | undefined>;
|
|
177
217
|
}
|
|
178
218
|
export declare const useInsightsApi: (operations: OdigosApiOperations, ctx: OperationContext) => InsightsApi;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type GoOffsets, type GoOffsetsUpdateCheck, type InstrumentationAgent } from '../../../types';
|
|
2
|
+
import type { OperationContext, OdigosApiOperations } from '../types';
|
|
3
|
+
import { type UseApiQueryOptions, type UseApiQueryResult } from '../use-api-query';
|
|
4
|
+
export interface InstrumentationAgentsApi {
|
|
5
|
+
/** Subscribe to the instrumentation agents (distros) available on this tier. */
|
|
6
|
+
useInstrumentationAgents: (options?: UseApiQueryOptions<InstrumentationAgent[]>) => UseApiQueryResult<InstrumentationAgent[]>;
|
|
7
|
+
/** Subscribe to the Go eBPF agent's offsets. Pass `skip` unless the Go agent's detail view is open. */
|
|
8
|
+
useGoOffsets: (options?: UseApiQueryOptions<GoOffsets>) => UseApiQueryResult<GoOffsets>;
|
|
9
|
+
getInstrumentationAgents?: () => Promise<{
|
|
10
|
+
data?: InstrumentationAgent[];
|
|
11
|
+
error?: string;
|
|
12
|
+
}>;
|
|
13
|
+
getGoOffsets?: () => Promise<{
|
|
14
|
+
data?: GoOffsets;
|
|
15
|
+
error?: string;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Download the public manifest and diff it against the installed offsets.
|
|
19
|
+
* Writes nothing, so it stays available to readonly users who still need to
|
|
20
|
+
* see which versions they're missing.
|
|
21
|
+
*/
|
|
22
|
+
checkGoOffsetsUpdates?: () => Promise<{
|
|
23
|
+
data?: GoOffsetsUpdateCheck;
|
|
24
|
+
error?: string;
|
|
25
|
+
}>;
|
|
26
|
+
/** Download the public manifest and write it into the offsets ConfigMap. */
|
|
27
|
+
updateGoOffsets?: () => Promise<{
|
|
28
|
+
error?: string;
|
|
29
|
+
} | undefined>;
|
|
30
|
+
}
|
|
31
|
+
export declare const useInstrumentationAgentsApi: (operations: OdigosApiOperations, ctx: OperationContext) => InstrumentationAgentsApi;
|
|
@@ -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, CloudConnectorCreateInput, CloudConnectorCreateResult, CloudConnectorProvider, ConfigYaml, Connection, 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, SamplingRules, SamplingRulesK8sHealthConfig, ServiceMapSources, SourceFormData, SourceProfilingResult, TestConnectionResponse, Tier, TokenPayload, Workload, WorkloadId, PeerSources } from '../../types';
|
|
21
|
+
import type { Action, ActionFormData, AllClusterSnapshots, ClusterSnapshot, CloudConnectorCreateInput, CloudConnectorCreateResult, CloudConnectorProvider, ConfigYaml, Connection, CostReductionRule, CostReductionRuleInput, DataStream, DescribeOdigos, DescribeSource, Destination, DestinationFormData, DiagnoseFormData, EffectiveConfig, EffectiveConfigInput, EnableProfilingResult, ExtendedPodInfo, FetchedConfig, GatewayInfo, GetActionTypesResult, GetInstrumentationRuleTypesResult, GoOffsets, 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, InsightsRecommendation, InsightsRecommendationApplyItemInput, InsightsRecommendationBulkResult, InsightsRecommendationKind, InsightsRecommendationPreview, InsightsRecommendationState, InsightsCorrelationSpecInput, InsightsSampleReason, InsightsServiceStat, InsightsServiceProfile, InsightsBlastRadiusSubgraph, InsightsStorageHealth, InsightsSystemSettings, InsightsSystemSettingsInput, InsightsTransaction, InsightsTransactionKind, InsightsTransactionStat, InsightsViolationActionInput, InstrumentationAgent, GoOffsetsUpdateCheck, InstrumentationInstructions, InstrumentationRule, K8sResourceKind, LocalUiConfigInput, Metrics, Namespace, NoisyOperationRule, NoisyOperationRuleInput, NodeCollectoInfo, PlatformType, PodInfo, ProfilingSlots, SourceProfilingVars, Recommendation, 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)` /
|
|
@@ -539,6 +539,10 @@ export interface GetCollectorPodInfoVars {
|
|
|
539
539
|
namespace: string;
|
|
540
540
|
name: string;
|
|
541
541
|
}
|
|
542
|
+
/** Raw offsets manifest the browser downloaded, forwarded to the backend as-is. */
|
|
543
|
+
export interface GoOffsetsContentVars {
|
|
544
|
+
content: string;
|
|
545
|
+
}
|
|
542
546
|
export interface GetCollectorPodInfoData {
|
|
543
547
|
extendedPodInfo?: ExtendedPodInfo;
|
|
544
548
|
}
|
|
@@ -757,6 +761,53 @@ export interface InsightsViolationActionVars {
|
|
|
757
761
|
export interface UpdateInsightsSystemSettingsVars {
|
|
758
762
|
settings: InsightsSystemSettingsInput;
|
|
759
763
|
}
|
|
764
|
+
export interface GetInsightsRecommendationsVars {
|
|
765
|
+
kind?: InsightsRecommendationKind | null;
|
|
766
|
+
state?: InsightsRecommendationState | null;
|
|
767
|
+
transactionId?: string | null;
|
|
768
|
+
service?: string | null;
|
|
769
|
+
namespace?: string | null;
|
|
770
|
+
/** Include rows the latest mining run no longer produced. Defaults to false. */
|
|
771
|
+
includeStale?: boolean | null;
|
|
772
|
+
}
|
|
773
|
+
export interface GetInsightsRecommendationVars {
|
|
774
|
+
id: string;
|
|
775
|
+
}
|
|
776
|
+
export interface ApplyInsightsRecommendationsVars {
|
|
777
|
+
items: InsightsRecommendationApplyItemInput[];
|
|
778
|
+
}
|
|
779
|
+
/** Shared by the dismiss / restore / revert bulk actions. */
|
|
780
|
+
export interface InsightsRecommendationIdsVars {
|
|
781
|
+
ids: string[];
|
|
782
|
+
}
|
|
783
|
+
export interface PreviewInsightsRecommendationVars {
|
|
784
|
+
transactionId: string;
|
|
785
|
+
spec: InsightsCorrelationSpecInput;
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* Queue a mining run. Three legal shapes, and the server rejects the rest:
|
|
789
|
+
*
|
|
790
|
+
* - all three omitted — full sweep (every promoted transaction with unmined
|
|
791
|
+
* samples, plus every fully-learned service);
|
|
792
|
+
* - `transactionId` alone — re-mine that transaction's correlations (404 when
|
|
793
|
+
* the transaction does not exist);
|
|
794
|
+
* - `namespace` **and** `service` together — rebuild that service's guardrail card.
|
|
795
|
+
*
|
|
796
|
+
* `namespace` on its own is a 400, and mixing `transactionId` with
|
|
797
|
+
* `namespace`/`service` is a 400. A bare `service` is accepted but then fails
|
|
798
|
+
* downstream, so always pass the namespace with it.
|
|
799
|
+
*
|
|
800
|
+
* Success is 202 with no body: mining runs in the background and there is no
|
|
801
|
+
* job id, so the caller polls the list rather than awaiting a result.
|
|
802
|
+
*/
|
|
803
|
+
export interface RecomputeInsightsRecommendationsVars {
|
|
804
|
+
/** Omit to sweep every promoted transaction with unmined samples. Mutually exclusive with `service`. */
|
|
805
|
+
transactionId?: string | null;
|
|
806
|
+
/** Only with `service` — never on its own. */
|
|
807
|
+
namespace?: string | null;
|
|
808
|
+
/** Re-mine this one service's `service_guardrail` card. Always pass `namespace` too. */
|
|
809
|
+
service?: string | null;
|
|
810
|
+
}
|
|
760
811
|
export interface PersistSourcesResult {
|
|
761
812
|
persistK8sSources: boolean;
|
|
762
813
|
}
|
|
@@ -987,6 +1038,10 @@ export interface OdigosApiOperations {
|
|
|
987
1038
|
ENABLE_SOURCE_PROFILING?: Operation<EnableProfilingResult, SourceProfilingVars>;
|
|
988
1039
|
GET_PROFILE_HOT_FUNCTIONS?: Operation<HotFunctionsResult, GetProfileHotFunctionsVars | undefined>;
|
|
989
1040
|
CLEAR_PROFILE_CACHE?: Operation<boolean, undefined>;
|
|
1041
|
+
GET_INSTRUMENTATION_AGENTS?: Operation<InstrumentationAgent[], undefined>;
|
|
1042
|
+
GET_GO_OFFSETS?: Operation<GoOffsets, undefined>;
|
|
1043
|
+
CHECK_GO_OFFSETS_UPDATES?: Operation<GoOffsetsUpdateCheck, GoOffsetsContentVars>;
|
|
1044
|
+
UPDATE_GO_OFFSETS?: Operation<boolean, GoOffsetsContentVars>;
|
|
990
1045
|
GET_GATEWAY_INFO?: Operation<GatewayInfo, undefined>;
|
|
991
1046
|
GET_GATEWAY_PODS?: Operation<PodInfo[], undefined>;
|
|
992
1047
|
GET_NODE_COLLECTOR_INFO?: Operation<NodeCollectoInfo, undefined>;
|
|
@@ -1059,6 +1114,14 @@ export interface OdigosApiOperations {
|
|
|
1059
1114
|
DISMISS_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
|
|
1060
1115
|
REOPEN_INSIGHTS_GUARDRAIL_VIOLATION?: Operation<boolean, InsightsViolationActionVars>;
|
|
1061
1116
|
UPDATE_INSIGHTS_SYSTEM_SETTINGS?: Operation<InsightsSystemSettings, UpdateInsightsSystemSettingsVars>;
|
|
1117
|
+
GET_INSIGHTS_RECOMMENDATIONS?: Operation<InsightsRecommendation[], GetInsightsRecommendationsVars | undefined>;
|
|
1118
|
+
GET_INSIGHTS_RECOMMENDATION?: Operation<InsightsRecommendation | undefined, GetInsightsRecommendationVars>;
|
|
1119
|
+
APPLY_INSIGHTS_RECOMMENDATIONS?: Operation<InsightsRecommendationBulkResult, ApplyInsightsRecommendationsVars>;
|
|
1120
|
+
DISMISS_INSIGHTS_RECOMMENDATIONS?: Operation<InsightsRecommendationBulkResult, InsightsRecommendationIdsVars>;
|
|
1121
|
+
RESTORE_INSIGHTS_RECOMMENDATIONS?: Operation<InsightsRecommendationBulkResult, InsightsRecommendationIdsVars>;
|
|
1122
|
+
REVERT_INSIGHTS_RECOMMENDATIONS?: Operation<InsightsRecommendationBulkResult, InsightsRecommendationIdsVars>;
|
|
1123
|
+
PREVIEW_INSIGHTS_RECOMMENDATION?: Operation<InsightsRecommendationPreview, PreviewInsightsRecommendationVars>;
|
|
1124
|
+
RECOMPUTE_INSIGHTS_RECOMMENDATIONS?: Operation<boolean, RecomputeInsightsRecommendationsVars | undefined>;
|
|
1062
1125
|
}
|
|
1063
1126
|
/**
|
|
1064
1127
|
* The host's Apollo configuration. The kit constructs the ApolloClient
|
|
@@ -64,11 +64,13 @@ import { type K8sManifestApi } from './hooks/use-k8s-manifest-api';
|
|
|
64
64
|
import { type DestinationsApi } from './hooks/use-destinations-api';
|
|
65
65
|
import { type RecommendationsApi } from './hooks/use-recommendations-api';
|
|
66
66
|
import { type InstrumentationRulesApi } from './hooks/use-instrumentation-rules-api';
|
|
67
|
+
import { type InstrumentationAgentsApi } from './hooks/use-instrumentation-agents-api';
|
|
67
68
|
export interface UseOdigosApiReturn {
|
|
68
69
|
sourcesApi: SourcesApi;
|
|
69
70
|
destinationsApi: DestinationsApi;
|
|
70
71
|
actionsApi: ActionsApi;
|
|
71
72
|
instrumentationRulesApi: InstrumentationRulesApi;
|
|
73
|
+
instrumentationAgentsApi: InstrumentationAgentsApi;
|
|
72
74
|
dataStreamsApi: DataStreamsApi;
|
|
73
75
|
namespacesApi: NamespaceApi;
|
|
74
76
|
k8sManifestApi: K8sManifestApi;
|
package/lib/contexts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a,r as P,a as T}from"./chunks/source-instrument-form-context-
|
|
1
|
+
import{u as a,r as P,a as T}from"./chunks/source-instrument-form-context-CB8LQMmT.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,c as DetectionOverrideFormContextProvider,d as DetectionPolicyFormContextProvider,G as GuardrailFormContextProvider,L as LearningOverrideFormContextProvider,e as LearningPolicyFormContextProvider,O as OdigosApiConnectionsScope,f as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,g as SamplingRulesFormProvider,h as SourceEditFormContextProvider,i as SourceInstrumentFormContextProvider,j as SystemSettingsFormContextProvider,p as prepareNamespacePayloads,k as prepareSourcePayloads,l as useActionFormContext,m as useApiLazyQuery,n as useApiMutation,o as useApiQuery,q as useCloudConnectorFormContext,s as useDataStreamFormContext,t as useDestinationFormContext,v as useDetectionOverrideFormContext,w as useDetectionPolicyFormContext,x as useGuardrailFormContext,y as useLearningOverrideFormContext,z as useLearningPolicyFormContext,B as useOdigosApi,E as useRuleFormContext,F as useSamplingRulesFormContext,H as useSourceEditFormContext,I as useSourceInstrumentFormContext,J as useSystemSettingsFormContext}from"./chunks/source-instrument-form-context-CB8LQMmT.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-Cnnu6nDZ.js";import{jsx as _}from"react/jsx-runtime";import{useMemo as M,useContext as N,createContext as V}from"react";import{P as U,t as $}from"./chunks/ui-components-DRnj62bc.js";import{useApolloClient as K}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";const Q=()=>{const o=K(),{operations:r,context:e}=a();return{multiFetch:async(t,n,s)=>{const i=r[t];return i?T(o,i,n,s,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:n.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,n)=>{const s=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await P(o,r.PERSIST_SOURCES,n,t);a&&s.push(`${i}: ${a}`)}return s.length?{error:s.join(", ")}:void 0},applyConfigurations:async(t,n)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const s={formData:n,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await P(o,i,s,e)):({error:a}=await T(o,i,t,s,e)),a?{error:a}:void 0}}},W=(o,r)=>o.platformType===U.K8s?r.K8s:[U.Vm,U.Connector,U.AwsEcs].includes(o.platformType)?r.Vm:void 0,X=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const n=$(r.schemaVersion??r.version),s=[...t].sort((o,r)=>$(r)-$(o)).find(o=>n>=$(o));return s?e[s]:void 0},Y=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},Z=V({formType:void 0}),oo=({children:o,formType:r})=>{const e=M(()=>({formType:r}),[r]);return _(Z.Provider,{value:e,children:o})},ro=()=>N(Z);export{oo as StorybookProvider,W as pickByPlatform,Q as useApiForConnections,ro as useStorybook,X as versionedDocument,Y as vmDialectMap};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type InstrumentationAgent } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Offsets are a Go eBPF concept: the agent reads struct fields out of the
|
|
4
|
+
* instrumented process, so it needs per-library memory offsets. Code agents
|
|
5
|
+
* hook the library at runtime and never consult an offsets manifest.
|
|
6
|
+
*/
|
|
7
|
+
export declare const agentSupportsOffsets: (agent: InstrumentationAgent) => boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DefaultTheme } from 'styled-components';
|
|
2
|
+
import { InstrumentationAgentTier } from '../../types';
|
|
3
|
+
interface BadgeColors {
|
|
4
|
+
backgroundColor: string;
|
|
5
|
+
textColor: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const getAgentTierBadgeColors: (theme: DefaultTheme, tier: InstrumentationAgentTier) => BadgeColors;
|
|
8
|
+
export {};
|
package/lib/functions/index.d.ts
CHANGED
package/lib/functions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{by as adaptInstrumentationRuleFromWire,bw as adaptInstrumentationRuleInputForWire,
|
|
1
|
+
export{by as adaptInstrumentationRuleFromWire,bw as adaptInstrumentationRuleInputForWire,gl as agentSupportsOffsets,fm as buildBadgeForDesiredStatus,o6 as buildCatalogFieldsDataCard,fd as buildCatalogFieldsSegments,o7 as capitalizeFirstLetter,o8 as cleanObjectEmptyStringsValues,a6 as compareCondition,o9 as decimalsOnly,b1 as deepClone,mg as entityIdKey,ml as filterActions,mk as filterDestinations,fh as filterDestinationsByStream,mj as filterSources,m6 as filterSourcesByStream,k1 as findSourceByService,oa as flattenObjectKeys,fA as formatBytes,lf as formatDuration,ba as generateId,md as getActionConditions,ff as getActionIcon,gk as getAgentTierBadgeColors,me as getConditionsBooleans,fS as getContainersIcons,ob as getContainersInstrumentedCount,oc as getDeepValue,f4 as getDestinationIcon,od as getDetectedLanguageIcons,fr as getEffectiveLanguage,fI as getEffectiveRuntimeVersion,mh as getEntityIcon,br as getEntityId,mc as getEntityIdKey,mf as getEntityLabel,oe as getHealthBadgeLabel,bm as getIdFromSseTarget,fj as getInstrumentationRuleIcon,of as getInstrumentedCountLabel,og as getMainContainerLanguage,oh as getMetricForEntity,oi as getMonitorIcon,oj as getNearestTypographySize,fR as getPlatformIcon,jU as getPlatformLabel,Y as getProgrammingLanguageIcon,ok as getRecursiveValues,fz as getSourceKindLabel,fw as getSourceLanguageIcons,bf as getSseTargetFromId,fG as getStatusColor,mn as getStatusFromPodStatus,fH as getStatusIcon,fB as getStatusTypeFromOdigosHealth,ol as getValueForRange,fv as getVirtualServiceIcon,fu as getWorkloadId,fi as getYamlFieldsForDestination,om as hasUnhealthyInstances,on as instrumentationRuleSourceScopesFromWire,oo as instrumentationRuleSourceScopesToWire,bK as isEmpty,bL as isLegalK8sLabel,iG as isOverTime,op as isStringABoolean,oq as isTimeElapsed,fF as isValidVersion,or as mapConditions,fo as mapDesiredStatusToConditionStatus,fb as mapDesiredStatusesToConditions,fg as mapDestinationFieldsForDisplay,bP as mapExportedSignals,bN as mapSupportedSignals,os as numbersOnly,ot as parseBooleanFromString,ou as parseJsonStringToPrettyString,lh as parseRawOtlp,cr as prepareDestinationFormData,ov as removeEmptyValuesFromObject,y as safeJsonParse,ow as safeJsonStringify,ox as setDeepValue,oy as sleep,ak as splitCamelString,oz as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-DRnj62bc.js";import"react/jsx-runtime";import"react";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";
|
package/lib/hooks.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{qx as IGNORE_OUTSIDE_CLICK_ATTR,d0 as PopupAlignX,iH as PopupAlignY,k8 as formatDurationMinutes,qy as formatDurationMs,qz as isInsideIgnoredPortal,qA as useActionFormData,c$ as useAnchoredPopup,qB as useBodyScroll,mi as useContainerSize,b8 as useCopy,qC as useDataStreamFormData,qD as useDestinationFormData,u as useFullscreen,bG as useGenericForm,qE as useInstrumentationRuleFormData,iF as useKeyDown,fC as useOnClickOutside,mv as useOverflow,qF as usePopup,fl as useScrollIntoViewWhen,mG as useScrollTo,m9 as useSessionStorage,qG as useSourceFormData,c_ as useTimeAgo}from"./chunks/ui-components-DRnj62bc.js";import"react/jsx-runtime";import"react";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";
|
package/lib/snippets.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-
|
|
1
|
+
export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-DRnj62bc.js";export{A as AnimatedCollapse,a as AnimatedGraphEdge,b as AutoFitView,B as BlastRadius,C as CancelModal,D as DEFAULT_GRAPH_FIT_VIEW_OPTIONS,c as DURATION_OPTIONS,d as DeleteModal,e as DurationErrorsSection,f as DynamicActionFields,g as DynamicField,h as DynamicFields,E as EnableDisableSegment,G as GRAPH_FLOW_ANIMATED_EDGE,i as GraphFlow,j as GraphFlowComponent,I as InstrumentationPreviewSection,k as IntroModal,N as NOISY_PERCENTAGE_OPTIONS,O as OdigosLogoTextByTier,l as OperationSection,P as PERCENTAGE_OPTIONS,m as PercentageSection,n as PresetWithCustomInput,R as RuleInfoSection,o as RuleTypeSection,S as SamplingPreviewSection,p as SignalsCheckboxList,q as SourceScopeSection,U as UpgradeModal,W as WIDE_DRAWER_WIDTH,r as WideDrawer,Y as YamlSectionCard,s as getElkLayoutedElements,t as getGraphEdgePath}from"./chunks/index-qLBXdBIN.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-Cnnu6nDZ.js";import"react/jsx-runtime";import"react";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";import"elkjs/lib/elk.bundled.js";import"@xyflow/react";import"@xyflow/react/dist/style.css";
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{iI as DrawerType,bl as ProgressKeys,ma as getDrawerTypeForAdd,fy as getDrawerTypeForEdit,bi as useDataStreamStore,ft as useDrawerStore,m5 as useFilterStore,bd as useNotificationStore,bj as useProgressStore,mb as useSelectedStore,bk as useSetupStore}from"./chunks/ui-components-DRnj62bc.js";import"react/jsx-runtime";import"react";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";
|
package/lib/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{qH as Provider,qI as animations,qJ as opacity,qK as palettes}from"./chunks/ui-components-DRnj62bc.js";import"react/jsx-runtime";import"react";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"flubber";import"prism-react-renderer";import"react-error-boundary";import"virtua";
|
|
@@ -138,7 +138,8 @@ export declare enum EntityTypes {
|
|
|
138
138
|
}
|
|
139
139
|
export declare enum OtherEntityTypes {
|
|
140
140
|
DataStream = "DataStream",
|
|
141
|
-
Connection = "Connection"
|
|
141
|
+
Connection = "Connection",
|
|
142
|
+
InstrumentationAgent = "InstrumentationAgent"
|
|
142
143
|
}
|
|
143
144
|
export declare enum FieldTypes {
|
|
144
145
|
Input = "input",
|
package/lib/types/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './describe';
|
|
|
7
7
|
export * from './destinations';
|
|
8
8
|
export * from './diagnose';
|
|
9
9
|
export * from './enum';
|
|
10
|
+
export * from './instrumentation-agents';
|
|
10
11
|
export * from './instrumentation-instances';
|
|
11
12
|
export * from './instrumentation-rules';
|
|
12
13
|
export * from './metrics';
|