@oneuptime/common 12.0.1 → 12.0.3

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 (385) hide show
  1. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +14 -0
  2. package/Models/DatabaseModels/Host.ts +12 -4
  3. package/Models/DatabaseModels/Index.ts +2 -0
  4. package/Models/DatabaseModels/KubernetesContainer.ts +5 -4
  5. package/Models/DatabaseModels/KubernetesResource.ts +8 -7
  6. package/Models/DatabaseModels/LogDropFilter.ts +9 -20
  7. package/Models/DatabaseModels/PodmanResource.ts +6 -6
  8. package/Models/DatabaseModels/ServiceLevelObjective.ts +91 -0
  9. package/Models/DatabaseModels/StatusPage.ts +95 -0
  10. package/Models/DatabaseModels/StatusPageMonitorRule.ts +911 -0
  11. package/Models/DatabaseModels/StatusPageResource.ts +73 -0
  12. package/Models/DatabaseModels/TraceDropFilter.ts +9 -20
  13. package/Server/API/BaseAPI.ts +13 -2
  14. package/Server/API/DashboardAPI.ts +39 -0
  15. package/Server/API/TeamMemberAPI.ts +85 -0
  16. package/Server/EnvironmentConfig.ts +31 -1
  17. package/Server/Infrastructure/GlobalCache.ts +115 -0
  18. package/Server/Infrastructure/Postgres/DataSourceOptions.ts +16 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1785900000000-AddSloMonitorLabelRule.ts +84 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1785915638551-IncreaseHostIpAddressesLength.ts +40 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1785930000000-WidenInventoryResourceNameColumns.ts +131 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1785930709405-AddStatusPageReportPeriod.ts +25 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.ts +123 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  25. package/Server/Middleware/ProjectAuthorization.ts +66 -4
  26. package/Server/Services/AlertStateTimelineService.ts +20 -0
  27. package/Server/Services/BillingService.ts +600 -51
  28. package/Server/Services/CephClusterService.ts +27 -45
  29. package/Server/Services/CephResourceService.ts +43 -4
  30. package/Server/Services/CloudResourceService.ts +24 -42
  31. package/Server/Services/DatabaseService.ts +198 -6
  32. package/Server/Services/DockerHostService.ts +20 -38
  33. package/Server/Services/DockerResourceService.ts +62 -8
  34. package/Server/Services/DockerSwarmClusterService.ts +28 -46
  35. package/Server/Services/DockerSwarmResourceService.ts +53 -4
  36. package/Server/Services/HostService.ts +47 -57
  37. package/Server/Services/IncidentStateTimelineService.ts +20 -0
  38. package/Server/Services/Index.ts +2 -0
  39. package/Server/Services/IoTDeviceService.ts +1 -17
  40. package/Server/Services/IoTFleetService.ts +20 -38
  41. package/Server/Services/KubernetesClusterService.ts +18 -36
  42. package/Server/Services/KubernetesContainerService.ts +50 -9
  43. package/Server/Services/KubernetesResourceService.ts +53 -7
  44. package/Server/Services/LabelService.ts +153 -1
  45. package/Server/Services/MetricTypeService.ts +84 -0
  46. package/Server/Services/MonitorService.ts +146 -14
  47. package/Server/Services/MonitorStatusTimelineService.ts +29 -0
  48. package/Server/Services/MonitorTemplateService.ts +65 -0
  49. package/Server/Services/PodmanHostService.ts +20 -38
  50. package/Server/Services/PodmanResourceService.ts +62 -8
  51. package/Server/Services/ProjectService.ts +165 -35
  52. package/Server/Services/ProxmoxClusterService.ts +24 -42
  53. package/Server/Services/ProxmoxResourceService.ts +43 -4
  54. package/Server/Services/RumApplicationService.ts +20 -38
  55. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +21 -0
  56. package/Server/Services/ServerlessFunctionService.ts +25 -43
  57. package/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.ts +426 -0
  58. package/Server/Services/ServiceLevelObjectiveService.ts +39 -0
  59. package/Server/Services/ServiceService.ts +299 -73
  60. package/Server/Services/StatusPageMonitorRuleEngineService.ts +752 -0
  61. package/Server/Services/StatusPageMonitorRuleService.ts +471 -0
  62. package/Server/Services/StatusPageService.ts +95 -36
  63. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +18 -1
  64. package/Server/Services/StatusPageSubscriberService.ts +3 -0
  65. package/Server/Services/TelemetryEntityRelationshipService.ts +1 -0
  66. package/Server/Services/TelemetryEntityService.ts +1 -0
  67. package/Server/Types/Database/JSONColumnQuery.ts +621 -0
  68. package/Server/Types/Database/Permissions/PublicPermission.ts +9 -2
  69. package/Server/Types/Database/QueryHelper.ts +17 -32
  70. package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +170 -39
  71. package/Server/Utils/Database/TruncateColumnValue.ts +84 -0
  72. package/Server/Utils/Monitor/MonitorResource.ts +63 -36
  73. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +36 -0
  74. package/Server/Utils/Monitor/MonitorStepsProjectValidator.ts +148 -127
  75. package/Server/Utils/Monitor/MonitorStepsReferenceExtractor.ts +434 -0
  76. package/Server/Utils/SingleFlight.ts +83 -0
  77. package/Server/Utils/StatusPage/MonitorRulePatternValidator.ts +46 -0
  78. package/Server/Utils/Telemetry/EntityRegistry.ts +107 -26
  79. package/Server/Utils/Telemetry/ResourceHeartbeat.ts +314 -0
  80. package/Server/Utils/Telemetry/Telemetry.ts +351 -122
  81. package/Tests/App/Dashboard/UsersTableGroupsByPerson.test.tsx +448 -0
  82. package/Tests/App/Dashboard/WidgetCatalog.test.ts +2 -0
  83. package/Tests/Models/DatabaseModels/ColumnTransformerInvariants.test.ts +306 -0
  84. package/Tests/Models/DatabaseModels/NumberColumnDeserialization.test.ts +333 -0
  85. package/Tests/Models/DatabaseModels/StatusPageMonitorRuleModel.test.ts +190 -0
  86. package/Tests/Server/API/BaseAPIApiKeyAuth.test.ts +704 -0
  87. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +26 -0
  88. package/Tests/Server/API/TeamMemberRemoveUserFromProjectAPI.test.ts +303 -0
  89. package/Tests/Server/Infrastructure/GlobalCache.test.ts +226 -0
  90. package/Tests/Server/Infrastructure/PostgresLockTimeoutOptions.test.ts +181 -0
  91. package/Tests/Server/Middleware/MasterAdminAuthorization.test.ts +350 -0
  92. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyHeader.test.ts +362 -0
  93. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +687 -0
  94. package/Tests/Server/Services/BillingService.test.ts +78 -3
  95. package/Tests/Server/Services/BillingServiceChangePlanCancel.test.ts +645 -0
  96. package/Tests/Server/Services/BillingServiceTrialPlanChange.test.ts +1005 -0
  97. package/Tests/Server/Services/DatabaseServiceUpdateColumnsIfUnlocked.test.ts +342 -0
  98. package/Tests/Server/Services/DropFilterSaveValidation.test.ts +245 -0
  99. package/Tests/Server/Services/HookFreeWriteLengthClamp.test.ts +503 -0
  100. package/Tests/Server/Services/HostIpAddressesColumnWidth.test.ts +198 -0
  101. package/Tests/Server/Services/HostServiceUpdateLastSeen.test.ts +658 -0
  102. package/Tests/Server/Services/InventoryResourceNameColumnWidth.test.ts +500 -0
  103. package/Tests/Server/Services/InventoryUpsertSchemaParity.test.ts +586 -0
  104. package/Tests/Server/Services/InventoryUpsertTruncationGuard.test.ts +1242 -0
  105. package/Tests/Server/Services/MetricTypeAttachServices.test.ts +222 -0
  106. package/Tests/Server/Services/MissingReferenceWriteGuard.test.ts +614 -0
  107. package/Tests/Server/Services/MonitorStatusTimelineFastPath.test.ts +23 -0
  108. package/Tests/Server/Services/ProjectServiceChangePlan.test.ts +650 -0
  109. package/Tests/Server/Services/ProjectServiceExtendTrial.test.ts +1 -0
  110. package/Tests/Server/Services/ResourceUpdateLastSeenLivenessFallback.test.ts +636 -0
  111. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.test.ts +770 -0
  112. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +130 -0
  113. package/Tests/Server/Services/ServiceUpdateLastSeenSplitGates.test.ts +705 -0
  114. package/Tests/Server/Services/SloMonitorLabelRuleHooks.test.ts +352 -0
  115. package/Tests/Server/Services/StatusPageMonitorRuleEngineService.test.ts +1719 -0
  116. package/Tests/Server/Services/StatusPageMonitorRuleHooks.test.ts +1212 -0
  117. package/Tests/Server/Services/StatusPageMonitorRuleMonitorCreateHook.test.ts +228 -0
  118. package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +29 -13
  119. package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +69 -8
  120. package/Tests/Server/Types/Database/JSONColumnQuery.test.ts +593 -0
  121. package/Tests/Server/Types/Database/Permissions/PublicPermission.test.ts +495 -0
  122. package/Tests/Server/Types/Database/QueryUtil.test.ts +113 -0
  123. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +267 -0
  124. package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +260 -13
  125. package/Tests/Server/Utils/Database/TruncateColumnValue.test.ts +179 -0
  126. package/Tests/Server/Utils/EntityRegistryRowFence.test.ts +302 -0
  127. package/Tests/Server/Utils/MetricTypeIndexConvergence.test.ts +598 -0
  128. package/Tests/Server/Utils/Monitor/MonitorStatusTimelineUnusableStatus.test.ts +154 -0
  129. package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidator.test.ts +638 -92
  130. package/Tests/Server/Utils/Monitor/MonitorStepsReferenceExtractor.test.ts +724 -0
  131. package/Tests/Server/Utils/SingleFlight.test.ts +221 -0
  132. package/Tests/Types/Dashboard/NetworkDashboardTemplate.test.ts +793 -0
  133. package/Tests/Types/Database/BigIntColumnTransformer.test.ts +147 -0
  134. package/Tests/Types/Database/DatabasePropertyTransformer.test.ts +140 -0
  135. package/Tests/Types/Database/NumericColumnValue.test.ts +127 -0
  136. package/Tests/Types/Decimal.test.ts +37 -0
  137. package/Tests/Types/Events/Recurring.test.ts +157 -0
  138. package/Tests/Types/Monitor/SnmpVersionParsing.test.ts +152 -0
  139. package/Tests/Types/Port.test.ts +38 -0
  140. package/Tests/UI/Components/LogsHistogram.test.tsx +276 -0
  141. package/Tests/UI/Components/ModelTable/ModelTableGroupsProjectUsers.test.tsx +375 -0
  142. package/Tests/UI/Components/ModelTable/useCustomFieldColumns.test.tsx +196 -0
  143. package/Tests/UI/Components/UseLiveLogsRefresh.test.tsx +489 -0
  144. package/Tests/UI/Components/UseLogsHistogram.test.tsx +500 -0
  145. package/Tests/UI/Utils/ProjectUsersModelAPI.test.ts +739 -0
  146. package/Tests/UI/Utils/TeamMembersByUser.test.ts +633 -0
  147. package/Tests/Utils/Dashboard/Components/DashboardComponentsUtil.test.ts +120 -0
  148. package/Tests/Utils/Dashboard/DashboardNetworkMapComponent.test.ts +327 -0
  149. package/Tests/Utils/StatusPage/ReportPeriod.test.ts +218 -0
  150. package/Tests/Utils/Telemetry/HostIpAddresses.test.ts +291 -0
  151. package/Types/CustomField/CustomFieldDefinition.ts +24 -0
  152. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  153. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  154. package/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.ts +40 -0
  155. package/Types/Dashboard/DashboardTemplates.ts +397 -0
  156. package/Types/Database/BigIntColumnTransformer.ts +74 -0
  157. package/Types/Database/DatabaseProperty.ts +26 -0
  158. package/Types/Database/NumericColumnValue.ts +128 -0
  159. package/Types/Date.ts +112 -0
  160. package/Types/Decimal.ts +16 -4
  161. package/Types/Events/Recurring.ts +99 -1
  162. package/Types/Permission.ts +48 -0
  163. package/Types/Port.ts +16 -4
  164. package/Types/StatusPage/StatusPageReport.ts +11 -0
  165. package/Types/StatusPage/StatusPageReportPeriodType.ts +21 -0
  166. package/UI/Components/LogsViewer/useLiveLogsRefresh.ts +86 -0
  167. package/UI/Components/LogsViewer/useLogsHistogram.ts +113 -0
  168. package/UI/Components/ModelTable/CustomFieldColumns.tsx +2 -6
  169. package/UI/Components/ModelTable/useCustomFieldColumns.ts +21 -2
  170. package/UI/Utils/ModelAPI/ProjectUsersModelAPI.ts +305 -0
  171. package/UI/Utils/TeamMembersByUser.ts +302 -0
  172. package/Utils/Dashboard/Components/DashboardNetworkMapComponent.ts +136 -0
  173. package/Utils/Dashboard/Components/Index.ts +7 -0
  174. package/Utils/StatusPage/ReportPeriod.ts +236 -0
  175. package/Utils/Telemetry/HostIpAddresses.ts +98 -0
  176. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +12 -0
  177. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  178. package/build/dist/Models/DatabaseModels/Host.js +12 -4
  179. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  181. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/KubernetesContainer.js +4 -4
  183. package/build/dist/Models/DatabaseModels/KubernetesContainer.js.map +1 -1
  184. package/build/dist/Models/DatabaseModels/KubernetesResource.js +7 -7
  185. package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/LogDropFilter.js +9 -20
  187. package/build/dist/Models/DatabaseModels/LogDropFilter.js.map +1 -1
  188. package/build/dist/Models/DatabaseModels/PodmanResource.js +6 -6
  189. package/build/dist/Models/DatabaseModels/PodmanResource.js.map +1 -1
  190. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +87 -0
  191. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -1
  192. package/build/dist/Models/DatabaseModels/StatusPage.js +98 -0
  193. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  194. package/build/dist/Models/DatabaseModels/StatusPageMonitorRule.js +925 -0
  195. package/build/dist/Models/DatabaseModels/StatusPageMonitorRule.js.map +1 -0
  196. package/build/dist/Models/DatabaseModels/StatusPageResource.js +72 -0
  197. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  198. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +9 -20
  199. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -1
  200. package/build/dist/Server/API/BaseAPI.js +11 -1
  201. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  202. package/build/dist/Server/API/DashboardAPI.js +39 -0
  203. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  204. package/build/dist/Server/API/TeamMemberAPI.js +57 -2
  205. package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
  206. package/build/dist/Server/EnvironmentConfig.js +27 -1
  207. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  208. package/build/dist/Server/Infrastructure/GlobalCache.js +91 -0
  209. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  210. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js +5 -3
  211. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js.map +1 -1
  212. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785900000000-AddSloMonitorLabelRule.js +45 -0
  213. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785900000000-AddSloMonitorLabelRule.js.map +1 -0
  214. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785915638551-IncreaseHostIpAddressesLength.js +31 -0
  215. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785915638551-IncreaseHostIpAddressesLength.js.map +1 -0
  216. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785930000000-WidenInventoryResourceNameColumns.js +90 -0
  217. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785930000000-WidenInventoryResourceNameColumns.js.map +1 -0
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785930709405-AddStatusPageReportPeriod.js +14 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785930709405-AddStatusPageReportPeriod.js.map +1 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.js +48 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.js.map +1 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  224. package/build/dist/Server/Middleware/ProjectAuthorization.js +59 -4
  225. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  226. package/build/dist/Server/Services/AlertStateTimelineService.js +19 -0
  227. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
  228. package/build/dist/Server/Services/BillingService.js +466 -36
  229. package/build/dist/Server/Services/BillingService.js.map +1 -1
  230. package/build/dist/Server/Services/CephClusterService.js +26 -39
  231. package/build/dist/Server/Services/CephClusterService.js.map +1 -1
  232. package/build/dist/Server/Services/CephResourceService.js +28 -3
  233. package/build/dist/Server/Services/CephResourceService.js.map +1 -1
  234. package/build/dist/Server/Services/CloudResourceService.js +23 -36
  235. package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
  236. package/build/dist/Server/Services/DatabaseService.js +155 -2
  237. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  238. package/build/dist/Server/Services/DockerHostService.js +19 -32
  239. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  240. package/build/dist/Server/Services/DockerResourceService.js +34 -4
  241. package/build/dist/Server/Services/DockerResourceService.js.map +1 -1
  242. package/build/dist/Server/Services/DockerSwarmClusterService.js +27 -40
  243. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -1
  244. package/build/dist/Server/Services/DockerSwarmResourceService.js +28 -3
  245. package/build/dist/Server/Services/DockerSwarmResourceService.js.map +1 -1
  246. package/build/dist/Server/Services/HostService.js +58 -64
  247. package/build/dist/Server/Services/HostService.js.map +1 -1
  248. package/build/dist/Server/Services/IncidentStateTimelineService.js +19 -0
  249. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  250. package/build/dist/Server/Services/Index.js +2 -0
  251. package/build/dist/Server/Services/Index.js.map +1 -1
  252. package/build/dist/Server/Services/IoTDeviceService.js +1 -8
  253. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -1
  254. package/build/dist/Server/Services/IoTFleetService.js +19 -32
  255. package/build/dist/Server/Services/IoTFleetService.js.map +1 -1
  256. package/build/dist/Server/Services/KubernetesClusterService.js +17 -30
  257. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  258. package/build/dist/Server/Services/KubernetesContainerService.js +29 -3
  259. package/build/dist/Server/Services/KubernetesContainerService.js.map +1 -1
  260. package/build/dist/Server/Services/KubernetesResourceService.js +32 -4
  261. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
  262. package/build/dist/Server/Services/LabelService.js +127 -0
  263. package/build/dist/Server/Services/LabelService.js.map +1 -1
  264. package/build/dist/Server/Services/MetricTypeService.js +74 -0
  265. package/build/dist/Server/Services/MetricTypeService.js.map +1 -1
  266. package/build/dist/Server/Services/MonitorService.js +128 -9
  267. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  268. package/build/dist/Server/Services/MonitorStatusTimelineService.js +28 -0
  269. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  270. package/build/dist/Server/Services/MonitorTemplateService.js +60 -0
  271. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  272. package/build/dist/Server/Services/PodmanHostService.js +19 -32
  273. package/build/dist/Server/Services/PodmanHostService.js.map +1 -1
  274. package/build/dist/Server/Services/PodmanResourceService.js +34 -4
  275. package/build/dist/Server/Services/PodmanResourceService.js.map +1 -1
  276. package/build/dist/Server/Services/ProjectService.js +135 -21
  277. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  278. package/build/dist/Server/Services/ProxmoxClusterService.js +23 -36
  279. package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -1
  280. package/build/dist/Server/Services/ProxmoxResourceService.js +28 -3
  281. package/build/dist/Server/Services/ProxmoxResourceService.js.map +1 -1
  282. package/build/dist/Server/Services/RumApplicationService.js +19 -32
  283. package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
  284. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +20 -0
  285. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  286. package/build/dist/Server/Services/ServerlessFunctionService.js +24 -37
  287. package/build/dist/Server/Services/ServerlessFunctionService.js.map +1 -1
  288. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js +347 -0
  289. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js.map +1 -0
  290. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +33 -1
  291. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -1
  292. package/build/dist/Server/Services/ServiceService.js +236 -61
  293. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  294. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +603 -0
  295. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -0
  296. package/build/dist/Server/Services/StatusPageMonitorRuleService.js +401 -0
  297. package/build/dist/Server/Services/StatusPageMonitorRuleService.js.map +1 -0
  298. package/build/dist/Server/Services/StatusPageService.js +69 -46
  299. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  300. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +17 -1
  301. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  302. package/build/dist/Server/Services/StatusPageSubscriberService.js +3 -0
  303. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  304. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +1 -0
  305. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -1
  306. package/build/dist/Server/Services/TelemetryEntityService.js +1 -0
  307. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -1
  308. package/build/dist/Server/Types/Database/JSONColumnQuery.js +402 -0
  309. package/build/dist/Server/Types/Database/JSONColumnQuery.js.map +1 -0
  310. package/build/dist/Server/Types/Database/Permissions/PublicPermission.js +9 -2
  311. package/build/dist/Server/Types/Database/Permissions/PublicPermission.js.map +1 -1
  312. package/build/dist/Server/Types/Database/QueryHelper.js +17 -27
  313. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  314. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +105 -29
  315. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -1
  316. package/build/dist/Server/Utils/Database/TruncateColumnValue.js +32 -0
  317. package/build/dist/Server/Utils/Database/TruncateColumnValue.js.map +1 -0
  318. package/build/dist/Server/Utils/Monitor/MonitorResource.js +56 -32
  319. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  320. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +30 -3
  321. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
  322. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js +110 -98
  323. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js.map +1 -1
  324. package/build/dist/Server/Utils/Monitor/MonitorStepsReferenceExtractor.js +312 -0
  325. package/build/dist/Server/Utils/Monitor/MonitorStepsReferenceExtractor.js.map +1 -0
  326. package/build/dist/Server/Utils/SingleFlight.js +76 -0
  327. package/build/dist/Server/Utils/SingleFlight.js.map +1 -0
  328. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js +29 -0
  329. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js.map +1 -0
  330. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +78 -19
  331. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  332. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js +160 -0
  333. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js.map +1 -0
  334. package/build/dist/Server/Utils/Telemetry/Telemetry.js +279 -104
  335. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  336. package/build/dist/Types/CustomField/CustomFieldDefinition.js +2 -0
  337. package/build/dist/Types/CustomField/CustomFieldDefinition.js.map +1 -0
  338. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  339. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  340. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  341. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  342. package/build/dist/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.js +2 -0
  343. package/build/dist/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.js.map +1 -0
  344. package/build/dist/Types/Dashboard/DashboardTemplates.js +368 -0
  345. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  346. package/build/dist/Types/Database/BigIntColumnTransformer.js +66 -0
  347. package/build/dist/Types/Database/BigIntColumnTransformer.js.map +1 -0
  348. package/build/dist/Types/Database/DatabaseProperty.js +25 -0
  349. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  350. package/build/dist/Types/Database/NumericColumnValue.js +97 -0
  351. package/build/dist/Types/Database/NumericColumnValue.js.map +1 -0
  352. package/build/dist/Types/Date.js +68 -0
  353. package/build/dist/Types/Date.js.map +1 -1
  354. package/build/dist/Types/Decimal.js +14 -3
  355. package/build/dist/Types/Decimal.js.map +1 -1
  356. package/build/dist/Types/Events/Recurring.js +63 -0
  357. package/build/dist/Types/Events/Recurring.js.map +1 -1
  358. package/build/dist/Types/Permission.js +42 -0
  359. package/build/dist/Types/Permission.js.map +1 -1
  360. package/build/dist/Types/Port.js +15 -5
  361. package/build/dist/Types/Port.js.map +1 -1
  362. package/build/dist/Types/StatusPage/StatusPageReportPeriodType.js +22 -0
  363. package/build/dist/Types/StatusPage/StatusPageReportPeriodType.js.map +1 -0
  364. package/build/dist/UI/Components/LogsViewer/useLiveLogsRefresh.js +44 -0
  365. package/build/dist/UI/Components/LogsViewer/useLiveLogsRefresh.js.map +1 -0
  366. package/build/dist/UI/Components/LogsViewer/useLogsHistogram.js +75 -0
  367. package/build/dist/UI/Components/LogsViewer/useLogsHistogram.js.map +1 -0
  368. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
  369. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js +18 -2
  370. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js.map +1 -1
  371. package/build/dist/UI/Utils/ModelAPI/ProjectUsersModelAPI.js +213 -0
  372. package/build/dist/UI/Utils/ModelAPI/ProjectUsersModelAPI.js.map +1 -0
  373. package/build/dist/UI/Utils/TeamMembersByUser.js +195 -0
  374. package/build/dist/UI/Utils/TeamMembersByUser.js.map +1 -0
  375. package/build/dist/Utils/Dashboard/Components/DashboardNetworkMapComponent.js +114 -0
  376. package/build/dist/Utils/Dashboard/Components/DashboardNetworkMapComponent.js.map +1 -0
  377. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  378. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  379. package/build/dist/Utils/StatusPage/ReportPeriod.js +131 -0
  380. package/build/dist/Utils/StatusPage/ReportPeriod.js.map +1 -0
  381. package/build/dist/Utils/Telemetry/HostIpAddresses.js +82 -0
  382. package/build/dist/Utils/Telemetry/HostIpAddresses.js.map +1 -0
  383. package/jest.config.json +2 -0
  384. package/package.json +1 -1
  385. package/tsconfig.json +12 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ServerlessFunctionService.js","sourceRoot":"","sources":["../../../../Server/Services/ServerlessFunctionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerlessFunctionService.js","sourceRoot":"","sources":["../../../../Server/Services/ServerlessFunctionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,347 @@
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 Monitor from "../../Models/DatabaseModels/Monitor";
11
+ import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
12
+ import ObjectID from "../../Types/ObjectID";
13
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
14
+ import logger from "../Utils/Logger";
15
+ import MonitorService from "./MonitorService";
16
+ import ServiceLevelObjectiveService from "./ServiceLevelObjectiveService";
17
+ function emptyResult() {
18
+ return { monitorIdsAdded: [], monitorIdsRemoved: [] };
19
+ }
20
+ function toIdSet(items) {
21
+ var _a;
22
+ const ids = new Set();
23
+ for (const item of items || []) {
24
+ const id = ((_a = item === null || item === void 0 ? void 0 : item.id) === null || _a === void 0 ? void 0 : _a.toString()) || "";
25
+ if (id) {
26
+ ids.add(id);
27
+ }
28
+ }
29
+ return ids;
30
+ }
31
+ function toMonitors(ids) {
32
+ const monitors = [];
33
+ for (const id of ids) {
34
+ const monitor = new Monitor();
35
+ monitor.id = new ObjectID(id);
36
+ monitors.push(monitor);
37
+ }
38
+ return monitors;
39
+ }
40
+ function isSameSet(a, b) {
41
+ if (a.size !== b.size) {
42
+ return false;
43
+ }
44
+ for (const value of a) {
45
+ if (!b.has(value)) {
46
+ return false;
47
+ }
48
+ }
49
+ return true;
50
+ }
51
+ /**
52
+ * Keeps an SLO's monitor list in step with its label rule.
53
+ *
54
+ * An SLO can name a set of monitor labels ("Auto-Add Monitors With Labels").
55
+ * Every monitor in the project carrying at least one of them belongs to the
56
+ * SLO, and stops belonging to it the moment it carries none. Two entry points
57
+ * drive that, because the membership can be invalidated from either side:
58
+ *
59
+ * - the SLO side (its rule changed) -> syncMonitorsForSlo
60
+ * - the monitor side (its labels changed) -> syncSlosForMonitor
61
+ *
62
+ * Both write through ServiceLevelObjective.autoAddedMonitors, which records
63
+ * which attachments the rule owns. Only those are ever detached, so a monitor
64
+ * a human attached by hand survives every rule evaluation — including the one
65
+ * that runs when the rule is deleted.
66
+ */
67
+ export class ServiceLevelObjectiveMonitorRuleEngineServiceClass {
68
+ /**
69
+ * Re-evaluates one SLO's label rule against every monitor in its project.
70
+ * Use when the SLO's rule changed (created, edited, or cleared) — it is the
71
+ * authoritative, self-healing path and repairs any drift it finds.
72
+ */
73
+ async syncMonitorsForSlo(data) {
74
+ const slo = await ServiceLevelObjectiveService.findOneById({
75
+ id: data.serviceLevelObjectiveId,
76
+ select: {
77
+ _id: true,
78
+ projectId: true,
79
+ monitorLabels: {
80
+ _id: true,
81
+ },
82
+ monitors: {
83
+ _id: true,
84
+ },
85
+ autoAddedMonitors: {
86
+ _id: true,
87
+ },
88
+ },
89
+ props: {
90
+ isRoot: true,
91
+ },
92
+ });
93
+ if (!slo || !slo.id || !slo.projectId) {
94
+ return emptyResult();
95
+ }
96
+ const ruleLabelIds = toIdSet(slo.monitorLabels);
97
+ /*
98
+ * No rule (or the rule was just cleared) means nothing matches, which in
99
+ * turn detaches everything the rule had attached. Deleting the rule
100
+ * therefore undoes the rule rather than leaving its monitors stranded on
101
+ * an SLO nobody remembers configuring.
102
+ */
103
+ const matchedMonitorIds = ruleLabelIds.size === 0
104
+ ? new Set()
105
+ : await this.findMonitorIdsWithAnyLabel({
106
+ projectId: slo.projectId,
107
+ labelIds: ruleLabelIds,
108
+ });
109
+ return await this.writeMembership({
110
+ slo: slo,
111
+ attachedMonitorIds: toIdSet(slo.monitors),
112
+ autoAddedMonitorIds: toIdSet(slo.autoAddedMonitors),
113
+ matchedMonitorIds: matchedMonitorIds,
114
+ });
115
+ }
116
+ /**
117
+ * Re-evaluates every label rule in the project against a single monitor.
118
+ * Use when the monitor's labels changed: it touches only this monitor's
119
+ * membership, so it costs one query per project regardless of how many
120
+ * monitors the rules match.
121
+ */
122
+ async syncSlosForMonitor(data) {
123
+ var _a;
124
+ const monitor = await MonitorService.findOneById({
125
+ id: data.monitorId,
126
+ select: {
127
+ _id: true,
128
+ projectId: true,
129
+ labels: {
130
+ _id: true,
131
+ },
132
+ },
133
+ props: {
134
+ isRoot: true,
135
+ },
136
+ });
137
+ if (!monitor || !monitor.id) {
138
+ return [];
139
+ }
140
+ const projectId = monitor.projectId || data.projectId || undefined;
141
+ if (!projectId) {
142
+ return [];
143
+ }
144
+ const monitorLabelIds = toIdSet(monitor.labels);
145
+ const monitorId = monitor.id.toString();
146
+ const slos = await ServiceLevelObjectiveService.findBy({
147
+ query: {
148
+ projectId: projectId,
149
+ },
150
+ select: {
151
+ _id: true,
152
+ projectId: true,
153
+ monitorLabels: {
154
+ _id: true,
155
+ },
156
+ monitors: {
157
+ _id: true,
158
+ },
159
+ autoAddedMonitors: {
160
+ _id: true,
161
+ },
162
+ },
163
+ limit: LIMIT_PER_PROJECT,
164
+ skip: 0,
165
+ props: {
166
+ isRoot: true,
167
+ },
168
+ });
169
+ const results = [];
170
+ for (const slo of slos) {
171
+ const ruleLabelIds = toIdSet(slo.monitorLabels);
172
+ // SLOs without a label rule are curated by hand. Never touch them.
173
+ if (ruleLabelIds.size === 0) {
174
+ continue;
175
+ }
176
+ const attachedMonitorIds = toIdSet(slo.monitors);
177
+ const autoAddedMonitorIds = toIdSet(slo.autoAddedMonitors);
178
+ const doesMatch = this.doesLabelSetMatchRule({
179
+ labelIds: monitorLabelIds,
180
+ ruleLabelIds: ruleLabelIds,
181
+ });
182
+ /*
183
+ * Only this monitor's membership is in question, so the "matched" set
184
+ * handed to writeMembership is the SLO's current auto-added set with
185
+ * this monitor toggled in or out. Every other auto-added monitor is
186
+ * reported as still matching and is left exactly where it is.
187
+ */
188
+ const matchedMonitorIds = new Set(autoAddedMonitorIds);
189
+ if (doesMatch) {
190
+ matchedMonitorIds.add(monitorId);
191
+ }
192
+ else {
193
+ matchedMonitorIds.delete(monitorId);
194
+ }
195
+ try {
196
+ const result = await this.writeMembership({
197
+ slo: slo,
198
+ attachedMonitorIds: attachedMonitorIds,
199
+ autoAddedMonitorIds: autoAddedMonitorIds,
200
+ matchedMonitorIds: matchedMonitorIds,
201
+ });
202
+ if (result.monitorIdsAdded.length > 0 ||
203
+ result.monitorIdsRemoved.length > 0) {
204
+ results.push(result);
205
+ }
206
+ }
207
+ catch (error) {
208
+ /*
209
+ * One SLO failing must not stop the others: the monitor's labels have
210
+ * already changed, and half a sync is better than none.
211
+ */
212
+ logger.error(`Error syncing SLO ${(_a = slo.id) === null || _a === void 0 ? void 0 : _a.toString()} for monitor ${monitorId}: ${error}`, {
213
+ projectId: projectId.toString(),
214
+ monitorId: monitorId,
215
+ });
216
+ }
217
+ }
218
+ return results;
219
+ }
220
+ /**
221
+ * Every monitor in the project carrying at least one of `labelIds`.
222
+ */
223
+ async findMonitorIdsWithAnyLabel(data) {
224
+ const labelIds = Array.from(data.labelIds).map((id) => {
225
+ return new ObjectID(id);
226
+ });
227
+ if (labelIds.length === 0) {
228
+ return new Set();
229
+ }
230
+ const monitors = await MonitorService.findBy({
231
+ query: {
232
+ projectId: data.projectId,
233
+ labels: labelIds,
234
+ },
235
+ select: {
236
+ _id: true,
237
+ },
238
+ limit: LIMIT_PER_PROJECT,
239
+ skip: 0,
240
+ props: {
241
+ isRoot: true,
242
+ },
243
+ });
244
+ return toIdSet(monitors);
245
+ }
246
+ doesLabelSetMatchRule(data) {
247
+ if (data.ruleLabelIds.size === 0 || data.labelIds.size === 0) {
248
+ return false;
249
+ }
250
+ for (const labelId of data.labelIds) {
251
+ if (data.ruleLabelIds.has(labelId)) {
252
+ return true;
253
+ }
254
+ }
255
+ return false;
256
+ }
257
+ /**
258
+ * Applies a computed match set to one SLO and persists the difference.
259
+ *
260
+ * `matchedMonitorIds` is the full set of monitors the rule claims. Anything
261
+ * in it that is not attached gets attached and recorded as rule-owned;
262
+ * anything recorded as rule-owned that the rule no longer claims gets
263
+ * detached. Attachments that are not rule-owned are invisible to both
264
+ * halves, which is what keeps manual monitors safe.
265
+ */
266
+ async writeMembership(data) {
267
+ var _a;
268
+ const { slo, attachedMonitorIds, autoAddedMonitorIds, matchedMonitorIds } = data;
269
+ if (!slo.id) {
270
+ return emptyResult();
271
+ }
272
+ const monitorIdsAdded = Array.from(matchedMonitorIds).filter((id) => {
273
+ return !attachedMonitorIds.has(id);
274
+ });
275
+ const monitorIdsRemoved = Array.from(autoAddedMonitorIds).filter((id) => {
276
+ return !matchedMonitorIds.has(id);
277
+ });
278
+ /*
279
+ * A monitor the rule still matches but that a human attached by hand stays
280
+ * manual: it is never promoted into autoAddedMonitors, so dropping the
281
+ * label later detaches nothing.
282
+ */
283
+ const nextAutoAddedMonitorIds = new Set(Array.from(autoAddedMonitorIds).filter((id) => {
284
+ return matchedMonitorIds.has(id);
285
+ }));
286
+ for (const id of monitorIdsAdded) {
287
+ nextAutoAddedMonitorIds.add(id);
288
+ }
289
+ const nextAttachedMonitorIds = new Set(Array.from(attachedMonitorIds).filter((id) => {
290
+ return !monitorIdsRemoved.includes(id);
291
+ }));
292
+ for (const id of monitorIdsAdded) {
293
+ nextAttachedMonitorIds.add(id);
294
+ }
295
+ /*
296
+ * Nothing to write. Checked against both sets rather than against
297
+ * added/removed alone, because a repair can leave the monitor list
298
+ * untouched while still needing to fix the auto-added bookkeeping.
299
+ */
300
+ if (isSameSet(nextAttachedMonitorIds, attachedMonitorIds) &&
301
+ isSameSet(nextAutoAddedMonitorIds, autoAddedMonitorIds)) {
302
+ return emptyResult();
303
+ }
304
+ /*
305
+ * Cast through unknown: PartialEntity is a deep mapped type, and letting
306
+ * the compiler infer it for two arrays of Monitor (whose own relations
307
+ * fan out across most of the schema) trips TS2589 "type instantiation is
308
+ * excessively deep". The shape is exactly what the column types say.
309
+ */
310
+ const updateData = {
311
+ monitors: toMonitors(nextAttachedMonitorIds),
312
+ autoAddedMonitors: toMonitors(nextAutoAddedMonitorIds),
313
+ };
314
+ await ServiceLevelObjectiveService.updateOneById({
315
+ id: slo.id,
316
+ data: updateData,
317
+ props: {
318
+ isRoot: true,
319
+ },
320
+ });
321
+ logger.debug(`SLO monitor label rule synced SLO ${slo.id.toString()}: +${monitorIdsAdded.length} / -${monitorIdsRemoved.length} monitors`, { projectId: (_a = slo.projectId) === null || _a === void 0 ? void 0 : _a.toString() });
322
+ return {
323
+ monitorIdsAdded: monitorIdsAdded,
324
+ monitorIdsRemoved: monitorIdsRemoved,
325
+ };
326
+ }
327
+ }
328
+ __decorate([
329
+ CaptureSpan(),
330
+ __metadata("design:type", Function),
331
+ __metadata("design:paramtypes", [Object]),
332
+ __metadata("design:returntype", Promise)
333
+ ], ServiceLevelObjectiveMonitorRuleEngineServiceClass.prototype, "syncMonitorsForSlo", null);
334
+ __decorate([
335
+ CaptureSpan(),
336
+ __metadata("design:type", Function),
337
+ __metadata("design:paramtypes", [Object]),
338
+ __metadata("design:returntype", Promise)
339
+ ], ServiceLevelObjectiveMonitorRuleEngineServiceClass.prototype, "syncSlosForMonitor", null);
340
+ __decorate([
341
+ CaptureSpan(),
342
+ __metadata("design:type", Function),
343
+ __metadata("design:paramtypes", [Object]),
344
+ __metadata("design:returntype", Promise)
345
+ ], ServiceLevelObjectiveMonitorRuleEngineServiceClass.prototype, "findMonitorIdsWithAnyLabel", null);
346
+ export default new ServiceLevelObjectiveMonitorRuleEngineServiceClass();
347
+ //# sourceMappingURL=ServiceLevelObjectiveMonitorRuleEngineService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLevelObjectiveMonitorRuleEngineService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ import DatabaseService from "./DatabaseService";
25
25
  import MonitorStatusService from "./MonitorStatusService";
