@oneuptime/common 12.0.2 → 12.0.4

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 (384) hide show
  1. package/Models/DatabaseModels/CephCluster.ts +14 -0
  2. package/Models/DatabaseModels/CodeRepository.ts +14 -6
  3. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +14 -0
  4. package/Models/DatabaseModels/DockerHost.ts +14 -0
  5. package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
  6. package/Models/DatabaseModels/GlobalSsoProject.ts +18 -0
  7. package/Models/DatabaseModels/Index.ts +2 -0
  8. package/Models/DatabaseModels/IoTFleet.ts +14 -0
  9. package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
  10. package/Models/DatabaseModels/LogDropFilter.ts +9 -20
  11. package/Models/DatabaseModels/NetworkDevice.ts +14 -0
  12. package/Models/DatabaseModels/NetworkInterface.ts +18 -0
  13. package/Models/DatabaseModels/Project.ts +16 -2
  14. package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
  15. package/Models/DatabaseModels/Service.ts +30 -0
  16. package/Models/DatabaseModels/StatusPageMonitorRule.ts +911 -0
  17. package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
  18. package/Models/DatabaseModels/StatusPageResource.ts +73 -0
  19. package/Models/DatabaseModels/TraceDropFilter.ts +9 -20
  20. package/Models/DatabaseModels/User.ts +30 -0
  21. package/Server/API/AIAgentDataAPI.ts +31 -0
  22. package/Server/API/BaseAPI.ts +13 -2
  23. package/Server/API/DashboardAPI.ts +458 -12
  24. package/Server/API/GitHubAPI.ts +119 -283
  25. package/Server/API/UserAPI.ts +263 -1
  26. package/Server/EnvironmentConfig.ts +38 -4
  27. package/Server/Infrastructure/GlobalCache.ts +152 -0
  28. package/Server/Infrastructure/Postgres/DataSourceOptions.ts +16 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.ts +123 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  36. package/Server/Services/AlertStateTimelineService.ts +20 -0
  37. package/Server/Services/AnalyticsDatabaseService.ts +72 -1
  38. package/Server/Services/CephClusterService.ts +26 -86
  39. package/Server/Services/CloudResourceService.ts +23 -83
  40. package/Server/Services/CodeRepositoryService.ts +105 -2
  41. package/Server/Services/DatabaseService.ts +296 -2
  42. package/Server/Services/DockerHostService.ts +19 -79
  43. package/Server/Services/DockerSwarmClusterService.ts +27 -88
  44. package/Server/Services/HostService.ts +46 -99
  45. package/Server/Services/IncidentStateTimelineService.ts +20 -0
  46. package/Server/Services/Index.ts +2 -0
  47. package/Server/Services/IoTFleetService.ts +19 -79
  48. package/Server/Services/KubernetesClusterService.ts +17 -78
  49. package/Server/Services/LabelService.ts +57 -10
  50. package/Server/Services/MetricTypeService.ts +84 -0
  51. package/Server/Services/MonitorService.ts +89 -14
  52. package/Server/Services/MonitorStatusTimelineService.ts +29 -0
  53. package/Server/Services/MonitorTemplateService.ts +65 -0
  54. package/Server/Services/OpenTelemetryIngestService.ts +230 -26
  55. package/Server/Services/PodmanHostService.ts +19 -79
  56. package/Server/Services/ProxmoxClusterService.ts +23 -83
  57. package/Server/Services/RumApplicationService.ts +19 -80
  58. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +21 -0
  59. package/Server/Services/ServerlessFunctionService.ts +24 -85
  60. package/Server/Services/ServiceService.ts +299 -73
  61. package/Server/Services/StatusPageMonitorRuleEngineService.ts +752 -0
  62. package/Server/Services/StatusPageMonitorRuleService.ts +471 -0
  63. package/Server/Services/TelemetryEntityRelationshipService.ts +1 -0
  64. package/Server/Services/TelemetryEntityService.ts +1 -0
  65. package/Server/Services/UserService.ts +184 -0
  66. package/Server/Utils/AI/Toolbox/CodeTools.ts +45 -4
  67. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
  68. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
  69. package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -0
  70. package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +170 -39
  71. package/Server/Utils/Monitor/MonitorResource.ts +63 -36
  72. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +36 -0
  73. package/Server/Utils/Monitor/MonitorStepsProjectValidator.ts +148 -127
  74. package/Server/Utils/Monitor/MonitorStepsReferenceExtractor.ts +434 -0
  75. package/Server/Utils/PasswordHash.ts +306 -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/OverviewCustomFields.test.tsx +333 -0
  82. package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -0
  83. package/Tests/App/Dashboard/WidgetCatalog.test.ts +2 -0
  84. package/Tests/Models/DatabaseModels/ColumnTransformerInvariants.test.ts +306 -0
  85. package/Tests/Models/DatabaseModels/NumberColumnDeserialization.test.ts +333 -0
  86. package/Tests/Models/DatabaseModels/StatusPageMonitorRuleModel.test.ts +190 -0
  87. package/Tests/Server/API/AIAgentDataRepositoryToken.test.ts +381 -0
  88. package/Tests/Server/API/DashboardPublicAttributeValuesAPI.test.ts +943 -0
  89. package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
  90. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +26 -0
  91. package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
  92. package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
  93. package/Tests/Server/API/Helpers.ts +6 -1
  94. package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
  95. package/Tests/Server/Infrastructure/GlobalCache.test.ts +354 -0
  96. package/Tests/Server/Infrastructure/PostgresLockTimeoutOptions.test.ts +181 -0
  97. package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -0
  98. package/Tests/Server/Services/AddPerUserPasswordSaltMigration.test.ts +178 -0
  99. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
  100. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +5 -0
  101. package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
  102. package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
  103. package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +870 -0
  104. package/Tests/Server/Services/DatabaseServiceUpdateColumnsIfUnlocked.test.ts +342 -0
  105. package/Tests/Server/Services/DropFilterSaveValidation.test.ts +245 -0
  106. package/Tests/Server/Services/HostServiceUpdateLastSeen.test.ts +163 -15
  107. package/Tests/Server/Services/MetricTypeAttachServices.test.ts +222 -0
  108. package/Tests/Server/Services/MissingReferenceWriteGuard.test.ts +614 -0
  109. package/Tests/Server/Services/MonitorStatusTimelineFastPath.test.ts +23 -0
  110. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +568 -0
  111. package/Tests/Server/Services/ResourceUpdateLastSeenLivenessFallback.test.ts +305 -56
  112. package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
  113. package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
  114. package/Tests/Server/Services/ServiceUpdateLastSeenSplitGates.test.ts +705 -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/UserServiceFirstMasterAdminElection.test.ts +885 -0
  119. package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -0
  120. package/Tests/Server/Utils/AI/CodeTools.test.ts +47 -1
  121. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
  122. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +267 -0
  123. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
  124. package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
  125. package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +260 -13
  126. package/Tests/Server/Utils/EntityRegistryRowFence.test.ts +302 -0
  127. package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
  128. package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -0
  129. package/Tests/Server/Utils/MetricTypeIndexConvergence.test.ts +598 -0
  130. package/Tests/Server/Utils/Monitor/MonitorStatusTimelineUnusableStatus.test.ts +154 -0
  131. package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidator.test.ts +638 -92
  132. package/Tests/Server/Utils/Monitor/MonitorStepsReferenceExtractor.test.ts +724 -0
  133. package/Tests/Server/Utils/PasswordHash.test.ts +555 -0
  134. package/Tests/Server/Utils/SingleFlight.test.ts +221 -0
  135. package/Tests/Types/Dashboard/NetworkDashboardTemplate.test.ts +793 -0
  136. package/Tests/Types/Database/BigIntColumnTransformer.test.ts +147 -0
  137. package/Tests/Types/Database/ColumnLength.test.ts +7 -1
  138. package/Tests/Types/Database/DatabasePropertyTransformer.test.ts +140 -0
  139. package/Tests/Types/Database/NumericColumnValue.test.ts +127 -0
  140. package/Tests/Types/Decimal.test.ts +37 -0
  141. package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
  142. package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
  143. package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
  144. package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -0
  145. package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +271 -0
  146. package/Tests/Types/Monitor/SnmpVersionParsing.test.ts +152 -0
  147. package/Tests/Types/Port.test.ts +38 -0
  148. package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +696 -0
  149. package/Tests/UI/Components/LogsHistogram.test.tsx +276 -0
  150. package/Tests/UI/Components/UseLiveLogsRefresh.test.tsx +489 -0
  151. package/Tests/UI/Components/UseLogsHistogram.test.tsx +500 -0
  152. package/Tests/UI/Utils/UserProjectsModelAPI.test.ts +714 -0
  153. package/Tests/Utils/Dashboard/Components/DashboardComponentsUtil.test.ts +120 -0
  154. package/Tests/Utils/Dashboard/DashboardNetworkMapComponent.test.ts +327 -0
  155. package/Tests/Utils/TeamMembersByProject.test.ts +655 -0
  156. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  157. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  158. package/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.ts +40 -0
  159. package/Types/Dashboard/DashboardTemplates.ts +397 -0
  160. package/Types/Database/BigIntColumnTransformer.ts +74 -0
  161. package/Types/Database/ColumnLength.ts +9 -1
  162. package/Types/Database/DatabaseProperty.ts +26 -0
  163. package/Types/Database/NumericColumnValue.ts +128 -0
  164. package/Types/Database/TableColumn.ts +11 -0
  165. package/Types/Database/UnsynchronizedIndex.ts +48 -0
  166. package/Types/Decimal.ts +16 -4
  167. package/Types/HashedString.ts +139 -4
  168. package/Types/Permission.ts +48 -0
  169. package/Types/Port.ts +16 -4
  170. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +85 -11
  171. package/UI/Components/LogsViewer/useLiveLogsRefresh.ts +86 -0
  172. package/UI/Components/LogsViewer/useLogsHistogram.ts +113 -0
  173. package/UI/Components/Navbar/NavBar.tsx +12 -2
  174. package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
  175. package/UI/Utils/ModelAPI/UserProjectsModelAPI.ts +257 -0
  176. package/Utils/Dashboard/Components/DashboardNetworkMapComponent.ts +136 -0
  177. package/Utils/Dashboard/Components/Index.ts +7 -0
  178. package/Utils/TeamMembersByProject.ts +237 -0
  179. package/build/dist/Models/DatabaseModels/CephCluster.js +16 -1
  180. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  181. package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
  182. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  183. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +12 -0
  184. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  185. package/build/dist/Models/DatabaseModels/DockerHost.js +16 -1
  186. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  187. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
  188. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
  189. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
  190. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
  191. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  192. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/IoTFleet.js +16 -1
  194. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
  195. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
  196. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  197. package/build/dist/Models/DatabaseModels/LogDropFilter.js +9 -20
  198. package/build/dist/Models/DatabaseModels/LogDropFilter.js.map +1 -1
  199. package/build/dist/Models/DatabaseModels/NetworkDevice.js +16 -1
  200. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  201. package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
  202. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
  203. package/build/dist/Models/DatabaseModels/Project.js +16 -2
  204. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  205. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
  206. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  207. package/build/dist/Models/DatabaseModels/Service.js +28 -1
  208. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  209. package/build/dist/Models/DatabaseModels/StatusPageMonitorRule.js +925 -0
  210. package/build/dist/Models/DatabaseModels/StatusPageMonitorRule.js.map +1 -0
  211. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
  212. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  213. package/build/dist/Models/DatabaseModels/StatusPageResource.js +72 -0
  214. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  215. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +9 -20
  216. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -1
  217. package/build/dist/Models/DatabaseModels/User.js +32 -0
  218. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  219. package/build/dist/Server/API/AIAgentDataAPI.js +21 -2
  220. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  221. package/build/dist/Server/API/BaseAPI.js +11 -1
  222. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  223. package/build/dist/Server/API/DashboardAPI.js +343 -10
  224. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  225. package/build/dist/Server/API/GitHubAPI.js +94 -167
  226. package/build/dist/Server/API/GitHubAPI.js.map +1 -1
  227. package/build/dist/Server/API/UserAPI.js +187 -2
  228. package/build/dist/Server/API/UserAPI.js.map +1 -1
  229. package/build/dist/Server/EnvironmentConfig.js +34 -4
  230. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  231. package/build/dist/Server/Infrastructure/GlobalCache.js +120 -0
  232. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  233. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js +5 -3
  234. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js.map +1 -1
  235. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.js +48 -0
  236. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786005052769-AddStatusPageMonitorRule.js.map +1 -0
  237. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
  238. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
  239. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
  240. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
  241. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
  242. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js.map +1 -0
  243. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
  244. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
  245. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
  246. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js.map +1 -0
  247. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  248. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  249. package/build/dist/Server/Services/AlertStateTimelineService.js +19 -0
  250. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
  251. package/build/dist/Server/Services/AnalyticsDatabaseService.js +57 -1
  252. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  253. package/build/dist/Server/Services/CephClusterService.js +26 -76
  254. package/build/dist/Server/Services/CephClusterService.js.map +1 -1
  255. package/build/dist/Server/Services/CloudResourceService.js +23 -73
  256. package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
  257. package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
  258. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
  259. package/build/dist/Server/Services/DatabaseService.js +246 -2
  260. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  261. package/build/dist/Server/Services/DockerHostService.js +19 -69
  262. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  263. package/build/dist/Server/Services/DockerSwarmClusterService.js +27 -78
  264. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -1
  265. package/build/dist/Server/Services/HostService.js +58 -102
  266. package/build/dist/Server/Services/HostService.js.map +1 -1
  267. package/build/dist/Server/Services/IncidentStateTimelineService.js +19 -0
  268. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  269. package/build/dist/Server/Services/Index.js +2 -0
  270. package/build/dist/Server/Services/Index.js.map +1 -1
  271. package/build/dist/Server/Services/IoTFleetService.js +19 -69
  272. package/build/dist/Server/Services/IoTFleetService.js.map +1 -1
  273. package/build/dist/Server/Services/KubernetesClusterService.js +17 -68
  274. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  275. package/build/dist/Server/Services/LabelService.js +42 -7
  276. package/build/dist/Server/Services/LabelService.js.map +1 -1
  277. package/build/dist/Server/Services/MetricTypeService.js +74 -0
  278. package/build/dist/Server/Services/MetricTypeService.js.map +1 -1
  279. package/build/dist/Server/Services/MonitorService.js +81 -9
  280. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  281. package/build/dist/Server/Services/MonitorStatusTimelineService.js +28 -0
  282. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  283. package/build/dist/Server/Services/MonitorTemplateService.js +60 -0
  284. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  285. package/build/dist/Server/Services/OpenTelemetryIngestService.js +155 -25
  286. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  287. package/build/dist/Server/Services/PodmanHostService.js +19 -69
  288. package/build/dist/Server/Services/PodmanHostService.js.map +1 -1
  289. package/build/dist/Server/Services/ProxmoxClusterService.js +23 -73
  290. package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -1
  291. package/build/dist/Server/Services/RumApplicationService.js +19 -70
  292. package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
  293. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +20 -0
  294. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  295. package/build/dist/Server/Services/ServerlessFunctionService.js +24 -75
  296. package/build/dist/Server/Services/ServerlessFunctionService.js.map +1 -1
  297. package/build/dist/Server/Services/ServiceService.js +236 -61
  298. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  299. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +603 -0
  300. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -0
  301. package/build/dist/Server/Services/StatusPageMonitorRuleService.js +401 -0
  302. package/build/dist/Server/Services/StatusPageMonitorRuleService.js.map +1 -0
  303. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +1 -0
  304. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -1
  305. package/build/dist/Server/Services/TelemetryEntityService.js +1 -0
  306. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -1
  307. package/build/dist/Server/Services/UserService.js +165 -0
  308. package/build/dist/Server/Services/UserService.js.map +1 -1
  309. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +31 -1
  310. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -1
  311. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +13 -0
  312. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  313. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
  314. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  315. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
  316. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
  317. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +105 -29
  318. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -1
  319. package/build/dist/Server/Utils/Monitor/MonitorResource.js +56 -32
  320. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  321. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +30 -3
  322. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
  323. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js +110 -98
  324. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js.map +1 -1
  325. package/build/dist/Server/Utils/Monitor/MonitorStepsReferenceExtractor.js +312 -0
  326. package/build/dist/Server/Utils/Monitor/MonitorStepsReferenceExtractor.js.map +1 -0
  327. package/build/dist/Server/Utils/PasswordHash.js +237 -0
  328. package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
  329. package/build/dist/Server/Utils/SingleFlight.js +76 -0
  330. package/build/dist/Server/Utils/SingleFlight.js.map +1 -0
  331. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js +29 -0
  332. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js.map +1 -0
  333. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +78 -19
  334. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  335. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js +160 -0
  336. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js.map +1 -0
  337. package/build/dist/Server/Utils/Telemetry/Telemetry.js +279 -104
  338. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  339. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  340. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  341. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  342. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  343. package/build/dist/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.js +2 -0
  344. package/build/dist/Types/Dashboard/DashboardComponents/DashboardNetworkMapComponent.js.map +1 -0
  345. package/build/dist/Types/Dashboard/DashboardTemplates.js +368 -0
  346. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  347. package/build/dist/Types/Database/BigIntColumnTransformer.js +66 -0
  348. package/build/dist/Types/Database/BigIntColumnTransformer.js.map +1 -0
  349. package/build/dist/Types/Database/ColumnLength.js +9 -1
  350. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  351. package/build/dist/Types/Database/DatabaseProperty.js +25 -0
  352. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  353. package/build/dist/Types/Database/NumericColumnValue.js +97 -0
  354. package/build/dist/Types/Database/NumericColumnValue.js.map +1 -0
  355. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  356. package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
  357. package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
  358. package/build/dist/Types/Decimal.js +14 -3
  359. package/build/dist/Types/Decimal.js.map +1 -1
  360. package/build/dist/Types/HashedString.js +95 -5
  361. package/build/dist/Types/HashedString.js.map +1 -1
  362. package/build/dist/Types/Permission.js +42 -0
  363. package/build/dist/Types/Permission.js.map +1 -1
  364. package/build/dist/Types/Port.js +15 -5
  365. package/build/dist/Types/Port.js.map +1 -1
  366. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +51 -10
  367. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  368. package/build/dist/UI/Components/LogsViewer/useLiveLogsRefresh.js +44 -0
  369. package/build/dist/UI/Components/LogsViewer/useLiveLogsRefresh.js.map +1 -0
  370. package/build/dist/UI/Components/LogsViewer/useLogsHistogram.js +75 -0
  371. package/build/dist/UI/Components/LogsViewer/useLogsHistogram.js.map +1 -0
  372. package/build/dist/UI/Components/Navbar/NavBar.js +3 -1
  373. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  374. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
  375. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  376. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js +156 -0
  377. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
  378. package/build/dist/Utils/Dashboard/Components/DashboardNetworkMapComponent.js +114 -0
  379. package/build/dist/Utils/Dashboard/Components/DashboardNetworkMapComponent.js.map +1 -0
  380. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  381. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  382. package/build/dist/Utils/TeamMembersByProject.js +145 -0
  383. package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
  384. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectScopedReferenceValidator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Database/ProjectScopedReferenceValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectScopedReferenceValidator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Database/ProjectScopedReferenceValidator.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAoE/C;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc;IAEd,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GACZ,KAAgE,CAAC;IAEnE,OAAO,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,+BAA+B;IAC3C,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,IAKrD;;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB;;;;eAIG;YACH,OAAO;QACT,CAAC;QAED;;;WAGG;QACH,MAAM,YAAY,GAGd,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,EAAE,GAAW,CAAA,MAAA,SAAS,CAAC,EAAE,0CAAE,QAAQ,GAAG,IAAI,EAAE,KAAI,EAAE,CAAC;YAEzD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,SAAS;YACX,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,SAAS,GAAoC,YAAY,CAAC,GAAG,CACjE,SAAS,CAAC,OAAO,CACjB,CAAC;YAEH,MAAM,GAAG,GAAW,WAAW,CAAC,EAAE,CAAC,CAAC;YAEpC,MAAM,QAAQ,GAAmC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEpE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,EAAE,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,KAAI,EAAE;gBACtB;;;;mBAIG;gBACH,SAAS,EACP,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,mCAAI,KAAK,CAAC,IAAI,CAAC,MAAA,SAAS,CAAC,SAAS,mCAAI,IAAI,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAA4B,EAAE,CAAC;QACtD,MAAM,iBAAiB,GAA4B,EAAE,CAAC;QAEtD,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,YAAY,EAAE,CAAC;YACpD;;;;;;;eAOG;YACH,MAAM,eAAe,GAAsB,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,gBAAgB,GAAkB,eAAe,CAAC,eAAe,EAAE,CAAC;YAC1E,MAAM,aAAa,GAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEjE,MAAM,MAAM,GAA8B;gBACxC,GAAG,EAAE,IAAI;aACmB,CAAC;YAE/B,IAAI,aAAa,EAAE,CAAC;gBACjB,MAA8B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACjD,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACpB,MAA8B,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAC3D,CAAC;YAED,MAAM,OAAO,GAA6B,MAAM,OAAO,CAAC,MAAM,CAAC;gBAC7D,KAAK,EAAE;oBACL,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;iBACvD;gBACD,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;YAExC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAW,WAAW,CAAC,CAAA,MAAA,MAAM,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC,CAAC;gBAE7D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,sEAAsE;oBACtE,SAAS;gBACX,CAAC;gBAED,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,CAAW,gBAAgB,CAAC,IAAI,SAAS,CAAC;gBAE3D,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,EAAE,MAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,CAAA,MAAA,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,SAAS,KAAI,QAAQ;oBACvD,IAAI,EACF,CAAC,aAAa,KAAI,MAAA,MAAM,CAAC,QAAQ,CAAS,MAAM,CAAC,0CAAE,QAAQ,EAAE,CAAA,CAAC;wBAC9D,EAAE;iBACL,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC5C,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBAC7C,SAAS;gBACX,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,8DAA8D;oBAC9D,EAAE,EAAE,SAAS,CAAC,EAAE;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED;;;;;WAKG;QACH,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAW,iBAAiB;iBACxC,GAAG,CAAC,CAAC,SAA2B,EAAE,EAAE;gBACnC,OAAO,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,GAAG,CAAC;YACtD,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,CAAC,IAAI,CACV,0DAA0D,SAAS,uDAAuD,CAC3H,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAW,iBAAiB;iBACxC,GAAG,CAAC,CAAC,SAA2B,EAAE,EAAE;gBACnC,OAAO,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,GAAG,CAAC;YACpD,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,CAAC,IAAI,CACV,yCAAyC,SAAS,gEAAgE,CACnH,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,gBAAgB,CACxB,QAAQ,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAIrC;;QACC,MAAM,EAAE,GAAW,CAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;QAE7C,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;aACE;YAC7B,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -31,11 +31,12 @@ import MonitorStatusTimelineUtil from "./MonitorStatusTimeline";
