@oneuptime/common 12.0.3 → 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/CephCluster.ts +14 -0
- package/Models/DatabaseModels/CodeRepository.ts +14 -6
- package/Models/DatabaseModels/Dashboard.ts +28 -0
- package/Models/DatabaseModels/DockerHost.ts +14 -0
- package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
- package/Models/DatabaseModels/GlobalSsoProject.ts +18 -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/IoTFleet.ts +14 -0
- package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
- package/Models/DatabaseModels/LogSavedView.ts +33 -0
- package/Models/DatabaseModels/NetworkDevice.ts +14 -0
- package/Models/DatabaseModels/NetworkInterface.ts +18 -0
- package/Models/DatabaseModels/Project.ts +247 -11
- package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
- 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/Service.ts +30 -0
- package/Models/DatabaseModels/StatusPage.ts +28 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +1 -0
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
- package/Models/DatabaseModels/User.ts +30 -0
- package/Server/API/AIAgentDataAPI.ts +75 -55
- package/Server/API/AIInvestigationAPI.ts +175 -17
- package/Server/API/DashboardAPI.ts +429 -22
- package/Server/API/GitHubAPI.ts +119 -283
- package/Server/API/StatusPageAPI.ts +38 -19
- package/Server/API/UserAPI.ts +263 -1
- package/Server/EnvironmentConfig.ts +23 -3
- package/Server/Infrastructure/ClickhouseConfig.ts +15 -1
- package/Server/Infrastructure/ClickhouseDatabase.ts +1 -1
- package/Server/Infrastructure/GlobalCache.ts +37 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.ts +27 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -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/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -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 +20 -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 +101 -1
- package/Server/Services/CodeRepositoryService.ts +105 -2
- package/Server/Services/DatabaseService.ts +227 -3
- package/Server/Services/IncidentFeedService.ts +5 -0
- package/Server/Services/LlmLogService.ts +46 -2
- package/Server/Services/OpenTelemetryIngestService.ts +230 -26
- package/Server/Services/UserService.ts +184 -0
- 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/AI/Toolbox/CodeTools.ts +45 -4
- package/Server/Utils/AnalyticsDatabase/ClusterConfig.ts +24 -0
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
- package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -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 +330 -0
- 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/OverviewCustomFields.test.tsx +333 -0
- package/Tests/App/Dashboard/PortMonitorCriteriaFilter.test.ts +93 -0
- package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -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/AIAgentDataRepositoryToken.test.ts +381 -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/DashboardPublicAttributeValuesAPI.test.ts +943 -0
- package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
- package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
- package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
- package/Tests/Server/API/Helpers.ts +6 -1
- package/Tests/Server/API/StatusPageMasterPasswordAPI.test.ts +335 -0
- package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
- package/Tests/Server/Infrastructure/GlobalCache.test.ts +128 -0
- package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -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/AddPerUserPasswordSaltMigration.test.ts +178 -0
- package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +30 -1
- package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
- package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
- package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +880 -0
- 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/OpenTelemetryServiceResolutionCache.test.ts +568 -0
- package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
- package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
- package/Tests/Server/Services/SeparateIncidentAlertAiSettingsMigration.test.ts +194 -0
- package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +885 -0
- package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -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/CodeTools.test.ts +47 -1
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
- 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/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
- package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
- package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
- package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -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 +585 -0
- package/Tests/Types/Dashboard/DashboardTemplates.test.ts +111 -0
- package/Tests/Types/Database/ColumnLength.test.ts +7 -1
- package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
- package/Tests/Types/Monitor/CephMetricCatalog.test.ts +104 -0
- package/Tests/Types/Monitor/CriteriaFilter.test.ts +4 -0
- package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
- package/Tests/Types/Monitor/DockerMetricCatalog.test.ts +109 -0
- package/Tests/Types/Monitor/DockerSwarmMetricCatalog.test.ts +118 -0
- package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
- package/Tests/Types/Monitor/HostMetricCatalog.test.ts +104 -0
- package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -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/PodmanAlertTemplates.test.ts +271 -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/CustomFields/CustomFieldsDetail.test.tsx +696 -0
- 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/UI/Utils/UserProjectsModelAPI.test.ts +714 -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/TeamMembersByProject.test.ts +655 -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/Database/ColumnLength.ts +9 -1
- package/Types/Database/TableColumn.ts +11 -0
- package/Types/Database/UnsynchronizedIndex.ts +48 -0
- package/Types/HashedString.ts +140 -4
- 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/CustomFields/CustomFieldsDetail.tsx +85 -11
- 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/Components/Navbar/NavBar.tsx +12 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
- 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/ModelAPI/UserProjectsModelAPI.ts +257 -0
- 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/TeamMembersByProject.ts +237 -0
- 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/CephCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
- package/build/dist/Models/DatabaseModels/CodeRepository.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/DockerHost.js +16 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.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/IoTFleet.js +16 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.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/NetworkDevice.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +257 -13
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.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/Service.js +28 -1
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- 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/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +32 -0
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +49 -48
- 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 +312 -15
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/GitHubAPI.js +94 -167
- package/build/dist/Server/API/GitHubAPI.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/API/UserAPI.js +187 -2
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +21 -3
- 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/GlobalCache.js +29 -0
- package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
- 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/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.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/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.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 +20 -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 +86 -2
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
- package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +180 -3
- 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/Services/OpenTelemetryIngestService.js +155 -25
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +165 -0
- package/build/dist/Server/Services/UserService.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/AI/Toolbox/CodeTools.js +31 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeTools.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/AnalyticsDatabase/StatementGenerator.js +13 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
- 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 +258 -0
- package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
- 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/Database/ColumnLength.js +9 -1
- package/build/dist/Types/Database/ColumnLength.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
- package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
- package/build/dist/Types/HashedString.js +96 -5
- 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/CustomFields/CustomFieldsDetail.js +51 -10
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.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/Components/Navbar/NavBar.js +3 -1
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.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/ModelAPI/UserProjectsModelAPI.js +156 -0
- package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
- 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/TeamMembersByProject.js +145 -0
- package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
- 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,
|
|
@@ -80,6 +80,20 @@ import {
|
|
|
80
80
|
*/
|
|
81
81
|
@Index(["projectId", "name"], { unique: true })
|
|
82
82
|
@Index(["projectId", "isArchived"])
|
|
83
|
+
/*
|
|
84
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
85
|
+
*
|
|
86
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
87
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
88
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
89
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
90
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
91
|
+
* uniqueness and columns, and keep it.
|
|
92
|
+
*/
|
|
93
|
+
@Index("IDX_ceph_cluster_slug", ["slug"], {
|
|
94
|
+
unique: true,
|
|
95
|
+
where: '"deletedAt" IS NULL',
|
|
96
|
+
})
|
|
83
97
|
@TableMetadata({
|
|
84
98
|
tableName: "CephCluster",
|
|
85
99
|
singularName: "Ceph Cluster",
|
|
@@ -649,13 +649,21 @@ export default class CodeRepository extends BaseModel {
|
|
|
649
649
|
})
|
|
650
650
|
public repositoryUrl?: URL = undefined;
|
|
651
651
|
|
|
652
|
-
|
|
652
|
+
/*
|
|
653
|
+
* GitHub App specific fields.
|
|
654
|
+
*
|
|
655
|
+
* `create` is empty on purpose. This column decides which GitHub App
|
|
656
|
+
* installation a repository token is minted from, so a caller who could set
|
|
657
|
+
* it could name ANOTHER tenant's installation, put the row in a project they
|
|
658
|
+
* own, and pass every "is this row in your project?" check on the way to a
|
|
659
|
+
* live `ghs_` token. It is assigned server-side only — by the install
|
|
660
|
+
* callback and the installation webhooks, which write with `isRoot` after
|
|
661
|
+
* GitHub has confirmed the installation belongs to the project.
|
|
662
|
+
* CodeRepositoryService.onBeforeCreate/onBeforeUpdate enforce the same rule
|
|
663
|
+
* a second time, in case a future route writes as root.
|
|
664
|
+
*/
|
|
653
665
|
@ColumnAccessControl({
|
|
654
|
-
create: [
|
|
655
|
-
Permission.ProjectOwner,
|
|
656
|
-
Permission.ProjectAdmin,
|
|
657
|
-
Permission.CreateCodeRepository,
|
|
658
|
-
],
|
|
666
|
+
create: [],
|
|
659
667
|
read: [
|
|
660
668
|
Permission.ProjectOwner,
|
|
661
669
|
Permission.ProjectAdmin,
|
|
@@ -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,
|
|
@@ -72,6 +72,20 @@ import {
|
|
|
72
72
|
@CrudApiEndpoint(new Route("/docker-host"))
|
|
73
73
|
@SlugifyColumn("name", "slug")
|
|
74
74
|
@Index(["projectId", "isArchived"])
|
|
75
|
+
/*
|
|
76
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
77
|
+
*
|
|
78
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
79
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
80
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
81
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
82
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
83
|
+
* uniqueness and columns, and keep it.
|
|
84
|
+
*/
|
|
85
|
+
@Index("IDX_docker_host_slug", ["slug"], {
|
|
86
|
+
unique: true,
|
|
87
|
+
where: '"deletedAt" IS NULL',
|
|
88
|
+
})
|
|
75
89
|
@TableMetadata({
|
|
76
90
|
tableName: "DockerHost",
|
|
77
91
|
singularName: "Docker Host",
|
|
@@ -39,6 +39,24 @@ import {
|
|
|
39
39
|
update: [],
|
|
40
40
|
})
|
|
41
41
|
@CrudApiEndpoint(new Route("/global-oidc-project"))
|
|
42
|
+
/*
|
|
43
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
44
|
+
*
|
|
45
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
46
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
47
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
48
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
49
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
50
|
+
* uniqueness and columns, and keep it.
|
|
51
|
+
*/
|
|
52
|
+
@Index(
|
|
53
|
+
"IDX_GlobalOIDCProject_globalOidcId_projectId",
|
|
54
|
+
["globalOidcId", "projectId"],
|
|
55
|
+
{
|
|
56
|
+
unique: true,
|
|
57
|
+
where: '"deletedAt" IS NULL',
|
|
58
|
+
},
|
|
59
|
+
)
|
|
42
60
|
@TableMetadata({
|
|
43
61
|
tableName: "GlobalOIDCProject",
|
|
44
62
|
singularName: "Global OIDC Project",
|
|
@@ -42,6 +42,24 @@ import {
|
|
|
42
42
|
update: [],
|
|
43
43
|
})
|
|
44
44
|
@CrudApiEndpoint(new Route("/global-sso-project"))
|
|
45
|
+
/*
|
|
46
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
47
|
+
*
|
|
48
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
49
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
50
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
51
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
52
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
53
|
+
* uniqueness and columns, and keep it.
|
|
54
|
+
*/
|
|
55
|
+
@Index(
|
|
56
|
+
"IDX_GlobalSSOProject_globalSsoId_projectId",
|
|
57
|
+
["globalSsoId", "projectId"],
|
|
58
|
+
{
|
|
59
|
+
unique: true,
|
|
60
|
+
where: '"deletedAt" IS NULL',
|
|
61
|
+
},
|
|
62
|
+
)
|
|
45
63
|
@TableMetadata({
|
|
46
64
|
tableName: "GlobalSSOProject",
|
|
47
65
|
singularName: "Global SSO Project",
|
|
@@ -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,
|
|
@@ -80,6 +80,20 @@ import {
|
|
|
80
80
|
*/
|
|
81
81
|
@Index(["projectId", "name"], { unique: true })
|
|
82
82
|
@Index(["projectId", "isArchived"])
|
|
83
|
+
/*
|
|
84
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
85
|
+
*
|
|
86
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
87
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
88
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
89
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
90
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
91
|
+
* uniqueness and columns, and keep it.
|
|
92
|
+
*/
|
|
93
|
+
@Index("IDX_iot_fleet_slug", ["slug"], {
|
|
94
|
+
unique: true,
|
|
95
|
+
where: '"deletedAt" IS NULL',
|
|
96
|
+
})
|
|
83
97
|
@TableMetadata({
|
|
84
98
|
tableName: "IoTFleet",
|
|
85
99
|
singularName: "IoT Fleet",
|
|
@@ -79,6 +79,20 @@ import {
|
|
|
79
79
|
*/
|
|
80
80
|
@Index(["projectId", "clusterIdentifier"], { unique: true })
|
|
81
81
|
@Index(["projectId", "isArchived"])
|
|
82
|
+
/*
|
|
83
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
84
|
+
*
|
|
85
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
86
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
87
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
88
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
89
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
90
|
+
* uniqueness and columns, and keep it.
|
|
91
|
+
*/
|
|
92
|
+
@Index("IDX_kubernetes_cluster_slug", ["slug"], {
|
|
93
|
+
unique: true,
|
|
94
|
+
where: '"deletedAt" IS NULL',
|
|
95
|
+
})
|
|
82
96
|
@TableMetadata({
|
|
83
97
|
tableName: "KubernetesCluster",
|
|
84
98
|
singularName: "Kubernetes Cluster",
|
|
@@ -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,
|
|
@@ -78,6 +78,20 @@ import {
|
|
|
78
78
|
@CrudApiEndpoint(new Route("/network-device"))
|
|
79
79
|
@SlugifyColumn("name", "slug")
|
|
80
80
|
@Index(["projectId", "isArchived"])
|
|
81
|
+
/*
|
|
82
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
83
|
+
*
|
|
84
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
85
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
86
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
87
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
88
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
89
|
+
* uniqueness and columns, and keep it.
|
|
90
|
+
*/
|
|
91
|
+
@Index("IDX_network_device_slug", ["slug"], {
|
|
92
|
+
unique: true,
|
|
93
|
+
where: '"deletedAt" IS NULL',
|
|
94
|
+
})
|
|
81
95
|
@TableMetadata({
|
|
82
96
|
tableName: "NetworkDevice",
|
|
83
97
|
singularName: "Network Device",
|
|
@@ -72,6 +72,24 @@ const decimalTransformer: ValueTransformer = {
|
|
|
72
72
|
})
|
|
73
73
|
@CrudApiEndpoint(new Route("/network-interface"))
|
|
74
74
|
@Index(["projectId", "networkDeviceId"])
|
|
75
|
+
/*
|
|
76
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
77
|
+
*
|
|
78
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
79
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
80
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
81
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
82
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
83
|
+
* uniqueness and columns, and keep it.
|
|
84
|
+
*/
|
|
85
|
+
@Index(
|
|
86
|
+
"IDX_network_interface_device_ifindex",
|
|
87
|
+
["networkDeviceId", "interfaceIndex"],
|
|
88
|
+
{
|
|
89
|
+
unique: true,
|
|
90
|
+
where: '"deletedAt" IS NULL',
|
|
91
|
+
},
|
|
92
|
+
)
|
|
75
93
|
@TableMetadata({
|
|
76
94
|
tableName: "NetworkInterface",
|
|
77
95
|
singularName: "Network Interface",
|