26
26
  import ProjectService from "./ProjectService";
27
27
  import ServiceLevelObjectiveBurnRateRuleService from "./ServiceLevelObjectiveBurnRateRuleService";
28
+ import ServiceLevelObjectiveMonitorRuleEngineService from "./ServiceLevelObjectiveMonitorRuleEngineService";
28
29
  import ServiceLevelObjectiveOwnerTeamService from "./ServiceLevelObjectiveOwnerTeamService";
29
30
  import ServiceLevelObjectiveOwnerUserService from "./ServiceLevelObjectiveOwnerUserService";
30
31
  import TeamMemberService from "./TeamMemberService";
@@ -93,7 +94,7 @@ export class Service extends DatabaseService {
93
94
  };
94
95
  }
95
96
  async onCreateSuccess(_onCreate, createdItem) {
96
- var _a, _b, _c, _d;
97
+ var _a, _b, _c, _d, _e, _f;
97
98
  /*
98
99
  * Stamp nextEvaluationAt = now so the evaluation worker picks this SLO up
99
100
  * on its next tick. Done here (isRoot update) instead of onBeforeCreate
@@ -122,6 +123,19 @@ export class Service extends DatabaseService {
122
123
  catch (err) {
123
124
  logger.error(`Error seeding default burn rate rules for SLO ${(_c = createdItem.id) === null || _c === void 0 ? void 0 : _c.toString()}: ${err}`, { projectId: (_d = createdItem.projectId) === null || _d === void 0 ? void 0 : _d.toString() });
124
125
  }
126
+ /*
127
+ * An SLO created with a label rule must already carry the monitors that
128
+ * rule matches — otherwise it reads "no monitors attached, cannot be
129
+ * evaluated" until someone happens to edit a monitor.
130
+ */
131
+ try {
132
+ await ServiceLevelObjectiveMonitorRuleEngineService.syncMonitorsForSlo({
133
+ serviceLevelObjectiveId: createdItem.id,
134
+ });
135
+ }
136
+ catch (err) {
137
+ logger.error(`Error applying the monitor label rule for SLO ${(_e = createdItem.id) === null || _e === void 0 ? void 0 : _e.toString()}: ${err}`, { projectId: (_f = createdItem.projectId) === null || _f === void 0 ? void 0 : _f.toString() });
138
+ }
125
139
  return createdItem;
126
140
  }
