@oneuptime/common 12.0.32 → 12.0.33
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/Span.ts +14 -0
- package/Models/DatabaseModels/EnterpriseLicense.ts +56 -0
- package/Models/DatabaseModels/Index.ts +10 -0
- package/Models/DatabaseModels/Monitor.ts +76 -0
- package/Models/DatabaseModels/NetworkAlertPolicy.ts +690 -0
- package/Models/DatabaseModels/NetworkDevice.ts +176 -1
- package/Models/DatabaseModels/NetworkSite.ts +201 -2
- package/Models/DatabaseModels/NetworkSiteType.ts +102 -3
- package/Models/DatabaseModels/NetworkSnmpCredentialProfile.ts +841 -0
- package/Models/DatabaseModels/TelemetryException.ts +119 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupBatch.ts +334 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupItem.ts +370 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupSetting.ts +282 -0
- package/Server/API/EnterpriseLicenseAPI.ts +391 -64
- package/Server/API/LlmProviderAPI.ts +137 -22
- package/Server/EnvironmentConfig.ts +14 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.ts +55 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.ts +124 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.ts +132 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.ts +79 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.ts +191 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
- package/Server/Infrastructure/QueueWorker.ts +38 -8
- package/Server/Middleware/BearerTokenAuthorization.ts +12 -0
- package/Server/Middleware/ProjectAuthorization.ts +11 -0
- package/Server/Middleware/SCIMAuthorization.ts +12 -0
- package/Server/Middleware/TelemetryIngest.ts +11 -0
- package/Server/Services/AIBillingService.ts +101 -27
- package/Server/Services/EnterpriseLicenseInstanceService.ts +197 -0
- package/Server/Services/EnterpriseLicenseService.ts +55 -0
- package/Server/Services/Index.ts +10 -0
- package/Server/Services/MonitorService.ts +143 -21
- package/Server/Services/MonitorStatusTimelineService.ts +150 -8
- package/Server/Services/MonitorTemplateService.ts +217 -1
- package/Server/Services/NetworkAlertPolicyEngineService.ts +2159 -0
- package/Server/Services/NetworkAlertPolicyService.ts +944 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +9 -10
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +60 -15
- package/Server/Services/NetworkDeviceService.ts +1032 -73
- package/Server/Services/NetworkSiteService.ts +1502 -129
- package/Server/Services/NetworkSiteTypeService.ts +1216 -0
- package/Server/Services/NetworkSnmpCredentialProfileService.ts +238 -0
- package/Server/Services/NotificationService.ts +118 -28
- package/Server/Services/ProjectService.ts +105 -48
- package/Server/Services/StatusPagePrivateUserService.ts +103 -3
- package/Server/Services/UserNotificationEmailRollupBatchService.ts +78 -0
- package/Server/Services/UserNotificationEmailRollupItemService.ts +79 -0
- package/Server/Services/UserNotificationEmailRollupSettingService.ts +113 -0
- package/Server/Services/UserNotificationSettingService.ts +62 -25
- package/Server/Services/UserService.ts +95 -0
- package/Server/Types/Database/QueryHelper.ts +2 -2
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +14 -3
- package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +62 -1
- package/Server/Utils/AI/Toolbox/AlertTools.ts +15 -1
- package/Server/Utils/Billing/BillingFailureNoticeThrottle.ts +80 -0
- package/Server/Utils/DataSource/HttpFetch.ts +9 -2
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +98 -0
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +872 -0
- package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +781 -0
- package/Server/Utils/EmailRollup/EmailRollupWriter.ts +368 -0
- package/Server/Utils/LLM/LLMService.ts +78 -0
- package/Server/Utils/LogRedaction.ts +8 -0
- package/Server/Utils/Logger.ts +79 -1
- package/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.ts +190 -0
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +9 -2
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +61 -1
- package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +14 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +49 -0
- package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +255 -4
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +41 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +43 -0
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +499 -19
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +66 -10
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +238 -44
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +146 -39
- package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +31 -18
- package/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.ts +213 -0
- package/Server/Utils/OutboundUserAgent.ts +152 -0
- package/Server/Utils/StartServer.ts +51 -19
- package/Server/Utils/Telemetry/CaptureSpan.ts +32 -8
- package/Server/Utils/Telemetry/ErrorClassResolver.ts +120 -0
- package/Server/Utils/Telemetry/SpanUtil.ts +33 -0
- package/Server/Utils/Telemetry.ts +198 -51
- package/Server/Views/Partials/SensitiveUrlToken.ejs +140 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +134 -33
- package/Tests/App/Dashboard/AskAiSuggestedPrompts.test.ts +279 -0
- package/Tests/App/Dashboard/DashboardEditPermissions.test.tsx +517 -0
- package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +26 -0
- package/Tests/App/Dashboard/DeviceStatusHero.test.tsx +588 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +18 -9
- package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +632 -0
- package/Tests/App/Dashboard/MonitorRecommendationCreateProgress.test.tsx +682 -0
- package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +4 -2
- package/Tests/App/Dashboard/NetworkDeviceCreateFormMonitorBinding.test.tsx +676 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormPingMonitor.test.tsx +791 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormProbeAndSnmp.test.tsx +833 -0
- package/Tests/App/Dashboard/NetworkDeviceCriteriaFilter.test.ts +161 -0
- package/Tests/App/Dashboard/NetworkDeviceSettingsMonitoringSection.test.tsx +458 -0
- package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +41 -5
- package/Tests/App/Dashboard/PingMonitorProvisioning.test.ts +368 -0
- package/Tests/App/Dashboard/RecommendationCard.test.tsx +796 -0
- package/Tests/App/Dashboard/RecommendationToolbar.test.tsx +519 -0
- package/Tests/App/Dashboard/RecommendationsList.test.tsx +661 -0
- package/Tests/App/Dashboard/UseBulkCreatePingMonitors.test.tsx +899 -0
- package/Tests/App/Dashboard/UseBulkSnmpCredentialProfileActions.test.tsx +732 -0
- package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +256 -0
- package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +11 -1
- package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +9 -4
- package/Tests/Models/NetworkSiteHierarchy.test.ts +41 -4
- package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +951 -7
- package/Tests/Server/API/LlmProviderConnectionTest.test.ts +522 -0
- package/Tests/Server/Infrastructure/Postgres/NetworkSnmpCredentialProfilesAndAlertPoliciesMigration.test.ts +854 -0
- package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +18 -0
- package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupTableMigration.test.ts +535 -0
- package/Tests/Server/Services/AIChatPrivacyPin.test.ts +560 -0
- package/Tests/Server/Services/BillingRechargeOwnerEmailGuards.test.ts +783 -0
- package/Tests/Server/Services/EnterpriseLicenseInstanceServiceDeletionUsage.test.ts +707 -0
- package/Tests/Server/Services/EnterpriseLicenseServiceUsageAggregationLock.test.ts +329 -0
- package/Tests/Server/Services/MonitorServiceDeleteNetworkDeviceCleanup.test.ts +294 -0
- package/Tests/Server/Services/MonitorStatusBridgeProbePath.test.ts +802 -0
- package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +72 -2
- package/Tests/Server/Services/NetworkAlertPolicyEngineHooks.test.ts +752 -0
- package/Tests/Server/Services/NetworkAlertPolicyEngineService.test.ts +1849 -0
- package/Tests/Server/Services/NetworkAlertPolicyModel.test.ts +1793 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +47 -4
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +97 -12
- package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +148 -3
- package/Tests/Server/Services/NetworkDeviceMonitorBindingUpdateGuard.test.ts +514 -0
- package/Tests/Server/Services/NetworkDeviceMonitorStatusStamp.test.ts +447 -58
- package/Tests/Server/Services/NetworkDeviceMonitoringMethodTransition.test.ts +739 -0
- package/Tests/Server/Services/NetworkDevicePollingTenancy.test.ts +501 -0
- package/Tests/Server/Services/NetworkDeviceSiteDefaultProbe.test.ts +432 -0
- package/Tests/Server/Services/NetworkSiteMonitoringDefaults.test.ts +498 -0
- package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +337 -55
- package/Tests/Server/Services/NetworkSiteService.test.ts +1868 -131
- package/Tests/Server/Services/NetworkSiteTypeService.test.ts +1109 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileModel.test.ts +926 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileService.test.ts +796 -0
- package/Tests/Server/Services/ProjectServiceNetworkSiteTypeDefaults.test.ts +214 -0
- package/Tests/Server/Services/StatusPagePrivateUserEmailChangePasswordResetExpiry.test.ts +269 -0
- package/Tests/Server/Services/UserEmailChangePasswordResetExpiry.test.ts +472 -0
- package/Tests/Server/Services/UserNotificationEmailRollupModels.test.ts +569 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingModel.test.ts +314 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingService.test.ts +409 -0
- package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +856 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +102 -1
- package/Tests/Server/Types/Database/Permissions/DashboardAccessPermission.test.ts +321 -0
- package/Tests/Server/Types/Database/QueryHelperOperators.test.ts +17 -0
- package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +124 -0
- package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +208 -0
- package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +235 -0
- package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +253 -0
- package/Tests/Server/Utils/Captcha.test.ts +422 -0
- package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +96 -2
- package/Tests/Server/Utils/Database/MigrationFailureLog.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1096 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerClaim.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +1428 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +752 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupWriter.test.ts +864 -0
- package/Tests/Server/Utils/LoggerFaultDemotion.test.ts +346 -0
- package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +633 -0
- package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +196 -0
- package/Tests/Server/Utils/Monitor/DatabaseMetricWrite.test.ts +367 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +100 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +5 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +512 -31
- package/Tests/Server/Utils/Monitor/NetworkDeviceMetricUtil.test.ts +252 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +479 -42
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +351 -5
- package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +136 -12
- package/Tests/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.test.ts +306 -0
- package/Tests/Server/Utils/OutboundUserAgent.test.ts +266 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClientUserAgent.test.ts +141 -0
- package/Tests/Server/Utils/Telemetry/ErrorClassResolver.test.ts +298 -0
- package/Tests/Server/Utils/Telemetry.test.ts +456 -66
- package/Tests/Types/Monitor/DatabaseMetricCatalog.test.ts +388 -0
- package/Tests/Types/Monitor/MonitorStepDatabaseMonitor.test.ts +243 -0
- package/Tests/Types/Monitor/MonitorStepDefaultTelemetryConfig.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorType.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +16 -7
- package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +60 -0
- package/Tests/Types/NetworkDevice/NetworkAlertPolicyScope.test.ts +655 -0
- package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +115 -26
- package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +39 -0
- package/Tests/Types/NotificationSetting/NotificationEmailRollupPolicy.test.ts +299 -0
- package/Tests/Types/Telemetry/ErrorClass.test.ts +483 -0
- package/Tests/UI/Components/BasicRadioButtons.test.tsx +336 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +15 -0
- package/Tests/UI/Components/ProgressBar.test.tsx +38 -2
- package/Tests/UI/Components/SideMenuItem.test.tsx +226 -4
- package/Tests/UI/Components/SideMenuSection.test.tsx +310 -0
- package/Tests/UI/Components/SideOverSubmitState.test.tsx +335 -0
- package/Tests/UI/Utils/PageScrollLock.test.tsx +377 -0
- package/Tests/UI/Utils/PermissionGate.test.ts +78 -0
- package/Tests/UI/Utils/SensitiveUrlToken.test.ts +140 -0
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +69 -0
- package/Tests/Utils/EnterpriseLicenseSync.test.ts +7 -1
- package/Tests/Utils/EnterpriseLicenseUsage.test.ts +433 -2
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +280 -1
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +1 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +38 -0
- package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +284 -23
- package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +177 -0
- package/Tests/Utils/NetworkDevice/MonitoringMethodThreadedClassifiers.test.ts +992 -0
- package/Tests/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.test.ts +427 -0
- package/Tests/Utils/NetworkDevice/ReachabilityStampConsistency.test.ts +185 -0
- package/Tests/Utils/NetworkDevice/SnmpCredentialUtil.test.ts +268 -0
- package/Tests/Utils/NetworkDiscovery/AutoImportRuleMatcher.test.ts +55 -5
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +98 -21
- package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +98 -20
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +8 -7
- package/Tests/Utils/NetworkDiscovery/PingMonitorBuilderForAddress.test.ts +274 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +230 -51
- package/Tests/Utils/NetworkSite/TypeHierarchyUtil.test.ts +209 -0
- package/Tests/Utils/Telemetry/CaptureSpanExportGating.test.ts +145 -0
- package/Types/AI/ExceptionAIClassification.ts +10 -24
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseInstanceSummary.ts +5 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.ts +13 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.ts +6 -0
- package/Types/Exception/ApiException.ts +10 -0
- package/Types/Exception/BadDataException.ts +11 -0
- package/Types/Exception/BadRequestException.ts +11 -0
- package/Types/Exception/Exception.ts +65 -0
- package/Types/Exception/ForbiddenException.ts +10 -0
- package/Types/Exception/NotAuthenticatedException.ts +10 -0
- package/Types/Exception/NotAuthorizedException.ts +10 -0
- package/Types/Exception/NotFoundException.ts +11 -0
- package/Types/Exception/PayloadTooLargeException.ts +11 -0
- package/Types/Exception/PaymentRequiredException.ts +10 -0
- package/Types/Exception/ServiceUnavailableException.ts +10 -0
- package/Types/Exception/SsoAuthorizationException.ts +10 -0
- package/Types/Exception/TenantNotFoundException.ts +11 -0
- package/Types/Exception/TimeoutException.ts +10 -0
- package/Types/Exception/TooManyRequestsException.ts +10 -0
- package/Types/Exception/UnableToReachServer.ts +10 -0
- package/Types/Exception/WebsiteRequestException.ts +10 -0
- package/Types/Monitor/CriteriaFilter.ts +60 -2
- package/Types/Monitor/DatabaseMetricCatalog.ts +693 -0
- package/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.ts +83 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +76 -0
- package/Types/Monitor/MonitorMetricType.ts +71 -0
- package/Types/Monitor/MonitorStep.ts +76 -0
- package/Types/Monitor/MonitorStepDatabaseMonitor.ts +171 -0
- package/Types/Monitor/MonitorStepSqlMonitor.ts +2 -20
- package/Types/Monitor/MonitorType.ts +47 -1
- package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +22 -1
- package/Types/Monitor/SqlConnectionConfig.ts +31 -0
- package/Types/NetworkDevice/NetworkAlertPolicyScope.ts +343 -0
- package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +42 -22
- package/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.ts +30 -0
- package/Types/NotificationSetting/NotificationEmailRollupCategory.ts +255 -0
- package/Types/NotificationSetting/NotificationEmailRollupPolicy.ts +104 -0
- package/Types/Permission.ts +90 -0
- package/Types/Probe/ProbeMonitorResponse.ts +16 -0
- package/Types/Telemetry/ErrorClass.ts +274 -0
- package/Types/Telemetry/UnitOfWork.ts +59 -0
- package/UI/Components/CommandPalette/CommandPalette.tsx +2 -8
- package/UI/Components/EditionLabel/EditionLabel.tsx +4 -0
- package/UI/Components/Modal/Modal.tsx +2 -8
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +44 -0
- package/UI/Components/ProgressBar/ProgressBar.tsx +12 -1
- package/UI/Components/RadioButtons/BasicRadioButtons.tsx +37 -7
- package/UI/Components/SideMenu/SideMenu.tsx +123 -5
- package/UI/Components/SideMenu/SideMenuItem.tsx +76 -84
- package/UI/Components/SideMenu/SideMenuSection.tsx +55 -23
- package/UI/Components/SideOver/SideOver.tsx +21 -20
- package/UI/Utils/PageScrollLock.ts +79 -3
- package/UI/Utils/PermissionGate.ts +61 -0
- package/UI/Utils/SensitiveUrlToken.ts +112 -0
- package/UI/Utils/TestLLMProvider.ts +11 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +16 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +191 -11
- package/Utils/Monitor/MonitorMetricType.ts +153 -1
- package/Utils/Monitor/NetworkTopologyUtil.ts +23 -3
- package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +65 -14
- package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +43 -14
- package/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.ts +247 -0
- package/Utils/NetworkDevice/SnmpCredentialUtil.ts +68 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +15 -7
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +52 -17
- package/Utils/NetworkDiscovery/DiscoveryImportEligibility.ts +55 -23
- package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +115 -13
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +66 -20
- package/Utils/NetworkSite/TypeHierarchyUtil.ts +313 -0
- package/build/dist/Models/AnalyticsModels/Span.js +14 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js +59 -0
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +10 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +75 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js +713 -0
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +180 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js +200 -2
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js +102 -3
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js +878 -0
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js +123 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js +363 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js +402 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js +296 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Server/API/EnterpriseLicenseAPI.js +273 -60
- package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
- package/build/dist/Server/API/LlmProviderAPI.js +108 -13
- package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +12 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js +111 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js +77 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js +50 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js +83 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +33 -5
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js +12 -0
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js +11 -0
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/SCIMAuthorization.js +12 -0
- package/build/dist/Server/Middleware/SCIMAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +11 -0
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AIBillingService.js +70 -16
- package/build/dist/Server/Services/AIBillingService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js +167 -0
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +39 -0
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +10 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +119 -21
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +127 -8
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +162 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js +1683 -0
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js.map +1 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js +732 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +10 -9
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +54 -11
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +841 -70
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +1145 -107
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteTypeService.js +863 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js +217 -0
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js.map +1 -0
- package/build/dist/Server/Services/NotificationService.js +80 -17
- package/build/dist/Server/Services/NotificationService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +66 -30
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserService.js +92 -2
- package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js +76 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js +77 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js +111 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js +46 -20
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +90 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +14 -3
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +54 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +18 -4
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js +59 -0
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js.map +1 -0
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +2 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +91 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +691 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +497 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js +257 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js.map +1 -0
- package/build/dist/Server/Utils/LLM/LLMService.js +64 -1
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/LogRedaction.js +8 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +63 -1
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js +141 -0
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +51 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +7 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +37 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +158 -6
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +32 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +330 -21
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +55 -10
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +178 -49
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +119 -29
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +30 -17
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -1
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js +158 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js.map +1 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js +123 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +38 -14
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js +28 -8
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js +95 -0
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js +29 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry.js +162 -46
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Types/AI/ExceptionAIClassification.js +10 -24
- package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js +2 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js.map +1 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js +7 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js.map +1 -0
- package/build/dist/Types/Exception/ApiException.js +9 -0
- package/build/dist/Types/Exception/ApiException.js.map +1 -1
- package/build/dist/Types/Exception/BadDataException.js +10 -0
- package/build/dist/Types/Exception/BadDataException.js.map +1 -1
- package/build/dist/Types/Exception/BadRequestException.js +10 -0
- package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
- package/build/dist/Types/Exception/Exception.js +56 -0
- package/build/dist/Types/Exception/Exception.js.map +1 -1
- package/build/dist/Types/Exception/ForbiddenException.js +9 -0
- package/build/dist/Types/Exception/ForbiddenException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthenticatedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthorizedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
- package/build/dist/Types/Exception/NotFoundException.js +10 -0
- package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/PayloadTooLargeException.js +10 -0
- package/build/dist/Types/Exception/PayloadTooLargeException.js.map +1 -1
- package/build/dist/Types/Exception/PaymentRequiredException.js +9 -0
- package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
- package/build/dist/Types/Exception/ServiceUnavailableException.js +9 -0
- package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -1
- package/build/dist/Types/Exception/SsoAuthorizationException.js +9 -0
- package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
- package/build/dist/Types/Exception/TenantNotFoundException.js +10 -0
- package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/TimeoutException.js +9 -0
- package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
- package/build/dist/Types/Exception/TooManyRequestsException.js +9 -0
- package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -1
- package/build/dist/Types/Exception/UnableToReachServer.js +9 -0
- package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
- package/build/dist/Types/Exception/WebsiteRequestException.js +9 -0
- package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +45 -2
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js +594 -0
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js +21 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +70 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorMetricType.js +61 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +54 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js +122 -0
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +45 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +21 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
- package/build/dist/Types/Monitor/SqlConnectionConfig.js +2 -0
- package/build/dist/Types/Monitor/SqlConnectionConfig.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js +172 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +40 -22
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -1
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js +26 -0
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js +186 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js +87 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js.map +1 -0
- package/build/dist/Types/Permission.js +80 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Telemetry/ErrorClass.js +216 -0
- package/build/dist/Types/Telemetry/ErrorClass.js.map +1 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js +59 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js +2 -7
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +3 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +2 -7
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +39 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js +12 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js +6 -6
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js +67 -5
- package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js +49 -53
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js +25 -7
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
- package/build/dist/UI/Components/SideOver/SideOver.js +5 -20
- package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
- package/build/dist/UI/Utils/PageScrollLock.js +31 -3
- package/build/dist/UI/Utils/PageScrollLock.js.map +1 -1
- package/build/dist/UI/Utils/PermissionGate.js +42 -1
- package/build/dist/UI/Utils/PermissionGate.js.map +1 -1
- package/build/dist/UI/Utils/SensitiveUrlToken.js +97 -0
- package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -0
- package/build/dist/UI/Utils/TestLLMProvider.js +4 -5
- package/build/dist/UI/Utils/TestLLMProvider.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +15 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +111 -9
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js +109 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +8 -3
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +27 -7
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +7 -5
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js +180 -0
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js +12 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js +15 -5
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +44 -15
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js +52 -23
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +85 -13
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +30 -15
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js +191 -0
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js.map +1 -0
- package/package.json +2 -2
|
@@ -51,14 +51,25 @@ function buildEntityContextGuidance(context) {
|
|
|
51
51
|
return "";
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
/*
|
|
55
|
+
* Per-area guidance for list and explorer pages. This text is the only
|
|
56
|
+
* capability claim in the request that is scoped to the page the user is on,
|
|
57
|
+
* so the model weighs it against the tool schemas — which means it must never
|
|
58
|
+
* describe a tool as NARROWER than it is. It previously summarised
|
|
59
|
+
* query_incidents as "recent incidents, or one by incidentId", and the model
|
|
60
|
+
* paraphrased that back as "I have no tool to list active incidents, give me
|
|
61
|
+
* an incidentId" on the very page whose own suggested prompt card asks
|
|
62
|
+
* "which incidents are currently active or unresolved?". Every affordance an
|
|
63
|
+
* area page's suggested prompts depend on has to be named here.
|
|
64
|
+
*/
|
|
54
65
|
function buildAreaContextGuidance(type) {
|
|
55
66
|
switch (type) {
|
|
56
67
|
case AIChatPageContextType.IncidentsList:
|
|
57
|
-
return `the incidents list. Questions about "these incidents" or incident activity are answered with query_incidents (
|
|
68
|
+
return `the incidents list. Questions about "these incidents" or incident activity are answered with query_incidents: pass state="active" to list every incident that is unresolved RIGHT NOW (this drops the time window, so incidents opened weeks ago are still returned), leave state unset for recent activity in a window, or pass incidentId for one incident's full details. search_incidents does free-text search over past incidents.`;
|
|
58
69
|
case AIChatPageContextType.AlertsList:
|
|
59
|
-
return `the alerts list. Questions about alert activity are answered with query_alerts.`;
|
|
70
|
+
return `the alerts list. Questions about alert activity are answered with query_alerts: pass state="active" to list every alert that is unresolved RIGHT NOW regardless of age, leave state unset for recent activity in a window, or pass alertId for one alert's full details.`;
|
|
60
71
|
case AIChatPageContextType.MonitorsList:
|
|
61
|
-
return `the monitors list. Questions about monitors and their status are answered with query_monitors.`;
|
|
72
|
+
return `the monitors list. Questions about monitors and their status are answered with query_monitors: pass problemsOnly=true to list the monitors that are NOT operational right now, or monitorId for one monitor's details and its recent status timeline.`;
|
|
62
73
|
case AIChatPageContextType.ScheduledMaintenanceList:
|
|
63
74
|
return `the scheduled maintenance list. Questions about maintenance windows are answered with query_scheduled_maintenance (past, ongoing and upcoming events; one event by scheduledMaintenanceId). recent_changes also merges maintenance into a chronological feed alongside other changes.`;
|
|
64
75
|
case AIChatPageContextType.LogsExplorer:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservabilityChatPrompt.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Chat/ObservabilityChatPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,qBAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,oBAAoB,MAAM,2CAA2C,CAAC;AAE7E;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,GAAW,sXAAsX,CAAC;AAEnZ,SAAS,mBAAmB,CAAC,IAA0B;IACrD,IAAI,IAAI,KAAK,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,ibAAib,CAAC;IAC3b,CAAC;IAED,IAAI,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,4BAA4B,WAAW,qZAAqZ,CAAC;IACtc,CAAC;IAED,2BAA2B;IAC3B,OAAO,4BAA4B,WAAW,meAAme,CAAC;AACphB,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,OAA0B;IAC5D,MAAM,EAAE,GAAW,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAW,OAAO,CAAC,WAAW;QAC3C,CAAC,CAAC,YAAY,OAAO,CAAC,WAAW,GAAG;QACpC,CAAC,CAAC,EAAE,CAAC;IAEP,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,qBAAqB,CAAC,QAAQ;YACjC,OAAO,cAAc,SAAS,mEAAmE,EAAE,0oBAA0oB,CAAC;QAChvB,KAAK,qBAAqB,CAAC,KAAK;YAC9B,OAAO,WAAW,SAAS,6DAA6D,EAAE,4cAA4c,CAAC;QACziB,KAAK,qBAAqB,CAAC,OAAO;YAChC,OAAO,YAAY,SAAS,uFAAuF,EAAE,+FAA+F,CAAC;QACvN,KAAK,qBAAqB,CAAC,yBAAyB;YAClD,OAAO,gCAAgC,SAAS,2FAA2F,EAAE,kOAAkO,CAAC;QAClX,KAAK,qBAAqB,CAAC,gBAAgB;YACzC,OAAO,sBAAsB,SAAS,wFAAwF,EAAE,yIAAyI,CAAC;QAC5Q,KAAK,qBAAqB,CAAC,KAAK;YAC9B,OAAO,0EAA0E,EAAE,0DAA0D,CAAC;QAChJ,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,wCAAwC,SAAS,kKAAkK,EAAE,kDAAkD,CAAC;QACjR;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAA2B;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB,CAAC,aAAa;YACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"ObservabilityChatPrompt.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Chat/ObservabilityChatPrompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import OneUptimeDate from "../../../../../../Types/Date";
|
|
2
2
|
import SortOrder from "../../../../../../Types/BaseDatabase/SortOrder";
|
|
3
3
|
import InBetween from "../../../../../../Types/BaseDatabase/InBetween";
|
|
4
|
+
import IncludesNone from "../../../../../../Types/BaseDatabase/IncludesNone";
|
|
5
|
+
import { NON_ACTIONABLE_ERROR_CLASSES } from "../../../../../../Types/Telemetry/ErrorClass";
|
|
4
6
|
import { LIMIT_PER_PROJECT } from "../../../../../../Types/Database/LimitMax";
|
|
5
7
|
import AIInsightType from "../../../../../../Types/AI/AIInsightType";
|
|
6
8
|
import AIInsightSeverity from "../../../../../../Types/AI/AIInsightSeverity";
|
|
@@ -112,6 +114,14 @@ export default class ExceptionSpikeDetector {
|
|
|
112
114
|
firstSeenAt: QueryHelper.lessThan(establishedBefore),
|
|
113
115
|
isResolved: false,
|
|
114
116
|
isArchived: false,
|
|
117
|
+
/*
|
|
118
|
+
* Muted fault domains never file an insight. A spike in rejected
|
|
119
|
+
* logins or malformed input is a traffic story, not a code defect —
|
|
120
|
+
* and each candidate costs two ClickHouse counts before it can even
|
|
121
|
+
* be dropped, so excluding them here saves the scan as well as the
|
|
122
|
+
* LLM budget. Mirrors the Issues list scope.
|
|
123
|
+
*/
|
|
124
|
+
errorClass: new IncludesNone([...NON_ACTIONABLE_ERROR_CLASSES]),
|
|
115
125
|
};
|
|
116
126
|
const exceptions = await TelemetryExceptionService.findBy({
|
|
117
127
|
query: candidateQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExceptionSpikeDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,SAAS,MAAM,gDAAgD,CAAC;AACvE,OAAO,SAAS,MAAM,gDAAgD,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAG7E,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAC1F,OAAO,wBAAwB,MAAM,kDAAkD,CAAC;AACxF,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EACL,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B;;;;;;;;GAQG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAW,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAW,EAAE,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAW,EAAE,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,CAAC,CAAC;AAExD,yEAAyE;AACzE,MAAM,CAAC,MAAM,wCAAwC,GAAW,EAAE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAW,EAAE,CAAC;AAE1D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wCAAwC,GACnD,kCAAkC,CAAC;AAarC,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAA3C;QACS,gBAAW,GAAkB,aAAa,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ExceptionSpikeDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,SAAS,MAAM,gDAAgD,CAAC;AACvE,OAAO,SAAS,MAAM,gDAAgD,CAAC;AAGvE,OAAO,YAAY,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAG7E,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAC1F,OAAO,wBAAwB,MAAM,kDAAkD,CAAC;AACxF,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EACL,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B;;;;;;;;GAQG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAW,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAW,EAAE,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAW,EAAE,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,CAAC,CAAC;AAExD,yEAAyE;AACzE,MAAM,CAAC,MAAM,wCAAwC,GAAW,EAAE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAW,EAAE,CAAC;AAE1D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wCAAwC,GACnD,kCAAkC,CAAC;AAarC,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAA3C;QACS,gBAAW,GAAkB,aAAa,CAAC,cAAc,CAAC;IAmQnE,CAAC;IAjQC;;;;OAIG;IACI,MAAM,CAAC,aAAa,CACzB,WAAmB,EACnB,gBAAwB;QAExB,MAAM,qBAAqB,GACzB,gBAAgB,GAAG,qCAAqC,CAAC;QAC3D,MAAM,iBAAiB,GAAW,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAW,WAAW,GAAG,iBAAiB,CAAC;QAE3D,MAAM,OAAO,GACX,WAAW,IAAI,gCAAgC;YAC/C,UAAU,IAAI,8BAA8B,CAAC;QAE/C,OAAO;YACL,OAAO;YACP,UAAU;YACV,QAAQ,EACN,UAAU,IAAI,wCAAwC;gBACpD,CAAC,CAAC,iBAAiB,CAAC,IAAI;gBACxB,CAAC,CAAC,iBAAiB,CAAC,MAAM;YAC9B,qBAAqB;YACrB,kBAAkB,EAChB,gBAAgB,KAAK,CAAC;gBACtB,WAAW,IAAI,gCAAgC;SAClD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,mBAAmB,CAC/B,aAAiC,EACjC,OAA2B;QAE3B,OAAO,mBAAmB,CACxB,aAAa,EACb,OAAO,EACP,wCAAwC,CACzC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,gBAAgB,CAAC,oBAA4B;QACzD,OAAO,mBAAmB,oBAAoB,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,OAA2B;QAE3B,MAAM,iBAAiB,GAAS,aAAa,CAAC,cAAc,CAC1D,OAAO,CAAC,GAAG,EACX,CAAC,CAAC,GAAG,mCAAmC,CACzC,CAAC;QACF,MAAM,gBAAgB,GAAS,aAAa,CAAC,cAAc,CACzD,iBAAiB,EACjB,CAAC,CAAC,GAAG,qCAAqC,CAC3C,CAAC;QACF,MAAM,iBAAiB,GAAS,aAAa,CAAC,cAAc,CAC1D,OAAO,CAAC,GAAG,EACX,CAAC,CAAC,GAAG,qCAAqC,CAC3C,CAAC;QAEF;;;;WAIG;QACH,MAAM,cAAc,GAAe;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,WAAW,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC7D,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACpD,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB;;;;;;eAMG;YACH,UAAU,EAAE,IAAI,YAAY,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC;SAChE,CAAC;QAEF,MAAM,UAAU,GACd,MAAM,yBAAyB,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,cAAuB;YAC9B,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,IAAI;aACtB;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,SAAS,CAAC,UAAU;aACrC;YACD,KAAK,EAAE,+BAA+B;YACtC,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEL,MAAM,UAAU,GAA4B,EAAE,CAAC;QAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YAED;;;;;eAKG;YACH,MAAM,WAAW,GACf,MAAM,wBAAwB,CAAC,OAAO,CAAC;gBACrC,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,IAAI,EAAE,IAAI,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC;iBAC3C;gBACV,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YAEL,MAAM,UAAU,GAAmB,MAAM,wBAAwB,CAAC,OAAO,CACvE;gBACE,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,IAAI,EAAE,IAAI,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;iBAChD;gBACV,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CACF,CAAC;YAEF,MAAM,QAAQ,GACZ,sBAAsB,CAAC,aAAa,CAClC,WAAW,CAAC,QAAQ,EAAE,EACtB,UAAU,CAAC,QAAQ,EAAE,CACtB,CAAC;YAEJ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAkB,MAAM,IAAI,CAAC,kBAAkB,CAC9D,SAAS,CAAC,eAAe,CAC1B,CAAC;YAEF;;;;;eAKG;YACH,MAAM,WAAW,GAAW,wBAAwB,CAClD,SAAS,CAAC,OAAO,IAAI,EAAE,CACxB,CAAC;YAEF,MAAM,KAAK,GAAW,sBAAsB,CAAC,mBAAmB,CAC9D,SAAS,CAAC,aAAa,EACvB,WAAW,CACZ,CAAC;YAEF,MAAM,cAAc,GAAuB,SAAS,CAAC,WAAW;gBAC9D,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE;gBACrC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,WAAW,GAAkB;gBACjC,QAAQ,CAAC,kBAAkB;oBACzB,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,8BAA8B;gBAClC,EAAE;gBACF,kBAAkB,KAAK,IAAI;aAC5B,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,6BAA6B,mCAAmC,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,EAC9F,eAAe,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,qCAAqC,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EACzJ,uBAAuB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EACxD,2BAA2B,cAAc,IAAI,SAAS,2BAA2B,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,CAClH,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW,EAAE,aAAa,CAAC,cAAc;gBACzC,WAAW,EAAE,sBAAsB,CAAC,gBAAgB,CAClD,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CACxB;gBACD,KAAK,EAAE,oBAAoB,KAAK,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9H,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,WAAW,EAAE,WAAW,IAAI,SAAS;gBACrC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBACvE,oBAAoB,EAAE,SAAS,CAAC,EAAE;gBAClC,QAAQ,EAAE;oBACR,SAAS,EAAE;wBACT,gBAAgB,EAAE,WAAW;wBAC7B,aAAa,EAAE,SAAS,CAAC,aAAa;wBACtC,qBAAqB,EAAE,WAAW,CAAC,QAAQ,EAAE;wBAC7C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;wBACrD,eAAe,EAAE,QAAQ,CAAC,UAAU;wBACpC,oBAAoB,EAAE,SAAS,CAAC,cAAc;wBAC9C,WAAW,EAAE,cAAc;qBAC5B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAC9B,eAAqC;QAErC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACtB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,IAAI,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import OneUptimeDate from "../../../../../../Types/Date";
|
|
2
2
|
import SortOrder from "../../../../../../Types/BaseDatabase/SortOrder";
|
|
3
|
+
import IncludesNone from "../../../../../../Types/BaseDatabase/IncludesNone";
|
|
4
|
+
import { NON_ACTIONABLE_ERROR_CLASSES } from "../../../../../../Types/Telemetry/ErrorClass";
|
|
3
5
|
import AIInsightType from "../../../../../../Types/AI/AIInsightType";
|
|
4
6
|
import AIInsightSeverity from "../../../../../../Types/AI/AIInsightSeverity";
|
|
5
7
|
import TelemetryExceptionService from "../../../../../Services/TelemetryExceptionService";
|
|
@@ -105,6 +107,14 @@ export default class NewExceptionDetector {
|
|
|
105
107
|
firstSeenAt: QueryHelper.greaterThanEqualTo(firstSeenSince),
|
|
106
108
|
isResolved: false,
|
|
107
109
|
isArchived: false,
|
|
110
|
+
/*
|
|
111
|
+
* Muted fault domains never file an insight. A user-error or an
|
|
112
|
+
* expected-denial group is not a defect in this code, so triaging it
|
|
113
|
+
* would spend an LLM budget grant to be told exactly what the
|
|
114
|
+
* emitting code already declared. Mirrors the Issues list scope, so
|
|
115
|
+
* the inbox and the list agree on what counts as a real failure.
|
|
116
|
+
*/
|
|
117
|
+
errorClass: new IncludesNone([...NON_ACTIONABLE_ERROR_CLASSES]),
|
|
108
118
|
occuranceCount: QueryHelper.greaterThanEqualTo(NEW_EXCEPTION_MIN_OCCURRENCE_COUNT),
|
|
109
119
|
};
|
|
110
120
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewExceptionDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,SAAS,MAAM,gDAAgD,CAAC;AAEvE,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAG7E,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAC1F,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAW,EAAE,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAW,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAW,EAAE,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,GAAG,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAW,EAAE,CAAC;AAExD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sCAAsC,GACjD,kCAAkC,CAAC;AA4BrC,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAAzC;QACS,gBAAW,GAAkB,aAAa,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"NewExceptionDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -177,7 +177,9 @@ export default class InsightTriageRunner {
|
|
|
177
177
|
*
|
|
178
178
|
* 1. Stamp the verdict onto the exception group row (aiClassification)
|
|
179
179
|
* so the exceptions list can filter on it and the fix lane can skip
|
|
180
|
-
* known-non-defects without re-triaging
|
|
180
|
+
* known-non-defects without re-triaging, and PROMOTE it into the
|
|
181
|
+
* platform-wide errorClass when nothing better has claimed that field
|
|
182
|
+
* yet (see below).
|
|
181
183
|
* 2. code-fault → route the automatic fix (InsightFixRouting owns every
|
|
182
184
|
* gate: enableAi, enableInsightFixTasks, budget, readiness, dedupe)
|
|
183
185
|
* and flip the insight to FixOpened when a run was queued.
|
|
@@ -201,6 +203,12 @@ export default class InsightTriageRunner {
|
|
|
201
203
|
* meantime gets no PR and keeps its terminal status.
|
|
202
204
|
*/
|
|
203
205
|
if (insight.telemetryExceptionId) {
|
|
206
|
+
/*
|
|
207
|
+
* aiClassification is the AUDIT RECORD of what the LLM said and is
|
|
208
|
+
* written unconditionally — it must stay readable even when a
|
|
209
|
+
* stronger source owns errorClass, so a human comparing the two can
|
|
210
|
+
* see where the model disagreed.
|
|
211
|
+
*/
|
|
204
212
|
await TelemetryExceptionService.updateOneById({
|
|
205
213
|
id: insight.telemetryExceptionId,
|
|
206
214
|
data: {
|
|
@@ -208,6 +216,51 @@ export default class InsightTriageRunner {
|
|
|
208
216
|
},
|
|
209
217
|
props: { isRoot: true },
|
|
210
218
|
});
|
|
219
|
+
/*
|
|
220
|
+
* errorClass is the ACTED-ON field (Issues scope, emit-path
|
|
221
|
+
* suppression, fix routing), and its precedence is
|
|
222
|
+
* declared > manual > ai > default. A class the throwing code
|
|
223
|
+
* declared for itself is a site-level statement by a developer, and
|
|
224
|
+
* 'manual' is a human's verdict on this exact group; a probabilistic
|
|
225
|
+
* LLM answer outranks neither. So the promotion is guarded on the
|
|
226
|
+
* source still being 'default' — nobody has classified this group.
|
|
227
|
+
*
|
|
228
|
+
* The guard is a WHERE clause rather than a read-then-write: the
|
|
229
|
+
* triage run has been in flight for minutes, so a 'declared' event
|
|
230
|
+
* ingesting or a human reclassifying between a read and this write
|
|
231
|
+
* is a real race, and a conditional UPDATE cannot clobber either.
|
|
232
|
+
* (Same conditional-flip idiom as the ActionRequired -> FixOpened
|
|
233
|
+
* write below.)
|
|
234
|
+
*/
|
|
235
|
+
try {
|
|
236
|
+
const promotedRowCount = await TelemetryExceptionService.updateOneBy({
|
|
237
|
+
query: {
|
|
238
|
+
_id: insight.telemetryExceptionId.toString(),
|
|
239
|
+
errorClassSource: "default",
|
|
240
|
+
},
|
|
241
|
+
data: {
|
|
242
|
+
errorClass: classification,
|
|
243
|
+
errorClassSource: "ai",
|
|
244
|
+
},
|
|
245
|
+
props: { isRoot: true },
|
|
246
|
+
});
|
|
247
|
+
if (promotedRowCount === 0) {
|
|
248
|
+
logger.debug(`AI insights: kept the existing error class on exception ${insight.telemetryExceptionId.toString()} — a declared or manual classification outranks the AI verdict ${classification}.`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
/*
|
|
253
|
+
* Non-fatal on purpose. This is a secondary, self-healing write: the
|
|
254
|
+
* audit record above already landed, and live traffic re-stamps
|
|
255
|
+
* errorClass from the declared class on the group's next occurrence.
|
|
256
|
+
*
|
|
257
|
+
* The auto-archive decision below IS user-visible and irreversible by
|
|
258
|
+
* comparison, so it must not be lost to a failure here. Without this
|
|
259
|
+
* guard the two are coupled only by statement order, which is exactly
|
|
260
|
+
* the kind of coupling nobody notices until an incident.
|
|
261
|
+
*/
|
|
262
|
+
logger.warn(`AI insights: could not promote the error class on exception ${insight.telemetryExceptionId.toString()}: ${err instanceof Error ? err.message : String(err)}`);
|
|
263
|
+
}
|
|
211
264
|
}
|
|
212
265
|
const currentInsight = await AIInsightService.findOneById({
|
|
213
266
|
id: insight.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightTriageRunner.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAItD,OAAO,eAAe,EAAE,EACtB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAC1F,OAAO,gBAAgB,MAAM,uCAAuC,CAAC;AACrE,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,yBAAyB,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AACzD,OAAO,iBAA8C,MAAM,cAAc,CAAC;AAG1E,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAC5D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,2BAA2B,GAAW,IAAI,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAW;;;;;;;;;;;;;;gMAcsJ,CAAC;AAEjM,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;;OAKG;IAEiB,AAAb,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAKjC;QACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAErE,IAAI,cAAsB,CAAC;QAC3B,IAAI,OAAO,GAAqB,IAAI,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC;gBAC3C,EAAE,EAAE,iBAAiB;gBACrB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,cAAc,EAAE,IAAI;oBACpB,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,IAAI;oBACb,oBAAoB,EAAE,IAAI;oBAC1B,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,IAAI;iBACtB;gBACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;YACJ,CAAC;YAED,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf;;;eAGG;YACH,MAAM,oBAAoB,CAAC,aAAa,CAAC;gBACvC,OAAO;gBACP,YAAY;gBACZ,YAAY,EAAE,oCACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;gBACF,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,CAAC,UAAU,CAAC;YACrC,OAAO;YACP,SAAS;YACT,YAAY;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;gBAClC,cAAc;gBACd,YAAY,EAAE,KAAK,EAAE,QAIpB,EAAiB,EAAE;oBAClB,MAAM,cAAc,GAClB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBAEtD;;;;;;;uBAOG;oBACH,MAAM,gBAAgB,CAAC,aAAa,CAAC;wBACnC,EAAE,EAAE,iBAAiB;wBACrB,IAAI,EAAE;4BACJ,qBAAqB,EAAE,QAAQ,CAAC,gBAAgB;4BAChD,iBAAiB,EAAE,aAAa,CAAC,cAAc,EAAE;4BACjD,cAAc,EAAE,cAAc;yBAC/B;wBACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;qBACxB,CAAC,CAAC;oBAEH,MAAM,CAAC,KAAK,CACV,kDAAkD,iBAAiB,CAAC,QAAQ,EAAE,SAAS,OAAO,CAAC,QAAQ,EAAE,oBAAoB,cAAc,eAAe,QAAQ,CAAC,UAAU,CAAC,SAAS,QAAQ,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAC9N,CAAC;oBAEF;;;;uBAIG;oBACH,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC;4BAC7B,OAAO,EAAE,OAAQ;4BACjB,cAAc,EAAE,cAAc;yBAC/B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CACV,sDAAsD,iBAAiB,CAAC,QAAQ,EAAE,aAAa,cAAc,MAAM,KAAK,EAAE,CAC3H,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAC/B,gBAAwB;QAExB,MAAM,OAAO,GAA4B,KAAK,CAAC,IAAI,CACjD,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAC/B,mHAAmH,CACpH,CACF,CAAC;QAEF,MAAM,IAAI,GAAiC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,yBAAyB,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+B,CAAC;IAC5D,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"InsightTriageRunner.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const resolveReadPermissions = () => {
|
|
|
25
25
|
};
|
|
26
26
|
export const QueryAlertsTool = {
|
|
27
27
|
name: "query_alerts",
|
|
28
|
-
description: "Query alerts in this project with their current state and severity. To answer 'which alerts are active/firing right now?' pass state='active' — it returns every unresolved alert regardless of age (no time window unless createdWithinHours is passed explicitly). state='resolved' returns only resolved alerts; the default 'any' returns both, limited to the createdWithinHours window. Results are newest-first; the result reports the total match count — pass skip to page through more. Pass alertId to get full details of one alert, including its description and its owners (teams and users).",
|
|
28
|
+
description: "Query alerts in this project with their current state and severity. Every row also carries the monitor the alert was raised for, so counting rows by monitor answers 'which monitor or source is the noisiest?'. To answer 'which alerts are active/firing right now?' pass state='active' — it returns every unresolved alert regardless of age (no time window unless createdWithinHours is passed explicitly). state='resolved' returns only resolved alerts; the default 'any' returns both, limited to the createdWithinHours window. Results are newest-first; the result reports the total match count — pass skip to page through more. Pass alertId to get full details of one alert, including its description and its owners (teams and users).",
|
|
29
29
|
inputSchema: {
|
|
30
30
|
type: "object",
|
|
31
31
|
properties: {
|
|
@@ -56,7 +56,7 @@ export const QueryAlertsTool = {
|
|
|
56
56
|
return resolveReadPermissions();
|
|
57
57
|
},
|
|
58
58
|
execute: async (args, ctx) => {
|
|
59
|
-
var _a, _b, _c, _d;
|
|
59
|
+
var _a, _b, _c, _d, _e;
|
|
60
60
|
const alertId = ToolArgs.getObjectID(args, "alertId");
|
|
61
61
|
if (alertId) {
|
|
62
62
|
const alert = await AlertService.findOneById({
|
|
@@ -73,6 +73,9 @@ export const QueryAlertsTool = {
|
|
|
73
73
|
alertSeverity: {
|
|
74
74
|
name: true,
|
|
75
75
|
},
|
|
76
|
+
monitor: {
|
|
77
|
+
name: true,
|
|
78
|
+
},
|
|
76
79
|
},
|
|
77
80
|
props: ctx.props,
|
|
78
81
|
});
|
|
@@ -145,6 +148,7 @@ export const QueryAlertsTool = {
|
|
|
145
148
|
description: alert.description,
|
|
146
149
|
state: (_b = alert.currentAlertState) === null || _b === void 0 ? void 0 : _b.name,
|
|
147
150
|
severity: (_c = alert.alertSeverity) === null || _c === void 0 ? void 0 : _c.name,
|
|
151
|
+
monitor: (_d = alert.monitor) === null || _d === void 0 ? void 0 : _d.name,
|
|
148
152
|
createdAt: alert.createdAt,
|
|
149
153
|
ownerTeams: ownerTeamNames || undefined,
|
|
150
154
|
ownerUsers: ownerUserNames || undefined,
|
|
@@ -164,7 +168,7 @@ export const QueryAlertsTool = {
|
|
|
164
168
|
isTruncated: serialized.isTruncated,
|
|
165
169
|
widget: rows.length > 0
|
|
166
170
|
? WidgetBuilder.alertList({
|
|
167
|
-
title: `Alert #${(
|
|
171
|
+
title: `Alert #${(_e = alert === null || alert === void 0 ? void 0 : alert.alertNumber) !== null && _e !== void 0 ? _e : ""}`.trim(),
|
|
168
172
|
items: rows,
|
|
169
173
|
link: {
|
|
170
174
|
type: AIChatCitationTargetType.AlertView,
|
|
@@ -235,6 +239,15 @@ export const QueryAlertsTool = {
|
|
|
235
239
|
alertSeverity: {
|
|
236
240
|
name: true,
|
|
237
241
|
},
|
|
242
|
+
/*
|
|
243
|
+
* The monitor an alert was raised for is what turns a list of alerts
|
|
244
|
+
* into "which source is noisiest" — the question the alerts page
|
|
245
|
+
* offers as a first-class suggested prompt. Without it the model can
|
|
246
|
+
* only guess a source from alert titles.
|
|
247
|
+
*/
|
|
248
|
+
monitor: {
|
|
249
|
+
name: true,
|
|
250
|
+
},
|
|
238
251
|
},
|
|
239
252
|
sort: {
|
|
240
253
|
createdAt: SortOrder.Descending,
|
|
@@ -248,13 +261,14 @@ export const QueryAlertsTool = {
|
|
|
248
261
|
props: ctx.props,
|
|
249
262
|
})).toNumber();
|
|
250
263
|
const rows = alerts.map((alert) => {
|
|
251
|
-
var _a, _b, _c;
|
|
264
|
+
var _a, _b, _c, _d;
|
|
252
265
|
return {
|
|
253
266
|
id: (_a = alert.id) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
254
267
|
alertNumber: alert.alertNumber,
|
|
255
268
|
title: alert.title,
|
|
256
269
|
state: (_b = alert.currentAlertState) === null || _b === void 0 ? void 0 : _b.name,
|
|
257
270
|
severity: (_c = alert.alertSeverity) === null || _c === void 0 ? void 0 : _c.name,
|
|
271
|
+
monitor: (_d = alert.monitor) === null || _d === void 0 ? void 0 : _d.name,
|
|
258
272
|
createdAt: alert.createdAt,
|
|
259
273
|
};
|
|
260
274
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertTools.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/AlertTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yCAAyC,CAAC;AAO5D,OAAO,SAAS,MAAM,0CAA0C,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,oBAA0C,MAAM,cAAc,CAAC;AACtE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,QAAQ,GAGT,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,IAAI,qBAAqB,GAA6B,IAAI,CAAC;AAC3D,MAAM,sBAAsB,GAC1B,GAAsB,EAAE;IACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,IAAI,KAAK,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC,CAAC;AAIJ,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,IAAI,EAAE,cAAc;IACpB,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"AlertTools.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/AlertTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import GlobalCache from "../../Infrastructure/GlobalCache";
|
|
2
|
+
import logger from "../Logger";
|
|
3
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
4
|
+
import ObjectID from "../../../Types/ObjectID";
|
|
5
|
+
/*
|
|
6
|
+
* Why this file exists.
|
|
7
|
+
*
|
|
8
|
+
* The auto-recharge paths in NotificationService and AIBillingService run
|
|
9
|
+
* inline on every notification attempt, so when a card is declined they used
|
|
10
|
+
* to mail every project owner once per paging attempt - a genuine mail bomb
|
|
11
|
+
* arriving during the exact outage the pages were about.
|
|
12
|
+
*
|
|
13
|
+
* The obvious fix - gate the mail on the project's existing
|
|
14
|
+
* failed...NotificationSentToOwners boolean, which is only cleared by a
|
|
15
|
+
* SUCCESSFUL recharge - trades a storm for something worse: permanent silence.
|
|
16
|
+
* A project with no payment method mails once and latches; the owner adds a
|
|
17
|
+
* card; the card is declined; the recharge can therefore never succeed, so the
|
|
18
|
+
* latch can never clear, and the owner is never told the new card failed. SMS
|
|
19
|
+
* and voice paging simply stops working and nobody hears about it.
|
|
20
|
+
*
|
|
21
|
+
* So this is a WINDOW, not a latch. At most one failure notice per project per
|
|
22
|
+
* day, per kind of failure, and the window expires on its own whether or not
|
|
23
|
+
* anything is ever fixed. A storm collapses to one email a day; a new and
|
|
24
|
+
* newly-actionable failure is still reported within a day.
|
|
25
|
+
*
|
|
26
|
+
* It FAILS OPEN. If Redis is unreachable the notice is sent, which is the same
|
|
27
|
+
* behaviour the product had before any of this existed. Failing closed would
|
|
28
|
+
* mean a Redis blip could silently suppress "we cannot page anyone for you",
|
|
29
|
+
* and there is no worse thing for a monitoring product to lose.
|
|
30
|
+
*/
|
|
31
|
+
const BILLING_FAILURE_NOTICE_NAMESPACE = "billing-failure-notice";
|
|
32
|
+
export var BillingFailureNoticeKind;
|
|
33
|
+
(function (BillingFailureNoticeKind) {
|
|
34
|
+
BillingFailureNoticeKind["SmsAndCallRechargeFailed"] = "sms-and-call-recharge-failed";
|
|
35
|
+
BillingFailureNoticeKind["AiCreditRechargeFailed"] = "ai-credit-recharge-failed";
|
|
36
|
+
})(BillingFailureNoticeKind || (BillingFailureNoticeKind = {}));
|
|
37
|
+
/*
|
|
38
|
+
* Claims the day's window for this (project, kind). True means "you own it,
|
|
39
|
+
* send the email"; false means somebody already told them today.
|
|
40
|
+
*/
|
|
41
|
+
export const shouldSendBillingFailureNotice = async (data) => {
|
|
42
|
+
const key = `${data.projectId.toString()}-${data.kind}`;
|
|
43
|
+
try {
|
|
44
|
+
/*
|
|
45
|
+
* SET NX rather than read-then-write: several notification attempts
|
|
46
|
+
* failing at once is the normal case here, not the edge one, and a
|
|
47
|
+
* check-then-act would let every one of them decide it was first.
|
|
48
|
+
*/
|
|
49
|
+
return await GlobalCache.setStringIfNotExists(BILLING_FAILURE_NOTICE_NAMESPACE, key, ObjectID.generate().toString(), {
|
|
50
|
+
expiresInSeconds: OneUptimeDate.getSecondsInDays(1),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
logger.warn(`Billing failure notice throttle: the shared cache is unavailable, so the 24h window for project ${data.projectId.toString()} (${data.kind}) is not enforced. Sending, because a suppressed billing failure is worse than a duplicated one.`);
|
|
55
|
+
logger.warn(err);
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=BillingFailureNoticeThrottle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillingFailureNoticeThrottle.js","sourceRoot":"","sources":["../../../../../Server/Utils/Billing/BillingFailureNoticeThrottle.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,gCAAgC,GAAW,wBAAwB,CAAC;AAE1E,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,qFAAyD,CAAA;IACzD,gFAAoD,CAAA;AACtD,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAOD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC,KAAK,EAAE,IAGN,EAAoB,EAAE;IACrB,MAAM,GAAG,GAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAEhE,IAAI,CAAC;QACH;;;;WAIG;QACH,OAAO,MAAM,WAAW,CAAC,oBAAoB,CAC3C,gCAAgC,EAChC,GAAG,EACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAC9B;YACE,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACpD,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,mGAAmG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAC1H,IAAI,CAAC,IACP,kGAAkG,CACnG,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import axios from "axios";
|
|
|
2
2
|
import API from "../../../Utils/API";
|
|
3
3
|
import BadDataException from "../../../Types/Exception/BadDataException";
|
|
4
4
|
import { DATA_SOURCE_MAX_RESPONSE_SIZE_IN_BYTES, DATA_SOURCE_QUERY_TIMEOUT_IN_MS, } from "../../../Types/DataSource/DataSourceLimits";
|
|
5
|
+
import OutboundUserAgent from "../OutboundUserAgent";
|
|
5
6
|
import DataSourceEgressGuard from "./EgressGuard";
|
|
6
7
|
export default class DataSourceHttpFetch {
|
|
7
8
|
/*
|
|
@@ -33,7 +34,7 @@ export default class DataSourceHttpFetch {
|
|
|
33
34
|
* millisecond later.
|
|
34
35
|
*/
|
|
35
36
|
const { url, httpAgent, httpsAgent } = await DataSourceEgressGuard.assertUrlAllowedAndPin(request.url, request.egressOptions);
|
|
36
|
-
const headers =
|
|
37
|
+
const headers = OutboundUserAgent.withDefault(request.headers);
|
|
37
38
|
let data = undefined;
|
|
38
39
|
if (request.method === "POST" && request.body !== undefined) {
|
|
39
40
|
if (typeof request.body === "string") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpFetch.js","sourceRoot":"","sources":["../../../../../Server/Utils/DataSource/HttpFetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,GAAG,MAAM,oBAAoB,CAAC;AAErC,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,EACL,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,4CAA4C,CAAC;AACpD,OAAO,qBAA6C,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpFetch.js","sourceRoot":"","sources":["../../../../../Server/Utils/DataSource/HttpFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Every tuning knob the owner-email burst rollup has, in one file.
|
|
3
|
+
*
|
|
4
|
+
* The feature is a no-op below its threshold: a project that produces three
|
|
5
|
+
* owner emails a day keeps producing three owner emails a day, from the same
|
|
6
|
+
* code path and the same template. Only an address that is already being
|
|
7
|
+
* flooded sees a change. That property is entirely a function of the numbers
|
|
8
|
+
* below, which is why they live together rather than being scattered across
|
|
9
|
+
* the writer, the flush runner and the cron.
|
|
10
|
+
*
|
|
11
|
+
* A self-hoster who disagrees with any of these judgements changes behaviour
|
|
12
|
+
* with a one-line patch here, and cloud and self-hosted stay identical
|
|
13
|
+
* because there is no environment variable for the two to diverge on.
|
|
14
|
+
*/
|
|
15
|
+
export const ROLLUP_JOB_NAME = "EmailRollup:FlushDueRollups";
|
|
16
|
+
export const ROLLUP_SWEEP_LOCK_NAMESPACE = "Workers.Cron";
|
|
17
|
+
/*
|
|
18
|
+
* The FIRST BURST_THRESHOLD rollup-eligible owner emails for one
|
|
19
|
+
* (project, user, address, category) inside BURST_WINDOW_MINUTES are sent
|
|
20
|
+
* immediately; the next one and everything after it is coalesced. Four is
|
|
21
|
+
* chosen so one incident's whole normal lifecycle (created -> acknowledged ->
|
|
22
|
+
* resolved) plus one more event stays immediate; the fifth event in ten
|
|
23
|
+
* minutes is where a human starts noticing.
|
|
24
|
+
*/
|
|
25
|
+
export const BURST_THRESHOLD = 4;
|
|
26
|
+
export const BURST_WINDOW_MINUTES = 10;
|
|
27
|
+
/*
|
|
28
|
+
* A deferred item is due once it is this old. Also the claim-epoch length,
|
|
29
|
+
* which is what makes "at most 12 rollups per hour per address" true rather
|
|
30
|
+
* than aspirational.
|
|
31
|
+
*
|
|
32
|
+
* CLAIM_EPOCH_MINUTES === FLUSH_AFTER_MINUTES is load-bearing. A bucket
|
|
33
|
+
* becomes due only when its oldest pending item is FLUSH_AFTER_MINUTES old,
|
|
34
|
+
* and a flush stamps every pending row for the bucket, so a legitimate
|
|
35
|
+
* consecutive flush of the same bucket is always at least FLUSH_AFTER_MINUTES
|
|
36
|
+
* after the previous one and therefore always lands in a LATER epoch. The
|
|
37
|
+
* unique index on the batch table never blocks a legitimate flush, and it
|
|
38
|
+
* hard-caps a bucket at 60 / CLAIM_EPOCH_MINUTES flushes per hour. Pull the
|
|
39
|
+
* two numbers apart and one of those two guarantees breaks.
|
|
40
|
+
*/
|
|
41
|
+
export const FLUSH_AFTER_MINUTES = 5;
|
|
42
|
+
export const CLAIM_EPOCH_MINUTES = 5;
|
|
43
|
+
export const MAX_ITEMS_PER_ROLLUP = 500; // claimed + stamped per flush
|
|
44
|
+
export const MAX_ROWS_IN_ROLLUP = 100; // folded rows rendered
|
|
45
|
+
export const MAX_ITEMS_SCANNED_PER_TICK = 5000;
|
|
46
|
+
export const MAX_BUCKETS_PER_TICK = 50;
|
|
47
|
+
/*
|
|
48
|
+
* How many pages of MAX_ITEMS_SCANNED_PER_TICK the sweep will read looking for
|
|
49
|
+
* distinct recipients before giving up for this tick.
|
|
50
|
+
*
|
|
51
|
+
* One page is not enough. The scan is ordered oldest-first, so a single
|
|
52
|
+
* recipient with more pending items than one page can fill it entirely, and
|
|
53
|
+
* every other tenant's due rollup would then be invisible for as long as that
|
|
54
|
+
* saturation lasted. Paging past a hog costs a handful of indexed reads in a
|
|
55
|
+
* case that should never happen, and removes the possibility that one project
|
|
56
|
+
* stalls the whole fleet.
|
|
57
|
+
*/
|
|
58
|
+
export const MAX_DISCOVERY_PAGES_PER_TICK = 4;
|
|
59
|
+
/*
|
|
60
|
+
* A hard ceiling on one rollup send.
|
|
61
|
+
*
|
|
62
|
+
* MailService.sendMail is an HTTP POST to the notification service with no
|
|
63
|
+
* timeout of its own, so a hung connection would hang this await forever. That
|
|
64
|
+
* matters more here than anywhere else the product sends mail, because the
|
|
65
|
+
* sweep holds a Redis mutex whose lock is auto-refreshed while it is held: a
|
|
66
|
+
* single wedged send would therefore stop EVERY replica from flushing ANY
|
|
67
|
+
* recipient's rollup, indefinitely, while the queue behind it grew and its
|
|
68
|
+
* oldest rows aged out of retention unsent. One minute is far longer than a
|
|
69
|
+
* healthy send and far shorter than the sweep's budget.
|
|
70
|
+
*/
|
|
71
|
+
export const ROLLUP_SEND_TIMEOUT_MS = 60 * 1000;
|
|
72
|
+
export const ROLLUP_SWEEP_BUDGET_MS = 3 * 60 * 1000;
|
|
73
|
+
export const ROLLUP_JOB_TIMEOUT_MS = 4 * 60 * 1000; // below JobDictionary's 5-min default
|
|
74
|
+
export const ROLLUP_SWEEP_LOCK_TIMEOUT_MS = 5 * 60 * 1000; // outlives the job timeout
|
|
75
|
+
export const ROLLUP_ITEM_RETENTION_DAYS = 7;
|
|
76
|
+
export const ROLLUP_BATCH_RETENTION_DAYS = 30;
|
|
77
|
+
export const ROLLUP_SUBJECT_MAX_LENGTH = 500; // ColumnLength.LongText
|
|
78
|
+
export const ROLLUP_SUBJECT_LEAD_TITLE_MAX = 80;
|
|
79
|
+
export const ROLLUP_PROJECT_NAME_MAX = 60;
|
|
80
|
+
/*
|
|
81
|
+
* How many category counts the SUBJECT line spells out before it gives up and
|
|
82
|
+
* says "+N more".
|
|
83
|
+
*
|
|
84
|
+
* A subject is read in a list, at a glance, and most clients show somewhere
|
|
85
|
+
* around 60-90 characters of it. "12 notifications" alone says nothing about
|
|
86
|
+
* whether this is a probe flapping or production burning, and all eleven
|
|
87
|
+
* categories would be truncated by the client at a point this code does not
|
|
88
|
+
* control. Three is what fits after the project name and the count.
|
|
89
|
+
*/
|
|
90
|
+
export const ROLLUP_SUBJECT_MAX_CATEGORIES = 3;
|
|
91
|
+
//# sourceMappingURL=EmailRollupConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailRollupConstants.js","sourceRoot":"","sources":["../../../../../Server/Utils/EmailRollup/EmailRollupConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAW,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAW,cAAc,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAW,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAW,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAW,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAW,GAAG,CAAC,CAAC,8BAA8B;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAW,GAAG,CAAC,CAAC,uBAAuB;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAW,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAW,EAAE,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAW,CAAC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAW,EAAE,GAAG,IAAI,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sCAAsC;AAClG,MAAM,CAAC,MAAM,4BAA4B,GAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,2BAA2B;AAC9F,MAAM,CAAC,MAAM,0BAA0B,GAAW,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,2BAA2B,GAAW,EAAE,CAAC;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAW,GAAG,CAAC,CAAC,wBAAwB;AAC9E,MAAM,CAAC,MAAM,6BAA6B,GAAW,EAAE,CAAC;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAW,EAAE,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAW,CAAC,CAAC"}
|