@oneuptime/common 12.0.29 → 12.0.31

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 (664) hide show
  1. package/Models/AnalyticsModels/SecurityEvent.ts +48 -16
  2. package/Models/AnalyticsModels/ThreatIntelIndicator.ts +10 -5
  3. package/Models/DatabaseModels/AlertSeverity.ts +44 -0
  4. package/Models/DatabaseModels/DetectionRule.ts +16 -5
  5. package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
  6. package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
  7. package/Models/DatabaseModels/Index.ts +13 -0
  8. package/Models/DatabaseModels/NetworkDevice.ts +113 -3
  9. package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
  10. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
  11. package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +499 -0
  12. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
  13. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
  14. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
  15. package/Models/DatabaseModels/ThreatIntelFeed.ts +16 -5
  16. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
  17. package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
  18. package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
  19. package/Server/API/GlobalConfigAPI.ts +362 -183
  20. package/Server/API/OnCallCalendarAPI.ts +2194 -0
  21. package/Server/API/TelemetryAPI.ts +42 -4
  22. package/Server/EnvironmentConfig.ts +250 -0
  23. package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  28. package/Server/Middleware/MultipartFormData.ts +118 -32
  29. package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
  30. package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
  31. package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
  32. package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
  33. package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
  34. package/Server/Services/AlertGroupingEngineService.ts +9 -1
  35. package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
  36. package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
  37. package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
  38. package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
  39. package/Server/Services/AlertReminderRuleService.ts +9 -1
  40. package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
  41. package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
  42. package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
  43. package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
  44. package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
  45. package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
  46. package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
  47. package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
  48. package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
  49. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
  50. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
  51. package/Server/Services/HostLabelRuleEngineService.ts +9 -1
  52. package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
  53. package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
  54. package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
  55. package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
  56. package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
  57. package/Server/Services/IncidentGroupingEngineService.ts +9 -1
  58. package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
  59. package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
  60. package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
  61. package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
  62. package/Server/Services/IncidentReminderRuleService.ts +9 -1
  63. package/Server/Services/IncidentSlaRuleService.ts +9 -1
  64. package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
  65. package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
  66. package/Server/Services/Index.ts +14 -0
  67. package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
  68. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
  69. package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
  70. package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
  71. package/Server/Services/KubernetesResourceService.ts +5 -1
  72. package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
  73. package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
  74. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
  75. package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
  76. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
  77. package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
  78. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
  79. package/Server/Services/NetworkDeviceService.ts +209 -1
  80. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
  81. package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
  82. package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
  83. package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
  84. package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
  85. package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
  86. package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
  87. package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
  88. package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
  89. package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
  90. package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
  91. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
  92. package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
  93. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
  94. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
  95. package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
  96. package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
  97. package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
  98. package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
  99. package/Server/Services/RunbookRuleEngineService.ts +9 -1
  100. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
  101. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
  102. package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
  103. package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
  104. package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
  105. package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
  106. package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
  107. package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
  108. package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
  109. package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
  110. package/Server/Services/TeamMemberService.ts +489 -1
  111. package/Server/Services/TeamService.ts +50 -0
  112. package/Server/Services/TelemetrySourceMapService.ts +266 -23
  113. package/Server/Services/UserNotificationSettingService.ts +44 -1
  114. package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
  115. package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
  116. package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
  117. package/Server/Services/UserService.ts +27 -0
  118. package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
  119. package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
  120. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
  121. package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
  122. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
  123. package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
  124. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
  125. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
  126. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
  127. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
  128. package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
  129. package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
  130. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
  131. package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
  132. package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
  133. package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
  134. package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
  135. package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
  136. package/Server/Utils/Response.ts +134 -0
  137. package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
  138. package/Server/Utils/StartServer.ts +10 -0
  139. package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
  140. package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
  141. package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
  142. package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
  143. package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
  144. package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
  145. package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
  146. package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
  147. package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
  148. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
  149. package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
  150. package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
  151. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
  152. package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
  153. package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
  154. package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
  155. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
  156. package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
  157. package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
  158. package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +469 -0
  159. package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
  160. package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
  161. package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
  162. package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
  163. package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
  164. package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
  165. package/Tests/Server/API/Helpers.ts +8 -0
  166. package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
  167. package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
  168. package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
  169. package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
  170. package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
  171. package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +394 -0
  172. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
  173. package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
  174. package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
  175. package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
  176. package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
  177. package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
  178. package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
  179. package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
  180. package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
  181. package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
  182. package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
  183. package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
  184. package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
  185. package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
  186. package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
  187. package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
  188. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
  189. package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
  190. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
  191. package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
  192. package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
  193. package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
  194. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
  195. package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
  196. package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
  197. package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
  198. package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
  199. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
  200. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
  201. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
  202. package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
  203. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
  204. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
  205. package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
  206. package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
  207. package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
  208. package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
  209. package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
  210. package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
  211. package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
  212. package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
  213. package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
  214. package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
  215. package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
  216. package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
  217. package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
  218. package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
  219. package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
  220. package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
  221. package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
  222. package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
  223. package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
  224. package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
  225. package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
  226. package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
  227. package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
  228. package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
  229. package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
  230. package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
  231. package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
  232. package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
  233. package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -0
  234. package/Tests/UI/Components/Charts/TimeAnnotation.test.ts +471 -0
  235. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
  236. package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
  237. package/Tests/UI/Components/MarkdownConverters.test.ts +686 -0
  238. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
  239. package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
  240. package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
  241. package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
  242. package/Tests/UI/Components/XAxis.test.ts +270 -5
  243. package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
  244. package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
  245. package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
  246. package/Tests/UI/Styles/ThemeStylesheet.ts +162 -0
  247. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  248. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  249. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +507 -0
  250. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
  251. package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
  252. package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
  253. package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
  254. package/Types/Calendar/ICalendar.ts +442 -0
  255. package/Types/Date.ts +39 -0
  256. package/Types/Email/EmailTemplateType.ts +2 -0
  257. package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
  258. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  259. package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
  260. package/Types/OnCallDutyPolicy/Layer.ts +190 -35
  261. package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
  262. package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
  263. package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
  264. package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
  265. package/Types/Permission.ts +96 -0
  266. package/Types/Rum/SessionReplay.ts +21 -0
  267. package/Types/Telemetry/SourceMap.ts +8 -0
  268. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.tsx +176 -0
  269. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
  270. package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
  271. package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
  272. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +491 -544
  273. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +324 -372
  274. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +487 -540
  275. package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
  276. package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
  277. package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
  278. package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
  279. package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
  280. package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
  281. package/UI/Components/Charts/Utils/XAxis.ts +125 -18
  282. package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
  283. package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
  284. package/UI/Components/Feed/FeedItem.tsx +4 -5
  285. package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
  286. package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
  287. package/UI/Components/Image/Image.tsx +20 -3
  288. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  289. package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
  290. package/UI/Components/ModelTable/BaseModelTable.tsx +150 -24
  291. package/UI/Components/Table/TableHeader.tsx +64 -48
  292. package/UI/Components/Table/TableRow.tsx +13 -3
  293. package/UI/Styles/Theme.css +38 -0
  294. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
  295. package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
  296. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
  297. package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
  298. package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
  299. package/Utils/Rules/RuleEngineLimits.ts +32 -0
  300. package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
  301. package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
  302. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
  303. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
  305. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  306. package/build/dist/Models/DatabaseModels/DetectionRule.js +16 -5
  307. package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +14 -5
  309. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +46 -1
  311. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/Index.js +13 -0
  313. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/NetworkDevice.js +115 -3
  315. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +88 -0
  317. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  319. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +519 -0
  320. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
  321. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
  322. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  323. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
  324. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
  325. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
  326. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
  327. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +16 -5
  328. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
  329. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
  330. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
  331. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
  332. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
  333. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
  334. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
  335. package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
  336. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  337. package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
  338. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
  339. package/build/dist/Server/API/TelemetryAPI.js +31 -3
  340. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  341. package/build/dist/Server/EnvironmentConfig.js +185 -0
  342. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  343. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
  344. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
  345. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
  346. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
  347. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
  348. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
  349. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
  350. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js.map +1 -0
  351. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  352. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  353. package/build/dist/Server/Middleware/MultipartFormData.js +93 -28
  354. package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
  355. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
  356. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
  357. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
  358. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
  359. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
  360. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
  361. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
  362. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
  363. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
  364. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
  365. package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
  366. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  367. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
  368. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  369. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
  370. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
  371. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
  372. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  373. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
  374. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
  375. package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
  376. package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
  377. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
  378. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
  379. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
  380. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
  381. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
  382. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
  383. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
  384. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
  385. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
  386. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
  387. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
  388. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
  389. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
  390. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
  391. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +8 -1
  392. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
  393. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +8 -1
  394. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
  395. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +8 -1
  396. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
  397. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +8 -1
  398. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
  399. package/build/dist/Server/Services/HostLabelRuleEngineService.js +8 -1
  400. package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
  401. package/build/dist/Server/Services/HostOwnerRuleEngineService.js +8 -1
  402. package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
  403. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +8 -1
  404. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
  405. package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js +8 -1
  406. package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js.map +1 -1
  407. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +8 -1
  408. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
  409. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +8 -1
  410. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
  411. package/build/dist/Server/Services/IncidentGroupingEngineService.js +8 -1
  412. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  413. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +8 -1
  414. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  415. package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js +8 -1
  416. package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js.map +1 -1
  417. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +8 -1
  418. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  419. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +8 -1
  420. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
  421. package/build/dist/Server/Services/IncidentReminderRuleService.js +8 -1
  422. package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
  423. package/build/dist/Server/Services/IncidentSlaRuleService.js +8 -1
  424. package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
  425. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +8 -1
  426. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
  427. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +8 -1
  428. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
  429. package/build/dist/Server/Services/Index.js +14 -0
  430. package/build/dist/Server/Services/Index.js.map +1 -1
  431. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +8 -1
  432. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
  433. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +8 -1
  434. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
  435. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +8 -1
  436. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
  437. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +8 -1
  438. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
  439. package/build/dist/Server/Services/KubernetesResourceService.js +5 -1
  440. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
  441. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +8 -1
  442. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
  443. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +8 -1
  444. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
  445. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +30 -21
  446. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  447. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +64 -0
  448. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
  449. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +8 -1
  450. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
  451. package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js +180 -0
  452. package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js.map +1 -0
  453. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +8 -1
  454. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
  455. package/build/dist/Server/Services/NetworkDeviceService.js +154 -1
  456. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  457. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
  458. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  459. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +8 -1
  460. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
  461. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +8 -1
  462. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
  463. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
  464. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
  465. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
  466. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
  467. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
  468. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
  469. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
  470. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
  471. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
  472. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
  473. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
  474. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  475. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
  476. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
  477. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
  478. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
  479. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
  480. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
  481. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
  482. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
  483. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
  484. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
  485. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
  486. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
  487. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
  488. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
  489. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
  490. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
  491. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
  492. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
  493. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
  494. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
  495. package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
  496. package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
  497. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
  498. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  499. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
  500. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  501. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
  502. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
  503. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
  504. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
  505. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
  506. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
  507. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
  508. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
  509. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
  510. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
  511. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
  512. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
  513. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
  514. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
  515. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
  516. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
  517. package/build/dist/Server/Services/TeamMemberService.js +396 -1
  518. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  519. package/build/dist/Server/Services/TeamService.js +43 -0
  520. package/build/dist/Server/Services/TeamService.js.map +1 -1
  521. package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
  522. package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
  523. package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
  524. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  525. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
  526. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
  527. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
  528. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
  529. package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
  530. package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
  531. package/build/dist/Server/Services/UserService.js +25 -0
  532. package/build/dist/Server/Services/UserService.js.map +1 -1
  533. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
  534. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
  535. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
  536. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
  537. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
  538. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
  539. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
  540. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
  541. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
  542. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  543. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
  544. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  545. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
  546. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  547. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
  548. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
  549. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
  550. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
  551. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
  552. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  553. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
  554. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  555. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
  556. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
  557. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
  558. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
  559. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
  560. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
  561. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
  562. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
  563. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
  564. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
  565. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
  566. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
  567. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
  568. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
  569. package/build/dist/Server/Utils/Response.js +97 -0
  570. package/build/dist/Server/Utils/Response.js.map +1 -1
  571. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
  572. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
  573. package/build/dist/Server/Utils/StartServer.js +9 -1
  574. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  575. package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
  576. package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
  577. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
  578. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
  579. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
  580. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
  581. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
  582. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
  583. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
  584. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
  585. package/build/dist/Types/Calendar/ICalendar.js +290 -0
  586. package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
  587. package/build/dist/Types/Date.js +27 -0
  588. package/build/dist/Types/Date.js.map +1 -1
  589. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  590. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  591. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
  592. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js.map +1 -0
  593. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  594. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  595. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
  596. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
  597. package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
  598. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  599. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
  600. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
  601. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
  602. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
  603. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
  604. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
  605. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
  606. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
  607. package/build/dist/Types/Permission.js +86 -0
  608. package/build/dist/Types/Permission.js.map +1 -1
  609. package/build/dist/Types/Rum/SessionReplay.js +19 -0
  610. package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
  611. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js +83 -0
  612. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
  613. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
  614. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
  615. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
  616. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
  617. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
  618. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
  619. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +213 -233
  620. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  621. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +139 -152
  622. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  623. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +212 -232
  624. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  625. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js +14 -0
  626. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
  627. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
  628. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
  629. package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
  630. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  631. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
  632. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  633. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
  634. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  635. package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
  636. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  637. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
  638. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  639. package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
  640. package/build/dist/UI/Components/Image/Image.js +6 -1
  641. package/build/dist/UI/Components/Image/Image.js.map +1 -1
  642. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  643. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  644. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
  645. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
  646. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +104 -23
  647. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  648. package/build/dist/UI/Components/Table/TableHeader.js +20 -22
  649. package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
  650. package/build/dist/UI/Components/Table/TableRow.js +13 -4
  651. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  652. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +153 -0
  653. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
  654. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
  655. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
  656. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
  657. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
  658. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
  659. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
  660. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
  661. package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
  662. package/build/dist/Utils/Rules/RuleEngineLimits.js.map +1 -0
  663. package/jest.config.json +1 -0
  664. package/package.json +2 -2
