@odigos/ui-kit 0.0.63 → 0.0.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/components/key-value-input-list/index.d.ts +2 -0
  3. package/lib/components/toggle/index.d.ts +1 -1
  4. package/lib/components.js +7 -7
  5. package/lib/containers/index.d.ts +1 -0
  6. package/lib/containers/system-settings/index.d.ts +8 -0
  7. package/lib/containers/system-settings/settings/collector-gateway-settings.d.ts +4 -0
  8. package/lib/containers/system-settings/settings/collector-node-settings.d.ts +4 -0
  9. package/lib/containers/system-settings/settings/options.d.ts +7 -0
  10. package/lib/containers/system-settings/settings/other-settings.d.ts +4 -0
  11. package/lib/containers/system-settings/settings/styled.d.ts +2 -0
  12. package/lib/containers/system-settings/settings/types.d.ts +5 -0
  13. package/lib/containers/system-settings/settings/ui-settings.d.ts +4 -0
  14. package/lib/containers/system-settings/settings/user-instrumnetation-envs-settings.d.ts +4 -0
  15. package/lib/containers.js +277 -22
  16. package/lib/functions.js +2 -2
  17. package/lib/hooks/useGenericForm.d.ts +1 -1
  18. package/lib/hooks.js +3 -3
  19. package/lib/icons/common/gear-icon/index.d.ts +2 -0
  20. package/lib/icons/common/index.d.ts +1 -0
  21. package/lib/icons.js +2 -2
  22. package/lib/{index-1fcb0269.js → index-391844c6.js} +1 -8
  23. package/lib/{index-9e56485b.js → index-42f40e7c.js} +2 -7
  24. package/lib/{index-ec555530.js → index-5e5f7bda.js} +6 -1
  25. package/lib/{index-eb03f43f.js → index-7074fb24.js} +1 -1
  26. package/lib/{index-56ab40b8.js → index-c1df4281.js} +16 -1
  27. package/lib/{index-61caa474.js → index-f2da9ad4.js} +68 -72
  28. package/lib/mock-data/config/index.d.ts +2 -0
  29. package/lib/mock-data/index.d.ts +1 -0
  30. package/lib/snippets.js +5 -5
  31. package/lib/types/config/index.d.ts +89 -0
  32. package/lib/types/index.d.ts +1 -0
  33. package/lib/types.js +43 -1
  34. package/lib/{useTransition-750816e0.js → useTransition-c2aef0e4.js} +33 -13
  35. package/package.json +1 -1
@@ -1,13 +1,6 @@
1
1
  import React from 'react';
2
2
  import { T as Theme } from './index-bd48e6e2.js';
3
3
 
4
- const ArrowIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
- const theme = Theme.useTheme();
6
- const fill = f || theme.text.secondary;
7
- return (React.createElement("svg", { width: size * (9 / 13.5), height: size, viewBox: '0 0 9 13.5', xmlns: 'http://www.w3.org/2000/svg', fill: fill, style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
8
- React.createElement("path", { d: 'M0.616717 8.03169L0.616717 5.70699L16.1519 5.70699L16.1519 8.03169L0.616717 8.03169ZM8.11144 -2.81613L9.7262 -1.10502L1.45534 6.87054L9.7262 14.9097L8.17631 16.6208L-1.19268 7.5802L-1.19268 6.1921L8.11144 -2.81613Z' })));
9
- };
10
-
11
4
  const CodeIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
12
5
  const theme = Theme.useTheme();
13
6
  const fill = f || theme.text.secondary;
@@ -142,4 +135,4 @@ const CrossIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 })
142
135
  React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M4 12L8 8M8 8L12 4M8 8L4 4M8 8L12 12' })));
143
136
  };
144
137
 
145
- export { ArrowIcon as A, CodeIcon as C, EditIcon as E, ListIcon as L, MinusIcon as M, NoDataIcon as N, PlusIcon as P, SearchIcon as S, TrashIcon as T, XIcon as X, CopyIcon as a, EditedIcon as b, ExtendArrowIcon as c, NotebookIcon as d, SortArrowsIcon as e, EyeClosedIcon as f, EyeOpenIcon as g, CheckIcon as h, CrossIcon as i };
138
+ export { CodeIcon as C, EditIcon as E, ListIcon as L, MinusIcon as M, NoDataIcon as N, PlusIcon as P, SearchIcon as S, TrashIcon as T, XIcon as X, CopyIcon as a, EditedIcon as b, ExtendArrowIcon as c, NotebookIcon as d, SortArrowsIcon as e, EyeClosedIcon as f, EyeOpenIcon as g, CheckIcon as h, CrossIcon as i };
@@ -4,7 +4,7 @@ import 'react';
4
4
  import 'styled-components';
5
5
  import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, f as AxiomLogo, g as BlobStorageLogo, B as BetterStackLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, c as AwsCloudwatchLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, F as OpenTelemetryLogo, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, G as GigapipeLogo, T as QuickwitLogo, d as AwsS3Logo, U as SeqLogo, W as SignozLogo, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, e as AwsXrayLogo, a5 as NamespacesIcon, a7 as SourcesIcon, a4 as DestinationsIcon, a3 as ActionsIcon, a6 as RulesIcon, V as VmLogo } from './index-acc7c7dd.js';
6
6
  import { O as OdigosLogo } from './index-50101bec.js';
7
- import { s as safeJsonParse } from './index-ec555530.js';
7
+ import { s as safeJsonParse } from './index-5e5f7bda.js';
8
8
 
9
9
  const compareCondition = (renderCondition, fields) => {
10
10
  if (!renderCondition || !renderCondition.length)
@@ -38,11 +38,6 @@ const compareCondition = (renderCondition, fields) => {
38
38
  }
39
39
  };
