@oneuptime/common 12.0.25 → 12.0.27
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/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 -3
- 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 -0
- 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/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/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/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/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/BaseAPIUpdateDateColumns.test.ts +154 -0
- 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/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/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/HostnameAuthorityParsing.test.ts +1 -0
- package/Tests/Types/API/URLMailtoQueryString.test.ts +439 -0
- package/Tests/Types/API/URLQueryString.test.ts +481 -0
- package/Tests/Types/API/URLRouteQuerySeparation.test.ts +491 -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/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/Components/LogsHistogramDragTooltip.test.tsx +393 -0
- package/Tests/UI/Components/LogsViewerHistogramZoom.test.tsx +248 -0
- package/Tests/UI/Components/TelemetryHistogramDragTooltip.test.tsx +205 -0
- package/Tests/UI/Components/UseHistogramZoom.test.tsx +262 -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/Types/API/URL.ts +100 -28
- 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/SourceMap.ts +56 -0
- package/Types/Telemetry/TelemetrySearchQuery.ts +949 -0
- package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +12 -1
- package/UI/Components/Charts/Utils/useHistogramZoom.ts +101 -0
- package/UI/Components/Dictionary/DictionaryFilterOperator.ts +83 -0
- package/UI/Components/Icon/Icon.tsx +28 -1
- package/UI/Components/LogsViewer/LogsViewer.tsx +19 -3
- package/UI/Components/LogsViewer/components/LogSearchBar.tsx +26 -4
- package/UI/Components/LogsViewer/components/LogSearchHelp.tsx +34 -16
- package/UI/Components/LogsViewer/components/LogsHistogram.tsx +52 -1
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +18 -2
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +52 -1
- 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/build/dist/Models/AnalyticsModels/Index.js +2 -0
- package/build/dist/Models/AnalyticsModels/Index.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 +8 -1
- 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 -0
- 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/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/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/Types/API/URL.js +88 -27
- 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/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/Charts/Utils/useHistogramZoom.js +47 -0
- package/build/dist/UI/Components/Charts/Utils/useHistogramZoom.js.map +1 -0
- 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/LogsViewer.js +15 -3
- package/build/dist/UI/Components/LogsViewer/LogsViewer.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/LogsViewer/components/LogsHistogram.js +33 -5
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +14 -2
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +33 -5
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.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/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
|
@@ -195,6 +195,7 @@ export class NotificationRuleConditionUtil {
|
|
|
195
195
|
case NotificationRuleConditionCheckOn.AlertEpisodeLabels:
|
|
196
196
|
case NotificationRuleConditionCheckOn.IncidentEpisodeLabels:
|
|
197
197
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels:
|
|
198
|
+
case NotificationRuleConditionCheckOn.OnCallDutyPolicyLabels:
|
|
198
199
|
case NotificationRuleConditionCheckOn.Monitors:
|
|
199
200
|
return true;
|
|
200
201
|
default:
|
|
@@ -287,7 +288,8 @@ export class NotificationRuleConditionUtil {
|
|
|
287
288
|
data.checkOn === NotificationRuleConditionCheckOn.AlertEpisodeLabels ||
|
|
288
289
|
data.checkOn === NotificationRuleConditionCheckOn.IncidentEpisodeLabels ||
|
|
289
290
|
data.checkOn ===
|
|
290
|
-
NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels
|
|
291
|
+
NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels ||
|
|
292
|
+
data.checkOn === NotificationRuleConditionCheckOn.OnCallDutyPolicyLabels
|
|
291
293
|
) {
|
|
292
294
|
return data.labels.map((label: Label) => {
|
|
293
295
|
return {
|
|
@@ -386,6 +388,12 @@ export class NotificationRuleConditionUtil {
|
|
|
386
388
|
NotificationRuleConditionCheckOn.MonitorLabels,
|
|
387
389
|
NotificationRuleConditionCheckOn.Monitors,
|
|
388
390
|
];
|
|
391
|
+
case NotificationRuleEventType.OnCallDutyPolicy:
|
|
392
|
+
return [
|
|
393
|
+
NotificationRuleConditionCheckOn.OnCallDutyPolicyName,
|
|
394
|
+
NotificationRuleConditionCheckOn.OnCallDutyPolicyDescription,
|
|
395
|
+
NotificationRuleConditionCheckOn.OnCallDutyPolicyLabels,
|
|
396
|
+
];
|
|
389
397
|
default:
|
|
390
398
|
return [];
|
|
391
399
|
}
|
|
@@ -406,6 +414,8 @@ export class NotificationRuleConditionUtil {
|
|
|
406
414
|
case NotificationRuleConditionCheckOn.IncidentEpisodeDescription:
|
|
407
415
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceTitle:
|
|
408
416
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceDescription:
|
|
417
|
+
case NotificationRuleConditionCheckOn.OnCallDutyPolicyName:
|
|
418
|
+
case NotificationRuleConditionCheckOn.OnCallDutyPolicyDescription:
|
|
409
419
|
return [
|
|
410
420
|
ConditionType.EqualTo,
|
|
411
421
|
ConditionType.NotEqualTo,
|
|
@@ -434,6 +444,7 @@ export class NotificationRuleConditionUtil {
|
|
|
434
444
|
case NotificationRuleConditionCheckOn.IncidentLabels:
|
|
435
445
|
case NotificationRuleConditionCheckOn.MonitorLabels:
|
|
436
446
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels:
|
|
447
|
+
case NotificationRuleConditionCheckOn.OnCallDutyPolicyLabels:
|
|
437
448
|
return [
|
|
438
449
|
ConditionType.ContainsAny,
|
|
439
450
|
ConditionType.NotContains,
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import RangeStartAndEndDateTime from "../../../../Types/Time/RangeStartAndEndDateTime";
|
|
3
|
+
|
|
4
|
+
export interface HistogramZoomOptions {
|
|
5
|
+
/** The window the explorer is showing right now. */
|
|
6
|
+
timeRange?: RangeStartAndEndDateTime | undefined;
|
|
7
|
+
/** Applies a range the reader dragged out on the histogram. */
|
|
8
|
+
onTimeRangeSelect?: ((startTime: Date, endTime: Date) => void) | undefined;
|
|
9
|
+
/** Applies a range picked anywhere else (the toolbar picker, a reset). */
|
|
10
|
+
onTimeRangeChange?:
|
|
11
|
+
| ((timeRange: RangeStartAndEndDateTime) => void)
|
|
12
|
+
| undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface HistogramZoomState {
|
|
16
|
+
/** Hand to the histogram in place of the raw select handler. */
|
|
17
|
+
onTimeRangeSelect: ((startTime: Date, endTime: Date) => void) | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Hand to the histogram: set only while a drag-zoom is in effect, so the
|
|
20
|
+
* chart can both offer the affordance and act on a double-click.
|
|
21
|
+
*/
|
|
22
|
+
onZoomOut: (() => void) | undefined;
|
|
23
|
+
/** Hand to the time range picker in place of the raw change handler. */
|
|
24
|
+
onTimeRangeChange:
|
|
25
|
+
| ((timeRange: RangeStartAndEndDateTime) => void)
|
|
26
|
+
| undefined;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type UseHistogramZoomFunction = (
|
|
30
|
+
options: HistogramZoomOptions,
|
|
31
|
+
) => HistogramZoomState;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Remembers the window a reader was on before they dragged a zoom out of the
|
|
35
|
+
* histogram, so a double-click can put them back on it.
|
|
36
|
+
*
|
|
37
|
+
* Only the *first* zoom is remembered: after drilling from "past one hour"
|
|
38
|
+
* into a minute and then into ten seconds, one double-click returns the whole
|
|
39
|
+
* hour rather than making the reader climb back out a level at a time. Any
|
|
40
|
+
* time range picked by other means — the toolbar picker, a saved view — is
|
|
41
|
+
* the reader choosing a new starting point, so it forgets what it held and
|
|
42
|
+
* the zoom-out affordance goes away until the next drag.
|
|
43
|
+
*/
|
|
44
|
+
const useHistogramZoom: UseHistogramZoomFunction = (
|
|
45
|
+
options: HistogramZoomOptions,
|
|
46
|
+
): HistogramZoomState => {
|
|
47
|
+
const [rangeBeforeZoom, setRangeBeforeZoom] =
|
|
48
|
+
useState<RangeStartAndEndDateTime | null>(null);
|
|
49
|
+
|
|
50
|
+
const timeRange: RangeStartAndEndDateTime | undefined = options.timeRange;
|
|
51
|
+
const onTimeRangeSelect:
|
|
52
|
+
| ((startTime: Date, endTime: Date) => void)
|
|
53
|
+
| undefined = options.onTimeRangeSelect;
|
|
54
|
+
const onTimeRangeChange:
|
|
55
|
+
| ((timeRange: RangeStartAndEndDateTime) => void)
|
|
56
|
+
| undefined = options.onTimeRangeChange;
|
|
57
|
+
|
|
58
|
+
const handleTimeRangeSelect: (startTime: Date, endTime: Date) => void =
|
|
59
|
+
useCallback(
|
|
60
|
+
(startTime: Date, endTime: Date): void => {
|
|
61
|
+
if (!onTimeRangeSelect) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (timeRange) {
|
|
66
|
+
setRangeBeforeZoom((current: RangeStartAndEndDateTime | null) => {
|
|
67
|
+
return current || timeRange;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
onTimeRangeSelect(startTime, endTime);
|
|
72
|
+
},
|
|
73
|
+
[onTimeRangeSelect, timeRange],
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const handleZoomOut: () => void = useCallback((): void => {
|
|
77
|
+
if (!rangeBeforeZoom || !onTimeRangeChange) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
setRangeBeforeZoom(null);
|
|
82
|
+
onTimeRangeChange(rangeBeforeZoom);
|
|
83
|
+
}, [rangeBeforeZoom, onTimeRangeChange]);
|
|
84
|
+
|
|
85
|
+
const handleTimeRangeChange: (timeRange: RangeStartAndEndDateTime) => void =
|
|
86
|
+
useCallback(
|
|
87
|
+
(nextTimeRange: RangeStartAndEndDateTime): void => {
|
|
88
|
+
setRangeBeforeZoom(null);
|
|
89
|
+
onTimeRangeChange?.(nextTimeRange);
|
|
90
|
+
},
|
|
91
|
+
[onTimeRangeChange],
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
onTimeRangeSelect: onTimeRangeSelect ? handleTimeRangeSelect : undefined,
|
|
96
|
+
onZoomOut: rangeBeforeZoom && onTimeRangeChange ? handleZoomOut : undefined,
|
|
97
|
+
onTimeRangeChange: onTimeRangeChange ? handleTimeRangeChange : undefined,
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export default useHistogramZoom;
|
|
@@ -4,6 +4,8 @@ import Search from "../../../Types/BaseDatabase/Search";
|
|
|
4
4
|
import NotContains from "../../../Types/BaseDatabase/NotContains";
|
|
5
5
|
import StartsWith from "../../../Types/BaseDatabase/StartsWith";
|
|
6
6
|
import EndsWith from "../../../Types/BaseDatabase/EndsWith";
|
|
7
|
+
import Wildcard from "../../../Types/BaseDatabase/Wildcard";
|
|
8
|
+
import NotWildcard from "../../../Types/BaseDatabase/NotWildcard";
|
|
7
9
|
import GreaterThan from "../../../Types/BaseDatabase/GreaterThan";
|
|
8
10
|
import GreaterThanOrEqual from "../../../Types/BaseDatabase/GreaterThanOrEqual";
|
|
9
11
|
import LessThan from "../../../Types/BaseDatabase/LessThan";
|
|
@@ -28,6 +30,8 @@ export enum DictionaryFilterOperator {
|
|
|
28
30
|
NotContains = "NotContains",
|
|
29
31
|
StartsWith = "StartsWith",
|
|
30
32
|
EndsWith = "EndsWith",
|
|
33
|
+
Matches = "Matches",
|
|
34
|
+
NotMatches = "NotMatches",
|
|
31
35
|
GreaterThan = "GreaterThan",
|
|
32
36
|
LessThan = "LessThan",
|
|
33
37
|
GreaterThanOrEqual = "GreaterThanOrEqual",
|
|
@@ -95,6 +99,16 @@ export const DICTIONARY_FILTER_OPERATOR_OPTIONS: ReadonlyArray<DictionaryFilterO
|
|
|
95
99
|
label: "ends with",
|
|
96
100
|
symbol: "ends with",
|
|
97
101
|
},
|
|
102
|
+
{
|
|
103
|
+
operator: DictionaryFilterOperator.Matches,
|
|
104
|
+
label: "matches",
|
|
105
|
+
symbol: "matches",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
operator: DictionaryFilterOperator.NotMatches,
|
|
109
|
+
label: "does not match",
|
|
110
|
+
symbol: "does not match",
|
|
111
|
+
},
|
|
98
112
|
{
|
|
99
113
|
operator: DictionaryFilterOperator.GreaterThan,
|
|
100
114
|
label: "greater than",
|
|
@@ -143,6 +157,8 @@ export type DictionaryEntryValue =
|
|
|
143
157
|
| NotContains<string>
|
|
144
158
|
| StartsWith<string>
|
|
145
159
|
| EndsWith<string>
|
|
160
|
+
| Wildcard<string>
|
|
161
|
+
| NotWildcard<string>
|
|
146
162
|
| GreaterThan<number>
|
|
147
163
|
| GreaterThanOrEqual<number>
|
|
148
164
|
| LessThan<number>
|
|
@@ -152,6 +168,40 @@ export type DictionaryEntryValue =
|
|
|
152
168
|
| Includes
|
|
153
169
|
| IncludesNone;
|
|
154
170
|
|
|
171
|
+
const GLOB_SEPARATOR: string = " OR ";
|
|
172
|
+
|
|
173
|
+
type JoinGlobsFunction = (value: unknown) => string;
|
|
174
|
+
|
|
175
|
+
const joinGlobs: JoinGlobsFunction = (value: unknown): string => {
|
|
176
|
+
const raw: unknown =
|
|
177
|
+
value instanceof Wildcard || value instanceof NotWildcard
|
|
178
|
+
? value.values
|
|
179
|
+
: (value as { value?: unknown }).value;
|
|
180
|
+
|
|
181
|
+
if (Array.isArray(raw)) {
|
|
182
|
+
return raw
|
|
183
|
+
.map((glob: unknown) => {
|
|
184
|
+
return String(glob ?? "");
|
|
185
|
+
})
|
|
186
|
+
.join(GLOB_SEPARATOR);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return String(raw ?? "");
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
type SplitGlobsFunction = (value: string) => Array<string>;
|
|
193
|
+
|
|
194
|
+
const splitGlobs: SplitGlobsFunction = (value: string): Array<string> => {
|
|
195
|
+
return value
|
|
196
|
+
.split(GLOB_SEPARATOR)
|
|
197
|
+
.map((glob: string) => {
|
|
198
|
+
return glob.trim();
|
|
199
|
+
})
|
|
200
|
+
.filter((glob: string) => {
|
|
201
|
+
return glob.length > 0;
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
|
|
155
205
|
export const getOperatorOption: (
|
|
156
206
|
operator: DictionaryFilterOperator,
|
|
157
207
|
) => DictionaryFilterOperatorOption = (
|
|
@@ -331,6 +381,30 @@ export const detectOperatorFromValue: (
|
|
|
331
381
|
rawValue: wrapperValue,
|
|
332
382
|
};
|
|
333
383
|
}
|
|
384
|
+
/*
|
|
385
|
+
* A wildcard carries an ARRAY of globs (one operator can express an OR),
|
|
386
|
+
* so its payload is joined for the single-value input the form renders.
|
|
387
|
+
* Round-tripping through that input keeps the disjunction: the builder
|
|
388
|
+
* splits on the same separator.
|
|
389
|
+
*/
|
|
390
|
+
if (
|
|
391
|
+
value instanceof Wildcard ||
|
|
392
|
+
matchesObjectType(value, ObjectType.Wildcard)
|
|
393
|
+
) {
|
|
394
|
+
return {
|
|
395
|
+
operator: DictionaryFilterOperator.Matches,
|
|
396
|
+
rawValue: joinGlobs(value),
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
if (
|
|
400
|
+
value instanceof NotWildcard ||
|
|
401
|
+
matchesObjectType(value, ObjectType.NotWildcard)
|
|
402
|
+
) {
|
|
403
|
+
return {
|
|
404
|
+
operator: DictionaryFilterOperator.NotMatches,
|
|
405
|
+
rawValue: joinGlobs(value),
|
|
406
|
+
};
|
|
407
|
+
}
|
|
334
408
|
if (
|
|
335
409
|
value instanceof GreaterThan ||
|
|
336
410
|
matchesObjectType(value, ObjectType.GreaterThan)
|
|
@@ -434,6 +508,15 @@ export const buildDictionaryValue: (input: {
|
|
|
434
508
|
return new StartsWith<string>(trimmed);
|
|
435
509
|
case DictionaryFilterOperator.EndsWith:
|
|
436
510
|
return new EndsWith<string>(trimmed);
|
|
511
|
+
/*
|
|
512
|
+
* A glob, e.g. `api-*`. The pattern translation happens at compile time
|
|
513
|
+
* (Wildcard.toPatterns), so what is stored stays readable and can be
|
|
514
|
+
* re-rendered into this same input.
|
|
515
|
+
*/
|
|
516
|
+
case DictionaryFilterOperator.Matches:
|
|
517
|
+
return new Wildcard<string>(splitGlobs(trimmed));
|
|
518
|
+
case DictionaryFilterOperator.NotMatches:
|
|
519
|
+
return new NotWildcard<string>(splitGlobs(trimmed));
|
|
437
520
|
case DictionaryFilterOperator.GreaterThan:
|
|
438
521
|
return new GreaterThan<number>(Number(trimmed));
|
|
439
522
|
case DictionaryFilterOperator.GreaterThanOrEqual:
|
|
@@ -397,12 +397,39 @@ const Icon: FunctionComponent<ComponentProps> = ({
|
|
|
397
397
|
* alone is what everybody already reads as edit, and it survives being
|
|
398
398
|
* small. IconProp.PencilSquare still draws the composite for the handful of
|
|
399
399
|
* places that want it.
|
|
400
|
+
*
|
|
401
|
+
* DRAWN AT 80% OF THE UPSTREAM HEROICON, and that is the whole point of
|
|
402
|
+
* this path existing rather than the stock one.
|
|
403
|
+
*
|
|
404
|
+
* Every icon here shares a 24x24 box, but the eye does not measure the
|
|
405
|
+
* box - it measures the ink. Heroicons' pencil is one unbroken diagonal
|
|
406
|
+
* from corner to corner, so its ink ran 26.8 units end to end: the
|
|
407
|
+
* longest stroke of any icon in this file, against a median of 21 and
|
|
408
|
+
* against the 20.5 of the Trash and the 19.9 of the List it sits beside
|
|
409
|
+
* in a table row. At the 20px a Button renders it at, that is a 22px
|
|
410
|
+
* stroke inside a 20px box - it overshot the cap height of its own label
|
|
411
|
+
* and read as a size larger than every button next to it.
|
|
412
|
+
*
|
|
413
|
+
* (Those figures are the longest distance across each glyph's drawn ink,
|
|
414
|
+
* with arcs and curves sampled. Common/Tests/UI/Components/
|
|
415
|
+
* IconOpticalSize.test.tsx measures the same quantity from the path
|
|
416
|
+
* VERTICES alone, which under-reads every icon by a fraction of a unit -
|
|
417
|
+
* so its numbers are smaller than these and its comparison is relative
|
|
418
|
+
* rather than absolute.)
|
|
419
|
+
*
|
|
420
|
+
* Scaling by 0.8 about the centre of the box brings the ink to 21.4 -
|
|
421
|
+
* between Trash and Copy, at the median - while keeping the glyph
|
|
422
|
+
* itself untouched: a uniform scale preserves the arc flags, the 45
|
|
423
|
+
* degree barrel, and the tangency of the nib and eraser arcs. The
|
|
424
|
+
* numbers stay exact (radii 1.5 and 3.6, tip at 4.2 19.8), and the
|
|
425
|
+
* stroke width deliberately does NOT scale, so the pencil keeps the same
|
|
426
|
+
* weight as its neighbours instead of thinning out.
|
|
400
427
|
*/
|
|
401
428
|
return getSvgWrapper(
|
|
402
429
|
<path
|
|
403
430
|
strokeLinecap="round"
|
|
404
431
|
strokeLinejoin="round"
|
|
405
|
-
d="
|
|
432
|
+
d="M15.89 5.99l1.35-1.35a1.5 1.5 0 112.122 2.122L7.866 18.256a3.6 3.6 0 01-1.518.904l-2.148.64.64-2.148a3.6 3.6 0 01.904-1.518L15.89 5.99zm0 0L18 8.1"
|
|
406
433
|
/>,
|
|
407
434
|
);
|
|
408
435
|
} else if (icon === IconProp.Equals) {
|
|
@@ -66,6 +66,9 @@ import ProjectUtil from "../../Utils/Project";
|
|
|
66
66
|
import TelemetryServiceUtil from "../../Utils/TelemetryService";
|
|
67
67
|
import ObjectID from "../../../Types/ObjectID";
|
|
68
68
|
import OneUptimeDate from "../../../Types/Date";
|
|
69
|
+
import useHistogramZoom, {
|
|
70
|
+
HistogramZoomState,
|
|
71
|
+
} from "../Charts/Utils/useHistogramZoom";
|
|
69
72
|
|
|
70
73
|
export interface ComponentProps {
|
|
71
74
|
logs: Array<Log>;
|
|
@@ -282,6 +285,18 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
|
|
|
282
285
|
const [showKeyboardShortcuts, setShowKeyboardShortcuts] =
|
|
283
286
|
useState<boolean>(false);
|
|
284
287
|
|
|
288
|
+
/*
|
|
289
|
+
* Drag-zooming the histogram is a one-way trip on its own: it swaps the
|
|
290
|
+
* window for a custom one and nothing remembers what the reader was
|
|
291
|
+
* looking at. This keeps that window so a double-click on the chart can
|
|
292
|
+
* hand it back.
|
|
293
|
+
*/
|
|
294
|
+
const histogramZoom: HistogramZoomState = useHistogramZoom({
|
|
295
|
+
timeRange: props.timeRange,
|
|
296
|
+
onTimeRangeSelect: props.onHistogramTimeRangeSelect,
|
|
297
|
+
onTimeRangeChange: props.onTimeRangeChange,
|
|
298
|
+
});
|
|
299
|
+
|
|
285
300
|
useEffect(() => {
|
|
286
301
|
setFilterData(props.filterData);
|
|
287
302
|
}, [props.filterData]);
|
|
@@ -1074,10 +1089,10 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
|
|
|
1074
1089
|
exportLogs(displayedLogs, LogExportFormat.JSON, selectedColumns);
|
|
1075
1090
|
},
|
|
1076
1091
|
...(props.liveOptions ? { liveOptions: props.liveOptions } : {}),
|
|
1077
|
-
...(props.timeRange &&
|
|
1092
|
+
...(props.timeRange && histogramZoom.onTimeRangeChange
|
|
1078
1093
|
? {
|
|
1079
1094
|
timeRange: props.timeRange,
|
|
1080
|
-
onTimeRangeChange:
|
|
1095
|
+
onTimeRangeChange: histogramZoom.onTimeRangeChange,
|
|
1081
1096
|
}
|
|
1082
1097
|
: {}),
|
|
1083
1098
|
showKeyboardShortcuts,
|
|
@@ -1130,7 +1145,8 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
|
|
|
1130
1145
|
<LogsHistogram
|
|
1131
1146
|
buckets={props.histogramBuckets}
|
|
1132
1147
|
isLoading={props.histogramLoading || false}
|
|
1133
|
-
onTimeRangeSelect={
|
|
1148
|
+
onTimeRangeSelect={histogramZoom.onTimeRangeSelect}
|
|
1149
|
+
onZoomOut={histogramZoom.onZoomOut}
|
|
1134
1150
|
/>
|
|
1135
1151
|
)}
|
|
1136
1152
|
|
|
@@ -58,12 +58,23 @@ const LogSearchBar: React.ForwardRefExoticComponent<
|
|
|
58
58
|
|
|
59
59
|
const currentWord: string = extractCurrentWord(props.value);
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
/*
|
|
62
|
+
* A leading `-` negates the whole term. It is stripped before the `@`
|
|
63
|
+
* check so `-@http.method:GET` still reads as an attribute for the
|
|
64
|
+
* suggestion dropdown, and remembered so Enter can decline to build a
|
|
65
|
+
* chip out of it.
|
|
66
|
+
*/
|
|
67
|
+
const isNegatedWord: boolean = currentWord.startsWith("-");
|
|
68
|
+
const unnegatedWord: string = isNegatedWord
|
|
64
69
|
? currentWord.substring(1)
|
|
65
70
|
: currentWord;
|
|
66
71
|
|
|
72
|
+
// Strip leading "@" — treat it as a trigger character for suggestions
|
|
73
|
+
const hasAtPrefix: boolean = unnegatedWord.startsWith("@");
|
|
74
|
+
const normalizedWord: string = hasAtPrefix
|
|
75
|
+
? unnegatedWord.substring(1)
|
|
76
|
+
: unnegatedWord;
|
|
77
|
+
|
|
67
78
|
// Determine if we're in "field:value" mode or "field name" mode
|
|
68
79
|
const colonIndex: number = normalizedWord.indexOf(":");
|
|
69
80
|
const isValueMode: boolean = colonIndex > 0;
|
|
@@ -150,9 +161,19 @@ const LogSearchBar: React.ForwardRefExoticComponent<
|
|
|
150
161
|
return;
|
|
151
162
|
}
|
|
152
163
|
|
|
153
|
-
|
|
164
|
+
/*
|
|
165
|
+
* In value mode with a typed value, apply it as a chip — the
|
|
166
|
+
* chip is compiled with the same search grammar as the raw
|
|
167
|
+
* query string, so `@platform.team:a*` stays a prefix match.
|
|
168
|
+
*
|
|
169
|
+
* A negated token (`-severity:debug`) is the one shape a chip
|
|
170
|
+
* cannot carry: the chip's key would be the literal
|
|
171
|
+
* "-severity". Those fall through to a plain submit, where the
|
|
172
|
+
* parser reads the `-` as the negation it is.
|
|
173
|
+
*/
|
|
154
174
|
if (
|
|
155
175
|
isValueMode &&
|
|
176
|
+
!isNegatedWord &&
|
|
156
177
|
partialValue.length > 0 &&
|
|
157
178
|
props.onFieldValueSelect
|
|
158
179
|
) {
|
|
@@ -225,6 +246,7 @@ const LogSearchBar: React.ForwardRefExoticComponent<
|
|
|
225
246
|
selectedSuggestionIndex,
|
|
226
247
|
filteredSuggestions,
|
|
227
248
|
isValueMode,
|
|
249
|
+
isNegatedWord,
|
|
228
250
|
fieldPrefix,
|
|
229
251
|
partialValue,
|
|
230
252
|
props,
|
|
@@ -10,6 +10,12 @@ interface HelpRow {
|
|
|
10
10
|
example: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
/*
|
|
14
|
+
* The syntax table. Every row here is honoured by the shared search grammar
|
|
15
|
+
* in Common/Types/Telemetry/TelemetrySearchQuery — the help used to advertise
|
|
16
|
+
* a wildcard row whose own example ("service:api-*") matched nothing, so the
|
|
17
|
+
* rule is that a row is only listed once its behaviour is pinned by a test.
|
|
18
|
+
*/
|
|
13
19
|
const HELP_ROWS: Array<HelpRow> = [
|
|
14
20
|
{
|
|
15
21
|
syntax: "free text",
|
|
@@ -18,7 +24,7 @@ const HELP_ROWS: Array<HelpRow> = [
|
|
|
18
24
|
},
|
|
19
25
|
{
|
|
20
26
|
syntax: '"quoted phrase"',
|
|
21
|
-
description: "
|
|
27
|
+
description: "Keep spaces together",
|
|
22
28
|
example: '"out of memory"',
|
|
23
29
|
},
|
|
24
30
|
{
|
|
@@ -36,29 +42,39 @@ const HELP_ROWS: Array<HelpRow> = [
|
|
|
36
42
|
description: "Filter by trace ID",
|
|
37
43
|
example: "trace:abc123def456",
|
|
38
44
|
},
|
|
39
|
-
{
|
|
40
|
-
syntax: "span:<id>",
|
|
41
|
-
description: "Filter by span ID",
|
|
42
|
-
example: "span:e1f7f671fe78",
|
|
43
|
-
},
|
|
44
45
|
{
|
|
45
46
|
syntax: "@<attr>:<value>",
|
|
46
47
|
description: "Filter by attribute",
|
|
47
48
|
example: "@http.status_code:500",
|
|
48
49
|
},
|
|
49
50
|
{
|
|
50
|
-
syntax: "
|
|
51
|
-
description: "
|
|
52
|
-
example: "
|
|
51
|
+
syntax: "@<attr>:<value>*",
|
|
52
|
+
description: "Wildcard — * is any text, ? is one character",
|
|
53
|
+
example: "@platform.team:a*",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
syntax: "@<attr>:*",
|
|
57
|
+
description: "Attribute is present",
|
|
58
|
+
example: "@user.id:*",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
syntax: "@<attr>:~<text>",
|
|
62
|
+
description: "Attribute contains",
|
|
63
|
+
example: "@url.host:~internal",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
syntax: "-<filter>",
|
|
67
|
+
description: "Exclude — works with every filter above",
|
|
68
|
+
example: "-@platform.team:a*",
|
|
53
69
|
},
|
|
54
70
|
{
|
|
55
|
-
syntax: "
|
|
56
|
-
description: "
|
|
57
|
-
example: "
|
|
71
|
+
syntax: "@<attr>:(a OR b)",
|
|
72
|
+
description: "Any of these values",
|
|
73
|
+
example: "@http.method:(GET OR POST)",
|
|
58
74
|
},
|
|
59
75
|
{
|
|
60
|
-
syntax: "
|
|
61
|
-
description: "Numeric comparison",
|
|
76
|
+
syntax: "@<attr>:>N",
|
|
77
|
+
description: "Numeric comparison (also >=, <, <=)",
|
|
62
78
|
example: "@duration:>1000",
|
|
63
79
|
},
|
|
64
80
|
];
|
|
@@ -115,10 +131,12 @@ const LogSearchHelp: FunctionComponent<LogSearchHelpProps> = (
|
|
|
115
131
|
<kbd className="rounded border border-gray-200 bg-gray-50 px-1 py-0.5 font-mono text-[10px]">
|
|
116
132
|
Enter
|
|
117
133
|
</kbd>{" "}
|
|
118
|
-
to search ·
|
|
134
|
+
to search · Filters combine with AND ·{" "}
|
|
119
135
|
<code className="font-mono text-[10px] text-gray-500">
|
|
120
136
|
severity:error service:api "timeout"
|
|
121
|
-
</code>
|
|
137
|
+
</code>{" "}
|
|
138
|
+
· Use <code className="font-mono text-[10px]">\*</code> for a literal
|
|
139
|
+
asterisk
|
|
122
140
|
</span>
|
|
123
141
|
</div>
|
|
124
142
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, {
|
|
2
2
|
FunctionComponent,
|
|
3
3
|
ReactElement,
|
|
4
|
+
useEffect,
|
|
4
5
|
useMemo,
|
|
5
6
|
useCallback,
|
|
6
7
|
useRef,
|
|
@@ -29,6 +30,12 @@ export interface LogsHistogramProps {
|
|
|
29
30
|
buckets: Array<HistogramBucket>;
|
|
30
31
|
isLoading: boolean;
|
|
31
32
|
onTimeRangeSelect?: ((startTime: Date, endTime: Date) => void) | undefined;
|
|
33
|
+
/*
|
|
34
|
+
* Set only while the chart is showing a window the reader dragged out of
|
|
35
|
+
* it. Double-clicking the chart then puts them back on the window they
|
|
36
|
+
* started from.
|
|
37
|
+
*/
|
|
38
|
+
onZoomOut?: (() => void) | undefined;
|
|
32
39
|
}
|
|
33
40
|
|
|
34
41
|
interface PivotedRow {
|
|
@@ -86,6 +93,12 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
86
93
|
const [selectionStart, setSelectionStart] = useState<string | null>(null);
|
|
87
94
|
const [selectionEnd, setSelectionEnd] = useState<string | null>(null);
|
|
88
95
|
const isSelecting: React.MutableRefObject<boolean> = useRef(false);
|
|
96
|
+
/*
|
|
97
|
+
* Mirrors isSelecting for rendering. The ref stays the authority so a
|
|
98
|
+
* mouseup handled twice (chart *and* window, below) cannot commit the same
|
|
99
|
+
* drag twice; the state is only here so the drag can change what is drawn.
|
|
100
|
+
*/
|
|
101
|
+
const [isDragging, setIsDragging] = useState<boolean>(false);
|
|
89
102
|
|
|
90
103
|
const pivotedData: Array<PivotedRow> = useMemo(() => {
|
|
91
104
|
return pivotBuckets(props.buckets);
|
|
@@ -110,6 +123,7 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
110
123
|
}
|
|
111
124
|
|
|
112
125
|
isSelecting.current = true;
|
|
126
|
+
setIsDragging(true);
|
|
113
127
|
setSelectionStart(e.activeLabel as string);
|
|
114
128
|
setSelectionEnd(null);
|
|
115
129
|
},
|
|
@@ -132,12 +146,14 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
132
146
|
!props.onTimeRangeSelect
|
|
133
147
|
) {
|
|
134
148
|
isSelecting.current = false;
|
|
149
|
+
setIsDragging(false);
|
|
135
150
|
setSelectionStart(null);
|
|
136
151
|
setSelectionEnd(null);
|
|
137
152
|
return;
|
|
138
153
|
}
|
|
139
154
|
|
|
140
155
|
isSelecting.current = false;
|
|
156
|
+
setIsDragging(false);
|
|
141
157
|
|
|
142
158
|
const start: Date = OneUptimeDate.fromString(selectionStart);
|
|
143
159
|
const end: Date = OneUptimeDate.fromString(selectionEnd);
|
|
@@ -157,6 +173,28 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
157
173
|
setSelectionEnd(null);
|
|
158
174
|
}, [selectionStart, selectionEnd, props.onTimeRangeSelect]);
|
|
159
175
|
|
|
176
|
+
/*
|
|
177
|
+
* Readers routinely drag past the edge of a 120px-tall chart and let go
|
|
178
|
+
* outside it, where the chart's own mouseup never fires. Without this the
|
|
179
|
+
* drag would never end: the selection band would stay painted and the
|
|
180
|
+
* tooltip would stay suppressed until the next click.
|
|
181
|
+
*/
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
if (!isDragging) {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const finishDragOutsideChart: () => void = (): void => {
|
|
188
|
+
handleMouseUp();
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
window.addEventListener("mouseup", finishDragOutsideChart);
|
|
192
|
+
|
|
193
|
+
return () => {
|
|
194
|
+
window.removeEventListener("mouseup", finishDragOutsideChart);
|
|
195
|
+
};
|
|
196
|
+
}, [isDragging, handleMouseUp]);
|
|
197
|
+
|
|
160
198
|
if (props.isLoading && pivotedData.length === 0) {
|
|
161
199
|
return (
|
|
162
200
|
<div className="flex h-32 items-center justify-center rounded-lg border border-gray-200 bg-white">
|
|
@@ -178,6 +216,11 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
178
216
|
{props.onTimeRangeSelect && (
|
|
179
217
|
<span className="text-[10px] text-gray-300">Drag to zoom</span>
|
|
180
218
|
)}
|
|
219
|
+
{props.onZoomOut && (
|
|
220
|
+
<span className="text-[10px] text-gray-300">
|
|
221
|
+
Double-click to zoom out
|
|
222
|
+
</span>
|
|
223
|
+
)}
|
|
181
224
|
</div>
|
|
182
225
|
<div className="flex items-center gap-3">
|
|
183
226
|
{activeSeverities.map((severity: string) => {
|
|
@@ -197,11 +240,12 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
197
240
|
|
|
198
241
|
{/* Chart */}
|
|
199
242
|
<div
|
|
200
|
-
className="px-2 pb-1 pt-2"
|
|
243
|
+
className="select-none px-2 pb-1 pt-2"
|
|
201
244
|
style={{
|
|
202
245
|
height: 120,
|
|
203
246
|
cursor: props.onTimeRangeSelect ? "crosshair" : "default",
|
|
204
247
|
}}
|
|
248
|
+
onDoubleClick={props.onZoomOut}
|
|
205
249
|
>
|
|
206
250
|
<ResponsiveContainer width="100%" height="100%">
|
|
207
251
|
<BarChart
|
|
@@ -237,9 +281,16 @@ const LogsHistogram: FunctionComponent<LogsHistogramProps> = (
|
|
|
237
281
|
allowDecimals={false}
|
|
238
282
|
tickFormatter={formatYAxisTick}
|
|
239
283
|
/>
|
|
284
|
+
{/*
|
|
285
|
+
* The tooltip is pinned shut for the length of a drag: it would
|
|
286
|
+
* otherwise sit over the very bars the reader is trying to read
|
|
287
|
+
* while they pick the range. Dropping the prop hands control back
|
|
288
|
+
* to recharts once the drag ends.
|
|
289
|
+
*/}
|
|
240
290
|
<Tooltip
|
|
241
291
|
content={<HistogramTooltip />}
|
|
242
292
|
cursor={{ fill: "rgba(99,102,241,0.06)" }}
|
|
293
|
+
{...(isDragging ? { active: false } : {})}
|
|
243
294
|
/>
|
|
244
295
|
{activeSeverities.map((severity: string, index: number) => {
|
|
245
296
|
const isLast: boolean = index === activeSeverities.length - 1;
|