@oneuptime/common 13.0.5 → 13.0.7

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 (1566) hide show
  1. package/Models/AnalyticsModels/AuditLog.ts +81 -1
  2. package/Models/AnalyticsModels/SecurityEvent.ts +4 -4
  3. package/Models/DatabaseModels/AIAgentOwnerTeam.ts +6 -0
  4. package/Models/DatabaseModels/AIAgentOwnerUser.ts +6 -0
  5. package/Models/DatabaseModels/Alert.ts +74 -0
  6. package/Models/DatabaseModels/AlertEpisodeOwnerTeam.ts +6 -1
  7. package/Models/DatabaseModels/AlertEpisodeOwnerUser.ts +6 -1
  8. package/Models/DatabaseModels/AlertOwnerTeam.ts +6 -1
  9. package/Models/DatabaseModels/AlertOwnerUser.ts +6 -1
  10. package/Models/DatabaseModels/CephClusterOwnerTeam.ts +6 -0
  11. package/Models/DatabaseModels/CephClusterOwnerUser.ts +6 -0
  12. package/Models/DatabaseModels/CloudResourceOwnerTeam.ts +6 -0
  13. package/Models/DatabaseModels/CloudResourceOwnerUser.ts +6 -0
  14. package/Models/DatabaseModels/DashboardOwnerTeam.ts +6 -1
  15. package/Models/DatabaseModels/DashboardOwnerUser.ts +6 -1
  16. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +8 -0
  17. package/Models/DatabaseModels/DockerHostOwnerTeam.ts +6 -0
  18. package/Models/DatabaseModels/DockerHostOwnerUser.ts +6 -0
  19. package/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.ts +6 -0
  20. package/Models/DatabaseModels/DockerSwarmClusterOwnerUser.ts +6 -0
  21. package/Models/DatabaseModels/GlobalConfig.ts +1 -1
  22. package/Models/DatabaseModels/HostOwnerTeam.ts +6 -0
  23. package/Models/DatabaseModels/HostOwnerUser.ts +6 -0
  24. package/Models/DatabaseModels/Incident.ts +78 -0
  25. package/Models/DatabaseModels/IncidentEpisodeOwnerTeam.ts +6 -1
  26. package/Models/DatabaseModels/IncidentEpisodeOwnerUser.ts +6 -1
  27. package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +74 -0
  28. package/Models/DatabaseModels/IncidentOwnerTeam.ts +6 -1
  29. package/Models/DatabaseModels/IncidentOwnerUser.ts +6 -1
  30. package/Models/DatabaseModels/IncidentPublicNote.ts +74 -0
  31. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +6 -0
  32. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +6 -0
  33. package/Models/DatabaseModels/IncomingCallPolicyOwnerTeam.ts +6 -1
  34. package/Models/DatabaseModels/IncomingCallPolicyOwnerUser.ts +6 -1
  35. package/Models/DatabaseModels/Index.ts +6 -4
  36. package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +6 -0
  37. package/Models/DatabaseModels/IoTFleetOwnerUser.ts +6 -0
  38. package/Models/DatabaseModels/KubernetesClusterOwnerTeam.ts +6 -0
  39. package/Models/DatabaseModels/KubernetesClusterOwnerUser.ts +6 -0
  40. package/Models/DatabaseModels/Monitor.ts +2 -3
  41. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +6 -0
  42. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +6 -0
  43. package/Models/DatabaseModels/MonitorOwnerTeam.ts +6 -1
  44. package/Models/DatabaseModels/MonitorOwnerUser.ts +6 -1
  45. package/Models/DatabaseModels/MonitorTemplate.ts +2 -3
  46. package/Models/DatabaseModels/NetworkDevice.ts +67 -0
  47. package/Models/DatabaseModels/NetworkDeviceDiagnostic.ts +746 -0
  48. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +151 -0
  49. package/Models/DatabaseModels/NetworkDeviceOwnerTeam.ts +6 -0
  50. package/Models/DatabaseModels/NetworkDeviceOwnerUser.ts +6 -0
  51. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +1 -1
  52. package/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.ts +6 -1
  53. package/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.ts +6 -1
  54. package/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerTeam.ts +6 -1
  55. package/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerUser.ts +6 -1
  56. package/Models/DatabaseModels/PodmanHostOwnerTeam.ts +6 -0
  57. package/Models/DatabaseModels/PodmanHostOwnerUser.ts +6 -0
  58. package/Models/DatabaseModels/ProbeOwnerTeam.ts +6 -0
  59. package/Models/DatabaseModels/ProbeOwnerUser.ts +6 -0
  60. package/Models/DatabaseModels/Project.ts +41 -0
  61. package/Models/DatabaseModels/ProxmoxClusterOwnerTeam.ts +6 -0
  62. package/Models/DatabaseModels/ProxmoxClusterOwnerUser.ts +6 -0
  63. package/Models/DatabaseModels/RumApplicationOwnerTeam.ts +6 -0
  64. package/Models/DatabaseModels/RumApplicationOwnerUser.ts +6 -0
  65. package/Models/DatabaseModels/RunbookOwnerTeam.ts +6 -1
  66. package/Models/DatabaseModels/RunbookOwnerUser.ts +6 -1
  67. package/Models/DatabaseModels/RunnerOwnerTeam.ts +6 -1
  68. package/Models/DatabaseModels/RunnerOwnerUser.ts +6 -1
  69. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +6 -1
  70. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +6 -1
  71. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +74 -0
  72. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.ts +8 -0
  73. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +8 -0
  74. package/Models/DatabaseModels/SecurityEventConnection.ts +11 -11
  75. package/Models/DatabaseModels/ServerlessFunctionOwnerTeam.ts +6 -0
  76. package/Models/DatabaseModels/ServerlessFunctionOwnerUser.ts +6 -0
  77. package/Models/DatabaseModels/ServiceLevelObjective.ts +185 -8
  78. package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +746 -43
  79. package/Models/DatabaseModels/ServiceLevelObjectiveFeed.ts +575 -0
  80. package/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.ts +582 -0
  81. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +22 -1
  82. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +22 -1
  83. package/Models/DatabaseModels/ServiceOwnerTeam.ts +6 -0
  84. package/Models/DatabaseModels/ServiceOwnerUser.ts +6 -0
  85. package/Models/DatabaseModels/StatusPageAnnouncement.ts +75 -0
  86. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +6 -1
  87. package/Models/DatabaseModels/StatusPageOwnerUser.ts +6 -1
  88. package/Models/DatabaseModels/ThreatIntelFeed.ts +1 -1
  89. package/Models/DatabaseModels/VMwareVCenterOwnerTeam.ts +6 -0
  90. package/Models/DatabaseModels/VMwareVCenterOwnerUser.ts +6 -0
  91. package/Models/DatabaseModels/WorkflowOwnerTeam.ts +6 -1
  92. package/Models/DatabaseModels/WorkflowOwnerUser.ts +6 -1
  93. package/Scripts/benchmark-fanin-capacity.js +2 -2
  94. package/Server/API/AIAgentDataAPI.ts +1 -1
  95. package/Server/API/AIChatAPI.ts +6 -4
  96. package/Server/API/AIInvestigationAPI.ts +7 -0
  97. package/Server/API/BaseAPI.ts +17 -0
  98. package/Server/API/BillingInvoiceAPI.ts +343 -30
  99. package/Server/API/BillingPaymentMethodAPI.ts +126 -5
  100. package/Server/API/DashboardAPI.ts +96 -2
  101. package/Server/API/SecurityEventConnectionAPI.ts +141 -11
  102. package/Server/API/StatusPageAPI.ts +321 -199
  103. package/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.ts +1 -1
  104. package/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.ts +83 -0
  105. package/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.ts +36 -0
  106. package/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.ts +29 -0
  107. package/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.ts +516 -0
  108. package/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.ts +98 -0
  109. package/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.ts +27 -0
  110. package/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.ts +97 -0
  111. package/Server/Infrastructure/Postgres/SchemaMigrations/1793500000000-MakeOwnerRowsUnique.ts +1057 -0
  112. package/Server/Infrastructure/Postgres/SchemaMigrations/1793700000000-AddAIInvestigationDecision.ts +25 -0
  113. package/Server/Infrastructure/Postgres/SchemaMigrations/1793800000000-RemoveMonitorDescriptionLengthLimit.ts +31 -0
  114. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  115. package/Server/Infrastructure/Postgres/SchemaMigrations/Readme.md +6 -4
  116. package/Server/Middleware/IdentityRateLimit.ts +34 -1
  117. package/Server/Middleware/PublicDashboardRateLimit.ts +169 -39
  118. package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +138 -67
  119. package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +213 -84
  120. package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +112 -35
  121. package/Server/Services/AlertEpisodeService.ts +13 -34
  122. package/Server/Services/AlertGroupingEngineService.ts +7 -4
  123. package/Server/Services/AlertLabelRuleEngineService.ts +299 -217
  124. package/Server/Services/AlertOwnerRuleEngineService.ts +572 -396
  125. package/Server/Services/AlertPrivacyRuleEngineService.ts +116 -40
  126. package/Server/Services/AlertService.ts +124 -36
  127. package/Server/Services/AuditLogService.ts +612 -59
  128. package/Server/Services/BillingInvoiceService.ts +112 -102
  129. package/Server/Services/BillingService.ts +539 -11
  130. package/Server/Services/CephClusterLabelRuleEngineService.ts +170 -109
  131. package/Server/Services/CephClusterOwnerRuleEngineService.ts +237 -111
  132. package/Server/Services/CloudResourceLabelRuleEngineService.ts +163 -100
  133. package/Server/Services/CloudResourceOwnerRuleEngineService.ts +240 -111
  134. package/Server/Services/DashboardLabelRuleEngineService.ts +145 -84
  135. package/Server/Services/DashboardOwnerRuleEngineService.ts +217 -91
  136. package/Server/Services/DatabaseService.ts +272 -22
  137. package/Server/Services/DockerHostLabelRuleEngineService.ts +171 -110
  138. package/Server/Services/DockerHostOwnerRuleEngineService.ts +237 -111
  139. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +181 -112
  140. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +247 -114
  141. package/Server/Services/HostLabelRuleEngineService.ts +167 -106
  142. package/Server/Services/HostOwnerRuleEngineService.ts +233 -107
  143. package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +141 -67
  144. package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +274 -72
  145. package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +112 -35
  146. package/Server/Services/IncidentEpisodePublicNoteService.ts +24 -0
  147. package/Server/Services/IncidentEpisodeService.ts +15 -75
  148. package/Server/Services/IncidentGroupingEngineService.ts +7 -4
  149. package/Server/Services/IncidentLabelRuleEngineService.ts +279 -204
  150. package/Server/Services/IncidentOwnerRuleEngineService.ts +595 -425
  151. package/Server/Services/IncidentPrivacyRuleEngineService.ts +117 -44
  152. package/Server/Services/IncidentPublicNoteService.ts +24 -0
  153. package/Server/Services/IncidentService.ts +127 -35
  154. package/Server/Services/IncidentTemplateService.ts +13 -36
  155. package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +147 -83
  156. package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +225 -96
  157. package/Server/Services/Index.ts +6 -4
  158. package/Server/Services/IoTFleetLabelRuleEngineService.ts +145 -84
  159. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +217 -91
  160. package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +181 -112
  161. package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +247 -114
  162. package/Server/Services/LabelService.ts +23 -28
  163. package/Server/Services/MonitorLabelRuleEngineService.ts +152 -92
  164. package/Server/Services/MonitorOwnerRuleEngineService.ts +220 -104
  165. package/Server/Services/MonitorProbeService.ts +20 -2
  166. package/Server/Services/MonitorService.ts +24 -41
  167. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +376 -5
  168. package/Server/Services/NetworkDeviceDiagnosticService.ts +417 -0
  169. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +147 -83
  170. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +222 -93
  171. package/Server/Services/NetworkDeviceService.ts +39 -2
  172. package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +151 -80
  173. package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +226 -93
  174. package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +154 -83
  175. package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +229 -96
  176. package/Server/Services/PodmanHostLabelRuleEngineService.ts +171 -110
  177. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +239 -111
  178. package/Server/Services/ProjectService.ts +111 -10
  179. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +174 -110
  180. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +243 -112
  181. package/Server/Services/RumApplicationLabelRuleEngineService.ts +137 -73
  182. package/Server/Services/RumApplicationOwnerRuleEngineService.ts +204 -79
  183. package/Server/Services/RunbookLabelRuleEngineService.ts +146 -84
  184. package/Server/Services/RunbookOwnerRuleEngineService.ts +220 -91
  185. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +324 -230
  186. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +613 -428
  187. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +24 -0
  188. package/Server/Services/ScheduledMaintenanceService.ts +56 -48
  189. package/Server/Services/ScheduledMaintenanceTemplateService.ts +12 -34
  190. package/Server/Services/SecurityEventConnectionService.ts +56 -4
  191. package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +143 -74
  192. package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +210 -81
  193. package/Server/Services/ServiceLabelRuleEngineService.ts +172 -110
  194. package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +1057 -18
  195. package/Server/Services/ServiceLevelObjectiveFeedService.ts +108 -0
  196. package/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.ts +793 -97
  197. package/Server/Services/ServiceLevelObjectiveMonitorRuleService.ts +1069 -0
  198. package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +240 -1
  199. package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +257 -1
  200. package/Server/Services/ServiceLevelObjectiveService.ts +1356 -56
  201. package/Server/Services/ServiceOwnerRuleEngineService.ts +242 -112
  202. package/Server/Services/StatusPageAnnouncementService.ts +13 -0
  203. package/Server/Services/StatusPageLabelRuleEngineService.ts +146 -85
  204. package/Server/Services/StatusPageOwnerRuleEngineService.ts +210 -99
  205. package/Server/Services/StatusPagePrivateUserService.ts +38 -29
  206. package/Server/Services/StatusPagePrivateUserSessionService.ts +49 -1
  207. package/Server/Services/StatusPageService.ts +59 -36
  208. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +28 -232
  209. package/Server/Services/StatusPageSubscriberService.ts +6 -0
  210. package/Server/Services/TelemetryUsageBillingService.ts +38 -7
  211. package/Server/Services/ThreatIntelFeedService.ts +1 -1
  212. package/Server/Services/UserSessionService.ts +6 -0
  213. package/Server/Services/VMwareVCenterLabelRuleEngineService.ts +173 -110
  214. package/Server/Services/VMwareVCenterOwnerRuleEngineService.ts +242 -112
  215. package/Server/Services/WorkflowLabelRuleEngineService.ts +145 -84
  216. package/Server/Services/WorkflowOwnerRuleEngineService.ts +219 -91
  217. package/Server/Static/Brand/README.md +7 -7
  218. package/Server/Static/Vendor/README.md +7 -7
  219. package/Server/Types/Database/Permissions/OwnedScopePermission.ts +18 -9
  220. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +82 -0
  221. package/Server/Types/Database/UpdateByID.ts +3 -0
  222. package/Server/Types/Database/UpdateOneBy.ts +7 -0
  223. package/Server/Utils/AI/AlertAIContextBuilder.ts +19 -0
  224. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +21 -8
  225. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +41 -4
  226. package/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.ts +1 -1
  227. package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +1 -1
  228. package/Server/Utils/AI/IncidentAIContextBuilder.ts +39 -0
  229. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +13 -5
  230. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +53 -13
  231. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +51 -14
  232. package/Server/Utils/AI/SRE/InvestigationEligibility.ts +292 -0
  233. package/Server/Utils/AI/SRE/InvestigationQueue.ts +25 -0
  234. package/Server/Utils/AI/Toolbox/AlertTools.ts +37 -1
  235. package/Server/Utils/AI/Toolbox/IncidentTools.ts +22 -1
  236. package/Server/Utils/AI/Toolbox/Index.ts +43 -13
  237. package/Server/Utils/AI/Toolbox/ResourceTools.ts +952 -0
  238. package/Server/Utils/AI/Toolbox/RumTools.ts +424 -0
  239. package/Server/Utils/AI/Toolbox/SloTools.ts +416 -51
  240. package/Server/Utils/AI/Toolbox/ToolTypes.ts +10 -0
  241. package/Server/Utils/AI/Toolbox/TraceTools.ts +2 -1
  242. package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +151 -13
  243. package/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.ts +17 -4
  244. package/Server/Utils/Dashboard/PublicDashboardSloWidget.ts +155 -8
  245. package/Server/Utils/Database/PostgresErrorTranslator.ts +14 -0
  246. package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +16 -0
  247. package/Server/Utils/Database/RelationValueUtil.ts +106 -0
  248. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +143 -127
  249. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +22 -27
  250. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +4 -1
  251. package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +3 -1
  252. package/Server/Utils/Monitor/MonitorStepsProjectValidator.ts +50 -20
  253. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +13 -1
  254. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +6 -11
  255. package/Server/Utils/Rules/MonitorRulePatternValidator.ts +51 -0
  256. package/Server/Utils/Rules/OwnerRuleAssignment.ts +261 -0
  257. package/Server/Utils/Rules/RuleRun/RuleApplication.ts +81 -0
  258. package/Server/Utils/Rules/RuleRun/RuleRunPermission.ts +188 -0
  259. package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +803 -0
  260. package/Server/Utils/Rules/RuleRun/RuleRunner.ts +341 -0
  261. package/Server/Utils/SecurityEvent/ConnectorErrorMessage.ts +3 -2
  262. package/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.ts +6 -4
  263. package/Server/Utils/SecurityEvent/{GoogleSecOps → Connectors/GoogleSecOps}/GoogleSecOpsClient.ts +263 -16
  264. package/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.ts +2101 -0
  265. package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.ts +194 -14
  266. package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.ts +1 -2
  267. package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.ts +38 -7
  268. package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.ts +2 -0
  269. package/Server/Utils/SecurityEvent/Connectors/Types.ts +242 -2
  270. package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +1 -1
  271. package/Server/Utils/SecurityEvent/SecurityEventDedupe.ts +3 -3
  272. package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +2 -2
  273. package/Server/Utils/SessionReplay/SessionReplayReadService.ts +217 -56
  274. package/Server/Utils/Slo/SloFeedUtil.ts +200 -0
  275. package/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.ts +173 -0
  276. package/Server/Utils/Slo/SloMetricUtil.ts +327 -0
  277. package/Server/Utils/Slo/SloOwnerReferenceValidator.ts +208 -0
  278. package/Server/Utils/Slo/SloRecordReferenceValidator.ts +169 -0
  279. package/Server/Utils/StatusPage/MonitorRulePatternValidator.ts +6 -43
  280. package/Server/Utils/StatusPageResource.ts +50 -5
  281. package/Server/Utils/Telemetry/TelemetryEntity.ts +205 -6
  282. package/SslCertificates/GlobalSign.crt +26 -0
  283. package/SslCertificates/Readme.md +3 -0
  284. package/Tests/App/AdminDashboard/EnterpriseLicenseInstanceActivity.test.tsx +451 -0
  285. package/Tests/App/Dashboard/AIInsightsChatPanel.test.tsx +881 -0
  286. package/Tests/App/Dashboard/AIInsightsPageContext.test.ts +458 -0
  287. package/Tests/App/Dashboard/AIInsightsResourceCitations.test.ts +124 -0
  288. package/Tests/App/Dashboard/AIInsightsResourcePageContext.test.ts +798 -0
  289. package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +664 -15
  290. package/Tests/App/Dashboard/AddWidgetModal.test.tsx +4 -1
  291. package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +307 -0
  292. package/Tests/App/Dashboard/ArchiveResourceCard.test.tsx +289 -0
  293. package/Tests/App/Dashboard/AskAiSuggestedPrompts.test.ts +7 -0
  294. package/Tests/App/Dashboard/AuditLogsTable.test.tsx +598 -0
  295. package/Tests/App/Dashboard/BillingDefaultPaymentMethod.test.tsx +1046 -0
  296. package/Tests/App/Dashboard/BillingPaidUsageFlow.test.tsx +3 -0
  297. package/Tests/App/Dashboard/BillingPaymentMethodForm.test.tsx +201 -7
  298. package/Tests/App/Dashboard/BooleanSeriesCriteriaFilterText.test.ts +82 -0
  299. package/Tests/App/Dashboard/BreadcrumbCoverage.test.tsx +16 -1
  300. package/Tests/App/Dashboard/ChangeAlertStateAIHeader.test.tsx +116 -8
  301. package/Tests/App/Dashboard/ChatActivityFeed.test.tsx +168 -1
  302. package/Tests/App/Dashboard/ConnectionTestModal.test.tsx +1 -1
  303. package/Tests/App/Dashboard/ConnectorTestReportView.test.tsx +20 -3
  304. package/Tests/App/Dashboard/CorrelateFilterBuilder.test.tsx +1095 -1
  305. package/Tests/App/Dashboard/CorrelateFilterChips.test.tsx +910 -0
  306. package/Tests/App/Dashboard/CorrelateGraph.test.tsx +3747 -25
  307. package/Tests/App/Dashboard/CorrelateGraphHelpers.test.ts +1085 -0
  308. package/Tests/App/Dashboard/CorrelateInspector.test.tsx +1534 -0
  309. package/Tests/App/Dashboard/CorrelateNodeCard.test.tsx +965 -0
  310. package/Tests/App/Dashboard/CorrelateResultSummary.test.tsx +1525 -0
  311. package/Tests/App/Dashboard/CorrelationGraph.test.ts +1030 -0
  312. package/Tests/App/Dashboard/CorrelationGraphLayout.test.ts +526 -0
  313. package/Tests/App/Dashboard/DashboardChartWidgetZoom.test.tsx +104 -0
  314. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +156 -64
  315. package/Tests/App/Dashboard/DeviceDiagnostics.test.tsx +787 -0
  316. package/Tests/App/Dashboard/DeviceLatencyTrend.test.tsx +278 -0
  317. package/Tests/App/Dashboard/DiscoveryReviewInventoryRefresh.test.tsx +279 -0
  318. package/Tests/App/Dashboard/DiscoveryScanEditForm.test.tsx +87 -0
  319. package/Tests/App/Dashboard/DiscoveryScanStatusMessage.test.tsx +970 -0
  320. package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +849 -20
  321. package/Tests/App/Dashboard/EmbeddedMetricEventScope.test.tsx +358 -0
  322. package/Tests/App/Dashboard/EntityFilterDropdownArchivedSlos.test.tsx +340 -0
  323. package/Tests/App/Dashboard/ErrorPatternEventScope.test.tsx +148 -0
  324. package/Tests/App/Dashboard/EventOverlayAdditionalResourceScope.test.ts +255 -0
  325. package/Tests/App/Dashboard/EventOverlayScope.test.ts +845 -0
  326. package/Tests/App/Dashboard/EventOverlayScopeHook.test.tsx +903 -0
  327. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +98 -2
  328. package/Tests/App/Dashboard/ExceptionSegmentedControl.test.tsx +1020 -0
  329. package/Tests/App/Dashboard/ExternalStatusPageCriteriaFilter.test.ts +3 -3
  330. package/Tests/App/Dashboard/InvestigationDrawer.test.tsx +21 -0
  331. package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +268 -47
  332. package/Tests/App/Dashboard/InvestigationNotStarted.test.tsx +761 -0
  333. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1122 -81
  334. package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +139 -9
  335. package/Tests/App/Dashboard/InvestigationReportView.test.tsx +279 -176
  336. package/Tests/App/Dashboard/InvestigationRunDetails.test.tsx +1166 -0
  337. package/Tests/App/Dashboard/InvoicesPayInvoice.test.tsx +437 -0
  338. package/Tests/App/Dashboard/MetricsViewerEventScopeNavigation.test.tsx +264 -0
  339. package/Tests/App/Dashboard/MonitorSummaryTestMonitorButton.test.tsx +342 -0
  340. package/Tests/App/Dashboard/MonitorTestForm.test.tsx +612 -0
  341. package/Tests/App/Dashboard/NavigationSearchKeywords.test.tsx +301 -0
  342. package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +65 -0
  343. package/Tests/App/Dashboard/NetworkTopologyLiveView.test.tsx +5 -0
  344. package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +74 -0
  345. package/Tests/App/Dashboard/ResourceFeed.test.tsx +125 -5
  346. package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +8 -1
  347. package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +1764 -0
  348. package/Tests/App/Dashboard/SecurityEventConnectionFormModal.test.tsx +1000 -64
  349. package/Tests/App/Dashboard/SecurityEventConnectionsEmptyState.test.tsx +448 -0
  350. package/Tests/App/Dashboard/SecurityEventConnectionsTable.test.tsx +739 -189
  351. package/Tests/App/Dashboard/SecurityEventSeverityPill.test.tsx +233 -0
  352. package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +282 -0
  353. package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +74 -2
  354. package/Tests/App/Dashboard/SloActiveBurnEventsCard.test.tsx +538 -0
  355. package/Tests/App/Dashboard/SloBulkActionsArchive.test.tsx +252 -0
  356. package/Tests/App/Dashboard/SloDashboardTemplateWidgets.test.tsx +322 -518
  357. package/Tests/App/Dashboard/SloElement.test.tsx +194 -0
  358. package/Tests/App/Dashboard/SloFeed.test.tsx +289 -0
  359. package/Tests/App/Dashboard/SloHistoryCharts.test.tsx +471 -0
  360. package/Tests/App/Dashboard/SloHistorySeries.test.tsx +607 -0
  361. package/Tests/App/Dashboard/SloListWidget.test.tsx +783 -0
  362. package/Tests/App/Dashboard/SloMetricsPage.test.tsx +346 -0
  363. package/Tests/App/Dashboard/SloMonitorsPage.test.tsx +661 -0
  364. package/Tests/App/Dashboard/SloMonitorsSummaryCard.test.tsx +489 -0
  365. package/Tests/App/Dashboard/SloNavigationWiring.test.tsx +437 -0
  366. package/Tests/App/Dashboard/SloNoticeBanner.test.tsx +305 -0
  367. package/Tests/App/Dashboard/SloOverviewData.test.tsx +563 -0
  368. package/Tests/App/Dashboard/SloOverviewHero.test.tsx +311 -0
  369. package/Tests/App/Dashboard/SloOverviewKpiStrip.test.tsx +426 -0
  370. package/Tests/App/Dashboard/SloOverviewSidebarCards.test.tsx +493 -0
  371. package/Tests/App/Dashboard/SloSettings.test.tsx +633 -0
  372. package/Tests/App/Dashboard/SloStatusSummaryCards.test.tsx +403 -0
  373. package/Tests/App/Dashboard/SloViewSideMenuCounts.test.tsx +373 -0
  374. package/Tests/App/Dashboard/SloWidgetVariableBinding.test.tsx +689 -0
  375. package/Tests/App/Dashboard/TextClampLayoutHarness.ts +224 -0
  376. package/Tests/App/Dashboard/TopologyConnectivitySection.test.tsx +206 -0
  377. package/Tests/App/Dashboard/TracesEntityNames.test.tsx +47 -15
  378. package/Tests/App/Dashboard/UseBulkShortenDeviceNames.test.tsx +1312 -0
  379. package/Tests/App/Dashboard/WidgetCatalog.test.ts +9 -1
  380. package/Tests/Models/AnalyticsModels/RumSessionReplayColumns.test.ts +14 -16
  381. package/Tests/Models/DatabaseModels/AuditLogModelConfiguration.test.ts +442 -0
  382. package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +9 -10
  383. package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +48 -1
  384. package/Tests/Models/DatabaseModels/SloOverhaulModels.test.ts +835 -0
  385. package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +3 -2
  386. package/Tests/Models/DiscoveryScanNetbiosLookupColumn.test.ts +328 -0
  387. package/Tests/Models/DiscoveryScanShortDeviceNamesColumn.test.ts +335 -0
  388. package/Tests/Models/InventoryItemNaming.test.ts +54 -0
  389. package/Tests/Models/NetworkDeviceDiagnosticContract.test.ts +194 -0
  390. package/Tests/Models/NetworkDeviceDnsNameColumn.test.ts +321 -0
  391. package/Tests/Models/ProjectDataResidencyColumn.test.ts +154 -0
  392. package/Tests/Models/SecurityDomainAccessControl.test.ts +181 -50
  393. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +161 -0
  394. package/Tests/Server/API/AIInvestigationAPI.test.ts +14 -0
  395. package/Tests/Server/API/AIInvestigationAvailabilityAuthorization.test.ts +260 -0
  396. package/Tests/Server/API/BaseAPI.test.ts +6 -0
  397. package/Tests/Server/API/BaseAPIUpdateMiscDataProps.test.ts +217 -0
  398. package/Tests/Server/API/BillingInvoiceAPI.test.ts +7 -0
  399. package/Tests/Server/API/BillingInvoiceAPIPaymentStates.test.ts +990 -0
  400. package/Tests/Server/API/BillingPaymentMethodAPI.test.ts +498 -0
  401. package/Tests/Server/API/DashboardPublicSloAPI.test.ts +405 -0
  402. package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +133 -0
  403. package/Tests/Server/API/SecurityEventConnectionAPI.test.ts +901 -7
  404. package/Tests/Server/API/SessionReplayAPI.test.ts +116 -0
  405. package/Tests/Server/API/StatusPageManageSubscriptionRecipient.test.ts +857 -0
  406. package/Tests/Server/API/StatusPageManageSubscriptionTemplateVariables.test.ts +1084 -0
  407. package/Tests/Server/API/StatusPageMasterPasswordRateLimit.test.ts +482 -0
  408. package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +1 -1
  409. package/Tests/Server/Infrastructure/ClickhouseKeepAliveOptions.test.ts +1 -1
  410. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +38 -16
  411. package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +106 -31
  412. package/Tests/Server/Infrastructure/ExampleDockerfiles.test.ts +46 -12
  413. package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +33 -3
  414. package/Tests/Server/Infrastructure/Postgres/AddDataResidencyToProjectMigration.test.ts +202 -0
  415. package/Tests/Server/Infrastructure/Postgres/AddNetbiosLookupToNetworkDeviceDiscoveryScanMigration.test.ts +330 -0
  416. package/Tests/Server/Infrastructure/Postgres/AddNetworkDeviceDnsNameAndShortDeviceNamesMigration.test.ts +340 -0
  417. package/Tests/Server/Infrastructure/Postgres/BackfillSloMonitorRulesAndAffectedResourcesMigration.test.ts +343 -0
  418. package/Tests/Server/Infrastructure/Postgres/MonitorDescriptionMigration.test.ts +422 -0
  419. package/Tests/Server/Infrastructure/Postgres/SloProductOverhaulMigration.test.ts +801 -0
  420. package/Tests/Server/Infrastructure/TelemetryExporterDeploymentConfig.test.ts +1 -1
  421. package/Tests/Server/Infrastructure/ValkeyDeploymentConfig.test.ts +25 -4
  422. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +72 -0
  423. package/Tests/Server/Middleware/PublicDashboardRateLimit.test.ts +12 -12
  424. package/Tests/Server/Middleware/PublicDashboardRateLimitStatusPage.test.ts +800 -0
  425. package/Tests/Server/Services/AIInvestigationDecisionPostgres.test.ts +346 -0
  426. package/Tests/Server/Services/AddOwnersIdempotency.test.ts +471 -0
  427. package/Tests/Server/Services/AddSubscriberUpdateNotificationStatusMigration.test.ts +307 -0
  428. package/Tests/Server/Services/AuditLogService.test.ts +1124 -0
  429. package/Tests/Server/Services/AutoImportScanCredentialSelect.test.ts +200 -1
  430. package/Tests/Server/Services/BillingInvoiceServiceMutexRelease.test.ts +254 -0
  431. package/Tests/Server/Services/BillingService.test.ts +70 -0
  432. package/Tests/Server/Services/BillingServicePayInvoiceStates.test.ts +723 -0
  433. package/Tests/Server/Services/BillingServicePaymentMethodReads.test.ts +14 -2
  434. package/Tests/Server/Services/BillingServiceSubscriptionPaymentMethodSync.test.ts +1634 -0
  435. package/Tests/Server/Services/DatabaseServiceAuditRelationDiff.test.ts +492 -0
  436. package/Tests/Server/Services/DatabaseServiceAutoOwnerOnCreate.test.ts +250 -0
  437. package/Tests/Server/Services/DatabaseServicePasswordFieldSecrets.test.ts +629 -0
  438. package/Tests/Server/Services/DatabaseServiceUniqueColumnsTogether.test.ts +622 -0
  439. package/Tests/Server/Services/IncidentAlertSloLinkSurvivesEdit.test.ts +431 -0
  440. package/Tests/Server/Services/IncidentAlertSloReferenceGuard.test.ts +358 -0
  441. package/Tests/Server/Services/MonitorDescriptionValidation.test.ts +211 -0
  442. package/Tests/Server/Services/MonitorProbeServicePastDueMonitoring.test.ts +362 -0
  443. package/Tests/Server/Services/MonitorTemplateDescriptionPropagation.test.ts +269 -0
  444. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +1460 -1
  445. package/Tests/Server/Services/NetworkDeviceDiagnosticService.test.ts +962 -0
  446. package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +106 -0
  447. package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +10 -1
  448. package/Tests/Server/Services/NetworkDeviceServicePastDueMonitoring.test.ts +335 -0
  449. package/Tests/Server/Services/NetworkDeviceSiteRuleDnsName.test.ts +568 -0
  450. package/Tests/Server/Services/OwnerRowUniqueness.test.ts +504 -0
  451. package/Tests/Server/Services/ProjectDataResidencyPostgres.test.ts +344 -0
  452. package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +187 -0
  453. package/Tests/Server/Services/ProjectServiceDataResidency.test.ts +369 -0
  454. package/Tests/Server/Services/ProjectServiceDataResidencySelfHosted.test.ts +176 -0
  455. package/Tests/Server/Services/ProjectServicePastDueMonitoring.test.ts +289 -0
  456. package/Tests/Server/Services/ResourceFeedServices.test.ts +24 -8
  457. package/Tests/Server/Services/RuleRun/IncidentAlertMaintenanceRuleEnginesRun.test.ts +1396 -0
  458. package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupARun.test.ts +917 -0
  459. package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +1262 -0
  460. package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupARun.test.ts +945 -0
  461. package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +1163 -0
  462. package/Tests/Server/Services/RuleRun/PrivacyRuleEnginesRun.test.ts +843 -0
  463. package/Tests/Server/Services/ScheduledMaintenanceSubscriberTemplateFormats.test.ts +465 -0
  464. package/Tests/Server/Services/SecurityEventConnectionService.test.ts +525 -4
  465. package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +77 -23
  466. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleFeedWrites.test.ts +777 -0
  467. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleOptions.test.ts +1399 -0
  468. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +67 -74
  469. package/Tests/Server/Services/ServiceLevelObjectiveChildRowTenancy.test.ts +906 -0
  470. package/Tests/Server/Services/ServiceLevelObjectiveDeleteTenancy.test.ts +1029 -0
  471. package/Tests/Server/Services/ServiceLevelObjectiveFeedService.test.ts +313 -0
  472. package/Tests/Server/Services/ServiceLevelObjectiveFeedWrites.test.ts +1214 -0
  473. package/Tests/Server/Services/ServiceLevelObjectiveMarkdownLink.test.ts +289 -0
  474. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.test.ts +1455 -430
  475. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleLegacyLabelAdoption.test.ts +634 -0
  476. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleService.test.ts +1193 -0
  477. package/Tests/Server/Services/{SloMonitorLabelRuleHooks.test.ts → ServiceLevelObjectiveMonitorRuleTriggers.test.ts} +135 -41
  478. package/Tests/Server/Services/ServiceLevelObjectiveOwnerFeedWrites.test.ts +671 -0
  479. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +180 -85
  480. package/Tests/Server/Services/ServiceLevelObjectiveServiceArchive.test.ts +537 -0
  481. package/Tests/Server/Services/ServiceLevelObjectiveServiceLegacyMonitorLabelWrite.test.ts +870 -0
  482. package/Tests/Server/Services/ServiceLevelObjectiveServiceMonitorRuleGuard.test.ts +343 -0
  483. package/Tests/Server/Services/ServiceLevelObjectiveServiceReEvaluation.test.ts +246 -0
  484. package/Tests/Server/Services/SessionRetention.test.ts +334 -0
  485. package/Tests/Server/Services/SloAffectedResourceCreatedFeed.test.ts +501 -0
  486. package/Tests/Server/Services/SloAffectedResourceLinkContract.test.ts +86 -0
  487. package/Tests/Server/Services/SloAffectedResourceMetricAttributes.test.ts +547 -0
  488. package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +10 -4
  489. package/Tests/Server/Services/StatusPageMonitorRuleHooks.test.ts +7 -2
  490. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +172 -0
  491. package/Tests/Server/Services/StatusPagePrivateUserReadAccess.test.ts +178 -0
  492. package/Tests/Server/Services/StatusPagePrivateUserReadAccessPostgres.test.ts +311 -0
  493. package/Tests/Server/Services/StatusPagePrivateUserSessionService.test.ts +216 -1
  494. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateCompile.test.ts +174 -0
  495. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateServiceVariables.test.ts +40 -0
  496. package/Tests/Server/Services/SubscriberUpdateNotificationHooks.test.ts +541 -0
  497. package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +1 -1
  498. package/Tests/Server/Services/TelemetryUsageBillingSloExclusion.test.ts +288 -0
  499. package/Tests/Server/Services/UserOnCallLogNoNotificationRules.test.ts +1 -1
  500. package/Tests/Server/TestingUtils/PastDueMonitoringClaimSql.ts +177 -0
  501. package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +51 -10
  502. package/Tests/Server/TestingUtils/__mocks__/Stripe.mock.ts +16 -1
  503. package/Tests/Server/Types/Database/EventOverlayScopePostgres.test.ts +626 -0
  504. package/Tests/Server/Types/Database/Permissions/InfrastructureOwnershipScope.test.ts +668 -0
  505. package/Tests/Server/Types/Database/Permissions/ProjectDataResidencyColumn.test.ts +386 -0
  506. package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +26 -36
  507. package/Tests/Server/Types/Database/Permissions/SelectRejectionMessageContract.test.ts +1 -0
  508. package/Tests/Server/Types/Database/Permissions/UserNotificationRuleScoping.test.ts +1 -1
  509. package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +16 -9
  510. package/Tests/Server/Utils/AI/ChatAgentRunner.test.ts +137 -1
  511. package/Tests/Server/Utils/AI/InvestigationEligibility.test.ts +697 -0
  512. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +105 -0
  513. package/Tests/Server/Utils/AI/RemediationHandoff.test.ts +16 -5
  514. package/Tests/Server/Utils/AI/ResourceTools.test.ts +1304 -0
  515. package/Tests/Server/Utils/AI/RumTools.test.ts +769 -0
  516. package/Tests/Server/Utils/AI/SloAffectedResourceAIContext.test.ts +445 -0
  517. package/Tests/Server/Utils/AI/SloTools.test.ts +423 -1
  518. package/Tests/Server/Utils/AI/SloToolsArchive.test.ts +294 -0
  519. package/Tests/Server/Utils/AI/SloToolsRuleReadPermissions.test.ts +297 -0
  520. package/Tests/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.test.ts +255 -10
  521. package/Tests/Server/Utils/Dashboard/SloTemplatePublicDashboard.test.ts +404 -750
  522. package/Tests/Server/Utils/Database/PostgresErrorTranslator.test.ts +63 -0
  523. package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +45 -0
  524. package/Tests/Server/Utils/Database/RelationValueUtil.test.ts +157 -0
  525. package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaEvaluateOverTime.test.ts +11 -9
  526. package/Tests/Server/Utils/Monitor/Criteria/BooleanSeriesEvaluateOverTime.test.ts +260 -0
  527. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteria.test.ts +62 -45
  528. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +25 -24
  529. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaHumanMessages.test.ts +513 -0
  530. package/Tests/Server/Utils/Monitor/Criteria/CustomCodeMonitorCriteria.test.ts +2 -2
  531. package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +181 -0
  532. package/Tests/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.test.ts +1 -1
  533. package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +147 -30
  534. package/Tests/Server/Utils/Monitor/Criteria/ExternalStatusPageMonitorCriteria.test.ts +9 -9
  535. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +7 -5
  536. package/Tests/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.test.ts +2 -2
  537. package/Tests/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.test.ts +4 -3
  538. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +2 -2
  539. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorMetricUnits.test.ts +3 -2
  540. package/Tests/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.test.ts +17 -0
  541. package/Tests/Server/Utils/Monitor/MonitorCriteriaHumanMessages.test.ts +529 -0
  542. package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidator.test.ts +136 -0
  543. package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidatorLoadOrder.test.ts +472 -0
  544. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +48 -2
  545. package/Tests/Server/Utils/Monitor/SloTemplateMetricEmitterContract.test.ts +435 -475
  546. package/Tests/Server/Utils/Rules/MonitorRulePatternValidator.test.ts +77 -0
  547. package/Tests/Server/Utils/Rules/OwnerRuleAssignment.test.ts +585 -0
  548. package/Tests/Server/Utils/Rules/RuleRun/RuleRunPermission.test.ts +365 -0
  549. package/Tests/Server/Utils/Rules/RuleRun/RuleRunRegistry.test.ts +173 -0
  550. package/Tests/Server/Utils/Rules/RuleRun/RuleRunner.test.ts +675 -0
  551. package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +8 -8
  552. package/Tests/Server/Utils/SecurityEvent/Connectors/ConnectorFetchSummary.test.ts +261 -0
  553. package/Tests/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.test.ts +68 -13
  554. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsAuth.test.ts → Connectors/GoogleSecOps/GoogleSecOpsAuth.test.ts} +5 -5
  555. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsClient.test.ts → Connectors/GoogleSecOps/GoogleSecOpsClient.test.ts} +4 -4
  556. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.test.ts +483 -0
  557. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorCuratedAndLateAlerts.test.ts +676 -0
  558. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorFetchEvents.test.ts +1994 -0
  559. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorFixtures.ts +332 -0
  560. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorHttpIntegration.test.ts +680 -0
  561. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorRequestContract.test.ts +1206 -0
  562. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorTestConnection.test.ts +1136 -0
  563. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsCuratedRuleCounts.test.ts +407 -0
  564. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsErrorHandling.test.ts → Connectors/GoogleSecOps/GoogleSecOpsErrorHandling.test.ts} +5 -5
  565. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingAdaptiveCatchUp.test.ts +730 -0
  566. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsClickhouseIntegration.test.ts → Connectors/GoogleSecOps/GoogleSecOpsPollingClickhouseIntegration.test.ts} +131 -36
  567. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingFailureTaxonomy.test.ts +772 -0
  568. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingFixtures.ts +648 -0
  569. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsHttpIntegration.test.ts → Connectors/GoogleSecOps/GoogleSecOpsPollingHttpIntegration.test.ts} +230 -225
  570. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingIntegration.test.ts +1390 -0
  571. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingLoop.test.ts +981 -0
  572. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingNothingImportedRegression.test.ts +290 -0
  573. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsRequestContract.test.ts → Connectors/GoogleSecOps/GoogleSecOpsRequestContract.test.ts} +2 -2
  574. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsResponseParsing.test.ts → Connectors/GoogleSecOps/GoogleSecOpsResponseParsing.test.ts} +5 -5
  575. package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsSearchDetections.test.ts → Connectors/GoogleSecOps/GoogleSecOpsSearchDetections.test.ts} +38 -5
  576. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsTesterIntegration.test.ts +421 -0
  577. package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.test.ts +1445 -3
  578. package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.test.ts +14 -4
  579. package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.test.ts +313 -4
  580. package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +352 -0
  581. package/Tests/Server/Utils/Slo/SloFeedUtil.test.ts +326 -0
  582. package/Tests/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.test.ts +260 -0
  583. package/Tests/Server/Utils/Slo/SloMetricUtil.test.ts +592 -0
  584. package/Tests/Server/Utils/Slo/SloRecordReferenceValidator.test.ts +311 -0
  585. package/Tests/Server/Utils/StatusPageResource.test.ts +91 -3
  586. package/Tests/Server/Utils/TailwindBuildCopy.test.ts +14 -2
  587. package/Tests/Server/Utils/Telemetry/HostAssetAttributesFromOtlp.test.ts +235 -0
  588. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +385 -2
  589. package/Tests/Server/Utils/VendorAssets.test.ts +17 -3
  590. package/Tests/Types/AI/AIChatPageContext.test.ts +0 -0
  591. package/Tests/Types/AI/AIResourceContext.test.ts +312 -0
  592. package/Tests/Types/Billing/SubscriptionStatus.test.ts +176 -0
  593. package/Tests/Types/Billing/SubscriptionStatusPastDueMonitoring.test.ts +187 -0
  594. package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +53 -7
  595. package/Tests/Types/Dashboard/SloDashboardTemplate.test.ts +816 -792
  596. package/Tests/Types/Database/UniqueColumnsTogether.test.ts +100 -0
  597. package/Tests/Types/Monitor/CriteriaFilter.test.ts +216 -24
  598. package/Tests/Types/Monitor/MetricAndProfileDefaultCriteria.test.ts +4 -4
  599. package/Tests/Types/Monitor/MonitorStepDnssecMonitor.test.ts +14 -1
  600. package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +14 -1
  601. package/Tests/Types/Monitor/MonitorStepExternalStatusPageMonitor.test.ts +14 -1
  602. package/Tests/Types/Monitor/MonitorStepRetriesParsing.test.ts +201 -0
  603. package/Tests/Types/Monitor/MonitorStepRetryPersistence.test.ts +125 -0
  604. package/Tests/Types/Rules/RuleRun.test.ts +315 -0
  605. package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +60 -0
  606. package/Tests/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.test.ts +29 -4
  607. package/Tests/Types/StatusPage/SubscriberNotificationTemplateVariables.test.ts +217 -0
  608. package/Tests/Types/StatusPage/SubscriberUpdateNotification.test.ts +200 -0
  609. package/Tests/Types/WebsiteRequest.test.ts +44 -0
  610. package/Tests/UI/Components/ActiveFilterChipsLockedFilters.test.tsx +141 -87
  611. package/Tests/UI/Components/AlertBanner.test.tsx +319 -0
  612. package/Tests/UI/Components/BulkArchiveActionsCopy.test.tsx +310 -0
  613. package/Tests/UI/Components/Detail/DetailIdIsUnique.test.tsx +87 -0
  614. package/Tests/UI/Components/Dropdown/DropdownClearable.test.tsx +393 -0
  615. package/Tests/UI/Components/Dropdown/DropdownMultiSelectChipAccessibleName.test.tsx +64 -0
  616. package/Tests/UI/Components/EmptyState/EmptyState.test.tsx +335 -4
  617. package/Tests/UI/Components/EmptyState/EmptyStateGuideLinks.test.tsx +337 -0
  618. package/Tests/UI/Components/Forms/ModelFormJsonColumns.test.tsx +21 -20
  619. package/Tests/UI/Components/Forms/MonitorDescriptionForm.test.tsx +410 -0
  620. package/Tests/UI/Components/LabelRuleImportExport.test.tsx +15 -2
  621. package/Tests/UI/Components/LockedFilterChip.test.tsx +281 -144
  622. package/Tests/UI/Components/ModelTable/BaseModelTableReadPermissions.test.tsx +439 -0
  623. package/Tests/UI/Components/MoreMenu.test.tsx +133 -0
  624. package/Tests/UI/Components/MoreMenuMotion.test.tsx +84 -3
  625. package/Tests/UI/Components/NavBarMenuSearch.test.tsx +372 -0
  626. package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
  627. package/Tests/UI/Components/RuleRun/RuleDetailFields.test.tsx +336 -0
  628. package/Tests/UI/Components/RuleRun/RuleTable.test.tsx +304 -0
  629. package/Tests/UI/Components/RuleRun/RunRuleNowModal.test.tsx +231 -0
  630. package/Tests/UI/Components/RuleRun/RunRulesBulkAction.test.ts +213 -0
  631. package/Tests/UI/Components/TelemetryActiveFilterChipsLockedFilters.test.tsx +124 -61
  632. package/Tests/UI/EsbuildConfig.test.ts +1 -1
  633. package/Tests/UI/Monitor/MonitorStepRetrySettings.test.tsx +616 -0
  634. package/Tests/UI/ReactRouterSingletonBuild.test.ts +4 -2
  635. package/Tests/UI/Rum/ReplayEngine.test.ts +333 -0
  636. package/Tests/UI/Rum/ReplayHeader.test.tsx +257 -123
  637. package/Tests/UI/Rum/ReplayPinControl.test.tsx +122 -0
  638. package/Tests/UI/Rum/ReplayPlayerChrome.test.tsx +245 -0
  639. package/Tests/UI/Rum/ReplayRail.test.tsx +294 -0
  640. package/Tests/UI/Rum/ReplayScrubber.test.tsx +301 -1
  641. package/Tests/UI/Rum/ReplayStage.test.tsx +565 -172
  642. package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +343 -3
  643. package/Tests/UI/Rum/ReplayTabSwitcher.test.tsx +1424 -0
  644. package/Tests/UI/Rum/ReplayTimeline.test.tsx +222 -0
  645. package/Tests/UI/Utils/DashboardStackingLayers.test.ts +8 -1
  646. package/Tests/UI/Utils/RuleRunClient.test.ts +303 -0
  647. package/Tests/UI/Utils/Telemetry/TelemetryEntityNames.test.ts +1 -0
  648. package/Tests/Utils/API.test.ts +96 -0
  649. package/Tests/Utils/Dashboard/Components/DashboardComponentDefaults.test.ts +2 -0
  650. package/Tests/Utils/Dashboard/Components/DashboardSloListComponent.test.ts +206 -0
  651. package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +36 -2
  652. package/Tests/Utils/Dashboard/SloTemplateVariableScoping.test.ts +409 -588
  653. package/Tests/Utils/Dashboard/SloWidgetSource.test.ts +351 -0
  654. package/Tests/Utils/HTTPResponseBodyReader.test.ts +188 -1
  655. package/Tests/Utils/Markdown/MarkdownEscape.test.ts +361 -0
  656. package/Tests/Utils/Metrics/MetricEventScopeUrl.test.ts +101 -0
  657. package/Tests/Utils/Monitor/MonitorTestAvailabilityUtil.test.ts +256 -0
  658. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +1425 -118
  659. package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +188 -3
  660. package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +661 -13
  661. package/Tests/Utils/NetworkDiscovery/NetbiosNameUtil.test.ts +349 -0
  662. package/Tests/Utils/NetworkDiscovery/RunImportedDeviceNaming.test.ts +656 -0
  663. package/Tests/Utils/NetworkDiscovery/ShortDeviceNamePlanner.test.ts +1020 -0
  664. package/Tests/Utils/NetworkDiscovery/ShortHostnameUtil.test.ts +619 -0
  665. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +317 -0
  666. package/Tests/Utils/Project/DataResidency.test.ts +198 -0
  667. package/Tests/Utils/Rules/RuleRunSummary.test.ts +394 -0
  668. package/Tests/Utils/Slo/SloAffectedResourceMarkdown.test.ts +302 -0
  669. package/Tests/Utils/Slo/SloBurnRateTemplate.test.ts +468 -0
  670. package/Tests/Utils/Slo/SloEvaluation.test.ts +20 -4
  671. package/Tests/Utils/Slo/SloFeedMarkdown.test.ts +1185 -0
  672. package/Tests/Utils/Slo/SloHealth.test.ts +262 -0
  673. package/Tests/Utils/Slo/SloHistoryMetricName.test.ts +102 -0
  674. package/Tests/Utils/Slo/SloListWidgetFormat.test.ts +522 -0
  675. package/Tests/Utils/Slo/SloMetricType.test.ts +355 -0
  676. package/Tests/Utils/Slo/SloMonitorRuleCriteria.test.ts +387 -0
  677. package/Tests/Utils/Slo/SloMonitorStatusSummary.test.ts +210 -0
  678. package/Tests/Utils/Slo/SloOverviewText.test.ts +226 -0
  679. package/Tests/Utils/Slo/SloProjection.test.ts +1039 -0
  680. package/Tests/Utils/Slo/SloWidgetFormat.test.ts +47 -0
  681. package/Tests/Utils/Telemetry/HostIpAddresses.test.ts +105 -0
  682. package/Tests/Utils/Telemetry/LockedFilterSearch.test.ts +1 -80
  683. package/Types/AI/AIChatPageContext.ts +87 -2
  684. package/Types/AI/AIChatTypes.ts +4 -0
  685. package/Types/AI/AIResourceContext.ts +198 -0
  686. package/Types/AI/InvestigationNotStartedReason.ts +30 -0
  687. package/Types/BaseDatabase/EnableAuditLogOn.ts +41 -0
  688. package/Types/Billing/SubscriptionStatus.ts +39 -4
  689. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  690. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +5 -0
  691. package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +10 -0
  692. package/Types/Dashboard/DashboardComponents/DashboardSloListComponent.ts +29 -0
  693. package/Types/Dashboard/DashboardTemplates.ts +290 -297
  694. package/Types/Database/EnableAuditLog.ts +23 -1
  695. package/Types/Database/UniqueColumnsTogether.ts +55 -0
  696. package/Types/Email/EmailTemplateType.ts +4 -0
  697. package/Types/Metrics/MetricQueryConfigData.ts +8 -0
  698. package/Types/Monitor/CriteriaFilter.ts +55 -8
  699. package/Types/Monitor/MonitorStep.ts +5 -2
  700. package/Types/Monitor/MonitorStepDnsMonitor.ts +3 -1
  701. package/Types/Monitor/MonitorStepDnssecMonitor.ts +3 -1
  702. package/Types/Monitor/MonitorStepDomainMonitor.ts +3 -1
  703. package/Types/Monitor/MonitorStepExternalStatusPageMonitor.ts +3 -1
  704. package/Types/Monitor/MonitorStepRetries.ts +59 -0
  705. package/Types/Monitor/MonitorStepSnmpMonitor.ts +9 -2
  706. package/Types/NetworkDevice/NetworkDeviceDiagnosticResult.ts +104 -0
  707. package/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.ts +47 -0
  708. package/Types/NetworkDevice/NetworkDeviceDiagnosticType.ts +47 -0
  709. package/Types/NetworkDevice/NetworkDevicePingMetricNames.ts +20 -0
  710. package/Types/Permission.ts +127 -0
  711. package/Types/Rules/RuleCriteriaFieldRegistry.ts +5 -0
  712. package/Types/Rules/RuleRun.ts +518 -0
  713. package/Types/Rum/SessionReplayApi.ts +18 -0
  714. package/Types/Rum/WebVitals.ts +71 -0
  715. package/Types/SecurityEvent/Connectors/ConnectorDiagnostics.ts +6 -0
  716. package/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.ts +30 -4
  717. package/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.ts +108 -1
  718. package/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.ts +6 -2
  719. package/Types/ServiceLevelObjective/SloHistoryMetricName.ts +25 -0
  720. package/Types/ServiceLevelObjective/SloMetricType.ts +49 -0
  721. package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +4 -0
  722. package/Types/StatusPage/SubscriberNotificationTemplateVariables.ts +331 -0
  723. package/Types/StatusPage/SubscriberNotificationTrigger.ts +12 -0
  724. package/Types/StatusPage/SubscriberUpdateNotification.ts +89 -0
  725. package/Types/Telemetry/LockedFilterDetail.ts +7 -28
  726. package/Types/Telemetry/ServiceType.ts +7 -0
  727. package/Types/WebsiteRequest.ts +2 -0
  728. package/Typings/Index.d.ts +53 -3
  729. package/UI/Components/AlertBanner/AlertBanner.tsx +85 -27
  730. package/UI/Components/BulkUpdate/BulkArchiveActions.tsx +21 -2
  731. package/UI/Components/Detail/Detail.tsx +9 -2
  732. package/UI/Components/Dropdown/Dropdown.tsx +64 -1
  733. package/UI/Components/EditionLabel/EditionLabel.tsx +7 -5
  734. package/UI/Components/EmptyState/EmptyState.tsx +27 -3
  735. package/UI/Components/EmptyState/EmptyStateGuideLinks.tsx +124 -0
  736. package/UI/Components/Forms/ModelForm.tsx +6 -5
  737. package/UI/Components/KeyboardShortcut/Screenshots/README.md +1 -1
  738. package/UI/Components/LabelRule/LabelRuleTable.tsx +8 -2
  739. package/UI/Components/LogsViewer/LogsViewer.tsx +2 -6
  740. package/UI/Components/LogsViewer/components/ActiveFilterChips.tsx +2 -13
  741. package/UI/Components/LogsViewer/types.ts +2 -2
  742. package/UI/Components/ModelTable/BaseModelTable.tsx +8 -0
  743. package/UI/Components/MoreMenu/MoreMenu.tsx +14 -3
  744. package/UI/Components/Navbar/NavBar.tsx +2 -0
  745. package/UI/Components/Navbar/NavBarMenuModal.tsx +6 -2
  746. package/UI/Components/RuleRun/RuleDetailFields.tsx +359 -0
  747. package/UI/Components/RuleRun/RuleTable.tsx +183 -0
  748. package/UI/Components/RuleRun/RuleView.tsx +170 -0
  749. package/UI/Components/RuleRun/RunRuleNowModal.tsx +147 -0
  750. package/UI/Components/RuleRun/RunRulesBulkAction.ts +103 -0
  751. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +2 -6
  752. package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +38 -104
  753. package/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx +2 -18
  754. package/UI/Components/TelemetryViewer/types.ts +2 -2
  755. package/UI/Utils/Rules/RuleRunClient.ts +178 -0
  756. package/UI/Utils/Telemetry/TelemetryEntityNames.ts +8 -0
  757. package/UI/esbuild-config.js +4 -4
  758. package/Utils/API.ts +10 -1
  759. package/Utils/Dashboard/Components/DashboardSloComponent.ts +19 -2
  760. package/Utils/Dashboard/Components/DashboardSloListComponent.ts +126 -0
  761. package/Utils/Dashboard/Components/Index.ts +7 -0
  762. package/Utils/Dashboard/HtmlWidgetDocument.ts +1 -1
  763. package/Utils/Dashboard/SloWidgetSource.ts +188 -0
  764. package/Utils/HTTPResponseBodyReader.ts +64 -8
  765. package/Utils/Markdown/MarkdownEscape.ts +63 -0
  766. package/Utils/Metrics/MetricExplorerUrl.ts +19 -0
  767. package/Utils/Monitor/MonitorTestAvailabilityUtil.ts +92 -0
  768. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +161 -36
  769. package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +25 -0
  770. package/Utils/NetworkDiscovery/NetbiosNameUtil.ts +146 -0
  771. package/Utils/NetworkDiscovery/RunImportedDeviceNaming.ts +390 -0
  772. package/Utils/NetworkDiscovery/ShortDeviceNamePlanner.ts +291 -0
  773. package/Utils/NetworkDiscovery/ShortHostnameUtil.ts +91 -0
  774. package/Utils/NetworkSite/CidrMatchUtil.ts +37 -12
  775. package/Utils/Project/DataResidency.ts +63 -0
  776. package/Utils/Rules/RuleRunSummary.ts +323 -0
  777. package/Utils/Slo/SloAffectedResourceMarkdown.ts +123 -0
  778. package/Utils/Slo/SloBurnRateTemplate.ts +373 -0
  779. package/Utils/Slo/SloFeedMarkdown.ts +1507 -0
  780. package/Utils/Slo/SloHealth.ts +96 -9
  781. package/Utils/Slo/SloListWidgetFormat.ts +370 -0
  782. package/Utils/Slo/SloMetricType.ts +237 -0
  783. package/Utils/Slo/SloMonitorRuleCriteria.ts +364 -0
  784. package/Utils/Slo/SloMonitorStatusSummary.ts +210 -0
  785. package/Utils/Slo/SloOverviewText.ts +265 -0
  786. package/Utils/Slo/SloProjection.ts +967 -0
  787. package/Utils/Slo/SloWidgetFormat.ts +12 -2
  788. package/Utils/Telemetry/HostIpAddresses.ts +46 -2
  789. package/Utils/Telemetry/LockedFilterSearch.ts +3 -49
  790. package/build/dist/Models/AnalyticsModels/AuditLog.js +70 -1
  791. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  792. package/build/dist/Models/AnalyticsModels/SecurityEvent.js +4 -4
  793. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js +4 -1
  794. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js.map +1 -1
  795. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js +4 -1
  796. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js.map +1 -1
  797. package/build/dist/Models/DatabaseModels/Alert.js +72 -0
  798. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  799. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js +3 -1
  800. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js.map +1 -1
  801. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js +3 -1
  802. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js.map +1 -1
  803. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +3 -1
  804. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
  805. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +3 -1
  806. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
  807. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js +4 -1
  808. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js.map +1 -1
  809. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js +4 -1
  810. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js.map +1 -1
  811. package/build/dist/Models/DatabaseModels/CloudResourceOwnerTeam.js +4 -1
  812. package/build/dist/Models/DatabaseModels/CloudResourceOwnerTeam.js.map +1 -1
  813. package/build/dist/Models/DatabaseModels/CloudResourceOwnerUser.js +4 -1
  814. package/build/dist/Models/DatabaseModels/CloudResourceOwnerUser.js.map +1 -1
  815. package/build/dist/Models/DatabaseModels/DashboardOwnerTeam.js +3 -1
  816. package/build/dist/Models/DatabaseModels/DashboardOwnerTeam.js.map +1 -1
  817. package/build/dist/Models/DatabaseModels/DashboardOwnerUser.js +3 -1
  818. package/build/dist/Models/DatabaseModels/DashboardOwnerUser.js.map +1 -1
  819. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +3 -0
  820. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  821. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js +4 -1
  822. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js.map +1 -1
  823. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js +4 -1
  824. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js.map +1 -1
  825. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js +4 -1
  826. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js.map +1 -1
  827. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js +4 -1
  828. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js.map +1 -1
  829. package/build/dist/Models/DatabaseModels/GlobalConfig.js +1 -1
  830. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  831. package/build/dist/Models/DatabaseModels/HostOwnerTeam.js +4 -1
  832. package/build/dist/Models/DatabaseModels/HostOwnerTeam.js.map +1 -1
  833. package/build/dist/Models/DatabaseModels/HostOwnerUser.js +4 -1
  834. package/build/dist/Models/DatabaseModels/HostOwnerUser.js.map +1 -1
  835. package/build/dist/Models/DatabaseModels/Incident.js +76 -0
  836. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  837. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js +3 -1
  838. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js.map +1 -1
  839. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js +3 -1
  840. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js.map +1 -1
  841. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +75 -0
  842. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -1
  843. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +3 -1
  844. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
  845. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +3 -1
  846. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
  847. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +75 -0
  848. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  849. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +4 -1
  850. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
  851. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +4 -1
  852. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
  853. package/build/dist/Models/DatabaseModels/IncomingCallPolicyOwnerTeam.js +3 -1
  854. package/build/dist/Models/DatabaseModels/IncomingCallPolicyOwnerTeam.js.map +1 -1
  855. package/build/dist/Models/DatabaseModels/IncomingCallPolicyOwnerUser.js +3 -1
  856. package/build/dist/Models/DatabaseModels/IncomingCallPolicyOwnerUser.js.map +1 -1
  857. package/build/dist/Models/DatabaseModels/Index.js +6 -4
  858. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  859. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +4 -1
  860. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -1
  861. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +4 -1
  862. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -1
  863. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js +4 -1
  864. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js.map +1 -1
  865. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js +4 -1
  866. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js.map +1 -1
  867. package/build/dist/Models/DatabaseModels/Monitor.js +2 -3
  868. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  869. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +4 -1
  870. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
  871. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +4 -1
  872. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
  873. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +3 -1
  874. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
  875. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +3 -1
  876. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
  877. package/build/dist/Models/DatabaseModels/MonitorTemplate.js +2 -3
  878. package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
  879. package/build/dist/Models/DatabaseModels/NetworkDevice.js +68 -0
  880. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  881. package/build/dist/Models/DatabaseModels/NetworkDeviceDiagnostic.js +772 -0
  882. package/build/dist/Models/DatabaseModels/NetworkDeviceDiagnostic.js.map +1 -0
  883. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +140 -0
  884. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  885. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js +4 -1
  886. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js.map +1 -1
  887. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js +4 -1
  888. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js.map +1 -1
  889. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +1 -1
  890. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -1
  891. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js +3 -1
  892. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js.map +1 -1
  893. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js +3 -1
  894. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js.map +1 -1
  895. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerTeam.js +3 -1
  896. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerTeam.js.map +1 -1
  897. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerUser.js +3 -1
  898. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleOwnerUser.js.map +1 -1
  899. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js +4 -1
  900. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js.map +1 -1
  901. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js +4 -1
  902. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js.map +1 -1
  903. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +4 -1
  904. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
  905. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +4 -1
  906. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
  907. package/build/dist/Models/DatabaseModels/Project.js +42 -0
  908. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  909. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js +4 -1
  910. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js.map +1 -1
  911. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js +4 -1
  912. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js.map +1 -1
  913. package/build/dist/Models/DatabaseModels/RumApplicationOwnerTeam.js +4 -1
  914. package/build/dist/Models/DatabaseModels/RumApplicationOwnerTeam.js.map +1 -1
  915. package/build/dist/Models/DatabaseModels/RumApplicationOwnerUser.js +4 -1
  916. package/build/dist/Models/DatabaseModels/RumApplicationOwnerUser.js.map +1 -1
  917. package/build/dist/Models/DatabaseModels/RunbookOwnerTeam.js +3 -1
  918. package/build/dist/Models/DatabaseModels/RunbookOwnerTeam.js.map +1 -1
  919. package/build/dist/Models/DatabaseModels/RunbookOwnerUser.js +3 -1
  920. package/build/dist/Models/DatabaseModels/RunbookOwnerUser.js.map +1 -1
  921. package/build/dist/Models/DatabaseModels/RunnerOwnerTeam.js +3 -1
  922. package/build/dist/Models/DatabaseModels/RunnerOwnerTeam.js.map +1 -1
  923. package/build/dist/Models/DatabaseModels/RunnerOwnerUser.js +3 -1
  924. package/build/dist/Models/DatabaseModels/RunnerOwnerUser.js.map +1 -1
  925. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +3 -1
  926. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
  927. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +3 -1
  928. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
  929. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +75 -0
  930. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  931. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js +6 -1
  932. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js.map +1 -1
  933. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +6 -1
  934. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js.map +1 -1
  935. package/build/dist/Models/DatabaseModels/SecurityEventConnection.js +11 -11
  936. package/build/dist/Models/DatabaseModels/ServerlessFunctionOwnerTeam.js +4 -1
  937. package/build/dist/Models/DatabaseModels/ServerlessFunctionOwnerTeam.js.map +1 -1
  938. package/build/dist/Models/DatabaseModels/ServerlessFunctionOwnerUser.js +4 -1
  939. package/build/dist/Models/DatabaseModels/ServerlessFunctionOwnerUser.js.map +1 -1
  940. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +192 -10
  941. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -1
  942. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +798 -96
  943. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -1
  944. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js +596 -0
  945. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js.map +1 -0
  946. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js +590 -0
  947. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js.map +1 -0
  948. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +19 -1
  949. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -1
  950. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +19 -1
  951. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -1
  952. package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js +4 -1
  953. package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js.map +1 -1
  954. package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js +4 -1
  955. package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js.map +1 -1
  956. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +75 -0
  957. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  958. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +3 -1
  959. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
  960. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +3 -1
  961. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
  962. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +1 -1
  963. package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerTeam.js +4 -1
  964. package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerTeam.js.map +1 -1
  965. package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerUser.js +4 -1
  966. package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerUser.js.map +1 -1
  967. package/build/dist/Models/DatabaseModels/WorkflowOwnerTeam.js +3 -1
  968. package/build/dist/Models/DatabaseModels/WorkflowOwnerTeam.js.map +1 -1
  969. package/build/dist/Models/DatabaseModels/WorkflowOwnerUser.js +3 -1
  970. package/build/dist/Models/DatabaseModels/WorkflowOwnerUser.js.map +1 -1
  971. package/build/dist/Server/API/AIAgentDataAPI.js +1 -1
  972. package/build/dist/Server/API/AIChatAPI.js +3 -1
  973. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  974. package/build/dist/Server/API/AIInvestigationAPI.js +3 -0
  975. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  976. package/build/dist/Server/API/BaseAPI.js +14 -0
  977. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  978. package/build/dist/Server/API/BillingInvoiceAPI.js +233 -19
  979. package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
  980. package/build/dist/Server/API/BillingPaymentMethodAPI.js +86 -5
  981. package/build/dist/Server/API/BillingPaymentMethodAPI.js.map +1 -1
  982. package/build/dist/Server/API/DashboardAPI.js +72 -2
  983. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  984. package/build/dist/Server/API/SecurityEventConnectionAPI.js +102 -10
  985. package/build/dist/Server/API/SecurityEventConnectionAPI.js.map +1 -1
  986. package/build/dist/Server/API/StatusPageAPI.js +245 -155
  987. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  988. package/build/dist/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.js +1 -1
  989. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.js +34 -0
  990. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.js.map +1 -0
  991. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.js +24 -0
  992. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.js.map +1 -0
  993. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.js +21 -0
  994. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.js.map +1 -0
  995. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.js +207 -0
  996. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.js.map +1 -0
  997. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.js +72 -0
  998. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.js.map +1 -0
  999. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.js +20 -0
  1000. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.js.map +1 -0
  1001. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.js +46 -0
  1002. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.js.map +1 -0
  1003. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793500000000-MakeOwnerRowsUnique.js +602 -0
  1004. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793500000000-MakeOwnerRowsUnique.js.map +1 -0
  1005. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793700000000-AddAIInvestigationDecision.js +14 -0
  1006. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793700000000-AddAIInvestigationDecision.js.map +1 -0
  1007. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793800000000-RemoveMonitorDescriptionLengthLimit.js +20 -0
  1008. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793800000000-RemoveMonitorDescriptionLengthLimit.js.map +1 -0
  1009. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  1010. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  1011. package/build/dist/Server/Middleware/IdentityRateLimit.js +22 -1
  1012. package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
  1013. package/build/dist/Server/Middleware/PublicDashboardRateLimit.js +117 -36
  1014. package/build/dist/Server/Middleware/PublicDashboardRateLimit.js.map +1 -1
  1015. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +112 -56
  1016. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
  1017. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +167 -68
  1018. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
  1019. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +87 -26
  1020. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
  1021. package/build/dist/Server/Services/AlertEpisodeService.js +13 -31
  1022. package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -1
  1023. package/build/dist/Server/Services/AlertGroupingEngineService.js +7 -4
  1024. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  1025. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +270 -203
  1026. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  1027. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +498 -354
  1028. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  1029. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +97 -34
  1030. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
  1031. package/build/dist/Server/Services/AlertService.js +104 -39
  1032. package/build/dist/Server/Services/AlertService.js.map +1 -1
  1033. package/build/dist/Server/Services/AuditLogService.js +408 -44
  1034. package/build/dist/Server/Services/AuditLogService.js.map +1 -1
  1035. package/build/dist/Server/Services/BillingInvoiceService.js +94 -85
  1036. package/build/dist/Server/Services/BillingInvoiceService.js.map +1 -1
  1037. package/build/dist/Server/Services/BillingService.js +406 -14
  1038. package/build/dist/Server/Services/BillingService.js.map +1 -1
  1039. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +141 -92
  1040. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
  1041. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +191 -99
  1042. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
  1043. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +135 -86
  1044. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
  1045. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +192 -99
  1046. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
  1047. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +117 -69
  1048. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
  1049. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +173 -81
  1050. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
  1051. package/build/dist/Server/Services/DatabaseService.js +196 -19
  1052. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  1053. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +141 -92
  1054. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
  1055. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +191 -99
  1056. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
  1057. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +145 -91
  1058. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
  1059. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +193 -99
  1060. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
  1061. package/build/dist/Server/Services/HostLabelRuleEngineService.js +141 -92
  1062. package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
  1063. package/build/dist/Server/Services/HostOwnerRuleEngineService.js +193 -101
  1064. package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
  1065. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +112 -56
  1066. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
  1067. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +222 -63
  1068. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
  1069. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +87 -26
  1070. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
  1071. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +24 -0
  1072. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
  1073. package/build/dist/Server/Services/IncidentEpisodeService.js +15 -68
  1074. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  1075. package/build/dist/Server/Services/IncidentGroupingEngineService.js +7 -4
  1076. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  1077. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +258 -192
  1078. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  1079. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +519 -376
  1080. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  1081. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +95 -32
  1082. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
  1083. package/build/dist/Server/Services/IncidentPublicNoteService.js +24 -0
  1084. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  1085. package/build/dist/Server/Services/IncidentService.js +103 -36
  1086. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  1087. package/build/dist/Server/Services/IncidentTemplateService.js +13 -31
  1088. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  1089. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +113 -65
  1090. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
  1091. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +173 -81
  1092. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
  1093. package/build/dist/Server/Services/Index.js +6 -4
  1094. package/build/dist/Server/Services/Index.js.map +1 -1
  1095. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +117 -69
  1096. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
  1097. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +173 -81
  1098. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
  1099. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +145 -91
  1100. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
  1101. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +193 -99
  1102. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
  1103. package/build/dist/Server/Services/LabelService.js +20 -25
  1104. package/build/dist/Server/Services/LabelService.js.map +1 -1
  1105. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +123 -77
  1106. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
  1107. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +167 -82
  1108. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
  1109. package/build/dist/Server/Services/MonitorProbeService.js +18 -2
  1110. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  1111. package/build/dist/Server/Services/MonitorService.js +24 -40
  1112. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  1113. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +287 -5
  1114. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  1115. package/build/dist/Server/Services/NetworkDeviceDiagnosticService.js +333 -0
  1116. package/build/dist/Server/Services/NetworkDeviceDiagnosticService.js.map +1 -0
  1117. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +117 -69
  1118. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
  1119. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +173 -81
  1120. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
  1121. package/build/dist/Server/Services/NetworkDeviceService.js +36 -2
  1122. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  1123. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +117 -64
  1124. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
  1125. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +175 -81
  1126. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
  1127. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +116 -65
  1128. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
  1129. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +173 -81
  1130. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
  1131. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +141 -92
  1132. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
  1133. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +191 -99
  1134. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
  1135. package/build/dist/Server/Services/ProjectService.js +82 -10
  1136. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  1137. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +141 -92
  1138. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
  1139. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +191 -99
  1140. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
  1141. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +111 -63
  1142. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
  1143. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +164 -76
  1144. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
  1145. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +117 -69
  1146. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
  1147. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +173 -81
  1148. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
  1149. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +280 -209
  1150. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  1151. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +521 -376
  1152. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  1153. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +24 -0
  1154. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  1155. package/build/dist/Server/Services/ScheduledMaintenanceService.js +37 -39
  1156. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  1157. package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js +12 -29
  1158. package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js.map +1 -1
  1159. package/build/dist/Server/Services/SecurityEventConnectionService.js +43 -3
  1160. package/build/dist/Server/Services/SecurityEventConnectionService.js.map +1 -1
  1161. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +115 -62
  1162. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
  1163. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +166 -76
  1164. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
  1165. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +141 -92
  1166. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
  1167. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +769 -18
  1168. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -1
  1169. package/build/dist/Server/Services/ServiceLevelObjectiveFeedService.js +96 -0
  1170. package/build/dist/Server/Services/ServiceLevelObjectiveFeedService.js.map +1 -0
  1171. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js +614 -87
  1172. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js.map +1 -1
  1173. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js +844 -0
  1174. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js.map +1 -0
  1175. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +207 -1
  1176. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -1
  1177. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +221 -1
  1178. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -1
  1179. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +997 -50
  1180. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -1
  1181. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +193 -100
  1182. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
  1183. package/build/dist/Server/Services/StatusPageAnnouncementService.js +12 -0
  1184. package/build/dist/Server/Services/StatusPageAnnouncementService.js.map +1 -1
  1185. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +118 -70
  1186. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
  1187. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +158 -76
  1188. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
  1189. package/build/dist/Server/Services/StatusPagePrivateUserService.js +33 -25
  1190. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  1191. package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js +36 -1
  1192. package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js.map +1 -1
  1193. package/build/dist/Server/Services/StatusPageService.js +50 -35
  1194. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  1195. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +19 -215
  1196. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  1197. package/build/dist/Server/Services/StatusPageSubscriberService.js +6 -0
  1198. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  1199. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -5
  1200. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  1201. package/build/dist/Server/Services/ThreatIntelFeedService.js +1 -1
  1202. package/build/dist/Server/Services/UserSessionService.js +5 -0
  1203. package/build/dist/Server/Services/UserSessionService.js.map +1 -1
  1204. package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js +141 -92
  1205. package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js.map +1 -1
  1206. package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js +191 -99
  1207. package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js.map +1 -1
  1208. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +117 -69
  1209. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
  1210. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +173 -81
  1211. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
  1212. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +15 -10
  1213. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  1214. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +82 -0
  1215. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  1216. package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js +17 -0
  1217. package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js.map +1 -1
  1218. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +12 -3
  1219. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
  1220. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +32 -4
  1221. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
  1222. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js +1 -1
  1223. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +1 -1
  1224. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +31 -0
  1225. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -1
  1226. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +8 -5
  1227. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  1228. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +33 -13
  1229. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  1230. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +31 -10
  1231. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  1232. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js +205 -0
  1233. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js.map +1 -0
  1234. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +13 -0
  1235. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  1236. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +24 -1
  1237. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
  1238. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js +21 -1
  1239. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js.map +1 -1
  1240. package/build/dist/Server/Utils/AI/Toolbox/Index.js +30 -6
  1241. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  1242. package/build/dist/Server/Utils/AI/Toolbox/ResourceTools.js +721 -0
  1243. package/build/dist/Server/Utils/AI/Toolbox/ResourceTools.js.map +1 -0
  1244. package/build/dist/Server/Utils/AI/Toolbox/RumTools.js +330 -0
  1245. package/build/dist/Server/Utils/AI/Toolbox/RumTools.js.map +1 -0
  1246. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js +337 -53
  1247. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js.map +1 -1
  1248. package/build/dist/Server/Utils/AI/Toolbox/ToolTypes.js.map +1 -1
  1249. package/build/dist/Server/Utils/AI/Toolbox/TraceTools.js +1 -1
  1250. package/build/dist/Server/Utils/AI/Toolbox/TraceTools.js.map +1 -1
  1251. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +108 -15
  1252. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
  1253. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js +2 -2
  1254. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js.map +1 -1
  1255. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js +115 -6
  1256. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js.map +1 -1
  1257. package/build/dist/Server/Utils/Database/PostgresErrorTranslator.js +11 -0
  1258. package/build/dist/Server/Utils/Database/PostgresErrorTranslator.js.map +1 -1
  1259. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +13 -0
  1260. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -1
  1261. package/build/dist/Server/Utils/Database/RelationValueUtil.js +82 -0
  1262. package/build/dist/Server/Utils/Database/RelationValueUtil.js.map +1 -0
  1263. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +115 -106
  1264. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  1265. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +17 -21
  1266. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  1267. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +4 -2
  1268. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
  1269. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +5 -4
  1270. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -1
  1271. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js +50 -10
  1272. package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js.map +1 -1
  1273. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +13 -1
  1274. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  1275. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +6 -10
  1276. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
  1277. package/build/dist/Server/Utils/Rules/MonitorRulePatternValidator.js +34 -0
  1278. package/build/dist/Server/Utils/Rules/MonitorRulePatternValidator.js.map +1 -0
  1279. package/build/dist/Server/Utils/Rules/OwnerRuleAssignment.js +163 -0
  1280. package/build/dist/Server/Utils/Rules/OwnerRuleAssignment.js.map +1 -0
  1281. package/build/dist/Server/Utils/Rules/RuleRun/RuleApplication.js +25 -0
  1282. package/build/dist/Server/Utils/Rules/RuleRun/RuleApplication.js.map +1 -0
  1283. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunPermission.js +128 -0
  1284. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunPermission.js.map +1 -0
  1285. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +746 -0
  1286. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -0
  1287. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunner.js +221 -0
  1288. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunner.js.map +1 -0
  1289. package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js +3 -2
  1290. package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js.map +1 -1
  1291. package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js +6 -4
  1292. package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js.map +1 -1
  1293. package/build/dist/Server/Utils/SecurityEvent/{GoogleSecOps → Connectors/GoogleSecOps}/GoogleSecOpsClient.js +174 -14
  1294. package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsClient.js.map +1 -0
  1295. package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.js +1417 -0
  1296. package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.js.map +1 -0
  1297. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js +138 -18
  1298. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js.map +1 -1
  1299. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js +1 -2
  1300. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js.map +1 -1
  1301. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js +23 -18
  1302. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js.map +1 -1
  1303. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js +2 -0
  1304. package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js.map +1 -1
  1305. package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js +95 -0
  1306. package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js.map +1 -1
  1307. package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +1 -1
  1308. package/build/dist/Server/Utils/SecurityEvent/SecurityEventDedupe.js +3 -3
  1309. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +2 -2
  1310. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +118 -40
  1311. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
  1312. package/build/dist/Server/Utils/Slo/SloFeedUtil.js +150 -0
  1313. package/build/dist/Server/Utils/Slo/SloFeedUtil.js.map +1 -0
  1314. package/build/dist/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.js +136 -0
  1315. package/build/dist/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.js.map +1 -0
  1316. package/build/dist/Server/Utils/Slo/SloMetricUtil.js +269 -0
  1317. package/build/dist/Server/Utils/Slo/SloMetricUtil.js.map +1 -0
  1318. package/build/dist/Server/Utils/Slo/SloOwnerReferenceValidator.js +134 -0
  1319. package/build/dist/Server/Utils/Slo/SloOwnerReferenceValidator.js.map +1 -0
  1320. package/build/dist/Server/Utils/Slo/SloRecordReferenceValidator.js +137 -0
  1321. package/build/dist/Server/Utils/Slo/SloRecordReferenceValidator.js.map +1 -0
  1322. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js +6 -26
  1323. package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js.map +1 -1
  1324. package/build/dist/Server/Utils/StatusPageResource.js +31 -5
  1325. package/build/dist/Server/Utils/StatusPageResource.js.map +1 -1
  1326. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +171 -6
  1327. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  1328. package/build/dist/Types/AI/AIChatPageContext.js +68 -2
  1329. package/build/dist/Types/AI/AIChatPageContext.js.map +1 -1
  1330. package/build/dist/Types/AI/AIChatTypes.js +4 -0
  1331. package/build/dist/Types/AI/AIChatTypes.js.map +1 -1
  1332. package/build/dist/Types/AI/AIResourceContext.js +162 -0
  1333. package/build/dist/Types/AI/AIResourceContext.js.map +1 -0
  1334. package/build/dist/Types/AI/InvestigationNotStartedReason.js +2 -0
  1335. package/build/dist/Types/AI/InvestigationNotStartedReason.js.map +1 -0
  1336. package/build/dist/Types/Billing/SubscriptionStatus.js +37 -3
  1337. package/build/dist/Types/Billing/SubscriptionStatus.js.map +1 -1
  1338. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  1339. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  1340. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +5 -0
  1341. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  1342. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloListComponent.js +2 -0
  1343. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloListComponent.js.map +1 -0
  1344. package/build/dist/Types/Dashboard/DashboardTemplates.js +275 -286
  1345. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  1346. package/build/dist/Types/Database/EnableAuditLog.js +19 -1
  1347. package/build/dist/Types/Database/EnableAuditLog.js.map +1 -1
  1348. package/build/dist/Types/Database/UniqueColumnsTogether.js +19 -0
  1349. package/build/dist/Types/Database/UniqueColumnsTogether.js.map +1 -0
  1350. package/build/dist/Types/Email/EmailTemplateType.js +4 -0
  1351. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  1352. package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
  1353. package/build/dist/Types/Monitor/CriteriaFilter.js +45 -6
  1354. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  1355. package/build/dist/Types/Monitor/MonitorStep.js +2 -0
  1356. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  1357. package/build/dist/Types/Monitor/MonitorStepDnsMonitor.js +3 -1
  1358. package/build/dist/Types/Monitor/MonitorStepDnsMonitor.js.map +1 -1
  1359. package/build/dist/Types/Monitor/MonitorStepDnssecMonitor.js +3 -1
  1360. package/build/dist/Types/Monitor/MonitorStepDnssecMonitor.js.map +1 -1
  1361. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js +3 -1
  1362. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js.map +1 -1
  1363. package/build/dist/Types/Monitor/MonitorStepExternalStatusPageMonitor.js +3 -1
  1364. package/build/dist/Types/Monitor/MonitorStepExternalStatusPageMonitor.js.map +1 -1
  1365. package/build/dist/Types/Monitor/MonitorStepRetries.js +47 -0
  1366. package/build/dist/Types/Monitor/MonitorStepRetries.js.map +1 -0
  1367. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js +3 -1
  1368. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js.map +1 -1
  1369. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticResult.js +29 -0
  1370. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticResult.js.map +1 -0
  1371. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.js +37 -0
  1372. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.js.map +1 -0
  1373. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticType.js +42 -0
  1374. package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticType.js.map +1 -0
  1375. package/build/dist/Types/NetworkDevice/NetworkDevicePingMetricNames.js +20 -0
  1376. package/build/dist/Types/NetworkDevice/NetworkDevicePingMetricNames.js.map +1 -0
  1377. package/build/dist/Types/Permission.js +114 -0
  1378. package/build/dist/Types/Permission.js.map +1 -1
  1379. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +5 -0
  1380. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
  1381. package/build/dist/Types/Rules/RuleRun.js +267 -0
  1382. package/build/dist/Types/Rules/RuleRun.js.map +1 -0
  1383. package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -1
  1384. package/build/dist/Types/Rum/WebVitals.js +64 -0
  1385. package/build/dist/Types/Rum/WebVitals.js.map +1 -0
  1386. package/build/dist/Types/SecurityEvent/Connectors/ConnectorDiagnostics.js.map +1 -1
  1387. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js +16 -1
  1388. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js.map +1 -1
  1389. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js +65 -0
  1390. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js.map +1 -1
  1391. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js +6 -2
  1392. package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js.map +1 -1
  1393. package/build/dist/Types/ServiceLevelObjective/SloHistoryMetricName.js +26 -0
  1394. package/build/dist/Types/ServiceLevelObjective/SloHistoryMetricName.js.map +1 -0
  1395. package/build/dist/Types/ServiceLevelObjective/SloMetricType.js +45 -0
  1396. package/build/dist/Types/ServiceLevelObjective/SloMetricType.js.map +1 -0
  1397. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +4 -0
  1398. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
  1399. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js +295 -0
  1400. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js.map +1 -0
  1401. package/build/dist/Types/StatusPage/SubscriberNotificationTrigger.js +13 -0
  1402. package/build/dist/Types/StatusPage/SubscriberNotificationTrigger.js.map +1 -0
  1403. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js +67 -0
  1404. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js.map +1 -0
  1405. package/build/dist/Types/Telemetry/LockedFilterDetail.js +7 -7
  1406. package/build/dist/Types/Telemetry/ServiceType.js +7 -0
  1407. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  1408. package/build/dist/Types/WebsiteRequest.js +2 -0
  1409. package/build/dist/Types/WebsiteRequest.js.map +1 -1
  1410. package/build/dist/UI/Components/AlertBanner/AlertBanner.js +48 -19
  1411. package/build/dist/UI/Components/AlertBanner/AlertBanner.js.map +1 -1
  1412. package/build/dist/UI/Components/BulkUpdate/BulkArchiveActions.js +10 -2
  1413. package/build/dist/UI/Components/BulkUpdate/BulkArchiveActions.js.map +1 -1
  1414. package/build/dist/UI/Components/Detail/Detail.js +12 -3
  1415. package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
  1416. package/build/dist/UI/Components/Dropdown/Dropdown.js +33 -5
  1417. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  1418. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +7 -5
  1419. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  1420. package/build/dist/UI/Components/EmptyState/EmptyState.js +3 -3
  1421. package/build/dist/UI/Components/EmptyState/EmptyState.js.map +1 -1
  1422. package/build/dist/UI/Components/EmptyState/EmptyStateGuideLinks.js +47 -0
  1423. package/build/dist/UI/Components/EmptyState/EmptyStateGuideLinks.js.map +1 -0
  1424. package/build/dist/UI/Components/Forms/ModelForm.js +6 -5
  1425. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  1426. package/build/dist/UI/Components/LabelRule/LabelRuleTable.js +6 -2
  1427. package/build/dist/UI/Components/LabelRule/LabelRuleTable.js.map +1 -1
  1428. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +1 -1
  1429. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  1430. package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js +0 -2
  1431. package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js.map +1 -1
  1432. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +7 -0
  1433. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  1434. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +3 -1
  1435. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  1436. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  1437. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +4 -2
  1438. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  1439. package/build/dist/UI/Components/RuleRun/RuleDetailFields.js +226 -0
  1440. package/build/dist/UI/Components/RuleRun/RuleDetailFields.js.map +1 -0
  1441. package/build/dist/UI/Components/RuleRun/RuleTable.js +97 -0
  1442. package/build/dist/UI/Components/RuleRun/RuleTable.js.map +1 -0
  1443. package/build/dist/UI/Components/RuleRun/RuleView.js +83 -0
  1444. package/build/dist/UI/Components/RuleRun/RuleView.js.map +1 -0
  1445. package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js +74 -0
  1446. package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js.map +1 -0
  1447. package/build/dist/UI/Components/RuleRun/RunRulesBulkAction.js +78 -0
  1448. package/build/dist/UI/Components/RuleRun/RunRulesBulkAction.js.map +1 -0
  1449. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +1 -1
  1450. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  1451. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +24 -50
  1452. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -1
  1453. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js +0 -4
  1454. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js.map +1 -1
  1455. package/build/dist/UI/Utils/Rules/RuleRunClient.js +98 -0
  1456. package/build/dist/UI/Utils/Rules/RuleRunClient.js.map +1 -0
  1457. package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js +8 -0
  1458. package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js.map +1 -1
  1459. package/build/dist/Utils/API.js +8 -4
  1460. package/build/dist/Utils/API.js.map +1 -1
  1461. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +16 -2
  1462. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -1
  1463. package/build/dist/Utils/Dashboard/Components/DashboardSloListComponent.js +94 -0
  1464. package/build/dist/Utils/Dashboard/Components/DashboardSloListComponent.js.map +1 -0
  1465. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  1466. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  1467. package/build/dist/Utils/Dashboard/SloWidgetSource.js +125 -0
  1468. package/build/dist/Utils/Dashboard/SloWidgetSource.js.map +1 -0
  1469. package/build/dist/Utils/HTTPResponseBodyReader.js +50 -6
  1470. package/build/dist/Utils/HTTPResponseBodyReader.js.map +1 -1
  1471. package/build/dist/Utils/Markdown/MarkdownEscape.js +49 -0
  1472. package/build/dist/Utils/Markdown/MarkdownEscape.js.map +1 -0
  1473. package/build/dist/Utils/Metrics/MetricExplorerUrl.js +14 -3
  1474. package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -1
  1475. package/build/dist/Utils/Monitor/MonitorTestAvailabilityUtil.js +68 -0
  1476. package/build/dist/Utils/Monitor/MonitorTestAvailabilityUtil.js.map +1 -0
  1477. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +112 -34
  1478. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
  1479. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +22 -0
  1480. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
  1481. package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js +129 -0
  1482. package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js.map +1 -0
  1483. package/build/dist/Utils/NetworkDiscovery/RunImportedDeviceNaming.js +255 -0
  1484. package/build/dist/Utils/NetworkDiscovery/RunImportedDeviceNaming.js.map +1 -0
  1485. package/build/dist/Utils/NetworkDiscovery/ShortDeviceNamePlanner.js +184 -0
  1486. package/build/dist/Utils/NetworkDiscovery/ShortDeviceNamePlanner.js.map +1 -0
  1487. package/build/dist/Utils/NetworkDiscovery/ShortHostnameUtil.js +79 -0
  1488. package/build/dist/Utils/NetworkDiscovery/ShortHostnameUtil.js.map +1 -0
  1489. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +21 -12
  1490. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -1
  1491. package/build/dist/Utils/Project/DataResidency.js +51 -0
  1492. package/build/dist/Utils/Project/DataResidency.js.map +1 -0
  1493. package/build/dist/Utils/Rules/RuleRunSummary.js +197 -0
  1494. package/build/dist/Utils/Rules/RuleRunSummary.js.map +1 -0
  1495. package/build/dist/Utils/Slo/SloAffectedResourceMarkdown.js +51 -0
  1496. package/build/dist/Utils/Slo/SloAffectedResourceMarkdown.js.map +1 -0
  1497. package/build/dist/Utils/Slo/SloBurnRateTemplate.js +228 -0
  1498. package/build/dist/Utils/Slo/SloBurnRateTemplate.js.map +1 -0
  1499. package/build/dist/Utils/Slo/SloFeedMarkdown.js +934 -0
  1500. package/build/dist/Utils/Slo/SloFeedMarkdown.js.map +1 -0
  1501. package/build/dist/Utils/Slo/SloHealth.js +75 -9
  1502. package/build/dist/Utils/Slo/SloHealth.js.map +1 -1
  1503. package/build/dist/Utils/Slo/SloListWidgetFormat.js +217 -0
  1504. package/build/dist/Utils/Slo/SloListWidgetFormat.js.map +1 -0
  1505. package/build/dist/Utils/Slo/SloMetricType.js +212 -0
  1506. package/build/dist/Utils/Slo/SloMetricType.js.map +1 -0
  1507. package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js +216 -0
  1508. package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js.map +1 -0
  1509. package/build/dist/Utils/Slo/SloMonitorStatusSummary.js +129 -0
  1510. package/build/dist/Utils/Slo/SloMonitorStatusSummary.js.map +1 -0
  1511. package/build/dist/Utils/Slo/SloOverviewText.js +110 -0
  1512. package/build/dist/Utils/Slo/SloOverviewText.js.map +1 -0
  1513. package/build/dist/Utils/Slo/SloProjection.js +448 -0
  1514. package/build/dist/Utils/Slo/SloProjection.js.map +1 -0
  1515. package/build/dist/Utils/Slo/SloWidgetFormat.js +4 -2
  1516. package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -1
  1517. package/build/dist/Utils/Telemetry/HostIpAddresses.js +42 -3
  1518. package/build/dist/Utils/Telemetry/HostIpAddresses.js.map +1 -1
  1519. package/build/dist/Utils/Telemetry/LockedFilterSearch.js +1 -26
  1520. package/build/dist/Utils/Telemetry/LockedFilterSearch.js.map +1 -1
  1521. package/package.json +5 -5
  1522. package/test-setup.sh +2 -2
  1523. package/Models/DatabaseModels/GoogleSecOpsConnection.ts +0 -447
  1524. package/Models/DatabaseModels/GoogleSecOpsConnectionRun.ts +0 -263
  1525. package/Server/API/GoogleSecOpsConnectionAPI.ts +0 -320
  1526. package/Server/Services/GoogleSecOpsConnectionRunService.ts +0 -10
  1527. package/Server/Services/GoogleSecOpsConnectionService.ts +0 -116
  1528. package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.ts +0 -777
  1529. package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +0 -1373
  1530. package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.ts +0 -512
  1531. package/Tests/App/Dashboard/GoogleSecOpsConnectionForm.test.tsx +0 -838
  1532. package/Tests/App/Dashboard/GoogleSecOpsConnectionsErrors.test.tsx +0 -441
  1533. package/Tests/App/Dashboard/GoogleSecOpsDiagnostics.test.tsx +0 -1001
  1534. package/Tests/Server/API/GoogleSecOpsConnectionAPI.test.ts +0 -657
  1535. package/Tests/Server/Services/GoogleSecOpsDiagnosticsModel.test.ts +0 -153
  1536. package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.test.ts +0 -784
  1537. package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.test.ts +0 -823
  1538. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsDiagnostics.test.ts +0 -918
  1539. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +0 -738
  1540. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +0 -874
  1541. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +0 -1297
  1542. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsThreePassPoller.test.ts +0 -1577
  1543. package/Tests/UI/Components/LockedFilterActions.test.tsx +0 -396
  1544. package/Types/SecurityEvent/GoogleSecOpsDiagnostics.ts +0 -111
  1545. package/UI/Components/TelemetryViewer/components/LockedFilterActions.tsx +0 -205
  1546. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +0 -478
  1547. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +0 -1
  1548. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js +0 -287
  1549. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js.map +0 -1
  1550. package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js +0 -231
  1551. package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js.map +0 -1
  1552. package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js +0 -9
  1553. package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js.map +0 -1
  1554. package/build/dist/Server/Services/GoogleSecOpsConnectionService.js +0 -70
  1555. package/build/dist/Server/Services/GoogleSecOpsConnectionService.js.map +0 -1
  1556. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +0 -1
  1557. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js +0 -537
  1558. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js.map +0 -1
  1559. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +0 -1034
  1560. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +0 -1
  1561. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js +0 -410
  1562. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js.map +0 -1
  1563. package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js +0 -2
  1564. package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js.map +0 -1
  1565. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js +0 -88
  1566. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js.map +0 -1