40
40
 
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- const deepClone = (item) => {
43
- return JSON.parse(JSON.stringify(item));
44
- };
45
-
46
41
  const filterActions = (actions, filters) => {
47
42
  let filtered = [...actions];
48
43
  if (!!filters.monitors?.length)
@@ -327,4 +322,4 @@ const mapDestinationFieldsForDisplay = (destination, yamlFields) => {
327
322
 
328
323
  const sleep = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
329
324
 
330
- export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, deepClone as d, filterSources as e, filterActions as f, filterSourcesByStream as g, formatBytes as h, getContainersInstrumentedCount as i, getContainersIcons as j, getDestinationIcon as k, getEntityIcon as l, getEntityLabel as m, getMetricForEntity as n, getPlatformIcon as o, getPlatformLabel as p, getValueForRange as q, getWorkloadId as r, getYamlFieldsForDestination as s, hasUnhealthyInstances as t, isOverTime as u, mapDestinationFieldsForDisplay as v, sleep as w };
325
+ export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, filterSources as d, filterSourcesByStream as e, filterActions as f, formatBytes as g, getContainersInstrumentedCount as h, getContainersIcons as i, getDestinationIcon as j, getEntityIcon as k, getEntityLabel as l, getMetricForEntity as m, getPlatformIcon as n, getPlatformLabel as o, getValueForRange as p, getWorkloadId as q, getYamlFieldsForDestination as r, hasUnhealthyInstances as s, isOverTime as t, mapDestinationFieldsForDisplay as u, sleep as v };
@@ -1,3 +1,8 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ const deepClone = (item) => {
3
+ return JSON.parse(JSON.stringify(item));
4
+ };
5
+
1
6
  function safeJsonParse(val, fallback) {
2
7
  if (!val)
3
8
  return fallback;
@@ -31,4 +36,4 @@ const isEmpty = (val) => {
31
36
  }
32
37
  };
33
38
 
34
- export { isEmpty as i, safeJsonParse as s };
39
+ export { deepClone as d, isEmpty as i, safeJsonParse as s };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { a3 as WarningModal } from './index-61caa474.js';
2
+ import { a3 as WarningModal } from './index-f2da9ad4.js';
3
3
  import { StatusType, EntityTypes } from './types.js';
4
4
  import './index-bd48e6e2.js';
5
5
  import 'styled-components';
@@ -21,6 +21,13 @@ const OdigosLogoText = ({ size = 16, fill: f, rotate = 0, onClick }) => {
21
21
  React.createElement("path", { d: 'M36.6756 64.0307C43.4071 64.0307 48.8641 58.5737 48.8641 51.8422C48.8641 45.1108 43.4071 39.6538 36.6756 39.6538C29.9441 39.6538 24.4872 45.1108 24.4872 51.8422C24.4872 58.5737 29.9441 64.0307 36.6756 64.0307Z' }))));
22
22
  };
23
23
 
24
+ const ArrowIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
25
+ const theme = Theme.useTheme();
26
+ const fill = f || theme.text.secondary;
27
+ return (React.createElement("svg", { width: size * (9 / 13.5), height: size, viewBox: '0 0 9 13.5', xmlns: 'http://www.w3.org/2000/svg', fill: fill, style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
28
+ React.createElement("path", { d: 'M0.616717 8.03169L0.616717 5.70699L16.1519 5.70699L16.1519 8.03169L0.616717 8.03169ZM8.11144 -2.81613L9.7262 -1.10502L1.45534 6.87054L9.7262 14.9097L8.17631 16.6208L-1.19268 7.5802L-1.19268 6.1921L8.11144 -2.81613Z' })));
29
+ };
30
+
24
31
  const FilterIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
25
32
  const theme = Theme.useTheme();
26
33
  const fill = f || theme.text.secondary;
@@ -28,6 +35,14 @@ const FilterIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }
28
35
  React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M5.33341 8H10.6667M7.33341 12H8.66675M2.66675 4H13.3334' })));
29
36
  };
30
37
 
38
+ const GearIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
39
+ const theme = Theme.useTheme();
40
+ const fill = f || theme.text.secondary;
41
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
42
+ React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.3982 4.27916C10.7851 2.57361 13.2149 2.57361 13.6018 4.27916L13.6531 4.50528C13.9038 5.61045 15.1719 6.13573 16.1306 5.53151L16.3268 5.40789C17.8064 4.47545 19.5246 6.19363 18.5921 7.6732L18.4685 7.86935C17.8643 8.82809 18.3895 10.0962 19.4947 10.3469L19.7208 10.3982C21.4264 10.7851 21.4264 13.2149 19.7208 13.6018L19.4947 13.6531C18.3895 13.9038 17.8643 15.1719 18.4685 16.1306L18.5921 16.3268C19.5246 17.8064 17.8064 19.5246 16.3268 18.5921L16.1306 18.4685C15.1719 17.8643 13.9038 18.3895 13.6531 19.4947L13.6018 19.7208C13.2149 21.4264 10.7851 21.4264 10.3982 19.7208L10.3469 19.4947C10.0962 18.3895 8.82809 17.8643 7.86935 18.4685L7.6732 18.5921C6.19363 19.5246 4.47545 17.8064 5.40789 16.3268L5.53151 16.1306C6.13573 15.1719 5.61045 13.9038 4.50528 13.6531L4.27916 13.6018C2.57361 13.2149 2.57361 10.7851 4.27916 10.3982L4.50528 10.3469C5.61045 10.0962 6.13573 8.82809 5.53151 7.86935L5.40789 7.6732C4.47544 6.19363 6.19363 4.47545 7.6732 5.40789L7.86935 5.53151C8.82809 6.13573 10.0962 5.61045 10.3469 4.50528L10.3982 4.27916Z' }),
43
+ React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.9909 12C10.9909 11.4477 11.4478 11 12 11C12.5523 11 13.0092 11.4477 13.0092 12C13.0092 12.5523 12.5523 13 12 13C11.4478 13 10.9909 12.5523 10.9909 12Z' })));
44
+ };
45
+
31
46
  const KeyIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
