@prorobotech/openapi-k8s-toolkit 1.4.0-alpha.8 → 1.5.0-alpha.1

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 (115) hide show
  1. package/dist/{index-DGEm7Wqt.mjs → index-BFIWg9xn.mjs} +3515 -857
  2. package/dist/index-BFIWg9xn.mjs.map +1 -0
  3. package/dist/{index-DPPcb4Gw.mjs → index-_9cT8fBl.mjs} +29 -3
  4. package/dist/index-_9cT8fBl.mjs.map +1 -0
  5. package/dist/openapi-k8s-toolkit.es.js +1 -1
  6. package/dist/openapi-k8s-toolkit.umd.js +3543 -852
  7. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  8. package/dist/types/api/bff/search/getKindsRaw.d.ts +4 -0
  9. package/dist/types/components/atoms/ErrorBoundary/ErrorBoundary.d.ts +38 -0
  10. package/dist/types/components/atoms/ErrorBoundary/ErrorBoundary.test.d.ts +1 -0
  11. package/dist/types/components/atoms/ErrorBoundary/ErrorBoundaryWithDataReset.d.ts +14 -0
  12. package/dist/types/components/atoms/ErrorBoundary/index.d.ts +2 -0
  13. package/dist/types/components/atoms/index.d.ts +1 -0
  14. package/dist/types/components/molecules/BlackholeForm/molecules/FormObjectFromSwagger/FormObjectFromSwagger.test.d.ts +1 -0
  15. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/prefills.d.ts +6 -3
  16. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeFormProvider/BlackholeFormProvider.d.ts +1 -0
  17. package/dist/types/components/molecules/EnrichedTable/index.d.ts +2 -2
  18. package/dist/types/components/molecules/EnrichedTable/organisms/ClusterListTable/ClusterListTable.d.ts +27 -0
  19. package/dist/types/components/molecules/EnrichedTable/organisms/ClusterListTable/ClusterListTable.test.d.ts +1 -0
  20. package/dist/types/components/molecules/EnrichedTable/organisms/ClusterListTable/index.d.ts +2 -0
  21. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/EnrichedTable.d.ts +11 -6
  22. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/EnrichedTable.test.d.ts +1 -0
  23. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/TrimmedTags/styled.d.ts +851 -0
  24. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/utils.d.ts +10 -8
  25. package/dist/types/components/molecules/EnrichedTable/organisms/index.d.ts +2 -0
  26. package/dist/types/components/molecules/Events/Events.error.test.d.ts +2 -0
  27. package/dist/types/components/molecules/Events/types.d.ts +12 -1
  28. package/dist/types/components/molecules/YamlEditorSingleton/utils.d.ts +7 -0
  29. package/dist/types/components/molecules/YamlEditorSingleton/utils.test.d.ts +1 -0
  30. package/dist/types/components/molecules/index.d.ts +2 -2
  31. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/ActionsDropdown.test.d.ts +1 -0
  32. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/dropdownPlacement.d.ts +12 -0
  33. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/dropdownPlacement.test.d.ts +1 -0
  34. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/actionHandlers.d.ts +23 -0
  35. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/index.d.ts +6 -0
  36. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useCreateFromFilesHandlers.d.ts +11 -0
  37. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useDrainHandlers.d.ts +12 -0
  38. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useEvictHandlers.d.ts +9 -0
  39. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useRerunHandlers.d.ts +11 -0
  40. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useRollbackHandlers.d.ts +11 -0
  41. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/handlers/useScaleHandlers.d.ts +11 -0
  42. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/helpers.d.ts +25 -0
  43. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/index.d.ts +3 -0
  44. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/types.d.ts +65 -0
  45. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers/useActionsDropdownHandlers.d.ts +38 -0
  46. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownPermissions.d.ts +2 -3
  47. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/CreateFromFilesModal.d.ts +12 -0
  48. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/CreateFromFilesModal.test.d.ts +1 -0
  49. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/DownloadAsFilesModal.d.ts +11 -0
  50. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/DownloadAsFilesModal.test.d.ts +1 -0
  51. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/ScaleModal.d.ts +10 -0
  52. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/permissionsMap.d.ts +7 -0
  53. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/utils.d.ts +9 -7
  54. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/AntdResult.d.ts +6 -0
  55. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/AntdResult.test.d.ts +1 -0
  56. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/index.d.ts +1 -0
  57. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/styled.d.ts +548 -0
  58. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/utils.d.ts +33 -0
  59. package/dist/types/components/organisms/DynamicComponents/molecules/AntdResult/utils.test.d.ts +1 -0
  60. package/dist/types/components/organisms/DynamicComponents/molecules/EnrichedTable/EnrichedTable.error.test.d.ts +1 -0
  61. package/dist/types/components/organisms/DynamicComponents/molecules/Events/Events.permissions.test.d.ts +2 -0
  62. package/dist/types/components/organisms/DynamicComponents/molecules/LabelsToSearchParams/utils.d.ts +6 -0
  63. package/dist/types/components/organisms/DynamicComponents/molecules/MappedParsedText/MappedParsedText.d.ts +5 -0
  64. package/dist/types/components/organisms/DynamicComponents/molecules/MappedParsedText/index.d.ts +1 -0
  65. package/dist/types/components/organisms/DynamicComponents/molecules/ParsedText/ParsedText.test.d.ts +1 -0
  66. package/dist/types/components/organisms/DynamicComponents/molecules/PerRequestError/PerRequestError.d.ts +7 -0
  67. package/dist/types/components/organisms/DynamicComponents/molecules/PerRequestError/PerRequestError.test.d.ts +1 -0
  68. package/dist/types/components/organisms/DynamicComponents/molecules/PerRequestError/index.d.ts +1 -0
  69. package/dist/types/components/organisms/DynamicComponents/molecules/SecretBase64Plain/styled.d.ts +1 -0
  70. package/dist/types/components/organisms/DynamicComponents/molecules/SecretBase64Plain/utils.d.ts +2 -0
  71. package/dist/types/components/organisms/DynamicComponents/molecules/SecretBase64Plain/utils.test.d.ts +1 -0
  72. package/dist/types/components/organisms/DynamicComponents/molecules/Volumes/Volumes.d.ts +6 -0
  73. package/dist/types/components/organisms/DynamicComponents/molecules/Volumes/Volumes.test.d.ts +1 -0
  74. package/dist/types/components/organisms/DynamicComponents/molecules/Volumes/index.d.ts +1 -0
  75. package/dist/types/components/organisms/DynamicComponents/molecules/Volumes/utils.d.ts +46 -0
  76. package/dist/types/components/organisms/DynamicComponents/molecules/hooks/index.d.ts +1 -0
  77. package/dist/types/components/organisms/DynamicComponents/molecules/hooks/mergePerRequestErrors.d.ts +10 -0
  78. package/dist/types/components/organisms/DynamicComponents/molecules/hooks/types.d.ts +5 -0
  79. package/dist/types/components/organisms/DynamicComponents/molecules/hooks/useAutoPerRequestError.d.ts +15 -0
  80. package/dist/types/components/organisms/DynamicComponents/molecules/hooks/useAutoPerRequestError.test.d.ts +1 -0
  81. package/dist/types/components/organisms/DynamicComponents/molecules/index.d.ts +3 -0
  82. package/dist/types/components/organisms/DynamicComponents/molecules/utils.d.ts +19 -0
  83. package/dist/types/components/organisms/DynamicComponents/types/ActionsDropdown.d.ts +79 -17
  84. package/dist/types/components/organisms/DynamicComponents/types/LabelsToSearchParams.d.ts +1 -0
  85. package/dist/types/components/organisms/DynamicComponents/types/MappedParsedText.d.ts +7 -0
  86. package/dist/types/components/organisms/DynamicComponents/types/SecretBase64Plain.d.ts +10 -0
  87. package/dist/types/components/organisms/DynamicComponents/types/Volumes.d.ts +19 -0
  88. package/dist/types/components/organisms/DynamicComponents/types/antdComponents.d.ts +22 -1
  89. package/dist/types/components/organisms/DynamicComponents/types/index.d.ts +6 -1
  90. package/dist/types/components/organisms/DynamicComponents/types/parsedText.d.ts +1 -0
  91. package/dist/types/components/organisms/DynamicRendererWithProviders/DynamicRendererWithProviders.d.ts +2 -0
  92. package/dist/types/components/organisms/DynamicRendererWithProviders/EffectiveAntdResultWrapper/EffectiveAntdResultWrapper.d.ts +8 -0
  93. package/dist/types/components/organisms/DynamicRendererWithProviders/EffectiveAntdResultWrapper/EffectiveAntdResultWrapper.test.d.ts +1 -0
  94. package/dist/types/components/organisms/DynamicRendererWithProviders/EffectiveAntdResultWrapper/index.d.ts +1 -0
  95. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/hybridDataProvider/hybridDataProvider.d.ts +4 -0
  96. package/dist/types/hooks/useApiResource.d.ts +2 -1
  97. package/dist/types/hooks/useApisResourceTypes.d.ts +4 -2
  98. package/dist/types/hooks/useBuiltinResource.d.ts +2 -1
  99. package/dist/types/hooks/useBuiltinResourceTypes.d.ts +2 -1
  100. package/dist/types/hooks/useClusterList.d.ts +6 -3
  101. package/dist/types/hooks/useDirectUnknownResource.d.ts +2 -1
  102. package/dist/types/hooks/useK8sSmartResource/useSmartResourceParams.d.ts +3 -2
  103. package/dist/types/hooks/useKindsRaw.d.ts +8 -0
  104. package/dist/types/hooks/useListThenWatch/types.d.ts +2 -0
  105. package/dist/types/hooks/useResourceScope/useResourceScope.d.ts +2 -1
  106. package/dist/types/index.d.ts +2 -1
  107. package/dist/types/localTypes/bff/form.d.ts +2 -0
  108. package/dist/types/localTypes/bff/table.d.ts +2 -1
  109. package/dist/types/localTypes/clusterList.d.ts +3 -2
  110. package/dist/types/localTypes/dynamicRender.d.ts +5 -0
  111. package/dist/types/localTypes/richTable.d.ts +4 -0
  112. package/package.json +5 -5
  113. package/dist/index-DGEm7Wqt.mjs.map +0 -1
  114. package/dist/index-DPPcb4Gw.mjs.map +0 -1
  115. package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/hooks/useActionsDropdownHandlers.d.ts +0 -45
