@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.
Files changed (374) hide show
  1. package/Models/DatabaseModels/AIRun.ts +38 -1
  2. package/Models/DatabaseModels/AlertFeed.ts +30 -0
  3. package/Models/DatabaseModels/Dashboard.ts +28 -0
  4. package/Models/DatabaseModels/Incident.ts +2 -0
  5. package/Models/DatabaseModels/IncidentEpisode.ts +1 -0
  6. package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +1 -0
  7. package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +1 -0
  8. package/Models/DatabaseModels/IncidentFeed.ts +30 -0
  9. package/Models/DatabaseModels/IncidentPublicNote.ts +1 -0
  10. package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
  11. package/Models/DatabaseModels/LogSavedView.ts +33 -0
  12. package/Models/DatabaseModels/Project.ts +231 -9
  13. package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -0
  14. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +1 -0
  15. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -0
  16. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +4 -4
  17. package/Models/DatabaseModels/StatusPage.ts +28 -0
  18. package/Models/DatabaseModels/StatusPageAnnouncement.ts +1 -0
  19. package/Server/API/AIAgentDataAPI.ts +44 -55
  20. package/Server/API/AIInvestigationAPI.ts +175 -17
  21. package/Server/API/DashboardAPI.ts +10 -10
  22. package/Server/API/StatusPageAPI.ts +38 -19
  23. package/Server/EnvironmentConfig.ts +16 -0
  24. package/Server/Infrastructure/ClickhouseConfig.ts +15 -1
  25. package/Server/Infrastructure/ClickhouseDatabase.ts +1 -1
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.ts +27 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.ts +89 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.ts +27 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.ts +40 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.ts +26 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  32. package/Server/Services/AIRunService.ts +78 -10
  33. package/Server/Services/AIService.ts +94 -22
  34. package/Server/Services/AlertFeedService.ts +5 -0
  35. package/Server/Services/AnalyticsDatabaseService.ts +29 -0
  36. package/Server/Services/DatabaseService.ts +43 -2
  37. package/Server/Services/IncidentFeedService.ts +5 -0
  38. package/Server/Services/LlmLogService.ts +46 -2
  39. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +6 -0
  40. package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +4 -0
  41. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +8 -5
  42. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +90 -16
  43. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +2 -0
  44. package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +2 -0
  45. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +223 -22
  46. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +25 -24
  47. package/Server/Utils/AI/SRE/ConfidenceSignal.ts +182 -71
  48. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +252 -43
  49. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +25 -24
  50. package/Server/Utils/AI/SRE/InstrumentationTaskTrigger.ts +47 -13
  51. package/Server/Utils/AI/SRE/InvestigationGrader.ts +9 -5
  52. package/Server/Utils/AI/SRE/InvestigationQueue.ts +141 -24
  53. package/Server/Utils/AI/SRE/InvestigationSubjectLock.ts +66 -0
  54. package/Server/Utils/AI/SRE/PostedRootCause.ts +94 -3
  55. package/Server/Utils/AI/SRE/README.md +1 -1
  56. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +132 -10
  57. package/Server/Utils/AnalyticsDatabase/ClusterConfig.ts +24 -0
  58. package/Server/Utils/Monitor/Criteria/APIRequestCriteria.ts +29 -0
  59. package/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.ts +56 -0
  60. package/Server/Utils/Monitor/MonitorMetricUtil.ts +46 -0
  61. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -0
  62. package/Server/Utils/PasswordHash.ts +28 -4
  63. package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +251 -0
  64. package/Tests/App/Dashboard/EventStatusPanel.test.tsx +747 -0
  65. package/Tests/App/Dashboard/InvestigationFeedRefresh.test.tsx +480 -0
  66. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1184 -0
  67. package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +500 -0
  68. package/Tests/App/Dashboard/PortMonitorCriteriaFilter.test.ts +93 -0
  69. package/Tests/App/StatusPage/PublicStatusPageAPIErrorHandling.test.ts +117 -0
  70. package/Tests/App/StatusPage/StatusPageModelAPIPolymorphism.test.ts +223 -0
  71. package/Tests/Models/DatabaseModels/PermissionCatalogueCoverage.test.ts +243 -0
  72. package/Tests/Server/API/AIAgentDataFixFromIncidentContext.test.ts +266 -0
  73. package/Tests/Server/API/AIInvestigationAPI.test.ts +594 -0
  74. package/Tests/Server/API/AIInvestigationCreateFixTask.test.ts +80 -0
  75. package/Tests/Server/API/DashboardMasterPasswordAPI.test.ts +172 -1
  76. package/Tests/Server/API/StatusPageMasterPasswordAPI.test.ts +335 -0
  77. package/Tests/Server/Services/AIRunCodeFixClaim.test.ts +59 -5
  78. package/Tests/Server/Services/AIRunHumanVerdict.test.ts +127 -58
  79. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +396 -20
  80. package/Tests/Server/Services/AddMasterPasswordSaltMigration.test.ts +283 -0
  81. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +25 -1
  82. package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +45 -35
  83. package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +54 -0
  84. package/Tests/Server/Services/FeedAIRunAssociation.test.ts +125 -0
  85. package/Tests/Server/Services/FixFromIncidentTaskTrigger.test.ts +418 -57
  86. package/Tests/Server/Services/InstrumentationTaskTrigger.test.ts +173 -14
  87. package/Tests/Server/Services/MasterPasswordScrypt.test.ts +567 -0
  88. package/Tests/Server/Services/SeparateIncidentAlertAiSettingsMigration.test.ts +194 -0
  89. package/Tests/Server/Utils/AI/AIAlertGating.test.ts +37 -4
  90. package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +330 -29
  91. package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +25 -0
  92. package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +293 -5
  93. package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +59 -1
  94. package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +342 -19
  95. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +214 -30
  96. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +2 -0
  97. package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +65 -17
  98. package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +3 -0
  99. package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +313 -20
  100. package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
  101. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +4 -0
  102. package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +2 -0
  103. package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +44 -0
  104. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +30 -0
  105. package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaPortTimings.test.ts +212 -0
  106. package/Tests/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.test.ts +401 -0
  107. package/Tests/Server/Utils/Monitor/MonitorMetricUtilPortTimings.test.ts +243 -0
  108. package/Tests/Server/Utils/PasswordHash.test.ts +30 -0
  109. package/Tests/Types/Dashboard/DashboardTemplates.test.ts +111 -0
  110. package/Tests/Types/Monitor/CephMetricCatalog.test.ts +104 -0
  111. package/Tests/Types/Monitor/CriteriaFilter.test.ts +4 -0
  112. package/Tests/Types/Monitor/DockerMetricCatalog.test.ts +109 -0
  113. package/Tests/Types/Monitor/DockerSwarmMetricCatalog.test.ts +118 -0
  114. package/Tests/Types/Monitor/HostMetricCatalog.test.ts +104 -0
  115. package/Tests/Types/Monitor/IotMetricCatalog.test.ts +104 -0
  116. package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +118 -0
  117. package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +42 -0
  118. package/Tests/Types/Monitor/MonitorStep.test.ts +38 -0
  119. package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +75 -0
  120. package/Tests/Types/Monitor/PodmanMetricCatalog.test.ts +109 -0
  121. package/Tests/Types/Monitor/ProxmoxMetricCatalog.test.ts +107 -0
  122. package/Tests/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.test.ts +151 -0
  123. package/Tests/Types/Permission.test.ts +137 -0
  124. package/Tests/Types/Rum/SessionReplayMaskingMode.test.ts +101 -0
  125. package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +5 -5
  126. package/Tests/UI/Components/CardModelDetailEdit.test.tsx +3 -5
  127. package/Tests/UI/Components/ErrorBoundary.test.tsx +158 -0
  128. package/Tests/UI/Components/FeedItemSafeMode.test.tsx +74 -0
  129. package/Tests/UI/Components/MoreMenu.test.tsx +756 -0
  130. package/Tests/UI/Components/StatusPage/ResourceGroupSection.test.tsx +62 -0
  131. package/Tests/UI/Monitor/PortMonitorView.test.tsx +237 -0
  132. package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +91 -0
  133. package/Tests/UI/Utils/DownloadFile.test.ts +103 -0
  134. package/Tests/UI/Utils/ErrorSupportBundle.test.ts +582 -0
  135. package/Tests/UI/Utils/Project.test.ts +31 -0
  136. package/Tests/UI/Utils/StatusPageModelAPIInjection.test.ts +245 -0
  137. package/Tests/UI/Utils/UseDashboardGridDnd.test.tsx +820 -0
  138. package/Tests/Utils/Dashboard/DashboardViewConfig.test.ts +329 -0
  139. package/Tests/Utils/Dashboard/GridLayout.test.ts +951 -0
  140. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +117 -0
  141. package/Tests/Utils/RecordingRuleExpression.test.ts +327 -0
  142. package/Tests/Utils/StatusPage/GroupNestingLayout.test.ts +186 -0
  143. package/Tests/Utils/StatusPage/GroupTree.test.ts +456 -0
  144. package/Tests/Utils/StatusPage/OverviewGroupHierarchyVisibility.test.ts +588 -0
  145. package/Tests/Utils/Telemetry/SavedViewTimeRange.test.ts +244 -0
  146. package/Tests/Utils/Telemetry/TelemetryQueryTimeRange.test.ts +825 -0
  147. package/Types/AI/AIRunCodeFixRecommendation.ts +17 -0
  148. package/Types/AI/CodeFixTaskContext.ts +63 -3
  149. package/Types/AI/CodeFixTaskType.ts +3 -3
  150. package/Types/HashedString.ts +4 -3
  151. package/Types/Monitor/CriteriaFilter.ts +4 -0
  152. package/Types/Monitor/DomainMonitor/DomainLookupMethod.ts +23 -0
  153. package/Types/Monitor/DomainMonitor/DomainMonitorResponse.ts +7 -0
  154. package/Types/Monitor/MonitorCriteriaInstance.ts +24 -7
  155. package/Types/Monitor/MonitorMetricType.ts +8 -0
  156. package/Types/Monitor/MonitorStep.ts +10 -1
  157. package/Types/Monitor/MonitorStepDomainMonitor.ts +21 -0
  158. package/Types/Monitor/PortMonitor/PortMonitorTimings.ts +10 -0
  159. package/Types/Permission.ts +23 -175
  160. package/Types/Probe/ProbeMonitorResponse.ts +6 -0
  161. package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +2 -3
  162. package/UI/Components/ErrorBoundary.tsx +138 -11
  163. package/UI/Components/Feed/FeedItem.tsx +9 -2
  164. package/UI/Components/ModelDetail/CardModelDetail.tsx +0 -12
  165. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  166. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +12 -2
  167. package/UI/Components/MoreMenu/MoreMenu.tsx +285 -97
  168. package/UI/Components/MoreMenu/MoreMenuItem.tsx +8 -5
  169. package/UI/Utils/DownloadFile.ts +16 -8
  170. package/UI/Utils/ErrorSupportBundle.ts +805 -0
  171. package/UI/Utils/ModelAPI/ModelAPI.ts +19 -8
  172. package/UI/Utils/Project.ts +4 -0
  173. package/UI/Utils/StatusPage.ts +8 -2
  174. package/UI/Utils/UseDashboardGridDnd.ts +917 -0
  175. package/Utils/Dashboard/DashboardViewConfig.ts +80 -36
  176. package/Utils/Dashboard/GridLayout.ts +523 -0
  177. package/Utils/Metrics/RecordingRuleExpression.ts +19 -17
  178. package/Utils/Monitor/MonitorMetricType.ts +44 -2
  179. package/Utils/StatusPage/GroupNestingLayout.ts +69 -0
  180. package/Utils/StatusPage/GroupTree.ts +157 -66
  181. package/Utils/StatusPage/ResourceUptime.ts +37 -2
  182. package/Utils/Telemetry/SavedViewTimeRange.ts +114 -0
  183. package/Utils/Telemetry/TelemetryQueryTimeRange.ts +334 -0
  184. package/build/dist/Models/DatabaseModels/AIRun.js +39 -1
  185. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/AlertFeed.js +32 -0
  187. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  188. package/build/dist/Models/DatabaseModels/Dashboard.js +29 -0
  189. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  190. package/build/dist/Models/DatabaseModels/Incident.js +2 -0
  191. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  192. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +1 -0
  193. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
  194. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +1 -0
  195. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -1
  196. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +1 -0
  197. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
  198. package/build/dist/Models/DatabaseModels/IncidentFeed.js +32 -0
  199. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  200. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +1 -0
  201. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  202. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
  203. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  204. package/build/dist/Models/DatabaseModels/LogSavedView.js +33 -0
  205. package/build/dist/Models/DatabaseModels/LogSavedView.js.map +1 -1
  206. package/build/dist/Models/DatabaseModels/Project.js +241 -11
  207. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  208. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -0
  209. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  210. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +1 -0
  211. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  212. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -0
  213. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  214. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +4 -4
  215. package/build/dist/Models/DatabaseModels/StatusPage.js +29 -0
  216. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  217. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +1 -0
  218. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  219. package/build/dist/Server/API/AIAgentDataAPI.js +28 -46
  220. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  221. package/build/dist/Server/API/AIInvestigationAPI.js +111 -11
  222. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  223. package/build/dist/Server/API/DashboardAPI.js +8 -5
  224. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  225. package/build/dist/Server/API/StatusPageAPI.js +29 -11
  226. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  227. package/build/dist/Server/EnvironmentConfig.js +14 -0
  228. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  229. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -1
  230. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  231. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js +1 -1
  232. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js.map +1 -1
  233. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js +22 -0
  234. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js.map +1 -0
  235. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js +36 -0
  236. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js.map +1 -0
  237. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js +18 -0
  238. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js.map +1 -0
  239. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js +19 -0
  240. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js.map +1 -0
  241. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js +19 -0
  242. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js.map +1 -0
  243. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  244. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  245. package/build/dist/Server/Services/AIRunService.js +58 -12
  246. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  247. package/build/dist/Server/Services/AIService.js +74 -21
  248. package/build/dist/Server/Services/AIService.js.map +1 -1
  249. package/build/dist/Server/Services/AlertFeedService.js +3 -0
  250. package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
  251. package/build/dist/Server/Services/AnalyticsDatabaseService.js +29 -1
  252. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  253. package/build/dist/Server/Services/DatabaseService.js +21 -2
  254. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  255. package/build/dist/Server/Services/IncidentFeedService.js +3 -0
  256. package/build/dist/Server/Services/IncidentFeedService.js.map +1 -1
  257. package/build/dist/Server/Services/LlmLogService.js +22 -1
  258. package/build/dist/Server/Services/LlmLogService.js.map +1 -1
  259. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +3 -0
  260. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  261. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +4 -0
  262. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
  263. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +8 -5
  264. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
  265. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +63 -24
  266. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
  267. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +2 -0
  268. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  269. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +2 -0
  270. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -1
  271. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +156 -28
  272. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  273. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +21 -19
  274. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  275. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +128 -49
  276. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
  277. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +170 -31
  278. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
  279. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +21 -19
  280. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  281. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js +33 -9
  282. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js.map +1 -1
  283. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +9 -5
  284. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
  285. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +121 -41
  286. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  287. package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js +46 -0
  288. package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js.map +1 -0
  289. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +61 -14
  290. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -1
  291. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +79 -1
  292. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
  293. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js +21 -0
  294. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js.map +1 -1
  295. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js +20 -3
  296. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js.map +1 -1
  297. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js +43 -0
  298. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js.map +1 -1
  299. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
  300. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  301. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +1 -0
  302. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  303. package/build/dist/Server/Utils/PasswordHash.js +25 -4
  304. package/build/dist/Server/Utils/PasswordHash.js.map +1 -1
  305. package/build/dist/Types/AI/AIRunCodeFixRecommendation.js +18 -0
  306. package/build/dist/Types/AI/AIRunCodeFixRecommendation.js.map +1 -0
  307. package/build/dist/Types/AI/CodeFixTaskContext.js +23 -3
  308. package/build/dist/Types/AI/CodeFixTaskContext.js.map +1 -1
  309. package/build/dist/Types/AI/CodeFixTaskType.js +3 -3
  310. package/build/dist/Types/HashedString.js +4 -3
  311. package/build/dist/Types/HashedString.js.map +1 -1
  312. package/build/dist/Types/Monitor/CriteriaFilter.js +4 -0
  313. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  314. package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js +24 -0
  315. package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js.map +1 -0
  316. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +24 -7
  317. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  318. package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
  319. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  320. package/build/dist/Types/Monitor/MonitorStep.js +6 -1
  321. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  322. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js +15 -0
  323. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js.map +1 -1
  324. package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js +2 -0
  325. package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js.map +1 -0
  326. package/build/dist/Types/Permission.js +23 -155
  327. package/build/dist/Types/Permission.js.map +1 -1
  328. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +2 -5
  329. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
  330. package/build/dist/UI/Components/ErrorBoundary.js +67 -8
  331. package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
  332. package/build/dist/UI/Components/Feed/FeedItem.js +2 -2
  333. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  334. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +0 -12
  335. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
  336. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  337. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  338. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +12 -2
  339. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  340. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +193 -65
  341. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  342. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +1 -1
  343. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  344. package/build/dist/UI/Utils/DownloadFile.js +15 -8
  345. package/build/dist/UI/Utils/DownloadFile.js.map +1 -1
  346. package/build/dist/UI/Utils/ErrorSupportBundle.js +476 -0
  347. package/build/dist/UI/Utils/ErrorSupportBundle.js.map +1 -0
  348. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -8
  349. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  350. package/build/dist/UI/Utils/Project.js +3 -0
  351. package/build/dist/UI/Utils/Project.js.map +1 -1
  352. package/build/dist/UI/Utils/StatusPage.js +4 -4
  353. package/build/dist/UI/Utils/StatusPage.js.map +1 -1
  354. package/build/dist/UI/Utils/UseDashboardGridDnd.js +551 -0
  355. package/build/dist/UI/Utils/UseDashboardGridDnd.js.map +1 -0
  356. package/build/dist/Utils/Dashboard/DashboardViewConfig.js +42 -26
  357. package/build/dist/Utils/Dashboard/DashboardViewConfig.js.map +1 -1
  358. package/build/dist/Utils/Dashboard/GridLayout.js +338 -0
  359. package/build/dist/Utils/Dashboard/GridLayout.js.map +1 -0
  360. package/build/dist/Utils/Metrics/RecordingRuleExpression.js +19 -17
  361. package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -1
  362. package/build/dist/Utils/Monitor/MonitorMetricType.js +38 -6
  363. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  364. package/build/dist/Utils/StatusPage/GroupNestingLayout.js +46 -0
  365. package/build/dist/Utils/StatusPage/GroupNestingLayout.js.map +1 -1
  366. package/build/dist/Utils/StatusPage/GroupTree.js +79 -34
  367. package/build/dist/Utils/StatusPage/GroupTree.js.map +1 -1
  368. package/build/dist/Utils/StatusPage/ResourceUptime.js +22 -1
  369. package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
  370. package/build/dist/Utils/Telemetry/SavedViewTimeRange.js +79 -0
  371. package/build/dist/Utils/Telemetry/SavedViewTimeRange.js.map +1 -0
  372. package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js +236 -0
  373. package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js.map +1 -0
  374. package/package.json +1 -1
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import OneUptimeDate from "../../../../Types/Date";
11
11
  import AIRunType from "../../../../Types/AI/AIRunType";
