@oneuptime/common 11.6.1 → 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 (397) hide show
  1. package/Models/AnalyticsModels/Index.ts +4 -0
  2. package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
  3. package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
  4. package/Models/AnalyticsModels/SloHistory.ts +240 -0
  5. package/Models/DatabaseModels/Index.ts +20 -0
  6. package/Models/DatabaseModels/NetworkDevice.ts +453 -6
  7. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
  8. package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
  9. package/Models/DatabaseModels/NetworkSite.ts +1155 -0
  10. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
  11. package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
  12. package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
  13. package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
  14. package/Models/DatabaseModels/ServiceLevelObjective.ts +1106 -0
  15. package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
  16. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
  17. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  24. package/Server/Services/AnalyticsDatabaseService.ts +25 -9
  25. package/Server/Services/Index.ts +24 -0
  26. package/Server/Services/KubernetesCostAllocationService.ts +14 -0
  27. package/Server/Services/MetricService.ts +21 -2
  28. package/Server/Services/MonitorService.ts +22 -0
  29. package/Server/Services/NetworkDeviceService.ts +438 -2
  30. package/Server/Services/NetworkEndpointService.ts +414 -0
  31. package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
  32. package/Server/Services/NetworkSiteLinkService.ts +10 -0
  33. package/Server/Services/NetworkSiteService.ts +1254 -0
  34. package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
  35. package/Server/Services/NetworkSiteTypeService.ts +10 -0
  36. package/Server/Services/ProjectService.ts +122 -2
  37. package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
  38. package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
  39. package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
  40. package/Server/Services/ServiceLevelObjectiveService.ts +677 -0
  41. package/Server/Services/SloHistoryService.ts +101 -0
  42. package/Server/Services/UserNotificationSettingService.ts +37 -0
  43. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
  44. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
  45. package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
  46. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +87 -48
  47. package/Server/Utils/Memory.ts +9 -1
  48. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
  49. package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  50. package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
  51. package/Server/Utils/Monitor/MonitorResource.ts +4 -30
  52. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
  53. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
  54. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
  55. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
  56. package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
  57. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
  58. package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
  59. package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
  60. package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
  61. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
  62. package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
  63. package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
  64. package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
  65. package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
  66. package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
  67. package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
  68. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
  69. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
  70. package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
  71. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +404 -0
  72. package/Tests/Server/Utils/Encryption.test.ts +70 -0
  73. package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
  74. package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
  75. package/Tests/Server/Utils/LocalFile.test.ts +258 -0
  76. package/Tests/Server/Utils/Memory.test.ts +213 -0
  77. package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
  78. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
  79. package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
  80. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
  81. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
  82. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
  83. package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
  84. package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
  85. package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
  86. package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
  87. package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
  88. package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
  89. package/Tests/Server/Utils/Stream.test.ts +87 -0
  90. package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
  91. package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
  92. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
  93. package/Tests/Types/Email.test.ts +198 -0
  94. package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
  95. package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
  96. package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
  97. package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
  98. package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
  99. package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
  100. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
  101. package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
  102. package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
  103. package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
  104. package/Tests/Types/WebsiteRequest.test.ts +230 -0
  105. package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
  106. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
  107. package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
  108. package/Tests/UI/Utils/LogExport.test.ts +159 -0
  109. package/Tests/UI/Utils/Navigation.test.ts +183 -0
  110. package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
  111. package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
  112. package/Tests/Utils/Base64.test.ts +51 -0
  113. package/Tests/Utils/Boolean.test.ts +76 -0
  114. package/Tests/Utils/Crypto.test.ts +48 -0
  115. package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
  116. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
  117. package/Tests/Utils/Enum.test.ts +54 -0
  118. package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
  119. package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
  120. package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
  121. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
  122. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
  123. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
  124. package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
  125. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
  126. package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
  127. package/Tests/Utils/ObjectUtil.test.ts +30 -0
  128. package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
  129. package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
  130. package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
  131. package/Tests/Utils/TechStack.test.ts +50 -0
  132. package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
  133. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
  134. package/Types/BaseDatabase/EqualTo.ts +9 -1
  135. package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
  136. package/Types/BaseDatabase/NotEqual.ts +9 -1
  137. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  138. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  139. package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
  140. package/Types/Dashboard/DashboardTemplates.ts +214 -0
  141. package/Types/Email/EmailTemplateType.ts +2 -0
  142. package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
  143. package/Types/Monitor/CriteriaFilter.ts +9 -0
  144. package/Types/Monitor/MonitorStep.ts +5 -8
  145. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
  146. package/Types/Monitor/MonitorType.ts +15 -5
  147. package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
  148. package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
  149. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
  150. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
  151. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
  152. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
  153. package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
  154. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  155. package/Types/Permission.ts +449 -0
  156. package/Types/ServiceLevelObjective/SliType.ts +6 -0
  157. package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
  158. package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
  159. package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
  160. package/Types/Telemetry/ServiceType.ts +1 -0
  161. package/UI/Components/Filters/EntityFilter.tsx +16 -0
  162. package/UI/Components/Filters/FilterViewer.tsx +22 -5
  163. package/UI/Components/List/List.tsx +8 -0
  164. package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
  165. package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
  166. package/UI/Components/Navbar/NavBar.tsx +16 -2
  167. package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
  168. package/UI/Utils/Navigation.ts +10 -0
  169. package/UI/Utils/TableFilterUrlState.ts +204 -17
  170. package/UI/Utils/TableViewUrlState.ts +165 -0
  171. package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
  172. package/Utils/Dashboard/Components/Index.ts +7 -0
  173. package/Utils/IpCanonicalUtil.ts +134 -0
  174. package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
  175. package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
  176. package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
  177. package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
  178. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
  179. package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
  180. package/Utils/Slo/SloStatusColor.ts +54 -0
  181. package/Utils/Slo/SloUtil.ts +637 -0
  182. package/Utils/Slo/SloWidgetFormat.ts +383 -0
  183. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  184. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  185. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
  186. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
  187. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
  188. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  189. package/build/dist/Models/AnalyticsModels/SloHistory.js +215 -0
  190. package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
  191. package/build/dist/Models/DatabaseModels/Index.js +20 -0
  192. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
  194. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  195. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
  196. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  197. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
  198. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
  199. package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
  200. package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
  201. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
  202. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
  203. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
  204. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
  205. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
  206. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
  207. package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
  208. package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
  209. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1124 -0
  210. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
  211. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
  212. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
  213. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
  214. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
  215. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
  216. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
  217. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
  224. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
  225. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
  226. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
  227. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  228. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  229. package/build/dist/Server/Services/AnalyticsDatabaseService.js +23 -6
  230. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  231. package/build/dist/Server/Services/Index.js +24 -0
  232. package/build/dist/Server/Services/Index.js.map +1 -1
  233. package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
  234. package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
  235. package/build/dist/Server/Services/MetricService.js +21 -3
  236. package/build/dist/Server/Services/MetricService.js.map +1 -1
  237. package/build/dist/Server/Services/MonitorService.js +19 -0
  238. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  239. package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
  240. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  241. package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
  242. package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
  243. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
  244. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
  245. package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
  246. package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
  247. package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
  248. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
  249. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
  250. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
  251. package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
  252. package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
  253. package/build/dist/Server/Services/ProjectService.js +98 -2
  254. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  255. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
  256. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
  257. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
  258. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
  259. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
  260. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
  261. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +582 -0
  262. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
  263. package/build/dist/Server/Services/SloHistoryService.js +77 -0
  264. package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
  265. package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
  266. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  267. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
  268. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  269. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
  270. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  271. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
  272. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  273. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +76 -48
  274. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  275. package/build/dist/Server/Utils/Memory.js +9 -1
  276. package/build/dist/Server/Utils/Memory.js.map +1 -1
  277. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
  278. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  279. package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  280. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
  281. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
  282. package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
  283. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  284. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
  285. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  286. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
  287. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
  288. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
  289. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
  290. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
  291. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  292. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
  293. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
  294. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
  295. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
  296. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
  297. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  298. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
  299. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  300. package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
  301. package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
  302. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
  303. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  304. package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
  305. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  306. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  307. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  308. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  309. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  310. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
  311. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
  312. package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
  313. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  314. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  315. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  316. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
  317. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
  318. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
  319. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  320. package/build/dist/Types/Monitor/MonitorStep.js +5 -5
  321. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  322. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
  323. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
  324. package/build/dist/Types/Monitor/MonitorType.js +15 -5
  325. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  326. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
  327. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
  328. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
  329. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
  330. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
  331. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
  332. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
  333. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  334. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
  335. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
  336. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  337. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  338. package/build/dist/Types/Permission.js +409 -0
  339. package/build/dist/Types/Permission.js.map +1 -1
  340. package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
  341. package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
  342. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
  343. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
  344. package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
  345. package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
  346. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
  347. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
  348. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  349. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  350. package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
  351. package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
  352. package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
  353. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  354. package/build/dist/UI/Components/List/List.js +1 -1
  355. package/build/dist/UI/Components/List/List.js.map +1 -1
  356. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
  357. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  358. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
  359. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
  360. package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
  361. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  362. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
  363. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  364. package/build/dist/UI/Utils/Navigation.js +9 -0
  365. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  366. package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
  367. package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
  368. package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
  369. package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
  370. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
  371. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
  372. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  373. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  374. package/build/dist/Utils/IpCanonicalUtil.js +110 -0
  375. package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
  376. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
  377. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
  378. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
  379. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  380. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
  381. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
  382. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
  383. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
  384. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
  385. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
  386. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
  387. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
  388. package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
  389. package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
  390. package/build/dist/Utils/Slo/SloUtil.js +393 -0
  391. package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
  392. package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
  393. package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
  394. package/package.json +2 -2
  395. package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
  396. package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
  397. package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
