@oneuptime/common 13.0.8 → 14.0.1

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 (514) hide show
  1. package/Models/AnalyticsModels/AuditLog.ts +23 -15
  2. package/Models/DatabaseModels/GlobalConfig.ts +24 -0
  3. package/Models/DatabaseModels/Index.ts +4 -0
  4. package/Models/DatabaseModels/Monitor.ts +3 -2
  5. package/Models/DatabaseModels/MonitorTemplate.ts +2 -1
  6. package/Models/DatabaseModels/ServiceLevelObjectiveFeed.ts +2 -0
  7. package/Models/DatabaseModels/ServiceLevelObjectiveLabelRule.ts +522 -0
  8. package/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.ts +38 -4
  9. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerRule.ts +603 -0
  10. package/Scripts/generate-service-worker.js +65 -4
  11. package/Server/API/BaseAPI.ts +26 -5
  12. package/Server/API/GlobalConfigAPI.ts +228 -462
  13. package/Server/API/ProjectOIDC.ts +25 -16
  14. package/Server/API/ProjectSSO.ts +24 -16
  15. package/Server/API/StatusPageAPI.ts +100 -42
  16. package/Server/API/TeamMemberAPI.ts +10 -1
  17. package/Server/Enterprise/EnterpriseEdition.ts +649 -0
  18. package/Server/Enterprise/EnterpriseFeature.ts +48 -0
  19. package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +192 -0
  20. package/Server/Enterprise/EnterpriseServerModule.ts +233 -0
  21. package/Server/EnvironmentConfig.ts +147 -2
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.ts +25 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1794100000000-AddSloLabelAndOwnerRules.ts +248 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1794200000000-AddSloMonitorRuleMonitorType.ts +19 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  26. package/Server/Middleware/UserAuthorization.ts +38 -16
  27. package/Server/Services/AuditLogService.ts +84 -1079
  28. package/Server/Services/DatabaseService.ts +10 -0
  29. package/Server/Services/EnterpriseLicenseService.ts +38 -0
  30. package/Server/Services/GlobalConfigService.ts +80 -1
  31. package/Server/Services/Index.ts +4 -0
  32. package/Server/Services/MonitorProbeService.ts +116 -20
  33. package/Server/Services/MonitorService.ts +59 -6
  34. package/Server/Services/MonitorStatusTimelineService.ts +284 -0
  35. package/Server/Services/MonitorTemplateService.ts +26 -0
  36. package/Server/Services/ProjectService.ts +284 -0
  37. package/Server/Services/RumSessionPinService.ts +25 -6
  38. package/Server/Services/ServiceLevelObjectiveLabelRuleEngineService.ts +385 -0
  39. package/Server/Services/ServiceLevelObjectiveLabelRuleService.ts +51 -0
  40. package/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.ts +92 -16
  41. package/Server/Services/ServiceLevelObjectiveMonitorRuleService.ts +36 -1
  42. package/Server/Services/ServiceLevelObjectiveOwnerRuleEngineService.ts +521 -0
  43. package/Server/Services/ServiceLevelObjectiveOwnerRuleService.ts +51 -0
  44. package/Server/Services/ServiceLevelObjectiveService.ts +28 -0
  45. package/Server/Services/StatusPagePrivateUserService.ts +7 -3
  46. package/Server/Services/StatusPageService.ts +78 -1
  47. package/Server/Services/TeamMemberService.ts +11 -0
  48. package/Server/Services/TeamService.ts +10 -0
  49. package/Server/Services/UserService.ts +10 -17
  50. package/Server/Types/Database/Permissions/CreatePermission.ts +15 -0
  51. package/Server/Types/Database/Permissions/EditionPermission.ts +208 -18
  52. package/Server/Types/Database/Permissions/TablePermission.ts +10 -3
  53. package/Server/Types/Database/Permissions/UpdatePermission.ts +29 -0
  54. package/Server/Types/Markdown.ts +41 -0
  55. package/Server/Types/Workflow/Components/Telegram/SendMessageToChat.ts +27 -1
  56. package/Server/Utils/AI/Toolbox/SloTools.ts +1 -0
  57. package/Server/Utils/CommunityEditionSsoReport.ts +361 -0
  58. package/Server/Utils/EditionEnforcement.ts +233 -0
  59. package/Server/Utils/FrontendEnvironment.ts +41 -2
  60. package/Server/Utils/InstanceHealth/RedisHealth.ts +12 -277
  61. package/Server/Utils/Monitor/AffectedResourceList.ts +148 -0
  62. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +1 -1
  63. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +10 -1
  64. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +1 -1
  65. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +720 -465
  66. package/Server/Utils/Monitor/MonitoringIntervalValidator.ts +116 -0
  67. package/Server/Utils/Monitor/RootCauseList.ts +139 -0
  68. package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +28 -0
  69. package/Server/Utils/Slo/SloRulePatternValidator.ts +42 -0
  70. package/Server/Utils/Workspace/Slack/Slack.ts +423 -10
  71. package/Tests/App/Accounts/LoginPasskey.test.tsx +18 -0
  72. package/Tests/App/Accounts/LoginSsoEdition.test.tsx +616 -0
  73. package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +217 -0
  74. package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +357 -0
  75. package/Tests/App/AdminDashboard/EnterpriseLicensesShell.test.tsx +214 -0
  76. package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +271 -0
  77. package/Tests/App/AdminDashboard/HealthShells.test.tsx +659 -0
  78. package/Tests/App/Dashboard/AuditLogsAndComplianceShells.test.tsx +572 -0
  79. package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +547 -0
  80. package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +667 -0
  81. package/Tests/App/Dashboard/FeedFilterSortIntegration.test.tsx +1632 -0
  82. package/Tests/App/Dashboard/FeedOptionsLocales.test.ts +250 -0
  83. package/Tests/App/Dashboard/FeedOrdering.test.ts +279 -9
  84. package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +319 -0
  85. package/Tests/App/Dashboard/InvestigationFeedRefresh.test.tsx +60 -1
  86. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +594 -3
  87. package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +185 -0
  88. package/Tests/App/Dashboard/ProductOrientation.test.tsx +646 -0
  89. package/Tests/App/Dashboard/ResourceFeed.test.tsx +612 -2
  90. package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +30 -0
  91. package/Tests/App/Dashboard/ResourceFeedPagesFilterSort.test.tsx +1202 -0
  92. package/Tests/App/Dashboard/ScheduledMaintenanceFeedRefresh.test.tsx +52 -1
  93. package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +45 -9
  94. package/Tests/App/Dashboard/SecurityEventDetailPanel.test.tsx +399 -0
  95. package/Tests/App/Dashboard/SecurityEventListRow.test.tsx +214 -0
  96. package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +1 -83
  97. package/Tests/App/Dashboard/SecurityEventsNavTabs.test.tsx +248 -0
  98. package/Tests/App/Dashboard/SecurityEventsViewer.test.tsx +1203 -0
  99. package/Tests/App/Dashboard/SloFeed.test.tsx +106 -1
  100. package/Tests/App/Dashboard/SloMonitorRuleCriteria.test.tsx +566 -0
  101. package/Tests/App/Dashboard/SloNavigationWiring.test.tsx +6 -4
  102. package/Tests/App/Dashboard/SloNoticeBanner.test.tsx +186 -0
  103. package/Tests/App/Dashboard/SloOverviewKpiStrip.test.tsx +388 -44
  104. package/Tests/App/Dashboard/SloOverviewLayout.test.tsx +613 -0
  105. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +11 -91
  106. package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +319 -0
  107. package/Tests/Helpers/RefreshAwareApiScan.ts +757 -0
  108. package/Tests/Helpers/TenantScopedRequestScan.ts +515 -0
  109. package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +0 -8
  110. package/Tests/Models/DatabaseModels/SloLabelAndOwnerRuleModels.test.ts +404 -0
  111. package/Tests/Models/DatabaseModels/SloOverhaulModels.test.ts +17 -1
  112. package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +4 -2
  113. package/Tests/Scripts/GenerateServiceWorker.test.ts +931 -0
  114. package/Tests/Server/API/BaseAPICreateItemDoesNotMutateModel.test.ts +130 -0
  115. package/Tests/Server/API/GlobalConfigLicense.test.ts +742 -497
  116. package/Tests/Server/API/OnCallReadinessAPI.test.ts +35 -909
  117. package/Tests/Server/API/SsoProviderListingsEdition.test.ts +432 -0
  118. package/Tests/Server/API/TeamMemberLeaveScimLockEdition.test.ts +252 -0
  119. package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +824 -0
  120. package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +643 -0
  121. package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +294 -0
  122. package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +93 -0
  123. package/Tests/Server/Enterprise/EnterpriseOnlyModulesLiveInEe.test.ts +582 -0
  124. package/Tests/Server/Enterprise/EnterpriseServerModule.test.ts +247 -0
  125. package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +502 -0
  126. package/Tests/Server/Enterprise/TestBillingFlag.ts +70 -0
  127. package/Tests/Server/EnvironmentConfigEnterpriseEdition.test.ts +314 -0
  128. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +289 -0
  129. package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +5 -1
  130. package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +3 -0
  131. package/Tests/Server/Infrastructure/Postgres/AddSloLabelAndOwnerRulesMigration.test.ts +407 -0
  132. package/Tests/Server/Infrastructure/Postgres/AddSloMonitorRuleMonitorTypeMigration.test.ts +171 -0
  133. package/Tests/Server/Infrastructure/Postgres/SloProductOverhaulMigration.test.ts +88 -4
  134. package/Tests/Server/Middleware/UserAuthorization.test.ts +37 -2
  135. package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +516 -0
  136. package/Tests/Server/Services/AuditLogService.test.ts +460 -990
  137. package/Tests/Server/Services/CreateAndReadResponsesKeepIds.test.ts +263 -0
  138. package/Tests/Server/Services/DatabaseServiceRuleCriteriaValidation.test.ts +104 -0
  139. package/Tests/Server/Services/EnterpriseLicenseServiceKeyGeneration.test.ts +151 -0
  140. package/Tests/Server/Services/GlobalConfigServiceLicenseColumns.test.ts +357 -0
  141. package/Tests/Server/Services/MonitorDestinationInfoIPv6.test.ts +101 -0
  142. package/Tests/Server/Services/MonitorProbeServiceIntervalScheduling.test.ts +333 -0
  143. package/Tests/Server/Services/MonitorStatusTimelineDailyAggregates.test.ts +303 -0
  144. package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +701 -0
  145. package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +31 -35
  146. package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +48 -1
  147. package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +30 -0
  148. package/Tests/Server/Services/ScimPushGroupsTeamLocksEdition.test.ts +431 -0
  149. package/Tests/Server/Services/ServiceLevelObjectiveLabelAndOwnerRuleEngines.test.ts +1170 -0
  150. package/Tests/Server/Services/ServiceLevelObjectiveLabelAndOwnerRuleServices.test.ts +172 -0
  151. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.test.ts +323 -0
  152. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleService.test.ts +115 -0
  153. package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleTriggers.test.ts +21 -2
  154. package/Tests/Server/Services/ServiceLevelObjectiveMonitorTypePostgres.test.ts +480 -0
  155. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +162 -0
  156. package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +419 -0
  157. package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +769 -0
  158. package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +45 -6
  159. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +94 -0
  160. package/Tests/Server/Services/UserAuthenticationService.test.ts +35 -0
  161. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +94 -56
  162. package/Tests/Server/Types/Database/FeedEventTypeFilterQuery.test.ts +745 -0
  163. package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +1823 -0
  164. package/Tests/Server/Types/Markdown.test.ts +183 -1
  165. package/Tests/Server/Types/Workflow/Components/ApiComponentSsrf.test.ts +49 -0
  166. package/Tests/Server/Types/Workflow/Components/TelegramSendMessageToChat.test.ts +331 -0
  167. package/Tests/Server/Utils/AI/SloTools.test.ts +10 -0
  168. package/Tests/Server/Utils/CommunityEditionSsoReport.test.ts +565 -0
  169. package/Tests/Server/Utils/EditionEnforcement.test.ts +303 -0
  170. package/Tests/Server/Utils/FrontendEnvironment.test.ts +367 -0
  171. package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +38 -418
  172. package/Tests/Server/Utils/Monitor/AffectedResourceList.test.ts +518 -0
  173. package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +24 -4
  174. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteriaAnomalyUnits.test.ts +1 -1
  175. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +1339 -96
  176. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorBreachingSamples.test.ts +1101 -0
  177. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorMetricUnits.test.ts +106 -80
  178. package/Tests/Server/Utils/Monitor/MonitoringIntervalValidator.test.ts +188 -0
  179. package/Tests/Server/Utils/Monitor/RootCauseList.test.ts +252 -0
  180. package/Tests/Server/Utils/Rules/RuleRun/RuleRunPermission.test.ts +154 -0
  181. package/Tests/Server/Utils/SSRFProtection.test.ts +111 -0
  182. package/Tests/Server/Utils/Slo/SloRulePatternValidator.test.ts +67 -0
  183. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +213 -0
  184. package/Tests/Server/Utils/Workspace/Slack/SlackMarkdownSectionSplit.test.ts +1209 -0
  185. package/Tests/Types/API/HostnameFromAuthority.test.ts +20 -10
  186. package/Tests/Types/API/HostnameIPv6.test.ts +149 -0
  187. package/Tests/Types/API/Route.test.ts +56 -0
  188. package/Tests/Types/API/URLSchemeLikePath.test.ts +304 -0
  189. package/Tests/Types/Database/CanonicalModelInstance.test.ts +190 -0
  190. package/Tests/UI/Components/EditionLabelLapseCopy.ts +104 -0
  191. package/Tests/UI/Components/EditionLabelLicenseManagerWiring.test.tsx +254 -0
  192. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +84 -178
  193. package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +1586 -0
  194. package/Tests/UI/Components/EditionLabelLicenseWritesGuard.test.tsx +157 -0
  195. package/Tests/UI/Components/FeedOptions.test.ts +1404 -0
  196. package/Tests/UI/Components/FeedOptionsButton.test.tsx +2603 -0
  197. package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +49 -2
  198. package/Tests/UI/Components/Icon.test.tsx +26 -0
  199. package/Tests/UI/Components/MarkdownConverters.test.ts +684 -0
  200. package/Tests/UI/Components/ModelListEmptyState.test.tsx +289 -0
  201. package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
  202. package/Tests/UI/Components/TelemetryViewer/TelemetryViewerEmptyContent.test.tsx +131 -0
  203. package/Tests/UI/Components/useFeedItemsViewKey.test.tsx +1017 -0
  204. package/Tests/UI/Components/useFeedOptions.test.tsx +1107 -0
  205. package/Tests/UI/EsbuildEnterpriseAlias.test.ts +1127 -0
  206. package/Tests/Utils/HostAddressUtil.test.ts +138 -0
  207. package/Tests/Utils/LabelRuleImportExport.test.ts +102 -0
  208. package/Tests/Utils/Monitor/MonitorDestinationUtil.test.ts +313 -0
  209. package/Tests/Utils/Monitor/MonitoringIntervalUtil.test.ts +304 -0
  210. package/Tests/Utils/Slo/SloDuration.test.ts +115 -24
  211. package/Tests/Utils/Slo/SloHealth.test.ts +93 -10
  212. package/Tests/Utils/Slo/SloMonitorRuleCriteria.test.ts +109 -0
  213. package/Tests/Utils/Slo/SloOverviewText.test.ts +64 -0
  214. package/Tests/Utils/StatusPage/UptimeDailyAggregateUtil.test.ts +248 -0
  215. package/Types/API/Hostname.ts +63 -16
  216. package/Types/API/Route.ts +19 -2
  217. package/Types/API/URL.ts +26 -2
  218. package/Types/Database/AccessControl/ColumnAccessControl.ts +19 -7
  219. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +19 -7
  220. package/Types/Database/AccessControl/OwnerOnlyColumn.ts +15 -6
  221. package/Types/Database/CanonicalModelInstance.ts +102 -0
  222. package/Types/Database/TableColumn.ts +20 -6
  223. package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +29 -0
  224. package/Types/IP/IPv6.ts +6 -1
  225. package/Types/Monitor/MetricMonitor/MetricCriteriaContext.ts +6 -5
  226. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +9 -0
  227. package/Types/Monitor/MonitorStep.ts +6 -1
  228. package/Types/Monitor/ProxmoxAlertTemplates.ts +1 -1
  229. package/Types/Permission.ts +90 -0
  230. package/Types/Rules/RuleCriteriaFieldRegistry.ts +11 -0
  231. package/Types/Rules/RuleRun.ts +4 -0
  232. package/Types/StatusPage/UptimeDailyAggregate.ts +110 -0
  233. package/UI/Components/EditionLabel/EditionLabel.tsx +796 -1195
  234. package/UI/Components/EditionLabel/LicenseManager.ts +119 -0
  235. package/UI/Components/Feed/FeedOptions.ts +427 -0
  236. package/UI/Components/Feed/FeedOptionsButton.tsx +692 -0
  237. package/UI/Components/Feed/useFeedItems.ts +28 -9
  238. package/UI/Components/Feed/useFeedOptions.ts +225 -0
  239. package/UI/Components/Graphs/DayUptimeGraph.tsx +123 -15
  240. package/UI/Components/Icon/Icon.tsx +1 -1
  241. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  242. package/UI/Components/ModelList/ModelList.tsx +11 -1
  243. package/UI/Components/MonitorGraphs/Uptime.tsx +69 -0
  244. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +28 -12
  245. package/UI/esbuild-enterprise.js +263 -0
  246. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +7 -2
  247. package/Utils/HostAddressUtil.ts +94 -0
  248. package/Utils/LabelRuleImportExport.ts +27 -9
  249. package/Utils/Monitor/MetricValueFormatter.ts +2 -2
  250. package/Utils/Monitor/MonitorDestinationUtil.ts +157 -0
  251. package/Utils/Monitor/MonitoringIntervalUtil.ts +436 -0
  252. package/Utils/Rules/MonitorTypeRuleCriteria.ts +31 -0
  253. package/Utils/Slo/SloDuration.ts +22 -6
  254. package/Utils/Slo/SloHealth.ts +8 -7
  255. package/Utils/Slo/SloMonitorRuleCriteria.ts +33 -1
  256. package/Utils/Slo/SloOverviewText.ts +33 -0
  257. package/Utils/Slo/SloProjection.ts +4 -3
  258. package/Utils/StatusPage/UptimeDailyAggregateUtil.ts +192 -0
  259. package/build/dist/Models/AnalyticsModels/AuditLog.js +23 -15
  260. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  261. package/build/dist/Models/DatabaseModels/GlobalConfig.js +25 -0
  262. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  263. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  264. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  265. package/build/dist/Models/DatabaseModels/Monitor.js +2 -2
  266. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  267. package/build/dist/Models/DatabaseModels/MonitorTemplate.js +2 -1
  268. package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
  269. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js +2 -0
  270. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js.map +1 -1
  271. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveLabelRule.js +530 -0
  272. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveLabelRule.js.map +1 -0
  273. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js +39 -4
  274. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js.map +1 -1
  275. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerRule.js +612 -0
  276. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerRule.js.map +1 -0
  277. package/build/dist/Server/API/BaseAPI.js +26 -5
  278. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  279. package/build/dist/Server/API/GlobalConfigAPI.js +148 -344
  280. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  281. package/build/dist/Server/API/ProjectOIDC.js +24 -16
  282. package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
  283. package/build/dist/Server/API/ProjectSSO.js +24 -16
  284. package/build/dist/Server/API/ProjectSSO.js.map +1 -1
  285. package/build/dist/Server/API/StatusPageAPI.js +93 -43
  286. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  287. package/build/dist/Server/API/TeamMemberAPI.js +8 -1
  288. package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
  289. package/build/dist/Server/Enterprise/EnterpriseEdition.js +466 -0
  290. package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -0
  291. package/build/dist/Server/Enterprise/EnterpriseFeature.js +39 -0
  292. package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -0
  293. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +70 -0
  294. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js.map +1 -0
  295. package/build/dist/Server/Enterprise/EnterpriseServerModule.js +84 -0
  296. package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -0
  297. package/build/dist/Server/EnvironmentConfig.js +84 -2
  298. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  299. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js +18 -0
  300. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js.map +1 -0
  301. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1794100000000-AddSloLabelAndOwnerRules.js +93 -0
  302. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1794100000000-AddSloLabelAndOwnerRules.js.map +1 -0
  303. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1794200000000-AddSloMonitorRuleMonitorType.js +12 -0
  304. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1794200000000-AddSloMonitorRuleMonitorType.js.map +1 -0
  305. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  306. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  307. package/build/dist/Server/Middleware/UserAuthorization.js +30 -11
  308. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  309. package/build/dist/Server/Services/AuditLogService.js +71 -740
  310. package/build/dist/Server/Services/AuditLogService.js.map +1 -1
  311. package/build/dist/Server/Services/DatabaseService.js +7 -0
  312. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  313. package/build/dist/Server/Services/EnterpriseLicenseService.js +34 -0
  314. package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
  315. package/build/dist/Server/Services/GlobalConfigService.js +63 -0
  316. package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
  317. package/build/dist/Server/Services/Index.js +4 -0
  318. package/build/dist/Server/Services/Index.js.map +1 -1
  319. package/build/dist/Server/Services/MonitorProbeService.js +90 -17
  320. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  321. package/build/dist/Server/Services/MonitorService.js +48 -6
  322. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  323. package/build/dist/Server/Services/MonitorStatusTimelineService.js +242 -0
  324. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  325. package/build/dist/Server/Services/MonitorTemplateService.js +16 -0
  326. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  327. package/build/dist/Server/Services/ProjectService.js +214 -0
  328. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  329. package/build/dist/Server/Services/RumSessionPinService.js +24 -6
  330. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
  331. package/build/dist/Server/Services/ServiceLevelObjectiveLabelRuleEngineService.js +295 -0
  332. package/build/dist/Server/Services/ServiceLevelObjectiveLabelRuleEngineService.js.map +1 -0
  333. package/build/dist/Server/Services/ServiceLevelObjectiveLabelRuleService.js +56 -0
  334. package/build/dist/Server/Services/ServiceLevelObjectiveLabelRuleService.js.map +1 -0
  335. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js +59 -14
  336. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js.map +1 -1
  337. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js +22 -1
  338. package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js.map +1 -1
  339. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerRuleEngineService.js +400 -0
  340. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerRuleEngineService.js.map +1 -0
  341. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerRuleService.js +56 -0
  342. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerRuleService.js.map +1 -0
  343. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +21 -0
  344. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -1
  345. package/build/dist/Server/Services/StatusPagePrivateUserService.js +7 -3
  346. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  347. package/build/dist/Server/Services/StatusPageService.js +71 -0
  348. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  349. package/build/dist/Server/Services/TeamMemberService.js +10 -0
  350. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  351. package/build/dist/Server/Services/TeamService.js +9 -0
  352. package/build/dist/Server/Services/TeamService.js.map +1 -1
  353. package/build/dist/Server/Services/UserService.js +10 -16
  354. package/build/dist/Server/Services/UserService.js.map +1 -1
  355. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +10 -0
  356. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  357. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +154 -14
  358. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
  359. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +10 -3
  360. package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
  361. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +17 -0
  362. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
  363. package/build/dist/Server/Types/Markdown.js +31 -0
  364. package/build/dist/Server/Types/Markdown.js.map +1 -1
  365. package/build/dist/Server/Types/Workflow/Components/Telegram/SendMessageToChat.js +20 -1
  366. package/build/dist/Server/Types/Workflow/Components/Telegram/SendMessageToChat.js.map +1 -1
  367. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js +1 -0
  368. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js.map +1 -1
  369. package/build/dist/Server/Utils/CommunityEditionSsoReport.js +223 -0
  370. package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +1 -0
  371. package/build/dist/Server/Utils/EditionEnforcement.js +187 -0
  372. package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -0
  373. package/build/dist/Server/Utils/FrontendEnvironment.js +31 -2
  374. package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -1
  375. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +6 -193
  376. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -1
  377. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js +67 -0
  378. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js.map +1 -0
  379. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +1 -1
  380. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
  381. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  382. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +1 -1
  383. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +585 -367
  384. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  385. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js +88 -0
  386. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js.map +1 -0
  387. package/build/dist/Server/Utils/Monitor/RootCauseList.js +101 -0
  388. package/build/dist/Server/Utils/Monitor/RootCauseList.js.map +1 -0
  389. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +28 -0
  390. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -1
  391. package/build/dist/Server/Utils/Slo/SloRulePatternValidator.js +28 -0
  392. package/build/dist/Server/Utils/Slo/SloRulePatternValidator.js.map +1 -0
  393. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +331 -11
  394. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  395. package/build/dist/Types/API/Hostname.js +59 -11
  396. package/build/dist/Types/API/Hostname.js.map +1 -1
  397. package/build/dist/Types/API/Route.js +18 -2
  398. package/build/dist/Types/API/Route.js.map +1 -1
  399. package/build/dist/Types/API/URL.js +23 -2
  400. package/build/dist/Types/API/URL.js.map +1 -1
  401. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +19 -7
  402. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  403. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +19 -7
  404. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  405. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +13 -6
  406. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -1
  407. package/build/dist/Types/Database/CanonicalModelInstance.js +88 -0
  408. package/build/dist/Types/Database/CanonicalModelInstance.js.map +1 -0
  409. package/build/dist/Types/Database/TableColumn.js +19 -6
  410. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  411. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +28 -0
  412. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js.map +1 -0
  413. package/build/dist/Types/IP/IPv6.js +6 -1
  414. package/build/dist/Types/IP/IPv6.js.map +1 -1
  415. package/build/dist/Types/Monitor/MonitorStep.js +5 -0
  416. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  417. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +1 -1
  418. package/build/dist/Types/Permission.js +84 -0
  419. package/build/dist/Types/Permission.js.map +1 -1
  420. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +11 -0
  421. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
  422. package/build/dist/Types/Rules/RuleRun.js +4 -0
  423. package/build/dist/Types/Rules/RuleRun.js.map +1 -1
  424. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js +32 -0
  425. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js.map +1 -0
  426. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +414 -585
  427. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  428. package/build/dist/UI/Components/EditionLabel/LicenseManager.js +2 -0
  429. package/build/dist/UI/Components/EditionLabel/LicenseManager.js.map +1 -0
  430. package/build/dist/UI/Components/Feed/FeedOptions.js +235 -0
  431. package/build/dist/UI/Components/Feed/FeedOptions.js.map +1 -0
  432. package/build/dist/UI/Components/Feed/FeedOptionsButton.js +346 -0
  433. package/build/dist/UI/Components/Feed/FeedOptionsButton.js.map +1 -0
  434. package/build/dist/UI/Components/Feed/useFeedItems.js +17 -7
  435. package/build/dist/UI/Components/Feed/useFeedItems.js.map +1 -1
  436. package/build/dist/UI/Components/Feed/useFeedOptions.js +130 -0
  437. package/build/dist/UI/Components/Feed/useFeedOptions.js.map +1 -0
  438. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +90 -17
  439. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
  440. package/build/dist/UI/Components/Icon/Icon.js +1 -1
  441. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  442. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  443. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  444. package/build/dist/UI/Components/ModelList/ModelList.js +4 -1
  445. package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
  446. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +42 -1
  447. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  448. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +2 -2
  449. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  450. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +6 -2
  451. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  452. package/build/dist/Utils/HostAddressUtil.js +80 -0
  453. package/build/dist/Utils/HostAddressUtil.js.map +1 -0
  454. package/build/dist/Utils/LabelRuleImportExport.js +22 -6
  455. package/build/dist/Utils/LabelRuleImportExport.js.map +1 -1
  456. package/build/dist/Utils/Monitor/MetricValueFormatter.js +2 -2
  457. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js +127 -0
  458. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js.map +1 -0
  459. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js +374 -0
  460. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js.map +1 -0
  461. package/build/dist/Utils/Rules/MonitorTypeRuleCriteria.js +18 -0
  462. package/build/dist/Utils/Rules/MonitorTypeRuleCriteria.js.map +1 -0
  463. package/build/dist/Utils/Slo/SloDuration.js +13 -5
  464. package/build/dist/Utils/Slo/SloDuration.js.map +1 -1
  465. package/build/dist/Utils/Slo/SloHealth.js +8 -7
  466. package/build/dist/Utils/Slo/SloHealth.js.map +1 -1
  467. package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js +16 -1
  468. package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js.map +1 -1
  469. package/build/dist/Utils/Slo/SloOverviewText.js +16 -0
  470. package/build/dist/Utils/Slo/SloOverviewText.js.map +1 -1
  471. package/build/dist/Utils/Slo/SloProjection.js.map +1 -1
  472. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js +148 -0
  473. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js.map +1 -0
  474. package/jest.config.json +3 -1
  475. package/package.json +1 -1
  476. package/test-setup.sh +103 -34
  477. package/tsconfig.json +13 -0
  478. package/Server/API/EnterpriseLicenseAPI.ts +0 -925
  479. package/Server/API/TeamComplianceAPI.ts +0 -158
  480. package/Server/Middleware/SCIMAuthorization.ts +0 -141
  481. package/Server/Services/TeamComplianceService.ts +0 -733
  482. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +0 -186
  483. package/Server/Utils/InstanceHealth/PostgresHealth.ts +0 -286
  484. package/Tests/App/AdminDashboard/EnterpriseLicenseInstanceActivity.test.tsx +0 -451
  485. package/Tests/App/Dashboard/AuditLogsTable.test.tsx +0 -598
  486. package/Tests/App/Dashboard/SecurityEventsExplorer.test.tsx +0 -761
  487. package/Tests/App/Dashboard/SecurityEventsSideMenu.test.tsx +0 -247
  488. package/Tests/App/Dashboard/SecurityEventsTableColumns.test.tsx +0 -382
  489. package/Tests/App/Dashboard/SecurityEventsVolumeChart.test.tsx +0 -321
  490. package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +0 -1851
  491. package/Tests/Server/Middleware/SCIMAuthorization.test.ts +0 -525
  492. package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +0 -1845
  493. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +0 -495
  494. package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +0 -337
  495. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +0 -576
  496. package/Tests/Utils/EnterpriseLicenseSync.test.ts +0 -568
  497. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +0 -287
  498. package/Utils/EnterpriseLicense/EnterpriseLicenseSync.ts +0 -244
  499. package/build/dist/Server/API/EnterpriseLicenseAPI.js +0 -646
  500. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +0 -1
  501. package/build/dist/Server/API/TeamComplianceAPI.js +0 -111
  502. package/build/dist/Server/API/TeamComplianceAPI.js.map +0 -1
  503. package/build/dist/Server/Middleware/SCIMAuthorization.js +0 -124
  504. package/build/dist/Server/Middleware/SCIMAuthorization.js.map +0 -1
  505. package/build/dist/Server/Services/TeamComplianceService.js +0 -537
  506. package/build/dist/Server/Services/TeamComplianceService.js.map +0 -1
  507. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +0 -145
  508. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +0 -1
  509. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +0 -194
  510. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +0 -1
  511. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +0 -168
  512. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +0 -1
  513. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js +0 -174
  514. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js.map +0 -1
