@oneuptime/common 11.4.1 → 11.5.0

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 (321) hide show
  1. package/Models/DatabaseModels/AIRun.ts +50 -0
  2. package/Models/DatabaseModels/AlertSeverity.ts +6 -0
  3. package/Models/DatabaseModels/IncidentSeverity.ts +6 -0
  4. package/Models/DatabaseModels/Index.ts +16 -0
  5. package/Models/DatabaseModels/IoTDeviceCredential.ts +471 -0
  6. package/Models/DatabaseModels/LlmLog.ts +56 -0
  7. package/Models/DatabaseModels/LlmProvider.ts +33 -0
  8. package/Models/DatabaseModels/NetworkDevice.ts +1385 -0
  9. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +717 -0
  10. package/Models/DatabaseModels/NetworkDeviceLabelRule.ts +514 -0
  11. package/Models/DatabaseModels/NetworkDeviceOwnerRule.ts +596 -0
  12. package/Models/DatabaseModels/NetworkDeviceOwnerTeam.ts +487 -0
  13. package/Models/DatabaseModels/NetworkDeviceOwnerUser.ts +486 -0
  14. package/Models/DatabaseModels/NetworkInterface.ts +563 -0
  15. package/Models/DatabaseModels/Project.ts +145 -0
  16. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +54 -0
  17. package/Server/API/AIInvestigationAPI.ts +131 -63
  18. package/Server/API/AlertAPI.ts +5 -0
  19. package/Server/API/IncidentAPI.ts +10 -0
  20. package/Server/API/IncidentEpisodeAPI.ts +5 -0
  21. package/Server/API/LlmProviderAPI.ts +4 -0
  22. package/Server/API/ScheduledMaintenanceAPI.ts +5 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.ts +19 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.ts +25 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.ts +31 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.ts +19 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.ts +105 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.ts +15 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.ts +192 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.ts +37 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.ts +19 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.ts +25 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.ts +31 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.ts +79 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.ts +49 -0
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +24 -0
  37. package/Server/Services/AIRunService.ts +58 -0
  38. package/Server/Services/AIService.ts +101 -0
  39. package/Server/Services/IncidentService.ts +14 -41
  40. package/Server/Services/Index.ts +14 -0
  41. package/Server/Services/IoTDeviceCredentialService.ts +351 -0
  42. package/Server/Services/IoTDeviceService.ts +64 -21
  43. package/Server/Services/LlmLogService.ts +26 -0
  44. package/Server/Services/LlmProviderService.ts +3 -0
  45. package/Server/Services/MonitorService.ts +4 -1
  46. package/Server/Services/NetworkDeviceDiscoveryScanService.ts +10 -0
  47. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +204 -0
  48. package/Server/Services/NetworkDeviceLabelRuleService.ts +14 -0
  49. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +222 -0
  50. package/Server/Services/NetworkDeviceOwnerRuleService.ts +14 -0
  51. package/Server/Services/NetworkDeviceOwnerTeamService.ts +10 -0
  52. package/Server/Services/NetworkDeviceOwnerUserService.ts +10 -0
  53. package/Server/Services/NetworkDeviceService.ts +50 -0
  54. package/Server/Services/NetworkInterfaceService.ts +10 -0
  55. package/Server/Services/TelemetryEntityRelationshipService.ts +23 -0
  56. package/Server/Services/TelemetryEntityService.ts +72 -2
  57. package/Server/Utils/AI/Sentinel/AlertInvestigationRunner.ts +244 -12
  58. package/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.ts +92 -19
  59. package/Server/Utils/AI/Sentinel/InvestigationQueue.ts +493 -0
  60. package/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.ts +88 -68
  61. package/Server/Utils/AI/Toolbox/Index.ts +2 -1
  62. package/Server/Utils/AI/Toolbox/MetricTools.ts +391 -0
  63. package/Server/Utils/LLM/LLMService.ts +21 -0
  64. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +170 -2
  65. package/Server/Utils/Monitor/IoTDeviceAbsenceSeries.ts +101 -0
  66. package/Server/Utils/Monitor/MonitorAlert.ts +15 -3
  67. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +1 -1
  68. package/Server/Utils/Monitor/MonitorIncident.ts +19 -3
  69. package/Server/Utils/Monitor/MonitorMetricUtil.ts +87 -0
  70. package/Server/Utils/Monitor/MonitorResource.ts +77 -21
  71. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -1
  72. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +201 -0
  73. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +215 -0
  74. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +169 -0
  75. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +173 -0
  76. package/Tests/Server/Services/IncidentInternalNoteAnnouncement.test.ts +97 -0
  77. package/Tests/Server/Services/IoTDeviceService.test.ts +54 -0
  78. package/Tests/Server/Utils/AI/BaselineAnomalyTool.test.ts +253 -0
  79. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +44 -0
  80. package/Tests/Server/Utils/AI/SentinelAlertGating.test.ts +360 -0
  81. package/Tests/Server/Utils/AI/SentinelInvestigationQueue.test.ts +295 -0
  82. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +59 -0
  83. package/Tests/Server/Utils/Monitor/IoTDeviceAbsenceSeries.test.ts +113 -0
  84. package/Tests/Server/Utils/Monitor/PerSeriesRecoveryResolution.test.ts +198 -0
  85. package/Tests/Types/Monitor/MonitorType.test.ts +1 -1
  86. package/Tests/Utils/Monitor/LatencyMatrixUtil.test.ts +111 -0
  87. package/Types/AI/AIRunStatus.ts +9 -0
  88. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +0 -1
  89. package/Types/Dashboard/DashboardComponents/DashboardLogChartComponent.ts +8 -3
  90. package/Types/LlmLogStatus.ts +1 -0
  91. package/Types/Monitor/CriteriaFilter.ts +5 -0
  92. package/Types/Monitor/IotAlertTemplates.ts +22 -3
  93. package/Types/Monitor/LatencyMatrix.ts +27 -0
  94. package/Types/Monitor/MonitorCriteriaInstance.ts +2 -2
  95. package/Types/Monitor/MonitorMetricType.ts +10 -0
  96. package/Types/Monitor/MonitorStep.ts +36 -11
  97. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +55 -0
  98. package/Types/Monitor/MonitorStepSnmpMonitor.ts +8 -0
  99. package/Types/Monitor/MonitorType.ts +14 -9
  100. package/Types/Monitor/SnmpMonitor/LldpNeighbor.ts +12 -0
  101. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +116 -0
  102. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +29 -0
  103. package/Types/Monitor/SnmpMonitor/SnmpInterface.ts +31 -0
  104. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +24 -0
  105. package/Types/Monitor/SnmpMonitor/SnmpTrap.ts +20 -0
  106. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +173 -0
  107. package/Types/Permission.ts +314 -0
  108. package/Types/Probe/ProbeMonitorResponse.ts +8 -0
  109. package/UI/Components/Icon/Icon.tsx +8 -6
  110. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +2 -2
  111. package/UI/Components/Tabs/Tabs.tsx +10 -1
  112. package/UI/Utils/Navigation.ts +10 -1
  113. package/Utils/Dashboard/Components/DashboardLogChartComponent.ts +16 -21
  114. package/Utils/Monitor/LatencyMatrixUtil.ts +162 -0
  115. package/Utils/Monitor/MonitorMetricType.ts +71 -1
  116. package/Utils/Monitor/NetworkTopologyUtil.ts +159 -0
  117. package/Utils/Telemetry/EntityRelationship.ts +11 -0
  118. package/build/dist/Models/DatabaseModels/AIRun.js +52 -0
  119. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/AlertSeverity.js +6 -0
  121. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  122. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +6 -0
  123. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/Index.js +16 -0
  125. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  126. package/build/dist/Models/DatabaseModels/IoTDeviceCredential.js +493 -0
  127. package/build/dist/Models/DatabaseModels/IoTDeviceCredential.js.map +1 -0
  128. package/build/dist/Models/DatabaseModels/LlmLog.js +58 -0
  129. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
  130. package/build/dist/Models/DatabaseModels/LlmProvider.js +33 -0
  131. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  132. package/build/dist/Models/DatabaseModels/NetworkDevice.js +1426 -0
  133. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -0
  134. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +738 -0
  135. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -0
  136. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js +522 -0
  137. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js.map +1 -0
  138. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js +603 -0
  139. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js.map +1 -0
  140. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js +503 -0
  141. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js.map +1 -0
  142. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js +502 -0
  143. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js.map +1 -0
  144. package/build/dist/Models/DatabaseModels/NetworkInterface.js +589 -0
  145. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -0
  146. package/build/dist/Models/DatabaseModels/Project.js +147 -0
  147. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  148. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +57 -0
  149. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -1
  150. package/build/dist/Server/API/AIInvestigationAPI.js +95 -55
  151. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  152. package/build/dist/Server/API/AlertAPI.js +5 -0
  153. package/build/dist/Server/API/AlertAPI.js.map +1 -1
  154. package/build/dist/Server/API/IncidentAPI.js +10 -0
  155. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  156. package/build/dist/Server/API/IncidentEpisodeAPI.js +5 -0
  157. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
  158. package/build/dist/Server/API/LlmProviderAPI.js +5 -7
  159. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
  160. package/build/dist/Server/API/ScheduledMaintenanceAPI.js +5 -0
  161. package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
  162. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.js +12 -0
  163. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.js.map +1 -0
  164. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.js +14 -0
  165. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.js.map +1 -0
  166. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.js +18 -0
  167. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.js.map +1 -0
  168. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.js +12 -0
  169. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.js.map +1 -0
  170. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.js +51 -0
  171. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.js.map +1 -0
  172. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.js +12 -0
  173. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.js.map +1 -0
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.js +101 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.js.map +1 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.js +18 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.js.map +1 -0
  178. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.js +12 -0
  179. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.js.map +1 -0
  180. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.js +14 -0
  181. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.js.map +1 -0
  182. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.js +16 -0
  183. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.js.map +1 -0
  184. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.js +38 -0
  185. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.js.map +1 -0
  186. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.js +22 -0
  187. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.js.map +1 -0
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +24 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  190. package/build/dist/Server/Services/AIRunService.js +33 -0
  191. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  192. package/build/dist/Server/Services/AIService.js +82 -9
  193. package/build/dist/Server/Services/AIService.js.map +1 -1
  194. package/build/dist/Server/Services/IncidentService.js +14 -25
  195. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  196. package/build/dist/Server/Services/Index.js +14 -0
  197. package/build/dist/Server/Services/Index.js.map +1 -1
  198. package/build/dist/Server/Services/IoTDeviceCredentialService.js +321 -0
  199. package/build/dist/Server/Services/IoTDeviceCredentialService.js.map +1 -0
  200. package/build/dist/Server/Services/IoTDeviceService.js +49 -15
  201. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -1
  202. package/build/dist/Server/Services/LlmLogService.js +29 -0
  203. package/build/dist/Server/Services/LlmLogService.js.map +1 -1
  204. package/build/dist/Server/Services/LlmProviderService.js +3 -0
  205. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  206. package/build/dist/Server/Services/MonitorService.js +2 -1
  207. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  208. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +9 -0
  209. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -0
  210. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +166 -0
  211. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -0
  212. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js +13 -0
  213. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js.map +1 -0
  214. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +186 -0
  215. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -0
  216. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js +13 -0
  217. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js.map +1 -0
  218. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js +9 -0
  219. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js.map +1 -0
  220. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js +9 -0
  221. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js.map +1 -0
  222. package/build/dist/Server/Services/NetworkDeviceService.js +52 -0
  223. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -0
  224. package/build/dist/Server/Services/NetworkInterfaceService.js +9 -0
  225. package/build/dist/Server/Services/NetworkInterfaceService.js.map +1 -0
  226. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +22 -0
  227. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -1
  228. package/build/dist/Server/Services/TelemetryEntityService.js +64 -2
  229. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -1
  230. package/build/dist/Server/Utils/AI/Sentinel/AlertInvestigationRunner.js +189 -9
  231. package/build/dist/Server/Utils/AI/Sentinel/AlertInvestigationRunner.js.map +1 -1
  232. package/build/dist/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.js +84 -17
  233. package/build/dist/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.js.map +1 -1
  234. package/build/dist/Server/Utils/AI/Sentinel/InvestigationQueue.js +428 -0
  235. package/build/dist/Server/Utils/AI/Sentinel/InvestigationQueue.js.map +1 -0
  236. package/build/dist/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.js +63 -47
  237. package/build/dist/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.js.map +1 -1
  238. package/build/dist/Server/Utils/AI/Toolbox/Index.js +2 -1
  239. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  240. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js +300 -0
  241. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js.map +1 -1
  242. package/build/dist/Server/Utils/LLM/LLMService.js +16 -0
  243. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  244. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +130 -2
  245. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  246. package/build/dist/Server/Utils/Monitor/IoTDeviceAbsenceSeries.js +81 -0
  247. package/build/dist/Server/Utils/Monitor/IoTDeviceAbsenceSeries.js.map +1 -0
  248. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +18 -7
  249. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  250. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +1 -1
  251. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  252. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +25 -10
  253. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  254. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +69 -3
  255. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  256. package/build/dist/Server/Utils/Monitor/MonitorResource.js +76 -30
  257. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  258. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +1 -1
  259. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  260. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +147 -0
  261. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -0
  262. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +167 -0
  263. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -0
  264. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +93 -0
  265. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -0
  266. package/build/dist/Types/AI/AIRunStatus.js +9 -0
  267. package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
  268. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +0 -1
  269. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  270. package/build/dist/Types/LlmLogStatus.js +1 -0
  271. package/build/dist/Types/LlmLogStatus.js.map +1 -1
  272. package/build/dist/Types/Monitor/CriteriaFilter.js +5 -0
  273. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  274. package/build/dist/Types/Monitor/IotAlertTemplates.js +7 -7
  275. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -1
  276. package/build/dist/Types/Monitor/LatencyMatrix.js +2 -0
  277. package/build/dist/Types/Monitor/LatencyMatrix.js.map +1 -0
  278. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +2 -2
  279. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  280. package/build/dist/Types/Monitor/MonitorMetricType.js +9 -0
  281. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  282. package/build/dist/Types/Monitor/MonitorStep.js +22 -9
  283. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  284. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +36 -0
  285. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -0
  286. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js +3 -0
  287. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js.map +1 -1
  288. package/build/dist/Types/Monitor/MonitorType.js +14 -9
  289. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  290. package/build/dist/Types/Monitor/SnmpMonitor/LldpNeighbor.js +2 -0
  291. package/build/dist/Types/Monitor/SnmpMonitor/LldpNeighbor.js.map +1 -0
  292. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +89 -0
  293. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -0
  294. package/build/dist/Types/Monitor/SnmpMonitor/NetworkTopology.js +2 -0
  295. package/build/dist/Types/Monitor/SnmpMonitor/NetworkTopology.js.map +1 -0
  296. package/build/dist/Types/Monitor/SnmpMonitor/SnmpInterface.js +2 -0
  297. package/build/dist/Types/Monitor/SnmpMonitor/SnmpInterface.js.map +1 -0
  298. package/build/dist/Types/Monitor/SnmpMonitor/SnmpTrap.js +2 -0
  299. package/build/dist/Types/Monitor/SnmpMonitor/SnmpTrap.js.map +1 -0
  300. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +137 -0
  301. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -0
  302. package/build/dist/Types/Permission.js +280 -0
  303. package/build/dist/Types/Permission.js.map +1 -1
  304. package/build/dist/UI/Components/Icon/Icon.js +8 -6
  305. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  306. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +2 -2
  307. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  308. package/build/dist/UI/Components/Tabs/Tabs.js +3 -1
  309. package/build/dist/UI/Components/Tabs/Tabs.js.map +1 -1
  310. package/build/dist/UI/Utils/Navigation.js +11 -1
  311. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  312. package/build/dist/Utils/Dashboard/Components/DashboardLogChartComponent.js +17 -20
  313. package/build/dist/Utils/Dashboard/Components/DashboardLogChartComponent.js.map +1 -1
  314. package/build/dist/Utils/Monitor/LatencyMatrixUtil.js +89 -0
  315. package/build/dist/Utils/Monitor/LatencyMatrixUtil.js.map +1 -0
  316. package/build/dist/Utils/Monitor/MonitorMetricType.js +68 -1
  317. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  318. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +112 -0
  319. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -0
  320. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
  321. package/package.json +1 -1
