@oneuptime/common 11.6.0 → 11.6.2

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 (427) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +41 -24
  2. package/Models/AnalyticsModels/Index.ts +4 -0
  3. package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
  4. package/Models/AnalyticsModels/MetricBaselineHourly.ts +2 -0
  5. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +5 -2
  6. package/Models/AnalyticsModels/MetricItemAggMV1mByContainer.ts +5 -2
  7. package/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.ts +5 -2
  8. package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +5 -2
  9. package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +5 -2
  10. package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
  11. package/Models/AnalyticsModels/SloHistory.ts +240 -0
  12. package/Models/DatabaseModels/Index.ts +20 -0
  13. package/Models/DatabaseModels/NetworkDevice.ts +453 -6
  14. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
  15. package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
  16. package/Models/DatabaseModels/NetworkSite.ts +1155 -0
  17. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
  18. package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
  19. package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
  20. package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
  21. package/Models/DatabaseModels/ServiceLevelObjective.ts +1106 -0
  22. package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
  23. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
  24. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  31. package/Server/Services/AnalyticsDatabaseService.ts +38 -10
  32. package/Server/Services/Index.ts +24 -0
  33. package/Server/Services/KubernetesCostAllocationService.ts +14 -0
  34. package/Server/Services/MetricService.ts +21 -2
  35. package/Server/Services/MonitorService.ts +22 -0
  36. package/Server/Services/NetworkDeviceService.ts +438 -2
  37. package/Server/Services/NetworkEndpointService.ts +414 -0
  38. package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
  39. package/Server/Services/NetworkSiteLinkService.ts +10 -0
  40. package/Server/Services/NetworkSiteService.ts +1254 -0
  41. package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
  42. package/Server/Services/NetworkSiteTypeService.ts +10 -0
  43. package/Server/Services/ProjectService.ts +122 -2
  44. package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
  45. package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
  46. package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
  47. package/Server/Services/ServiceLevelObjectiveService.ts +677 -0
  48. package/Server/Services/SloHistoryService.ts +101 -0
  49. package/Server/Services/UserNotificationSettingService.ts +37 -0
  50. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
  51. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
  52. package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
  53. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +128 -52
  54. package/Server/Utils/Memory.ts +9 -1
  55. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
  56. package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  57. package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
  58. package/Server/Utils/Monitor/MonitorResource.ts +4 -30
  59. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
  60. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
  61. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
  62. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
  63. package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
  64. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
  65. package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
  66. package/Tests/Models/AnalyticsModels/AnalyticsBaseModel.test.ts +122 -0
  67. package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
  68. package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
  69. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
  70. package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
  71. package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
  72. package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
  73. package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
  74. package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
  75. package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
  76. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
  77. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
  78. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +164 -3
  79. package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
  80. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +503 -0
  81. package/Tests/Server/Utils/Encryption.test.ts +70 -0
  82. package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
  83. package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
  84. package/Tests/Server/Utils/LocalFile.test.ts +258 -0
  85. package/Tests/Server/Utils/Memory.test.ts +213 -0
  86. package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
  87. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
  88. package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
  89. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
  90. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
  91. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
  92. package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
  93. package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
  94. package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
  95. package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
  96. package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
  97. package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
  98. package/Tests/Server/Utils/Stream.test.ts +87 -0
  99. package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
  100. package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
  101. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
  102. package/Tests/Types/Email.test.ts +198 -0
  103. package/Tests/Types/HashCode.test.ts +41 -0
  104. package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
  105. package/Tests/Types/Log/LogQueryParser.test.ts +186 -0
  106. package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
  107. package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
  108. package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
  109. package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
  110. package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
  111. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
  112. package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
  113. package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
  114. package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
  115. package/Tests/Types/WebsiteRequest.test.ts +230 -0
  116. package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
  117. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
  118. package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
  119. package/Tests/UI/Utils/LogExport.test.ts +159 -0
  120. package/Tests/UI/Utils/Navigation.test.ts +183 -0
  121. package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
  122. package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
  123. package/Tests/Utils/Base64.test.ts +51 -0
  124. package/Tests/Utils/Boolean.test.ts +76 -0
  125. package/Tests/Utils/Crypto.test.ts +48 -0
  126. package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
  127. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
  128. package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +197 -0
  129. package/Tests/Utils/Enum.test.ts +54 -0
  130. package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
  131. package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
  132. package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
  133. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
  134. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
  135. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
  136. package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
  137. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
  138. package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
  139. package/Tests/Utils/ObjectUtil.test.ts +30 -0
  140. package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
  141. package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
  142. package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
  143. package/Tests/Utils/TechStack.test.ts +50 -0
  144. package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
  145. package/Tests/Utils/ValueFormatter.test.ts +305 -0
  146. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
  147. package/Types/AnalyticsDatabase/TableColumn.ts +23 -0
  148. package/Types/BaseDatabase/EqualTo.ts +9 -1
  149. package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
  150. package/Types/BaseDatabase/NotEqual.ts +9 -1
  151. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  152. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  153. package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
  154. package/Types/Dashboard/DashboardTemplates.ts +214 -0
  155. package/Types/Email/EmailTemplateType.ts +2 -0
  156. package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
  157. package/Types/Monitor/CriteriaFilter.ts +9 -0
  158. package/Types/Monitor/MonitorStep.ts +5 -8
  159. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
  160. package/Types/Monitor/MonitorType.ts +15 -5
  161. package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
  162. package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
  163. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
  164. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
  165. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
  166. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
  167. package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
  168. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  169. package/Types/Permission.ts +449 -0
  170. package/Types/ServiceLevelObjective/SliType.ts +6 -0
  171. package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
  172. package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
  173. package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
  174. package/Types/Telemetry/ServiceType.ts +1 -0
  175. package/UI/Components/Filters/EntityFilter.tsx +16 -0
  176. package/UI/Components/Filters/FilterViewer.tsx +22 -5
  177. package/UI/Components/List/List.tsx +8 -0
  178. package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
  179. package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
  180. package/UI/Components/Navbar/NavBar.tsx +16 -2
  181. package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
  182. package/UI/Utils/Navigation.ts +10 -0
  183. package/UI/Utils/TableFilterUrlState.ts +204 -17
  184. package/UI/Utils/TableViewUrlState.ts +165 -0
  185. package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
  186. package/Utils/Dashboard/Components/Index.ts +7 -0
  187. package/Utils/IpCanonicalUtil.ts +134 -0
  188. package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
  189. package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
  190. package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
  191. package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
  192. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
  193. package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
  194. package/Utils/Slo/SloStatusColor.ts +54 -0
  195. package/Utils/Slo/SloUtil.ts +637 -0
  196. package/Utils/Slo/SloWidgetFormat.ts +383 -0
  197. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +25 -20
  198. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  199. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  200. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  201. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
  202. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
  203. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +2 -0
  204. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  205. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +5 -2
  206. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  207. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +5 -2
  208. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -1
  209. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js +5 -2
  210. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -1
  211. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +5 -2
  212. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -1
  213. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +5 -2
  214. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -1
  215. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
  216. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  217. package/build/dist/Models/AnalyticsModels/SloHistory.js +215 -0
  218. package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
  219. package/build/dist/Models/DatabaseModels/Index.js +20 -0
  220. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  221. package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
  222. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  223. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
  224. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  225. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
  226. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
  227. package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
  228. package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
  229. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
  230. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
  231. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
  232. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
  233. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
  234. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
  236. package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
  237. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1124 -0
  238. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
  239. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
  240. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
  241. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
  242. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
  243. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
  244. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
  245. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
  246. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
  247. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
  248. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
  249. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
  250. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
  251. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
  252. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
  253. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
  254. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
  255. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  256. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  257. package/build/dist/Server/Services/AnalyticsDatabaseService.js +32 -7
  258. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  259. package/build/dist/Server/Services/Index.js +24 -0
  260. package/build/dist/Server/Services/Index.js.map +1 -1
  261. package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
  262. package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
  263. package/build/dist/Server/Services/MetricService.js +21 -3
  264. package/build/dist/Server/Services/MetricService.js.map +1 -1
  265. package/build/dist/Server/Services/MonitorService.js +19 -0
  266. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  267. package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
  268. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  269. package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
  270. package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
  271. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
  272. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
  273. package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
  274. package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
  275. package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
  276. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
  277. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
  278. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
  279. package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
  280. package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
  281. package/build/dist/Server/Services/ProjectService.js +98 -2
  282. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  283. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
  284. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
  285. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
  286. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
  287. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
  288. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
  289. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +582 -0
  290. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
  291. package/build/dist/Server/Services/SloHistoryService.js +77 -0
  292. package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
  293. package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
  294. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  295. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
  296. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  297. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
  298. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  299. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
  300. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  301. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +105 -52
  302. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  303. package/build/dist/Server/Utils/Memory.js +9 -1
  304. package/build/dist/Server/Utils/Memory.js.map +1 -1
  305. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
  306. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  307. package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  308. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
  309. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
  310. package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
  311. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  312. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
  313. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  314. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
  315. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
  316. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
  317. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
  318. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
  319. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  320. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
  321. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
  322. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
  323. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
  324. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
  325. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  326. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
  327. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  328. package/build/dist/Types/AnalyticsDatabase/TableColumn.js +7 -0
  329. package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
  330. package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
  331. package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
  332. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
  333. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  334. package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
  335. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  336. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  337. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  338. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  339. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  340. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
  341. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
  342. package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
  343. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  344. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  345. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  346. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
  347. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
  348. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
  349. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  350. package/build/dist/Types/Monitor/MonitorStep.js +5 -5
  351. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  352. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
  353. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
  354. package/build/dist/Types/Monitor/MonitorType.js +15 -5
  355. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  356. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
  357. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
  358. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
  359. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
  360. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
  361. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
  362. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
  363. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  364. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
  365. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
  366. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  367. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  368. package/build/dist/Types/Permission.js +409 -0
  369. package/build/dist/Types/Permission.js.map +1 -1
  370. package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
  371. package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
  372. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
  373. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
  374. package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
  375. package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
  376. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
  377. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
  378. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  379. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  380. package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
  381. package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
  382. package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
  383. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  384. package/build/dist/UI/Components/List/List.js +1 -1
  385. package/build/dist/UI/Components/List/List.js.map +1 -1
  386. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
  387. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  388. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
  389. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
  390. package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
  391. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  392. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
  393. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  394. package/build/dist/UI/Utils/Navigation.js +9 -0
  395. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  396. package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
  397. package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
  398. package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
  399. package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
  400. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
  401. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
  402. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  403. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  404. package/build/dist/Utils/IpCanonicalUtil.js +110 -0
  405. package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
  406. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
  407. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
  408. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
  409. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  410. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
  411. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
  412. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
  413. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
  414. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
  415. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
  416. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
  417. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
  418. package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
  419. package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
  420. package/build/dist/Utils/Slo/SloUtil.js +393 -0
  421. package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
  422. package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
  423. package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
  424. package/package.json +2 -2
  425. package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
  426. package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
  427. package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
