@oneuptime/common 12.0.4 → 12.0.5
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/DatabaseModels/AIRun.ts +38 -1
- package/Models/DatabaseModels/AlertFeed.ts +30 -0
- package/Models/DatabaseModels/Dashboard.ts +28 -0
- package/Models/DatabaseModels/Incident.ts +2 -0
- package/Models/DatabaseModels/IncidentEpisode.ts +1 -0
- package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +1 -0
- package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +1 -0
- package/Models/DatabaseModels/IncidentFeed.ts +30 -0
- package/Models/DatabaseModels/IncidentPublicNote.ts +1 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
- package/Models/DatabaseModels/LogSavedView.ts +33 -0
- package/Models/DatabaseModels/Project.ts +231 -9
- package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -0
- package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +1 -0
- package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +4 -4
- package/Models/DatabaseModels/StatusPage.ts +28 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +1 -0
- package/Server/API/AIAgentDataAPI.ts +44 -55
- package/Server/API/AIInvestigationAPI.ts +175 -17
- package/Server/API/DashboardAPI.ts +10 -10
- package/Server/API/StatusPageAPI.ts +38 -19
- package/Server/EnvironmentConfig.ts +16 -0
- package/Server/Infrastructure/ClickhouseConfig.ts +15 -1
- package/Server/Infrastructure/ClickhouseDatabase.ts +1 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.ts +27 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.ts +89 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.ts +27 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.ts +40 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.ts +26 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Services/AIRunService.ts +78 -10
- package/Server/Services/AIService.ts +94 -22
- package/Server/Services/AlertFeedService.ts +5 -0
- package/Server/Services/AnalyticsDatabaseService.ts +29 -0
- package/Server/Services/DatabaseService.ts +43 -2
- package/Server/Services/IncidentFeedService.ts +5 -0
- package/Server/Services/LlmLogService.ts +46 -2
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +6 -0
- package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +4 -0
- package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +8 -5
- package/Server/Utils/AI/CodeFix/FixRunBudget.ts +90 -16
- package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +2 -0
- package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +2 -0
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +223 -22
- package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +25 -24
- package/Server/Utils/AI/SRE/ConfidenceSignal.ts +182 -71
- package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +252 -43
- package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +25 -24
- package/Server/Utils/AI/SRE/InstrumentationTaskTrigger.ts +47 -13
- package/Server/Utils/AI/SRE/InvestigationGrader.ts +9 -5
- package/Server/Utils/AI/SRE/InvestigationQueue.ts +141 -24
- package/Server/Utils/AI/SRE/InvestigationSubjectLock.ts +66 -0
- package/Server/Utils/AI/SRE/PostedRootCause.ts +94 -3
- package/Server/Utils/AI/SRE/README.md +1 -1
- package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +132 -10
- package/Server/Utils/AnalyticsDatabase/ClusterConfig.ts +24 -0
- package/Server/Utils/Monitor/Criteria/APIRequestCriteria.ts +29 -0
- package/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.ts +56 -0
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +46 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -0
- package/Server/Utils/PasswordHash.ts +28 -4
- package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +251 -0
- package/Tests/App/Dashboard/EventStatusPanel.test.tsx +747 -0
- package/Tests/App/Dashboard/InvestigationFeedRefresh.test.tsx +480 -0
- package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1184 -0
- package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +500 -0
- package/Tests/App/Dashboard/PortMonitorCriteriaFilter.test.ts +93 -0
- package/Tests/App/StatusPage/PublicStatusPageAPIErrorHandling.test.ts +117 -0
- package/Tests/App/StatusPage/StatusPageModelAPIPolymorphism.test.ts +223 -0
- package/Tests/Models/DatabaseModels/PermissionCatalogueCoverage.test.ts +243 -0
- package/Tests/Server/API/AIAgentDataFixFromIncidentContext.test.ts +266 -0
- package/Tests/Server/API/AIInvestigationAPI.test.ts +594 -0
- package/Tests/Server/API/AIInvestigationCreateFixTask.test.ts +80 -0
- package/Tests/Server/API/DashboardMasterPasswordAPI.test.ts +172 -1
- package/Tests/Server/API/StatusPageMasterPasswordAPI.test.ts +335 -0
- package/Tests/Server/Services/AIRunCodeFixClaim.test.ts +59 -5
- package/Tests/Server/Services/AIRunHumanVerdict.test.ts +127 -58
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +396 -20
- package/Tests/Server/Services/AddMasterPasswordSaltMigration.test.ts +283 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +25 -1
- package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +45 -35
- package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +54 -0
- package/Tests/Server/Services/FeedAIRunAssociation.test.ts +125 -0
- package/Tests/Server/Services/FixFromIncidentTaskTrigger.test.ts +418 -57
- package/Tests/Server/Services/InstrumentationTaskTrigger.test.ts +173 -14
- package/Tests/Server/Services/MasterPasswordScrypt.test.ts +567 -0
- package/Tests/Server/Services/SeparateIncidentAlertAiSettingsMigration.test.ts +194 -0
- package/Tests/Server/Utils/AI/AIAlertGating.test.ts +37 -4
- package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +330 -29
- package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +25 -0
- package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +293 -5
- package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +59 -1
- package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +342 -19
- package/Tests/Server/Utils/AI/FixRunBudget.test.ts +214 -30
- package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +2 -0
- package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +65 -17
- package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +3 -0
- package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +313 -20
- package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
- package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +4 -0
- package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +2 -0
- package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +44 -0
- package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +30 -0
- package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaPortTimings.test.ts +212 -0
- package/Tests/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.test.ts +401 -0
- package/Tests/Server/Utils/Monitor/MonitorMetricUtilPortTimings.test.ts +243 -0
- package/Tests/Server/Utils/PasswordHash.test.ts +30 -0
- package/Tests/Types/Dashboard/DashboardTemplates.test.ts +111 -0
- package/Tests/Types/Monitor/CephMetricCatalog.test.ts +104 -0
- package/Tests/Types/Monitor/CriteriaFilter.test.ts +4 -0
- package/Tests/Types/Monitor/DockerMetricCatalog.test.ts +109 -0
- package/Tests/Types/Monitor/DockerSwarmMetricCatalog.test.ts +118 -0
- package/Tests/Types/Monitor/HostMetricCatalog.test.ts +104 -0
- package/Tests/Types/Monitor/IotMetricCatalog.test.ts +104 -0
- package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +118 -0
- package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +42 -0
- package/Tests/Types/Monitor/MonitorStep.test.ts +38 -0
- package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +75 -0
- package/Tests/Types/Monitor/PodmanMetricCatalog.test.ts +109 -0
- package/Tests/Types/Monitor/ProxmoxMetricCatalog.test.ts +107 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.test.ts +151 -0
- package/Tests/Types/Permission.test.ts +137 -0
- package/Tests/Types/Rum/SessionReplayMaskingMode.test.ts +101 -0
- package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +5 -5
- package/Tests/UI/Components/CardModelDetailEdit.test.tsx +3 -5
- package/Tests/UI/Components/ErrorBoundary.test.tsx +158 -0
- package/Tests/UI/Components/FeedItemSafeMode.test.tsx +74 -0
- package/Tests/UI/Components/MoreMenu.test.tsx +756 -0
- package/Tests/UI/Components/StatusPage/ResourceGroupSection.test.tsx +62 -0
- package/Tests/UI/Monitor/PortMonitorView.test.tsx +237 -0
- package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +91 -0
- package/Tests/UI/Utils/DownloadFile.test.ts +103 -0
- package/Tests/UI/Utils/ErrorSupportBundle.test.ts +582 -0
- package/Tests/UI/Utils/Project.test.ts +31 -0
- package/Tests/UI/Utils/StatusPageModelAPIInjection.test.ts +245 -0
- package/Tests/UI/Utils/UseDashboardGridDnd.test.tsx +820 -0
- package/Tests/Utils/Dashboard/DashboardViewConfig.test.ts +329 -0
- package/Tests/Utils/Dashboard/GridLayout.test.ts +951 -0
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +117 -0
- package/Tests/Utils/RecordingRuleExpression.test.ts +327 -0
- package/Tests/Utils/StatusPage/GroupNestingLayout.test.ts +186 -0
- package/Tests/Utils/StatusPage/GroupTree.test.ts +456 -0
- package/Tests/Utils/StatusPage/OverviewGroupHierarchyVisibility.test.ts +588 -0
- package/Tests/Utils/Telemetry/SavedViewTimeRange.test.ts +244 -0
- package/Tests/Utils/Telemetry/TelemetryQueryTimeRange.test.ts +825 -0
- package/Types/AI/AIRunCodeFixRecommendation.ts +17 -0
- package/Types/AI/CodeFixTaskContext.ts +63 -3
- package/Types/AI/CodeFixTaskType.ts +3 -3
- package/Types/HashedString.ts +4 -3
- package/Types/Monitor/CriteriaFilter.ts +4 -0
- package/Types/Monitor/DomainMonitor/DomainLookupMethod.ts +23 -0
- package/Types/Monitor/DomainMonitor/DomainMonitorResponse.ts +7 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +24 -7
- package/Types/Monitor/MonitorMetricType.ts +8 -0
- package/Types/Monitor/MonitorStep.ts +10 -1
- package/Types/Monitor/MonitorStepDomainMonitor.ts +21 -0
- package/Types/Monitor/PortMonitor/PortMonitorTimings.ts +10 -0
- package/Types/Permission.ts +23 -175
- package/Types/Probe/ProbeMonitorResponse.ts +6 -0
- package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +2 -3
- package/UI/Components/ErrorBoundary.tsx +138 -11
- package/UI/Components/Feed/FeedItem.tsx +9 -2
- package/UI/Components/ModelDetail/CardModelDetail.tsx +0 -12
- package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +12 -2
- package/UI/Components/MoreMenu/MoreMenu.tsx +285 -97
- package/UI/Components/MoreMenu/MoreMenuItem.tsx +8 -5
- package/UI/Utils/DownloadFile.ts +16 -8
- package/UI/Utils/ErrorSupportBundle.ts +805 -0
- package/UI/Utils/ModelAPI/ModelAPI.ts +19 -8
- package/UI/Utils/Project.ts +4 -0
- package/UI/Utils/StatusPage.ts +8 -2
- package/UI/Utils/UseDashboardGridDnd.ts +917 -0
- package/Utils/Dashboard/DashboardViewConfig.ts +80 -36
- package/Utils/Dashboard/GridLayout.ts +523 -0
- package/Utils/Metrics/RecordingRuleExpression.ts +19 -17
- package/Utils/Monitor/MonitorMetricType.ts +44 -2
- package/Utils/StatusPage/GroupNestingLayout.ts +69 -0
- package/Utils/StatusPage/GroupTree.ts +157 -66
- package/Utils/StatusPage/ResourceUptime.ts +37 -2
- package/Utils/Telemetry/SavedViewTimeRange.ts +114 -0
- package/Utils/Telemetry/TelemetryQueryTimeRange.ts +334 -0
- package/build/dist/Models/DatabaseModels/AIRun.js +39 -1
- package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertFeed.js +32 -0
- package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Dashboard.js +29 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +2 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentFeed.js +32 -0
- package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LogSavedView.js +33 -0
- package/build/dist/Models/DatabaseModels/LogSavedView.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +241 -11
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +4 -4
- package/build/dist/Models/DatabaseModels/StatusPage.js +29 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +28 -46
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/AIInvestigationAPI.js +111 -11
- package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +8 -5
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +29 -11
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +14 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -1
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseDatabase.js +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseDatabase.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js +36 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js +19 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js +19 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AIRunService.js +58 -12
- package/build/dist/Server/Services/AIRunService.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +74 -21
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/AlertFeedService.js +3 -0
- package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +29 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +21 -2
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentFeedService.js +3 -0
- package/build/dist/Server/Services/IncidentFeedService.js.map +1 -1
- package/build/dist/Server/Services/LlmLogService.js +22 -1
- package/build/dist/Server/Services/LlmLogService.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +3 -0
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +4 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +8 -5
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +63 -24
- package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +2 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +2 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +156 -28
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +21 -19
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +128 -49
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +170 -31
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +21 -19
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js +33 -9
- package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +9 -5
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +121 -41
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js +46 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +61 -14
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +79 -1
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js +21 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js +20 -3
- package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js +43 -0
- package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.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 +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/PasswordHash.js +25 -4
- package/build/dist/Server/Utils/PasswordHash.js.map +1 -1
- package/build/dist/Types/AI/AIRunCodeFixRecommendation.js +18 -0
- package/build/dist/Types/AI/AIRunCodeFixRecommendation.js.map +1 -0
- package/build/dist/Types/AI/CodeFixTaskContext.js +23 -3
- package/build/dist/Types/AI/CodeFixTaskContext.js.map +1 -1
- package/build/dist/Types/AI/CodeFixTaskType.js +3 -3
- package/build/dist/Types/HashedString.js +4 -3
- package/build/dist/Types/HashedString.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +4 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js +24 -0
- package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +24 -7
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +6 -1
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js +15 -0
- package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js +2 -0
- package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js.map +1 -0
- package/build/dist/Types/Permission.js +23 -155
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +2 -5
- package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
- package/build/dist/UI/Components/ErrorBoundary.js +67 -8
- package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js +2 -2
- package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +0 -12
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +12 -2
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js +193 -65
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
- package/build/dist/UI/Utils/DownloadFile.js +15 -8
- package/build/dist/UI/Utils/DownloadFile.js.map +1 -1
- package/build/dist/UI/Utils/ErrorSupportBundle.js +476 -0
- package/build/dist/UI/Utils/ErrorSupportBundle.js.map +1 -0
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -8
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/Project.js +3 -0
- package/build/dist/UI/Utils/Project.js.map +1 -1
- package/build/dist/UI/Utils/StatusPage.js +4 -4
- package/build/dist/UI/Utils/StatusPage.js.map +1 -1
- package/build/dist/UI/Utils/UseDashboardGridDnd.js +551 -0
- package/build/dist/UI/Utils/UseDashboardGridDnd.js.map +1 -0
- package/build/dist/Utils/Dashboard/DashboardViewConfig.js +42 -26
- package/build/dist/Utils/Dashboard/DashboardViewConfig.js.map +1 -1
- package/build/dist/Utils/Dashboard/GridLayout.js +338 -0
- package/build/dist/Utils/Dashboard/GridLayout.js.map +1 -0
- package/build/dist/Utils/Metrics/RecordingRuleExpression.js +19 -17
- package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js +38 -6
- package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Utils/StatusPage/GroupNestingLayout.js +46 -0
- package/build/dist/Utils/StatusPage/GroupNestingLayout.js.map +1 -1
- package/build/dist/Utils/StatusPage/GroupTree.js +79 -34
- package/build/dist/Utils/StatusPage/GroupTree.js.map +1 -1
- package/build/dist/Utils/StatusPage/ResourceUptime.js +22 -1
- package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
- package/build/dist/Utils/Telemetry/SavedViewTimeRange.js +79 -0
- package/build/dist/Utils/Telemetry/SavedViewTimeRange.js.map +1 -0
- package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js +236 -0
- package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js.map +1 -0
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
|
|
|
21
21
|
import EnableDocumentation from "../../Types/Database/EnableDocumentation";
|
|
22
22
|
import AIRunType from "../../Types/AI/AIRunType";
|
|
23
23
|
import AIRunStatus from "../../Types/AI/AIRunStatus";
|
|
24
|
+
import AIRunCodeFixRecommendation from "../../Types/AI/AIRunCodeFixRecommendation";
|
|
24
25
|
import AIRunHumanVerdict from "../../Types/AI/AIRunHumanVerdict";
|
|
25
26
|
import AIRunAutoGrade from "../../Types/AI/AIRunAutoGrade";
|
|
26
27
|
import CodeFixTaskType from "../../Types/AI/CodeFixTaskType";
|
|
@@ -243,6 +244,42 @@ export default class AIRun extends BaseModel {
|
|
|
243
244
|
})
|
|
244
245
|
public status?: AIRunStatus = undefined;
|
|
245
246
|
|
|
247
|
+
/*
|
|
248
|
+
* The server-authored decision that controls whether an incident/alert
|
|
249
|
+
* investigation may be turned into a FixFromIncident task. New subject
|
|
250
|
+
* investigations move to Pending in the atomic Completed transition; the
|
|
251
|
+
* investigation engine settles the value after its structured
|
|
252
|
+
* classification and analysis post. Other lifecycle paths and legacy rows
|
|
253
|
+
* default to NotRecommended so a missing decision never creates a PR.
|
|
254
|
+
*/
|
|
255
|
+
@ColumnAccessControl({
|
|
256
|
+
create: [],
|
|
257
|
+
read: [
|
|
258
|
+
Permission.ProjectOwner,
|
|
259
|
+
Permission.ProjectAdmin,
|
|
260
|
+
Permission.ProjectMember,
|
|
261
|
+
Permission.Viewer,
|
|
262
|
+
],
|
|
263
|
+
update: [],
|
|
264
|
+
})
|
|
265
|
+
@TableColumn({
|
|
266
|
+
required: true,
|
|
267
|
+
type: TableColumnType.ShortText,
|
|
268
|
+
title: "Code Fix Recommendation",
|
|
269
|
+
description:
|
|
270
|
+
"For incident/alert investigations: whether the structured investigation outcome recommends opening a code-fix pull request.",
|
|
271
|
+
defaultValue: AIRunCodeFixRecommendation.NotRecommended,
|
|
272
|
+
isDefaultValueColumn: true,
|
|
273
|
+
canReadOnRelationQuery: true,
|
|
274
|
+
})
|
|
275
|
+
@Column({
|
|
276
|
+
nullable: false,
|
|
277
|
+
type: ColumnType.ShortText,
|
|
278
|
+
length: ColumnLength.ShortText,
|
|
279
|
+
default: AIRunCodeFixRecommendation.NotRecommended,
|
|
280
|
+
})
|
|
281
|
+
public codeFixRecommendation?: AIRunCodeFixRecommendation = undefined;
|
|
282
|
+
|
|
246
283
|
@ColumnAccessControl({
|
|
247
284
|
create: [],
|
|
248
285
|
read: [
|
|
@@ -803,7 +840,7 @@ export default class AIRun extends BaseModel {
|
|
|
803
840
|
type: TableColumnType.JSON,
|
|
804
841
|
title: "Task Context",
|
|
805
842
|
description:
|
|
806
|
-
"Internal: trigger-time context for code-fix recipes
|
|
843
|
+
"Internal: immutable trigger-time context for code-fix recipes, including pinned investigation analyses and FixPerformance trace evidence.",
|
|
807
844
|
})
|
|
808
845
|
@Column({
|
|
809
846
|
nullable: true,
|
|
@@ -93,6 +93,7 @@ export enum AlertFeedEventType {
|
|
|
93
93
|
"Log of the entire alert state change. This is a log of all the alert state changes, public notes, more etc.",
|
|
94
94
|
})
|
|
95
95
|
@Index(["alertId", "postedAt"]) // Alert detail page: feed sorted by postedAt
|
|
96
|
+
@Index(["alertId", "aiRunId"]) // Exact AI investigation result lookup
|
|
96
97
|
export default class AlertFeed extends BaseModel {
|
|
97
98
|
@ColumnAccessControl({
|
|
98
99
|
create: [
|
|
@@ -251,6 +252,35 @@ export default class AlertFeed extends BaseModel {
|
|
|
251
252
|
})
|
|
252
253
|
public alertId?: ObjectID = undefined;
|
|
253
254
|
|
|
255
|
+
@ColumnAccessControl({
|
|
256
|
+
create: [],
|
|
257
|
+
read: [
|
|
258
|
+
Permission.ProjectOwner,
|
|
259
|
+
Permission.ProjectAdmin,
|
|
260
|
+
Permission.ProjectMember,
|
|
261
|
+
Permission.Viewer,
|
|
262
|
+
Permission.AlertAdmin,
|
|
263
|
+
Permission.AlertMember,
|
|
264
|
+
Permission.AlertViewer,
|
|
265
|
+
Permission.ReadAlertFeed,
|
|
266
|
+
],
|
|
267
|
+
update: [],
|
|
268
|
+
})
|
|
269
|
+
@TableColumn({
|
|
270
|
+
type: TableColumnType.ObjectID,
|
|
271
|
+
required: false,
|
|
272
|
+
canReadOnRelationQuery: true,
|
|
273
|
+
title: "AI Run ID",
|
|
274
|
+
description:
|
|
275
|
+
"AI investigation run that produced this feed item when the event is a root cause.",
|
|
276
|
+
})
|
|
277
|
+
@Column({
|
|
278
|
+
type: ColumnType.ObjectID,
|
|
279
|
+
nullable: true,
|
|
280
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
281
|
+
})
|
|
282
|
+
public aiRunId?: ObjectID = undefined;
|
|
283
|
+
|
|
254
284
|
@ColumnAccessControl({
|
|
255
285
|
create: [
|
|
256
286
|
Permission.ProjectOwner,
|
|
@@ -826,6 +826,7 @@ export default class Dashboard extends BaseModel {
|
|
|
826
826
|
description:
|
|
827
827
|
"Password required to unlock a public dashboard. This value is stored as a secure hash.",
|
|
828
828
|
hashed: true,
|
|
829
|
+
hashSaltColumn: "masterPasswordSalt",
|
|
829
830
|
type: TableColumnType.HashedString,
|
|
830
831
|
placeholder: "Enter a new master password",
|
|
831
832
|
})
|
|
@@ -837,6 +838,33 @@ export default class Dashboard extends BaseModel {
|
|
|
837
838
|
})
|
|
838
839
|
public masterPassword?: HashedString = undefined;
|
|
839
840
|
|
|
841
|
+
/*
|
|
842
|
+
* Per-dashboard salt mixed into `masterPassword`. Written by the database
|
|
843
|
+
* write path on every master-password write and never exposed to API
|
|
844
|
+
* callers. Nullable so existing unsalted hashes can be verified and
|
|
845
|
+
* upgraded after a successful unlock.
|
|
846
|
+
*/
|
|
847
|
+
@ColumnAccessControl({
|
|
848
|
+
create: [],
|
|
849
|
+
read: [],
|
|
850
|
+
update: [],
|
|
851
|
+
})
|
|
852
|
+
@TableColumn({
|
|
853
|
+
title: "Master Password Salt",
|
|
854
|
+
description:
|
|
855
|
+
"Per-dashboard random salt mixed into this dashboard's master password hash.",
|
|
856
|
+
computed: true,
|
|
857
|
+
type: TableColumnType.ShortText,
|
|
858
|
+
hideColumnInDocumentation: true,
|
|
859
|
+
})
|
|
860
|
+
@Column({
|
|
861
|
+
type: ColumnType.ShortText,
|
|
862
|
+
length: ColumnLength.ShortText,
|
|
863
|
+
unique: false,
|
|
864
|
+
nullable: true,
|
|
865
|
+
})
|
|
866
|
+
public masterPasswordSalt?: string = undefined;
|
|
867
|
+
|
|
840
868
|
@ColumnAccessControl({
|
|
841
869
|
create: [
|
|
842
870
|
Permission.ProjectOwner,
|
|
@@ -1715,6 +1715,7 @@ export default class Incident extends BaseModel {
|
|
|
1715
1715
|
],
|
|
1716
1716
|
})
|
|
1717
1717
|
@TableColumn({
|
|
1718
|
+
computed: true,
|
|
1718
1719
|
type: TableColumnType.VeryLongText,
|
|
1719
1720
|
title: "Notification Status Message",
|
|
1720
1721
|
description:
|
|
@@ -1802,6 +1803,7 @@ export default class Incident extends BaseModel {
|
|
|
1802
1803
|
],
|
|
1803
1804
|
})
|
|
1804
1805
|
@TableColumn({
|
|
1806
|
+
computed: true,
|
|
1805
1807
|
type: TableColumnType.VeryLongText,
|
|
1806
1808
|
title: "Notification Status Message on Postmortem Published",
|
|
1807
1809
|
description:
|
|
@@ -93,6 +93,7 @@ export enum IncidentFeedEventType {
|
|
|
93
93
|
"Log of the entire incident state change. This is a log of all the incident state changes, public notes, more etc.",
|
|
94
94
|
})
|
|
95
95
|
@Index(["incidentId", "postedAt"]) // Incident detail page: feed sorted by postedAt
|
|
96
|
+
@Index(["incidentId", "aiRunId"]) // Exact AI investigation result lookup
|
|
96
97
|
export default class IncidentFeed extends BaseModel {
|
|
97
98
|
@ColumnAccessControl({
|
|
98
99
|
create: [
|
|
@@ -253,6 +254,35 @@ export default class IncidentFeed extends BaseModel {
|
|
|
253
254
|
})
|
|
254
255
|
public incidentId?: ObjectID = undefined;
|
|
255
256
|
|
|
257
|
+
@ColumnAccessControl({
|
|
258
|
+
create: [],
|
|
259
|
+
read: [
|
|
260
|
+
Permission.ProjectOwner,
|
|
261
|
+
Permission.ProjectAdmin,
|
|
262
|
+
Permission.ProjectMember,
|
|
263
|
+
Permission.Viewer,
|
|
264
|
+
Permission.IncidentAdmin,
|
|
265
|
+
Permission.IncidentMember,
|
|
266
|
+
Permission.IncidentViewer,
|
|
267
|
+
Permission.ReadIncidentFeed,
|
|
268
|
+
],
|
|
269
|
+
update: [],
|
|
270
|
+
})
|
|
271
|
+
@TableColumn({
|
|
272
|
+
type: TableColumnType.ObjectID,
|
|
273
|
+
required: false,
|
|
274
|
+
canReadOnRelationQuery: true,
|
|
275
|
+
title: "AI Run ID",
|
|
276
|
+
description:
|
|
277
|
+
"AI investigation run that produced this feed item when the event is a root cause.",
|
|
278
|
+
})
|
|
279
|
+
@Column({
|
|
280
|
+
type: ColumnType.ObjectID,
|
|
281
|
+
nullable: true,
|
|
282
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
283
|
+
})
|
|
284
|
+
public aiRunId?: ObjectID = undefined;
|
|
285
|
+
|
|
256
286
|
@ColumnAccessControl({
|
|
257
287
|
create: [
|
|
258
288
|
Permission.ProjectOwner,
|
|
@@ -19,6 +19,7 @@ import TenantColumn from "../../Types/Database/TenantColumn";
|
|
|
19
19
|
import IconProp from "../../Types/Icon/IconProp";
|
|
20
20
|
import ObjectID from "../../Types/ObjectID";
|
|
21
21
|
import Permission from "../../Types/Permission";
|
|
22
|
+
import { TelemetrySavedViewTimeRange } from "../../Types/Telemetry/TelemetrySavedViewState";
|
|
22
23
|
import { PlanType } from "../../Types/Billing/SubscriptionPlan";
|
|
23
24
|
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
|
|
24
25
|
|
|
@@ -430,6 +431,38 @@ export default class LogSavedView extends BaseModel {
|
|
|
430
431
|
})
|
|
431
432
|
public pageSize?: number = undefined;
|
|
432
433
|
|
|
434
|
+
@ColumnAccessControl({
|
|
435
|
+
create: [
|
|
436
|
+
Permission.ProjectOwner,
|
|
437
|
+
Permission.ProjectAdmin,
|
|
438
|
+
Permission.ProjectMember,
|
|
439
|
+
],
|
|
440
|
+
read: [
|
|
441
|
+
Permission.ProjectOwner,
|
|
442
|
+
Permission.ProjectAdmin,
|
|
443
|
+
Permission.ProjectMember,
|
|
444
|
+
Permission.Viewer,
|
|
445
|
+
],
|
|
446
|
+
update: [
|
|
447
|
+
Permission.ProjectOwner,
|
|
448
|
+
Permission.ProjectAdmin,
|
|
449
|
+
Permission.ProjectMember,
|
|
450
|
+
],
|
|
451
|
+
})
|
|
452
|
+
@TableColumn({
|
|
453
|
+
title: "Time Range",
|
|
454
|
+
required: false,
|
|
455
|
+
type: TableColumnType.JSON,
|
|
456
|
+
canReadOnRelationQuery: true,
|
|
457
|
+
description:
|
|
458
|
+
"Time selection for this saved view — the rolling range token (e.g. Past 1 Hour), or an absolute window when the range is Custom.",
|
|
459
|
+
})
|
|
460
|
+
@Column({
|
|
461
|
+
type: ColumnType.JSON,
|
|
462
|
+
nullable: true,
|
|
463
|
+
})
|
|
464
|
+
public timeRange?: TelemetrySavedViewTimeRange = undefined;
|
|
465
|
+
|
|
433
466
|
@ColumnAccessControl({
|
|
434
467
|
create: [
|
|
435
468
|
Permission.ProjectOwner,
|
|
@@ -1592,9 +1592,9 @@ export default class Project extends TenantModel {
|
|
|
1592
1592
|
required: true,
|
|
1593
1593
|
isDefaultValueColumn: true,
|
|
1594
1594
|
type: TableColumnType.Boolean,
|
|
1595
|
-
title: "Enable Instrumentation Fix Tasks",
|
|
1595
|
+
title: "Enable Incident Instrumentation Fix Tasks",
|
|
1596
1596
|
description:
|
|
1597
|
-
"When enabled, an AI investigation that ends inconclusive (telemetry was insufficient to determine a root cause) automatically queues an AI agent task that opens a pull request adding the missing instrumentation to the implicated code paths. Requires a repository connected through the GitHub App. Pull requests are always human-reviewed — nothing merges automatically.",
|
|
1597
|
+
"When enabled, an incident AI investigation that ends inconclusive (telemetry was insufficient to determine a root cause) automatically queues an AI agent task that opens a pull request adding the missing instrumentation to the implicated code paths. Requires a repository connected through the GitHub App. Pull requests are always human-reviewed — nothing merges automatically.",
|
|
1598
1598
|
defaultValue: false,
|
|
1599
1599
|
example: true,
|
|
1600
1600
|
})
|
|
@@ -1603,7 +1603,7 @@ export default class Project extends TenantModel {
|
|
|
1603
1603
|
default: false,
|
|
1604
1604
|
type: ColumnType.Boolean,
|
|
1605
1605
|
})
|
|
1606
|
-
public
|
|
1606
|
+
public enableIncidentInstrumentationFixTasks?: boolean = undefined;
|
|
1607
1607
|
|
|
1608
1608
|
@ColumnAccessControl({
|
|
1609
1609
|
create: [],
|
|
@@ -1622,9 +1622,9 @@ export default class Project extends TenantModel {
|
|
|
1622
1622
|
required: true,
|
|
1623
1623
|
isDefaultValueColumn: true,
|
|
1624
1624
|
type: TableColumnType.Boolean,
|
|
1625
|
-
title: "Enable
|
|
1625
|
+
title: "Enable Alert Instrumentation Fix Tasks",
|
|
1626
1626
|
description:
|
|
1627
|
-
"When enabled, an AI investigation that ends
|
|
1627
|
+
"When enabled, an alert AI investigation that ends inconclusive (telemetry was insufficient to determine a root cause) automatically queues an AI agent task that opens a pull request adding the missing instrumentation to the implicated code paths. Requires a repository connected through the GitHub App. Pull requests are always human-reviewed — nothing merges automatically.",
|
|
1628
1628
|
defaultValue: false,
|
|
1629
1629
|
example: true,
|
|
1630
1630
|
})
|
|
@@ -1633,7 +1633,67 @@ export default class Project extends TenantModel {
|
|
|
1633
1633
|
default: false,
|
|
1634
1634
|
type: ColumnType.Boolean,
|
|
1635
1635
|
})
|
|
1636
|
-
public
|
|
1636
|
+
public enableAlertInstrumentationFixTasks?: boolean = undefined;
|
|
1637
|
+
|
|
1638
|
+
@ColumnAccessControl({
|
|
1639
|
+
create: [],
|
|
1640
|
+
read: [
|
|
1641
|
+
Permission.ProjectOwner,
|
|
1642
|
+
Permission.ProjectAdmin,
|
|
1643
|
+
Permission.ProjectMember,
|
|
1644
|
+
Permission.Viewer,
|
|
1645
|
+
Permission.ReadProject,
|
|
1646
|
+
Permission.UnAuthorizedSsoUser,
|
|
1647
|
+
Permission.ProjectUser,
|
|
1648
|
+
],
|
|
1649
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1650
|
+
})
|
|
1651
|
+
@TableColumn({
|
|
1652
|
+
required: true,
|
|
1653
|
+
isDefaultValueColumn: true,
|
|
1654
|
+
type: TableColumnType.Boolean,
|
|
1655
|
+
title: "Enable Automatic Incident Code Fixes",
|
|
1656
|
+
description:
|
|
1657
|
+
"When enabled, an incident AI investigation that ends with a confident, evidenced root cause analysis and recommends a repository code change automatically queues an AI agent task that opens a draft fix pull request from that analysis — the automatic form of the 'Open Fix PR from this analysis' button. Operational, infrastructure, external, user-error and inconclusive findings do not offer or open code-fix pull requests. Requires a repository connected through the GitHub App and a Runner with the code-fix capability. Pull requests are always human-reviewed — nothing merges automatically.",
|
|
1658
|
+
defaultValue: false,
|
|
1659
|
+
example: true,
|
|
1660
|
+
})
|
|
1661
|
+
@Column({
|
|
1662
|
+
nullable: false,
|
|
1663
|
+
default: false,
|
|
1664
|
+
type: ColumnType.Boolean,
|
|
1665
|
+
})
|
|
1666
|
+
public enableAutomaticIncidentCodeFixes?: boolean = undefined;
|
|
1667
|
+
|
|
1668
|
+
@ColumnAccessControl({
|
|
1669
|
+
create: [],
|
|
1670
|
+
read: [
|
|
1671
|
+
Permission.ProjectOwner,
|
|
1672
|
+
Permission.ProjectAdmin,
|
|
1673
|
+
Permission.ProjectMember,
|
|
1674
|
+
Permission.Viewer,
|
|
1675
|
+
Permission.ReadProject,
|
|
1676
|
+
Permission.UnAuthorizedSsoUser,
|
|
1677
|
+
Permission.ProjectUser,
|
|
1678
|
+
],
|
|
1679
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1680
|
+
})
|
|
1681
|
+
@TableColumn({
|
|
1682
|
+
required: true,
|
|
1683
|
+
isDefaultValueColumn: true,
|
|
1684
|
+
type: TableColumnType.Boolean,
|
|
1685
|
+
title: "Enable Automatic Alert Code Fixes",
|
|
1686
|
+
description:
|
|
1687
|
+
"When enabled, an alert AI investigation that ends with a confident, evidenced root cause analysis and recommends a repository code change automatically queues an AI agent task that opens a draft fix pull request from that analysis — the automatic form of the 'Open Fix PR from this analysis' button. Operational, infrastructure, external, user-error and inconclusive findings do not offer or open code-fix pull requests. Requires a repository connected through the GitHub App and a Runner with the code-fix capability. Pull requests are always human-reviewed — nothing merges automatically.",
|
|
1688
|
+
defaultValue: false,
|
|
1689
|
+
example: true,
|
|
1690
|
+
})
|
|
1691
|
+
@Column({
|
|
1692
|
+
nullable: false,
|
|
1693
|
+
default: false,
|
|
1694
|
+
type: ColumnType.Boolean,
|
|
1695
|
+
})
|
|
1696
|
+
public enableAutomaticAlertCodeFixes?: boolean = undefined;
|
|
1637
1697
|
|
|
1638
1698
|
@ColumnAccessControl({
|
|
1639
1699
|
create: [],
|
|
@@ -1806,7 +1866,7 @@ export default class Project extends TenantModel {
|
|
|
1806
1866
|
type: TableColumnType.Number,
|
|
1807
1867
|
title: "Daily Autonomous AI Token Limit",
|
|
1808
1868
|
description:
|
|
1809
|
-
"
|
|
1869
|
+
"Fallback maximum tokens per UTC day for autonomous AI work that is not associated with an incident or alert. When the limit is reached, new autonomous work is skipped until the next day — interactive AI chat is never blocked. Unset means no limit.",
|
|
1810
1870
|
example: 500000,
|
|
1811
1871
|
})
|
|
1812
1872
|
@Column({
|
|
@@ -1815,6 +1875,60 @@ export default class Project extends TenantModel {
|
|
|
1815
1875
|
})
|
|
1816
1876
|
public aiDailyAutonomousTokenLimit?: number = undefined;
|
|
1817
1877
|
|
|
1878
|
+
@ColumnAccessControl({
|
|
1879
|
+
create: [],
|
|
1880
|
+
read: [
|
|
1881
|
+
Permission.ProjectOwner,
|
|
1882
|
+
Permission.ProjectAdmin,
|
|
1883
|
+
Permission.ProjectMember,
|
|
1884
|
+
Permission.Viewer,
|
|
1885
|
+
Permission.ReadProject,
|
|
1886
|
+
Permission.UnAuthorizedSsoUser,
|
|
1887
|
+
Permission.ProjectUser,
|
|
1888
|
+
],
|
|
1889
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1890
|
+
})
|
|
1891
|
+
@TableColumn({
|
|
1892
|
+
required: false,
|
|
1893
|
+
type: TableColumnType.Number,
|
|
1894
|
+
title: "Daily Incident AI Token Limit",
|
|
1895
|
+
description:
|
|
1896
|
+
"Maximum tokens per UTC day that autonomous incident-linked AI work may consume for this project, including investigations, remediation, and follow-up fix tasks. When the limit is reached, new incident-linked AI work is skipped until the next day — interactive AI chat is never blocked. Unset means no limit.",
|
|
1897
|
+
example: 500000,
|
|
1898
|
+
})
|
|
1899
|
+
@Column({
|
|
1900
|
+
nullable: true,
|
|
1901
|
+
type: ColumnType.Number,
|
|
1902
|
+
})
|
|
1903
|
+
public incidentAiDailyAutonomousTokenLimit?: number = undefined;
|
|
1904
|
+
|
|
1905
|
+
@ColumnAccessControl({
|
|
1906
|
+
create: [],
|
|
1907
|
+
read: [
|
|
1908
|
+
Permission.ProjectOwner,
|
|
1909
|
+
Permission.ProjectAdmin,
|
|
1910
|
+
Permission.ProjectMember,
|
|
1911
|
+
Permission.Viewer,
|
|
1912
|
+
Permission.ReadProject,
|
|
1913
|
+
Permission.UnAuthorizedSsoUser,
|
|
1914
|
+
Permission.ProjectUser,
|
|
1915
|
+
],
|
|
1916
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1917
|
+
})
|
|
1918
|
+
@TableColumn({
|
|
1919
|
+
required: false,
|
|
1920
|
+
type: TableColumnType.Number,
|
|
1921
|
+
title: "Daily Alert AI Token Limit",
|
|
1922
|
+
description:
|
|
1923
|
+
"Maximum tokens per UTC day that autonomous alert-linked AI work may consume for this project, including investigations, remediation, and follow-up fix tasks. When the limit is reached, new alert-linked AI work is skipped until the next day — interactive AI chat is never blocked. Unset means no limit.",
|
|
1924
|
+
example: 500000,
|
|
1925
|
+
})
|
|
1926
|
+
@Column({
|
|
1927
|
+
nullable: true,
|
|
1928
|
+
type: ColumnType.Number,
|
|
1929
|
+
})
|
|
1930
|
+
public alertAiDailyAutonomousTokenLimit?: number = undefined;
|
|
1931
|
+
|
|
1818
1932
|
@ColumnAccessControl({
|
|
1819
1933
|
create: [],
|
|
1820
1934
|
read: [
|
|
@@ -1833,7 +1947,7 @@ export default class Project extends TenantModel {
|
|
|
1833
1947
|
type: TableColumnType.Number,
|
|
1834
1948
|
title: "Daily AI Fix Task Limit",
|
|
1835
1949
|
description:
|
|
1836
|
-
"
|
|
1950
|
+
"Fallback maximum AI fix tasks (agent runs that open pull requests) that may be created per UTC day for work not associated with an incident or alert, across every fix recipe and trigger. Unset means the default of 25 per day; 0 pauses these AI fix tasks entirely.",
|
|
1837
1951
|
example: 25,
|
|
1838
1952
|
})
|
|
1839
1953
|
@Column({
|
|
@@ -1842,6 +1956,60 @@ export default class Project extends TenantModel {
|
|
|
1842
1956
|
})
|
|
1843
1957
|
public aiDailyFixTaskLimit?: number = undefined;
|
|
1844
1958
|
|
|
1959
|
+
@ColumnAccessControl({
|
|
1960
|
+
create: [],
|
|
1961
|
+
read: [
|
|
1962
|
+
Permission.ProjectOwner,
|
|
1963
|
+
Permission.ProjectAdmin,
|
|
1964
|
+
Permission.ProjectMember,
|
|
1965
|
+
Permission.Viewer,
|
|
1966
|
+
Permission.ReadProject,
|
|
1967
|
+
Permission.UnAuthorizedSsoUser,
|
|
1968
|
+
Permission.ProjectUser,
|
|
1969
|
+
],
|
|
1970
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1971
|
+
})
|
|
1972
|
+
@TableColumn({
|
|
1973
|
+
required: false,
|
|
1974
|
+
type: TableColumnType.Number,
|
|
1975
|
+
title: "Daily Incident AI Fix Task Limit",
|
|
1976
|
+
description:
|
|
1977
|
+
"Maximum AI fix tasks derived from incidents that may be created per UTC day for this project. Unset means the default of 25 per day; 0 pauses incident AI fix tasks entirely.",
|
|
1978
|
+
example: 25,
|
|
1979
|
+
})
|
|
1980
|
+
@Column({
|
|
1981
|
+
nullable: true,
|
|
1982
|
+
type: ColumnType.Number,
|
|
1983
|
+
})
|
|
1984
|
+
public incidentAiDailyFixTaskLimit?: number = undefined;
|
|
1985
|
+
|
|
1986
|
+
@ColumnAccessControl({
|
|
1987
|
+
create: [],
|
|
1988
|
+
read: [
|
|
1989
|
+
Permission.ProjectOwner,
|
|
1990
|
+
Permission.ProjectAdmin,
|
|
1991
|
+
Permission.ProjectMember,
|
|
1992
|
+
Permission.Viewer,
|
|
1993
|
+
Permission.ReadProject,
|
|
1994
|
+
Permission.UnAuthorizedSsoUser,
|
|
1995
|
+
Permission.ProjectUser,
|
|
1996
|
+
],
|
|
1997
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
1998
|
+
})
|
|
1999
|
+
@TableColumn({
|
|
2000
|
+
required: false,
|
|
2001
|
+
type: TableColumnType.Number,
|
|
2002
|
+
title: "Daily Alert AI Fix Task Limit",
|
|
2003
|
+
description:
|
|
2004
|
+
"Maximum AI fix tasks derived from alerts that may be created per UTC day for this project. Unset means the default of 25 per day; 0 pauses alert AI fix tasks entirely.",
|
|
2005
|
+
example: 25,
|
|
2006
|
+
})
|
|
2007
|
+
@Column({
|
|
2008
|
+
nullable: true,
|
|
2009
|
+
type: ColumnType.Number,
|
|
2010
|
+
})
|
|
2011
|
+
public alertAiDailyFixTaskLimit?: number = undefined;
|
|
2012
|
+
|
|
1845
2013
|
@ColumnAccessControl({
|
|
1846
2014
|
create: [],
|
|
1847
2015
|
read: [
|
|
@@ -1976,7 +2144,7 @@ export default class Project extends TenantModel {
|
|
|
1976
2144
|
type: TableColumnType.Number,
|
|
1977
2145
|
title: "Max Concurrent Investigations",
|
|
1978
2146
|
description:
|
|
1979
|
-
"
|
|
2147
|
+
"Fallback maximum number of non-incident and non-alert AI investigations that may run at the same time for this project. Unset means the default of 3. Minimum 1 — pause autonomous work with its opt-in toggle or a daily token limit of 0 instead.",
|
|
1980
2148
|
example: 3,
|
|
1981
2149
|
})
|
|
1982
2150
|
@Column({
|
|
@@ -1985,6 +2153,60 @@ export default class Project extends TenantModel {
|
|
|
1985
2153
|
})
|
|
1986
2154
|
public aiMaxConcurrentInvestigations?: number = undefined;
|
|
1987
2155
|
|
|
2156
|
+
@ColumnAccessControl({
|
|
2157
|
+
create: [],
|
|
2158
|
+
read: [
|
|
2159
|
+
Permission.ProjectOwner,
|
|
2160
|
+
Permission.ProjectAdmin,
|
|
2161
|
+
Permission.ProjectMember,
|
|
2162
|
+
Permission.Viewer,
|
|
2163
|
+
Permission.ReadProject,
|
|
2164
|
+
Permission.UnAuthorizedSsoUser,
|
|
2165
|
+
Permission.ProjectUser,
|
|
2166
|
+
],
|
|
2167
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
2168
|
+
})
|
|
2169
|
+
@TableColumn({
|
|
2170
|
+
required: false,
|
|
2171
|
+
type: TableColumnType.Number,
|
|
2172
|
+
title: "Max Concurrent Incident Investigations",
|
|
2173
|
+
description:
|
|
2174
|
+
"How many incident AI investigations may run at the same time for this project. Unset means the default of 3. Minimum 1 — pause incident investigations with the opt-in toggle or a daily token limit of 0 instead.",
|
|
2175
|
+
example: 3,
|
|
2176
|
+
})
|
|
2177
|
+
@Column({
|
|
2178
|
+
nullable: true,
|
|
2179
|
+
type: ColumnType.Number,
|
|
2180
|
+
})
|
|
2181
|
+
public incidentAiMaxConcurrentInvestigations?: number = undefined;
|
|
2182
|
+
|
|
2183
|
+
@ColumnAccessControl({
|
|
2184
|
+
create: [],
|
|
2185
|
+
read: [
|
|
2186
|
+
Permission.ProjectOwner,
|
|
2187
|
+
Permission.ProjectAdmin,
|
|
2188
|
+
Permission.ProjectMember,
|
|
2189
|
+
Permission.Viewer,
|
|
2190
|
+
Permission.ReadProject,
|
|
2191
|
+
Permission.UnAuthorizedSsoUser,
|
|
2192
|
+
Permission.ProjectUser,
|
|
2193
|
+
],
|
|
2194
|
+
update: [Permission.ProjectOwner, Permission.ProjectAdmin],
|
|
2195
|
+
})
|
|
2196
|
+
@TableColumn({
|
|
2197
|
+
required: false,
|
|
2198
|
+
type: TableColumnType.Number,
|
|
2199
|
+
title: "Max Concurrent Alert Investigations",
|
|
2200
|
+
description:
|
|
2201
|
+
"How many alert AI investigations may run at the same time for this project. Unset means the default of 3. Minimum 1 — pause alert investigations with the opt-in toggle or a daily token limit of 0 instead.",
|
|
2202
|
+
example: 3,
|
|
2203
|
+
})
|
|
2204
|
+
@Column({
|
|
2205
|
+
nullable: true,
|
|
2206
|
+
type: ColumnType.Number,
|
|
2207
|
+
})
|
|
2208
|
+
public alertAiMaxConcurrentInvestigations?: number = undefined;
|
|
2209
|
+
|
|
1988
2210
|
@ColumnAccessControl({
|
|
1989
2211
|
create: [],
|
|
1990
2212
|
read: [
|
|
@@ -239,7 +239,7 @@ export default class ScheduledMaintenanceTemplateOwnerUser extends BaseModel {
|
|
|
239
239
|
Permission.ProjectMember,
|
|
240
240
|
Permission.ScheduledMaintenanceAdmin,
|
|
241
241
|
Permission.ScheduledMaintenanceMember,
|
|
242
|
-
Permission.
|
|
242
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
243
243
|
],
|
|
244
244
|
read: [
|
|
245
245
|
Permission.ProjectOwner,
|
|
@@ -249,7 +249,7 @@ export default class ScheduledMaintenanceTemplateOwnerUser extends BaseModel {
|
|
|
249
249
|
Permission.ScheduledMaintenanceAdmin,
|
|
250
250
|
Permission.ScheduledMaintenanceMember,
|
|
251
251
|
Permission.ScheduledMaintenanceViewer,
|
|
252
|
-
Permission.
|
|
252
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
253
253
|
],
|
|
254
254
|
update: [],
|
|
255
255
|
})
|
|
@@ -283,7 +283,7 @@ export default class ScheduledMaintenanceTemplateOwnerUser extends BaseModel {
|
|
|
283
283
|
Permission.ProjectMember,
|
|
284
284
|
Permission.ScheduledMaintenanceAdmin,
|
|
285
285
|
Permission.ScheduledMaintenanceMember,
|
|
286
|
-
Permission.
|
|
286
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
287
287
|
],
|
|
288
288
|
read: [
|
|
289
289
|
Permission.ProjectOwner,
|
|
@@ -293,7 +293,7 @@ export default class ScheduledMaintenanceTemplateOwnerUser extends BaseModel {
|
|
|
293
293
|
Permission.ScheduledMaintenanceAdmin,
|
|
294
294
|
Permission.ScheduledMaintenanceMember,
|
|
295
295
|
Permission.ScheduledMaintenanceViewer,
|
|
296
|
-
Permission.
|
|
296
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
297
297
|
],
|
|
298
298
|
update: [],
|
|
299
299
|
})
|