@@ -9,15 +9,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import ObjectID from "../../../../Types/ObjectID";
11
11
  import OneUptimeDate from "../../../../Types/Date";
12
- import AIRunType from "../../../../Types/AI/AIRunType";
13
12
  import AIRunStatus from "../../../../Types/AI/AIRunStatus";
14
13
  import AIRunEventType from "../../../../Types/AI/AIRunEventType";
15
- import AIRun from "../../../../Models/DatabaseModels/AIRun";
16
14
  import AIRunEvent from "../../../../Models/DatabaseModels/AIRunEvent";
17
15
  import AIRunService from "../../../Services/AIRunService";
18
16
  import AIRunEventService from "../../../Services/AIRunEventService";
19
17
  import ProjectService from "../../../Services/ProjectService";
20
18
  import LlmProviderService from "../../../Services/LlmProviderService";
19
+ import SentinelInvestigationQueue from "./InvestigationQueue";
21
20
  import ObservabilityAssistant from "../Chat/ObservabilityAssistant";
22
21
  import logger from "../../Logger";
23
22
  import CaptureSpan from "../../Telemetry/CaptureSpan";
@@ -47,6 +46,12 @@ const MAX_OUTPUT_TOKENS = 2000;
47
46
  * a non-answer should never loudly page the on-call.
