@oneuptime/common 12.0.33 → 13.0.0
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/DatabaseModels/AlertCustomField.ts +77 -3
- package/Models/DatabaseModels/ApiKeyPermission.ts +3 -27
- package/Models/DatabaseModels/GlobalConfig.ts +12 -12
- package/Models/DatabaseModels/IncidentCustomField.ts +77 -3
- package/Models/DatabaseModels/InventoryItem.ts +44 -1
- package/Models/DatabaseModels/InventoryItemCustomField.ts +77 -3
- package/Models/DatabaseModels/MonitorCustomField.ts +77 -3
- package/Models/DatabaseModels/NetworkDevice.ts +126 -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/TelemetryIngestionKey.ts +260 -0
- package/Models/DatabaseModels/UserTelegram.ts +0 -4
- package/Scripts/benchmark-fanin-capacity.js +181 -0
- 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 +82 -18
- 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/1791700000000-AddMacAddressToNetworkDevice.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Infrastructure/QueueWorker.ts +20 -14
- package/Server/Infrastructure/Redis.ts +8 -8
- package/Server/Infrastructure/Semaphore.ts +2 -0
- package/Server/Infrastructure/Status.ts +10 -4
- package/Server/Middleware/TelemetryIngest.ts +453 -7
- 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/DatabaseService.ts +65 -13
- package/Server/Services/GlobalConfigService.ts +194 -0
- package/Server/Services/IncidentCustomFieldService.ts +98 -0
- package/Server/Services/IncidentService.ts +35 -0
- package/Server/Services/InventoryItemService.ts +31 -1
- package/Server/Services/MetricService.ts +194 -0
- package/Server/Services/MonitorService.ts +32 -0
- package/Server/Services/MonitorTemplateService.ts +140 -19
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +427 -66
- package/Server/Services/NetworkDeviceDiscoveryScanService.ts +87 -2
- package/Server/Services/NetworkDeviceService.ts +69 -0
- package/Server/Services/ProjectService.ts +22 -0
- 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/TeamMemberService.ts +78 -0
- package/Server/Services/TeamPermissionService.ts +235 -3
- package/Server/Services/TelemetryIngestionKeyService.ts +722 -19
- package/Server/Services/UserNotificationRuleService.ts +76 -25
- package/Server/Services/UserNotificationSettingService.ts +34 -6
- package/Server/Services/UserTelegramService.ts +326 -5
- package/Server/Types/Database/Permissions/ReadPermission.ts +45 -5
- package/Server/Types/Database/QueryHelper.ts +2 -0
- package/Server/Types/Database/QueryUtil.ts +56 -0
- package/Server/Types/Markdown.ts +93 -1
- package/Server/Utils/APIKey/AccessPermission.ts +5 -2
- 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/Dashboard/PublicDashboardResourceListPolicy.ts +82 -17
- package/Server/Utils/DataSource/EgressGuard.ts +177 -8
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +38 -5
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +67 -5
- package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +2 -2
- package/Server/Utils/FrontendEnvironment.ts +40 -0
- package/Server/Utils/LogRedaction.ts +20 -0
- package/Server/Utils/Logger.ts +11 -0
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +394 -86
- package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +30 -4
- package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +31 -5
- package/Server/Utils/Monitor/MonitorAlert.ts +29 -6
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +312 -52
- package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +82 -9
- package/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts +16 -7
- package/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.ts +29 -17
- package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +107 -48
- package/Server/Utils/Monitor/MonitorIncident.ts +22 -6
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +29 -0
- package/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.ts +158 -0
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +27 -0
- package/Server/Utils/Monitor/SeriesContextEnricher.ts +304 -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 +2 -17
- package/Server/Utils/TelegramVerificationToken.ts +185 -0
- package/Server/Utils/Telemetry/EntityRegistry.ts +11 -1
- package/Server/Utils/Telemetry/PinServiceName.ts +197 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +83 -9
- 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/VM/VMAPI.ts +1 -0
- package/Server/Utils/VM/VMRunner.ts +975 -95
- package/Tests/App/AdminDashboard/AdminHeaderSmallScreens.test.tsx +202 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +32 -0
- package/Tests/App/Dashboard/AdoptedDeviceDrawer.test.tsx +374 -0
- package/Tests/App/Dashboard/DashboardHeaderSmallScreens.test.tsx +404 -0
- package/Tests/App/Dashboard/DashboardLabelVariables.test.tsx +580 -0
- package/Tests/App/Dashboard/DashboardMonitorLabelVariable.test.tsx +438 -0
- package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +5 -2
- package/Tests/App/Dashboard/DeviceAttachmentCard.test.tsx +273 -0
- package/Tests/App/Dashboard/DiscoveryReviewInventoryRefresh.test.tsx +505 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +468 -0
- package/Tests/App/Dashboard/EntityDetailPanel.test.tsx +163 -0
- package/Tests/App/Dashboard/InfrastructureExplorer.test.tsx +401 -0
- package/Tests/App/Dashboard/InfrastructureGraph.test.tsx +232 -0
- package/Tests/App/Dashboard/InventoryItems.test.tsx +201 -0
- package/Tests/App/Dashboard/InventoryTypeAndStatusFacets.test.tsx +798 -0
- package/Tests/App/Dashboard/NetworkTopologyLiveView.test.tsx +320 -0
- package/Tests/App/Dashboard/NetworkTopologyToolbar.test.tsx +275 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedEmptyState.test.tsx +975 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +63 -0
- package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +626 -0
- package/Tests/App/Dashboard/TopologyDataLoading.test.tsx +348 -0
- package/Tests/App/Dashboard/TopologyPageNavigation.test.tsx +331 -0
- package/Tests/App/Dashboard/UserSettingsEmailPreferences.test.tsx +603 -0
- package/Tests/App/Dashboard/UserSettingsNotificationSettings.test.tsx +324 -0
- package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +13 -4
- package/Tests/App/StatusPage/StatusPageLastUpdated.test.tsx +263 -0
- package/Tests/App/StatusPage/StatusPageOidcOrigin.test.tsx +223 -0
- 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/InventoryItemStatus.test.ts +147 -0
- package/Tests/Models/NetworkDeviceMacAddressColumn.test.ts +294 -0
- package/Tests/ResponsiveVisibility.test.ts +115 -0
- package/Tests/ResponsiveVisibility.ts +183 -0
- package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +129 -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/EnvironmentConfigValkey.test.ts +227 -0
- package/Tests/Server/Infrastructure/Postgres/AddMacAddressToNetworkDeviceMigration.test.ts +365 -0
- package/Tests/Server/Infrastructure/Postgres/CustomFieldValueMappingMigration.test.ts +241 -0
- package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +41 -0
- package/Tests/Server/Infrastructure/Postgres/SessionReplayRecordEverySessionByDefaultMigration.test.ts +169 -0
- package/Tests/Server/Infrastructure/QueueWorkerTimeout.test.ts +210 -0
- package/Tests/Server/Infrastructure/TelemetryExporterDeploymentConfig.test.ts +130 -0
- package/Tests/Server/Infrastructure/ValkeyDeploymentConfig.test.ts +265 -0
- package/Tests/Server/Middleware/HttpMetricsMiddleware.test.ts +382 -0
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -1
- package/Tests/Server/Middleware/SCIMAuthorization.test.ts +525 -0
- package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +1163 -0
- package/Tests/Server/Middleware/TelemetryIngestTokenLog.test.ts +5 -3
- 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/CustomFieldDropdownOptionsColumnWidth.test.ts +431 -0
- package/Tests/Server/Services/CustomFieldMappingService.test.ts +850 -0
- package/Tests/Server/Services/DatabaseServiceAggregateBy.test.ts +291 -56
- package/Tests/Server/Services/DatabaseServiceSortTiebreaker.test.ts +151 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +32 -0
- package/Tests/Server/Services/GlobalConfigService.test.ts +414 -1
- package/Tests/Server/Services/InventoryItemManualCreate.test.ts +105 -0
- package/Tests/Server/Services/InventoryItemPromotionGate.test.ts +178 -0
- package/Tests/Server/Services/MetricRawEntityKeyPrune.test.ts +592 -0
- package/Tests/Server/Services/MonitorTemplateServiceCustomFieldSync.test.ts +502 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +1351 -74
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanRegistration.test.ts +520 -0
- package/Tests/Server/Services/NetworkDeviceMacAddressNormalization.test.ts +572 -0
- package/Tests/Server/Services/RoutineEmailSettingsPostgres.test.ts +329 -0
- package/Tests/Server/Services/RumSessionReplayViewService.test.ts +267 -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/UserNotificationSettingRollupRouting.test.ts +141 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +18 -10
- package/Tests/Server/Services/UserTelegramVerificationSecurity.test.ts +688 -0
- package/Tests/Server/Types/Database/InventoryStatusPostgres.test.ts +368 -0
- package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +261 -14
- package/Tests/Server/Types/Database/QueryUtilIncludesAnyOfGroups.test.ts +169 -0
- package/Tests/Server/Types/Database/QueryUtilIncludesAnyOfGroupsPostgres.test.ts +297 -0
- package/Tests/Server/Types/Markdown.test.ts +194 -1
- package/Tests/Server/Types/Workflow/Components/IncomingWebhookUtils.test.ts +279 -0
- package/Tests/Server/Types/Workflow/Components/TextToJson.test.ts +212 -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/CustomField/CustomFieldMappingRegistry.test.ts +436 -0
- package/Tests/Server/Utils/CustomField/CustomFieldMappingValidator.test.ts +437 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +214 -0
- package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +300 -11
- package/Tests/Server/Utils/EmailRollup/EmailRollupBurstWindow.test.ts +83 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +2 -2
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerPreferences.test.ts +362 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +10 -3
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +77 -1
- package/Tests/Server/Utils/EventLoop.test.ts +359 -0
- package/Tests/Server/Utils/FrontendEnvironment.test.ts +190 -0
- package/Tests/Server/Utils/JsonWebToken.test.ts +30 -0
- package/Tests/Server/Utils/LogRedaction.test.ts +26 -0
- package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +23 -9
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteria.test.ts +242 -0
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +590 -0
- package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +29 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestHeaderCriteria.test.ts +236 -0
- package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +30 -6
- package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteriaAnomalyUnits.test.ts +246 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEmailEvalLogAgreement.test.ts +280 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +659 -8
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorMetricUnits.test.ts +570 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaExpectationBuilderUnits.test.ts +30 -5
- package/Tests/Server/Utils/Monitor/MonitorCriteriaMessageBuilderUnits.test.ts +68 -21
- package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +36 -19
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtilSeriesContext.test.ts +176 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.test.ts +573 -0
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +317 -0
- package/Tests/Server/Utils/Monitor/SeriesContextEnricher.test.ts +356 -0
- package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +595 -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/ContextSpanProcessor.test.ts +281 -0
- package/Tests/Server/Utils/Telemetry/InventoryDuplicateIdentity.test.ts +316 -0
- package/Tests/Server/Utils/Telemetry/PinServiceName.test.ts +666 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +111 -8
- 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/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/Database/IncludesAnyOfGroups.test.ts +106 -0
- package/Tests/Types/JSONFunctions.test.ts +300 -0
- package/Tests/Types/Monitor/CephAlertTemplates.test.ts +422 -53
- 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/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/NetworkAutomation/AutoImportRunMerge.test.ts +235 -0
- package/Tests/Types/NetworkAutomation/RuleRunResult.test.ts +66 -0
- package/Tests/Types/NetworkAutomation/RuleRunResultDescribe.test.ts +309 -1
- 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/InventoryLiveness.test.ts +99 -0
- package/Tests/Types/WebsiteRequest.test.ts +285 -3
- 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/CustomFieldsDetail.test.tsx +160 -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 +28 -12
- package/Tests/UI/Components/ShortcutDialogGuard.test.tsx +74 -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/ReactRouterSingletonBuild.test.ts +133 -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 +719 -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/ReplayPlayerChrome.test.tsx +514 -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/ReplayTimeFormat.test.ts +94 -0
- package/Tests/UI/Rum/ReplayTimeline.test.tsx +696 -0
- package/Tests/UI/Rum/ReplayUi.test.tsx +559 -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/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +5 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +1 -0
- package/Tests/UI/Utils/GlobalKeyboardShortcut.test.ts +344 -0
- package/Tests/Utils/API.test.ts +308 -0
- package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +11 -1
- package/Tests/Utils/Dashboard/LabelVariable.test.ts +257 -0
- package/Tests/Utils/Dashboard/VariableUrlState.test.ts +144 -14
- package/Tests/Utils/HTTPResponseBodyReader.test.ts +323 -0
- package/Tests/Utils/MetricUnitUtil.test.ts +81 -0
- package/Tests/Utils/Monitor/DeviceMacLearningUtil.test.ts +497 -0
- package/Tests/Utils/Monitor/MetricValueFormatter.test.ts +546 -0
- package/Tests/Utils/Monitor/MonitorTemplateCustomFieldUtil.test.ts +218 -0
- package/Tests/Utils/Monitor/NetworkTopologyEndpointAdoption.test.ts +1755 -0
- package/Tests/Utils/NetworkAutomation/AutoImportRunChain.test.ts +320 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryScanStatus.test.ts +117 -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/OriginAllowList.test.ts +633 -0
- package/Tests/Utils/Uptime/DayUptimeGraphUtil.test.ts +461 -0
- package/Tests/Utils/ValueFormatter.test.ts +148 -0
- package/Types/BaseDatabase/IncludesAnyOfGroups.ts +77 -0
- package/Types/CustomField/CustomFieldMappingCatalog.ts +161 -0
- package/Types/CustomField/CustomFieldMappingSourceResource.ts +19 -0
- package/Types/CustomField/CustomFieldValueMapping.ts +288 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardMonitorListComponent.ts +1 -0
- package/Types/Dashboard/DashboardVariable.ts +8 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/JSON.ts +4 -0
- package/Types/JSONFunctions.ts +205 -43
- package/Types/Monitor/CephAlertTemplates.ts +157 -195
- 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/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/NetworkTopology.ts +13 -0
- package/Types/Monitor/UptimeHistoryLabels.ts +56 -0
- package/Types/NetworkAutomation/RuleRunResult.ts +402 -13
- package/Types/NotificationSetting/RoutineEmailEvents.ts +30 -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/SerializableObjectDictionary.ts +4 -0
- package/Types/Telemetry/InventoryLiveness.ts +56 -0
- package/Types/Telemetry/TelemetryIngestSurface.ts +95 -0
- package/Types/Telemetry/TelemetryIngestionKeyPolicy.ts +75 -0
- package/Types/Telemetry/TelemetryIngestionKeyType.ts +29 -0
- package/Types/WebsiteRequest.ts +85 -3
- package/UI/Components/CSVFileUpload/CSVFileUpload.tsx +9 -2
- 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/CustomFields/CustomFieldsDetail.tsx +189 -46
- package/UI/Components/CustomFields/MapFromCustomFieldInput.tsx +216 -0
- package/UI/Components/Dashboard/DashboardVariableControl.tsx +285 -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/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 +44 -0
- 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/Telemetry/BrowserTelemetryConfig.ts +28 -0
- package/UI/Utils/Telemetry/Telemetry.ts +10 -8
- package/UI/esbuild-config.js +6 -0
- package/Utils/API.ts +129 -3
- package/Utils/Dashboard/Components/DashboardMonitorListComponent.ts +12 -1
- package/Utils/Dashboard/LabelVariable.ts +152 -0
- package/Utils/Dashboard/VariableUrlState.ts +27 -5
- package/Utils/HTTPResponseBodyReader.ts +221 -0
- package/Utils/MetricUnitUtil.ts +34 -0
- package/Utils/Monitor/DeviceMacLearningUtil.ts +177 -0
- package/Utils/Monitor/MetricValueFormatter.ts +342 -0
- package/Utils/Monitor/MonitorTemplateCustomFieldUtil.ts +124 -0
- package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +7 -2
- package/Utils/Monitor/NetworkTopologyUtil.ts +693 -0
- package/Utils/NetworkAutomation/AutoImportRunChain.ts +138 -0
- package/Utils/NetworkDiscovery/DiscoveryScanStatus.ts +77 -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/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/GlobalConfig.js +12 -12
- package/build/dist/Models/DatabaseModels/GlobalConfig.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/InventoryItem.js +34 -1
- package/build/dist/Models/DatabaseModels/InventoryItem.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/MonitorCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +128 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- 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/TelemetryIngestionKey.js +267 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTelegram.js +0 -4
- package/build/dist/Models/DatabaseModels/UserTelegram.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 +73 -14
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- 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/1791700000000-AddMacAddressToNetworkDevice.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791700000000-AddMacAddressToNetworkDevice.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +19 -7
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Infrastructure/Redis.js +8 -8
- package/build/dist/Server/Infrastructure/Redis.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/Infrastructure/Status.js +10 -4
- package/build/dist/Server/Infrastructure/Status.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +315 -8
- package/build/dist/Server/Middleware/TelemetryIngest.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/DatabaseService.js +58 -13
- package/build/dist/Server/Services/DatabaseService.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/InventoryItemService.js +28 -1
- package/build/dist/Server/Services/InventoryItemService.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 +29 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +116 -17
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +349 -64
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +65 -0
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +54 -0
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +22 -0
- 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/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/UserNotificationRuleService.js +60 -25
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +26 -6
- package/build/dist/Server/Services/UserNotificationSettingService.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/Permissions/ReadPermission.js +29 -4
- package/build/dist/Server/Types/Database/Permissions/ReadPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryUtil.js +36 -0
- package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
- package/build/dist/Server/Types/Markdown.js +75 -0
- package/build/dist/Server/Types/Markdown.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/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/Dashboard/PublicDashboardResourceListPolicy.js +53 -18
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
- 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/EmailRollup/EmailRollupConstants.js +38 -5
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +54 -3
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +2 -2
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -1
- package/build/dist/Server/Utils/FrontendEnvironment.js +33 -0
- package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -0
- package/build/dist/Server/Utils/LogRedaction.js +20 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +10 -0
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +323 -81
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.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/MetricMonitorCriteria.js +29 -5
- package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.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/MonitorCriteriaEvaluator.js +254 -48
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +58 -9
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js +9 -3
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js +26 -12
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +74 -33
- 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/MonitorTemplateUtil.js +22 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.js +114 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +25 -0
- 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/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 +3 -14
- 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/EntityRegistry.js +9 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- 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/TelemetryEntity.js +70 -13
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.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/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/BaseDatabase/IncludesAnyOfGroups.js +54 -0
- package/build/dist/Types/BaseDatabase/IncludesAnyOfGroups.js.map +1 -0
- 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/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardVariable.js +1 -0
- package/build/dist/Types/Dashboard/DashboardVariable.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/JSON.js +1 -0
- package/build/dist/Types/JSON.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +131 -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/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/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/UptimeHistoryLabels.js +17 -0
- package/build/dist/Types/Monitor/UptimeHistoryLabels.js.map +1 -0
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js +291 -6
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -1
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js +29 -0
- package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js.map +1 -0
- 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/SerializableObjectDictionary.js +4 -0
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/Telemetry/InventoryLiveness.js +37 -0
- package/build/dist/Types/Telemetry/InventoryLiveness.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/WebsiteRequest.js +55 -3
- package/build/dist/Types/WebsiteRequest.js.map +1 -1
- package/build/dist/UI/Components/CSVFileUpload/CSVFileUpload.js +7 -0
- package/build/dist/UI/Components/CSVFileUpload/CSVFileUpload.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/CustomFields/CustomFieldsDetail.js +89 -8
- 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/Dashboard/DashboardVariableControl.js +137 -0
- package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js.map +1 -0
- 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/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 +38 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.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/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/Utils/API.js +67 -5
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js +9 -1
- package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/LabelVariable.js +96 -0
- package/build/dist/Utils/Dashboard/LabelVariable.js.map +1 -0
- package/build/dist/Utils/Dashboard/VariableUrlState.js +19 -4
- package/build/dist/Utils/Dashboard/VariableUrlState.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/MetricUnitUtil.js +26 -0
- package/build/dist/Utils/MetricUnitUtil.js.map +1 -1
- package/build/dist/Utils/Monitor/DeviceMacLearningUtil.js +112 -0
- package/build/dist/Utils/Monitor/DeviceMacLearningUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/MetricValueFormatter.js +276 -0
- package/build/dist/Utils/Monitor/MetricValueFormatter.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorTemplateCustomFieldUtil.js +101 -0
- package/build/dist/Utils/Monitor/MonitorTemplateCustomFieldUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +7 -2
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +484 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkAutomation/AutoImportRunChain.js +59 -0
- package/build/dist/Utils/NetworkAutomation/AutoImportRunChain.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js +69 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.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/jest.config.json +2 -0
- package/package.json +1 -1
- package/test-setup.sh +9 -9
- package/tsconfig.json +51 -11
|
@@ -129,6 +129,25 @@ const COUNTER_COLUMNS: Array<{
|
|
|
129
129
|
title: "Page Count",
|
|
130
130
|
description: "Distinct route changes observed in this session",
|
|
131
131
|
},
|
|
132
|
+
/*
|
|
133
|
+
* Engagement counters. Optional on the wire (an older recorder omits
|
|
134
|
+
* them, the ingest reads absence as 0), summed per chunk by the
|
|
135
|
+
* finalizer exactly like the frustration counters above. clickCount is
|
|
136
|
+
* what the list's "41 clicks" cell and the player's activity heat read
|
|
137
|
+
* without decoding a chunk.
|
|
138
|
+
*/
|
|
139
|
+
{
|
|
140
|
+
key: "clickCount",
|
|
141
|
+
title: "Click Count",
|
|
142
|
+
description:
|
|
143
|
+
"Labelled clicks (oneuptime.click events) across all chunks; capped per chunk by the recorder",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
key: "customEventCount",
|
|
147
|
+
title: "Custom Event Count",
|
|
148
|
+
description:
|
|
149
|
+
"Host-page track() events (oneuptime.custom) across all chunks; capped per chunk by the recorder",
|
|
150
|
+
},
|
|
132
151
|
];
|
|
133
152
|
|
|
134
153
|
/* Low-cardinality device / policy descriptors, all Set-indexed. */
|
|
@@ -415,6 +434,29 @@ export default class RumSession extends AnalyticsBaseModel {
|
|
|
415
434
|
"Observed client-minus-server clock skew, positive when the device runs ahead",
|
|
416
435
|
type: TableColumnType.LongNumber,
|
|
417
436
|
},
|
|
437
|
+
/*
|
|
438
|
+
* Engagement aggregates written by the finalizer, both bounded by
|
|
439
|
+
* SESSION_REPLAY_MAX_SESSION_MS so Int64 (BigNumber) is ample; they
|
|
440
|
+
* default to 0 because a provisional header has not been measured
|
|
441
|
+
* yet and the list must not read a null. 0 is also the honest "none"
|
|
442
|
+
* for firstErrorOffsetMs: a session without errors has no first
|
|
443
|
+
* error, and the UI only offers "Watch from first error" when
|
|
444
|
+
* errorCount > 0.
|
|
445
|
+
*/
|
|
446
|
+
{
|
|
447
|
+
key: "firstErrorOffsetMs",
|
|
448
|
+
title: "First Error Offset (ms)",
|
|
449
|
+
description:
|
|
450
|
+
"Timeline offset of the first chunk that carried an error, so the list can open playback just before it; 0 when the session has no errors",
|
|
451
|
+
type: TableColumnType.BigNumber,
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
key: "activeMs",
|
|
455
|
+
title: "Active (ms)",
|
|
456
|
+
description:
|
|
457
|
+
"Sum of chunk spans that carried user activity (eventCount >= SESSION_REPLAY_ACTIVE_CHUNK_MIN_EVENTS); durationMs minus this is idle time",
|
|
458
|
+
type: TableColumnType.BigNumber,
|
|
459
|
+
},
|
|
418
460
|
].map(
|
|
419
461
|
(def: {
|
|
420
462
|
key: string;
|
|
@@ -435,13 +477,33 @@ export default class RumSession extends AnalyticsBaseModel {
|
|
|
435
477
|
const isWiderThan64Bits: boolean =
|
|
436
478
|
def.type === TableColumnType.LongNumber;
|
|
437
479
|
|
|
480
|
+
/*
|
|
481
|
+
* BigNumber (Int64) is within T64's range, but the repo-wide codec
|
|
482
|
+
* test treats every 64-bit-and-wider type as off limits for T64 so
|
|
483
|
+
* a later widening cannot silently reintroduce the boot failure
|
|
484
|
+
* above. Plain ZSTD for both.
|
|
485
|
+
*/
|
|
486
|
+
const isPlainZstd: boolean =
|
|
487
|
+
isWiderThan64Bits || def.type === TableColumnType.BigNumber;
|
|
488
|
+
|
|
489
|
+
/*
|
|
490
|
+
* The engagement aggregates were added after the table shipped and
|
|
491
|
+
* are back-filled by ADD COLUMN, so they carry an explicit 0
|
|
492
|
+
* default: rows written before the column existed read 0 (not
|
|
493
|
+
* measured is rendered by the API from isFinalized, never from
|
|
494
|
+
* these), and a provisional header that omits them inserts cleanly.
|
|
495
|
+
*/
|
|
496
|
+
const isEngagementAggregate: boolean =
|
|
497
|
+
def.key === "firstErrorOffsetMs" || def.key === "activeMs";
|
|
498
|
+
|
|
438
499
|
return new AnalyticsTableColumn({
|
|
439
500
|
key: def.key,
|
|
440
501
|
title: def.title,
|
|
441
502
|
description: def.description,
|
|
442
503
|
required: true,
|
|
504
|
+
...(isEngagementAggregate && { defaultValue: 0 }),
|
|
443
505
|
type: def.type,
|
|
444
|
-
codec:
|
|
506
|
+
codec: isPlainZstd
|
|
445
507
|
? { codec: "ZSTD", level: 1 }
|
|
446
508
|
: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
447
509
|
accessControl: sessionAccessControl,
|
|
@@ -455,11 +517,21 @@ export default class RumSession extends AnalyticsBaseModel {
|
|
|
455
517
|
title: string;
|
|
456
518
|
description: string;
|
|
457
519
|
}): AnalyticsTableColumn => {
|
|
520
|
+
/*
|
|
521
|
+
* The engagement counters were added by ADD COLUMN after the table
|
|
522
|
+
* shipped; an explicit 0 default makes every pre-existing row and
|
|
523
|
+
* every older-recorder header read as "no clicks counted" rather
|
|
524
|
+
* than failing the insert.
|
|
525
|
+
*/
|
|
526
|
+
const isEngagementCounter: boolean =
|
|
527
|
+
def.key === "clickCount" || def.key === "customEventCount";
|
|
528
|
+
|
|
458
529
|
return new AnalyticsTableColumn({
|
|
459
530
|
key: def.key,
|
|
460
531
|
title: def.title,
|
|
461
532
|
description: def.description,
|
|
462
533
|
required: true,
|
|
534
|
+
...(isEngagementCounter && { defaultValue: 0 }),
|
|
463
535
|
type: TableColumnType.Number,
|
|
464
536
|
codec: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
465
537
|
accessControl: sessionAccessControl,
|
|
@@ -651,6 +723,48 @@ export default class RumSession extends AnalyticsBaseModel {
|
|
|
651
723
|
accessControl: identityAccessControl,
|
|
652
724
|
});
|
|
653
725
|
|
|
726
|
+
/*
|
|
727
|
+
* Traits the host page attached through identify(ref, traits): plan,
|
|
728
|
+
* role, tenant. They describe the PERSON, so they sit under the same
|
|
729
|
+
* narrow identity ACL as identifiedUserLabel and are only written when
|
|
730
|
+
* the application has user-identity capture on - a separate column
|
|
731
|
+
* rather than entries in `attributes` precisely so the wider session
|
|
732
|
+
* ACL can never read them. Capped at SESSION_REPLAY_MAX_TRAIT_KEYS
|
|
733
|
+
* entries on both sides of the wire. No mapKeysColumn: the only reader
|
|
734
|
+
* is the bespoke argMax endpoint, which never filters on trait keys.
|
|
735
|
+
*/
|
|
736
|
+
const identifiedUserTraitsColumn: AnalyticsTableColumn =
|
|
737
|
+
new AnalyticsTableColumn({
|
|
738
|
+
key: "identifiedUserTraits",
|
|
739
|
+
title: "Identified User Traits",
|
|
740
|
+
description:
|
|
741
|
+
"Traits supplied by identify(); only populated when user-identity capture is on, and readable under the same narrower ACL as identifiedUserLabel.",
|
|
742
|
+
required: true,
|
|
743
|
+
defaultValue: {},
|
|
744
|
+
type: TableColumnType.MapStringString,
|
|
745
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
746
|
+
accessControl: identityAccessControl,
|
|
747
|
+
});
|
|
748
|
+
|
|
749
|
+
/*
|
|
750
|
+
* Per-session tags from setTags()/addTag(): build id, experiment arm,
|
|
751
|
+
* customer tier. They describe the SESSION, not the person, so they
|
|
752
|
+
* live under the ordinary session ACL and back the list's
|
|
753
|
+
* tag:key=value search (a HAVING predicate over argMax, hence no skip
|
|
754
|
+
* index and no mapKeysColumn). Capped at SESSION_REPLAY_MAX_TAG_KEYS.
|
|
755
|
+
*/
|
|
756
|
+
const tagsColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
757
|
+
key: "tags",
|
|
758
|
+
title: "Tags",
|
|
759
|
+
description:
|
|
760
|
+
"Session tags supplied by the host page through setTags()/addTag(); searchable from the session list",
|
|
761
|
+
required: true,
|
|
762
|
+
defaultValue: {},
|
|
763
|
+
type: TableColumnType.MapStringString,
|
|
764
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
765
|
+
accessControl: sessionAccessControl,
|
|
766
|
+
});
|
|
767
|
+
|
|
654
768
|
/*
|
|
655
769
|
* Reverse-direction correlation. Populated by the finalizer from a
|
|
656
770
|
* single GROUP BY, never incrementally — an incremental array append
|
|
@@ -900,6 +1014,8 @@ export default class RumSession extends AnalyticsBaseModel {
|
|
|
900
1014
|
countryCodeColumn,
|
|
901
1015
|
identifiedUserKeyColumn,
|
|
902
1016
|
identifiedUserLabelColumn,
|
|
1017
|
+
identifiedUserTraitsColumn,
|
|
1018
|
+
tagsColumn,
|
|
903
1019
|
...correlationArrayColumns,
|
|
904
1020
|
fidelityNoticesColumn,
|
|
905
1021
|
fullSnapshotChunkIndexesColumn,
|
|
@@ -438,12 +438,25 @@ export default class RumSessionChunk extends AnalyticsBaseModel {
|
|
|
438
438
|
"errorClickCount",
|
|
439
439
|
"refreshRageCount",
|
|
440
440
|
"routeCount",
|
|
441
|
+
/*
|
|
442
|
+
* Engagement counters, added after the table shipped. Optional on
|
|
443
|
+
* the wire (SessionReplaySignalCounts) and read as 0 when absent, so
|
|
444
|
+
* they carry an explicit 0 default here: a row from an older
|
|
445
|
+
* recorder and a row that predates the column both mean "no clicks
|
|
446
|
+
* counted", and the manifest reports them only when measured.
|
|
447
|
+
*/
|
|
448
|
+
"clickCount",
|
|
449
|
+
"customEventCount",
|
|
441
450
|
].map((key: string): AnalyticsTableColumn => {
|
|
451
|
+
const isEngagementCounter: boolean =
|
|
452
|
+
key === "clickCount" || key === "customEventCount";
|
|
453
|
+
|
|
442
454
|
return new AnalyticsTableColumn({
|
|
443
455
|
key: key,
|
|
444
456
|
title: key,
|
|
445
457
|
description: `Per-chunk ${key}, summed into the session header by the finalizer`,
|
|
446
458
|
required: true,
|
|
459
|
+
...(isEngagementCounter && { defaultValue: 0 }),
|
|
447
460
|
type: TableColumnType.Number,
|
|
448
461
|
codec: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
449
462
|
accessControl: chunkAccessControl,
|
|
@@ -3,6 +3,7 @@ import User from "./User";
|
|
|
3
3
|
import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
|
|
4
4
|
import Route from "../../Types/API/Route";
|
|
5
5
|
import { PlanType } from "../../Types/Billing/SubscriptionPlan";
|
|
6
|
+
import CustomFieldMappingSourceResource from "../../Types/CustomField/CustomFieldMappingSourceResource";
|
|
6
7
|
import CustomFieldType from "../../Types/CustomField/CustomFieldType";
|
|
7
8
|
import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
|
|
8
9
|
import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
|
|
@@ -273,7 +274,7 @@ export default class AlertCustomField extends BaseModel {
|
|
|
273
274
|
})
|
|
274
275
|
@TableColumn({
|
|
275
276
|
required: false,
|
|
276
|
-
type: TableColumnType.
|
|
277
|
+
type: TableColumnType.VeryLongText,
|
|
277
278
|
title: "Dropdown Options",
|
|
278
279
|
description:
|
|
279
280
|
"Options and optional colors for dropdown fields. Plain one-per-line values remain supported.",
|
|
@@ -281,11 +282,84 @@ export default class AlertCustomField extends BaseModel {
|
|
|
281
282
|
})
|
|
282
283
|
@Column({
|
|
283
284
|
nullable: true,
|
|
284
|
-
type: ColumnType.
|
|
285
|
-
length: ColumnLength.LongText,
|
|
285
|
+
type: ColumnType.VeryLongText,
|
|
286
286
|
})
|
|
287
287
|
public dropdownOptions?: string = undefined;
|
|
288
288
|
|
|
289
|
+
@ColumnAccessControl({
|
|
290
|
+
create: [
|
|
291
|
+
Permission.ProjectOwner,
|
|
292
|
+
Permission.ProjectAdmin,
|
|
293
|
+
Permission.CreateAlertCustomField,
|
|
294
|
+
],
|
|
295
|
+
read: [
|
|
296
|
+
Permission.ProjectOwner,
|
|
297
|
+
Permission.ProjectAdmin,
|
|
298
|
+
Permission.ProjectMember,
|
|
299
|
+
Permission.Viewer,
|
|
300
|
+
Permission.AlertAdmin,
|
|
301
|
+
Permission.AlertMember,
|
|
302
|
+
Permission.AlertViewer,
|
|
303
|
+
Permission.ReadAlertCustomField,
|
|
304
|
+
],
|
|
305
|
+
update: [
|
|
306
|
+
Permission.ProjectOwner,
|
|
307
|
+
Permission.ProjectAdmin,
|
|
308
|
+
Permission.EditAlertCustomField,
|
|
309
|
+
],
|
|
310
|
+
})
|
|
311
|
+
@TableColumn({
|
|
312
|
+
required: false,
|
|
313
|
+
type: TableColumnType.ShortText,
|
|
314
|
+
title: "Map Value From",
|
|
315
|
+
description:
|
|
316
|
+
"Related resource this field copies its value from. Empty means values are entered by hand.",
|
|
317
|
+
example: "Monitor",
|
|
318
|
+
})
|
|
319
|
+
@Column({
|
|
320
|
+
nullable: true,
|
|
321
|
+
type: ColumnType.ShortText,
|
|
322
|
+
length: ColumnLength.ShortText,
|
|
323
|
+
})
|
|
324
|
+
public mapFromResourceType?: CustomFieldMappingSourceResource = undefined;
|
|
325
|
+
|
|
326
|
+
@ColumnAccessControl({
|
|
327
|
+
create: [
|
|
328
|
+
Permission.ProjectOwner,
|
|
329
|
+
Permission.ProjectAdmin,
|
|
330
|
+
Permission.CreateAlertCustomField,
|
|
331
|
+
],
|
|
332
|
+
read: [
|
|
333
|
+
Permission.ProjectOwner,
|
|
334
|
+
Permission.ProjectAdmin,
|
|
335
|
+
Permission.ProjectMember,
|
|
336
|
+
Permission.Viewer,
|
|
337
|
+
Permission.AlertAdmin,
|
|
338
|
+
Permission.AlertMember,
|
|
339
|
+
Permission.AlertViewer,
|
|
340
|
+
Permission.ReadAlertCustomField,
|
|
341
|
+
],
|
|
342
|
+
update: [
|
|
343
|
+
Permission.ProjectOwner,
|
|
344
|
+
Permission.ProjectAdmin,
|
|
345
|
+
Permission.EditAlertCustomField,
|
|
346
|
+
],
|
|
347
|
+
})
|
|
348
|
+
@TableColumn({
|
|
349
|
+
required: false,
|
|
350
|
+
type: TableColumnType.ShortText,
|
|
351
|
+
title: "Map Value From Field",
|
|
352
|
+
description:
|
|
353
|
+
"Name of the custom field on the related resource this field copies its value from.",
|
|
354
|
+
example: "Vendor",
|
|
355
|
+
})
|
|
356
|
+
@Column({
|
|
357
|
+
nullable: true,
|
|
358
|
+
type: ColumnType.ShortText,
|
|
359
|
+
length: ColumnLength.ShortText,
|
|
360
|
+
})
|
|
361
|
+
public mapFromCustomFieldName?: string = undefined;
|
|
362
|
+
|
|
289
363
|
@ColumnAccessControl({
|
|
290
364
|
create: [
|
|
291
365
|
Permission.ProjectOwner,
|
|
@@ -42,7 +42,6 @@ import {
|
|
|
42
42
|
create: [
|
|
43
43
|
Permission.ProjectOwner,
|
|
44
44
|
Permission.ProjectAdmin,
|
|
45
|
-
Permission.CreateProjectApiKey,
|
|
46
45
|
Permission.EditProjectApiKeyPermissions,
|
|
47
46
|
],
|
|
48
47
|
read: [
|
|
@@ -60,7 +59,6 @@ import {
|
|
|
60
59
|
Permission.ProjectOwner,
|
|
61
60
|
Permission.ProjectAdmin,
|
|
62
61
|
Permission.EditProjectApiKeyPermissions,
|
|
63
|
-
Permission.EditProjectApiKey,
|
|
64
62
|
],
|
|
65
63
|
})
|
|
66
64
|
@EnableWorkflow({
|
|
@@ -86,7 +84,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
86
84
|
create: [
|
|
87
85
|
Permission.ProjectOwner,
|
|
88
86
|
Permission.ProjectAdmin,
|
|
89
|
-
Permission.CreateProjectApiKey,
|
|
90
87
|
Permission.EditProjectApiKeyPermissions,
|
|
91
88
|
],
|
|
92
89
|
read: [
|
|
@@ -126,7 +123,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
126
123
|
create: [
|
|
127
124
|
Permission.ProjectOwner,
|
|
128
125
|
Permission.ProjectAdmin,
|
|
129
|
-
Permission.CreateProjectApiKey,
|
|
130
126
|
Permission.EditProjectApiKeyPermissions,
|
|
131
127
|
],
|
|
132
128
|
read: [
|
|
@@ -155,7 +151,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
155
151
|
create: [
|
|
156
152
|
Permission.ProjectOwner,
|
|
157
153
|
Permission.ProjectAdmin,
|
|
158
|
-
Permission.CreateProjectApiKey,
|
|
159
154
|
Permission.EditProjectApiKeyPermissions,
|
|
160
155
|
],
|
|
161
156
|
read: [
|
|
@@ -191,7 +186,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
191
186
|
create: [
|
|
192
187
|
Permission.ProjectOwner,
|
|
193
188
|
Permission.ProjectAdmin,
|
|
194
|
-
Permission.CreateProjectApiKey,
|
|
195
189
|
Permission.EditProjectApiKeyPermissions,
|
|
196
190
|
],
|
|
197
191
|
read: [
|
|
@@ -218,11 +212,7 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
218
212
|
public projectId?: ObjectID = undefined;
|
|
219
213
|
|
|
220
214
|
@ColumnAccessControl({
|
|
221
|
-
create: [
|
|
222
|
-
Permission.ProjectOwner,
|
|
223
|
-
Permission.ProjectAdmin,
|
|
224
|
-
Permission.CreateProjectApiKey,
|
|
225
|
-
],
|
|
215
|
+
create: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
226
216
|
read: [
|
|
227
217
|
Permission.ProjectOwner,
|
|
228
218
|
Permission.ProjectAdmin,
|
|
@@ -254,11 +244,7 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
254
244
|
public createdByUser?: User = undefined;
|
|
255
245
|
|
|
256
246
|
@ColumnAccessControl({
|
|
257
|
-
create: [
|
|
258
|
-
Permission.ProjectOwner,
|
|
259
|
-
Permission.ProjectAdmin,
|
|
260
|
-
Permission.CreateProjectApiKey,
|
|
261
|
-
],
|
|
247
|
+
create: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
262
248
|
read: [
|
|
263
249
|
Permission.ProjectOwner,
|
|
264
250
|
Permission.ProjectAdmin,
|
|
@@ -281,11 +267,7 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
281
267
|
public createdByUserId?: ObjectID = undefined;
|
|
282
268
|
|
|
283
269
|
@ColumnAccessControl({
|
|
284
|
-
create: [
|
|
285
|
-
Permission.ProjectOwner,
|
|
286
|
-
Permission.ProjectAdmin,
|
|
287
|
-
Permission.CreateProjectApiKey,
|
|
288
|
-
],
|
|
270
|
+
create: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
289
271
|
read: [
|
|
290
272
|
Permission.ProjectOwner,
|
|
291
273
|
Permission.ProjectAdmin,
|
|
@@ -340,7 +322,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
340
322
|
create: [
|
|
341
323
|
Permission.ProjectOwner,
|
|
342
324
|
Permission.ProjectAdmin,
|
|
343
|
-
Permission.CreateProjectApiKey,
|
|
344
325
|
Permission.EditProjectApiKeyPermissions,
|
|
345
326
|
],
|
|
346
327
|
read: [
|
|
@@ -352,7 +333,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
352
333
|
Permission.ProjectOwner,
|
|
353
334
|
Permission.ProjectAdmin,
|
|
354
335
|
Permission.EditProjectApiKeyPermissions,
|
|
355
|
-
Permission.EditProjectApiKey,
|
|
356
336
|
],
|
|
357
337
|
})
|
|
358
338
|
@TableColumn({
|
|
@@ -375,7 +355,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
375
355
|
create: [
|
|
376
356
|
Permission.ProjectOwner,
|
|
377
357
|
Permission.ProjectAdmin,
|
|
378
|
-
Permission.CreateProjectApiKey,
|
|
379
358
|
Permission.EditProjectApiKeyPermissions,
|
|
380
359
|
],
|
|
381
360
|
read: [
|
|
@@ -387,7 +366,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
387
366
|
Permission.ProjectOwner,
|
|
388
367
|
Permission.ProjectAdmin,
|
|
389
368
|
Permission.EditProjectApiKeyPermissions,
|
|
390
|
-
Permission.EditProjectApiKey,
|
|
391
369
|
],
|
|
392
370
|
})
|
|
393
371
|
@TableColumn({
|
|
@@ -421,7 +399,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
421
399
|
create: [
|
|
422
400
|
Permission.ProjectOwner,
|
|
423
401
|
Permission.ProjectAdmin,
|
|
424
|
-
Permission.CreateProjectApiKey,
|
|
425
402
|
Permission.EditProjectApiKeyPermissions,
|
|
426
403
|
],
|
|
427
404
|
read: [
|
|
@@ -433,7 +410,6 @@ export default class APIKeyPermission extends BaseModel {
|
|
|
433
410
|
Permission.ProjectOwner,
|
|
434
411
|
Permission.ProjectAdmin,
|
|
435
412
|
Permission.EditProjectApiKeyPermissions,
|
|
436
|
-
Permission.EditProjectApiKey,
|
|
437
413
|
],
|
|
438
414
|
})
|
|
439
415
|
@TableColumn({
|
|
@@ -1153,9 +1153,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1153
1153
|
})
|
|
1154
1154
|
@TableColumn({
|
|
1155
1155
|
type: TableColumnType.Boolean,
|
|
1156
|
-
title: "
|
|
1156
|
+
title: "Valkey Memory Notifications",
|
|
1157
1157
|
description:
|
|
1158
|
-
"Notify master administrators when
|
|
1158
|
+
"Notify master administrators when Valkey memory usage rises above the configured threshold.",
|
|
1159
1159
|
defaultValue: false,
|
|
1160
1160
|
isDefaultValueColumn: true,
|
|
1161
1161
|
required: true,
|
|
@@ -1174,9 +1174,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1174
1174
|
})
|
|
1175
1175
|
@TableColumn({
|
|
1176
1176
|
type: TableColumnType.Number,
|
|
1177
|
-
title: "
|
|
1177
|
+
title: "Valkey Memory Notification Threshold (%)",
|
|
1178
1178
|
description:
|
|
1179
|
-
"Notify master administrators when
|
|
1179
|
+
"Notify master administrators when Valkey memory usage rises above this percentage of maxmemory.",
|
|
1180
1180
|
defaultValue: 80,
|
|
1181
1181
|
isDefaultValueColumn: true,
|
|
1182
1182
|
required: true,
|
|
@@ -1195,9 +1195,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1195
1195
|
})
|
|
1196
1196
|
@TableColumn({
|
|
1197
1197
|
type: TableColumnType.Boolean,
|
|
1198
|
-
title: "
|
|
1198
|
+
title: "Valkey Connection Saturation Notifications",
|
|
1199
1199
|
description:
|
|
1200
|
-
"Notify master administrators when
|
|
1200
|
+
"Notify master administrators when Valkey client connections approach the maxclients limit or connections are being rejected.",
|
|
1201
1201
|
defaultValue: false,
|
|
1202
1202
|
isDefaultValueColumn: true,
|
|
1203
1203
|
required: true,
|
|
@@ -1216,9 +1216,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1216
1216
|
})
|
|
1217
1217
|
@TableColumn({
|
|
1218
1218
|
type: TableColumnType.Number,
|
|
1219
|
-
title: "
|
|
1219
|
+
title: "Valkey Connection Notification Threshold (%)",
|
|
1220
1220
|
description:
|
|
1221
|
-
"Notify master administrators when connected
|
|
1221
|
+
"Notify master administrators when connected Valkey clients rise above this percentage of maxclients.",
|
|
1222
1222
|
defaultValue: 80,
|
|
1223
1223
|
isDefaultValueColumn: true,
|
|
1224
1224
|
required: true,
|
|
@@ -1237,9 +1237,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1237
1237
|
})
|
|
1238
1238
|
@TableColumn({
|
|
1239
1239
|
type: TableColumnType.Boolean,
|
|
1240
|
-
title: "
|
|
1240
|
+
title: "Valkey Key Eviction Notifications",
|
|
1241
1241
|
description:
|
|
1242
|
-
"Notify master administrators when
|
|
1242
|
+
"Notify master administrators when Valkey evicts keys because it reached its memory limit.",
|
|
1243
1243
|
defaultValue: false,
|
|
1244
1244
|
isDefaultValueColumn: true,
|
|
1245
1245
|
required: true,
|
|
@@ -1258,9 +1258,9 @@ export default class GlobalConfig extends GlobalConfigModel {
|
|
|
1258
1258
|
})
|
|
1259
1259
|
@TableColumn({
|
|
1260
1260
|
type: TableColumnType.Boolean,
|
|
1261
|
-
title: "
|
|
1261
|
+
title: "Valkey Persistence Failure Notifications",
|
|
1262
1262
|
description:
|
|
1263
|
-
"Notify master administrators when a
|
|
1263
|
+
"Notify master administrators when a Valkey RDB snapshot or AOF write fails.",
|
|
1264
1264
|
defaultValue: false,
|
|
1265
1265
|
isDefaultValueColumn: true,
|
|
1266
1266
|
required: true,
|
|
@@ -3,6 +3,7 @@ import User from "./User";
|
|
|
3
3
|
import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
|
|
4
4
|
import Route from "../../Types/API/Route";
|
|
5
5
|
import { PlanType } from "../../Types/Billing/SubscriptionPlan";
|
|
6
|
+
import CustomFieldMappingSourceResource from "../../Types/CustomField/CustomFieldMappingSourceResource";
|
|
6
7
|
import CustomFieldType from "../../Types/CustomField/CustomFieldType";
|
|
7
8
|
import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
|
|
8
9
|
import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
|
|
@@ -273,7 +274,7 @@ export default class IncidentCustomField extends BaseModel {
|
|
|
273
274
|
})
|
|
274
275
|
@TableColumn({
|
|
275
276
|
required: false,
|
|
276
|
-
type: TableColumnType.
|
|
277
|
+
type: TableColumnType.VeryLongText,
|
|
277
278
|
title: "Dropdown Options",
|
|
278
279
|
description:
|
|
279
280
|
"Options and optional colors for dropdown fields. Plain one-per-line values remain supported.",
|
|
@@ -281,11 +282,84 @@ export default class IncidentCustomField extends BaseModel {
|
|
|
281
282
|
})
|
|
282
283
|
@Column({
|
|
283
284
|
nullable: true,
|
|
284
|
-
type: ColumnType.
|
|
285
|
-
length: ColumnLength.LongText,
|
|
285
|
+
type: ColumnType.VeryLongText,
|
|
286
286
|
})
|
|
287
287
|
public dropdownOptions?: string = undefined;
|
|
288
288
|
|
|
289
|
+
@ColumnAccessControl({
|
|
290
|
+
create: [
|
|
291
|
+
Permission.ProjectOwner,
|
|
292
|
+
Permission.ProjectAdmin,
|
|
293
|
+
Permission.CreateIncidentCustomField,
|
|
294
|
+
],
|
|
295
|
+
read: [
|
|
296
|
+
Permission.ProjectOwner,
|
|
297
|
+
Permission.ProjectAdmin,
|
|
298
|
+
Permission.ProjectMember,
|
|
299
|
+
Permission.Viewer,
|
|
300
|
+
Permission.IncidentAdmin,
|
|
301
|
+
Permission.IncidentMember,
|
|
302
|
+
Permission.IncidentViewer,
|
|
303
|
+
Permission.ReadIncidentCustomField,
|
|
304
|
+
],
|
|
305
|
+
update: [
|
|
306
|
+
Permission.ProjectOwner,
|
|
307
|
+
Permission.ProjectAdmin,
|
|
308
|
+
Permission.EditIncidentCustomField,
|
|
309
|
+
],
|
|
310
|
+
})
|
|
311
|
+
@TableColumn({
|
|
312
|
+
required: false,
|
|
313
|
+
type: TableColumnType.ShortText,
|
|
314
|
+
title: "Map Value From",
|
|
315
|
+
description:
|
|
316
|
+
"Related resource this field copies its value from. Empty means values are entered by hand.",
|
|
317
|
+
example: "Monitor",
|
|
318
|
+
})
|
|
319
|
+
@Column({
|
|
320
|
+
nullable: true,
|
|
321
|
+
type: ColumnType.ShortText,
|
|
322
|
+
length: ColumnLength.ShortText,
|
|
323
|
+
})
|
|
324
|
+
public mapFromResourceType?: CustomFieldMappingSourceResource = undefined;
|
|
325
|
+
|
|
326
|
+
@ColumnAccessControl({
|
|
327
|
+
create: [
|
|
328
|
+
Permission.ProjectOwner,
|
|
329
|
+
Permission.ProjectAdmin,
|
|
330
|
+
Permission.CreateIncidentCustomField,
|
|
331
|
+
],
|
|
332
|
+
read: [
|
|
333
|
+
Permission.ProjectOwner,
|
|
334
|
+
Permission.ProjectAdmin,
|
|
335
|
+
Permission.ProjectMember,
|
|
336
|
+
Permission.Viewer,
|
|
337
|
+
Permission.IncidentAdmin,
|
|
338
|
+
Permission.IncidentMember,
|
|
339
|
+
Permission.IncidentViewer,
|
|
340
|
+
Permission.ReadIncidentCustomField,
|
|
341
|
+
],
|
|
342
|
+
update: [
|
|
343
|
+
Permission.ProjectOwner,
|
|
344
|
+
Permission.ProjectAdmin,
|
|
345
|
+
Permission.EditIncidentCustomField,
|
|
346
|
+
],
|
|
347
|
+
})
|
|
348
|
+
@TableColumn({
|
|
349
|
+
required: false,
|
|
350
|
+
type: TableColumnType.ShortText,
|
|
351
|
+
title: "Map Value From Field",
|
|
352
|
+
description:
|
|
353
|
+
"Name of the custom field on the related resource this field copies its value from.",
|
|
354
|
+
example: "Vendor",
|
|
355
|
+
})
|
|
356
|
+
@Column({
|
|
357
|
+
nullable: true,
|
|
358
|
+
type: ColumnType.ShortText,
|
|
359
|
+
length: ColumnLength.ShortText,
|
|
360
|
+
})
|
|
361
|
+
public mapFromCustomFieldName?: string = undefined;
|
|
362
|
+
|
|
289
363
|
@ColumnAccessControl({
|
|
290
364
|
create: [
|
|
291
365
|
Permission.ProjectOwner,
|
|
@@ -18,7 +18,19 @@ import ObjectID from "../../Types/ObjectID";
|
|
|
18
18
|
import Permission from "../../Types/Permission";
|
|
19
19
|
import EntitySource from "../../Types/Telemetry/EntitySource";
|
|
20
20
|
import EntityType from "../../Types/Telemetry/EntityType";
|
|
21
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
InventoryLiveness,
|
|
23
|
+
INVENTORY_LIVE_WINDOW_MINUTES,
|
|
24
|
+
INVENTORY_STALE_AFTER_MINUTES,
|
|
25
|
+
} from "../../Types/Telemetry/InventoryLiveness";
|
|
26
|
+
import {
|
|
27
|
+
Column,
|
|
28
|
+
Entity,
|
|
29
|
+
Index,
|
|
30
|
+
JoinColumn,
|
|
31
|
+
ManyToOne,
|
|
32
|
+
VirtualColumn,
|
|
33
|
+
} from "typeorm";
|
|
22
34
|
import DatabaseBaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
|
|
23
35
|
|
|
24
36
|
/*
|
|
@@ -368,6 +380,37 @@ export default class InventoryItem extends DatabaseBaseModel {
|
|
|
368
380
|
@Column({ type: ColumnType.Date, nullable: true })
|
|
369
381
|
public lastSeenAt?: Date = undefined;
|
|
370
382
|
|
|
383
|
+
/**
|
|
384
|
+
* Computed at read time so filters, counts and pagination use the same
|
|
385
|
+
* status without persisting a value that becomes stale as time passes.
|
|
386
|
+
* A virtual column needs no schema migration and is never written.
|
|
387
|
+
*
|
|
388
|
+
* The badge floors elapsed minutes before applying inclusive thresholds:
|
|
389
|
+
* 30m59s is still Live, and 24h00m59s is still Recent. Strict comparisons
|
|
390
|
+
* against the following minute preserve those exact boundaries.
|
|
391
|
+
*/
|
|
392
|
+
@ColumnAccessControl({ create: [], read: READ_PERMS, update: [] })
|
|
393
|
+
@TableColumn({
|
|
394
|
+
type: TableColumnType.ShortText,
|
|
395
|
+
required: false,
|
|
396
|
+
title: "Status",
|
|
397
|
+
description:
|
|
398
|
+
"Current heartbeat status: live, recent, stale, never seen, or not tracked.",
|
|
399
|
+
})
|
|
400
|
+
@VirtualColumn({
|
|
401
|
+
type: ColumnType.ShortText,
|
|
402
|
+
query: (alias: string): string => {
|
|
403
|
+
return `CASE
|
|
404
|
+
WHEN ${alias}."source" IS DISTINCT FROM '${EntitySource.Discovered}' THEN '${InventoryLiveness.NotTracked}'
|
|
405
|
+
WHEN ${alias}."lastSeenAt" IS NULL THEN '${InventoryLiveness.Never}'
|
|
406
|
+
WHEN ${alias}."lastSeenAt" > CURRENT_TIMESTAMP - INTERVAL '${INVENTORY_LIVE_WINDOW_MINUTES + 1} minutes' THEN '${InventoryLiveness.Live}'
|
|
407
|
+
WHEN ${alias}."lastSeenAt" > CURRENT_TIMESTAMP - INTERVAL '${INVENTORY_STALE_AFTER_MINUTES + 1} minutes' THEN '${InventoryLiveness.Recent}'
|
|
408
|
+
ELSE '${InventoryLiveness.Stale}'
|
|
409
|
+
END`;
|
|
410
|
+
},
|
|
411
|
+
})
|
|
412
|
+
public inventoryStatus?: InventoryLiveness = undefined;
|
|
413
|
+
|
|
371
414
|
/*
|
|
372
415
|
* Archiving is the disposal route that actually works for this table.
|
|
373
416
|
*
|