@@ -7,7 +7,6 @@ import AnalyticsTableColumn, {
7
7
  } from "../../Types/AnalyticsDatabase/TableColumn";
8
8
  import TableColumnType from "../../Types/AnalyticsDatabase/TableColumnType";
9
9
  import { ColumnAccessControl } from "../../Types/BaseDatabase/AccessControl";
10
- import OperationalResource from "../../Types/Database/AccessControl/OperationalResource";
11
10
  import OwnedThrough from "../../Types/Database/AccessControl/OwnedThrough";
12
11
  import { JSONObject } from "../../Types/JSON";
13
12
  import ObjectID from "../../Types/ObjectID";
@@ -31,23 +30,41 @@ import ServiceType from "../../Types/Telemetry/ServiceType";
31
30
  * ("everything mentioning this host") cheap.
32
31
  */
33
32
 
33
+ /*
34
+ * Security events read through the Security tiers and nothing broader.
35
+ *
36
+ * The layout mirrors Log, but the access list deliberately does not: Log names
37
+ * ProjectMember, the project-wide Viewer and the three Telemetry tiers, and if
38
+ * this table did the same then every principal in the project could read the
39
+ * SIEM. A Telemetry Admin is trusted with logs, metrics and traces; that is not
40
+ * the same decision as being trusted with authentication failures, privilege
41
+ * escalations and the detections written over them, and an organisation running
42
+ * a SIEM needs to be able to make the second decision separately from the first.
43
+ *
44
+ * ProjectOwner and ProjectAdmin stay so a project is never locked out of its own
45
+ * data - they are the principals who can grant the Security tiers in the first
46
+ * place, so excluding them would only mean nobody could open the door.
47
+ */
34
48
  const readPermissions: Array<Permission> = [
35
49
  Permission.ProjectOwner,
36
50
  Permission.ProjectAdmin,
37
- Permission.ProjectMember,
38
- Permission.Viewer,
39
- Permission.TelemetryAdmin,
40
- Permission.TelemetryMember,
41
- Permission.TelemetryViewer,
51
+ Permission.SecurityAdmin,
52
+ Permission.SecurityMember,
53
+ Permission.SecurityViewer,
42
54
  Permission.ReadSecurityEvent,
43
55
  ];