@@ -0,0 +1 @@
1
+ export { PerRequestError } from './PerRequestError';
@@ -277,6 +277,7 @@ export declare const Styled: {
277
277
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
278
278
  }>;
279
279
  DisabledInput: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("antd").InputProps & import("react").RefAttributes<import("antd").InputRef>, TDisabledInputProps>>;
280
+ DisabledTextArea: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("antd/es/input").TextAreaProps & import("react").RefAttributes<import("antd/es/input/TextArea").TextAreaRef>, TDisabledInputProps>>;
280
281
  NotificationOverrides: import("react").NamedExoticComponent<import("styled-components").ExecutionProps & object>;
281
282
  };
282
283
  export {};
@@ -0,0 +1,2 @@
1
+ export declare const decodeIfBase64: (value: string, shouldDecode: boolean) => string;
2
+ export declare const resolveMultilineRows: (value: string, multilineRows?: number) => number;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import { TDynamicComponentsAppTypeMap } from '../../types';
3
+ export declare const Volumes: FC<{
4
+ data: TDynamicComponentsAppTypeMap['Volumes'];
5
+ children?: any;
6
+ }>;
@@ -0,0 +1 @@
1
+ export { Volumes } from './Volumes';
@@ -0,0 +1,46 @@
1
+ import { TAdditionalPrinterColumnsKeyTypeProps } from '../../../../../localTypes/richTable';
2
+ export declare const ellipsisStyle: {
3
+ display: string;
4
+ overflow: string;
5
+ textOverflow: string;
6
+ whiteSpace: "nowrap";
7
+ verticalAlign: "bottom";
8
+ };
9
+ export type TVolumeTypeMeta = {
10
+ typeResource: string;
11
+ typeKey: string;
12
+ typeName: string;
13
+ };
14
+ export declare const getVolumeTypeMetas: (volumeName: string, volumesMap: Record<string, any>) => TVolumeTypeMeta[];
15
+ export declare const buildCustomColumns: (containerFactoryKey?: string) => TAdditionalPrinterColumnsKeyTypeProps;
16
+ export type TLinkableVolumeTypeKey = 'configMap' | 'secret' | 'persistentVolumeClaim';
17
+ export declare const isLinkableVolumeTypeKey: (typeKey: string) => typeKey is TLinkableVolumeTypeKey;
18
+ export declare const isPendingLinkSegment: (value?: string) => boolean;
19
+ export declare const getVolumeFactoryKey: ({ apiGroup, apiVersion, resource, namespace, baseFactoriesMapping, baseFactoryNamespacedAPIKey, baseFactoryClusterSceopedAPIKey, baseFactoryNamespacedBuiltinKey, baseFactoryClusterSceopedBuiltinKey, }: {
20
+ resource: string;
21
+ apiGroup?: string | undefined;
22
+ apiVersion: string;
23
+ namespace?: string | undefined;
24
+ baseFactoriesMapping?: Record<string, string> | undefined;
25
+ baseFactoryNamespacedAPIKey: string;
26
+ baseFactoryClusterSceopedAPIKey: string;
27
+ baseFactoryNamespacedBuiltinKey: string;
28
+ baseFactoryClusterSceopedBuiltinKey: string;
29
+ }) => string;
30
+ export declare const getVolumeResourceLinkPrefix: ({ baseprefix, cluster, namespace, apiGroupVersion, pluralName, baseFactoryNamespacedAPIKey, baseFactoryClusterSceopedAPIKey, baseFactoryNamespacedBuiltinKey, baseFactoryClusterSceopedBuiltinKey, baseFactoriesMapping, }: {
31
+ baseprefix?: string | undefined;
32
+ cluster: string;
33
+ namespace?: string | undefined;
34
+ apiGroupVersion: string;
35
+ pluralName: string;
36
+ baseFactoryNamespacedAPIKey: string;
37
+ baseFactoryClusterSceopedAPIKey: string;
38
+ baseFactoryNamespacedBuiltinKey: string;
39
+ baseFactoryClusterSceopedBuiltinKey: string;
40
+ baseFactoriesMapping?: Record<string, string> | undefined;
41
+ }) => string;
42
+ export declare const getVolumeTypeHref: ({ typeKey, typeName, resourceLinkPrefixes, }: {
43
+ typeKey: string;
44
+ typeName: string;
45
+ resourceLinkPrefixes?: Partial<Record<TLinkableVolumeTypeKey, string>> | undefined;
46
+ }) => string;
@@ -0,0 +1 @@
1
+ export { useAutoPerRequestError } from './useAutoPerRequestError';
@@ -0,0 +1,10 @@
1
+ import { TPerRequestErrorResult } from './types';
2
+ /**
3
+ * Merges the result of useAutoPerRequestError with additional
4
+ * nested req index checks (e.g. labelSelectorFull.reqIndex,
5
+ * additionalReqsDataToEachItem).
6
+ *
7
+ * Use this when a component accesses multiQueryData via nested reqIndex
8
+ * fields that useAutoPerRequestError cannot auto-detect.
9
+ */
10
+ export declare const mergePerRequestErrors: (autoResult: TPerRequestErrorResult, hasErrorForReq: (idx: number) => boolean, nestedReqIndices: (number | undefined)[]) => TPerRequestErrorResult;
@@ -0,0 +1,5 @@
1
+ import { AxiosError } from 'axios';
2
+ export type TPerRequestErrorResult = {
3
+ shouldShowError: boolean;
4
+ errorToShow: AxiosError | Error | string | null;
5
+ };
@@ -0,0 +1,15 @@
1
+ import { TPerRequestErrorResult } from './types';
2
+ /**
3
+ * Auto-detects which requests a component depends on
4
+ * by scanning template strings in its `data` props for
5
+ * {reqs[N]...} and {reqsJsonPath[N]...} patterns.
6
+ *
7
+ * Also picks up an explicit `data.reqIndex` prop (used by
8
+ * direct-access components like Labels, Annotations, etc.).
9
+ *
10
+ * If no req references are found (layout components like antdFlex,
11
+ * or programmatically rendered components like ConverterBytes inside
12
+ * UsageGraphCard), returns no error — the component does not consume
13
+ * multiQuery data, so multiQuery errors are irrelevant to it.
14
+ */
15
+ export declare const useAutoPerRequestError: (data: Record<string, unknown>) => TPerRequestErrorResult;
@@ -10,6 +10,7 @@ export { AntdIcons } from './AntdIcons';
10
10
  export { PartsOfUrl } from './PartsOfUrl';