12
12
  import AIRunStatus from "../../../../Types/AI/AIRunStatus";
13
+ import AIRunCodeFixRecommendation from "../../../../Types/AI/AIRunCodeFixRecommendation";
13
14
  import AIRun from "../../../../Models/DatabaseModels/AIRun";
14
15
  import AIRunService from "../../../Services/AIRunService";
15
16
  import ProjectService from "../../../Services/ProjectService";
@@ -18,6 +19,7 @@ import SortOrder from "../../../../Types/BaseDatabase/SortOrder";
18
19
  import QueryHelper from "../../../Types/Database/QueryHelper";
19
20
  import logger from "../../Logger";
20
21
  import CaptureSpan from "../../Telemetry/CaptureSpan";
22
+ import InvestigationSubjectLock from "./InvestigationSubjectLock";
21
23
  /*
22
24
  * AI SRE — the durable investigation queue (Phase 2's first item; Q1
23
25
  * decided as the DB-claim pattern on AIRun rows, no new infrastructure).
@@ -51,11 +53,11 @@ import CaptureSpan from "../../Telemetry/CaptureSpan";
51
53
  // Initial attempt + one retry.
52
54
  export const MAX_INVESTIGATION_ATTEMPTS = 2;
53
55
  /*
54
- * G4 cost guardrail: at most this many investigations may be Running per
55
- * project at once (per-project override in
56
- * Project.aiMaxConcurrentInvestigations). Enforced at CLAIM time, so a storm
57
- * queues (bounded by dedupe + severity gates + this TTL) and drains at cap
58
- * rate instead of being dropped.
56
+ * G4 cost guardrail: at most this many investigations may be Running in an
57
+ * incident, alert or subjectless lane at once. Each lane has its own project
58
+ * override; subjectless work keeps Project.aiMaxConcurrentInvestigations.
59
+ * Enforced at CLAIM time, so a storm queues (bounded by dedupe + severity
60
+ * gates + this TTL) and drains at cap rate instead of being dropped.
59
61
  */