@@ -119,6 +119,11 @@ import ServerlessFunctionOwnerTeam from "../../../../Models/DatabaseModels/Serve
119
119
  import ServerlessFunctionOwnerUser from "../../../../Models/DatabaseModels/ServerlessFunctionOwnerUser";
120
120
  import Service from "../../../../Models/DatabaseModels/Service";
121
121
  import ServiceLabelRule from "../../../../Models/DatabaseModels/ServiceLabelRule";
122
+ import ServiceLevelObjective from "../../../../Models/DatabaseModels/ServiceLevelObjective";
123
+ import ServiceLevelObjectiveLabelRule from "../../../../Models/DatabaseModels/ServiceLevelObjectiveLabelRule";
124
+ import ServiceLevelObjectiveOwnerRule from "../../../../Models/DatabaseModels/ServiceLevelObjectiveOwnerRule";
125
+ import ServiceLevelObjectiveOwnerTeam from "../../../../Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam";
126
+ import ServiceLevelObjectiveOwnerUser from "../../../../Models/DatabaseModels/ServiceLevelObjectiveOwnerUser";
122
127
  import ServiceOwnerRule from "../../../../Models/DatabaseModels/ServiceOwnerRule";
123
128
  import ServiceOwnerTeam from "../../../../Models/DatabaseModels/ServiceOwnerTeam";