32
47
  const theme = Theme.useTheme();
33
48
  const fill = f || theme.text.secondary;
@@ -97,4 +112,4 @@ const CrossCircledIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth
97
112
  React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M6.75049 10.0005L8.75049 8.00049M8.75049 8.00049L10.7505 6.00049M8.75049 8.00049L6.75049 6.00049M8.75049 8.00049L10.7505 10.0005M8.75039 14.1004C5.38145 14.1004 2.65039 11.3693 2.65039 8.00039C2.65039 4.63145 5.38145 1.90039 8.75039 1.90039C12.1193 1.90039 14.8504 4.63145 14.8504 8.00039C14.8504 11.3693 12.1193 14.1004 8.75039 14.1004Z' })));
98
113
  };
99
114
 
100
- export { CrossCircledIcon as C, DataStreamsIcon as D, FilterIcon as F, KeyIcon as K, NotificationIcon as N, OdigosLogoText as O, RefreshLeftArrowIcon as R, SlackLogo as S, TerminalIcon as T, UserIcon as U, OverviewIcon as a };
115
+ export { ArrowIcon as A, CrossCircledIcon as C, DataStreamsIcon as D, FilterIcon as F, GearIcon as G, KeyIcon as K, NotificationIcon as N, OdigosLogoText as O, RefreshLeftArrowIcon as R, SlackLogo as S, TerminalIcon as T, UserIcon as U, OverviewIcon as a };
@@ -1,12 +1,12 @@
1
1
  import React, { useState, useEffect, useRef, forwardRef, useMemo, createElement, useCallback, Fragment, createContext, memo, useContext, useLayoutEffect } from 'react';
2
2
  import { T as Theme, B as BUTTON_TEXTS, j as ImageErrorIcon, M as MONITORS_OPTIONS, a1 as styleInject, U as usePendingStore, $ as useSelectedStore, Z as useInstrumentStore, Q as useActiveNodeStore, V as useNotificationStore, b as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, D as DISPLAY_LANGUAGES, e as getProgrammingLanguageIcon } from './index-bd48e6e2.js';
3
+ import styled, { css } from 'styled-components';
4
+ import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-391844c6.js';
3
5
  import { StatusType, OtherStatus, EntityTypes, NodeTypes, AddNodeTypes, EdgeTypes, ProgrammingLanguages, IntrumentationStatus, SortDirection, InputTypes, FieldTypes } from './types.js';
4
- import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon, A as ArrowIcon } from './index-1fcb0269.js';
6
+ import { s as safeJsonParse, i as isEmpty } from './index-5e5f7bda.js';
5
7
  import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-58440c5c.js';
6
- import styled, { css } from 'styled-components';
7
- import { s as safeJsonParse, i as isEmpty } from './index-ec555530.js';
8
8
  import ReactDOM, { createPortal } from 'react-dom';
9
- import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-750816e0.js';
9
+ import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-c2aef0e4.js';
10
10
  import { I as InfoIcon } from './index-50101bec.js';
11
11
 
12
12
  const TextWrapper$2 = styled.div `
@@ -39,7 +39,7 @@ const AutocompleteContainer = styled.div `
39
39
  position: relative;
40
40
  width: 100%;
41
41
  `;
42
- const InputWrapper$2 = styled.div `
42
+ const InputWrapper$3 = styled.div `
43
43
  width: calc(100% - 16px);
44
44
  display: flex;
45
45
  align-items: center;
@@ -187,7 +187,7 @@ const AutocompleteInput = ({ placeholder = 'Type to search...', options, selecte
187
187
  return;
188
188
  };
189
189
  return (React.createElement(AutocompleteContainer, { style: style },
190
- React.createElement(InputWrapper$2, { "$hasError": !!errorMessage },
190
+ React.createElement(InputWrapper$3, { "$hasError": !!errorMessage },
191
191
  Icon && React.createElement(Icon, null),
192
192
  React.createElement(StyledInput$1, { type: 'text', value: query, placeholder: placeholder, onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, onBlur: () => !disabled && setShowOptions(false), onFocus: () => !disabled && setShowOptions(true), ...props })),
193
193
  showOptions && filteredOptions.length ? (React.createElement(OptionsList, null, filteredOptions.map((option) => (React.createElement(OptionItem, { key: option.type || option.label, option: option, onClick: handleOptionClick }))))) : null,
@@ -17391,7 +17391,7 @@ const Title$6 = styled(Text) `
17391
17391
  white-space: nowrap;
17392
17392
  text-overflow: ellipsis;
17393
17393
  `;
17394
- const ActionButton$1 = styled(Button$4) `
17394
+ const ActionButton$3 = styled(Button$4) `
17395
17395
  gap: 8px;
17396
17396
  `;
17397
17397
  const CloseButton = styled(Button$4) ``;
@@ -17412,7 +17412,7 @@ const DrawerHeader = ({ onClose, icons, iconSrcs, title, titleTooltip, replaceTi
17412
17412
  renderReplaceTitleWith() || (React.createElement(Tooltip, { text: titleTooltip, withIcon: true }, title && React.createElement(Title$6, null, title)))),
17413
17413
  React.createElement(SectionItemsWrapper, { "$gap": 2 },
17414
17414
  actions,
17415
- actionButtons.map((btn, i) => (React.createElement(ActionButton$1, { key: `header-action-button-${i}`, ...btn }))),
17415
+ actionButtons.map((btn, i) => (React.createElement(ActionButton$3, { key: `header-action-button-${i}`, ...btn }))),
17416
17416
  React.createElement(CloseButton, { "data-id": 'drawer-close', variant: 'secondary', onClick: onClose },
17417
17417
  React.createElement(XIcon, { size: 12 })))),
