@northern.tech/store 0.5.2 → 0.6.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 (261) hide show
  1. package/dist/actions.cjs +47 -0
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +14 -15
  4. package/dist/actions.d.ts +14 -15
  5. package/dist/actions.js +10 -10
  6. package/dist/api/general-api.cjs +5 -6
  7. package/dist/api/general-api.cjs.map +1 -1
  8. package/dist/api/general-api.d.cts +8 -8
  9. package/dist/api/general-api.d.ts +8 -8
  10. package/dist/api/general-api.js +4 -4
  11. package/dist/api/users-api.cjs +5 -6
  12. package/dist/api/users-api.cjs.map +1 -1
  13. package/dist/api/users-api.d.cts +1 -1
  14. package/dist/api/users-api.d.ts +1 -1
  15. package/dist/api/users-api.js +5 -5
  16. package/dist/appSlice/constants.cjs +1 -0
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +5 -0
  19. package/dist/appSlice/constants.d.ts +5 -0
  20. package/dist/appSlice/constants.js +1 -1
  21. package/dist/appSlice/index.cjs +1 -0
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.js +3 -3
  24. package/dist/appSlice/mocks.cjs +1 -0
  25. package/dist/appSlice/mocks.cjs.map +1 -1
  26. package/dist/appSlice/mocks.js +3 -3
  27. package/dist/appSlice/selectors.d.cts +9 -9
  28. package/dist/appSlice/selectors.d.ts +9 -9
  29. package/dist/appSlice/thunks.cjs +84 -27
  30. package/dist/appSlice/thunks.cjs.map +1 -1
  31. package/dist/appSlice/thunks.d.cts +1 -1
  32. package/dist/appSlice/thunks.d.ts +1 -1
  33. package/dist/appSlice/thunks.js +26 -26
  34. package/dist/auth.cjs +4 -5
  35. package/dist/auth.cjs.map +1 -1
  36. package/dist/auth.js +3 -3
  37. package/dist/{chunk-H5FAPMJJ.js → chunk-2ASLHSBV.js} +9 -9
  38. package/dist/{chunk-KC7SKI3U.js → chunk-2M5W3IDP.js} +8 -5
  39. package/dist/{chunk-KC7SKI3U.js.map → chunk-2M5W3IDP.js.map} +1 -1
  40. package/dist/{chunk-V3QEONX7.js → chunk-3ECSADAW.js} +13 -13
  41. package/dist/{chunk-YY6SKZDF.js → chunk-67GS7ERY.js} +3 -12
  42. package/dist/chunk-67GS7ERY.js.map +1 -0
  43. package/dist/{chunk-UGSLGUS6.js → chunk-7BKDELUQ.js} +2 -2
  44. package/dist/{chunk-QHK7GGV4.js → chunk-B7GXA42G.js} +3 -3
  45. package/dist/{chunk-PGFVHKP5.js → chunk-CEH2D355.js} +2 -2
  46. package/dist/{chunk-VUFRP6P3.js → chunk-EIIFEV62.js} +2 -2
  47. package/dist/chunk-EIIFEV62.js.map +1 -0
  48. package/dist/{chunk-3P3IE42O.js → chunk-GN2HC6HW.js} +70 -61
  49. package/dist/chunk-GN2HC6HW.js.map +1 -0
  50. package/dist/{chunk-ABJLRDCO.js → chunk-MVK6W7ZH.js} +2 -2
  51. package/dist/chunk-MVK6W7ZH.js.map +1 -0
  52. package/dist/{chunk-HFOTAPIJ.js → chunk-N3XU7WJM.js} +2 -1
  53. package/dist/chunk-N3XU7WJM.js.map +1 -0
  54. package/dist/{chunk-QYLGIR4W.js → chunk-PB36MEEN.js} +3 -2
  55. package/dist/chunk-PB36MEEN.js.map +1 -0
  56. package/dist/{chunk-F26IKSML.js → chunk-PTQS3JDZ.js} +10 -10
  57. package/dist/{chunk-QKPV5RRN.js → chunk-QPHDDTQC.js} +55 -21
  58. package/dist/chunk-QPHDDTQC.js.map +1 -0
  59. package/dist/{chunk-MZNANSS2.js → chunk-RRL7OZHU.js} +2 -2
  60. package/dist/{chunk-MSOXMRF7.js → chunk-RWGVRDFG.js} +12 -3
  61. package/dist/chunk-RWGVRDFG.js.map +1 -0
  62. package/dist/{chunk-RS37Y2PQ.js → chunk-TL6KSTZZ.js} +4 -4
  63. package/dist/chunk-TL6KSTZZ.js.map +1 -0
  64. package/dist/{chunk-SCZLNFB5.js → chunk-TU4IVT3M.js} +14 -14
  65. package/dist/{chunk-R6KRH2IY.js → chunk-VIV6U46F.js} +6 -4
  66. package/dist/chunk-VIV6U46F.js.map +1 -0
  67. package/dist/{chunk-ZJW3QIPM.js → chunk-W2RDUU5Q.js} +2 -2
  68. package/dist/{chunk-OOICURFL.js → chunk-WD7MIPCO.js} +48 -2
  69. package/dist/chunk-WD7MIPCO.js.map +1 -0
  70. package/dist/{chunk-KJNNEDRV.js → chunk-XLXLFSZA.js} +2 -2
  71. package/dist/{chunk-UE5N5VO3.js → chunk-XZDCXV4H.js} +3 -3
  72. package/dist/chunk-XZDCXV4H.js.map +1 -0
  73. package/dist/{chunk-7C4SQBEE.js → chunk-YEQ7D6AW.js} +5 -6
  74. package/dist/chunk-YEQ7D6AW.js.map +1 -0
  75. package/dist/{chunk-JXQUFKID.js → chunk-ZABYTBKG.js} +7 -2
  76. package/dist/chunk-ZABYTBKG.js.map +1 -0
  77. package/dist/commonConstants.cjs +4 -5
  78. package/dist/commonConstants.cjs.map +1 -1
  79. package/dist/commonConstants.d.cts +14 -13
  80. package/dist/commonConstants.d.ts +14 -13
  81. package/dist/commonConstants.js +2 -2
  82. package/dist/commonSelectors.cjs +14 -25
  83. package/dist/commonSelectors.cjs.map +1 -1
  84. package/dist/commonSelectors.d.cts +127 -138
  85. package/dist/commonSelectors.d.ts +127 -138
  86. package/dist/commonSelectors.js +10 -10
  87. package/dist/constants.cjs +5 -5
  88. package/dist/constants.cjs.map +1 -1
  89. package/dist/constants.d.cts +1 -1
  90. package/dist/constants.d.ts +1 -1
  91. package/dist/constants.js +2 -2
  92. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  93. package/dist/deploymentsSlice/constants.d.cts +2 -2
  94. package/dist/deploymentsSlice/constants.d.ts +2 -2
  95. package/dist/deploymentsSlice/constants.js +2 -2
  96. package/dist/deploymentsSlice/index.cjs.map +1 -1
  97. package/dist/deploymentsSlice/index.d.cts +5 -4
  98. package/dist/deploymentsSlice/index.d.ts +5 -4
  99. package/dist/deploymentsSlice/index.js +3 -3
  100. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  101. package/dist/deploymentsSlice/mocks.js +3 -3
  102. package/dist/deploymentsSlice/selectors.cjs +6 -0
  103. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  104. package/dist/deploymentsSlice/selectors.d.cts +25 -4
  105. package/dist/deploymentsSlice/selectors.d.ts +25 -4
  106. package/dist/deploymentsSlice/selectors.js +5 -3
  107. package/dist/deploymentsSlice/thunks.cjs +86 -27
  108. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  109. package/dist/deploymentsSlice/thunks.d.cts +17 -4
  110. package/dist/deploymentsSlice/thunks.d.ts +17 -4
  111. package/dist/deploymentsSlice/thunks.js +28 -26
  112. package/dist/devicesSlice/constants.js +2 -2
  113. package/dist/devicesSlice/index.cjs.map +1 -1
  114. package/dist/devicesSlice/index.d.cts +4 -4
  115. package/dist/devicesSlice/index.d.ts +4 -4
  116. package/dist/devicesSlice/index.js +3 -3
  117. package/dist/devicesSlice/mocks.cjs +4 -4
  118. package/dist/devicesSlice/mocks.cjs.map +1 -1
  119. package/dist/devicesSlice/mocks.js +7 -7
  120. package/dist/devicesSlice/mocks.js.map +1 -1
  121. package/dist/devicesSlice/selectors.cjs +4 -5
  122. package/dist/devicesSlice/selectors.cjs.map +1 -1
  123. package/dist/devicesSlice/selectors.d.cts +23 -23
  124. package/dist/devicesSlice/selectors.d.ts +23 -23
  125. package/dist/devicesSlice/selectors.js +3 -3
  126. package/dist/devicesSlice/thunks.cjs +84 -27
  127. package/dist/devicesSlice/thunks.cjs.map +1 -1
  128. package/dist/devicesSlice/thunks.d.cts +5 -5
  129. package/dist/devicesSlice/thunks.d.ts +5 -5
  130. package/dist/devicesSlice/thunks.js +26 -26
  131. package/dist/liststatehook.cjs +10 -8
  132. package/dist/liststatehook.cjs.map +1 -1
  133. package/dist/liststatehook.d.cts +4 -2
  134. package/dist/liststatehook.d.ts +4 -2
  135. package/dist/liststatehook.js +3 -3
  136. package/dist/locationutils.cjs +10 -8
  137. package/dist/locationutils.cjs.map +1 -1
  138. package/dist/locationutils.d.cts +3 -1
  139. package/dist/locationutils.d.ts +3 -1
  140. package/dist/locationutils.js +3 -3
  141. package/dist/monitorSlice/index.js +3 -3
  142. package/dist/monitorSlice/mocks.js +3 -3
  143. package/dist/monitorSlice/thunks.cjs +62 -16
  144. package/dist/monitorSlice/thunks.cjs.map +1 -1
  145. package/dist/monitorSlice/thunks.d.cts +1 -1
  146. package/dist/monitorSlice/thunks.d.ts +1 -1
  147. package/dist/monitorSlice/thunks.js +22 -22
  148. package/dist/onboardingSlice/thunks.cjs +84 -27
  149. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  150. package/dist/onboardingSlice/thunks.d.cts +1 -1
  151. package/dist/onboardingSlice/thunks.d.ts +1 -1
  152. package/dist/onboardingSlice/thunks.js +26 -26
  153. package/dist/organizationSlice/constants.js +2 -2
  154. package/dist/organizationSlice/index.js +3 -3
  155. package/dist/organizationSlice/mocks.d.cts +2 -2
  156. package/dist/organizationSlice/mocks.d.ts +2 -2
  157. package/dist/organizationSlice/mocks.js +3 -3
  158. package/dist/organizationSlice/selectors.cjs +4 -25
  159. package/dist/organizationSlice/selectors.cjs.map +1 -1
  160. package/dist/organizationSlice/selectors.d.cts +45 -203
  161. package/dist/organizationSlice/selectors.d.ts +45 -203
  162. package/dist/organizationSlice/selectors.js +3 -5
  163. package/dist/organizationSlice/thunks.cjs +107 -51
  164. package/dist/organizationSlice/thunks.cjs.map +1 -1
  165. package/dist/organizationSlice/thunks.d.cts +6 -6
  166. package/dist/organizationSlice/thunks.d.ts +6 -6
  167. package/dist/organizationSlice/thunks.js +26 -26
  168. package/dist/organizationSlice/types.cjs.map +1 -1
  169. package/dist/organizationSlice/types.d.cts +8 -30
  170. package/dist/organizationSlice/types.d.ts +8 -30
  171. package/dist/releasesSlice/index.cjs +46 -0
  172. package/dist/releasesSlice/index.cjs.map +1 -1
  173. package/dist/releasesSlice/index.d.cts +55 -5
  174. package/dist/releasesSlice/index.d.ts +55 -5
  175. package/dist/releasesSlice/index.js +3 -3
  176. package/dist/releasesSlice/mocks.cjs +46 -0
  177. package/dist/releasesSlice/mocks.cjs.map +1 -1
  178. package/dist/releasesSlice/mocks.d.cts +11 -0
  179. package/dist/releasesSlice/mocks.d.ts +11 -0
  180. package/dist/releasesSlice/mocks.js +3 -3
  181. package/dist/releasesSlice/selectors.cjs +17 -5
  182. package/dist/releasesSlice/selectors.cjs.map +1 -1
  183. package/dist/releasesSlice/selectors.d.cts +210 -27
  184. package/dist/releasesSlice/selectors.d.ts +210 -27
  185. package/dist/releasesSlice/selectors.js +12 -4
  186. package/dist/releasesSlice/thunks.cjs +109 -27
  187. package/dist/releasesSlice/thunks.cjs.map +1 -1
  188. package/dist/releasesSlice/thunks.d.cts +71 -6
  189. package/dist/releasesSlice/thunks.d.ts +71 -6
  190. package/dist/releasesSlice/thunks.js +27 -23
  191. package/dist/selectors.cjs +29 -28
  192. package/dist/selectors.cjs.map +1 -1
  193. package/dist/selectors.d.cts +5 -19
  194. package/dist/selectors.d.ts +5 -19
  195. package/dist/selectors.js +30 -20
  196. package/dist/sockethook.cjs +4 -5
  197. package/dist/sockethook.cjs.map +1 -1
  198. package/dist/sockethook.js +2 -2
  199. package/dist/store.cjs +47 -0
  200. package/dist/store.cjs.map +1 -1
  201. package/dist/store.d.cts +22 -121
  202. package/dist/store.d.ts +22 -121
  203. package/dist/store.js +12 -12
  204. package/dist/storehooks.cjs +154 -65
  205. package/dist/storehooks.cjs.map +1 -1
  206. package/dist/storehooks.js +27 -26
  207. package/dist/storehooks.js.map +1 -1
  208. package/dist/thunks.cjs +158 -64
  209. package/dist/thunks.cjs.map +1 -1
  210. package/dist/thunks.d.cts +4 -4
  211. package/dist/thunks.d.ts +4 -4
  212. package/dist/thunks.js +34 -28
  213. package/dist/useDeploymentDevice.cjs +84 -27
  214. package/dist/useDeploymentDevice.cjs.map +1 -1
  215. package/dist/useDeploymentDevice.js +26 -26
  216. package/dist/usersSlice/constants.js +2 -2
  217. package/dist/usersSlice/index.js +3 -3
  218. package/dist/usersSlice/mocks.cjs +1 -0
  219. package/dist/usersSlice/mocks.cjs.map +1 -1
  220. package/dist/usersSlice/mocks.d.cts +3 -3
  221. package/dist/usersSlice/mocks.d.ts +3 -3
  222. package/dist/usersSlice/mocks.js +4 -3
  223. package/dist/usersSlice/mocks.js.map +1 -1
  224. package/dist/usersSlice/selectors.cjs +8 -6
  225. package/dist/usersSlice/selectors.cjs.map +1 -1
  226. package/dist/usersSlice/selectors.d.cts +33 -34
  227. package/dist/usersSlice/selectors.d.ts +33 -34
  228. package/dist/usersSlice/selectors.js +6 -4
  229. package/dist/usersSlice/thunks.cjs +86 -29
  230. package/dist/usersSlice/thunks.cjs.map +1 -1
  231. package/dist/usersSlice/thunks.d.cts +19 -11
  232. package/dist/usersSlice/thunks.d.ts +19 -11
  233. package/dist/usersSlice/thunks.js +28 -28
  234. package/dist/utils.cjs +4 -5
  235. package/dist/utils.cjs.map +1 -1
  236. package/dist/utils.js +3 -3
  237. package/package.json +5 -5
  238. package/dist/chunk-3P3IE42O.js.map +0 -1
  239. package/dist/chunk-7C4SQBEE.js.map +0 -1
  240. package/dist/chunk-ABJLRDCO.js.map +0 -1
  241. package/dist/chunk-HFOTAPIJ.js.map +0 -1
  242. package/dist/chunk-JXQUFKID.js.map +0 -1
  243. package/dist/chunk-MSOXMRF7.js.map +0 -1
  244. package/dist/chunk-OOICURFL.js.map +0 -1
  245. package/dist/chunk-QKPV5RRN.js.map +0 -1
  246. package/dist/chunk-QYLGIR4W.js.map +0 -1
  247. package/dist/chunk-R6KRH2IY.js.map +0 -1
  248. package/dist/chunk-RS37Y2PQ.js.map +0 -1
  249. package/dist/chunk-UE5N5VO3.js.map +0 -1
  250. package/dist/chunk-VUFRP6P3.js.map +0 -1
  251. package/dist/chunk-YY6SKZDF.js.map +0 -1
  252. /package/dist/{chunk-H5FAPMJJ.js.map → chunk-2ASLHSBV.js.map} +0 -0
  253. /package/dist/{chunk-V3QEONX7.js.map → chunk-3ECSADAW.js.map} +0 -0
  254. /package/dist/{chunk-UGSLGUS6.js.map → chunk-7BKDELUQ.js.map} +0 -0
  255. /package/dist/{chunk-QHK7GGV4.js.map → chunk-B7GXA42G.js.map} +0 -0
  256. /package/dist/{chunk-PGFVHKP5.js.map → chunk-CEH2D355.js.map} +0 -0
  257. /package/dist/{chunk-F26IKSML.js.map → chunk-PTQS3JDZ.js.map} +0 -0
  258. /package/dist/{chunk-MZNANSS2.js.map → chunk-RRL7OZHU.js.map} +0 -0
  259. /package/dist/{chunk-SCZLNFB5.js.map → chunk-TU4IVT3M.js.map} +0 -0
  260. /package/dist/{chunk-ZJW3QIPM.js.map → chunk-W2RDUU5Q.js.map} +0 -0
  261. /package/dist/{chunk-KJNNEDRV.js.map → chunk-XLXLFSZA.js.map} +0 -0
