@oneuptime/common 13.0.5 → 13.0.6
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/AuditLog.ts +81 -1
- package/Models/AnalyticsModels/SecurityEvent.ts +4 -4
- package/Models/DatabaseModels/Alert.ts +62 -0
- package/Models/DatabaseModels/GlobalConfig.ts +1 -1
- package/Models/DatabaseModels/Incident.ts +66 -0
- package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +74 -0
- package/Models/DatabaseModels/IncidentPublicNote.ts +74 -0
- package/Models/DatabaseModels/Index.ts +6 -4
- package/Models/DatabaseModels/NetworkDevice.ts +67 -0
- package/Models/DatabaseModels/NetworkDeviceDiagnostic.ts +746 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +151 -0
- package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +1 -1
- package/Models/DatabaseModels/Project.ts +41 -0
- package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +74 -0
- package/Models/DatabaseModels/SecurityEventConnection.ts +11 -11
- package/Models/DatabaseModels/ServiceLevelObjective.ts +185 -8
- package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +746 -43
- package/Models/DatabaseModels/ServiceLevelObjectiveFeed.ts +575 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.ts +582 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +16 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +16 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +75 -0
- package/Models/DatabaseModels/ThreatIntelFeed.ts +1 -1
- package/Server/API/BaseAPI.ts +17 -0
- package/Server/API/BillingInvoiceAPI.ts +343 -30
- package/Server/API/BillingPaymentMethodAPI.ts +126 -5
- package/Server/API/DashboardAPI.ts +96 -2
- package/Server/API/SecurityEventConnectionAPI.ts +141 -11
- package/Server/API/StatusPageAPI.ts +308 -199
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.ts +83 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.ts +36 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.ts +516 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.ts +98 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.ts +27 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.ts +97 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
- package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +138 -67
- package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +213 -84
- package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +112 -35
- package/Server/Services/AlertLabelRuleEngineService.ts +299 -217
- package/Server/Services/AlertOwnerRuleEngineService.ts +572 -396
- package/Server/Services/AlertPrivacyRuleEngineService.ts +116 -40
- package/Server/Services/AlertService.ts +111 -4
- package/Server/Services/AuditLogService.ts +612 -59
- package/Server/Services/BillingInvoiceService.ts +112 -102
- package/Server/Services/BillingService.ts +539 -11
- package/Server/Services/CephClusterLabelRuleEngineService.ts +170 -109
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +233 -115
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +163 -100
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +236 -115
- package/Server/Services/DashboardLabelRuleEngineService.ts +145 -84
- package/Server/Services/DashboardOwnerRuleEngineService.ts +213 -95
- package/Server/Services/DatabaseService.ts +171 -21
- package/Server/Services/DockerHostLabelRuleEngineService.ts +171 -110
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +233 -115
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +181 -112
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +243 -118
- package/Server/Services/HostLabelRuleEngineService.ts +167 -106
- package/Server/Services/HostOwnerRuleEngineService.ts +229 -111
- package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +141 -67
- package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +272 -72
- package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +112 -35
- package/Server/Services/IncidentEpisodePublicNoteService.ts +24 -0
- package/Server/Services/IncidentLabelRuleEngineService.ts +279 -204
- package/Server/Services/IncidentOwnerRuleEngineService.ts +595 -425
- package/Server/Services/IncidentPrivacyRuleEngineService.ts +117 -44
- package/Server/Services/IncidentPublicNoteService.ts +24 -0
- package/Server/Services/IncidentService.ts +114 -3
- package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +147 -83
- package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +221 -100
- package/Server/Services/Index.ts +6 -4
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +145 -84
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +213 -95
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +181 -112
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +243 -118
- package/Server/Services/LabelService.ts +23 -28
- package/Server/Services/MonitorLabelRuleEngineService.ts +152 -92
- package/Server/Services/MonitorOwnerRuleEngineService.ts +220 -104
- package/Server/Services/MonitorProbeService.ts +20 -2
- package/Server/Services/MonitorService.ts +11 -9
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +376 -5
- package/Server/Services/NetworkDeviceDiagnosticService.ts +417 -0
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +147 -83
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +218 -97
- package/Server/Services/NetworkDeviceService.ts +39 -2
- package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +151 -80
- package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +222 -97
- package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +154 -83
- package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +225 -100
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +171 -110
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +235 -115
- package/Server/Services/ProjectService.ts +111 -10
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +174 -110
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +239 -116
- package/Server/Services/RumApplicationLabelRuleEngineService.ts +137 -73
- package/Server/Services/RumApplicationOwnerRuleEngineService.ts +200 -83
- package/Server/Services/RunbookLabelRuleEngineService.ts +146 -84
- package/Server/Services/RunbookOwnerRuleEngineService.ts +216 -95
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +324 -230
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +613 -428
- package/Server/Services/ScheduledMaintenancePublicNoteService.ts +24 -0
- package/Server/Services/ScheduledMaintenanceService.ts +43 -14
- package/Server/Services/SecurityEventConnectionService.ts +56 -4
- package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +143 -74
- package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +206 -85
- package/Server/Services/ServiceLabelRuleEngineService.ts +172 -110
- package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +1057 -18
- package/Server/Services/ServiceLevelObjectiveFeedService.ts +108 -0
- package/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.ts +793 -97
- package/Server/Services/ServiceLevelObjectiveMonitorRuleService.ts +1069 -0
- package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +240 -1
- package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +257 -1
- package/Server/Services/ServiceLevelObjectiveService.ts +1356 -56
- package/Server/Services/ServiceOwnerRuleEngineService.ts +238 -116
- package/Server/Services/StatusPageAnnouncementService.ts +13 -0
- package/Server/Services/StatusPageLabelRuleEngineService.ts +146 -85
- package/Server/Services/StatusPageOwnerRuleEngineService.ts +210 -99
- package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +28 -232
- package/Server/Services/StatusPageSubscriberService.ts +6 -0
- package/Server/Services/TelemetryUsageBillingService.ts +38 -7
- package/Server/Services/ThreatIntelFeedService.ts +1 -1
- package/Server/Services/VMwareVCenterLabelRuleEngineService.ts +173 -110
- package/Server/Services/VMwareVCenterOwnerRuleEngineService.ts +238 -116
- package/Server/Services/WorkflowLabelRuleEngineService.ts +145 -84
- package/Server/Services/WorkflowOwnerRuleEngineService.ts +215 -95
- package/Server/Types/Database/UpdateByID.ts +3 -0
- package/Server/Types/Database/UpdateOneBy.ts +7 -0
- package/Server/Utils/AI/AlertAIContextBuilder.ts +19 -0
- package/Server/Utils/AI/IncidentAIContextBuilder.ts +39 -0
- package/Server/Utils/AI/Toolbox/AlertTools.ts +37 -1
- package/Server/Utils/AI/Toolbox/IncidentTools.ts +22 -1
- package/Server/Utils/AI/Toolbox/SloTools.ts +416 -51
- package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +151 -13
- package/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.ts +17 -4
- package/Server/Utils/Dashboard/PublicDashboardSloWidget.ts +155 -8
- package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +16 -0
- package/Server/Utils/Database/RelationValueUtil.ts +106 -0
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +6 -1
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +22 -27
- package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +3 -1
- package/Server/Utils/Monitor/MonitorStepsProjectValidator.ts +50 -20
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +13 -1
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +6 -11
- package/Server/Utils/Rules/MonitorRulePatternValidator.ts +51 -0
- package/Server/Utils/Rules/OwnerRuleAssignment.ts +110 -0
- package/Server/Utils/Rules/RuleRun/RuleApplication.ts +81 -0
- package/Server/Utils/Rules/RuleRun/RuleRunPermission.ts +188 -0
- package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +803 -0
- package/Server/Utils/Rules/RuleRun/RuleRunner.ts +341 -0
- package/Server/Utils/SecurityEvent/ConnectorErrorMessage.ts +3 -2
- package/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.ts +6 -4
- package/Server/Utils/SecurityEvent/{GoogleSecOps → Connectors/GoogleSecOps}/GoogleSecOpsClient.ts +263 -16
- package/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.ts +2101 -0
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.ts +194 -14
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.ts +1 -2
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.ts +38 -7
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.ts +2 -0
- package/Server/Utils/SecurityEvent/Connectors/Types.ts +242 -2
- package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +1 -1
- package/Server/Utils/SecurityEvent/SecurityEventDedupe.ts +3 -3
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +2 -2
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +217 -56
- package/Server/Utils/Slo/SloFeedUtil.ts +200 -0
- package/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.ts +173 -0
- package/Server/Utils/Slo/SloMetricUtil.ts +327 -0
- package/Server/Utils/Slo/SloOwnerReferenceValidator.ts +208 -0
- package/Server/Utils/Slo/SloRecordReferenceValidator.ts +169 -0
- package/Server/Utils/StatusPage/MonitorRulePatternValidator.ts +6 -43
- package/Server/Utils/StatusPageResource.ts +50 -5
- package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +664 -15
- package/Tests/App/Dashboard/AddWidgetModal.test.tsx +4 -1
- package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +307 -0
- package/Tests/App/Dashboard/ArchiveResourceCard.test.tsx +289 -0
- package/Tests/App/Dashboard/AuditLogsTable.test.tsx +598 -0
- package/Tests/App/Dashboard/BillingDefaultPaymentMethod.test.tsx +1046 -0
- package/Tests/App/Dashboard/BillingPaidUsageFlow.test.tsx +3 -0
- package/Tests/App/Dashboard/BillingPaymentMethodForm.test.tsx +201 -7
- package/Tests/App/Dashboard/BooleanSeriesCriteriaFilterText.test.ts +82 -0
- package/Tests/App/Dashboard/BreadcrumbCoverage.test.tsx +16 -1
- package/Tests/App/Dashboard/ChangeAlertStateAIHeader.test.tsx +116 -8
- package/Tests/App/Dashboard/ChatActivityFeed.test.tsx +168 -1
- package/Tests/App/Dashboard/ConnectionTestModal.test.tsx +1 -1
- package/Tests/App/Dashboard/ConnectorTestReportView.test.tsx +20 -3
- package/Tests/App/Dashboard/CorrelateFilterBuilder.test.tsx +1095 -1
- package/Tests/App/Dashboard/CorrelateFilterChips.test.tsx +910 -0
- package/Tests/App/Dashboard/CorrelateGraph.test.tsx +3747 -25
- package/Tests/App/Dashboard/CorrelateGraphHelpers.test.ts +1085 -0
- package/Tests/App/Dashboard/CorrelateInspector.test.tsx +1534 -0
- package/Tests/App/Dashboard/CorrelateNodeCard.test.tsx +965 -0
- package/Tests/App/Dashboard/CorrelateResultSummary.test.tsx +1525 -0
- package/Tests/App/Dashboard/CorrelationGraph.test.ts +1030 -0
- package/Tests/App/Dashboard/CorrelationGraphLayout.test.ts +526 -0
- package/Tests/App/Dashboard/DeviceDiagnostics.test.tsx +787 -0
- package/Tests/App/Dashboard/DeviceLatencyTrend.test.tsx +278 -0
- package/Tests/App/Dashboard/DiscoveryReviewInventoryRefresh.test.tsx +279 -0
- package/Tests/App/Dashboard/DiscoveryScanEditForm.test.tsx +87 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +443 -8
- package/Tests/App/Dashboard/EntityFilterDropdownArchivedSlos.test.tsx +340 -0
- package/Tests/App/Dashboard/EventOverviewPages.test.tsx +98 -2
- package/Tests/App/Dashboard/ExceptionSegmentedControl.test.tsx +1020 -0
- package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +268 -47
- package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1114 -76
- package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +124 -2
- package/Tests/App/Dashboard/InvestigationReportView.test.tsx +279 -176
- package/Tests/App/Dashboard/InvestigationRunDetails.test.tsx +1166 -0
- package/Tests/App/Dashboard/InvoicesPayInvoice.test.tsx +437 -0
- package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +65 -0
- package/Tests/App/Dashboard/NetworkTopologyLiveView.test.tsx +5 -0
- package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +74 -0
- package/Tests/App/Dashboard/ResourceFeed.test.tsx +125 -5
- package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +8 -1
- package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +1764 -0
- package/Tests/App/Dashboard/SecurityEventConnectionFormModal.test.tsx +1000 -64
- package/Tests/App/Dashboard/SecurityEventConnectionsEmptyState.test.tsx +448 -0
- package/Tests/App/Dashboard/SecurityEventConnectionsTable.test.tsx +739 -189
- package/Tests/App/Dashboard/SecurityEventSeverityPill.test.tsx +233 -0
- package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +282 -0
- package/Tests/App/Dashboard/SloActiveBurnEventsCard.test.tsx +538 -0
- package/Tests/App/Dashboard/SloBulkActionsArchive.test.tsx +252 -0
- package/Tests/App/Dashboard/SloDashboardTemplateWidgets.test.tsx +322 -518
- package/Tests/App/Dashboard/SloElement.test.tsx +194 -0
- package/Tests/App/Dashboard/SloFeed.test.tsx +289 -0
- package/Tests/App/Dashboard/SloHistoryCharts.test.tsx +471 -0
- package/Tests/App/Dashboard/SloHistorySeries.test.tsx +607 -0
- package/Tests/App/Dashboard/SloListWidget.test.tsx +783 -0
- package/Tests/App/Dashboard/SloMetricsPage.test.tsx +346 -0
- package/Tests/App/Dashboard/SloMonitorsPage.test.tsx +661 -0
- package/Tests/App/Dashboard/SloMonitorsSummaryCard.test.tsx +489 -0
- package/Tests/App/Dashboard/SloNavigationWiring.test.tsx +437 -0
- package/Tests/App/Dashboard/SloNoticeBanner.test.tsx +305 -0
- package/Tests/App/Dashboard/SloOverviewData.test.tsx +563 -0
- package/Tests/App/Dashboard/SloOverviewHero.test.tsx +311 -0
- package/Tests/App/Dashboard/SloOverviewKpiStrip.test.tsx +426 -0
- package/Tests/App/Dashboard/SloOverviewSidebarCards.test.tsx +493 -0
- package/Tests/App/Dashboard/SloSettings.test.tsx +633 -0
- package/Tests/App/Dashboard/SloStatusSummaryCards.test.tsx +403 -0
- package/Tests/App/Dashboard/SloViewSideMenuCounts.test.tsx +373 -0
- package/Tests/App/Dashboard/SloWidgetVariableBinding.test.tsx +689 -0
- package/Tests/App/Dashboard/TopologyConnectivitySection.test.tsx +206 -0
- package/Tests/App/Dashboard/TracesEntityNames.test.tsx +47 -15
- package/Tests/App/Dashboard/UseBulkShortenDeviceNames.test.tsx +1312 -0
- package/Tests/App/Dashboard/WidgetCatalog.test.ts +9 -1
- package/Tests/Models/AnalyticsModels/RumSessionReplayColumns.test.ts +14 -16
- package/Tests/Models/DatabaseModels/AuditLogModelConfiguration.test.ts +442 -0
- package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +9 -10
- package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +48 -1
- package/Tests/Models/DatabaseModels/SloOverhaulModels.test.ts +835 -0
- package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +3 -2
- package/Tests/Models/DiscoveryScanNetbiosLookupColumn.test.ts +328 -0
- package/Tests/Models/DiscoveryScanShortDeviceNamesColumn.test.ts +335 -0
- package/Tests/Models/NetworkDeviceDiagnosticContract.test.ts +194 -0
- package/Tests/Models/NetworkDeviceDnsNameColumn.test.ts +321 -0
- package/Tests/Models/ProjectDataResidencyColumn.test.ts +154 -0
- package/Tests/Models/SecurityDomainAccessControl.test.ts +181 -50
- package/Tests/Server/API/BaseAPI.test.ts +6 -0
- package/Tests/Server/API/BaseAPIUpdateMiscDataProps.test.ts +217 -0
- package/Tests/Server/API/BillingInvoiceAPI.test.ts +7 -0
- package/Tests/Server/API/BillingInvoiceAPIPaymentStates.test.ts +990 -0
- package/Tests/Server/API/BillingPaymentMethodAPI.test.ts +498 -0
- package/Tests/Server/API/DashboardPublicSloAPI.test.ts +405 -0
- package/Tests/Server/API/SecurityEventConnectionAPI.test.ts +901 -7
- package/Tests/Server/API/SessionReplayAPI.test.ts +116 -0
- package/Tests/Server/API/StatusPageManageSubscriptionRecipient.test.ts +857 -0
- package/Tests/Server/API/StatusPageManageSubscriptionTemplateVariables.test.ts +1084 -0
- package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +33 -3
- package/Tests/Server/Infrastructure/Postgres/AddDataResidencyToProjectMigration.test.ts +202 -0
- package/Tests/Server/Infrastructure/Postgres/AddNetbiosLookupToNetworkDeviceDiscoveryScanMigration.test.ts +330 -0
- package/Tests/Server/Infrastructure/Postgres/AddNetworkDeviceDnsNameAndShortDeviceNamesMigration.test.ts +340 -0
- package/Tests/Server/Infrastructure/Postgres/BackfillSloMonitorRulesAndAffectedResourcesMigration.test.ts +343 -0
- package/Tests/Server/Infrastructure/Postgres/SloProductOverhaulMigration.test.ts +801 -0
- package/Tests/Server/Services/AddSubscriberUpdateNotificationStatusMigration.test.ts +307 -0
- package/Tests/Server/Services/AuditLogService.test.ts +1124 -0
- package/Tests/Server/Services/AutoImportScanCredentialSelect.test.ts +200 -1
- package/Tests/Server/Services/BillingInvoiceServiceMutexRelease.test.ts +254 -0
- package/Tests/Server/Services/BillingService.test.ts +70 -0
- package/Tests/Server/Services/BillingServicePayInvoiceStates.test.ts +723 -0
- package/Tests/Server/Services/BillingServicePaymentMethodReads.test.ts +14 -2
- package/Tests/Server/Services/BillingServiceSubscriptionPaymentMethodSync.test.ts +1634 -0
- package/Tests/Server/Services/DatabaseServiceAuditRelationDiff.test.ts +492 -0
- package/Tests/Server/Services/DatabaseServicePasswordFieldSecrets.test.ts +629 -0
- package/Tests/Server/Services/IncidentAlertSloLinkSurvivesEdit.test.ts +431 -0
- package/Tests/Server/Services/IncidentAlertSloReferenceGuard.test.ts +358 -0
- package/Tests/Server/Services/MonitorProbeServicePastDueMonitoring.test.ts +362 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +1460 -1
- package/Tests/Server/Services/NetworkDeviceDiagnosticService.test.ts +962 -0
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +106 -0
- package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +10 -1
- package/Tests/Server/Services/NetworkDeviceServicePastDueMonitoring.test.ts +335 -0
- package/Tests/Server/Services/NetworkDeviceSiteRuleDnsName.test.ts +568 -0
- package/Tests/Server/Services/ProjectDataResidencyPostgres.test.ts +344 -0
- package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +187 -0
- package/Tests/Server/Services/ProjectServiceDataResidency.test.ts +369 -0
- package/Tests/Server/Services/ProjectServiceDataResidencySelfHosted.test.ts +176 -0
- package/Tests/Server/Services/ProjectServicePastDueMonitoring.test.ts +289 -0
- package/Tests/Server/Services/ResourceFeedServices.test.ts +24 -8
- package/Tests/Server/Services/RuleRun/IncidentAlertMaintenanceRuleEnginesRun.test.ts +1396 -0
- package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupARun.test.ts +917 -0
- package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +1262 -0
- package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupARun.test.ts +902 -0
- package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +1163 -0
- package/Tests/Server/Services/RuleRun/PrivacyRuleEnginesRun.test.ts +843 -0
- package/Tests/Server/Services/ScheduledMaintenanceSubscriberTemplateFormats.test.ts +465 -0
- package/Tests/Server/Services/SecurityEventConnectionService.test.ts +525 -4
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +77 -23
- package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleFeedWrites.test.ts +777 -0
- package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleOptions.test.ts +1399 -0
- package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +67 -74
- package/Tests/Server/Services/ServiceLevelObjectiveChildRowTenancy.test.ts +906 -0
- package/Tests/Server/Services/ServiceLevelObjectiveDeleteTenancy.test.ts +1029 -0
- package/Tests/Server/Services/ServiceLevelObjectiveFeedService.test.ts +313 -0
- package/Tests/Server/Services/ServiceLevelObjectiveFeedWrites.test.ts +1214 -0
- package/Tests/Server/Services/ServiceLevelObjectiveMarkdownLink.test.ts +289 -0
- package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.test.ts +1455 -430
- package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleLegacyLabelAdoption.test.ts +634 -0
- package/Tests/Server/Services/ServiceLevelObjectiveMonitorRuleService.test.ts +1193 -0
- package/Tests/Server/Services/{SloMonitorLabelRuleHooks.test.ts → ServiceLevelObjectiveMonitorRuleTriggers.test.ts} +135 -41
- package/Tests/Server/Services/ServiceLevelObjectiveOwnerFeedWrites.test.ts +671 -0
- package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +180 -85
- package/Tests/Server/Services/ServiceLevelObjectiveServiceArchive.test.ts +537 -0
- package/Tests/Server/Services/ServiceLevelObjectiveServiceLegacyMonitorLabelWrite.test.ts +870 -0
- package/Tests/Server/Services/ServiceLevelObjectiveServiceMonitorRuleGuard.test.ts +343 -0
- package/Tests/Server/Services/ServiceLevelObjectiveServiceReEvaluation.test.ts +246 -0
- package/Tests/Server/Services/SloAffectedResourceCreatedFeed.test.ts +501 -0
- package/Tests/Server/Services/SloAffectedResourceLinkContract.test.ts +86 -0
- package/Tests/Server/Services/SloAffectedResourceMetricAttributes.test.ts +547 -0
- package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +10 -4
- package/Tests/Server/Services/StatusPageMonitorRuleHooks.test.ts +7 -2
- package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateCompile.test.ts +174 -0
- package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateServiceVariables.test.ts +40 -0
- package/Tests/Server/Services/SubscriberUpdateNotificationHooks.test.ts +541 -0
- package/Tests/Server/Services/TelemetryUsageBillingSloExclusion.test.ts +288 -0
- package/Tests/Server/TestingUtils/PastDueMonitoringClaimSql.ts +177 -0
- package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +51 -10
- package/Tests/Server/TestingUtils/__mocks__/Stripe.mock.ts +16 -1
- package/Tests/Server/Types/Database/Permissions/ProjectDataResidencyColumn.test.ts +386 -0
- package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +26 -36
- package/Tests/Server/Utils/AI/SloAffectedResourceAIContext.test.ts +445 -0
- package/Tests/Server/Utils/AI/SloTools.test.ts +423 -1
- package/Tests/Server/Utils/AI/SloToolsArchive.test.ts +294 -0
- package/Tests/Server/Utils/AI/SloToolsRuleReadPermissions.test.ts +297 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.test.ts +255 -10
- package/Tests/Server/Utils/Dashboard/SloTemplatePublicDashboard.test.ts +404 -750
- package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +45 -0
- package/Tests/Server/Utils/Database/RelationValueUtil.test.ts +157 -0
- package/Tests/Server/Utils/Monitor/Criteria/BooleanSeriesEvaluateOverTime.test.ts +260 -0
- package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +181 -0
- package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +147 -30
- package/Tests/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.test.ts +17 -0
- package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidator.test.ts +136 -0
- package/Tests/Server/Utils/Monitor/MonitorStepsProjectValidatorLoadOrder.test.ts +472 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +48 -2
- package/Tests/Server/Utils/Monitor/SloTemplateMetricEmitterContract.test.ts +435 -475
- package/Tests/Server/Utils/Rules/MonitorRulePatternValidator.test.ts +77 -0
- package/Tests/Server/Utils/Rules/OwnerRuleAssignment.test.ts +177 -0
- package/Tests/Server/Utils/Rules/RuleRun/RuleRunPermission.test.ts +365 -0
- package/Tests/Server/Utils/Rules/RuleRun/RuleRunRegistry.test.ts +173 -0
- package/Tests/Server/Utils/Rules/RuleRun/RuleRunner.test.ts +675 -0
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +8 -8
- package/Tests/Server/Utils/SecurityEvent/Connectors/ConnectorFetchSummary.test.ts +261 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.test.ts +68 -13
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsAuth.test.ts → Connectors/GoogleSecOps/GoogleSecOpsAuth.test.ts} +5 -5
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsClient.test.ts → Connectors/GoogleSecOps/GoogleSecOpsClient.test.ts} +4 -4
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.test.ts +483 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorCuratedAndLateAlerts.test.ts +676 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorFetchEvents.test.ts +1994 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorFixtures.ts +332 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorHttpIntegration.test.ts +680 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorRequestContract.test.ts +1206 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorTestConnection.test.ts +1136 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsCuratedRuleCounts.test.ts +407 -0
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsErrorHandling.test.ts → Connectors/GoogleSecOps/GoogleSecOpsErrorHandling.test.ts} +5 -5
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingAdaptiveCatchUp.test.ts +730 -0
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsClickhouseIntegration.test.ts → Connectors/GoogleSecOps/GoogleSecOpsPollingClickhouseIntegration.test.ts} +130 -35
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingFailureTaxonomy.test.ts +772 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingFixtures.ts +648 -0
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsHttpIntegration.test.ts → Connectors/GoogleSecOps/GoogleSecOpsPollingHttpIntegration.test.ts} +230 -225
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingIntegration.test.ts +1390 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingLoop.test.ts +981 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsPollingNothingImportedRegression.test.ts +290 -0
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsRequestContract.test.ts → Connectors/GoogleSecOps/GoogleSecOpsRequestContract.test.ts} +2 -2
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsResponseParsing.test.ts → Connectors/GoogleSecOps/GoogleSecOpsResponseParsing.test.ts} +5 -5
- package/Tests/Server/Utils/SecurityEvent/{GoogleSecOpsSearchDetections.test.ts → Connectors/GoogleSecOps/GoogleSecOpsSearchDetections.test.ts} +38 -5
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsTesterIntegration.test.ts +421 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.test.ts +1445 -3
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.test.ts +14 -4
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.test.ts +313 -4
- package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +352 -0
- package/Tests/Server/Utils/Slo/SloFeedUtil.test.ts +326 -0
- package/Tests/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.test.ts +260 -0
- package/Tests/Server/Utils/Slo/SloMetricUtil.test.ts +592 -0
- package/Tests/Server/Utils/Slo/SloRecordReferenceValidator.test.ts +311 -0
- package/Tests/Server/Utils/StatusPageResource.test.ts +91 -3
- package/Tests/Types/Billing/SubscriptionStatus.test.ts +176 -0
- package/Tests/Types/Billing/SubscriptionStatusPastDueMonitoring.test.ts +187 -0
- package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +53 -7
- package/Tests/Types/Dashboard/SloDashboardTemplate.test.ts +816 -792
- package/Tests/Types/Monitor/CriteriaFilter.test.ts +216 -24
- package/Tests/Types/Monitor/MonitorStepDnssecMonitor.test.ts +14 -1
- package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +14 -1
- package/Tests/Types/Monitor/MonitorStepExternalStatusPageMonitor.test.ts +14 -1
- package/Tests/Types/Monitor/MonitorStepRetriesParsing.test.ts +201 -0
- package/Tests/Types/Rules/RuleRun.test.ts +315 -0
- package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +60 -0
- package/Tests/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.test.ts +29 -4
- package/Tests/Types/StatusPage/SubscriberNotificationTemplateVariables.test.ts +217 -0
- package/Tests/Types/StatusPage/SubscriberUpdateNotification.test.ts +200 -0
- package/Tests/UI/Components/ActiveFilterChipsLockedFilters.test.tsx +141 -87
- package/Tests/UI/Components/AlertBanner.test.tsx +319 -0
- package/Tests/UI/Components/BulkArchiveActionsCopy.test.tsx +310 -0
- package/Tests/UI/Components/Detail/DetailIdIsUnique.test.tsx +87 -0
- package/Tests/UI/Components/Dropdown/DropdownClearable.test.tsx +393 -0
- package/Tests/UI/Components/Dropdown/DropdownMultiSelectChipAccessibleName.test.tsx +64 -0
- package/Tests/UI/Components/EmptyState/EmptyState.test.tsx +335 -4
- package/Tests/UI/Components/EmptyState/EmptyStateGuideLinks.test.tsx +337 -0
- package/Tests/UI/Components/Forms/ModelFormJsonColumns.test.tsx +21 -20
- package/Tests/UI/Components/LabelRuleImportExport.test.tsx +15 -2
- package/Tests/UI/Components/LockedFilterChip.test.tsx +281 -144
- package/Tests/UI/Components/MoreMenu.test.tsx +133 -0
- package/Tests/UI/Components/MoreMenuMotion.test.tsx +84 -3
- package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
- package/Tests/UI/Components/RuleRun/RuleDetailFields.test.tsx +336 -0
- package/Tests/UI/Components/RuleRun/RuleTable.test.tsx +304 -0
- package/Tests/UI/Components/RuleRun/RunRuleNowModal.test.tsx +231 -0
- package/Tests/UI/Components/RuleRun/RunRulesBulkAction.test.ts +213 -0
- package/Tests/UI/Components/TelemetryActiveFilterChipsLockedFilters.test.tsx +124 -61
- package/Tests/UI/Rum/ReplayEngine.test.ts +154 -0
- package/Tests/UI/Rum/ReplayHeader.test.tsx +234 -123
- package/Tests/UI/Rum/ReplayPinControl.test.tsx +122 -0
- package/Tests/UI/Rum/ReplayPlayerChrome.test.tsx +245 -0
- package/Tests/UI/Rum/ReplayRail.test.tsx +294 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +213 -1
- package/Tests/UI/Rum/ReplayStage.test.tsx +565 -172
- package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +260 -3
- package/Tests/UI/Rum/ReplayTabSwitcher.test.tsx +1391 -0
- package/Tests/UI/Rum/ReplayTimeline.test.tsx +222 -0
- package/Tests/UI/Utils/DashboardStackingLayers.test.ts +8 -1
- package/Tests/UI/Utils/RuleRunClient.test.ts +303 -0
- package/Tests/UI/Utils/Telemetry/TelemetryEntityNames.test.ts +1 -0
- package/Tests/Utils/Dashboard/Components/DashboardComponentDefaults.test.ts +2 -0
- package/Tests/Utils/Dashboard/Components/DashboardSloListComponent.test.ts +206 -0
- package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +36 -2
- package/Tests/Utils/Dashboard/SloTemplateVariableScoping.test.ts +409 -588
- package/Tests/Utils/Dashboard/SloWidgetSource.test.ts +351 -0
- package/Tests/Utils/Markdown/MarkdownEscape.test.ts +361 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +1425 -118
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +188 -3
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +661 -13
- package/Tests/Utils/NetworkDiscovery/NetbiosNameUtil.test.ts +349 -0
- package/Tests/Utils/NetworkDiscovery/RunImportedDeviceNaming.test.ts +656 -0
- package/Tests/Utils/NetworkDiscovery/ShortDeviceNamePlanner.test.ts +1020 -0
- package/Tests/Utils/NetworkDiscovery/ShortHostnameUtil.test.ts +619 -0
- package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +317 -0
- package/Tests/Utils/Project/DataResidency.test.ts +198 -0
- package/Tests/Utils/Rules/RuleRunSummary.test.ts +394 -0
- package/Tests/Utils/Slo/SloAffectedResourceMarkdown.test.ts +302 -0
- package/Tests/Utils/Slo/SloBurnRateTemplate.test.ts +468 -0
- package/Tests/Utils/Slo/SloEvaluation.test.ts +20 -4
- package/Tests/Utils/Slo/SloFeedMarkdown.test.ts +1185 -0
- package/Tests/Utils/Slo/SloHealth.test.ts +262 -0
- package/Tests/Utils/Slo/SloHistoryMetricName.test.ts +102 -0
- package/Tests/Utils/Slo/SloListWidgetFormat.test.ts +522 -0
- package/Tests/Utils/Slo/SloMetricType.test.ts +355 -0
- package/Tests/Utils/Slo/SloMonitorRuleCriteria.test.ts +387 -0
- package/Tests/Utils/Slo/SloMonitorStatusSummary.test.ts +210 -0
- package/Tests/Utils/Slo/SloOverviewText.test.ts +226 -0
- package/Tests/Utils/Slo/SloProjection.test.ts +1039 -0
- package/Tests/Utils/Slo/SloWidgetFormat.test.ts +47 -0
- package/Tests/Utils/Telemetry/LockedFilterSearch.test.ts +1 -80
- package/Types/BaseDatabase/EnableAuditLogOn.ts +41 -0
- package/Types/Billing/SubscriptionStatus.ts +39 -4
- package/Types/Dashboard/DashboardComponentType.ts +1 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +5 -0
- package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +10 -0
- package/Types/Dashboard/DashboardComponents/DashboardSloListComponent.ts +29 -0
- package/Types/Dashboard/DashboardTemplates.ts +290 -297
- package/Types/Database/EnableAuditLog.ts +23 -1
- package/Types/Email/EmailTemplateType.ts +4 -0
- package/Types/Monitor/CriteriaFilter.ts +55 -8
- package/Types/Monitor/MonitorStep.ts +5 -2
- package/Types/Monitor/MonitorStepDnsMonitor.ts +3 -1
- package/Types/Monitor/MonitorStepDnssecMonitor.ts +3 -1
- package/Types/Monitor/MonitorStepDomainMonitor.ts +3 -1
- package/Types/Monitor/MonitorStepExternalStatusPageMonitor.ts +3 -1
- package/Types/Monitor/MonitorStepRetries.ts +59 -0
- package/Types/Monitor/MonitorStepSnmpMonitor.ts +9 -2
- package/Types/NetworkDevice/NetworkDeviceDiagnosticResult.ts +104 -0
- package/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.ts +47 -0
- package/Types/NetworkDevice/NetworkDeviceDiagnosticType.ts +47 -0
- package/Types/NetworkDevice/NetworkDevicePingMetricNames.ts +20 -0
- package/Types/Permission.ts +127 -0
- package/Types/Rules/RuleCriteriaFieldRegistry.ts +5 -0
- package/Types/Rules/RuleRun.ts +518 -0
- package/Types/Rum/SessionReplayApi.ts +18 -0
- package/Types/SecurityEvent/Connectors/ConnectorDiagnostics.ts +6 -0
- package/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.ts +30 -4
- package/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.ts +108 -1
- package/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.ts +6 -2
- package/Types/ServiceLevelObjective/SloHistoryMetricName.ts +25 -0
- package/Types/ServiceLevelObjective/SloMetricType.ts +49 -0
- package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +4 -0
- package/Types/StatusPage/SubscriberNotificationTemplateVariables.ts +331 -0
- package/Types/StatusPage/SubscriberNotificationTrigger.ts +12 -0
- package/Types/StatusPage/SubscriberUpdateNotification.ts +89 -0
- package/Types/Telemetry/LockedFilterDetail.ts +7 -28
- package/Types/Telemetry/ServiceType.ts +7 -0
- package/Typings/Index.d.ts +53 -3
- package/UI/Components/AlertBanner/AlertBanner.tsx +85 -27
- package/UI/Components/BulkUpdate/BulkArchiveActions.tsx +21 -2
- package/UI/Components/Detail/Detail.tsx +9 -2
- package/UI/Components/Dropdown/Dropdown.tsx +64 -1
- package/UI/Components/EmptyState/EmptyState.tsx +27 -3
- package/UI/Components/EmptyState/EmptyStateGuideLinks.tsx +124 -0
- package/UI/Components/Forms/ModelForm.tsx +6 -5
- package/UI/Components/LabelRule/LabelRuleTable.tsx +8 -2
- package/UI/Components/LogsViewer/LogsViewer.tsx +2 -6
- package/UI/Components/LogsViewer/components/ActiveFilterChips.tsx +2 -13
- package/UI/Components/LogsViewer/types.ts +2 -2
- package/UI/Components/MoreMenu/MoreMenu.tsx +14 -3
- package/UI/Components/RuleRun/RuleDetailFields.tsx +359 -0
- package/UI/Components/RuleRun/RuleTable.tsx +183 -0
- package/UI/Components/RuleRun/RuleView.tsx +170 -0
- package/UI/Components/RuleRun/RunRuleNowModal.tsx +147 -0
- package/UI/Components/RuleRun/RunRulesBulkAction.ts +103 -0
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +2 -6
- package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +38 -104
- package/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx +2 -18
- package/UI/Components/TelemetryViewer/types.ts +2 -2
- package/UI/Utils/Rules/RuleRunClient.ts +178 -0
- package/UI/Utils/Telemetry/TelemetryEntityNames.ts +8 -0
- package/Utils/Dashboard/Components/DashboardSloComponent.ts +19 -2
- package/Utils/Dashboard/Components/DashboardSloListComponent.ts +126 -0
- package/Utils/Dashboard/Components/Index.ts +7 -0
- package/Utils/Dashboard/SloWidgetSource.ts +188 -0
- package/Utils/Markdown/MarkdownEscape.ts +63 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +161 -36
- package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +25 -0
- package/Utils/NetworkDiscovery/NetbiosNameUtil.ts +146 -0
- package/Utils/NetworkDiscovery/RunImportedDeviceNaming.ts +390 -0
- package/Utils/NetworkDiscovery/ShortDeviceNamePlanner.ts +291 -0
- package/Utils/NetworkDiscovery/ShortHostnameUtil.ts +91 -0
- package/Utils/NetworkSite/CidrMatchUtil.ts +37 -12
- package/Utils/Project/DataResidency.ts +63 -0
- package/Utils/Rules/RuleRunSummary.ts +323 -0
- package/Utils/Slo/SloAffectedResourceMarkdown.ts +123 -0
- package/Utils/Slo/SloBurnRateTemplate.ts +373 -0
- package/Utils/Slo/SloFeedMarkdown.ts +1507 -0
- package/Utils/Slo/SloHealth.ts +96 -9
- package/Utils/Slo/SloListWidgetFormat.ts +370 -0
- package/Utils/Slo/SloMetricType.ts +237 -0
- package/Utils/Slo/SloMonitorRuleCriteria.ts +364 -0
- package/Utils/Slo/SloMonitorStatusSummary.ts +210 -0
- package/Utils/Slo/SloOverviewText.ts +265 -0
- package/Utils/Slo/SloProjection.ts +967 -0
- package/Utils/Slo/SloWidgetFormat.ts +12 -2
- package/Utils/Telemetry/LockedFilterSearch.ts +3 -49
- package/build/dist/Models/AnalyticsModels/AuditLog.js +70 -1
- package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js +4 -4
- package/build/dist/Models/DatabaseModels/Alert.js +60 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +64 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +75 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +75 -0
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +6 -4
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +68 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiagnostic.js +772 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiagnostic.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +140 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +42 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +75 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/SecurityEventConnection.js +11 -11
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +192 -10
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +798 -96
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js +596 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js +590 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveMonitorRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +16 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +16 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +75 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +1 -1
- package/build/dist/Server/API/BaseAPI.js +14 -0
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/BillingInvoiceAPI.js +233 -19
- package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
- package/build/dist/Server/API/BillingPaymentMethodAPI.js +86 -5
- package/build/dist/Server/API/BillingPaymentMethodAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +72 -2
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/SecurityEventConnectionAPI.js +102 -10
- package/build/dist/Server/API/SecurityEventConnectionAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +236 -154
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792800000000-AddNetworkDeviceDiagnostic.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792900000000-AddNetworkDeviceDnsNameAndShortDeviceNames.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.js +21 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793000000000-AddNetbiosLookupToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.js +207 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793100000000-SloProductOverhaul.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.js +72 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793200000000-BackfillSloMonitorRulesAndAffectedResources.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793300000000-AddDataResidencyToProject.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.js +46 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793400000000-AddSubscriberUpdateNotificationStatus.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +112 -56
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +167 -68
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +87 -26
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +270 -203
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +498 -354
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +97 -34
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +91 -8
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AuditLogService.js +408 -44
- package/build/dist/Server/Services/AuditLogService.js.map +1 -1
- package/build/dist/Server/Services/BillingInvoiceService.js +94 -85
- package/build/dist/Server/Services/BillingInvoiceService.js.map +1 -1
- package/build/dist/Server/Services/BillingService.js +406 -14
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +189 -101
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +135 -86
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +189 -100
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +117 -69
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +125 -18
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +189 -101
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +145 -91
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +191 -101
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +190 -102
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +112 -56
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +220 -63
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +87 -26
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +24 -0
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +258 -192
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +519 -376
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +95 -32
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPublicNoteService.js +24 -0
- package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +90 -5
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +113 -65
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +6 -4
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +117 -69
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +145 -91
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +191 -101
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/LabelService.js +20 -25
- package/build/dist/Server/Services/LabelService.js.map +1 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +123 -77
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +167 -82
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +18 -2
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +11 -9
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +287 -5
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiagnosticService.js +333 -0
- package/build/dist/Server/Services/NetworkDeviceDiagnosticService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +117 -69
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +36 -2
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +117 -64
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +173 -83
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +116 -65
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +189 -101
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +82 -10
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +189 -101
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +111 -63
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +161 -77
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +117 -69
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +280 -209
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +521 -376
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +24 -0
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +24 -8
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/SecurityEventConnectionService.js +43 -3
- package/build/dist/Server/Services/SecurityEventConnectionService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +115 -62
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +163 -77
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +769 -18
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveFeedService.js +96 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveFeedService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js +614 -87
- package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js +844 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveMonitorRuleService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +207 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +221 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js +997 -50
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +191 -102
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageAnnouncementService.js +12 -0
- package/build/dist/Server/Services/StatusPageAnnouncementService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +118 -70
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +158 -76
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +19 -215
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberService.js +6 -0
- package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -5
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/ThreatIntelFeedService.js +1 -1
- package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js +141 -92
- package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js +189 -101
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +117 -69
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +171 -83
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js +17 -0
- package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js.map +1 -1
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +31 -0
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +24 -1
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js +21 -1
- package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/SloTools.js +337 -53
- package/build/dist/Server/Utils/AI/Toolbox/SloTools.js.map +1 -1
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +108 -15
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js +2 -2
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js.map +1 -1
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js +115 -6
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js.map +1 -1
- package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +13 -0
- package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -1
- package/build/dist/Server/Utils/Database/RelationValueUtil.js +82 -0
- package/build/dist/Server/Utils/Database/RelationValueUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +10 -6
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +17 -21
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +5 -4
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js +50 -10
- package/build/dist/Server/Utils/Monitor/MonitorStepsProjectValidator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +13 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +6 -10
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Rules/MonitorRulePatternValidator.js +34 -0
- package/build/dist/Server/Utils/Rules/MonitorRulePatternValidator.js.map +1 -0
- package/build/dist/Server/Utils/Rules/OwnerRuleAssignment.js +69 -0
- package/build/dist/Server/Utils/Rules/OwnerRuleAssignment.js.map +1 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleApplication.js +25 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleApplication.js.map +1 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunPermission.js +128 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunPermission.js.map +1 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +746 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunner.js +221 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunner.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js +3 -2
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js +6 -4
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/{GoogleSecOps → Connectors/GoogleSecOps}/GoogleSecOpsClient.js +174 -14
- package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.js +1417 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js +138 -18
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js +1 -2
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js +23 -18
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js +2 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js +95 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +1 -1
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventDedupe.js +3 -3
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +2 -2
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +118 -40
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
- package/build/dist/Server/Utils/Slo/SloFeedUtil.js +150 -0
- package/build/dist/Server/Utils/Slo/SloFeedUtil.js.map +1 -0
- package/build/dist/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.js +136 -0
- package/build/dist/Server/Utils/Slo/SloLegacyMonitorLabelAdoption.js.map +1 -0
- package/build/dist/Server/Utils/Slo/SloMetricUtil.js +269 -0
- package/build/dist/Server/Utils/Slo/SloMetricUtil.js.map +1 -0
- package/build/dist/Server/Utils/Slo/SloOwnerReferenceValidator.js +134 -0
- package/build/dist/Server/Utils/Slo/SloOwnerReferenceValidator.js.map +1 -0
- package/build/dist/Server/Utils/Slo/SloRecordReferenceValidator.js +137 -0
- package/build/dist/Server/Utils/Slo/SloRecordReferenceValidator.js.map +1 -0
- package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js +6 -26
- package/build/dist/Server/Utils/StatusPage/MonitorRulePatternValidator.js.map +1 -1
- package/build/dist/Server/Utils/StatusPageResource.js +31 -5
- package/build/dist/Server/Utils/StatusPageResource.js.map +1 -1
- package/build/dist/Types/Billing/SubscriptionStatus.js +37 -3
- package/build/dist/Types/Billing/SubscriptionStatus.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +5 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +275 -286
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Database/EnableAuditLog.js +19 -1
- package/build/dist/Types/Database/EnableAuditLog.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +4 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +45 -6
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +2 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDnsMonitor.js +3 -1
- package/build/dist/Types/Monitor/MonitorStepDnsMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDnssecMonitor.js +3 -1
- package/build/dist/Types/Monitor/MonitorStepDnssecMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js +3 -1
- package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepExternalStatusPageMonitor.js +3 -1
- package/build/dist/Types/Monitor/MonitorStepExternalStatusPageMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepRetries.js +47 -0
- package/build/dist/Types/Monitor/MonitorStepRetries.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js +3 -1
- package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js.map +1 -1
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticResult.js +29 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticResult.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.js +37 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticStatus.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticType.js +42 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceDiagnosticType.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDevicePingMetricNames.js +20 -0
- package/build/dist/Types/NetworkDevice/NetworkDevicePingMetricNames.js.map +1 -0
- package/build/dist/Types/Permission.js +114 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +5 -0
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
- package/build/dist/Types/Rules/RuleRun.js +267 -0
- package/build/dist/Types/Rules/RuleRun.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -1
- package/build/dist/Types/SecurityEvent/Connectors/ConnectorDiagnostics.js.map +1 -1
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js +16 -1
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js.map +1 -1
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js +65 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js.map +1 -1
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js +6 -2
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js.map +1 -1
- package/build/dist/Types/ServiceLevelObjective/SloHistoryMetricName.js +26 -0
- package/build/dist/Types/ServiceLevelObjective/SloHistoryMetricName.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloMetricType.js +45 -0
- package/build/dist/Types/ServiceLevelObjective/SloMetricType.js.map +1 -0
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +4 -0
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
- package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js +295 -0
- package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js.map +1 -0
- package/build/dist/Types/StatusPage/SubscriberNotificationTrigger.js +13 -0
- package/build/dist/Types/StatusPage/SubscriberNotificationTrigger.js.map +1 -0
- package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js +67 -0
- package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js.map +1 -0
- package/build/dist/Types/Telemetry/LockedFilterDetail.js +7 -7
- package/build/dist/Types/Telemetry/ServiceType.js +7 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/AlertBanner/AlertBanner.js +48 -19
- package/build/dist/UI/Components/AlertBanner/AlertBanner.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkArchiveActions.js +10 -2
- package/build/dist/UI/Components/BulkUpdate/BulkArchiveActions.js.map +1 -1
- package/build/dist/UI/Components/Detail/Detail.js +12 -3
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js +33 -5
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/EmptyState/EmptyState.js +3 -3
- package/build/dist/UI/Components/EmptyState/EmptyState.js.map +1 -1
- package/build/dist/UI/Components/EmptyState/EmptyStateGuideLinks.js +47 -0
- package/build/dist/UI/Components/EmptyState/EmptyStateGuideLinks.js.map +1 -0
- package/build/dist/UI/Components/Forms/ModelForm.js +6 -5
- package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
- package/build/dist/UI/Components/LabelRule/LabelRuleTable.js +6 -2
- package/build/dist/UI/Components/LabelRule/LabelRuleTable.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js +0 -2
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js +3 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
- package/build/dist/UI/Components/RuleRun/RuleDetailFields.js +226 -0
- package/build/dist/UI/Components/RuleRun/RuleDetailFields.js.map +1 -0
- package/build/dist/UI/Components/RuleRun/RuleTable.js +97 -0
- package/build/dist/UI/Components/RuleRun/RuleTable.js.map +1 -0
- package/build/dist/UI/Components/RuleRun/RuleView.js +83 -0
- package/build/dist/UI/Components/RuleRun/RuleView.js.map +1 -0
- package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js +74 -0
- package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js.map +1 -0
- package/build/dist/UI/Components/RuleRun/RunRulesBulkAction.js +78 -0
- package/build/dist/UI/Components/RuleRun/RunRulesBulkAction.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +24 -50
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js +0 -4
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js.map +1 -1
- package/build/dist/UI/Utils/Rules/RuleRunClient.js +98 -0
- package/build/dist/UI/Utils/Rules/RuleRunClient.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js +8 -0
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +16 -2
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardSloListComponent.js +94 -0
- package/build/dist/Utils/Dashboard/Components/DashboardSloListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Dashboard/SloWidgetSource.js +125 -0
- package/build/dist/Utils/Dashboard/SloWidgetSource.js.map +1 -0
- package/build/dist/Utils/Markdown/MarkdownEscape.js +49 -0
- package/build/dist/Utils/Markdown/MarkdownEscape.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +112 -34
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +22 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js +129 -0
- package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/RunImportedDeviceNaming.js +255 -0
- package/build/dist/Utils/NetworkDiscovery/RunImportedDeviceNaming.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/ShortDeviceNamePlanner.js +184 -0
- package/build/dist/Utils/NetworkDiscovery/ShortDeviceNamePlanner.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/ShortHostnameUtil.js +79 -0
- package/build/dist/Utils/NetworkDiscovery/ShortHostnameUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +21 -12
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -1
- package/build/dist/Utils/Project/DataResidency.js +51 -0
- package/build/dist/Utils/Project/DataResidency.js.map +1 -0
- package/build/dist/Utils/Rules/RuleRunSummary.js +197 -0
- package/build/dist/Utils/Rules/RuleRunSummary.js.map +1 -0
- package/build/dist/Utils/Slo/SloAffectedResourceMarkdown.js +51 -0
- package/build/dist/Utils/Slo/SloAffectedResourceMarkdown.js.map +1 -0
- package/build/dist/Utils/Slo/SloBurnRateTemplate.js +228 -0
- package/build/dist/Utils/Slo/SloBurnRateTemplate.js.map +1 -0
- package/build/dist/Utils/Slo/SloFeedMarkdown.js +934 -0
- package/build/dist/Utils/Slo/SloFeedMarkdown.js.map +1 -0
- package/build/dist/Utils/Slo/SloHealth.js +75 -9
- package/build/dist/Utils/Slo/SloHealth.js.map +1 -1
- package/build/dist/Utils/Slo/SloListWidgetFormat.js +217 -0
- package/build/dist/Utils/Slo/SloListWidgetFormat.js.map +1 -0
- package/build/dist/Utils/Slo/SloMetricType.js +212 -0
- package/build/dist/Utils/Slo/SloMetricType.js.map +1 -0
- package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js +216 -0
- package/build/dist/Utils/Slo/SloMonitorRuleCriteria.js.map +1 -0
- package/build/dist/Utils/Slo/SloMonitorStatusSummary.js +129 -0
- package/build/dist/Utils/Slo/SloMonitorStatusSummary.js.map +1 -0
- package/build/dist/Utils/Slo/SloOverviewText.js +110 -0
- package/build/dist/Utils/Slo/SloOverviewText.js.map +1 -0
- package/build/dist/Utils/Slo/SloProjection.js +448 -0
- package/build/dist/Utils/Slo/SloProjection.js.map +1 -0
- package/build/dist/Utils/Slo/SloWidgetFormat.js +4 -2
- package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -1
- package/build/dist/Utils/Telemetry/LockedFilterSearch.js +1 -26
- package/build/dist/Utils/Telemetry/LockedFilterSearch.js.map +1 -1
- package/package.json +1 -1
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +0 -447
- package/Models/DatabaseModels/GoogleSecOpsConnectionRun.ts +0 -263
- package/Server/API/GoogleSecOpsConnectionAPI.ts +0 -320
- package/Server/Services/GoogleSecOpsConnectionRunService.ts +0 -10
- package/Server/Services/GoogleSecOpsConnectionService.ts +0 -116
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.ts +0 -777
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +0 -1373
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.ts +0 -512
- package/Tests/App/Dashboard/GoogleSecOpsConnectionForm.test.tsx +0 -838
- package/Tests/App/Dashboard/GoogleSecOpsConnectionsErrors.test.tsx +0 -441
- package/Tests/App/Dashboard/GoogleSecOpsDiagnostics.test.tsx +0 -1001
- package/Tests/Server/API/GoogleSecOpsConnectionAPI.test.ts +0 -657
- package/Tests/Server/Services/GoogleSecOpsDiagnosticsModel.test.ts +0 -153
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.test.ts +0 -784
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.test.ts +0 -823
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsDiagnostics.test.ts +0 -918
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +0 -738
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +0 -874
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +0 -1297
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsThreePassPoller.test.ts +0 -1577
- package/Tests/UI/Components/LockedFilterActions.test.tsx +0 -396
- package/Types/SecurityEvent/GoogleSecOpsDiagnostics.ts +0 -111
- package/UI/Components/TelemetryViewer/components/LockedFilterActions.tsx +0 -205
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +0 -478
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +0 -1
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js +0 -287
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js.map +0 -1
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js +0 -231
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js.map +0 -1
- package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js +0 -9
- package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js.map +0 -1
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js +0 -70
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js.map +0 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +0 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js +0 -537
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js.map +0 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +0 -1034
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +0 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js +0 -410
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js.map +0 -1
- package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js +0 -2
- package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js.map +0 -1
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js +0 -88
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import IconProp from "../../../Types/Icon/IconProp";
|
|
2
|
+
import { RuleRunTypeUtil } from "../../../Types/Rules/RuleRun";
|
|
3
|
+
import RuleRunSummary from "../../../Utils/Rules/RuleRunSummary";
|
|
4
|
+
import Navigation from "../../Utils/Navigation";
|
|
5
|
+
import PermissionGate, { ModelAction, } from "../../Utils/PermissionGate";
|
|
6
|
+
import { ButtonStyleType } from "../Button/Button";
|
|
7
|
+
import Card from "../Card/Card";
|
|
8
|
+
import ModelDelete from "../ModelDelete/ModelDelete";
|
|
9
|
+
import CardModelDetail from "../ModelDetail/CardModelDetail";
|
|
10
|
+
import FieldType from "../Types/FieldType";
|
|
11
|
+
import { getRuleDetailFields } from "./RuleDetailFields";
|
|
12
|
+
import RunRuleNowModal from "./RunRuleNowModal";
|
|
13
|
+
import React, { Fragment, useMemo, useState } from "react";
|
|
14
|
+
/*
|
|
15
|
+
* A rule's own page: its details (editable with the same form as the table),
|
|
16
|
+
* "Run Now", and delete.
|
|
17
|
+
*/
|
|
18
|
+
const RuleView = (props) => {
|
|
19
|
+
const model = useMemo(() => {
|
|
20
|
+
return new props.modelType();
|
|
21
|
+
}, [props.modelType]);
|
|
22
|
+
const ruleType = RuleRunTypeUtil.fromTableName(model.tableName);
|
|
23
|
+
const [rule, setRule] = useState(null);
|
|
24
|
+
const [isRunModalOpen, setIsRunModalOpen] = useState(false);
|
|
25
|
+
const detail = useMemo(() => {
|
|
26
|
+
return getRuleDetailFields({ model: model, formFields: props.formFields });
|
|
27
|
+
}, [model, props.formFields]);
|
|
28
|
+
const updateGate = PermissionGate.check(model, ModelAction.Update);
|
|
29
|
+
const singularName = model.singularName || "Rule";
|
|
30
|
+
const ruleValues = (rule || {});
|
|
31
|
+
const ruleName = typeof ruleValues["name"] === "string" ? ruleValues["name"] : undefined;
|
|
32
|
+
const isEnabled = ruleValues["isEnabled"] === true;
|
|
33
|
+
const runNowTooltip = updateGate.disabledReason ||
|
|
34
|
+
(rule && !isEnabled
|
|
35
|
+
? "This rule is disabled. Enable it before running it."
|
|
36
|
+
: undefined);
|
|
37
|
+
return (React.createElement(Fragment, null,
|
|
38
|
+
React.createElement(CardModelDetail, { name: `${singularName} Details`, cardProps: {
|
|
39
|
+
title: ruleName || `${singularName} Details`,
|
|
40
|
+
description: `Here are the details of this ${singularName.toLowerCase()}.`,
|
|
41
|
+
}, isEditable: true, formSteps: props.formSteps, formFields: props.formFields, createEditModalWidth: props.createEditModalWidth, modelAPI: props.modelAPI, modelDetailProps: {
|
|
42
|
+
modelType: props.modelType,
|
|
43
|
+
id: "rule-view-detail",
|
|
44
|
+
modelId: props.ruleId,
|
|
45
|
+
modelAPI: props.modelAPI,
|
|
46
|
+
showDetailsInNumberOfColumns: 2,
|
|
47
|
+
selectMoreFields: Object.assign(Object.assign({}, detail.selectMoreFields), { name: true, isEnabled: true }),
|
|
48
|
+
onItemLoaded: (item) => {
|
|
49
|
+
setRule(item);
|
|
50
|
+
},
|
|
51
|
+
fields: [
|
|
52
|
+
{
|
|
53
|
+
field: { _id: true },
|
|
54
|
+
title: "Rule ID",
|
|
55
|
+
fieldType: FieldType.ObjectID,
|
|
56
|
+
},
|
|
57
|
+
...detail.fields,
|
|
58
|
+
],
|
|
59
|
+
} }),
|
|
60
|
+
ruleType && (updateGate.isAllowed || updateGate.disabledReason) ? (React.createElement(Card, { title: "Run Now", description: RuleRunSummary.describeRunNowCard(ruleType), buttons: [
|
|
61
|
+
{
|
|
62
|
+
title: "Run Now",
|
|
63
|
+
icon: IconProp.Play,
|
|
64
|
+
buttonStyle: ButtonStyleType.NORMAL,
|
|
65
|
+
disabled: !updateGate.isAllowed || !isEnabled,
|
|
66
|
+
tooltip: runNowTooltip,
|
|
67
|
+
onClick: () => {
|
|
68
|
+
if (!updateGate.isAllowed || !isEnabled) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
setIsRunModalOpen(true);
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
] })) : (React.createElement(React.Fragment, null)),
|
|
75
|
+
React.createElement(ModelDelete, { modelType: props.modelType, modelId: props.ruleId, modelAPI: props.modelAPI, onDeleteSuccess: () => {
|
|
76
|
+
Navigation.navigate(props.listRoute);
|
|
77
|
+
} }),
|
|
78
|
+
ruleType && isRunModalOpen ? (React.createElement(RunRuleNowModal, { ruleType: ruleType, ruleId: props.ruleId.toString(), ruleName: ruleName, onClose: () => {
|
|
79
|
+
setIsRunModalOpen(false);
|
|
80
|
+
} })) : (React.createElement(React.Fragment, null))));
|
|
81
|
+
};
|
|
82
|
+
export default RuleView;
|
|
83
|
+
//# sourceMappingURL=RuleView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleView.js","sourceRoot":"","sources":["../../../../../UI/Components/RuleRun/RuleView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { RuleRunAction, RuleRunTypeUtil, } from "../../../Types/Rules/RuleRun";
|
|
2
|
+
import RuleRunSummary from "../../../Utils/Rules/RuleRunSummary";
|
|
3
|
+
import ModelAPI from "../../Utils/ModelAPI/ModelAPI";
|
|
4
|
+
import RuleRunClient from "../../Utils/Rules/RuleRunClient";
|
|
5
|
+
import CheckboxElement from "../Checkbox/Checkbox";
|
|
6
|
+
import ConfirmModal from "../Modal/ConfirmModal";
|
|
7
|
+
import React, { useCallback, useState, } from "react";
|
|
8
|
+
/*
|
|
9
|
+
* "Run now" for one rule: a confirmation first - owner rules ask whether to
|
|
10
|
+
* notify the owners the run adds, and that choice belongs before the run - then
|
|
11
|
+
* a progress line while passes chain, then the same modal turned into the
|
|
12
|
+
* report of what the run did.
|
|
13
|
+
*/
|
|
14
|
+
const RunRuleNowModal = (props) => {
|
|
15
|
+
const [isRunning, setIsRunning] = useState(false);
|
|
16
|
+
const [error, setError] = useState("");
|
|
17
|
+
const [summary, setSummary] = useState("");
|
|
18
|
+
const [progress, setProgress] = useState("");
|
|
19
|
+
const [notifyOwners, setNotifyOwners] = useState(false);
|
|
20
|
+
const meta = RuleRunTypeUtil.getMetadata(props.ruleType);
|
|
21
|
+
const isOwnerRule = meta.action === RuleRunAction.AddOwners;
|
|
22
|
+
const runRule = useCallback(async () => {
|
|
23
|
+
setIsRunning(true);
|
|
24
|
+
setError("");
|
|
25
|
+
setProgress("");
|
|
26
|
+
const outcome = await RuleRunClient.run({
|
|
27
|
+
ruleType: props.ruleType,
|
|
28
|
+
ruleId: props.ruleId,
|
|
29
|
+
notifyOwners: isOwnerRule && notifyOwners,
|
|
30
|
+
headers: ModelAPI.getCommonHeaders(),
|
|
31
|
+
onProgress: (result) => {
|
|
32
|
+
setProgress(RuleRunSummary.describeProgress({
|
|
33
|
+
ruleType: props.ruleType,
|
|
34
|
+
result: result,
|
|
35
|
+
}));
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
setProgress("");
|
|
39
|
+
if (outcome.isSuccess) {
|
|
40
|
+
setSummary(outcome.message);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
setError(outcome.message);
|
|
44
|
+
}
|
|
45
|
+
setIsRunning(false);
|
|
46
|
+
if (props.onRunComplete) {
|
|
47
|
+
props.onRunComplete(outcome.result);
|
|
48
|
+
}
|
|
49
|
+
}, [
|
|
50
|
+
props.ruleType,
|
|
51
|
+
props.ruleId,
|
|
52
|
+
props.onRunComplete,
|
|
53
|
+
isOwnerRule,
|
|
54
|
+
notifyOwners,
|
|
55
|
+
]);
|
|
56
|
+
const title = props.ruleName
|
|
57
|
+
? `Run "${props.ruleName}" Now`
|
|
58
|
+
: "Run This Rule Now";
|
|
59
|
+
/*
|
|
60
|
+
* Once the run has answered, the modal stops being a confirmation and
|
|
61
|
+
* becomes the report: one button, and it closes.
|
|
62
|
+
*/
|
|
63
|
+
if (summary) {
|
|
64
|
+
return (React.createElement(ConfirmModal, { title: title, description: summary, submitButtonText: "Close", onSubmit: props.onClose }));
|
|
65
|
+
}
|
|
66
|
+
return (React.createElement(ConfirmModal, { title: title, description: RuleRunSummary.describeConfirmation(props.ruleType), error: error || undefined, isLoading: isRunning, submitButtonText: "Run Rule", onSubmit: runRule, onClose: isRunning ? undefined : props.onClose },
|
|
67
|
+
React.createElement("div", null,
|
|
68
|
+
isOwnerRule ? (React.createElement(CheckboxElement, { title: "Notify the owners this run adds", description: `Off by default, and only honoured when the rule itself has Notify Owners turned on. An owner is notified once for every ${meta.resourceSingular} they are added to, which on a large project can be a lot of notifications.`, value: notifyOwners, dataTestId: "run-rule-notify-owners-checkbox", onChange: (value) => {
|
|
69
|
+
setNotifyOwners(value);
|
|
70
|
+
} })) : (React.createElement(React.Fragment, null)),
|
|
71
|
+
progress ? (React.createElement("p", { className: "mt-3 text-sm text-gray-600", "data-testid": "run-rule-progress" }, progress)) : (React.createElement(React.Fragment, null)))));
|
|
72
|
+
};
|
|
73
|
+
export default RunRuleNowModal;
|
|
74
|
+
//# sourceMappingURL=RunRuleNowModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunRuleNowModal.js","sourceRoot":"","sources":["../../../../../UI/Components/RuleRun/RunRuleNowModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import IconProp from "../../../Types/Icon/IconProp";
|
|
2
|
+
import RuleRunSummary from "../../../Utils/Rules/RuleRunSummary";
|
|
3
|
+
import ModelAPI from "../../Utils/ModelAPI/ModelAPI";
|
|
4
|
+
import PermissionGate, { ModelAction, } from "../../Utils/PermissionGate";
|
|
5
|
+
import RuleRunClient from "../../Utils/Rules/RuleRunClient";
|
|
6
|
+
import { ButtonStyleType } from "../Button/Button";
|
|
7
|
+
/*
|
|
8
|
+
* "Run Now" in a rule table's bulk actions: every selected rule, one after
|
|
9
|
+
* another, each run to completion before the next starts.
|
|
10
|
+
*
|
|
11
|
+
* Sequential on purpose. Two rules running at once over the same resources
|
|
12
|
+
* would race each other's "is this label already attached" reads, and one run
|
|
13
|
+
* at a time is also what keeps a bulk press from multiplying load on the API.
|
|
14
|
+
*
|
|
15
|
+
* A bulk run never notifies added owners - it has no place to ask - and its
|
|
16
|
+
* confirmation says so.
|
|
17
|
+
*/
|
|
18
|
+
export function getRunRulesBulkAction(data) {
|
|
19
|
+
// Running a rule is a use of it, gated like editing it; the server re-checks.
|
|
20
|
+
const gate = PermissionGate.check(new data.modelType(), ModelAction.Update);
|
|
21
|
+
return {
|
|
22
|
+
title: "Run Now",
|
|
23
|
+
icon: IconProp.Play,
|
|
24
|
+
buttonStyleType: ButtonStyleType.NORMAL,
|
|
25
|
+
disabled: !gate.isAllowed,
|
|
26
|
+
tooltip: gate.disabledReason,
|
|
27
|
+
confirmTitle: (items) => {
|
|
28
|
+
return items.length === 1
|
|
29
|
+
? "Run 1 Rule Now"
|
|
30
|
+
: `Run ${items.length} Rules Now`;
|
|
31
|
+
},
|
|
32
|
+
confirmMessage: (items) => {
|
|
33
|
+
return RuleRunSummary.describeBulkConfirmation({
|
|
34
|
+
ruleType: data.ruleType,
|
|
35
|
+
ruleCount: items.length,
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
confirmButtonStyleType: ButtonStyleType.PRIMARY,
|
|
39
|
+
onClick: async (props) => {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
if (!gate.isAllowed) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
props.onBulkActionStart();
|
|
45
|
+
const totalItems = [...props.items];
|
|
46
|
+
const inProgressItems = [...props.items];
|
|
47
|
+
const successItems = [];
|
|
48
|
+
const failedItems = [];
|
|
49
|
+
for (const item of totalItems) {
|
|
50
|
+
inProgressItems.splice(inProgressItems.indexOf(item), 1);
|
|
51
|
+
const outcome = await RuleRunClient.run({
|
|
52
|
+
ruleType: data.ruleType,
|
|
53
|
+
ruleId: ((_a = item.id) === null || _a === void 0 ? void 0 : _a.toString()) || ((_b = item._id) === null || _b === void 0 ? void 0 : _b.toString()) || "",
|
|
54
|
+
notifyOwners: false,
|
|
55
|
+
headers: ModelAPI.getCommonHeaders(),
|
|
56
|
+
});
|
|
57
|
+
if (outcome.isSuccess) {
|
|
58
|
+
successItems.push(item);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
failedItems.push({
|
|
62
|
+
item: item,
|
|
63
|
+
failedMessage: outcome.message,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
props.onProgressInfo({
|
|
67
|
+
totalItems: totalItems,
|
|
68
|
+
failed: failedItems,
|
|
69
|
+
successItems: successItems,
|
|
70
|
+
inProgressItems: inProgressItems,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
props.onBulkActionEnd();
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export default getRunRulesBulkAction;
|
|
78
|
+
//# sourceMappingURL=RunRulesBulkAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunRulesBulkAction.js","sourceRoot":"","sources":["../../../../../UI/Components/RuleRun/RunRulesBulkAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ function TelemetryViewerInner(props) {
|
|
|
54
54
|
}, onClearAll: () => {
|
|
55
55
|
var _a;
|
|
56
56
|
(_a = props.onClearAllFilters) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
57
|
-
}, signal: props.lockedFilterSignal
|
|
57
|
+
}, signal: props.lockedFilterSignal })),
|
|
58
58
|
props.mainContentOverride,
|
|
59
59
|
!props.mainContentOverride &&
|
|
60
60
|
showHistogram &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAWvD,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAC7E,OAAO,kBAEN,MAAM,iCAAiC,CAAC;AACzC,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,28 +8,27 @@ import { TELEMETRY_EXPLORER_LABELS, } from "../../../../Utils/Telemetry/LockedFi
|
|
|
8
8
|
* The grey lock chip every telemetry explorer shows for a filter its host
|
|
9
9
|
* page pinned — "Cluster: production" on a Kubernetes cluster's Logs tab.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* spells all of that out and offers the search syntax to copy; without one it
|
|
16
|
-
* keeps the plain, non-focusable pill it always was — a chip with nothing to
|
|
17
|
-
* open must not be a tab stop.
|
|
11
|
+
* When the builder attaches a LockedFilterDetail the chip carries a tooltip
|
|
12
|
+
* with the search syntax that reproduces the filter on the main explorer, and
|
|
13
|
+
* a button to copy it; without one it keeps the plain, non-focusable pill it
|
|
14
|
+
* always was — a chip with nothing to open must not be a tab stop.
|
|
18
15
|
*
|
|
19
|
-
* Keyboard path: the
|
|
16
|
+
* Keyboard path: the search syntax lives in a Tippy popover that is appended
|
|
20
17
|
* after the chip row, so Tab from the chip lands on the next chip and never
|
|
21
18
|
* inside the popover. The chip with a detail is therefore a real button —
|
|
22
|
-
* focus opens the
|
|
19
|
+
* focus opens the tooltip (Tippy's focus trigger, read out through
|
|
23
20
|
* aria-describedby), and Enter / Space copies the search syntax right there,
|
|
24
21
|
* with the result announced through a live region.
|
|
25
22
|
*
|
|
26
23
|
* Shared by the logs chip list and the traces / metrics chip list so the two
|
|
27
|
-
*
|
|
24
|
+
* present a locked filter the same way.
|
|
28
25
|
*/
|
|
29
26
|
export const COPIED_FEEDBACK_MS = 1500;
|
|
30
27
|
export const LOCKED_FILTER_CHIP_CLASS_NAME = "inline-flex items-center gap-1 rounded-md border border-gray-300 bg-gray-100 py-0.5 pl-2 pr-2 text-xs text-gray-700";
|
|
31
28
|
export const COPIED_SEARCH_SYNTAX_ANNOUNCEMENT = "Copied search syntax";
|
|
32
29
|
export const COPY_FAILED_ANNOUNCEMENT = "Copy failed";
|
|
30
|
+
/** Shown in the tooltip when a detail names neither a token nor a reason. */
|
|
31
|
+
export const NO_SEARCH_SYNTAX_REASON = "This filter has no search syntax.";
|
|
33
32
|
/**
|
|
34
33
|
* The accessible name of a chip that carries a detail. It names the filter,
|
|
35
34
|
* says it is locked, and — when there is syntax to copy — tells a keyboard
|
|
@@ -127,42 +126,17 @@ const SearchSyntaxRow = (props) => {
|
|
|
127
126
|
: "Paste into the explorer search bar.")));
|
|
128
127
|
};
|
|
129
128
|
/**
|
|
130
|
-
* The body of the locked chip's tooltip
|
|
131
|
-
*
|
|
129
|
+
* The body of the locked chip's tooltip: the search syntax that reproduces
|
|
130
|
+
* the filter on the explorer, with a Copy button — or, when the grammar
|
|
131
|
+
* cannot spell the filter, the reason why. Nothing else: the syntax is what a
|
|
132
|
+
* reader opens the chip for. Exported so tests can render it without going
|
|
133
|
+
* through Tippy's hover timers.
|
|
132
134
|
*/
|
|
133
135
|
export const LockedFilterTooltipContent = (props) => {
|
|
134
136
|
const detail = props.lockedDetail;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
? detail.
|
|
138
|
-
? "(any of)"
|
|
139
|
-
: "(all of)"
|
|
140
|
-
: null;
|
|
141
|
-
return (React.createElement("div", { className: "w-80 max-w-full space-y-2 p-1 text-left text-xs", "data-testid": "locked-filter-tooltip" },
|
|
142
|
-
React.createElement("div", { className: "flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wider text-gray-400" },
|
|
143
|
-
React.createElement(Icon, { icon: IconProp.Lock, className: "h-3 w-3" }),
|
|
144
|
-
React.createElement("span", null, "Locked filter")),
|
|
145
|
-
React.createElement("div", { className: "font-medium text-gray-900" },
|
|
146
|
-
React.createElement("span", { className: "text-gray-500" },
|
|
147
|
-
props.displayKey,
|
|
148
|
-
":"),
|
|
149
|
-
" ",
|
|
150
|
-
React.createElement("span", { className: "break-all" }, props.displayValue)),
|
|
151
|
-
React.createElement("p", { className: "text-gray-700" }, detail.summary),
|
|
152
|
-
React.createElement("p", { className: "text-[11px] text-gray-400" }, detail.source),
|
|
153
|
-
predicates.length > 0 && (React.createElement("div", { className: "space-y-1 border-t border-gray-100 pt-2" },
|
|
154
|
-
React.createElement("div", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-400" },
|
|
155
|
-
"How rows are matched",
|
|
156
|
-
combinatorLabel ? ` ${combinatorLabel}` : ""),
|
|
157
|
-
React.createElement("ul", { className: "space-y-1.5" }, predicates.map((predicate, index) => {
|
|
158
|
-
return (React.createElement("li", { key: `${predicate.label}-${index}`, className: "space-y-0.5" },
|
|
159
|
-
React.createElement("div", { className: "text-[11px] text-gray-500" }, predicate.label),
|
|
160
|
-
React.createElement("code", { className: "block break-all rounded bg-gray-50 px-1.5 py-0.5 font-mono text-[11px] text-gray-800" }, predicate.expression),
|
|
161
|
-
predicate.note && (React.createElement("p", { className: "text-[11px] text-gray-400" }, predicate.note))));
|
|
162
|
-
})))),
|
|
163
|
-
(detail.searchToken || detail.searchTokenUnavailableReason) && (React.createElement("div", { className: "space-y-1 border-t border-gray-100 pt-2" },
|
|
164
|
-
React.createElement("div", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-400" }, "Search syntax"),
|
|
165
|
-
detail.searchToken ? (React.createElement(SearchSyntaxRow, { searchToken: detail.searchToken, signal: props.signal })) : (React.createElement("p", { className: "text-[11px] text-gray-400" }, detail.searchTokenUnavailableReason))))));
|
|
137
|
+
return (React.createElement("div", { className: "w-80 max-w-full space-y-1 p-1 text-left text-xs", "data-testid": "locked-filter-tooltip" },
|
|
138
|
+
React.createElement("div", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-400" }, "Search syntax"),
|
|
139
|
+
detail.searchToken ? (React.createElement(SearchSyntaxRow, { searchToken: detail.searchToken, signal: props.signal })) : (React.createElement("p", { className: "text-[11px] text-gray-400" }, detail.searchTokenUnavailableReason || NO_SEARCH_SYNTAX_REASON))));
|
|
166
140
|
};
|
|
167
141
|
const LockedFilterChipBody = (props) => {
|
|
168
142
|
return (React.createElement(React.Fragment, null,
|
|
@@ -182,10 +156,10 @@ const LockedFilterChipBody = (props) => {
|
|
|
182
156
|
};
|
|
183
157
|
/*
|
|
184
158
|
* The chip that has something to say. The control is a native button so it
|
|
185
|
-
* is focusable with a role that permits a name; Tippy attaches
|
|
186
|
-
*
|
|
159
|
+
* is focusable with a role that permits a name; Tippy attaches the search
|
|
160
|
+
* syntax tooltip to it (focus and hover open it; aria-describedby reads it).
|
|
187
161
|
*/
|
|
188
|
-
const
|
|
162
|
+
const DetailedLockedFilterChip = (props) => {
|
|
189
163
|
const feedback = useCopiedFeedback();
|
|
190
164
|
const searchToken = props.lockedDetail.searchToken;
|
|
191
165
|
const announcement = feedback.copied
|
|
@@ -197,7 +171,7 @@ const ExplainedLockedFilterChip = (props) => {
|
|
|
197
171
|
/*
|
|
198
172
|
* Enter and Space arrive here as clicks on a native button. A chip
|
|
199
173
|
* without syntax has nothing to copy; its button exists so the
|
|
200
|
-
*
|
|
174
|
+
* reason in its tooltip is reachable from the keyboard at all.
|
|
201
175
|
*/
|
|
202
176
|
event.preventDefault();
|
|
203
177
|
event.stopPropagation();
|
|
@@ -207,14 +181,14 @@ const ExplainedLockedFilterChip = (props) => {
|
|
|
207
181
|
} },
|
|
208
182
|
React.createElement(LockedFilterChipBody, { displayKey: props.displayKey, displayValue: props.displayValue, copied: feedback.copied, failed: feedback.failed })));
|
|
209
183
|
return (React.createElement("span", { className: LOCKED_FILTER_CHIP_CLASS_NAME, "data-testid": "locked-filter-chip" },
|
|
210
|
-
React.createElement(Tooltip, { richContent: React.createElement(LockedFilterTooltipContent, {
|
|
184
|
+
React.createElement(Tooltip, { richContent: React.createElement(LockedFilterTooltipContent, { lockedDetail: props.lockedDetail, signal: props.signal }) }, control),
|
|
211
185
|
props.trailing,
|
|
212
186
|
React.createElement("span", { className: "sr-only", "aria-live": "polite", role: "status" }, announcement)));
|
|
213
187
|
};
|
|
214
188
|
const LockedFilterChip = (props) => {
|
|
215
189
|
if (!props.lockedDetail) {
|
|
216
190
|
/*
|
|
217
|
-
* Exactly the pill from before the
|
|
191
|
+
* Exactly the pill from before the tooltip: not focusable, no name of
|
|
218
192
|
* its own, the plain title. Nothing would open on focus, so a tab stop
|
|
219
193
|
* here would be a dead one.
|
|
220
194
|
*/
|
|
@@ -222,7 +196,7 @@ const LockedFilterChip = (props) => {
|
|
|
222
196
|
React.createElement(LockedFilterChipBody, { displayKey: props.displayKey, displayValue: props.displayValue, copied: false, failed: false }),
|
|
223
197
|
props.trailing));
|
|
224
198
|
}
|
|
225
|
-
return (React.createElement(
|
|
199
|
+
return (React.createElement(DetailedLockedFilterChip, { displayKey: props.displayKey, displayValue: props.displayValue, lockedDetail: props.lockedDetail, signal: props.signal, trailing: props.trailing }));
|
|
226
200
|
};
|
|
227
201
|
export default LockedFilterChip;
|
|
228
202
|
//# sourceMappingURL=LockedFilterChip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LockedFilterChip.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/LockedFilterChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAIZ,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,SAAS,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"LockedFilterChip.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/LockedFilterChip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import Icon from "../../Icon/Icon";
|
|
3
3
|
import IconProp from "../../../../Types/Icon/IconProp";
|
|
4
4
|
import LockedFilterChip from "./LockedFilterChip";
|
|
5
|
-
import LockedFilterActions from "./LockedFilterActions";
|
|
6
5
|
const TelemetryActiveFilterChips = (props) => {
|
|
7
6
|
if (props.filters.length === 0) {
|
|
8
7
|
return null;
|
|
@@ -18,9 +17,6 @@ const TelemetryActiveFilterChips = (props) => {
|
|
|
18
17
|
const chipKey = `readonly:${filter.facetKey}:${filter.value}`;
|
|
19
18
|
return (React.createElement(LockedFilterChip, { key: chipKey, displayKey: filter.displayKey, displayValue: filter.displayValue, lockedDetail: filter.lockedDetail, signal: props.signal }));
|
|
20
19
|
}),
|
|
21
|
-
readOnlyFilters.length > 0 &&
|
|
22
|
-
props.signal &&
|
|
23
|
-
props.lockedFilterActions && (React.createElement(LockedFilterActions, Object.assign({ signal: props.signal }, props.lockedFilterActions))),
|
|
24
20
|
removableFilters.map((filter) => {
|
|
25
21
|
const chipKey = `${filter.facetKey}:${filter.value}`;
|
|
26
22
|
return (React.createElement("span", { key: chipKey, className: "inline-flex items-center gap-1 rounded-md border border-indigo-200 bg-indigo-50 py-0.5 pl-2 pr-1 text-xs text-indigo-700" },
|
package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryActiveFilterChips.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TelemetryActiveFilterChips.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAelD,MAAM,0BAA0B,GAE5B,CAAC,KAAsC,EAAuB,EAAE;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,CAC/D,CAAC,CAAe,EAAE,EAAE;QAClB,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpB,CAAC,CACF,CAAC;IACF,MAAM,gBAAgB,GAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,CAChE,CAAC,CAAe,EAAE,EAAE;QAClB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrB,CAAC,CACF,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,4CAA4C;QACxD,eAAe,CAAC,GAAG,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAW,YAAY,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACtE,OAAO,CACL,oBAAC,gBAAgB,IACf,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,CACH,CAAC;QACJ,CAAC,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,CACL,8BACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAC,0HAA0H;gBAEpI,8BAAM,SAAS,EAAC,6BAA6B;oBAC1C,MAAM,CAAC,UAAU;wBACb;gBACP,kCAAO,MAAM,CAAC,YAAY,CAAQ;gBAClC,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,4IAA4I,EACtJ,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChD,CAAC,EACD,KAAK,EAAE,UAAU,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,YAAY,EAAE;oBAE5D,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAC,aAAa,GAAG,CAC/C,CACJ,CACR,CAAC;QACJ,CAAC,CAAC;QACD,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,qHAAqH,EAC/H,OAAO,EAAE,KAAK,CAAC,UAAU,gBAGlB,CACV,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import URL from "../../../Types/API/URL";
|
|
2
|
+
import { MAX_RULE_RUN_PASSES, RuleRunResultUtil, } from "../../../Types/Rules/RuleRun";
|
|
3
|
+
import RuleRunSummary from "../../../Utils/Rules/RuleRunSummary";
|
|
4
|
+
import { APP_API_URL } from "../../Config";
|
|
5
|
+
import API from "../API/API";
|
|
6
|
+
export default class RuleRunClient {
|
|
7
|
+
static getRunRoute(data) {
|
|
8
|
+
return `/rule-run/${data.ruleType}/${data.ruleId}/run`;
|
|
9
|
+
}
|
|
10
|
+
static async run(data) {
|
|
11
|
+
/*
|
|
12
|
+
* Without this the request would go to `/…//run`, which matches no route
|
|
13
|
+
* and comes back as an unhelpful 404 rather than as the real problem.
|
|
14
|
+
*/
|
|
15
|
+
if (!data.ruleId) {
|
|
16
|
+
return {
|
|
17
|
+
isSuccess: false,
|
|
18
|
+
message: "This rule has no id, so it cannot be run.",
|
|
19
|
+
result: null,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const maxPasses = Math.max(data.maxPasses || MAX_RULE_RUN_PASSES, 1);
|
|
23
|
+
const passes = [];
|
|
24
|
+
let cursor = null;
|
|
25
|
+
let isTruncated = false;
|
|
26
|
+
const failure = (message) => {
|
|
27
|
+
if (passes.length === 0) {
|
|
28
|
+
return { isSuccess: false, message: message, result: null };
|
|
29
|
+
}
|
|
30
|
+
/*
|
|
31
|
+
* Earlier passes really did change resources. Saying only "failed" would
|
|
32
|
+
* hide that, and invite a re-run that looks like it did nothing.
|
|
33
|
+
*/
|
|
34
|
+
const partial = RuleRunResultUtil.mergePasses({
|
|
35
|
+
passes: passes,
|
|
36
|
+
isTruncated: false,
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
isSuccess: false,
|
|
40
|
+
message: `${message} The run stopped part-way. Before it stopped: ${RuleRunSummary.describe({ ruleType: data.ruleType, result: partial })}`,
|
|
41
|
+
result: partial,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
try {
|
|
45
|
+
for (;;) {
|
|
46
|
+
const body = {
|
|
47
|
+
notifyOwners: Boolean(data.notifyOwners),
|
|
48
|
+
};
|
|
49
|
+
if (cursor) {
|
|
50
|
+
body["cursor"] = cursor;
|
|
51
|
+
}
|
|
52
|
+
const response = await API.post(Object.assign({ url: URL.fromString(APP_API_URL.toString()).addRoute(RuleRunClient.getRunRoute({
|
|
53
|
+
ruleType: data.ruleType,
|
|
54
|
+
ruleId: data.ruleId,
|
|
55
|
+
})), data: body }, (data.headers ? { headers: data.headers } : {})));
|
|
56
|
+
if (response.isFailure()) {
|
|
57
|
+
return failure(API.getFriendlyMessage(response));
|
|
58
|
+
}
|
|
59
|
+
const pass = RuleRunResultUtil.parsePassResult((response.data || {}));
|
|
60
|
+
passes.push(pass);
|
|
61
|
+
if (!pass.nextCursor) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
/*
|
|
65
|
+
* A cursor that does not move would repeat the same pass forever.
|
|
66
|
+
* Stop and report it as unfinished rather than trust it.
|
|
67
|
+
*/
|
|
68
|
+
if (pass.nextCursor === cursor || passes.length >= maxPasses) {
|
|
69
|
+
isTruncated = true;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
cursor = pass.nextCursor;
|
|
73
|
+
if (data.onProgress) {
|
|
74
|
+
data.onProgress(RuleRunResultUtil.mergePasses({
|
|
75
|
+
passes: passes,
|
|
76
|
+
isTruncated: false,
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
return failure(API.getFriendlyMessage(err));
|
|
83
|
+
}
|
|
84
|
+
const result = RuleRunResultUtil.mergePasses({
|
|
85
|
+
passes: passes,
|
|
86
|
+
isTruncated: isTruncated,
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
isSuccess: true,
|
|
90
|
+
message: RuleRunSummary.describe({
|
|
91
|
+
ruleType: data.ruleType,
|
|
92
|
+
result: result,
|
|
93
|
+
}),
|
|
94
|
+
result: result,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=RuleRunClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleRunClient.js","sourceRoot":"","sources":["../../../../../UI/Utils/Rules/RuleRunClient.ts"],"names":[],"mappings":"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"}
|