44
56
 
57
+ /*
58
+ * Rows normally arrive through the SecOps poller, the detection-rule evaluator
59
+ * and the threat-intel matcher, all of which insert as root and never reach
60
+ * this list. It gates the CRUD API only, which is why it stops at the tiers
61
+ * that administer the SIEM.
62
+ */
45
63
  const createPermissions: Array<Permission> = [
46
64
  Permission.ProjectOwner,
47
65
  Permission.ProjectAdmin,
48
- Permission.ProjectMember,
49
- Permission.TelemetryAdmin,
50
- Permission.TelemetryMember,
66
+ Permission.SecurityAdmin,
67
+ Permission.SecurityMember,
51
68
  Permission.CreateSecurityEvent,
52
69
  ];
53
70
 
@@ -149,7 +166,19 @@ function arrayTextColumn(
149
166
  });
150
167
  }
151
168
 
152
- @OperationalResource()
169
+ /*
170
+ * Not @OperationalResource, which Log and Span both are.
171
+ *
172
+ * That decorator's only effect on an analytics model is to widen the table's
173
+ * permission list with the *AllOperationalResources wildcards - the grant whose
174
+ * own description reads "all operational resources in this project (Monitor,
175
+ * Incident, Alert, StatusPage, etc.)". Nobody handing that to an integration is
176
+ * deciding to hand it the SIEM, and leaving it on would have left one door open
177
+ * behind the Security tiers.
178
+ *
179
+ * @OwnedThrough stays: owned-scope filtering keys off it alone, so a Security
180
+ * role granted with scope=Owned still narrows to the services it owns.
181
+ */
153
182
  @OwnedThrough("primaryEntityId", Service, { includeProjectScope: true })