package/dist/thunks.cjs CHANGED
@@ -68,6 +68,7 @@ __export(thunks_exports, {
68
68
  editTenantDeviceLimit: () => editTenantDeviceLimit,
69
69
  editUser: () => editUser,
70
70
  enableUser2fa: () => enableUser2fa,
71
+ generateDeploymentLogAnalysis: () => generateDeploymentLogAnalysis,
71
72
  generateToken: () => generateToken,
72
73
  get2FAQRCode: () => get2FAQRCode,
73
74
  getAllDeviceCounts: () => getAllDeviceCounts,
@@ -81,6 +82,8 @@ __export(thunks_exports, {
81
82
  getBillingPreview: () => getBillingPreview,
82
83
  getCurrentCard: () => getCurrentCard,
83
84
  getCurrentSubscription: () => getCurrentSubscription,
85
+ getDeltaGenerationJobDetails: () => getDeltaGenerationJobDetails,
86
+ getDeltaGenerationJobs: () => getDeltaGenerationJobs,
84
87
  getDeploymentDevices: () => getDeploymentDevices,
85
88
  getDeploymentsByStatus: () => getDeploymentsByStatus2,
86
89
  getDeploymentsConfig: () => getDeploymentsConfig,
@@ -183,7 +186,7 @@ __export(thunks_exports, {
183
186
  startCardUpdate: () => startCardUpdate,
184
187
  startUpgrade: () => startUpgrade,
185
188
  storeSsoConfig: () => storeSsoConfig,
186
- submitFeedback: () => submitFeedback,
189
+ submitUserFeedback: () => submitUserFeedback,
187
190
  switchUserOrganization: () => switchUserOrganization,
188
191
  tenantDataDivergedMessage: () => tenantDataDivergedMessage,
189
192
  triggerDeviceUpdate: () => triggerDeviceUpdate,
@@ -225,6 +228,7 @@ var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.k
225
228
  var defaultReportType = "distribution";
226
229
  var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
227
230
  var locations = {
231
+ cn: { key: "cn", title: "China", location: "hosted.mender.cn" },
228
232
  eu: { key: "eu", title: "EU", location: "eu.hosted.mender.io" },
229
233
  us: { key: "us", title: "US", location: "hosted.mender.io" }
230
234
  };
@@ -344,7 +348,6 @@ var DARK_MODE = "dark";
344
348
 
345
349
  // src/commonConstants.tsx
346
350
  var import_js = require("@mdi/js");
347
- var import_MenderTypes = require("@northern.tech/types/MenderTypes");
348
351
  var import_jsx_runtime = require("react/jsx-runtime");
349
352
  var timeUnits = {
350
353
  days: "days",
@@ -368,9 +371,9 @@ var TIMEOUTS = {
368
371
  var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
369
372
  var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants5.ATTRIBUTE_SCOPES.identity });
370
373
  var credentialTypes = {
371
- aws: import_MenderTypes.Credentials.type.AWS,
372
- http: import_MenderTypes.Credentials.type.HTTP,
373
- sas: import_MenderTypes.Credentials.type.SAS,
374
+ aws: "aws",
375
+ http: "http",
376
+ sas: "sas",
374
377
  x509: "x509"
375
378
  };
376
379
  var EXTERNAL_PROVIDER = {
@@ -418,7 +421,7 @@ var EXTERNAL_PROVIDER = {
418
421
  };
419
422
  var emptyWebhook = {
420
423
  description: "",
421
- provider: import_MenderTypes.Integration.provider.WEBHOOK,
424
+ provider: "webhook",
422
425
  credentials: {
423
426
  type: EXTERNAL_PROVIDER.webhook.credentialsType,
424
427
  [EXTERNAL_PROVIDER.webhook.credentialsType]: {
@@ -947,6 +950,7 @@ var initialState = {
947
950
  },
948
951
  // return boolean rather than organization details
949
952
  features: {
953
+ hasAiEnabled: false,
950
954
  hasAuditlogs: false,
951
955
  hasDeltaProgress: false,
952
956
  hasMultitenancy: false,
@@ -1110,7 +1114,7 @@ var cleanUp = () => {
1110
1114
 
1111
1115
  // src/api/general-api.ts
1112
1116
  var unauthorizedRedirect = (error) => {
1113
- if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken()) {
1117
+ if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
1114
1118
  cleanUp();
1115
1119
  window.location.replace("/ui/");
1116
1120
  }
@@ -1156,9 +1160,9 @@ var getIsUploading = (0, import_toolkit2.createSelector)([getUploads], (uploadsB
1156
1160
  var getSearchedDevices = (0, import_toolkit2.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
1157
1161
  var getVersionInformation = (0, import_toolkit2.createSelector)(
1158
1162
  [getFullVersionInformation, getFeatures],
1159
- ({ Integration: Integration2, ...remainder }, { isHosted }) => isHosted && Integration2 !== "next" ? remainder : { ...remainder, Integration: Integration2 }
1163
+ ({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
1160
1164
  );
1161
- var getIsPreview = (0, import_toolkit2.createSelector)([getFullVersionInformation], ({ Integration: Integration2 }) => (0, import_helpers.versionCompare)(Integration2, "next") > -1);
1165
+ var getIsPreview = (0, import_toolkit2.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers.versionCompare)(Integration, "next") > -1);
1162
1166
 
1163
1167
  // src/commonSelectors.ts
1164
1168
  var import_helpers4 = require("@northern.tech/utils/helpers");
@@ -1170,6 +1174,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
1170
1174
  var getDeploymentsByStatus = (state) => state.deployments.byStatus;
1171
1175
  var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
1172
1176
  var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
1177
+ var getDeploymentById = (0, import_toolkit3.createSelector)(
1178
+ [getDeploymentsById, (_, deploymentId) => deploymentId],
1179
+ (deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
1180
+ );
1173
1181
  var getMappedDeploymentSelection = (0, import_toolkit3.createSelector)(
1174
1182
  [getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
1175
1183
  (selectionState, deploymentsState, deploymentsById) => {
@@ -1319,8 +1327,6 @@ var getOnboarding = (state) => state.onboarding;
1319
1327
 
1320
1328
  // src/organizationSlice/selectors.ts
1321
1329
  var import_toolkit5 = require("@reduxjs/toolkit");
1322
- var import_dayjs = __toESM(require("dayjs"), 1);
1323
- var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
1324
1330
  var getOrganization = (state) => state.organization.organization;
1325
1331
  var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
1326
1332
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
@@ -1349,12 +1355,6 @@ var getAuditLogEntry = (0, import_toolkit5.createSelector)([getAuditLog, getAudi
1349
1355
  const [eventAction, eventTime] = atob(selectedId).split("|");
1350
1356
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1351
1357
  });
1352
- import_dayjs.default.extend(import_relativeTime.default);
1353
- var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
1354
- var getHasCurrentPricing = (0, import_toolkit5.createSelector)(
1355
- [getOrganization],
1356
- ({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
1357
- );
1358
1358
 
1359
1359
  // src/releasesSlice/selectors.ts
1360
1360
  var import_toolkit6 = require("@reduxjs/toolkit");
@@ -1505,6 +1505,10 @@ var getHasReleases = (0, import_toolkit6.createSelector)(
1505
1505
  );
1506
1506
  var getSelectedRelease = (0, import_toolkit6.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
1507
1507
  var getSelectedReleases = (0, import_toolkit6.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
1508
+ var getDeltaJobsById = (state) => state.releases.deltaJobs;
1509
+ var getDeltaJobById = (0, import_toolkit6.createSelector)([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId) => byId[jobId]);
1510
+ var getSelectedJobId = (state) => state.releases.selectedJob;
1511
+ var getSelectedJob = (0, import_toolkit6.createSelector)([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || ""]);
1508
1512
 
1509
1513
  // src/usersSlice/selectors.ts
1510
1514
  var import_toolkit7 = require("@reduxjs/toolkit");
@@ -2301,6 +2305,23 @@ var initialState7 = {
2301
2305
  }
2302
2306
  */
2303
2307
  },
2308
+ deltaJobs: {
2309
+ /*
2310
+ [jobId]: {
2311
+ id: '',
2312
+ ...
2313
+ }
2314
+ */
2315
+ },
2316
+ deltaJobsList: {
2317
+ ...import_constants5.DEVICE_LIST_DEFAULTS,
2318
+ jobIds: [],
2319
+ total: 0,
2320
+ sort: {
2321
+ direction: import_constants5.SORTING_OPTIONS.desc,
2322
+ key: "started"
2323
+ }
2324
+ },
2304
2325
  releasesList: {
2305
2326
  ...import_constants5.DEVICE_LIST_DEFAULTS,
2306
2327
  searchedIds: [],
@@ -2319,6 +2340,7 @@ var initialState7 = {
2319
2340
  },
2320
2341
  tags: [],
2321
2342
  updateTypes: [],
2343
+ selectedJob: null,
2322
2344
  /*
2323
2345
  * Return single release with corresponding Artifacts
2324
2346
  */
@@ -2351,6 +2373,34 @@ var releaseSlice = (0, import_toolkit14.createSlice)({
2351
2373
  },
2352
2374
  setReleaseListState: (state, action) => {
2353
2375
  state.releasesList = action.payload;
2376
+ },
2377
+ receivedDeltaJobs: (state, action) => {
2378
+ const { jobs, total } = action.payload;
2379
+ state.deltaJobs = jobs.reduce(
2380
+ (accu, job) => {
2381
+ accu[job.id] = {
2382
+ ...accu[job.id],
2383
+ ...job
2384
+ };
2385
+ return accu;
2386
+ },
2387
+ { ...state.deltaJobs }
2388
+ );
2389
+ state.deltaJobsList.jobIds = jobs.map((job) => job.id);
2390
+ state.deltaJobsList.total = total;
2391
+ },
2392
+ receivedDeltaJobDetails: (state, action) => {
2393
+ const job = action.payload;
2394
+ state.deltaJobs[job.id] = {
2395
+ ...state.deltaJobs[job.id],
2396
+ ...job
2397
+ };
2398
+ },
2399
+ setDeltaJobsListState: (state, action) => {
2400
+ state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };
2401
+ },
2402
+ setSelectedJob: (state, action) => {
2403
+ state.selectedJob = action.payload;
2354
2404
  }
2355
2405
  }
2356
2406
  });
@@ -2709,6 +2759,8 @@ var transformDeployments = (deployments, deploymentsById) => deployments.sort((0
2709
2759
  ...deploymentPrototype,
2710
2760
  ...deploymentsById[item.id],
2711
2761
  ...item,
2762
+ // TODO: explicitly set filter term types to address scope type mismatch in deployment specs
2763
+ // @ts-expect-error: type misalignment in filter terms type
2712
2764
  filter: filter ? { ...filter, name: filter.name ?? filter.id, filters: mapTermsToFilters(filter.terms) } : void 0,
2713
2765
  name: decodeURIComponent(item.name)
2714
2766
  };
@@ -3052,6 +3104,15 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
3052
3104
  });
3053
3105
  }
3054
3106
  );
3107
+ var generateDeploymentLogAnalysis = createAppAsyncThunk(
3108
+ `${sliceName2}/generateDeploymentLogAnalysis`,
3109
+ ({ deploymentId, deviceId }, { dispatch, rejectWithValue }) => general_api_default.get(`${import_constants5.apiRoot}/v1alpha1/deployments/deployments/${deploymentId}/devices/${deviceId}/log/explain`).then(({ data: result }) => Promise.resolve(result)).catch((err) => {
3110
+ if (err.response.status === 429) {
3111
+ return rejectWithValue(err.response);
3112
+ }
3113
+ commonErrorHandler(err, "There was an error analysing the deployment log:", dispatch);
3114
+ })
3115
+ );
3055
3116
 
3056
3117
  // src/devicesSlice/thunks.tsx
3057
3118
  var import_react_router_dom = require("react-router-dom");
@@ -3131,15 +3192,15 @@ var removeDevicesFromGroup = createAppAsyncThunk(
3131
3192
  )
3132
3193
  );
3133
3194
  var getGroupNotification = (newGroup, selectedGroup) => {
3134
- const successMessage2 = "The group was updated successfully";
3195
+ const successMessage = "The group was updated successfully";
3135
3196
  if (newGroup === selectedGroup) {
3136
- return { message: successMessage2, autoHideDuration: TIMEOUTS.fiveSeconds };
3197
+ return { message: successMessage, autoHideDuration: TIMEOUTS.fiveSeconds };
3137
3198
  }
3138
3199
  return {
3139
3200
  action: "",
3140
3201
  autoHideDuration: TIMEOUTS.fiveSeconds,
3141
3202
  message: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
3142
- successMessage2,
3203
+ successMessage,
3143
3204
  " - ",
3144
3205
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_router_dom.Link, { to: `/devices?inventory=group:eq:${newGroup}`, children: "click here" }),
3145
3206
  " to see it."
@@ -3671,9 +3732,10 @@ var getDeviceConnect = createAppAsyncThunk(
3671
3732
  var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
3672
3733
  var triggerDeviceUpdate = createAppAsyncThunk(
3673
3734
  `${sliceName3}/triggerDeviceUpdate`,
3674
- ({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
3675
- () => new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds))
3676
- )
3735
+ ({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).catch((err) => commonErrorHandler(err, `The request couldn\u2019t be sent.`, dispatch)).then(() => {
3736
+ dispatch(setSnackbar3("Request has been sent."));
3737
+ return new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds));
3738
+ })
3677
3739
  );
3678
3740
  var getSessionDetails = createAppAsyncThunk(
3679
3741
  `${sliceName3}/getSessionDetails`,
@@ -4107,15 +4169,14 @@ var advanceOnboarding = createAppAsyncThunk(`${sliceName5}/advanceOnboarding`, (
4107
4169
  });
4108
4170
 
4109
4171
  // src/organizationSlice/thunks.ts
4110
- var import_MenderTypes2 = require("@northern.tech/types/MenderTypes");
4111
4172
  var import_helpers11 = require("@northern.tech/utils/helpers");
4112
- var import_dayjs2 = __toESM(require("dayjs"), 1);
4173
+ var import_dayjs = __toESM(require("dayjs"), 1);
4113
4174
  var import_utc = __toESM(require("dayjs/plugin/utc.js"), 1);
4114
4175
  var import_jwt_decode = require("jwt-decode");
4115
4176
  var import_md5 = __toESM(require("md5"), 1);
4116
4177
  var import_universal_cookie4 = __toESM(require("universal-cookie"), 1);
4117
4178
  var cookies4 = new import_universal_cookie4.default();
4118
- import_dayjs2.default.extend(import_utc.default);
4179
+ import_dayjs.default.extend(import_utc.default);
4119
4180
  var { setAnnouncement, setSnackbar: setSnackbar4 } = actions_default;
4120
4181
  var { page: defaultPage4, perPage: defaultPerPage4 } = import_constants5.DEVICE_LIST_DEFAULTS;
4121
4182
  var cancelRequest = createAppAsyncThunk(`${sliceName6}/cancelRequest`, (reason, { dispatch, getState }) => {
@@ -4142,10 +4203,12 @@ var createOrganizationTrial = createAppAsyncThunk(`${sliceName6}/createOrganizat
4142
4203
  const targetLocation = getTargetLocation(key);
4143
4204
  const target = `${targetLocation}${import_constants5.tenantadmApiUrlv2}/tenants/trial`;
4144
4205
  return general_api_default.postUnauthorized(target, data).catch((err) => {
4145
- if (err.response.status >= 400 && err.response.status < 500) {
4206
+ if (err.response?.status >= 400 && err.response?.status < 500) {
4146
4207
  dispatch(setSnackbar4({ message: err.response.data.error, autoHideDuration: TIMEOUTS.fiveSeconds }));
4147
- return Promise.reject(err);
4208
+ } else {
4209
+ dispatch(setSnackbar4({ message: "There was an error creating your account", autoHideDuration: TIMEOUTS.fiveSeconds }));
4148
4210
  }
4211
+ return Promise.reject(err);
4149
4212
  }).then(({ headers }) => {
4150
4213
  cookies4.remove("oauth");
4151
4214
  cookies4.remove("externalID");
@@ -4327,32 +4390,29 @@ var getUserOrganization = createAppAsyncThunk(
4327
4390
  );
4328
4391
  var getUserBilling = createAppAsyncThunk(
4329
4392
  `${sliceName6}/getUserBilling`,
4330
- (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).then((res) => dispatch(actions6.setBillingProfile(res.data)))
4393
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).catch((err) => commonErrorHandler(err, "There was an error getting your billing profile:", dispatch, commonErrorFallback)).then((res) => dispatch(actions6.setBillingProfile(res.data)))
4331
4394
  );
4332
- var getUserSubscription = createAppAsyncThunk(`${sliceName6}/getUserSubscription`, (_, { dispatch }) => {
4333
- const tasks = [dispatch(getBillingPreview({ preview_mode: import_MenderTypes2.PreviewRequest.preview_mode.NEXT })).unwrap(), dispatch(getCurrentSubscription()).unwrap()];
4334
- Promise.all(tasks).then(([currentPreview, currentSubscription]) => dispatch(actions6.setSubscription({ ...currentPreview, ...currentSubscription })));
4395
+ var getUserSubscription = createAppAsyncThunk(`${sliceName6}/getUserSubscription`, async (_, { dispatch }) => {
4396
+ const currentSubscription = await dispatch(getCurrentSubscription()).unwrap();
4397
+ const currentPreview = await dispatch(getBillingPreview({ preview_mode: "next" })).unwrap();
4398
+ return dispatch(actions6.setSubscription({ ...currentPreview, ...currentSubscription }));
4335
4399
  });
4336
4400
  var getBillingPreview = createAppAsyncThunk(
4337
4401
  `${sliceName6}/getBillingPreview`,
4338
- (order) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).then(
4339
- ({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data
4340
- )
4402
+ (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).catch((err) => commonErrorHandler(err, "There was an error getting your billing information:", dispatch, commonErrorFallback)).then(({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data)
4341
4403
  );
4342
4404
  var getCurrentSubscription = createAppAsyncThunk(
4343
4405
  `${sliceName6}/getCurrentSubscription`,
4344
- () => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data)
4406
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data).catch((err) => {
4407
+ if (err.response && err.response.status === 404) {
4408
+ throw new Error("Request failed with status code 404");
4409
+ }
4410
+ return commonErrorHandler(err, "There was an error retrieving your current subscription", dispatch, commonErrorFallback);
4411
+ })
4345
4412
  );
4346
- var successMessage = (planId) => `Thank you! You have successfully subscribed to the ${PLANS[planId].name} plan. You can view and edit your billing details on the Organization and billing page.`;
4347
4413
  var requestPlanUpgrade = createAppAsyncThunk(
4348
4414
  `${sliceName6}/requestPlanUpgrade`,
4349
- (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(
4350
- () => Promise.all([
4351
- dispatch(setSnackbar4(successMessage(order.plan))),
4352
- setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds),
4353
- dispatch(getUserOrganization())
4354
- ])
4355
- )
4415
+ (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
4356
4416
  );
4357
4417
  var sendSupportMessage = createAppAsyncThunk(
4358
4418
  `${sliceName6}/sendSupportMessage`,
@@ -4469,7 +4529,7 @@ var commonFields = {
4469
4529
  issues: { parse: void 0, select: defaultSelector, target: "selectedIssues" },
4470
4530
  open: { parse: Boolean, select: defaultSelector, target: "open" }
4471
4531
  };
4472
- var formatReleases = ({ pageState: { searchTerm, selectedTags = [], tab, type } }) => Object.entries({ name: searchTerm, tab, type }).reduce(
4532
+ var formatReleases = ({ pageState: { id, searchTerm, selectedTags = [], tab, type } }) => Object.entries({ name: searchTerm, tab, type, id }).reduce(
4473
4533
  (accu, [key, value]) => value ? [...accu, `${key}=${value}`] : accu,
4474
4534
  selectedTags.map((tag) => `tag=${tag}`)
4475
4535
  ).join("&");
@@ -4496,13 +4556,14 @@ var flattenRelease = (release, stateRelease) => {
4496
4556
  return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(import_helpers13.duplicateFilter), modified };
4497
4557
  };
4498
4558
  var reduceReceivedReleases = (releases, stateReleasesById) => releases.reduce((accu, release) => {
4499
- const stateRelease = stateReleasesById[release.name] || {};
4500
- accu[release.name] = flattenRelease(release, stateRelease);
4559
+ const name = release.name ?? release.Name;
4560
+ const stateRelease = stateReleasesById[name] || {};
4561
+ accu[name] = flattenRelease(release, stateRelease);
4501
4562
  return accu;
4502
4563
  }, {});
4503
4564
  var findArtifactIndexInRelease = (releases, id) => Object.values(releases).reduce(
4504
4565
  (accu, item) => {
4505
- const index = item.artifacts.findIndex((releaseArtifact) => releaseArtifact.id === id);
4566
+ const index = item.artifacts?.findIndex((releaseArtifact) => releaseArtifact.id === id) ?? -1;
4506
4567
  if (index > -1) {
4507
4568
  accu = { release: item, index };
4508
4569
  }
@@ -4565,6 +4626,18 @@ var getArtifactUrl = createAppAsyncThunk(
4565
4626
  return dispatch(actions7.receiveRelease(release));
4566
4627
  })
4567
4628
  );
4629
+ var pollLocation = async (location, attempt = 1, maxAttempts = 5, delay = TIMEOUTS.oneSecond) => {
4630
+ try {
4631
+ await general_api_default.get(location);
4632
+ return Promise.resolve();
4633
+ } catch {
4634
+ if (attempt >= maxAttempts) {
4635
+ throw new Error(`Couldn't get ${location} after ${maxAttempts} attempts`);
4636
+ }
4637
+ await new Promise((resolve) => setTimeout(resolve, delay));
4638
+ return pollLocation(location, attempt + 1, maxAttempts, delay);
4639
+ }
4640
+ };
4568
4641
  var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file, meta }, { dispatch }) => {
4569
4642
  const formData = Object.entries(meta).reduce((accu, [key, value]) => {
4570
4643
  if (Array.isArray(value)) {
@@ -4589,13 +4662,18 @@ var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file
4589
4662
  (e) => dispatch(uploadProgress3({ id: uploadId, progress: progress(e) })),
4590
4663
  cancelSource.signal
4591
4664
  )
4592
- ]).then(() => {
4593
- setTimeout(() => {
4594
- dispatch(getReleases());
4595
- dispatch(selectRelease(file.name));
4596
- }, TIMEOUTS.oneSecond);
4597
- return Promise.resolve(dispatch(setSnackbar5({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds })));
4598
- }).catch((err) => {
4665
+ ]).then((tasks) => {
4666
+ const generateResponse = tasks[tasks.length - 1];
4667
+ const generateLocation = generateResponse.headers[import_constants5.headerNames.location];
4668
+ const location = generateLocation.replace("/generate", "");
4669
+ return pollLocation(location);
4670
+ }).then(
4671
+ () => Promise.all([
4672
+ dispatch(getReleases()),
4673
+ dispatch(selectRelease(meta.name)),
4674
+ dispatch(setSnackbar5({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds }))
4675
+ ])
4676
+ ).catch((err) => {
4599
4677
  if ((0, import_axios3.isCancel)(err)) {
4600
4678
  return dispatch(setSnackbar5({ message: "The artifact generation has been cancelled", autoHideDuration: TIMEOUTS.fiveSeconds }));
4601
4679
  }
@@ -4818,6 +4896,20 @@ var getUpdateTypes = createAppAsyncThunk(
4818
4896
  `${sliceName7}/getReleaseTypes`,
4819
4897
  (_, { dispatch }) => general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/releases/all/types`).catch((err) => commonErrorHandler(err, `Existing update types couldn't be retrieved.`, dispatch)).then(({ data: types }) => Promise.resolve(dispatch(actions7.receiveReleaseTypes(types))))
4820
4898
  );
4899
+ var getDeltaGenerationJobs = createAppAsyncThunk(`${sliceName7}/getDeltaGenerationJobs`, (options = {}, { dispatch }) => {
4900
+ const { page = defaultPage5, perPage = defaultPerPage5, sort = {} } = options;
4901
+ const { key: sortKey, direction: sortDirection } = sort;
4902
+ const sortParam = sortKey && sortDirection ? `&sort=${sortKey}:${sortDirection}` : "";
4903
+ return general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/deployments/releases/delta/jobs?page=${page}&per_page=${perPage}${sortParam}`).then(({ data, headers }) => {
4904
+ const total = Number(headers[import_constants5.headerNames.total]) || data.length;
4905
+ const result = { jobs: data, total };
4906
+ return Promise.all([dispatch(actions7.receivedDeltaJobs(result)), result]);
4907
+ }).catch((err) => commonErrorHandler(err, "There was an error retrieving delta generation jobs:", dispatch));
4908
+ });
4909
+ var getDeltaGenerationJobDetails = createAppAsyncThunk(
4910
+ `${sliceName7}/getDeltaGenerationJobDetails`,
4911
+ (jobId, { dispatch }) => general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/deployments/releases/delta/jobs/${jobId}`).then(({ data }) => dispatch(actions7.receivedDeltaJobDetails(data))).catch((err) => commonErrorHandler(err, "There was an error retrieving delta generation job details:", dispatch))
4912
+ );
4821
4913
 
4822
4914
  // src/usersSlice/thunks.ts
4823
4915
  var import_helpers14 = require("@northern.tech/utils/helpers");
@@ -5472,15 +5564,14 @@ var setAllTooltipsReadState = createAppAsyncThunk(
5472
5564
  return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
5473
5565
  }
5474
5566
  );
5475
- var submitFeedback = createAppAsyncThunk(
5567
+ var submitUserFeedback = createAppAsyncThunk(
5476
5568
  `${sliceName8}/submitFeedback`,
5477
- ({ satisfaction, feedback, ...meta }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/contact/support`, {
5478
- subject: "feedback submission",
5479
- body: JSON.stringify({ feedback, satisfaction, meta })
5480
- }).then(() => {
5481
- const today = /* @__PURE__ */ new Date();
5482
- dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
5483
- setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
5569
+ ({ formId, feedback }, { dispatch }) => general_api_default.post(`${import_constants5.useradmApiUrlv2}/support/feedback/${formId}`, feedback).then(() => {
5570
+ if (formId === "product") {
5571
+ const today = /* @__PURE__ */ new Date();
5572
+ dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
5573
+ setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
5574
+ }
5484
5575
  })
5485
5576
  );
5486
5577
  // Annotate the CommonJS export names for ESM import in node:
@@ -5523,6 +5614,7 @@ var submitFeedback = createAppAsyncThunk(
5523
5614
  editTenantDeviceLimit,
5524
5615
  editUser,
5525
5616
  enableUser2fa,
5617
+ generateDeploymentLogAnalysis,
5526
5618
  generateToken,
5527
5619
  get2FAQRCode,
5528
5620
  getAllDeviceCounts,
@@ -5536,6 +5628,8 @@ var submitFeedback = createAppAsyncThunk(
5536
5628
  getBillingPreview,
5537
5629
  getCurrentCard,
5538
5630
  getCurrentSubscription,
5631
+ getDeltaGenerationJobDetails,
5632
+ getDeltaGenerationJobs,
5539
5633
  getDeploymentDevices,
5540
5634
  getDeploymentsByStatus,
5541
5635
  getDeploymentsConfig,
@@ -5638,7 +5732,7 @@ var submitFeedback = createAppAsyncThunk(
5638
5732
  startCardUpdate,
5639
5733
  startUpgrade,
5640
5734
  storeSsoConfig,
5641
- submitFeedback,
5735
+ submitUserFeedback,
5642
5736
  switchUserOrganization,
5643
5737
  tenantDataDivergedMessage,
5644
5738
  triggerDeviceUpdate,