11
11
  export { MultiQuery } from './MultiQuery';
12
12
  export { ParsedText } from './ParsedText';
13
+ export { MappedParsedText } from './MappedParsedText';
13
14
  export { ProjectInfoCard } from './ProjectInfoCard';
14
15
  export { MarketplaceCard } from './MarketplaceCard';
15
16
  export { ContentCard } from './ContentCard';
@@ -48,3 +49,5 @@ export { AggregatedCounterCard } from './AggregatedCounterCard';
48
49
  export { Base64Icon } from './Base64Icon';
49
50
  export { UsageGraphCard } from './UsageGraphCard';
50
51
  export { ActionsDropdown } from './ActionsDropdown';
52
+ export { Volumes } from './Volumes';
53
+ export { AntdResult } from './AntdResult';
@@ -1,3 +1,22 @@
1
+ /** Parse a string reqIndex (from YAML config) to a number, or return undefined if absent/invalid */
2
+ export declare const parseReqIndex: (reqIndex: string | number | undefined) => number | undefined;
3
+ /**
4
+ * Scans a template string for {reqs[N]...} and {reqsJsonPath[N]...} patterns
5
+ * and returns the deduplicated set of req indices referenced.
6
+ *
7
+ * Handles nested/recursive cases like:
8
+ * {reqsJsonPath[0]['.items.{reqsJsonPath[1][".index"]}.name']}
9
+ * → returns [0, 1]
10
+ */
11
+ export declare const extractReqIndices: (text: string) => number[];
12
+ /**
13
+ * Recursively scans all string values in a component's `data` object
14
+ * and collects req indices from template expressions.
15
+ *
16
+ * Traverses nested objects and arrays to find template strings
17
+ * at any depth (e.g. data.actions[].props.endpoint, data.values[]).
18
+ */
19
+ export declare const extractReqIndicesFromData: (data: Record<string, unknown>) => number[];
1
20
  export declare const parsePartsOfUrl: ({ template, replaceValues, }: {
2
21
  template: string;
3
22
  replaceValues: Record<string, string | undefined>;
@@ -11,6 +11,13 @@ export type TActionVisibility = {
11
11
  criteria: TActionVisibilityCriteria;
12
12
  valueToCompare?: string | string[];
13
13
  };
14
+ export type TPermissionContext = {
15
+ cluster: string;
16
+ namespace?: string;
17
+ apiGroup?: string;
18
+ plural: string;
19
+ subresource?: string;
20
+ };
14
21
  export type TActionBaseProps = {
15
22
  icon?: TAntIconName;
16
23
  iconBase64Encoded?: string;
@@ -19,6 +26,7 @@ export type TActionBaseProps = {
19
26
  tooltip?: string;
20
27
  danger?: boolean;
21
28
  visibleWhen?: TActionVisibility;
29
+ permissionContext?: TPermissionContext;
22
30
  };
23
31
  export type TEditActionProps = TActionBaseProps & {
24
32
  cluster: string;
@@ -63,6 +71,50 @@ export type TOpenKubeletConfigActionProps = TActionBaseProps & {
63
71
  modalDescriptionText?: string;
64
72
  editModalWidth?: number | string;
65
73
  };
74
+ export type TScaleActionProps = TActionBaseProps & {
75
+ endpoint: string;
76
+ currentReplicas: string;
77
+ name: string;
78
+ namespace?: string;
79
+ apiVersion?: string;
80
+ };
81
+ export type TTriggerRunActionProps = TActionBaseProps & {
82
+ createEndpoint: string;
83
+ cronJobName: string;
84
+ reqIndex: string;
85
+ jsonPathToObj: string;
86
+ };
87
+ export type TDeleteChildrenActionProps = TActionBaseProps & {
88
+ children: string;
89
+ childResourceName: string;
90
+ };
91
+ export type TRerunLastActionProps = TActionBaseProps & {
92
+ createEndpoint: string;
93
+ sourceJobName: string;
94
+ reqIndex: string;
95
+ jsonPathToObj: string;
96
+ };
97
+ export type TDrainActionProps = TActionBaseProps & {
98
+ bffEndpoint: string;
99
+ nodeName: string;
100
+ };
101
+ export type TRollbackActionProps = TActionBaseProps & {
102
+ bffEndpoint: string;
103
+ resourceName: string;
104
+ resourceEndpoint: string;
105
+ };
106
+ export type TResourceKind = 'ConfigMap' | 'Secret';
107
+ export type TDownloadAsFilesActionProps = TActionBaseProps & {
108
+ endpoint: string;
109
+ resourceKind: TResourceKind;
110
+ name: string;
111
+ };
112
+ export type TCreateFromFilesActionProps = TActionBaseProps & {
113
+ createEndpoint: string;
114
+ namespace: string;
115
+ resourceKind: TResourceKind;
116
+ apiVersion?: string;
117
+ };
66
118
  export type TActionUnion = {
67
119
  type: 'edit';
68
120
  props: TEditActionProps;
@@ -102,30 +154,40 @@ export type TActionUnion = {
102
154
  } | {
103
155
  type: 'openKubeletConfig';
104
156
  props: TOpenKubeletConfigActionProps;
157
+ } | {
158
+ type: 'scale';
159
+ props: TScaleActionProps;
160
+ } | {
161
+ type: 'triggerRun';
162
+ props: TTriggerRunActionProps;
163
+ } | {
164
+ type: 'deleteChildren';
165
+ props: TDeleteChildrenActionProps;
166
+ } | {
167
+ type: 'rerunLast';
168
+ props: TRerunLastActionProps;
169
+ } | {
170
+ type: 'drain';
171
+ props: TDrainActionProps;
172
+ } | {
173
+ type: 'rollback';
174
+ props: TRollbackActionProps;
175
+ } | {
176
+ type: 'downloadAsFiles';
177
+ props: TDownloadAsFilesActionProps;
178
+ } | {
179
+ type: 'createFromFiles';
180
+ props: TCreateFromFilesActionProps;
105
181
  };
106
- export type TActionsPermissions = {
107
- canUpdate?: boolean;
108
- canPatch?: boolean;
109
- canDelete?: boolean;
110
- canGet?: boolean;
111
- canCreate?: boolean;
112
- };
113
- export type TPermissionContext = {
114
- cluster: string;
115
- namespace?: string;
116
- apiGroup?: string;
117
- plural: string;
118
- subresource?: string;
119
- };
182
+ /** Per-action permission map. Key = "${actionType}-${index}", value = whether action is allowed. */
183
+ export type TActionsPermissions = Record<string, boolean | undefined>;
120
184
  export type TActionsDropdownProps = {
121
185
  id: number | string;
122
186
  buttonText?: string;
123
187
  buttonVariant?: 'default' | 'icon';
124
188
  containerStyle?: CSSProperties;
125
189
  actions: TActionUnion[];
126
- /** Manual permission override. Takes priority over permissionContext. */
190
+ /** Manual permission override. Takes priority over per-action permissionContext. */
127
191
  permissions?: TActionsPermissions;
128
- /** Resource context for automatic permission checking. */
129
- permissionContext?: TPermissionContext;
130
192
  };
131
193
  export {};
@@ -6,6 +6,7 @@ export type TLabelsToSearchParamsProps = {
6
6
  linkPrefix: string;
7
7
  textLink?: string;
8
8
  errorText: string;
9
+ errorMode?: 'errorText' | 'default';
9
10
  maxTextLength?: number;
10
11
  renderLabelsAsRows?: boolean;
11
12
  } & Omit<LinkProps, 'id' | 'children' | 'href'>;
@@ -0,0 +1,7 @@
1
+ import { CSSProperties } from 'react';
2
+ export type TMappedParsedTextProps = {
3
+ id: number | string;
4
+ value: string;
5
+ valueMap: Record<string, string>;
6
+ style?: CSSProperties;
7
+ };
@@ -2,8 +2,18 @@ import { CSSProperties } from 'react';
2
2
  import { FlexProps } from 'antd';
3
3
  export type TSecretBase64PlainProps = {
4
4
  id: number | string;
5
+ type?: 'base64' | 'plain';
6
+ value?: string;
7
+ reqIndex?: string;
8
+ jsonPathToSecrets?: string;
5
9
  base64Value?: string;
6
10
  plainTextValue?: string;
11
+ multiline?: boolean;
12
+ multilineRows?: number;
13
+ shownByDefault?: boolean;
14
+ hideEye?: boolean;
15
+ textStyle?: CSSProperties;
16
+ emptyText?: string;
7
17
  containerStyle?: CSSProperties;
8
18
  inputContainerStyle?: CSSProperties;
9
19
  flexProps?: Omit<FlexProps, 'children'>;
@@ -0,0 +1,19 @@
1
+ import { CSSProperties } from 'react';
2
+ export type TVolumesProps = {
3
+ id: number | string;
4
+ baseprefix?: string;
5
+ cluster: string;
6
+ reqIndex: string;
7
+ jsonPathToSpec: string;
8
+ jsonPathToPodName?: string;
9
+ forcedNamespace?: string;
10
+ errorText?: string;
11
+ containerStyle?: CSSProperties;
12
+ baseFactoryNamespacedAPIKey: string;
13
+ baseFactoryClusterSceopedAPIKey: string;
14
+ baseFactoryNamespacedBuiltinKey: string;
15
+ baseFactoryClusterSceopedBuiltinKey: string;
16
+ baseNavigationPluralName: string;
17
+ baseNavigationSpecificName: string;
18
+ containerFactoryKey?: string;
19
+ };
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { CSSProperties } from 'react';
2
2
  import { CardProps, FlexProps, RowProps, ColProps, ButtonProps, TabsProps } from 'antd';
3
3
  import type { TextProps } from 'antd/es/typography/Text';
4
4
  import type { LinkProps } from 'antd/es/typography/Link';
@@ -27,6 +27,9 @@ export type TAntdColProps = {
27
27
  } & Omit<ColProps, 'id' | 'children'>;
28
28
  export type TAntdTabsProps = {
29
29
  id: number | string;
30
+ syncActiveKeyWithHash?: boolean;
31
+ allowOpenInNewBrowserTab?: boolean;
32
+ unmountOnTabChange?: boolean;
30
33
  } & Omit<TabsProps, 'id' | 'children'>;
31
34
  export type TAntdButtonProps = {
32
35
  id: number | string;
@@ -38,3 +41,21 @@ export type TAntdIconsProps = {
38
41
  iconProps?: AntdIconProps;
39
42
  containerStyle?: React.CSSProperties;
40
43
  };
44
+ export type TAntdResultProps = {
45
+ id: number | string;
46
+ reqIndex?: number | number[];
47
+ /** Dot-separated path to the array in the response to check for emptiness.
48
+ * Default: ".items" (K8s list response format). Can be changed for non-K8s
49
+ * APIs, e.g. ".data.results".
50
+ * When reqIndex is an array, itemsPath can also be an array — each position
51
+ * maps to the corresponding reqIndex (e.g. reqIndex: [0,1], itemsPath: [".items", ".data.results"]). */
52
+ itemsPath?: string | string[];
53
+ /** Whether to check if the array at `itemsPath` is empty and show 404 when
54
+ * it is. Default: true — antdResult reacts to empty responses by default.
55
+ * Set to false to explicitly disable this check. */
56
+ checkEmpty?: boolean;
57
+ status?: 'success' | 'error' | 'info' | 'warning' | '403' | '404' | '500' | 403 | 404 | 500;
58
+ title?: string;
59
+ subTitle?: string;
60
+ style?: CSSProperties;
61
+ };
@@ -1,8 +1,9 @@
1
- import { TAntdTextProps, TAntdLinkProps, TAntdCardProps, TAntdFlexProps, TAntdRowProps, TAntdColProps, TAntdTabsProps, TAntdButtonProps, TAntdIconsProps } from './antdComponents';
1
+ import { TAntdTextProps, TAntdLinkProps, TAntdCardProps, TAntdFlexProps, TAntdRowProps, TAntdColProps, TAntdTabsProps, TAntdButtonProps, TAntdIconsProps, TAntdResultProps } from './antdComponents';
2
2
  import { TDefaultDivProps } from './DefaultDiv';
3
3
  import { TPartsOfUrlProps } from './partsOfUrl';
4
4
  import { TMultiQueryProps } from './multiQuery';
5
5
  import { TParsedTextProps } from './parsedText';
6
+ import { TMappedParsedTextProps } from './MappedParsedText';
6
7
  import { TProjectInfoCardProps } from './ProjectInfoCard';
7
8
  import { TMarketplaceCardProps } from './MarketplaceCard';
8
9
  import { TContentCardProps } from './ContentCard';
@@ -38,6 +39,7 @@ import { TAggregatedCounterCardProps } from './AggregatedCounterCard';
38
39
  import { TBase64IconProps } from './Base64Icon';
39
40
  import { TUsageGraphCardProps } from './UsageGraphCard';
40
41
  import { TActionsDropdownProps } from './ActionsDropdown';
42
+ import { TVolumesProps } from './Volumes';
41
43
  export type TDynamicComponentsAppTypeMap = {
42
44
  antdText: TAntdTextProps;
43
45
  antdLink: TAntdLinkProps;
@@ -52,6 +54,7 @@ export type TDynamicComponentsAppTypeMap = {
52
54
  partsOfUrl: TPartsOfUrlProps;
53
55
  multiQuery: TMultiQueryProps;
54
56
  parsedText: TParsedTextProps;
57
+ MappedParsedText: TMappedParsedTextProps;
55
58
  ProjectInfoCard: TProjectInfoCardProps;
56
59
  MarketplaceCard: TMarketplaceCardProps;
57
60
  ContentCard: TContentCardProps;
@@ -89,4 +92,6 @@ export type TDynamicComponentsAppTypeMap = {
89
92
  Base64Icon: TBase64IconProps;
90
93
  UsageGraphCard: TUsageGraphCardProps;
91
94
  ActionsDropdown: TActionsDropdownProps;
95
+ Volumes: TVolumesProps;
96
+ antdResult: TAntdResultProps;
92
97
  };
@@ -2,6 +2,7 @@ import { CSSProperties } from 'react';
2
2
  export type TParsedTextProps = {
3
3
  id: number | string;
4
4
  text: string;
5
+ tooltip?: string;
5
6
  formatter?: 'timestamp';
6
7
  style?: CSSProperties;
7
8
  };
@@ -8,4 +8,6 @@ export declare const DynamicRendererWithProviders: <T extends TItemTypeMap>(prop
8
8
  theme: 'dark' | 'light';
9
9
  nodeTerminalDefaultProfile?: string | undefined;
10
10
  disableEventBubbling?: boolean | undefined;
11
+ effectiveReqIndexes?: number[] | undefined;
12
+ effectiveItemsPath?: string | string[] | undefined;
11
13
  }) => ReactElement;
@@ -0,0 +1,8 @@
1
+ import { FC, ReactNode } from 'react';
2
+ type TEffectiveAntdResultWrapperProps = {
3
+ effectiveReqIndexes: number[];
4
+ itemsPath?: string | string[];
5
+ children: ReactNode;
6
+ };
7
+ export declare const EffectiveAntdResultWrapper: FC<TEffectiveAntdResultWrapperProps>;
8
+ export {};
@@ -0,0 +1 @@
1
+ export { EffectiveAntdResultWrapper } from './EffectiveAntdResultWrapper';
@@ -7,6 +7,10 @@ type MultiQueryContextValue = {
7
7
  isLoading: boolean;
8
8
  isError: boolean;
9
9
  errors: ReadonlyArray<AxiosError | Error | string | null>;
10
+ /** Check whether a specific request (by index) has an error */
11
+ hasErrorForReq: (reqIndex: number) => boolean;
12
+ /** Get the error object for a specific request (by index), or null if it succeeded */
13
+ getErrorForReq: (reqIndex: number) => AxiosError | Error | string | null;
10
14
  };
11
15
  type MultiQueryProviderProps = {
12
16
  /** Mixed array: first (any number of) K8s resources, then (any number of) URL strings */
@@ -12,7 +12,7 @@ export declare const useApiResources: ({ cluster, namespace, apiGroup, apiVersio
12
12
  refetchInterval?: number | false | undefined;
13
13
  isEnabled?: boolean | undefined;
14
14
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TApiResources, Error>;
15
- export declare const useApiResourceSingle: ({ cluster, namespace, apiGroup, apiVersion, plural, name, refetchInterval, }: {
15
+ export declare const useApiResourceSingle: ({ cluster, namespace, apiGroup, apiVersion, plural, name, refetchInterval, enabler, }: {
16
16
  cluster: string;
17
17
  namespace?: string | undefined;
18
18
  apiGroup: string;
@@ -20,6 +20,7 @@ export declare const useApiResourceSingle: ({ cluster, namespace, apiGroup, apiV
20
20
  plural: string;
21
21
  name: string;
22
22
  refetchInterval?: number | false | undefined;
23
+ enabler?: boolean | undefined;
23
24
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
24
25
  metadata: {
25
26
  name: string;
@@ -1,5 +1,6 @@
1
- export declare const useApisResourceTypes: ({ cluster }: {
1
+ export declare const useApisResourceTypes: ({ cluster, enabler }: {
2
2
  cluster: string;
3
+ enabler?: boolean | undefined;
3
4
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
4
5
  apiVersion: string;
5
6
  kind: string;
@@ -15,10 +16,11 @@ export declare const useApisResourceTypes: ({ cluster }: {
15
16
  };
16
17
  }[];
17
18
  }, Error>;
18
- export declare const useApiResourceTypesByGroup: ({ cluster, apiGroup, apiVersion, }: {
19
+ export declare const useApiResourceTypesByGroup: ({ cluster, apiGroup, apiVersion, enabler, }: {
19
20
  cluster: string;
20
21
  apiGroup: string;
21
22
  apiVersion: string;
23
+ enabler?: boolean | undefined;
22
24
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
23
25
  apiVersion: string;
24
26
  kind: string;
@@ -10,12 +10,13 @@ export declare const useBuiltinResources: ({ cluster, namespace, plural, name, l
10
10
  refetchInterval?: number | false | undefined;
11
11
  isEnabled?: boolean | undefined;
12
12
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TBuiltinResources, Error>;
13
- export declare const useBuiltinResourceSingle: ({ cluster, namespace, plural, name, refetchInterval, }: {
13
+ export declare const useBuiltinResourceSingle: ({ cluster, namespace, plural, name, refetchInterval, enabler, }: {
14
14
  cluster: string;
15
15
  namespace?: string | undefined;
16
16
  plural: string;
17
17
  name: string;
18
18
  refetchInterval?: number | false | undefined;
19
+ enabler?: boolean | undefined;
19
20
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
20
21
  metadata: {
21
22
  name: string;
@@ -1,4 +1,5 @@
1
1
  import { TBuiltinResourceTypeList } from '../localTypes/k8s';
2
- export declare const useBuiltinResourceTypes: ({ cluster }: {
2
+ export declare const useBuiltinResourceTypes: ({ cluster, enabler }: {
3
3
  cluster: string;
4
+ enabler?: boolean | undefined;
4
5
  }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TBuiltinResourceTypeList, Error>;
@@ -1,3 +1,6 @@
1
- export declare const useClusterList: ({ refetchInterval }: {
2
- refetchInterval?: number | false | undefined;
3
- }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<import("..").TClusterList, Error>;
1
+ type TUseClusterListParams = {
2
+ enabled?: boolean;
3
+ refetchInterval?: number | false;
4
+ };
5
+ export declare const useClusterList: ({ enabled, refetchInterval }?: TUseClusterListParams) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<import("..").TClusterList, Error>;
6
+ export {};
@@ -1,7 +1,8 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
- export declare const useDirectUnknownResource: <T>({ uri, queryKey, refetchInterval, isEnabled, }: {
2
+ export declare const useDirectUnknownResource: <T>({ uri, queryKey, refetchInterval, staleTime, isEnabled, }: {
3
3
  uri: string;
4
4
  queryKey: string[];
5
5
  refetchInterval?: number | false | undefined;
6
+ staleTime?: number | undefined;
6
7
  isEnabled?: boolean | undefined;
7
8
  }) => UseQueryResult<T, Error>;
@@ -1,7 +1,8 @@
1
1
  import type { TUseK8sSmartResourceParams } from './useK8sSmartResourceWithoutKinds';
2
- export declare const useSmartResourceParams: ({ cluster, namespace }: {
3
- cluster: string;
2
+ export declare const useSmartResourceParams: ({ cluster, namespace, enabler, }: {
3
+ cluster?: string | undefined;
4
4
  namespace?: string | undefined;
5
+ enabler?: boolean | undefined;
5
6
  }) => {
6
7
  paramsList: TUseK8sSmartResourceParams<unknown>[];
7
8
  scopesLoading: boolean;
@@ -0,0 +1,8 @@
1
+ export declare const useKindsRaw: ({ cluster, refetchInterval, isEnabled, }: {
2
+ cluster: string;
3
+ refetchInterval?: number | false | undefined;
4
+ isEnabled?: boolean | undefined;
5
+ }) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<{
6
+ kindIndex: import("..").TKindIndex;
7
+ kindsWithVersion: import("..").TKindWithVersion[];
8
+ }, Error>;
@@ -29,6 +29,8 @@ type TConsoleFrame = {
29
29
  type TInitialError = {
30
30
  type: 'INITIAL_ERROR';
31
31
  message: string;
32
+ statusCode?: number;
33
+ reason?: string;
32
34
  };
33
35
  export type TServerFrame = TInitialFrame | TPageFrame | TPageErrorFrame | TDeltaFrame | TConsoleFrame | TInitialError;
34
36
  export type TScrollMsg = {
@@ -3,10 +3,11 @@ type TUseResourceScopeArgs = {
3
3
  apiGroup?: string;
4
4
  apiVersion?: string;
5
5
  plural: string;
6
+ enabler?: boolean;
6
7
  };
7
8
  type TUseResourceScopeRes = {
8
9
  isClusterWide: boolean;
9
10
  isNamespaceScoped: boolean;
10
11
  };
11
- export declare const useResourceScope: ({ plural, cluster, apiGroup, apiVersion }: TUseResourceScopeArgs) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TUseResourceScopeRes, Error>;
12
+ export declare const useResourceScope: ({ plural, cluster, apiGroup, apiVersion, enabler }: TUseResourceScopeArgs) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TUseResourceScopeRes, Error>;
12
13
  export {};
@@ -1,7 +1,7 @@
1
1
  export * from './components';
2
2
  export * from './utils';
3
3
  export { getClusterList } from './api/getClusterList';
4
- export { createNewEntry, updateEntry, deleteEntry } from './api/forms';
4
+ export { createNewEntry, updateEntry, deleteEntry, patchEntryWithReplaceOp, patchEntryWithMergePatch, patchEntryWithDeleteOp, } from './api/forms';
5
5
  export { getApiResources, getApiResourceSingle } from './api/getApiResource';
6
6
  export { getBuiltinResources, getBuiltinResourceSingle } from './api/getBuiltinResource';
7
7
  export { getCrdResources, getCrdResourceSingle } from './api/getCrdResource';
@@ -29,6 +29,7 @@ export { useK8sVerbs } from './hooks/useK8sVerbs';
29
29
  export { useK8sSmartResource, useManyK8sSmartResource, useSmartResourceParams } from './hooks/useK8sSmartResource';
30
30
  export { useResourceScope } from './hooks/useResourceScope';
31
31
  export { useKinds } from './hooks/useKinds';
32
+ export { useKindsRaw } from './hooks/useKindsRaw';
32
33
  export { usePluginManifest } from './hooks/usePlugins';
33
34
  export type { TRequestError } from './localTypes/api';
34
35
  export type { TClusterList } from './localTypes/clusterList';
@@ -17,7 +17,9 @@ export type TPrepareFormReq = {
17
17
  prefillValueNamespaceOnly?: string;
18
18
  };
19
19
  cluster: string;
20
+ partsOfUrl: string[];
20
21
  customizationId?: string;
22
+ customizationIdPrefill?: string;
21
23
  };
22
24
  export type TPrepareFormRes = {
23
25
  result: 'error';