17418
17418
  React.createElement(TabList, { tabs: tabs, hideBorder: true })));
@@ -17529,7 +17529,7 @@ const Container$g = styled.div `
17529
17529
  position: relative;
17530
17530
  width: 100%;
17531
17531
  `;
17532
- const InputWrapper$1 = styled.div `
17532
+ const InputWrapper$2 = styled.div `
17533
17533
  width: 100%;
17534
17534
  display: flex;
17535
17535
  align-items: center;
@@ -17540,7 +17540,6 @@ const InputWrapper$1 = styled.div `
17540
17540
  border: 1px solid ${({ theme }) => theme.colors.border};
17541
17541
  ${({ $disabled }) => $disabled &&
17542
17542
  css `
17543
- background-color: ${({ theme }) => theme.colors.border};
17544
17543
  cursor: not-allowed;
17545
17544
  opacity: 0.6;
17546
17545
  `}
@@ -17562,6 +17561,8 @@ const InputWrapper$1 = styled.div `
17562
17561
  const StyledInput = styled.input `
17563
17562
  padding-left: ${({ $hasIcon }) => ($hasIcon ? '0' : '16px')};
17564
17563
  flex: 1;
17564
+ min-width: 150px;
17565
+ width: 100%;
17565
17566
  border: none;
17566
17567
  outline: none;
17567
17568
  background: none;
@@ -17578,8 +17579,8 @@ const StyledInput = styled.input `
17578
17579
  line-height: 22px; /* 157.143% */
17579
17580
  }
17580
17581
  &:disabled {
17581
- background-color: ${({ theme }) => theme.colors.border};
17582
17582
  cursor: not-allowed;
17583
+ opacity: 0.6;
17583
17584
  }
17584
17585
  &::-webkit-inner-spin-button,
