@northern.tech/store 0.3.3 → 0.4.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 (602) hide show
  1. package/dist/actions.cjs +80 -833
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +229 -85
  4. package/dist/actions.d.ts +229 -85
  5. package/dist/actions.js +14 -14
  6. package/dist/api/general-api.cjs +274 -148
  7. package/dist/api/general-api.cjs.map +1 -1
  8. package/dist/api/general-api.d.cts +1 -1
  9. package/dist/api/general-api.d.ts +1 -1
  10. package/dist/api/general-api.js +7 -7
  11. package/dist/api/users-api.cjs +274 -148
  12. package/dist/api/users-api.cjs.map +1 -1
  13. package/dist/api/users-api.d.cts +7 -5
  14. package/dist/api/users-api.d.ts +7 -5
  15. package/dist/api/users-api.js +8 -8
  16. package/dist/appSlice/constants.cjs +23 -43
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +109 -119
  19. package/dist/appSlice/constants.d.ts +109 -119
  20. package/dist/appSlice/constants.js +1 -11
  21. package/dist/appSlice/index.cjs +25 -242
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.d.cts +119 -1531
  24. package/dist/appSlice/index.d.ts +119 -1531
  25. package/dist/appSlice/index.js +6 -6
  26. package/dist/appSlice/mocks.cjs +186 -0
  27. package/dist/appSlice/mocks.cjs.map +1 -0
  28. package/dist/appSlice/mocks.d.cts +39 -0
  29. package/dist/appSlice/mocks.d.ts +39 -0
  30. package/dist/appSlice/mocks.js +27 -0
  31. package/dist/appSlice/mocks.js.map +1 -0
  32. package/dist/appSlice/selectors.cjs +31 -5
  33. package/dist/appSlice/selectors.cjs.map +1 -1
  34. package/dist/appSlice/selectors.d.cts +709 -23
  35. package/dist/appSlice/selectors.d.ts +709 -23
  36. package/dist/appSlice/selectors.js +21 -1
  37. package/dist/appSlice/thunks.cjs +1563 -1790
  38. package/dist/appSlice/thunks.cjs.map +1 -1
  39. package/dist/appSlice/thunks.d.cts +34 -14
  40. package/dist/appSlice/thunks.d.ts +34 -14
  41. package/dist/appSlice/thunks.js +30 -29
  42. package/dist/auth.cjs +276 -153
  43. package/dist/auth.cjs.map +1 -1
  44. package/dist/auth.d.cts +13 -10
  45. package/dist/auth.d.ts +13 -10
  46. package/dist/auth.js +6 -8
  47. package/dist/{chunk-CK6YE6AN.js → chunk-2DYA3X77.js} +3 -1
  48. package/dist/{chunk-CK6YE6AN.js.map → chunk-2DYA3X77.js.map} +1 -1
  49. package/dist/{chunk-2CYOM4BK.js → chunk-4TUJPE6G.js} +19 -4
  50. package/dist/chunk-4TUJPE6G.js.map +1 -0
  51. package/dist/{chunk-7PVGDMNM.js → chunk-6KGTHJKC.js} +23 -27
  52. package/dist/chunk-6KGTHJKC.js.map +1 -0
  53. package/dist/chunk-7C4SQBEE.js +715 -0
  54. package/dist/chunk-7C4SQBEE.js.map +1 -0
  55. package/dist/{chunk-QRGTG4YB.js → chunk-ABJLRDCO.js} +10 -11
  56. package/dist/chunk-ABJLRDCO.js.map +1 -0
  57. package/dist/{chunk-LEMVXAYP.js → chunk-CW5T6OGF.js} +56 -22
  58. package/dist/chunk-CW5T6OGF.js.map +1 -0
  59. package/dist/{chunk-MRCFLG45.js → chunk-FAJ3I2UQ.js} +2 -1
  60. package/dist/chunk-FAJ3I2UQ.js.map +1 -0
  61. package/dist/{chunk-DCK2DBOA.js → chunk-IQG5I7AM.js} +29 -39
  62. package/dist/chunk-IQG5I7AM.js.map +1 -0
  63. package/dist/chunk-JUGE7L3K.js +110 -0
  64. package/dist/chunk-JUGE7L3K.js.map +1 -0
  65. package/dist/{chunk-7JKWI5FK.js → chunk-JXQUFKID.js} +2 -2
  66. package/dist/chunk-JXQUFKID.js.map +1 -0
  67. package/dist/chunk-KC7SKI3U.js +389 -0
  68. package/dist/chunk-KC7SKI3U.js.map +1 -0
  69. package/dist/{chunk-YDS36ALB.js → chunk-KJNNEDRV.js} +11 -7
  70. package/dist/chunk-KJNNEDRV.js.map +1 -0
  71. package/dist/chunk-MBKAZVE3.js +44 -0
  72. package/dist/chunk-MBKAZVE3.js.map +1 -0
  73. package/dist/{chunk-TI2RL5P2.js → chunk-MZNANSS2.js} +12 -7
  74. package/dist/chunk-MZNANSS2.js.map +1 -0
  75. package/dist/{chunk-LTKOV26W.js → chunk-N2KLYPS5.js} +138 -95
  76. package/dist/chunk-N2KLYPS5.js.map +1 -0
  77. package/dist/{chunk-UWMYZNUB.js → chunk-OHF3YUXX.js} +25 -40
  78. package/dist/chunk-OHF3YUXX.js.map +1 -0
  79. package/dist/{chunk-CYV6632F.js → chunk-OOICURFL.js} +2 -2
  80. package/dist/chunk-OOICURFL.js.map +1 -0
  81. package/dist/{chunk-VMNMD6KF.js → chunk-PGFVHKP5.js} +5 -7
  82. package/dist/chunk-PGFVHKP5.js.map +1 -0
  83. package/dist/{chunk-JAROCU6M.js → chunk-QHK7GGV4.js} +3 -3
  84. package/dist/chunk-QHK7GGV4.js.map +1 -0
  85. package/dist/{chunk-YT73QWCN.js → chunk-RS37Y2PQ.js} +3 -3
  86. package/dist/chunk-RS37Y2PQ.js.map +1 -0
  87. package/dist/{chunk-TUACATJA.js → chunk-UGSLGUS6.js} +8 -6
  88. package/dist/chunk-UGSLGUS6.js.map +1 -0
  89. package/dist/{chunk-DAPAXWA5.js → chunk-URNS6A5T.js} +14 -14
  90. package/dist/{chunk-FGKMJS3B.js → chunk-VANBSJS5.js} +2 -4
  91. package/dist/chunk-VANBSJS5.js.map +1 -0
  92. package/dist/{chunk-HPBE6KYY.js → chunk-VUFRP6P3.js} +5 -6
  93. package/dist/chunk-VUFRP6P3.js.map +1 -0
  94. package/dist/{chunk-X7IEZBM4.js → chunk-X4GUACQO.js} +8 -5
  95. package/dist/chunk-X4GUACQO.js.map +1 -0
  96. package/dist/{chunk-4XJMRVFI.js → chunk-XWYJACQC.js} +45 -22
  97. package/dist/chunk-XWYJACQC.js.map +1 -0
  98. package/dist/{chunk-AMGWP7A4.js → chunk-ZJW3QIPM.js} +8 -9
  99. package/dist/chunk-ZJW3QIPM.js.map +1 -0
  100. package/dist/chunk-ZKAH3APE.js +1 -0
  101. package/dist/chunk-ZKAH3APE.js.map +1 -0
  102. package/dist/{chunk-2JHFUQ6B.js → chunk-ZN5TB2NJ.js} +963 -883
  103. package/dist/chunk-ZN5TB2NJ.js.map +1 -0
  104. package/dist/{chunk-WXL7PVI5.js → chunk-ZRSYBSSY.js} +18 -12
  105. package/dist/chunk-ZRSYBSSY.js.map +1 -0
  106. package/dist/commonConstants.cjs +279 -173
  107. package/dist/commonConstants.cjs.map +1 -1
  108. package/dist/commonConstants.d.cts +46 -212
  109. package/dist/commonConstants.d.ts +46 -212
  110. package/dist/commonConstants.js +11 -19
  111. package/dist/commonSelectors.cjs +513 -778
  112. package/dist/commonSelectors.cjs.map +1 -1
  113. package/dist/commonSelectors.d.cts +4307 -279
  114. package/dist/commonSelectors.d.ts +4307 -279
  115. package/dist/commonSelectors.js +13 -13
  116. package/dist/constants.cjs +355 -655
  117. package/dist/constants.cjs.map +1 -1
  118. package/dist/constants.d.cts +11 -9
  119. package/dist/constants.d.ts +11 -9
  120. package/dist/constants.js +37 -29
  121. package/dist/deploymentsSlice/constants.cjs +5 -360
  122. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  123. package/dist/deploymentsSlice/constants.d.cts +59 -39
  124. package/dist/deploymentsSlice/constants.d.ts +59 -39
  125. package/dist/deploymentsSlice/constants.js +5 -11
  126. package/dist/deploymentsSlice/index.cjs +17 -365
  127. package/dist/deploymentsSlice/index.cjs.map +1 -1
  128. package/dist/deploymentsSlice/index.d.cts +142 -2359
  129. package/dist/deploymentsSlice/index.d.ts +142 -2359
  130. package/dist/deploymentsSlice/index.js +6 -6
  131. package/dist/deploymentsSlice/mocks.cjs +429 -0
  132. package/dist/deploymentsSlice/mocks.cjs.map +1 -0
  133. package/dist/deploymentsSlice/mocks.d.cts +189 -0
  134. package/dist/deploymentsSlice/mocks.d.ts +189 -0
  135. package/dist/deploymentsSlice/mocks.js +146 -0
  136. package/dist/deploymentsSlice/mocks.js.map +1 -0
  137. package/dist/deploymentsSlice/selectors.cjs +5 -353
  138. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  139. package/dist/deploymentsSlice/selectors.d.cts +167 -11
  140. package/dist/deploymentsSlice/selectors.d.ts +167 -11
  141. package/dist/deploymentsSlice/selectors.js +6 -6
  142. package/dist/deploymentsSlice/thunks.cjs +1551 -1778
  143. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  144. package/dist/deploymentsSlice/thunks.d.cts +134 -76
  145. package/dist/deploymentsSlice/thunks.d.ts +134 -76
  146. package/dist/deploymentsSlice/thunks.js +30 -29
  147. package/dist/devicesSlice/constants.cjs +5 -375
  148. package/dist/devicesSlice/constants.cjs.map +1 -1
  149. package/dist/devicesSlice/constants.d.cts +8 -16
  150. package/dist/devicesSlice/constants.d.ts +8 -16
  151. package/dist/devicesSlice/constants.js +7 -25
  152. package/dist/devicesSlice/index.cjs +17 -381
  153. package/dist/devicesSlice/index.cjs.map +1 -1
  154. package/dist/devicesSlice/index.d.cts +196 -2208
  155. package/dist/devicesSlice/index.d.ts +196 -2208
  156. package/dist/devicesSlice/index.js +6 -6
  157. package/dist/devicesSlice/mocks.cjs +336 -0
  158. package/dist/devicesSlice/mocks.cjs.map +1 -0
  159. package/dist/devicesSlice/mocks.d.cts +154 -0
  160. package/dist/devicesSlice/mocks.d.ts +154 -0
  161. package/dist/devicesSlice/mocks.js +136 -0
  162. package/dist/devicesSlice/mocks.js.map +1 -0
  163. package/dist/devicesSlice/selectors.cjs +280 -293
  164. package/dist/devicesSlice/selectors.cjs.map +1 -1
  165. package/dist/devicesSlice/selectors.d.cts +1791 -82
  166. package/dist/devicesSlice/selectors.d.ts +1791 -82
  167. package/dist/devicesSlice/selectors.js +8 -6
  168. package/dist/devicesSlice/thunks.cjs +1699 -1936
  169. package/dist/devicesSlice/thunks.cjs.map +1 -1
  170. package/dist/devicesSlice/thunks.d.cts +374 -291
  171. package/dist/devicesSlice/thunks.d.ts +374 -291
  172. package/dist/devicesSlice/thunks.js +36 -45
  173. package/dist/liststatehook.cjs +935 -0
  174. package/dist/liststatehook.cjs.map +1 -0
  175. package/dist/liststatehook.d.cts +234 -0
  176. package/dist/liststatehook.d.ts +234 -0
  177. package/dist/liststatehook.js +88 -0
  178. package/dist/liststatehook.js.map +1 -0
  179. package/dist/locationutils.cjs +906 -0
  180. package/dist/locationutils.cjs.map +1 -0
  181. package/dist/locationutils.d.cts +114 -0
  182. package/dist/locationutils.d.ts +114 -0
  183. package/dist/locationutils.js +46 -0
  184. package/dist/locationutils.js.map +1 -0
  185. package/dist/monitorSlice/constants.cjs +0 -146
  186. package/dist/monitorSlice/constants.cjs.map +1 -1
  187. package/dist/monitorSlice/constants.d.cts +4 -5
  188. package/dist/monitorSlice/constants.d.ts +4 -5
  189. package/dist/monitorSlice/constants.js +1 -12
  190. package/dist/monitorSlice/index.cjs +5 -353
  191. package/dist/monitorSlice/index.cjs.map +1 -1
  192. package/dist/monitorSlice/index.d.cts +63 -260
  193. package/dist/monitorSlice/index.d.ts +63 -260
  194. package/dist/monitorSlice/index.js +6 -6
  195. package/dist/monitorSlice/mocks.cjs +130 -0
  196. package/dist/monitorSlice/mocks.cjs.map +1 -0
  197. package/dist/monitorSlice/mocks.d.cts +57 -0
  198. package/dist/monitorSlice/mocks.d.ts +57 -0
  199. package/dist/monitorSlice/mocks.js +65 -0
  200. package/dist/monitorSlice/mocks.js.map +1 -0
  201. package/dist/monitorSlice/thunks.cjs +633 -880
  202. package/dist/monitorSlice/thunks.cjs.map +1 -1
  203. package/dist/monitorSlice/thunks.d.cts +90 -21
  204. package/dist/monitorSlice/thunks.d.ts +90 -21
  205. package/dist/monitorSlice/thunks.js +26 -26
  206. package/dist/onboardingSlice/constants.cjs +1 -0
  207. package/dist/onboardingSlice/constants.cjs.map +1 -1
  208. package/dist/onboardingSlice/constants.d.cts +23 -20
  209. package/dist/onboardingSlice/constants.d.ts +23 -20
  210. package/dist/onboardingSlice/constants.js +1 -1
  211. package/dist/onboardingSlice/index.cjs +1 -3
  212. package/dist/onboardingSlice/index.cjs.map +1 -1
  213. package/dist/onboardingSlice/index.d.cts +50 -225
  214. package/dist/onboardingSlice/index.d.ts +50 -225
  215. package/dist/onboardingSlice/index.js +1 -1
  216. package/dist/onboardingSlice/mocks.cjs +83 -0
  217. package/dist/onboardingSlice/mocks.cjs.map +1 -0
  218. package/dist/onboardingSlice/mocks.d.cts +19 -0
  219. package/dist/onboardingSlice/mocks.d.ts +19 -0
  220. package/dist/onboardingSlice/mocks.js +17 -0
  221. package/dist/onboardingSlice/mocks.js.map +1 -0
  222. package/dist/onboardingSlice/thunks.cjs +1787 -2020
  223. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  224. package/dist/onboardingSlice/thunks.d.cts +63 -36
  225. package/dist/onboardingSlice/thunks.d.ts +63 -36
  226. package/dist/onboardingSlice/thunks.js +30 -31
  227. package/dist/organizationSlice/constants.cjs +8 -748
  228. package/dist/organizationSlice/constants.cjs.map +1 -1
  229. package/dist/organizationSlice/constants.d.cts +36 -116
  230. package/dist/organizationSlice/constants.d.ts +36 -116
  231. package/dist/organizationSlice/constants.js +7 -17
  232. package/dist/organizationSlice/index.cjs +14 -368
  233. package/dist/organizationSlice/index.cjs.map +1 -1
  234. package/dist/organizationSlice/index.d.cts +45 -73
  235. package/dist/organizationSlice/index.d.ts +45 -73
  236. package/dist/organizationSlice/index.js +6 -6
  237. package/dist/organizationSlice/mocks.cjs +234 -0
  238. package/dist/organizationSlice/mocks.cjs.map +1 -0
  239. package/dist/organizationSlice/mocks.d.cts +107 -0
  240. package/dist/organizationSlice/mocks.d.ts +107 -0
  241. package/dist/organizationSlice/mocks.js +101 -0
  242. package/dist/organizationSlice/mocks.js.map +1 -0
  243. package/dist/organizationSlice/selectors.cjs +301 -146
  244. package/dist/organizationSlice/selectors.cjs.map +1 -1
  245. package/dist/organizationSlice/selectors.d.cts +888 -51
  246. package/dist/organizationSlice/selectors.d.ts +888 -51
  247. package/dist/organizationSlice/selectors.js +14 -6
  248. package/dist/organizationSlice/thunks.cjs +2616 -2759
  249. package/dist/organizationSlice/thunks.cjs.map +1 -1
  250. package/dist/organizationSlice/thunks.d.cts +322 -131
  251. package/dist/organizationSlice/thunks.d.ts +322 -131
  252. package/dist/organizationSlice/thunks.js +44 -29
  253. package/dist/organizationSlice/types.cjs.map +1 -1
  254. package/dist/organizationSlice/types.d.cts +62 -79
  255. package/dist/organizationSlice/types.d.ts +62 -79
  256. package/dist/releasesSlice/constants.cjs +3 -0
  257. package/dist/releasesSlice/constants.cjs.map +1 -1
  258. package/dist/releasesSlice/constants.d.cts +2 -1
  259. package/dist/releasesSlice/constants.d.ts +2 -1
  260. package/dist/releasesSlice/constants.js +3 -1
  261. package/dist/releasesSlice/index.cjs +5 -222
  262. package/dist/releasesSlice/index.cjs.map +1 -1
  263. package/dist/releasesSlice/index.d.cts +52 -473
  264. package/dist/releasesSlice/index.d.ts +52 -473
  265. package/dist/releasesSlice/index.js +6 -6
  266. package/dist/releasesSlice/mocks.cjs +177 -0
  267. package/dist/releasesSlice/mocks.cjs.map +1 -0
  268. package/dist/releasesSlice/mocks.d.cts +49 -0
  269. package/dist/releasesSlice/mocks.d.ts +49 -0
  270. package/dist/releasesSlice/mocks.js +61 -0
  271. package/dist/releasesSlice/mocks.js.map +1 -0
  272. package/dist/releasesSlice/selectors.cjs +293 -165
  273. package/dist/releasesSlice/selectors.cjs.map +1 -1
  274. package/dist/releasesSlice/selectors.d.cts +886 -24
  275. package/dist/releasesSlice/selectors.d.ts +886 -24
  276. package/dist/releasesSlice/selectors.js +9 -7
  277. package/dist/releasesSlice/thunks.cjs +827 -1017
  278. package/dist/releasesSlice/thunks.cjs.map +1 -1
  279. package/dist/releasesSlice/thunks.d.cts +150 -130
  280. package/dist/releasesSlice/thunks.d.ts +150 -130
  281. package/dist/releasesSlice/thunks.js +33 -26
  282. package/dist/selectors.cjs +565 -780
  283. package/dist/selectors.cjs.map +1 -1
  284. package/dist/selectors.d.cts +37 -8
  285. package/dist/selectors.d.ts +37 -8
  286. package/dist/selectors.js +54 -18
  287. package/dist/sockethook.cjs +519 -0
  288. package/dist/sockethook.cjs.map +1 -0
  289. package/dist/sockethook.d.cts +10 -0
  290. package/dist/sockethook.d.ts +10 -0
  291. package/dist/sockethook.js +139 -0
  292. package/dist/sockethook.js.map +1 -0
  293. package/dist/store.cjs +121 -840
  294. package/dist/store.cjs.map +1 -1
  295. package/dist/store.d.cts +697 -1961
  296. package/dist/store.d.ts +697 -1961
  297. package/dist/store.js +18 -16
  298. package/dist/storehooks.cjs +1854 -1968
  299. package/dist/storehooks.cjs.map +1 -1
  300. package/dist/storehooks.js +46 -63
  301. package/dist/storehooks.js.map +1 -1
  302. package/dist/thunks.cjs +2138 -2231
  303. package/dist/thunks.cjs.map +1 -1
  304. package/dist/thunks.d.cts +25 -7
  305. package/dist/thunks.d.ts +25 -7
  306. package/dist/thunks.js +54 -45
  307. package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1797 -2026
  308. package/dist/useDeploymentDevice.cjs.map +1 -0
  309. package/dist/useDeploymentDevice.js +63 -0
  310. package/dist/useDeploymentDevice.js.map +1 -0
  311. package/dist/usersSlice/constants.cjs +5 -747
  312. package/dist/usersSlice/constants.cjs.map +1 -1
  313. package/dist/usersSlice/constants.d.cts +16 -774
  314. package/dist/usersSlice/constants.d.ts +16 -774
  315. package/dist/usersSlice/constants.js +7 -30
  316. package/dist/usersSlice/index.cjs +10 -721
  317. package/dist/usersSlice/index.cjs.map +1 -1
  318. package/dist/usersSlice/index.d.cts +136 -7900
  319. package/dist/usersSlice/index.d.ts +136 -7900
  320. package/dist/usersSlice/index.js +6 -6
  321. package/dist/usersSlice/mocks.cjs +200 -0
  322. package/dist/usersSlice/mocks.cjs.map +1 -0
  323. package/dist/usersSlice/mocks.d.cts +83 -0
  324. package/dist/usersSlice/mocks.d.ts +83 -0
  325. package/dist/usersSlice/mocks.js +47 -0
  326. package/dist/usersSlice/mocks.js.map +1 -0
  327. package/dist/usersSlice/selectors.cjs +319 -566
  328. package/dist/usersSlice/selectors.cjs.map +1 -1
  329. package/dist/usersSlice/selectors.d.cts +1651 -59
  330. package/dist/usersSlice/selectors.d.ts +1651 -59
  331. package/dist/usersSlice/selectors.js +13 -9
  332. package/dist/usersSlice/thunks.cjs +1666 -1893
  333. package/dist/usersSlice/thunks.cjs.map +1 -1
  334. package/dist/usersSlice/thunks.d.cts +362 -312
  335. package/dist/usersSlice/thunks.d.ts +362 -312
  336. package/dist/usersSlice/thunks.js +30 -29
  337. package/dist/utils.cjs +428 -292
  338. package/dist/utils.cjs.map +1 -1
  339. package/dist/utils.d.cts +44 -22
  340. package/dist/utils.d.ts +44 -22
  341. package/dist/utils.js +12 -6
  342. package/package.json +18 -8
  343. package/dist/api/types/AWSCredentials.ts +0 -16
  344. package/dist/api/types/Actor.ts +0 -35
  345. package/dist/api/types/Addon.ts +0 -17
  346. package/dist/api/types/AddonTenantadm.ts +0 -17
  347. package/dist/api/types/Address.ts +0 -6
  348. package/dist/api/types/AddressUpdate.ts +0 -12
  349. package/dist/api/types/Alert.ts +0 -34
  350. package/dist/api/types/AlertDetails.ts +0 -23
  351. package/dist/api/types/AlertSubject.ts +0 -23
  352. package/dist/api/types/ApiBurst.ts +0 -21
  353. package/dist/api/types/ApiBurstTenantadm.ts +0 -21
  354. package/dist/api/types/ApiLimits.ts +0 -16
  355. package/dist/api/types/ApiLimitsTenantadm.ts +0 -16
  356. package/dist/api/types/ApiQuota.ts +0 -17
  357. package/dist/api/types/ApiQuotaTenantadm.ts +0 -17
  358. package/dist/api/types/Artifact.ts +0 -48
  359. package/dist/api/types/ArtifactDeployments.ts +0 -48
  360. package/dist/api/types/ArtifactInfo.ts +0 -11
  361. package/dist/api/types/ArtifactInfoDeployments.ts +0 -11
  362. package/dist/api/types/ArtifactLink.ts +0 -11
  363. package/dist/api/types/ArtifactTypeInfo.ts +0 -13
  364. package/dist/api/types/ArtifactTypeInfoDeployments.ts +0 -13
  365. package/dist/api/types/ArtifactUpdate.ts +0 -10
  366. package/dist/api/types/ArtifactUploadLink.ts +0 -15
  367. package/dist/api/types/Attribute.ts +0 -36
  368. package/dist/api/types/AttributeInventory.ts +0 -32
  369. package/dist/api/types/AuditLog.ts +0 -26
  370. package/dist/api/types/AuthSet.ts +0 -37
  371. package/dist/api/types/AuthSetDeviceauth.ts +0 -37
  372. package/dist/api/types/AuthSetIot_manager.ts +0 -33
  373. package/dist/api/types/AutoAuthRequest.ts +0 -23
  374. package/dist/api/types/AzureSharedAccessSecret.ts +0 -11
  375. package/dist/api/types/BillingInfo.ts +0 -13
  376. package/dist/api/types/BillingProfile.ts +0 -37
  377. package/dist/api/types/BillingProfileUpdate.ts +0 -37
  378. package/dist/api/types/BinaryDeltaConfiguration.ts +0 -15
  379. package/dist/api/types/BinaryDeltaConfigurationDeployments.ts +0 -15
  380. package/dist/api/types/BinaryDeltaLimits.ts +0 -21
  381. package/dist/api/types/BinaryDeltaLimitsDeployments.ts +0 -15
  382. package/dist/api/types/BoundingBox.ts +0 -9
  383. package/dist/api/types/CancelRequest.ts +0 -10
  384. package/dist/api/types/CardData.ts +0 -49
  385. package/dist/api/types/CardSetupData.ts +0 -17
  386. package/dist/api/types/CheckoutData.ts +0 -13
  387. package/dist/api/types/Configuration.ts +0 -11
  388. package/dist/api/types/Count.ts +0 -13
  389. package/dist/api/types/Credentials.ts +0 -23
  390. package/dist/api/types/DBusSubsystem.ts +0 -27
  391. package/dist/api/types/DeltaConfiguration.ts +0 -14
  392. package/dist/api/types/DeltaConfigurationDeployments.ts +0 -14
  393. package/dist/api/types/Deployment.ts +0 -45
  394. package/dist/api/types/DeploymentAggregation.ts +0 -16
  395. package/dist/api/types/DeploymentAggregationItem.ts +0 -16
  396. package/dist/api/types/DeploymentAggregationTerm.ts +0 -22
  397. package/dist/api/types/DeploymentAggregationTerms.ts +0 -16
  398. package/dist/api/types/DeploymentAttributeProjection.ts +0 -10
  399. package/dist/api/types/DeploymentAuditlogs.ts +0 -11
  400. package/dist/api/types/DeploymentDeployments.ts +0 -98
  401. package/dist/api/types/DeploymentFilterTerm.ts +0 -35
  402. package/dist/api/types/DeploymentIdentifier.ts +0 -10
  403. package/dist/api/types/DeploymentPhase.ts +0 -23
  404. package/dist/api/types/DeploymentPhaseDeployments.ts +0 -23
  405. package/dist/api/types/DeploymentReporting.ts +0 -46
  406. package/dist/api/types/DeploymentSearchTerms.ts +0 -37
  407. package/dist/api/types/DeploymentSortTerm.ts +0 -23
  408. package/dist/api/types/DeploymentStatistics.ts +0 -15
  409. package/dist/api/types/DeploymentStatisticsDeployments.ts +0 -15
  410. package/dist/api/types/DeploymentStatusStatistics.ts +0 -54
  411. package/dist/api/types/DeploymentStatusStatisticsDeployments.ts +0 -54
  412. package/dist/api/types/Device.ts +0 -20
  413. package/dist/api/types/DeviceAggregation.ts +0 -16
  414. package/dist/api/types/DeviceAggregationItem.ts +0 -16
  415. package/dist/api/types/DeviceAggregationTerm.ts +0 -26
  416. package/dist/api/types/DeviceAggregationTerms.ts +0 -20
  417. package/dist/api/types/DeviceAttribute.ts +0 -22
  418. package/dist/api/types/DeviceAttributeProjection.ts +0 -14
  419. package/dist/api/types/DeviceAuditlogs.ts +0 -17
  420. package/dist/api/types/DeviceAuthEvent.ts +0 -23
  421. package/dist/api/types/DeviceConfiguration.ts +0 -16
  422. package/dist/api/types/DeviceDeployment.ts +0 -11
  423. package/dist/api/types/DeviceDeployments.ts +0 -29
  424. package/dist/api/types/DeviceDeviceauth.ts +0 -42
  425. package/dist/api/types/DeviceFilterAttribute.ts +0 -21
  426. package/dist/api/types/DeviceFilterTerm.ts +0 -39
  427. package/dist/api/types/DeviceInventory.ts +0 -19
  428. package/dist/api/types/DeviceInventoryInventory.ts +0 -19
  429. package/dist/api/types/DeviceReporting.ts +0 -22
  430. package/dist/api/types/DeviceSearchTerms.ts +0 -37
  431. package/dist/api/types/DeviceSortTerm.ts +0 -27
  432. package/dist/api/types/DeviceState.ts +0 -32
  433. package/dist/api/types/DeviceStateDeviceconnect.ts +0 -33
  434. package/dist/api/types/DeviceStateIot_manager.ts +0 -14
  435. package/dist/api/types/DeviceStatus.ts +0 -19
  436. package/dist/api/types/DeviceWithImage.ts +0 -80
  437. package/dist/api/types/DirectUploadMetadata.ts +0 -18
  438. package/dist/api/types/EmailVerificationCompletion.ts +0 -13
  439. package/dist/api/types/EmailVerificationRequest.ts +0 -13
  440. package/dist/api/types/Error.ts +0 -17
  441. package/dist/api/types/ErrorAuditlogs.ts +0 -13
  442. package/dist/api/types/ErrorDeployments.ts +0 -17
  443. package/dist/api/types/ErrorDeviceauth.ts +0 -13
  444. package/dist/api/types/ErrorDeviceconfig.ts +0 -17
  445. package/dist/api/types/ErrorDeviceconnect.ts +0 -17
  446. package/dist/api/types/ErrorDevicemonitor.ts +0 -17
  447. package/dist/api/types/ErrorExt.ts +0 -18
  448. package/dist/api/types/ErrorInventory.ts +0 -17
  449. package/dist/api/types/ErrorIot_manager.ts +0 -17
  450. package/dist/api/types/ErrorNotFound.ts +0 -17
  451. package/dist/api/types/ErrorReporting.ts +0 -18
  452. package/dist/api/types/ErrorTenantadm.ts +0 -13
  453. package/dist/api/types/ErrorUseradm.ts +0 -17
  454. package/dist/api/types/Event.ts +0 -48
  455. package/dist/api/types/ExternalIdentity.ts +0 -17
  456. package/dist/api/types/Features.ts +0 -17
  457. package/dist/api/types/FileUpload.ts +0 -23
  458. package/dist/api/types/Filter.ts +0 -19
  459. package/dist/api/types/FilterAttribute.ts +0 -21
  460. package/dist/api/types/FilterDefinition.ts +0 -18
  461. package/dist/api/types/FilterDeployments.ts +0 -19
  462. package/dist/api/types/FilterInventory.ts +0 -19
  463. package/dist/api/types/FilterPredicate.ts +0 -48
  464. package/dist/api/types/FilterPredicateDeployments.ts +0 -48
  465. package/dist/api/types/FilterPredicateInventory.ts +0 -78
  466. package/dist/api/types/GeoBoundingBox.ts +0 -8
  467. package/dist/api/types/GeoBoundingBoxFilter.ts +0 -5
  468. package/dist/api/types/GeoDistance.ts +0 -15
  469. package/dist/api/types/GeoDistanceFilter.ts +0 -8
  470. package/dist/api/types/GeoPoint.ts +0 -14
  471. package/dist/api/types/Group.ts +0 -10
  472. package/dist/api/types/HTTP.ts +0 -19
  473. package/dist/api/types/IdentityData.ts +0 -25
  474. package/dist/api/types/InputParameter.ts +0 -8
  475. package/dist/api/types/Integration.ts +0 -30
  476. package/dist/api/types/JobStatus.ts +0 -13
  477. package/dist/api/types/Limit.ts +0 -21
  478. package/dist/api/types/LimitDeployments.ts +0 -21
  479. package/dist/api/types/LimitDeviceauth.ts +0 -10
  480. package/dist/api/types/LimitUseradm.ts +0 -11
  481. package/dist/api/types/Limits.ts +0 -11
  482. package/dist/api/types/LineDescriptor.ts +0 -11
  483. package/dist/api/types/LogSubsystem.ts +0 -23
  484. package/dist/api/types/LoginOptions.ts +0 -18
  485. package/dist/api/types/ManagementAPIConfiguration.ts +0 -5
  486. package/dist/api/types/MenderTypes.ts +0 -213
  487. package/dist/api/types/MonitorConfiguration.ts +0 -22
  488. package/dist/api/types/NewConfigurationDeployment.ts +0 -15
  489. package/dist/api/types/NewConfigurationDeploymentResponse.ts +0 -10
  490. package/dist/api/types/NewDeployment.ts +0 -42
  491. package/dist/api/types/NewDeploymentForGroup.ts +0 -33
  492. package/dist/api/types/NewDeploymentPhase.ts +0 -37
  493. package/dist/api/types/NewDeploymentPhaseDeployments.ts +0 -20
  494. package/dist/api/types/NewDeploymentV2.ts +0 -34
  495. package/dist/api/types/NewTenant.ts +0 -49
  496. package/dist/api/types/Object.ts +0 -38
  497. package/dist/api/types/OwnUserUpdate.ts +0 -21
  498. package/dist/api/types/PasswordResetCompletion.ts +0 -17
  499. package/dist/api/types/PasswordResetRequest.ts +0 -13
  500. package/dist/api/types/Permission.ts +0 -21
  501. package/dist/api/types/PermissionObject.ts +0 -14
  502. package/dist/api/types/PermissionSet.ts +0 -22
  503. package/dist/api/types/PermissionSetWithScope.ts +0 -15
  504. package/dist/api/types/PersonalAccessToken.ts +0 -29
  505. package/dist/api/types/PersonalAccessTokenRequest.ts +0 -18
  506. package/dist/api/types/Plan.ts +0 -19
  507. package/dist/api/types/PlanBindingDetails.ts +0 -13
  508. package/dist/api/types/PlanChangeRequest.ts +0 -14
  509. package/dist/api/types/PlanLimits.ts +0 -12
  510. package/dist/api/types/PreAuthSet.ts +0 -16
  511. package/dist/api/types/Release.ts +0 -32
  512. package/dist/api/types/ReleaseDeployments.ts +0 -32
  513. package/dist/api/types/ReleaseUpdate.ts +0 -13
  514. package/dist/api/types/Releases.ts +0 -9
  515. package/dist/api/types/ReleasesDeleteError.ts +0 -21
  516. package/dist/api/types/ReleasesDeployments.ts +0 -9
  517. package/dist/api/types/Role.ts +0 -19
  518. package/dist/api/types/RolePermission.ts +0 -25
  519. package/dist/api/types/RolePermissionObject.ts +0 -17
  520. package/dist/api/types/RoleUseradm.ts +0 -19
  521. package/dist/api/types/SAMLMetadata.ts +0 -21
  522. package/dist/api/types/Scope.ts +0 -19
  523. package/dist/api/types/SelectAttribute.ts +0 -17
  524. package/dist/api/types/ServiceSubsystem.ts +0 -19
  525. package/dist/api/types/Settings.ts +0 -23
  526. package/dist/api/types/SortCriteria.ts +0 -30
  527. package/dist/api/types/SsoObject.ts +0 -21
  528. package/dist/api/types/Status.ts +0 -18
  529. package/dist/api/types/StatusDeviceauth.ts +0 -18
  530. package/dist/api/types/StatusTenantadm.ts +0 -17
  531. package/dist/api/types/StorageLimit.ts +0 -17
  532. package/dist/api/types/SubscriptionData.ts +0 -8
  533. package/dist/api/types/SupportRequest.ts +0 -17
  534. package/dist/api/types/Tag.ts +0 -27
  535. package/dist/api/types/Tags.ts +0 -10
  536. package/dist/api/types/TaskResult.ts +0 -13
  537. package/dist/api/types/TaskResultCLI.ts +0 -10
  538. package/dist/api/types/TaskResultHTTPRequest.ts +0 -8
  539. package/dist/api/types/TaskResultHTTPResponse.ts +0 -10
  540. package/dist/api/types/Tenant.ts +0 -26
  541. package/dist/api/types/TenantApiLimits.ts +0 -12
  542. package/dist/api/types/TenantApiLimitsTenantadm.ts +0 -12
  543. package/dist/api/types/TenantIdName.ts +0 -14
  544. package/dist/api/types/TenantIdsData.ts +0 -10
  545. package/dist/api/types/TenantInfo.ts +0 -14
  546. package/dist/api/types/TenantShortInfo.ts +0 -21
  547. package/dist/api/types/TenantTenantadm.ts +0 -54
  548. package/dist/api/types/TenantsIdName.ts +0 -6
  549. package/dist/api/types/Update.ts +0 -17
  550. package/dist/api/types/UpdateChildTenant.ts +0 -17
  551. package/dist/api/types/UpdateDeployments.ts +0 -18
  552. package/dist/api/types/UpdateFile.ts +0 -13
  553. package/dist/api/types/UpdateFileDeployments.ts +0 -13
  554. package/dist/api/types/UpdateTypes.ts +0 -8
  555. package/dist/api/types/UpgradeCompleteRequest.ts +0 -25
  556. package/dist/api/types/User.ts +0 -13
  557. package/dist/api/types/UserAuditlogs.ts +0 -13
  558. package/dist/api/types/UserNew.ts +0 -26
  559. package/dist/api/types/UserUpdate.ts +0 -25
  560. package/dist/api/types/UserUseradm.ts +0 -45
  561. package/dist/api/types/UserWithTenantInfo.ts +0 -12
  562. package/dist/api/types/XDeltaArgs.ts +0 -9
  563. package/dist/api/types/XDeltaArgsDeployments.ts +0 -9
  564. package/dist/api/types/XDeltaArgsLimits.ts +0 -10
  565. package/dist/api/types/XDeltaArgsLimitsDeployments.ts +0 -10
  566. package/dist/chunk-2CYOM4BK.js.map +0 -1
  567. package/dist/chunk-2JHFUQ6B.js.map +0 -1
  568. package/dist/chunk-4B3IMP4I.js +0 -245
  569. package/dist/chunk-4B3IMP4I.js.map +0 -1
  570. package/dist/chunk-4XJMRVFI.js.map +0 -1
  571. package/dist/chunk-7JKWI5FK.js.map +0 -1
  572. package/dist/chunk-7PVGDMNM.js.map +0 -1
  573. package/dist/chunk-AMGWP7A4.js.map +0 -1
  574. package/dist/chunk-C5NEDBJI.js +0 -727
  575. package/dist/chunk-C5NEDBJI.js.map +0 -1
  576. package/dist/chunk-CYV6632F.js.map +0 -1
  577. package/dist/chunk-DCK2DBOA.js.map +0 -1
  578. package/dist/chunk-FGKMJS3B.js.map +0 -1
  579. package/dist/chunk-HPBE6KYY.js.map +0 -1
  580. package/dist/chunk-JAROCU6M.js.map +0 -1
  581. package/dist/chunk-LEMVXAYP.js.map +0 -1
  582. package/dist/chunk-LGNOTPUG.js +0 -106
  583. package/dist/chunk-LGNOTPUG.js.map +0 -1
  584. package/dist/chunk-LIJIIRON.js +0 -28
  585. package/dist/chunk-LIJIIRON.js.map +0 -1
  586. package/dist/chunk-LTKOV26W.js.map +0 -1
  587. package/dist/chunk-MRCFLG45.js.map +0 -1
  588. package/dist/chunk-QRGTG4YB.js.map +0 -1
  589. package/dist/chunk-TI2RL5P2.js.map +0 -1
  590. package/dist/chunk-TUACATJA.js.map +0 -1
  591. package/dist/chunk-UWMYZNUB.js.map +0 -1
  592. package/dist/chunk-VMNMD6KF.js.map +0 -1
  593. package/dist/chunk-WXL7PVI5.js.map +0 -1
  594. package/dist/chunk-X7IEZBM4.js.map +0 -1
  595. package/dist/chunk-YDS36ALB.js.map +0 -1
  596. package/dist/chunk-YT73QWCN.js.map +0 -1
  597. package/dist/deploymentdevicehook.cjs.map +0 -1
  598. package/dist/deploymentdevicehook.js +0 -62
  599. package/dist/deploymentdevicehook.js.map +0 -1
  600. /package/dist/{chunk-DAPAXWA5.js.map → chunk-URNS6A5T.js.map} +0 -0
  601. /package/dist/{deploymentdevicehook.d.cts → useDeploymentDevice.d.cts} +0 -0
  602. /package/dist/{deploymentdevicehook.d.ts → useDeploymentDevice.d.ts} +0 -0
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/selectors.ts
@@ -30,6 +40,8 @@ __export(selectors_exports, {
30
40
  getAuditlogDevice: () => getAuditlogDevice,
31
41
  getAuditlogState: () => getAuditlogState,
32
42
  getAvailableIssueOptionsByType: () => getAvailableIssueOptionsByType,
43
+ getBillingProfile: () => getBillingProfile,
44
+ getCard: () => getCard,
33
45
  getCurrentSession: () => getCurrentSession,
34
46
  getCurrentUser: () => getCurrentUser,
35
47
  getDemoDeviceAddress: () => getDemoDeviceAddress,
@@ -53,21 +65,28 @@ __export(selectors_exports, {
53
65
  getDocsVersion: () => getDocsVersion,
54
66
  getExternalIntegrations: () => getExternalIntegrations,
55
67
  getFeatures: () => getFeatures,
68
+ getFeedbackProbability: () => getFeedbackProbability,
56
69
  getFilterAttributes: () => getFilterAttributes,
57
70
  getFilteringAttributes: () => getFilteringAttributes,
58
71
  getFullVersionInformation: () => getFullVersionInformation,
59
72
  getGlobalSettings: () => getGlobalSettings,
73
+ getGroupData: () => getGroupData,
60
74
  getGroupNames: () => getGroupNames,
61
75
  getGroups: () => getGroups,
62
76
  getGroupsById: () => getGroupsById,
63
77
  getGroupsByIdWithoutUngrouped: () => getGroupsByIdWithoutUngrouped,
64
78
  getHas2FA: () => getHas2FA,
79
+ getHasCurrentPricing: () => getHasCurrentPricing,
65
80
  getHasReleases: () => getHasReleases,
81
+ getHostAddress: () => getHostAddress,
82
+ getHostedAnnouncement: () => getHostedAnnouncement,
66
83
  getIdAttribute: () => getIdAttribute,
67
84
  getIsDarkMode: () => getIsDarkMode,
68
85
  getIsEnterprise: () => getIsEnterprise,
86
+ getIsFirstLogin: () => getIsFirstLogin,
69
87
  getIsPreview: () => getIsPreview,
70
88
  getIsServiceProvider: () => getIsServiceProvider,
89
+ getIsUploading: () => getIsUploading,
71
90
  getIssueCountsByType: () => getIssueCountsByType,
72
91
  getLimitMaxed: () => getLimitMaxed,
73
92
  getListedDevices: () => getListedDevices,
@@ -77,6 +96,8 @@ __export(selectors_exports, {
77
96
  getOnboarding: () => getOnboarding,
78
97
  getOnboardingState: () => getOnboardingState,
79
98
  getOrganization: () => getOrganization,
99
+ getReadAllHelptips: () => getReadAllHelptips,
100
+ getRecaptchaKey: () => getRecaptchaKey,
80
101
  getRecentDeployments: () => getRecentDeployments,
81
102
  getReleaseListState: () => getReleaseListState,
82
103
  getReleaseTags: () => getReleaseTags,
@@ -85,6 +106,7 @@ __export(selectors_exports, {
85
106
  getReleasesList: () => getReleasesList,
86
107
  getRelevantRoles: () => getRelevantRoles,
87
108
  getRolesById: () => getRolesById,
109
+ getRolesInitialized: () => getRolesInitialized,
88
110
  getRolesList: () => getRolesList,
89
111
  getSearchEndpoint: () => getSearchEndpoint,
90
112
  getSearchState: () => getSearchState,
@@ -95,17 +117,23 @@ __export(selectors_exports, {
95
117
  getSelectedGroup: () => getSelectedGroup,
96
118
  getSelectedGroupInfo: () => getSelectedGroupInfo,
97
119
  getSelectedRelease: () => getSelectedRelease,
98
- getShowHelptips: () => getShowHelptips,
120
+ getSelectedReleases: () => getSelectedReleases,
121
+ getSnackbar: () => getSnackbar,
99
122
  getSortedFilteringAttributes: () => getSortedFilteringAttributes,
100
123
  getSsoConfig: () => getSsoConfig,
124
+ getStripeKey: () => getStripeKey,
125
+ getSubscription: () => getSubscription,
101
126
  getTenantCapabilities: () => getTenantCapabilities,
102
127
  getTenantsList: () => getTenantsList,
103
128
  getTooltipsById: () => getTooltipsById,
104
129
  getTooltipsState: () => getTooltipsState,
130
+ getTrackerCode: () => getTrackerCode,
105
131
  getUpdateTypes: () => getUpdateTypes,
132
+ getUploads: () => getUploads,
106
133
  getUserCapabilities: () => getUserCapabilities,
107
134
  getUserRoles: () => getUserRoles,
108
135
  getUserSettings: () => getUserSettings,
136
+ getUserSettingsInitialized: () => getUserSettingsInitialized,
109
137
  getUsersById: () => getUsersById,
110
138
  getUsersList: () => getUsersList,
111
139
  getVersionInformation: () => getVersionInformation,
@@ -119,20 +147,26 @@ module.exports = __toCommonJS(selectors_exports);
119
147
  // src/appSlice/selectors.ts
120
148
  var import_helpers = require("@northern.tech/utils/helpers");
121
149
  var import_toolkit = require("@reduxjs/toolkit");
122
- var getAppDocsVersion = (state) => state.app.docsVersion;
150
+ var getDocsVersion = (state) => state.app.docsVersion;
123
151
  var getFeatures = (state) => state.app.features;
124
152
  var getFullVersionInformation = (state) => state.app.versionInformation;
125
- var getDocsVersion = (0, import_toolkit.createSelector)([getAppDocsVersion, getFeatures], (appDocsVersion, { isHosted }) => {
126
- const docsVersion = appDocsVersion ? `${appDocsVersion}/` : "development/";
127
- return isHosted ? "" : docsVersion;
128
- });
129
153
  var getSearchState = (state) => state.app.searchState;
154
+ var getUploads = (state) => state.app.uploadsById;
155
+ var getSnackbar = (state) => state.app.snackbar;
156
+ var getHostAddress = (state) => state.app.hostAddress;
157
+ var getHostedAnnouncement = (state) => state.app.hostedAnnouncement;
158
+ var getRecaptchaKey = (state) => state.app.recaptchaSiteKey;
159
+ var getStripeKey = (state) => state.app.stripeAPIKey;
160
+ var getTrackerCode = (state) => state.app.trackerCode;
161
+ var getIsFirstLogin = (state) => state.app.firstLoginAfterSignup;
162
+ var getFeedbackProbability = (state) => state.app.feedbackProbability;
163
+ var getIsUploading = (0, import_toolkit.createSelector)([getUploads], (uploadsById) => !!Object.keys(uploadsById).length);
130
164
  var getSearchedDevices = (0, import_toolkit.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
131
165
  var getVersionInformation = (0, import_toolkit.createSelector)(
132
166
  [getFullVersionInformation, getFeatures],
133
- ({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
167
+ ({ Integration: Integration2, ...remainder }, { isHosted }) => isHosted && Integration2 !== "next" ? remainder : { ...remainder, Integration: Integration2 }
134
168
  );
135
- var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers.versionCompare)(Integration, "next") > -1);
169
+ var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration: Integration2 }) => (0, import_helpers.versionCompare)(Integration2, "next") > -1);
136
170
 
137
171
  // src/commonSelectors.ts
138
172
  var import_helpers4 = require("@northern.tech/utils/helpers");
@@ -144,11 +178,6 @@ var startingDeviceCount = {
144
178
  os: "for first 50 devices",
145
179
  professional: "for first 250 devices"
146
180
  };
147
- var apiRoot = "/api/management";
148
- var apiUrl = {
149
- v1: `${apiRoot}/v1`,
150
- v2: `${apiRoot}/v2`
151
- };
152
181
  var chartTypes = {
153
182
  bar: { key: "bar", Icon: import_icons_material.BarChart },
154
183
  pie: { key: "pie", Icon: import_icons_material.PieChartOutline }
@@ -160,28 +189,30 @@ var PLANS = {
160
189
  os: {
161
190
  id: "os",
162
191
  name: "Basic",
192
+ minimalDeviceCount: 50,
163
193
  offer: true,
164
- price: "$32 / month",
194
+ price: "$34 / month",
165
195
  deviceCount: startingDeviceCount.os,
166
- offerprice: "$23 / month for first 50 devices",
167
- price2: "for first 6 months;\n$29/month thereafter",
196
+ description: "The core features of Mender. To continue using Enterprise Trial features\u2014like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more\u2014please upgrade to a higher plan.",
168
197
  features: ["Access to core features of Mender", "Basic support"]
169
198
  },
170
199
  professional: {
171
200
  id: "professional",
172
201
  name: "Professional",
202
+ minimalDeviceCount: 250,
173
203
  offer: true,
174
- price: "$269 / month",
204
+ price: "$291 / month",
175
205
  deviceCount: startingDeviceCount.professional,
176
- offerprice: "$200 / month for first 50 devices",
177
- price2: "for first 6 months;\n$249/month thereafter",
206
+ description: "Everything in Basic, plus enhanced update management and automation features.",
178
207
  features: ["Advanced OTA features", "Higher priority support"]
179
208
  },
180
209
  enterprise: {
181
210
  id: "enterprise",
182
211
  name: "Enterprise",
212
+ minimalDeviceCount: 1e3,
183
213
  price: "Custom pricing",
184
214
  deviceCount: "Unlimited devices",
215
+ description: "Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription \u2014 ask us for a quote.",
185
216
  features: ["All Mender features", "Advanced security features", "SLA-backed support"]
186
217
  }
187
218
  };
@@ -201,21 +232,6 @@ var ADDONS = {
201
232
  },
202
233
  eligible: ["os", "professional", "enterprise"]
203
234
  },
204
- troubleshoot: {
205
- id: "troubleshoot",
206
- title: "Troubleshoot",
207
- description: "Expand your plan with device troubleshooting features",
208
- needs: ["hasDeviceConnect"],
209
- os: {
210
- price: "$27/month",
211
- deviceCount: startingDeviceCount.os
212
- },
213
- professional: {
214
- price: "$72/month",
215
- deviceCount: startingDeviceCount.professional
216
- },
217
- eligible: ["os", "professional", "enterprise"]
218
- },
219
235
  monitor: {
220
236
  id: "monitor",
221
237
  title: "Monitor",
@@ -230,6 +246,21 @@ var ADDONS = {
230
246
  deviceCount: startingDeviceCount.professional
231
247
  },
232
248
  eligible: ["professional", "enterprise"]
249
+ },
250
+ troubleshoot: {
251
+ id: "troubleshoot",
252
+ title: "Troubleshoot",
253
+ description: "Expand your plan with device troubleshooting features",
254
+ needs: ["hasDeviceConnect"],
255
+ os: {
256
+ price: "$27/month",
257
+ deviceCount: startingDeviceCount.os
258
+ },
259
+ professional: {
260
+ price: "$72/month",
261
+ deviceCount: startingDeviceCount.professional
262
+ },
263
+ eligible: ["os", "professional", "enterprise"]
233
264
  }
234
265
  };
235
266
  var BENEFITS = {
@@ -270,678 +301,13 @@ var DARK_MODE = "dark";
270
301
 
271
302
  // src/commonConstants.tsx
272
303
  var import_js = require("@mdi/js");
273
- var import_jsx_runtime = require("react/jsx-runtime");
274
- var DEVICE_LIST_DEFAULTS = {
275
- page: 1,
276
- perPage: 20
277
- };
278
- var timeUnits = {
279
- days: "days",
280
- minutes: "minutes",
281
- hours: "hours"
282
- };
283
- var ALL_DEVICES = "All devices";
284
- var UNGROUPED_GROUP = { id: "*|=ungrouped=|*", name: "Unassigned" };
285
- var DEVICE_LIST_MAXIMUM_LENGTH = 50;
286
- var DEVICE_FILTERING_OPTIONS = {
287
- $eq: { key: "$eq", title: "equals", shortform: "=" },
288
- $ne: { key: "$ne", title: "not equal", shortform: "!=" },
289
- $gt: {
290
- key: "$gt",
291
- title: ">",
292
- shortform: ">",
293
- help: 'The "greater than" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
294
- },
295
- $gte: {
296
- title: ">=",
297
- shortform: ">=",
298
- help: 'The "greater than or equal" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
299
- },
300
- $lt: {
301
- key: "$lt",
302
- title: "<",
303
- shortform: "<",
304
- help: 'The "lesser than" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
305
- },
306
- $lte: {
307
- title: "<=",
308
- shortform: "<=",
309
- help: 'The "lesser than or equal" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
310
- },
311
- $ltne: {
312
- key: "$ltne",
313
- title: "$ltne",
314
- shortform: "ltne",
315
- help: 'The "lesser than or does not exist" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
316
- },
317
- $in: {
318
- key: "$in",
319
- title: "in",
320
- shortform: "in",
321
- help: 'The "in" operator accepts a list of comma-separated values. It matches if the selected field is equal to one of the specified values.'
322
- },
323
- $nin: {
324
- key: "$nin",
325
- title: "not in",
326
- shortform: "not in",
327
- help: `The "not in" operator accepts a list of comma-separated values. It matches if the selected field's value is not equal to any of the specified options.`
328
- },
329
- $exists: {
330
- key: "$exists",
331
- title: "exists",
332
- shortform: "exists",
333
- value: true,
334
- help: `The "exists" operator matches if the selected field's value has a value. No value needs to be provided for this operator.`
335
- },
336
- $nexists: {
337
- key: "$nexists",
338
- title: `doesn't exist`,
339
- shortform: `doesn't exist`,
340
- value: true,
341
- help: `The "doesn't exist" operator matches if the selected field's value has no value. No value needs to be provided for this operator.`
342
- },
343
- $regex: {
344
- key: "$regex",
345
- title: `matches regular expression`,
346
- shortform: `matches`,
347
- help: `The "regular expression" operator matches the selected field's value with a Perl compatible regular expression (PCRE), automatically anchored by ^. If the regular expression is not valid, the filter will produce no results. If you need to specify options and flags, you can provide the full regex in the format of /regex/flags, for example.`
348
- }
349
- };
350
- var DEVICE_ISSUE_OPTIONS = {
351
- issues: {
352
- isCategory: true,
353
- key: "issues",
354
- title: "Devices with issues",
355
- filterRule: {}
356
- },
357
- offline: {
358
- issueCategory: "issues",
359
- key: "offline",
360
- needsFullFiltering: true,
361
- needsMonitor: false,
362
- needsReporting: false,
363
- filterRule: {
364
- scope: "system",
365
- key: "check_in_time",
366
- operator: DEVICE_FILTERING_OPTIONS.$ltne.key,
367
- value: ({ offlineThreshold }) => offlineThreshold
368
- },
369
- title: "Offline devices"
370
- },
371
- failedLastUpdate: {
372
- issueCategory: "issues",
373
- key: "failedLastUpdate",
374
- needsFullFiltering: false,
375
- needsMonitor: false,
376
- needsReporting: true,
377
- filterRule: { scope: "monitor", key: "failed_last_update", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },
378
- title: "Deployment failed"
379
- },
380
- monitoring: {
381
- issueCategory: "issues",
382
- key: "monitoring",
383
- needsFullFiltering: false,
384
- needsMonitor: true,
385
- needsReporting: false,
386
- filterRule: { scope: "monitor", key: "alerts", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },
387
- title: "Monitoring alert"
388
- },
389
- authRequests: {
390
- key: "authRequests",
391
- needsFullFiltering: false,
392
- needsMonitor: false,
393
- needsReporting: true,
394
- filterRule: { scope: "monitor", key: "auth_requests", operator: DEVICE_FILTERING_OPTIONS.$gt.key, value: 1 },
395
- title: "Devices with new authentication requests"
396
- },
397
- gatewayDevices: {
398
- key: "gatewayDevices",
399
- needsFullFiltering: false,
400
- needsMonitor: false,
401
- needsReporting: true,
402
- filterRule: { scope: "inventory", key: "mender_is_gateway", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: "true" },
403
- title: "Gateway devices"
404
- }
405
- };
406
- var oneSecond = 1e3;
407
- var TIMEOUTS = {
408
- debounceDefault: 700,
409
- debounceShort: 300,
410
- halfASecond: 0.5 * oneSecond,
411
- oneSecond,
412
- twoSeconds: 2 * oneSecond,
413
- threeSeconds: 3 * oneSecond,
414
- fiveSeconds: 5 * oneSecond,
415
- refreshDefault: 10 * oneSecond,
416
- refreshLong: 60 * oneSecond
417
- };
418
- var SORTING_OPTIONS = {
419
- asc: "asc",
420
- desc: "desc"
421
- };
422
- var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
423
- var ATTRIBUTE_SCOPES = {
424
- inventory: "inventory",
425
- identity: "identity",
426
- monitor: "monitor",
427
- system: "system",
428
- tags: "tags"
429
- };
430
- var defaultIdAttribute = Object.freeze({ attribute: "id", scope: ATTRIBUTE_SCOPES.identity });
431
- var credentialTypes = {
432
- aws: "aws",
433
- http: "http",
434
- sas: "sas",
435
- x509: "x509"
436
- };
437
- var EXTERNAL_PROVIDER = {
438
- "iot-core": {
439
- credentialsType: credentialTypes.aws,
440
- icon: import_js.mdiAws,
441
- title: "AWS IoT Core",
442
- twinTitle: "Device Shadow",
443
- provider: "iot-core",
444
- enabled: true,
445
- deviceTwin: true,
446
- configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "For help finding your AWS IoT Core connection string, check the AWS IoT documentation." })
447
- },
448
- "iot-hub": {
449
- credentialsType: credentialTypes.sas,
450
- icon: import_js.mdiMicrosoftAzure,
451
- title: "Azure IoT Hub",
452
- twinTitle: "Device Twin",
453
- provider: "iot-hub",
454
- enabled: true,
455
- deviceTwin: true,
456
- configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
457
- "For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described",
458
- " ",
459
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
460
- "a",
461
- {
462
- href: "https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn",
463
- target: "_blank",
464
- rel: "noopener noreferrer",
465
- children: "here"
466
- }
467
- ),
468
- "."
469
- ] })
470
- },
471
- webhook: {
472
- credentialsType: credentialTypes.http,
473
- deviceTwin: false,
474
- // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.
475
- enabled: false,
476
- provider: "webhook"
477
- }
478
- };
479
- var ALL_RELEASES = "All releases";
480
- var emptyUiPermissions = Object.freeze({
481
- auditlog: [],
482
- deployments: [],
483
- groups: Object.freeze({}),
484
- releases: Object.freeze({}),
485
- tenantManagement: [],
486
- userManagement: []
487
- });
488
- var emptyRole = Object.freeze({
489
- name: void 0,
490
- description: "",
491
- permissions: [],
492
- uiPermissions: Object.freeze({ ...emptyUiPermissions })
493
- });
304
+ var import_MenderTypes = require("@northern.tech/types/MenderTypes");
494
305
 
495
- // src/deploymentsSlice/selectors.ts
496
- var import_toolkit2 = require("@reduxjs/toolkit");
497
-
498
- // src/devicesSlice/constants.ts
499
- var emptyFilter = { key: null, value: "", operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: "inventory" };
500
- var deviceAuthV2 = `${apiUrl.v2}/devauth`;
501
- var deviceConnect = `${apiUrl.v1}/deviceconnect`;
502
- var inventoryApiUrl = `${apiUrl.v1}/inventory`;
503
- var inventoryApiUrlV2 = `${apiUrl.v2}/inventory`;
504
- var deviceConfig = `${apiUrl.v1}/deviceconfig/configurations/device`;
505
- var reportingApiUrl = `${apiUrl.v1}/reporting`;
506
- var iotManagerBaseURL = `${apiUrl.v1}/iot-manager`;
507
- var DEVICE_STATES = {
508
- accepted: "accepted",
509
- pending: "pending",
510
- preauth: "preauthorized",
511
- rejected: "rejected"
512
- };
513
- var geoAttributes = ["geo-lat", "geo-lon"].map((attribute) => ({ attribute, scope: "inventory" }));
514
-
515
- // src/onboardingSlice/constants.ts
516
- var onboardingSteps = {
517
- ONBOARDING_START: "onboarding-start",
518
- DEVICES_PENDING_ONBOARDING_START: "devices-pending-onboarding-start",
519
- DASHBOARD_ONBOARDING_START: "dashboard-onboarding-start",
520
- DASHBOARD_ONBOARDING_PENDINGS: "dashboard-onboarding-pendings",
521
- DEVICES_DELAYED_ONBOARDING: "devices-delayed-onboarding",
522
- DEVICES_PENDING_ONBOARDING: "devices-pending-onboarding",
523
- DEVICES_ACCEPTED_ONBOARDING: "devices-accepted-onboarding",
524
- DEVICES_PENDING_ACCEPTING_ONBOARDING: "devices-pending-accepting-onboarding",
525
- DEVICES_DEPLOY_RELEASE_ONBOARDING: "devices-deploy-release-onboarding",
526
- SCHEDULING_ARTIFACT_SELECTION: "scheduling-artifact-selection",
527
- SCHEDULING_ALL_DEVICES_SELECTION: "scheduling-all-devices-selection",
528
- SCHEDULING_GROUP_SELECTION: "scheduling-group-selection",
529
- SCHEDULING_RELEASE_TO_DEVICES: "scheduling-release-to-devices",
530
- DEPLOYMENTS_INPROGRESS: "deployments-inprogress",
531
- DEPLOYMENTS_PAST: "deployments-past",
532
- DEPLOYMENTS_PAST_COMPLETED: "deployments-past-completed",
533
- DEPLOYMENTS_PAST_COMPLETED_FAILURE: "deployments-past-completed-failure",
534
- ONBOARDING_CANCELED: "onboarding-canceled"
535
- };
536
- var orderedOnboardingSteps = [
537
- onboardingSteps.DASHBOARD_ONBOARDING_START,
538
- onboardingSteps.DEVICES_PENDING_ONBOARDING_START,
539
- onboardingSteps.DEVICES_DELAYED_ONBOARDING,
540
- onboardingSteps.DEVICES_PENDING_ONBOARDING,
541
- onboardingSteps.DEVICES_PENDING_ACCEPTING_ONBOARDING,
542
- onboardingSteps.DASHBOARD_ONBOARDING_PENDINGS,
543
- onboardingSteps.DEVICES_ACCEPTED_ONBOARDING,
544
- onboardingSteps.DEVICES_DEPLOY_RELEASE_ONBOARDING,
545
- onboardingSteps.SCHEDULING_ALL_DEVICES_SELECTION,
546
- onboardingSteps.SCHEDULING_GROUP_SELECTION,
547
- onboardingSteps.SCHEDULING_ARTIFACT_SELECTION,
548
- onboardingSteps.SCHEDULING_RELEASE_TO_DEVICES,
549
- onboardingSteps.DEPLOYMENTS_INPROGRESS,
550
- onboardingSteps.DEPLOYMENTS_PAST,
551
- onboardingSteps.DEPLOYMENTS_PAST_COMPLETED,
552
- onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE,
553
- onboardingSteps.ONBOARDING_CANCELED
554
- ];
555
-
556
- // src/usersSlice/constants.ts
557
- var useradmApiUrlv1 = `${apiUrl.v1}/useradm`;
558
- var useradmApiUrlv2 = `${apiUrl.v2}/useradm`;
559
- var staticRolesByName = {
560
- admin: "RBAC_ROLE_PERMIT_ALL",
561
- readOnly: "RBAC_ROLE_OBSERVER",
562
- ci: "RBAC_ROLE_CI",
563
- deploymentsManager: "RBAC_ROLE_DEPLOYMENTS_MANAGER",
564
- terminalAccess: "RBAC_ROLE_REMOTE_TERMINAL"
565
- };
566
- var PermissionTypes = {
567
- Any: "any",
568
- Get: "GET",
569
- Post: "POST",
570
- Put: "PUT",
571
- Delete: "DELETE",
572
- Patch: "PATCH",
573
- DeviceGroup: "DEVICE_GROUP",
574
- DeviceId: "DEVICE_ID"
575
- };
576
- var permissionSetIds = {
577
- Basic: "Basic",
578
- ConfigureDevices: "ConfigureDevices",
579
- ConnectToDevices: "ConnectToDevices",
580
- DeployToDevices: "DeployToDevices",
581
- ManageDevices: "ManageDevices",
582
- ManageReleases: "ManageReleases",
583
- ManageTenants: "ManageTenants",
584
- ManageUsers: "ManageUsers",
585
- ReadAuditLogs: "ReadAuditLogs",
586
- ReadDevices: "ReadDevices",
587
- ReadReleases: "ReadReleases",
588
- ReadTenants: "ReadTenants",
589
- ReadUsers: "ReadUsers",
590
- SuperUser: "SuperUser",
591
- UploadArtifacts: "UploadArtifacts"
592
- };
593
- var uiPermissionsById = {
594
- configure: {
595
- explanations: { groups: `'Configure' allows the user to use mender-configure features and apply configurations.` },
596
- permissionLevel: 2,
597
- permissionSets: { groups: permissionSetIds.ConfigureDevices },
598
- title: "Configure",
599
- value: "configure",
600
- verbs: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post]
601
- },
602
- connect: {
603
- explanations: { groups: `'Connect' allows the user to use mender-connect features and Troubleshoot add-ons.` },
604
- permissionLevel: 2,
605
- permissionSets: { groups: permissionSetIds.ConnectToDevices },
606
- title: "Connect",
607
- value: "connect",
608
- verbs: [PermissionTypes.Get, PermissionTypes.Put]
609
- },
610
- deploy: {
611
- explanations: { groups: `'Deploy' allows the user to deploy software or configuration updates to devices.` },
612
- permissionLevel: 2,
613
- permissionSets: { deployments: permissionSetIds.DeployToDevices, groups: permissionSetIds.DeployToDevices },
614
- title: "Deploy",
615
- value: "deploy",
616
- verbs: [PermissionTypes.Post]
617
- },
618
- manage: {
619
- explanations: {
620
- groups: `'Manage' allows the user to edit device name, notes, and manage authentication status. For 'All devices' it also allows the user to edit and create device groups.`,
621
- releases: `'Manage' allows the user to upload new artifacts, edit release descriptions and remove artifacts.`
622
- },
623
- permissionLevel: 2,
624
- permissionSets: {
625
- groups: permissionSetIds.ManageDevices,
626
- releases: permissionSetIds.ManageReleases,
627
- tenantManagement: permissionSetIds.ManageTenants,
628
- userManagement: permissionSetIds.ManageUsers
629
- },
630
- title: "Manage",
631
- value: "manage",
632
- verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]
633
- },
634
- read: {
635
- explanations: { groups: `'Read' allows the user to view devices.` },
636
- permissionLevel: 1,
637
- permissionSets: {
638
- auditlog: permissionSetIds.ReadAuditLogs,
639
- groups: permissionSetIds.ReadDevices,
640
- releases: permissionSetIds.ReadReleases,
641
- tenantManagement: permissionSetIds.ReadTenants,
642
- userManagement: permissionSetIds.ReadUsers
643
- },
644
- title: "Read",
645
- value: "read",
646
- verbs: [PermissionTypes.Get, PermissionTypes.Post]
647
- },
648
- upload: {
649
- explanations: { groups: `'Upload' allows the user to upload new Artifacts.` },
650
- unscopedOnly: { releases: true },
651
- permissionLevel: 1,
652
- permissionSets: { releases: permissionSetIds.UploadArtifacts },
653
- title: "Upload",
654
- value: "upload",
655
- verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]
656
- }
657
- };
658
- var scopedPermissionAreas = {
659
- groups: { key: "groups", excessiveAccessSelector: ALL_DEVICES, scopeType: "DeviceGroups" },
660
- releases: { key: "releases", excessiveAccessSelector: ALL_RELEASES, scopeType: "Releases" }
661
- };
662
- var uiPermissionsByArea = {
663
- auditlog: {
664
- endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
665
- explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
666
- key: "auditlog",
667
- uiPermissions: [uiPermissionsById.read],
668
- title: "System Audit Log"
669
- },
670
- deployments: {
671
- endpoints: [
672
- { path: /\/(deployments\/deployments)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.deploy] },
673
- { path: /\/(deployments\/deployments)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
674
- { path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
675
- ],
676
- explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
677
- key: "deployments",
678
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
679
- title: "Deployments"
680
- },
681
- groups: {
682
- endpoints: [
683
- {
684
- path: /\/(devauth|inventory|deviceconfig|devicemonitor|deviceconnect\/devices)/i,
685
- types: [PermissionTypes.Get],
686
- uiPermissions: [uiPermissionsById.read]
687
- },
688
- { path: /\/(devauth|inventory)/i, types: [PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] },
689
- { path: /\/(deviceconfig)/i, types: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.configure] },
690
- { path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
691
- ],
692
- explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
693
- key: "groups",
694
- scope: scopedPermissionAreas.groups.scopeType,
695
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
696
- title: "Group Management"
697
- },
698
- releases: {
699
- endpoints: [
700
- { path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
701
- {
702
- path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i,
703
- types: [PermissionTypes.Post, PermissionTypes.Put],
704
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.upload]
705
- },
706
- {
707
- path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i,
708
- types: [PermissionTypes.Delete],
709
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage]
710
- }
711
- ],
712
- explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
713
- key: "releases",
714
- scope: "ReleaseTags",
715
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
716
- title: "Release Management"
717
- },
718
- tenantManagement: {
719
- endpoints: [
720
- { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
721
- { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
722
- { path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
723
- ],
724
- explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
725
- key: "tenantManagement",
726
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
727
- title: "Tenant Management"
728
- },
729
- userManagement: {
730
- endpoints: [
731
- { path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
732
- { path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
733
- ],
734
- explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
735
- key: "userManagement",
736
- uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
737
- title: "User Management"
738
- }
739
- };
740
- var permissionMapper = (permission) => permission.value;
741
- var rolesById = Object.freeze({
742
- [staticRolesByName.admin]: {
743
- name: "Admin",
744
- value: staticRolesByName.admin,
745
- description: "Full access",
746
- permissions: [],
747
- // permissions refers to the values returned from the backend
748
- uiPermissions: {
749
- ...emptyUiPermissions,
750
- auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
751
- deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
752
- groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
753
- releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
754
- userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
755
- }
756
- },
757
- [staticRolesByName.readOnly]: {
758
- name: "Read Access",
759
- value: staticRolesByName.readOnly,
760
- description: "",
761
- permissions: [],
762
- uiPermissions: {
763
- ...emptyUiPermissions,
764
- deployments: [uiPermissionsById.read.value],
765
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
766
- releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
767
- userManagement: [uiPermissionsById.read.value]
768
- }
769
- },
770
- [staticRolesByName.ci]: {
771
- name: "Releases Manager",
772
- value: staticRolesByName.ci,
773
- description: "",
774
- permissions: [],
775
- uiPermissions: {
776
- ...emptyUiPermissions,
777
- releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
778
- }
779
- },
780
- [staticRolesByName.deploymentsManager]: {
781
- name: "Deployments Manager",
782
- value: staticRolesByName.deploymentsManager,
783
- description: "",
784
- permissions: [],
785
- uiPermissions: {
786
- ...emptyUiPermissions,
787
- deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
788
- groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
789
- releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
790
- }
791
- },
792
- [staticRolesByName.terminalAccess]: {
793
- name: "Troubleshooting",
794
- value: staticRolesByName.terminalAccess,
795
- description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
796
- permissions: [],
797
- uiPermissions: {
798
- ...emptyUiPermissions,
799
- groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
800
- }
801
- }
802
- });
803
- var serviceProviderRolesById = {
804
- admin: {
805
- name: "Admin",
806
- value: staticRolesByName.admin,
807
- description: "Full access",
808
- permissions: [],
809
- uiPermissions: {
810
- ...emptyUiPermissions,
811
- auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
812
- userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
813
- tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
814
- }
815
- },
816
- readOnly: {
817
- name: "Read access",
818
- value: staticRolesByName.readOnly,
819
- description: "This role can see all linked organizations but cannot make any changes",
820
- permissions: [],
821
- uiPermissions: {
822
- ...emptyUiPermissions,
823
- auditlog: [uiPermissionsById.read.value],
824
- userManagement: [uiPermissionsById.read.value],
825
- tenantManagement: [uiPermissionsById.read.value]
826
- }
827
- }
828
- };
829
- var defaultPermissionSets = {
830
- [permissionSetIds.Basic]: {
831
- name: permissionSetIds.Basic,
832
- result: {
833
- // this is needed to prevent the detailed permissions of the basic permission set from being interpreted as allowing read & management access to user endpoints
834
- userManagement: [uiPermissionsById.read.value]
835
- }
836
- },
837
- [permissionSetIds.SuperUser]: {
838
- name: permissionSetIds.SuperUser,
839
- result: {
840
- ...rolesById[staticRolesByName.admin].uiPermissions
841
- }
842
- },
843
- [permissionSetIds.ManageUsers]: {
844
- name: permissionSetIds.ManageUsers,
845
- result: {
846
- userManagement: [uiPermissionsById.manage.value]
847
- }
848
- },
849
- [permissionSetIds.ReadAuditLogs]: {
850
- name: permissionSetIds.ReadAuditLogs,
851
- result: {
852
- auditlog: [uiPermissionsById.read.value]
853
- }
854
- },
855
- [permissionSetIds.ReadReleases]: {
856
- name: permissionSetIds.ReadReleases,
857
- result: {
858
- releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
859
- }
860
- },
861
- [permissionSetIds.ReadTenants]: {
862
- name: permissionSetIds.ReadTenants,
863
- result: {
864
- tenantManagement: [uiPermissionsById.read.value]
865
- }
866
- },
867
- [permissionSetIds.ManageTenants]: {
868
- name: permissionSetIds.ManageTenants,
869
- result: {
870
- tenantManagement: [uiPermissionsById.manage.value]
871
- }
872
- },
873
- [permissionSetIds.ReadUsers]: {
874
- name: permissionSetIds.ReadUsers,
875
- result: {
876
- userManagement: [uiPermissionsById.read.value]
877
- }
878
- },
879
- [permissionSetIds.UploadArtifacts]: {
880
- name: permissionSetIds.UploadArtifacts,
881
- result: {
882
- releases: { [ALL_RELEASES]: [uiPermissionsById.upload.value] }
883
- }
884
- },
885
- [permissionSetIds.ManageReleases]: {
886
- name: permissionSetIds.ManageReleases,
887
- result: {
888
- releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }
889
- }
890
- },
891
- [permissionSetIds.ConfigureDevices]: {
892
- name: permissionSetIds.ConfigureDevices,
893
- result: {
894
- deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value],
895
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.configure.value] }
896
- }
897
- },
898
- [permissionSetIds.ConnectToDevices]: {
899
- name: permissionSetIds.ConnectToDevices,
900
- result: {
901
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.connect.value] }
902
- }
903
- },
904
- [permissionSetIds.DeployToDevices]: {
905
- name: permissionSetIds.DeployToDevices,
906
- result: {
907
- deployments: [uiPermissionsById.deploy.value, uiPermissionsById.manage.value, uiPermissionsById.read.value],
908
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }
909
- }
910
- },
911
- [permissionSetIds.ManageDevices]: {
912
- name: permissionSetIds.ManageDevices,
913
- result: {
914
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }
915
- }
916
- },
917
- [permissionSetIds.ReadDevices]: {
918
- name: permissionSetIds.ReadDevices,
919
- result: {
920
- groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] }
921
- }
922
- }
923
- };
924
- var rolesByName = {
925
- ...staticRolesByName,
926
- deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
927
- groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
928
- userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
929
- };
930
- var twoFAStates = {
931
- enabled: "enabled",
932
- disabled: "disabled",
933
- unverified: "unverified"
934
- };
935
- var READ_STATES = {
936
- read: "read",
937
- seen: "seen",
938
- unread: "unread"
939
- };
306
+ // src/constants.ts
307
+ var import_constants2 = require("@northern.tech/utils/constants");
940
308
 
