@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
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import BadDataException from "../../Exception/BadDataException";
|
|
2
|
+
/*
|
|
3
|
+
* The one place that decides what a network device actually polls.
|
|
4
|
+
*
|
|
5
|
+
* A device's health OIDs come from two places now: the OID Collection
|
|
6
|
+
* Template it is linked to, and its own `snmpOids` column. Nothing is ever
|
|
7
|
+
* copied between them — the two lists are merged fresh on every poll in
|
|
8
|
+
* NetworkDevicePoll, which is why editing a template changes collection for
|
|
9
|
+
* every linked device without a single write to NetworkDevice.
|
|
10
|
+
*
|
|
11
|
+
* That makes this file load-bearing in three places at once: the poll path
|
|
12
|
+
* that builds the probe payload, the two service validators that reject a
|
|
13
|
+
* bad list at save time, and the dashboard, which has to show an operator
|
|
14
|
+
* the same effective list the probe will receive. Keep it pure so all three
|
|
15
|
+
* can share it.
|
|
16
|
+
*/
|
|
17
|
+
/*
|
|
18
|
+
* A numeric dotted OID: at least two arcs, digits only. Deliberately not a
|
|
19
|
+
* MIB-name parser — the probe issues these verbatim to net-snmp, which
|
|
20
|
+
* accepts nothing else, and a symbolic name that reaches it is a silent
|
|
21
|
+
* "no such object" rather than an error.
|
|
22
|
+
*/
|
|
23
|
+
const OID_SYNTAX = /^\d+(\.\d+)+$/;
|
|
24
|
+
/*
|
|
25
|
+
* The three caps COMPOSE, and that is the whole point of the numbers.
|
|
26
|
+
*
|
|
27
|
+
* A template may hold 150 OIDs and a device may add 50 of its own, so the
|
|
28
|
+
* merged list can never exceed 200. Both write paths validate their own side
|
|
29
|
+
* against their own cap, and together they make the poll-time truncation
|
|
30
|
+
* further down unreachable - which matters because truncation drops from the
|
|
31
|
+
* END, and template entries are deliberately the stable prefix, so the
|
|
32
|
+
* entries lost would always be the operator's own device-specific ones.
|
|
33
|
+
* Somebody growing a shared template must never be able to silently stop a
|
|
34
|
+
* device collecting an OID they never touched.
|
|
35
|
+
*
|
|
36
|
+
* Validating each side independently against one 200 cap would NOT compose:
|
|
37
|
+
* 200 plus 200 is 400, and the operator who loses OIDs is not the operator
|
|
38
|
+
* who made the edit.
|
|
39
|
+
*/
|
|
40
|
+
export const MAX_OIDS_PER_TEMPLATE = 150;
|
|
41
|
+
export const MAX_DEVICE_SPECIFIC_OIDS = 50;
|
|
42
|
+
export const MAX_EFFECTIVE_OIDS_PER_DEVICE = MAX_OIDS_PER_TEMPLATE + MAX_DEVICE_SPECIFIC_OIDS;
|
|
43
|
+
/*
|
|
44
|
+
* A name is carried to the probe and lands on every metric row as an
|
|
45
|
+
* attribute, so it is bounded here rather than left an unbounded string
|
|
46
|
+
* multiplied by every device in a poll batch.
|
|
47
|
+
*/
|
|
48
|
+
export const MAX_OID_NAME_LENGTH = 100;
|
|
49
|
+
/*
|
|
50
|
+
* Per-walk metric caps, previously a private const in
|
|
51
|
+
* NetworkDeviceMetricUtil and a bare literal in MonitorMetricUtil. Both now
|
|
52
|
+
* import these. The OID cap was 50 while nothing capped how many OIDs a
|
|
53
|
+
* device could be configured with, so a long list silently charted its first
|
|
54
|
+
* 50 in jsonb array order and warned to a log nobody reads.
|
|
55
|
+
*/
|
|
56
|
+
export const MAX_OID_METRIC_SERIES = MAX_EFFECTIVE_OIDS_PER_DEVICE;
|
|
57
|
+
export const MAX_INTERFACE_METRIC_SERIES = 200;
|
|
58
|
+
/*
|
|
59
|
+
* The specific OIDs the poll already turns into a real, per-port metric
|
|
60
|
+
* series - and ONLY those.
|
|
61
|
+
*
|
|
62
|
+
* Deliberately a short list of columns rather than the whole ifTable
|
|
63
|
+
* subtree. The walk parses twelve ifTable columns, but most of them go
|
|
64
|
+
* nowhere a user can reach: in and out errors are emitted only as a COMBINED
|
|
65
|
+
* rate, discards are parsed and dropped, and speed and admin status are
|
|
66
|
+
* stored on NetworkInterface without ever becoming metrics. For those,
|
|
67
|
+
* typing the OID by hand is currently the only way to get a series, so
|
|
68
|
+
* warning "this is already collected" would be false and would talk an
|
|
69
|
+
* operator out of the only thing that works.
|
|
70
|
+
*
|
|
71
|
+
* What IS listed here is the set behind issue #3507: the reporter was about
|
|
72
|
+
* to hand-type a hundred per-port OIDs for exactly these counters, which the
|
|
73
|
+
* interface walk already emits per port, keyed by interfaceName and
|
|
74
|
+
* interfaceIndex.
|
|
75
|
+
*/
|
|
76
|
+
const ALREADY_COLLECTED_OID_COLUMNS = [
|
|
77
|
+
{
|
|
78
|
+
// ifOperStatus
|
|
79
|
+
prefix: "1.3.6.1.2.1.2.2.1.8.",
|
|
80
|
+
collectedBy: "an up/down series for every port",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
// ifInOctets
|
|
84
|
+
prefix: "1.3.6.1.2.1.2.2.1.10.",
|
|
85
|
+
collectedBy: "an inbound bits/second series for every port",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
// ifOutOctets
|
|
89
|
+
prefix: "1.3.6.1.2.1.2.2.1.16.",
|
|
90
|
+
collectedBy: "an outbound bits/second series for every port",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
// ifHCInOctets
|
|
94
|
+
prefix: "1.3.6.1.2.1.31.1.1.1.6.",
|
|
95
|
+
collectedBy: "an inbound bits/second series for every port",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
// ifHCOutOctets
|
|
99
|
+
prefix: "1.3.6.1.2.1.31.1.1.1.10.",
|
|
100
|
+
collectedBy: "an outbound bits/second series for every port",
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
export default class SnmpOidListUtil {
|
|
104
|
+
/**
|
|
105
|
+
* Canonical form of an OID string, for comparison and for storage.
|
|
106
|
+
*
|
|
107
|
+
* The single leading dot is the one that matters: ".1.3.6.1" and "1.3.6.1"
|
|
108
|
+
* are the same object, operators type both, and net-snmp answers with the
|
|
109
|
+
* dotless form. Storing the canonical form is what lets criteria compare
|
|
110
|
+
* a configured OID against a walk response with ===.
|
|
111
|
+
*/
|
|
112
|
+
static normalizeOid(oid) {
|
|
113
|
+
let normalized = (oid || "").trim();
|
|
114
|
+
if (normalized.startsWith(".")) {
|
|
115
|
+
normalized = normalized.slice(1);
|
|
116
|
+
}
|
|
117
|
+
return normalized;
|
|
118
|
+
}
|
|
119
|
+
static isValidOid(oid) {
|
|
120
|
+
return OID_SYNTAX.test(SnmpOidListUtil.normalizeOid(oid));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* What the poll already collects this OID as, or undefined. Advisory only:
|
|
124
|
+
* the editor warns, it never blocks, because an operator may still want an
|
|
125
|
+
* undimensioned scalar series for one specific port.
|
|
126
|
+
*/
|
|
127
|
+
static getAlreadyCollectedBy(oid) {
|
|
128
|
+
const normalized = SnmpOidListUtil.normalizeOid(oid);
|
|
129
|
+
for (const entry of ALREADY_COLLECTED_OID_COLUMNS) {
|
|
130
|
+
if (normalized.startsWith(entry.prefix)) {
|
|
131
|
+
return entry.collectedBy;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Sanitize an OID list at save time, refusing what an operator has to fix
|
|
138
|
+
* by hand and quietly dropping what is only an editor artifact.
|
|
139
|
+
*
|
|
140
|
+
* Both write paths use this: the template service and the device service.
|
|
141
|
+
* Nothing validated snmpOids before, which was survivable when one bad row
|
|
142
|
+
* broke one device; with a template it would break every device linked to
|
|
143
|
+
* it.
|
|
144
|
+
*
|
|
145
|
+
* The split between dropping and throwing is deliberate, and it is about
|
|
146
|
+
* NOT locking anyone out of a settings card they need. Blank rows are what
|
|
147
|
+
* SnmpOidEditor's "Add OID" button leaves behind when a user clicks it and
|
|
148
|
+
* changes their mind, and duplicates can already exist in data written
|
|
149
|
+
* before any of this validation did - both are dropped silently, because
|
|
150
|
+
* refusing them would mean a device carrying one legacy artifact could
|
|
151
|
+
* never be linked to a template until somebody hunted the row down. A
|
|
152
|
+
* genuinely malformed OID does throw: it has never collected anything, the
|
|
153
|
+
* message names it, and the editor that reports the error is on the same
|
|
154
|
+
* card.
|
|
155
|
+
*/
|
|
156
|
+
static validateOidList(oids, options) {
|
|
157
|
+
var _a;
|
|
158
|
+
const list = oids || [];
|
|
159
|
+
const seen = new Set();
|
|
160
|
+
const sanitized = [];
|
|
161
|
+
for (const entry of list) {
|
|
162
|
+
const normalized = SnmpOidListUtil.normalizeOid(entry.oid);
|
|
163
|
+
// Editor artifact, not user intent.
|
|
164
|
+
if (!normalized) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (!OID_SYNTAX.test(normalized)) {
|
|
168
|
+
throw new BadDataException(`${options.label}: "${entry.oid}" is not a numeric OID. Use dotted numbers, for example 1.3.6.1.2.1.1.3.0.`);
|
|
169
|
+
}
|
|
170
|
+
// Keep the first spelling of a duplicate, drop the rest.
|
|
171
|
+
if (seen.has(normalized)) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
seen.add(normalized);
|
|
175
|
+
const name = ((_a = entry.name) === null || _a === void 0 ? void 0 : _a.trim())
|
|
176
|
+
? entry.name.trim().substring(0, MAX_OID_NAME_LENGTH)
|
|
177
|
+
: undefined;
|
|
178
|
+
sanitized.push(Object.assign(Object.assign(Object.assign({}, entry), { oid: normalized }), (name === undefined ? {} : { name: name })));
|
|
179
|
+
}
|
|
180
|
+
/*
|
|
181
|
+
* Counted AFTER sanitizing, so blank rows and duplicates cannot push a
|
|
182
|
+
* legitimate list over the limit.
|
|
183
|
+
*/
|
|
184
|
+
if (sanitized.length > options.max) {
|
|
185
|
+
throw new BadDataException(`${options.label}: ${sanitized.length} OIDs is more than the limit of ${options.max}. Remove some, or move them to another template.`);
|
|
186
|
+
}
|
|
187
|
+
return sanitized;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Merge a template's OIDs with a device's own into the list the probe
|
|
191
|
+
* receives.
|
|
192
|
+
*
|
|
193
|
+
* Template entries come FIRST, in template order, and that ordering is
|
|
194
|
+
* load-bearing rather than cosmetic: the effective cap truncates from the
|
|
195
|
+
* end, so the shared items a whole device type depends on have to be the
|
|
196
|
+
* stable prefix. If device additions came first, adding one local OID
|
|
197
|
+
* could silently push a template OID off the end of every device that has
|
|
198
|
+
* one.
|
|
199
|
+
*
|
|
200
|
+
* A duplicate resolves to the DEVICE's entry — it keeps whatever name and
|
|
201
|
+
* description the operator gave it — but it stays at the TEMPLATE's
|
|
202
|
+
* position, for the same reason.
|
|
203
|
+
*
|
|
204
|
+
* Malformed rows are dropped rather than thrown on, because this runs on
|
|
205
|
+
* the poll path against data that was already persisted. The validators
|
|
206
|
+
* above are where a bad row is refused; here, one bad row must not stop a
|
|
207
|
+
* device polling the other ninety-nine.
|
|
208
|
+
*/
|
|
209
|
+
static mergeOidLists(templateOids, deviceOids) {
|
|
210
|
+
const merged = [];
|
|
211
|
+
const indexByOid = new Map();
|
|
212
|
+
const all = [
|
|
213
|
+
...(templateOids || []),
|
|
214
|
+
...(deviceOids || []),
|
|
215
|
+
];
|
|
216
|
+
for (const entry of all) {
|
|
217
|
+
const normalized = SnmpOidListUtil.normalizeOid(entry.oid);
|
|
218
|
+
if (!normalized || !OID_SYNTAX.test(normalized)) {
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
const normalizedEntry = Object.assign(Object.assign({}, entry), { oid: normalized });
|
|
222
|
+
const existingIndex = indexByOid.get(normalized);
|
|
223
|
+
if (existingIndex === undefined) {
|
|
224
|
+
indexByOid.set(normalized, merged.length);
|
|
225
|
+
merged.push(normalizedEntry);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
// Device entry wins on content, template keeps the position.
|
|
229
|
+
merged[existingIndex] = normalizedEntry;
|
|
230
|
+
}
|
|
231
|
+
return merged;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* What this device polls, capped. The cap should be unreachable — both
|
|
235
|
+
* write paths reject an over-cap list with an error the operator can see —
|
|
236
|
+
* so this is the backstop for a template that grew after devices linked to
|
|
237
|
+
* it.
|
|
238
|
+
*/
|
|
239
|
+
static resolveEffectiveOids(data) {
|
|
240
|
+
const merged = SnmpOidListUtil.mergeOidLists(data.templateOids, data.deviceOids);
|
|
241
|
+
if (merged.length <= MAX_EFFECTIVE_OIDS_PER_DEVICE) {
|
|
242
|
+
return {
|
|
243
|
+
oids: merged,
|
|
244
|
+
truncatedCount: 0,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
return {
|
|
248
|
+
oids: merged.slice(0, MAX_EFFECTIVE_OIDS_PER_DEVICE),
|
|
249
|
+
truncatedCount: merged.length - MAX_EFFECTIVE_OIDS_PER_DEVICE,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=SnmpOidListUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnmpOidListUtil.js","sourceRoot":"","sources":["../../../../../Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,9 @@ var NotificationSettingEventType;
|
|
|
56
56
|
NotificationSettingEventType["SEND_WHEN_USER_IS_ADDED_TO_ON_CALL_POLICY"] = "When user is added to on-call policy";
|
|
57
57
|
NotificationSettingEventType["SEND_WHEN_USER_IS_REMOVED_FROM_ON_CALL_POLICY"] = "When user is removed from on-call policy";
|
|
58
58
|
NotificationSettingEventType["SEND_WHEN_USER_IS_NO_LONGER_ACTIVE_ON_ON_CALL_ROSTER"] = "When user is no longer active on on-call roster";
|
|
59
|
+
// On Call Shift Reminders (see UserOnCallShiftReminder)
|
|
60
|
+
NotificationSettingEventType["SEND_BEFORE_USER_ON_CALL_SHIFT_STARTS"] = "Before user's on-call shift starts";
|
|
61
|
+
NotificationSettingEventType["SEND_WHEN_USER_ON_CALL_SHIFT_IS_REASSIGNED"] = "User's upcoming on-call shift is reassigned";
|
|
59
62
|
})(NotificationSettingEventType || (NotificationSettingEventType = {}));
|
|
60
63
|
export default NotificationSettingEventType;
|
|
61
64
|
//# sourceMappingURL=NotificationSettingEventType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationSettingEventType.js","sourceRoot":"","sources":["../../../../Types/NotificationSetting/NotificationSettingEventType.ts"],"names":[],"mappings":"AAAA,IAAK,
|
|
1
|
+
{"version":3,"file":"NotificationSettingEventType.js","sourceRoot":"","sources":["../../../../Types/NotificationSetting/NotificationSettingEventType.ts"],"names":[],"mappings":"AAAA,IAAK,4BA0EJ;AA1ED,WAAK,4BAA4B;IAC/B,WAAW;IACX,mJAAmH,CAAA;IACnH,2JAA2H,CAAA;IAC3H,+JAA+H,CAAA;IAC/H,uIAAuG,CAAA;IACvG,2IAA2G,CAAA;IAC3G,6IAA6G,CAAA;IAE7G,SAAS;IAET,0IAA0G,CAAA;IAC1G,kJAAkH,CAAA;IAClH,sJAAsH,CAAA;IACtH,iIAAiG,CAAA;IACjG,uIAAuG,CAAA;IAEvG,iBAAiB;IAEjB,kKAAkI,CAAA;IAClI,0KAA0I,CAAA;IAC1I,8KAA8I,CAAA;IAC9I,iJAAiH,CAAA;IACjH,wJAAwH,CAAA;IAExH,oBAAoB;IAEpB,2KAA2I,CAAA;IAC3I,mLAAmJ,CAAA;IACnJ,uLAAuJ,CAAA;IACvJ,uJAAuH,CAAA;IACvH,iKAAiI,CAAA;IAEjI,WAAW;IACX,qIAAqG,CAAA;IACrG,gJAAgH,CAAA;IAChH,8JAA8H,CAAA;IAC9H,2IAA2G,CAAA;IAC3G,2KAA2I,CAAA;IAE3I,wBAAwB;IACxB,0JAA0H,CAAA;IAC1H,kKAAkI,CAAA;IAClI,iJAAiH,CAAA;IACjH,sKAAsI,CAAA;IACtI,oLAAoJ,CAAA;IAEpJ,cAAc;IACd,sLAAsJ,CAAA;IACtJ,4JAA4H,CAAA;IAC5H,6IAA6G,CAAA;IAE7G,mCAAmC;IACnC,wJAAwH,CAAA;IACxH,iIAAiG,CAAA;IAEjG,sCAAsC;IACtC,iKAAiI,CAAA;IACjI,uIAAuG,CAAA;IAEvG,MAAM;IACN,gJAAgH,CAAA;IAChH,6HAA6F,CAAA;IAE7F,wBAAwB;IACxB,gGAAgE,CAAA;IAChE,0GAA0E,CAAA;IAC1E,kHAAkF,CAAA;IAClF,0HAA0F,CAAA;IAC1F,wIAAwG,CAAA;IAExG,wDAAwD;IACxD,4GAA4E,CAAA;IAC5E,0HAA0F,CAAA;AAC5F,CAAC,EA1EI,4BAA4B,KAA5B,4BAA4B,QA0EhC;AAED,eAAe,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Window and cost constants for the on-call calendar feeds.
|
|
3
|
+
*
|
|
4
|
+
* These are deliberately constants rather than environment variables: they
|
|
5
|
+
* bound how much work one feed fetch can cause and how large a body a
|
|
6
|
+
* calendar client has to swallow, and an operator tuning them per install
|
|
7
|
+
* would only move the failure elsewhere (Google skips events in very large
|
|
8
|
+
* feeds; Proton rejects oversized feeds outright).
|
|
9
|
+
*/
|
|
10
|
+
// Furthest a feed may look ahead, in days.
|
|
11
|
+
export const MAX_FUTURE_DAYS = 180;
|
|
12
|
+
// Shortest look-ahead a subscriber may pick, in days.
|
|
13
|
+
export const MIN_FUTURE_DAYS = 7;
|
|
14
|
+
// Look-ahead used when a feed row has no explicit setting.
|
|
15
|
+
export const DEFAULT_FUTURE_DAYS = 90;
|
|
16
|
+
// Furthest a feed may look back, in days. History is opt-in beyond 2 days.
|
|
17
|
+
export const MAX_PAST_DAYS = 60;
|
|
18
|
+
// Look-back used when a feed row has no explicit setting.
|
|
19
|
+
export const DEFAULT_PAST_DAYS = 2;
|
|
20
|
+
/*
|
|
21
|
+
* Hard cap on VEVENTs in one feed. When a feed would exceed it, futureDays is
|
|
22
|
+
* shrunk until it fits (see OnCallCalendarFeedUtil.shrinkWindowToFit).
|
|
23
|
+
*/
|
|
24
|
+
export const MAX_EVENTS = 5000;
|
|
25
|
+
// Hard cap on "No coverage" events per feed (oldest first).
|
|
26
|
+
export const MAX_GAP_EVENTS = 100;
|
|
27
|
+
// A rotated-out token keeps serving an EMPTY calendar for this long.
|
|
28
|
+
export const PREVIOUS_TOKEN_GRACE_DAYS = 30;
|
|
29
|
+
// Rendered body cache TTL, in seconds (also the Cache-Control max-age).
|
|
30
|
+
export const BODY_CACHE_TTL_SECONDS = 300;
|
|
31
|
+
// Schedule-level materialized-shift cache TTL, in seconds.
|
|
32
|
+
export const SCHEDULE_CACHE_TTL_SECONDS = 3600;
|
|
33
|
+
// Maximum concurrent uncached renders per process.
|
|
34
|
+
export const RENDER_CONCURRENCY = 4;
|
|
35
|
+
/*
|
|
36
|
+
* Per-layer rotation-period budget for feed rendering (LayerUtil's
|
|
37
|
+
* maxSimulationIterations). Well above any realistic schedule age at hourly
|
|
38
|
+
* granularity, far below the engine's 5,000,000 ceiling.
|
|
39
|
+
*/
|
|
40
|
+
export const FEED_SIMULATION_ITERATION_CAP = 200000;
|
|
41
|
+
const MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
42
|
+
export default class CalendarFeedWindow {
|
|
43
|
+
/*
|
|
44
|
+
* Coerce a stored / user-supplied pastDays value into the allowed range.
|
|
45
|
+
* Anything that is not a finite number falls back to the default rather
|
|
46
|
+
* than to 0, so a missing column never silently hides the current shift.
|
|
47
|
+
*/
|
|
48
|
+
static clampPastDays(value) {
|
|
49
|
+
const parsed = CalendarFeedWindow.toFiniteInteger(value);
|
|
50
|
+
if (Number.isNaN(parsed)) {
|
|
51
|
+
return DEFAULT_PAST_DAYS;
|
|
52
|
+
}
|
|
53
|
+
return Math.min(MAX_PAST_DAYS, Math.max(0, parsed));
|
|
54
|
+
}
|
|
55
|
+
static clampFutureDays(value) {
|
|
56
|
+
const parsed = CalendarFeedWindow.toFiniteInteger(value);
|
|
57
|
+
if (Number.isNaN(parsed)) {
|
|
58
|
+
return DEFAULT_FUTURE_DAYS;
|
|
59
|
+
}
|
|
60
|
+
return Math.min(MAX_FUTURE_DAYS, Math.max(MIN_FUTURE_DAYS, parsed));
|
|
61
|
+
}
|
|
62
|
+
/*
|
|
63
|
+
* The feed window for a fetch at `now`. Both edges sit on UTC midnights so
|
|
64
|
+
* every fetch inside the same UTC day produces the same window — which is
|
|
65
|
+
* what makes the rendered body cacheable across polls.
|
|
66
|
+
*/
|
|
67
|
+
static computeFeedWindow(data) {
|
|
68
|
+
const pastDays = CalendarFeedWindow.clampPastDays(data.pastDays);
|
|
69
|
+
const futureDays = CalendarFeedWindow.clampFutureDays(data.futureDays);
|
|
70
|
+
const todayUtc = CalendarFeedWindow.startOfUtcDay(data.now);
|
|
71
|
+
return {
|
|
72
|
+
feedStart: new Date(todayUtc - pastDays * MILLISECONDS_PER_DAY),
|
|
73
|
+
feedEnd: new Date(todayUtc + (futureDays + 1) * MILLISECONDS_PER_DAY),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// 00:00:00.000 UTC of the day containing `date`, as epoch milliseconds.
|
|
77
|
+
static startOfUtcDay(date) {
|
|
78
|
+
return Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
|
|
79
|
+
}
|
|
80
|
+
// "YYYY-MM-DD" of the UTC day containing `date`, for cache keys.
|
|
81
|
+
static getUtcDayBucket(date) {
|
|
82
|
+
return new Date(CalendarFeedWindow.startOfUtcDay(date))
|
|
83
|
+
.toISOString()
|
|
84
|
+
.slice(0, 10);
|
|
85
|
+
}
|
|
86
|
+
static toFiniteInteger(value) {
|
|
87
|
+
if (typeof value === "number") {
|
|
88
|
+
return Number.isFinite(value) ? Math.floor(value) : Number.NaN;
|
|
89
|
+
}
|
|
90
|
+
if (typeof value === "string" && value.trim() !== "") {
|
|
91
|
+
const parsed = Number(value);
|
|
92
|
+
return Number.isFinite(parsed) ? Math.floor(parsed) : Number.NaN;
|
|
93
|
+
}
|
|
94
|
+
return Number.NaN;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=CalendarFeedWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarFeedWindow.js","sourceRoot":"","sources":["../../../../Types/OnCallDutyPolicy/CalendarFeedWindow.ts"],"names":[],"mappings":"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"}
|