60
62
  export const DEFAULT_MAX_CONCURRENT_INVESTIGATIONS = 3;
61
63
  /*
@@ -65,7 +67,7 @@ export const DEFAULT_MAX_CONCURRENT_INVESTIGATIONS = 3;
65
67
  const MIN_CONCURRENT_INVESTIGATIONS = 1;
66
68
  const MAX_CONCURRENT_INVESTIGATIONS = 25;
67
69
  /*
68
- * Lane priority. Two kinds of run share this queue and the per-project
70
+ * Lane priority. Two kinds of run share this queue and each subject lane's
69
71
  * concurrency cap above:
70
72
  * - the INTERACTIVE lane (incident/alert RCA) — a human is waiting;
71
73
  * - the PREVENTIVE lane (AI-insight triage, identified by
@@ -108,13 +110,20 @@ export default class AIInvestigationQueue {
108
110
  */
109
111
  static async enqueue(data) {
110
112
  const { projectId } = data;
113
+ if (data.subjectIncidentId && data.subjectAlertId) {
114
+ logger.error(`AI: not enqueueing investigation for project ${projectId.toString()} — a run cannot belong to both an incident and an alert.`);
115
+ return null;
116
+ }
111
117
  /*
112
118
  * Budget quiet-skip at enqueue: when the daily budget is already
113
119
  * exhausted there is no point recording intent that the TTL would
114
120
  * expire anyway. Fails cheap (skip) like all the cost gates.
115
121
  */
116
122
  try {
117
- const budget = await AIService.getAutonomousDailyBudgetStatus(projectId);
123
+ const budget = await AIService.getAutonomousDailyBudgetStatus(projectId, {
124
+ incidentId: data.subjectIncidentId,
125
+ alertId: data.subjectAlertId,
126
+ });
118
127
  if (budget.exhausted) {
119
128
  logger.debug(`AI: not enqueueing investigation for project ${projectId.toString()} — daily autonomous token budget exhausted (${budget.usedTokensToday} of ${budget.limitInTokens} tokens used today).`);
120
129
  return null;
@@ -131,6 +140,13 @@ export default class AIInvestigationQueue {
131
140
  run.projectId = projectId;
132
141
  run.runType = runType;
133
142
  run.status = AIRunStatus.Queued;
143
+ /*
144
+ * Queued and Running rows must never advertise an unresolved code-fix
145
+ * decision. The engine atomically moves eligible incident/alert runs to
146
+ * Pending only when it wins the Running -> Completed transition; until
147
+ * then the fail-closed default is NotRecommended.
148
+ */
149
+ run.codeFixRecommendation = AIRunCodeFixRecommendation.NotRecommended;
134
150
  if (data.subjectIncidentId) {
135
151
  run.triggeredByIncidentId = data.subjectIncidentId;
136
152
  }
@@ -149,10 +165,28 @@ export default class AIInvestigationQueue {
149
165
  }
150
166
  let createdRun;
151
167
  try {
152
- createdRun = await AIRunService.create({
153
- data: run,
154
- props: { isRoot: true },
155
- });
168
+ const createRun = async () => {
169
+ return AIRunService.create({
170
+ data: run,
171
+ props: { isRoot: true },
172
+ });
173
+ };
174
+ /*
175
+ * Linearize subject Investigation creation with FixFromIncident's
176
+ * final latest-source validation and INSERT. Whichever writer gets the
177
+ * shared lock first becomes authoritative: a fix inserted first is
178
+ * valid at that instant; an Investigation inserted first is observed by
179
+ * the fix gate and makes the stale request fail closed.
180
+ */
181
+ createdRun =
182
+ runType === AIRunType.Investigation &&
183
+ (data.subjectIncidentId || data.subjectAlertId)
184
+ ? await InvestigationSubjectLock.runExclusive({
185
+ projectId,
186
+ incidentId: data.subjectIncidentId,
187
+ alertId: data.subjectAlertId,
188
+ }, createRun)
189
+ : await createRun();
156
190
  }
157
191
  catch (error) {
158
192
  logger.error(`AI: failed to enqueue investigation run: ${error}`);
@@ -233,6 +267,7 @@ export default class AIInvestigationQueue {
233
267
  fromStatus: AIRunStatus.Queued,
234
268
  set: {
235
269
  status: AIRunStatus.Cancelled,
270
+ codeFixRecommendation: AIRunCodeFixRecommendation.NotRecommended,
236
271
  completedAt: OneUptimeDate.getCurrentDate(),
237
272
  errorMessage: `Expired in the investigation queue after ${QUEUE_TTL_MINUTES} minutes — a first-pass analysis this late would no longer be useful. The project may have been at its concurrency cap or daily token budget.`,
238
273
  },
@@ -327,8 +362,10 @@ export default class AIInvestigationQueue {
327
362
  const requeued = await AIRunService.attemptStatusTransition({
328
363
  aiRunId: data.aiRunId,
329
364
  fromStatus: AIRunStatus.Running,
365
+ expectedAttemptCount: data.attemptCount,
330
366
  set: {
331
367
  status: AIRunStatus.Queued,
368
+ codeFixRecommendation: AIRunCodeFixRecommendation.NotRecommended,
332
369
  errorMessage: `Attempt ${data.attemptCount} failed and the run was requeued: ${truncatedMessage}`,
333
370
  },
334
371
  });
@@ -341,8 +378,10 @@ export default class AIInvestigationQueue {
341
378
  const finalized = await AIRunService.attemptStatusTransition({
342
379
  aiRunId: data.aiRunId,
343
380
  fromStatus: AIRunStatus.Running,
381
+ expectedAttemptCount: data.attemptCount,
344
382
  set: {
345
383
  status: AIRunStatus.Error,
384
+ codeFixRecommendation: AIRunCodeFixRecommendation.NotRecommended,
346
385
  completedAt: OneUptimeDate.getCurrentDate(),
347
386
  errorMessage: truncatedMessage,
348
387
  },
@@ -366,8 +405,11 @@ export default class AIInvestigationQueue {
366
405
  const requeued = await AIRunService.attemptStatusTransition({
367
406
  aiRunId: run.id,
368
407
  fromStatus: AIRunStatus.Running,
408
+ expectedAttemptCount: run.attemptCount,
409
+ expectedLastHeartbeatAt: run.lastHeartbeatAt,
369
410
  set: {
370
411
  status: AIRunStatus.Queued,
412
+ codeFixRecommendation: AIRunCodeFixRecommendation.NotRecommended,
371
413
  errorMessage: `Attempt ${run.attemptCount} stopped reporting progress (the server processing it may have restarted) and the run was requeued.`,
372
414
  },
373
415
  });
@@ -378,8 +420,11 @@ export default class AIInvestigationQueue {
378
420
  const staled = await AIRunService.attemptStatusTransition({
379
421
  aiRunId: run.id,
380
422
  fromStatus: AIRunStatus.Running,
423
+ expectedAttemptCount: run.attemptCount,
424
+ expectedLastHeartbeatAt: run.lastHeartbeatAt,
381
425
  set: {
382
426
  status: AIRunStatus.Stale,
427
+ codeFixRecommendation: AIRunCodeFixRecommendation.NotRecommended,
383
428
  completedAt: OneUptimeDate.getCurrentDate(),
384
429
  errorMessage: "The run stopped reporting progress and was marked as stale after exhausting its retry attempts. The server processing it may have restarted.",
385
430
  },
@@ -390,8 +435,9 @@ export default class AIInvestigationQueue {
390
435
  */
391
436
  if (staled > 0) {
392
437
  await this.handOffSettledInvestigationToRemediation(run);
438
+ return "stale";
393
439
  }
394
- return "stale";
440
+ return "noop";
395
441
  }
396
442
  /*
397
443
  * Release a terminally-settled incident/alert investigation to the
@@ -435,29 +481,43 @@ export default class AIInvestigationQueue {
435
481
  * errors.
436
482
  */
437
483
  static async passesClaimGates(run) {
438
- var _a;
439
- // Per-project cap override, defaulting to 3 and clamped to [1, 25].
484
+ if (run.triggeredByIncidentId && run.triggeredByAlertId) {
485
+ logger.error(`AI: leaving run ${run.id.toString()} queued a run cannot belong to both an incident and an alert.`);
486
+ return false;
487
+ }
488
+ /*
489
+ * Each subject lane owns its own concurrency pool. Insight triage and any
490
+ * future subjectless queue work retain the legacy project-wide fallback.
491
+ */
440
492
  const project = await ProjectService.findOneById({
441
493
  id: run.projectId,
442
- select: { aiMaxConcurrentInvestigations: true },
494
+ select: {
495
+ aiMaxConcurrentInvestigations: true,
496
+ incidentAiMaxConcurrentInvestigations: true,
497
+ alertAiMaxConcurrentInvestigations: true,
498
+ },
443
499
  props: { isRoot: true },
444
500
  });
445
- const concurrencyCap = Math.min(MAX_CONCURRENT_INVESTIGATIONS, Math.max(MIN_CONCURRENT_INVESTIGATIONS, (_a = project === null || project === void 0 ? void 0 : project.aiMaxConcurrentInvestigations) !== null && _a !== void 0 ? _a : DEFAULT_MAX_CONCURRENT_INVESTIGATIONS));
501
+ let configuredConcurrencyCap = project === null || project === void 0 ? void 0 : project.aiMaxConcurrentInvestigations;
502
+ if (run.triggeredByIncidentId) {
503
+ configuredConcurrencyCap = project === null || project === void 0 ? void 0 : project.incidentAiMaxConcurrentInvestigations;
504
+ }
505
+ else if (run.triggeredByAlertId) {
506
+ configuredConcurrencyCap = project === null || project === void 0 ? void 0 : project.alertAiMaxConcurrentInvestigations;
507
+ }
508
+ const concurrencyCap = Math.min(MAX_CONCURRENT_INVESTIGATIONS, Math.max(MIN_CONCURRENT_INVESTIGATIONS, configuredConcurrencyCap !== null && configuredConcurrencyCap !== void 0 ? configuredConcurrencyCap : DEFAULT_MAX_CONCURRENT_INVESTIGATIONS));
509
+ const subjectLaneQuery = this.getSubjectLaneQuery(run);
446
510
  /*
447
511
  * Investigations, remediation plans and remediation executions share
448
- * the same per-project cap all are short and storm-shaped on
449
- * incident/alert creation, so one pool keeps the cost model simple.
512
+ * the cap inside their incident, alert or subjectless lane. Work in one
513
+ * lane never consumes another lane's concurrency slots.
450
514
  */
451
515
  const runningCount = (await AIRunService.countBy({
452
- query: {
453
- projectId: run.projectId,
454
- runType: QueryHelper.any([
516
+ query: Object.assign({ projectId: run.projectId, runType: QueryHelper.any([
455
517
  AIRunType.Investigation,
456
518
  AIRunType.RemediationPlan,
457
519
  AIRunType.RemediationExecution,
458
- ]),
459
- status: AIRunStatus.Running,
460
- },
520
+ ]), status: AIRunStatus.Running }, subjectLaneQuery),
461
521
  props: { isRoot: true },
462
522
  })).toNumber();
463
523
  if (runningCount >= concurrencyCap) {
@@ -472,10 +532,10 @@ export default class AIInvestigationQueue {
472
532
  * kinds share ONE combined sub-cap, so together they always leave the
473
533
  * reserved slot reachable. Floored at 1 so a project running at the
474
534
  * minimum cap of 1 still drains its background work (slower, one at a
475
- * time) instead of deadlocking the lane entirely — the interactive lane
476
- * keeps its priority through the global cap check above, which a single
477
- * running background run cannot outlast for long (both kinds are
478
- * read-only and short).
535
+ * time) instead of deadlocking the lane entirely — foreground work keeps
536
+ * its priority through the lane cap check above, which a single running
537
+ * background run cannot outlast for long (both kinds are read-only and
538
+ * short).
479
539
  */
480
540
  const isBackgroundLane = Boolean(run.triggeredByAiInsightId) ||
481
541
  run.runType === AIRunType.RemediationPlan ||
@@ -487,23 +547,14 @@ export default class AIInvestigationQueue {
487
547
  * are their own runType — the two counts never overlap.
488
548
  */
489
549
  const runningTriageCount = (await AIRunService.countBy({
490
- query: {
491
- projectId: run.projectId,
492
- runType: AIRunType.Investigation,
493
- status: AIRunStatus.Running,
494
- triggeredByAiInsightId: QueryHelper.notNull(),
495
- },
550
+ query: Object.assign({ projectId: run.projectId, runType: AIRunType.Investigation, status: AIRunStatus.Running, triggeredByAiInsightId: QueryHelper.notNull() }, subjectLaneQuery),
496
551
  props: { isRoot: true },
497
552
  })).toNumber();
498
553
  const runningPlanCount = (await AIRunService.countBy({
499
- query: {
500
- projectId: run.projectId,
501
- runType: QueryHelper.any([
554
+ query: Object.assign({ projectId: run.projectId, runType: QueryHelper.any([
502
555
  AIRunType.RemediationPlan,
503
556
  AIRunType.RemediationExecution,
504
- ]),
505
- status: AIRunStatus.Running,
506
- },
557
+ ]), status: AIRunStatus.Running }, subjectLaneQuery),
507
558
  props: { isRoot: true },
508
559
  })).toNumber();
509
560
  const runningBackgroundCount = runningTriageCount + runningPlanCount;
@@ -512,13 +563,39 @@ export default class AIInvestigationQueue {
512
563
  return false;
513
564
  }
514
565
  }
515
- const budget = await AIService.getAutonomousDailyBudgetStatus(run.projectId);
566
+ const budget = await AIService.getAutonomousDailyBudgetStatus(run.projectId, {
567
+ incidentId: run.triggeredByIncidentId,
568
+ alertId: run.triggeredByAlertId,
569
+ });
516
570
  if (budget.exhausted) {
517
571
  logger.debug(`AI: leaving run ${run.id.toString()} queued — daily autonomous token budget exhausted.`);
518
572
  return false;
519
573
  }
520
574
  return true;
521
575
  }
576
+ /*
577
+ * Scope queue counts to one independent lane. The concrete subject id is
578
+ * deliberately not compared: all incidents share the incident cap, all
579
+ * alerts share the alert cap, and subjectless work must have neither link.
580
+ */
581
+ static getSubjectLaneQuery(run) {
582
+ if (run.triggeredByIncidentId) {
583
+ return {
584
+ triggeredByIncidentId: QueryHelper.notNull(),
585
+ triggeredByAlertId: QueryHelper.isNull(),
586
+ };
587
+ }
588
+ if (run.triggeredByAlertId) {
589
+ return {
590
+ triggeredByIncidentId: QueryHelper.isNull(),
591
+ triggeredByAlertId: QueryHelper.notNull(),
592
+ };
593
+ }
594
+ return {
595
+ triggeredByIncidentId: QueryHelper.isNull(),
596
+ triggeredByAlertId: QueryHelper.isNull(),
597
+ };
598
+ }
522
599
  /*
523
600
  * The atomic claim: Queued -> Running, guarded on the attemptCount the
524
601
  * caller observed, so a stale queue snapshot can neither double-claim
@@ -556,6 +633,7 @@ export default class AIInvestigationQueue {
556
633
  await AIRunService.attemptStatusTransition({
557
634
  aiRunId: run.id,
558
635
  fromStatus: AIRunStatus.Running,
636
+ expectedAttemptCount: attempt,
559
637
  set: {
560
638
  status: AIRunStatus.Error,
561
639
  completedAt: OneUptimeDate.getCurrentDate(),
@@ -580,6 +658,7 @@ export default class AIInvestigationQueue {
580
658
  await AIRunService.attemptStatusTransition({
581
659
  aiRunId: run.id,
582
660
  fromStatus: AIRunStatus.Running,
661
+ expectedAttemptCount: attempt,
583
662
  set: {
584
663
  status: AIRunStatus.Error,
585
664
  completedAt: OneUptimeDate.getCurrentDate(),
@@ -650,6 +729,7 @@ export default class AIInvestigationQueue {
650
729
  await AIRunService.attemptStatusTransition({
651
730
  aiRunId: run.id,
652
731
  fromStatus: AIRunStatus.Running,
732
+ expectedAttemptCount: attempt,
653
733
  set: {
654
734
  status: AIRunStatus.Error,
655
735
  completedAt: OneUptimeDate.getCurrentDate(),
@@ -1 +1 @@
1
- {"version":3,"file":"InvestigationQueue.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/SRE/InvestigationQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InvestigationQueue.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/SRE/InvestigationQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import BadDataException from "../../../../Types/Exception/BadDataException";
2
+ import Semaphore from "../../../Infrastructure/Semaphore";
3
+ import logger from "../../Logger";
4
+ /*
5
+ * Investigation creation and FixFromIncident authorization must share one
6
+ * linearization point. Without it, a new Investigation can be inserted after
7
+ * a fix trigger's "latest run" read but before the CodeFix INSERT, allowing a
8
+ * task grounded in an analysis that is no longer authoritative.
9
+ */
10
+ export const INVESTIGATION_SUBJECT_LOCK_NAMESPACE = "InvestigationSubjectLifecycle";
11
+ export function getInvestigationSubjectLockKey(data) {
12
+ if (Boolean(data.incidentId) === Boolean(data.alertId)) {
13
+ throw new BadDataException("Exactly one incident or alert subject is required.");
14
+ }
15
+ const subjectKey = data.incidentId
16
+ ? `incident-${data.incidentId.toString()}`
17
+ : `alert-${data.alertId.toString()}`;
18
+ return `${data.projectId.toString()}-${subjectKey}`;
19
+ }
20
+ export default class InvestigationSubjectLock {
21
+ static async runExclusive(data, operation) {
22
+ const key = getInvestigationSubjectLockKey(data);
23
+ const mutex = await Semaphore.lock({
24
+ key,
25
+ namespace: INVESTIGATION_SUBJECT_LOCK_NAMESPACE,
26
+ lockTimeout: 30 * 1000,
27
+ acquireTimeout: 10 * 1000,
28
+ });
29
+ try {
30
+ return await operation();
31
+ }
32
+ finally {
33
+ try {
34
+ await Semaphore.release(mutex);
35
+ }
36
+ catch (error) {
37
+ /*
38
+ * The Redis mutex expires automatically. Do not hide the operation's
39
+ * result (or its more useful error) when best-effort release fails.
40
+ */
41
+ logger.error(`AI: failed to release the investigation subject lock ${key}; it will expire automatically: ${error}`);
42
+ }
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=InvestigationSubjectLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvestigationSubjectLock.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/SRE/InvestigationSubjectLock.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,SAA6B,MAAM,mCAAmC,CAAC;AAC9E,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,+BAA+B,CAAC;AAQlC,MAAM,UAAU,8BAA8B,CAC5C,IAAkC;IAElC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,gBAAgB,CACxB,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAW,IAAI,CAAC,UAAU;QACxC,CAAC,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE;QAC1C,CAAC,CAAC,SAAS,IAAI,CAAC,OAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAExC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,wBAAwB;IACpC,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,IAAkC,EAClC,SAA2B;QAE3B,MAAM,GAAG,GAAW,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,KAAK,GAAmB,MAAM,SAAS,CAAC,IAAI,CAAC;YACjD,GAAG;YACH,SAAS,EAAE,oCAAoC;YAC/C,WAAW,EAAE,EAAE,GAAG,IAAI;YACtB,cAAc,EAAE,EAAE,GAAG,IAAI;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf;;;mBAGG;gBACH,MAAM,CAAC,KAAK,CACV,wDAAwD,GAAG,mCAAmC,KAAK,EAAE,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -13,7 +13,9 @@ import { IncidentFeedEventType, } from "../../../../Models/DatabaseModels/Incide
13
13
  import { AlertFeedEventType, } from "../../../../Models/DatabaseModels/AlertFeed";
14
14
  import ObjectID from "../../../../Types/ObjectID";
15
15
  import SortOrder from "../../../../Types/BaseDatabase/SortOrder";
16
+ import QueryHelper from "../../../Types/Database/QueryHelper";
16
17
  import CaptureSpan from "../../Telemetry/CaptureSpan";
18
+ export const AI_ROOT_CAUSE_HEADING = "AI — Automated Root Cause Analysis";
17
19
  /*
18
20
  * The analysis an AI investigation posted for a subject.
19
21
  *
@@ -24,12 +26,42 @@ import CaptureSpan from "../../Telemetry/CaptureSpan";
24
26
  * where the analysis lives moves one place.
25
27
  */
26
28
  export default class PostedRootCause {
27
- static async getForIncident(incidentId) {
29
+ /*
30
+ * Resolve one run's report exactly. A narrow compatibility path keeps
31
+ * reports written before aiRunId was deployed visible. Deployment time is
32
+ * not the migration file's build timestamp, so compatibility cannot use a
33
+ * wall-clock cutover. Instead, only null-associated rows posted after the
34
+ * run completed and carrying the server's branded AI heading qualify.
35
+ */
36
+ static async getForInvestigation(data) {
37
+ const exactAnalysis = await this.getForSubject({
38
+ incidentId: data.incidentId,
39
+ alertId: data.alertId,
40
+ aiRunId: data.aiRunId,
41
+ });
42
+ if (exactAnalysis) {
43
+ return exactAnalysis;
44
+ }
45
+ if (!data.runCompletedAt) {
46
+ return null;
47
+ }
48
+ const legacyAnalysis = await this.getForSubject({
49
+ incidentId: data.incidentId,
50
+ alertId: data.alertId,
51
+ withoutAIRunId: true,
52
+ createdAtOrAfter: data.runCompletedAt,
53
+ });
54
+ return (legacyAnalysis === null || legacyAnalysis === void 0 ? void 0 : legacyAnalysis.includes(AI_ROOT_CAUSE_HEADING))
55
+ ? legacyAnalysis
56
+ : null;
57
+ }
58
+ static async getForIncident(incidentId, options) {
28
59
  const feedItem = await IncidentFeedService.findOneBy({
29
- query: {
30
- incidentId: incidentId,
31
- incidentFeedEventType: IncidentFeedEventType.RootCause,
32
- },
60
+ query: Object.assign(Object.assign(Object.assign({ incidentId: incidentId, incidentFeedEventType: IncidentFeedEventType.RootCause }, ((options === null || options === void 0 ? void 0 : options.aiRunId) ? { aiRunId: options.aiRunId } : {})), ((options === null || options === void 0 ? void 0 : options.withoutAIRunId) ? { aiRunId: QueryHelper.isNull() } : {})), ((options === null || options === void 0 ? void 0 : options.createdAtOrAfter)
61
+ ? {
62
+ createdAt: QueryHelper.greaterThanEqualTo(options.createdAtOrAfter),
63
+ }
64
+ : {})),
33
65
  select: {
34
66
  feedInfoInMarkdown: true,
35
67
  },
@@ -41,12 +73,13 @@ export default class PostedRootCause {
41
73
  const analysis = ((feedItem === null || feedItem === void 0 ? void 0 : feedItem.feedInfoInMarkdown) || "").trim();
42
74
  return analysis || null;
43
75
  }
44
- static async getForAlert(alertId) {
76
+ static async getForAlert(alertId, options) {
45
77
  const feedItem = await AlertFeedService.findOneBy({
46
- query: {
47
- alertId: alertId,
48
- alertFeedEventType: AlertFeedEventType.RootCause,
49
- },
78
+ query: Object.assign(Object.assign(Object.assign({ alertId: alertId, alertFeedEventType: AlertFeedEventType.RootCause }, ((options === null || options === void 0 ? void 0 : options.aiRunId) ? { aiRunId: options.aiRunId } : {})), ((options === null || options === void 0 ? void 0 : options.withoutAIRunId) ? { aiRunId: QueryHelper.isNull() } : {})), ((options === null || options === void 0 ? void 0 : options.createdAtOrAfter)
79
+ ? {
80
+ createdAt: QueryHelper.greaterThanEqualTo(options.createdAtOrAfter),
81
+ }
82
+ : {})),
50
83
  select: {
51
84
  feedInfoInMarkdown: true,
52
85
  },
@@ -60,10 +93,18 @@ export default class PostedRootCause {
60
93
  }
61
94
  static async getForSubject(data) {
62
95
  if (data.incidentId) {
63
- return PostedRootCause.getForIncident(data.incidentId);
96
+ return PostedRootCause.getForIncident(data.incidentId, {
97
+ aiRunId: data.aiRunId,
98
+ withoutAIRunId: data.withoutAIRunId,
99
+ createdAtOrAfter: data.createdAtOrAfter,
100
+ });
64
101
  }
65
102
  if (data.alertId) {
66
- return PostedRootCause.getForAlert(data.alertId);
103
+ return PostedRootCause.getForAlert(data.alertId, {
104
+ aiRunId: data.aiRunId,
105
+ withoutAIRunId: data.withoutAIRunId,
106
+ createdAtOrAfter: data.createdAtOrAfter,
107
+ });
67
108
  }
68
109
  return null;
69
110
  }
@@ -71,13 +112,19 @@ export default class PostedRootCause {
71
112
  __decorate([
72
113
  CaptureSpan(),
73
114
  __metadata("design:type", Function),
74
- __metadata("design:paramtypes", [ObjectID]),
115
+ __metadata("design:paramtypes", [Object]),
116
+ __metadata("design:returntype", Promise)
117
+ ], PostedRootCause, "getForInvestigation", null);
118
+ __decorate([
119
+ CaptureSpan(),
120
+ __metadata("design:type", Function),
121
+ __metadata("design:paramtypes", [ObjectID, Object]),
75
122
  __metadata("design:returntype", Promise)
76
123
  ], PostedRootCause, "getForIncident", null);
77
124
  __decorate([
78
125
  CaptureSpan(),
79
126
  __metadata("design:type", Function),
80
- __metadata("design:paramtypes", [ObjectID]),
127
+ __metadata("design:paramtypes", [ObjectID, Object]),
81
128
  __metadata("design:returntype", Promise)
82
129
  ], PostedRootCause, "getForAlert", null);
83
130
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"PostedRootCause.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/SRE/PostedRootCause.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAqB,EACnB,qBAAqB,GACtB,MAAM,gDAAgD,CAAC;AACxD,OAAkB,EAChB,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,SAAS,MAAM,0CAA0C,CAAC;AACjE,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAEd,AAAb,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,UAAoB;QAEpB,MAAM,QAAQ,GAAwB,MAAM,mBAAmB,CAAC,SAAS,CAAC;YACxE,KAAK,EAAE;gBACL,UAAU,EAAE,UAAU;gBACtB,qBAAqB,EAAE,qBAAqB,CAAC,SAAS;aACvD;YACD,MAAM,EAAE;gBACN,kBAAkB,EAAE,IAAI;aACzB;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,SAAS,CAAC,UAAU;aAChC;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAW,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,KAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAErE,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAGmB,AAAb,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAiB;QAC/C,MAAM,QAAQ,GAAqB,MAAM,gBAAgB,CAAC,SAAS,CAAC;YAClE,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,kBAAkB,EAAE,kBAAkB,CAAC,SAAS;aACjD;YACD,MAAM,EAAE;gBACN,kBAAkB,EAAE,IAAI;aACzB;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,SAAS,CAAC,UAAU;aAChC;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAW,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,KAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAErE,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAGmB,AAAb,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAGjC;QACC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1DqB;IADnB,WAAW,EAAE;;qCAEA,QAAQ;;2CAmBrB;AAGmB;IADnB,WAAW,EAAE;;qCAC2B,QAAQ;;wCAkBhD;AAGmB;IADnB,WAAW,EAAE;;;;0CAcb"}
1
+ {"version":3,"file":"PostedRootCause.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/SRE/PostedRootCause.ts"],"names":[],"mappings":"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"}