@northern.tech/store 0.3.4 → 0.5.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 (605) hide show
  1. package/dist/actions.cjs +78 -827
  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 +25 -53
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +100 -112
  19. package/dist/appSlice/constants.d.ts +100 -112
  20. package/dist/appSlice/constants.js +1 -11
  21. package/dist/appSlice/index.cjs +24 -239
  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 +37 -5
  33. package/dist/appSlice/selectors.cjs.map +1 -1
  34. package/dist/appSlice/selectors.d.cts +711 -23
  35. package/dist/appSlice/selectors.d.ts +711 -23
  36. package/dist/appSlice/selectors.js +25 -1
  37. package/dist/appSlice/thunks.cjs +1554 -1767
  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 -30
  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-FQDSV3NK.js → chunk-4E7ZSEFL.js} +18 -12
  50. package/dist/chunk-4E7ZSEFL.js.map +1 -0
  51. package/dist/{chunk-AFICTIVU.js → chunk-6KGTHJKC.js} +22 -24
  52. package/dist/chunk-6KGTHJKC.js.map +1 -0
  53. package/dist/{chunk-DCEKU6UV.js → chunk-6XVREXI4.js} +8 -5
  54. package/dist/chunk-6XVREXI4.js.map +1 -0
  55. package/dist/chunk-7C4SQBEE.js +715 -0
  56. package/dist/chunk-7C4SQBEE.js.map +1 -0
  57. package/dist/{chunk-ZZMFXRQK.js → chunk-7PRZYHDP.js} +13 -13
  58. package/dist/{chunk-X3GZILYD.js → chunk-ABJLRDCO.js} +10 -11
  59. package/dist/chunk-ABJLRDCO.js.map +1 -0
  60. package/dist/chunk-BYUPW7RA.js +48 -0
  61. package/dist/chunk-BYUPW7RA.js.map +1 -0
  62. package/dist/{chunk-EQLHIPPR.js → chunk-DA6QVCOG.js} +924 -842
  63. package/dist/chunk-DA6QVCOG.js.map +1 -0
  64. package/dist/{chunk-MRCFLG45.js → chunk-FAJ3I2UQ.js} +2 -1
  65. package/dist/chunk-FAJ3I2UQ.js.map +1 -0
  66. package/dist/{chunk-Y575RZHR.js → chunk-HFOTAPIJ.js} +27 -50
  67. package/dist/chunk-HFOTAPIJ.js.map +1 -0
  68. package/dist/{chunk-ZWOAFHAR.js → chunk-JXQUFKID.js} +2 -2
  69. package/dist/chunk-JXQUFKID.js.map +1 -0
  70. package/dist/{chunk-K4MMUDYT.js → chunk-KC7SKI3U.js} +9 -11
  71. package/dist/chunk-KC7SKI3U.js.map +1 -0
  72. package/dist/{chunk-L3SY3J5M.js → chunk-KJNNEDRV.js} +11 -7
  73. package/dist/chunk-KJNNEDRV.js.map +1 -0
  74. package/dist/{chunk-PAIB5V27.js → chunk-MPYYSFPL.js} +55 -21
  75. package/dist/chunk-MPYYSFPL.js.map +1 -0
  76. package/dist/{chunk-FRSA2YB5.js → chunk-MZNANSS2.js} +12 -7
  77. package/dist/chunk-MZNANSS2.js.map +1 -0
  78. package/dist/{chunk-FVCYB5OP.js → chunk-NQIP7VFB.js} +30 -38
  79. package/dist/chunk-NQIP7VFB.js.map +1 -0
  80. package/dist/{chunk-NOQR3TE7.js → chunk-OOICURFL.js} +2 -2
  81. package/dist/chunk-OOICURFL.js.map +1 -0
  82. package/dist/{chunk-AVX7VVOK.js → chunk-PGFVHKP5.js} +5 -7
  83. package/dist/chunk-PGFVHKP5.js.map +1 -0
  84. package/dist/{chunk-GWJIY56H.js → chunk-QEKN5R7E.js} +40 -15
  85. package/dist/chunk-QEKN5R7E.js.map +1 -0
  86. package/dist/{chunk-NCSKCF2S.js → chunk-QHK7GGV4.js} +3 -3
  87. package/dist/chunk-QHK7GGV4.js.map +1 -0
  88. package/dist/{chunk-AUBJUUP3.js → chunk-RS37Y2PQ.js} +3 -3
  89. package/dist/chunk-RS37Y2PQ.js.map +1 -0
  90. package/dist/{chunk-7YZCUAXZ.js → chunk-UGSLGUS6.js} +8 -6
  91. package/dist/chunk-UGSLGUS6.js.map +1 -0
  92. package/dist/{chunk-RX32WLVJ.js → chunk-VANBSJS5.js} +1 -1
  93. package/dist/chunk-VANBSJS5.js.map +1 -0
  94. package/dist/{chunk-DGQKXSRI.js → chunk-VUFRP6P3.js} +5 -6
  95. package/dist/chunk-VUFRP6P3.js.map +1 -0
  96. package/dist/{chunk-EYCORLYU.js → chunk-YWHRAPDQ.js} +128 -87
  97. package/dist/chunk-YWHRAPDQ.js.map +1 -0
  98. package/dist/{chunk-JO33IORF.js → chunk-YY6SKZDF.js} +19 -4
  99. package/dist/chunk-YY6SKZDF.js.map +1 -0
  100. package/dist/chunk-ZIUUV35J.js +110 -0
  101. package/dist/chunk-ZIUUV35J.js.map +1 -0
  102. package/dist/{chunk-GAI4VYRZ.js → chunk-ZJW3QIPM.js} +8 -9
  103. package/dist/chunk-ZJW3QIPM.js.map +1 -0
  104. package/dist/chunk-ZKAH3APE.js +1 -0
  105. package/dist/chunk-ZKAH3APE.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 +507 -768
  112. package/dist/commonSelectors.cjs.map +1 -1
  113. package/dist/commonSelectors.d.cts +4307 -280
  114. package/dist/commonSelectors.d.ts +4307 -280
  115. package/dist/commonSelectors.js +13 -13
  116. package/dist/constants.cjs +357 -665
  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 +1550 -1763
  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 -30
  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 +1702 -1925
  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 -46
  173. package/dist/liststatehook.cjs +289 -325
  174. package/dist/liststatehook.cjs.map +1 -1
  175. package/dist/liststatehook.d.cts +4 -16
  176. package/dist/liststatehook.d.ts +4 -16
  177. package/dist/liststatehook.js +9 -9
  178. package/dist/liststatehook.js.map +1 -1
  179. package/dist/locationutils.cjs +286 -322
  180. package/dist/locationutils.cjs.map +1 -1
  181. package/dist/locationutils.d.cts +8 -7
  182. package/dist/locationutils.d.ts +8 -7
  183. package/dist/locationutils.js +6 -6
  184. package/dist/monitorSlice/constants.cjs +0 -146
  185. package/dist/monitorSlice/constants.cjs.map +1 -1
  186. package/dist/monitorSlice/constants.d.cts +4 -5
  187. package/dist/monitorSlice/constants.d.ts +4 -5
  188. package/dist/monitorSlice/constants.js +1 -12
  189. package/dist/monitorSlice/index.cjs +5 -353
  190. package/dist/monitorSlice/index.cjs.map +1 -1
  191. package/dist/monitorSlice/index.d.cts +63 -260
  192. package/dist/monitorSlice/index.d.ts +63 -260
  193. package/dist/monitorSlice/index.js +6 -6
  194. package/dist/monitorSlice/mocks.cjs +130 -0
  195. package/dist/monitorSlice/mocks.cjs.map +1 -0
  196. package/dist/monitorSlice/mocks.d.cts +57 -0
  197. package/dist/monitorSlice/mocks.d.ts +57 -0
  198. package/dist/monitorSlice/mocks.js +65 -0
  199. package/dist/monitorSlice/mocks.js.map +1 -0
  200. package/dist/monitorSlice/thunks.cjs +623 -860
  201. package/dist/monitorSlice/thunks.cjs.map +1 -1
  202. package/dist/monitorSlice/thunks.d.cts +90 -21
  203. package/dist/monitorSlice/thunks.d.ts +90 -21
  204. package/dist/monitorSlice/thunks.js +26 -26
  205. package/dist/onboardingSlice/constants.cjs +1 -0
  206. package/dist/onboardingSlice/constants.cjs.map +1 -1
  207. package/dist/onboardingSlice/constants.d.cts +23 -20
  208. package/dist/onboardingSlice/constants.d.ts +23 -20
  209. package/dist/onboardingSlice/constants.js +1 -1
  210. package/dist/onboardingSlice/index.cjs.map +1 -1
  211. package/dist/onboardingSlice/index.d.cts +50 -225
  212. package/dist/onboardingSlice/index.d.ts +50 -225
  213. package/dist/onboardingSlice/index.js +1 -1
  214. package/dist/onboardingSlice/mocks.cjs +83 -0
  215. package/dist/onboardingSlice/mocks.cjs.map +1 -0
  216. package/dist/onboardingSlice/mocks.d.cts +19 -0
  217. package/dist/onboardingSlice/mocks.d.ts +19 -0
  218. package/dist/onboardingSlice/mocks.js +17 -0
  219. package/dist/onboardingSlice/mocks.js.map +1 -0
  220. package/dist/onboardingSlice/thunks.cjs +1773 -1989
  221. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  222. package/dist/onboardingSlice/thunks.d.cts +62 -34
  223. package/dist/onboardingSlice/thunks.d.ts +62 -34
  224. package/dist/onboardingSlice/thunks.js +30 -30
  225. package/dist/organizationSlice/constants.cjs +8 -748
  226. package/dist/organizationSlice/constants.cjs.map +1 -1
  227. package/dist/organizationSlice/constants.d.cts +36 -116
  228. package/dist/organizationSlice/constants.d.ts +36 -116
  229. package/dist/organizationSlice/constants.js +7 -17
  230. package/dist/organizationSlice/index.cjs +14 -368
  231. package/dist/organizationSlice/index.cjs.map +1 -1
  232. package/dist/organizationSlice/index.d.cts +45 -74
  233. package/dist/organizationSlice/index.d.ts +45 -74
  234. package/dist/organizationSlice/index.js +6 -6
  235. package/dist/organizationSlice/mocks.cjs +234 -0
  236. package/dist/organizationSlice/mocks.cjs.map +1 -0
  237. package/dist/organizationSlice/mocks.d.cts +107 -0
  238. package/dist/organizationSlice/mocks.d.ts +107 -0
  239. package/dist/organizationSlice/mocks.js +101 -0
  240. package/dist/organizationSlice/mocks.js.map +1 -0
  241. package/dist/organizationSlice/selectors.cjs +301 -146
  242. package/dist/organizationSlice/selectors.cjs.map +1 -1
  243. package/dist/organizationSlice/selectors.d.cts +888 -52
  244. package/dist/organizationSlice/selectors.d.ts +888 -52
  245. package/dist/organizationSlice/selectors.js +14 -6
  246. package/dist/organizationSlice/thunks.cjs +2607 -2748
  247. package/dist/organizationSlice/thunks.cjs.map +1 -1
  248. package/dist/organizationSlice/thunks.d.cts +318 -127
  249. package/dist/organizationSlice/thunks.d.ts +318 -127
  250. package/dist/organizationSlice/thunks.js +44 -30
  251. package/dist/organizationSlice/types.cjs.map +1 -1
  252. package/dist/organizationSlice/types.d.cts +95 -3
  253. package/dist/organizationSlice/types.d.ts +95 -3
  254. package/dist/releasesSlice/constants.cjs +3 -0
  255. package/dist/releasesSlice/constants.cjs.map +1 -1
  256. package/dist/releasesSlice/constants.d.cts +2 -1
  257. package/dist/releasesSlice/constants.d.ts +2 -1
  258. package/dist/releasesSlice/constants.js +3 -1
  259. package/dist/releasesSlice/index.cjs +5 -222
  260. package/dist/releasesSlice/index.cjs.map +1 -1
  261. package/dist/releasesSlice/index.d.cts +52 -473
  262. package/dist/releasesSlice/index.d.ts +52 -473
  263. package/dist/releasesSlice/index.js +6 -6
  264. package/dist/releasesSlice/mocks.cjs +177 -0
  265. package/dist/releasesSlice/mocks.cjs.map +1 -0
  266. package/dist/releasesSlice/mocks.d.cts +49 -0
  267. package/dist/releasesSlice/mocks.d.ts +49 -0
  268. package/dist/releasesSlice/mocks.js +61 -0
  269. package/dist/releasesSlice/mocks.js.map +1 -0
  270. package/dist/releasesSlice/selectors.cjs +288 -158
  271. package/dist/releasesSlice/selectors.cjs.map +1 -1
  272. package/dist/releasesSlice/selectors.d.cts +886 -24
  273. package/dist/releasesSlice/selectors.d.ts +886 -24
  274. package/dist/releasesSlice/selectors.js +9 -7
  275. package/dist/releasesSlice/thunks.cjs +787 -982
  276. package/dist/releasesSlice/thunks.cjs.map +1 -1
  277. package/dist/releasesSlice/thunks.d.cts +150 -130
  278. package/dist/releasesSlice/thunks.d.ts +150 -130
  279. package/dist/releasesSlice/thunks.js +33 -27
  280. package/dist/selectors.cjs +565 -770
  281. package/dist/selectors.cjs.map +1 -1
  282. package/dist/selectors.d.cts +37 -9
  283. package/dist/selectors.d.ts +37 -9
  284. package/dist/selectors.js +79 -39
  285. package/dist/sockethook.cjs +271 -281
  286. package/dist/sockethook.cjs.map +1 -1
  287. package/dist/sockethook.js +7 -9
  288. package/dist/sockethook.js.map +1 -1
  289. package/dist/store.cjs +119 -834
  290. package/dist/store.cjs.map +1 -1
  291. package/dist/store.d.cts +698 -1963
  292. package/dist/store.d.ts +698 -1963
  293. package/dist/store.js +18 -16
  294. package/dist/storehooks.cjs +1793 -1907
  295. package/dist/storehooks.cjs.map +1 -1
  296. package/dist/storehooks.js +43 -49
  297. package/dist/storehooks.js.map +1 -1
  298. package/dist/thunks.cjs +2135 -2234
  299. package/dist/thunks.cjs.map +1 -1
  300. package/dist/thunks.d.cts +24 -6
  301. package/dist/thunks.d.ts +24 -6
  302. package/dist/thunks.js +56 -44
  303. package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1760 -1975
  304. package/dist/useDeploymentDevice.cjs.map +1 -0
  305. package/dist/useDeploymentDevice.js +63 -0
  306. package/dist/useDeploymentDevice.js.map +1 -0
  307. package/dist/usersSlice/constants.cjs +5 -747
  308. package/dist/usersSlice/constants.cjs.map +1 -1
  309. package/dist/usersSlice/constants.d.cts +11 -769
  310. package/dist/usersSlice/constants.d.ts +11 -769
  311. package/dist/usersSlice/constants.js +7 -30
  312. package/dist/usersSlice/index.cjs +10 -721
  313. package/dist/usersSlice/index.cjs.map +1 -1
  314. package/dist/usersSlice/index.d.cts +136 -7900
  315. package/dist/usersSlice/index.d.ts +136 -7900
  316. package/dist/usersSlice/index.js +6 -6
  317. package/dist/usersSlice/mocks.cjs +200 -0
  318. package/dist/usersSlice/mocks.cjs.map +1 -0
  319. package/dist/usersSlice/mocks.d.cts +83 -0
  320. package/dist/usersSlice/mocks.d.ts +83 -0
  321. package/dist/usersSlice/mocks.js +47 -0
  322. package/dist/usersSlice/mocks.js.map +1 -0
  323. package/dist/usersSlice/selectors.cjs +319 -566
  324. package/dist/usersSlice/selectors.cjs.map +1 -1
  325. package/dist/usersSlice/selectors.d.cts +1651 -59
  326. package/dist/usersSlice/selectors.d.ts +1651 -59
  327. package/dist/usersSlice/selectors.js +13 -9
  328. package/dist/usersSlice/thunks.cjs +1661 -1872
  329. package/dist/usersSlice/thunks.cjs.map +1 -1
  330. package/dist/usersSlice/thunks.d.cts +372 -312
  331. package/dist/usersSlice/thunks.d.ts +372 -312
  332. package/dist/usersSlice/thunks.js +32 -30
  333. package/dist/utils.cjs +423 -285
  334. package/dist/utils.cjs.map +1 -1
  335. package/dist/utils.d.cts +44 -22
  336. package/dist/utils.d.ts +44 -22
  337. package/dist/utils.js +12 -6
  338. package/package.json +20 -11
  339. package/dist/BillingProfile-ChP2_Sqw.d.cts +0 -45
  340. package/dist/BillingProfile-ChP2_Sqw.d.ts +0 -45
  341. package/dist/api/types/AWSCredentials.ts +0 -16
  342. package/dist/api/types/Actor.ts +0 -35
  343. package/dist/api/types/Addon.ts +0 -17
  344. package/dist/api/types/AddonTenantadm.ts +0 -17
  345. package/dist/api/types/Address.ts +0 -6
  346. package/dist/api/types/AddressUpdate.ts +0 -12
  347. package/dist/api/types/Alert.ts +0 -34
  348. package/dist/api/types/AlertDetails.ts +0 -23
  349. package/dist/api/types/AlertSubject.ts +0 -23
  350. package/dist/api/types/ApiBurst.ts +0 -21
  351. package/dist/api/types/ApiBurstTenantadm.ts +0 -21
  352. package/dist/api/types/ApiLimits.ts +0 -16
  353. package/dist/api/types/ApiLimitsTenantadm.ts +0 -16
  354. package/dist/api/types/ApiQuota.ts +0 -17
  355. package/dist/api/types/ApiQuotaTenantadm.ts +0 -17
  356. package/dist/api/types/Artifact.ts +0 -48
  357. package/dist/api/types/ArtifactDeployments.ts +0 -48
  358. package/dist/api/types/ArtifactInfo.ts +0 -11
  359. package/dist/api/types/ArtifactInfoDeployments.ts +0 -11
  360. package/dist/api/types/ArtifactLink.ts +0 -11
  361. package/dist/api/types/ArtifactTypeInfo.ts +0 -13
  362. package/dist/api/types/ArtifactTypeInfoDeployments.ts +0 -13
  363. package/dist/api/types/ArtifactUpdate.ts +0 -10
  364. package/dist/api/types/ArtifactUploadLink.ts +0 -15
  365. package/dist/api/types/Attribute.ts +0 -36
  366. package/dist/api/types/AttributeInventory.ts +0 -32
  367. package/dist/api/types/AuditLog.ts +0 -26
  368. package/dist/api/types/AuthSet.ts +0 -37
  369. package/dist/api/types/AuthSetDeviceauth.ts +0 -37
  370. package/dist/api/types/AuthSetIot_manager.ts +0 -33
  371. package/dist/api/types/AutoAuthRequest.ts +0 -23
  372. package/dist/api/types/AzureSharedAccessSecret.ts +0 -11
  373. package/dist/api/types/BillingInfo.ts +0 -13
  374. package/dist/api/types/BillingProfile.ts +0 -37
  375. package/dist/api/types/BillingProfileUpdate.ts +0 -37
  376. package/dist/api/types/BinaryDeltaConfiguration.ts +0 -15
  377. package/dist/api/types/BinaryDeltaConfigurationDeployments.ts +0 -15
  378. package/dist/api/types/BinaryDeltaLimits.ts +0 -21
  379. package/dist/api/types/BinaryDeltaLimitsDeployments.ts +0 -15
  380. package/dist/api/types/BoundingBox.ts +0 -9
  381. package/dist/api/types/CancelRequest.ts +0 -10
  382. package/dist/api/types/CardData.ts +0 -49
  383. package/dist/api/types/CardSetupData.ts +0 -17
  384. package/dist/api/types/CheckoutData.ts +0 -13
  385. package/dist/api/types/Configuration.ts +0 -11
  386. package/dist/api/types/Count.ts +0 -13
  387. package/dist/api/types/Credentials.ts +0 -23
  388. package/dist/api/types/DBusSubsystem.ts +0 -27
  389. package/dist/api/types/DeltaConfiguration.ts +0 -14
  390. package/dist/api/types/DeltaConfigurationDeployments.ts +0 -14
  391. package/dist/api/types/Deployment.ts +0 -45
  392. package/dist/api/types/DeploymentAggregation.ts +0 -16
  393. package/dist/api/types/DeploymentAggregationItem.ts +0 -16
  394. package/dist/api/types/DeploymentAggregationTerm.ts +0 -22
  395. package/dist/api/types/DeploymentAggregationTerms.ts +0 -16
  396. package/dist/api/types/DeploymentAttributeProjection.ts +0 -10
  397. package/dist/api/types/DeploymentAuditlogs.ts +0 -11
  398. package/dist/api/types/DeploymentDeployments.ts +0 -98
  399. package/dist/api/types/DeploymentFilterTerm.ts +0 -35
  400. package/dist/api/types/DeploymentIdentifier.ts +0 -10
  401. package/dist/api/types/DeploymentPhase.ts +0 -23
  402. package/dist/api/types/DeploymentPhaseDeployments.ts +0 -23
  403. package/dist/api/types/DeploymentReporting.ts +0 -46
  404. package/dist/api/types/DeploymentSearchTerms.ts +0 -37
  405. package/dist/api/types/DeploymentSortTerm.ts +0 -23
  406. package/dist/api/types/DeploymentStatistics.ts +0 -15
  407. package/dist/api/types/DeploymentStatisticsDeployments.ts +0 -15
  408. package/dist/api/types/DeploymentStatusStatistics.ts +0 -54
  409. package/dist/api/types/DeploymentStatusStatisticsDeployments.ts +0 -54
  410. package/dist/api/types/Device.ts +0 -20
  411. package/dist/api/types/DeviceAggregation.ts +0 -16
  412. package/dist/api/types/DeviceAggregationItem.ts +0 -16
  413. package/dist/api/types/DeviceAggregationTerm.ts +0 -26
  414. package/dist/api/types/DeviceAggregationTerms.ts +0 -20
  415. package/dist/api/types/DeviceAttribute.ts +0 -22
  416. package/dist/api/types/DeviceAttributeProjection.ts +0 -14
  417. package/dist/api/types/DeviceAuditlogs.ts +0 -17
  418. package/dist/api/types/DeviceAuthEvent.ts +0 -23
  419. package/dist/api/types/DeviceConfiguration.ts +0 -16
  420. package/dist/api/types/DeviceDeployment.ts +0 -11
  421. package/dist/api/types/DeviceDeployments.ts +0 -29
  422. package/dist/api/types/DeviceDeviceauth.ts +0 -42
  423. package/dist/api/types/DeviceFilterAttribute.ts +0 -21
  424. package/dist/api/types/DeviceFilterTerm.ts +0 -39
  425. package/dist/api/types/DeviceInventory.ts +0 -19
  426. package/dist/api/types/DeviceInventoryInventory.ts +0 -19
  427. package/dist/api/types/DeviceReporting.ts +0 -22
  428. package/dist/api/types/DeviceSearchTerms.ts +0 -37
  429. package/dist/api/types/DeviceSortTerm.ts +0 -27
  430. package/dist/api/types/DeviceState.ts +0 -32
  431. package/dist/api/types/DeviceStateDeviceconnect.ts +0 -33
  432. package/dist/api/types/DeviceStateIot_manager.ts +0 -14
  433. package/dist/api/types/DeviceStatus.ts +0 -19
  434. package/dist/api/types/DeviceWithImage.ts +0 -80
  435. package/dist/api/types/DirectUploadMetadata.ts +0 -18
  436. package/dist/api/types/EmailVerificationCompletion.ts +0 -13
  437. package/dist/api/types/EmailVerificationRequest.ts +0 -13
  438. package/dist/api/types/Error.ts +0 -17
  439. package/dist/api/types/ErrorAuditlogs.ts +0 -13
  440. package/dist/api/types/ErrorDeployments.ts +0 -17
  441. package/dist/api/types/ErrorDeviceauth.ts +0 -13
  442. package/dist/api/types/ErrorDeviceconfig.ts +0 -17
  443. package/dist/api/types/ErrorDeviceconnect.ts +0 -17
  444. package/dist/api/types/ErrorDevicemonitor.ts +0 -17
  445. package/dist/api/types/ErrorExt.ts +0 -18
  446. package/dist/api/types/ErrorInventory.ts +0 -17
  447. package/dist/api/types/ErrorIot_manager.ts +0 -17
  448. package/dist/api/types/ErrorNotFound.ts +0 -17
  449. package/dist/api/types/ErrorReporting.ts +0 -18
  450. package/dist/api/types/ErrorTenantadm.ts +0 -13
  451. package/dist/api/types/ErrorUseradm.ts +0 -17
  452. package/dist/api/types/Event.ts +0 -48
  453. package/dist/api/types/ExternalIdentity.ts +0 -17
  454. package/dist/api/types/Features.ts +0 -17
  455. package/dist/api/types/FileUpload.ts +0 -23
  456. package/dist/api/types/Filter.ts +0 -19
  457. package/dist/api/types/FilterAttribute.ts +0 -21
  458. package/dist/api/types/FilterDefinition.ts +0 -18
  459. package/dist/api/types/FilterDeployments.ts +0 -19
  460. package/dist/api/types/FilterInventory.ts +0 -19
  461. package/dist/api/types/FilterPredicate.ts +0 -48
  462. package/dist/api/types/FilterPredicateDeployments.ts +0 -48
  463. package/dist/api/types/FilterPredicateInventory.ts +0 -78
  464. package/dist/api/types/GeoBoundingBox.ts +0 -8
  465. package/dist/api/types/GeoBoundingBoxFilter.ts +0 -5
  466. package/dist/api/types/GeoDistance.ts +0 -15
  467. package/dist/api/types/GeoDistanceFilter.ts +0 -8
  468. package/dist/api/types/GeoPoint.ts +0 -14
  469. package/dist/api/types/Group.ts +0 -10
  470. package/dist/api/types/HTTP.ts +0 -19
  471. package/dist/api/types/IdentityData.ts +0 -25
  472. package/dist/api/types/InputParameter.ts +0 -8
  473. package/dist/api/types/Integration.ts +0 -30
  474. package/dist/api/types/JobStatus.ts +0 -13
  475. package/dist/api/types/Limit.ts +0 -21
  476. package/dist/api/types/LimitDeployments.ts +0 -21
  477. package/dist/api/types/LimitDeviceauth.ts +0 -10
  478. package/dist/api/types/LimitUseradm.ts +0 -11
  479. package/dist/api/types/Limits.ts +0 -11
  480. package/dist/api/types/LineDescriptor.ts +0 -11
  481. package/dist/api/types/LogSubsystem.ts +0 -23
  482. package/dist/api/types/LoginOptions.ts +0 -18
  483. package/dist/api/types/ManagementAPIConfiguration.ts +0 -5
  484. package/dist/api/types/MenderTypes.ts +0 -213
  485. package/dist/api/types/MonitorConfiguration.ts +0 -22
  486. package/dist/api/types/NewConfigurationDeployment.ts +0 -15
  487. package/dist/api/types/NewConfigurationDeploymentResponse.ts +0 -10
  488. package/dist/api/types/NewDeployment.ts +0 -42
  489. package/dist/api/types/NewDeploymentForGroup.ts +0 -33
  490. package/dist/api/types/NewDeploymentPhase.ts +0 -37
  491. package/dist/api/types/NewDeploymentPhaseDeployments.ts +0 -20
  492. package/dist/api/types/NewDeploymentV2.ts +0 -34
  493. package/dist/api/types/NewTenant.ts +0 -49
  494. package/dist/api/types/Object.ts +0 -38
  495. package/dist/api/types/OwnUserUpdate.ts +0 -21
  496. package/dist/api/types/PasswordResetCompletion.ts +0 -17
  497. package/dist/api/types/PasswordResetRequest.ts +0 -13
  498. package/dist/api/types/Permission.ts +0 -21
  499. package/dist/api/types/PermissionObject.ts +0 -14
  500. package/dist/api/types/PermissionSet.ts +0 -22
  501. package/dist/api/types/PermissionSetWithScope.ts +0 -15
  502. package/dist/api/types/PersonalAccessToken.ts +0 -29
  503. package/dist/api/types/PersonalAccessTokenRequest.ts +0 -18
  504. package/dist/api/types/Plan.ts +0 -19
  505. package/dist/api/types/PlanBindingDetails.ts +0 -13
  506. package/dist/api/types/PlanChangeRequest.ts +0 -14
  507. package/dist/api/types/PlanLimits.ts +0 -12
  508. package/dist/api/types/PreAuthSet.ts +0 -16
  509. package/dist/api/types/Release.ts +0 -32
  510. package/dist/api/types/ReleaseDeployments.ts +0 -32
  511. package/dist/api/types/ReleaseUpdate.ts +0 -13
  512. package/dist/api/types/Releases.ts +0 -9
  513. package/dist/api/types/ReleasesDeleteError.ts +0 -21
  514. package/dist/api/types/ReleasesDeployments.ts +0 -9
  515. package/dist/api/types/Role.ts +0 -19
  516. package/dist/api/types/RolePermission.ts +0 -25
  517. package/dist/api/types/RolePermissionObject.ts +0 -17
  518. package/dist/api/types/RoleUseradm.ts +0 -19
  519. package/dist/api/types/SAMLMetadata.ts +0 -21
  520. package/dist/api/types/Scope.ts +0 -19
  521. package/dist/api/types/SelectAttribute.ts +0 -17
  522. package/dist/api/types/ServiceSubsystem.ts +0 -19
  523. package/dist/api/types/Settings.ts +0 -23
  524. package/dist/api/types/SortCriteria.ts +0 -30
  525. package/dist/api/types/SsoObject.ts +0 -21
  526. package/dist/api/types/Status.ts +0 -18
  527. package/dist/api/types/StatusDeviceauth.ts +0 -18
  528. package/dist/api/types/StatusTenantadm.ts +0 -17
  529. package/dist/api/types/StorageLimit.ts +0 -17
  530. package/dist/api/types/SubscriptionData.ts +0 -8
  531. package/dist/api/types/SupportRequest.ts +0 -17
  532. package/dist/api/types/Tag.ts +0 -27
  533. package/dist/api/types/Tags.ts +0 -10
  534. package/dist/api/types/TaskResult.ts +0 -13
  535. package/dist/api/types/TaskResultCLI.ts +0 -10
  536. package/dist/api/types/TaskResultHTTPRequest.ts +0 -8
  537. package/dist/api/types/TaskResultHTTPResponse.ts +0 -10
  538. package/dist/api/types/Tenant.ts +0 -26
  539. package/dist/api/types/TenantApiLimits.ts +0 -12
  540. package/dist/api/types/TenantApiLimitsTenantadm.ts +0 -12
  541. package/dist/api/types/TenantIdName.ts +0 -14
  542. package/dist/api/types/TenantIdsData.ts +0 -10
  543. package/dist/api/types/TenantInfo.ts +0 -14
  544. package/dist/api/types/TenantShortInfo.ts +0 -21
  545. package/dist/api/types/TenantTenantadm.ts +0 -54
  546. package/dist/api/types/TenantsIdName.ts +0 -6
  547. package/dist/api/types/Update.ts +0 -17
  548. package/dist/api/types/UpdateChildTenant.ts +0 -17
  549. package/dist/api/types/UpdateDeployments.ts +0 -18
  550. package/dist/api/types/UpdateFile.ts +0 -13
  551. package/dist/api/types/UpdateFileDeployments.ts +0 -13
  552. package/dist/api/types/UpdateTypes.ts +0 -8
  553. package/dist/api/types/UpgradeCompleteRequest.ts +0 -25
  554. package/dist/api/types/User.ts +0 -13
  555. package/dist/api/types/UserAuditlogs.ts +0 -13
  556. package/dist/api/types/UserNew.ts +0 -26
  557. package/dist/api/types/UserUpdate.ts +0 -25
  558. package/dist/api/types/UserUseradm.ts +0 -45
  559. package/dist/api/types/UserWithTenantInfo.ts +0 -12
  560. package/dist/api/types/XDeltaArgs.ts +0 -9
  561. package/dist/api/types/XDeltaArgsDeployments.ts +0 -9
  562. package/dist/api/types/XDeltaArgsLimits.ts +0 -10
  563. package/dist/api/types/XDeltaArgsLimitsDeployments.ts +0 -10
  564. package/dist/chunk-4RWZR3BN.js +0 -104
  565. package/dist/chunk-4RWZR3BN.js.map +0 -1
  566. package/dist/chunk-7YZCUAXZ.js.map +0 -1
  567. package/dist/chunk-AFICTIVU.js.map +0 -1
  568. package/dist/chunk-AUBJUUP3.js.map +0 -1
  569. package/dist/chunk-AVX7VVOK.js.map +0 -1
  570. package/dist/chunk-BSN2TOQC.js +0 -245
  571. package/dist/chunk-BSN2TOQC.js.map +0 -1
  572. package/dist/chunk-DCEKU6UV.js.map +0 -1
  573. package/dist/chunk-DGQKXSRI.js.map +0 -1
  574. package/dist/chunk-EQLHIPPR.js.map +0 -1
  575. package/dist/chunk-EYCORLYU.js.map +0 -1
  576. package/dist/chunk-FQDSV3NK.js.map +0 -1
  577. package/dist/chunk-FRSA2YB5.js.map +0 -1
  578. package/dist/chunk-FVCYB5OP.js.map +0 -1
  579. package/dist/chunk-GAI4VYRZ.js.map +0 -1
  580. package/dist/chunk-GWJIY56H.js.map +0 -1
  581. package/dist/chunk-JO33IORF.js.map +0 -1
  582. package/dist/chunk-K4MMUDYT.js.map +0 -1
  583. package/dist/chunk-L3SY3J5M.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-MRCFLG45.js.map +0 -1
  587. package/dist/chunk-NCSKCF2S.js.map +0 -1
  588. package/dist/chunk-NOQR3TE7.js.map +0 -1
  589. package/dist/chunk-OEP2D6QL.js +0 -727
  590. package/dist/chunk-OEP2D6QL.js.map +0 -1
  591. package/dist/chunk-PAIB5V27.js.map +0 -1
  592. package/dist/chunk-RX32WLVJ.js.map +0 -1
  593. package/dist/chunk-X3GZILYD.js.map +0 -1
  594. package/dist/chunk-Y575RZHR.js.map +0 -1
  595. package/dist/chunk-ZWOAFHAR.js.map +0 -1
  596. package/dist/deploymentdevicehook.cjs.map +0 -1
  597. package/dist/deploymentdevicehook.js +0 -63
  598. package/dist/deploymentdevicehook.js.map +0 -1
  599. package/dist/flag-eu-5477R2P4.svg +0 -130
  600. package/dist/flag-us-HNQAF66I.svg +0 -63
  601. package/dist/types-DBj17FZO.d.cts +0 -135
  602. package/dist/types-DnfZa6xd.d.ts +0 -135
  603. /package/dist/{chunk-ZZMFXRQK.js.map → chunk-7PRZYHDP.js.map} +0 -0
  604. /package/dist/{deploymentdevicehook.d.cts → useDeploymentDevice.d.cts} +0 -0
  605. /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,9 @@ __export(selectors_exports, {
30
40
  getAuditlogDevice: () => getAuditlogDevice,
31
41
  getAuditlogState: () => getAuditlogState,
32
42
  getAvailableIssueOptionsByType: () => getAvailableIssueOptionsByType,
43
+ getBillingProfile: () => getBillingProfile,
44
+ getCard: () => getCard,
45
+ getCommit: () => getCommit,
33
46
  getCurrentSession: () => getCurrentSession,
34
47
  getCurrentUser: () => getCurrentUser,
35
48
  getDemoDeviceAddress: () => getDemoDeviceAddress,
@@ -53,21 +66,28 @@ __export(selectors_exports, {
53
66
  getDocsVersion: () => getDocsVersion,
54
67
  getExternalIntegrations: () => getExternalIntegrations,
55
68
  getFeatures: () => getFeatures,
69
+ getFeedbackProbability: () => getFeedbackProbability,
56
70
  getFilterAttributes: () => getFilterAttributes,
57
71
  getFilteringAttributes: () => getFilteringAttributes,
58
72
  getFullVersionInformation: () => getFullVersionInformation,
59
73
  getGlobalSettings: () => getGlobalSettings,
74
+ getGroupData: () => getGroupData,
60
75
  getGroupNames: () => getGroupNames,
61
76
  getGroups: () => getGroups,
62
77
  getGroupsById: () => getGroupsById,
63
78
  getGroupsByIdWithoutUngrouped: () => getGroupsByIdWithoutUngrouped,
64
79
  getHas2FA: () => getHas2FA,
80
+ getHasCurrentPricing: () => getHasCurrentPricing,
65
81
  getHasReleases: () => getHasReleases,
82
+ getHostAddress: () => getHostAddress,
83
+ getHostedAnnouncement: () => getHostedAnnouncement,
66
84
  getIdAttribute: () => getIdAttribute,
67
85
  getIsDarkMode: () => getIsDarkMode,
68
86
  getIsEnterprise: () => getIsEnterprise,
87
+ getIsFirstLogin: () => getIsFirstLogin,
69
88
  getIsPreview: () => getIsPreview,
70
89
  getIsServiceProvider: () => getIsServiceProvider,
90
+ getIsUploading: () => getIsUploading,
71
91
  getIssueCountsByType: () => getIssueCountsByType,
72
92
  getLimitMaxed: () => getLimitMaxed,
73
93
  getListedDevices: () => getListedDevices,
@@ -77,6 +97,8 @@ __export(selectors_exports, {
77
97
  getOnboarding: () => getOnboarding,
78
98
  getOnboardingState: () => getOnboardingState,
79
99
  getOrganization: () => getOrganization,
100
+ getReadAllHelptips: () => getReadAllHelptips,
101
+ getRecaptchaKey: () => getRecaptchaKey,
80
102
  getRecentDeployments: () => getRecentDeployments,
81
103
  getReleaseListState: () => getReleaseListState,
82
104
  getReleaseTags: () => getReleaseTags,
@@ -85,6 +107,7 @@ __export(selectors_exports, {
85
107
  getReleasesList: () => getReleasesList,
86
108
  getRelevantRoles: () => getRelevantRoles,
87
109
  getRolesById: () => getRolesById,
110
+ getRolesInitialized: () => getRolesInitialized,
88
111
  getRolesList: () => getRolesList,
89
112
  getSearchEndpoint: () => getSearchEndpoint,
90
113
  getSearchState: () => getSearchState,
@@ -95,17 +118,24 @@ __export(selectors_exports, {
95
118
  getSelectedGroup: () => getSelectedGroup,
96
119
  getSelectedGroupInfo: () => getSelectedGroupInfo,
97
120
  getSelectedRelease: () => getSelectedRelease,
98
- getShowHelptips: () => getShowHelptips,
121
+ getSelectedReleases: () => getSelectedReleases,
122
+ getSentryConfig: () => getSentryConfig,
123
+ getSnackbar: () => getSnackbar,
99
124
  getSortedFilteringAttributes: () => getSortedFilteringAttributes,
100
125
  getSsoConfig: () => getSsoConfig,
126
+ getStripeKey: () => getStripeKey,
127
+ getSubscription: () => getSubscription,
101
128
  getTenantCapabilities: () => getTenantCapabilities,
102
129
  getTenantsList: () => getTenantsList,
103
130
  getTooltipsById: () => getTooltipsById,
104
131
  getTooltipsState: () => getTooltipsState,
132
+ getTrackerCode: () => getTrackerCode,
105
133
  getUpdateTypes: () => getUpdateTypes,
134
+ getUploads: () => getUploads,
106
135
  getUserCapabilities: () => getUserCapabilities,
107
136
  getUserRoles: () => getUserRoles,
108
137
  getUserSettings: () => getUserSettings,
138
+ getUserSettingsInitialized: () => getUserSettingsInitialized,
109
139
  getUsersById: () => getUsersById,
110
140
  getUsersList: () => getUsersList,
111
141
  getVersionInformation: () => getVersionInformation,
@@ -119,20 +149,28 @@ module.exports = __toCommonJS(selectors_exports);
119
149
  // src/appSlice/selectors.ts
120
150
  var import_helpers = require("@northern.tech/utils/helpers");
121
151
  var import_toolkit = require("@reduxjs/toolkit");
122
- var getAppDocsVersion = (state) => state.app.docsVersion;
152
+ var getDocsVersion = (state) => state.app.docsVersion;
123
153
  var getFeatures = (state) => state.app.features;
124
154
  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
155
  var getSearchState = (state) => state.app.searchState;
156
+ var getUploads = (state) => state.app.uploadsById;
157
+ var getSnackbar = (state) => state.app.snackbar;
158
+ var getHostAddress = (state) => state.app.hostAddress;
159
+ var getHostedAnnouncement = (state) => state.app.hostedAnnouncement;
160
+ var getRecaptchaKey = (state) => state.app.recaptchaSiteKey;
161
+ var getStripeKey = (state) => state.app.stripeAPIKey;
162
+ var getTrackerCode = (state) => state.app.trackerCode;
163
+ var getSentryConfig = (state) => state.app.sentry;
164
+ var getCommit = (state) => state.app.commit;
165
+ var getIsFirstLogin = (state) => state.app.firstLoginAfterSignup;
166
+ var getFeedbackProbability = (state) => state.app.feedbackProbability;
167
+ var getIsUploading = (0, import_toolkit.createSelector)([getUploads], (uploadsById) => !!Object.keys(uploadsById).length);
130
168
  var getSearchedDevices = (0, import_toolkit.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
131
169
  var getVersionInformation = (0, import_toolkit.createSelector)(
132
170
  [getFullVersionInformation, getFeatures],
133
- ({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
171
+ ({ Integration: Integration2, ...remainder }, { isHosted }) => isHosted && Integration2 !== "next" ? remainder : { ...remainder, Integration: Integration2 }
134
172
  );
135
- var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers.versionCompare)(Integration, "next") > -1);
173
+ var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration: Integration2 }) => (0, import_helpers.versionCompare)(Integration2, "next") > -1);
136
174
 
137
175
  // src/commonSelectors.ts
138
176
  var import_helpers4 = require("@northern.tech/utils/helpers");
@@ -144,11 +182,6 @@ var startingDeviceCount = {
144
182
  os: "for first 50 devices",
145
183
  professional: "for first 250 devices"
146
184
  };
147
- var apiRoot = "/api/management";
148
- var apiUrl = {
149
- v1: `${apiRoot}/v1`,
150
- v2: `${apiRoot}/v2`
151
- };
152
185
  var chartTypes = {
153
186
  bar: { key: "bar", Icon: import_icons_material.BarChart },
154
187
  pie: { key: "pie", Icon: import_icons_material.PieChartOutline }
@@ -160,28 +193,30 @@ var PLANS = {
160
193
  os: {
161
194
  id: "os",
162
195
  name: "Basic",
196
+ minimalDeviceCount: 50,
163
197
  offer: true,
164
- price: "$32 / month",
198
+ price: "$34 / month",
165
199
  deviceCount: startingDeviceCount.os,
166
- offerprice: "$23 / month for first 50 devices",
167
- price2: "for first 6 months;\n$29/month thereafter",
200
+ 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
201
  features: ["Access to core features of Mender", "Basic support"]
169
202
  },
170
203
  professional: {
171
204
  id: "professional",
172
205
  name: "Professional",
206
+ minimalDeviceCount: 250,
173
207
  offer: true,
174
- price: "$269 / month",
208
+ price: "$291 / month",
175
209
  deviceCount: startingDeviceCount.professional,
176
- offerprice: "$200 / month for first 50 devices",
177
- price2: "for first 6 months;\n$249/month thereafter",
210
+ description: "Everything in Basic, plus enhanced update management and automation features.",
178
211
  features: ["Advanced OTA features", "Higher priority support"]
179
212
  },
180
213
  enterprise: {
181
214
  id: "enterprise",
182
215
  name: "Enterprise",
216
+ minimalDeviceCount: 1e3,
183
217
  price: "Custom pricing",
184
218
  deviceCount: "Unlimited devices",
219
+ 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
220
  features: ["All Mender features", "Advanced security features", "SLA-backed support"]
186
221
  }
187
222
  };
@@ -201,21 +236,6 @@ var ADDONS = {
201
236
  },
202
237
  eligible: ["os", "professional", "enterprise"]
203
238
  },
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
239
  monitor: {
220
240
  id: "monitor",
221
241
  title: "Monitor",
@@ -230,6 +250,21 @@ var ADDONS = {
230
250
  deviceCount: startingDeviceCount.professional
231
251
  },
232
252
  eligible: ["professional", "enterprise"]
253
+ },
254
+ troubleshoot: {
255
+ id: "troubleshoot",
256
+ title: "Troubleshoot",
257
+ description: "Expand your plan with device troubleshooting features",
258
+ needs: ["hasDeviceConnect"],
259
+ os: {
260
+ price: "$27/month",
261
+ deviceCount: startingDeviceCount.os
262
+ },
263
+ professional: {
264
+ price: "$72/month",
265
+ deviceCount: startingDeviceCount.professional
266
+ },
267
+ eligible: ["os", "professional", "enterprise"]
233
268
  }
234
269
  };
235
270
  var BENEFITS = {
@@ -270,678 +305,13 @@ var DARK_MODE = "dark";
270
305
 
271
306
  // src/commonConstants.tsx
272
307
  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
- });
494
-
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" }));
308
+ var import_MenderTypes = require("@northern.tech/types/MenderTypes");
514
309
 
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
- };
310
+ // src/constants.ts
311
+ var import_constants2 = require("@northern.tech/utils/constants");
940
312
 
941
313
  // src/deploymentsSlice/constants.ts
942
314
  var alreadyInstalled = "already-installed";
943
- var deploymentsApiUrl = `${apiUrl.v1}/deployments`;
944
- var deploymentsApiUrlV2 = `${apiUrl.v2}/deployments`;
945
315
  var deploymentSubstates = {
946
316
  aborted: "aborted",
947
317
  alreadyInstalled,
@@ -1014,9 +384,9 @@ var DEPLOYMENT_STATES = {
1014
384
  var listDefaultsByState = {
1015
385
  [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
1016
386
  [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 }
387
+ [DEPLOYMENT_STATES.scheduled]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
388
+ [DEPLOYMENT_STATES.finished]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
389
+ sort: { direction: import_constants2.SORTING_OPTIONS.desc }
1020
390
  };
1021
391
  var DEPLOYMENT_ROUTES = {
1022
392
  active: {
@@ -1068,7 +438,392 @@ var pauseMap = {
1068
438
  }
1069
439
  };
1070
440
 
441
+ // src/onboardingSlice/constants.ts
442
+ var onboardingSteps = {
443
+ ONBOARDING_START: "onboarding-start",
444
+ DEVICES_PENDING_ONBOARDING_START: "devices-pending-onboarding-start",
445
+ DASHBOARD_ONBOARDING_START: "dashboard-onboarding-start",
446
+ DASHBOARD_ONBOARDING_PENDINGS: "dashboard-onboarding-pendings",
447
+ DEVICES_DELAYED_ONBOARDING: "devices-delayed-onboarding",
448
+ DEVICES_PENDING_ONBOARDING: "devices-pending-onboarding",
449
+ DEVICES_ACCEPTED_ONBOARDING: "devices-accepted-onboarding",
450
+ DEVICES_PENDING_ACCEPTING_ONBOARDING: "devices-pending-accepting-onboarding",
451
+ DEVICES_DEPLOY_RELEASE_ONBOARDING: "devices-deploy-release-onboarding",
452
+ SCHEDULING_ARTIFACT_SELECTION: "scheduling-artifact-selection",
453
+ SCHEDULING_ALL_DEVICES_SELECTION: "scheduling-all-devices-selection",
454
+ SCHEDULING_GROUP_SELECTION: "scheduling-group-selection",
455
+ SCHEDULING_RELEASE_TO_DEVICES: "scheduling-release-to-devices",
456
+ DEPLOYMENTS_INPROGRESS: "deployments-inprogress",
457
+ DEPLOYMENTS_COMPLETED: "deployments-completed",
458
+ DEPLOYMENTS_PAST: "deployments-past",
459
+ DEPLOYMENTS_PAST_COMPLETED: "deployments-past-completed",
460
+ DEPLOYMENTS_PAST_COMPLETED_FAILURE: "deployments-past-completed-failure",
461
+ ONBOARDING_CANCELED: "onboarding-canceled"
462
+ };
463
+ var orderedOnboardingSteps = [
464
+ onboardingSteps.DASHBOARD_ONBOARDING_START,
465
+ onboardingSteps.DEVICES_PENDING_ONBOARDING_START,
466
+ onboardingSteps.DEVICES_DELAYED_ONBOARDING,
467
+ onboardingSteps.DEVICES_PENDING_ONBOARDING,
468
+ onboardingSteps.DEVICES_PENDING_ACCEPTING_ONBOARDING,
469
+ onboardingSteps.DASHBOARD_ONBOARDING_PENDINGS,
470
+ onboardingSteps.DEVICES_ACCEPTED_ONBOARDING,
471
+ onboardingSteps.DEVICES_DEPLOY_RELEASE_ONBOARDING,
472
+ onboardingSteps.SCHEDULING_ALL_DEVICES_SELECTION,
473
+ onboardingSteps.SCHEDULING_GROUP_SELECTION,
474
+ onboardingSteps.SCHEDULING_ARTIFACT_SELECTION,
475
+ onboardingSteps.SCHEDULING_RELEASE_TO_DEVICES,
476
+ onboardingSteps.DEPLOYMENTS_INPROGRESS,
477
+ onboardingSteps.DEPLOYMENTS_PAST,
478
+ onboardingSteps.DEPLOYMENTS_PAST_COMPLETED,
479
+ onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE,
480
+ onboardingSteps.ONBOARDING_CANCELED
481
+ ];
482
+
483
+ // src/usersSlice/constants.ts
484
+ var READ_STATES = {
485
+ read: "read",
486
+ seen: "seen",
487
+ unread: "unread"
488
+ };
489
+
490
+ // src/commonConstants.tsx
491
+ var import_jsx_runtime = require("react/jsx-runtime");
492
+ var timeUnits = {
493
+ days: "days",
494
+ minutes: "minutes",
495
+ hours: "hours"
496
+ };
497
+ var UNGROUPED_GROUP = { id: "*|=ungrouped=|*", name: "Unassigned" };
498
+ var DEVICE_LIST_MAXIMUM_LENGTH = 50;
499
+ var oneSecond = 1e3;
500
+ var TIMEOUTS = {
501
+ debounceDefault: 700,
502
+ debounceShort: 300,
503
+ halfASecond: 0.5 * oneSecond,
504
+ oneSecond,
505
+ twoSeconds: 2 * oneSecond,
506
+ threeSeconds: 3 * oneSecond,
507
+ fiveSeconds: 5 * oneSecond,
508
+ refreshDefault: 10 * oneSecond,
509
+ refreshLong: 60 * oneSecond
510
+ };
511
+ var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
512
+ var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants2.ATTRIBUTE_SCOPES.identity });
513
+ var credentialTypes = {
514
+ aws: import_MenderTypes.Credentials.type.AWS,
515
+ http: import_MenderTypes.Credentials.type.HTTP,
516
+ sas: import_MenderTypes.Credentials.type.SAS,
517
+ x509: "x509"
518
+ };
519
+ var EXTERNAL_PROVIDER = {
520
+ "iot-core": {
521
+ credentialsType: credentialTypes.aws,
522
+ icon: import_js.mdiAws,
523
+ title: "AWS IoT Core",
524
+ twinTitle: "Device Shadow",
525
+ provider: "iot-core",
526
+ enabled: true,
527
+ deviceTwin: true,
528
+ 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." })
529
+ },
530
+ "iot-hub": {
531
+ credentialsType: credentialTypes.sas,
532
+ icon: import_js.mdiMicrosoftAzure,
533
+ title: "Azure IoT Hub",
534
+ twinTitle: "Device Twin",
535
+ provider: "iot-hub",
536
+ enabled: true,
537
+ deviceTwin: true,
538
+ configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
539
+ "For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described",
540
+ " ",
541
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
542
+ "a",
543
+ {
544
+ href: "https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn",
545
+ target: "_blank",
546
+ rel: "noopener noreferrer",
547
+ children: "here"
548
+ }
549
+ ),
550
+ "."
551
+ ] })
552
+ },
553
+ webhook: {
554
+ credentialsType: credentialTypes.http,
555
+ deviceTwin: false,
556
+ twinTitle: "",
557
+ // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.
558
+ enabled: false,
559
+ provider: "webhook"
560
+ }
561
+ };
562
+ var emptyWebhook = {
563
+ description: "",
564
+ provider: import_MenderTypes.Integration.provider.WEBHOOK,
565
+ credentials: {
566
+ type: EXTERNAL_PROVIDER.webhook.credentialsType,
567
+ [EXTERNAL_PROVIDER.webhook.credentialsType]: {
568
+ secret: "",
569
+ url: ""
570
+ }
571
+ }
572
+ };
573
+ var regionNames = new Intl.DisplayNames(["en"], { type: "region" });
574
+ var countries = [
575
+ "AD",
576
+ "AE",
577
+ "AF",
578
+ "AG",
579
+ "AI",
580
+ "AL",
581
+ "AM",
582
+ "AO",
583
+ "AQ",
584
+ "AR",
585
+ "AS",
586
+ "AT",
587
+ "AU",
588
+ "AW",
589
+ "AX",
590
+ "AZ",
591
+ "BA",
592
+ "BB",
593
+ "BD",
594
+ "BE",
595
+ "BF",
596
+ "BG",
597
+ "BH",
598
+ "BI",
599
+ "BJ",
600
+ "BL",
601
+ "BM",
602
+ "BN",
603
+ "BO",
604
+ "BR",
605
+ "BS",
606
+ "BT",
607
+ "BV",
608
+ "BW",
609
+ "BY",
610
+ "BZ",
611
+ "CA",
612
+ "CC",
613
+ "CD",
614
+ "CF",
615
+ "CG",
616
+ "CH",
617
+ "CI",
618
+ "CK",
619
+ "CL",
620
+ "CM",
621
+ "CN",
622
+ "CO",
623
+ "CR",
624
+ "CU",
625
+ "CV",
626
+ "CW",
627
+ "CX",
628
+ "CY",
629
+ "CZ",
630
+ "DE",
631
+ "DJ",
632
+ "DK",
633
+ "DM",
634
+ "DO",
635
+ "DZ",
636
+ "EC",
637
+ "EE",
638
+ "EG",
639
+ "EH",
640
+ "ER",
641
+ "ES",
642
+ "ET",
643
+ "FI",
644
+ "FJ",
645
+ "FK",
646
+ "FM",
647
+ "FO",
648
+ "FR",
649
+ "GA",
650
+ "GB",
651
+ "GD",
652
+ "GE",
653
+ "GF",
654
+ "GG",
655
+ "GH",
656
+ "GI",
657
+ "GL",
658
+ "GM",
659
+ "GN",
660
+ "GP",
661
+ "GQ",
662
+ "GR",
663
+ "GS",
664
+ "GT",
665
+ "GU",
666
+ "GW",
667
+ "GY",
668
+ "HK",
669
+ "HM",
670
+ "HN",
671
+ "HR",
672
+ "HT",
673
+ "HU",
674
+ "ID",
675
+ "IE",
676
+ "IL",
677
+ "IM",
678
+ "IN",
679
+ "IO",
680
+ "IQ",
681
+ "IR",
682
+ "IS",
683
+ "IT",
684
+ "JE",
685
+ "JM",
686
+ "JO",
687
+ "JP",
688
+ "KE",
689
+ "KG",
690
+ "KH",
691
+ "KI",
692
+ "KM",
693
+ "KN",
694
+ "KP",
695
+ "KR",
696
+ "KW",
697
+ "KY",
698
+ "KZ",
699
+ "LA",
700
+ "LB",
701
+ "LC",
702
+ "LI",
703
+ "LK",
704
+ "LR",
705
+ "LS",
706
+ "LT",
707
+ "LU",
708
+ "LV",
709
+ "LY",
710
+ "MA",
711
+ "MC",
712
+ "MD",
713
+ "ME",
714
+ "MF",
715
+ "MG",
716
+ "MH",
717
+ "MK",
718
+ "ML",
719
+ "MM",
720
+ "MN",
721
+ "MO",
722
+ "MP",
723
+ "MQ",
724
+ "MR",
725
+ "MS",
726
+ "MT",
727
+ "MU",
728
+ "MV",
729
+ "MW",
730
+ "MX",
731
+ "MY",
732
+ "MZ",
733
+ "NA",
734
+ "NC",
735
+ "NE",
736
+ "NF",
737
+ "NG",
738
+ "NI",
739
+ "NL",
740
+ "NO",
741
+ "NP",
742
+ "NR",
743
+ "NU",
744
+ "NZ",
745
+ "OM",
746
+ "PA",
747
+ "PE",
748
+ "PF",
749
+ "PG",
750
+ "PH",
751
+ "PK",
752
+ "PL",
753
+ "PM",
754
+ "PN",
755
+ "PR",
756
+ "PS",
757
+ "PT",
758
+ "PW",
759
+ "PY",
760
+ "QA",
761
+ "RE",
762
+ "RO",
763
+ "RS",
764
+ "RU",
765
+ "RW",
766
+ "SA",
767
+ "SB",
768
+ "SC",
769
+ "SD",
770
+ "SE",
771
+ "SG",
772
+ "SH",
773
+ "SI",
774
+ "SJ",
775
+ "SK",
776
+ "SL",
777
+ "SM",
778
+ "SN",
779
+ "SO",
780
+ "SR",
781
+ "SS",
782
+ "ST",
783
+ "SV",
784
+ "SX",
785
+ "SY",
786
+ "SZ",
787
+ "TC",
788
+ "TD",
789
+ "TF",
790
+ "TG",
791
+ "TH",
792
+ "TJ",
793
+ "TK",
794
+ "TL",
795
+ "TM",
796
+ "TN",
797
+ "TO",
798
+ "TR",
799
+ "TT",
800
+ "TV",
801
+ "TW",
802
+ "TZ",
803
+ "UA",
804
+ "UG",
805
+ "US",
806
+ "UY",
807
+ "UZ",
808
+ "VA",
809
+ "VC",
810
+ "VE",
811
+ "VG",
812
+ "VI",
813
+ "VN",
814
+ "VU",
815
+ "WF",
816
+ "WS",
817
+ "XK",
818
+ "YE",
819
+ "YT",
820
+ "ZA",
821
+ "ZM",
822
+ "ZW"
823
+ ].map((code) => ({ code, label: regionNames.of(code) })).sort((a, b) => a.label.localeCompare(b.label));
824
+
1071
825
  // src/deploymentsSlice/selectors.ts
826
+ var import_toolkit2 = require("@reduxjs/toolkit");
1072
827
  var getDeploymentsById = (state) => state.deployments.byId;
1073
828
  var getDeploymentsByStatus = (state) => state.deployments.byStatus;
1074
829
  var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
@@ -1145,7 +900,7 @@ var getDeviceIdentityAttributes = (0, import_toolkit3.createSelector)(
1145
900
  );
1146
901
  var getDeviceCountsByStatus = (0, import_toolkit3.createSelector)(
1147
902
  [getDevicesByStatus],
1148
- (byStatus) => Object.values(DEVICE_STATES).reduce((accu, state) => {
903
+ (byStatus) => Object.values(import_constants2.DEVICE_STATES).reduce((accu, state) => {
1149
904
  accu[state] = byStatus[state].total || 0;
1150
905
  return accu;
1151
906
  }, {})
@@ -1157,7 +912,7 @@ var getSelectedGroupInfo = (0, import_toolkit3.createSelector)(
1157
912
  let groupCount = acceptedDeviceTotal;
1158
913
  let groupFilters = [];
1159
914
  if (selectedGroup && groupsById[selectedGroup]) {
1160
- groupCount = groupsById[selectedGroup].total;
915
+ groupCount = groupsById[selectedGroup].total || 0;
1161
916
  groupFilters = groupsById[selectedGroup].filters || [];
1162
917
  }
1163
918
  return { groupCount, selectedGroup, groupFilters };
@@ -1168,13 +923,18 @@ var getLimitMaxed = (0, import_toolkit3.createSelector)(
1168
923
  ({ total: acceptedDevices = 0 }, deviceLimit) => Boolean(deviceLimit && deviceLimit <= acceptedDevices)
1169
924
  );
1170
925
  var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
926
+ var getGroupData = (0, import_toolkit3.createSelector)([getGroupsByIdWithoutUngrouped], (groups) => {
927
+ const createdGroup = Object.keys(groups).length ? Object.keys(groups)[0] : void 0;
928
+ const hasDynamicGroups = Object.values(groups).some((group) => !!group.id);
929
+ return { createdGroup, hasDynamicGroups, groups };
930
+ });
1171
931
  var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById) => {
1172
932
  const groupNames = Object.keys(groupsById).sort();
1173
933
  const groupedGroups = Object.entries(groupsById).sort((a, b) => a[0].localeCompare(b[0])).reduce(
1174
934
  (accu, [groupname, group]) => {
1175
935
  const name = groupname === UNGROUPED_GROUP.id ? UNGROUPED_GROUP.name : groupname;
1176
936
  const groupItem = { ...group, groupId: name, name: groupname };
1177
- if (group.filters?.length > 0) {
937
+ if ((group.filters ?? []).length > 0) {
1178
938
  if (groupname !== UNGROUPED_GROUP.id) {
1179
939
  accu.dynamic.push(groupItem);
1180
940
  } else {
@@ -1217,15 +977,20 @@ var getOnboarding = (state) => state.onboarding;
1217
977
 
1218
978
  // src/organizationSlice/selectors.ts
1219
979
  var import_toolkit4 = require("@reduxjs/toolkit");
980
+ var import_dayjs = __toESM(require("dayjs"), 1);
981
+ var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
1220
982
  var getOrganization = (state) => state.organization.organization;
1221
983
  var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
1222
984
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
1223
985
  var getAuditLog = (state) => state.organization.auditlog.events;
1224
986
  var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
987
+ var getBillingProfile = (state) => state.organization.organization.billing_profile;
988
+ var getSubscription = (state) => state.organization.organization.subscription;
989
+ var getCard = (state) => state.organization.card;
1225
990
  var getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];
1226
991
  var getTenantsList = (state) => state.organization.tenantList;
1227
992
  var getWebhookEvents = (state) => state.organization.webhooks.events;
1228
- var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
993
+ var getWebhookEventTotal = (state) => state.organization.webhooks.eventsTotal;
1229
994
  var getDeviceTwinIntegrations = (0, import_toolkit4.createSelector)(
1230
995
  [getExternalIntegrations],
1231
996
  (integrations) => integrations.filter((integration) => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)
@@ -1246,30 +1011,39 @@ var getAuditLogEntry = (0, import_toolkit4.createSelector)([getAuditLog, getAudi
1246
1011
  const [eventAction, eventTime] = atob(selectedId).split("|");
1247
1012
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1248
1013
  });
1014
+ import_dayjs.default.extend(import_relativeTime.default);
1015
+ var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
1016
+ var getHasCurrentPricing = (0, import_toolkit4.createSelector)(
1017
+ [getOrganization],
1018
+ ({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
1019
+ );
1020
+
1021
+ // src/releasesSlice/selectors.ts
1022
+ var import_toolkit5 = require("@reduxjs/toolkit");
1249
1023
 
1250
1024
  // src/utils.ts
1251
1025
  var import_helpers3 = require("@northern.tech/utils/helpers");
1252
1026
  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
1027
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
1028
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
1029
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
1030
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
1031
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
1032
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1033
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
1034
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers3.yes,
1035
+ [import_constants2.DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
1262
1036
  };
1263
1037
  var filterAliases = {
1264
- $nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
1038
+ $nexists: { alias: import_constants2.DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
1265
1039
  };
1266
- var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
1040
+ var listItemMapper = (byId, ids, { cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH, defaultObject = {} }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
1267
1041
  if (id && byId[id]) {
1268
1042
  accu.push({ ...defaultObject, ...byId[id] });
1269
1043
  }
1270
1044
  return accu;
1271
1045
  }, []);
1272
- var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
1046
+ var mergePermissions = (existingPermissions = { ...import_constants2.emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
1273
1047
  (accu, [key, value]) => {
1274
1048
  let values;
1275
1049
  if (!accu[key]) {
@@ -1293,45 +1067,51 @@ var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
1293
1067
  }
1294
1068
  return mergePermissions(accu, roles[roleId].uiPermissions);
1295
1069
  },
1296
- { ...emptyUiPermissions }
1070
+ { ...import_constants2.emptyUiPermissions }
1297
1071
  );
1298
1072
  var isDarkMode = (mode) => mode === DARK_MODE;
1299
1073
 
1300
1074
  // src/releasesSlice/selectors.ts
1301
- var import_toolkit5 = require("@reduxjs/toolkit");
1302
1075
  var getSelectedReleaseId = (state) => state.releases.selectedRelease;
1303
1076
  var getReleasesById = (state) => state.releases.byId;
1304
1077
  var getReleaseTags = (state) => state.releases.tags;
1305
1078
  var getReleaseListState = (state) => state.releases.releasesList;
1306
1079
  var getListedReleases = (state) => state.releases.releasesList.releaseIds;
1307
1080
  var getUpdateTypes = (state) => state.releases.updateTypes;
1308
- var getReleaseMappingDefaults = () => ({});
1081
+ var releaseDefaults = {};
1082
+ var getReleaseMappingDefaults = () => releaseDefaults;
1309
1083
  var getReleasesList = (0, import_toolkit5.createSelector)([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper);
1310
1084
  var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));
1311
1085
  var getHasReleases = (0, import_toolkit5.createSelector)(
1312
1086
  [getReleaseListState, getReleasesById],
1313
1087
  ({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)
1314
1088
  );
1315
- var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id] ?? {});
1089
+ var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
1090
+ var getSelectedReleases = (0, import_toolkit5.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
1316
1091
 
1317
1092
  // src/usersSlice/selectors.ts
1318
1093
  var import_toolkit6 = require("@reduxjs/toolkit");
1094
+ var emptyObject = {};
1319
1095
  var getRolesById = (state) => state.users.rolesById;
1320
1096
  var getTooltipsById = (state) => state.users.tooltips.byId;
1321
1097
  var getGlobalSettings = (state) => state.users.globalSettings;
1098
+ var getUserSettingsInitialized = (state) => state.users.settingsInitialized;
1322
1099
  var getCurrentUserId = (state) => state.users.currentUser;
1323
1100
  var getUsersById = (state) => state.users.byId;
1324
1101
  var getUsersList = (0, import_toolkit6.createSelector)([getUsersById], (usersById) => Object.values(usersById));
1325
- var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => usersById[userId] ?? {});
1102
+ var getCurrentUser = (0, import_toolkit6.createSelector)(
1103
+ [getUsersById, getCurrentUserId],
1104
+ (usersById, userId) => userId ? usersById[userId] ?? emptyObject : emptyObject
1105
+ );
1326
1106
  var getUserSettings = (state) => state.users.userSettings;
1327
1107
  var getSelectedDeviceAttribute = (0, import_toolkit6.createSelector)(
1328
1108
  [getUserSettings],
1329
1109
  ({ columnSelection }) => columnSelection.map((attribute) => ({ attribute: attribute.key, scope: attribute.scope }))
1330
1110
  );
1331
1111
  var getIsDarkMode = (0, import_toolkit6.createSelector)([getUserSettings], ({ mode }) => isDarkMode(mode));
1332
- var getShowHelptips = (0, import_toolkit6.createSelector)(
1112
+ var getReadAllHelptips = (0, import_toolkit6.createSelector)(
1333
1113
  [getTooltipsById],
1334
- (tooltips) => Object.values(tooltips).reduce((accu, { readState }) => accu || readState === READ_STATES.unread, false)
1114
+ (tooltips) => Object.values(tooltips).every(({ readState }) => readState === READ_STATES.read)
1335
1115
  );
1336
1116
  var getTooltipsState = (0, import_toolkit6.createSelector)(
1337
1117
  [getTooltipsById, getUserSettings],
@@ -1345,7 +1125,7 @@ var getTooltipsState = (0, import_toolkit6.createSelector)(
1345
1125
  );
1346
1126
  var getHas2FA = (0, import_toolkit6.createSelector)(
1347
1127
  [getCurrentUser],
1348
- (currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === twoFAStates.enabled
1128
+ (currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === import_constants2.twoFAStates.enabled
1349
1129
  );
1350
1130
  var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);
1351
1131
  var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ offlineThreshold }) => ({
@@ -1354,6 +1134,7 @@ var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobal
1354
1134
  }));
1355
1135
  var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
1356
1136
  var getCurrentSession = (state) => state.users.currentSession;
1137
+ var getRolesInitialized = (state) => state.users.rolesInitialized;
1357
1138
 
1358
1139
  // src/commonSelectors.ts
1359
1140
  var getIsEnterprise = (0, import_toolkit7.createSelector)(
@@ -1362,37 +1143,34 @@ var getIsEnterprise = (0, import_toolkit7.createSelector)(
1362
1143
  );
1363
1144
  var getAttrsEndpoint = (0, import_toolkit7.createSelector)(
1364
1145
  [getFeatures],
1365
- ({ hasReporting }) => hasReporting ? `${reportingApiUrl}/devices/search/attributes` : `${inventoryApiUrlV2}/filters/attributes`
1146
+ ({ hasReporting }) => hasReporting ? `${import_constants2.reportingApiUrl}/devices/search/attributes` : `${import_constants2.inventoryApiUrlV2}/filters/attributes`
1366
1147
  );
1367
1148
  var getSearchEndpoint = (0, import_toolkit7.createSelector)(
1368
1149
  [getFeatures],
1369
- ({ hasReporting }) => hasReporting ? `${reportingApiUrl}/devices/search` : `${inventoryApiUrlV2}/filters/search`
1370
- );
1371
- var getUserRoles = (0, import_toolkit7.createSelector)(
1372
- [getCurrentUser, getRolesById, getIsEnterprise, getFeatures, getOrganization],
1373
- (currentUser, rolesById2, isEnterprise, { isHosted, hasMultitenancy }, { plan = PLANS.os.id }) => {
1374
- const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
1375
- const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
1376
- return { isAdmin, uiPermissions };
1377
- }
1150
+ ({ hasReporting }) => hasReporting ? `${import_constants2.reportingApiUrl}/devices/search` : `${import_constants2.inventoryApiUrlV2}/filters/search`
1378
1151
  );
1152
+ var getUserRoles = (0, import_toolkit7.createSelector)([getCurrentUser, getRolesById, getIsEnterprise], (currentUser, rolesById2, isEnterprise) => {
1153
+ const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === import_constants2.rolesByName.admin) : !isEnterprise;
1154
+ const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([import_constants2.rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
1155
+ return { isAdmin, uiPermissions };
1156
+ });
1379
1157
  var hasPermission = (thing, permission) => Object.values(thing).some((permissions) => permissions.includes(permission));
1380
1158
  var getUserCapabilities = (0, import_toolkit7.createSelector)([getUserRoles, getIsServiceProvider], ({ uiPermissions }, isServiceProvider) => {
1381
- const canManageReleases = hasPermission(uiPermissions.releases, uiPermissionsById.manage.value);
1382
- const canReadReleases = canManageReleases || hasPermission(uiPermissions.releases, uiPermissionsById.read.value);
1383
- const canUploadReleases = canManageReleases || hasPermission(uiPermissions.releases, uiPermissionsById.upload.value);
1384
- const canAuditlog = uiPermissions.auditlog.includes(uiPermissionsById.read.value);
1385
- const canReadUsers = uiPermissions.userManagement.includes(uiPermissionsById.read.value);
1386
- const canManageUsers = uiPermissions.userManagement.includes(uiPermissionsById.manage.value);
1387
- const canReadDevices = hasPermission(uiPermissions.groups, uiPermissionsById.read.value);
1159
+ const canManageReleases = hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.manage.value);
1160
+ const canReadReleases = canManageReleases || hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.read.value);
1161
+ const canUploadReleases = canManageReleases || hasPermission(uiPermissions.releases, import_constants2.uiPermissionsById.upload.value);
1162
+ const canAuditlog = uiPermissions.auditlog.includes(import_constants2.uiPermissionsById.read.value);
1163
+ const canReadUsers = uiPermissions.userManagement.includes(import_constants2.uiPermissionsById.read.value);
1164
+ const canManageUsers = uiPermissions.userManagement.includes(import_constants2.uiPermissionsById.manage.value);
1165
+ const canReadDevices = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.read.value);
1388
1166
  const canWriteDevices = Object.values(uiPermissions.groups).some(
1389
- (groupPermissions) => groupPermissions.includes(uiPermissionsById.read.value) && groupPermissions.length > 1
1167
+ (groupPermissions) => groupPermissions.includes(import_constants2.uiPermissionsById.read.value) && groupPermissions.length > 1
1390
1168
  );
1391
- const canTroubleshoot = hasPermission(uiPermissions.groups, uiPermissionsById.connect.value);
1392
- const canManageDevices = hasPermission(uiPermissions.groups, uiPermissionsById.manage.value);
1393
- const canConfigure = hasPermission(uiPermissions.groups, uiPermissionsById.configure.value);
1394
- const canDeploy = uiPermissions.deployments.includes(uiPermissionsById.deploy.value) || hasPermission(uiPermissions.groups, uiPermissionsById.deploy.value);
1395
- const canReadDeployments = uiPermissions.deployments.includes(uiPermissionsById.read.value);
1169
+ const canTroubleshoot = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.connect.value);
1170
+ const canManageDevices = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.manage.value);
1171
+ const canConfigure = hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.configure.value);
1172
+ const canDeploy = uiPermissions.deployments.includes(import_constants2.uiPermissionsById.deploy.value) || hasPermission(uiPermissions.groups, import_constants2.uiPermissionsById.deploy.value);
1173
+ const canReadDeployments = uiPermissions.deployments.includes(import_constants2.uiPermissionsById.read.value);
1396
1174
  return {
1397
1175
  canAuditlog,
1398
1176
  canConfigure,
@@ -1443,11 +1221,11 @@ var getTenantCapabilities = (0, import_toolkit7.createSelector)(
1443
1221
  var getFilterAttributes = (0, import_toolkit7.createSelector)(
1444
1222
  [getGlobalSettings, getFilteringAttributes],
1445
1223
  ({ previousFilters }, { identityAttributes, inventoryAttributes, systemAttributes, tagAttributes }) => {
1446
- const deviceNameAttribute = { key: "name", value: "Name", scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 1 };
1447
- const deviceIdAttribute = { key: "id", value: "Device ID", scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 };
1448
- const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
1224
+ const deviceNameAttribute = { key: "name", value: "Name", scope: import_constants2.ATTRIBUTE_SCOPES.tags, category: import_constants2.ATTRIBUTE_SCOPES.tags, priority: 1 };
1225
+ const deviceIdAttribute = { key: "id", value: "Device ID", scope: import_constants2.ATTRIBUTE_SCOPES.identity, category: import_constants2.ATTRIBUTE_SCOPES.identity, priority: 1 };
1226
+ const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 };
1449
1227
  const updateAttribute = { ...checkInAttribute, key: "updated_ts", value: "Last inventory update" };
1450
- const firstRequestAttribute = { key: "created_ts", value: "First request", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
1228
+ const firstRequestAttribute = { key: "created_ts", value: "First request", scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 };
1451
1229
  const attributes = [
1452
1230
  ...previousFilters.map((item) => ({
1453
1231
  ...item,
@@ -1457,13 +1235,13 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
1457
1235
  })),
1458
1236
  deviceNameAttribute,
1459
1237
  deviceIdAttribute,
1460
- ...identityAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 })),
1461
- ...inventoryAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.inventory, category: ATTRIBUTE_SCOPES.inventory, priority: 2 })),
1462
- ...tagAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 3 })),
1238
+ ...identityAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.identity, category: import_constants2.ATTRIBUTE_SCOPES.identity, priority: 1 })),
1239
+ ...inventoryAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.inventory, category: import_constants2.ATTRIBUTE_SCOPES.inventory, priority: 2 })),
1240
+ ...tagAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.tags, category: import_constants2.ATTRIBUTE_SCOPES.tags, priority: 3 })),
1463
1241
  checkInAttribute,