124
129
  import ServiceOwnerUser from "../../../../Models/DatabaseModels/ServiceOwnerUser";
@@ -261,6 +266,11 @@ import ServerlessFunctionLabelRuleService from "../../../Services/ServerlessFunc
261
266
  import ServerlessFunctionOwnerRuleEngineService from "../../../Services/ServerlessFunctionOwnerRuleEngineService";
262
267
  import ServerlessFunctionOwnerRuleService from "../../../Services/ServerlessFunctionOwnerRuleService";
263
268
  import ServerlessFunctionService from "../../../Services/ServerlessFunctionService";
269
+ import ServiceLevelObjectiveLabelRuleEngineService from "../../../Services/ServiceLevelObjectiveLabelRuleEngineService";
270
+ import ServiceLevelObjectiveLabelRuleService from "../../../Services/ServiceLevelObjectiveLabelRuleService";
271
+ import ServiceLevelObjectiveOwnerRuleEngineService from "../../../Services/ServiceLevelObjectiveOwnerRuleEngineService";
272
+ import ServiceLevelObjectiveOwnerRuleService from "../../../Services/ServiceLevelObjectiveOwnerRuleService";
273
+ import ServiceLevelObjectiveService from "../../../Services/ServiceLevelObjectiveService";
264
274
  import ServiceLabelRuleEngineService from "../../../Services/ServiceLabelRuleEngineService";