@@ -0,0 +1,358 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import AlertStateTimeline from "../../Models/DatabaseModels/AlertStateTimeline";
11
+ import Model from "../../Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule";
12
+ import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
13
+ import BadDataException from "../../Types/Exception/BadDataException";
14
+ import logger from "../Utils/Logger";
15
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
16
+ import AlertService from "./AlertService";
17
+ import AlertStateTimelineService from "./AlertStateTimelineService";
18
+ import DatabaseService from "./DatabaseService";
19
+ const THRESHOLD_ERROR_MESSAGE = "Burn rate threshold must be greater than 0.";
20
+ const WINDOWS_REQUIRED_ERROR_MESSAGE = "Long window and short window are required for a burn rate rule.";
21
+ const WINDOWS_NOT_NUMERIC_ERROR_MESSAGE = "Long window and short window must be a number of minutes.";
22
+ export class Service extends DatabaseService {
23
+ constructor() {
24
+ super(Model);
25
+ }
26
+ /*
27
+ * Deterministic fingerprint carried on Alerts created by a burn rate rule.
28
+ * The evaluation worker sets this as `seriesFingerprint` when it fires an
29
+ * alert, and lifecycle hooks use it to find (and resolve) those alerts when
30
+ * the rule or its SLO goes away.
31
+ */
32
+ getBurnRateAlertFingerprint(data) {
33
+ return `slo:${data.serviceLevelObjectiveId.toString()}:burn-rule:${data.burnRateRuleId.toString()}`;
34
+ }
35
+ async onBeforeCreate(createBy) {
36
+ /*
37
+ * Every numeric column can arrive as a string: the dashboard's number
38
+ * fields hand Formik `e.target.value`, ModelForm copies it verbatim and
39
+ * BaseModel.fromJSON does not coerce Number/Decimal columns. Comparing
40
+ * those strings is lexicographic ("1440" <= "60" is true), so coerce
41
+ * first, then validate, then write the number back onto the payload so
42
+ * Postgres never sees a string either.
43
+ */
44
+ createBy.data.burnRateThreshold = this.validateBurnRateThreshold(createBy.data.burnRateThreshold);
45
+ if (createBy.data.longWindowInMinutes === undefined ||
46
+ createBy.data.longWindowInMinutes === null ||
47
+ createBy.data.shortWindowInMinutes === undefined ||
48
+ createBy.data.shortWindowInMinutes === null) {
49
+ throw new BadDataException(WINDOWS_REQUIRED_ERROR_MESSAGE);
50
+ }
51
+ const windows = this.validateWindows({
52
+ longWindowInMinutes: createBy.data.longWindowInMinutes,
53
+ shortWindowInMinutes: createBy.data.shortWindowInMinutes,
54
+ });
55
+ createBy.data.longWindowInMinutes = windows.longWindowInMinutes;
56
+ createBy.data.shortWindowInMinutes = windows.shortWindowInMinutes;
57
+ if (createBy.data.minimumSampleCount !== undefined &&
58
+ createBy.data.minimumSampleCount !== null) {
59
+ createBy.data.minimumSampleCount = this.validateMinimumSampleCount(createBy.data.minimumSampleCount);
60
+ }
61
+ if (createBy.data.refireSuppressionMinutes !== undefined &&
62
+ createBy.data.refireSuppressionMinutes !== null) {
63
+ createBy.data.refireSuppressionMinutes =
64
+ this.validateRefireSuppressionMinutes(createBy.data.refireSuppressionMinutes);
65
+ }
66
+ return {
67
+ createBy,
68
+ carryForward: null,
69
+ };
70
+ }
71
+ async onBeforeUpdate(updateBy) {
72
+ // Same string-arrival path as onBeforeCreate: coerce, validate, write back.
73
+ const newThreshold = updateBy.data.burnRateThreshold;
74
+ if (newThreshold !== undefined && newThreshold !== null) {
75
+ updateBy.data.burnRateThreshold =
76
+ this.validateBurnRateThreshold(newThreshold);
77
+ }
78
+ if (updateBy.data.minimumSampleCount !== undefined &&
79
+ updateBy.data.minimumSampleCount !== null) {
80
+ updateBy.data.minimumSampleCount = this.validateMinimumSampleCount(updateBy.data.minimumSampleCount);
81
+ }
82
+ if (updateBy.data.refireSuppressionMinutes !== undefined &&
83
+ updateBy.data.refireSuppressionMinutes !== null) {
84
+ updateBy.data.refireSuppressionMinutes =
85
+ this.validateRefireSuppressionMinutes(updateBy.data.refireSuppressionMinutes);
86
+ }
87
+ const newLongWindow = updateBy.data.longWindowInMinutes;
88
+ const newShortWindow = updateBy.data
89
+ .shortWindowInMinutes;
90
+ const isLongWindowUpdated = newLongWindow !== undefined && newLongWindow !== null;
91
+ const isShortWindowUpdated = newShortWindow !== undefined && newShortWindow !== null;
92
+ if (isLongWindowUpdated || isShortWindowUpdated) {
93
+ if (isLongWindowUpdated && isShortWindowUpdated) {
94
+ const windows = this.validateWindows({
95
+ longWindowInMinutes: newLongWindow,
96
+ shortWindowInMinutes: newShortWindow,
97
+ });
98
+ updateBy.data.longWindowInMinutes = windows.longWindowInMinutes;
99
+ updateBy.data.shortWindowInMinutes = windows.shortWindowInMinutes;
100
+ }
101
+ else {
102
+ /*
103
+ * Only one of the two windows is being updated. Coerce it up front so
104
+ * a non-numeric value is rejected even when the query matches no rows,
105
+ * then load the affected rules so the updated value can be validated
106
+ * against the value that will remain on each row.
107
+ */
108
+ const normalizedNewWindow = this.normalizeNumericInput(isLongWindowUpdated ? newLongWindow : newShortWindow);
109
+ if (!Number.isFinite(normalizedNewWindow)) {
110
+ throw new BadDataException(WINDOWS_NOT_NUMERIC_ERROR_MESSAGE);
111
+ }
112
+ const rulesToUpdate = await this.findBy({
113
+ query: updateBy.query,
114
+ select: {
115
+ _id: true,
116
+ longWindowInMinutes: true,
117
+ shortWindowInMinutes: true,
118
+ },
119
+ limit: LIMIT_PER_PROJECT,
120
+ skip: 0,
121
+ props: {
122
+ isRoot: true,
123
+ },
124
+ });
125
+ for (const rule of rulesToUpdate) {
126
+ /*
127
+ * The persisted sibling is coerced too — rows written before numeric
128
+ * coercion existed can still hold a string in a Decimal/Number
129
+ * column, and validateWindows must not compare against it as text.
130
+ */
131
+ this.validateWindows({
132
+ longWindowInMinutes: isLongWindowUpdated
133
+ ? normalizedNewWindow
134
+ : rule.longWindowInMinutes,
135
+ shortWindowInMinutes: isShortWindowUpdated
136
+ ? normalizedNewWindow
137
+ : rule.shortWindowInMinutes,
138
+ });
139
+ }
140
+ if (isLongWindowUpdated) {
141
+ updateBy.data.longWindowInMinutes = normalizedNewWindow;
142
+ }
143
+ else {
144
+ updateBy.data.shortWindowInMinutes = normalizedNewWindow;
145
+ }
146
+ }
147
+ }
148
+ return {
149
+ updateBy,
150
+ carryForward: null,
151
+ };
152
+ }
153
+ async onBeforeDelete(deleteBy) {
154
+ var _a, _b;
155
+ /*
156
+ * Resolve any open alert fired by the rules being deleted — otherwise the
157
+ * alert (and its on-call escalations) stays open forever because the
158
+ * evaluation worker only resolves alerts for rules that still exist.
159
+ */
160
+ const itemsToDelete = await this.findBy({
161
+ query: deleteBy.query,
162
+ limit: deleteBy.limit,
163
+ skip: deleteBy.skip,
164
+ select: {
165
+ _id: true,
166
+ projectId: true,
167
+ serviceLevelObjectiveId: true,
168
+ },
169
+ props: {
170
+ isRoot: true,
171
+ },
172
+ });
173
+ for (const item of itemsToDelete) {
174
+ if (!item.id || !item.projectId || !item.serviceLevelObjectiveId) {
175
+ continue;
176
+ }
177
+ try {
178
+ await this.resolveOpenAlertsForRule({
179
+ serviceLevelObjectiveId: item.serviceLevelObjectiveId,
180
+ burnRateRuleId: item.id,
181
+ projectId: item.projectId,
182
+ rootCause: "Alert auto-resolved because the SLO burn rate rule that created it was deleted.",
183
+ });
184
+ }
185
+ catch (err) {
186
+ logger.error(`Error resolving open alerts for SLO burn rate rule ${(_a = item.id) === null || _a === void 0 ? void 0 : _a.toString()} before delete: ${err}`, { projectId: (_b = item.projectId) === null || _b === void 0 ? void 0 : _b.toString() });
187
+ }
188
+ }
189
+ return {
190
+ deleteBy,
191
+ carryForward: {
192
+ itemsToDelete: itemsToDelete,
193
+ },
194
+ };
195
+ }
196
+ /*
197
+ * Resolve all open Alerts carrying this rule's fingerprint by appending a
198
+ * resolved AlertStateTimeline row. Mirrors
199
+ * MonitorAlert.resolveOpenAlert mechanics, including tolerating the benign
200
+ * same-state concurrency race.
201
+ */
202
+ async resolveOpenAlertsForRule(data) {
203
+ var _a, _b, _c, _d;
204
+ const fingerprint = this.getBurnRateAlertFingerprint({
205
+ serviceLevelObjectiveId: data.serviceLevelObjectiveId,
206
+ burnRateRuleId: data.burnRateRuleId,
207
+ });
208
+ const openAlerts = await AlertService.findBy({
209
+ query: {
210
+ projectId: data.projectId,
211
+ seriesFingerprint: fingerprint,
212
+ currentAlertState: {
213
+ isResolvedState: false,
214
+ },
215
+ },
216
+ select: {
217
+ _id: true,
218
+ projectId: true,
219
+ },
220
+ skip: 0,
221
+ limit: LIMIT_PER_PROJECT,
222
+ props: {
223
+ isRoot: true,
224
+ },
225
+ });
226
+ if (openAlerts.length === 0) {
227
+ return;
228
+ }
229
+ const resolvedStateId = await AlertStateTimelineService.getResolvedStateIdForProject(data.projectId);
230
+ for (const openAlert of openAlerts) {
231
+ try {
232
+ const alertStateTimeline = new AlertStateTimeline();
233
+ alertStateTimeline.alertId = openAlert.id;
234
+ alertStateTimeline.alertStateId = resolvedStateId;
235
+ alertStateTimeline.projectId = openAlert.projectId;
236
+ alertStateTimeline.rootCause =
237
+ data.rootCause ||
238
+ "Alert auto-resolved because the SLO burn rate rule that created it is no longer active.";
239
+ try {
240
+ await AlertStateTimelineService.create({
241
+ data: alertStateTimeline,
242
+ props: {
243
+ isRoot: true,
244
+ },
245
+ });
246
+ }
247
+ catch (err) {
248
+ /*
249
+ * Idempotent concurrency race: the evaluation worker and a
250
+ * lifecycle hook can both decide to resolve the same open alert
251
+ * near-simultaneously. The loser's onBeforeCreate dedupe throws
252
+ * this exact BadDataException. Treat as a no-op at debug level.
253
+ * Mirrors MonitorAlert.resolveOpenAlert.
254
+ */
255
+ if (err instanceof BadDataException &&
256
+ err.message === "Alert state cannot be same as previous state.") {
257
+ logger.debug(`${(_a = openAlert.id) === null || _a === void 0 ? void 0 : _a.toString()} - Alert already in resolved state; skipping duplicate state timeline (concurrent race).`);
258
+ }
259
+ else {
260
+ throw err;
261
+ }
262
+ }
263
+ }
264
+ catch (err) {
265
+ logger.error(`Error resolving open alert ${(_b = openAlert.id) === null || _b === void 0 ? void 0 : _b.toString()} for SLO burn rate rule ${(_c = data.burnRateRuleId) === null || _c === void 0 ? void 0 : _c.toString()}: ${err}`, { projectId: (_d = data.projectId) === null || _d === void 0 ? void 0 : _d.toString() });
266
+ }
267
+ }
268
+ }
269
+ /*
270
+ * Coerce an API-supplied numeric column to a number. HTML number inputs hand
271
+ * Formik strings and neither ModelForm nor BaseModel.fromJSON coerces
272
+ * Number/Decimal columns, so "1440" reaches these hooks as a string — and
273
+ * `"1440" <= "60"` is a lexicographic comparison that is true. Anything that
274
+ * is not a finite numeric string or number becomes NaN, which every caller
275
+ * below rejects. Mirrors GlobalConfigService.normalizePercent.
276
+ */
277
+ normalizeNumericInput(value) {
278
+ if (typeof value === "string") {
279
+ const trimmed = value.trim();
280
+ return trimmed === "" ? Number.NaN : Number(trimmed);
281
+ }
282
+ if (typeof value === "number") {
283
+ return value;
284
+ }
285
+ return Number.NaN;
286
+ }
287
+ validateBurnRateThreshold(value) {
288
+ const burnRateThreshold = this.normalizeNumericInput(value);
289
+ if (!Number.isFinite(burnRateThreshold) || burnRateThreshold <= 0) {
290
+ throw new BadDataException(THRESHOLD_ERROR_MESSAGE);
291
+ }
292
+ return burnRateThreshold;
293
+ }
294
+ validateMinimumSampleCount(value) {
295
+ const minimumSampleCount = this.normalizeNumericInput(value);
296
+ if (!Number.isFinite(minimumSampleCount) || minimumSampleCount < 0) {
297
+ throw new BadDataException("Minimum sample count must be a number greater than or equal to 0.");
298
+ }
299
+ return minimumSampleCount;
300
+ }
301
+ validateRefireSuppressionMinutes(value) {
302
+ const refireSuppressionMinutes = this.normalizeNumericInput(value);
303
+ if (!Number.isFinite(refireSuppressionMinutes) ||
304
+ refireSuppressionMinutes < 0) {
305
+ throw new BadDataException("Re-fire suppression must be a number of minutes greater than or equal to 0.");
306
+ }
307
+ return refireSuppressionMinutes;
308
+ }
309
+ /*
310
+ * Coerces both windows, then enforces the multi-window invariant numerically.
311
+ * Returns the coerced pair so callers can write numbers back onto the
312
+ * create/update payload.
313
+ */
314
+ validateWindows(data) {
315
+ const longWindowInMinutes = this.normalizeNumericInput(data.longWindowInMinutes);
316
+ const shortWindowInMinutes = this.normalizeNumericInput(data.shortWindowInMinutes);
317
+ if (!Number.isFinite(longWindowInMinutes) ||
318
+ !Number.isFinite(shortWindowInMinutes)) {
319
+ throw new BadDataException(WINDOWS_NOT_NUMERIC_ERROR_MESSAGE);
320
+ }
321
+ if (shortWindowInMinutes <= 0) {
322
+ throw new BadDataException("Short window must be greater than 0 minutes.");
323
+ }
324
+ if (longWindowInMinutes <= shortWindowInMinutes) {
325
+ throw new BadDataException("Long window must be greater than the short window.");
326
+ }
327
+ return {
328
+ longWindowInMinutes: longWindowInMinutes,
329
+ shortWindowInMinutes: shortWindowInMinutes,
330
+ };
331
+ }
332
+ }
333
+ __decorate([
334
+ CaptureSpan(),
335
+ __metadata("design:type", Function),
336
+ __metadata("design:paramtypes", [Object]),
337
+ __metadata("design:returntype", Promise)
338
+ ], Service.prototype, "onBeforeCreate", null);
339
+ __decorate([
340
+ CaptureSpan(),
341
+ __metadata("design:type", Function),
342
+ __metadata("design:paramtypes", [Object]),
343
+ __metadata("design:returntype", Promise)
344
+ ], Service.prototype, "onBeforeUpdate", null);
345
+ __decorate([
346
+ CaptureSpan(),
347
+ __metadata("design:type", Function),
348
+ __metadata("design:paramtypes", [Object]),
349
+ __metadata("design:returntype", Promise)
350
+ ], Service.prototype, "onBeforeDelete", null);
351
+ __decorate([
352
+ CaptureSpan(),
353
+ __metadata("design:type", Function),
354
+ __metadata("design:paramtypes", [Object]),
355
+ __metadata("design:returntype", Promise)
356
+ ], Service.prototype, "resolveOpenAlertsForRule", null);
357
+ export default new Service();
358
+ //# sourceMappingURL=ServiceLevelObjectiveBurnRateRuleService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLevelObjectiveBurnRateRuleService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=ServiceLevelObjectiveOwnerTeamService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLevelObjectiveOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveOwnerTeamService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,4DAA4D,CAAC;AAE/E,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/ServiceLevelObjectiveOwnerUser";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=ServiceLevelObjectiveOwnerUserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLevelObjectiveOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveOwnerUserService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,4DAA4D,CAAC;AAE/E,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}