941
309
  // src/deploymentsSlice/constants.ts
942
310
  var alreadyInstalled = "already-installed";
943
- var deploymentsApiUrl = `${apiUrl.v1}/deployments`;
944
- var deploymentsApiUrlV2 = `${apiUrl.v2}/deployments`;
945
311
  var deploymentSubstates = {
946
312
  aborted: "aborted",
947
313
  alreadyInstalled,
@@ -1014,9 +380,9 @@ var DEPLOYMENT_STATES = {
1014
380
  var listDefaultsByState = {
1015
381
  [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
1016
382
  [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
1017
- [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
1018
- [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
1019
- sort: { direction: SORTING_OPTIONS.desc }
383
+ [DEPLOYMENT_STATES.scheduled]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
384
+ [DEPLOYMENT_STATES.finished]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
385
+ sort: { direction: import_constants2.SORTING_OPTIONS.desc }
1020
386
  };
1021
387
  var DEPLOYMENT_ROUTES = {
1022
388
  active: {
@@ -1068,7 +434,392 @@ var pauseMap = {
1068
434
  }
1069
435
  };
1070
436
 
437
+ // src/onboardingSlice/constants.ts
438
+ var onboardingSteps = {
439
+ ONBOARDING_START: "onboarding-start",
440
+ DEVICES_PENDING_ONBOARDING_START: "devices-pending-onboarding-start",
441
+ DASHBOARD_ONBOARDING_START: "dashboard-onboarding-start",
442
+ DASHBOARD_ONBOARDING_PENDINGS: "dashboard-onboarding-pendings",
443
+ DEVICES_DELAYED_ONBOARDING: "devices-delayed-onboarding",
444
+ DEVICES_PENDING_ONBOARDING: "devices-pending-onboarding",
445
+ DEVICES_ACCEPTED_ONBOARDING: "devices-accepted-onboarding",
446
+ DEVICES_PENDING_ACCEPTING_ONBOARDING: "devices-pending-accepting-onboarding",
447
+ DEVICES_DEPLOY_RELEASE_ONBOARDING: "devices-deploy-release-onboarding",
448
+ SCHEDULING_ARTIFACT_SELECTION: "scheduling-artifact-selection",
449
+ SCHEDULING_ALL_DEVICES_SELECTION: "scheduling-all-devices-selection",
450
+ SCHEDULING_GROUP_SELECTION: "scheduling-group-selection",
451
+ SCHEDULING_RELEASE_TO_DEVICES: "scheduling-release-to-devices",
452
+ DEPLOYMENTS_INPROGRESS: "deployments-inprogress",
453
+ DEPLOYMENTS_COMPLETED: "deployments-completed",
454
+ DEPLOYMENTS_PAST: "deployments-past",
455
+ DEPLOYMENTS_PAST_COMPLETED: "deployments-past-completed",
456
+ DEPLOYMENTS_PAST_COMPLETED_FAILURE: "deployments-past-completed-failure",
457
+ ONBOARDING_CANCELED: "onboarding-canceled"
458
+ };
459
+ var orderedOnboardingSteps = [
460
+ onboardingSteps.DASHBOARD_ONBOARDING_START,
461
+ onboardingSteps.DEVICES_PENDING_ONBOARDING_START,
462
+ onboardingSteps.DEVICES_DELAYED_ONBOARDING,
463
+ onboardingSteps.DEVICES_PENDING_ONBOARDING,
464
+ onboardingSteps.DEVICES_PENDING_ACCEPTING_ONBOARDING,
465
+ onboardingSteps.DASHBOARD_ONBOARDING_PENDINGS,
466
+ onboardingSteps.DEVICES_ACCEPTED_ONBOARDING,
467
+ onboardingSteps.DEVICES_DEPLOY_RELEASE_ONBOARDING,
468
+ onboardingSteps.SCHEDULING_ALL_DEVICES_SELECTION,
469
+ onboardingSteps.SCHEDULING_GROUP_SELECTION,
470
+ onboardingSteps.SCHEDULING_ARTIFACT_SELECTION,
471
+ onboardingSteps.SCHEDULING_RELEASE_TO_DEVICES,
472
+ onboardingSteps.DEPLOYMENTS_INPROGRESS,
473
+ onboardingSteps.DEPLOYMENTS_PAST,
474
+ onboardingSteps.DEPLOYMENTS_PAST_COMPLETED,
475
+ onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE,
476
+ onboardingSteps.ONBOARDING_CANCELED
477
+ ];
478
+
479
+ // src/usersSlice/constants.ts
480
+ var READ_STATES = {
481
+ read: "read",
482
+ seen: "seen",
483
+ unread: "unread"
484
+ };
485
+
486
+ // src/commonConstants.tsx
487
+ var import_jsx_runtime = require("react/jsx-runtime");
488
+ var timeUnits = {
489
+ days: "days",
490
+ minutes: "minutes",
491
+ hours: "hours"
492
+ };
493
+ var UNGROUPED_GROUP = { id: "*|=ungrouped=|*", name: "Unassigned" };
494
+ var DEVICE_LIST_MAXIMUM_LENGTH = 50;
495
+ var oneSecond = 1e3;
496
+ var TIMEOUTS = {
497
+ debounceDefault: 700,
498
+ debounceShort: 300,
499
+ halfASecond: 0.5 * oneSecond,
500
+ oneSecond,
501
+ twoSeconds: 2 * oneSecond,
502
+ threeSeconds: 3 * oneSecond,
503
+ fiveSeconds: 5 * oneSecond,
504
+ refreshDefault: 10 * oneSecond,
505
+ refreshLong: 60 * oneSecond
506
+ };
507
+ var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
508
+ var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants2.ATTRIBUTE_SCOPES.identity });
509
+ var credentialTypes = {
510
+ aws: import_MenderTypes.Credentials.type.AWS,
511
+ http: import_MenderTypes.Credentials.type.HTTP,
512
+ sas: import_MenderTypes.Credentials.type.SAS,
513
+ x509: "x509"
514
+ };
515
+ var EXTERNAL_PROVIDER = {
516
+ "iot-core": {
517
+ credentialsType: credentialTypes.aws,
518
+ icon: import_js.mdiAws,
519
+ title: "AWS IoT Core",
520
+ twinTitle: "Device Shadow",
521
+ provider: "iot-core",
522
+ enabled: true,
523
+ deviceTwin: true,
524
+ configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "For help finding your AWS IoT Core connection string, check the AWS IoT documentation." })
525
+ },
526
+ "iot-hub": {
527
+ credentialsType: credentialTypes.sas,
528
+ icon: import_js.mdiMicrosoftAzure,
529
+ title: "Azure IoT Hub",
530
+ twinTitle: "Device Twin",
531
+ provider: "iot-hub",
532
+ enabled: true,
533
+ deviceTwin: true,
534
+ configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
535
+ "For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described",
536
+ " ",
537
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
538
+ "a",
539
+ {
540
+ href: "https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn",
541
+ target: "_blank",
542
+ rel: "noopener noreferrer",
543
+ children: "here"
544
+ }
545
+ ),
546
+ "."
547
+ ] })
548
+ },
549
+ webhook: {
550
+ credentialsType: credentialTypes.http,
551
+ deviceTwin: false,
552
+ twinTitle: "",
553
+ // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.
554
+ enabled: false,
555
+ provider: "webhook"
556
+ }
557
+ };
558
+ var emptyWebhook = {
559
+ description: "",
560
+ provider: import_MenderTypes.Integration.provider.WEBHOOK,
561
+ credentials: {
562
+ type: EXTERNAL_PROVIDER.webhook.credentialsType,
563
+ [EXTERNAL_PROVIDER.webhook.credentialsType]: {
564
+ secret: "",
565
+ url: ""
566
+ }
567
+ }
568
+ };
569
+ var regionNames = new Intl.DisplayNames(["en"], { type: "region" });
570
+ var countries = [
571
+ "AD",
572
+ "AE",
573
+ "AF",
574
+ "AG",
575
+ "AI",
576
+ "AL",
577
+ "AM",
578
+ "AO",
579
+ "AQ",
580
+ "AR",
581
+ "AS",
582
+ "AT",
583
+ "AU",
584
+ "AW",
585
+ "AX",
586
+ "AZ",
587
+ "BA",
588
+ "BB",
589
+ "BD",
590
+ "BE",
591
+ "BF",
592
+ "BG",
593
+ "BH",
594
+ "BI",
595
+ "BJ",
596
+ "BL",
597
+ "BM",
598
+ "BN",
599
+ "BO",
600
+ "BR",
601
+ "BS",
602
+ "BT",
603
+ "BV",
604
+ "BW",
605
+ "BY",
606
+ "BZ",
607
+ "CA",
608
+ "CC",
609
+ "CD",
610
+ "CF",
611
+ "CG",
612
+ "CH",
613
+ "CI",
614
+ "CK",
615
+ "CL",
616
+ "CM",
617
+ "CN",
618
+ "CO",
619
+ "CR",
620
+ "CU",
621
+ "CV",
622
+ "CW",
623
+ "CX",
624
+ "CY",
625
+ "CZ",
626
+ "DE",
627
+ "DJ",
628
+ "DK",
629
+ "DM",
630
+ "DO",
631
+ "DZ",
632
+ "EC",
633
+ "EE",
634
+ "EG",
635
+ "EH",
636
+ "ER",
637
+ "ES",
638
+ "ET",
639
+ "FI",
640
+ "FJ",
641
+ "FK",
642
+ "FM",
643
+ "FO",
644
+ "FR",
645
+ "GA",
646
+ "GB",
647
+ "GD",
648
+ "GE",
649
+ "GF",
650
+ "GG",
651
+ "GH",
652
+ "GI",
653
+ "GL",
654
+ "GM",
655
+ "GN",
656
+ "GP",
657
+ "GQ",
658
+ "GR",
659
+ "GS",
660
+ "GT",
661
+ "GU",
662
+ "GW",
663
+ "GY",
664
+ "HK",
665
+ "HM",
666
+ "HN",
667
+ "HR",
668
+ "HT",
669
+ "HU",
670
+ "ID",
671
+ "IE",
672
+ "IL",
673
+ "IM",
674
+ "IN",
675
+ "IO",
676
+ "IQ",
677
+ "IR",
678
+ "IS",
679
+ "IT",
680
+ "JE",
681
+ "JM",
682
+ "JO",
683
+ "JP",
684
+ "KE",
685
+ "KG",
686
+ "KH",
687
+ "KI",
688
+ "KM",
689
+ "KN",
690
+ "KP",
691
+ "KR",
692
+ "KW",
693
+ "KY",
694
+ "KZ",
695
+ "LA",
696
+ "LB",
697
+ "LC",
698
+ "LI",
699
+ "LK",
700
+ "LR",
701
+ "LS",
702
+ "LT",
703
+ "LU",
704
+ "LV",
705
+ "LY",
706
+ "MA",
707
+ "MC",
708
+ "MD",
709
+ "ME",
710
+ "MF",
711
+ "MG",
712
+ "MH",
713
+ "MK",
714
+ "ML",
715
+ "MM",
716
+ "MN",
717
+ "MO",
718
+ "MP",
719
+ "MQ",
720
+ "MR",
721
+ "MS",
722
+ "MT",
723
+ "MU",
724
+ "MV",
725
+ "MW",
726
+ "MX",
727
+ "MY",
728
+ "MZ",
729
+ "NA",
730
+ "NC",
731
+ "NE",
732
+ "NF",
733
+ "NG",
734
+ "NI",
735
+ "NL",
736
+ "NO",
737
+ "NP",
738
+ "NR",
739
+ "NU",
740
+ "NZ",
741
+ "OM",
742
+ "PA",
743
+ "PE",
744
+ "PF",
745
+ "PG",
746
+ "PH",
747
+ "PK",
748
+ "PL",
749
+ "PM",
750
+ "PN",
751
+ "PR",
752
+ "PS",
753
+ "PT",
754
+ "PW",
755
+ "PY",
756
+ "QA",
757
+ "RE",
758
+ "RO",
759
+ "RS",
760
+ "RU",
761
+ "RW",
762
+ "SA",
763
+ "SB",
764
+ "SC",
765
+ "SD",
766
+ "SE",
767
+ "SG",
768
+ "SH",
769
+ "SI",
770
+ "SJ",
771
+ "SK",
772
+ "SL",
773
+ "SM",
774
+ "SN",
775
+ "SO",
776
+ "SR",
777
+ "SS",
778
+ "ST",
779
+ "SV",
780
+ "SX",
781
+ "SY",
782
+ "SZ",
783
+ "TC",
784
+ "TD",
785
+ "TF",
786
+ "TG",
787
+ "TH",
788
+ "TJ",
789
+ "TK",
790
+ "TL",
791
+ "TM",
792
+ "TN",
793
+ "TO",
794
+ "TR",
795
+ "TT",
796
+ "TV",
797
+ "TW",
798
+ "TZ",
799
+ "UA",
800
+ "UG",
801
+ "US",
802
+ "UY",
803
+ "UZ",
804
+ "VA",
805
+ "VC",
806
+ "VE",
807
+ "VG",
808
+ "VI",
809
+ "VN",
810
+ "VU",
811
+ "WF",
812
+ "WS",
813
+ "XK",
814
+ "YE",
815
+ "YT",
816
+ "ZA",
817
+ "ZM",
818
+ "ZW"
819
+ ].map((code) => ({ code, label: regionNames.of(code) })).sort((a, b) => a.label.localeCompare(b.label));
820
+
1071
821
  // src/deploymentsSlice/selectors.ts