154
183
  export default class SecurityEvent extends AnalyticsBaseModel {
155
184
  public constructor() {
@@ -450,17 +479,20 @@ export default class SecurityEvent extends AnalyticsBaseModel {
450
479
  update: [
451
480
  Permission.ProjectOwner,
452
481
  Permission.ProjectAdmin,
453
- Permission.ProjectMember,
454
- Permission.TelemetryAdmin,
455
- Permission.TelemetryMember,
482
+ Permission.SecurityAdmin,
483
+ Permission.SecurityMember,
456
484
  Permission.EditSecurityEvent,
457
485
  ],
486
+ /*
487
+ * Deleting a security event destroys the record of something that
488
+ * happened, which is the one thing a SIEM exists to keep. It sits on
489
+ * the Admin tier rather than Member for the same reason the retention
490
+ * policy does.
491
+ */
458
492
  delete: [
459
493
  Permission.ProjectOwner,
460
494
  Permission.ProjectAdmin,
461
- Permission.ProjectMember,
462
- Permission.TelemetryAdmin,
463
- Permission.TelemetryMember,
495
+ Permission.SecurityAdmin,
464
496
  Permission.DeleteSecurityEvent,
465
497
  ],
466
498
  },
@@ -30,14 +30,18 @@ import Permission from "../../Types/Permission";
30
30
  * lazy garbage collection, not expiry enforcement.
31
31
  */
32
32
 
33
+ /*
34
+ * Indicators read through the Security tiers, like every other SIEM table.
35
+ * Which IOCs a project subscribes to is itself intelligence about what it is
36
+ * defending against, so it follows the security events it is matched against
37
+ * rather than the telemetry it sits beside in ClickHouse.
38
+ */
33
39
  const readPermissions: Array<Permission> = [
34
40
  Permission.ProjectOwner,
35
41
  Permission.ProjectAdmin,
36
- Permission.ProjectMember,
37
- Permission.Viewer,
38
- Permission.TelemetryAdmin,
39
- Permission.TelemetryMember,
40
- Permission.TelemetryViewer,
42
+ Permission.SecurityAdmin,
43
+ Permission.SecurityMember,
44
+ Permission.SecurityViewer,
41
45
  Permission.ReadProjectThreatIntelFeed,
42
46
  ];
43
47
 
@@ -258,6 +262,7 @@ export default class ThreatIntelIndicator extends AnalyticsBaseModel {
258
262
  delete: [
259
263
  Permission.ProjectOwner,
260
264
  Permission.ProjectAdmin,
265
+ Permission.SecurityAdmin,
261
266
  Permission.DeleteProjectThreatIntelFeed,
262
267
  ],
263
268
  },
@@ -33,6 +33,14 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
33
33
  })
34
34
  @EnableDocumentation()
35
35
  @EnableMCP()
36
+ /*
37
+ * The Security tiers read this table but hold none of the alert permissions.
38
+ * A Sigma detection rule and a threat-intel feed each choose the severity of
39
+ * the alert they open, so the SIEM's own forms select from here; without the
40
+ * read grant the dropdown 500s and the rule cannot be configured at all.
41
+ * Read-only, and only on the severity list itself - it says nothing about
42
+ * which alerts a Security role may see.
43
+ */
36
44
  @TenantColumn("projectId")