@@ -18,6 +18,12 @@ import {
18
18
  SloWidgetDisplayType,
19
19
  SloWidgetMetric,
20
20
  } from "./DashboardComponents/DashboardSloComponent";
21
+ import SloMetricType from "../ServiceLevelObjective/SloMetricType";
22
+ import SloMetricTypeUtil, {
23
+ SLO_METRIC_SLO_ID_ATTRIBUTE,
24
+ SLO_METRIC_SLO_NAME_ATTRIBUTE,
25
+ } from "../../Utils/Slo/SloMetricType";
26
+ import { SLO_LIST_DEFAULT_MAX_ROWS } from "../../Utils/Slo/SloListWidgetFormat";
21
27
 
22
28
  /*
23
29
  * Trace / Exception / Profiles entries are intentionally not in this
@@ -113,7 +119,7 @@ export const DashboardTemplates: Array<DashboardTemplate> = [
113
119
  type: DashboardTemplateType.Slo,
114
120
  name: "SLO Dashboard",
115
121
  description:
116
- "One objective's SLI, error budget remaining and burn rate as tiles and trends, with monitor uptime, latency, incidents and alerts beside it. Pick the SLO on each widget after creating it.",
122
+ "Every SLO's status, SLI, error budget and burn rate in one list, fleet-wide budget and burn-rate trends, and live tiles and history for the SLO you pick in the toolbar.",
117
123
  icon: IconProp.Percent,
118
124
  category: DashboardTemplateCategory.Monitoring,
119
125
  },
@@ -918,23 +924,25 @@ function createNetworkMapComponent(data: {
918
924
  }
919
925
 
920
926
  /*
921
- * An SLO widget names exactly ONE ServiceLevelObjective, by id. A template
922
- * cannot know which of a project's SLOs a reader means, so every widget the
923
- * SLO template ships leaves `serviceLevelObjectiveId` unset and the renderer
924
- * shows its "Click to select an SLO" setup state until the reader picks one
925
- * (DashboardSloComponent).
927
+ * An SLO widget shows exactly ONE ServiceLevelObjective. A template cannot
928
+ * know a project's SLO ids, so it never pins one: a baked-in id would point
929
+ * at nothing in every project but the one it was copied from, and on a
930
+ * public dashboard a stored id IS the authorization decision
931
+ * (PublicDashboardSloWidget). Instead every SLO widget a template ships
932
+ * follows the template's own SLO toolbar variable through
933
+ * `followVariableId`, so it shows whichever objective the reader picks and
934
+ * says "Choose an SLO in the toolbar" until one is picked
935
+ * (DashboardSloComponent, Common/Utils/Dashboard/SloWidgetSource).
926
936
  *
927
- * `widgetTitle` is therefore always set here. Left unset, the renderer titles
928
- * a configured widget "<SLO name> · <metric>", which is nicer once an SLO is
929
- * chosen but leaves all six unconfigured widgets reading "SLO Widget" in the
930
- * template a reader has just created. A self-describing template wins: the
931
- * reader can see which tile is the burn rate before anything is configured,
932
- * and can rename any of them afterwards.
937
+ * `widgetTitle` is always set. Before a pick the placeholder shows it, so the
938
+ * reader can tell the burn-rate tile from the SLI; after a pick the renderer
939
+ * leads it with the objective's name ("Checkout API · SLI").
933
940
  */