822
+ var import_toolkit2 = require("@reduxjs/toolkit");
1072
823
  var getDeploymentsById = (state) => state.deployments.byId;
1073
824
  var getDeploymentsByStatus = (state) => state.deployments.byStatus;
1074
825
  var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
@@ -1145,7 +896,7 @@ var getDeviceIdentityAttributes = (0, import_toolkit3.createSelector)(
1145
896
  );
1146
897
  var getDeviceCountsByStatus = (0, import_toolkit3.createSelector)(
1147
898
  [getDevicesByStatus],
1148
- (byStatus) => Object.values(DEVICE_STATES).reduce((accu, state) => {
899
+ (byStatus) => Object.values(import_constants2.DEVICE_STATES).reduce((accu, state) => {
1149
900
  accu[state] = byStatus[state].total || 0;
1150
901
  return accu;
1151
902
  }, {})
@@ -1157,7 +908,7 @@ var getSelectedGroupInfo = (0, import_toolkit3.createSelector)(
1157
908
  let groupCount = acceptedDeviceTotal;
1158
909
  let groupFilters = [];
1159
910
  if (selectedGroup && groupsById[selectedGroup]) {
1160
- groupCount = groupsById[selectedGroup].total;
911
+ groupCount = groupsById[selectedGroup].total || 0;
1161
912
  groupFilters = groupsById[selectedGroup].filters || [];
1162
913
  }
1163
914
  return { groupCount, selectedGroup, groupFilters };
@@ -1168,13 +919,18 @@ var getLimitMaxed = (0, import_toolkit3.createSelector)(
1168
919
  ({ total: acceptedDevices = 0 }, deviceLimit) => Boolean(deviceLimit && deviceLimit <= acceptedDevices)
1169
920
  );
1170
921
  var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
922
+ var getGroupData = (0, import_toolkit3.createSelector)([getGroupsByIdWithoutUngrouped], (groups) => {
923
+ const createdGroup = Object.keys(groups).length ? Object.keys(groups)[0] : void 0;
924
+ const hasDynamicGroups = Object.values(groups).some((group) => !!group.id);
925
+ return { createdGroup, hasDynamicGroups, groups };
926
+ });
1171
927
  var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById) => {
1172
928
  const groupNames = Object.keys(groupsById).sort();
1173
929
  const groupedGroups = Object.entries(groupsById).sort((a, b) => a[0].localeCompare(b[0])).reduce(
1174
930
  (accu, [groupname, group]) => {
1175
931
  const name = groupname === UNGROUPED_GROUP.id ? UNGROUPED_GROUP.name : groupname;
1176
932
  const groupItem = { ...group, groupId: name, name: groupname };
1177
- if (group.filters?.length > 0) {
933
+ if ((group.filters ?? []).length > 0) {
1178
934
  if (groupname !== UNGROUPED_GROUP.id) {
1179
935
  accu.dynamic.push(groupItem);
1180
936
  } else {
@@ -1217,15 +973,20 @@ var getOnboarding = (state) => state.onboarding;
1217
973
 
1218
974
  // src/organizationSlice/selectors.ts
1219
975
  var import_toolkit4 = require("@reduxjs/toolkit");
976
+ var import_dayjs = __toESM(require("dayjs"), 1);
977
+ var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime"), 1);
1220
978
  var getOrganization = (state) => state.organization.organization;
1221
979
  var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
1222
980
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
1223
981
  var getAuditLog = (state) => state.organization.auditlog.events;
1224
982
  var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
983
+ var getBillingProfile = (state) => state.organization.organization.billing_profile;
984
+ var getSubscription = (state) => state.organization.organization.subscription;
985
+ var getCard = (state) => state.organization.card;
1225
986
  var getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];
1226
987
  var getTenantsList = (state) => state.organization.tenantList;
1227
988
  var getWebhookEvents = (state) => state.organization.webhooks.events;
1228
- var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
989
+ var getWebhookEventTotal = (state) => state.organization.webhooks.eventsTotal;
1229
990
  var getDeviceTwinIntegrations = (0, import_toolkit4.createSelector)(
1230
991
  [getExternalIntegrations],
1231
992
  (integrations) => integrations.filter((integration) => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)
@@ -1246,32 +1007,39 @@ var getAuditLogEntry = (0, import_toolkit4.createSelector)([getAuditLog, getAudi
1246
1007
  const [eventAction, eventTime] = atob(selectedId).split("|");
1247
1008
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1248
1009
  });
1010
+ import_dayjs.default.extend(import_relativeTime.default);
1011
+ var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
1012
+ var getHasCurrentPricing = (0, import_toolkit4.createSelector)(
1013
+ [getOrganization],
1014
+ ({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
1015
+ );
1016
+
1017
+ // src/releasesSlice/selectors.ts
1018
+ var import_toolkit5 = require("@reduxjs/toolkit");
1249
1019
 
1250
1020
  // src/utils.ts
1251
1021
  var import_helpers3 = require("@northern.tech/utils/helpers");
1252
1022
  var filterProcessors = {
1253
- [DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
1254
- [DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
1255
- [DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
1256
- [DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
1257
- [DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
1258
- [DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1259
- [DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1260
- [DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers3.yes,
1261
- [DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
1023
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
1024
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
1025
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
1026
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
1027
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
1028
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1029
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1030
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers3.yes,
1031
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
1262
1032
  };
1263
1033
  var filterAliases = {
1264
- $nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
1265
- };
1266
- var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
1267
- return ids.slice(0, cutOffSize).reduce((accu, id) => {
1268
- if (id && byId[id]) {
1269
- accu.push({ ...defaultObject, ...byId[id] });
1270
- }
1271
- return accu;
1272
- }, []);
1034
+ $nexists: { alias: import_constants2.DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
1273
1035
  };
1274
- var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
1036
+ var listItemMapper = (byId, ids, { cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH, defaultObject = {} }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
1037
+ if (id && byId[id]) {
1038
+ accu.push({ ...defaultObject, ...byId[id] });
1039
+ }
1040
+ return accu;
1041
+ }, []);
1042
+ var mergePermissions = (existingPermissions = { ...import_constants2.emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
1275
1043
  (accu, [key, value]) => {
1276
1044
  let values;
1277
1045
  if (!accu[key]) {
@@ -1295,45 +1063,51 @@ var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
1295
1063
  }
1296
1064
  return mergePermissions(accu, roles[roleId].uiPermissions);
1297
1065
  },
1298
- { ...emptyUiPermissions }
1066
+ { ...import_constants2.emptyUiPermissions }
1299
1067
  );
1300
1068
  var isDarkMode = (mode) => mode === DARK_MODE;
1301
1069
 
1302
1070
  // src/releasesSlice/selectors.ts
1303
- var import_toolkit5 = require("@reduxjs/toolkit");
1304
1071
  var getSelectedReleaseId = (state) => state.releases.selectedRelease;
1305
1072
  var getReleasesById = (state) => state.releases.byId;
1306
1073
  var getReleaseTags = (state) => state.releases.tags;
1307
1074
  var getReleaseListState = (state) => state.releases.releasesList;
1308
1075
  var getListedReleases = (state) => state.releases.releasesList.releaseIds;
1309
1076
  var getUpdateTypes = (state) => state.releases.updateTypes;
1310
- var getReleaseMappingDefaults = () => ({});
1077
+ var releaseDefaults = {};
1078
+ var getReleaseMappingDefaults = () => releaseDefaults;
1311
1079
  var getReleasesList = (0, import_toolkit5.createSelector)([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper);
1312
1080
  var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));
1313
1081
  var getHasReleases = (0, import_toolkit5.createSelector)(
1314
1082
  [getReleaseListState, getReleasesById],
1315
1083
  ({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)
1316
1084
  );
1317
- var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id] ?? {});
1085
+ var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
1086
+ var getSelectedReleases = (0, import_toolkit5.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
1318
1087
 
1319
1088
  // src/usersSlice/selectors.ts
1320
1089
  var import_toolkit6 = require("@reduxjs/toolkit");
1090
+ var emptyObject = {};
1321
1091
  var getRolesById = (state) => state.users.rolesById;
1322
1092
  var getTooltipsById = (state) => state.users.tooltips.byId;
1323
1093
  var getGlobalSettings = (state) => state.users.globalSettings;
1094
+ var getUserSettingsInitialized = (state) => state.users.settingsInitialized;
1324
1095
  var getCurrentUserId = (state) => state.users.currentUser;
1325
1096
  var getUsersById = (state) => state.users.byId;
1326
1097
  var getUsersList = (0, import_toolkit6.createSelector)([getUsersById], (usersById) => Object.values(usersById));
1327
- var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => usersById[userId] ?? {});
1098
+ var getCurrentUser = (0, import_toolkit6.createSelector)(
1099
+ [getUsersById, getCurrentUserId],
1100
+ (usersById, userId) => userId ? usersById[userId] ?? emptyObject : emptyObject
1101
+ );
1328
1102
  var getUserSettings = (state) => state.users.userSettings;
1329
1103
  var getSelectedDeviceAttribute = (0, import_toolkit6.createSelector)(
1330
1104
  [getUserSettings],
1331
1105
  ({ columnSelection }) => columnSelection.map((attribute) => ({ attribute: attribute.key, scope: attribute.scope }))
1332
1106
  );
1333
1107
  var getIsDarkMode = (0, import_toolkit6.createSelector)([getUserSettings], ({ mode }) => isDarkMode(mode));
1334
- var getShowHelptips = (0, import_toolkit6.createSelector)(
1108
+ var getReadAllHelptips = (0, import_toolkit6.createSelector)(
1335
1109
  [getTooltipsById],
1336
- (tooltips) => Object.values(tooltips).reduce((accu, { readState }) => accu || readState === READ_STATES.unread, false)
1110
+ (tooltips) => Object.values(tooltips).every(({ readState }) => readState === READ_STATES.read)
1337
1111
  );
1338
1112
  var getTooltipsState = (0, import_toolkit6.createSelector)(
1339
1113
  [getTooltipsById, getUserSettings],
@@ -1347,7 +1121,7 @@ var getTooltipsState = (0, import_toolkit6.createSelector)(
1347
1121
  );
1348
1122
  var getHas2FA = (0, import_toolkit6.createSelector)(
1349
1123
  [getCurrentUser],
1350
- (currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === twoFAStates.enabled
1124
+ (currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === import_constants2.twoFAStates.enabled
1351
1125
  );
1352
1126
  var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);
1353
1127
  var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ offlineThreshold }) => ({
@@ -1356,6 +1130,7 @@ var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobal
1356
1130
  }));
1357
1131
  var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
1358
1132
  var getCurrentSession = (state) => state.users.currentSession;
1133
+ var getRolesInitialized = (state) => state.users.rolesInitialized;
1359
1134
 
1360
1135
  // src/commonSelectors.ts
1361
1136
  var getIsEnterprise = (0, import_toolkit7.createSelector)(
@@ -1364,37 +1139,34 @@ var getIsEnterprise = (0, import_toolkit7.createSelector)(
1364
1139
  );
1365
1140
  var getAttrsEndpoint = (0, import_toolkit7.createSelector)(
1366
1141
  [getFeatures],
1367
- ({ hasReporting }) => hasReporting ? `${reportingApiUrl}/devices/search/attributes` : `${inventoryApiUrlV2}/filters/attributes`
1142
+ ({ hasReporting }) => hasReporting ? `${import_constants2.reportingApiUrl}/devices/search/attributes` : `${import_constants2.inventoryApiUrlV2}/filters/attributes`
1368
1143
  );
1369
1144
  var getSearchEndpoint = (0, import_toolkit7.createSelector)(
1370
1145
  [getFeatures],
1371
- ({ hasReporting }) => hasReporting ? `${reportingApiUrl}/devices/search` : `${inventoryApiUrlV2}/filters/search`
1372
- );
1373
- var getUserRoles = (0, import_toolkit7.createSelector)(
1374
- [getCurrentUser, getRolesById, getIsEnterprise, getFeatures, getOrganization],
1375
- (currentUser, rolesById2, isEnterprise, { isHosted, hasMultitenancy }, { plan = PLANS.os.id }) => {
1376
- const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
1377
- const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
1378
- return { isAdmin, uiPermissions };
1379
- }
1146
+ ({ hasReporting }) => hasReporting ? `${import_constants2.reportingApiUrl}/devices/search` : `${import_constants2.inventoryApiUrlV2}/filters/search`
1380
1147
  );
1148
+ var getUserRoles = (0, import_toolkit7.createSelector)([getCurrentUser, getRolesById, getIsEnterprise], (currentUser, rolesById2, isEnterprise) => {
1149
+ const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === import_constants2.rolesByName.admin) : !isEnterprise;
1150
+ const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([import_constants2.rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
1151
+ return { isAdmin, uiPermissions };
1152
+ });
1381
1153
  var hasPermission = (thing, permission) => Object.values(thing).some((permissions) => permissions.includes(permission));
1382
1154
  var getUserCapabilities = (0, import_toolkit7.createSelector)([getUserRoles, getIsServiceProvider], ({ uiPermissions }, isServiceProvider) => {
1383
- const canManageReleases = hasPermission(uiPermissions.releases, uiPermissionsById.manage.value);
1384
- const canReadReleases = canManageReleases || hasPermission(uiPermissions.releases, uiPermissionsById.read.value);
1385
- const canUploadReleases = canManageReleases || hasPermission(uiPermissions.releases, uiPermissionsById.upload.value);
1386
- const canAuditlog = uiPermissions.auditlog.includes(uiPermissionsById.read.value);
1387
- const canReadUsers = uiPermissions.userManagement.includes(uiPermissionsById.read.value);
1388
- const canManageUsers = uiPermissions.userManagement.includes(uiPermissionsById.manage.value);
1389
- const canReadDevices = hasPermission(uiPermissions.groups, uiPermissionsById.read.value);
1155
+ const canManageReleases = hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.manage.value);
1156
+ const canReadReleases = canManageReleases || hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.read.value);
1157
+ const canUploadReleases = canManageReleases || hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.upload.value);
1158
+ const canAuditlog = uiPermissions.auditlog.includes(import_constants2.uiPermissionsById.read.value);
1159
+ const canReadUsers = uiPermissions.userManagement.includes(import_constants2.uiPermissionsById.read.value);
1160
+ const canManageUsers = uiPermissions.userManagement.includes(import_constants2.uiPermissionsById.manage.value);
1161
+ const canReadDevices = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.read.value);
1390
1162
  const canWriteDevices = Object.values(uiPermissions.groups).some(
1391
- (groupPermissions) => groupPermissions.includes(uiPermissionsById.read.value) && groupPermissions.length > 1
1163
+ (groupPermissions) => groupPermissions.includes(import_constants2.uiPermissionsById.read.value) && groupPermissions.length > 1
1392
1164
  );
1393
- const canTroubleshoot = hasPermission(uiPermissions.groups, uiPermissionsById.connect.value);
1394
- const canManageDevices = hasPermission(uiPermissions.groups, uiPermissionsById.manage.value);
1395
- const canConfigure = hasPermission(uiPermissions.groups, uiPermissionsById.configure.value);
1396
- const canDeploy = uiPermissions.deployments.includes(uiPermissionsById.deploy.value) || hasPermission(uiPermissions.groups, uiPermissionsById.deploy.value);
1397
- const canReadDeployments = uiPermissions.deployments.includes(uiPermissionsById.read.value);
1165
+ const canTroubleshoot = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.connect.value);
1166
+ const canManageDevices = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.manage.value);
1167
+ const canConfigure = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.configure.value);
1168
+ const canDeploy = uiPermissions.deployments.includes(import_constants2.uiPermissionsById.deploy.value) || hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.deploy.value);
1169
+ const canReadDeployments = uiPermissions.deployments.includes(import_constants2.uiPermissionsById.read.value);
1398
1170
  return {
1399
1171
  canAuditlog,
1400
1172
  canConfigure,
@@ -1445,11 +1217,11 @@ var getTenantCapabilities = (0, import_toolkit7.createSelector)(
1445
1217
  var getFilterAttributes = (0, import_toolkit7.createSelector)(
1446
1218
  [getGlobalSettings, getFilteringAttributes],
1447
1219
  ({ previousFilters }, { identityAttributes, inventoryAttributes, systemAttributes, tagAttributes }) => {
1448
- const deviceNameAttribute = { key: "name", value: "Name", scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 1 };
1449
- const deviceIdAttribute = { key: "id", value: "Device ID", scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 };
1450
- const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
1220
+ const deviceNameAttribute = { key: "name", value: "Name", scope: import_constants2.ATTRIBUTE_SCOPES.tags, category: import_constants2.ATTRIBUTE_SCOPES.tags, priority: 1 };
1221
+ const deviceIdAttribute = { key: "id", value: "Device ID", scope: import_constants2.ATTRIBUTE_SCOPES.identity, category: import_constants2.ATTRIBUTE_SCOPES.identity, priority: 1 };
1222
+ const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 };
1451
1223
  const updateAttribute = { ...checkInAttribute, key: "updated_ts", value: "Last inventory update" };
1452
- const firstRequestAttribute = { key: "created_ts", value: "First request", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
1224
+ const firstRequestAttribute = { key: "created_ts", value: "First request", scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 };
1453
1225
  const attributes = [
1454
1226
  ...previousFilters.map((item) => ({
1455
1227
  ...item,
@@ -1459,13 +1231,13 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
1459
1231
  })),
1460
1232
  deviceNameAttribute,
1461
1233
  deviceIdAttribute,
1462
- ...identityAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 })),
1463
- ...inventoryAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.inventory, category: ATTRIBUTE_SCOPES.inventory, priority: 2 })),
1464
- ...tagAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 3 })),
1234
+ ...identityAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.identity, category: import_constants2.ATTRIBUTE_SCOPES.identity, priority: 1 })),
1235
+ ...inventoryAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.inventory, category: import_constants2.ATTRIBUTE_SCOPES.inventory, priority: 2 })),
1236
+ ...tagAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.tags, category: import_constants2.ATTRIBUTE_SCOPES.tags, priority: 3 })),
1465
1237
  checkInAttribute,
1466
1238
  updateAttribute,
1467
1239
  firstRequestAttribute,
1468
- ...systemAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 }))
1240
+ ...systemAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 }))
1469
1241
  ];
