@oneuptime/common 12.0.32 → 12.0.34
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/RumSession.ts +117 -1
- package/Models/AnalyticsModels/RumSessionChunk.ts +13 -0
- package/Models/AnalyticsModels/Span.ts +14 -0
- package/Models/DatabaseModels/AlertCustomField.ts +77 -3
- package/Models/DatabaseModels/ApiKeyPermission.ts +3 -27
- package/Models/DatabaseModels/EnterpriseLicense.ts +56 -0
- package/Models/DatabaseModels/IncidentCustomField.ts +77 -3
- package/Models/DatabaseModels/Index.ts +10 -0
- package/Models/DatabaseModels/InventoryItemCustomField.ts +77 -3
- package/Models/DatabaseModels/Monitor.ts +76 -0
- package/Models/DatabaseModels/MonitorCustomField.ts +77 -3
- package/Models/DatabaseModels/NetworkAlertPolicy.ts +690 -0
- package/Models/DatabaseModels/NetworkDevice.ts +176 -1
- package/Models/DatabaseModels/NetworkSite.ts +201 -2
- package/Models/DatabaseModels/NetworkSiteType.ts +102 -3
- package/Models/DatabaseModels/NetworkSnmpCredentialProfile.ts +841 -0
- package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +77 -3
- package/Models/DatabaseModels/RumApplication.ts +6 -6
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +77 -3
- package/Models/DatabaseModels/StatusPageCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamMember.ts +0 -9
- package/Models/DatabaseModels/TeamMemberCustomField.ts +77 -3
- package/Models/DatabaseModels/TeamPermission.ts +3 -24
- package/Models/DatabaseModels/TelemetryException.ts +119 -0
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +260 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupBatch.ts +334 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupItem.ts +370 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupSetting.ts +282 -0
- package/Models/DatabaseModels/UserTelegram.ts +0 -4
- package/Scripts/benchmark-fanin-capacity.js +181 -0
- package/Server/API/EnterpriseLicenseAPI.ts +391 -64
- package/Server/API/LlmProviderAPI.ts +137 -22
- package/Server/API/TelemetryAPI.ts +1284 -164
- package/Server/API/UserNotificationSettingAPI.ts +55 -0
- package/Server/API/UserTelegramAPI.ts +48 -4
- package/Server/EnvironmentConfig.ts +49 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.ts +55 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.ts +124 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.ts +132 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.ts +79 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.ts +191 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.ts +91 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.ts +139 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.ts +121 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
- package/Server/Infrastructure/QueueWorker.ts +59 -23
- package/Server/Infrastructure/Semaphore.ts +2 -0
- package/Server/Middleware/BearerTokenAuthorization.ts +12 -0
- package/Server/Middleware/ProjectAuthorization.ts +11 -0
- package/Server/Middleware/SCIMAuthorization.ts +12 -0
- package/Server/Middleware/TelemetryIngest.ts +464 -7
- package/Server/Services/AIBillingService.ts +101 -27
- package/Server/Services/AccessTokenService.ts +1 -0
- package/Server/Services/AlertCustomFieldService.ts +98 -0
- package/Server/Services/AlertService.ts +37 -0
- package/Server/Services/ApiKeyPermissionService.ts +461 -29
- package/Server/Services/CustomFieldMappingService.ts +879 -0
- package/Server/Services/EnterpriseLicenseInstanceService.ts +197 -0
- package/Server/Services/EnterpriseLicenseService.ts +55 -0
- package/Server/Services/GlobalConfigService.ts +194 -0
- package/Server/Services/IncidentCustomFieldService.ts +98 -0
- package/Server/Services/IncidentService.ts +35 -0
- package/Server/Services/Index.ts +10 -0
- package/Server/Services/MetricService.ts +194 -0
- package/Server/Services/MonitorService.ts +175 -21
- package/Server/Services/MonitorStatusTimelineService.ts +150 -8
- package/Server/Services/MonitorTemplateService.ts +217 -1
- package/Server/Services/NetworkAlertPolicyEngineService.ts +2159 -0
- package/Server/Services/NetworkAlertPolicyService.ts +944 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +87 -35
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +60 -15
- package/Server/Services/NetworkDeviceService.ts +1032 -73
- package/Server/Services/NetworkSiteService.ts +1502 -129
- package/Server/Services/NetworkSiteTypeService.ts +1216 -0
- package/Server/Services/NetworkSnmpCredentialProfileService.ts +238 -0
- package/Server/Services/NotificationService.ts +118 -28
- package/Server/Services/ProjectService.ts +127 -48
- package/Server/Services/RoutineEmailSettingsService.ts +73 -0
- package/Server/Services/RumSessionReplayViewService.ts +104 -24
- package/Server/Services/ScheduledMaintenanceCustomFieldService.ts +98 -0
- package/Server/Services/ScheduledMaintenanceService.ts +32 -0
- package/Server/Services/StatusPagePrivateUserService.ts +103 -3
- package/Server/Services/TeamMemberService.ts +78 -0
- package/Server/Services/TeamPermissionService.ts +235 -3
- package/Server/Services/TelemetryIngestionKeyService.ts +722 -19
- package/Server/Services/UserNotificationEmailRollupBatchService.ts +78 -0
- package/Server/Services/UserNotificationEmailRollupItemService.ts +79 -0
- package/Server/Services/UserNotificationEmailRollupSettingService.ts +113 -0
- package/Server/Services/UserNotificationSettingService.ts +90 -25
- package/Server/Services/UserService.ts +95 -0
- package/Server/Services/UserTelegramService.ts +326 -5
- package/Server/Types/Database/QueryHelper.ts +4 -2
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +14 -3
- package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +62 -1
- package/Server/Utils/AI/Toolbox/AlertTools.ts +15 -1
- package/Server/Utils/APIKey/AccessPermission.ts +5 -2
- package/Server/Utils/Billing/BillingFailureNoticeThrottle.ts +80 -0
- package/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.ts +54 -0
- package/Server/Utils/CustomField/CustomFieldMappingRegistry.ts +415 -0
- package/Server/Utils/CustomField/CustomFieldMappingValidator.ts +335 -0
- package/Server/Utils/DataSource/EgressGuard.ts +177 -8
- package/Server/Utils/DataSource/HttpFetch.ts +9 -2
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +131 -0
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +925 -0
- package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +781 -0
- package/Server/Utils/EmailRollup/EmailRollupWriter.ts +368 -0
- package/Server/Utils/FrontendEnvironment.ts +40 -0
- package/Server/Utils/LLM/LLMService.ts +78 -0
- package/Server/Utils/LogRedaction.ts +28 -0
- package/Server/Utils/Logger.ts +90 -1
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +338 -77
- package/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.ts +190 -0
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +9 -2
- package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +30 -4
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +61 -1
- package/Server/Utils/Monitor/MonitorAlert.ts +29 -6
- package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +14 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +159 -15
- package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +255 -4
- package/Server/Utils/Monitor/MonitorIncident.ts +22 -6
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +41 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +72 -0
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +499 -19
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +66 -10
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +238 -44
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +146 -39
- package/Server/Utils/Monitor/SeriesContextEnricher.ts +304 -0
- package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +31 -18
- package/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.ts +213 -0
- package/Server/Utils/OutboundUserAgent.ts +152 -0
- package/Server/Utils/SSRFProtection.ts +217 -10
- package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +239 -138
- package/Server/Utils/SessionReplay/SessionReplayHealthCounters.ts +305 -0
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1430 -289
- package/Server/Utils/StartServer.ts +53 -36
- package/Server/Utils/TelegramVerificationToken.ts +185 -0
- package/Server/Utils/Telemetry/CaptureSpan.ts +32 -8
- package/Server/Utils/Telemetry/ErrorClassResolver.ts +120 -0
- package/Server/Utils/Telemetry/PinServiceName.ts +197 -0
- package/Server/Utils/Telemetry/SpanUtil.ts +33 -0
- package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +38 -16
- package/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.ts +92 -0
- package/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.ts +217 -0
- package/Server/Utils/Telemetry.ts +198 -51
- package/Server/Utils/VM/VMAPI.ts +1 -0
- package/Server/Utils/VM/VMRunner.ts +975 -95
- package/Server/Views/Partials/SensitiveUrlToken.ejs +140 -0
- package/Tests/App/AdminDashboard/AdminHeaderSmallScreens.test.tsx +202 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +134 -33
- package/Tests/App/Dashboard/AskAiSuggestedPrompts.test.ts +279 -0
- package/Tests/App/Dashboard/DashboardEditPermissions.test.tsx +517 -0
- package/Tests/App/Dashboard/DashboardHeaderSmallScreens.test.tsx +404 -0
- package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +26 -0
- package/Tests/App/Dashboard/DeviceStatusHero.test.tsx +588 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +486 -9
- package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +632 -0
- package/Tests/App/Dashboard/MonitorRecommendationCreateProgress.test.tsx +682 -0
- package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +4 -2
- package/Tests/App/Dashboard/NetworkDeviceCreateFormMonitorBinding.test.tsx +676 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormPingMonitor.test.tsx +791 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormProbeAndSnmp.test.tsx +833 -0
- package/Tests/App/Dashboard/NetworkDeviceCriteriaFilter.test.ts +161 -0
- package/Tests/App/Dashboard/NetworkDeviceSettingsMonitoringSection.test.tsx +458 -0
- package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +41 -5
- package/Tests/App/Dashboard/NotificationEmailPreferences.test.tsx +399 -0
- package/Tests/App/Dashboard/PingMonitorProvisioning.test.ts +368 -0
- package/Tests/App/Dashboard/RecommendationCard.test.tsx +796 -0
- package/Tests/App/Dashboard/RecommendationToolbar.test.tsx +519 -0
- package/Tests/App/Dashboard/RecommendationsList.test.tsx +661 -0
- package/Tests/App/Dashboard/UseBulkCreatePingMonitors.test.tsx +899 -0
- package/Tests/App/Dashboard/UseBulkSnmpCredentialProfileActions.test.tsx +732 -0
- package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +256 -0
- package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +11 -1
- package/Tests/App/StatusPage/StatusPageLastUpdated.test.tsx +263 -0
- package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +9 -4
- package/Tests/App/StatusPage/StatusPageOverviewLiveAndSearch.test.tsx +753 -0
- package/Tests/App/StatusPage/StatusPageResourceSearchBox.test.tsx +224 -0
- package/Tests/Models/AnalyticsModels/RumSessionReplayColumns.test.ts +262 -0
- package/Tests/Models/CustomFieldMappingColumns.test.ts +166 -0
- package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +20 -6
- package/Tests/Models/NetworkSiteHierarchy.test.ts +41 -4
- package/Tests/ResponsiveVisibility.test.ts +115 -0
- package/Tests/ResponsiveVisibility.ts +183 -0
- package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +951 -7
- package/Tests/Server/API/LlmProviderConnectionTest.test.ts +522 -0
- package/Tests/Server/API/SessionReplayAPI.test.ts +1940 -216
- package/Tests/Server/API/UserNotificationSettingAPI.test.ts +186 -0
- package/Tests/Server/API/UserTelegramAPISecurity.test.ts +231 -0
- package/Tests/Server/EnvironmentConfigFrontendSecurity.test.ts +234 -0
- package/Tests/Server/Infrastructure/Postgres/CustomFieldValueMappingMigration.test.ts +202 -0
- package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +41 -0
- package/Tests/Server/Infrastructure/Postgres/NetworkSnmpCredentialProfilesAndAlertPoliciesMigration.test.ts +854 -0
- package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +18 -0
- package/Tests/Server/Infrastructure/Postgres/SessionReplayRecordEverySessionByDefaultMigration.test.ts +169 -0
- package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupTableMigration.test.ts +535 -0
- package/Tests/Server/Infrastructure/QueueWorkerTimeout.test.ts +210 -0
- package/Tests/Server/Infrastructure/TelemetryExporterDeploymentConfig.test.ts +130 -0
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -1
- package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +1163 -0
- package/Tests/Server/Middleware/TelemetryIngestTokenLog.test.ts +5 -3
- package/Tests/Server/Services/AIChatPrivacyPin.test.ts +560 -0
- package/Tests/Server/Services/AddTelemetryIngestionKeyTypeMigration.test.ts +555 -0
- package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +678 -0
- package/Tests/Server/Services/ApiKeyPermissionService.test.ts +276 -28
- package/Tests/Server/Services/BillingRechargeOwnerEmailGuards.test.ts +783 -0
- package/Tests/Server/Services/CustomFieldDropdownOptionsColumnWidth.test.ts +431 -0
- package/Tests/Server/Services/CustomFieldMappingService.test.ts +850 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +32 -0
- package/Tests/Server/Services/EnterpriseLicenseInstanceServiceDeletionUsage.test.ts +707 -0
- package/Tests/Server/Services/EnterpriseLicenseServiceUsageAggregationLock.test.ts +329 -0
- package/Tests/Server/Services/GlobalConfigService.test.ts +414 -1
- package/Tests/Server/Services/MetricRawEntityKeyPrune.test.ts +592 -0
- package/Tests/Server/Services/MonitorServiceDeleteNetworkDeviceCleanup.test.ts +294 -0
- package/Tests/Server/Services/MonitorStatusBridgeProbePath.test.ts +802 -0
- package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +72 -2
- package/Tests/Server/Services/NetworkAlertPolicyEngineHooks.test.ts +752 -0
- package/Tests/Server/Services/NetworkAlertPolicyEngineService.test.ts +1849 -0
- package/Tests/Server/Services/NetworkAlertPolicyModel.test.ts +1793 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +273 -5
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +97 -12
- package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +148 -3
- package/Tests/Server/Services/NetworkDeviceMonitorBindingUpdateGuard.test.ts +514 -0
- package/Tests/Server/Services/NetworkDeviceMonitorStatusStamp.test.ts +447 -58
- package/Tests/Server/Services/NetworkDeviceMonitoringMethodTransition.test.ts +739 -0
- package/Tests/Server/Services/NetworkDevicePollingTenancy.test.ts +501 -0
- package/Tests/Server/Services/NetworkDeviceSiteDefaultProbe.test.ts +432 -0
- package/Tests/Server/Services/NetworkSiteMonitoringDefaults.test.ts +498 -0
- package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +337 -55
- package/Tests/Server/Services/NetworkSiteService.test.ts +1868 -131
- package/Tests/Server/Services/NetworkSiteTypeService.test.ts +1109 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileModel.test.ts +926 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileService.test.ts +796 -0
- package/Tests/Server/Services/ProjectServiceNetworkSiteTypeDefaults.test.ts +214 -0
- package/Tests/Server/Services/RoutineEmailSettingsPostgres.test.ts +329 -0
- package/Tests/Server/Services/RumSessionReplayViewService.test.ts +267 -0
- package/Tests/Server/Services/StatusPagePrivateUserEmailChangePasswordResetExpiry.test.ts +269 -0
- package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +9 -0
- package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +9 -0
- package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +834 -0
- package/Tests/Server/Services/TelemetryIngestionKeyPolicyResolution.test.ts +814 -0
- package/Tests/Server/Services/TelemetryIngestionKeyValidation.test.ts +998 -0
- package/Tests/Server/Services/UserEmailChangePasswordResetExpiry.test.ts +472 -0
- package/Tests/Server/Services/UserNotificationEmailRollupModels.test.ts +569 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingModel.test.ts +314 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingService.test.ts +409 -0
- package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +997 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +110 -1
- package/Tests/Server/Services/UserTelegramVerificationSecurity.test.ts +688 -0
- package/Tests/Server/Types/Database/Permissions/DashboardAccessPermission.test.ts +321 -0
- package/Tests/Server/Types/Database/QueryHelperOperators.test.ts +17 -0
- package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +124 -0
- package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +208 -0
- package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +235 -0
- package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +253 -0
- package/Tests/Server/Utils/AI/SRE/Insights/FixRouting.test.ts +497 -0
- package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +383 -0
- package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +7 -3
- package/Tests/Server/Utils/AnalyticsDatabase/ClusterConfig.test.ts +315 -0
- package/Tests/Server/Utils/Captcha.test.ts +422 -0
- package/Tests/Server/Utils/CustomField/CustomFieldMappingValidator.test.ts +437 -0
- package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +300 -11
- package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +96 -2
- package/Tests/Server/Utils/Database/MigrationFailureLog.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupBurstWindow.test.ts +83 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1096 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerClaim.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerPreferences.test.ts +362 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +1428 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +828 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupWriter.test.ts +864 -0
- package/Tests/Server/Utils/FrontendEnvironment.test.ts +190 -0
- package/Tests/Server/Utils/LogRedaction.test.ts +26 -0
- package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +23 -9
- package/Tests/Server/Utils/LoggerFaultDemotion.test.ts +346 -0
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +584 -0
- package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +633 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestHeaderCriteria.test.ts +236 -0
- package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +196 -0
- package/Tests/Server/Utils/Monitor/DatabaseMetricWrite.test.ts +367 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +437 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +100 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +5 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtilSeriesContext.test.ts +176 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +512 -31
- package/Tests/Server/Utils/Monitor/NetworkDeviceMetricUtil.test.ts +252 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +479 -42
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +351 -5
- package/Tests/Server/Utils/Monitor/SeriesContextEnricher.test.ts +356 -0
- package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +136 -12
- package/Tests/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.test.ts +306 -0
- package/Tests/Server/Utils/OutboundUserAgent.test.ts +266 -0
- package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +595 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClientUserAgent.test.ts +141 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +198 -1
- package/Tests/Server/Utils/SessionReplay/SessionReplayHealthCounters.test.ts +453 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +1378 -0
- package/Tests/Server/Utils/SessionReplayOriginAllowListRefactor.test.ts +420 -0
- package/Tests/Server/Utils/TelegramVerificationToken.test.ts +253 -0
- package/Tests/Server/Utils/Telemetry/ErrorClassResolver.test.ts +298 -0
- package/Tests/Server/Utils/Telemetry/PinServiceName.test.ts +666 -0
- package/Tests/Server/Utils/Telemetry/TelemetryFanInWriterCapacity.test.ts +458 -0
- package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.test.ts +424 -0
- package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.test.ts +528 -0
- package/Tests/Server/Utils/Telemetry.test.ts +456 -66
- package/Tests/Server/Utils/TelemetryExporterEnvironment.test.ts +56 -0
- package/Tests/Server/Utils/VM/VMRunnerHostBridgeLatency.test.ts +74 -0
- package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +100 -7
- package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +1176 -6
- package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +220 -0
- package/Tests/Types/CustomField/CustomFieldValueMapping.test.ts +348 -0
- package/Tests/Types/JSONFunctions.test.ts +260 -0
- package/Tests/Types/Monitor/CephAlertTemplates.test.ts +422 -53
- package/Tests/Types/Monitor/DatabaseMetricCatalog.test.ts +388 -0
- package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +495 -15
- package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +191 -45
- package/Tests/Types/Monitor/HostAlertTemplates.test.ts +370 -42
- package/Tests/Types/Monitor/IotAlertTemplates.test.ts +375 -20
- package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +636 -42
- package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +189 -0
- package/Tests/Types/Monitor/KubernetesTemplateGroupByKeys.test.ts +95 -14
- package/Tests/Types/Monitor/MonitorStepDatabaseMonitor.test.ts +243 -0
- package/Tests/Types/Monitor/MonitorStepDefaultTelemetryConfig.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorType.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +16 -7
- package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +60 -0
- package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +190 -21
- package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +352 -22
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationAlertDebuggability.test.ts +363 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +93 -18
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +259 -0
- package/Tests/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.test.ts +476 -0
- package/Tests/Types/Monitor/RumAlertTemplates.test.ts +136 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesDebugHints.test.ts +661 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesLabelDisplay.test.ts +507 -0
- package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +270 -0
- package/Tests/Types/Monitor/TemplateGroupByKeys.test.ts +38 -10
- package/Tests/Types/Monitor/Utils/RecommendationCriteriaAssertions.ts +102 -0
- package/Tests/Types/NetworkDevice/NetworkAlertPolicyScope.test.ts +655 -0
- package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +115 -26
- package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +39 -0
- package/Tests/Types/NotificationSetting/NotificationEmailRollupPolicy.test.ts +299 -0
- package/Tests/Types/NotificationSetting/RoutineEmailEvents.test.ts +47 -0
- package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +608 -0
- package/Tests/Types/Rum/SessionReplayCustomEvents.test.ts +434 -0
- package/Tests/Types/Telemetry/ErrorClass.test.ts +483 -0
- package/Tests/Types/WebsiteRequest.test.ts +285 -3
- package/Tests/UI/Components/BasicRadioButtons.test.tsx +336 -0
- package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +16 -3
- package/Tests/UI/Components/Charts/ChartTrailingBucketGap.test.ts +691 -0
- package/Tests/UI/Components/ComponentsModal.test.tsx +12 -4
- package/Tests/UI/Components/ComponentsModalUsability.test.tsx +518 -0
- package/Tests/UI/Components/CustomFields/CustomFieldsDetailMapping.test.tsx +324 -0
- package/Tests/UI/Components/CustomFields/MapFromCustomFieldInput.test.tsx +176 -0
- package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +484 -0
- package/Tests/UI/Components/HeaderRightRail.test.tsx +157 -0
- package/Tests/UI/Components/IconDropdownItem.test.tsx +102 -0
- package/Tests/UI/Components/JSONTablePrototypePollution.test.tsx +117 -0
- package/Tests/UI/Components/KeyboardShortcutsModal.test.tsx +214 -0
- package/Tests/UI/Components/ModelTable/ModelTableWrapContent.test.tsx +561 -0
- package/Tests/UI/Components/MonitorGraphs/UptimeBarDayModal.test.tsx +302 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +43 -12
- package/Tests/UI/Components/ProgressBar.test.tsx +38 -2
- package/Tests/UI/Components/ShortcutDialogGuard.test.tsx +74 -0
- package/Tests/UI/Components/SideMenuItem.test.tsx +226 -4
- package/Tests/UI/Components/SideMenuSection.test.tsx +310 -0
- package/Tests/UI/Components/SideOverSubmitState.test.tsx +335 -0
- package/Tests/UI/Components/StatusPage/ResourceGroupSectionAutoExpand.test.tsx +248 -0
- package/Tests/UI/Components/TableCellWrapping.test.tsx +625 -0
- package/Tests/UI/Components/TableLoadingStates.test.tsx +205 -0
- package/Tests/UI/Components/Workflow/NodePlacement.test.ts +148 -0
- package/Tests/UI/Components/Workflow/Workflow.test.tsx +981 -0
- package/Tests/UI/ConfigBrowserTelemetry.test.ts +70 -0
- package/Tests/UI/Rum/ChunkLoader.test.ts +1036 -2
- package/Tests/UI/Rum/FidelityNotices.test.ts +187 -0
- package/Tests/UI/Rum/InactivityMap.test.ts +341 -0
- package/Tests/UI/Rum/PrivacySummaryCard.test.tsx +259 -0
- package/Tests/UI/Rum/RecordingHealthCard.test.tsx +855 -0
- package/Tests/UI/Rum/RecordingHealthStrip.test.tsx +594 -0
- package/Tests/UI/Rum/ReplayCard.test.tsx +451 -0
- package/Tests/UI/Rum/ReplayCorrelationPanel.test.tsx +536 -0
- package/Tests/UI/Rum/ReplayEngine.test.ts +2503 -0
- package/Tests/UI/Rum/ReplayEngineTypes.test.ts +171 -0
- package/Tests/UI/Rum/ReplayHeader.test.tsx +711 -0
- package/Tests/UI/Rum/ReplayLink.test.tsx +119 -0
- package/Tests/UI/Rum/ReplayPinControl.test.tsx +408 -0
- package/Tests/UI/Rum/ReplayPlaybackIntent.test.ts +152 -0
- package/Tests/UI/Rum/ReplayRail.test.tsx +1296 -0
- package/Tests/UI/Rum/ReplayRailDetail.test.tsx +900 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +763 -147
- package/Tests/UI/Rum/ReplaySignalTypes.test.ts +189 -0
- package/Tests/UI/Rum/ReplaySignals.test.ts +1579 -0
- package/Tests/UI/Rum/ReplayStage.test.tsx +396 -473
- package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +918 -0
- package/Tests/UI/Rum/ReplayTimeline.test.tsx +696 -0
- package/Tests/UI/Rum/SessionReplayEmptyState.test.tsx +499 -0
- package/Tests/UI/Rum/SessionReplaySearchBar.test.tsx +346 -0
- package/Tests/UI/Rum/SessionReplaySetupGuide.test.tsx +545 -0
- package/Tests/UI/Rum/SessionReplayTable.test.tsx +991 -0
- package/Tests/UI/Rum/TargetedCapturePanel.test.tsx +254 -0
- package/Tests/UI/Telemetry/BrowserExporterIsolation.test.ts +71 -0
- package/Tests/UI/Utils/GlobalKeyboardShortcut.test.ts +344 -0
- package/Tests/UI/Utils/PageScrollLock.test.tsx +377 -0
- package/Tests/UI/Utils/PermissionGate.test.ts +78 -0
- package/Tests/UI/Utils/SensitiveUrlToken.test.ts +140 -0
- package/Tests/Utils/API.test.ts +308 -0
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +69 -0
- package/Tests/Utils/EnterpriseLicenseSync.test.ts +7 -1
- package/Tests/Utils/EnterpriseLicenseUsage.test.ts +433 -2
- package/Tests/Utils/HTTPResponseBodyReader.test.ts +323 -0
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +280 -1
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +1 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +38 -0
- package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +284 -23
- package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +177 -0
- package/Tests/Utils/NetworkDevice/MonitoringMethodThreadedClassifiers.test.ts +992 -0
- package/Tests/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.test.ts +427 -0
- package/Tests/Utils/NetworkDevice/ReachabilityStampConsistency.test.ts +185 -0
- package/Tests/Utils/NetworkDevice/SnmpCredentialUtil.test.ts +268 -0
- package/Tests/Utils/NetworkDiscovery/AutoImportRuleMatcher.test.ts +55 -5
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +98 -21
- package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +98 -20
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +8 -7
- package/Tests/Utils/NetworkDiscovery/DiscoveryScanStatus.test.ts +117 -0
- package/Tests/Utils/NetworkDiscovery/PingMonitorBuilderForAddress.test.ts +274 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +230 -51
- package/Tests/Utils/NetworkSite/TypeHierarchyUtil.test.ts +209 -0
- package/Tests/Utils/Rum/ChunkMath.test.ts +83 -0
- package/Tests/Utils/Rum/SessionReplayHealthDiagnosis.test.ts +993 -0
- package/Tests/Utils/Rum/SessionReplayStringMap.test.ts +245 -0
- package/Tests/Utils/StatusPage/ResourceSearch.test.ts +631 -0
- package/Tests/Utils/Telemetry/CaptureSpanExportGating.test.ts +145 -0
- package/Tests/Utils/Telemetry/OriginAllowList.test.ts +633 -0
- package/Tests/Utils/Uptime/DayUptimeGraphUtil.test.ts +461 -0
- package/Tests/Utils/ValueFormatter.test.ts +148 -0
- package/Types/AI/ExceptionAIClassification.ts +10 -24
- package/Types/CustomField/CustomFieldMappingCatalog.ts +161 -0
- package/Types/CustomField/CustomFieldMappingSourceResource.ts +19 -0
- package/Types/CustomField/CustomFieldValueMapping.ts +288 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseInstanceSummary.ts +5 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.ts +13 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.ts +6 -0
- package/Types/Exception/ApiException.ts +10 -0
- package/Types/Exception/BadDataException.ts +11 -0
- package/Types/Exception/BadRequestException.ts +11 -0
- package/Types/Exception/Exception.ts +65 -0
- package/Types/Exception/ForbiddenException.ts +10 -0
- package/Types/Exception/NotAuthenticatedException.ts +10 -0
- package/Types/Exception/NotAuthorizedException.ts +10 -0
- package/Types/Exception/NotFoundException.ts +11 -0
- package/Types/Exception/PayloadTooLargeException.ts +11 -0
- package/Types/Exception/PaymentRequiredException.ts +10 -0
- package/Types/Exception/ServiceUnavailableException.ts +10 -0
- package/Types/Exception/SsoAuthorizationException.ts +10 -0
- package/Types/Exception/TenantNotFoundException.ts +11 -0
- package/Types/Exception/TimeoutException.ts +10 -0
- package/Types/Exception/TooManyRequestsException.ts +10 -0
- package/Types/Exception/UnableToReachServer.ts +10 -0
- package/Types/Exception/WebsiteRequestException.ts +10 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/JSONFunctions.ts +189 -43
- package/Types/Monitor/CephAlertTemplates.ts +157 -195
- package/Types/Monitor/CriteriaFilter.ts +60 -2
- package/Types/Monitor/DatabaseMetricCatalog.ts +693 -0
- package/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.ts +83 -0
- package/Types/Monitor/DockerAlertTemplates.ts +338 -128
- package/Types/Monitor/DockerSwarmAlertTemplates.ts +95 -112
- package/Types/Monitor/HostAlertTemplates.ts +302 -130
- package/Types/Monitor/IotAlertTemplates.ts +112 -104
- package/Types/Monitor/KubernetesAlertTemplates.ts +415 -224
- package/Types/Monitor/KubernetesMetricCatalog.ts +23 -19
- package/Types/Monitor/MonitorCriteriaInstance.ts +76 -0
- package/Types/Monitor/MonitorMetricType.ts +71 -0
- package/Types/Monitor/MonitorStep.ts +76 -0
- package/Types/Monitor/MonitorStepDatabaseMonitor.ts +171 -0
- package/Types/Monitor/MonitorStepSqlMonitor.ts +2 -20
- package/Types/Monitor/MonitorType.ts +47 -1
- package/Types/Monitor/PodmanAlertTemplates.ts +116 -163
- package/Types/Monitor/ProxmoxAlertTemplates.ts +217 -99
- package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +98 -6
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +44 -7
- package/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.ts +383 -0
- package/Types/Monitor/RumAlertTemplates.ts +46 -7
- package/Types/Monitor/SeriesContext/SeriesDebugHints.ts +596 -0
- package/Types/Monitor/SeriesContext/SeriesLabelDisplay.ts +554 -0
- package/Types/Monitor/ServiceAlertTemplates.ts +98 -11
- package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +22 -1
- package/Types/Monitor/SqlConnectionConfig.ts +31 -0
- package/Types/Monitor/UptimeHistoryLabels.ts +56 -0
- package/Types/NetworkDevice/NetworkAlertPolicyScope.ts +343 -0
- package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +42 -22
- package/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.ts +30 -0
- package/Types/NotificationSetting/NotificationEmailRollupCategory.ts +255 -0
- package/Types/NotificationSetting/NotificationEmailRollupPolicy.ts +104 -0
- package/Types/NotificationSetting/RoutineEmailEvents.ts +30 -0
- package/Types/Permission.ts +90 -0
- package/Types/Probe/ProbeMonitorResponse.ts +16 -0
- package/Types/Rum/SessionReplay.ts +209 -0
- package/Types/Rum/SessionReplayApi.ts +722 -0
- package/Types/Rum/SessionReplayCaptureTrigger.ts +21 -12
- package/Types/Rum/SessionReplayConsentMode.ts +11 -7
- package/Types/Rum/SessionReplayCustomEvents.ts +549 -0
- package/Types/Rum/SessionReplayHealth.ts +238 -0
- package/Types/Telemetry/ErrorClass.ts +274 -0
- package/Types/Telemetry/TelemetryIngestSurface.ts +95 -0
- package/Types/Telemetry/TelemetryIngestionKeyPolicy.ts +75 -0
- package/Types/Telemetry/TelemetryIngestionKeyType.ts +29 -0
- package/Types/Telemetry/UnitOfWork.ts +59 -0
- package/Types/WebsiteRequest.ts +85 -3
- package/UI/Components/Charts/Area/AreaChart.tsx +13 -2
- package/UI/Components/Charts/Bar/BarChart.tsx +6 -2
- package/UI/Components/Charts/Line/LineChart.tsx +13 -2
- package/UI/Components/Charts/Types/XAxis/XAxis.ts +29 -0
- package/UI/Components/Charts/Utils/DataPoint.ts +22 -3
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +76 -9
- package/UI/Components/Charts/Utils/XAxis.ts +217 -0
- package/UI/Components/CommandPalette/CommandPalette.tsx +2 -8
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +143 -25
- package/UI/Components/CustomFields/MapFromCustomFieldInput.tsx +216 -0
- package/UI/Components/EditionLabel/EditionLabel.tsx +4 -0
- package/UI/Components/Graphs/DayUptimeGraph.tsx +173 -8
- package/UI/Components/Graphs/UptimeBarTooltip.tsx +22 -278
- package/UI/Components/Graphs/UptimeDaySummary.tsx +327 -0
- package/UI/Components/Header/Header.tsx +25 -9
- package/UI/Components/Header/IconDropdown/IconDropdownItem.tsx +10 -1
- package/UI/Components/Header/IconDropdown/IconDropdownMenu.tsx +6 -1
- package/UI/Components/Header/ProjectPicker/ProjectPicker.tsx +6 -1
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.tsx +6 -1
- package/UI/Components/Icon/Icon.tsx +11 -0
- package/UI/Components/JSONTable/JSONTable.tsx +2 -2
- package/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.tsx +125 -0
- package/UI/Components/KeyboardShortcut/Screenshots/README.md +19 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-command-palette.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog-dark.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-help-menu.png +0 -0
- package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-narrow.png +0 -0
- package/UI/Components/Modal/Modal.tsx +2 -8
- package/UI/Components/ModelTable/Column.ts +15 -0
- package/UI/Components/Monitor/SeriesDebugCommandsViewer.tsx +64 -0
- package/UI/Components/Monitor/SeriesLabelsViewer.tsx +93 -0
- package/UI/Components/MonitorGraphs/Uptime.tsx +14 -2
- package/UI/Components/MonitorGraphs/UptimeBarDayModal.tsx +63 -10
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +88 -0
- package/UI/Components/ProgressBar/ProgressBar.tsx +12 -1
- package/UI/Components/RadioButtons/BasicRadioButtons.tsx +37 -7
- package/UI/Components/SideMenu/SideMenu.tsx +123 -5
- package/UI/Components/SideMenu/SideMenuItem.tsx +76 -84
- package/UI/Components/SideMenu/SideMenuSection.tsx +55 -23
- package/UI/Components/SideOver/SideOver.tsx +21 -20
- package/UI/Components/StatusPage/ResourceGroupSection.tsx +40 -0
- package/UI/Components/Table/CellClassName.ts +81 -0
- package/UI/Components/Table/TableRow.tsx +20 -14
- package/UI/Components/Table/TableSkeletonRows.tsx +9 -9
- package/UI/Components/Table/Types/Column.ts +36 -0
- package/UI/Components/Tooltip/Tooltip.tsx +11 -1
- package/UI/Components/Workflow/ComponentsModal.tsx +60 -39
- package/UI/Components/Workflow/NodePlacement.ts +57 -0
- package/UI/Components/Workflow/Workflow.tsx +47 -18
- package/UI/Config.ts +15 -33
- package/UI/Utils/GlobalKeyboardShortcut.ts +208 -0
- package/UI/Utils/PageScrollLock.ts +79 -3
- package/UI/Utils/PermissionGate.ts +61 -0
- package/UI/Utils/SensitiveUrlToken.ts +112 -0
- package/UI/Utils/Telemetry/BrowserTelemetryConfig.ts +28 -0
- package/UI/Utils/Telemetry/Telemetry.ts +10 -8
- package/UI/Utils/TestLLMProvider.ts +11 -0
- package/Utils/API.ts +129 -3
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +16 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +191 -11
- package/Utils/HTTPResponseBodyReader.ts +221 -0
- package/Utils/Monitor/MonitorMetricType.ts +153 -1
- package/Utils/Monitor/NetworkTopologyUtil.ts +23 -3
- package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +65 -14
- package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +43 -14
- package/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.ts +247 -0
- package/Utils/NetworkDevice/SnmpCredentialUtil.ts +68 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +15 -7
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +52 -17
- package/Utils/NetworkDiscovery/DiscoveryImportEligibility.ts +55 -23
- package/Utils/NetworkDiscovery/DiscoveryScanStatus.ts +77 -0
- package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +115 -13
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +66 -20
- package/Utils/NetworkSite/TypeHierarchyUtil.ts +313 -0
- package/Utils/Rum/ChunkMath.ts +106 -0
- package/Utils/Rum/SessionReplayHealth.ts +732 -0
- package/Utils/Rum/SessionReplayStringMap.ts +226 -0
- package/Utils/Schema/ModelSchema.ts +1 -0
- package/Utils/StatusPage/ResourceSearch.ts +290 -0
- package/Utils/Telemetry/OriginAllowList.ts +355 -0
- package/Utils/Uptime/DayUptimeGraphUtil.ts +205 -0
- package/Utils/ValueFormatter.ts +35 -1
- package/build/dist/Models/AnalyticsModels/RumSession.js +102 -19
- package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +11 -9
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Span.js +14 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +3 -27
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js +59 -0
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +10 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +75 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js +713 -0
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +180 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js +200 -2
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js +102 -3
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js +878 -0
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js.map +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js +6 -6
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMember.js +0 -9
- package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamPermission.js +3 -24
- package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +123 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +267 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js +363 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js +402 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js +296 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserTelegram.js +0 -4
- package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -1
- package/build/dist/Server/API/EnterpriseLicenseAPI.js +273 -60
- package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
- package/build/dist/Server/API/LlmProviderAPI.js +108 -13
- package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +769 -109
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserNotificationSettingAPI.js +35 -0
- package/build/dist/Server/API/UserNotificationSettingAPI.js.map +1 -0
- package/build/dist/Server/API/UserTelegramAPI.js +28 -6
- package/build/dist/Server/API/UserTelegramAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +41 -2
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js +111 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js +77 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js +50 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js +83 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js +60 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js +53 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js +82 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js +46 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +52 -12
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Infrastructure/Semaphore.js +1 -0
- package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js +12 -0
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js +11 -0
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/SCIMAuthorization.js +12 -0
- package/build/dist/Server/Middleware/SCIMAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +326 -8
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AIBillingService.js +70 -16
- package/build/dist/Server/Services/AIBillingService.js.map +1 -1
- package/build/dist/Server/Services/AccessTokenService.js +1 -0
- package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
- package/build/dist/Server/Services/AlertCustomFieldService.js +93 -0
- package/build/dist/Server/Services/AlertCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +34 -0
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/ApiKeyPermissionService.js +331 -28
- package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
- package/build/dist/Server/Services/CustomFieldMappingService.js +614 -0
- package/build/dist/Server/Services/CustomFieldMappingService.js.map +1 -0
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js +167 -0
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +39 -0
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/GlobalConfigService.js +133 -0
- package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
- package/build/dist/Server/Services/IncidentCustomFieldService.js +93 -0
- package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +32 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +10 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MetricService.js +163 -0
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +148 -21
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +127 -8
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +162 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js +1683 -0
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js.map +1 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js +732 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +89 -36
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +54 -11
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +841 -70
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +1145 -107
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteTypeService.js +863 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js +217 -0
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js.map +1 -0
- package/build/dist/Server/Services/NotificationService.js +80 -17
- package/build/dist/Server/Services/NotificationService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +88 -30
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RoutineEmailSettingsService.js +69 -0
- package/build/dist/Server/Services/RoutineEmailSettingsService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js +86 -24
- package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js +93 -0
- package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +29 -0
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserService.js +92 -2
- package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +62 -2
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamPermissionService.js +166 -3
- package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js +562 -18
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js +76 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js +77 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js +111 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js +66 -20
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +90 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/UserTelegramService.js +257 -4
- package/build/dist/Server/Services/UserTelegramService.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +14 -3
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +54 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +18 -4
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
- package/build/dist/Server/Utils/APIKey/AccessPermission.js +2 -2
- package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js +59 -0
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js.map +1 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js +27 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js.map +1 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js +226 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js.map +1 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js +189 -0
- package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js.map +1 -0
- package/build/dist/Server/Utils/DataSource/EgressGuard.js +121 -7
- package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +2 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +124 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +733 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +497 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js +257 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js.map +1 -0
- package/build/dist/Server/Utils/FrontendEnvironment.js +33 -0
- package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -0
- package/build/dist/Server/Utils/LLM/LLMService.js +64 -1
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/LogRedaction.js +28 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +73 -1
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +287 -68
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js +141 -0
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +20 -4
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +51 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +29 -6
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +7 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +125 -13
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +158 -6
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +22 -6
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +54 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +330 -21
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +55 -10
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +178 -49
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +119 -29
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js +237 -0
- package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js.map +1 -0
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +30 -17
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -1
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js +158 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js.map +1 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js +123 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js.map +1 -0
- package/build/dist/Server/Utils/SSRFProtection.js +136 -9
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +174 -89
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -1
- package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js +223 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +945 -164
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +41 -28
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/TelegramVerificationToken.js +129 -0
- package/build/dist/Server/Utils/TelegramVerificationToken.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js +28 -8
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js +95 -0
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/PinServiceName.js +163 -0
- package/build/dist/Server/Utils/Telemetry/PinServiceName.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js +29 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +28 -15
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js +64 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js +171 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry.js +162 -46
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +780 -69
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Types/AI/ExceptionAIClassification.js +10 -24
- package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -1
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +60 -0
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js +20 -0
- package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldValueMapping.js +141 -0
- package/build/dist/Types/CustomField/CustomFieldValueMapping.js.map +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js +2 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js.map +1 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js +7 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js.map +1 -0
- package/build/dist/Types/Exception/ApiException.js +9 -0
- package/build/dist/Types/Exception/ApiException.js.map +1 -1
- package/build/dist/Types/Exception/BadDataException.js +10 -0
- package/build/dist/Types/Exception/BadDataException.js.map +1 -1
- package/build/dist/Types/Exception/BadRequestException.js +10 -0
- package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
- package/build/dist/Types/Exception/Exception.js +56 -0
- package/build/dist/Types/Exception/Exception.js.map +1 -1
- package/build/dist/Types/Exception/ForbiddenException.js +9 -0
- package/build/dist/Types/Exception/ForbiddenException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthenticatedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthorizedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
- package/build/dist/Types/Exception/NotFoundException.js +10 -0
- package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/PayloadTooLargeException.js +10 -0
- package/build/dist/Types/Exception/PayloadTooLargeException.js.map +1 -1
- package/build/dist/Types/Exception/PaymentRequiredException.js +9 -0
- package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
- package/build/dist/Types/Exception/ServiceUnavailableException.js +9 -0
- package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -1
- package/build/dist/Types/Exception/SsoAuthorizationException.js +9 -0
- package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
- package/build/dist/Types/Exception/TenantNotFoundException.js +10 -0
- package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/TimeoutException.js +9 -0
- package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
- package/build/dist/Types/Exception/TooManyRequestsException.js +9 -0
- package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -1
- package/build/dist/Types/Exception/UnableToReachServer.js +9 -0
- package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
- package/build/dist/Types/Exception/WebsiteRequestException.js +9 -0
- package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +118 -37
- package/build/dist/Types/JSONFunctions.js.map +1 -1
- package/build/dist/Types/Monitor/CephAlertTemplates.js +130 -171
- package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +45 -2
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js +594 -0
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js +21 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js.map +1 -0
- package/build/dist/Types/Monitor/DockerAlertTemplates.js +286 -121
- package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +84 -105
- package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/HostAlertTemplates.js +250 -122
- package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/IotAlertTemplates.js +81 -81
- package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +375 -215
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js +19 -19
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +70 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorMetricType.js +61 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +54 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js +122 -0
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +45 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js +104 -153
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +156 -91
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +67 -6
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +38 -7
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js +261 -0
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js.map +1 -0
- package/build/dist/Types/Monitor/RumAlertTemplates.js +46 -7
- package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js +422 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js.map +1 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js +441 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js.map +1 -0
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js +79 -15
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +21 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
- package/build/dist/Types/Monitor/SqlConnectionConfig.js +2 -0
- package/build/dist/Types/Monitor/SqlConnectionConfig.js.map +1 -0
- package/build/dist/Types/Monitor/UptimeHistoryLabels.js +17 -0
- package/build/dist/Types/Monitor/UptimeHistoryLabels.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js +172 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +40 -22
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -1
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js +26 -0
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js +186 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js +87 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js.map +1 -0
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js +29 -0
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js.map +1 -0
- package/build/dist/Types/Permission.js +80 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +117 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayApi.js +181 -0
- package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +21 -12
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayConsentMode.js +11 -7
- package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayCustomEvents.js +172 -0
- package/build/dist/Types/Rum/SessionReplayCustomEvents.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayHealth.js +37 -0
- package/build/dist/Types/Rum/SessionReplayHealth.js.map +1 -0
- package/build/dist/Types/Telemetry/ErrorClass.js +216 -0
- package/build/dist/Types/Telemetry/ErrorClass.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestSurface.js +85 -0
- package/build/dist/Types/Telemetry/TelemetryIngestSurface.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js +15 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js +30 -0
- package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js.map +1 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js +59 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js.map +1 -0
- package/build/dist/Types/WebsiteRequest.js +55 -3
- package/build/dist/Types/WebsiteRequest.js.map +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +13 -2
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +6 -2
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js +13 -2
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/XAxis/XAxis.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js +15 -3
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +40 -9
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +186 -0
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js +2 -7
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +80 -6
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js +118 -0
- package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js.map +1 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +3 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +112 -7
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
- package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js +5 -162
- package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js.map +1 -1
- package/build/dist/UI/Components/Graphs/UptimeDaySummary.js +181 -0
- package/build/dist/UI/Components/Graphs/UptimeDaySummary.js.map +1 -0
- package/build/dist/UI/Components/Header/Header.js +2 -3
- package/build/dist/UI/Components/Header/Header.js.map +1 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js +2 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js.map +1 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js +7 -1
- package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js.map +1 -1
- package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js +7 -1
- package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js.map +1 -1
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js +7 -1
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +5 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/JSONTable/JSONTable.js +2 -2
- package/build/dist/UI/Components/JSONTable/JSONTable.js.map +1 -1
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js +35 -0
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js.map +1 -0
- package/build/dist/UI/Components/Modal/Modal.js +2 -7
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js +34 -0
- package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js.map +1 -0
- package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js +49 -0
- package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js.map +1 -0
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
- package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js +32 -6
- package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +77 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js +12 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js +6 -6
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js +67 -5
- package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js +49 -53
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js +25 -7
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
- package/build/dist/UI/Components/SideOver/SideOver.js +5 -20
- package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js +22 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js.map +1 -1
- package/build/dist/UI/Components/Table/CellClassName.js +55 -0
- package/build/dist/UI/Components/Table/CellClassName.js.map +1 -0
- package/build/dist/UI/Components/Table/TableRow.js +16 -13
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/UI/Components/Table/TableSkeletonRows.js +9 -8
- package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js +25 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +47 -30
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/NodePlacement.js +37 -0
- package/build/dist/UI/Components/Workflow/NodePlacement.js.map +1 -0
- package/build/dist/UI/Components/Workflow/Workflow.js +35 -18
- package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
- package/build/dist/UI/Config.js +10 -20
- package/build/dist/UI/Config.js.map +1 -1
- package/build/dist/UI/Utils/GlobalKeyboardShortcut.js +138 -0
- package/build/dist/UI/Utils/GlobalKeyboardShortcut.js.map +1 -0
- package/build/dist/UI/Utils/PageScrollLock.js +31 -3
- package/build/dist/UI/Utils/PageScrollLock.js.map +1 -1
- package/build/dist/UI/Utils/PermissionGate.js +42 -1
- package/build/dist/UI/Utils/PermissionGate.js.map +1 -1
- package/build/dist/UI/Utils/SensitiveUrlToken.js +97 -0
- package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js +14 -0
- package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/Telemetry.js +7 -5
- package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/UI/Utils/TestLLMProvider.js +4 -5
- package/build/dist/UI/Utils/TestLLMProvider.js.map +1 -1
- package/build/dist/Utils/API.js +67 -5
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +15 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +111 -9
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
- package/build/dist/Utils/HTTPResponseBodyReader.js +157 -0
- package/build/dist/Utils/HTTPResponseBodyReader.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorMetricType.js +109 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +8 -3
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +27 -7
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +7 -5
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js +180 -0
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js +12 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js +15 -5
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +44 -15
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js +52 -23
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js +69 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +85 -13
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +30 -15
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js +191 -0
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js.map +1 -0
- package/build/dist/Utils/Rum/ChunkMath.js +76 -0
- package/build/dist/Utils/Rum/ChunkMath.js.map +1 -1
- package/build/dist/Utils/Rum/SessionReplayHealth.js +534 -0
- package/build/dist/Utils/Rum/SessionReplayHealth.js.map +1 -0
- package/build/dist/Utils/Rum/SessionReplayStringMap.js +165 -0
- package/build/dist/Utils/Rum/SessionReplayStringMap.js.map +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
- package/build/dist/Utils/StatusPage/ResourceSearch.js +200 -0
- package/build/dist/Utils/StatusPage/ResourceSearch.js.map +1 -0
- package/build/dist/Utils/Telemetry/OriginAllowList.js +299 -0
- package/build/dist/Utils/Telemetry/OriginAllowList.js.map +1 -0
- package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js +147 -0
- package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js.map +1 -0
- package/build/dist/Utils/ValueFormatter.js +32 -1
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import NetworkDeviceService from "../../Services/NetworkDeviceService";
|
|
2
|
+
import NetworkSiteService from "../../Services/NetworkSiteService";
|
|
3
|
+
import NetworkSnmpCredentialProfileService from "../../Services/NetworkSnmpCredentialProfileService";
|
|
2
4
|
import QueryHelper from "../../Types/Database/QueryHelper";
|
|
3
5
|
import LIMIT_MAX from "../../../Types/Database/LimitMax";
|
|
4
6
|
import MonitorType from "../../../Types/Monitor/MonitorType";
|
|
@@ -6,22 +8,275 @@ import { SnmpVersionUtil, } from "../../../Types/Monitor/SnmpMonitor/SnmpVersion
|
|
|
6
8
|
import SnmpSecurityLevel from "../../../Types/Monitor/SnmpMonitor/SnmpSecurityLevel";
|
|
7
9
|
import IP from "../../../Types/IP/IP";
|
|
8
10
|
import IpCanonicalUtil from "../../../Utils/IpCanonicalUtil";
|
|
11
|
+
import { hasUsableCredentials, } from "../../../Utils/NetworkDevice/SnmpCredentialUtil";
|
|
9
12
|
import DnsResolutionCache from "./DnsResolutionCache";
|
|
10
13
|
import logger from "../Logger";
|
|
11
14
|
class NetworkDeviceHydrationUtil {
|
|
12
15
|
/*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
16
|
+
* The poll-time decision: walk the device over SNMP, or only ping it?
|
|
17
|
+
*
|
|
18
|
+
* Purely a function of whether the credential carrier the caller resolved
|
|
19
|
+
* (see resolveSnmpCredentials: the device's own columns, its credential
|
|
20
|
+
* profile, or its site's) has enough to open an SNMP session with - see
|
|
21
|
+
* SnmpCredentialUtil.hasUsableCredentials for what "enough" means. It is
|
|
22
|
+
* deliberately NOT a function of the monitoring method: a Probe device is
|
|
23
|
+
* polled either way, and the method only says whether a probe polls it at
|
|
24
|
+
* all.
|
|
25
|
+
*/
|
|
26
|
+
static resolvePollMode(carrier) {
|
|
27
|
+
return hasUsableCredentials(carrier) ? "snmp" : "ping";
|
|
28
|
+
}
|
|
29
|
+
/*
|
|
30
|
+
* Resolves, for a batch of devices, WHICH row each one is walked with -
|
|
31
|
+
* and therefore whether it is walked at all.
|
|
32
|
+
*
|
|
33
|
+
* Resolution order, first row with usable credentials wins:
|
|
34
|
+
* 1. the device's own snmp* columns,
|
|
35
|
+
* 2. the NetworkSnmpCredentialProfile the device points at,
|
|
36
|
+
* 3. the profile the device's SITE points at.
|
|
37
|
+
* With none of the three the device is pinged and never walked, and the
|
|
38
|
+
* carrier handed back is the device itself so the answer is always
|
|
39
|
+
* complete.
|
|
40
|
+
*
|
|
41
|
+
* TENANCY. Both lookups run as root, because a poll batch spans projects
|
|
42
|
+
* and there is no caller tenant to scope to. Root reads mean the FK is
|
|
43
|
+
* NOT a tenancy guarantee, so every profile is compared against the
|
|
44
|
+
* device's own projectId and a mismatch is DROPPED with an error log
|
|
45
|
+
* rather than used. A device pointed at another project's profile is
|
|
46
|
+
* therefore polled with NO credentials (ping) rather than with that
|
|
47
|
+
* project's community string - which is the difference between a device
|
|
48
|
+
* that reads Pending and a cross-tenant credential leak onto the wire.
|
|
49
|
+
*
|
|
50
|
+
* COST. Three queries per batch at the very worst, and zero for the
|
|
51
|
+
* common fleet where every device carries its own credentials: profiles
|
|
52
|
+
* are only looked up for devices that have no usable columns of their
|
|
53
|
+
* own, and sites only for those of them that still have nothing.
|
|
54
|
+
*
|
|
55
|
+
* This is the single resolver for BOTH the poll list handler and monitor
|
|
56
|
+
* hydration, so the walk a probe is told to run and the walk the monitor
|
|
57
|
+
* evaluation believes ran can never be based on different credentials.
|
|
58
|
+
*/
|
|
59
|
+
static async resolveSnmpCredentials(devices) {
|
|
60
|
+
var _a;
|
|
61
|
+
const byDeviceId = new Map();
|
|
62
|
+
const unresolvedDeviceIds = new Set();
|
|
63
|
+
/*
|
|
64
|
+
* A device whose own columns already open a session needs nothing read.
|
|
65
|
+
* Everything below is scoped to the rest, so a fleet that never adopted
|
|
66
|
+
* profiles pays for none of this.
|
|
67
|
+
*/
|
|
68
|
+
const devicesNeedingLookup = [];
|
|
69
|
+
for (const device of devices) {
|
|
70
|
+
if (!device.id) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (hasUsableCredentials(device)) {
|
|
74
|
+
byDeviceId.set(device.id.toString(), {
|
|
75
|
+
carrier: device,
|
|
76
|
+
pollMode: NetworkDeviceHydrationUtil.resolvePollMode(device),
|
|
77
|
+
});
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (device.snmpCredentialProfileId || device.siteId) {
|
|
81
|
+
devicesNeedingLookup.push(device);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// Nothing of its own, nothing to inherit from: pinged only.
|
|
85
|
+
byDeviceId.set(device.id.toString(), {
|
|
86
|
+
carrier: device,
|
|
87
|
+
pollMode: NetworkDeviceHydrationUtil.resolvePollMode(device),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (devicesNeedingLookup.length === 0) {
|
|
91
|
+
return {
|
|
92
|
+
byDeviceId: byDeviceId,
|
|
93
|
+
unresolvedDeviceIds: unresolvedDeviceIds,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const profilesById = new Map();
|
|
97
|
+
const siteProfileIdBySiteId = new Map();
|
|
98
|
+
try {
|
|
99
|
+
const deviceProfileIds = Array.from(new Set(devicesNeedingLookup.flatMap((device) => {
|
|
100
|
+
return device.snmpCredentialProfileId
|
|
101
|
+
? [device.snmpCredentialProfileId.toString()]
|
|
102
|
+
: [];
|
|
103
|
+
})));
|
|
104
|
+
const siteIds = Array.from(new Set(devicesNeedingLookup.flatMap((device) => {
|
|
105
|
+
return device.siteId ? [device.siteId.toString()] : [];
|
|
106
|
+
})));
|
|
107
|
+
/*
|
|
108
|
+
* Round one: the profiles the devices name, and the sites they sit in
|
|
109
|
+
* (for the profile those sites name). Issued together because neither
|
|
110
|
+
* depends on the other.
|
|
111
|
+
*/
|
|
112
|
+
const [deviceProfiles, sites] = await Promise.all([
|
|
113
|
+
NetworkDeviceHydrationUtil.loadCredentialProfiles(deviceProfileIds),
|
|
114
|
+
siteIds.length === 0
|
|
115
|
+
? Promise.resolve([])
|
|
116
|
+
: NetworkSiteService.findBy({
|
|
117
|
+
query: {
|
|
118
|
+
_id: QueryHelper.any(siteIds),
|
|
119
|
+
},
|
|
120
|
+
select: {
|
|
121
|
+
_id: true,
|
|
122
|
+
projectId: true,
|
|
123
|
+
snmpCredentialProfileId: true,
|
|
124
|
+
},
|
|
125
|
+
limit: LIMIT_MAX,
|
|
126
|
+
skip: 0,
|
|
127
|
+
props: {
|
|
128
|
+
isRoot: true,
|
|
129
|
+
},
|
|
130
|
+
}),
|
|
131
|
+
]);
|
|
132
|
+
for (const profile of deviceProfiles) {
|
|
133
|
+
if (profile.id) {
|
|
134
|
+
profilesById.set(profile.id.toString(), profile);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
for (const site of sites) {
|
|
138
|
+
if (site.id && site.snmpCredentialProfileId) {
|
|
139
|
+
siteProfileIdBySiteId.set(site.id.toString(), site.snmpCredentialProfileId.toString());
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/*
|
|
143
|
+
* Round two: the profiles the sites name that were not already loaded
|
|
144
|
+
* as a device's own. Only ever one extra statement, and only when a
|
|
145
|
+
* site actually carries a profile.
|
|
146
|
+
*/
|
|
147
|
+
const siteProfileIdsToLoad = Array.from(new Set(siteProfileIdBySiteId.values())).filter((profileId) => {
|
|
148
|
+
return !profilesById.has(profileId);
|
|
149
|
+
});
|
|
150
|
+
for (const profile of await NetworkDeviceHydrationUtil.loadCredentialProfiles(siteProfileIdsToLoad)) {
|
|
151
|
+
if (profile.id) {
|
|
152
|
+
profilesById.set(profile.id.toString(), profile);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
/*
|
|
158
|
+
* Skip these devices this cycle rather than polling them without the
|
|
159
|
+
* credentials they are configured with.
|
|
160
|
+
*
|
|
161
|
+
* The alternative - falling back to the device's own (empty) columns -
|
|
162
|
+
* would hand the probe a ping-mode device, and a device that has been
|
|
163
|
+
* answering SNMP would silently stop reporting interfaces, inventory
|
|
164
|
+
* and walk health for as long as the lookup keeps failing. Claiming
|
|
165
|
+
* has already advanced nextPollAt, so the cost of skipping is one
|
|
166
|
+
* interval; the cost of guessing is a wrong verdict.
|
|
167
|
+
*/
|
|
168
|
+
logger.error(`Could not resolve SNMP credential profiles for ${devicesNeedingLookup.length} network device(s); skipping them for this cycle rather than polling them without the credentials they are configured with.`);
|
|
169
|
+
logger.error(err);
|
|
170
|
+
for (const device of devicesNeedingLookup) {
|
|
171
|
+
if (device.id) {
|
|
172
|
+
unresolvedDeviceIds.add(device.id.toString());
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
byDeviceId: byDeviceId,
|
|
177
|
+
unresolvedDeviceIds: unresolvedDeviceIds,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
for (const device of devicesNeedingLookup) {
|
|
181
|
+
const deviceId = device.id.toString();
|
|
182
|
+
const candidates = [
|
|
183
|
+
NetworkDeviceHydrationUtil.sameProjectProfile({
|
|
184
|
+
device: device,
|
|
185
|
+
profileId: (_a = device.snmpCredentialProfileId) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
186
|
+
profilesById: profilesById,
|
|
187
|
+
referencedBy: "device",
|
|
188
|
+
}),
|
|
189
|
+
NetworkDeviceHydrationUtil.sameProjectProfile({
|
|
190
|
+
device: device,
|
|
191
|
+
profileId: device.siteId
|
|
192
|
+
? siteProfileIdBySiteId.get(device.siteId.toString())
|
|
193
|
+
: undefined,
|
|
194
|
+
profilesById: profilesById,
|
|
195
|
+
referencedBy: "site",
|
|
196
|
+
}),
|
|
197
|
+
];
|
|
198
|
+
const winner = candidates.find((candidate) => {
|
|
199
|
+
return candidate !== undefined && hasUsableCredentials(candidate);
|
|
200
|
+
});
|
|
201
|
+
// No usable row anywhere: the device's own (empty) columns, pinged only.
|
|
202
|
+
const carrier = winner || device;
|
|
203
|
+
byDeviceId.set(deviceId, {
|
|
204
|
+
carrier: carrier,
|
|
205
|
+
// One definition of "credentials -> mode", asked of the winning row.
|
|
206
|
+
pollMode: NetworkDeviceHydrationUtil.resolvePollMode(carrier),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return { byDeviceId: byDeviceId, unresolvedDeviceIds: unresolvedDeviceIds };
|
|
210
|
+
}
|
|
211
|
+
static async loadCredentialProfiles(profileIds) {
|
|
212
|
+
if (profileIds.length === 0) {
|
|
213
|
+
return [];
|
|
214
|
+
}
|
|
215
|
+
return await NetworkSnmpCredentialProfileService.findBy({
|
|
216
|
+
query: {
|
|
217
|
+
_id: QueryHelper.any(profileIds),
|
|
218
|
+
},
|
|
219
|
+
select: NetworkDeviceHydrationUtil.credentialProfileSelect,
|
|
220
|
+
limit: LIMIT_MAX,
|
|
221
|
+
skip: 0,
|
|
222
|
+
props: {
|
|
223
|
+
isRoot: true,
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/*
|
|
228
|
+
* The tenancy comparison, in the one place both references pass through.
|
|
229
|
+
* Returns the profile only when it exists AND belongs to the device's
|
|
230
|
+
* project; a cross-project reference is dropped loudly, because the only
|
|
231
|
+
* ways a row can get into that state are corrupted data or a write that
|
|
232
|
+
* predates the guards in NetworkDeviceService/NetworkSiteService - and in
|
|
233
|
+
* either case shipping those credentials to this project's probe is a
|
|
234
|
+
* credential leak, not a degraded poll.
|
|
235
|
+
*/
|
|
236
|
+
static sameProjectProfile(data) {
|
|
237
|
+
var _a;
|
|
238
|
+
if (!data.profileId) {
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
241
|
+
const profile = data.profilesById.get(data.profileId);
|
|
242
|
+
if (!profile) {
|
|
243
|
+
// Deleted between the device's write and this poll; nothing to log loudly.
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
/*
|
|
247
|
+
* Both sides must be present AND equal. A row missing its projectId is
|
|
248
|
+
* not "unknown, therefore fine": it is a row whose tenancy cannot be
|
|
249
|
+
* established, and the credentials in it are about to be put on a
|
|
250
|
+
* specific project's wire. The only safe reading of an unverifiable
|
|
251
|
+
* reference is to refuse it.
|
|
252
|
+
*/
|
|
253
|
+
const isSameProject = Boolean(profile.projectId &&
|
|
254
|
+
data.device.projectId &&
|
|
255
|
+
profile.projectId.toString() === data.device.projectId.toString());
|
|
256
|
+
if (!isSameProject) {
|
|
257
|
+
logger.error(`Network device ${(_a = data.device.id) === null || _a === void 0 ? void 0 : _a.toString()} resolves (via its ${data.referencedBy}) to SNMP Credential Profile ${data.profileId}, whose project does not match the device's. Dropping the profile: the device is pinged only until the reference is corrected.`);
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
return profile;
|
|
261
|
+
}
|
|
262
|
+
/*
|
|
263
|
+
* Assembles the concrete SNMP config a stateless probe can execute.
|
|
264
|
+
*
|
|
265
|
+
* `hostname` and `credentials` are separate parameters, and deliberately
|
|
266
|
+
* so: WHERE to connect always comes from the device, WHAT to connect with
|
|
267
|
+
* comes from whichever row won resolveSnmpCredentials' order. Passing the
|
|
268
|
+
* device for both was the old shape, and it made "poll this device with
|
|
269
|
+
* its site's profile" unrepresentable. The caller chooses what to collect
|
|
15
270
|
* (OIDs / interface walk) — for device polling those come from the
|
|
16
271
|
* device's own snmpOids/walkInterfaces columns.
|
|
17
272
|
*/
|
|
18
273
|
static buildSnmpMonitorConfig(data) {
|
|
19
274
|
return {
|
|
20
|
-
snmpVersion: NetworkDeviceHydrationUtil.parseSnmpVersion(data.
|
|
21
|
-
hostname: data.
|
|
22
|
-
port: data.
|
|
23
|
-
communityString: data.
|
|
24
|
-
snmpV3Auth: NetworkDeviceHydrationUtil.buildSnmpV3Auth(data.
|
|
275
|
+
snmpVersion: NetworkDeviceHydrationUtil.parseSnmpVersion(data.credentials.snmpVersion || undefined),
|
|
276
|
+
hostname: data.hostname,
|
|
277
|
+
port: data.credentials.snmpPort || 161,
|
|
278
|
+
communityString: data.credentials.snmpCommunityString || undefined,
|
|
279
|
+
snmpV3Auth: NetworkDeviceHydrationUtil.buildSnmpV3Auth(data.credentials),
|
|
25
280
|
oids: data.oids,
|
|
26
281
|
timeout: 5000,
|
|
27
282
|
retries: 3,
|
|
@@ -53,7 +308,7 @@ class NetworkDeviceHydrationUtil {
|
|
|
53
308
|
}
|
|
54
309
|
// Accepts Monitor and MonitorTest alike (structural: monitorType + monitorSteps).
|
|
55
310
|
static async hydrateNetworkDeviceMonitors(monitors) {
|
|
56
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
311
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
57
312
|
const deviceIds = NetworkDeviceHydrationUtil.getReferencedNetworkDeviceIds(monitors);
|
|
58
313
|
if (deviceIds.length === 0) {
|
|
59
314
|
return;
|
|
@@ -75,6 +330,14 @@ class NetworkDeviceHydrationUtil {
|
|
|
75
330
|
devicesById.set(device.id.toString(), device);
|
|
76
331
|
}
|
|
77
332
|
}
|
|
333
|
+
/*
|
|
334
|
+
* The same resolver the poll list handler uses, for the same devices.
|
|
335
|
+
* Sharing it is the point: a device walked with its site's profile must
|
|
336
|
+
* be EVALUATED against that walk too, and two independent readings of
|
|
337
|
+
* "which credentials does this device use" would eventually disagree —
|
|
338
|
+
* silently, and only for the devices that use a profile.
|
|
339
|
+
*/
|
|
340
|
+
const resolvedCredentials = await NetworkDeviceHydrationUtil.resolveSnmpCredentials(devices);
|
|
78
341
|
for (const monitor of monitors) {
|
|
79
342
|
if (monitor.monitorType !== MonitorType.NetworkDevice) {
|
|
80
343
|
continue;
|
|
@@ -89,6 +352,19 @@ class NetworkDeviceHydrationUtil {
|
|
|
89
352
|
logger.warn(`Network Device monitor ${(_e = monitor.id) === null || _e === void 0 ? void 0 : _e.toString()} references missing device ${deviceId}. Step will not be executable.`);
|
|
90
353
|
continue;
|
|
91
354
|
}
|
|
355
|
+
const resolved = resolvedCredentials.byDeviceId.get(deviceId);
|
|
356
|
+
/*
|
|
357
|
+
* Only ever absent when the credential lookup failed this cycle
|
|
358
|
+
* (resolveSnmpCredentials withholds those devices). Leave the step
|
|
359
|
+
* unhydrated rather than assembling a config from the device's own
|
|
360
|
+
* empty columns: the probe would open a session with SnmpMonitor's
|
|
361
|
+
* default "public" community and report a perfectly healthy device
|
|
362
|
+
* as failing its walk.
|
|
363
|
+
*/
|
|
364
|
+
if (!resolved) {
|
|
365
|
+
logger.warn(`Network Device monitor ${(_f = monitor.id) === null || _f === void 0 ? void 0 : _f.toString()}: could not resolve SNMP credentials for device ${deviceId} this cycle. Leaving the step unhydrated rather than executing it without credentials.`);
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
92
368
|
/*
|
|
93
369
|
* Legacy path: reads the step's own (deprecated) oids and
|
|
94
370
|
* monitorInterfaces. Only monitor TESTS still flow through here —
|
|
@@ -97,9 +373,10 @@ class NetworkDeviceHydrationUtil {
|
|
|
97
373
|
*/
|
|
98
374
|
step.data.snmpMonitor =
|
|
99
375
|
NetworkDeviceHydrationUtil.buildSnmpMonitorConfig({
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
376
|
+
hostname: device.hostname,
|
|
377
|
+
credentials: resolved.carrier,
|
|
378
|
+
oids: ((_g = step.data.networkDeviceMonitor) === null || _g === void 0 ? void 0 : _g.oids) || [],
|
|
379
|
+
monitorInterfaces: ((_h = step.data.networkDeviceMonitor) === null || _h === void 0 ? void 0 : _h.monitorInterfaces) !== false,
|
|
103
380
|
});
|
|
104
381
|
}
|
|
105
382
|
}
|
|
@@ -125,22 +402,27 @@ class NetworkDeviceHydrationUtil {
|
|
|
125
402
|
* probe cannot tell from "never configured" — and would therefore poll with
|
|
126
403
|
* a silently defaulted algorithm.
|
|
127
404
|
*/
|
|
128
|
-
static buildSnmpV3Auth(
|
|
129
|
-
if (
|
|
405
|
+
static buildSnmpV3Auth(credentials) {
|
|
406
|
+
if (credentials.snmpV3Username) {
|
|
130
407
|
return {
|
|
131
|
-
securityLevel:
|
|
408
|
+
securityLevel: credentials.snmpV3SecurityLevel ||
|
|
132
409
|
SnmpSecurityLevel.NoAuthNoPriv,
|
|
133
|
-
username:
|
|
134
|
-
authProtocol:
|
|
410
|
+
username: credentials.snmpV3Username,
|
|
411
|
+
authProtocol: credentials.snmpV3AuthProtocol ||
|
|
135
412
|
undefined,
|
|
136
|
-
authKey:
|
|
137
|
-
privProtocol:
|
|
413
|
+
authKey: credentials.snmpV3AuthKey || undefined,
|
|
414
|
+
privProtocol: credentials.snmpV3PrivProtocol ||
|
|
138
415
|
undefined,
|
|
139
|
-
privKey:
|
|
416
|
+
privKey: credentials.snmpV3PrivKey || undefined,
|
|
140
417
|
};
|
|
141
418
|
}
|
|
142
|
-
|
|
143
|
-
|
|
419
|
+
/*
|
|
420
|
+
* Legacy devices stored the whole object in the snmpV3Auth JSON column.
|
|
421
|
+
* Only devices ever had it — a credential profile is newer than the
|
|
422
|
+
* flattened columns — so this branch is unreachable for a profile
|
|
423
|
+
* carrier, which is exactly why the field is optional on the interface.
|
|
424
|
+
*/
|
|
425
|
+
const legacy = credentials.snmpV3Auth;
|
|
144
426
|
if (legacy && legacy.username) {
|
|
145
427
|
return legacy;
|
|
146
428
|
}
|
|
@@ -244,9 +526,18 @@ class NetworkDeviceHydrationUtil {
|
|
|
244
526
|
* Shared by monitor hydration below and the device polling claim
|
|
245
527
|
* endpoint, so the two can never drift apart on which credentials they
|
|
246
528
|
* load.
|
|
529
|
+
*
|
|
530
|
+
* `projectId`, `siteId` and `snmpCredentialProfileId` are part of the
|
|
531
|
+
* credential set, not extras: a device's credentials may live on a
|
|
532
|
+
* profile it or its site points at, and a profile is only usable when it
|
|
533
|
+
* belongs to the same project as the device (resolveSnmpCredentials drops
|
|
534
|
+
* it otherwise, and cannot compare what it did not select).
|
|
247
535
|
*/
|
|
248
536
|
NetworkDeviceHydrationUtil.snmpConfigSelect = {
|
|
249
537
|
_id: true,
|
|
538
|
+
projectId: true,
|
|
539
|
+
siteId: true,
|
|
540
|
+
snmpCredentialProfileId: true,
|
|
250
541
|
hostname: true,
|
|
251
542
|
snmpVersion: true,
|
|
252
543
|
snmpCommunityString: true,
|
|
@@ -259,6 +550,24 @@ NetworkDeviceHydrationUtil.snmpConfigSelect = {
|
|
|
259
550
|
snmpV3PrivProtocol: true,
|
|
260
551
|
snmpV3PrivKey: true,
|
|
261
552
|
};
|
|
553
|
+
/*
|
|
554
|
+
* The columns a NetworkSnmpCredentialProfile contributes when it is the
|
|
555
|
+
* winning carrier. `projectId` is here for the tenancy comparison, which
|
|
556
|
+
* is the whole reason the profiles are loaded as root.
|
|
557
|
+
*/
|
|
558
|
+
NetworkDeviceHydrationUtil.credentialProfileSelect = {
|
|
559
|
+
_id: true,
|
|
560
|
+
projectId: true,
|
|
561
|
+
snmpVersion: true,
|
|
562
|
+
snmpCommunityString: true,
|
|
563
|
+
snmpPort: true,
|
|
564
|
+
snmpV3SecurityLevel: true,
|
|
565
|
+
snmpV3Username: true,
|
|
566
|
+
snmpV3AuthProtocol: true,
|
|
567
|
+
snmpV3AuthKey: true,
|
|
568
|
+
snmpV3PrivProtocol: true,
|
|
569
|
+
snmpV3PrivKey: true,
|
|
570
|
+
};
|
|
262
571
|
// Shared across trap and syslog ingest; 5-minute TTL, failure-cached.
|
|
263
572
|
NetworkDeviceHydrationUtil.dnsCache = new DnsResolutionCache();
|
|
264
573
|
export default NetworkDeviceHydrationUtil;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkDeviceHydrationUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetworkDeviceHydrationUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,26 @@ import ObjectID from "../../../Types/ObjectID";
|
|
|
20
20
|
import OneUptimeDate from "../../../Types/Date";
|
|
21
21
|
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
22
22
|
/*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
23
|
+
* Ping round-trip time of a network device, in ms.
|
|
24
|
+
*
|
|
25
|
+
* Ping monitors write their RTT into MonitorMetricType.ResponseTime, but on
|
|
26
|
+
* a network device that series is the SNMP walk's time (and is absent on a
|
|
27
|
+
* ping-only poll), so the RTT needs a series of its own. It sits in the
|
|
28
|
+
* `oneuptime.monitor.ping.*` namespace beside PacketLossPercent and Jitter,
|
|
29
|
+
* which ARE reused from the Ping monitor. MonitorMetricType has no member
|
|
30
|
+
* for it yet; this constant should graduate into that enum (and the device
|
|
31
|
+
* metric catalog) rather than be duplicated.
|
|
32
|
+
*/
|
|
33
|
+
export const NETWORK_DEVICE_PING_ROUND_TRIP_TIME_METRIC_NAME = "oneuptime.monitor.ping.round.trip.time";
|
|
34
|
+
/*
|
|
35
|
+
* Emits device-scoped metrics from each device poll — reachability, ping
|
|
36
|
+
* RTT / packet loss, SNMP walk time, per-interface
|
|
37
|
+
* status/bandwidth/utilization/errors, and polled health-OID values.
|
|
38
|
+
* Series are keyed to the NetworkDevice (primaryEntityId = deviceId,
|
|
39
|
+
* attributes.networkDeviceId), NOT to a monitor, so the device pages can
|
|
40
|
+
* chart health for every registered device — including devices no monitor
|
|
41
|
+
* watches. Mirrors the SNMP sections of MonitorMetricUtil, which continue
|
|
42
|
+
* to emit monitor-scoped series for monitors that alert on the device.
|
|
31
43
|
*/
|
|
32
44
|
class NetworkDeviceMetricUtil {
|
|
33
45
|
static async getRetentionDays() {
|
|
@@ -106,15 +118,48 @@ class NetworkDeviceMetricUtil {
|
|
|
106
118
|
pushMetric({
|
|
107
119
|
metricName: MonitorMetricType.IsOnline,
|
|
108
120
|
value: data.isOnline ? 1 : 0,
|
|
109
|
-
description: "
|
|
121
|
+
description: "Reachability of this network device by ping or SNMP (1 up, 0 down)",
|
|
110
122
|
unit: "",
|
|
111
123
|
});
|
|
112
124
|
}
|
|
125
|
+
/*
|
|
126
|
+
* Walk time only. A ping-only poll has no walk and writes no point
|
|
127
|
+
* here; its latency is the RTT series below. Mixing the two into one
|
|
128
|
+
* series would chart a 1 ms ICMP echo and a 400 ms 48-port walk as the
|
|
129
|
+
* same thing.
|
|
130
|
+
*/
|
|
113
131
|
if (data.responseTimeInMs !== undefined) {
|
|
114
132
|
pushMetric({
|
|
115
133
|
metricName: MonitorMetricType.ResponseTime,
|
|
116
134
|
value: data.responseTimeInMs,
|
|
117
|
-
description: "SNMP
|
|
135
|
+
description: "SNMP walk time of this network device (absent when the poll ran no walk)",
|
|
136
|
+
unit: "ms",
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/*
|
|
140
|
+
* The probe's ping, when it ran one. Packet loss and jitter reuse the
|
|
141
|
+
* Ping monitor's series so the same charts and criteria vocabulary
|
|
142
|
+
* apply; the RTT gets its own (see the constant's comment). pushMetric
|
|
143
|
+
* skips undefined values, so an older probe that reports no ping
|
|
144
|
+
* writes nothing here.
|
|
145
|
+
*/
|
|
146
|
+
if (data.pingResponse) {
|
|
147
|
+
pushMetric({
|
|
148
|
+
metricName: NETWORK_DEVICE_PING_ROUND_TRIP_TIME_METRIC_NAME,
|
|
149
|
+
value: data.pingResponse.avgRoundTripTimeInMs,
|
|
150
|
+
description: "Ping round-trip time to this network device",
|
|
151
|
+
unit: "ms",
|
|
152
|
+
});
|
|
153
|
+
pushMetric({
|
|
154
|
+
metricName: MonitorMetricType.PacketLossPercent,
|
|
155
|
+
value: data.pingResponse.packetLossPercent,
|
|
156
|
+
description: "Ping packet loss to this network device",
|
|
157
|
+
unit: "%",
|
|
158
|
+
});
|
|
159
|
+
pushMetric({
|
|
160
|
+
metricName: MonitorMetricType.Jitter,
|
|
161
|
+
value: data.pingResponse.jitterInMs,
|
|
162
|
+
description: "Ping jitter to this network device",
|
|
118
163
|
unit: "ms",
|
|
119
164
|
});
|
|
120
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkDeviceMetricUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/NetworkDeviceMetricUtil.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,UAAU,MAAM,2CAA2C,CAAC;AAGnE,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"NetworkDeviceMetricUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/NetworkDeviceMetricUtil.ts"],"names":[],"mappings":"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"}
|