@oneuptime/common 12.0.24 → 12.0.26
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.
- package/Models/AnalyticsModels/Index.ts +2 -0
- package/Models/AnalyticsModels/Span.ts +101 -0
- package/Models/AnalyticsModels/ThreatIntelIndicator.ts +413 -0
- package/Models/DatabaseModels/AlertSeverity.ts +4 -1
- package/Models/DatabaseModels/CephClusterFeed.ts +625 -0
- package/Models/DatabaseModels/CloudResourceFeed.ts +625 -0
- package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +13 -0
- package/Models/DatabaseModels/DetectionRule.ts +9 -3
- package/Models/DatabaseModels/DockerHostFeed.ts +625 -0
- package/Models/DatabaseModels/DockerSwarmClusterFeed.ts +628 -0
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +9 -3
- package/Models/DatabaseModels/HostFeed.ts +625 -0
- package/Models/DatabaseModels/IncidentSeverity.ts +4 -1
- package/Models/DatabaseModels/Index.ts +22 -0
- package/Models/DatabaseModels/KubernetesClusterFeed.ts +628 -0
- package/Models/DatabaseModels/Monitor.ts +87 -0
- package/Models/DatabaseModels/NetworkDevice.ts +96 -5
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +92 -6
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +301 -31
- package/Models/DatabaseModels/NetworkSite.ts +120 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +1 -0
- package/Models/DatabaseModels/PodmanHostFeed.ts +625 -0
- package/Models/DatabaseModels/ProxmoxClusterFeed.ts +626 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +67 -0
- package/Models/DatabaseModels/ServiceFeed.ts +625 -0
- package/Models/DatabaseModels/TelemetrySourceMap.ts +474 -0
- package/Models/DatabaseModels/ThreatIntelFeed.ts +758 -0
- package/Models/DatabaseModels/UserOnCallLog.ts +1 -0
- package/Models/DatabaseModels/UserTotpAuth.ts +1 -0
- package/Models/DatabaseModels/UserWebAuthn.ts +1 -0
- package/Server/API/AlertAPI.ts +23 -1
- package/Server/API/BaseAPI.ts +14 -27
- package/Server/API/IncidentAPI.ts +41 -1
- package/Server/API/IncidentEpisodeAPI.ts +23 -1
- package/Server/API/MicrosoftTeamsAPI.ts +31 -2
- package/Server/API/ScheduledMaintenanceAPI.ts +23 -1
- package/Server/API/SlackAPI.ts +48 -2
- package/Server/API/TelemetryAPI.ts +167 -42
- package/Server/API/UserOnCallLogTimelineAPI.ts +75 -61
- package/Server/API/UserTotpAuthAPI.ts +67 -1
- package/Server/API/UserWebAuthnAPI.ts +44 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.ts +57 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.ts +49 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.ts +129 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.ts +54 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.ts +64 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.ts +64 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.ts +72 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.ts +489 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +18 -0
- package/Server/Middleware/IdentityRateLimit.ts +53 -3
- package/Server/Middleware/SlackAuthorization.ts +96 -18
- package/Server/Services/AIService.ts +181 -41
- package/Server/Services/CephClusterFeedService.ts +99 -0
- package/Server/Services/CephClusterLabelRuleEngineService.ts +29 -0
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +23 -0
- package/Server/Services/CephClusterOwnerTeamService.ts +129 -0
- package/Server/Services/CephClusterOwnerUserService.ts +123 -0
- package/Server/Services/CephClusterService.ts +223 -2
- package/Server/Services/CloudResourceFeedService.ts +99 -0
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +30 -0
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +33 -0
- package/Server/Services/CloudResourceOwnerTeamService.ts +129 -0
- package/Server/Services/CloudResourceOwnerUserService.ts +123 -0
- package/Server/Services/CloudResourceService.ts +227 -2
- package/Server/Services/DatabaseService.ts +265 -0
- package/Server/Services/DockerHostFeedService.ts +99 -0
- package/Server/Services/DockerHostLabelRuleEngineService.ts +29 -0
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/DockerHostOwnerTeamService.ts +129 -0
- package/Server/Services/DockerHostOwnerUserService.ts +123 -0
- package/Server/Services/DockerHostService.ts +227 -2
- package/Server/Services/DockerSwarmClusterFeedService.ts +102 -0
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +133 -0
- package/Server/Services/DockerSwarmClusterOwnerUserService.ts +127 -0
- package/Server/Services/DockerSwarmClusterService.ts +229 -2
- package/Server/Services/EnterpriseLicenseService.ts +15 -7
- package/Server/Services/ExceptionAggregationService.ts +12 -2
- package/Server/Services/HostFeedService.ts +99 -0
- package/Server/Services/HostLabelRuleEngineService.ts +29 -0
- package/Server/Services/HostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/HostOwnerTeamService.ts +129 -0
- package/Server/Services/HostOwnerUserService.ts +123 -0
- package/Server/Services/HostService.ts +215 -2
- package/Server/Services/IncidentService.ts +11 -0
- package/Server/Services/Index.ts +24 -0
- package/Server/Services/KubernetesClusterFeedService.ts +99 -0
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/KubernetesClusterOwnerTeamService.ts +133 -0
- package/Server/Services/KubernetesClusterOwnerUserService.ts +127 -0
- package/Server/Services/KubernetesClusterService.ts +231 -2
- package/Server/Services/LogAggregationService.ts +23 -280
- package/Server/Services/MetricAggregationService.ts +98 -1
- package/Server/Services/MonitorService.ts +177 -13
- package/Server/Services/MonitorTemplateService.ts +111 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +777 -86
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +199 -16
- package/Server/Services/NetworkDeviceDiscoveryScanService.ts +1055 -14
- package/Server/Services/NetworkDeviceService.ts +750 -4
- package/Server/Services/NetworkInterfaceService.ts +415 -0
- package/Server/Services/NetworkSiteService.ts +485 -52
- package/Server/Services/PodmanHostFeedService.ts +99 -0
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +29 -0
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/PodmanHostOwnerTeamService.ts +129 -0
- package/Server/Services/PodmanHostOwnerUserService.ts +123 -0
- package/Server/Services/PodmanHostService.ts +227 -2
- package/Server/Services/ProjectService.ts +16 -10
- package/Server/Services/ProxmoxClusterFeedService.ts +99 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/ProxmoxClusterOwnerTeamService.ts +131 -0
- package/Server/Services/ProxmoxClusterOwnerUserService.ts +124 -0
- package/Server/Services/ProxmoxClusterService.ts +225 -2
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +61 -0
- package/Server/Services/ServiceFeedService.ts +99 -0
- package/Server/Services/ServiceLabelRuleEngineService.ts +29 -0
- package/Server/Services/ServiceOwnerRuleEngineService.ts +26 -0
- package/Server/Services/ServiceOwnerTeamService.ts +129 -0
- package/Server/Services/ServiceOwnerUserService.ts +123 -0
- package/Server/Services/ServiceService.ts +227 -3
- package/Server/Services/StatusPageSubscriberService.ts +7 -0
- package/Server/Services/TelemetryAttributeService.ts +13 -3
- package/Server/Services/TelemetrySourceMapService.ts +307 -0
- package/Server/Services/ThreatIntelFeedService.ts +222 -0
- package/Server/Services/ThreatIntelIndicatorService.ts +428 -0
- package/Server/Services/TraceAggregationService.ts +101 -11
- package/Server/Services/UserService.ts +13 -6
- package/Server/Services/UserTwoFactorBackupCodeService.ts +127 -0
- package/Server/Services/UserWebhookService.ts +11 -2
- package/Server/Static/Brand/README.md +38 -0
- package/Server/Static/Brand/favicons/apple-touch-icon.png +0 -0
- package/Server/Static/Brand/favicons/favicon-16x16.png +0 -0
- package/Server/Static/Brand/favicons/favicon-32x32.png +0 -0
- package/Server/Static/Brand/favicons/favicon.ico +0 -0
- package/Server/Static/Brand/favicons/safari-pinned-tab.svg +31 -0
- package/Server/Static/Brand/hou-wb.svg +1 -0
- package/Server/Static/Brand/oneuptime-logo.svg +1 -0
- package/Server/Static/Brand/ou-wb.svg +1 -0
- package/Server/Static/Vendor/README.md +4 -0
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +13 -3
- package/Server/Types/Database/AggregateBy.ts +83 -0
- package/Server/Types/Database/AggregateResultUtil.ts +126 -0
- package/Server/Types/Database/JSONColumnQuery.ts +18 -0
- package/Server/Types/Database/QueryHelper.ts +40 -0
- package/Server/Types/Database/QueryUtil.ts +26 -0
- package/Server/Types/Workflow/Components/API/Utils.ts +10 -1
- package/Server/Types/Workflow/Components/JavaScript.ts +8 -0
- package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +9 -0
- package/Server/Utils/AI/SRE/InvestigationGrader.ts +18 -0
- package/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.ts +422 -0
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +176 -0
- package/Server/Utils/DataSource/HttpFetch.ts +18 -0
- package/Server/Utils/Database/RelationIdUtil.ts +42 -0
- package/Server/Utils/Marketing/MarketingEventUtil.ts +38 -9
- package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +34 -3
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +9 -1
- package/Server/Utils/Monitor/Criteria/SyntheticMonitor.ts +28 -10
- package/Server/Utils/Monitor/MonitorAlert.ts +541 -332
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +330 -64
- package/Server/Utils/Monitor/MonitorIncident.ts +640 -434
- package/Server/Utils/Monitor/MonitorResource.ts +226 -49
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +46 -3
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +23 -102
- package/Server/Utils/Monitor/PerEntityCriteriaFanOut.ts +329 -0
- package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +427 -0
- package/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.ts +310 -0
- package/Server/Utils/OnCallNotificationContext.ts +686 -0
- package/Server/Utils/PrivateNetworkWebhookConfig.ts +549 -0
- package/Server/Utils/ResourceFeed/ResourceFeedUtil.ts +139 -0
- package/Server/Utils/Response.ts +11 -1
- package/Server/Utils/SSRFProtection.ts +230 -60
- package/Server/Utils/SecurityEvent/ConnectorErrorMessage.ts +106 -0
- package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +84 -284
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +47 -20
- package/Server/Utils/SecurityEvent/SecurityEventAlerting.ts +318 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.ts +199 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.ts +252 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +739 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.ts +533 -0
- package/Server/Utils/StartServer.ts +83 -56
- package/Server/Utils/StatusPageSubscriberWebhook.ts +3 -0
- package/Server/Utils/Telemetry/LlmMetricSpend.ts +56 -5
- package/Server/Utils/Telemetry/LlmSpan.ts +46 -0
- package/Server/Utils/Telemetry/SourceMapResolver.ts +480 -0
- package/Server/Utils/TwoFactorBackupCodeNotification.ts +106 -0
- package/Server/Utils/VM/VMAPI.ts +3 -0
- package/Server/Utils/VM/VMRunner.ts +27 -1
- package/Server/Utils/VendorAssets.ts +42 -0
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +136 -6
- package/Server/Utils/Workspace/Slack/Actions/Auth.ts +0 -12
- package/Server/Views/AcknowledgeUserOnCallNotification.ejs +11 -9
- package/Server/Views/Partials/Head.ejs +9 -9
- package/Server/Views/Partials/OnCallNotificationDetails.ejs +48 -0
- package/Server/Views/ViewMessage.ejs +11 -9
- package/Tests/App/Accounts/LoginTwoFactorRecovery.test.tsx +972 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +401 -0
- package/Tests/App/Dashboard/DiscoveryScanEditForm.test.tsx +707 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +1908 -18
- package/Tests/App/Dashboard/LlmCallsTableIdentity.test.tsx +322 -0
- package/Tests/App/Dashboard/LlmOverview.test.tsx +335 -0
- package/Tests/App/Dashboard/LlmSpanDisplay.test.ts +391 -0
- package/Tests/App/Dashboard/LlmUsageBreakdown.test.tsx +1007 -0
- package/Tests/App/Dashboard/ResourceFeed.test.tsx +230 -0
- package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +216 -0
- package/Tests/App/Dashboard/TopologyAddToMonitoring.test.tsx +192 -0
- package/Tests/App/Dashboard/WorkspaceNotificationRuleConditions.test.tsx +439 -0
- package/Tests/Models/DatabaseModels/DateColumnDeserialization.test.ts +182 -0
- package/Tests/Models/DatabaseModels/RelationColumnModelTypeCoverage.test.ts +82 -0
- package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +398 -0
- package/Tests/Models/DiscoveryScanNameColumn.test.ts +151 -16
- package/Tests/Models/DiscoveryScanSnmpEnabledColumn.test.ts +593 -0
- package/Tests/Models/NetworkDeviceCreateContract.test.ts +102 -0
- package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +607 -0
- package/Tests/Server/API/AIGenerationRequestBudget.test.ts +355 -0
- package/Tests/Server/API/AIKillSwitchBackstop.test.ts +602 -0
- package/Tests/Server/API/BaseAPI.test.ts +41 -0
- package/Tests/Server/API/BaseAPIUpdateDateColumns.test.ts +154 -0
- package/Tests/Server/API/BaseAPIUpdatePayloadValidation.test.ts +9 -16
- package/Tests/Server/API/MicrosoftTeamsBotTestEndpoint.test.ts +335 -0
- package/Tests/Server/API/UserOnCallLogTimelineAcknowledgePage.test.ts +611 -0
- package/Tests/Server/API/UserTotpAuthAPI.test.ts +498 -4
- package/Tests/Server/API/UserWebAuthnBackupCodeMinting.test.ts +682 -0
- package/Tests/Server/Infrastructure/ExampleDockerfiles.test.ts +595 -0
- package/Tests/Server/Middleware/SlackAuthorization.test.ts +262 -5
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +9 -0
- package/Tests/Server/Services/AIServiceProjectAccess.test.ts +6 -0
- package/Tests/Server/Services/AutoImportScanCredentialSelect.test.ts +18 -0
- package/Tests/Server/Services/DatabaseServiceAggregateBy.test.ts +590 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRouting.test.ts +12 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +162 -26
- package/Tests/Server/Services/EnterpriseLicenseServiceCreate.test.ts +292 -0
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +119 -12
- package/Tests/Server/Services/LogAggregationAttributeOperators.test.ts +109 -0
- package/Tests/Server/Services/MetricAggregationAttributeOperators.test.ts +170 -0
- package/Tests/Server/Services/MonitorTemplateServiceNetworkDeviceSync.test.ts +383 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +997 -3
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +830 -0
- package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +528 -0
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +3141 -1
- package/Tests/Server/Services/NetworkDeviceRegisteredHostnames.test.ts +1023 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignmentRuleSkip.test.ts +728 -0
- package/Tests/Server/Services/NetworkInterfaceServiceUpsert.test.ts +795 -0
- package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +903 -0
- package/Tests/Server/Services/NetworkSiteService.test.ts +165 -24
- package/Tests/Server/Services/ProjectServiceChangePlan.test.ts +5 -3
- package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +5 -2
- package/Tests/Server/Services/ResourceCreationFeedWrites.test.ts +304 -0
- package/Tests/Server/Services/ResourceFeedServices.test.ts +269 -0
- package/Tests/Server/Services/ResourceOwnerFeedWrites.test.ts +245 -0
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +792 -0
- package/Tests/Server/Services/TelemetrySourceMapService.test.ts +483 -0
- package/Tests/Server/Services/ThreatIntelFeedService.test.ts +351 -0
- package/Tests/Server/Services/ThreatIntelIndicatorService.test.ts +366 -0
- package/Tests/Server/Services/TraceAggregationAttributeOperators.test.ts +507 -0
- package/Tests/Server/Services/UserTwoFactorBackupCodeGenerateIfNone.test.ts +705 -0
- package/Tests/Server/Services/WorkspaceNotificationRuleOnCallDutyPolicy.test.ts +306 -0
- package/Tests/Server/Types/Database/AggregateResultUtil.test.ts +386 -0
- package/Tests/Server/Types/Database/Permissions/SelectRejectionMessageContract.test.ts +424 -0
- package/Tests/Server/Types/Database/QueryHelperWildcard.test.ts +142 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentPrivateNetwork.test.ts +163 -0
- package/Tests/Server/Types/Workflow/Components/JavaScriptPrivateNetwork.test.ts +124 -0
- package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +5 -0
- package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +39 -1
- package/Tests/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.test.ts +338 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGeneratorWildcard.test.ts +383 -0
- package/Tests/Server/Utils/Marketing/EmittedMarketingEvent.ts +23 -0
- package/Tests/Server/Utils/Marketing/MarketingEventUtil.test.ts +51 -0
- package/Tests/Server/Utils/Monitor/Criteria/SyntheticMonitorCriteria.test.ts +259 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPerSeriesFanout.test.ts +557 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +12 -2
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +404 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +8 -2
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +125 -98
- package/Tests/Server/Utils/Monitor/PerEntityCriteriaFanOut.test.ts +444 -0
- package/Tests/Server/Utils/Monitor/PerSeriesSecondEntityAlerting.test.ts +1112 -0
- package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +717 -0
- package/Tests/Server/Utils/NetworkDevice/RulePatternValidator.test.ts +78 -0
- package/Tests/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.test.ts +363 -0
- package/Tests/Server/Utils/OfflineAssetHygiene.test.ts +35 -0
- package/Tests/Server/Utils/OnCallNotificationContext.test.ts +908 -0
- package/Tests/Server/Utils/PrivateNetworkWebhookConfig.test.ts +423 -0
- package/Tests/Server/Utils/ResourceFeed/ResourceFeedUtil.test.ts +191 -0
- package/Tests/Server/Utils/SSRFProtectionPrivateNetwork.test.ts +597 -0
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +819 -0
- package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +381 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +417 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +819 -0
- package/Tests/Server/Utils/SecurityEvent/SecurityEventAlerting.test.ts +246 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.test.ts +282 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.test.ts +312 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.test.ts +854 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.test.ts +437 -0
- package/Tests/Server/Utils/StartServerErrorStatus.test.ts +225 -0
- package/Tests/Server/Utils/StatusPage/MonitorRulePatternValidator.test.ts +62 -0
- package/Tests/Server/Utils/StatusPageSubscriberWebhookPrivateNetwork.test.ts +119 -0
- package/Tests/Server/Utils/Telemetry/LlmCostBudgetEvaluator.test.ts +37 -18
- package/Tests/Server/Utils/Telemetry/LlmMetricSpend.test.ts +143 -2
- package/Tests/Server/Utils/Telemetry/LlmSpan.test.ts +804 -0
- package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +542 -0
- package/Tests/Server/Utils/TwoFactorBackupCodeNotification.test.ts +272 -0
- package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +111 -0
- package/Tests/Server/Utils/VendorAssets.test.ts +117 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +101 -4
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsInstallStateDiagnostics.test.ts +922 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsRosterDiagnosticMessages.test.ts +642 -0
- package/Tests/Server/Views/OnCallAcknowledgePage.test.ts +430 -0
- package/Tests/Types/API/URLQueryString.test.ts +472 -0
- package/Tests/Types/BaseDatabase/Wildcard.test.ts +163 -0
- package/Tests/Types/BaseDatabase/WildcardPattern.test.ts +149 -0
- package/Tests/Types/Database/DateColumnValue.test.ts +265 -0
- package/Tests/Types/DateToIsoStringOrNull.test.ts +67 -0
- package/Tests/Types/Log/LogQueryToFilter.test.ts +218 -43
- package/Tests/Types/Monitor/KubernetesTemplateGroupByKeys.test.ts +225 -0
- package/Tests/Types/Monitor/TemplateGroupByKeys.test.ts +296 -0
- package/Tests/Types/NetworkAutomation/RuleRunResult.test.ts +102 -0
- package/Tests/Types/NetworkAutomation/RuleRunResultDescribe.test.ts +145 -0
- package/Tests/Types/NetworkSite/SiteHealthRollupPolicy.test.ts +58 -0
- package/Tests/Types/SerializableObjectDictionaryImportCycle.test.ts +15 -0
- package/Tests/Types/Telemetry/LlmMetricConventions.test.ts +391 -0
- package/Tests/Types/Telemetry/TelemetrySearchQuery.test.ts +620 -0
- package/Tests/Types/WhatsApp/WhatsAppTemplates.test.ts +110 -0
- package/Tests/Types/Workspace/NotificationRuleConditionUtil.test.ts +76 -6
- package/Tests/Types/Workspace/NotificationRules/NotificationRuleCondition.test.ts +16 -4
- package/Tests/Types/Workspace/NotificationRules/OnCallDutyPolicyConditions.test.ts +669 -0
- package/Tests/UI/Components/DictionaryFilterOperatorWildcard.test.ts +175 -0
- package/Tests/UI/Components/IconOpticalSize.test.tsx +377 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardInstallGuidance.test.tsx +332 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsInstallGuidanceContent.test.tsx +643 -0
- package/Tests/Utils/Monitor/InterfaceInventoryUtil.test.ts +824 -0
- package/Tests/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.test.ts +626 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +718 -0
- package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +59 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +287 -2
- package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +73 -0
- package/Tests/Utils/NetworkDiscovery/PingMonitorBuilder.test.ts +317 -0
- package/Tests/Utils/NetworkDiscovery/RescanIntervalUtil.test.ts +262 -0
- package/Tests/Utils/NetworkDiscovery/ScanModeUtil.test.ts +474 -0
- package/Tests/Utils/NetworkDiscovery/SnmpScanConfigUtil.test.ts +2442 -0
- package/Tests/Utils/NetworkSite/SiteMaintenanceUtil.test.ts +188 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +522 -0
- package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +694 -0
- package/Tests/Utils/SecurityEvent/ThreatIntel/StixPatternParser.test.ts +281 -0
- package/Tests/Utils/Telemetry/CrossSignalScope.test.ts +87 -67
- package/Tests/Utils/Telemetry/LlmMetricQuery.test.ts +298 -0
- package/Types/API/URL.ts +45 -10
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +8 -0
- package/Types/BaseDatabase/NotWildcard.ts +86 -0
- package/Types/BaseDatabase/Wildcard.ts +89 -0
- package/Types/BaseDatabase/WildcardPattern.ts +176 -0
- package/Types/Database/DateColumnValue.ts +184 -0
- package/Types/Database/TableColumn.ts +40 -5
- package/Types/Date.ts +37 -0
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/Types/JSON.ts +8 -0
- package/Types/Log/LogQueryToFilter.ts +167 -129
- package/Types/Monitor/DockerAlertTemplates.ts +43 -12
- package/Types/Monitor/HostAlertTemplates.ts +31 -3
- package/Types/Monitor/KubernetesAlertTemplates.ts +98 -0
- package/Types/Monitor/MonitorStep.ts +49 -0
- package/Types/Monitor/PodmanAlertTemplates.ts +39 -12
- package/Types/Monitor/SnmpMonitor/CdpNeighbor.ts +14 -0
- package/Types/Monitor/SnmpMonitor/LldpNeighbor.ts +11 -0
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +11 -4
- package/Types/NetworkAutomation/RuleRunResult.ts +191 -2
- package/Types/NetworkSite/SiteHealthRollupPolicy.ts +96 -0
- package/Types/Permission.ts +411 -0
- package/Types/Probe/ProbeApiIngestResponse.ts +42 -0
- package/Types/SecurityEvent/ThreatIntelConstants.ts +118 -0
- package/Types/SerializableObjectDictionary.ts +8 -0
- package/Types/Telemetry/LlmConventions.ts +255 -0
- package/Types/Telemetry/LlmMetricConventions.ts +212 -7
- package/Types/Telemetry/SourceMap.ts +56 -0
- package/Types/Telemetry/TelemetrySearchQuery.ts +949 -0
- package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +12 -1
- package/UI/Components/Dictionary/DictionaryFilterOperator.ts +83 -0
- package/UI/Components/Icon/Icon.tsx +28 -1
- package/UI/Components/LogsViewer/components/LogSearchBar.tsx +26 -4
- package/UI/Components/LogsViewer/components/LogSearchHelp.tsx +34 -16
- package/UI/Components/TelemetryViewer/components/TelemetrySearchBar.tsx +15 -2
- package/Utils/Metrics/MetricExplorerUrl.ts +77 -15
- package/Utils/Monitor/InterfaceInventoryUtil.ts +251 -0
- package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +333 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +249 -28
- package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +14 -6
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +2 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +49 -18
- package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +215 -0
- package/Utils/NetworkDiscovery/RescanIntervalUtil.ts +148 -0
- package/Utils/NetworkDiscovery/ScanModeUtil.ts +105 -0
- package/Utils/NetworkDiscovery/SnmpScanConfigUtil.ts +827 -0
- package/Utils/NetworkSite/SiteMaintenanceUtil.ts +110 -0
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +350 -19
- package/Utils/NetworkSite/SiteUptimeUtil.ts +422 -21
- package/Utils/SecurityEvent/ThreatIntel/StixPatternParser.ts +383 -0
- package/Utils/Telemetry/CrossSignalScope.ts +37 -39
- package/Utils/Telemetry/LlmMetricQuery.ts +83 -0
- package/build/dist/Models/AnalyticsModels/Index.js +2 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Span.js +89 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +325 -0
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +4 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CephClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/CephClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CloudResourceFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/CloudResourceFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +11 -0
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DetectionRule.js +9 -3
- package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerHostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/DockerHostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +9 -3
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
- package/build/dist/Models/DatabaseModels/HostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/HostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +4 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +22 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/KubernetesClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Monitor.js +81 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +103 -7
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +91 -6
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +276 -31
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js +124 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PodmanHostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/PodmanHostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +66 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/ServiceFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js +496 -0
- package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +800 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTotpAuth.js +1 -0
- package/build/dist/Models/DatabaseModels/UserTotpAuth.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js +1 -0
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js.map +1 -1
- package/build/dist/Server/API/AlertAPI.js +18 -1
- package/build/dist/Server/API/AlertAPI.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +11 -20
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentAPI.js +35 -1
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js +18 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +30 -2
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js +18 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
- package/build/dist/Server/API/SlackAPI.js +45 -2
- package/build/dist/Server/API/SlackAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +100 -35
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserOnCallLogTimelineAPI.js +64 -59
- package/build/dist/Server/API/UserOnCallLogTimelineAPI.js.map +1 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js +65 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js.map +1 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js +42 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.js +88 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.js +39 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.js +32 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.js +61 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.js +23 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.js +179 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/IdentityRateLimit.js +40 -3
- package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
- package/build/dist/Server/Middleware/SlackAuthorization.js +58 -7
- package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +177 -30
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterFeedService.js +89 -0
- package/build/dist/Server/Services/CephClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/CephClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterService.js +175 -1
- package/build/dist/Server/Services/CephClusterService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceFeedService.js +89 -0
- package/build/dist/Server/Services/CloudResourceFeedService.js.map +1 -0
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +28 -3
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/CloudResourceOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerUserService.js +113 -0
- package/build/dist/Server/Services/CloudResourceOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceService.js +177 -1
- package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +201 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostFeedService.js +89 -0
- package/build/dist/Server/Services/DockerHostFeedService.js.map +1 -0
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/DockerHostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/DockerHostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostService.js +177 -1
- package/build/dist/Server/Services/DockerHostService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterFeedService.js +90 -0
- package/build/dist/Server/Services/DockerSwarmClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterService.js +175 -1
- package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +40 -30
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +8 -2
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/HostFeedService.js +89 -0
- package/build/dist/Server/Services/HostFeedService.js.map +1 -0
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/HostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/HostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/HostService.js +175 -1
- package/build/dist/Server/Services/HostService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +10 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +24 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterFeedService.js +89 -0
- package/build/dist/Server/Services/KubernetesClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterService.js +177 -1
- package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +19 -196
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +59 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +115 -13
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +86 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +561 -67
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +130 -16
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +850 -8
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +594 -5
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkInterfaceService.js +306 -0
- package/build/dist/Server/Services/NetworkInterfaceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +408 -47
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostFeedService.js +89 -0
- package/build/dist/Server/Services/PodmanHostFeedService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostService.js +177 -1
- package/build/dist/Server/Services/PodmanHostService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +40 -30
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterFeedService.js +89 -0
- package/build/dist/Server/Services/ProxmoxClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterService.js +175 -1
- package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +56 -0
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceFeedService.js +89 -0
- package/build/dist/Server/Services/ServiceFeedService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +24 -0
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/ServiceOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerUserService.js +113 -0
- package/build/dist/Server/Services/ServiceOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +173 -2
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberService.js +7 -0
- package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryAttributeService.js +9 -3
- package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
- package/build/dist/Server/Services/TelemetrySourceMapService.js +265 -0
- package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -0
- package/build/dist/Server/Services/ThreatIntelFeedService.js +157 -0
- package/build/dist/Server/Services/ThreatIntelFeedService.js.map +1 -0
- package/build/dist/Server/Services/ThreatIntelIndicatorService.js +276 -0
- package/build/dist/Server/Services/ThreatIntelIndicatorService.js.map +1 -0
- package/build/dist/Server/Services/TraceAggregationService.js +62 -6
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +22 -13
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js +120 -0
- package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js.map +1 -1
- package/build/dist/Server/Services/UserWebhookService.js +11 -2
- package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +12 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/AggregateBy.js +2 -0
- package/build/dist/Server/Types/Database/AggregateBy.js.map +1 -0
- package/build/dist/Server/Types/Database/AggregateResultUtil.js +90 -0
- package/build/dist/Server/Types/Database/AggregateResultUtil.js.map +1 -0
- package/build/dist/Server/Types/Database/JSONColumnQuery.js +14 -0
- package/build/dist/Server/Types/Database/JSONColumnQuery.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +42 -0
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryUtil.js +18 -0
- package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js +10 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js +8 -0
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +8 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +15 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.js +266 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.js.map +1 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +134 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +8 -0
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/Database/RelationIdUtil.js +31 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js.map +1 -1
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js +26 -8
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +42 -17
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +9 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SyntheticMonitor.js +15 -2
- package/build/dist/Server/Utils/Monitor/Criteria/SyntheticMonitor.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +386 -271
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +278 -64
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +469 -350
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +183 -44
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +46 -3
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +18 -91
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/PerEntityCriteriaFanOut.js +194 -0
- package/build/dist/Server/Utils/Monitor/PerEntityCriteriaFanOut.js.map +1 -0
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +332 -0
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.js +279 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.js.map +1 -0
- package/build/dist/Server/Utils/OnCallNotificationContext.js +415 -0
- package/build/dist/Server/Utils/OnCallNotificationContext.js.map +1 -0
- package/build/dist/Server/Utils/PrivateNetworkWebhookConfig.js +424 -0
- package/build/dist/Server/Utils/PrivateNetworkWebhookConfig.js.map +1 -0
- package/build/dist/Server/Utils/ResourceFeed/ResourceFeedUtil.js +108 -0
- package/build/dist/Server/Utils/ResourceFeed/ResourceFeedUtil.js.map +1 -0
- package/build/dist/Server/Utils/Response.js +12 -1
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/SSRFProtection.js +160 -58
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js +89 -0
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +75 -234
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +41 -16
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventAlerting.js +217 -0
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventAlerting.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.js +103 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.js +168 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +527 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js +376 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +70 -44
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js +3 -0
- package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LlmMetricSpend.js +52 -3
- package/build/dist/Server/Utils/Telemetry/LlmMetricSpend.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LlmSpan.js +24 -1
- package/build/dist/Server/Utils/Telemetry/LlmSpan.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +327 -0
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -0
- package/build/dist/Server/Utils/TwoFactorBackupCodeNotification.js +84 -0
- package/build/dist/Server/Utils/TwoFactorBackupCodeNotification.js.map +1 -0
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +10 -1
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Server/Utils/VendorAssets.js +29 -0
- package/build/dist/Server/Utils/VendorAssets.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +121 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +0 -10
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -1
- package/build/dist/Types/API/URL.js +40 -10
- package/build/dist/Types/API/URL.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +8 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotWildcard.js +72 -0
- package/build/dist/Types/BaseDatabase/NotWildcard.js.map +1 -0
- package/build/dist/Types/BaseDatabase/Wildcard.js +75 -0
- package/build/dist/Types/BaseDatabase/Wildcard.js.map +1 -0
- package/build/dist/Types/BaseDatabase/WildcardPattern.js +137 -0
- package/build/dist/Types/BaseDatabase/WildcardPattern.js.map +1 -0
- package/build/dist/Types/Database/DateColumnValue.js +125 -0
- package/build/dist/Types/Database/DateColumnValue.js.map +1 -0
- package/build/dist/Types/Database/TableColumn.js +18 -2
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Date.js +31 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/JSON.js +2 -0
- package/build/dist/Types/JSON.js.map +1 -1
- package/build/dist/Types/Log/LogQueryToFilter.js +111 -108
- package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DockerAlertTemplates.js +40 -16
- package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/HostAlertTemplates.js +29 -7
- package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +98 -4
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +40 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js +36 -16
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -1
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js +90 -0
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -1
- package/build/dist/Types/NetworkSite/SiteHealthRollupPolicy.js +84 -0
- package/build/dist/Types/NetworkSite/SiteHealthRollupPolicy.js.map +1 -0
- package/build/dist/Types/Permission.js +354 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js +100 -0
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js.map +1 -0
- package/build/dist/Types/SerializableObjectDictionary.js +8 -0
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/Telemetry/LlmConventions.js +236 -0
- package/build/dist/Types/Telemetry/LlmConventions.js.map +1 -1
- package/build/dist/Types/Telemetry/LlmMetricConventions.js +197 -5
- package/build/dist/Types/Telemetry/LlmMetricConventions.js.map +1 -1
- package/build/dist/Types/Telemetry/SourceMap.js +9 -0
- package/build/dist/Types/Telemetry/SourceMap.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetrySearchQuery.js +661 -0
- package/build/dist/Types/Telemetry/TelemetrySearchQuery.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +12 -1
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js +67 -0
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +28 -1
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +25 -4
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchHelp.js +36 -16
- package/build/dist/UI/Components/LogsViewer/components/LogSearchHelp.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js +14 -2
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js.map +1 -1
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js +54 -9
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -1
- package/build/dist/Utils/Monitor/InterfaceInventoryUtil.js +128 -0
- package/build/dist/Utils/Monitor/InterfaceInventoryUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +190 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +206 -28
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +14 -7
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +34 -18
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +163 -0
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/RescanIntervalUtil.js +99 -0
- package/build/dist/Utils/NetworkDiscovery/RescanIntervalUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/ScanModeUtil.js +85 -0
- package/build/dist/Utils/NetworkDiscovery/ScanModeUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/SnmpScanConfigUtil.js +560 -0
- package/build/dist/Utils/NetworkDiscovery/SnmpScanConfigUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteMaintenanceUtil.js +56 -0
- package/build/dist/Utils/NetworkSite/SiteMaintenanceUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +185 -10
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +248 -21
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -1
- package/build/dist/Utils/SecurityEvent/ThreatIntel/StixPatternParser.js +255 -0
- package/build/dist/Utils/SecurityEvent/ThreatIntel/StixPatternParser.js.map +1 -0
- package/build/dist/Utils/Telemetry/CrossSignalScope.js +27 -30
- package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
- package/build/dist/Utils/Telemetry/LlmMetricQuery.js +57 -1
- package/build/dist/Utils/Telemetry/LlmMetricQuery.js.map +1 -1
- package/package.json +2 -1
- package/Tests/Types/Log/LogQueryParser.test.ts +0 -186
- package/Types/Log/LogQueryParser.ts +0 -252
- package/build/dist/Types/Log/LogQueryParser.js +0 -200
- package/build/dist/Types/Log/LogQueryParser.js.map +0 -1
|
@@ -16,6 +16,7 @@ import TenantColumn from "../../Types/Database/TenantColumn";
|
|
|
16
16
|
import IconProp from "../../Types/Icon/IconProp";
|
|
17
17
|
import ObjectID from "../../Types/ObjectID";
|
|
18
18
|
import Permission from "../../Types/Permission";
|
|
19
|
+
import { DiscoveryScanSnmpConfig } from "../../Utils/NetworkDiscovery/SnmpScanConfigUtil";
|
|
19
20
|
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
|
|
20
21
|
|
|
21
22
|
export interface DiscoveredNetworkDevice {
|
|
@@ -41,6 +42,28 @@ export interface DiscoveredNetworkDevice {
|
|
|
41
42
|
* before this field existed (those hosts all answered SNMP).
|
|
42
43
|
*/
|
|
43
44
|
snmpReachable?: boolean | undefined;
|
|
45
|
+
/*
|
|
46
|
+
* WHICH of the scan's SNMP configs answered this host — the `id` of an entry
|
|
47
|
+
* in the `snmpConfigs` column below.
|
|
48
|
+
*
|
|
49
|
+
* A scan can now try several credential sets, so this is what makes an
|
|
50
|
+
* import correct: without it, a host found by the fourth config would be
|
|
51
|
+
* created carrying the first config's community string and would then fail
|
|
52
|
+
* every poll, with nothing on the device to say why. See
|
|
53
|
+
* SnmpScanConfigUtil.resolveForHost, which is what the two import paths ask.
|
|
54
|
+
*
|
|
55
|
+
* Undefined on ping-only hosts (no config found them), on results stored
|
|
56
|
+
* before this field existed, and on results from a probe that predates it —
|
|
57
|
+
* all three fall back to the scan's first config, which for a
|
|
58
|
+
* single-config scan is exactly the credential set the old code used.
|
|
59
|
+
*
|
|
60
|
+
* It is an OPAQUE ID on purpose. This column is readable by roles that must
|
|
61
|
+
* never see a credential (Viewer, SettingsViewer), so the credential itself
|
|
62
|
+
* — and even the config's name — stays in the narrower-permissioned
|
|
63
|
+
* `snmpConfigs` column and is resolved from there by callers that may read
|
|
64
|
+
* it.
|
|
65
|
+
*/
|
|
66
|
+
snmpConfigId?: string | undefined;
|
|
44
67
|
}
|
|
45
68
|
|
|
46
69
|
@EnableDocumentation()
|
|
@@ -88,7 +111,7 @@ export interface DiscoveredNetworkDevice {
|
|
|
88
111
|
pluralName: "Network Device Discovery Scans",
|
|
89
112
|
icon: IconProp.Search,
|
|
90
113
|
tableDescription:
|
|
91
|
-
"Network discovery scans that sweep an address space — a CIDR subnet or an octet range —
|
|
114
|
+
"Network discovery scans that sweep an address space — a CIDR subnet or an octet range — from a probe and report the hosts found, so they can be imported as Network Devices. Every sweep pings; scans with Check SNMP on also query each live host over SNMP.",
|
|
92
115
|
})
|
|
93
116
|
@Entity({
|
|
94
117
|
name: "NetworkDeviceDiscoveryScan",
|
|
@@ -191,7 +214,14 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
191
214
|
Permission.SettingsViewer,
|
|
192
215
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
193
216
|
],
|
|
194
|
-
update: [
|
|
217
|
+
update: [
|
|
218
|
+
Permission.ProjectOwner,
|
|
219
|
+
Permission.ProjectAdmin,
|
|
220
|
+
Permission.ProjectMember,
|
|
221
|
+
Permission.SettingsAdmin,
|
|
222
|
+
Permission.SettingsMember,
|
|
223
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
224
|
+
],
|
|
195
225
|
})
|
|
196
226
|
@TableColumn({
|
|
197
227
|
manyToOneRelationColumn: "probeId",
|
|
@@ -233,7 +263,14 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
233
263
|
Permission.SettingsViewer,
|
|
234
264
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
235
265
|
],
|
|
236
|
-
update: [
|
|
266
|
+
update: [
|
|
267
|
+
Permission.ProjectOwner,
|
|
268
|
+
Permission.ProjectAdmin,
|
|
269
|
+
Permission.ProjectMember,
|
|
270
|
+
Permission.SettingsAdmin,
|
|
271
|
+
Permission.SettingsMember,
|
|
272
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
273
|
+
],
|
|
237
274
|
})
|
|
238
275
|
@Index()
|
|
239
276
|
@TableColumn({
|
|
@@ -270,11 +307,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
270
307
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
271
308
|
],
|
|
272
309
|
/*
|
|
273
|
-
* Updatable,
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
310
|
+
* Updatable, like everything else that DESCRIBES the scan — its target,
|
|
311
|
+
* its probe, its credentials and its schedule. Only what the scan
|
|
312
|
+
* REPORTED (status, results, host counts, timestamps) is read-only,
|
|
313
|
+
* because those belong to a run that happened and cannot be edited into
|
|
314
|
+
* having happened differently.
|
|
315
|
+
*
|
|
316
|
+
* Every one of those settings used to be create-only, on the reasoning
|
|
317
|
+
* that a row must not stop describing the sweep that ran. The reasoning
|
|
318
|
+
* was sound and the conclusion was not: the only way to fix a typo'd
|
|
319
|
+
* subnet or a rejected community string was to delete the scan — losing
|
|
320
|
+
* its results — and recreate it (OneUptime issue #3444). The invariant is
|
|
321
|
+
* kept where it belongs instead, in
|
|
322
|
+
* Common/Server/Services/NetworkDeviceDiscoveryScanService: changing any
|
|
323
|
+
* of them re-queues the scan and clears the previous run's results, so the
|
|
324
|
+
* row never advertises findings from settings it no longer has.
|
|
278
325
|
*
|
|
279
326
|
* A name describes nothing but itself, and the whole point of it is to be
|
|
280
327
|
* fixable after the fact: a scan mislabelled "Region 1100" is worse than
|
|
@@ -336,7 +383,14 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
336
383
|
Permission.SettingsViewer,
|
|
337
384
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
338
385
|
],
|
|
339
|
-
update: [
|
|
386
|
+
update: [
|
|
387
|
+
Permission.ProjectOwner,
|
|
388
|
+
Permission.ProjectAdmin,
|
|
389
|
+
Permission.ProjectMember,
|
|
390
|
+
Permission.SettingsAdmin,
|
|
391
|
+
Permission.SettingsMember,
|
|
392
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
393
|
+
],
|
|
340
394
|
})
|
|
341
395
|
/*
|
|
342
396
|
* The address space this scan sweeps. Two notations are accepted (see
|
|
@@ -363,6 +417,73 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
363
417
|
})
|
|
364
418
|
public cidr?: string = undefined;
|
|
365
419
|
|
|
420
|
+
/*
|
|
421
|
+
* The ordered list of SNMP credential sets this scan tries against every
|
|
422
|
+
* host, first match wins.
|
|
423
|
+
*
|
|
424
|
+
* Real subnets are mixed — v2c access switches, a v3 core, a vendor block on
|
|
425
|
+
* its own community — and a scan carrying one credential set silently missed
|
|
426
|
+
* everything speaking anything else (OneUptime issue #3458). The flattened
|
|
427
|
+
* snmp* columns below are what that single set was stored in; they are kept,
|
|
428
|
+
* populated from this list's FIRST entry, for two reasons that are not
|
|
429
|
+
* negotiable:
|
|
430
|
+
*
|
|
431
|
+
* - a probe is deployed separately from the server and is routinely a
|
|
432
|
+
* version behind. A probe that has never heard of this column reads the
|
|
433
|
+
* flattened ones and nothing else, so without the mirror every older
|
|
434
|
+
* probe in the fleet would sweep a saved multi-config scan with the
|
|
435
|
+
* column defaults and report a confident zero.
|
|
436
|
+
* - every scan created before this column exists has NULL here, and its
|
|
437
|
+
* flattened columns are its one credential set.
|
|
438
|
+
*
|
|
439
|
+
* SnmpScanConfigUtil.resolve is the single reader that reconciles the two,
|
|
440
|
+
* and is what the probe, the form and both import paths ask.
|
|
441
|
+
*
|
|
442
|
+
* READ is the NARROW list — no Viewer, no SettingsViewer — for the same
|
|
443
|
+
* reason snmpCommunityString and the two v3 keys below have one: entries in
|
|
444
|
+
* this array carry those very secrets, and a jsonb column has a single
|
|
445
|
+
* permission for the whole value, so it takes the strictest of the
|
|
446
|
+
* permissions of what it contains.
|
|
447
|
+
*/
|
|
448
|
+
@ColumnAccessControl({
|
|
449
|
+
create: [
|
|
450
|
+
Permission.ProjectOwner,
|
|
451
|
+
Permission.ProjectAdmin,
|
|
452
|
+
Permission.ProjectMember,
|
|
453
|
+
Permission.SettingsAdmin,
|
|
454
|
+
Permission.SettingsMember,
|
|
455
|
+
Permission.CreateNetworkDeviceDiscoveryScan,
|
|
456
|
+
],
|
|
457
|
+
read: [
|
|
458
|
+
Permission.ProjectOwner,
|
|
459
|
+
Permission.ProjectAdmin,
|
|
460
|
+
Permission.ProjectMember,
|
|
461
|
+
Permission.SettingsAdmin,
|
|
462
|
+
Permission.SettingsMember,
|
|
463
|
+
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
464
|
+
],
|
|
465
|
+
update: [
|
|
466
|
+
Permission.ProjectOwner,
|
|
467
|
+
Permission.ProjectAdmin,
|
|
468
|
+
Permission.ProjectMember,
|
|
469
|
+
Permission.SettingsAdmin,
|
|
470
|
+
Permission.SettingsMember,
|
|
471
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
472
|
+
],
|
|
473
|
+
})
|
|
474
|
+
@TableColumn({
|
|
475
|
+
required: false,
|
|
476
|
+
type: TableColumnType.JSON,
|
|
477
|
+
title: "SNMP Configs",
|
|
478
|
+
description:
|
|
479
|
+
"Ordered list of SNMP credential sets tried against every host in the subnet, first match wins. Each entry carries an id, an optional name, a version, a community string or the v3 credentials, and a port. When empty, the scan uses the single flattened SNMP configuration on this row.",
|
|
480
|
+
})
|
|
481
|
+
@Column({
|
|
482
|
+
nullable: true,
|
|
483
|
+
type: ColumnType.JSON,
|
|
484
|
+
})
|
|
485
|
+
public snmpConfigs?: Array<DiscoveryScanSnmpConfig> = undefined;
|
|
486
|
+
|
|
366
487
|
@ColumnAccessControl({
|
|
367
488
|
create: [
|
|
368
489
|
Permission.ProjectOwner,
|
|
@@ -382,7 +503,83 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
382
503
|
Permission.SettingsViewer,
|
|
383
504
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
384
505
|
],
|
|
385
|
-
update: [
|
|
506
|
+
update: [
|
|
507
|
+
Permission.ProjectOwner,
|
|
508
|
+
Permission.ProjectAdmin,
|
|
509
|
+
Permission.ProjectMember,
|
|
510
|
+
Permission.SettingsAdmin,
|
|
511
|
+
Permission.SettingsMember,
|
|
512
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
513
|
+
],
|
|
514
|
+
})
|
|
515
|
+
/*
|
|
516
|
+
* Whether the sweep asks each live host for its SNMP system group, or stops
|
|
517
|
+
* at the ICMP ping that finds it (OneUptime issue #3445).
|
|
518
|
+
*
|
|
519
|
+
* Every scan is a ping sweep first — that is how a live address is told from
|
|
520
|
+
* an empty one. This column decides only what happens next, so turning it off
|
|
521
|
+
* does not narrow WHAT is discovered, it narrows what is discovered ABOUT
|
|
522
|
+
* each host: an ICMP-only scan still lists everything that answered, it just
|
|
523
|
+
* has no sysName, no vendor OID and no credentials to poll with, and its
|
|
524
|
+
* hosts import as monitor-backed devices rather than SNMP-polled ones.
|
|
525
|
+
*
|
|
526
|
+
* NOT NULL DEFAULT true, and read everywhere through
|
|
527
|
+
* Common/Utils/NetworkDiscovery/ScanModeUtil rather than directly. Every scan
|
|
528
|
+
* that existed before this column did was an SNMP scan, so the default is the
|
|
529
|
+
* only value that leaves them describing the sweep they actually ran — and an
|
|
530
|
+
* ABSENT value (a probe polling a server too old to select the column) has to
|
|
531
|
+
* mean the same thing, which is why the read is `!== false`.
|
|
532
|
+
*
|
|
533
|
+
* Updatable, exactly as the other sweep-defining columns became when scans
|
|
534
|
+
* gained an edit form (issue #3444), and listed in that form's SWEEP_COLUMNS
|
|
535
|
+
* so flipping the method retires the run the way changing the target does.
|
|
536
|
+
* Leaving the old results in place would have them describing a sweep that
|
|
537
|
+
* asked a different question of every address.
|
|
538
|
+
*/
|
|
539
|
+
@TableColumn({
|
|
540
|
+
isDefaultValueColumn: true,
|
|
541
|
+
required: false,
|
|
542
|
+
type: TableColumnType.Boolean,
|
|
543
|
+
canReadOnRelationQuery: true,
|
|
544
|
+
title: "Check SNMP",
|
|
545
|
+
description:
|
|
546
|
+
"Whether hosts that answer the ping sweep are then queried over SNMP. Turn it off for an ICMP-only scan, which reports every host that answers ping and asks nothing else of them.",
|
|
547
|
+
defaultValue: true,
|
|
548
|
+
})
|
|
549
|
+
@Column({
|
|
550
|
+
type: ColumnType.Boolean,
|
|
551
|
+
nullable: false,
|
|
552
|
+
default: true,
|
|
553
|
+
})
|
|
554
|
+
public isSnmpEnabled?: boolean = undefined;
|
|
555
|
+
|
|
556
|
+
@ColumnAccessControl({
|
|
557
|
+
create: [
|
|
558
|
+
Permission.ProjectOwner,
|
|
559
|
+
Permission.ProjectAdmin,
|
|
560
|
+
Permission.ProjectMember,
|
|
561
|
+
Permission.SettingsAdmin,
|
|
562
|
+
Permission.SettingsMember,
|
|
563
|
+
Permission.CreateNetworkDeviceDiscoveryScan,
|
|
564
|
+
],
|
|
565
|
+
read: [
|
|
566
|
+
Permission.ProjectOwner,
|
|
567
|
+
Permission.ProjectAdmin,
|
|
568
|
+
Permission.ProjectMember,
|
|
569
|
+
Permission.Viewer,
|
|
570
|
+
Permission.SettingsAdmin,
|
|
571
|
+
Permission.SettingsMember,
|
|
572
|
+
Permission.SettingsViewer,
|
|
573
|
+
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
574
|
+
],
|
|
575
|
+
update: [
|
|
576
|
+
Permission.ProjectOwner,
|
|
577
|
+
Permission.ProjectAdmin,
|
|
578
|
+
Permission.ProjectMember,
|
|
579
|
+
Permission.SettingsAdmin,
|
|
580
|
+
Permission.SettingsMember,
|
|
581
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
582
|
+
],
|
|
386
583
|
})
|
|
387
584
|
@TableColumn({
|
|
388
585
|
required: false,
|
|
@@ -390,7 +587,7 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
390
587
|
canReadOnRelationQuery: true,
|
|
391
588
|
title: "SNMP Version",
|
|
392
589
|
description:
|
|
393
|
-
"SNMP version tried against every host in the subnet (V1, V2c, V3)",
|
|
590
|
+
"SNMP version tried against every host in the subnet (V1, V2c, V3). Ignored when Check SNMP is off.",
|
|
394
591
|
example: "V2c",
|
|
395
592
|
})
|
|
396
593
|
@Column({
|
|
@@ -418,14 +615,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
418
615
|
Permission.SettingsMember,
|
|
419
616
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
420
617
|
],
|
|
421
|
-
update: [
|
|
618
|
+
update: [
|
|
619
|
+
Permission.ProjectOwner,
|
|
620
|
+
Permission.ProjectAdmin,
|
|
621
|
+
Permission.ProjectMember,
|
|
622
|
+
Permission.SettingsAdmin,
|
|
623
|
+
Permission.SettingsMember,
|
|
624
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
625
|
+
],
|
|
422
626
|
})
|
|
423
627
|
@TableColumn({
|
|
424
628
|
required: false,
|
|
425
629
|
type: TableColumnType.ShortText,
|
|
426
630
|
title: "SNMP Community String",
|
|
427
631
|
description:
|
|
428
|
-
"Community string tried against every host in the subnet (SNMP v1/v2c)",
|
|
632
|
+
"Community string tried against every host in the subnet (SNMP v1/v2c). Ignored when Check SNMP is off.",
|
|
429
633
|
example: "public",
|
|
430
634
|
})
|
|
431
635
|
@Column({
|
|
@@ -454,13 +658,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
454
658
|
Permission.SettingsViewer,
|
|
455
659
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
456
660
|
],
|
|
457
|
-
update: [
|
|
661
|
+
update: [
|
|
662
|
+
Permission.ProjectOwner,
|
|
663
|
+
Permission.ProjectAdmin,
|
|
664
|
+
Permission.ProjectMember,
|
|
665
|
+
Permission.SettingsAdmin,
|
|
666
|
+
Permission.SettingsMember,
|
|
667
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
668
|
+
],
|
|
458
669
|
})
|
|
459
670
|
@TableColumn({
|
|
460
671
|
required: false,
|
|
461
672
|
type: TableColumnType.Number,
|
|
462
673
|
title: "SNMP Port",
|
|
463
|
-
description:
|
|
674
|
+
description:
|
|
675
|
+
"UDP port tried against every host in the subnet. Ignored when Check SNMP is off.",
|
|
464
676
|
example: "161",
|
|
465
677
|
})
|
|
466
678
|
@Column({
|
|
@@ -473,9 +685,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
473
685
|
/*
|
|
474
686
|
* SNMP v3 credentials tried against every host in the subnet. These mirror
|
|
475
687
|
* the flattened snmpV3* columns on NetworkDevice so a v3 scan can be imported
|
|
476
|
-
* into a v3 device without re-entering credentials.
|
|
477
|
-
*
|
|
478
|
-
*
|
|
688
|
+
* into a v3 device without re-entering credentials.
|
|
689
|
+
*
|
|
690
|
+
* Editable after creation, like the rest of the SNMP config above — a
|
|
691
|
+
* credential that the devices reject is exactly the thing an operator needs
|
|
692
|
+
* to correct without rebuilding the scan. Changing one re-queues the scan;
|
|
693
|
+
* see NetworkDeviceDiscoveryScanService.
|
|
694
|
+
*
|
|
695
|
+
* READ permissions are untouched by that, and are not uniform across these
|
|
696
|
+
* columns: the two that carry a secret — snmpV3AuthKey and snmpV3PrivKey,
|
|
697
|
+
* like snmpCommunityString above them — are read by a narrower list than the
|
|
698
|
+
* rest of the model (no Viewer, no SettingsViewer), because a passphrase is
|
|
699
|
+
* not a thing every reader of the scans list should be handed. The security
|
|
700
|
+
* level, the username and the two protocol names describe HOW the scan
|
|
701
|
+
* authenticates rather than WITH WHAT, and are read as widely as the target
|
|
702
|
+
* is.
|
|
479
703
|
*/
|
|
480
704
|
@ColumnAccessControl({
|
|
481
705
|
create: [
|
|
@@ -496,14 +720,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
496
720
|
Permission.SettingsViewer,
|
|
497
721
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
498
722
|
],
|
|
499
|
-
update: [
|
|
723
|
+
update: [
|
|
724
|
+
Permission.ProjectOwner,
|
|
725
|
+
Permission.ProjectAdmin,
|
|
726
|
+
Permission.ProjectMember,
|
|
727
|
+
Permission.SettingsAdmin,
|
|
728
|
+
Permission.SettingsMember,
|
|
729
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
730
|
+
],
|
|
500
731
|
})
|
|
501
732
|
@TableColumn({
|
|
502
733
|
required: false,
|
|
503
734
|
type: TableColumnType.ShortText,
|
|
504
735
|
title: "SNMP v3 Security Level",
|
|
505
736
|
description:
|
|
506
|
-
"SNMP v3 security level tried against every host: noAuthNoPriv, authNoPriv, or authPriv",
|
|
737
|
+
"SNMP v3 security level tried against every host: noAuthNoPriv, authNoPriv, or authPriv. Ignored when Check SNMP is off.",
|
|
507
738
|
example: "authPriv",
|
|
508
739
|
})
|
|
509
740
|
@Column({
|
|
@@ -532,13 +763,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
532
763
|
Permission.SettingsViewer,
|
|
533
764
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
534
765
|
],
|
|
535
|
-
update: [
|
|
766
|
+
update: [
|
|
767
|
+
Permission.ProjectOwner,
|
|
768
|
+
Permission.ProjectAdmin,
|
|
769
|
+
Permission.ProjectMember,
|
|
770
|
+
Permission.SettingsAdmin,
|
|
771
|
+
Permission.SettingsMember,
|
|
772
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
773
|
+
],
|
|
536
774
|
})
|
|
537
775
|
@TableColumn({
|
|
538
776
|
required: false,
|
|
539
777
|
type: TableColumnType.ShortText,
|
|
540
778
|
title: "SNMP v3 Username",
|
|
541
|
-
description:
|
|
779
|
+
description:
|
|
780
|
+
"SNMP v3 security name (username) tried against every host. Ignored when Check SNMP is off.",
|
|
542
781
|
example: "monitoring",
|
|
543
782
|
})
|
|
544
783
|
@Column({
|
|
@@ -567,13 +806,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
567
806
|
Permission.SettingsViewer,
|
|
568
807
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
569
808
|
],
|
|
570
|
-
update: [
|
|
809
|
+
update: [
|
|
810
|
+
Permission.ProjectOwner,
|
|
811
|
+
Permission.ProjectAdmin,
|
|
812
|
+
Permission.ProjectMember,
|
|
813
|
+
Permission.SettingsAdmin,
|
|
814
|
+
Permission.SettingsMember,
|
|
815
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
816
|
+
],
|
|
571
817
|
})
|
|
572
818
|
@TableColumn({
|
|
573
819
|
required: false,
|
|
574
820
|
type: TableColumnType.ShortText,
|
|
575
821
|
title: "SNMP v3 Authentication Protocol",
|
|
576
|
-
description:
|
|
822
|
+
description:
|
|
823
|
+
"SNMP v3 authentication protocol: MD5, SHA, SHA256, or SHA512. Ignored when Check SNMP is off.",
|
|
577
824
|
example: "SHA",
|
|
578
825
|
})
|
|
579
826
|
@Column({
|
|
@@ -600,13 +847,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
600
847
|
Permission.SettingsMember,
|
|
601
848
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
602
849
|
],
|
|
603
|
-
update: [
|
|
850
|
+
update: [
|
|
851
|
+
Permission.ProjectOwner,
|
|
852
|
+
Permission.ProjectAdmin,
|
|
853
|
+
Permission.ProjectMember,
|
|
854
|
+
Permission.SettingsAdmin,
|
|
855
|
+
Permission.SettingsMember,
|
|
856
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
857
|
+
],
|
|
604
858
|
})
|
|
605
859
|
@TableColumn({
|
|
606
860
|
required: false,
|
|
607
861
|
type: TableColumnType.LongText,
|
|
608
862
|
title: "SNMP v3 Authentication Key",
|
|
609
|
-
description:
|
|
863
|
+
description:
|
|
864
|
+
"SNMP v3 authentication passphrase tried against every host. Ignored when Check SNMP is off.",
|
|
610
865
|
})
|
|
611
866
|
@Column({
|
|
612
867
|
nullable: true,
|
|
@@ -633,13 +888,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
633
888
|
Permission.SettingsViewer,
|
|
634
889
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
635
890
|
],
|
|
636
|
-
update: [
|
|
891
|
+
update: [
|
|
892
|
+
Permission.ProjectOwner,
|
|
893
|
+
Permission.ProjectAdmin,
|
|
894
|
+
Permission.ProjectMember,
|
|
895
|
+
Permission.SettingsAdmin,
|
|
896
|
+
Permission.SettingsMember,
|
|
897
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
898
|
+
],
|
|
637
899
|
})
|
|
638
900
|
@TableColumn({
|
|
639
901
|
required: false,
|
|
640
902
|
type: TableColumnType.ShortText,
|
|
641
903
|
title: "SNMP v3 Privacy Protocol",
|
|
642
|
-
description:
|
|
904
|
+
description:
|
|
905
|
+
"SNMP v3 privacy (encryption) protocol: DES, AES, or AES256. Ignored when Check SNMP is off.",
|
|
643
906
|
example: "AES",
|
|
644
907
|
})
|
|
645
908
|
@Column({
|
|
@@ -666,14 +929,21 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
666
929
|
Permission.SettingsMember,
|
|
667
930
|
Permission.ReadNetworkDeviceDiscoveryScan,
|
|
668
931
|
],
|
|
669
|
-
update: [
|
|
932
|
+
update: [
|
|
933
|
+
Permission.ProjectOwner,
|
|
934
|
+
Permission.ProjectAdmin,
|
|
935
|
+
Permission.ProjectMember,
|
|
936
|
+
Permission.SettingsAdmin,
|
|
937
|
+
Permission.SettingsMember,
|
|
938
|
+
Permission.EditNetworkDeviceDiscoveryScan,
|
|
939
|
+
],
|
|
670
940
|
})
|
|
671
941
|
@TableColumn({
|
|
672
942
|
required: false,
|
|
673
943
|
type: TableColumnType.LongText,
|
|
674
944
|
title: "SNMP v3 Privacy Key",
|
|
675
945
|
description:
|
|
676
|
-
"SNMP v3 privacy (encryption) passphrase tried against every host",
|
|
946
|
+
"SNMP v3 privacy (encryption) passphrase tried against every host. Ignored when Check SNMP is off.",
|
|
677
947
|
})
|
|
678
948
|
@Column({
|
|
679
949
|
nullable: true,
|
|
@@ -816,7 +1086,7 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
|
|
|
816
1086
|
required: false,
|
|
817
1087
|
title: "Responded Host Count",
|
|
818
1088
|
description:
|
|
819
|
-
"Number of hosts that
|
|
1089
|
+
"Number of hosts that answered the check this scan performed: SNMP responders on a scan with Check SNMP on, hosts that answered the ping sweep on an ICMP-only one. Managed by the scanning probe.",
|
|
820
1090
|
})
|
|
821
1091
|
@Column({
|
|
822
1092
|
type: ColumnType.Number,
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import AlertSeverity from "./AlertSeverity";
|
|
2
2
|
import MonitorStatus from "./MonitorStatus";
|
|
3
3
|
import NetworkSiteType from "./NetworkSiteType";
|
|
4
|
+
import SiteHealthRollupPolicy, {
|
|
5
|
+
DefaultSiteOfflineThresholdPercent,
|
|
6
|
+
} from "../../Types/NetworkSite/SiteHealthRollupPolicy";
|
|
4
7
|
import Project from "./Project";
|
|
5
8
|
import User from "./User";
|
|
6
9
|
import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
|
|
@@ -94,6 +97,21 @@ const decimalTransformer: ValueTransformer = {
|
|
|
94
97
|
@CrudApiEndpoint(new Route("/network-site"))
|
|
95
98
|
@SlugifyColumn("name", "slug")
|
|
96
99
|
@Index(["projectId", "parentSiteId"])
|
|
100
|
+
/*
|
|
101
|
+
* "This project's sites that are rolling up one of these statuses" — the
|
|
102
|
+
* Overview's unhealthy-sites list, and the Sites page's status chip.
|
|
103
|
+
*
|
|
104
|
+
* The standalone `currentMonitorStatusId` index cannot serve them: it has no
|
|
105
|
+
* project to narrow by first, and a status id is shared across every tenant's
|
|
106
|
+
* sites.
|
|
107
|
+
*
|
|
108
|
+
* Measured note, so nobody widens the claim: this does NOT speed up the
|
|
109
|
+
* grouped status COUNT behind the summary strip. That query has to visit the
|
|
110
|
+
* heap for `deletedAt` either way, so it cannot go index-only, and the
|
|
111
|
+
* planner reasonably prefers the smaller single-column `projectId` index for
|
|
112
|
+
* it.
|
|
113
|
+
*/
|
|
114
|
+
@Index(["projectId", "currentMonitorStatusId"])
|
|
97
115
|
@TableMetadata({
|
|
98
116
|
tableName: "NetworkSite",
|
|
99
117
|
singularName: "Network Site",
|
|
@@ -846,6 +864,108 @@ export default class NetworkSite extends BaseModel {
|
|
|
846
864
|
})
|
|
847
865
|
public lastRollupAt?: Date = undefined;
|
|
848
866
|
|
|
867
|
+
@ColumnAccessControl({
|
|
868
|
+
create: [
|
|
869
|
+
Permission.ProjectOwner,
|
|
870
|
+
Permission.ProjectAdmin,
|
|
871
|
+
Permission.ProjectMember,
|
|
872
|
+
Permission.SettingsAdmin,
|
|
873
|
+
Permission.SettingsMember,
|
|
874
|
+
Permission.CreateNetworkSite,
|
|
875
|
+
],
|
|
876
|
+
read: [
|
|
877
|
+
Permission.ProjectOwner,
|
|
878
|
+
Permission.ProjectAdmin,
|
|
879
|
+
Permission.ProjectMember,
|
|
880
|
+
Permission.Viewer,
|
|
881
|
+
Permission.SettingsAdmin,
|
|
882
|
+
Permission.SettingsMember,
|
|
883
|
+
Permission.SettingsViewer,
|
|
884
|
+
Permission.ReadNetworkSite,
|
|
885
|
+
],
|
|
886
|
+
update: [
|
|
887
|
+
Permission.ProjectOwner,
|
|
888
|
+
Permission.ProjectAdmin,
|
|
889
|
+
Permission.ProjectMember,
|
|
890
|
+
Permission.SettingsAdmin,
|
|
891
|
+
Permission.SettingsMember,
|
|
892
|
+
Permission.EditNetworkSite,
|
|
893
|
+
],
|
|
894
|
+
})
|
|
895
|
+
/*
|
|
896
|
+
* Which rule turns the health of every device under this site into ONE
|
|
897
|
+
* status for the site. See Types/NetworkSite/SiteHealthRollupPolicy for why
|
|
898
|
+
* a Unit and a Region want different answers, and why the default is the
|
|
899
|
+
* worst-of rule every site used before this column existed.
|
|
900
|
+
*/
|
|
901
|
+
@TableColumn({
|
|
902
|
+
isDefaultValueColumn: true,
|
|
903
|
+
required: true,
|
|
904
|
+
type: TableColumnType.ShortText,
|
|
905
|
+
canReadOnRelationQuery: true,
|
|
906
|
+
title: "Health Rollup Policy",
|
|
907
|
+
description:
|
|
908
|
+
"How this site's status is derived from the devices beneath it: WorstStatus (any device offline makes the site offline) or PercentThreshold (the share of devices that are down decides).",
|
|
909
|
+
example: SiteHealthRollupPolicy.WorstStatus,
|
|
910
|
+
})
|
|
911
|
+
@Column({
|
|
912
|
+
type: ColumnType.ShortText,
|
|
913
|
+
length: ColumnLength.ShortText,
|
|
914
|
+
nullable: false,
|
|
915
|
+
default: SiteHealthRollupPolicy.WorstStatus,
|
|
916
|
+
})
|
|
917
|
+
public healthRollupPolicy?: SiteHealthRollupPolicy = undefined;
|
|
918
|
+
|
|
919
|
+
@ColumnAccessControl({
|
|
920
|
+
create: [
|
|
921
|
+
Permission.ProjectOwner,
|
|
922
|
+
Permission.ProjectAdmin,
|
|
923
|
+
Permission.ProjectMember,
|
|
924
|
+
Permission.SettingsAdmin,
|
|
925
|
+
Permission.SettingsMember,
|
|
926
|
+
Permission.CreateNetworkSite,
|
|
927
|
+
],
|
|
928
|
+
read: [
|
|
929
|
+
Permission.ProjectOwner,
|
|
930
|
+
Permission.ProjectAdmin,
|
|
931
|
+
Permission.ProjectMember,
|
|
932
|
+
Permission.Viewer,
|
|
933
|
+
Permission.SettingsAdmin,
|
|
934
|
+
Permission.SettingsMember,
|
|
935
|
+
Permission.SettingsViewer,
|
|
936
|
+
Permission.ReadNetworkSite,
|
|
937
|
+
],
|
|
938
|
+
update: [
|
|
939
|
+
Permission.ProjectOwner,
|
|
940
|
+
Permission.ProjectAdmin,
|
|
941
|
+
Permission.ProjectMember,
|
|
942
|
+
Permission.SettingsAdmin,
|
|
943
|
+
Permission.SettingsMember,
|
|
944
|
+
Permission.EditNetworkSite,
|
|
945
|
+
],
|
|
946
|
+
})
|
|
947
|
+
/*
|
|
948
|
+
* Only read when healthRollupPolicy is PercentThreshold. Stored on every
|
|
949
|
+
* site regardless so switching policy does not also require picking a
|
|
950
|
+
* number in the same edit.
|
|
951
|
+
*/
|
|
952
|
+
@TableColumn({
|
|
953
|
+
isDefaultValueColumn: true,
|
|
954
|
+
required: true,
|
|
955
|
+
type: TableColumnType.Number,
|
|
956
|
+
canReadOnRelationQuery: true,
|
|
957
|
+
title: "Offline Threshold (%)",
|
|
958
|
+
description:
|
|
959
|
+
"With the PercentThreshold rollup policy: the share of reporting devices beneath this site that must be non-operational before the site itself is marked offline. Below it (but above zero) the site is degraded.",
|
|
960
|
+
example: "50",
|
|
961
|
+
})
|
|
962
|
+
@Column({
|
|
963
|
+
type: ColumnType.Number,
|
|
964
|
+
nullable: false,
|
|
965
|
+
default: DefaultSiteOfflineThresholdPercent,
|
|
966
|
+
})
|
|
967
|
+
public offlineThresholdPercent?: number = undefined;
|
|
968
|
+
|
|
849
969
|
@ColumnAccessControl({
|
|
850
970
|
create: [
|
|
851
971
|
Permission.ProjectOwner,
|
|
@@ -954,6 +954,7 @@ export default class OnCallDutyPolicyExecutionLog extends BaseModel {
|
|
|
954
954
|
@TableColumn({
|
|
955
955
|
manyToOneRelationColumn: "acknowledgedByTeamId",
|
|
956
956
|
type: TableColumnType.Entity,
|
|
957
|
+
modelType: Team,
|
|
957
958
|
title: "Acknowledged by Team",
|
|
958
959
|
description:
|
|
959
960
|
"Relation to Team who acknowledged this policy execution (if this policy was acknowledged by a Team)",
|