31
31
  import CaptureSpan from "../Telemetry/CaptureSpan";
32
32
  import ExceptionMessages from "../../../Types/Exception/ExceptionMessages";
33
33
  import MonitorStatusService from "../../Services/MonitorStatusService";
34
+ import ProjectScopedReferenceValidator from "../Database/ProjectScopedReferenceValidator";
34
35
  import { ProbeConnectionStatus } from "../../../Models/DatabaseModels/Probe";
35
36
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
36
37
  export default class MonitorResourceUtil {
37
38
  static async monitorResource(dataToProcess) {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
39
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
39
40
  let response = {
40
41
  monitorId: dataToProcess.monitorId,
41
42
  criteriaMetId: undefined,
@@ -769,41 +770,64 @@ export default class MonitorResourceUtil {
769
770
  * mask the very lock failure the error log surfaces.
770
771
  */
771
772
  let revertedToDefaultStatus = true;
772
- try {
773
- await MonitorStatusTimelineService.create({
774
- data: monitorStatusTimeline,
775
- props: {
776
- isRoot: true,
777
- },
778
- });
779
- logger.debug(`${dataToProcess.monitorId.toString()} - Monitor status updated to default.`);
773
+ /*
774
+ * The stored default status can be a status that no longer exists, or
775
+ * one from another project: monitorSteps is a JSON blob with no
776
+ * foreign key behind it, and before issue #3039 was fixed the API
777
+ * accepted any uuid for it. Writing it raised the
778
+ * "violates foreign key constraint" error from the probe/telemetry
779
+ * worker and failed the whole ingest run for this monitor, losing the
780
+ * monitor log and payload persisted below. Skip the revert and log,
781
+ * the same way the criteria path in Utils/Monitor/MonitorStatusTimeline
782
+ * does. New writes are rejected up front by
783
+ * MonitorStepsProjectValidator.
784
+ */
785
+ const isDefaultStatusUsable = await ProjectScopedReferenceValidator.isUsableInProject({
786
+ projectId: monitor.projectId,
787
+ id: monitorSteps.data.defaultMonitorStatusId,
788
+ service: MonitorStatusService,
789
+ });
790
+ if (!isDefaultStatusUsable) {
791
+ logger.error(`${dataToProcess.monitorId.toString()} - The default monitor status ${monitorSteps.data.defaultMonitorStatusId.toString()} does not exist in project ${(_t = monitor.projectId) === null || _t === void 0 ? void 0 : _t.toString()}. Skipping revert to default status. Please pick a default monitor status that exists in this project.`);
792
+ revertedToDefaultStatus = false;
780
793
  }
781
- catch (err) {
782
- /*
783
- * Idempotent concurrency race (see MonitorStatusTimeline.ts): a
784
- * concurrent result already moved the monitor to this default status,
785
- * so onBeforeCreate's dedupe check throws this exact BadDataException.
786
- * Treat as a no-op at debug level rather than failing the job. Match the
787
- * exact message so unrelated BadDataExceptions still propagate.
788
- */
789
- if (err instanceof BadDataException &&
790
- err.message === MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE) {
791
- logger.debug(`${dataToProcess.monitorId.toString()} - Monitor status already at default; skipping duplicate status timeline (concurrent race).`);
794
+ else {
795
+ try {
796
+ await MonitorStatusTimelineService.create({
797
+ data: monitorStatusTimeline,
798
+ props: {
799
+ isRoot: true,
800
+ },
801
+ });
802
+ logger.debug(`${dataToProcess.monitorId.toString()} - Monitor status updated to default.`);
792
803
  }
793
- else if (err instanceof ServerException &&
794
- err.message === MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE) {
804
+ catch (err) {
795
805
  /*
796
- * The per-monitor timeline mutex could not be acquired (fail-closed
797
- * create, see MonitorStatusTimelineService). Skipping is recoverable:
798
- * the next probe result re-evaluates the same criteria and recreates
799
- * the revert-to-default, while failing here would abort the whole
800
- * ingest run and lose the monitor log for this probe result.
806
+ * Idempotent concurrency race (see MonitorStatusTimeline.ts): a
807
+ * concurrent result already moved the monitor to this default status,
808
+ * so onBeforeCreate's dedupe check throws this exact BadDataException.
809
+ * Treat as a no-op at debug level rather than failing the job. Match the
810
+ * exact message so unrelated BadDataExceptions still propagate.
801
811
  */
802
- logger.error(`${dataToProcess.monitorId.toString()} - Could not acquire the monitor status timeline lock; skipping revert to default status. It will be retried on the next probe result.`);
803
- revertedToDefaultStatus = false;
804
- }
805
- else {
806
- throw err;
812
+ if (err instanceof BadDataException &&
813
+ err.message === MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE) {
814
+ logger.debug(`${dataToProcess.monitorId.toString()} - Monitor status already at default; skipping duplicate status timeline (concurrent race).`);
815
+ }
816
+ else if (err instanceof ServerException &&
817
+ err.message === MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE) {
818
+ /*
819
+ * The per-monitor timeline mutex could not be acquired (fail-closed
820
+ * create, see MonitorStatusTimelineService). Skipping is recoverable:
821
+ * the next probe result re-evaluates the same criteria and recreates
822
+ * the revert-to-default, while failing here would abort the whole
823
+ * ingest run and lose the monitor log for this probe result.
824
+ */
825
+ logger.error(`${dataToProcess.monitorId.toString()} - Could not acquire the monitor status timeline lock; skipping revert to default status. It will be retried on the next probe result.`);
826
+ revertedToDefaultStatus = false;
827
+ }
828
+ else {
829
+ throw err;
830
+ }
807
831
  }
808
832
  }
809
833
  if (revertedToDefaultStatus) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,15 @@ import MonitorStatusTimeline from "../../../Models/DatabaseModels/MonitorStatusT
11
11
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
12
12
  import BadDataException from "../../../Types/Exception/BadDataException";
13
13
  import MonitorStatusTimelineService, { MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE, MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE, } from "../../Services/MonitorStatusTimelineService";
14
+ import MonitorStatusService from "../../Services/MonitorStatusService";
14
15
  import ServerException from "../../../Types/Exception/ServerException";
16
+ import ProjectScopedReferenceValidator from "../Database/ProjectScopedReferenceValidator";
15
17
  import logger from "../Logger";
16
18
  import CaptureSpan from "../Telemetry/CaptureSpan";
17
19
  export default class MonitorStatusTimelineUtil {
18
20
  static async updateMonitorStatusTimeline(input) {
19
21
  // criteria filters are met, now process the actions.
20
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
21
23
  /*
22
24
  * Steady-state fast-path: the criteria's target status is already the
23
25
  * monitor's current status (the standard "online criteria matched on a
@@ -81,6 +83,31 @@ export default class MonitorStatusTimelineUtil {
81
83
  if (!monitorStatusId) {
82
84
  throw new BadDataException("Monitor status is not defined.");
83
85
  }
86
+ /*
87
+ * The criteria can name a status that no longer exists, or that belongs to
88
+ * another project: monitorSteps is a JSON blob with no foreign key behind
89
+ * it, so deleting a monitor status does not rewrite the criteria that
90
+ * point at it, and before issue #3039 was fixed the API accepted any uuid
91
+ * here in the first place. Writing it anyway is what raised
92
+ * insert or update on table "MonitorStatusTimeline" violates foreign key
93
+ * constraint
94
+ * inside the probe/telemetry worker, failing the whole ingest run for this
95
+ * monitor - no status change, and no monitor log or payload persisted
96
+ * either, because those come after this. Skip the status change and log,
97
+ * the same way MonitorIncident and MonitorAlert handle an unusable
98
+ * severity. New writes are rejected up front by
99
+ * MonitorStepsProjectValidator, so this only ever fires for monitors saved
100
+ * before that guard existed.
101
+ */
102
+ const isMonitorStatusUsable = await ProjectScopedReferenceValidator.isUsableInProject({
103
+ projectId: input.monitor.projectId,
104
+ id: monitorStatusId,
105
+ service: MonitorStatusService,
106
+ });
107
+ if (!isMonitorStatusUsable) {
108
+ logger.error(`${(_s = input.monitor.id) === null || _s === void 0 ? void 0 : _s.toString()} - Criteria "${(_t = input.criteriaInstance.data) === null || _t === void 0 ? void 0 : _t.name}" changes the monitor status to ${monitorStatusId.toString()}, which does not exist in project ${(_u = input.monitor.projectId) === null || _u === void 0 ? void 0 : _u.toString()}. Skipping the status change. Please pick a monitor status that exists in this project.`, monitorLogAttributes);
109
+ return null;
110
+ }
84
111
  //change monitor status.
85
112
  // get last status of this monitor.
86
113
  // get last monitor status timeline.
@@ -120,7 +147,7 @@ export default class MonitorStatusTimelineUtil {
120
147
  */
121
148
  if (err instanceof BadDataException &&
122
149
  err.message === MONITOR_STATUS_SAME_AS_PREVIOUS_ERROR_MESSAGE) {
123
- logger.debug(`${(_s = input.monitor.id) === null || _s === void 0 ? void 0 : _s.toString()} - Monitor status already equals desired status; skipping duplicate status timeline (concurrent race).`);
150
+ logger.debug(`${(_v = input.monitor.id) === null || _v === void 0 ? void 0 : _v.toString()} - Monitor status already equals desired status; skipping duplicate status timeline (concurrent race).`);
124
151
  return null;
125
152
  }
126
153
  /*
@@ -136,7 +163,7 @@ export default class MonitorStatusTimelineUtil {
136
163
  */
137
164
  if (err instanceof ServerException &&
138
165
  err.message === MONITOR_STATUS_TIMELINE_LOCK_ERROR_MESSAGE) {
139
- logger.error(`${(_t = input.monitor.id) === null || _t === void 0 ? void 0 : _t.toString()} - Could not acquire the monitor status timeline lock; skipping this status change. It will be retried on the next probe result.`);
166
+ logger.error(`${(_w = input.monitor.id) === null || _w === void 0 ? void 0 : _w.toString()} - Could not acquire the monitor status timeline lock; skipping this status change. It will be retried on the next probe result.`);
140
167
  return null;
141
168
  }
142
169
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorStatusTimeline.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorStatusTimeline.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimeline.ts"],"names":[],"mappings":"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"}
@@ -1,117 +1,129 @@
1
1
  import AlertSeverityService from "../../Services/AlertSeverityService";
2
+ import IncidentRoleService from "../../Services/IncidentRoleService";
2
3
  import IncidentSeverityService from "../../Services/IncidentSeverityService";
4
+ import LabelService from "../../Services/LabelService";
3
5
  import MonitorStatusService from "../../Services/MonitorStatusService";
4
- import QueryHelper from "../../Types/Database/QueryHelper";
5
- import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
6
- import BadDataException from "../../../Types/Exception/BadDataException";
7
- import MonitorSteps from "../../../Types/Monitor/MonitorSteps";
8
- const UUID_REGEX = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/g;
6
+ import NetworkDeviceService from "../../Services/NetworkDeviceService";
7
+ import OnCallDutyPolicyService from "../../Services/OnCallDutyPolicyService";
8
+ import ServiceService from "../../Services/ServiceService";
9
+ import TeamService from "../../Services/TeamService";
10
+ import UserService from "../../Services/UserService";
11
+ import ProjectScopedReferenceValidator from "../Database/ProjectScopedReferenceValidator";
12
+ import MonitorStepsReferenceExtractor, { MonitorStepsReferenceModel, } from "./MonitorStepsReferenceExtractor";
9
13
  /*
10
- * `monitorSteps` is a JSON blob that embeds ids of other project-scoped
11
- * records — the default monitor status, the status each criteria switches to,
12
- * and the severities used to open incidents and alerts. Nothing used to check
13
- * that those ids belonged to the monitor's own project, so a status id from a
14
- * second project could be saved and then stamped onto every
15
- * MonitorStatusTimeline row the monitor wrote. That silently ties two projects
16
- * together and leaves the referenced project undeletable.
14
+ * `monitorSteps` is a JSON blob that embeds ids of other records — the default
15
+ * monitor status, the status each criteria switches to, the severities used to
16
+ * open incidents and alerts, and the on-call policies, labels, teams and users
17
+ * stamped on what those incidents and alerts create.
17
18
  *
18
- * The check below is deliberately narrow: it only rejects an id that really is
19
- * another project's record. monitorSteps is full of unrelated uuids (step ids,
20
- * criteria ids, incident/alert template ids) and those never match a row here,
21
- * so they pass through untouched. Ids that match nothing at all are also left
22
- * alone refusing them would block users from saving their way out of a
23
- * monitor that already references a deleted record.
19
+ * Two things can be wrong with one of those ids, and both used to be accepted:
20
+ *
21
+ * 1. It belongs to ANOTHER project. That silently ties two projects together
22
+ * and leaves the referenced project undeletable, because the row the id ends
23
+ * up on (a MonitorStatusTimeline, an Incident) has an ON DELETE NO ACTION
24
+ * foreign key pointing back at it.
25
+ *
26
+ * 2. It exists nowhere at all (issue #3039). The monitor saved fine and then
27
+ * failed every time it ran, deep inside the probe worker, with
28
+ * insert or update on table "MonitorStatusTimeline" violates foreign key
29
+ * constraint
30
+ * and nothing surfaced to whoever supplied the id — which is easy to do over
31
+ * the REST API or Terraform, where these are just uuids in a JSON body.
32
+ *
33
+ * Telling a real reference apart from the many uuids in monitorSteps that are
34
+ * NOT references (step ids, criteria ids, incident/alert template ids) is what
35
+ * makes check 2 possible, and that is MonitorStepsReferenceExtractor's job: it
36
+ * walks the structure instead of scraping the text, so every id it hands back
37
+ * is known to point at a specific model.
24
38
  */
39
+ const SERVICE_BY_MODEL = {
40
+ [MonitorStepsReferenceModel.MonitorStatus]: MonitorStatusService,
41
+ [MonitorStepsReferenceModel.IncidentSeverity]: IncidentSeverityService,
42
+ [MonitorStepsReferenceModel.AlertSeverity]: AlertSeverityService,
43
+ [MonitorStepsReferenceModel.OnCallDutyPolicy]: OnCallDutyPolicyService,
44
+ [MonitorStepsReferenceModel.Label]: LabelService,
45
+ [MonitorStepsReferenceModel.Team]: TeamService,
46
+ [MonitorStepsReferenceModel.User]: UserService,
47
+ [MonitorStepsReferenceModel.IncidentRole]: IncidentRoleService,
48
+ [MonitorStepsReferenceModel.TelemetryService]: ServiceService,
49
+ [MonitorStepsReferenceModel.NetworkDevice]: NetworkDeviceService,
50
+ };
25
51
  export default class MonitorStepsProjectValidator {
26
52
  static async validateMonitorStepsBelongToProject(data) {
27
- var _a, _b, _c, _d, _e, _f;
28
53
  if (!data.monitorSteps || !data.projectId) {
29
54
  return;
30
55
  }
31
- const referencedIds = this.extractUuids(data.monitorSteps);
32
- if (referencedIds.length === 0) {
56
+ const references = MonitorStepsReferenceExtractor.extract(data.monitorSteps);
57
+ if (references.length === 0) {
33
58
  return;
34
59
  }
35
- const foreignReferences = [];
36
- const monitorStatuses = await MonitorStatusService.findBy({
37
- query: {
38
- _id: QueryHelper.any(referencedIds),
39
- },
40
- select: { _id: true, name: true, projectId: true },
41
- limit: LIMIT_PER_PROJECT,
42
- skip: 0,
43
- props: { isRoot: true },
60
+ /*
61
+ * An id the record ALREADY holds is this write's inheritance, not its
62
+ * doing, and is left alone entirely — neither checked for existence nor for
63
+ * belonging to another project.
64
+ *
65
+ * None of these ids has a foreign key behind it, so one really can end up
66
+ * wrong through no fault of the person now saving: deleting a monitor
67
+ * status, label, team or on-call policy does not rewrite the criteria that
68
+ * name it, and the 1785240000000 repair migration deliberately left behind
69
+ * the cross-project ids it could not map to a local equivalent. The
70
+ * dashboard re-submits the whole blob on every save and renders an
71
+ * unresolvable id as an empty dropdown, so checking them would refuse EVERY
72
+ * edit of such a monitor — including renaming it — over a field the user
73
+ * never touched and cannot see is wrong, with no migration to get them out.
74
+ *
75
+ * Letting a stale id ride costs less than it used to. The status and
76
+ * severity ids — the ones that reach a foreign-key column and made the
77
+ * referenced project undeletable — are now screened where they are written:
78
+ * MonitorStatusTimelineService rejects a status that does not resolve, and
79
+ * the probe worker skips one it cannot use rather than writing it, as
80
+ * MonitorIncident and MonitorAlert already did for severities.
81
+ *
82
+ * That screening does NOT extend to the ids that land on join rows
83
+ * (IncidentLabel, IncidentOnCallDutyPolicy and friends). A stale label or
84
+ * on-call policy carried forward here can still fail when the criteria
85
+ * fires. That is a pre-existing gap in MonitorIncident/MonitorAlert rather
86
+ * than something this exemption opens up — those ids were not validated at
87
+ * all before — and refusing the SAVE would not close it, because the
88
+ * monitor that never gets edited again fails just the same.
89
+ *
90
+ * What this write INTRODUCES is checked in full. That is issue #3039.
91
+ *
92
+ * Compared case-insensitively: ObjectID keeps whatever case it was given,
93
+ * so the same id can be stored as Postgres rendered it (lower) and re-sent
94
+ * by a caller in upper.
95
+ */
96
+ const grandfatheredIds = new Set(MonitorStepsReferenceExtractor.extract(data.alreadyStoredMonitorSteps).map((reference) => {
97
+ return reference.id.toLowerCase();
98
+ }));
99
+ const introduced = references.filter((reference) => {
100
+ return !grandfatheredIds.has(reference.id.toLowerCase());
44
101
  });
45
- for (const monitorStatus of monitorStatuses) {
46
- if (((_a = monitorStatus.projectId) === null || _a === void 0 ? void 0 : _a.toString()) !== data.projectId.toString()) {
47
- foreignReferences.push({
48
- modelName: "Monitor Status",
49
- name: monitorStatus.name || ((_b = monitorStatus.id) === null || _b === void 0 ? void 0 : _b.toString()) || "",
50
- });
51
- }
52
- }
53
- const incidentSeverities = await IncidentSeverityService.findBy({
54
- query: {
55
- _id: QueryHelper.any(referencedIds),
56
- },
57
- select: { _id: true, name: true, projectId: true },
58
- limit: LIMIT_PER_PROJECT,
59
- skip: 0,
60
- props: { isRoot: true },
61
- });
62
- for (const incidentSeverity of incidentSeverities) {
63
- if (((_c = incidentSeverity.projectId) === null || _c === void 0 ? void 0 : _c.toString()) !== data.projectId.toString()) {
64
- foreignReferences.push({
65
- modelName: "Incident Severity",
66
- name: incidentSeverity.name || ((_d = incidentSeverity.id) === null || _d === void 0 ? void 0 : _d.toString()) || "",
67
- });
68
- }
102
+ if (introduced.length === 0) {
103
+ return;
69
104
  }
70
- const alertSeverities = await AlertSeverityService.findBy({
71
- query: {
72
- _id: QueryHelper.any(referencedIds),
73
- },
74
- select: { _id: true, name: true, projectId: true },
75
- limit: LIMIT_PER_PROJECT,
76
- skip: 0,
77
- props: { isRoot: true },
105
+ await ProjectScopedReferenceValidator.validateReferencesBelongToProject({
106
+ projectId: data.projectId,
107
+ subject: "monitor's criteria",
108
+ references: introduced.map((reference) => {
109
+ return {
110
+ /*
111
+ * The path — `criteria "Monitor is offline" incident severity` —
112
+ * rather than the bare model name, so the message points at the
113
+ * field to fix. monitorSteps can hold a dozen of these.
114
+ */
115
+ modelName: `${reference.model} (${reference.path})`,
116
+ id: reference.id,
117
+ service: SERVICE_BY_MODEL[reference.model],
118
+ /*
119
+ * Only ids the monitor actually reads at run time are required to
120
+ * exist — see MonitorStepsReference.isOperative. The rest are still
121
+ * checked for belonging to this project.
122
+ */
123
+ mustExist: reference.isOperative,
124
+ };
125
+ }),
78
126
  });
79
- for (const alertSeverity of alertSeverities) {
80
- if (((_e = alertSeverity.projectId) === null || _e === void 0 ? void 0 : _e.toString()) !== data.projectId.toString()) {
81
- foreignReferences.push({
82
- modelName: "Alert Severity",
83
- name: alertSeverity.name || ((_f = alertSeverity.id) === null || _f === void 0 ? void 0 : _f.toString()) || "",
84
- });
85
- }
86
- }
87
- if (foreignReferences.length > 0) {
88
- const described = foreignReferences
89
- .map((reference) => {
90
- return `${reference.modelName} "${reference.name}"`;
91
- })
92
- .join(", ");
93
- throw new BadDataException(`Monitor criteria reference records that belong to a different project: ${described}. Please pick values from this project and try again.`);
94
- }
95
- }
96
- static extractUuids(monitorSteps) {
97
- let serialized = "";
98
- try {
99
- serialized =
100
- monitorSteps instanceof MonitorSteps
101
- ? JSON.stringify(monitorSteps.toJSON())
102
- : JSON.stringify(monitorSteps);
103
- }
104
- catch (_a) {
105
- /*
106
- * Unserializable monitorSteps is a different problem and is reported by
107
- * MonitorSteps' own validation. Nothing to check here.
108
- */
109
- return [];
110
- }
111
- const matches = serialized.match(UUID_REGEX) || [];
112
- return Array.from(new Set(matches.map((match) => {
113
- return match.toLowerCase();
114
- })));
115
127
  }
116
128
  }
117
129
  //# sourceMappingURL=MonitorStepsProjectValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorStepsProjectValidator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStepsProjectValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorStepsProjectValidator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStepsProjectValidator.ts"],"names":[],"mappings":"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"}