@oneuptime/common 12.0.30 → 12.0.32

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 (645) 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/AlertState.ts +0 -2
  5. package/Models/DatabaseModels/DetectionRule.ts +16 -5
  6. package/Models/DatabaseModels/Domain.ts +1 -1
  7. package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
  8. package/Models/DatabaseModels/Incident.ts +1 -1
  9. package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
  10. package/Models/DatabaseModels/IncidentTemplate.ts +1 -1
  11. package/Models/DatabaseModels/Index.ts +4 -0
  12. package/Models/DatabaseModels/MetricType.ts +0 -2
  13. package/Models/DatabaseModels/MonitorStatusTimeline.ts +0 -2
  14. package/Models/DatabaseModels/MonitorTest.ts +0 -2
  15. package/Models/DatabaseModels/NetworkDevice.ts +234 -5
  16. package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
  17. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
  18. package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +501 -0
  19. package/Models/DatabaseModels/NetworkDeviceRole.ts +648 -0
  20. package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -1
  21. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +1 -1
  22. package/Models/DatabaseModels/StatusPageAnnouncement.ts +0 -2
  23. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +0 -2
  24. package/Models/DatabaseModels/StatusPagePrivateUser.ts +0 -2
  25. package/Models/DatabaseModels/StatusPageResource.ts +0 -2
  26. package/Models/DatabaseModels/StatusPageSubscriber.ts +0 -2
  27. package/Models/DatabaseModels/ThreatIntelFeed.ts +16 -5
  28. package/Server/API/GlobalConfigAPI.ts +362 -183
  29. package/Server/API/TelemetryAPI.ts +42 -4
  30. package/Server/EnvironmentConfig.ts +112 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.ts +72 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  35. package/Server/Middleware/MultipartFormData.ts +118 -32
  36. package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
  37. package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
  38. package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
  39. package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
  40. package/Server/Services/AlertGroupingEngineService.ts +9 -1
  41. package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
  42. package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
  43. package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
  44. package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
  45. package/Server/Services/AlertReminderRuleService.ts +9 -1
  46. package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
  47. package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
  48. package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
  49. package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
  50. package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
  51. package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
  52. package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
  53. package/Server/Services/DatabaseService.ts +39 -9
  54. package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
  55. package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
  56. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
  57. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
  58. package/Server/Services/HostLabelRuleEngineService.ts +9 -1
  59. package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
  60. package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
  61. package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
  62. package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
  63. package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
  64. package/Server/Services/IncidentGroupingEngineService.ts +9 -1
  65. package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
  66. package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
  67. package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
  68. package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
  69. package/Server/Services/IncidentReminderRuleService.ts +9 -1
  70. package/Server/Services/IncidentSlaRuleService.ts +9 -1
  71. package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
  72. package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
  73. package/Server/Services/Index.ts +4 -0
  74. package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
  75. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
  76. package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
  77. package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
  78. package/Server/Services/KubernetesResourceService.ts +5 -1
  79. package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
  80. package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
  81. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
  82. package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
  83. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
  84. package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
  85. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
  86. package/Server/Services/NetworkDeviceRoleService.ts +90 -0
  87. package/Server/Services/NetworkDeviceService.ts +209 -1
  88. package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
  89. package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
  90. package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
  91. package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
  92. package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
  93. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
  94. package/Server/Services/ProjectService.ts +85 -0
  95. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
  96. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
  97. package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
  98. package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
  99. package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
  100. package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
  101. package/Server/Services/RunbookRuleEngineService.ts +9 -1
  102. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
  103. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
  104. package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
  105. package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
  106. package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
  107. package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
  108. package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
  109. package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
  110. package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
  111. package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
  112. package/Server/Services/TelemetrySourceMapService.ts +266 -23
  113. package/Server/Services/UserNotificationSettingService.ts +0 -6
  114. package/Server/Services/UserService.ts +27 -0
  115. package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
  116. package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
  117. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
  118. package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
  119. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
  120. package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
  121. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
  122. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
  123. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
  124. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
  125. package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
  126. package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
  127. package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
  128. package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
  129. package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
  130. package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
  131. package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +31 -1
  132. package/Tests/App/Dashboard/DashboardChartWidgetZoom.test.tsx +35 -8
  133. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +107 -3
  134. package/Tests/App/Dashboard/DashboardWideChartZoom.test.tsx +401 -0
  135. package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
  136. package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
  137. package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +318 -0
  138. package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +357 -0
  139. package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +590 -0
  140. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
  141. package/Tests/App/Dashboard/SideMenuHarness.tsx +11 -3
  142. package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
  143. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
  144. package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
  145. package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +543 -0
  146. package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
  147. package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
  148. package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
  149. package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
  150. package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +32 -7
  151. package/Tests/Server/Infrastructure/Postgres/NetworkDeviceRoleTableMigration.test.ts +476 -0
  152. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
  153. package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
  154. package/Tests/Server/Services/DatabaseServiceGenerateSlug.test.ts +215 -0
  155. package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
  156. package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
  157. package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
  158. package/Tests/Server/Services/NetworkDeviceRoleModel.test.ts +672 -0
  159. package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +1 -1
  160. package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +67 -4
  161. package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
  162. package/Tests/Server/Services/ScheduledMaintenanceSubscriberEndTime.test.ts +369 -0
  163. package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
  164. package/Tests/Server/Services/UserNotificationSettingMonitorDefaults.test.ts +248 -0
  165. package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +43 -2
  166. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
  167. package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
  168. package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
  169. package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
  170. package/Tests/Server/Utils/BasicCron.test.ts +283 -0
  171. package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
  172. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
  173. package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
  174. package/Tests/Server/Utils/IncomingCallPhoneNumber.test.ts +174 -0
  175. package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
  176. package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
  177. package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
  178. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
  179. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
  180. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
  181. package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
  182. package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
  183. package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
  184. package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
  185. package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
  186. package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
  187. package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
  188. package/Tests/Types/NetworkDevice/DefaultNetworkDeviceRole.test.ts +417 -0
  189. package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
  190. package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
  191. package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
  192. package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -0
  193. package/Tests/UI/Components/Charts/ChartClickDoubleClickDisambiguation.test.tsx +221 -0
  194. package/Tests/UI/Components/Charts/ChartDoubleClickReset.test.tsx +220 -0
  195. package/Tests/UI/Components/Charts/TimeAnnotation.test.ts +471 -0
  196. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
  197. package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
  198. package/Tests/UI/Components/MarkdownConverters.test.ts +686 -0
  199. package/Tests/UI/Components/ModelTable/BaseModelTableBulkDelete.test.tsx +751 -0
  200. package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +475 -43
  201. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
  202. package/Tests/UI/Components/ModelTable/ColumnPreference.test.ts +89 -0
  203. package/Tests/UI/Components/NavBarCommandKGating.test.tsx +103 -8
  204. package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
  205. package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
  206. package/Tests/UI/Components/SideMenuItem.test.tsx +30 -0
  207. package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
  208. package/Tests/UI/Components/XAxis.test.ts +270 -5
  209. package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
  210. package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
  211. package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
  212. package/Tests/UI/Styles/ThemeStylesheet.ts +162 -0
  213. package/Tests/UI/Utils/TableColumnsToCsv.test.ts +30 -0
  214. package/Tests/UI/Utils/UseDashboardTimeRangeZoom.test.tsx +187 -0
  215. package/Tests/Utils/Dashboard/DashboardResourceListSharedArgs.test.ts +302 -0
  216. package/Tests/Utils/Dashboard/DashboardTimeRangeZoom.test.ts +242 -0
  217. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +507 -0
  218. package/Tests/Utils/Monitor/NetworkDeviceRoleCatalog.test.ts +981 -0
  219. package/Tests/Utils/Monitor/NetworkTopologyRoleCatalog.test.ts +865 -0
  220. package/Tests/Utils/NetworkDevice/DeviceRoleKeyUtil.test.ts +538 -0
  221. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
  222. package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
  223. package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
  224. package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
  225. package/Tests/Utils/Slo/SloEvaluation.test.ts +171 -0
  226. package/Tests/Utils/Slug.test.ts +61 -1
  227. package/Tests/jest.setup.ts +19 -0
  228. package/Types/Date.ts +39 -0
  229. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +61 -0
  230. package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
  231. package/Types/NetworkDevice/DefaultNetworkDeviceRole.ts +145 -0
  232. package/Types/Permission.ts +141 -0
  233. package/Types/Rum/SessionReplay.ts +21 -0
  234. package/Types/Telemetry/SourceMap.ts +8 -0
  235. package/UI/Components/Charts/Area/AreaChart.tsx +7 -0
  236. package/UI/Components/Charts/Bar/BarChart.tsx +6 -0
  237. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +9 -1
  238. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.tsx +176 -0
  239. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
  240. package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
  241. package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
  242. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +554 -545
  243. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +337 -371
  244. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +549 -540
  245. package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
  246. package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
  247. package/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.ts +13 -0
  248. package/UI/Components/Charts/Line/LineChart.tsx +7 -0
  249. package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
  250. package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
  251. package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
  252. package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
  253. package/UI/Components/Charts/Utils/XAxis.ts +125 -18
  254. package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
  255. package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
  256. package/UI/Components/Feed/FeedItem.tsx +4 -5
  257. package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
  258. package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
  259. package/UI/Components/Image/Image.tsx +20 -3
  260. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  261. package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
  262. package/UI/Components/ModelTable/BaseModelTable.tsx +200 -39
  263. package/UI/Components/Navbar/NavBar.tsx +62 -13
  264. package/UI/Components/Navbar/NavBarMenuModal.tsx +7 -2
  265. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +2 -0
  266. package/UI/Components/SideMenu/SideMenu.tsx +12 -2
  267. package/UI/Components/SideMenu/SideMenuItem.tsx +4 -1
  268. package/UI/Components/SideMenu/SideMenuSection.tsx +14 -2
  269. package/UI/Components/Table/TableHeader.tsx +64 -48
  270. package/UI/Components/Table/TableRow.tsx +13 -3
  271. package/UI/Styles/Theme.css +38 -0
  272. package/UI/Utils/UseDashboardTimeRangeZoom.ts +77 -0
  273. package/Utils/Dashboard/DashboardTimeRangeZoom.ts +118 -0
  274. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
  275. package/Utils/Monitor/NetworkDeviceRoleCatalog.ts +232 -0
  276. package/Utils/Monitor/NetworkDeviceRoleUtil.ts +2 -1
  277. package/Utils/Monitor/NetworkTopologyUtil.ts +116 -33
  278. package/Utils/NetworkDevice/DeviceRoleKeyUtil.ts +137 -0
  279. package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
  280. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
  281. package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
  282. package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
  283. package/Utils/Rules/RuleEngineLimits.ts +32 -0
  284. package/Utils/Rules/RulePatternMatchUtil.ts +1 -1
  285. package/Utils/Slug.ts +34 -1
  286. package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
  287. package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
  288. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
  289. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
  290. package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
  291. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  292. package/build/dist/Models/DatabaseModels/AlertState.js +0 -2
  293. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  294. package/build/dist/Models/DatabaseModels/DetectionRule.js +16 -5
  295. package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
  296. package/build/dist/Models/DatabaseModels/Domain.js +1 -1
  297. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  298. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +14 -5
  299. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
  300. package/build/dist/Models/DatabaseModels/Incident.js +1 -1
  301. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  302. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +46 -1
  303. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +1 -1
  305. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  306. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  307. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/MetricType.js +0 -2
  309. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +0 -2
  311. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/MonitorTest.js +0 -2
  313. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/NetworkDevice.js +239 -6
  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 +521 -0
  320. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
  321. package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js +677 -0
  322. package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js.map +1 -0
  323. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -1
  324. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  325. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +1 -1
  326. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  327. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +0 -2
  328. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  329. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +0 -2
  330. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  331. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +0 -2
  332. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  333. package/build/dist/Models/DatabaseModels/StatusPageResource.js +0 -2
  334. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  335. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +0 -2
  336. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  337. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +16 -5
  338. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
  339. package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
  340. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  341. package/build/dist/Server/API/TelemetryAPI.js +31 -3
  342. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  343. package/build/dist/Server/EnvironmentConfig.js +83 -0
  344. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  345. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
  346. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
  347. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
  348. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js.map +1 -0
  349. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.js +39 -0
  350. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.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/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
  356. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
  357. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
  358. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
  359. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
  360. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
  361. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
  362. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
  363. package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
  364. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  365. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
  366. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  367. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
  368. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
  369. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
  370. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  371. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
  372. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
  373. package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
  374. package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
  375. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
  376. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
  377. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
  378. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
  379. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
  380. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
  381. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
  382. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
  383. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
  384. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
  385. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
  386. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
  387. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
  388. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
  389. package/build/dist/Server/Services/DatabaseService.js +31 -5
  390. package/build/dist/Server/Services/DatabaseService.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 +4 -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/NetworkDeviceRoleService.js +70 -0
  456. package/build/dist/Server/Services/NetworkDeviceRoleService.js.map +1 -0
  457. package/build/dist/Server/Services/NetworkDeviceService.js +154 -1
  458. package/build/dist/Server/Services/NetworkDeviceService.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/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
  464. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
  465. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
  466. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
  467. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
  468. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
  469. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
  470. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
  471. package/build/dist/Server/Services/ProjectService.js +65 -0
  472. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  473. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
  474. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
  475. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
  476. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
  477. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
  478. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
  479. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
  480. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
  481. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
  482. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
  483. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
  484. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
  485. package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
  486. package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
  487. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
  488. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  489. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
  490. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  491. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
  492. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
  493. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
  494. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
  495. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
  496. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
  497. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
  498. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
  499. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
  500. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
  501. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
  502. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
  503. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
  504. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
  505. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
  506. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
  507. package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
  508. package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
  509. package/build/dist/Server/Services/UserNotificationSettingService.js +0 -1
  510. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  511. package/build/dist/Server/Services/UserService.js +25 -0
  512. package/build/dist/Server/Services/UserService.js.map +1 -1
  513. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
  514. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
  515. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
  516. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
  517. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
  518. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
  519. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
  520. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
  521. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
  522. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  523. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
  524. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  525. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
  526. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  527. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
  528. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
  529. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
  530. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
  531. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
  532. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  533. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
  534. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  535. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
  536. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
  537. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
  538. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
  539. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
  540. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
  541. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
  542. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
  543. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
  544. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
  545. package/build/dist/Types/Date.js +27 -0
  546. package/build/dist/Types/Date.js.map +1 -1
  547. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
  548. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js.map +1 -0
  549. package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js +105 -0
  550. package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js.map +1 -0
  551. package/build/dist/Types/Permission.js +126 -0
  552. package/build/dist/Types/Permission.js.map +1 -1
  553. package/build/dist/Types/Rum/SessionReplay.js +19 -0
  554. package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
  555. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  556. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  557. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  558. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  559. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -1
  560. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  561. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js +83 -0
  562. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
  563. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
  564. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
  565. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
  566. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
  567. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
  568. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
  569. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +262 -234
  570. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  571. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +146 -153
  572. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  573. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +261 -233
  574. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  575. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js +14 -0
  576. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js.map +1 -0
  577. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  578. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  579. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js +14 -0
  580. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
  581. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
  582. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
  583. package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
  584. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  585. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
  586. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  587. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
  588. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  589. package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
  590. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  591. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
  592. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  593. package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
  594. package/build/dist/UI/Components/Image/Image.js +6 -1
  595. package/build/dist/UI/Components/Image/Image.js.map +1 -1
  596. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  597. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  598. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
  599. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
  600. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +143 -36
  601. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  602. package/build/dist/UI/Components/Navbar/NavBar.js +44 -9
  603. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  604. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +2 -2
  605. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  606. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +1 -1
  607. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  608. package/build/dist/UI/Components/SideMenu/SideMenu.js +9 -6
  609. package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
  610. package/build/dist/UI/Components/SideMenu/SideMenuItem.js +1 -1
  611. package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
  612. package/build/dist/UI/Components/SideMenu/SideMenuSection.js +7 -2
  613. package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
  614. package/build/dist/UI/Components/Table/TableHeader.js +20 -22
  615. package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
  616. package/build/dist/UI/Components/Table/TableRow.js +13 -4
  617. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  618. package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js +42 -0
  619. package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js.map +1 -0
  620. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js +74 -0
  621. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js.map +1 -0
  622. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +153 -0
  623. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
  624. package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js +126 -0
  625. package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js.map +1 -0
  626. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +2 -1
  627. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -1
  628. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +67 -32
  629. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  630. package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js +114 -0
  631. package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js.map +1 -0
  632. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
  633. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
  634. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
  635. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
  636. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
  637. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
  638. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
  639. package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
  640. package/build/dist/Utils/Rules/RuleEngineLimits.js.map +1 -0
  641. package/build/dist/Utils/Rules/RulePatternMatchUtil.js +1 -1
  642. package/build/dist/Utils/Slug.js +31 -1
  643. package/build/dist/Utils/Slug.js.map +1 -1
  644. package/jest.config.json +1 -0
  645. 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: [
@@ -14,7 +14,6 @@ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
14
14
  import EnableMCP from "../../Types/Database/EnableMCP";
15
15
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
16
16
  import ColorField from "../../Types/Database/ColorField";
17
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
18
17
  import TableColumn from "../../Types/Database/TableColumn";
19
18
  import TableColumnType from "../../Types/Database/TableColumnType";
20
19
  import TableMetadata from "../../Types/Database/TableMetadata";
@@ -71,7 +70,6 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
71
70
  read: true,
72
71
  })
