@oneuptime/common 12.0.33 → 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/DatabaseModels/AlertCustomField.ts +77 -3
- package/Models/DatabaseModels/ApiKeyPermission.ts +3 -27
- package/Models/DatabaseModels/IncidentCustomField.ts +77 -3
- package/Models/DatabaseModels/InventoryItemCustomField.ts +77 -3
- package/Models/DatabaseModels/MonitorCustomField.ts +77 -3
- 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 +35 -2
- 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 +8 -0
- package/Server/Infrastructure/QueueWorker.ts +20 -14
- package/Server/Infrastructure/Semaphore.ts +2 -0
- 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/GlobalConfigService.ts +194 -0
- package/Server/Services/IncidentCustomFieldService.ts +98 -0
- package/Server/Services/IncidentService.ts +35 -0
- package/Server/Services/MetricService.ts +194 -0
- package/Server/Services/MonitorService.ts +32 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +78 -25
- 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/UserNotificationSettingService.ts +34 -6
- package/Server/Services/UserTelegramService.ts +326 -5
- package/Server/Types/Database/QueryHelper.ts +2 -0
- 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/DataSource/EgressGuard.ts +177 -8
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +38 -5
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +57 -4
- 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 +338 -77
- package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +30 -4
- package/Server/Utils/Monitor/MonitorAlert.ts +29 -6
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +110 -15
- package/Server/Utils/Monitor/MonitorIncident.ts +22 -6
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +29 -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/PinServiceName.ts +197 -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/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/DashboardHeaderSmallScreens.test.tsx +404 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +468 -0
- package/Tests/App/Dashboard/NotificationEmailPreferences.test.tsx +399 -0
- package/Tests/App/StatusPage/StatusPageLastUpdated.test.tsx +263 -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/ResponsiveVisibility.test.ts +115 -0
- package/Tests/ResponsiveVisibility.ts +183 -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/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/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/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/DiscoveryScanClaimHookFreeSafety.test.ts +32 -0
- package/Tests/Server/Services/GlobalConfigService.test.ts +414 -1
- package/Tests/Server/Services/MetricRawEntityKeyPrune.test.ts +592 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +226 -1
- 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/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/CustomFieldMappingValidator.test.ts +437 -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 +1 -1
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerPreferences.test.ts +362 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +77 -1
- 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/Monitor/Criteria/CompareCriteriaAggregation.test.ts +584 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestHeaderCriteria.test.ts +236 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +437 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtilSeriesContext.test.ts +176 -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/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/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/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/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/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/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/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/Utils/API.test.ts +308 -0
- package/Tests/Utils/HTTPResponseBodyReader.test.ts +323 -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/CustomField/CustomFieldMappingCatalog.ts +161 -0
- package/Types/CustomField/CustomFieldMappingSourceResource.ts +19 -0
- package/Types/CustomField/CustomFieldValueMapping.ts +288 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/JSONFunctions.ts +189 -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/UptimeHistoryLabels.ts +56 -0
- 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/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/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 +143 -25
- package/UI/Components/CustomFields/MapFromCustomFieldInput.tsx +216 -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/Utils/API.ts +129 -3
- package/Utils/HTTPResponseBodyReader.ts +221 -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/IncidentCustomField.js +79 -3
- package/build/dist/Models/DatabaseModels/IncidentCustomField.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/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 +29 -2
- 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/Index.js +8 -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/Semaphore.js +1 -0
- package/build/dist/Server/Infrastructure/Semaphore.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/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/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/NetworkDeviceAutoImportRuleEngineService.js +79 -27
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.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/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/QueryHelper.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/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 +44 -2
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.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 +287 -68
- 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/MonitorAlert.js +29 -6
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +88 -13
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.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/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/PinServiceName.js +163 -0
- package/build/dist/Server/Utils/Telemetry/PinServiceName.js.map +1 -0
- 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/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/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/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/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/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/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 +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/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/HTTPResponseBodyReader.js +157 -0
- package/build/dist/Utils/HTTPResponseBodyReader.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/package.json +1 -1
|
@@ -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({
|
|
@@ -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,
|
|
@@ -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";
|
|
@@ -282,7 +283,7 @@ export default class InventoryItemCustomField extends BaseModel {
|
|
|
282
283
|
})
|
|
283
284
|
@TableColumn({
|
|
284
285
|
required: false,
|
|
285
|
-
type: TableColumnType.
|
|
286
|
+
type: TableColumnType.VeryLongText,
|
|
286
287
|
title: "Dropdown Options",
|
|
287
288
|
description:
|
|
288
289
|
"Options and optional colors for dropdown fields. Plain one-per-line values remain supported.",
|
|
@@ -290,11 +291,84 @@ export default class InventoryItemCustomField extends BaseModel {
|
|
|
290
291
|
})
|
|
291
292
|
@Column({
|
|
292
293
|
nullable: true,
|
|
293
|
-
type: ColumnType.
|
|
294
|
-
length: ColumnLength.LongText,
|
|
294
|
+
type: ColumnType.VeryLongText,
|
|
295
295
|
})
|
|
296
296
|
public dropdownOptions?: string = undefined;
|
|
297
297
|
|
|
298
|
+
@ColumnAccessControl({
|
|
299
|
+
create: [
|
|
300
|
+
Permission.ProjectOwner,
|
|
301
|
+
Permission.ProjectAdmin,
|
|
302
|
+
Permission.CreateTelemetryService,
|
|
303
|
+
],
|
|
304
|
+
read: [
|
|
305
|
+
Permission.ProjectOwner,
|
|
306
|
+
Permission.ProjectAdmin,
|
|
307
|
+
Permission.ProjectMember,
|
|
308
|
+
Permission.Viewer,
|
|
309
|
+
Permission.TelemetryAdmin,
|
|
310
|
+
Permission.TelemetryMember,
|
|
311
|
+
Permission.TelemetryViewer,
|
|
312
|
+
Permission.ReadTelemetryService,
|
|
313
|
+
],
|
|
314
|
+
update: [
|
|
315
|
+
Permission.ProjectOwner,
|
|
316
|
+
Permission.ProjectAdmin,
|
|
317
|
+
Permission.EditTelemetryService,
|
|
318
|
+
],
|
|
319
|
+
})
|
|
320
|
+
@TableColumn({
|
|
321
|
+
required: false,
|
|
322
|
+
type: TableColumnType.ShortText,
|
|
323
|
+
title: "Map Value From",
|
|
324
|
+
description:
|
|
325
|
+
"Related resource this field copies its value from. Empty means values are entered by hand.",
|
|
326
|
+
example: "Monitor",
|
|
327
|
+
})
|
|
328
|
+
@Column({
|
|
329
|
+
nullable: true,
|
|
330
|
+
type: ColumnType.ShortText,
|
|
331
|
+
length: ColumnLength.ShortText,
|
|
332
|
+
})
|
|
333
|
+
public mapFromResourceType?: CustomFieldMappingSourceResource = undefined;
|
|
334
|
+
|
|
335
|
+
@ColumnAccessControl({
|
|
336
|
+
create: [
|
|
337
|
+
Permission.ProjectOwner,
|
|
338
|
+
Permission.ProjectAdmin,
|
|
339
|
+
Permission.CreateTelemetryService,
|
|
340
|
+
],
|
|
341
|
+
read: [
|
|
342
|
+
Permission.ProjectOwner,
|
|
343
|
+
Permission.ProjectAdmin,
|
|
344
|
+
Permission.ProjectMember,
|
|
345
|
+
Permission.Viewer,
|
|
346
|
+
Permission.TelemetryAdmin,
|
|
347
|
+
Permission.TelemetryMember,
|
|
348
|
+
Permission.TelemetryViewer,
|
|
349
|
+
Permission.ReadTelemetryService,
|
|
350
|
+
],
|
|
351
|
+
update: [
|
|
352
|
+
Permission.ProjectOwner,
|
|
353
|
+
Permission.ProjectAdmin,
|
|
354
|
+
Permission.EditTelemetryService,
|
|
355
|
+
],
|
|
356
|
+
})
|
|
357
|
+
@TableColumn({
|
|
358
|
+
required: false,
|
|
359
|
+
type: TableColumnType.ShortText,
|
|
360
|
+
title: "Map Value From Field",
|
|
361
|
+
description:
|
|
362
|
+
"Name of the custom field on the related resource this field copies its value from.",
|
|
363
|
+
example: "Vendor",
|
|
364
|
+
})
|
|
365
|
+
@Column({
|
|
366
|
+
nullable: true,
|
|
367
|
+
type: ColumnType.ShortText,
|
|
368
|
+
length: ColumnLength.ShortText,
|
|
369
|
+
})
|
|
370
|
+
public mapFromCustomFieldName?: string = undefined;
|
|
371
|
+
|
|
298
372
|
@ColumnAccessControl({
|
|
299
373
|
create: [
|
|
300
374
|
Permission.ProjectOwner,
|