265
275
  import ServiceLabelRuleService from "../../../Services/ServiceLabelRuleService";
266
276
  import ServiceOwnerRuleEngineService from "../../../Services/ServiceOwnerRuleEngineService";
@@ -676,6 +686,24 @@ const RULE_RUN_DEFINITIONS = {
676
686
  resourceService: ServiceService,
677
687
  engine: ServiceLabelRuleEngineService,
678
688
  }),
689
+ [RuleRunType.ServiceLevelObjectiveLabelRule]: defineRuleRun({
690
+ ruleModelType: ServiceLevelObjectiveLabelRule,
691
+ resourceModelType: ServiceLevelObjective,
692
+ ruleService: ServiceLevelObjectiveLabelRuleService,
693
+ resourceService: ServiceLevelObjectiveService,
694
+ engine: ServiceLevelObjectiveLabelRuleEngineService,
695
+ }),
696
+ [RuleRunType.ServiceLevelObjectiveOwnerRule]: defineRuleRun({
697
+ ruleModelType: ServiceLevelObjectiveOwnerRule,
698
+ resourceModelType: ServiceLevelObjective,
699
+ ruleService: ServiceLevelObjectiveOwnerRuleService,
700
+ resourceService: ServiceLevelObjectiveService,
701
+ engine: ServiceLevelObjectiveOwnerRuleEngineService,
702
+ ownerModelTypes: [
703
+ ServiceLevelObjectiveOwnerUser,
704
+ ServiceLevelObjectiveOwnerTeam,
705
+ ],
706
+ }),
679
707
  [RuleRunType.ServiceOwnerRule]: defineRuleRun({
680
708
  ruleModelType: ServiceOwnerRule,
681
709
  resourceModelType: Service,
@@ -1 +1 @@
1
- {"version":3,"file":"RuleRunRegistry.js","sourceRoot":"","sources":["../../../../../../Server/Utils/Rules/RuleRun/RuleRunRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuleRunRegistry.js","sourceRoot":"","sources":["../../../../../../Server/Utils/Rules/RuleRun/RuleRunRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import BadDataException from "../../../Types/Exception/BadDataException";
2
+ import RulePatternMatchUtil from "../../../Utils/Rules/RulePatternMatchUtil";
3
+ /*
4
+ * Write-time validation for the SLO name / description patterns on SLO label
5
+ * and owner rules.
6
+ *
7
+ * The rule engines accept a case-insensitive regex or a '*' wildcard glob, the
8
+ * same two syntaxes the SLO monitor rules take. Anything else - `api-(01`,
9
+ * `[unclosed` - compiles to nothing and matches nothing, and the engine can
10
+ * only log about it long after the user left the form. Reject it at the write
11
+ * instead, as NetworkDeviceRulePatternValidator does (OneUptime/oneuptime#2940).
12
+ */
13
+ export default class SloRulePatternValidator {
14
+ static validate(data) {
15
+ SloRulePatternValidator.validateOne("SLO Name Pattern", data.namePattern);
16
+ SloRulePatternValidator.validateOne("SLO Description Pattern", data.descriptionPattern);
17
+ }
18
+ static validateOne(title, pattern) {
19
+ if (!pattern) {
20
+ return;
21
+ }
22
+ if (RulePatternMatchUtil.isSupportedPattern(pattern)) {
23
+ return;
24
+ }
25
+ throw new BadDataException(`${title} "${pattern}" is not a valid regular expression, and contains no '*' wildcard to fall back on, so it would never match an SLO. Use a regex such as checkout-.* or a wildcard such as *checkout*.`);
26
+ }
27
+ }
28
+ //# sourceMappingURL=SloRulePatternValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SloRulePatternValidator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Slo/SloRulePatternValidator.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,oBAAoB,MAAM,2CAA2C,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAGtB;QACC,uBAAuB,CAAC,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,uBAAuB,CAAC,WAAW,CACjC,yBAAyB,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CACxB,KAAa,EACb,OAAkC;QAElC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,gBAAgB,CACxB,GAAG,KAAK,KAAK,OAAO,sLAAsL,CAC3M,CAAC;IACJ,CAAC;CACF"}
@@ -20,7 +20,7 @@ import CaptureSpan from "../../Telemetry/CaptureSpan";
20
20
  import BadDataException from "../../../../Types/Exception/BadDataException";
21
21
  import WorkspaceProjectAuthTokenService from "../../../Services/WorkspaceProjectAuthTokenService";
22
22
  import SSRFProtection from "../../SSRFProtection";
23
- export default class SlackUtil extends WorkspaceBase {
23
+ class SlackUtil extends WorkspaceBase {
24
24
  static isValidSlackIncomingWebhookUrl(incomingWebhookUrl) {
25
25
  /*
26
26
  * Host AND path prefix. The host check is what stops SSRF; the "/services/"
@@ -874,7 +874,7 @@ export default class SlackUtil extends WorkspaceBase {
874
874
  }
875
875
  }
876
876
  // Slack has a limit of 50 blocks per message. Split into batches if needed.
877
- const maxBlocksPerMessage = 50;
877
+ const maxBlocksPerMessage = SlackUtil.MAX_BLOCKS_PER_MESSAGE;
878
878
  let lastThread;
879
879
  if (blocks.length <= maxBlocksPerMessage) {
880
880
  lastThread = await this.sendPayloadBlocksToChannel({
@@ -1407,28 +1407,311 @@ export default class SlackUtil extends WorkspaceBase {
1407
1407
  },
1408
1408
  blocks: this.getBlocksFromWorkspaceMessagePayload({
1409
1409
  messageBlocks: data.payloadModalBlock.blocks,
1410
+ // A view takes twice as many blocks as a message.
1411
+ maxBlocks: SlackUtil.MAX_BLOCKS_PER_MODAL,
1410
1412
  }),
1411
1413
  };
1412
1414
  logger.debug("Modal block generated:", {});
1413
1415
  logger.debug(modalBlock, {});
1414
1416
  return modalBlock;
1415
1417
  }
1418
+ static getBlocksFromWorkspaceMessagePayload(data) {
1419
+ var _a, _b;
1420
+ const maxBlocks = (_a = data.maxBlocks) !== null && _a !== void 0 ? _a : SlackUtil.MAX_BLOCKS_PER_MESSAGE;
1421
+ /*
1422
+ * A markdown payload is the one block whose size we do not control: it
1423
+ * carries whatever the incident or alert says, root cause included, and
1424
+ * a section holds at most 3000 characters. So here it may expand into
1425
+ * several consecutive sections (see getMarkdownBlocks). Every other
1426
+ * block type still goes through the base class one block at a time, so
1427
+ * it renders exactly as before — one block, or none for an unknown type.
1428
+ *
1429
+ * The extra sections must not take the message past maxBlocks, or Slack
1430
+ * rejects all of it. So the other blocks are rendered first, every
1431
+ * markdown payload is counted for the one section it always had, and
1432
+ * only what is left of the budget is handed out as extra sections, in
1433
+ * message order, so the body a caller puts first is the last thing to
1434
+ * be cut short. A message that is already at the limit keeps one
1435
+ * section per markdown payload, exactly as many blocks as before.
1436
+ */
1437
+ const renderedBlocks = [];
1438
+ let blockCountBeforeSplitting = 0;
1439
+ for (const messageBlock of data.messageBlocks) {
1440
+ if (messageBlock._type === "WorkspacePayloadMarkdown") {
1441
+ // Rendered in the second pass, once the budget is known.
1442
+ renderedBlocks.push(null);
1443
+ blockCountBeforeSplitting += 1;
1444
+ continue;
1445
+ }
1446
+ const otherBlocks = super.getBlocksFromWorkspaceMessagePayload({
1447
+ messageBlocks: [messageBlock],
1448
+ });
1449
+ renderedBlocks.push(otherBlocks);
1450
+ blockCountBeforeSplitting += otherBlocks.length;
1451
+ }
1452
+ let spareBlocks = Math.max(0, maxBlocks - blockCountBeforeSplitting);
1453
+ const blocks = [];
1454
+ for (let index = 0; index < data.messageBlocks.length; index++) {
1455
+ // Empty, not null, for a block of an unknown type — it stays dropped.
1456
+ const rendered = (_b = renderedBlocks[index]) !== null && _b !== void 0 ? _b : null;
1457
+ if (rendered !== null) {
1458
+ blocks.push(...rendered);
1459
+ continue;
1460
+ }
1461
+ const sections = this.getMarkdownBlocks({
1462
+ payloadMarkdownBlock: data.messageBlocks[index],
1463
+ maxSections: 1 +
1464
+ Math.min(spareBlocks, SlackUtil.MAX_SECTIONS_PER_MARKDOWN_BLOCK - 1),
1465
+ });
1466
+ spareBlocks -= sections.length - 1;
1467
+ blocks.push(...sections);
1468
+ }
1469
+ return blocks;
1470
+ }
1471
+ /*
1472
+ * One section block. Text over Slack's limit cannot be split here, so it
1473
+ * is cut short with a note instead of being sent as a block Slack would
1474
+ * reject; messages go through getBlocksFromWorkspaceMessagePayload, which
1475
+ * splits it across sections. Text within the limit renders as it always
1476
+ * has.
1477
+ */
1416
1478
  static getMarkdownBlock(data) {
1417
1479
  logger.debug("Getting markdown block with data:", {});
1418
1480
  logger.debug(data, {});
1419
- const markdownBlock = {
1420
- type: "section",
1421
- text: {
1422
- type: "mrkdwn",
1423
- text: data.payloadMarkdownBlock.text
1424
- ? SlackifyMarkdown(data.payloadMarkdownBlock.text)
1425
- : "",
1426
- },
1427
- };
1481
+ const markdownBlock = this.getMarkdownBlocks({
1482
+ payloadMarkdownBlock: data.payloadMarkdownBlock,
1483
+ maxSections: 1,
1484
+ })[0];
1428
1485
  logger.debug("Markdown block generated:", {});
1429
1486
  logger.debug(markdownBlock, {});
1430
1487
  return markdownBlock;
1431
1488
  }
1489
+ /*
1490
+ * A markdown payload as consecutive section blocks, each within Slack's
1491
+ * 3000-character limit. Text that fits is one section, byte for byte what
1492
+ * a markdown payload has always rendered to (empty text included).
1493
+ */
1494
+ static getMarkdownBlocks(data) {
1495
+ const text = data.payloadMarkdownBlock.text
1496
+ ? SlackifyMarkdown(data.payloadMarkdownBlock.text)
1497
+ : "";
1498
+ const sectionTexts = this.splitSectionText({
1499
+ text: text,
1500
+ maxSections: data.maxSections,
1501
+ });
1502
+ if (sectionTexts.length > 1) {
1503
+ logger.debug(`Markdown block of ${text.length} characters split into ${sectionTexts.length} sections.`, {});
1504
+ }
1505
+ return sectionTexts.map((sectionText) => {
1506
+ return {
1507
+ type: "section",
1508
+ text: {
1509
+ type: "mrkdwn",
1510
+ text: sectionText,
1511
+ },
1512
+ };
1513
+ });
1514
+ }
1515
+ /*
1516
+ * Splits slackified text into section texts of at most
1517
+ * SECTION_TEXT_MAX_LENGTH characters, at the least disruptive places
1518
+ * available:
1519
+ *
1520
+ * 1. between paragraphs (a blank line),
1521
+ * 2. between list items, keeping an item together with the indented
1522
+ * bullets under it,
1523
+ * 3. between lines,
1524
+ * 4. and only inside a line that is on its own longer than the limit,
1525
+ * preferring a space there.
1526
+ *
1527
+ * The text between two sections is the newlines they were split at and
1528
+ * nothing else, so the sections read back in order give every line of the
1529
+ * original. A section that ends inside a ``` code block closes it and the
1530
+ * next one reopens it.
1531
+ *
1532
+ * Beyond maxSections the rest is dropped and the last section ends with
1533
+ * TRUNCATED_SECTION_NOTE. Text that fits is returned as it is.
1534
+ */
1535
+ static splitSectionText(data) {
1536
+ var _a;
1537
+ const maxLength = SlackUtil.SECTION_TEXT_MAX_LENGTH;
1538
+ if (data.text.length <= maxLength) {
1539
+ return [data.text];
1540
+ }
1541
+ const maxSections = Math.max(1, (_a = data.maxSections) !== null && _a !== void 0 ? _a : SlackUtil.MAX_SECTIONS_PER_MARKDOWN_BLOCK);
1542
+ /*
1543
+ * Any piece may need to reopen a code block at its start and close one
1544
+ * at its end, so when the text has code blocks every piece leaves room
1545
+ * for both.
1546
+ */
1547
+ const pieceMaxLength = data.text.includes(SlackUtil.CODE_FENCE)
1548
+ ? maxLength -
1549
+ SlackUtil.CODE_FENCE_REOPEN.length -
1550
+ SlackUtil.CODE_FENCE_CLOSE.length
1551
+ : maxLength;
1552
+ let pieces = this.splitTextAtBoundaries(data.text, pieceMaxLength);
1553
+ if (pieces.length === 0) {
1554
+ // Nothing but whitespace — there is nothing to show.
1555
+ return [""];
1556
+ }
1557
+ const isTruncated = pieces.length > maxSections;
1558
+ if (isTruncated) {
1559
+ pieces = pieces.slice(0, maxSections);
1560
+ /*
1561
+ * Shorten the last piece until the note fits after it, with the same
1562
+ * boundary preferences — whole paragraphs, items or lines where it
1563
+ * can.
1564
+ */
1565
+ const lastPiece = pieces[pieces.length - 1] || "";
1566
+ pieces[pieces.length - 1] =
1567
+ this.splitTextAtBoundaries(lastPiece, pieceMaxLength - SlackUtil.TRUNCATED_SECTION_NOTE.length)[0] || "";
1568
+ }
1569
+ const sections = [];
1570
+ let isInsideCodeBlock = false;
1571
+ for (let index = 0; index < pieces.length; index++) {
1572
+ const piece = pieces[index] || "";
1573
+ const isLastPiece = index === pieces.length - 1;
1574
+ let section = isInsideCodeBlock
1575
+ ? SlackUtil.CODE_FENCE_REOPEN + piece
1576
+ : piece;
1577
+ // An odd number of fences opens or closes a code block.
1578
+ const fenceCount = piece.split(SlackUtil.CODE_FENCE).length - 1;
1579
+ if (fenceCount % 2 === 1) {
1580
+ isInsideCodeBlock = !isInsideCodeBlock;
1581
+ }
1582
+ /*
1583
+ * The last piece of text that was not truncated ends where the
1584
+ * original ends, so a code block still open there was never closed
1585
+ * and is left alone.
1586
+ */
1587
+ if (isInsideCodeBlock && (!isLastPiece || isTruncated)) {
1588
+ section += SlackUtil.CODE_FENCE_CLOSE;
1589
+ }
1590
+ if (isLastPiece && isTruncated) {
1591
+ section += SlackUtil.TRUNCATED_SECTION_NOTE;
1592
+ }
1593
+ sections.push(section);
1594
+ }
1595
+ return sections;
1596
+ }
1597
+ /*
1598
+ * Pieces of at most maxLength characters, split at the boundaries listed
1599
+ * on splitSectionText. Each piece is trimmed of the newlines it was split
1600
+ * at; a piece with nothing but whitespace is dropped.
1601
+ */
1602
+ static splitTextAtBoundaries(text, maxLength) {
1603
+ const pieces = this.packSectionPieces({
1604
+ units: text.split("\n\n"),
1605
+ separator: "\n\n",
1606
+ maxLength: maxLength,
1607
+ splitOversizedUnit: (paragraph) => {
1608
+ return this.packSectionPieces({
1609
+ units: this.groupIndentedLines(paragraph),
1610
+ separator: "\n",
1611
+ maxLength: maxLength,
1612
+ splitOversizedUnit: (lineGroup) => {
1613
+ return this.packSectionPieces({
1614
+ units: lineGroup.split("\n"),
1615
+ separator: "\n",
1616
+ maxLength: maxLength,
1617
+ splitOversizedUnit: (line) => {
1618
+ return this.hardCutLine(line, maxLength);
1619
+ },
1620
+ });
1621
+ },
1622
+ });
1623
+ },
1624
+ });
1625
+ return pieces
1626
+ .map((piece) => {
1627
+ return piece.replace(/^[\r\n]+|[\r\n]+$/g, "");
1628
+ })
1629
+ .filter((piece) => {
1630
+ return piece.trim().length > 0;
1631
+ });
1632
+ }
1633
+ /*
1634
+ * Greedily joins units with the separator into pieces of at most
1635
+ * maxLength. A unit that does not fit next to the piece being built
1636
+ * starts a new piece rather than being broken up; only a unit longer than
1637
+ * maxLength on its own is broken, by splitOversizedUnit. The last of its
1638
+ * parts stays open, so the unit after it can still join it.
1639
+ */
1640
+ static packSectionPieces(data) {
1641
+ var _a;
1642
+ const pieces = [];
1643
+ // null until the first unit, so an empty unit still keeps its separator.
1644
+ let currentPiece = null;
1645
+ for (const unit of data.units) {
1646
+ if (currentPiece !== null) {
1647
+ const joined = currentPiece + data.separator + unit;
1648
+ if (joined.length <= data.maxLength) {
1649
+ currentPiece = joined;
1650
+ continue;
1651
+ }
1652
+ pieces.push(currentPiece);
1653
+ currentPiece = null;
1654
+ }
1655
+ if (unit.length <= data.maxLength) {
1656
+ currentPiece = unit;
1657
+ continue;
1658
+ }
1659
+ const parts = data.splitOversizedUnit(unit);
1660
+ pieces.push(...parts.slice(0, -1));
1661
+ currentPiece = (_a = parts[parts.length - 1]) !== null && _a !== void 0 ? _a : null;
1662
+ }
1663
+ if (currentPiece !== null) {
1664
+ pieces.push(currentPiece);
1665
+ }
1666
+ return pieces;
1667
+ }
1668
+ /*
1669
+ * The lines of a paragraph, with every indented line attached to the line
1670
+ * above it. slackify-markdown indents a nested bullet under its list item
1671
+ * — the Affected Resources list puts a resource's namespace, workload and
1672
+ * node there — so a split between groups never strands those bullets at
1673
+ * the top of the next section, away from the item they describe.
1674
+ */
1675
+ static groupIndentedLines(paragraph) {
1676
+ const groups = [];
1677
+ for (const line of paragraph.split("\n")) {
1678
+ const isIndented = line.startsWith(" ") || line.startsWith("\t");
1679
+ const lastGroupIndex = groups.length - 1;
1680
+ if (isIndented && lastGroupIndex >= 0) {
1681
+ groups[lastGroupIndex] = (groups[lastGroupIndex] || "") + "\n" + line;
1682
+ continue;
1683
+ }
1684
+ groups.push(line);
1685
+ }
1686
+ return groups;
1687
+ }
1688
+ /*
1689
+ * Cuts a single line longer than maxLength. Each cut is made after the
1690
+ * last space that still leaves the piece at least half full, so words stay
1691
+ * whole where the line has spaces, and never between the two halves of a
1692
+ * surrogate pair (an emoji), which would leave both pieces invalid.
1693
+ */
1694
+ static hardCutLine(line, maxLength) {
1695
+ const pieces = [];
1696
+ let rest = line;
1697
+ while (rest.length > maxLength) {
1698
+ let cutAt = maxLength;
1699
+ const lastSpaceIndex = rest.lastIndexOf(" ", maxLength - 1);
1700
+ if (lastSpaceIndex + 1 >= Math.ceil(maxLength / 2)) {
1701
+ cutAt = lastSpaceIndex + 1;
1702
+ }
1703
+ else {
1704
+ const charCodeBeforeCut = rest.charCodeAt(cutAt - 1);
1705
+ if (charCodeBeforeCut >= 0xd800 && charCodeBeforeCut <= 0xdbff) {
1706
+ cutAt -= 1;
1707
+ }
1708
+ }
1709
+ pieces.push(rest.slice(0, cutAt));
1710
+ rest = rest.slice(cutAt);
1711
+ }
1712
+ pieces.push(rest);
1713
+ return pieces;
1714
+ }
1432
1715
  static async isUserInDirectMessageChannel(data) {
1433
1716
  var _a, _b, _c;
1434
1717
  // check of the user id is in the direct message channel id
@@ -1740,6 +2023,31 @@ export default class SlackUtil extends WorkspaceBase {
1740
2023
  return messages;
1741
2024
  }
1742
2025
  }
2026
+ /*
2027
+ * Block Kit limits. A section's text may be at most 3000 characters, a
2028
+ * message may carry at most 50 blocks and a modal view at most 100. Going
2029
+ * over any of them makes Slack reject the whole message (invalid_blocks),
2030
+ * not just the offending block.
2031
+ */
2032
+ SlackUtil.SECTION_TEXT_MAX_LENGTH = 3000;
2033
+ SlackUtil.MAX_BLOCKS_PER_MESSAGE = 50;
2034
+ SlackUtil.MAX_BLOCKS_PER_MODAL = 100;
2035
+ /*
2036
+ * How many sections one markdown payload may expand into — about 30,000
2037
+ * characters, several times the longest incident or alert body we send.
2038
+ * The 50-block ceiling alone would allow 150,000, but Slack also rejects a
2039
+ * message whose blocks are too long overall (msg_blocks_too_long) without
2040
+ * documenting where that starts, and text that long is better read in
2041
+ * OneUptime anyway.
2042
+ */
2043
+ SlackUtil.MAX_SECTIONS_PER_MARKDOWN_BLOCK = 10;
2044
+ // Ends the last section of a markdown payload that did not fit.
2045
+ SlackUtil.TRUNCATED_SECTION_NOTE = "\n\n_… (truncated — see OneUptime for the full text)_";
2046
+ // Closes and reopens a ``` code block that a section boundary cuts through.
2047
+ SlackUtil.CODE_FENCE = "```";
2048
+ SlackUtil.CODE_FENCE_CLOSE = "\n```";
2049
+ SlackUtil.CODE_FENCE_REOPEN = "```\n";
2050
+ export default SlackUtil;
1743
2051
  __decorate([
1744
2052
  CaptureSpan(),
1745
2053
  __metadata("design:type", Function),
@@ -1938,12 +2246,24 @@ __decorate([
1938
2246
  __metadata("design:paramtypes", [Object]),
1939
2247
  __metadata("design:returntype", Object)
1940
2248
  ], SlackUtil, "getModalBlock", null);
2249
+ __decorate([
2250
+ CaptureSpan(),
2251
+ __metadata("design:type", Function),
2252
+ __metadata("design:paramtypes", [Object]),
2253
+ __metadata("design:returntype", Array)
2254
+ ], SlackUtil, "getBlocksFromWorkspaceMessagePayload", null);
1941
2255
  __decorate([
1942
2256
  CaptureSpan(),
1943
2257
  __metadata("design:type", Function),
1944
2258
  __metadata("design:paramtypes", [Object]),
1945
2259
  __metadata("design:returntype", Object)
1946
2260
  ], SlackUtil, "getMarkdownBlock", null);
2261
+ __decorate([
2262
+ CaptureSpan(),
2263
+ __metadata("design:type", Function),
2264
+ __metadata("design:paramtypes", [Object]),
2265
+ __metadata("design:returntype", Array)
2266
+ ], SlackUtil, "getMarkdownBlocks", null);
1947
2267
  __decorate([
1948
2268
  CaptureSpan(),
1949
2269
  __metadata("design:type", Function),