@dao-style/biz 0.6.0 → 0.7.0

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 (186) hide show
  1. package/dist/cjs/components/gpu/style/assign-gpu-devices-list.js +1 -0
  2. package/dist/cjs/components/gpu/style/gpu-form.js +1 -0
  3. package/dist/components/form-block/FormBlock.d.ts +27 -1
  4. package/dist/components/form-block/props.d.ts +4 -0
  5. package/dist/components/form-block/props.js +4 -0
  6. package/dist/components/form-block/props.mjs +4 -0
  7. package/dist/components/form-block/src/FormBlock.vue.d.ts +11 -0
  8. package/dist/components/form-block/src/FormBlock.vue.js +4 -4
  9. package/dist/components/form-block/src/FormBlock.vue.mjs +4 -4
  10. package/dist/components/form-block/src/FormBlock.vue2.js +12 -1
  11. package/dist/components/form-block/src/FormBlock.vue2.mjs +12 -1
  12. package/dist/components/gpu/props.d.ts +121 -3
  13. package/dist/components/gpu/props.js +82 -9
  14. package/dist/components/gpu/props.mjs +82 -9
  15. package/dist/components/gpu/src/GpuForm.vue.d.ts +283 -50
  16. package/dist/components/gpu/src/GpuForm.vue.js +25 -24
  17. package/dist/components/gpu/src/GpuForm.vue.mjs +26 -25
  18. package/dist/components/gpu/src/GpuForm.vue2.js +115 -218
  19. package/dist/components/gpu/src/GpuForm.vue2.mjs +116 -219
  20. package/dist/components/gpu/src/components/AssignGpuDevicesList.vue.d.ts +77 -0
  21. package/dist/components/gpu/src/components/AssignGpuDevicesList.vue.js +40 -0
  22. package/dist/components/gpu/src/components/AssignGpuDevicesList.vue.mjs +41 -0
  23. package/dist/components/gpu/src/components/AssignGpuDevicesList.vue2.js +191 -0
  24. package/dist/components/gpu/src/components/AssignGpuDevicesList.vue2.mjs +192 -0
  25. package/dist/components/gpu/src/components/GpuAdvancedForm.vue.d.ts +180 -0
  26. package/dist/components/gpu/src/{GpuAdvancedForm.vue.js → components/GpuAdvancedForm.vue.js} +92 -37
  27. package/dist/components/gpu/src/{GpuAdvancedForm.vue.mjs → components/GpuAdvancedForm.vue.mjs} +93 -38
  28. package/dist/components/gpu/src/components/GpuAdvancedForm.vue2.js +169 -0
  29. package/dist/components/gpu/src/components/GpuAdvancedForm.vue2.mjs +153 -0
  30. package/dist/components/gpu/src/{GpuFormDynamicItem.vue.d.ts → components/GpuFormDynamicItem.vue.d.ts} +4 -4
  31. package/dist/components/gpu/src/{GpuFormDynamicItem.vue.js → components/GpuFormDynamicItem.vue.js} +1 -1
  32. package/dist/components/gpu/src/{GpuFormDynamicItem.vue.mjs → components/GpuFormDynamicItem.vue.mjs} +1 -1
  33. package/dist/components/gpu/src/{GpuFormDynamicItem.vue2.js → components/GpuFormDynamicItem.vue2.js} +1 -1
  34. package/dist/components/gpu/src/{GpuFormDynamicItem.vue2.mjs → components/GpuFormDynamicItem.vue2.mjs} +1 -1
  35. package/dist/components/gpu/src/components/GpuFormItem.vue.d.ts +310 -0
  36. package/dist/components/gpu/src/{GpuFormItem.vue.js → components/GpuFormItem.vue.js} +22 -26
  37. package/dist/components/gpu/src/{GpuFormItem.vue.mjs → components/GpuFormItem.vue.mjs} +23 -27
  38. package/dist/components/gpu/src/components/GpuFormItem.vue2.js +61 -0
  39. package/dist/components/gpu/src/components/GpuFormItem.vue2.mjs +45 -0
  40. package/dist/components/gpu/src/{GpuResources.vue.d.ts → components/GpuResources.vue.d.ts} +38 -18
  41. package/dist/components/gpu/src/components/GpuResources.vue.js +153 -0
  42. package/dist/components/gpu/src/components/GpuResources.vue.mjs +154 -0
  43. package/dist/components/gpu/src/components/GpuResources.vue2.js +278 -0
  44. package/dist/components/gpu/src/components/GpuResources.vue2.mjs +262 -0
  45. package/dist/components/gpu/src/gpuForm.constants.d.ts +3 -0
  46. package/dist/components/gpu/src/gpuForm.constants.js +10 -0
  47. package/dist/components/gpu/src/gpuForm.constants.mjs +10 -0
  48. package/dist/components/gpu/src/gpuForm.internal-types.d.ts +49 -0
  49. package/dist/components/gpu/src/gpuForm.mapper.d.ts +16 -0
  50. package/dist/components/gpu/src/gpuForm.mapper.js +199 -0
  51. package/dist/components/gpu/src/gpuForm.mapper.mjs +199 -0
  52. package/dist/components/gpu/src/gpuFormItem.mapper.d.ts +38 -0
  53. package/dist/components/gpu/src/gpuFormItem.mapper.js +153 -0
  54. package/dist/components/gpu/src/gpuFormItem.mapper.mjs +153 -0
  55. package/dist/components/gpu/src/useGPUOptions.d.ts +2 -2
  56. package/dist/components/gpu/src/useGPUOptions.js +15 -20
  57. package/dist/components/gpu/src/useGPUOptions.mjs +16 -21
  58. package/dist/components/gpu/src/useGpuFormItemState.d.ts +42 -0
  59. package/dist/components/gpu/src/useGpuFormItemState.js +178 -0
  60. package/dist/components/gpu/src/useGpuFormItemState.mjs +178 -0
  61. package/dist/components/gpu/src/useGpuFormSideState.d.ts +52 -0
  62. package/dist/components/gpu/src/useGpuFormSideState.js +71 -0
  63. package/dist/components/gpu/src/useGpuFormSideState.mjs +71 -0
  64. package/dist/components/gpu/src/useGpuFormState.d.ts +560 -0
  65. package/dist/components/gpu/src/useGpuFormState.js +52 -0
  66. package/dist/components/gpu/src/useGpuFormState.mjs +52 -0
  67. package/dist/components/gpu/src/validations/nvidiaVgpuMemoryDecimal.d.ts +5 -1
  68. package/dist/components/gpu/style/assign-gpu-devices-list.d.ts +1 -0
  69. package/dist/components/gpu/style/assign-gpu-devices-list.scss.js +3 -0
  70. package/dist/components/gpu/style/assign-gpu-devices-list.scss.mjs +4 -0
  71. package/dist/components/gpu/style/gpu-form.d.ts +1 -0
  72. package/dist/components/gpu/types.d.ts +6 -0
  73. package/dist/components/gpu/types.js +2 -0
  74. package/dist/components/gpu/types.mjs +2 -0
  75. package/dist/components/gpu/utils.d.ts +4 -0
  76. package/dist/components/gpu/utils.js +14 -0
  77. package/dist/components/gpu/utils.mjs +14 -0
  78. package/dist/components/instance-cluster/src/InstanceCluster.vue.d.ts +1 -1
  79. package/dist/components/instance-namespace/src/InstanceNamespace.vue.d.ts +1 -1
  80. package/dist/components/instance-storage-class/src/InstanceStorageClass.vue.d.ts +1 -1
  81. package/dist/components/network-config/src/NetworkConfig.vue.d.ts +1 -1
  82. package/dist/components/network-config/src/NetworkConfig.vue.js +13 -6
  83. package/dist/components/network-config/src/NetworkConfig.vue.mjs +14 -7
  84. package/dist/dialogs/create-network-config-dialog/src/CreateNetworkConfigDialog.vue.d.ts +1 -1
  85. package/dist/es/components/gpu/style/assign-gpu-devices-list.mjs +1 -0
  86. package/dist/es/components/gpu/style/gpu-form.mjs +1 -0
  87. package/dist/forms/import-parameter-template/props.d.ts +8 -8
  88. package/dist/forms/import-parameter-template/src/ImportParameterTemplate.vue.d.ts +24 -24
  89. package/dist/group-mapping.json +1 -1
  90. package/dist/index.js +34 -23
  91. package/dist/index.mjs +15 -4
  92. package/dist/locales/en-US/components/Gpu.json.js +36 -9
  93. package/dist/locales/en-US/components/Gpu.json.mjs +37 -10
  94. package/dist/locales/en-US/index.js +2 -0
  95. package/dist/locales/en-US/index.mjs +2 -0
  96. package/dist/locales/en-US/uses/UseCancelFormDialog.json.js +11 -0
  97. package/dist/locales/en-US/uses/UseCancelFormDialog.json.mjs +11 -0
  98. package/dist/locales/ja/components/Gpu.json.js +36 -9
  99. package/dist/locales/ja/components/Gpu.json.mjs +37 -10
  100. package/dist/locales/ja/components/InstancePassword.json.js +1 -1
  101. package/dist/locales/ja/components/InstancePassword.json.mjs +1 -1
  102. package/dist/locales/ja/components/MatchExpressionsEditor.json.js +1 -1
  103. package/dist/locales/ja/components/MatchExpressionsEditor.json.mjs +1 -1
  104. package/dist/locales/ja/components/NetworkConfig.json.js +1 -1
  105. package/dist/locales/ja/components/NetworkConfig.json.mjs +1 -1
  106. package/dist/locales/ja/index.js +2 -0
  107. package/dist/locales/ja/index.mjs +2 -0
  108. package/dist/locales/ja/uses/UseCancelFormDialog.json.js +11 -0
  109. package/dist/locales/ja/uses/UseCancelFormDialog.json.mjs +11 -0
  110. package/dist/locales/ja/workloads/DnsConfig.json.js +1 -1
  111. package/dist/locales/ja/workloads/DnsConfig.json.mjs +1 -1
  112. package/dist/locales/ja/workloads/workload-advanced/NetworkConfig.json.js +1 -1
  113. package/dist/locales/ja/workloads/workload-advanced/NetworkConfig.json.mjs +1 -1
  114. package/dist/locales/zh-CN/components/Gpu.json.js +36 -9
  115. package/dist/locales/zh-CN/components/Gpu.json.mjs +37 -10
  116. package/dist/locales/zh-CN/index.js +2 -0
  117. package/dist/locales/zh-CN/index.mjs +2 -0
  118. package/dist/locales/zh-CN/uses/UseCancelFormDialog.json.js +11 -0
  119. package/dist/locales/zh-CN/uses/UseCancelFormDialog.json.mjs +11 -0
  120. package/dist/style.css +692 -664
  121. package/dist/styles/components/gpu/assign-gpu-devices-list.css +10 -0
  122. package/dist/styles/components/gpu/gpu-form-item.css +16 -0
  123. package/dist/styles/components/gpu/gpu-form.css +4 -0
  124. package/dist/styles/components/network-config/network-config.css +3 -0
  125. package/dist/styles/components/resource-config/resource-config.css +0 -8
  126. package/dist/styles/styles/common.css +4 -0
  127. package/dist/uses/index.d.ts +1 -0
  128. package/dist/uses/useCancelFormDialog/index.d.ts +11 -0
  129. package/dist/uses/useCancelFormDialog/index.js +40 -0
  130. package/dist/uses/useCancelFormDialog/index.mjs +40 -0
  131. package/dist/uses/useCancelFormDialog/src/CancelFormDialog.vue.d.ts +8 -0
  132. package/dist/uses/useCancelFormDialog/src/CancelFormDialog.vue.js +25 -0
  133. package/dist/uses/useCancelFormDialog/src/CancelFormDialog.vue.mjs +26 -0
  134. package/dist/uses/useCancelFormDialog/src/CancelFormDialog.vue2.js +3 -0
  135. package/dist/uses/useCancelFormDialog/src/CancelFormDialog.vue2.mjs +4 -0
  136. package/dist/utils/index.d.ts +1 -0
  137. package/dist/utils/injectWithSelf.d.ts +6 -0
  138. package/dist/utils/injectWithSelf.js +8 -0
  139. package/dist/utils/injectWithSelf.mjs +8 -0
  140. package/dist/utils/multiRowEditorValidate.d.ts +5 -5
  141. package/dist/utils/useResetFieldValue.d.ts +13 -0
  142. package/dist/utils/useResetFieldValue.js +28 -0
  143. package/dist/utils/useResetFieldValue.mjs +28 -0
  144. package/dist/utils/useSetFieldValue.d.ts +6 -0
  145. package/dist/utils/useSetFieldValue.js +2 -5
  146. package/dist/utils/useSetFieldValue.mjs +2 -5
  147. package/dist/workloads/container-basic-info/props.d.ts +13 -0
  148. package/dist/workloads/container-basic-info/props.js +4 -0
  149. package/dist/workloads/container-basic-info/props.mjs +4 -0
  150. package/dist/workloads/container-basic-info/src/ContainerBasicInfo.vue.d.ts +10 -0
  151. package/dist/workloads/container-basic-info/src/ContainerBasicInfo.vue.js +54 -29
  152. package/dist/workloads/container-basic-info/src/ContainerBasicInfo.vue.mjs +54 -29
  153. package/dist/workloads/container-basic-info/src/ContainerBasicInfo.vue2.js +18 -8
  154. package/dist/workloads/container-basic-info/src/ContainerBasicInfo.vue2.mjs +19 -9
  155. package/dist/workloads/container-image/src/dialogs/SelectImageDialog.vue.d.ts +1 -1
  156. package/dist/workloads/containers/demo/data.d.ts +8 -1
  157. package/dist/workloads/containers/src/ContainerItem.vue.d.ts +23 -0
  158. package/dist/workloads/containers/src/Containers.vue.d.ts +4 -0
  159. package/dist/workloads/containers/src/Containers.vue2.js +18 -1
  160. package/dist/workloads/containers/src/Containers.vue2.mjs +19 -2
  161. package/dist/workloads/health-check/props.d.ts +4 -0
  162. package/dist/workloads/health-check/props.js +4 -0
  163. package/dist/workloads/health-check/props.mjs +4 -0
  164. package/dist/workloads/health-check/src/HealthCheck.vue.d.ts +9 -0
  165. package/dist/workloads/health-check/src/HealthCheck.vue.js +6 -6
  166. package/dist/workloads/health-check/src/HealthCheck.vue.mjs +6 -6
  167. package/dist/workloads/health-check/src/HealthCheckHandler.vue.js +3 -1
  168. package/dist/workloads/health-check/src/HealthCheckHandler.vue.mjs +3 -1
  169. package/dist/workloads/http-get-action/src/HttpGetAction.vue.js +1 -1
  170. package/dist/workloads/http-get-action/src/HttpGetAction.vue.mjs +1 -1
  171. package/dist/workloads/workload-annotations/props.d.ts +1 -0
  172. package/dist/workloads/workload-annotations/props.js +1 -0
  173. package/dist/workloads/workload-annotations/props.mjs +2 -1
  174. package/package.json +12 -13
  175. package/dist/components/gpu/src/GpuAdvancedForm.vue.d.ts +0 -131
  176. package/dist/components/gpu/src/GpuAdvancedForm.vue2.js +0 -92
  177. package/dist/components/gpu/src/GpuAdvancedForm.vue2.mjs +0 -76
  178. package/dist/components/gpu/src/GpuFormItem.vue.d.ts +0 -232
  179. package/dist/components/gpu/src/GpuFormItem.vue2.js +0 -235
  180. package/dist/components/gpu/src/GpuFormItem.vue2.mjs +0 -219
  181. package/dist/components/gpu/src/GpuResources.vue.js +0 -125
  182. package/dist/components/gpu/src/GpuResources.vue.mjs +0 -126
  183. package/dist/components/gpu/src/GpuResources.vue2.js +0 -197
  184. package/dist/components/gpu/src/GpuResources.vue2.mjs +0 -181
  185. package/dist/components/gpu/src/validations/nvidiaVgpuMemoryDecimal.js +0 -19
  186. package/dist/components/gpu/src/validations/nvidiaVgpuMemoryDecimal.mjs +0 -20
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const lodashEs = require("lodash-es");
4
+ const gpuForm_constants = require("./gpuForm.constants.js");
5
+ const types = require("../types.js");
6
+ const utils = require("../utils.js");
7
+ const randomStr = require("../../../utils/randomStr.js");
8
+ const formatNumUnit = require("../../../utils/formatNumUnit.js");
9
+ const buildGpuFormFormattedUpdate = (rows, existTypes, withPrefixRequest = false) => {
10
+ const currentVgpuState = {
11
+ nvidiaVgpuModel: "",
12
+ nvidiaVgpuPriority: ""
13
+ };
14
+ const resources = rows.reduce((pre, row) => {
15
+ const {
16
+ type,
17
+ resources: rest,
18
+ [types.nvidiaVgpuModelKey]: nvidiaVgpuModel,
19
+ [types.nvidiaVgpuDevicesKey]: nvidiaVgpuDevices,
20
+ [types.nvidiaVgpuPriorityKey]: nvidiaVgpuPriority,
21
+ [types.nvidiaVgpuGpuScheduleKey]: nvidiaVgpuGpuSchedule,
22
+ [types.nvidiaVgpuNodeScheduleKey]: nvidiaVgpuNodeSchedule
23
+ } = row;
24
+ const vgpuResource = Object.entries(rest ?? {}).reduce((preRes, [key, val]) => {
25
+ if (!utils.isValidGPUResourceValue(val)) {
26
+ return preRes;
27
+ }
28
+ const finalResourceKey = utils.deSanitizeGPUKey(key) ?? "";
29
+ Object.assign(preRes, {
30
+ [withPrefixRequest ? `requests.${finalResourceKey}` : finalResourceKey]: val
31
+ });
32
+ return preRes;
33
+ }, {});
34
+ Object.assign(pre, vgpuResource);
35
+ if (utils.isNvidiaVgpu(type)) {
36
+ Object.assign(currentVgpuState, {
37
+ nvidiaVgpuModel,
38
+ nvidiaVgpuDevices,
39
+ nvidiaVgpuPriority,
40
+ nvidiaVgpuGpuSchedule,
41
+ nvidiaVgpuNodeSchedule
42
+ });
43
+ }
44
+ return pre;
45
+ }, {});
46
+ return {
47
+ change: {
48
+ types: existTypes,
49
+ resources
50
+ },
51
+ vgpu: currentVgpuState
52
+ };
53
+ };
54
+ const filterGpuFormRows = (items, gpuOptionsMap) => {
55
+ const diffRows = items.filter((item) => item.type && gpuOptionsMap.has(item.type));
56
+ if (!diffRows.length) {
57
+ return [gpuForm_constants.createEmptyRow()];
58
+ }
59
+ return diffRows;
60
+ };
61
+ const buildGpuFormVgpuUpdateEmits = (vgpu, props, vgpuExist) => {
62
+ var _a;
63
+ const emits = [];
64
+ if (props.enableNvidiaVgpuModel && vgpuExist) {
65
+ emits.push(["update:nvidiaVgpuModel", vgpu.nvidiaVgpuModel]);
66
+ } else if (props.nvidiaVgpuModel) {
67
+ emits.push(["update:nvidiaVgpuModel", void 0]);
68
+ }
69
+ if (props.enableNvidiaVgpuDevices && vgpuExist) {
70
+ emits.push(["update:nvidiaVgpuDevices", vgpu.nvidiaVgpuDevices]);
71
+ } else if ((_a = props.nvidiaVgpuDevices) == null ? void 0 : _a.length) {
72
+ emits.push(["update:nvidiaVgpuDevices", void 0]);
73
+ }
74
+ if (props.enableNvidiaVgpuPriority && vgpuExist) {
75
+ emits.push(["update:nvidiaVgpuPriority", vgpu.nvidiaVgpuPriority]);
76
+ } else if (props.nvidiaVgpuPriority) {
77
+ emits.push(["update:nvidiaVgpuPriority", void 0]);
78
+ }
79
+ if (props.enableNvidiaVgpuSchedulePolicy && vgpuExist) {
80
+ emits.push(["update:nvidiaVgpuGpuSchedule", vgpu.nvidiaVgpuGpuSchedule]);
81
+ emits.push(["update:nvidiaVgpuNodeSchedule", vgpu.nvidiaVgpuNodeSchedule]);
82
+ } else if (props.nvidiaVgpuGpuSchedule || props.nvidiaVgpuNodeSchedule) {
83
+ emits.push(["update:nvidiaVgpuGpuSchedule", void 0]);
84
+ emits.push(["update:nvidiaVgpuNodeSchedule", void 0]);
85
+ }
86
+ return emits;
87
+ };
88
+ const buildGpuFormSideRow = ({
89
+ row,
90
+ gpuOptionsMap,
91
+ sideQuota,
92
+ withPrefixRequest = false
93
+ }) => {
94
+ var _a, _b;
95
+ const sideRow = {
96
+ ...row,
97
+ type: (_a = row.type) == null ? void 0 : _a.toString(),
98
+ resources: {}
99
+ };
100
+ const currentGpuSettings = gpuOptionsMap.get(sideRow.type ?? "");
101
+ (_b = currentGpuSettings == null ? void 0 : currentGpuSettings.resource) == null ? void 0 : _b.forEach(({ key }) => {
102
+ const actualKey = withPrefixRequest ? `requests.${key}` : key;
103
+ const val = sideQuota == null ? void 0 : sideQuota.resources[actualKey ?? ""];
104
+ if (utils.isValidGPUResourceValue(val)) {
105
+ lodashEs.set(sideRow, ["resources", utils.sanitizeGPUKey(key) ?? ""], formatNumUnit.formatNumUnit(val));
106
+ }
107
+ });
108
+ return sideRow;
109
+ };
110
+ const buildGpuFormInitialRows = ({
111
+ quota,
112
+ availableQuota,
113
+ sideQuota,
114
+ gpuOptionsMap,
115
+ getDisplayResource,
116
+ withPrefixRequest = false,
117
+ showSide = false,
118
+ isLimitOne = false,
119
+ vgpu
120
+ }) => {
121
+ const { types: types$1, resources } = quota;
122
+ const { types: availableTypes } = availableQuota ?? {};
123
+ const newTypes = [.../* @__PURE__ */ new Set([...availableTypes ?? [], ...types$1])];
124
+ const rows = [];
125
+ const sideRows = [];
126
+ newTypes.forEach((type) => {
127
+ if (!gpuOptionsMap.has(type)) {
128
+ return;
129
+ }
130
+ const row = {
131
+ id: randomStr.randomStr(gpuForm_constants.gpuFormRowIdLength),
132
+ removable: !(availableTypes == null ? void 0 : availableTypes.includes(type)),
133
+ type
134
+ };
135
+ const sideRow = {
136
+ type,
137
+ id: randomStr.randomStr(gpuForm_constants.gpuFormRowIdLength),
138
+ resources: {}
139
+ };
140
+ const displayResource = getDisplayResource(type);
141
+ if (displayResource.length) {
142
+ displayResource.forEach((rs) => {
143
+ const key = withPrefixRequest ? `requests.${rs.key}` : rs.key;
144
+ const val = resources[key];
145
+ if (utils.isValidGPUResourceValue(val)) {
146
+ lodashEs.set(row, ["resources", utils.sanitizeGPUKey(rs.key) ?? ""], formatNumUnit.formatNumUnit(val));
147
+ }
148
+ if (showSide) {
149
+ const sideVal = sideQuota == null ? void 0 : sideQuota.resources[key];
150
+ if (utils.isValidGPUResourceValue(sideVal)) {
151
+ lodashEs.set(sideRow, ["resources", utils.sanitizeGPUKey(rs.key) ?? ""], formatNumUnit.formatNumUnit(sideVal));
152
+ }
153
+ }
154
+ });
155
+ if (utils.isNvidiaVgpu(type) && isLimitOne) {
156
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuModel) {
157
+ Object.assign(row, {
158
+ [types.nvidiaVgpuModelKey]: vgpu.nvidiaVgpuModel
159
+ });
160
+ }
161
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuDevices) {
162
+ Object.assign(row, {
163
+ [types.nvidiaVgpuDevicesKey]: vgpu.nvidiaVgpuDevices
164
+ });
165
+ }
166
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuPriority) {
167
+ Object.assign(row, {
168
+ [types.nvidiaVgpuPriorityKey]: vgpu.nvidiaVgpuPriority
169
+ });
170
+ }
171
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuGpuSchedule) {
172
+ Object.assign(row, {
173
+ [types.nvidiaVgpuGpuScheduleKey]: vgpu.nvidiaVgpuGpuSchedule
174
+ });
175
+ }
176
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuNodeSchedule) {
177
+ Object.assign(row, {
178
+ [types.nvidiaVgpuNodeScheduleKey]: vgpu.nvidiaVgpuNodeSchedule
179
+ });
180
+ }
181
+ }
182
+ }
183
+ if (showSide && !sideRows.includes(sideRow)) {
184
+ sideRows.push(sideRow);
185
+ }
186
+ if (!rows.includes(row)) {
187
+ rows.push(row);
188
+ }
189
+ });
190
+ return {
191
+ rows,
192
+ sideRows
193
+ };
194
+ };
195
+ exports.buildGpuFormFormattedUpdate = buildGpuFormFormattedUpdate;
196
+ exports.buildGpuFormInitialRows = buildGpuFormInitialRows;
197
+ exports.buildGpuFormSideRow = buildGpuFormSideRow;
198
+ exports.buildGpuFormVgpuUpdateEmits = buildGpuFormVgpuUpdateEmits;
199
+ exports.filterGpuFormRows = filterGpuFormRows;
@@ -0,0 +1,199 @@
1
+ import { set } from "lodash-es";
2
+ import { createEmptyRow, gpuFormRowIdLength } from "./gpuForm.constants.mjs";
3
+ import { nvidiaVgpuModelKey, nvidiaVgpuDevicesKey, nvidiaVgpuPriorityKey, nvidiaVgpuGpuScheduleKey, nvidiaVgpuNodeScheduleKey } from "../types.mjs";
4
+ import { isValidGPUResourceValue, sanitizeGPUKey, isNvidiaVgpu, deSanitizeGPUKey } from "../utils.mjs";
5
+ import { randomStr } from "../../../utils/randomStr.mjs";
6
+ import { formatNumUnit } from "../../../utils/formatNumUnit.mjs";
7
+ const buildGpuFormFormattedUpdate = (rows, existTypes, withPrefixRequest = false) => {
8
+ const currentVgpuState = {
9
+ nvidiaVgpuModel: "",
10
+ nvidiaVgpuPriority: ""
11
+ };
12
+ const resources = rows.reduce((pre, row) => {
13
+ const {
14
+ type,
15
+ resources: rest,
16
+ [nvidiaVgpuModelKey]: nvidiaVgpuModel,
17
+ [nvidiaVgpuDevicesKey]: nvidiaVgpuDevices,
18
+ [nvidiaVgpuPriorityKey]: nvidiaVgpuPriority,
19
+ [nvidiaVgpuGpuScheduleKey]: nvidiaVgpuGpuSchedule,
20
+ [nvidiaVgpuNodeScheduleKey]: nvidiaVgpuNodeSchedule
21
+ } = row;
22
+ const vgpuResource = Object.entries(rest ?? {}).reduce((preRes, [key, val]) => {
23
+ if (!isValidGPUResourceValue(val)) {
24
+ return preRes;
25
+ }
26
+ const finalResourceKey = deSanitizeGPUKey(key) ?? "";
27
+ Object.assign(preRes, {
28
+ [withPrefixRequest ? `requests.${finalResourceKey}` : finalResourceKey]: val
29
+ });
30
+ return preRes;
31
+ }, {});
32
+ Object.assign(pre, vgpuResource);
33
+ if (isNvidiaVgpu(type)) {
34
+ Object.assign(currentVgpuState, {
35
+ nvidiaVgpuModel,
36
+ nvidiaVgpuDevices,
37
+ nvidiaVgpuPriority,
38
+ nvidiaVgpuGpuSchedule,
39
+ nvidiaVgpuNodeSchedule
40
+ });
41
+ }
42
+ return pre;
43
+ }, {});
44
+ return {
45
+ change: {
46
+ types: existTypes,
47
+ resources
48
+ },
49
+ vgpu: currentVgpuState
50
+ };
51
+ };
52
+ const filterGpuFormRows = (items, gpuOptionsMap) => {
53
+ const diffRows = items.filter((item) => item.type && gpuOptionsMap.has(item.type));
54
+ if (!diffRows.length) {
55
+ return [createEmptyRow()];
56
+ }
57
+ return diffRows;
58
+ };
59
+ const buildGpuFormVgpuUpdateEmits = (vgpu, props, vgpuExist) => {
60
+ var _a;
61
+ const emits = [];
62
+ if (props.enableNvidiaVgpuModel && vgpuExist) {
63
+ emits.push(["update:nvidiaVgpuModel", vgpu.nvidiaVgpuModel]);
64
+ } else if (props.nvidiaVgpuModel) {
65
+ emits.push(["update:nvidiaVgpuModel", void 0]);
66
+ }
67
+ if (props.enableNvidiaVgpuDevices && vgpuExist) {
68
+ emits.push(["update:nvidiaVgpuDevices", vgpu.nvidiaVgpuDevices]);
69
+ } else if ((_a = props.nvidiaVgpuDevices) == null ? void 0 : _a.length) {
70
+ emits.push(["update:nvidiaVgpuDevices", void 0]);
71
+ }
72
+ if (props.enableNvidiaVgpuPriority && vgpuExist) {
73
+ emits.push(["update:nvidiaVgpuPriority", vgpu.nvidiaVgpuPriority]);
74
+ } else if (props.nvidiaVgpuPriority) {
75
+ emits.push(["update:nvidiaVgpuPriority", void 0]);
76
+ }
77
+ if (props.enableNvidiaVgpuSchedulePolicy && vgpuExist) {
78
+ emits.push(["update:nvidiaVgpuGpuSchedule", vgpu.nvidiaVgpuGpuSchedule]);
79
+ emits.push(["update:nvidiaVgpuNodeSchedule", vgpu.nvidiaVgpuNodeSchedule]);
80
+ } else if (props.nvidiaVgpuGpuSchedule || props.nvidiaVgpuNodeSchedule) {
81
+ emits.push(["update:nvidiaVgpuGpuSchedule", void 0]);
82
+ emits.push(["update:nvidiaVgpuNodeSchedule", void 0]);
83
+ }
84
+ return emits;
85
+ };
86
+ const buildGpuFormSideRow = ({
87
+ row,
88
+ gpuOptionsMap,
89
+ sideQuota,
90
+ withPrefixRequest = false
91
+ }) => {
92
+ var _a, _b;
93
+ const sideRow = {
94
+ ...row,
95
+ type: (_a = row.type) == null ? void 0 : _a.toString(),
96
+ resources: {}
97
+ };
98
+ const currentGpuSettings = gpuOptionsMap.get(sideRow.type ?? "");
99
+ (_b = currentGpuSettings == null ? void 0 : currentGpuSettings.resource) == null ? void 0 : _b.forEach(({ key }) => {
100
+ const actualKey = withPrefixRequest ? `requests.${key}` : key;
101
+ const val = sideQuota == null ? void 0 : sideQuota.resources[actualKey ?? ""];
102
+ if (isValidGPUResourceValue(val)) {
103
+ set(sideRow, ["resources", sanitizeGPUKey(key) ?? ""], formatNumUnit(val));
104
+ }
105
+ });
106
+ return sideRow;
107
+ };
108
+ const buildGpuFormInitialRows = ({
109
+ quota,
110
+ availableQuota,
111
+ sideQuota,
112
+ gpuOptionsMap,
113
+ getDisplayResource,
114
+ withPrefixRequest = false,
115
+ showSide = false,
116
+ isLimitOne = false,
117
+ vgpu
118
+ }) => {
119
+ const { types, resources } = quota;
120
+ const { types: availableTypes } = availableQuota ?? {};
121
+ const newTypes = [.../* @__PURE__ */ new Set([...availableTypes ?? [], ...types])];
122
+ const rows = [];
123
+ const sideRows = [];
124
+ newTypes.forEach((type) => {
125
+ if (!gpuOptionsMap.has(type)) {
126
+ return;
127
+ }
128
+ const row = {
129
+ id: randomStr(gpuFormRowIdLength),
130
+ removable: !(availableTypes == null ? void 0 : availableTypes.includes(type)),
131
+ type
132
+ };
133
+ const sideRow = {
134
+ type,
135
+ id: randomStr(gpuFormRowIdLength),
136
+ resources: {}
137
+ };
138
+ const displayResource = getDisplayResource(type);
139
+ if (displayResource.length) {
140
+ displayResource.forEach((rs) => {
141
+ const key = withPrefixRequest ? `requests.${rs.key}` : rs.key;
142
+ const val = resources[key];
143
+ if (isValidGPUResourceValue(val)) {
144
+ set(row, ["resources", sanitizeGPUKey(rs.key) ?? ""], formatNumUnit(val));
145
+ }
146
+ if (showSide) {
147
+ const sideVal = sideQuota == null ? void 0 : sideQuota.resources[key];
148
+ if (isValidGPUResourceValue(sideVal)) {
149
+ set(sideRow, ["resources", sanitizeGPUKey(rs.key) ?? ""], formatNumUnit(sideVal));
150
+ }
151
+ }
152
+ });
153
+ if (isNvidiaVgpu(type) && isLimitOne) {
154
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuModel) {
155
+ Object.assign(row, {
156
+ [nvidiaVgpuModelKey]: vgpu.nvidiaVgpuModel
157
+ });
158
+ }
159
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuDevices) {
160
+ Object.assign(row, {
161
+ [nvidiaVgpuDevicesKey]: vgpu.nvidiaVgpuDevices
162
+ });
163
+ }
164
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuPriority) {
165
+ Object.assign(row, {
166
+ [nvidiaVgpuPriorityKey]: vgpu.nvidiaVgpuPriority
167
+ });
168
+ }
169
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuGpuSchedule) {
170
+ Object.assign(row, {
171
+ [nvidiaVgpuGpuScheduleKey]: vgpu.nvidiaVgpuGpuSchedule
172
+ });
173
+ }
174
+ if (vgpu == null ? void 0 : vgpu.nvidiaVgpuNodeSchedule) {
175
+ Object.assign(row, {
176
+ [nvidiaVgpuNodeScheduleKey]: vgpu.nvidiaVgpuNodeSchedule
177
+ });
178
+ }
179
+ }
180
+ }
181
+ if (showSide && !sideRows.includes(sideRow)) {
182
+ sideRows.push(sideRow);
183
+ }
184
+ if (!rows.includes(row)) {
185
+ rows.push(row);
186
+ }
187
+ });
188
+ return {
189
+ rows,
190
+ sideRows
191
+ };
192
+ };
193
+ export {
194
+ buildGpuFormFormattedUpdate,
195
+ buildGpuFormInitialRows,
196
+ buildGpuFormSideRow,
197
+ buildGpuFormVgpuUpdateEmits,
198
+ filterGpuFormRows
199
+ };
@@ -0,0 +1,38 @@
1
+ import { type GPUSetting, type GpuUsage, type GpuQuotaItem } from '../types';
2
+ import type { GpuFormOptionsMap } from './gpuForm.internal-types';
3
+ export type GpuFormItemInitialState = {
4
+ values: GpuQuotaItem;
5
+ dynamicQuota?: GpuQuotaItem['resources'];
6
+ openNvidiaAssignGpu: boolean;
7
+ openNvidiaVgpuSchedulePolicy: boolean;
8
+ };
9
+ export type GpuFormItemAdvancedFeatures = {
10
+ enableNvidiaVgpuModel?: boolean;
11
+ enableNvidiaVgpuDevices?: boolean;
12
+ enableNvidiaVgpuPriority?: boolean;
13
+ enableNvidiaVgpuSchedulePolicy?: boolean;
14
+ };
15
+ export type GpuFormItemInitialStateParams = {
16
+ quotaItem: GpuQuotaItem;
17
+ gpuOptionsMap: GpuFormOptionsMap;
18
+ advanced: GpuFormItemAdvancedFeatures;
19
+ };
20
+ export type GpuFormItemChangePayloadParams = {
21
+ quota: GpuQuotaItem;
22
+ dynamicQuota?: GpuQuotaItem['resources'];
23
+ quotaItem: GpuQuotaItem;
24
+ showDynamicForm?: boolean;
25
+ advanced: Pick<GpuFormItemAdvancedFeatures, 'enableNvidiaVgpuPriority' | 'enableNvidiaVgpuSchedulePolicy'>;
26
+ openNvidiaAssignGpu?: boolean;
27
+ openNvidiaVgpuSchedulePolicy?: boolean;
28
+ };
29
+ export type FilterGpuFormItemOptionsParams = {
30
+ gpuOptionsMap: GpuFormOptionsMap;
31
+ quotaType?: string;
32
+ existTypes: string[];
33
+ targetType?: string;
34
+ };
35
+ export declare function buildGpuFormItemDefaultResources(gpuOption: GPUSetting | undefined, gpuUsage: GpuUsage): GpuQuotaItem['resources'];
36
+ export declare function buildGpuFormItemInitialState({ quotaItem, gpuOptionsMap, advanced, }: GpuFormItemInitialStateParams): GpuFormItemInitialState | undefined;
37
+ export declare function buildGpuFormItemChangePayload({ quota, dynamicQuota, quotaItem, showDynamicForm, advanced, openNvidiaAssignGpu, openNvidiaVgpuSchedulePolicy, }: GpuFormItemChangePayloadParams): GpuQuotaItem;
38
+ export declare function filterGpuFormItemOptions({ gpuOptionsMap, quotaType, existTypes, targetType, }: FilterGpuFormItemOptionsParams): Map<string, GPUSetting>;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const lodashEs = require("lodash-es");
4
+ const types = require("../types.js");
5
+ const utils = require("../utils.js");
6
+ function buildGpuFormItemDefaultResources(gpuOption, gpuUsage) {
7
+ var _a;
8
+ if (gpuUsage !== "workload" || !utils.isHamiGpu(gpuOption == null ? void 0 : gpuOption.provider)) {
9
+ return {};
10
+ }
11
+ const cardResource = (_a = gpuOption == null ? void 0 : gpuOption.resource) == null ? void 0 : _a.find((resource) => {
12
+ var _a2;
13
+ return resource.type === "cardNum" && typeof ((_a2 = resource.range) == null ? void 0 : _a2.max) === "number" && resource.range.max > 0;
14
+ });
15
+ if (!(cardResource == null ? void 0 : cardResource.key)) {
16
+ return {};
17
+ }
18
+ return {
19
+ [utils.sanitizeGPUKey(cardResource.key) ?? cardResource.key]: 1
20
+ };
21
+ }
22
+ function buildGpuFormItemInitialState({
23
+ quotaItem,
24
+ gpuOptionsMap,
25
+ advanced
26
+ }) {
27
+ var _a;
28
+ const { id, type, resources } = quotaItem;
29
+ if (!id) {
30
+ return void 0;
31
+ }
32
+ const values = {
33
+ id,
34
+ type
35
+ };
36
+ let dynamicQuota;
37
+ let openNvidiaAssignGpu = false;
38
+ let openNvidiaVgpuSchedulePolicy = false;
39
+ const isDynamic = type && ((_a = gpuOptionsMap.get(type)) == null ? void 0 : _a.isDynamic);
40
+ if (isDynamic) {
41
+ dynamicQuota = utils.deSanitizeGPUObjectKey(resources);
42
+ } else {
43
+ Object.entries(resources ?? {}).forEach(([key, val]) => {
44
+ lodashEs.set(values, ["resources", key], val);
45
+ });
46
+ }
47
+ const isVgpu = utils.isNvidiaVgpu(type ?? "");
48
+ if (isVgpu && (advanced.enableNvidiaVgpuModel || advanced.enableNvidiaVgpuDevices)) {
49
+ const devices = quotaItem[types.nvidiaVgpuDevicesKey];
50
+ const model = quotaItem[types.nvidiaVgpuModelKey];
51
+ const hasDevices = !!(devices == null ? void 0 : devices.length);
52
+ const hasModel = !!model;
53
+ openNvidiaAssignGpu = !!(hasDevices || hasModel);
54
+ if (openNvidiaAssignGpu) {
55
+ if (hasModel) {
56
+ values[types.nvidiaVgpuModelKey] = model;
57
+ } else if (hasDevices) {
58
+ values[types.nvidiaVgpuDevicesKey] = devices;
59
+ }
60
+ }
61
+ }
62
+ if (isVgpu && advanced.enableNvidiaVgpuSchedulePolicy) {
63
+ const gpuSchedule = quotaItem[types.nvidiaVgpuGpuScheduleKey];
64
+ const nodeSchedule = quotaItem[types.nvidiaVgpuNodeScheduleKey];
65
+ openNvidiaVgpuSchedulePolicy = !!gpuSchedule || !!nodeSchedule;
66
+ if (openNvidiaVgpuSchedulePolicy) {
67
+ values[types.nvidiaVgpuGpuScheduleKey] = gpuSchedule;
68
+ values[types.nvidiaVgpuNodeScheduleKey] = nodeSchedule;
69
+ }
70
+ }
71
+ if (advanced.enableNvidiaVgpuPriority) {
72
+ values[types.nvidiaVgpuPriorityKey] = quotaItem[types.nvidiaVgpuPriorityKey];
73
+ }
74
+ return {
75
+ values,
76
+ dynamicQuota,
77
+ openNvidiaAssignGpu,
78
+ openNvidiaVgpuSchedulePolicy
79
+ };
80
+ }
81
+ function buildGpuFormItemChangePayload({
82
+ quota,
83
+ dynamicQuota,
84
+ quotaItem,
85
+ showDynamicForm,
86
+ advanced,
87
+ openNvidiaAssignGpu,
88
+ openNvidiaVgpuSchedulePolicy
89
+ }) {
90
+ if (showDynamicForm) {
91
+ return {
92
+ type: quota.type,
93
+ id: quota.id,
94
+ resources: dynamicQuota,
95
+ removable: quotaItem.removable
96
+ };
97
+ }
98
+ const validResources = Object.fromEntries(
99
+ Object.entries(quota.resources ?? {}).filter(([, value]) => utils.isValidGPUResourceValue(value))
100
+ );
101
+ const newQuota = {
102
+ type: quota.type,
103
+ id: quota.id,
104
+ resources: utils.deSanitizeGPUObjectKey(validResources),
105
+ removable: quotaItem.removable
106
+ };
107
+ if (utils.isNvidiaVgpu(quota.type)) {
108
+ if (openNvidiaAssignGpu) {
109
+ const devices = quota[types.nvidiaVgpuDevicesKey];
110
+ const model = quota[types.nvidiaVgpuModelKey];
111
+ if (model) {
112
+ newQuota[types.nvidiaVgpuModelKey] = model;
113
+ } else if (devices == null ? void 0 : devices.length) {
114
+ newQuota[types.nvidiaVgpuDevicesKey] = devices;
115
+ }
116
+ }
117
+ if (advanced.enableNvidiaVgpuPriority) {
118
+ newQuota[types.nvidiaVgpuPriorityKey] = quota[types.nvidiaVgpuPriorityKey];
119
+ }
120
+ if (advanced.enableNvidiaVgpuSchedulePolicy) {
121
+ if (openNvidiaVgpuSchedulePolicy) {
122
+ Object.assign(newQuota, {
123
+ [types.nvidiaVgpuGpuScheduleKey]: quota[types.nvidiaVgpuGpuScheduleKey],
124
+ [types.nvidiaVgpuNodeScheduleKey]: quota[types.nvidiaVgpuNodeScheduleKey]
125
+ });
126
+ } else {
127
+ Object.assign(newQuota, {
128
+ [types.nvidiaVgpuGpuScheduleKey]: void 0,
129
+ [types.nvidiaVgpuNodeScheduleKey]: void 0
130
+ });
131
+ }
132
+ }
133
+ }
134
+ return newQuota;
135
+ }
136
+ function filterGpuFormItemOptions({
137
+ gpuOptionsMap,
138
+ quotaType,
139
+ existTypes,
140
+ targetType
141
+ }) {
142
+ const map = /* @__PURE__ */ new Map();
143
+ gpuOptionsMap.forEach((option, key) => {
144
+ if (key === quotaType || !existTypes.includes(key) && (!targetType || targetType && key === targetType)) {
145
+ map.set(key, option);
146
+ }
147
+ });
148
+ return map;
149
+ }
150
+ exports.buildGpuFormItemChangePayload = buildGpuFormItemChangePayload;
151
+ exports.buildGpuFormItemDefaultResources = buildGpuFormItemDefaultResources;
152
+ exports.buildGpuFormItemInitialState = buildGpuFormItemInitialState;
153
+ exports.filterGpuFormItemOptions = filterGpuFormItemOptions;