1470
1242
  return (0, import_helpers4.attributeDuplicateFilter)(attributes, "key");
1471
1243
  }
@@ -1507,7 +1279,7 @@ var getSelectedDeploymentData = (0, import_toolkit7.createSelector)(
1507
1279
  );
1508
1280
  var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
1509
1281
  [getFeatures, getTenantCapabilities, getIssueCountsByType],
1510
- ({ hasReporting }, { hasFullFiltering, hasMonitor }, issueCounts) => Object.values(DEVICE_ISSUE_OPTIONS).reduce((accu, { isCategory, key, needsFullFiltering, needsMonitor, needsReporting, title }) => {
1282
+ ({ hasReporting }, { hasFullFiltering, hasMonitor }, issueCounts) => Object.values(import_constants2.DEVICE_ISSUE_OPTIONS).reduce((accu, { isCategory, key, needsFullFiltering, needsMonitor, needsReporting, title }) => {
1511
1283
  if (isCategory || needsReporting && !hasReporting || needsFullFiltering && !hasFullFiltering || needsMonitor && !hasMonitor) {
1512
1284
  return accu;
1513
1285
  }
@@ -1515,14 +1287,11 @@ var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
1515
1287
  return accu;
1516
1288
  }, {})
1517
1289
  );
1518
- var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles, (_, options = {}) => options], (groupsById, { uiPermissions }, { staticOnly }) => {
1290
+ var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles], (groupsById, { uiPermissions }) => {
1519
1291
  const { [UNGROUPED_GROUP.id]: ungrouped, ...groups } = groupsById;
1520
- if (staticOnly) {
1521
- return Object.keys(uiPermissions.groups).sort();
1522
- }
1523
1292
  return Object.keys(
1524
1293
  Object.entries(groups).reduce((accu, [groupName, group]) => {
1525
- if (group.filterId || uiPermissions.groups[ALL_DEVICES]) {
1294
+ if (group.filterId || uiPermissions.groups[import_constants2.ALL_DEVICES]) {
1526
1295
  accu[groupName] = group;
1527
1296
  }
1528
1297
  return accu;
@@ -1531,9 +1300,7 @@ var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserR
1531
1300
  });
1532
1301
  var getDeviceReportsForUser = (0, import_toolkit7.createSelector)(
1533
1302
  [getUserSettings, getCurrentUser, getGlobalSettings, getDevicesById],
1534
- ({ reports }, { id: currentUserId }, globalSettings, devicesById) => {
1535
- return reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : []);
1536
- }
1303
+ ({ reports }, { id: currentUserId }, globalSettings, devicesById) => reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : [])
1537
1304
  );
1538
1305
  var listTypeDeviceIdMap = {
1539
1306
  deviceList: getListedDevices,
@@ -1557,14 +1324,14 @@ var getAuditlogDevice = (0, import_toolkit7.createSelector)([getAuditLogEntry, g
1557
1324
  var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
1558
1325
  if (service_provider) {
1559
1326
  return roles.reduce((accu, role) => {
1560
- if (rolesById[role.value]) {
1327
+ if (import_constants2.rolesById[role.value]) {
1561
1328
  return accu;
1562
1329
  }
1563
1330
  accu.push(role);
1564
1331
  return accu;
1565
- }, Object.values(serviceProviderRolesById));
1332
+ }, Object.values(import_constants2.serviceProviderRolesById));
1566
1333
  }
1567
- return Object.keys(rolesById).reverse().reduce((accu, key) => {
1334
+ return Object.keys(import_constants2.rolesById).reverse().reduce((accu, key) => {
1568
1335
  const index = accu.findIndex(({ value }) => value === key);
1569
1336
  accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
1570
1337
  return accu;
@@ -1582,6 +1349,8 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1582
1349
  getAuditlogDevice,
1583
1350
  getAuditlogState,
1584
1351
  getAvailableIssueOptionsByType,
1352
+ getBillingProfile,
1353
+ getCard,
1585
1354
  getCurrentSession,
1586
1355
  getCurrentUser,
1587
1356
  getDemoDeviceAddress,
@@ -1605,21 +1374,28 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1605
1374
  getDocsVersion,
1606
1375
  getExternalIntegrations,
1607
1376
  getFeatures,
1377
+ getFeedbackProbability,
1608
1378
  getFilterAttributes,
1609
1379
  getFilteringAttributes,
1610
1380
  getFullVersionInformation,
1611
1381
  getGlobalSettings,
1382
+ getGroupData,
1612
1383
  getGroupNames,
1613
1384
  getGroups,
1614
1385
  getGroupsById,
1615
1386
  getGroupsByIdWithoutUngrouped,
1616
1387
  getHas2FA,
1388
+ getHasCurrentPricing,
1617
1389
  getHasReleases,
1390
+ getHostAddress,
1391
+ getHostedAnnouncement,
1618
1392
  getIdAttribute,
1619
1393
  getIsDarkMode,
1620
1394
  getIsEnterprise,
1395
+ getIsFirstLogin,
1621
1396
  getIsPreview,
1622
1397
  getIsServiceProvider,
1398
+ getIsUploading,
1623
1399
  getIssueCountsByType,
1624
1400
  getLimitMaxed,
1625
1401
  getListedDevices,
@@ -1629,6 +1405,8 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1629
1405
  getOnboarding,
1630
1406
  getOnboardingState,
1631
1407
  getOrganization,
1408
+ getReadAllHelptips,
1409
+ getRecaptchaKey,
1632
1410
  getRecentDeployments,
1633
1411
  getReleaseListState,
1634
1412
  getReleaseTags,
@@ -1637,6 +1415,7 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1637
1415
  getReleasesList,
1638
1416
  getRelevantRoles,
1639
1417
  getRolesById,
1418
+ getRolesInitialized,
1640
1419
  getRolesList,
1641
1420
  getSearchEndpoint,
1642
1421
  getSearchState,
@@ -1647,17 +1426,23 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1647
1426
  getSelectedGroup,
1648
1427
  getSelectedGroupInfo,
1649
1428
  getSelectedRelease,
1650
- getShowHelptips,
1429
+ getSelectedReleases,
1430
+ getSnackbar,
1651
1431
  getSortedFilteringAttributes,
1652
1432
  getSsoConfig,
1433
+ getStripeKey,
1434
+ getSubscription,
1653
1435
  getTenantCapabilities,
1654
1436
  getTenantsList,
1655
1437
  getTooltipsById,
1656
1438
  getTooltipsState,
1439
+ getTrackerCode,
1657
1440
  getUpdateTypes,
1441
+ getUploads,
1658
1442
  getUserCapabilities,
1659
1443
  getUserRoles,
1660
1444
  getUserSettings,
1445
+ getUserSettingsInitialized,
1661
1446
  getUsersById,
1662
1447
  getUsersList,
1663
1448
  getVersionInformation,