127
141
  async onBeforeUpdate(updateBy) {
@@ -182,6 +196,24 @@ export class Service extends DatabaseService {
182
196
  }
183
197
  }
184
198
  }
199
+ /*
200
+ * The label rule changed, so the monitor set it implies changed with it.
201
+ * Re-run it before the re-evaluation stamp below: the sync writes
202
+ * `monitors`, which goes through this same hook and stamps
203
+ * nextEvaluationAt itself once the new set is persisted.
204
+ */
205
+ if (onUpdate.updateBy.data.monitorLabels !== undefined) {
206
+ for (const updatedItemId of updatedItemIds) {
207
+ try {
208
+ await ServiceLevelObjectiveMonitorRuleEngineService.syncMonitorsForSlo({
209
+ serviceLevelObjectiveId: updatedItemId,
210
+ });
211
+ }
212
+ catch (err) {
213
+ logger.error(`Error applying the monitor label rule for SLO ${updatedItemId.toString()}: ${err}`);
214
+ }
215
+ }
216
+ }
185
217
  /*
186
218
  * If the objective's math inputs changed, force a re-evaluation on the
187
219
  * worker's next tick.
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceLevelObjectiveService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceLevelObjectiveService.js","sourceRoot":"","sources":["../../../../Server/Services/ServiceLevelObjectiveService.ts"],"names":[],"mappings":"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"}