48
47
  */
49
48
  const INCONCLUSIVE_RE = /inconclusive[^.\n]*insufficient signal/i;
49
+ /*
50
+ * Failures a retry cannot fix within the run's usefulness window: missing/
51
+ * broken provider configuration and budget exhaustion (both messages minted
52
+ * by our own gating in AIService/LLMService, so they are stable to match).
53
+ */
54
+ const PERMANENT_FAILURE_RE = /no llm provider configured|llm provider type is not configured|token budget exhausted/i;
50
55
  // Maps a live agent step to the AIRunEvent type persisted for the glass-box trail.
51
56
  const STEP_EVENT_TYPE = {
52
57
  llm_started: AIRunEventType.LlmCallStarted,
@@ -59,7 +64,7 @@ const INVESTIGATION_PERSONA = `You are "Sentinel", OneUptime's autonomous AI Sit
59
64
 
60
65
  Investigate like a senior on-call engineer:
61
66
  - Start from the affected monitors/services named in the signal.
62
- - Use your read tools to inspect the telemetry AROUND the signal's creation time: recent exceptions and their trends, error/latency metrics versus their normal range, failing traces, relevant logs, and recent changes / deploys.
67
+ - Use your read tools to inspect the telemetry AROUND the signal's creation time: recent exceptions and their trends, error/latency metrics versus their normal range (use baseline_anomaly to judge a metric against its learned hour-of-week baseline quantitatively instead of eyeballing), failing traces, relevant logs, and recent changes / deploys.
63
68
  - Form the single most likely root-cause hypothesis. If the evidence is inconclusive, say so plainly and list what you checked — do NOT guess a cause the data does not support.
64
69
  - If the context lists past resolved incidents, check whether this is a RECURRENCE. If the current signal matches one, say so explicitly, reference that incident number, and note how it was resolved before — but still verify against the current telemetry.
65
70
 
@@ -107,37 +112,27 @@ export default class SentinelInvestigationEngine {
107
112
  return true;
108
113
  }
109
114
  /*
110
- * Run one investigation end-to-end. Never throws — failures are logged and
111
- * recorded on the AIRun.
115
+ * Execute an already-CLAIMED (Running) investigation run end-to-end.
116
+ * Called by SentinelInvestigationQueue after a successful CAS claim —
117
+ * cap/budget gating and run creation live in the queue now. Never throws;
118
+ * failures are handed to the queue's retry policy (failOrRequeue).
112
119
  */
113
- static async investigate(request) {
114
- const { projectId } = request;
115
- // Record the run up front so it is auditable even if it fails.
116
- const run = new AIRun();
117
- run.projectId = projectId;
118
- run.runType = AIRunType.Investigation;
119
- run.status = AIRunStatus.Running;
120
- run.startedAt = OneUptimeDate.getCurrentDate();
121
- run.lastHeartbeatAt = OneUptimeDate.getCurrentDate();
122
- if (request.subjectIncidentId) {
123
- run.triggeredByIncidentId = request.subjectIncidentId;
124
- }
125
- if (request.subjectAlertId) {
126
- run.triggeredByAlertId = request.subjectAlertId;
127
- }
128
- let createdRun;
120
+ static async executeRun(data) {
121
+ const { aiRunId, projectId, request } = data;
122
+ /*
123
+ * Retried runs already have events from earlier attempts; continue the
124
+ * sequence so the glass-box trail stays ordered and shows every attempt.
125
+ */
126
+ let sequence = 0;
129
127
  try {
130
- createdRun = await AIRunService.create({
131
- data: run,
128
+ sequence = (await AIRunEventService.countBy({
129
+ query: { aiRunId },
132
130
  props: { isRoot: true },
133
- });
131
+ })).toNumber();
134
132
  }
135
133
  catch (error) {
136
- logger.error(`Sentinel: failed to create investigation run: ${error}`);
137
- return;
134
+ logger.error(`Sentinel: failed to read event count for run ${aiRunId.toString()}; starting sequence at 0: ${error}`);
138
135
  }
139
- const aiRunId = createdRun.id;
140
- let sequence = 0;
141
136
  await this.emitEvent({
142
137
  projectId,
143
138
  aiRunId,
@@ -168,10 +163,12 @@ export default class SentinelInvestigationEngine {
168
163
  resultSummary,
169
164
  citationId: step.citationId,
170
165
  });
171
- // Keep the run visibly alive for the stale-run sweeper + live UI.
172
- if (step.type === "llm_started") {
173
- await this.touchHeartbeat(aiRunId);
174
- }
166
+ /*
167
+ * Keep the run visibly alive for the stale-run sweeper + live UI on
168
+ * EVERY step — a slow self-hosted LLM call can approach the sweeper's
169
+ * timeout, so the heartbeat must be as frequent as we can make it.
170
+ */
171
+ await this.touchHeartbeat(aiRunId);
175
172
  };
176
173
  try {
177
174
  const result = await ObservabilityAssistant.answerQuestion({
@@ -187,9 +184,18 @@ export default class SentinelInvestigationEngine {
187
184
  maxOutputTokens: MAX_OUTPUT_TOKENS,
188
185
  onStep,
189
186
  });
190
- await AIRunService.updateOneBy({
191
- query: { _id: aiRunId.toString(), status: AIRunStatus.Running },
192
- data: {
187
+ /*
188
+ * Atomic Running -> Completed. If we did NOT win this transition,
189
+ * another actor moved the run while we executed — most likely the
190
+ * stale sweeper falsely requeued it (slow LLM call outlasting the
191
+ * heartbeat window) and a second attempt is or will be running. In
192
+ * that case DO NOT post the analysis: the winning attempt will, and
193
+ * posting here would duplicate the RCA in the feed and workspace.
194
+ */
195
+ const completedCount = await AIRunService.attemptStatusTransition({
196
+ aiRunId,
197
+ fromStatus: AIRunStatus.Running,
198
+ set: {
193
199
  status: AIRunStatus.Completed,
194
200
  completedAt: OneUptimeDate.getCurrentDate(),
195
201
  lastHeartbeatAt: OneUptimeDate.getCurrentDate(),
@@ -197,8 +203,11 @@ export default class SentinelInvestigationEngine {
197
203
  toolCallCount: result.toolCallCount,
198
204
  totalTokens: result.totalTokens,
199
205
  },
200
- props: { isRoot: true },
201
206
  });
207
+ if (completedCount === 0) {
208
+ logger.warn(`Sentinel: run ${aiRunId.toString()} finished but was no longer Running (likely requeued as stale mid-flight); skipping postAnalysis to avoid a duplicate RCA.`);
209
+ return;
210
+ }
202
211
  await this.emitEvent({
203
212
  projectId,
204
213
  aiRunId,
@@ -220,22 +229,29 @@ export default class SentinelInvestigationEngine {
220
229
  }
221
230
  catch (error) {
222
231
  const message = error instanceof Error ? error.message : String(error);
223
- await AIRunService.updateOneBy({
224
- query: { _id: aiRunId.toString(), status: AIRunStatus.Running },
225
- data: {
226
- status: AIRunStatus.Error,
227
- completedAt: OneUptimeDate.getCurrentDate(),
228
- errorMessage: message.substring(0, 480),
229
- },
230
- props: { isRoot: true },
231
- });
232
232
  await this.emitEvent({
233
233
  projectId,
234
234
  aiRunId,
235
235
  sequence: sequence++,
236
236
  eventType: AIRunEventType.RunFailed,
237
237
  });
238
- logger.error(`Sentinel: investigation failed (run ${aiRunId.toString()}): ${message}`);
238
+ /*
239
+ * Hand the failure to the queue's retry policy: transient errors
240
+ * requeue while attempts remain; permanent ones finalize as Error
241
+ * since retrying cannot help. Classification is by message, NOT by
242
+ * exception type: LLMService wraps transient provider failures (429s,
243
+ * 5xx, timeouts) in BadDataException too, so type-based classification
244
+ * would wrongly make the exact failures retries exist for permanent.
245
+ * Only configuration/budget gating — which a retry cannot change
246
+ * within the run's usefulness window — counts as permanent.
247
+ */
248
+ await SentinelInvestigationQueue.failOrRequeue({
249
+ aiRunId,
250
+ attemptCount: data.attemptCount,
251
+ errorMessage: message,
252
+ isPermanent: PERMANENT_FAILURE_RE.test(message),
253
+ });
254
+ logger.error(`Sentinel: investigation attempt ${data.attemptCount} failed (run ${aiRunId.toString()}): ${message}`);
239
255
  }
240
256
  }
241
257
  // Wrap the agent's analysis with Sentinel branding + an evidence list.
@@ -307,5 +323,5 @@ __decorate([
307
323
  __metadata("design:type", Function),
308
324
  __metadata("design:paramtypes", [Object]),
309
325
  __metadata("design:returntype", Promise)
310
- ], SentinelInvestigationEngine, "investigate", null);
326
+ ], SentinelInvestigationEngine, "executeRun", null);
311
327
  //# sourceMappingURL=SentinelInvestigationEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelInvestigationEngine.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Sentinel/SentinelInvestigationEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SentinelInvestigationEngine.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Sentinel/SentinelInvestigationEngine.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { QueryMonitorsTool } from "./MonitorTools";
7
7
  import { TopExceptionsTool } from "./ExceptionTools";
8
8
  import { LogHistogramTool, SearchLogsTool } from "./LogTools";
9
9
  import { RecentChangesTool } from "./RecentChangesTools";
10
- import { QueryMetricsTool } from "./MetricTools";
10
+ import { BaselineAnomalyTool, QueryMetricsTool } from "./MetricTools";
11
11
  import { GetTraceTool, QueryTracesTool } from "./TraceTools";
12
12
  import { LookupContextTool } from "./ContextTools";
13
13
  import { AcknowledgeIncidentTool, CreateIncidentTool, ResolveIncidentTool, } from "./IncidentWriteTools";
@@ -138,6 +138,7 @@ AIToolbox.tools = [
138
138
  SearchLogsTool,
139
139
  LogHistogramTool,
140
140
  QueryMetricsTool,
141
+ BaselineAnomalyTool,
141
142
  QueryTracesTool,
142
143
  GetTraceTool,
143
144
  RecentChangesTool,
@@ -1 +1 @@
1
- {"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/Index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/Index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
+ import Metric from "../../../../Models/AnalyticsModels/Metric";
1
2
  import AggregationType from "../../../../Types/BaseDatabase/AggregationType";
3
+ import DatabaseRequestType from "../../../Types/BaseDatabase/DatabaseRequestType";
4
+ import ModelPermission from "../../../Types/AnalyticsDatabase/ModelPermission";
2
5
  import InBetween from "../../../../Types/BaseDatabase/InBetween";
3
6
  import Permission from "../../../../Types/Permission";
4
7
  import BadDataException from "../../../../Types/Exception/BadDataException";
5
8
  import { AIChatCitationTargetType, } from "../../../../Types/AI/AIChatTypes";
6
9
  import MetricService from "../../../Services/MetricService";
10
+ import MetricBaselineService, { MetricBaselineService as MetricBaselineServiceClass, } from "../../../Services/MetricBaselineService";
7
11
  import ToolResultSerializer from "./Serializer";
8
12
  import WidgetBuilder from "./WidgetBuilder";
9
13
  import OneUptimeDate from "../../../../Types/Date";
@@ -117,4 +121,300 @@ export const QueryMetricsTool = {
117
121
  };
118
122
  },
119
123
  };
124
+ // The recent window whose average is judged against the baseline band.
125
+ const BASELINE_CURRENT_WINDOW_MINUTES = 15;
126
+ // Lookback rendered on the expected-range band chart.
127
+ const BASELINE_CHART_HOURS = 6;
128
+ export const BaselineAnomalyTool = {
129
+ name: "baseline_anomaly",
130
+ description: "Judge whether a metric is currently anomalous versus its learned hour-of-week baseline (rolling-window mean ± sigma band, the same math the anomaly monitors use). Answers 'is this value NORMAL for this metric at this time of week?' quantitatively — use it instead of eyeballing query_metrics output. Requires the exact metric name — discover names via lookup_context.",
131
+ inputSchema: {
132
+ type: "object",
133
+ properties: {
134
+ metricName: {
135
+ type: "string",
136
+ description: "Exact metric name (required).",
137
+ },
138
+ entityId: {
139
+ type: "string",
140
+ description: "Only data points from this service/host/monitor (its OneUptime ID). When omitted, the baseline spans every entity that ingests the metric.",
141
+ },
142
+ atTime: {
143
+ type: "string",
144
+ description: "Evaluate at this ISO 8601 timestamp (e.g. the signal's creation time). Defaults to now.",
145
+ },
146
+ sensitivity: {
147
+ type: "string",
148
+ enum: ["Low", "Medium", "High"],
149
+ description: "Band width: Low = 4 sigma (fewest anomalies), Medium = 3 sigma (default), High = 2 sigma.",
150
+ },
151
+ windowDays: {
152
+ type: "number",
153
+ enum: [...MetricBaselineServiceClass.WINDOW_DAYS_OPTIONS],
154
+ description: "Rolling baseline window in days (default 14).",
155
+ },
156
+ },
157
+ required: ["metricName"],
158
+ },
159
+ requiredPermissions: METRIC_READ_PERMISSIONS,
160
+ execute: async (args, ctx) => {
161
+ const metricName = ToolArgs.getString(args, "metricName");
162
+ if (!metricName) {
163
+ throw new BadDataException("metricName is required. Use lookup_context with type 'metricNames' to discover metric names.");
164
+ }
165
+ const entityId = ToolArgs.getObjectID(args, "entityId");
166
+ let atTime = OneUptimeDate.getCurrentDate();
167
+ const atTimeString = ToolArgs.getString(args, "atTime");
168
+ if (atTimeString) {
169
+ const parsed = new Date(atTimeString);
170
+ if (isNaN(parsed.getTime())) {
171
+ throw new BadDataException(`atTime "${atTimeString}" is not a valid ISO 8601 timestamp (e.g. 2024-01-31T14:00:00Z).`);
172
+ }
173
+ atTime = parsed;
174
+ }
175
+ const sensitivityString = ToolArgs.getString(args, "sensitivity") || "Medium";
176
+ if (!["Low", "Medium", "High"].includes(sensitivityString)) {
177
+ throw new BadDataException(`Invalid sensitivity: ${sensitivityString}. Must be Low, Medium or High.`);
178
+ }
179
+ const sensitivity = sensitivityString;
180
+ const requestedWindowDays = ToolArgs.getNumber(args, "windowDays", {
181
+ defaultValue: MetricBaselineServiceClass.DEFAULT_WINDOW_DAYS,
182
+ min: MetricBaselineServiceClass.DEFAULT_WINDOW_DAYS,
183
+ max: MetricBaselineServiceClass.MAX_WINDOW_DAYS,
184
+ });
185
+ // Snap to the supported window options (they match the table's TTL).
186
+ const windowDays = [...MetricBaselineServiceClass.WINDOW_DAYS_OPTIONS]
187
+ .reverse()
188
+ .find((option) => {
189
+ return option <= requestedWindowDays;
190
+ }) || MetricBaselineServiceClass.DEFAULT_WINDOW_DAYS;
191
+ /*
192
+ * The baseline queries are raw ClickHouse SQL scoped only by projectId —
193
+ * they skip the model layer's owned-scope filter. A label/owned-restricted
194
+ * user must therefore be pinned to one of THEIR services: project-wide
195
+ * baselines (no entityId) and other services' baselines are refused, the
196
+ * same posture as the other raw-SQL tools (see LogTools/TraceTools).
197
+ */
198
+ const accessibleServiceIds = await ModelPermission.getAccessibleServiceIdsForAnalyticsModel(Metric, ctx.props, DatabaseRequestType.Read);
199
+ if (accessibleServiceIds !== null) {
200
+ const isEntityAccessible = Boolean(entityId &&
201
+ accessibleServiceIds.some((id) => {
202
+ return id.toString() === entityId.toString();
203
+ }));
204
+ if (!isEntityAccessible) {
205
+ throw new BadDataException("Your telemetry access is scoped to specific services, so a project-wide baseline is not available. Pass entityId set to the OneUptime ID of a service you can read (discover them via lookup_context).");
206
+ }
207
+ }
208
+ const hourOfWeek = MetricBaselineServiceClass.computeHourOfWeek(atTime);
209
+ const baseline = await MetricBaselineService.getBaseline({
210
+ projectId: ctx.projectId,
211
+ metricName,
212
+ primaryEntityId: entityId,
213
+ hourOfWeek,
214
+ windowDays,
215
+ });
216
+ const citationLabel = `baseline_anomaly(${metricName}${entityId ? ` · ${entityId.toString()}` : ""}) @ ${atTime.toISOString()}`;
217
+ /*
218
+ * Cold start: no baseline (or too few samples) for this hour-of-week cell.
219
+ * Report it explicitly — a missing baseline must read as "cannot judge",
220
+ * never as "not anomalous".
221
+ */
222
+ if (!baseline || !baseline.isReliable) {
223
+ const coverage = await MetricBaselineService.getCoverage({
224
+ projectId: ctx.projectId,
225
+ metricName,
226
+ primaryEntityId: entityId,
227
+ });
228
+ const verdictRow = {
229
+ verdict: "insufficient baseline data",
230
+ detail: `The metric has ${baseline
231
+ ? `only ${baseline.sampleCount} sample(s)`
232
+ : "no baseline data"} for this hour of week (needs at least ${MetricBaselineServiceClass.DEFAULT_MIN_SAMPLES}). Baseline coverage overall: ${coverage.totalSamples} total sample(s)${coverage.oldestDay
233
+ ? `, oldest day ${OneUptimeDate.getDateAsFormattedString(coverage.oldestDay)}`
234
+ : ""}. Do NOT treat this as "not anomalous" — the baseline simply cannot judge yet.`,
235
+ metricName,
236
+ entityId: entityId === null || entityId === void 0 ? void 0 : entityId.toString(),
237
+ evaluatedAt: atTime.toISOString(),
238
+ hourOfWeek,
239
+ windowDays,
240
+ };
241
+ const serializedColdStart = ToolResultSerializer.serializeRows([verdictRow]);
242
+ return {
243
+ dataForLlm: serializedColdStart.text,
244
+ rowCount: serializedColdStart.rowCount,
245
+ citationLabel,
246
+ citationTarget: { type: AIChatCitationTargetType.Metrics },
247
+ redactionCount: serializedColdStart.redactionCount,
248
+ isTruncated: serializedColdStart.isTruncated,
249
+ };
250
+ }
251
+ // Current value: average over the recent window ending at atTime.
252
+ const currentWindowStart = OneUptimeDate.addRemoveMinutes(atTime, -1 * BASELINE_CURRENT_WINDOW_MINUTES);
253
+ const currentQuery = {
254
+ name: metricName,
255
+ time: new InBetween(currentWindowStart, atTime),
256
+ };
257
+ if (entityId) {
258
+ currentQuery["primaryEntityId"] = entityId;
259
+ }
260
+ const currentResult = await MetricService.aggregateBy({
261
+ aggregateColumnName: "value",
262
+ aggregationType: AggregationType.Avg,
263
+ aggregationTimestampColumnName: "time",
264
+ startTimestamp: currentWindowStart,
265
+ endTimestamp: atTime,
266
+ query: currentQuery,
267
+ limit: 200,
268
+ skip: 0,
269
+ props: ctx.props,
270
+ });
271
+ const currentValues = currentResult.data
272
+ .map((item) => {
273
+ return item.value;
274
+ })
275
+ .filter((value) => {
276
+ return typeof value === "number" && Number.isFinite(value);
277
+ });
278
+ const sigma = MetricBaselineServiceClass.sigmaForSensitivity(sensitivity);
279
+ const expectedLow = baseline.mean - sigma * baseline.stddev;
280
+ const expectedHigh = baseline.mean + sigma * baseline.stddev;
281
+ let verdict;
282
+ let currentValue = null;
283
+ let zScore = null;
284
+ if (currentValues.length === 0) {
285
+ verdict = `no data points in the last ${BASELINE_CURRENT_WINDOW_MINUTES} minutes — the metric may have STOPPED reporting, which can itself be the anomaly`;
286
+ }
287
+ else {
288
+ currentValue =
289
+ currentValues.reduce((sum, value) => {
290
+ return sum + value;
291
+ }, 0) / currentValues.length;
292
+ if (baseline.stddev <= 0) {
293
+ /*
294
+ * Zero-variance baseline: the band collapses to a point and
295
+ * floating-point noise alone would flag every sample. The anomaly
296
+ * monitors refuse to classify here (MetricMonitorCriteria) — match
297
+ * them rather than emitting guaranteed-false ANOMALOUS verdicts.
298
+ */
299
+ verdict = `cannot judge — the baseline has zero variance (the metric has been constant at ${baseline.mean}), so any band would flag every sample; compare the current value to the baseline mean directly instead`;
300
+ }
301
+ else {
302
+ zScore = (currentValue - baseline.mean) / baseline.stddev;
303
+ if (currentValue > expectedHigh) {
304
+ verdict = `ANOMALOUS — above the expected range for this hour of week`;
305
+ }
306
+ else if (currentValue < expectedLow) {
307
+ verdict = `ANOMALOUS — below the expected range for this hour of week`;
308
+ }
309
+ else {
310
+ verdict = `normal — within the expected range for this hour of week`;
311
+ }
312
+ }
313
+ }
314
+ const row = {
315
+ verdict,
316
+ metricName,
317
+ entityId: entityId === null || entityId === void 0 ? void 0 : entityId.toString(),
318
+ evaluatedAt: atTime.toISOString(),
319
+ currentValue: currentValue !== null
320
+ ? `${currentValue} (avg over the last ${BASELINE_CURRENT_WINDOW_MINUTES} min)`
321
+ : null,
322
+ expectedRange: `${expectedLow} to ${expectedHigh} (mean ${baseline.mean} ± ${sigma}σ, σ=${baseline.stddev})`,
323
+ zScore,
324
+ baselineMedian: baseline.median,
325
+ baselineP95: baseline.p95,
326
+ baselineSampleCount: baseline.sampleCount,
327
+ baselineWindowDays: baseline.windowDays,
328
+ hourOfWeek,
329
+ sensitivity,
330
+ };
331
+ const serialized = ToolResultSerializer.serializeRows([
332
+ row,
333
+ ]);
334
+ // Expected-range band + actual values over the recent past, for the panel.
335
+ const chartStart = OneUptimeDate.addRemoveHours(atTime, -1 * BASELINE_CHART_HOURS);
336
+ let bandSeries = [];
337
+ let actualPoints = [];
338
+ try {
339
+ bandSeries = await MetricBaselineService.getBandSeries({
340
+ projectId: ctx.projectId,
341
+ metricName,
342
+ primaryEntityId: entityId,
343
+ startTime: chartStart,
344
+ endTime: atTime,
345
+ intervalMinutes: 15,
346
+ sigmaCount: sigma,
347
+ windowDays,
348
+ });
349
+ const chartQuery = {
350
+ name: metricName,
351
+ time: new InBetween(chartStart, atTime),
352
+ };
353
+ if (entityId) {
354
+ chartQuery["primaryEntityId"] = entityId;
355
+ }
356
+ const chartActualResult = await MetricService.aggregateBy({
357
+ aggregateColumnName: "value",
358
+ aggregationType: AggregationType.Avg,
359
+ aggregationTimestampColumnName: "time",
360
+ startTimestamp: chartStart,
361
+ endTimestamp: atTime,
362
+ query: chartQuery,
363
+ limit: 200,
364
+ skip: 0,
365
+ props: ctx.props,
366
+ });
367
+ actualPoints = chartActualResult.data.map((item) => {
368
+ return {
369
+ x: OneUptimeDate.toString(OneUptimeDate.fromString(item.timestamp)),
370
+ y: typeof item.value === "number" ? item.value : null,
371
+ };
372
+ });
373
+ }
374
+ catch (_a) {
375
+ // The band chart is decorative — never fail the verdict for it.
376
+ }
377
+ const toPoints = (pick) => {
378
+ return bandSeries.map((point) => {
379
+ return {
380
+ x: OneUptimeDate.toString(point.time),
381
+ y: pick(point),
382
+ };
383
+ });
384
+ };
385
+ return {
386
+ dataForLlm: serialized.text,
387
+ rowCount: serialized.rowCount,
388
+ citationLabel,
389
+ citationTarget: { type: AIChatCitationTargetType.Metrics },
390
+ redactionCount: serialized.redactionCount,
391
+ isTruncated: serialized.isTruncated,
392
+ widget: bandSeries.length > 0
393
+ ? WidgetBuilder.timeSeries({
394
+ title: `${metricName} vs expected range`,
395
+ description: `Hour-of-week baseline (±${sigma}σ, ${windowDays}-day window), ${chartStart.toISOString()} – ${atTime.toISOString()}`,
396
+ series: [
397
+ {
398
+ name: "expected high",
399
+ points: toPoints((point) => {
400
+ return point.expectedHigh;
401
+ }),
402
+ },
403
+ {
404
+ name: "expected low",
405
+ points: toPoints((point) => {
406
+ return point.expectedLow;
407
+ }),
408
+ },
409
+ ...(actualPoints.length > 0
410
+ ? [{ name: "actual", points: actualPoints }]
411
+ : []),
412
+ ],
413
+ valueLabel: metricName,
414
+ link: { type: AIChatCitationTargetType.Metrics },
415
+ })
416
+ : undefined,
417
+ };
418
+ },
419
+ };
120
420
  //# sourceMappingURL=MetricTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricTools.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/MetricTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricTools.js","sourceRoot":"","sources":["../../../../../../Server/Utils/AI/Toolbox/MetricTools.ts"],"names":[],"mappings":"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"}