@@ -10,6 +10,7 @@ export enum PermissionGroup {
10
10
  Incident = "Incident",
11
11
  Alert = "Alert",
12
12
  Monitor = "Monitor",
13
+ SLO = "SLO",
13
14
  StatusPage = "Status Page",
14
15
  ScheduledMaintenance = "Scheduled Maintenance",
15
16
  OnCallDutyPolicy = "On-Call Duty Policy",
@@ -1188,6 +1189,36 @@ enum Permission {
1188
1189
  EditNetworkDeviceDiscoveryScan = "EditNetworkDeviceDiscoveryScan",
1189
1190
  ReadNetworkDeviceDiscoveryScan = "ReadNetworkDeviceDiscoveryScan",
1190
1191
 
1192
+ CreateNetworkSite = "CreateNetworkSite",
1193
+ DeleteNetworkSite = "DeleteNetworkSite",
1194
+ EditNetworkSite = "EditNetworkSite",
1195
+ ReadNetworkSite = "ReadNetworkSite",
1196
+
1197
+ CreateNetworkSiteType = "CreateNetworkSiteType",
1198
+ DeleteNetworkSiteType = "DeleteNetworkSiteType",
1199
+ EditNetworkSiteType = "EditNetworkSiteType",
1200
+ ReadNetworkSiteType = "ReadNetworkSiteType",
1201
+
1202
+ CreateNetworkEndpoint = "CreateNetworkEndpoint",
1203
+ DeleteNetworkEndpoint = "DeleteNetworkEndpoint",
1204
+ EditNetworkEndpoint = "EditNetworkEndpoint",
1205
+ ReadNetworkEndpoint = "ReadNetworkEndpoint",
1206
+
1207
+ CreateNetworkSiteStatusTimeline = "CreateNetworkSiteStatusTimeline",
1208
+ DeleteNetworkSiteStatusTimeline = "DeleteNetworkSiteStatusTimeline",
1209
+ EditNetworkSiteStatusTimeline = "EditNetworkSiteStatusTimeline",
1210
+ ReadNetworkSiteStatusTimeline = "ReadNetworkSiteStatusTimeline",
1211
+
1212
+ CreateNetworkSiteLink = "CreateNetworkSiteLink",
1213
+ DeleteNetworkSiteLink = "DeleteNetworkSiteLink",
1214
+ EditNetworkSiteLink = "EditNetworkSiteLink",
1215
+ ReadNetworkSiteLink = "ReadNetworkSiteLink",
1216
+
1217
+ CreateNetworkSiteAssignmentRule = "CreateNetworkSiteAssignmentRule",
1218
+ DeleteNetworkSiteAssignmentRule = "DeleteNetworkSiteAssignmentRule",
1219
+ EditNetworkSiteAssignmentRule = "EditNetworkSiteAssignmentRule",
1220
+ ReadNetworkSiteAssignmentRule = "ReadNetworkSiteAssignmentRule",
1221
+
1191
1222
  CreatePodmanHost = "CreatePodmanHost",
1192
1223
  DeletePodmanHost = "DeletePodmanHost",
1193
1224
  EditPodmanHost = "EditPodmanHost",
@@ -1642,6 +1673,30 @@ enum Permission {
1642
1673
  EditIncidentSla = "EditIncidentSla",
1643
1674
  ReadIncidentSla = "ReadIncidentSla",
1644
1675
 
1676
+ // Service Level Objective Permissions
1677
+ CreateServiceLevelObjective = "CreateServiceLevelObjective",
1678
+ DeleteServiceLevelObjective = "DeleteServiceLevelObjective",
1679
+ EditServiceLevelObjective = "EditServiceLevelObjective",
1680
+ ReadServiceLevelObjective = "ReadServiceLevelObjective",
1681
+
1682
+ // Service Level Objective Burn Rate Rule Permissions
1683
+ CreateServiceLevelObjectiveBurnRateRule = "CreateServiceLevelObjectiveBurnRateRule",
1684
+ DeleteServiceLevelObjectiveBurnRateRule = "DeleteServiceLevelObjectiveBurnRateRule",
1685
+ EditServiceLevelObjectiveBurnRateRule = "EditServiceLevelObjectiveBurnRateRule",
1686
+ ReadServiceLevelObjectiveBurnRateRule = "ReadServiceLevelObjectiveBurnRateRule",
1687
+
1688
+ // Service Level Objective Owner User Permissions
1689
+ CreateServiceLevelObjectiveOwnerUser = "CreateServiceLevelObjectiveOwnerUser",
1690
+ DeleteServiceLevelObjectiveOwnerUser = "DeleteServiceLevelObjectiveOwnerUser",
1691
+ EditServiceLevelObjectiveOwnerUser = "EditServiceLevelObjectiveOwnerUser",
1692
+ ReadServiceLevelObjectiveOwnerUser = "ReadServiceLevelObjectiveOwnerUser",
1693
+
1694
+ // Service Level Objective Owner Team Permissions
1695
+ CreateServiceLevelObjectiveOwnerTeam = "CreateServiceLevelObjectiveOwnerTeam",
1696
+ DeleteServiceLevelObjectiveOwnerTeam = "DeleteServiceLevelObjectiveOwnerTeam",
1697
+ EditServiceLevelObjectiveOwnerTeam = "EditServiceLevelObjectiveOwnerTeam",
1698
+ ReadServiceLevelObjectiveOwnerTeam = "ReadServiceLevelObjectiveOwnerTeam",
1699
+
1645
1700
  /*
1646
1701
  * Wildcard permissions covering all models marked @OperationalResource().
1647
1702
  * These short-circuit table-level checks for that resource class. Scope on
@@ -7573,6 +7628,242 @@ export class PermissionHelper {
7573
7628
  isRolePermission: false,
7574
7629
  group: PermissionGroup.Monitor,
7575
7630
  },
7631
+ {
7632
+ permission: Permission.CreateNetworkSite,
7633
+ title: "Create Network Site",
7634
+ description: "This permission can create Network Site in this project.",
7635
+ isAssignableToTenant: true,
7636
+ isAccessControlPermission: false,
7637
+ isRolePermission: false,
7638
+ group: PermissionGroup.Monitor,
7639
+ },
7640
+ {
7641
+ permission: Permission.DeleteNetworkSite,
7642
+ title: "Delete Network Site",
7643
+ description: "This permission can delete Network Site of this project.",
7644
+ isAssignableToTenant: true,
7645
+ isAccessControlPermission: true,
7646
+ isRolePermission: false,
7647
+ group: PermissionGroup.Monitor,
7648
+ },
7649
+ {
7650
+ permission: Permission.EditNetworkSite,
7651
+ title: "Edit Network Site",
7652
+ description: "This permission can edit Network Site of this project.",
7653
+ isAssignableToTenant: true,
7654
+ isAccessControlPermission: true,
7655
+ isRolePermission: false,
7656
+ group: PermissionGroup.Monitor,
7657
+ },
7658
+ {
7659
+ permission: Permission.ReadNetworkSite,
7660
+ title: "Read Network Site",
7661
+ description: "This permission can read Network Site of this project.",
7662
+ isAssignableToTenant: true,
7663
+ isAccessControlPermission: true,
7664
+ isRolePermission: false,
7665
+ group: PermissionGroup.Monitor,
7666
+ },
7667
+ {
7668
+ permission: Permission.CreateNetworkSiteType,
7669
+ title: "Create Network Site Type",
7670
+ description:
7671
+ "This permission can create Network Site Type in this project.",
7672
+ isAssignableToTenant: true,
7673
+ isAccessControlPermission: false,
7674
+ isRolePermission: false,
7675
+ group: PermissionGroup.Monitor,
7676
+ },
7677
+ {
7678
+ permission: Permission.DeleteNetworkSiteType,
7679
+ title: "Delete Network Site Type",
7680
+ description:
7681
+ "This permission can delete Network Site Type of this project.",
7682
+ isAssignableToTenant: true,
7683
+ isAccessControlPermission: true,
7684
+ isRolePermission: false,
7685
+ group: PermissionGroup.Monitor,
7686
+ },
7687
+ {
7688
+ permission: Permission.EditNetworkSiteType,
7689
+ title: "Edit Network Site Type",
7690
+ description:
7691
+ "This permission can edit Network Site Type of this project.",
7692
+ isAssignableToTenant: true,
7693
+ isAccessControlPermission: true,
7694
+ isRolePermission: false,
7695
+ group: PermissionGroup.Monitor,
7696
+ },
7697
+ {
7698
+ permission: Permission.ReadNetworkSiteType,
7699
+ title: "Read Network Site Type",
7700
+ description:
7701
+ "This permission can read Network Site Type of this project.",
7702
+ isAssignableToTenant: true,
7703
+ isAccessControlPermission: true,
7704
+ isRolePermission: false,
7705
+ group: PermissionGroup.Monitor,
7706
+ },
7707
+ {
7708
+ permission: Permission.CreateNetworkEndpoint,
7709
+ title: "Create Network Endpoint",
7710
+ description:
7711
+ "This permission can create Network Endpoint in this project.",
7712
+ isAssignableToTenant: true,
7713
+ isAccessControlPermission: false,
7714
+ isRolePermission: false,
7715
+ group: PermissionGroup.Monitor,
7716
+ },
7717
+ {
7718
+ permission: Permission.DeleteNetworkEndpoint,
7719
+ title: "Delete Network Endpoint",
7720
+ description:
7721
+ "This permission can delete Network Endpoint of this project.",
7722
+ isAssignableToTenant: true,
7723
+ isAccessControlPermission: true,
7724
+ isRolePermission: false,
7725
+ group: PermissionGroup.Monitor,
7726
+ },
7727
+ {
7728
+ permission: Permission.EditNetworkEndpoint,
7729
+ title: "Edit Network Endpoint",
7730
+ description:
7731
+ "This permission can edit Network Endpoint of this project.",
7732
+ isAssignableToTenant: true,
7733
+ isAccessControlPermission: true,
7734
+ isRolePermission: false,
7735
+ group: PermissionGroup.Monitor,
7736
+ },
7737
+ {
7738
+ permission: Permission.ReadNetworkEndpoint,
7739
+ title: "Read Network Endpoint",
7740
+ description:
7741
+ "This permission can read Network Endpoint of this project.",
7742
+ isAssignableToTenant: true,
7743
+ isAccessControlPermission: true,
7744
+ isRolePermission: false,
7745
+ group: PermissionGroup.Monitor,
7746
+ },
7747
+ {
7748
+ permission: Permission.CreateNetworkSiteStatusTimeline,
7749
+ title: "Create Network Site Status Timeline",
7750
+ description:
7751
+ "This permission can create Network Site Status Timeline in this project.",
7752
+ isAssignableToTenant: true,
7753
+ isAccessControlPermission: false,
7754
+ isRolePermission: false,
7755
+ group: PermissionGroup.Monitor,
7756
+ },
7757
+ {
7758
+ permission: Permission.DeleteNetworkSiteStatusTimeline,
7759
+ title: "Delete Network Site Status Timeline",
7760
+ description:
7761
+ "This permission can delete Network Site Status Timeline of this project.",
7762
+ isAssignableToTenant: true,
7763
+ isAccessControlPermission: true,
7764
+ isRolePermission: false,
7765
+ group: PermissionGroup.Monitor,
7766
+ },
7767
+ {
7768
+ permission: Permission.EditNetworkSiteStatusTimeline,
7769
+ title: "Edit Network Site Status Timeline",
7770
+ description:
7771
+ "This permission can edit Network Site Status Timeline of this project.",
7772
+ isAssignableToTenant: true,
7773
+ isAccessControlPermission: true,
7774
+ isRolePermission: false,
7775
+ group: PermissionGroup.Monitor,
7776
+ },
7777
+ {
7778
+ permission: Permission.ReadNetworkSiteStatusTimeline,
7779
+ title: "Read Network Site Status Timeline",
7780
+ description:
7781
+ "This permission can read Network Site Status Timeline of this project.",
7782
+ isAssignableToTenant: true,
7783
+ isAccessControlPermission: true,
7784
+ isRolePermission: false,
7785
+ group: PermissionGroup.Monitor,
7786
+ },
7787
+ {
7788
+ permission: Permission.CreateNetworkSiteLink,
7789
+ title: "Create Network Site Link",
7790
+ description:
7791
+ "This permission can create Network Site Link in this project.",
7792
+ isAssignableToTenant: true,
7793
+ isAccessControlPermission: false,
7794
+ isRolePermission: false,
7795
+ group: PermissionGroup.Monitor,
7796
+ },
7797
+ {
7798
+ permission: Permission.DeleteNetworkSiteLink,
7799
+ title: "Delete Network Site Link",
7800
+ description:
7801
+ "This permission can delete Network Site Link of this project.",
7802
+ isAssignableToTenant: true,
7803
+ isAccessControlPermission: true,
7804
+ isRolePermission: false,
7805
+ group: PermissionGroup.Monitor,
7806
+ },
7807
+ {
7808
+ permission: Permission.EditNetworkSiteLink,
7809
+ title: "Edit Network Site Link",
7810
+ description:
7811
+ "This permission can edit Network Site Link of this project.",
7812
+ isAssignableToTenant: true,
7813
+ isAccessControlPermission: true,
7814
+ isRolePermission: false,
7815
+ group: PermissionGroup.Monitor,
7816
+ },
7817
+ {
7818
+ permission: Permission.ReadNetworkSiteLink,
7819
+ title: "Read Network Site Link",
7820
+ description:
7821
+ "This permission can read Network Site Link of this project.",
7822
+ isAssignableToTenant: true,
7823
+ isAccessControlPermission: true,
7824
+ isRolePermission: false,
7825
+ group: PermissionGroup.Monitor,
7826
+ },
7827
+ {
7828
+ permission: Permission.CreateNetworkSiteAssignmentRule,
7829
+ title: "Create Network Site Assignment Rule",
7830
+ description:
7831
+ "This permission can create Network Site Assignment Rule in this project.",
7832
+ isAssignableToTenant: true,
7833
+ isAccessControlPermission: false,
7834
+ isRolePermission: false,
7835
+ group: PermissionGroup.Monitor,
7836
+ },
7837
+ {
7838
+ permission: Permission.DeleteNetworkSiteAssignmentRule,
7839
+ title: "Delete Network Site Assignment Rule",
7840
+ description:
7841
+ "This permission can delete Network Site Assignment Rule of this project.",
7842
+ isAssignableToTenant: true,
7843
+ isAccessControlPermission: true,
7844
+ isRolePermission: false,
7845
+ group: PermissionGroup.Monitor,
7846
+ },
7847
+ {
7848
+ permission: Permission.EditNetworkSiteAssignmentRule,
7849
+ title: "Edit Network Site Assignment Rule",
7850
+ description:
7851
+ "This permission can edit Network Site Assignment Rule of this project.",
7852
+ isAssignableToTenant: true,
7853
+ isAccessControlPermission: true,
7854
+ isRolePermission: false,
7855
+ group: PermissionGroup.Monitor,
7856
+ },
7857
+ {
7858
+ permission: Permission.ReadNetworkSiteAssignmentRule,
7859
+ title: "Read Network Site Assignment Rule",
7860
+ description:
7861
+ "This permission can read Network Site Assignment Rule of this project.",
7862
+ isAssignableToTenant: true,
7863
+ isAccessControlPermission: true,
7864
+ isRolePermission: false,
7865
+ group: PermissionGroup.Monitor,
7866
+ },
7576
7867
  {
7577
7868
  permission: Permission.CreatePodmanHost,
7578
7869
  title: "Create Podman Host",
@@ -13818,6 +14109,164 @@ export class PermissionHelper {
13818
14109
  group: PermissionGroup.Incident,
13819
14110
  },
13820
14111
 
14112
+ // Service Level Objective Permissions
14113
+ {
14114
+ permission: Permission.CreateServiceLevelObjective,
14115
+ title: "Create Service Level Objective",
14116
+ description:
14117
+ "Permission to create Service Level Objectives (SLOs) in this project.",
14118
+ isAssignableToTenant: true,
14119
+ isAccessControlPermission: false,
14120
+ isRolePermission: false,
14121
+ group: PermissionGroup.SLO,
14122
+ },
14123
+ {
14124
+ permission: Permission.DeleteServiceLevelObjective,
14125
+ title: "Delete Service Level Objective",
14126
+ description:
14127
+ "Permission to delete Service Level Objectives (SLOs) of this project.",
14128
+ isAssignableToTenant: true,
14129
+ isAccessControlPermission: true,
14130
+ isRolePermission: false,
14131
+ group: PermissionGroup.SLO,
14132
+ },
14133
+ {
14134
+ permission: Permission.EditServiceLevelObjective,
14135
+ title: "Edit Service Level Objective",
14136
+ description:
14137
+ "Permission to edit Service Level Objectives (SLOs) of this project.",
14138
+ isAssignableToTenant: true,
14139
+ isAccessControlPermission: true,
14140
+ isRolePermission: false,
14141
+ group: PermissionGroup.SLO,
14142
+ },
14143
+ {
14144
+ permission: Permission.ReadServiceLevelObjective,
14145
+ title: "Read Service Level Objective",
14146
+ description:
14147
+ "Permission to read Service Level Objectives (SLOs) of this project.",
14148
+ isAssignableToTenant: true,
14149
+ isAccessControlPermission: true,
14150
+ isRolePermission: false,
14151
+ group: PermissionGroup.SLO,
14152
+ },
14153
+
14154
+ // Service Level Objective Burn Rate Rule Permissions
14155
+ {
14156
+ permission: Permission.CreateServiceLevelObjectiveBurnRateRule,
14157
+ title: "Create SLO Burn Rate Rule",
14158
+ description:
14159
+ "Permission to create SLO Burn Rate Rules in this project.",
14160
+ isAssignableToTenant: true,
14161
+ isAccessControlPermission: false,
14162
+ isRolePermission: false,
14163
+ group: PermissionGroup.SLO,
14164
+ },
14165
+ {
14166
+ permission: Permission.DeleteServiceLevelObjectiveBurnRateRule,
14167
+ title: "Delete SLO Burn Rate Rule",
14168
+ description:
14169
+ "Permission to delete SLO Burn Rate Rules of this project.",
14170
+ isAssignableToTenant: true,
14171
+ isAccessControlPermission: false,
14172
+ isRolePermission: false,
14173
+ group: PermissionGroup.SLO,
14174
+ },
14175
+ {
14176
+ permission: Permission.EditServiceLevelObjectiveBurnRateRule,
14177
+ title: "Edit SLO Burn Rate Rule",
14178
+ description: "Permission to edit SLO Burn Rate Rules of this project.",
14179
+ isAssignableToTenant: true,
14180
+ isAccessControlPermission: false,
14181
+ isRolePermission: false,
14182
+ group: PermissionGroup.SLO,
14183
+ },
14184
+ {
14185
+ permission: Permission.ReadServiceLevelObjectiveBurnRateRule,
14186
+ title: "Read SLO Burn Rate Rule",
14187
+ description: "Permission to read SLO Burn Rate Rules of this project.",
14188
+ isAssignableToTenant: true,
14189
+ isAccessControlPermission: false,
14190
+ isRolePermission: false,
14191
+ group: PermissionGroup.SLO,
14192
+ },
14193
+
14194
+ // Service Level Objective Owner User Permissions
14195
+ {
14196
+ permission: Permission.CreateServiceLevelObjectiveOwnerUser,
14197
+ title: "Create SLO User Owner",
14198
+ description: "Permission to create SLO User Owners in this project.",
14199
+ isAssignableToTenant: true,
14200
+ isAccessControlPermission: false,
14201
+ isRolePermission: false,
14202
+ group: PermissionGroup.SLO,
14203
+ },
14204
+ {
14205
+ permission: Permission.DeleteServiceLevelObjectiveOwnerUser,
14206
+ title: "Delete SLO User Owner",
14207
+ description: "Permission to delete SLO User Owners of this project.",
14208
+ isAssignableToTenant: true,
14209
+ isAccessControlPermission: false,
14210
+ isRolePermission: false,
14211
+ group: PermissionGroup.SLO,
14212
+ },
14213
+ {
14214
+ permission: Permission.EditServiceLevelObjectiveOwnerUser,
14215
+ title: "Edit SLO User Owner",
14216
+ description: "Permission to edit SLO User Owners of this project.",
14217
+ isAssignableToTenant: true,
14218
+ isAccessControlPermission: false,
14219
+ isRolePermission: false,
14220
+ group: PermissionGroup.SLO,
14221
+ },
14222
+ {
14223
+ permission: Permission.ReadServiceLevelObjectiveOwnerUser,
14224
+ title: "Read SLO User Owner",
14225
+ description: "Permission to read SLO User Owners of this project.",
14226
+ isAssignableToTenant: true,
14227
+ isAccessControlPermission: false,
14228
+ isRolePermission: false,
14229
+ group: PermissionGroup.SLO,
14230
+ },
14231
+
14232
+ // Service Level Objective Owner Team Permissions
14233
+ {
14234
+ permission: Permission.CreateServiceLevelObjectiveOwnerTeam,
14235
+ title: "Create SLO Team Owner",
14236
+ description: "Permission to create SLO Team Owners in this project.",
14237
+ isAssignableToTenant: true,
14238
+ isAccessControlPermission: false,
14239
+ isRolePermission: false,
14240
+ group: PermissionGroup.SLO,
14241
+ },
14242
+ {
14243
+ permission: Permission.DeleteServiceLevelObjectiveOwnerTeam,
14244
+ title: "Delete SLO Team Owner",
14245
+ description: "Permission to delete SLO Team Owners of this project.",
14246
+ isAssignableToTenant: true,
14247
+ isAccessControlPermission: false,
14248
+ isRolePermission: false,
14249
+ group: PermissionGroup.SLO,
14250
+ },
14251
+ {
14252
+ permission: Permission.EditServiceLevelObjectiveOwnerTeam,
14253
+ title: "Edit SLO Team Owner",
14254
+ description: "Permission to edit SLO Team Owners of this project.",
14255
+ isAssignableToTenant: true,
14256
+ isAccessControlPermission: false,
14257
+ isRolePermission: false,
14258
+ group: PermissionGroup.SLO,
14259
+ },
14260
+ {
14261
+ permission: Permission.ReadServiceLevelObjectiveOwnerTeam,
14262
+ title: "Read SLO Team Owner",
14263
+ description: "Permission to read SLO Team Owners of this project.",
14264
+ isAssignableToTenant: true,
14265
+ isAccessControlPermission: false,
14266
+ isRolePermission: false,
14267
+ group: PermissionGroup.SLO,
14268
+ },
14269
+
13821
14270
  // Operational Resource Wildcard Permissions
13822
14271
  {
13823
14272
  permission: Permission.ReadAllOperationalResources,
@@ -0,0 +1,6 @@
1
+ enum SliType {
2
+ MonitorUptime = "Monitor Uptime",
3
+ Metric = "Metric",
4
+ }
5
+
6
+ export default SliType;
@@ -0,0 +1,6 @@
1
+ enum SloMultiMonitorMode {
2
+ AnyDown = "Any Monitor Down",
3
+ MonitorSecondsAverage = "Monitor Seconds Average",
4
+ }
5
+
6
+ export default SloMultiMonitorMode;
@@ -0,0 +1,9 @@
1
+ enum SloStatus {
2
+ Healthy = "Healthy",
3
+ AtRisk = "At Risk",
4
+ BudgetExhausted = "Budget Exhausted",
5
+ Misconfigured = "Misconfigured",
6
+ Paused = "Paused",
7
+ }
8
+
9
+ export default SloStatus;
@@ -0,0 +1,6 @@
1
+ enum SloWindowType {
2
+ Rolling = "Rolling",
3
+ CalendarMonth = "Calendar Month",
4
+ }
5
+
6
+ export default SloWindowType;
@@ -9,6 +9,7 @@
9
9
  enum ServiceType {
10
10
  OpenTelemetry = "OpenTelemetry",
11
11
  Monitor = "Monitor",
12
+ NetworkDevice = "NetworkDevice",
12
13
  Alert = "Alert",
13
14
  Incident = "Incident",
14
15
  Host = "Host",
@@ -97,6 +97,22 @@ const detectSingleState: DetectStateFunction = (
97
97
  if (rawValue instanceof NotNull) {
98
98
  return { operator: FilterOperator.IsNotEmpty, values: [] };
99
99
  }
100
+ /*
101
+ * The mirror image of `buildSingleValue`'s "is not" case, which encodes the
102
+ * operator as a single-item IncludesNone. Without this the dropdown lost the
103
+ * operator (and its value) on every remount — which is every Back
104
+ * navigation and every shared link.
105
+ */
106
+ if (rawValue instanceof IncludesNone) {
107
+ const values: Array<string> = (rawValue.values || []).map((v: unknown) => {
108
+ return v!.toString();
109
+ });
110
+
111
+ return {
112
+ operator: FilterOperator.IsNot,
113
+ values: values.length > 0 ? [values[0] as string] : [],
114
+ };
115
+ }
100
116
  if (typeof rawValue === "string" && rawValue) {
101
117
  return { operator: FilterOperator.Is, values: [rawValue] };
102
118
  }
@@ -466,10 +466,27 @@ const FilterComponent: FilterComponentFunction = <T extends GenericObject>(
466
466
  items = rawValue.values as Array<string>;
467
467
  } else if (Array.isArray(rawValue)) {
468
468
  items = rawValue as Array<string>;
469
- } else if (typeof rawValue === "string") {
470
- items = [rawValue];
469
+ } else if (
470
+ typeof rawValue === "string" ||
471
+ typeof rawValue === "number" ||
472
+ typeof rawValue === "boolean"
473
+ ) {
474
+ /*
475
+ * Not every dropdown value is a string — enum-backed and boolean
476
+ * dropdowns store their raw value, and those used to match none of
477
+ * the branches above and render no chip at all.
478
+ */
479
+ items = [rawValue.toString()];
471
480
  }
472
481
 
482
+ /*
483
+ * Resolve ids to their human label where we can. When we cannot, fall
484
+ * back to the raw value instead of dropping the chip: the options list
485
+ * is fetched lazily, so a filter restored from the URL is live on the
486
+ * query *before* its labels exist. Returning null there left the user
487
+ * looking at a filtered table with nothing to explain it and no
488
+ * "Clear Filters" button to escape it.
489
+ */
473
490
  const entityNames: string = items
474
491
  .map((item: string) => {
475
492
  const entity: DropdownOption | undefined =
@@ -481,10 +498,10 @@ const FilterComponent: FilterComponentFunction = <T extends GenericObject>(
481
498
  if (entity) {
482
499
  return entity.label.toString();
483
500
  }
484
- return null;
501
+ return item.toString();
485
502
  })
486
- .filter((name: string | null) => {
487
- return name !== null;
503
+ .filter((name: string) => {
504
+ return name !== "";
488
505
  })
489
506
  .join(", ");
490
507
 
@@ -45,6 +45,13 @@ export interface ComponentProps<T extends GenericObject> {
45
45
  showFilterModal?: undefined | boolean;
46
46
  filterError?: string | undefined;
47
47
  onFilterChanged?: undefined | ((filterData: FilterData<T>) => void);
48
+ /*
49
+ * The active filter selections. Without this the list's FilterViewer
50
+ * always fell back to `{}` and rendered no chips, so a filtered list
51
+ * (including one restored from the URL) gave the user nothing to see or
52
+ * clear.
53
+ */
54
+ filterData?: FilterData<T> | undefined;
48
55
  onFilterRefreshClick?: undefined | (() => void);
49
56
  onFilterModalClose?: (() => void) | undefined;
50
57
  onFilterModalOpen?: (() => void) | undefined;
@@ -118,6 +125,7 @@ const List: ListFunction = <T extends GenericObject>(
118
125
  filterError={props.filterError}
119
126
  onFilterRefreshClick={props.onFilterRefreshClick}
120
127
  filters={props.filters || []}
128
+ filterData={props.filterData}
121
129
  onFilterModalClose={() => {
122
130
  props.onFilterModalClose?.();
123
131
  }}