1464
1242
  updateAttribute,
1465
1243
  firstRequestAttribute,
1466
- ...systemAttributes.map((item) => ({ key: item, value: item, scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 }))
1244
+ ...systemAttributes.map((item) => ({ key: item, value: item, scope: import_constants2.ATTRIBUTE_SCOPES.system, category: import_constants2.ATTRIBUTE_SCOPES.system, priority: 4 }))
1467
1245
  ];
1468
1246
  return (0, import_helpers4.attributeDuplicateFilter)(attributes, "key");
1469
1247
  }
@@ -1505,7 +1283,7 @@ var getSelectedDeploymentData = (0, import_toolkit7.createSelector)(
1505
1283
  );
1506
1284
  var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
1507
1285
  [getFeatures, getTenantCapabilities, getIssueCountsByType],
1508
- ({ hasReporting }, { hasFullFiltering, hasMonitor }, issueCounts) => Object.values(DEVICE_ISSUE_OPTIONS).reduce((accu, { isCategory, key, needsFullFiltering, needsMonitor, needsReporting, title }) => {
1286
+ ({ hasReporting }, { hasFullFiltering, hasMonitor }, issueCounts) => Object.values(import_constants2.DEVICE_ISSUE_OPTIONS).reduce((accu, { isCategory, key, needsFullFiltering, needsMonitor, needsReporting, title }) => {
1509
1287
  if (isCategory || needsReporting && !hasReporting || needsFullFiltering && !hasFullFiltering || needsMonitor && !hasMonitor) {
1510
1288
  return accu;
1511
1289
  }
@@ -1513,14 +1291,11 @@ var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
1513
1291
  return accu;
1514
1292
  }, {})
1515
1293
  );
1516
- var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles, (_, options = {}) => options], (groupsById, { uiPermissions }, { staticOnly }) => {
1294
+ var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles], (groupsById, { uiPermissions }) => {
1517
1295
  const { [UNGROUPED_GROUP.id]: ungrouped, ...groups } = groupsById;
1518
- if (staticOnly) {
1519
- return Object.keys(uiPermissions.groups).sort();
1520
- }
1521
1296
  return Object.keys(
1522
1297
  Object.entries(groups).reduce((accu, [groupName, group]) => {
1523
- if (group.filterId || uiPermissions.groups[ALL_DEVICES]) {
1298
+ if (group.filterId || uiPermissions.groups[import_constants2.ALL_DEVICES]) {
1524
1299
  accu[groupName] = group;
1525
1300
  }
1526
1301
  return accu;
@@ -1553,14 +1328,14 @@ var getAuditlogDevice = (0, import_toolkit7.createSelector)([getAuditLogEntry, g
1553
1328
  var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
1554
1329
  if (service_provider) {
1555
1330
  return roles.reduce((accu, role) => {
1556
- if (rolesById[role.value]) {
1331
+ if (import_constants2.rolesById[role.value]) {
1557
1332
  return accu;
1558
1333
  }
1559
1334
  accu.push(role);
1560
1335
  return accu;
1561
- }, Object.values(serviceProviderRolesById));
1336
+ }, Object.values(import_constants2.serviceProviderRolesById));
1562
1337
  }
1563
- return Object.keys(rolesById).reverse().reduce((accu, key) => {
1338
+ return Object.keys(import_constants2.rolesById).reverse().reduce((accu, key) => {
1564
1339
  const index = accu.findIndex(({ value }) => value === key);
1565
1340
  accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
1566
1341
  return accu;
@@ -1578,6 +1353,9 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1578
1353
  getAuditlogDevice,
1579
1354
  getAuditlogState,
1580
1355
  getAvailableIssueOptionsByType,
1356
+ getBillingProfile,
1357
+ getCard,
1358
+ getCommit,
1581
1359
  getCurrentSession,
1582
1360
  getCurrentUser,
1583
1361
  getDemoDeviceAddress,
@@ -1601,21 +1379,28 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1601
1379
  getDocsVersion,
1602
1380
  getExternalIntegrations,
1603
1381
  getFeatures,
1382
+ getFeedbackProbability,
1604
1383
  getFilterAttributes,
1605
1384
  getFilteringAttributes,
1606
1385
  getFullVersionInformation,
1607
1386
  getGlobalSettings,
1387
+ getGroupData,
1608
1388
  getGroupNames,
1609
1389
  getGroups,
1610
1390
  getGroupsById,
1611
1391
  getGroupsByIdWithoutUngrouped,
1612
1392
  getHas2FA,
1393
+ getHasCurrentPricing,
1613
1394
  getHasReleases,
1395
+ getHostAddress,
1396
+ getHostedAnnouncement,
1614
1397
  getIdAttribute,
1615
1398
  getIsDarkMode,
1616
1399
  getIsEnterprise,
1400
+ getIsFirstLogin,
1617
1401
  getIsPreview,
1618
1402
  getIsServiceProvider,
1403
+ getIsUploading,
1619
1404
  getIssueCountsByType,
1620
1405
  getLimitMaxed,
1621
1406
  getListedDevices,
@@ -1625,6 +1410,8 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1625
1410
  getOnboarding,
1626
1411
  getOnboardingState,
1627
1412
  getOrganization,
1413
+ getReadAllHelptips,
1414
+ getRecaptchaKey,
1628
1415
  getRecentDeployments,
1629
1416
  getReleaseListState,
1630
1417
  getReleaseTags,
@@ -1633,6 +1420,7 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1633
1420
  getReleasesList,
1634
1421
  getRelevantRoles,
1635
1422
  getRolesById,
1423
+ getRolesInitialized,
1636
1424
  getRolesList,
1637
1425
  getSearchEndpoint,
1638
1426
  getSearchState,
@@ -1643,17 +1431,24 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1643
1431
  getSelectedGroup,
1644
1432
  getSelectedGroupInfo,
1645
1433
  getSelectedRelease,
1646
- getShowHelptips,
1434
+ getSelectedReleases,
1435
+ getSentryConfig,
1436
+ getSnackbar,
1647
1437
  getSortedFilteringAttributes,
1648
1438
  getSsoConfig,
1439
+ getStripeKey,
1440
+ getSubscription,
1649
1441
  getTenantCapabilities,
1650
1442
  getTenantsList,
1651
1443
  getTooltipsById,
1652
1444
  getTooltipsState,
1445
+ getTrackerCode,
1653
1446
  getUpdateTypes,
1447
+ getUploads,
1654
1448
  getUserCapabilities,
1655
1449
  getUserRoles,
1656
1450
  getUserSettings,
1451
+ getUserSettingsInitialized,
1657
1452
  getUsersById,
1658
1453
  getUsersList,
1659
1454
  getVersionInformation,