73
72
  @CrudApiEndpoint(new Route("/alert-state"))
74
- @SlugifyColumn("name", "slug")
75
73
  @TableMetadata({
76
74
  tableName: "AlertState",
77
75
  singularName: "Alert State",
@@ -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,
@@ -50,7 +50,7 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
50
50
  ],
51
51
  })
52
52
  @CrudApiEndpoint(new Route("/domain"))
53
- @SlugifyColumn("name", "slug")
53
+ @SlugifyColumn("domain", "slug")
54
54
  @TableMetadata({
55
55
  tableName: "Domain",
56
56
  singularName: "Domain",
@@ -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
  /*
@@ -101,7 +101,7 @@ import NotificationRuleWorkspaceChannel from "../../Types/Workspace/Notification
101
101
  ],
102
102
  })
103
103
  @CrudApiEndpoint(new Route("/incident"))
104
- @SlugifyColumn("name", "slug")
104
+ @SlugifyColumn("title", "slug")
105
105
  @Entity({
106
106
  name: "Incident",
107
107
  })
@@ -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: [
@@ -88,7 +88,7 @@ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
88
88
  ],
89
89
  })
90
90
  @CrudApiEndpoint(new Route("/incident-templates"))
91
- @SlugifyColumn("name", "slug")
91
+ @SlugifyColumn("templateName", "slug")
92
92
  @Entity({
93
93
  name: "IncidentTemplate",
94
94
  })
@@ -12,6 +12,8 @@ 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";
16
+ import NetworkDeviceRole from "./NetworkDeviceRole";
15
17
  import NetworkDeviceDiscoveryScan from "./NetworkDeviceDiscoveryScan";
16
18
  import NetworkInterface from "./NetworkInterface";
17
19
  import NetworkSite from "./NetworkSite";
@@ -878,6 +880,8 @@ const AllModelTypes: Array<{
878
880
  NetworkDeviceOwnerRule,
879
881
  NetworkDeviceLabelRule,
880
882
  NetworkDeviceAutoImportRule,
883
+ NetworkDeviceOidTemplate,
884
+ NetworkDeviceRole,
881
885
  NetworkDeviceDiscoveryScan,
882
886
  NetworkInterface,
883
887
  NetworkSite,
@@ -8,7 +8,6 @@ import ColumnType from "../../Types/Database/ColumnType";
8
8
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
9
9
  import EnableDocumentation from "../../Types/Database/EnableDocumentation";
10
10
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
11
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
12
11
  import TableColumn from "../../Types/Database/TableColumn";
13
12
  import TableColumnType from "../../Types/Database/TableColumnType";
14
13
  import TableMetadata from "../../Types/Database/TableMetadata";
@@ -72,7 +71,6 @@ import { AggregationTemporality } from "../AnalyticsModels/Metric";
72
71
  read: false,
73
72
  })
74
73
  @CrudApiEndpoint(new Route("/metric-type"))
75
- @SlugifyColumn("name", "slug")
76
74
  @TableMetadata({
77
75
  tableName: "MetricType",
78
76
  singularName: "Metric Type",
@@ -13,7 +13,6 @@ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
13
13
  import EnableDocumentation from "../../Types/Database/EnableDocumentation";
14
14
  import EnableMCP from "../../Types/Database/EnableMCP";
15
15
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
16
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
17
16
  import TableColumn from "../../Types/Database/TableColumn";
18
17
  import TableColumnType from "../../Types/Database/TableColumnType";
19
18
  import TableMetadata from "../../Types/Database/TableMetadata";
@@ -73,7 +72,6 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
73
72
  read: true,
74
73
  })
75
74
  @CrudApiEndpoint(new Route("/monitor-status-timeline"))
76
- @SlugifyColumn("name", "slug")
77
75
  @OwnedThrough("monitorId", Monitor)
78
76
  @Entity({
79
77
  name: "MonitorStatusTimeline",
@@ -10,7 +10,6 @@ import ColumnLength from "../../Types/Database/ColumnLength";
10
10
  import ColumnType from "../../Types/Database/ColumnType";
11
11
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
12
12
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
13
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
14
13
  import TableColumn from "../../Types/Database/TableColumn";
15
14
  import TableColumnType from "../../Types/Database/TableColumnType";
16
15
  import TableMetadata from "../../Types/Database/TableMetadata";
@@ -70,7 +69,6 @@ import Monitor from "./Monitor";
70
69
  read: true,
71
70
  })
72
71
  @CrudApiEndpoint(new Route("/monitor-test"))
73
- @SlugifyColumn("name", "slug")
74
72
  @OwnedThrough("monitorId", Monitor)
75
73
  @Entity({
76
74
  name: "MonitorTest",