17585
17586
  &::-webkit-outer-spin-button {
@@ -17628,7 +17629,7 @@ const Input = ({ icon: Icon, buttonLabel, onButtonClick, hasError, errorMessage,
17628
17629
  };
17629
17630
  return (React.createElement(Container$g, null,
17630
17631
  React.createElement(FieldLabel, { title: title, required: required, tooltip: tooltip }),
17631
- React.createElement(InputWrapper$1, { "$disabled": props.disabled, "$hasError": hasError || !!errorMessage, "$isActive": !!props.autoFocus },
17632
+ React.createElement(InputWrapper$2, { "$disabled": props.disabled, "$hasError": hasError || !!errorMessage, "$isActive": !!props.autoFocus },
17632
17633
  isSecret ? (React.createElement(IconWrapperClickable, { onClick: () => setRevealSecret((prev) => !prev) }, revealSecret ? React.createElement(EyeClosedIcon, { size: 14, fill: theme.text.grey }) : React.createElement(EyeOpenIcon, { size: 14, fill: theme.text.grey }))) : Icon ? (React.createElement(IconWrapper$2, null,
17633
17634
  React.createElement(Icon, { size: 14, fill: theme.text.grey }))) : null,
17634
17635
  React.createElement(StyledInput, { "data-id": name, type: revealSecret ? InputTypes.Text : type === InputTypes.Number ? InputTypes.Text : type, "$hasIcon": !!Icon || isSecret, name: name, value: value, onChange: handleInputChange, onKeyDown: handleKeyDown, ...props }),
@@ -17918,11 +17919,9 @@ const RowWrapper$1 = styled.div `
17918
17919
  align-items: center;
17919
17920
  gap: 16px;
17920
17921
  `;
17921
- const DeleteButton$2 = styled.button `
17922
- background: none;
17923
- border: none;
17924
- cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
17925
- opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};
17922
+ const ActionButton$2 = styled(IconButton) `
17923
+ cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};
17924
+ opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};
17926
17925
  `;
17927
17926
  const INITIAL_ROW$1 = '';
17928
17927
  const InputList = ({ initialValues = [], value, onChange, title, tooltip, required, errorMessage }) => {
@@ -17943,23 +17942,28 @@ const InputList = ({ initialValues = [], value, onChange, title, tooltip, requir
17943
17942
  onChange(validRows);
17944
17943
  }
17945
17944
  }, [validRows, onChange]);
17946
- const handleAddInput = () => {
17945
+ const handleChange = (val, idx) => {
17947
17946
  setRows((prev) => {
17948
17947
  const payload = [...prev];
17949
- payload.push(INITIAL_ROW$1);
17948
+ payload[idx] = val;
17950
17949
  return payload;
17951
17950
  });
17952
17951
  };
17953
- const handleDeleteInput = (idx) => {
17954
- setRows((prev) => prev.filter((_, i) => i !== idx));
17955
- };
17956
- const handleInputChange = (val, idx) => {
17952
+ const handleAdd = () => {
17957
17953
  setRows((prev) => {
17958
17954
  const payload = [...prev];
17959
- payload[idx] = val;
17955
+ payload.push(INITIAL_ROW$1);
17960
17956
  return payload;
17961
17957
  });
17962
17958
  };
17959
+ const handleDelete = (idx) => {
17960
+ if (isMinRows) {
17961
+ handleChange('', idx);
17962
+ }
17963
+ else {
17964
+ setRows((prev) => prev.filter((_, i) => i !== idx));
17965
+ }
17966
+ };
17963
17967
  // Check if any input field is empty
17964
17968
  const isMinRows = rows.length <= 1;
17965
17969
  const isAddButtonDisabled = rows.some((input) => input.trim() === '');
@@ -17969,19 +17973,13 @@ const InputList = ({ initialValues = [], value, onChange, title, tooltip, requir
17969
17973
  React.createElement(ListContainer$2, null, rows.map((val, idx) => {
17970
17974
  const isLast = idx === rows.length - 1;
17971
17975
  return (React.createElement(RowWrapper$1, { key: `input-list-${idx}` },
17972
- React.createElement(Input, { value: val, onChange: (e) => handleInputChange(e.target.value, idx), hasError: !!errorMessage, autoFocus: isEmpty(val) && !isMinRows && isLast }),
17973
- React.createElement(DeleteButton$2, { disabled: isDelButtonDisabled, onClick: () => {
17974
- if (isMinRows) {
17975
- handleInputChange('', idx);
17976
- }
17977
- else {
17978
- handleDeleteInput(idx);
17979
- }
17980
- } },
17976
+ React.createElement(Input, { value: val, onChange: (e) => handleChange(e.target.value, idx), hasError: !!errorMessage, autoFocus: isEmpty(val) && !isMinRows && isLast }),
17977
+ idx === rows.length - 1 && (React.createElement(ActionButton$2, { withBorder: true, size: 30, "$disabled": isAddButtonDisabled, onClick: isAddButtonDisabled ? undefined : () => handleAdd() },
17978
+ React.createElement(PlusIcon$1, null))),
17979
+ React.createElement(ActionButton$2, { size: 30, "$disabled": isDelButtonDisabled, onClick: isDelButtonDisabled ? undefined : () => handleDelete(idx) },
17981
17980
  React.createElement(TrashIcon, null))));
17982
17981
  })),
17983
- !!errorMessage && React.createElement(FieldError, null, errorMessage),
17984
- React.createElement(AddButton$1, { onClick: handleAddInput, disabled: isAddButtonDisabled })));
17982
+ !!errorMessage && React.createElement(FieldError, null, errorMessage)));
17985
17983
  };
17986
17984
 
17987
17985
  const ColumnsToFields = ({ col, colIdx, row, rowIdx, rowsLength, maxWidth, handleChange, errorMessage, limitFieldsPerRow }) => {
@@ -18010,7 +18008,7 @@ const Container$b = styled.div `
18010
18008
  flex-direction: column;
18011
18009
  width: 100%;
18012
18010
  `;
18013
- const DeleteButton$1 = styled.button `
18011
+ const DeleteButton = styled.button `
18014
18012
  margin-top: ${({ $marginTop }) => $marginTop};
18015
18013
  background: none;
18016
18014
  border: none;
@@ -18110,7 +18108,7 @@ const InputTable = ({ columns, initialValues = [], value, onChange, errorMessage
18110
18108
  matrixColumns.map((cols, colIdx) => (React.createElement("tr", { key: `input-table-matrix-${rowIdx}-${colIdx}` },
18111
18109
  cols.map((obj, colIdx) => (React.createElement(ColumnsToFields, { key: `input-table-row-${rowIdx}-col-${colIdx}`, col: obj, colIdx: colIdx, row: row, rowIdx: rowIdx, rowsLength: rows.length, maxWidth: maxWidth, limitFieldsPerRow: limitFieldsPerRow, errorMessage: errorMessage, handleChange: handleChange }))),
18112
18110
  colIdx === 0 && (React.createElement("td", null,
18113
- React.createElement(DeleteButton$1, { "$marginTop": limitFieldsPerRow ? '24px' : '0', onClick: () => handleDeleteRow(rowIdx) },
18111
+ React.createElement(DeleteButton, { "$marginTop": limitFieldsPerRow ? '24px' : '0', onClick: () => handleDeleteRow(rowIdx) },
18114
18112
  React.createElement(TrashIcon, null)))))))))))),
18115
18113
  !!errorMessage && React.createElement(FieldError, null, errorMessage),
18116
18114
  React.createElement(AddButton$1, { onClick: handleAddRow, disabled: isAddButtonDisabled })));
@@ -18129,21 +18127,21 @@ const ListContainer$1 = styled.div `
18129
18127
  const RowWrapper = styled.div `
18130
18128
  display: flex;
18131
18129
  align-items: center;
18132
- gap: 16px;
18130
+ gap: 8px;
18133
18131
  `;
18134
- const DeleteButton = styled.button `
18135
- background: none;
18136
- border: none;
18137
- cursor: pointer;
18138
- cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
18139
- opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};
18132
+ const InputWrapper$1 = styled.div `
18133
+ width: 100%;
18134
+ max-width: ${({ $maxWidth }) => ($maxWidth ? `${$maxWidth}px` : 'unset')};
18135
+ `;
18136
+ const ActionButton$1 = styled(IconButton) `
18137
+ cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};
18138
+ opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};
18140
18139
  `;
18141
18140
  const INITIAL_ROW = {
18142
18141
  key: '',
18143
18142
  value: '',
18144
18143
  };
18145
- const KeyValueInputsList = ({ initialKeyValuePairs = [], value, onChange, title, tooltip, required, errorMessage, keyPlaceholder = 'Attribute name', valuePlaceholder = 'Attribute value' }) => {
18146
- const theme = Theme.useTheme();
18144
+ const KeyValueInputsList = ({ initialKeyValuePairs = [], value, onChange, title, tooltip, disabled, required, errorMessage, keyPlaceholder = 'Key', valuePlaceholder = 'Value', inputMaxWidth = 300, }) => {
18147
18145
  const [rows, setRows] = useState(value || initialKeyValuePairs);
18148
18146
  useEffect(() => {
18149
18147
  if (!rows.length)
@@ -18161,46 +18159,45 @@ const KeyValueInputsList = ({ initialKeyValuePairs = [], value, onChange, title,
18161
18159
  onChange(validRows);
18162
18160
  }
18163
18161
  }, [validRows, onChange]);
18164
- const handleAddRow = () => {
18162
+ const handleChange = (key, val, idx) => {
18165
18163
  setRows((prev) => {
18166
18164
  const payload = [...prev];
18167
- payload.push({ ...INITIAL_ROW });
18165
+ payload[idx][key] = val;
18168
18166
  return payload;
18169
18167
  });
18170
18168
  };
18171
- const handleDeleteRow = (idx) => {
18172
- setRows((prev) => prev.filter((_, i) => i !== idx));
18173
- };
18174
- const handleChange = (key, val, idx) => {
18169
+ const handleAddRow = () => {
18175
18170
  setRows((prev) => {
18176
18171
  const payload = [...prev];
18177
- payload[idx][key] = val;
18172
+ payload.push({ ...INITIAL_ROW });
18178
18173
  return payload;
18179
18174
  });
18180
18175
  };
18176
+ const handleDeleteRow = (idx) => {
18177
+ if (isMinRows) {
18178
+ handleChange('key', '', idx);
18179
+ handleChange('value', '', idx);
18180
+ }
18181
+ else {
18182
+ setRows((prev) => prev.filter((_, i) => i !== idx));
18183
+ }
18184
+ };
18181
18185
  // Check if any key or value field is empty
18182
18186
  const isMinRows = rows.length <= 1;
18183
- const isAddButtonDisabled = rows.some(({ key, value }) => key.trim() === '' || value.trim() === '');
18184
- const isDelButtonDisabled = isMinRows && isAddButtonDisabled;
18187
+ const isAddButtonDisabled = disabled || rows.some(({ key, value }) => key.trim() === '' || value.trim() === '');
18188
+ const isDelButtonDisabled = disabled || (isMinRows && isAddButtonDisabled);
18185
18189
  return (React.createElement(Container$a, null,
18186
18190
  React.createElement(FieldLabel, { title: title, required: required, tooltip: tooltip }),
18187
18191
  React.createElement(ListContainer$1, null, rows.map(({ key, value }, idx) => (React.createElement(RowWrapper, { key: `key-value-input-list-${idx}` },
18188
- React.createElement(Input, { placeholder: keyPlaceholder, value: key, onChange: (e) => handleChange('key', e.target.value, idx), hasError: !!errorMessage && (!required || (required && !key)), autoFocus: isEmpty(value) && !isMinRows && idx === rows.length - 1 }),
18189
- React.createElement("div", null,
18190
- React.createElement(ArrowIcon, { rotate: 180, fill: theme.text.darker_grey })),
18191
- React.createElement(Input, { placeholder: valuePlaceholder, value: value, onChange: (e) => handleChange('value', e.target.value, idx), hasError: !!errorMessage && (!required || (required && isEmpty(value))), autoFocus: false }),
18192
- React.createElement(DeleteButton, { disabled: isDelButtonDisabled, onClick: () => {
18193
- if (isMinRows) {
18194
- handleChange('key', '', idx);
18195
- handleChange('value', '', idx);
18196
- }
18197
- else {
18198
- handleDeleteRow(idx);
18199
- }
18200
- } },
18192
+ React.createElement(InputWrapper$1, { "$maxWidth": inputMaxWidth },
18193
+ React.createElement(Input, { placeholder: keyPlaceholder, disabled: disabled, value: key, onChange: (e) => handleChange('key', e.target.value, idx), hasError: !!errorMessage && (!required || (required && !key)), autoFocus: isEmpty(value) && !isMinRows && idx === rows.length - 1 })),
18194
+ React.createElement(InputWrapper$1, { "$maxWidth": idx === rows.length - 1 ? inputMaxWidth - 38 : inputMaxWidth },
18195
+ React.createElement(Input, { placeholder: valuePlaceholder, disabled: disabled, value: value, onChange: (e) => handleChange('value', e.target.value, idx), hasError: !!errorMessage && (!required || (required && isEmpty(value))), autoFocus: false })),
18196
+ idx === rows.length - 1 && (React.createElement(ActionButton$1, { withBorder: true, size: 30, "$disabled": isAddButtonDisabled, onClick: isAddButtonDisabled ? undefined : () => handleAddRow() },
18197
+ React.createElement(PlusIcon$1, null))),
18198
+ React.createElement(ActionButton$1, { size: 30, "$disabled": isDelButtonDisabled, onClick: isDelButtonDisabled ? undefined : () => handleDeleteRow(idx) },
18201
18199
  React.createElement(TrashIcon, null)))))),
18202
- !!errorMessage && React.createElement(FieldError, null, errorMessage),
18203
- React.createElement(AddButton$1, { onClick: handleAddRow, disabled: isAddButtonDisabled })));
18200
+ !!errorMessage && React.createElement(FieldError, null, errorMessage)));
18204
18201
  };
18205
18202
 
18206
18203
  const Container$9 = styled.div `
@@ -18849,8 +18846,7 @@ const Toggle = ({ title, tooltip, initialValue = false, onChange, disabled, allo
18849
18846
  };
18850
18847
  return (React.createElement(Container$2, { "$disabled": disabled, onClick: handleToggle },
18851
18848
  !flipHorizontally && React.createElement(ToggleSwitch, { "$disabled": disabled, "$isActive": isActive }),
18852
- React.createElement(Tooltip, { text: tooltip, withIcon: true },
18853
- React.createElement(Text, { size: 14 }, title)),
18849
+ (title || tooltip) && (React.createElement(Tooltip, { text: tooltip, withIcon: true }, title && React.createElement(Text, { size: 14 }, title))),
18854
18850
  flipHorizontally && React.createElement(ToggleSwitch, { "$disabled": disabled, "$isActive": isActive })));
18855
18851
  };
18856
18852
 
@@ -0,0 +1,2 @@
1
+ import { type OdigosConfig } from '@/types';
2
+ export declare const MOCK_ODIGOS_CONFIG: OdigosConfig;
@@ -1,4 +1,5 @@
1
1
  export * from './actions';
2
+ export * from './config';
2
3
  export * from './describe';
3
4
  export * from './destinations';
4
5
  export * from './instrumentation-rules';
package/lib/snippets.js CHANGED
@@ -1,15 +1,15 @@
1
- import { B as Button, _ as Text, L as NotificationNote } from './index-61caa474.js';
2
- export { ai as AddButton, an as AddNode, ao as BaseNode, ak as CopyText, ap as EdgedNode, ag as Flow, aq as FrameNode, ar as HeaderNode, aw as LabeledEdge, as as MapItemNode, at as NoDataNode, al as PodContainer, au as ScrollNode, av as SkeletonNode, am as SourceContainer, ad as nodeConfig } from './index-61caa474.js';
1
+ import { B as Button, _ as Text, L as NotificationNote } from './index-f2da9ad4.js';
2
+ export { ai as AddButton, an as AddNode, ao as BaseNode, ak as CopyText, ap as EdgedNode, ag as Flow, aq as FrameNode, ar as HeaderNode, aw as LabeledEdge, as as MapItemNode, at as NoDataNode, al as PodContainer, au as ScrollNode, av as SkeletonNode, am as SourceContainer, ad as nodeConfig } from './index-f2da9ad4.js';
3
3
  import React from 'react';
4
4
  import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-bd48e6e2.js';
5
- import { E as EditIcon } from './index-1fcb0269.js';
5
+ import { E as EditIcon } from './index-391844c6.js';
6
6
  import { StatusType } from './types.js';
7
7
  import 'styled-components';
8
8
  import { I as InfoIcon } from './index-50101bec.js';
9
+ import './index-5e5f7bda.js';
9
10
  import './index-58440c5c.js';
10
- import './index-ec555530.js';
11
11
  import 'react-dom';
12
- import './useTransition-750816e0.js';
12
+ import './useTransition-c2aef0e4.js';
13
13
 
14
14
  const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
15
15
  const theme = Theme.useTheme();
@@ -0,0 +1,89 @@
1
+ import { ProgrammingLanguages } from '..';
2
+ export declare enum UiMode {
3
+ Default = "default",
4
+ ReadOnly = "readonly"
5
+ }
6
+ export declare enum Profile {
7
+ CodeAttributes = "code-attributes",
8
+ FullPayloadCollection = "full-payload-collection",
9
+ DbPayloadCollection = "db-payload-collection",
10
+ QueryOperationDetector = "query-operation-detector",
11
+ AllowConcurrentAgents = "allow_concurrent_agents",
12
+ JavaEbpfInstrumentations = "java-ebpf-instrumentations",
13
+ JavaNativeInstrumentations = "java-native-instrumentations",
14
+ SizeS = "size_s",
15
+ SizeM = "size_m",
16
+ SizeL = "size_l"
17
+ }
18
+ export declare enum MountMethod {
19
+ VirtualDevice = "VirtualDevice",
20
+ HostPath = "HostPath"
21
+ }
22
+ export declare enum AgentEnvVarsInjectionMethod {
23
+ Loader = "loader",
24
+ PodManifest = "pod-manifest",
25
+ LoaderFallbackToPodManifest = "loader-fallback-to-pod-manifest"
26
+ }
27
+ export interface CollectorNode {
28
+ collectorOwnMetricsPort: number;
29
+ requestMemoryMiB: number;
30
+ limitMemoryMiB: number;
31
+ requestCPUm: number;
32
+ limitCPUm: number;
33
+ memoryLimiterLimitMiB: number;
34
+ memoryLimiterSpikeLimitMiB: number;
35
+ goMemLimitMiB: number;
36
+ k8sNodeLogsDirectory: string;
37
+ }
38
+ export interface CollectorGateway extends Omit<CollectorNode, 'collectorOwnMetricsPort' | 'k8sNodeLogsDirectory'> {
39
+ minReplicas: number;
40
+ maxReplicas: number;
41
+ }
42
+ export interface UserInstrumentationEnvsLanguage {
43
+ enabled: boolean;
44
+ env: {
45
+ [key: string]: string;
46
+ };
47
+ }
48
+ export interface UserInstrumentationEnvs {
49
+ languages: {
50
+ [key in ProgrammingLanguages]?: UserInstrumentationEnvsLanguage;
51
+ };
52
+ }
53
+ export interface RolloutConfiguration {
54
+ automaticRolloutDisabled: boolean;
55
+ }
56
+ export interface OidcConfiguration {
57
+ tenantUrl: string;
58
+ clientId: string;
59
+ clientSecret: string;
60
+ }
61
+ export interface OdigosConfig {
62
+ telemetryEnabled: boolean;
63
+ openshiftEnabled: boolean;
64
+ karpenterEnabled: boolean;
65
+ psp: boolean;
66
+ allowConcurrentAgents: boolean;
67
+ skipWebhookIssuerCreation: boolean;
68
+ uiMode: UiMode;
69
+ uiPaginationLimit: number;
70
+ centralBackendURL: string;
71
+ oidc?: OidcConfiguration;
72
+ clusterName: string;
73
+ imagePrefix: string;
74
+ ignoredNamespaces: string[];
75
+ ignoredContainers: string[];
76
+ profiles: Profile[];
77
+ mountMethod: MountMethod;
78
+ agentEnvVarsInjectionMethod: AgentEnvVarsInjectionMethod;
79
+ customContainerRuntimeSocketPath: string;
80
+ odigletHealthProbeBindPort: number;
81
+ rollbackDisabled: boolean;
82
+ rollbackGraceTime: string;
83
+ rollbackStabilityWindow: string;
84
+ nodeSelector?: Record<string, string>;
85
+ rollout?: RolloutConfiguration;
86
+ collectorNode?: CollectorNode;
87
+ collectorGateway?: CollectorGateway;
88
+ userInstrumentationEnvs?: UserInstrumentationEnvs;
89
+ }
@@ -1,5 +1,6 @@
1
1
  export * from './actions';
2
2
  export * from './common';
3
+ export * from './config';
3
4
  export * from './connection';
4
5
  export * from './data-flow';
5
6
  export * from './data-streams';
package/lib/types.js CHANGED
@@ -178,6 +178,48 @@ var SortDirection;
178
178
  SortDirection["Descending"] = "desc";
179
179
  })(SortDirection || (SortDirection = {}));