934
941
  function createSloComponent(data: {
935
942
  title: string;
936
943
  sloMetric: SloWidgetMetric;
937
944
  displayType: SloWidgetDisplayType;
945
+ followVariableId: string;
938
946
  top: number;
939
947
  left: number;
940
948
  width: number;
@@ -955,37 +963,36 @@ function createSloComponent(data: {
955
963
  widgetTitle: data.title,
956
964
  sloMetric: data.sloMetric,
957
965
  displayType: data.displayType,
966
+ serviceLevelObjectiveVariableId: data.followVariableId,
958
967
  },
959
968
  };
960
969
  }
961
970
 
962
- function createIncidentListComponent(data: {
963
- title: string;
964
- top: number;
965
- left: number;
966
- width: number;
967
- height: number;
968
- maxRows?: number;
969
- }): DashboardBaseComponent {
970
- return {
971
- _type: ObjectType.DashboardComponent,
972
- componentType: DashboardComponentType.IncidentList,
973
- componentId: ObjectID.generate(),
974
- topInDashboardUnits: data.top,
975
- leftInDashboardUnits: data.left,
976
- widthInDashboardUnits: data.width,
977
- heightInDashboardUnits: data.height,
978
- minHeightInDashboardUnits: 3,
979
- minWidthInDashboardUnits: 6,
980
- arguments: {
981
- title: data.title,
982
- maxRows: data.maxRows ?? 25,
983
- viewMode: "list",
984
- },
985
- };
986
- }
971
+ /*
972
+ * What the SLO template's fleet charts fan out by: one line per OBJECTIVE.
973
+ *
974
+ * `sloName` alone is not an objective. Names are not unique within a project
975
+ * (only the slug is), so two SLOs sharing a name would be one line — the Avg
976
+ * of both budgets, the Max of both burn rates — under a single legend entry.
977
+ * `sloId` splits them; `sloName` leads so the legend reads by name and stays
978
+ * the key the toolbar variable binds to. SloMetricUtil stamps both on every
979
+ * row it writes, which SloTemplateMetricEmitterContract pins.
980
+ *
981
+ * Renaming an SLO does start a new line under the new name, because the
982
+ * old rows keep the old one; grouping by id alone would avoid that but would
983
+ * label every line with a UUID.
984
+ */
985
+ export const SLO_TEMPLATE_CHART_GROUP_BY_KEYS: ReadonlyArray<string> = [
986
+ SLO_METRIC_SLO_NAME_ATTRIBUTE,
987
+ SLO_METRIC_SLO_ID_ATTRIBUTE,
988
+ ];
987
989
 
988
- function createAlertListComponent(data: {
990
+ /*
991
+ * Every active SLO with its status, SLI against target, error budget and
992
+ * burn rate, least budget first (DashboardSloListComponent). Same floors the
993
+ * widget's own default declares (DashboardSloListComponentUtil).
994
+ */
995
+ function createSloListComponent(data: {
989
996
  title: string;
990
997
  top: number;
991
998
  left: number;
@@ -995,7 +1002,7 @@ function createAlertListComponent(data: {
995
1002
  }): DashboardBaseComponent {
996
1003
  return {
997
1004
  _type: ObjectType.DashboardComponent,
998
- componentType: DashboardComponentType.AlertList,
1005
+ componentType: DashboardComponentType.SloList,
999
1006
  componentId: ObjectID.generate(),
1000
1007
  topInDashboardUnits: data.top,
1001
1008
  leftInDashboardUnits: data.left,
@@ -1005,7 +1012,7 @@ function createAlertListComponent(data: {
1005
1012
  minWidthInDashboardUnits: 6,
1006
1013
  arguments: {
1007
1014
  title: data.title,
1008
- maxRows: data.maxRows ?? 25,
1015
+ maxRows: data.maxRows ?? SLO_LIST_DEFAULT_MAX_ROWS,
1009
1016
  viewMode: "list",
1010
1017
  },
1011
1018
  };
@@ -2948,72 +2955,107 @@ function createRumDashboardConfig(): DashboardViewConfig {
2948
2955
 
2949
2956
  function createSloDashboardConfig(): DashboardViewConfig {
2950
2957
  /*
2951
- * What this template can and cannot query, which is what its whole shape
2952
- * follows from:
2958
+ * How this template is built, and why:
2953
2959
  *
2954
- * - The three SLO numbers (SLI, error budget remaining, burn rate) live in
2955
- * Postgres (the columns the evaluation worker maintains) and in the
2956
- * SloHistory ClickHouse table. Neither is in the metric store, so a
2957
- * Chart / Value / Gauge widget over a metric NAME can never render them.
2958
- * The dedicated Slo widget is the only thing that reads them, and it
2959
- * names exactly one SLO by id, which is why the six widgets below ship
2960
- * unconfigured and the first text row says so.
2960
+ * - It opens on the FLEET, so it is useful the moment it is created.
2961
+ * Everything above the "Selected SLO" header queries immediately with no
2962
+ * configuration: the SLO List reads every active objective's current
2963
+ * state from Postgres, and the Error Budget & Burn Rate band reads the
2964
+ * `oneuptime.slo.*` series the evaluation worker posts for every SLO
2965
+ * (SloMetricUtil), fanned out one line per objective by the bare
2966
+ * `sloName` attribute those series carry. SLOs at risk or out of budget
2967
+ * are counted in the list's own status strip, because a metric
2968
+ * aggregation can total a series but cannot count objectives by state.
2961
2969
  *
2962
- * - Dashboard variables do not reach the Slo widget at all: it resolves one
2963
- * SLO from its stored id and has nothing to interpolate. The Monitor
2964
- * variable below therefore scopes only the metric widgets in the second
2965
- * half of the dashboard.
2970
+ * - ONE toolbar variable scopes the whole board. "SLO" is a Telemetry
2971
+ * Attribute variable on that same bare `sloName` key (no `resource.`
2972
+ * prefix the worker, not an OTel collector, writes it). Left on "All"
2973
+ * the dashboard is the fleet. Pick an objective and:
2974
+ * - the metric widgets narrow to its series
2975
+ * (DashboardVariableInterpolation),
2976
+ * - the SLO List narrows to its row, because `sloName` maps to the
2977
+ * SLO's `name` column (SLO_LIST_ATTRIBUTE_TO_COLUMN), and
2978
+ * - the Selected SLO widgets resolve it by name
2979
+ * (serviceLevelObjectiveVariableId, Common/Utils/Dashboard/SloWidgetSource).
2980
+ * It is single-select because those widgets can show only ONE objective:
2981
+ * a multi-select pick of several would leave six widgets asking for a
2982
+ * single pick while the charts above compared. It ships no default,
2983
+ * because a template cannot know a project's SLO names.
2966
2984
  *
2967
- * - Those metric widgets query `oneuptime.monitor.online` and
2968
- * `oneuptime.monitor.response.time`, which MonitorMetricUtil emits for
2969
- * EVERY probeable monitor in the project. Unscoped they describe the
2970
- * project, not the objective. That is exactly what the Monitor variable
2971
- * is for, and it binds to the bare `monitorName` attribute key those
2972
- * series carry (no `resource.` prefix).
2985
+ * - The picker's options are the `sloName` values posted in the last day,
2986
+ * not a read of the SLO table. That is the trade-off of using a Telemetry
2987
+ * Attribute variable, and it is deliberate: it is the one variable type
2988
+ * that scopes metric widgets, the SLO List and the Selected SLO widgets
2989
+ * alike, and that the public dashboard route resolves for anonymous
2990
+ * viewers. So every SLO the worker evaluates must post a point, including
2991
+ * the ones it can only guard — Paused, Misconfigured and not yet measured
2992
+ * (SloMetricUtil.saveSloGuardMetrics writes their target) — or they would
2993
+ * be listed below and unpickable here. What still leaves the picker is
2994
+ * what the worker does not evaluate at all: a disabled or archived SLO
2995
+ * drops out about a day after its last point, and a brand-new SLO appears
2996
+ * after its first evaluation tick.
2973
2997
  *
2974
- * Two callers write those names, though, and only one stamps
2975
- * `monitorName`. NetworkDeviceMetricUtil.saveWalkMetrics writes the same
2976
- * `oneuptime.monitor.online` / `.response.time` names off a network
2977
- * device poll with `deviceName` and `networkDeviceId` instead, so the
2978
- * unscoped view is "every probeable monitor PLUS every network device",
2979
- * and device rows drop out the moment a monitor is picked rather than
2980
- * being selectable. Nothing here can filter them out — the template
2981
- * helpers expose no stored attribute filter — so the widgets are
2982
- * labelled for what they are and the Monitor variable is the scope.
2998
+ * - The picker offers NAMES, because a list of ids would be unreadable, and
2999
+ * names are not unique. The fleet charts therefore group by name AND id
3000
+ * (SLO_TEMPLATE_CHART_GROUP_BY_KEYS), so two same-named objectives stay
3001
+ * two lines. Picking a shared name narrows the charts to both lines, the
3002
+ * SLO List to both rows and the tiles to the worse of the two, while the
3003
+ * Selected SLO widgets refuse to guess and say the name is ambiguous.
2983
3004
  *
2984
- * - The Objective Health tiles do NOT follow the dashboard time picker.
2985
- * They read the SLO's own state columns, which the evaluation worker
2986
- * maintains over the objective's compliance window; only the three Slo
2987
- * CHARTS and the monitor widgets honour the selected range.
3005
+ * - The Selected SLO widgets are the only ones that wait for a pick, and
3006
+ * they ask for it in terms of the toolbar ("Choose an SLO in the toolbar
3007
+ * to see it here") — the one control that works in the view mode a new
3008
+ * dashboard opens in so no SLO id is baked in and no instruction row
3009
+ * is needed. They carry what the metric series cannot:
3010
+ * - the objective's CURRENT state with its status pill and target
3011
+ * (the tiles read the SLO row, not an aggregate over the window), and
3012
+ * - SloHistory's 400-day series with the SLI target drawn as a
3013
+ * reference line, where `oneuptime.slo.*` keeps only the monitor
3014
+ * metric retention (30 days by default).
3015
+ * The tiles therefore do NOT follow the dashboard time picker; the
3016
+ * history charts and the whole Error Budget & Burn Rate band do.
2988
3017
  *
2989
- * - Incident and alert METRICS are deliberately NOT on this dashboard even
2990
- * though an error budget is spent by incidents, for two DIFFERENT
2991
- * reasons not one shared one.
3018
+ * - The budget and burn-rate tiles aggregate with Min and Max rather than each
3019
+ * series' own Avg (SloMetricTypeUtil.getAggregationType), because they
3020
+ * must read truthfully in BOTH states of the toolbar. Across the fleet an
3021
+ * average of several objectives' budgets is nobody's budget, while the
3022
+ * LOWEST budget and the PEAK burn rate are the numbers someone acts on;
3023
+ * with one SLO picked they become that objective's low point and peak
3024
+ * over the window. The charts keep each series' own aggregation.
2992
3025
  *
2993
- * Incident metrics cannot be scoped at all: IncidentService stamps them
2994
- * with `monitorNames` (plural, comma-joined) rather than `monitorName`,
2995
- * so picking a monitor would empty every incident tile while the uptime
2996
- * tiles beside them stayed populated.
3026
+ * - The SLI is not charted fleet-wide. Objectives run at different targets
3027
+ * (a 95% and a 99.99% objective on one axis read as a flat line and a
3028
+ * dot), so the SLI is shown per objective, against its own target, in
3029
+ * the Selected SLO section. Budget remaining and burn rate are already
3030
+ * normalised to each objective, which is what makes them comparable.
2997
3031
  *
2998
- * Alert metrics CAN be scoped AlertService writes the singular key —
2999
- * but createBurnRateAlert in EvaluateSlos never sets `monitor`, so a
3000
- * burn-rate alert carries no `monitorName` and a scoped alert tile would
3001
- * hide precisely the alerts this dashboard exists for. (That omission is
3002
- * not the uptime-repair problem its incident twin has: resolving an
3003
- * Alert never writes MonitorStatusTimeline only the Incident path
3004
- * reaches markMonitorsActiveForMonitoring.)
3032
+ * - Deliberately NOT here: project-wide incident, alert and monitor lists,
3033
+ * and monitor uptime / latency series. None of them can be narrowed to an
3034
+ * objective the lists have no SLO filter and ignore telemetry
3035
+ * variables, and monitor series carry `monitorName`, never `sloName` so
3036
+ * beside an SLO they read as that SLO's incidents and monitors while
3037
+ * showing the whole project's. The SLO's own Incidents, Alerts and
3038
+ * Monitors pages are the scoped views of those.
3005
3039
  *
3006
- * The incident and alert LISTS below read Postgres and ignore telemetry
3007
- * variables entirely, so they stay correct under every selection but
3008
- * they are project-wide and honour no time range; see their row.
3040
+ * - Archived SLOs appear nowhere. They are not evaluated, so they post no
3041
+ * new `oneuptime.slo.*` points (and leave the SLO picker as their last
3042
+ * points age out); the SLO List excludes them; and a Selected SLO widget
3043
+ * will not resolve a name to one.
3009
3044
  *
3010
- * - Monitor uptime is a PROXY, not the SLI. An availability SLI is
3011
- * computed from MonitorStatusTimeline downtime intervals (honouring
3012
- * maintenance windows and the SLO's own downtime statuses); the uptime
3013
- * tile is the probe's raw 0/1 series averaged over the window. They will
3014
- * disagree, which is why the tile is labelled "Monitor Uptime" rather
3015
- * than anything that reads as a second opinion on the SLI.
3045
+ * - Disabled SLOs are not evaluated either, but they are still the
3046
+ * project's objectives, so the SLO List keeps them: marked Disabled
3047
+ * rather than showing the status they were frozen at, counted apart in
3048
+ * its status strip, and ordered after every enabled objective so a frozen
3049
+ * overspent budget never tops the list (SloListWidgetFormat). Like
3050
+ * archived ones, they leave the picker as their last points age out.
3016
3051
  */
3052
+ const sloVariable: DashboardVariable = createTelemetryAttributeVariable({
3053
+ name: "slo",
3054
+ label: "SLO",
3055
+ attributeKey: SLO_METRIC_SLO_NAME_ATTRIBUTE,
3056
+ isMultiSelect: false,
3057
+ });
3058
+
3017
3059
  const components: Array<DashboardBaseComponent> = [
3018
3060
  // Row 0: Title
3019
3061
  createTextComponent({
@@ -3026,34 +3068,35 @@ function createSloDashboardConfig(): DashboardViewConfig {
3026
3068
  }),
3027
3069
 
3028
3070
  /*
3029
- * Row 1: the one instruction a reader needs on a freshly created SLO
3030
- * dashboard. No other template carries a guidance row, and none of them
3031
- * has to: their widgets query immediately. Every Slo widget here is
3032
- * inert until somebody picks an objective, so saying it once beats six
3033
- * identical "Click to select an SLO" placeholders explaining themselves.
3071
+ * Rows 1-5: every active objective status, SLI against its target, an
3072
+ * error-budget bar and the burn rate enabled first, least budget first,
3073
+ * so the objectives in trouble lead and a capped list drops disabled ones
3074
+ * and then the healthiest.
3075
+ * Full width because each row carries five columns and the budget bar
3076
+ * has to read as a bar.
3034
3077
  *
3035
- * It names EDIT deliberately. The widgets' own placeholder says "Click
3036
- * to select an SLO", but the click only opens the settings panel in
3037
- * edit mode and a dashboard created from a template opens in view
3038
- * mode, where following that instruction does nothing.
3039
- *
3040
- * Kept to one short line on purpose: the Text widget scales its font to
3041
- * the widget's height, so a sentence much past ~70 characters wraps out
3042
- * of a height-1 row and is clipped. Everything else this dashboard
3043
- * needs to say is said by the widget titles.
3078
+ * No section heading above it: like the Monitor and Kubernetes templates,
3079
+ * the board opens on its headline band directly under the title. The
3080
+ * list card already carries its own title, so a heading here would stack
3081
+ * three titles on one card.
3044
3082
  */
3045
- createTextComponent({
3046
- text: "Edit this dashboard to pick an objective on each SLO widget.",
3083
+ createSloListComponent({
3084
+ title: "Service Level Objectives",
3047
3085
  top: 1,
3048
3086
  left: 0,
3049
3087
  width: 12,
3050
- height: 1,
3088
+ height: 5,
3089
+ maxRows: SLO_LIST_DEFAULT_MAX_ROWS,
3051
3090
  }),
3052
3091
 
3053
- // Row 2: Section header
3092
+ /*
3093
+ * Row 6: Section header. Named for both halves of the band — burn rate is
3094
+ * how fast the budget is being spent, but a heading that said only
3095
+ * "Error Budget" would sit over two burn-rate widgets.
3096
+ */
3054
3097
  createTextComponent({
3055
- text: "Objective Health",
3056
- top: 2,
3098
+ text: "Error Budget & Burn Rate",
3099
+ top: 6,
3057
3100
  left: 0,
3058
3101
  width: 12,
3059
3102
  height: 1,
@@ -3061,111 +3104,103 @@ function createSloDashboardConfig(): DashboardViewConfig {
3061
3104
  }),
3062
3105
 
3063
3106
  /*
3064
- * Rows 3-5: the three numbers an SLO review opens with, in the order
3065
- * they are read where the service is (SLI), how much room is left
3066
- * (error budget), and how fast the room is disappearing (burn rate).
3067
- * Every tile carries the SLO's status pill; the sublines differ — SLI
3068
- * shows the target, the budget tile shows time remaining or over
3069
- * budget, and burn rate has none.
3107
+ * Row 7: the worst case across whatever the toolbar selects the least
3108
+ * budget left, as a share and as time, and the fastest it is being spent.
3109
+ * Units come from each series' MetricType row (%, seconds scaled to
3110
+ * minutes/hours, x), so the titles carry none. Trend colours are set
3111
+ * explicitly: the name heuristic cannot know that more budget is good.
3070
3112
  */
3071
- createSloComponent({
3072
- title: "SLI",
3073
- sloMetric: SloWidgetMetric.Sli,
3074
- displayType: SloWidgetDisplayType.Tile,
3075
- top: 3,
3113
+ createValueComponent({
3114
+ title: "Lowest Error Budget Remaining",
3115
+ top: 7,
3076
3116
  left: 0,
3077
3117
  width: 4,
3078
- height: 3,
3118
+ metricConfig: {
3119
+ metricName: SloMetricType.ErrorBudgetRemainingPercent,
3120
+ aggregationType: MetricsAggregationType.Min,
3121
+ },
3122
+ trendDirection: DashboardValueTrendDirection.HigherIsBetter,
3079
3123
  }),
3080
- createSloComponent({
3081
- title: "Error Budget Remaining",
3082
- sloMetric: SloWidgetMetric.ErrorBudgetRemaining,
3083
- displayType: SloWidgetDisplayType.Tile,
3084
- top: 3,
3124
+ createValueComponent({
3125
+ title: "Least Error Budget Time Left",
3126
+ top: 7,
3085
3127
  left: 4,
3086
3128
  width: 4,
3087
- height: 3,
3129
+ metricConfig: {
3130
+ metricName: SloMetricType.ErrorBudgetRemainingSeconds,
3131
+ aggregationType: MetricsAggregationType.Min,
3132
+ },
3133
+ trendDirection: DashboardValueTrendDirection.HigherIsBetter,
3088
3134
  }),
3089
- createSloComponent({
3090
- title: "Burn Rate",
3091
- sloMetric: SloWidgetMetric.BurnRate,
3092
- displayType: SloWidgetDisplayType.Tile,
3093
- top: 3,
3135
+ createValueComponent({
3136
+ title: "Peak Burn Rate",
3137
+ top: 7,
3094
3138
  left: 8,
3095
3139
  width: 4,
3096
- height: 3,
3097
- }),
3098
-
3099
- // Row 6: Section header
3100
- createTextComponent({
3101
- text: "Error Budget Trends",
3102
- top: 6,
3103
- left: 0,
3104
- width: 12,
3105
- height: 1,
3106
- isBold: true,
3107
- }),
3108
-
3109
- /*
3110
- * Rows 7-10: the same three numbers over the dashboard's time range,
3111
- * read from SloHistory. The SLI chart draws the objective's target as a
3112
- * reference line, so "are we above the line" is answerable at a glance
3113
- * rather than by comparing two numbers.
3114
- */
3115
- createSloComponent({
3116
- title: "SLI Over Time",
3117
- sloMetric: SloWidgetMetric.Sli,
3118
- displayType: SloWidgetDisplayType.Chart,
3119
- top: 7,
3120
- left: 0,
3121
- width: 6,
3122
- height: 4,
3123
- }),
3124
- createSloComponent({
3125
- title: "Error Budget Remaining Over Time",
3126
- sloMetric: SloWidgetMetric.ErrorBudgetRemaining,
3127
- displayType: SloWidgetDisplayType.Chart,
3128
- top: 7,
3129
- left: 6,
3130
- width: 6,
3131
- height: 4,
3140
+ metricConfig: {
3141
+ metricName: SloMetricType.BurnRate,
3142
+ aggregationType: MetricsAggregationType.Max,
3143
+ },
3144
+ trendDirection: DashboardValueTrendDirection.HigherIsWorse,
3132
3145
  }),
3133
3146
 
3134
3147
  /*
3135
- * Rows 11-14: burn rate beside the incidents. A burn-rate rule declares
3136
- * an incident when the budget starts going fast, so the spike and the
3137
- * record of what was done about it belong on one row.
3138
- *
3139
- * The list cannot be narrowed to those incidents, though, and says so
3140
- * in its title. IncidentList has no SLO or fingerprint filter, and
3141
- * unlike every chart on this dashboard it does not read
3142
- * `dashboardStartAndEndDate` at all. It is the project's latest
3143
- * incidents, newest first, NOT the incidents inside the window the
3144
- * chart beside it is drawing. Titled "Latest" rather than "Recent" so
3145
- * it does not imply the dashboard's time range.
3148
+ * Rows 8-11: the same two normalised numbers over the dashboard's time
3149
+ * range, one line per objective. Grouped by `sloName` AND `sloId`
3150
+ * (SLO_TEMPLATE_CHART_GROUP_BY_KEYS): names are not unique within a
3151
+ * project, and grouped by name alone two objectives sharing one would be
3152
+ * drawn as a single line the average of both budgets, the peak of both
3153
+ * burn rates under one legend entry, hiding the one in trouble. The name
3154
+ * leads, so the legend still reads by name, and it is the same key the
3155
+ * toolbar variable binds to, so a pick leaves that objective's line (or
3156
+ * both same-named lines, told apart by id). Aggregation, legend and unit
3157
+ * all come from SloMetricTypeUtil the table the worker registers each
3158
+ * series' MetricType row from — so the chart cannot label a series
3159
+ * differently from the catalog.
3146
3160
  */
3147
- createSloComponent({
3148
- title: "Burn Rate Over Time",
3149
- sloMetric: SloWidgetMetric.BurnRate,
3150
- displayType: SloWidgetDisplayType.Chart,
3151
- top: 11,
3161
+ createChartComponent({
3162
+ title: "Error Budget Remaining by SLO",
3163
+ chartType: DashboardChartType.Line,
3164
+ top: 8,
3152
3165
  left: 0,
3153
3166
  width: 6,
3154
3167
  height: 4,
3168
+ metricConfig: {
3169
+ metricName: SloMetricType.ErrorBudgetRemainingPercent,
3170
+ aggregationType: SloMetricTypeUtil.getAggregationType(
3171
+ SloMetricType.ErrorBudgetRemainingPercent,
3172
+ ),
3173
+ legend: SloMetricTypeUtil.getLegend(
3174
+ SloMetricType.ErrorBudgetRemainingPercent,
3175
+ ),
3176
+ legendUnit: SloMetricTypeUtil.getLegendUnit(
3177
+ SloMetricType.ErrorBudgetRemainingPercent,
3178
+ ),
3179
+ groupByAttributeKeys: [...SLO_TEMPLATE_CHART_GROUP_BY_KEYS],
3180
+ },
3155
3181
  }),
3156
- createIncidentListComponent({
3157
- title: "Latest Incidents",
3158
- top: 11,
3182
+ createChartComponent({
3183
+ title: "Burn Rate by SLO",
3184
+ chartType: DashboardChartType.Line,
3185
+ top: 8,
3159
3186
  left: 6,
3160
3187
  width: 6,
3161
3188
  height: 4,
3162
- maxRows: 25,
3189
+ metricConfig: {
3190
+ metricName: SloMetricType.BurnRate,
3191
+ aggregationType: SloMetricTypeUtil.getAggregationType(
3192
+ SloMetricType.BurnRate,
3193
+ ),
3194
+ legend: SloMetricTypeUtil.getLegend(SloMetricType.BurnRate),
3195
+ legendUnit: SloMetricTypeUtil.getLegendUnit(SloMetricType.BurnRate),
3196
+ groupByAttributeKeys: [...SLO_TEMPLATE_CHART_GROUP_BY_KEYS],
3197
+ },
3163
3198
  }),
3164
3199
 
3165
- // Row 15: Section header
3200
+ // Row 12: Section header
3166
3201
  createTextComponent({
3167
- text: "Monitor Health",
3168
- top: 15,
3202
+ text: "Selected SLO",
3203
+ top: 12,
3169
3204
  left: 0,
3170
3205
  width: 12,
3171
3206
  height: 1,
@@ -3173,132 +3208,90 @@ function createSloDashboardConfig(): DashboardViewConfig {
3173
3208
  }),
3174
3209
 
3175
3210
  /*
3176
- * Row 16: the probe's own view of the monitors the SLO is built on.
3177
- *
3178
- * IsOnline is emitted as 0/1 with unit "", so Avg is an uptime RATIO in
3179
- * [0, 1] and not a percent labelled "(avg)" for the same reason the
3180
- * Monitor template labels its tile that way. Response time gets both an
3181
- * average and a max: an SLO that is burning on latency usually shows it
3182
- * in the tail long before the mean moves.
3211
+ * Rows 13-15: the picked objective's CURRENT numbers, in the order an SLO
3212
+ * review reads them — where the service is (SLI, with its target), how
3213
+ * much room is left (budget, with time remaining or over budget), and
3214
+ * how fast the room is disappearing (burn rate). Each tile carries the
3215
+ * objective's status pill.
3183
3216
  */
3184
- createValueComponent({
3185
- title: "Monitor Uptime (avg)",
3186
- top: 16,
3217
+ createSloComponent({
3218
+ title: "SLI",
3219
+ sloMetric: SloWidgetMetric.Sli,
3220
+ displayType: SloWidgetDisplayType.Tile,
3221
+ followVariableId: sloVariable.id,
3222
+ top: 13,
3187
3223
  left: 0,
3188
3224
  width: 4,
3189
- metricConfig: {
3190
- metricName: MonitorMetricType.IsOnline,
3191
- aggregationType: MetricsAggregationType.Avg,
3192
- },
3193
- trendDirection: DashboardValueTrendDirection.HigherIsBetter,
3225
+ height: 3,
3194
3226
  }),
3195
- createValueComponent({
3196
- title: "Avg Response Time",
3197
- top: 16,
3227
+ createSloComponent({
3228
+ title: "Error Budget Remaining",
3229
+ sloMetric: SloWidgetMetric.ErrorBudgetRemaining,
3230
+ displayType: SloWidgetDisplayType.Tile,
3231
+ followVariableId: sloVariable.id,
3232
+ top: 13,
3198
3233
  left: 4,
3199
3234
  width: 4,
3200
- metricConfig: {
3201
- metricName: MonitorMetricType.ResponseTime,
3202
- aggregationType: MetricsAggregationType.Avg,
3203
- legendUnit: "ms",
3204
- },
3205
- trendDirection: DashboardValueTrendDirection.HigherIsWorse,
3235
+ height: 3,
3206
3236
  }),
3207
- createValueComponent({
3208
- title: "Worst Response Time",
3209
- top: 16,
3237
+ createSloComponent({
3238
+ title: "Burn Rate",
3239
+ sloMetric: SloWidgetMetric.BurnRate,
3240
+ displayType: SloWidgetDisplayType.Tile,
3241
+ followVariableId: sloVariable.id,
3242
+ top: 13,
3210
3243
  left: 8,
3211
3244
  width: 4,
3212
- metricConfig: {
3213
- metricName: MonitorMetricType.ResponseTime,
3214
- aggregationType: MetricsAggregationType.Max,
3215
- legendUnit: "ms",
3216
- },
3217
- trendDirection: DashboardValueTrendDirection.HigherIsWorse,
3218
- }),
3219
-
3220
- // Rows 17-19: the same two signals over time.
3221
- createChartComponent({
3222
- title: "Monitor Uptime Over Time",
3223
- chartType: DashboardChartType.Area,
3224
- top: 17,
3225
- left: 0,
3226
- width: 6,
3227
3245
  height: 3,
3228
- metricConfig: {
3229
- metricName: MonitorMetricType.IsOnline,
3230
- aggregationType: MetricsAggregationType.Avg,
3231
- legend: "Uptime Ratio",
3232
- },
3233
- }),
3234
- createChartComponent({
3235
- title: "Response Time Over Time",
3236
- chartType: DashboardChartType.Line,
3237
- top: 17,
3238
- left: 6,
3239
- width: 6,
3240
- height: 3,
3241
- metricConfig: {
3242
- metricName: MonitorMetricType.ResponseTime,
3243
- aggregationType: MetricsAggregationType.Avg,
3244
- legend: "Avg Response Time",
3245
- legendUnit: "ms",
3246
- },
3247
3246
  }),
3248
3247
 
3249
3248
  /*
3250
- * Rows 20-23: the monitors themselves, and the alerts a burn-rate rule
3251
- * raises. Both read Postgres, so neither is affected by the Monitor
3252
- * variable and neither honours the dashboard time range.
3253
- *
3254
- * The monitor list is titled "All Monitors" rather than anything that
3255
- * implies the objective: MonitorList's only variable binding is
3256
- * `labelVariableId` against a ProjectLabel variable, which this
3257
- * template does not ship, so nothing the reader does in the toolbar
3258
- * narrows it. The section header above was "Monitors Behind the
3259
- * Objective" and promised exactly the scoping none of these widgets
3260
- * has on a freshly created dashboard. Scope the list with its own
3261
- * Labels filter if the project is large.
3249
+ * Rows 16-19: each tile's history directly beneath it, from SloHistory
3250
+ * (400 days), so a column reads as "now, and how it got here". The SLI
3251
+ * chart draws the objective's target as a reference line. Titled
3252
+ * "History" rather than "Over Time" because the renderer leads a picked
3253
+ * objective's title with its name, and a four-unit column has no room for
3254
+ * both.
3262
3255
  */
3263
- createMonitorListComponent({
3264
- title: "All Monitors",
3265
- top: 20,
3256
+ createSloComponent({
3257
+ title: "SLI History",
3258
+ sloMetric: SloWidgetMetric.Sli,
3259
+ displayType: SloWidgetDisplayType.Chart,
3260
+ followVariableId: sloVariable.id,
3261
+ top: 16,
3266
3262
  left: 0,
3267
- width: 6,
3263
+ width: 4,
3268
3264
  height: 4,
3269
- maxRows: 25,
3270
3265
  }),
3271
- createAlertListComponent({
3272
- title: "Latest Alerts",
3273
- top: 20,
3274
- left: 6,
3275
- width: 6,
3266
+ createSloComponent({
3267
+ title: "Error Budget History",
3268
+ sloMetric: SloWidgetMetric.ErrorBudgetRemaining,
3269
+ displayType: SloWidgetDisplayType.Chart,
3270
+ followVariableId: sloVariable.id,
3271
+ top: 16,
3272
+ left: 4,
3273
+ width: 4,
3276
3274
  height: 4,
3277
- maxRows: 25,
3278
3275
  }),
3279
- ];
3280
-
3281
- /*
3282
- * Monitor metrics are stored with the bare `monitorName` attribute key
3283
- * rather than the OTel `resource.` prefix — see
3284
- * MonitorMetricUtil.buildAttributes — so the variable binds to the bare
3285
- * key. Multi-select because an objective is normally backed by several
3286
- * monitors, and picking one of them would describe less than the SLO does.
3287
- */
3288
- const variables: Array<DashboardVariable> = [
3289
- createTelemetryAttributeVariable({
3290
- name: "monitor",
3291
- label: "Monitor",
3292
- attributeKey: "monitorName",
3293
- isMultiSelect: true,
3276
+ createSloComponent({
3277
+ title: "Burn Rate History",
3278
+ sloMetric: SloWidgetMetric.BurnRate,
3279
+ displayType: SloWidgetDisplayType.Chart,
3280
+ followVariableId: sloVariable.id,
3281
+ top: 16,
3282
+ left: 8,
3283
+ width: 4,
3284
+ height: 4,
3294
3285
  }),
3295
3286
  ];
3296
3287
 
3288
+ const variables: Array<DashboardVariable> = [sloVariable];
3289
+
3297
3290
  return {
3298
3291
  _type: ObjectType.DashboardViewConfig,
3299
3292
  components,
3300
3293
  variables,
3301
- heightInDashboardUnits: Math.max(DashboardSize.heightInDashboardUnits, 24),
3294
+ heightInDashboardUnits: Math.max(DashboardSize.heightInDashboardUnits, 20),
3302
3295
  };
3303
3296
  }
3304
3297