37
45
  @TableAccessControl({
38
46
  create: [
@@ -49,6 +57,9 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
49
57
  Permission.AlertAdmin,
50
58
  Permission.AlertMember,
51
59
  Permission.AlertViewer,
60
+ Permission.SecurityAdmin,
61
+ Permission.SecurityMember,
62
+ Permission.SecurityViewer,
52
63
  Permission.ReadAlertSeverity,
53
64
  ],
54
65
  delete: [
@@ -100,6 +111,9 @@ export default class AlertSeverity extends BaseModel {
100
111
  Permission.AlertAdmin,
101
112
  Permission.AlertMember,
102
113
  Permission.AlertViewer,
114
+ Permission.SecurityAdmin,
115
+ Permission.SecurityMember,
116
+ Permission.SecurityViewer,
103
117
  Permission.ReadAlertSeverity,
104
118
  ],
105
119
  update: [],
@@ -143,6 +157,9 @@ export default class AlertSeverity extends BaseModel {
143
157
  Permission.AlertAdmin,
144
158
  Permission.AlertMember,
145
159
  Permission.AlertViewer,
160
+ Permission.SecurityAdmin,
161
+ Permission.SecurityMember,
162
+ Permission.SecurityViewer,
146
163
  Permission.ReadAlertSeverity,
147
164
  ],
148
165
  update: [],
@@ -178,6 +195,9 @@ export default class AlertSeverity extends BaseModel {
178
195
  Permission.AlertAdmin,
179
196
  Permission.AlertMember,
180
197
  Permission.AlertViewer,
198
+ Permission.SecurityAdmin,
199
+ Permission.SecurityMember,
200
+ Permission.SecurityViewer,
181
201
  Permission.ReadAlertSeverity,
182
202
  ],
183
203
  update: [
@@ -213,6 +233,9 @@ export default class AlertSeverity extends BaseModel {
213
233
  Permission.AlertAdmin,
214
234
  Permission.AlertMember,
215
235
  Permission.AlertViewer,
236
+ Permission.SecurityAdmin,
237
+ Permission.SecurityMember,
238
+ Permission.SecurityViewer,
216
239
  Permission.ReadAlertSeverity,
217
240
  ],
218
241
  update: [],
@@ -247,6 +270,9 @@ export default class AlertSeverity extends BaseModel {
247
270
  Permission.AlertAdmin,
248
271
  Permission.AlertMember,
249
272
  Permission.AlertViewer,
273
+ Permission.SecurityAdmin,
274
+ Permission.SecurityMember,
275
+ Permission.SecurityViewer,
250
276
  Permission.ReadAlertSeverity,
251
277
  ],
252
278
  update: [
@@ -286,6 +312,9 @@ export default class AlertSeverity extends BaseModel {
286
312
  Permission.AlertAdmin,
287
313
  Permission.AlertMember,
288
314
  Permission.AlertViewer,
315
+ Permission.SecurityAdmin,
316
+ Permission.SecurityMember,
317
+ Permission.SecurityViewer,
289
318
  Permission.ReadAlertSeverity,
290
319
  ],
291
320
  update: [],
@@ -327,6 +356,9 @@ export default class AlertSeverity extends BaseModel {
327
356
  Permission.AlertAdmin,
328
357
  Permission.AlertMember,
329
358
  Permission.AlertViewer,
359
+ Permission.SecurityAdmin,
360
+ Permission.SecurityMember,
361
+ Permission.SecurityViewer,
330
362
  Permission.ReadAlertSeverity,
331
363
  ],
332
364
  update: [],
@@ -354,6 +386,9 @@ export default class AlertSeverity extends BaseModel {
354
386
  Permission.AlertAdmin,
355
387
  Permission.AlertMember,
356
388
  Permission.AlertViewer,
389
+ Permission.SecurityAdmin,
390
+ Permission.SecurityMember,
391
+ Permission.SecurityViewer,
357
392
  Permission.ReadAlertSeverity,
358
393
  ],
359
394
  update: [],
@@ -391,6 +426,9 @@ export default class AlertSeverity extends BaseModel {
391
426
  Permission.AlertAdmin,
392
427
  Permission.AlertMember,
393
428
  Permission.AlertViewer,
429
+ Permission.SecurityAdmin,
430
+ Permission.SecurityMember,
431
+ Permission.SecurityViewer,
394
432
  Permission.ReadAlertSeverity,
395
433
  ],
396
434
  update: [],
@@ -423,6 +461,9 @@ export default class AlertSeverity extends BaseModel {
423
461
  Permission.AlertAdmin,
424
462
  Permission.AlertMember,
425
463
  Permission.AlertViewer,
464
+ Permission.SecurityAdmin,
465
+ Permission.SecurityMember,
466
+ Permission.SecurityViewer,
426
467
  Permission.ReadAlertSeverity,
427
468
  ],
428
469
  update: [
@@ -466,6 +507,9 @@ export default class AlertSeverity extends BaseModel {
466
507
  Permission.AlertAdmin,
467
508
  Permission.AlertMember,
468
509
  Permission.AlertViewer,
510
+ Permission.SecurityAdmin,
511
+ Permission.SecurityMember,
512
+ Permission.SecurityViewer,
469
513
  Permission.ReadAlertSeverity,
470
514
  ],
471
515
  update: [
@@ -22,26 +22,35 @@ import Permission from "../../Types/Permission";
22
22
  import { PlanType } from "../../Types/Billing/SubscriptionPlan";
23
23
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
24
24
 
25
+ /*
26
+ * Part of the SIEM, so it reads and is administered through the Security
27
+ * tiers rather than the Telemetry ones it used to share a list with. A
28
+ * detection rule and a threat-intel subscription describe what a project is
29
+ * watching for and what it believes it is up against, which is security
30
+ * posture rather than observability configuration.
31
+ */
25
32
  const createPermissions: Array<Permission> = [
26
33
  Permission.ProjectOwner,
27
34
  Permission.ProjectAdmin,
35
+ Permission.SecurityAdmin,
36
+ Permission.SecurityMember,
28
37
  Permission.CreateProjectDetectionRule,
29
38
  ];
30
39
 
31
40
  const readPermissions: Array<Permission> = [
32
41
  Permission.ProjectOwner,
33
42
  Permission.ProjectAdmin,
34
- Permission.ProjectMember,
35
- Permission.Viewer,
36
- Permission.TelemetryAdmin,
37
- Permission.TelemetryMember,
38
- Permission.TelemetryViewer,
43
+ Permission.SecurityAdmin,
44
+ Permission.SecurityMember,
45
+ Permission.SecurityViewer,
39
46
  Permission.ReadProjectDetectionRule,
40
47
  ];
41
48
 
42
49
  const updatePermissions: Array<Permission> = [
43
50
  Permission.ProjectOwner,
44
51
  Permission.ProjectAdmin,
52
+ Permission.SecurityAdmin,
53
+ Permission.SecurityMember,
45
54
  Permission.EditProjectDetectionRule,
46
55
  ];
47
56
 
@@ -84,6 +93,8 @@ const updatePermissions: Array<Permission> = [
84
93
  delete: [
85
94
  Permission.ProjectOwner,
86
95
  Permission.ProjectAdmin,
96
+ Permission.SecurityAdmin,
97
+ Permission.SecurityMember,
87
98
  Permission.DeleteProjectDetectionRule,
88
99
  ],
89
100
  update: updatePermissions,
@@ -19,19 +19,28 @@ import Permission from "../../Types/Permission";
19
19
  import { PlanType } from "../../Types/Billing/SubscriptionPlan";
20
20
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
21
21
 
22
+ /*
23
+ * Configuring the connector means pointing the project at someone's Chronicle
24
+ * instance and holding the service-account key that reads it, so it stays on
25
+ * the Admin tiers. SecurityAdmin joins them: this is the SIEM's own plumbing,
26
+ * and the role that runs the SIEM is the one that should be able to connect it
27
+ * to a source without also being a project administrator.
28
+ *
29
+ * The key itself is not covered by any of these - serviceAccountJson declares
30
+ * `read: []` and is never returned by the API.
31
+ */
22
32
  const adminPermissions: Array<Permission> = [
23
33
  Permission.ProjectOwner,
24
34
  Permission.ProjectAdmin,
35
+ Permission.SecurityAdmin,
25
36
  ];
26
37
 
27
38
  const readPermissions: Array<Permission> = [
28
39
  Permission.ProjectOwner,
29
40
  Permission.ProjectAdmin,
30
- Permission.ProjectMember,
31
- Permission.Viewer,
32
- Permission.TelemetryAdmin,
33
- Permission.TelemetryMember,
34
- Permission.TelemetryViewer,
41
+ Permission.SecurityAdmin,
42
+ Permission.SecurityMember,
43
+ Permission.SecurityViewer,
35
44
  ];
36
45
 
37
46
  /*
@@ -33,6 +33,14 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
33
33
  })
34
34
  @EnableDocumentation()
35
35
  @EnableMCP()
36
+ /*
37
+ * The Security tiers read this table but hold none of the incident permissions.
38
+ * A Sigma detection rule and a threat-intel feed each choose the severity of
39
+ * the incident they open, so the SIEM's own forms select from here; without the
40
+ * read grant the dropdown 500s and the rule cannot be configured at all.
41
+ * Read-only, and only on the severity list itself - it says nothing about
42
+ * which incidents a Security role may see.
43
+ */
36
44
  @TenantColumn("projectId")
37
45
  @TableAccessControl({
38
46
  create: [
@@ -49,6 +57,9 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
49
57
  Permission.IncidentAdmin,
50
58
  Permission.IncidentMember,
51
59
  Permission.IncidentViewer,
60
+ Permission.SecurityAdmin,
61
+ Permission.SecurityMember,
62
+ Permission.SecurityViewer,
52
63
  Permission.ReadIncidentSeverity,
53
64
  ],
54
65
  delete: [
@@ -100,6 +111,9 @@ export default class IncidentSeverity extends BaseModel {
100
111
  Permission.IncidentAdmin,
101
112
  Permission.IncidentMember,
102
113
  Permission.IncidentViewer,
114
+ Permission.SecurityAdmin,
115
+ Permission.SecurityMember,
116
+ Permission.SecurityViewer,
103
117
  Permission.ReadIncidentSeverity,
104
118
  ],
105
119
  update: [],
@@ -143,6 +157,9 @@ export default class IncidentSeverity extends BaseModel {
143
157
  Permission.IncidentAdmin,
144
158
  Permission.IncidentMember,
145
159
  Permission.IncidentViewer,
160
+ Permission.SecurityAdmin,
161
+ Permission.SecurityMember,
162
+ Permission.SecurityViewer,
146
163
  Permission.ReadIncidentSeverity,
147
164
  ],
148
165
  update: [],
@@ -178,6 +195,9 @@ export default class IncidentSeverity extends BaseModel {
178
195
  Permission.IncidentAdmin,
179
196
  Permission.IncidentMember,
180
197
  Permission.IncidentViewer,
198
+ Permission.SecurityAdmin,
199
+ Permission.SecurityMember,
200
+ Permission.SecurityViewer,
181
201
  Permission.ReadIncidentSeverity,
182
202
  ],
183
203
  update: [
@@ -213,6 +233,9 @@ export default class IncidentSeverity extends BaseModel {
213
233
  Permission.IncidentAdmin,
214
234
  Permission.IncidentMember,
215
235
  Permission.IncidentViewer,
236
+ Permission.SecurityAdmin,
237
+ Permission.SecurityMember,
238
+ Permission.SecurityViewer,
216
239
  Permission.ReadIncidentSeverity,
217
240
  ],
218
241
  update: [],
@@ -247,6 +270,9 @@ export default class IncidentSeverity extends BaseModel {
247
270
  Permission.IncidentAdmin,
248
271
  Permission.IncidentMember,
249
272
  Permission.IncidentViewer,
273
+ Permission.SecurityAdmin,
274
+ Permission.SecurityMember,
275
+ Permission.SecurityViewer,
250
276
  Permission.ReadIncidentSeverity,
251
277
  ],
252
278
  update: [
@@ -286,6 +312,9 @@ export default class IncidentSeverity extends BaseModel {
286
312
  Permission.IncidentAdmin,
287
313
  Permission.IncidentMember,
288
314
  Permission.IncidentViewer,
315
+ Permission.SecurityAdmin,
316
+ Permission.SecurityMember,
317
+ Permission.SecurityViewer,
289
318
  Permission.ReadIncidentSeverity,
290
319
  ],
291
320
  update: [],
@@ -327,6 +356,9 @@ export default class IncidentSeverity extends BaseModel {
327
356
  Permission.IncidentAdmin,
328
357
  Permission.IncidentMember,
329
358
  Permission.IncidentViewer,
359
+ Permission.SecurityAdmin,
360
+ Permission.SecurityMember,
361
+ Permission.SecurityViewer,
330
362
  Permission.ReadIncidentSeverity,
331
363
  ],
332
364
  update: [],
@@ -354,6 +386,9 @@ export default class IncidentSeverity extends BaseModel {
354
386
  Permission.IncidentAdmin,
355
387
  Permission.IncidentMember,
356
388
  Permission.IncidentViewer,
389
+ Permission.SecurityAdmin,
390
+ Permission.SecurityMember,
391
+ Permission.SecurityViewer,
357
392
  Permission.ReadIncidentSeverity,
358
393
  ],
359
394
  update: [],
@@ -391,6 +426,9 @@ export default class IncidentSeverity extends BaseModel {
391
426
  Permission.IncidentAdmin,
392
427
  Permission.IncidentMember,
393
428
  Permission.IncidentViewer,
429
+ Permission.SecurityAdmin,
430
+ Permission.SecurityMember,
431
+ Permission.SecurityViewer,
394
432
  Permission.ReadIncidentSeverity,
395
433
  ],
396
434
  update: [],
@@ -423,6 +461,9 @@ export default class IncidentSeverity extends BaseModel {
423
461
  Permission.IncidentAdmin,
424
462
  Permission.IncidentMember,
425
463
  Permission.IncidentViewer,
464
+ Permission.SecurityAdmin,
465
+ Permission.SecurityMember,
466
+ Permission.SecurityViewer,
426
467
  Permission.ReadIncidentSeverity,
427
468
  ],
428
469
  update: [
@@ -466,6 +507,9 @@ export default class IncidentSeverity extends BaseModel {
466
507
  Permission.IncidentAdmin,
467
508
  Permission.IncidentMember,
468
509
  Permission.IncidentViewer,
510
+ Permission.SecurityAdmin,
511
+ Permission.SecurityMember,
512
+ Permission.SecurityViewer,
469
513
  Permission.ReadIncidentSeverity,
470
514
  ],
471
515
  update: [
@@ -12,6 +12,7 @@ import NetworkDeviceOwnerUser from "./NetworkDeviceOwnerUser";
12
12
  import NetworkDeviceOwnerRule from "./NetworkDeviceOwnerRule";
13
13
  import NetworkDeviceLabelRule from "./NetworkDeviceLabelRule";
14
14
  import NetworkDeviceAutoImportRule from "./NetworkDeviceAutoImportRule";
15
+ import NetworkDeviceOidTemplate from "./NetworkDeviceOidTemplate";
15
16
  import NetworkDeviceDiscoveryScan from "./NetworkDeviceDiscoveryScan";
16
17
  import NetworkInterface from "./NetworkInterface";
17
18
  import NetworkSite from "./NetworkSite";
@@ -164,6 +165,12 @@ import OnCallDutyPolicyScheduleLayer from "./OnCallDutyPolicyScheduleLayer";
164
165
  import OnCallDutyPolicyScheduleLayerUser from "./OnCallDutyPolicyScheduleLayerUser";
165
166
  import OnCallDutyPolicyScheduleOwnerTeam from "./OnCallDutyPolicyScheduleOwnerTeam";
166
167
  import OnCallDutyPolicyScheduleOwnerUser from "./OnCallDutyPolicyScheduleOwnerUser";
168
+ // On-call calendar feeds and shift reminders
169
+ import UserOnCallCalendarFeed from "./UserOnCallCalendarFeed";
170
+ import OnCallDutyPolicyScheduleCalendarFeed from "./OnCallDutyPolicyScheduleCalendarFeed";
171
+ import ProjectOnCallCalendarFeed from "./ProjectOnCallCalendarFeed";
172
+ import UserOnCallShiftReminder from "./UserOnCallShiftReminder";
173
+ import UserOnCallShiftReminderLog from "./UserOnCallShiftReminderLog";
167
174
 
168
175
  // On-Call Duty Label and Owner Rules
169
176
  import OnCallDutyPolicyLabelRule from "./OnCallDutyPolicyLabelRule";
@@ -762,6 +769,11 @@ const AllModelTypes: Array<{
762
769
  OnCallDutyPolicyScheduleLayerUser,
763
770
  OnCallDutyPolicyScheduleOwnerTeam,
764
771
  OnCallDutyPolicyScheduleOwnerUser,
772
+ OnCallDutyPolicyScheduleCalendarFeed,
773
+ ProjectOnCallCalendarFeed,
774
+ UserOnCallCalendarFeed,
775
+ UserOnCallShiftReminder,
776
+ UserOnCallShiftReminderLog,
765
777
  OnCallDutyPolicyFeed,
766
778
  OnCallDutyPolicyOwnerTeam,
767
779
  OnCallDutyPolicyOwnerUser,
@@ -867,6 +879,7 @@ const AllModelTypes: Array<{
867
879
  NetworkDeviceOwnerRule,
868
880
  NetworkDeviceLabelRule,
869
881
  NetworkDeviceAutoImportRule,
882
+ NetworkDeviceOidTemplate,
870
883
  NetworkDeviceDiscoveryScan,
871
884
  NetworkInterface,
872
885
  NetworkSite,
@@ -1,6 +1,7 @@
1
1
  import Label from "./Label";
2
2
  import Monitor from "./Monitor";
3
3
  import MonitorStatus from "./MonitorStatus";
4
+ import NetworkDeviceOidTemplate from "./NetworkDeviceOidTemplate";
4
5
  import NetworkSite from "./NetworkSite";
5
6
  import Probe from "./Probe";
6
7
  import Project from "./Project";
@@ -116,6 +117,18 @@ import {
116
117
  * free to maintain and the alternative is a full scan per rollup.
117
118
  */
118
119
  @Index(["projectId", "siteId"])
120
+ /*
121
+ * "Which devices use this OID Collection Template?" - the count on the
122
+ * template page, the Template column's filter on the device list, and the
123
+ * FK's own ON DELETE SET NULL scan.
124
+ *
125
+ * Project-prefixed and composite, like every other index on this table and
126
+ * for the reason written at the top of this block: a bare column index on a
127
+ * nullable FK is one btree entry per row of the product's hottest table,
128
+ * paid on every poll, to serve queries that all carry a projectId anyway.
129
+ * This is the same shape siteId gets above, and deliberately so.
130
+ */
131
+ @Index(["projectId", "oidTemplateId"])
119
132
  /*
120
133
  * The other half of the Overview's attention list: reachable devices with the
121
134
  * most dark ports.
@@ -588,6 +601,103 @@ export default class NetworkDevice extends BaseModel {
588
601
  })
589
602
  public siteId?: ObjectID = undefined;
590
603
 
604
+ @ColumnAccessControl({
605
+ create: [
606
+ Permission.ProjectOwner,
607
+ Permission.ProjectAdmin,
608
+ Permission.ProjectMember,
609
+ Permission.SettingsAdmin,
610
+ Permission.SettingsMember,
611
+ Permission.CreateNetworkDevice,
612
+ ],
613
+ read: [
614
+ Permission.ProjectOwner,
615
+ Permission.ProjectAdmin,
616
+ Permission.ProjectMember,
617
+ Permission.Viewer,
618
+ Permission.SettingsAdmin,
619
+ Permission.SettingsMember,
620
+ Permission.SettingsViewer,
621
+ Permission.ReadNetworkDevice,
622
+ ],
623
+ update: [
624
+ Permission.ProjectOwner,
625
+ Permission.ProjectAdmin,
626
+ Permission.ProjectMember,
627
+ Permission.SettingsAdmin,
628
+ Permission.SettingsMember,
629
+ Permission.EditNetworkDevice,
630
+ ],
631
+ })
632
+ @TableColumn({
633
+ manyToOneRelationColumn: "oidTemplateId",
634
+ type: TableColumnType.Entity,
635
+ modelType: NetworkDeviceOidTemplate,
636
+ title: "OID Collection Template",
637
+ description:
638
+ "The OID Collection Template this device collects, on top of any device-specific Health OIDs below. The link is live: editing the template changes what this device collects on its next poll.",
639
+ })
640
+ @ManyToOne(
641
+ () => {
642
+ return NetworkDeviceOidTemplate;
643
+ },
644
+ {
645
+ eager: false,
646
+ nullable: true,
647
+ onDelete: "SET NULL",
648
+ orphanedRowAction: "nullify",
649
+ },
650
+ )
651
+ @JoinColumn({ name: "oidTemplateId" })
652
+ public oidTemplate?: NetworkDeviceOidTemplate = undefined;
653
+
654
+ @ColumnAccessControl({
655
+ create: [
656
+ Permission.ProjectOwner,
657
+ Permission.ProjectAdmin,
658
+ Permission.ProjectMember,
659
+ Permission.SettingsAdmin,
660
+ Permission.SettingsMember,
661
+ Permission.CreateNetworkDevice,
662
+ ],
663
+ read: [
664
+ Permission.ProjectOwner,
665
+ Permission.ProjectAdmin,
666
+ Permission.ProjectMember,
667
+ Permission.Viewer,
668
+ Permission.SettingsAdmin,
669
+ Permission.SettingsMember,
670
+ Permission.SettingsViewer,
671
+ Permission.ReadNetworkDevice,
672
+ ],
673
+ update: [
674
+ Permission.ProjectOwner,
675
+ Permission.ProjectAdmin,
676
+ Permission.ProjectMember,
677
+ Permission.SettingsAdmin,
678
+ Permission.SettingsMember,
679
+ Permission.EditNetworkDevice,
680
+ ],
681
+ })
682
+ /*
683
+ * No column-level index here on purpose - the composite
684
+ * (projectId, oidTemplateId) declared at the top of the class serves every
685
+ * reader. See the comment there.
686
+ */
687
+ @TableColumn({
688
+ type: TableColumnType.ObjectID,
689
+ required: false,
690
+ canReadOnRelationQuery: true,
691
+ title: "OID Collection Template ID",
692
+ description: "ID of the OID Collection Template this device collects",
693
+ })
694
+ @Column({
695
+ type: ColumnType.ObjectID,
696
+ nullable: true,
697
+ transformer: ObjectID.getDatabaseTransformer(),
698
+ })
699
+ public oidTemplateId?: ObjectID = undefined;
700
+
591
701
  @ColumnAccessControl({
592
702
  create: [],
593
703
  read: [
@@ -1474,9 +1584,9 @@ export default class NetworkDevice extends BaseModel {
1474
1584
  @TableColumn({
1475
1585
  type: TableColumnType.JSON,
1476
1586
  required: false,
1477
- title: "Health OIDs",
1587
+ title: "Device-Specific Health OIDs",
1478
1588
  description:
1479
- "SNMP OIDs (CPU, memory, temperature, or any custom OID) collected on each poll. Values are recorded as metrics and can be alerted on through monitor criteria.",
1589
+ "SNMP OIDs collected on each poll for this device ALONE, on top of whatever its OID Collection Template collects. Values are recorded as metrics and can be alerted on through monitor criteria. If several devices need the same OID, put it on a template instead.",
1480
1590
  })
1481
1591
  @Column({
1482
1592
  type: ColumnType.JSON,
@@ -1608,7 +1718,7 @@ export default class NetworkDevice extends BaseModel {
1608
1718
  required: false,
1609
1719
  title: "Last Walk Log",
1610
1720
  description:
1611
- "The previous poll's raw walk response. Kept so interface rates (bandwidth, utilization, errors/sec) can be computed as counter deltas between polls. Managed by the server.",
1721
+ "The previous poll's interface counters. Kept so interface rates (bandwidth, utilization, errors/sec) can be computed as counter deltas between polls, and stores nothing else - the rest of the walk response has no reader and this column is rewritten on every poll of every device. Managed by the server.",
1612
1722
  })
1613
1723
  @Column({
1614
1724
  type: ColumnType.JSON,