180
180
 
181
+ var UiMode;
182
+ (function (UiMode) {
183
+ UiMode["Default"] = "default";
184
+ UiMode["ReadOnly"] = "readonly";
185
+ })(UiMode || (UiMode = {}));
186
+ var Profile;
187
+ (function (Profile) {
188
+ // CategoryAttributes = 'category-attributes',
189
+ Profile["CodeAttributes"] = "code-attributes";
190
+ // CopyScope = 'copy-scope',
191
+ // HostnameAsPodname = 'hostname-as-podname',
192
+ Profile["FullPayloadCollection"] = "full-payload-collection";
193
+ Profile["DbPayloadCollection"] = "db-payload-collection";
194
+ Profile["QueryOperationDetector"] = "query-operation-detector";
195
+ // Semconv = 'semconv',
196
+ // ReduceSpanNameCardinality = 'reduce-span-name-cardinality',
197
+ Profile["AllowConcurrentAgents"] = "allow_concurrent_agents";
198
+ Profile["JavaEbpfInstrumentations"] = "java-ebpf-instrumentations";
199
+ Profile["JavaNativeInstrumentations"] = "java-native-instrumentations";
200
+ // LegacyDotnetInstrumentation = 'legacy-dotnet-instrumentation',
201
+ // MountMethodK8sHostPath = 'mount-method-k8s-host-path',
202
+ // MountMethodK8sVirtualDevice = 'mount-method-k8s-virtual-device',
203
+ // PodManifestEnvVarInjection = 'pod-manifest-env-var-injection',
204
+ // DisableGin = 'disable-gin',
205
+ // SmallBatches = 'small-batches',
206
+ Profile["SizeS"] = "size_s";
207
+ Profile["SizeM"] = "size_m";
208
+ Profile["SizeL"] = "size_l";
209
+ })(Profile || (Profile = {}));
210
+ var MountMethod;
211
+ (function (MountMethod) {
212
+ MountMethod["VirtualDevice"] = "VirtualDevice";
213
+ MountMethod["HostPath"] = "HostPath";
214
+ // InitContainer = 'InitContainer',
215
+ })(MountMethod || (MountMethod = {}));
216
+ var AgentEnvVarsInjectionMethod;
217
+ (function (AgentEnvVarsInjectionMethod) {
218
+ AgentEnvVarsInjectionMethod["Loader"] = "loader";
219
+ AgentEnvVarsInjectionMethod["PodManifest"] = "pod-manifest";
220
+ AgentEnvVarsInjectionMethod["LoaderFallbackToPodManifest"] = "loader-fallback-to-pod-manifest";
221
+ })(AgentEnvVarsInjectionMethod || (AgentEnvVarsInjectionMethod = {}));
222
+
181
223
  var NodeTypes;
