@oneuptime/common 12.0.29 → 12.0.31
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/SecurityEvent.ts +48 -16
- package/Models/AnalyticsModels/ThreatIntelIndicator.ts +10 -5
- package/Models/DatabaseModels/AlertSeverity.ts +44 -0
- package/Models/DatabaseModels/DetectionRule.ts +16 -5
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
- package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
- package/Models/DatabaseModels/Index.ts +13 -0
- package/Models/DatabaseModels/NetworkDevice.ts +113 -3
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
- package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +499 -0
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
- package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
- package/Models/DatabaseModels/ThreatIntelFeed.ts +16 -5
- package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
- package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
- package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
- package/Server/API/GlobalConfigAPI.ts +362 -183
- package/Server/API/OnCallCalendarAPI.ts +2194 -0
- package/Server/API/TelemetryAPI.ts +42 -4
- package/Server/EnvironmentConfig.ts +250 -0
- package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/MultipartFormData.ts +118 -32
- package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
- package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertGroupingEngineService.ts +9 -1
- package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertReminderRuleService.ts +9 -1
- package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
- package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/HostLabelRuleEngineService.ts +9 -1
- package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentGroupingEngineService.ts +9 -1
- package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentReminderRuleService.ts +9 -1
- package/Server/Services/IncidentSlaRuleService.ts +9 -1
- package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/Index.ts +14 -0
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesResourceService.ts +5 -1
- package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
- package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceService.ts +209 -1
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
- package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
- package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
- package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
- package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
- package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
- package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
- package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
- package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
- package/Server/Services/TeamMemberService.ts +489 -1
- package/Server/Services/TeamService.ts +50 -0
- package/Server/Services/TelemetrySourceMapService.ts +266 -23
- package/Server/Services/UserNotificationSettingService.ts +44 -1
- package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
- package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
- package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
- package/Server/Services/UserService.ts +27 -0
- package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
- package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
- package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
- package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
- package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
- package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
- package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
- package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
- package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
- package/Server/Utils/Response.ts +134 -0
- package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
- package/Server/Utils/StartServer.ts +10 -0
- package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
- package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
- package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
- package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
- package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
- package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
- package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
- package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
- package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
- package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
- package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
- package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
- package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
- package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
- package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
- package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +469 -0
- package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
- package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
- package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
- package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
- package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
- package/Tests/Server/API/Helpers.ts +8 -0
- package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
- package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
- package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
- package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
- package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
- package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +394 -0
- package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
- package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
- package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
- package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
- package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
- package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
- package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
- package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
- package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
- package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
- package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
- package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
- package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
- package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
- package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
- package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
- package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
- package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
- package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
- package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
- package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
- package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
- package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
- package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
- package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
- package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
- package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
- package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
- package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
- package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
- package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
- package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
- package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
- package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
- package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
- package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
- package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
- package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
- package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
- package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
- package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
- package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
- package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -0
- package/Tests/UI/Components/Charts/TimeAnnotation.test.ts +471 -0
- package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
- package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
- package/Tests/UI/Components/MarkdownConverters.test.ts +686 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
- package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
- package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
- package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
- package/Tests/UI/Components/XAxis.test.ts +270 -5
- package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
- package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
- package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
- package/Tests/UI/Styles/ThemeStylesheet.ts +162 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +507 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
- package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
- package/Types/Calendar/ICalendar.ts +442 -0
- package/Types/Date.ts +39 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
- package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
- package/Types/OnCallDutyPolicy/Layer.ts +190 -35
- package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
- package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
- package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
- package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
- package/Types/Permission.ts +96 -0
- package/Types/Rum/SessionReplay.ts +21 -0
- package/Types/Telemetry/SourceMap.ts +8 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.tsx +176 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +491 -544
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +324 -372
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +487 -540
- package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
- package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
- package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
- package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
- package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
- package/UI/Components/Charts/Utils/XAxis.ts +125 -18
- package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
- package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
- package/UI/Components/Feed/FeedItem.tsx +4 -5
- package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
- package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
- package/UI/Components/Image/Image.tsx +20 -3
- package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
- package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +150 -24
- package/UI/Components/Table/TableHeader.tsx +64 -48
- package/UI/Components/Table/TableRow.tsx +13 -3
- package/UI/Styles/Theme.css +38 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
- package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
- package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
- package/Utils/Rules/RuleEngineLimits.ts +32 -0
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DetectionRule.js +16 -5
- package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +14 -5
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +13 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +115 -3
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +88 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +519 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +16 -5
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
- package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
- package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
- package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +31 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +185 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/MultipartFormData.js +93 -28
- package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesResourceService.js +5 -1
- package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +30 -21
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +64 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js +180 -0
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +154 -1
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +396 -1
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamService.js +43 -0
- package/build/dist/Server/Services/TeamService.js.map +1 -1
- package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
- package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
- package/build/dist/Server/Services/UserService.js +25 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
- package/build/dist/Server/Utils/Response.js +97 -0
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +9 -1
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
- package/build/dist/Types/Calendar/ICalendar.js +290 -0
- package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
- package/build/dist/Types/Date.js +27 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
- package/build/dist/Types/Permission.js +86 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +19 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js +83 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +213 -233
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +139 -152
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +212 -232
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/ChartEventKind.js +14 -0
- package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
- package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
- package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
- package/build/dist/UI/Components/Image/Image.js +6 -1
- package/build/dist/UI/Components/Image/Image.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +104 -23
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/Table/TableHeader.js +20 -22
- package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +13 -4
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +153 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.js.map +1 -0
- package/jest.config.json +1 -0
- package/package.json +2 -2
|
@@ -17,19 +17,12 @@ import { Area, AreaChart as RechartsAreaChart, CartesianGrid, Dot, Label, Legend
|
|
|
17
17
|
import { CHART_DATA_POINT_DATE_KEY } from "../Types/ChartDataPoint";
|
|
18
18
|
import { useOnWindowResize } from "../Utils/UseWindowOnResize";
|
|
19
19
|
import { AvailableChartColors, constructCategoryColors, getColorClassName, getColorHex, isHexColorValue, } from "../Utils/ChartColors";
|
|
20
|
+
import useChartAnnotations from "../Annotations/UseChartAnnotations";
|
|
20
21
|
import { cx } from "../Utils/Cx";
|
|
21
22
|
import { getYAxisDomain } from "../Utils/GetYAxisDomain";
|
|
22
23
|
import { hasOnlyOneValueForKey } from "../Utils/HasOnlyOneValueForKey";
|
|
23
24
|
import { prepareTooltipEntries, } from "../Utils/TooltipEntries";
|
|
24
25
|
import ChartCurve from "../../Types/ChartCurve";
|
|
25
|
-
/*
|
|
26
|
-
* Incident/alert time markers each label at the same "insideTop" band, so
|
|
27
|
-
* several events in one window pile their labels into an unreadable stack.
|
|
28
|
-
* A single marker keeps the classic horizontal top label; a handful get
|
|
29
|
-
* rotated to run along their lines; past this cap inline labels are hidden
|
|
30
|
-
* entirely (the dashed lines and their click-through remain).
|
|
31
|
-
*/
|
|
32
|
-
const MAX_LABELED_TIME_REFERENCE_LINES = 6;
|
|
33
26
|
/*
|
|
34
27
|
* recharts invokes child event handlers with varying shapes ((event) for
|
|
35
28
|
* plain SVG passthrough, (data, event) for adapted children) — find the
|
|
@@ -268,8 +261,27 @@ const AreaChart = React.forwardRef((props, ref) => {
|
|
|
268
261
|
const rangeSelectionEndIndexRef = React.useRef(null);
|
|
269
262
|
const suppressNextClickRef = React.useRef(false);
|
|
270
263
|
const categoryColors = constructCategoryColors(categories, colors);
|
|
271
|
-
|
|
272
|
-
|
|
264
|
+
/*
|
|
265
|
+
* Annotations are drawn onto the categorical axis, so the layer needs
|
|
266
|
+
* the same x values recharts is drawing — not the source dates.
|
|
267
|
+
*/
|
|
268
|
+
const categoryLabels = React.useMemo(() => {
|
|
269
|
+
return data.map((row) => {
|
|
270
|
+
var _a;
|
|
271
|
+
return String((_a = row[index]) !== null && _a !== void 0 ? _a : "");
|
|
272
|
+
});
|
|
273
|
+
}, [data, index]);
|
|
274
|
+
const annotations = useChartAnnotations({
|
|
275
|
+
formattedTimeReferenceLines,
|
|
276
|
+
formattedReferenceRegions,
|
|
277
|
+
categoryLabels,
|
|
278
|
+
axisPaddingPx: paddingValue,
|
|
279
|
+
scaleKind: "point",
|
|
280
|
+
hasTopLegend: showLegend,
|
|
281
|
+
isClickSuppressed: () => {
|
|
282
|
+
return suppressNextClickRef.current;
|
|
283
|
+
},
|
|
284
|
+
});
|
|
273
285
|
const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
|
|
274
286
|
const hasOnValueChange = Boolean(onValueChange);
|
|
275
287
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -448,239 +460,207 @@ const AreaChart = React.forwardRef((props, ref) => {
|
|
|
448
460
|
onTimeRangeSelect(startDate, endDate);
|
|
449
461
|
}
|
|
450
462
|
return (React.createElement("div", Object.assign({ ref: ref, className: cx("flex-1 w-full", hasOnTimeRangeSelect && "cursor-crosshair", className) }, other),
|
|
451
|
-
React.createElement(
|
|
452
|
-
React.createElement(
|
|
453
|
-
? {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
: {}), { onClick: (chartState) => {
|
|
459
|
-
// Ignore the click that follows a drag-to-select.
|
|
460
|
-
if (suppressNextClickRef.current) {
|
|
461
|
-
return;
|
|
462
|
-
}
|
|
463
|
-
/*
|
|
464
|
-
* A click while a legend/dot selection is active keeps its
|
|
465
|
-
* long-standing meaning — clear the selection — and never
|
|
466
|
-
* also pins a bucket.
|
|
467
|
-
*/
|
|
468
|
-
if (hasOnValueChange && (activeLegend || activeDot)) {
|
|
469
|
-
setActiveDot(undefined);
|
|
470
|
-
setActiveLegend(undefined);
|
|
471
|
-
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(null);
|
|
472
|
-
return;
|
|
463
|
+
React.createElement("div", { className: cx("relative isolate h-full w-full") },
|
|
464
|
+
React.createElement(ResponsiveContainer, null,
|
|
465
|
+
React.createElement(RechartsAreaChart, Object.assign({ data: data }, (props.syncid ? { syncId: props.syncid.toString() } : {}), (hasOnTimeRangeSelect
|
|
466
|
+
? {
|
|
467
|
+
onMouseDown: handleRangeSelectMouseDown,
|
|
468
|
+
onMouseMove: handleRangeSelectMouseMove,
|
|
469
|
+
onMouseUp: handleRangeSelectMouseUp,
|
|
473
470
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
if (rowIndex === null) {
|
|
479
|
-
return;
|
|
480
|
-
}
|
|
481
|
-
const bucketStart = getBucketDateAtIndex(rowIndex);
|
|
482
|
-
if (!bucketStart) {
|
|
483
|
-
return;
|
|
484
|
-
}
|
|
485
|
-
/*
|
|
486
|
-
* Cover the full bucket: width from adjacent row dates, the
|
|
487
|
-
* same derivation drag-to-select uses.
|
|
488
|
-
*/
|
|
489
|
-
const adjacentDate = rowIndex > 0
|
|
490
|
-
? getBucketDateAtIndex(rowIndex - 1)
|
|
491
|
-
: getBucketDateAtIndex(rowIndex + 1);
|
|
492
|
-
const bucketWidthInMs = adjacentDate
|
|
493
|
-
? Math.abs(bucketStart.getTime() - adjacentDate.getTime())
|
|
494
|
-
: 0;
|
|
495
|
-
onBucketClick(bucketStart, new Date(bucketStart.getTime() + bucketWidthInMs), (data[rowIndex] || {}));
|
|
496
|
-
}, margin: {
|
|
497
|
-
bottom: (xAxisLabel
|
|
498
|
-
? 40
|
|
499
|
-
: showXAxis
|
|
500
|
-
? 24
|
|
501
|
-
: 8),
|
|
502
|
-
left: (yAxisLabel ? 20 : 0),
|
|
503
|
-
right: (yAxisLabel ? 5 : 8),
|
|
504
|
-
top: 5,
|
|
505
|
-
} }),
|
|
506
|
-
React.createElement("defs", null, categories.map((category, i) => {
|
|
507
|
-
const colorKey = colors[i % colors.length] || "blue";
|
|
508
|
-
const hex = getColorHex(colorKey);
|
|
509
|
-
return (React.createElement("linearGradient", { key: category, id: `gradient-${category.replace(/[^a-zA-Z0-9]/g, "_")}`, x1: "0", y1: "0", x2: "0", y2: "1" },
|
|
510
|
-
React.createElement("stop", { offset: "0%", stopColor: hex, stopOpacity: 0.2 }),
|
|
511
|
-
React.createElement("stop", { offset: "100%", stopColor: hex, stopOpacity: 0.01 })));
|
|
512
|
-
})),
|
|
513
|
-
showGridLines ? (React.createElement(CartesianGrid, { className: cx("stroke-gray-100"), strokeDasharray: "3 3", horizontal: true, vertical: false })) : null,
|
|
514
|
-
React.createElement(XAxis, { padding: { left: paddingValue, right: paddingValue }, hide: !showXAxis, dataKey: index, interval: startEndOnly ? "preserveStartEnd" : intervalType, tick: {
|
|
515
|
-
transform: "translate(0, 6)",
|
|
516
|
-
fontSize: 10,
|
|
517
|
-
fontWeight: 500,
|
|
518
|
-
fill: "var(--ou-chart-tick)",
|
|
519
|
-
}, ticks: startEndOnly
|
|
520
|
-
? [
|
|
521
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
522
|
-
data[0][index],
|
|
523
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
524
|
-
data[data.length - 1][index],
|
|
525
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
526
|
-
]
|
|
527
|
-
: undefined, fill: "", stroke: "", className: cx("tabular-nums", "fill-gray-500"), tickLine: false, axisLine: false, minTickGap: tickGap }, xAxisLabel && (React.createElement(Label, { position: "insideBottom", offset: -20, className: "fill-gray-800 text-sm font-medium" }, xAxisLabel))),
|
|
528
|
-
React.createElement(YAxis, { width: yAxisWidth, hide: !showYAxis, axisLine: false, tickLine: false, type: "number", domain: yAxisDomain, tick: {
|
|
529
|
-
transform: "translate(-4, 0)",
|
|
530
|
-
fontSize: 10,
|
|
531
|
-
fontWeight: 500,
|
|
532
|
-
fill: "var(--ou-chart-tick)",
|
|
533
|
-
}, fill: "", stroke: "", className: cx("tabular-nums", "fill-gray-500"), tickFormatter: valueFormatter, allowDecimals: allowDecimals }, yAxisLabel && (React.createElement(Label, { position: "insideLeft", style: { textAnchor: "middle" }, angle: -90, offset: -15, className: "fill-gray-800 text-sm font-medium" }, yAxisLabel))),
|
|
534
|
-
React.createElement(Tooltip, { wrapperStyle: { outline: "none", zIndex: 10 }, isAnimationActive: true, animationDuration: 100, cursor: {
|
|
535
|
-
stroke: "var(--ou-chart-cursor, #d1d5db)",
|
|
536
|
-
strokeWidth: 1,
|
|
537
|
-
}, offset: 20, position: { y: 0 },
|
|
538
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
539
|
-
content: ({ active, payload, label }) => {
|
|
540
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
541
|
-
const cleanPayload = payload
|
|
542
|
-
? // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
543
|
-
payload.map((item) => {
|
|
544
|
-
return {
|
|
545
|
-
category: item.dataKey,
|
|
546
|
-
value: item.value,
|
|
547
|
-
index: item.payload[index],
|
|
548
|
-
color: categoryColors.get(item.dataKey),
|
|
549
|
-
type: item.type,
|
|
550
|
-
payload: item.payload,
|
|
551
|
-
};
|
|
552
|
-
})
|
|
553
|
-
: [];
|
|
554
|
-
if (tooltipCallback &&
|
|
555
|
-
(active !== prevActiveRef.current ||
|
|
556
|
-
label !== prevLabelRef.current)) {
|
|
557
|
-
tooltipCallback({ active, payload: cleanPayload, label });
|
|
558
|
-
prevActiveRef.current = active;
|
|
559
|
-
prevLabelRef.current = label;
|
|
471
|
+
: {}), { onClick: (chartState) => {
|
|
472
|
+
// Ignore the click that follows a drag-to-select.
|
|
473
|
+
if (suppressNextClickRef.current) {
|
|
474
|
+
return;
|
|
560
475
|
}
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
476
|
+
/*
|
|
477
|
+
* A click while a legend/dot selection is active keeps its
|
|
478
|
+
* long-standing meaning — clear the selection — and never
|
|
479
|
+
* also pins a bucket.
|
|
480
|
+
*/
|
|
481
|
+
if (hasOnValueChange && (activeLegend || activeDot)) {
|
|
482
|
+
setActiveDot(undefined);
|
|
483
|
+
setActiveLegend(undefined);
|
|
484
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(null);
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
if (!onBucketClick) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
const rowIndex = getRowIndexFromChartState(chartState);
|
|
491
|
+
if (rowIndex === null) {
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
const bucketStart = getBucketDateAtIndex(rowIndex);
|
|
495
|
+
if (!bucketStart) {
|
|
496
|
+
return;
|
|
579
497
|
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
498
|
+
/*
|
|
499
|
+
* Cover the full bucket: width from adjacent row dates, the
|
|
500
|
+
* same derivation drag-to-select uses.
|
|
501
|
+
*/
|
|
502
|
+
const adjacentDate = rowIndex > 0
|
|
503
|
+
? getBucketDateAtIndex(rowIndex - 1)
|
|
504
|
+
: getBucketDateAtIndex(rowIndex + 1);
|
|
505
|
+
const bucketWidthInMs = adjacentDate
|
|
506
|
+
? Math.abs(bucketStart.getTime() - adjacentDate.getTime())
|
|
507
|
+
: 0;
|
|
508
|
+
onBucketClick(bucketStart, new Date(bucketStart.getTime() + bucketWidthInMs), (data[rowIndex] || {}));
|
|
509
|
+
}, margin: {
|
|
510
|
+
bottom: (xAxisLabel
|
|
511
|
+
? 40
|
|
512
|
+
: showXAxis
|
|
513
|
+
? 24
|
|
514
|
+
: 8),
|
|
515
|
+
left: (yAxisLabel ? 20 : 0),
|
|
516
|
+
right: (yAxisLabel ? 5 : 8),
|
|
517
|
+
/*
|
|
518
|
+
* The annotation rail is drawn in the top margin, so the
|
|
519
|
+
* margin has to grow to hold it — otherwise chips render
|
|
520
|
+
* above the SVG's own edge and get clipped.
|
|
521
|
+
*/
|
|
522
|
+
top: annotations.marginTop,
|
|
523
|
+
} }),
|
|
524
|
+
React.createElement("defs", null, categories.map((category, i) => {
|
|
525
|
+
const colorKey = colors[i % colors.length] || "blue";
|
|
526
|
+
const hex = getColorHex(colorKey);
|
|
527
|
+
return (React.createElement("linearGradient", { key: category, id: `gradient-${category.replace(/[^a-zA-Z0-9]/g, "_")}`, x1: "0", y1: "0", x2: "0", y2: "1" },
|
|
528
|
+
React.createElement("stop", { offset: "0%", stopColor: hex, stopOpacity: 0.2 }),
|
|
529
|
+
React.createElement("stop", { offset: "100%", stopColor: hex, stopOpacity: 0.01 })));
|
|
530
|
+
})),
|
|
531
|
+
showGridLines ? (React.createElement(CartesianGrid, { className: cx("stroke-gray-100"), strokeDasharray: "3 3", horizontal: true, vertical: false })) : null,
|
|
532
|
+
React.createElement(XAxis, { padding: { left: paddingValue, right: paddingValue }, hide: !showXAxis, dataKey: index, interval: startEndOnly ? "preserveStartEnd" : intervalType, tick: {
|
|
533
|
+
transform: "translate(0, 6)",
|
|
534
|
+
fontSize: 10,
|
|
535
|
+
fontWeight: 500,
|
|
536
|
+
fill: "var(--ou-chart-tick)",
|
|
537
|
+
}, ticks: startEndOnly
|
|
538
|
+
? [
|
|
539
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
540
|
+
data[0][index],
|
|
541
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
542
|
+
data[data.length - 1][index],
|
|
543
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
544
|
+
]
|
|
545
|
+
: undefined, fill: "", stroke: "", className: cx("tabular-nums", "fill-gray-500"), tickLine: false, axisLine: false, minTickGap: tickGap }, xAxisLabel && (React.createElement(Label, { position: "insideBottom", offset: -20, className: "fill-gray-800 text-sm font-medium" }, xAxisLabel))),
|
|
546
|
+
React.createElement(YAxis, { width: yAxisWidth, hide: !showYAxis, axisLine: false, tickLine: false, type: "number", domain: yAxisDomain, tick: {
|
|
547
|
+
transform: "translate(-4, 0)",
|
|
548
|
+
fontSize: 10,
|
|
549
|
+
fontWeight: 500,
|
|
550
|
+
fill: "var(--ou-chart-tick)",
|
|
551
|
+
}, fill: "", stroke: "", className: cx("tabular-nums", "fill-gray-500"), tickFormatter: valueFormatter, allowDecimals: allowDecimals }, yAxisLabel && (React.createElement(Label, { position: "insideLeft", style: { textAnchor: "middle" }, angle: -90, offset: -15, className: "fill-gray-800 text-sm font-medium" }, yAxisLabel))),
|
|
552
|
+
React.createElement(Tooltip, { wrapperStyle: { outline: "none", zIndex: 10 }, isAnimationActive: true, animationDuration: 100, cursor: {
|
|
553
|
+
stroke: "var(--ou-chart-cursor, #d1d5db)",
|
|
554
|
+
strokeWidth: 1,
|
|
555
|
+
}, offset: 20, position: { y: 0 },
|
|
591
556
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
557
|
+
content: ({ active, payload, label }) => {
|
|
558
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
559
|
+
const cleanPayload = payload
|
|
560
|
+
? // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
561
|
+
payload.map((item) => {
|
|
562
|
+
return {
|
|
563
|
+
category: item.dataKey,
|
|
564
|
+
value: item.value,
|
|
565
|
+
index: item.payload[index],
|
|
566
|
+
color: categoryColors.get(item.dataKey),
|
|
567
|
+
type: item.type,
|
|
568
|
+
payload: item.payload,
|
|
569
|
+
};
|
|
570
|
+
})
|
|
571
|
+
: [];
|
|
572
|
+
if (tooltipCallback &&
|
|
573
|
+
(active !== prevActiveRef.current ||
|
|
574
|
+
label !== prevLabelRef.current)) {
|
|
575
|
+
tooltipCallback({ active, payload: cleanPayload, label });
|
|
576
|
+
prevActiveRef.current = active;
|
|
577
|
+
prevLabelRef.current = label;
|
|
578
|
+
}
|
|
579
|
+
return showTooltip && active ? (CustomTooltip ? (React.createElement(CustomTooltip, { active: active, payload: cleanPayload, label: label })) : (React.createElement(ChartTooltip, { active: active, payload: cleanPayload, label: label, valueFormatter: valueFormatter }))) : null;
|
|
580
|
+
} }),
|
|
581
|
+
showLegend ? (React.createElement(RechartsLegend, { verticalAlign: "top",
|
|
582
|
+
/*
|
|
583
|
+
* Padded so the annotation rail gets a clear strip between
|
|
584
|
+
* the legend and the plot; see UseChartAnnotations.
|
|
585
|
+
*/
|
|
586
|
+
height: legendHeight + annotations.railHeight,
|
|
602
587
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
if ((hasOnlyOneValueForKey(data, category) &&
|
|
608
|
-
!(activeDot ||
|
|
609
|
-
(activeLegend && activeLegend !== category))) ||
|
|
610
|
-
((activeDot === null || activeDot === void 0 ? void 0 : activeDot.index) === dotIndex &&
|
|
611
|
-
(activeDot === null || activeDot === void 0 ? void 0 : activeDot.dataKey) === category)) {
|
|
612
|
-
return (React.createElement(Dot, { key: dotIndex, cx: cxCoord, cy: cyCoord, r: 5, stroke: stroke, fill: isCustomColor ? hex : "", strokeLinecap: slc, strokeLinejoin: slj, strokeWidth: strokeWidth, className: cx("stroke-white", onValueChange ? "cursor-pointer" : "", getColorClassName(colorKey, "fill")) }));
|
|
613
|
-
}
|
|
614
|
-
return (React.createElement(React.Fragment, { key: dotIndex }));
|
|
615
|
-
} }, (isGhost ? { strokeDasharray: "6 4" } : {}))));
|
|
616
|
-
}), (_a = props.referenceLines) === null || _a === void 0 ? void 0 :
|
|
617
|
-
_a.map((refLine, refIndex) => {
|
|
618
|
-
return (React.createElement(ReferenceLine, { key: `ref-${refIndex}`, y: refLine.value, stroke: refLine.color, strokeDasharray: refLine.strokeDasharray || "4 4", strokeWidth: 1.5 }, refLine.label && (React.createElement(Label, { value: refLine.label, position: "insideTopRight", fill: refLine.color, fontSize: 11, fontWeight: 500 }))));
|
|
619
|
-
}), formattedReferenceRegions === null || formattedReferenceRegions === void 0 ? void 0 :
|
|
620
|
-
formattedReferenceRegions.map((region, regionIndex) => {
|
|
621
|
-
const regionColor = region.original.color || "#6366f1";
|
|
622
|
-
return (React.createElement(ReferenceArea, Object.assign({ key: `ref-region-${regionIndex}`, x1: region.formattedX1, x2: region.formattedX2, fill: regionColor, fillOpacity: 0.12, stroke: regionColor, strokeOpacity: 0.35, strokeWidth: 1 }, (region.original.onClick
|
|
623
|
-
? {
|
|
624
|
-
style: { cursor: "pointer" },
|
|
625
|
-
onClick: (...args) => {
|
|
626
|
-
var _a, _b;
|
|
627
|
-
// Never let an annotation click also pin a bucket.
|
|
628
|
-
stopChartEventPropagation(...args);
|
|
629
|
-
if (suppressNextClickRef.current) {
|
|
630
|
-
return;
|
|
588
|
+
content: ({ payload }) => {
|
|
589
|
+
return ChartLegend({ payload }, categoryColors, setLegendHeight, activeLegend, hasOnValueChange
|
|
590
|
+
? (clickedLegendItem) => {
|
|
591
|
+
return onCategoryClick(clickedLegendItem);
|
|
631
592
|
}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
593
|
+
: undefined, enableLegendSlider, legendPosition, yAxisWidth);
|
|
594
|
+
} })) : null,
|
|
595
|
+
props.anomalyBandLowerKey && props.anomalyBandUpperKey ? (React.createElement(Area, { key: "__anomaly_band__", name: "Expected range", type: props.curve || ChartCurve.MONOTONE,
|
|
596
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
597
|
+
dataKey: (d) => {
|
|
598
|
+
const low = Number(d[props.anomalyBandLowerKey]);
|
|
599
|
+
const high = Number(d[props.anomalyBandUpperKey]);
|
|
600
|
+
if (!Number.isFinite(low) || !Number.isFinite(high)) {
|
|
601
|
+
return null;
|
|
602
|
+
}
|
|
603
|
+
return [low, high];
|
|
604
|
+
}, stroke: "var(--ou-chart-tick, #94a3b8)", strokeOpacity: 0.3, strokeWidth: 1, strokeDasharray: "3 3", fill: "var(--ou-chart-tick, #94a3b8)", fillOpacity: 0.12, isAnimationActive: false, connectNulls: false, activeDot: false, dot: false, legendType: "none" })) : null,
|
|
605
|
+
categories.map((category) => {
|
|
606
|
+
const gradientId = `gradient-${category.replace(/[^a-zA-Z0-9]/g, "_")}`;
|
|
607
|
+
const colorKey = categoryColors.get(category);
|
|
608
|
+
const hex = getColorHex(colorKey);
|
|
609
|
+
const isCustomColor = isHexColorValue(colorKey);
|
|
610
|
+
const isGhost = (ghostCategories === null || ghostCategories === void 0 ? void 0 : ghostCategories.includes(category)) || false;
|
|
611
|
+
return (React.createElement(Area, Object.assign({ key: category, name: category, type: props.curve || ChartCurve.MONOTONE, dataKey: category, stroke: hex, strokeWidth: isGhost ? 1.5 : 2, strokeLinejoin: "round", strokeLinecap: "round", fill: `url(#${gradientId})`, fillOpacity: isGhost ? 0 : 1, strokeOpacity: (activeDot || (activeLegend && activeLegend !== category)
|
|
612
|
+
? 0.3
|
|
613
|
+
: 1) * (isGhost ? 0.45 : 1), isAnimationActive: false, connectNulls: connectNulls,
|
|
614
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
615
|
+
activeDot: isGhost
|
|
616
|
+
? false
|
|
617
|
+
: (dotProps) => {
|
|
618
|
+
const { cx: cxCoord, cy: cyCoord, stroke, strokeLinecap: slc, strokeLinejoin: slj, strokeWidth, } = dotProps;
|
|
619
|
+
return (React.createElement(Dot, { className: cx("stroke-white", onValueChange ? "cursor-pointer" : "", getColorClassName(colorKey, "fill")), cx: cxCoord, cy: cyCoord, r: 5, fill: isCustomColor ? hex : "", stroke: stroke, strokeLinecap: slc, strokeLinejoin: slj, strokeWidth: strokeWidth,
|
|
620
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
621
|
+
onClick: (_, event) => {
|
|
622
|
+
return onDotClick(dotProps, event);
|
|
623
|
+
} }));
|
|
624
|
+
},
|
|
625
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
626
|
+
dot: isGhost
|
|
627
|
+
? false
|
|
628
|
+
: (dotProps) => {
|
|
629
|
+
const { stroke, strokeLinecap: slc, strokeLinejoin: slj, strokeWidth, cx: cxCoord, cy: cyCoord, index: dotIndex, } = dotProps;
|
|
630
|
+
if ((hasOnlyOneValueForKey(data, category) &&
|
|
631
|
+
!(activeDot ||
|
|
632
|
+
(activeLegend && activeLegend !== category))) ||
|
|
633
|
+
((activeDot === null || activeDot === void 0 ? void 0 : activeDot.index) === dotIndex &&
|
|
634
|
+
(activeDot === null || activeDot === void 0 ? void 0 : activeDot.dataKey) === category)) {
|
|
635
|
+
return (React.createElement(Dot, { key: dotIndex, cx: cxCoord, cy: cyCoord, r: 5, stroke: stroke, fill: isCustomColor ? hex : "", strokeLinecap: slc, strokeLinejoin: slj, strokeWidth: strokeWidth, className: cx("stroke-white", onValueChange ? "cursor-pointer" : "", getColorClassName(colorKey, "fill")) }));
|
|
636
|
+
}
|
|
637
|
+
return (React.createElement(React.Fragment, { key: dotIndex }));
|
|
638
|
+
} }, (isGhost ? { strokeDasharray: "6 4" } : {}))));
|
|
639
|
+
}), (_a = props.referenceLines) === null || _a === void 0 ? void 0 :
|
|
640
|
+
_a.map((refLine, refIndex) => {
|
|
641
|
+
return (React.createElement(ReferenceLine, { key: `ref-${refIndex}`, y: refLine.value, stroke: refLine.color, strokeDasharray: refLine.strokeDasharray || "4 4", strokeWidth: 1.5 }, refLine.label && (React.createElement(Label, { value: refLine.label, position: "insideTopRight", fill: refLine.color, fontSize: 11, fontWeight: 500 }))));
|
|
642
|
+
}),
|
|
643
|
+
annotations.layer, (_b = props.formattedExemplarPoints) === null || _b === void 0 ? void 0 :
|
|
644
|
+
_b.map((exemplar, exemplarIndex) => {
|
|
645
|
+
return (React.createElement(ReferenceDot, { key: `exemplar-${exemplarIndex}`, x: exemplar.formattedX, y: exemplar.y, r: 5, fill: "#7c3aed", stroke: "var(--ou-chart-marker-ring, #ffffff)", strokeWidth: 2, style: { cursor: "pointer" }, onClick: (...args) => {
|
|
646
|
+
var _a;
|
|
647
|
+
// Never let an exemplar click also pin a bucket.
|
|
645
648
|
stopChartEventPropagation(...args);
|
|
649
|
+
// Ignore the click that follows a drag-to-select.
|
|
646
650
|
if (suppressNextClickRef.current) {
|
|
647
651
|
return;
|
|
648
652
|
}
|
|
649
|
-
(
|
|
650
|
-
},
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
position: "insideTopLeft",
|
|
661
|
-
angle: 90,
|
|
662
|
-
}
|
|
663
|
-
: { position: "insideTop" }), { fill: lineColor, fontSize: 10, fontWeight: 500 })))));
|
|
664
|
-
}), (_b = props.formattedExemplarPoints) === null || _b === void 0 ? void 0 :
|
|
665
|
-
_b.map((exemplar, exemplarIndex) => {
|
|
666
|
-
return (React.createElement(ReferenceDot, { key: `exemplar-${exemplarIndex}`, x: exemplar.formattedX, y: exemplar.y, r: 5, fill: "#7c3aed", stroke: "var(--ou-chart-marker-ring, #ffffff)", strokeWidth: 2, style: { cursor: "pointer" }, onClick: (...args) => {
|
|
667
|
-
var _a;
|
|
668
|
-
// Never let an exemplar click also pin a bucket.
|
|
669
|
-
stopChartEventPropagation(...args);
|
|
670
|
-
// Ignore the click that follows a drag-to-select.
|
|
671
|
-
if (suppressNextClickRef.current) {
|
|
672
|
-
return;
|
|
673
|
-
}
|
|
674
|
-
(_a = props.onExemplarClick) === null || _a === void 0 ? void 0 : _a.call(props, exemplar.original);
|
|
675
|
-
} },
|
|
676
|
-
React.createElement(Label, { value: "E", position: "center",
|
|
677
|
-
/*
|
|
678
|
-
* Sits on the dot's purple, not on the surface, so it must
|
|
679
|
-
* not follow the ring token that flips dark with the theme.
|
|
680
|
-
*/
|
|
681
|
-
fill: "#ffffff", fontSize: 8, fontWeight: 700 })));
|
|
682
|
-
}),
|
|
683
|
-
rangeSelectionStart && rangeSelectionEnd ? (React.createElement(ReferenceArea, { x1: rangeSelectionStart, x2: rangeSelectionEnd, fill: "rgba(99,102,241,0.12)", stroke: "rgba(99,102,241,0.5)", strokeWidth: 1, radius: 2 })) : null))));
|
|
653
|
+
(_a = props.onExemplarClick) === null || _a === void 0 ? void 0 : _a.call(props, exemplar.original);
|
|
654
|
+
} },
|
|
655
|
+
React.createElement(Label, { value: "E", position: "center",
|
|
656
|
+
/*
|
|
657
|
+
* Sits on the dot's purple, not on the surface, so it must
|
|
658
|
+
* not follow the ring token that flips dark with the theme.
|
|
659
|
+
*/
|
|
660
|
+
fill: "#ffffff", fontSize: 8, fontWeight: 700 })));
|
|
661
|
+
}),
|
|
662
|
+
rangeSelectionStart && rangeSelectionEnd ? (React.createElement(ReferenceArea, { x1: rangeSelectionStart, x2: rangeSelectionEnd, fill: "rgba(99,102,241,0.12)", stroke: "rgba(99,102,241,0.5)", strokeWidth: 1, radius: 2 })) : null)),
|
|
663
|
+
annotations.overlay)));
|
|
684
664
|
});
|
|
685
665
|
AreaChart.displayName = "AreaChart";
|
|
686
666
|
export { AreaChart, ChartTooltip };
|