182
224
  (function (NodeTypes) {
183
225
  NodeTypes["Header"] = "header";
@@ -321,4 +363,4 @@ var K8sResourceKind;
321
363
  K8sResourceKind["CronJob"] = "CronJob";
322
364
  })(K8sResourceKind || (K8sResourceKind = {}));
323
365
 
324
- export { ActionCategory, ActionKeyTypes, ActionType, AddNodeTypes, BooleanOperation, CodeAttributesKeyTypes, Crud, CustomInstrumentationsKeyTypes, DestinationTypes, EdgeTypes, EntityTypes, FieldTypes, HeadersCollectionKeyTypes, InputTypes, InstrumentationRuleType, IntrumentationStatus, JsonOperation, K8sResourceKind, NodeTypes, NumberOperation, OtherEntityTypes, OtherStatus, PayloadCollectionKeyTypes, PlatformType, ProgrammingLanguages, SignalType, SortDirection, StatusType, StringOperation, Tier };
366
+ export { ActionCategory, ActionKeyTypes, ActionType, AddNodeTypes, AgentEnvVarsInjectionMethod, BooleanOperation, CodeAttributesKeyTypes, Crud, CustomInstrumentationsKeyTypes, DestinationTypes, EdgeTypes, EntityTypes, FieldTypes, HeadersCollectionKeyTypes, InputTypes, InstrumentationRuleType, IntrumentationStatus, JsonOperation, K8sResourceKind, MountMethod, NodeTypes, NumberOperation, OtherEntityTypes, OtherStatus, PayloadCollectionKeyTypes, PlatformType, Profile, ProgrammingLanguages, SignalType, SortDirection, StatusType, StringOperation, Tier, UiMode };