@oneuptime/common 11.5.8 → 11.5.10

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 (542) hide show
  1. package/Models/AnalyticsModels/Index.ts +13 -0
  2. package/Models/AnalyticsModels/MetricItemAggMV1mByContainer.ts +178 -0
  3. package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +179 -0
  4. package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +179 -0
  5. package/Models/AnalyticsModels/NetworkFlow.ts +397 -0
  6. package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +15 -6
  7. package/Models/DatabaseModels/AIRun.ts +37 -0
  8. package/Models/DatabaseModels/AIRunEvent.ts +34 -1
  9. package/Models/DatabaseModels/EnterpriseLicenseInstance.ts +18 -0
  10. package/Models/DatabaseModels/GlobalConfig.ts +36 -0
  11. package/Models/DatabaseModels/Index.ts +2 -0
  12. package/Models/DatabaseModels/MarketingConversion.ts +198 -0
  13. package/Models/DatabaseModels/MetricSavedView.ts +34 -0
  14. package/Models/DatabaseModels/MetricType.ts +74 -0
  15. package/Models/DatabaseModels/NetworkDevice.ts +332 -0
  16. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +328 -0
  17. package/Models/DatabaseModels/NetworkInterface.ts +58 -0
  18. package/Models/DatabaseModels/Project.ts +62 -0
  19. package/Models/DatabaseModels/StatusPage.ts +42 -0
  20. package/Models/DatabaseModels/User.ts +37 -0
  21. package/Server/API/AIAgentTaskAPI.ts +38 -12
  22. package/Server/API/AIAgentTaskLogAPI.ts +49 -0
  23. package/Server/API/AIChatAPI.ts +16 -0
  24. package/Server/API/AIReadinessAPI.ts +84 -0
  25. package/Server/API/BaseAnalyticsAPI.ts +23 -0
  26. package/Server/API/CodeFixRunAPI.ts +182 -0
  27. package/Server/API/EnterpriseLicenseAPI.ts +14 -0
  28. package/Server/API/TelemetryExceptionAPI.ts +6 -1
  29. package/Server/EnvironmentConfig.ts +84 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1784124919694-AddAITaskNumberAndRunTranscript.ts +95 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1784135099754-AllowNullAiAgentOnPullRequest.ts +52 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1784137457184-AddEnableMcpServerToStatusPage.ts +30 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.ts +38 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.ts +28 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1784200000000-AddSnmpV3ColumnsToNetworkDeviceDiscoveryScan.ts +49 -0
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.ts +108 -0
  37. package/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.ts +31 -0
  38. package/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.ts +29 -0
  39. package/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.ts +35 -0
  40. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  41. package/Server/Services/AIRunEventService.ts +15 -1
  42. package/Server/Services/AIRunService.ts +38 -1
  43. package/Server/Services/AnalyticsDatabaseService.ts +70 -1
  44. package/Server/Services/IncidentService.ts +13 -0
  45. package/Server/Services/Index.ts +10 -0
  46. package/Server/Services/LlmProviderService.ts +2 -0
  47. package/Server/Services/MarketingConversionService.ts +10 -0
  48. package/Server/Services/MetricItemAggMV1mByContainerService.ts +31 -0
  49. package/Server/Services/MetricItemAggMV1mByK8sClusterService.ts +31 -0
  50. package/Server/Services/MetricItemAggMV1mByServiceService.ts +31 -0
  51. package/Server/Services/MetricService.ts +970 -122
  52. package/Server/Services/MonitorService.ts +14 -0
  53. package/Server/Services/NetworkDeviceOwnerTeamService.ts +42 -0
  54. package/Server/Services/NetworkDeviceOwnerUserService.ts +106 -0
  55. package/Server/Services/NetworkFlowService.ts +11 -0
  56. package/Server/Services/OnCallDutyPolicyService.ts +11 -1
  57. package/Server/Services/ProjectService.ts +178 -0
  58. package/Server/Services/SpanService.ts +13 -9
  59. package/Server/Services/StatusPageService.ts +97 -0
  60. package/Server/Services/TeamMemberService.ts +11 -0
  61. package/Server/Services/TelemetryExceptionService.ts +19 -90
  62. package/Server/Services/UserService.ts +59 -0
  63. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +37 -7
  64. package/Server/Types/Markdown.ts +9 -9
  65. package/Server/Types/MarkdownSlugify.ts +47 -0
  66. package/Server/Utils/AI/AIRunTranscript.ts +240 -0
  67. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +9 -0
  68. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +119 -5
  69. package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +75 -0
  70. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +235 -0
  71. package/Server/Utils/AI/SRE/Insights/FixRouting.ts +2 -3
  72. package/Server/Utils/AI/Toolbox/CodeTools.ts +883 -0
  73. package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +519 -0
  74. package/Server/Utils/AI/Toolbox/Index.ts +27 -0
  75. package/Server/Utils/AI/Toolbox/ScheduledMaintenanceTools.ts +279 -0
  76. package/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.ts +19 -1
  77. package/Server/Utils/Attribution.ts +99 -0
  78. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +600 -0
  79. package/Server/Utils/CodeRepository/StackTraceRepoResolver.ts +7 -2
  80. package/Server/Utils/LLM/LLMService.ts +397 -18
  81. package/Server/Utils/Marketing/ConversionUploadProvider.ts +103 -0
  82. package/Server/Utils/Marketing/ConversionUploadProviders.ts +22 -0
  83. package/Server/Utils/Marketing/Providers/GoogleAds.ts +270 -0
  84. package/Server/Utils/Marketing/Providers/LinkedIn.ts +147 -0
  85. package/Server/Utils/Marketing/Providers/Meta.ts +148 -0
  86. package/Server/Utils/Marketing/Providers/MicrosoftAds.ts +196 -0
  87. package/Server/Utils/Marketing/Providers/Reddit.ts +178 -0
  88. package/Server/Utils/Monitor/MonitorAlert.ts +71 -7
  89. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +31 -19
  90. package/Server/Utils/Monitor/MonitorIncident.ts +71 -7
  91. package/Server/Utils/Monitor/MonitorMetricUtil.ts +57 -0
  92. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +94 -0
  93. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +19 -11
  94. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +125 -14
  95. package/Server/Utils/ProductAnalytics.ts +133 -0
  96. package/Server/Utils/Telemetry/Telemetry.ts +39 -0
  97. package/Server/Utils/Telemetry/TelemetryEntity.ts +21 -0
  98. package/Tests/Models/StatusPageEnableMcpServer.test.ts +125 -0
  99. package/Tests/Server/API/BaseAnalyticsAPI.test.ts +72 -0
  100. package/Tests/Server/Infrastructure/SemaphorePermit.test.ts +9 -1
  101. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +21 -2
  102. package/Tests/Server/Services/MetricEntityMVKeyParity.test.ts +173 -0
  103. package/Tests/Server/Services/MetricServiceAggregate.test.ts +1391 -0
  104. package/Tests/Server/Services/NetworkDeviceOwnerServices.test.ts +260 -0
  105. package/Tests/Server/Services/StatusPageServiceMcp.test.ts +223 -0
  106. package/Tests/Server/Services/TelemetryExceptionAIFixReadiness.test.ts +26 -3
  107. package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +12 -0
  108. package/Tests/Server/Types/Markdown.test.ts +106 -0
  109. package/Tests/Server/Utils/AI/AIRunTranscript.test.ts +182 -0
  110. package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +411 -0
  111. package/Tests/Server/Utils/AI/CodeTools.test.ts +596 -0
  112. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +475 -0
  113. package/Tests/Server/Utils/AI/LLMServiceModelCompatibility.test.ts +548 -0
  114. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +142 -0
  115. package/Tests/Server/Utils/AI/ScheduledMaintenanceTools.test.ts +176 -0
  116. package/Tests/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.test.ts +63 -0
  117. package/Tests/Server/Utils/GitHubGetFileContent.test.ts +197 -0
  118. package/Tests/Server/Utils/Monitor/MonitorTemplateUtilNetworkDevice.test.ts +389 -0
  119. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +502 -0
  120. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +764 -0
  121. package/Tests/Types/AI/AIAgentTaskStatus.test.ts +7 -6
  122. package/Tests/Types/AI/AIChatPageContext.test.ts +0 -0
  123. package/Tests/Types/AI/AIRunStatus.test.ts +42 -0
  124. package/Tests/Types/BaseDatabase/AggregationIntervalUtil.test.ts +111 -2
  125. package/Tests/Types/Database/EndsWith.test.ts +64 -0
  126. package/Tests/Types/Database/GreaterThan.test.ts +62 -0
  127. package/Tests/Types/Database/GreaterThanOrEqual.test.ts +65 -0
  128. package/Tests/Types/Database/GreaterThanOrNull.test.ts +63 -0
  129. package/Tests/Types/Database/Includes.test.ts +65 -0
  130. package/Tests/Types/Database/IncludesAll.test.ts +65 -0
  131. package/Tests/Types/Database/IncludesNone.test.ts +65 -0
  132. package/Tests/Types/Database/IsNull.test.ts +44 -0
  133. package/Tests/Types/Database/LessThan.test.ts +62 -0
  134. package/Tests/Types/Database/LessThanOrEqual.test.ts +62 -0
  135. package/Tests/Types/Database/LessThanOrNull.test.ts +62 -0
  136. package/Tests/Types/Database/MultiSearch.test.ts +81 -0
  137. package/Tests/Types/Database/NotContains.test.ts +64 -0
  138. package/Tests/Types/Database/NotNull.test.ts +44 -0
  139. package/Tests/Types/Database/StartsWith.test.ts +64 -0
  140. package/Tests/Types/Log/LogSeverity.test.ts +78 -0
  141. package/Tests/Types/Monitor/MonitorStepSqlMonitor.test.ts +83 -1
  142. package/Tests/Types/Monitor/SnmpV3EnumParsing.test.ts +247 -0
  143. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +263 -0
  144. package/Tests/UI/Components/BasicFormDropdownNormalization.test.tsx +167 -0
  145. package/Tests/UI/Components/Charts/AxisTickColor.test.tsx +66 -0
  146. package/Tests/UI/Components/XAxis.test.ts +5 -3
  147. package/Tests/UI/Utils/AIChatExport/ChatWidgetData.test.ts +319 -0
  148. package/Tests/UI/Utils/AIChatExport/ChatWidgetMarkdown.test.ts +188 -0
  149. package/Tests/Utils/EnterpriseLicenseUsage.test.ts +76 -0
  150. package/Tests/Utils/Metrics/MetricExplorerUrl.test.ts +622 -0
  151. package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +474 -0
  152. package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +52 -4
  153. package/Types/AI/AIAgentTaskStatus.ts +13 -0
  154. package/Types/AI/AIChatPageContext.ts +137 -0
  155. package/Types/AI/AIChatTypes.ts +44 -0
  156. package/Types/AI/AIFixReadiness.ts +46 -0
  157. package/Types/AI/AIRunStatus.ts +11 -0
  158. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +11 -0
  159. package/Types/BaseDatabase/AggregateBy.ts +31 -2
  160. package/Types/BaseDatabase/AggregatedResult.ts +22 -0
  161. package/Types/BaseDatabase/AggregationInterval.ts +11 -0
  162. package/Types/BaseDatabase/AggregationIntervalUtil.ts +30 -5
  163. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +16 -0
  164. package/Types/Email/EmailTemplateType.ts +3 -0
  165. package/Types/Log/LogSeverity.ts +61 -0
  166. package/Types/Marketing/MarketingConversion.ts +11 -0
  167. package/Types/Metrics/MetricQueryConfigData.ts +21 -0
  168. package/Types/Metrics/MetricQueryData.ts +8 -0
  169. package/Types/Metrics/MetricViewData.ts +8 -0
  170. package/Types/Monitor/MonitorMetricType.ts +8 -0
  171. package/Types/Monitor/MonitorStep.ts +9 -0
  172. package/Types/Monitor/MonitorStepSqlMonitor.ts +12 -0
  173. package/Types/Monitor/MonitorType.ts +2 -1
  174. package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +17 -12
  175. package/Types/Monitor/SnmpMonitor/CdpNeighbor.ts +13 -0
  176. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +37 -3
  177. package/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.ts +46 -0
  178. package/Types/Monitor/SnmpMonitor/SnmpEntityInfo.ts +15 -0
  179. package/Types/Monitor/SnmpMonitor/SnmpInterface.ts +8 -0
  180. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +17 -8
  181. package/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.ts +53 -0
  182. package/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.ts +43 -0
  183. package/Types/Monitor/SnmpMonitor/SnmpSystemInfo.ts +16 -0
  184. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +119 -3
  185. package/Types/Monitor/SnmpMonitor/SnmpVersion.ts +40 -0
  186. package/Types/NetFlow/NetworkFlowRecord.ts +25 -0
  187. package/Types/Syslog/SyslogMessage.ts +18 -0
  188. package/Types/Telemetry/TelemetrySavedViewState.ts +9 -0
  189. package/Types/Telemetry/TelemetrySavedViewType.ts +12 -0
  190. package/UI/Components/Charts/Area/AreaChart.tsx +51 -0
  191. package/UI/Components/Charts/Bar/BarChart.tsx +51 -1
  192. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +97 -26
  193. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +336 -3
  194. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +118 -1
  195. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +336 -3
  196. package/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.ts +7 -0
  197. package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +15 -0
  198. package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +13 -0
  199. package/UI/Components/Charts/Line/LineChart.tsx +51 -0
  200. package/UI/Components/Charts/Types/ReferenceRegionProps.ts +12 -0
  201. package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +12 -0
  202. package/UI/Components/Charts/Types/XAxis/XAxisPrecision.ts +1 -0
  203. package/UI/Components/Charts/Utils/DataPoint.ts +0 -0
  204. package/UI/Components/Charts/Utils/TimeAnnotation.ts +169 -0
  205. package/UI/Components/Charts/Utils/XAxis.ts +28 -4
  206. package/UI/Components/Forms/BasicForm.tsx +26 -8
  207. package/UI/Components/Icon/Icon.tsx +33 -13
  208. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +9 -0
  209. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +67 -0
  210. package/UI/Components/Page/ModelPage.tsx +6 -1
  211. package/UI/Components/TelemetryViewer/components/SavedViewsDropdown.tsx +33 -4
  212. package/UI/Styles/Theme.css +1324 -0
  213. package/UI/Utils/AIChatExport/ChatWidgetData.ts +316 -0
  214. package/UI/Utils/AIChatExport/ChatWidgetMarkdown.ts +349 -0
  215. package/UI/Utils/AIChatExport/ConversationMarkdown.ts +177 -0
  216. package/UI/Utils/AIChatExport/MarkdownBlocks.ts +327 -0
  217. package/UI/Utils/AIChatExport/MarkdownSafety.ts +215 -0
  218. package/UI/Utils/DownloadFile.ts +54 -0
  219. package/UI/Utils/User.ts +41 -2
  220. package/Utils/Analytics.ts +8 -6
  221. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +74 -0
  222. package/Utils/Metrics/MetricExplorerUrl.ts +771 -0
  223. package/Utils/Metrics/MetricFormulaEvaluator.ts +410 -46
  224. package/Utils/Monitor/NetworkTopologyUtil.ts +261 -49
  225. package/Utils/ValueFormatter.ts +22 -1
  226. package/build/dist/Models/AnalyticsModels/Index.js +13 -0
  227. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  228. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +159 -0
  229. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -0
  230. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +158 -0
  231. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -0
  232. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +160 -0
  233. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -0
  234. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +351 -0
  235. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -0
  236. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +15 -7
  237. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
  238. package/build/dist/Models/DatabaseModels/AIRun.js +38 -0
  239. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  240. package/build/dist/Models/DatabaseModels/AIRunEvent.js +31 -0
  241. package/build/dist/Models/DatabaseModels/AIRunEvent.js.map +1 -1
  242. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js +19 -0
  243. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js.map +1 -1
  244. package/build/dist/Models/DatabaseModels/GlobalConfig.js +38 -0
  245. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  246. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  247. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  248. package/build/dist/Models/DatabaseModels/MarketingConversion.js +219 -0
  249. package/build/dist/Models/DatabaseModels/MarketingConversion.js.map +1 -0
  250. package/build/dist/Models/DatabaseModels/MetricSavedView.js +35 -0
  251. package/build/dist/Models/DatabaseModels/MetricSavedView.js.map +1 -1
  252. package/build/dist/Models/DatabaseModels/MetricType.js +76 -0
  253. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  254. package/build/dist/Models/DatabaseModels/NetworkDevice.js +341 -0
  255. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  256. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +341 -0
  257. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  258. package/build/dist/Models/DatabaseModels/NetworkInterface.js +60 -0
  259. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
  260. package/build/dist/Models/DatabaseModels/Project.js +65 -0
  261. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  262. package/build/dist/Models/DatabaseModels/StatusPage.js +43 -0
  263. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  264. package/build/dist/Models/DatabaseModels/User.js +38 -0
  265. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  266. package/build/dist/Server/API/AIAgentTaskAPI.js +37 -11
  267. package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -1
  268. package/build/dist/Server/API/AIAgentTaskLogAPI.js +32 -7
  269. package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -1
  270. package/build/dist/Server/API/AIChatAPI.js +9 -0
  271. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  272. package/build/dist/Server/API/AIReadinessAPI.js +57 -0
  273. package/build/dist/Server/API/AIReadinessAPI.js.map +1 -0
  274. package/build/dist/Server/API/BaseAnalyticsAPI.js +19 -0
  275. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  276. package/build/dist/Server/API/CodeFixRunAPI.js +142 -0
  277. package/build/dist/Server/API/CodeFixRunAPI.js.map +1 -1
  278. package/build/dist/Server/API/EnterpriseLicenseAPI.js +8 -0
  279. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
  280. package/build/dist/Server/API/TelemetryExceptionAPI.js +4 -0
  281. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  282. package/build/dist/Server/EnvironmentConfig.js +51 -0
  283. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  284. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784124919694-AddAITaskNumberAndRunTranscript.js +80 -0
  285. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784124919694-AddAITaskNumberAndRunTranscript.js.map +1 -0
  286. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784135099754-AllowNullAiAgentOnPullRequest.js +37 -0
  287. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784135099754-AllowNullAiAgentOnPullRequest.js.map +1 -0
  288. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784137457184-AddEnableMcpServerToStatusPage.js +23 -0
  289. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784137457184-AddEnableMcpServerToStatusPage.js.map +1 -0
  290. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js +27 -0
  291. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js.map +1 -0
  292. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js +21 -0
  293. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js.map +1 -0
  294. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784200000000-AddSnmpV3ColumnsToNetworkDeviceDiscoveryScan.js +22 -0
  295. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784200000000-AddSnmpV3ColumnsToNetworkDeviceDiscoveryScan.js.map +1 -0
  296. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js +47 -0
  297. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js.map +1 -0
  298. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js +16 -0
  299. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js.map +1 -0
  300. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js +18 -0
  301. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js.map +1 -0
  302. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js +20 -0
  303. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js.map +1 -0
  304. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  305. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  306. package/build/dist/Server/Services/AIRunEventService.js +8 -0
  307. package/build/dist/Server/Services/AIRunEventService.js.map +1 -1
  308. package/build/dist/Server/Services/AIRunService.js +29 -0
  309. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  310. package/build/dist/Server/Services/AnalyticsDatabaseService.js +58 -4
  311. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  312. package/build/dist/Server/Services/IncidentService.js +12 -0
  313. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  314. package/build/dist/Server/Services/Index.js +10 -0
  315. package/build/dist/Server/Services/Index.js.map +1 -1
  316. package/build/dist/Server/Services/LlmProviderService.js +2 -0
  317. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  318. package/build/dist/Server/Services/MarketingConversionService.js +9 -0
  319. package/build/dist/Server/Services/MarketingConversionService.js.map +1 -0
  320. package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js +29 -0
  321. package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js.map +1 -0
  322. package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js +29 -0
  323. package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js.map +1 -0
  324. package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js +29 -0
  325. package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js.map +1 -0
  326. package/build/dist/Server/Services/MetricService.js +761 -125
  327. package/build/dist/Server/Services/MetricService.js.map +1 -1
  328. package/build/dist/Server/Services/MonitorService.js +18 -5
  329. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  330. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js +44 -0
  331. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js.map +1 -1
  332. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js +88 -0
  333. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js.map +1 -1
  334. package/build/dist/Server/Services/NetworkFlowService.js +9 -0
  335. package/build/dist/Server/Services/NetworkFlowService.js.map +1 -0
  336. package/build/dist/Server/Services/OnCallDutyPolicyService.js +15 -6
  337. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  338. package/build/dist/Server/Services/ProjectService.js +146 -6
  339. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  340. package/build/dist/Server/Services/SpanService.js +8 -6
  341. package/build/dist/Server/Services/SpanService.js.map +1 -1
  342. package/build/dist/Server/Services/StatusPageService.js +91 -0
  343. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  344. package/build/dist/Server/Services/TeamMemberService.js +11 -0
  345. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  346. package/build/dist/Server/Services/TelemetryExceptionService.js +14 -61
  347. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  348. package/build/dist/Server/Services/UserService.js +52 -0
  349. package/build/dist/Server/Services/UserService.js.map +1 -1
  350. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +33 -7
  351. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  352. package/build/dist/Server/Types/Markdown.js +8 -8
  353. package/build/dist/Server/Types/Markdown.js.map +1 -1
  354. package/build/dist/Server/Types/MarkdownSlugify.js +47 -0
  355. package/build/dist/Server/Types/MarkdownSlugify.js.map +1 -0
  356. package/build/dist/Server/Utils/AI/AIRunTranscript.js +180 -0
  357. package/build/dist/Server/Utils/AI/AIRunTranscript.js.map +1 -0
  358. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +1 -0
  359. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
  360. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +103 -5
  361. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
  362. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +55 -0
  363. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
  364. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +211 -0
  365. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -0
  366. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js.map +1 -1
  367. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +654 -0
  368. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -0
  369. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +389 -0
  370. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js.map +1 -0
  371. package/build/dist/Server/Utils/AI/Toolbox/Index.js +19 -0
  372. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  373. package/build/dist/Server/Utils/AI/Toolbox/ScheduledMaintenanceTools.js +239 -0
  374. package/build/dist/Server/Utils/AI/Toolbox/ScheduledMaintenanceTools.js.map +1 -0
  375. package/build/dist/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.js +19 -1
  376. package/build/dist/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.js.map +1 -1
  377. package/build/dist/Server/Utils/Attribution.js +74 -0
  378. package/build/dist/Server/Utils/Attribution.js.map +1 -0
  379. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +439 -0
  380. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  381. package/build/dist/Server/Utils/CodeRepository/StackTraceRepoResolver.js +1 -1
  382. package/build/dist/Server/Utils/CodeRepository/StackTraceRepoResolver.js.map +1 -1
  383. package/build/dist/Server/Utils/LLM/LLMService.js +275 -19
  384. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  385. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js +40 -0
  386. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js.map +1 -0
  387. package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js +20 -0
  388. package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js.map +1 -0
  389. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js +177 -0
  390. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js.map +1 -0
  391. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js +113 -0
  392. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js.map +1 -0
  393. package/build/dist/Server/Utils/Marketing/Providers/Meta.js +109 -0
  394. package/build/dist/Server/Utils/Marketing/Providers/Meta.js.map +1 -0
  395. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js +130 -0
  396. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js.map +1 -0
  397. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js +126 -0
  398. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js.map +1 -0
  399. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +53 -9
  400. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  401. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +21 -10
  402. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  403. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +54 -11
  404. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  405. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +43 -3
  406. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  407. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +68 -0
  408. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  409. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +17 -11
  410. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  411. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +100 -15
  412. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  413. package/build/dist/Server/Utils/ProductAnalytics.js +111 -0
  414. package/build/dist/Server/Utils/ProductAnalytics.js.map +1 -0
  415. package/build/dist/Server/Utils/Telemetry/Telemetry.js +32 -5
  416. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  417. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +17 -0
  418. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  419. package/build/dist/Types/AI/AIAgentTaskStatus.js +12 -0
  420. package/build/dist/Types/AI/AIAgentTaskStatus.js.map +1 -1
  421. package/build/dist/Types/AI/AIChatPageContext.js +101 -0
  422. package/build/dist/Types/AI/AIChatPageContext.js.map +1 -0
  423. package/build/dist/Types/AI/AIChatTypes.js +2 -0
  424. package/build/dist/Types/AI/AIChatTypes.js.map +1 -1
  425. package/build/dist/Types/AI/AIFixReadiness.js +9 -0
  426. package/build/dist/Types/AI/AIFixReadiness.js.map +1 -0
  427. package/build/dist/Types/AI/AIRunStatus.js +11 -0
  428. package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
  429. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +11 -0
  430. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  431. package/build/dist/Types/BaseDatabase/AggregationInterval.js +11 -0
  432. package/build/dist/Types/BaseDatabase/AggregationInterval.js.map +1 -1
  433. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +33 -5
  434. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -1
  435. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  436. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  437. package/build/dist/Types/Log/LogSeverity.js +56 -0
  438. package/build/dist/Types/Log/LogSeverity.js.map +1 -1
  439. package/build/dist/Types/Marketing/MarketingConversion.js +13 -0
  440. package/build/dist/Types/Marketing/MarketingConversion.js.map +1 -0
  441. package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
  442. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  443. package/build/dist/Types/Monitor/MonitorStep.js +6 -0
  444. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  445. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js +3 -0
  446. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
  447. package/build/dist/Types/Monitor/MonitorType.js +2 -1
  448. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  449. package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js +2 -0
  450. package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js.map +1 -0
  451. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js +41 -0
  452. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js.map +1 -1
  453. package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js +2 -0
  454. package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js.map +1 -0
  455. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js +48 -0
  456. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js.map +1 -1
  457. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js +38 -0
  458. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js.map +1 -1
  459. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js +2 -0
  460. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js.map +1 -0
  461. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +96 -3
  462. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  463. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVersion.js +38 -0
  464. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVersion.js.map +1 -1
  465. package/build/dist/Types/NetFlow/NetworkFlowRecord.js +2 -0
  466. package/build/dist/Types/NetFlow/NetworkFlowRecord.js.map +1 -0
  467. package/build/dist/Types/Syslog/SyslogMessage.js +2 -0
  468. package/build/dist/Types/Syslog/SyslogMessage.js.map +1 -0
  469. package/build/dist/Types/Telemetry/TelemetrySavedViewState.js +0 -7
  470. package/build/dist/Types/Telemetry/TelemetrySavedViewState.js.map +1 -1
  471. package/build/dist/Types/Telemetry/TelemetrySavedViewType.js +13 -0
  472. package/build/dist/Types/Telemetry/TelemetrySavedViewType.js.map +1 -0
  473. package/build/dist/UI/Components/Charts/Area/AreaChart.js +25 -1
  474. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  475. package/build/dist/UI/Components/Charts/Bar/BarChart.js +26 -2
  476. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  477. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +36 -12
  478. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  479. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +217 -8
  480. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  481. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +55 -4
  482. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  483. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +217 -8
  484. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  485. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js +6 -1
  486. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js.map +1 -1
  487. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js +2 -0
  488. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js.map +1 -0
  489. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js +2 -0
  490. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js.map +1 -0
  491. package/build/dist/UI/Components/Charts/Line/LineChart.js +25 -1
  492. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  493. package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js +2 -0
  494. package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js.map +1 -0
  495. package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js +2 -0
  496. package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js.map +1 -0
  497. package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js +1 -0
  498. package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js.map +1 -1
  499. package/build/dist/UI/Components/Charts/Utils/DataPoint.js +0 -0
  500. package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
  501. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +121 -0
  502. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -0
  503. package/build/dist/UI/Components/Charts/Utils/XAxis.js +27 -4
  504. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  505. package/build/dist/UI/Components/Forms/BasicForm.js +24 -6
  506. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  507. package/build/dist/UI/Components/Icon/Icon.js +15 -8
  508. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  509. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  510. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +58 -0
  511. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  512. package/build/dist/UI/Components/Page/ModelPage.js +7 -1
  513. package/build/dist/UI/Components/Page/ModelPage.js.map +1 -1
  514. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js +10 -4
  515. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js.map +1 -1
  516. package/build/dist/UI/Utils/AIChatExport/ChatWidgetData.js +217 -0
  517. package/build/dist/UI/Utils/AIChatExport/ChatWidgetData.js.map +1 -0
  518. package/build/dist/UI/Utils/AIChatExport/ChatWidgetMarkdown.js +234 -0
  519. package/build/dist/UI/Utils/AIChatExport/ChatWidgetMarkdown.js.map +1 -0
  520. package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js +111 -0
  521. package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js.map +1 -0
  522. package/build/dist/UI/Utils/AIChatExport/MarkdownBlocks.js +233 -0
  523. package/build/dist/UI/Utils/AIChatExport/MarkdownBlocks.js.map +1 -0
  524. package/build/dist/UI/Utils/AIChatExport/MarkdownSafety.js +134 -0
  525. package/build/dist/UI/Utils/AIChatExport/MarkdownSafety.js.map +1 -0
  526. package/build/dist/UI/Utils/DownloadFile.js +41 -0
  527. package/build/dist/UI/Utils/DownloadFile.js.map +1 -0
  528. package/build/dist/UI/Utils/User.js +35 -2
  529. package/build/dist/UI/Utils/User.js.map +1 -1
  530. package/build/dist/Utils/Analytics.js +8 -5
  531. package/build/dist/Utils/Analytics.js.map +1 -1
  532. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +57 -0
  533. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  534. package/build/dist/Utils/Metrics/MetricExplorerUrl.js +418 -0
  535. package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -0
  536. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +296 -37
  537. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -1
  538. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +176 -40
  539. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  540. package/build/dist/Utils/ValueFormatter.js +20 -1
  541. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  542. package/package.json +6 -2
@@ -377,6 +377,221 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
377
377
  })
378
378
  public snmpPort?: number = undefined;
379
379
 
380
+ /*
381
+ * SNMP v3 credentials tried against every host in the subnet. These mirror
382
+ * the flattened snmpV3* columns on NetworkDevice so a v3 scan can be imported
383
+ * into a v3 device without re-entering credentials. Like the other SNMP
384
+ * config columns above they are create+read only (update: []): a scan's
385
+ * config is fixed once it is dispatched to the probe.
386
+ */
387
+ @ColumnAccessControl({
388
+ create: [
389
+ Permission.ProjectOwner,
390
+ Permission.ProjectAdmin,
391
+ Permission.ProjectMember,
392
+ Permission.SettingsAdmin,
393
+ Permission.SettingsMember,
394
+ Permission.CreateNetworkDeviceDiscoveryScan,
395
+ ],
396
+ read: [
397
+ Permission.ProjectOwner,
398
+ Permission.ProjectAdmin,
399
+ Permission.ProjectMember,
400
+ Permission.Viewer,
401
+ Permission.SettingsAdmin,
402
+ Permission.SettingsMember,
403
+ Permission.SettingsViewer,
404
+ Permission.ReadNetworkDeviceDiscoveryScan,
405
+ ],
406
+ update: [],
407
+ })
408
+ @TableColumn({
409
+ required: false,
410
+ type: TableColumnType.ShortText,
411
+ title: "SNMP v3 Security Level",
412
+ description:
413
+ "SNMP v3 security level tried against every host: noAuthNoPriv, authNoPriv, or authPriv",
414
+ example: "authPriv",
415
+ })
416
+ @Column({
417
+ nullable: true,
418
+ type: ColumnType.ShortText,
419
+ length: ColumnLength.ShortText,
420
+ })
421
+ public snmpV3SecurityLevel?: string = undefined;
422
+
423
+ @ColumnAccessControl({
424
+ create: [
425
+ Permission.ProjectOwner,
426
+ Permission.ProjectAdmin,
427
+ Permission.ProjectMember,
428
+ Permission.SettingsAdmin,
429
+ Permission.SettingsMember,
430
+ Permission.CreateNetworkDeviceDiscoveryScan,
431
+ ],
432
+ read: [
433
+ Permission.ProjectOwner,
434
+ Permission.ProjectAdmin,
435
+ Permission.ProjectMember,
436
+ Permission.Viewer,
437
+ Permission.SettingsAdmin,
438
+ Permission.SettingsMember,
439
+ Permission.SettingsViewer,
440
+ Permission.ReadNetworkDeviceDiscoveryScan,
441
+ ],
442
+ update: [],
443
+ })
444
+ @TableColumn({
445
+ required: false,
446
+ type: TableColumnType.ShortText,
447
+ title: "SNMP v3 Username",
448
+ description: "SNMP v3 security name (username) tried against every host",
449
+ example: "monitoring",
450
+ })
451
+ @Column({
452
+ nullable: true,
453
+ type: ColumnType.ShortText,
454
+ length: ColumnLength.ShortText,
455
+ })
456
+ public snmpV3Username?: string = undefined;
457
+
458
+ @ColumnAccessControl({
459
+ create: [
460
+ Permission.ProjectOwner,
461
+ Permission.ProjectAdmin,
462
+ Permission.ProjectMember,
463
+ Permission.SettingsAdmin,
464
+ Permission.SettingsMember,
465
+ Permission.CreateNetworkDeviceDiscoveryScan,
466
+ ],
467
+ read: [
468
+ Permission.ProjectOwner,
469
+ Permission.ProjectAdmin,
470
+ Permission.ProjectMember,
471
+ Permission.Viewer,
472
+ Permission.SettingsAdmin,
473
+ Permission.SettingsMember,
474
+ Permission.SettingsViewer,
475
+ Permission.ReadNetworkDeviceDiscoveryScan,
476
+ ],
477
+ update: [],
478
+ })
479
+ @TableColumn({
480
+ required: false,
481
+ type: TableColumnType.ShortText,
482
+ title: "SNMP v3 Authentication Protocol",
483
+ description: "SNMP v3 authentication protocol: MD5, SHA, SHA256, or SHA512",
484
+ example: "SHA",
485
+ })
486
+ @Column({
487
+ nullable: true,
488
+ type: ColumnType.ShortText,
489
+ length: ColumnLength.ShortText,
490
+ })
491
+ public snmpV3AuthProtocol?: string = undefined;
492
+
493
+ @ColumnAccessControl({
494
+ create: [
495
+ Permission.ProjectOwner,
496
+ Permission.ProjectAdmin,
497
+ Permission.ProjectMember,
498
+ Permission.SettingsAdmin,
499
+ Permission.SettingsMember,
500
+ Permission.CreateNetworkDeviceDiscoveryScan,
501
+ ],
502
+ read: [
503
+ Permission.ProjectOwner,
504
+ Permission.ProjectAdmin,
505
+ Permission.ProjectMember,
506
+ Permission.Viewer,
507
+ Permission.SettingsAdmin,
508
+ Permission.SettingsMember,
509
+ Permission.SettingsViewer,
510
+ Permission.ReadNetworkDeviceDiscoveryScan,
511
+ ],
512
+ update: [],
513
+ })
514
+ @TableColumn({
515
+ required: false,
516
+ type: TableColumnType.LongText,
517
+ title: "SNMP v3 Authentication Key",
518
+ description: "SNMP v3 authentication passphrase tried against every host",
519
+ })
520
+ @Column({
521
+ nullable: true,
522
+ type: ColumnType.LongText,
523
+ })
524
+ public snmpV3AuthKey?: string = undefined;
525
+
526
+ @ColumnAccessControl({
527
+ create: [
528
+ Permission.ProjectOwner,
529
+ Permission.ProjectAdmin,
530
+ Permission.ProjectMember,
531
+ Permission.SettingsAdmin,
532
+ Permission.SettingsMember,
533
+ Permission.CreateNetworkDeviceDiscoveryScan,
534
+ ],
535
+ read: [
536
+ Permission.ProjectOwner,
537
+ Permission.ProjectAdmin,
538
+ Permission.ProjectMember,
539
+ Permission.Viewer,
540
+ Permission.SettingsAdmin,
541
+ Permission.SettingsMember,
542
+ Permission.SettingsViewer,
543
+ Permission.ReadNetworkDeviceDiscoveryScan,
544
+ ],
545
+ update: [],
546
+ })
547
+ @TableColumn({
548
+ required: false,
549
+ type: TableColumnType.ShortText,
550
+ title: "SNMP v3 Privacy Protocol",
551
+ description: "SNMP v3 privacy (encryption) protocol: DES, AES, or AES256",
552
+ example: "AES",
553
+ })
554
+ @Column({
555
+ nullable: true,
556
+ type: ColumnType.ShortText,
557
+ length: ColumnLength.ShortText,
558
+ })
559
+ public snmpV3PrivProtocol?: string = undefined;
560
+
561
+ @ColumnAccessControl({
562
+ create: [
563
+ Permission.ProjectOwner,
564
+ Permission.ProjectAdmin,
565
+ Permission.ProjectMember,
566
+ Permission.SettingsAdmin,
567
+ Permission.SettingsMember,
568
+ Permission.CreateNetworkDeviceDiscoveryScan,
569
+ ],
570
+ read: [
571
+ Permission.ProjectOwner,
572
+ Permission.ProjectAdmin,
573
+ Permission.ProjectMember,
574
+ Permission.Viewer,
575
+ Permission.SettingsAdmin,
576
+ Permission.SettingsMember,
577
+ Permission.SettingsViewer,
578
+ Permission.ReadNetworkDeviceDiscoveryScan,
579
+ ],
580
+ update: [],
581
+ })
582
+ @TableColumn({
583
+ required: false,
584
+ type: TableColumnType.LongText,
585
+ title: "SNMP v3 Privacy Key",
586
+ description:
587
+ "SNMP v3 privacy (encryption) passphrase tried against every host",
588
+ })
589
+ @Column({
590
+ nullable: true,
591
+ type: ColumnType.LongText,
592
+ })
593
+ public snmpV3PrivKey?: string = undefined;
594
+
380
595
  @ColumnAccessControl({
381
596
  create: [],
382
597
  read: [
@@ -574,6 +789,119 @@ export default class NetworkDeviceDiscoveryScan extends BaseModel {
574
789
  })
575
790
  public completedAt?: Date = undefined;
576
791
 
792
+ @ColumnAccessControl({
793
+ create: [
794
+ Permission.ProjectOwner,
795
+ Permission.ProjectAdmin,
796
+ Permission.ProjectMember,
797
+ Permission.SettingsAdmin,
798
+ Permission.SettingsMember,
799
+ Permission.CreateNetworkDeviceDiscoveryScan,
800
+ ],
801
+ read: [
802
+ Permission.ProjectOwner,
803
+ Permission.ProjectAdmin,
804
+ Permission.ProjectMember,
805
+ Permission.Viewer,
806
+ Permission.SettingsAdmin,
807
+ Permission.SettingsMember,
808
+ Permission.SettingsViewer,
809
+ Permission.ReadNetworkDeviceDiscoveryScan,
810
+ ],
811
+ update: [
812
+ Permission.ProjectOwner,
813
+ Permission.ProjectAdmin,
814
+ Permission.ProjectMember,
815
+ Permission.SettingsAdmin,
816
+ Permission.SettingsMember,
817
+ Permission.EditNetworkDeviceDiscoveryScan,
818
+ ],
819
+ })
820
+ @TableColumn({
821
+ isDefaultValueColumn: true,
822
+ required: false,
823
+ type: TableColumnType.Boolean,
824
+ title: "Is Recurring",
825
+ description:
826
+ "Re-run this scan automatically every Rescan Interval minutes to keep discovery continuous.",
827
+ defaultValue: false,
828
+ })
829
+ @Column({
830
+ type: ColumnType.Boolean,
831
+ nullable: false,
832
+ default: false,
833
+ })
834
+ public isRecurring?: boolean = undefined;
835
+
836
+ @ColumnAccessControl({
837
+ create: [
838
+ Permission.ProjectOwner,
839
+ Permission.ProjectAdmin,
840
+ Permission.ProjectMember,
841
+ Permission.SettingsAdmin,
842
+ Permission.SettingsMember,
843
+ Permission.CreateNetworkDeviceDiscoveryScan,
844
+ ],
845
+ read: [
846
+ Permission.ProjectOwner,
847
+ Permission.ProjectAdmin,
848
+ Permission.ProjectMember,
849
+ Permission.Viewer,
850
+ Permission.SettingsAdmin,
851
+ Permission.SettingsMember,
852
+ Permission.SettingsViewer,
853
+ Permission.ReadNetworkDeviceDiscoveryScan,
854
+ ],
855
+ update: [
856
+ Permission.ProjectOwner,
857
+ Permission.ProjectAdmin,
858
+ Permission.ProjectMember,
859
+ Permission.SettingsAdmin,
860
+ Permission.SettingsMember,
861
+ Permission.EditNetworkDeviceDiscoveryScan,
862
+ ],
863
+ })
864
+ @TableColumn({
865
+ required: false,
866
+ type: TableColumnType.Number,
867
+ title: "Rescan Interval (Minutes)",
868
+ description:
869
+ "How often a recurring scan re-runs, in minutes. Ignored unless Is Recurring is on.",
870
+ example: "1440",
871
+ })
872
+ @Column({
873
+ nullable: true,
874
+ type: ColumnType.Number,
875
+ })
876
+ public rescanIntervalInMinutes?: number = undefined;
877
+
878
+ @ColumnAccessControl({
879
+ create: [],
880
+ read: [
881
+ Permission.ProjectOwner,
882
+ Permission.ProjectAdmin,
883
+ Permission.ProjectMember,
884
+ Permission.Viewer,
885
+ Permission.SettingsAdmin,
886
+ Permission.SettingsMember,
887
+ Permission.SettingsViewer,
888
+ Permission.ReadNetworkDeviceDiscoveryScan,
889
+ ],
890
+ update: [],
891
+ })
892
+ @TableColumn({
893
+ required: false,
894
+ type: TableColumnType.Date,
895
+ title: "Next Scan At",
896
+ description:
897
+ "When a recurring scan is next due to run. Managed by the server.",
898
+ })
899
+ @Column({
900
+ nullable: true,
901
+ type: ColumnType.Date,
902
+ })
903
+ public nextScanAt?: Date = undefined;
904
+
577
905
  @ColumnAccessControl({
578
906
  create: [
579
907
  Permission.ProjectOwner,
@@ -300,6 +300,64 @@ export default class NetworkInterface extends BaseModel {
300
300
  })
301
301
  public alias?: string = undefined;
302
302
 
303
+ @ColumnAccessControl({
304
+ create: [],
305
+ read: [
306
+ Permission.ProjectOwner,
307
+ Permission.ProjectAdmin,
308
+ Permission.ProjectMember,
309
+ Permission.Viewer,
310
+ Permission.SettingsAdmin,
311
+ Permission.SettingsMember,
312
+ Permission.SettingsViewer,
313
+ Permission.ReadNetworkDevice,
314
+ ],
315
+ update: [],
316
+ })
317
+ @TableColumn({
318
+ required: false,
319
+ type: TableColumnType.ShortText,
320
+ canReadOnRelationQuery: true,
321
+ title: "MAC Address",
322
+ description:
323
+ "Physical address (ifPhysAddress) from SNMP, colon-separated hex",
324
+ example: "aa:bb:cc:dd:ee:ff",
325
+ })
326
+ @Column({
327
+ nullable: true,
328
+ type: ColumnType.ShortText,
329
+ length: ColumnLength.ShortText,
330
+ })
331
+ public macAddress?: string = undefined;
332
+
333
+ @ColumnAccessControl({
334
+ create: [],
335
+ read: [
336
+ Permission.ProjectOwner,
337
+ Permission.ProjectAdmin,
338
+ Permission.ProjectMember,
339
+ Permission.Viewer,
340
+ Permission.SettingsAdmin,
341
+ Permission.SettingsMember,
342
+ Permission.SettingsViewer,
343
+ Permission.ReadNetworkDevice,
344
+ ],
345
+ update: [],
346
+ })
347
+ @TableColumn({
348
+ required: false,
349
+ type: TableColumnType.Number,
350
+ title: "Interface Type",
351
+ description:
352
+ "IANAifType number (ifType) from SNMP — 6 = ethernetCsmacd, 24 = softwareLoopback",
353
+ example: "6",
354
+ })
355
+ @Column({
356
+ nullable: true,
357
+ type: ColumnType.Number,
358
+ })
359
+ public interfaceType?: number = undefined;
360
+
303
361
  @ColumnAccessControl({
304
362
  create: [],
305
363
  read: [
@@ -24,6 +24,7 @@ import TableMetadata from "../../Types/Database/TableMetadata";
24
24
  import TenantColumn from "../../Types/Database/TenantColumn";
25
25
  import Email from "../../Types/Email";
26
26
  import IconProp from "../../Types/Icon/IconProp";
27
+ import { JSONObject } from "../../Types/JSON";
27
28
  import Name from "../../Types/Name";
28
29
  import ObjectID from "../../Types/ObjectID";
29
30
  import Permission from "../../Types/Permission";
@@ -832,6 +833,31 @@ export default class Project extends TenantModel {
832
833
  })
833
834
  public incidentEpisodeCounter?: number = undefined;
834
835
 
836
+ /*
837
+ * Numbers AI code-fix tasks only. Chat and investigation runs share the
838
+ * AIRun table but are not tasks, so they never draw from this counter —
839
+ * see AIRunService.onBeforeCreate.
840
+ */
841
+ @ColumnAccessControl({
842
+ create: [],
843
+ read: [],
844
+ update: [],
845
+ })
846
+ @TableColumn({
847
+ type: TableColumnType.Number,
848
+ isDefaultValueColumn: true,
849
+ required: true,
850
+ hideColumnInDocumentation: true,
851
+ computed: true,
852
+ })
853
+ @Column({
854
+ type: ColumnType.Number,
855
+ nullable: false,
856
+ unique: false,
857
+ default: 0,
858
+ })
859
+ public aiRunCounter?: number = undefined;
860
+
835
861
  @ColumnAccessControl({
836
862
  create: [],
837
863
  read: [],
@@ -2053,6 +2079,42 @@ export default class Project extends TenantModel {
2053
2079
  })
2054
2080
  public utmUrl?: string = undefined;
2055
2081
 
2082
+ @ColumnAccessControl({
2083
+ create: [Permission.User],
2084
+ read: [],
2085
+ update: [],
2086
+ })
2087
+ @TableColumn({
2088
+ type: TableColumnType.JSON,
2089
+ hideColumnInDocumentation: true,
2090
+ title: "Ad Click IDs",
2091
+ description:
2092
+ "Ad platform click identifiers (gclid, fbclid, msclkid, etc.) copied from the user who created this project. Used for offline conversion uploads to ad platforms.",
2093
+ })
2094
+ @Column({
2095
+ type: ColumnType.JSON,
2096
+ nullable: true,
2097
+ })
2098
+ public clickIds?: JSONObject = undefined;
2099
+
2100
+ @ColumnAccessControl({
2101
+ create: [Permission.User],
2102
+ read: [],
2103
+ update: [],
2104
+ })
2105
+ @TableColumn({
2106
+ type: TableColumnType.JSON,
2107
+ hideColumnInDocumentation: true,
2108
+ title: "First Touch Attribution",
2109
+ description:
2110
+ "First-touch attribution (UTM parameters, click IDs, landing URL, referrer) copied from the user who created this project. The utm* columns hold last-touch values.",
2111
+ })
2112
+ @Column({
2113
+ type: ColumnType.JSON,
2114
+ nullable: true,
2115
+ })
2116
+ public firstTouchAttribution?: JSONObject = undefined;
2117
+
2056
2118
  @ColumnAccessControl({
2057
2119
  create: [Permission.User],
2058
2120
  read: [],
@@ -1063,6 +1063,48 @@ export default class StatusPage extends BaseModel {
1063
1063
  })
1064
1064
  public isPublicStatusPage?: boolean = undefined;
1065
1065
 
1066
+ @ColumnAccessControl({
1067
+ create: [
1068
+ Permission.ProjectOwner,
1069
+ Permission.ProjectAdmin,
1070
+ Permission.ProjectMember,
1071
+ Permission.StatusPageAdmin,
1072
+ Permission.StatusPageMember,
1073
+ Permission.CreateProjectStatusPage,
1074
+ ],
1075
+ read: [
1076
+ Permission.ProjectOwner,
1077
+ Permission.ProjectAdmin,
1078
+ Permission.ProjectMember,
1079
+ Permission.Viewer,
1080
+ Permission.StatusPageAdmin,
1081
+ Permission.StatusPageMember,
1082
+ Permission.StatusPageViewer,
1083
+ Permission.ReadProjectStatusPage,
1084
+ ],
1085
+ update: [
1086
+ Permission.ProjectOwner,
1087
+ Permission.ProjectAdmin,
1088
+ Permission.ProjectMember,
1089
+ Permission.StatusPageAdmin,
1090
+ Permission.StatusPageMember,
1091
+ Permission.EditProjectStatusPage,
1092
+ ],
1093
+ })
1094
+ @TableColumn({
1095
+ isDefaultValueColumn: true,
1096
+ type: TableColumnType.Boolean,
1097
+ title: "Enable MCP Server",
1098
+ description:
1099
+ "Can AI agents read this status page over the public OneUptime MCP server? This does not affect the status page website, its RSS feed, or its public JSON API.",
1100
+ defaultValue: true,
1101
+ })
1102
+ @Column({
1103
+ type: ColumnType.Boolean,
1104
+ default: true,
1105
+ })
1106
+ public enableMcpServer?: boolean = undefined;
1107
+
1066
1108
  @ColumnAccessControl({
1067
1109
  create: [
1068
1110
  Permission.ProjectOwner,
@@ -18,6 +18,7 @@ import TableMetadata from "../../Types/Database/TableMetadata";
18
18
  import Email from "../../Types/Email";
19
19
  import HashedString from "../../Types/HashedString";
20
20
  import IconProp from "../../Types/Icon/IconProp";
21
+ import { JSONObject } from "../../Types/JSON";
21
22
  import Name from "../../Types/Name";
22
23
  import ObjectID from "../../Types/ObjectID";
23
24
  import Permission from "../../Types/Permission";
@@ -618,6 +619,42 @@ class User extends UserModel {
618
619
  })
619
620
  public utmUrl?: string = undefined;
620
621
 
622
+ @ColumnAccessControl({
623
+ create: [Permission.Public],
624
+ read: [],
625
+ update: [],
626
+ })
627
+ @TableColumn({
628
+ type: TableColumnType.JSON,
629
+ hideColumnInDocumentation: true,
630
+ title: "Ad Click IDs",
631
+ description:
632
+ "Ad platform click identifiers (gclid, fbclid, msclkid, etc.) captured on the visit that led to signup. Used for offline conversion uploads to ad platforms.",
633
+ })
634
+ @Column({
635
+ type: ColumnType.JSON,
636
+ nullable: true,
637
+ })
638
+ public clickIds?: JSONObject = undefined;
639
+
640
+ @ColumnAccessControl({
641
+ create: [Permission.Public],
642
+ read: [],
643
+ update: [],
644
+ })
645
+ @TableColumn({
646
+ type: TableColumnType.JSON,
647
+ hideColumnInDocumentation: true,
648
+ title: "First Touch Attribution",
649
+ description:
650
+ "UTM parameters, click IDs, landing URL and referrer from the visitor's first attributed visit. The utm* columns hold last-touch values.",
651
+ })
652
+ @Column({
653
+ type: ColumnType.JSON,
654
+ nullable: true,
655
+ })
656
+ public firstTouchAttribution?: JSONObject = undefined;
657
+
621
658
  @ColumnAccessControl({
622
659
  create: [],
623
660
  read: [],
@@ -196,6 +196,7 @@ export default class AIAgentTaskAPI {
196
196
  const validStatuses: Array<AIAgentTaskStatus> = [
197
197
  AIAgentTaskStatus.InProgress,
198
198
  AIAgentTaskStatus.Completed,
199
+ AIAgentTaskStatus.NoFixFound,
199
200
  AIAgentTaskStatus.Error,
200
201
  ];
201
202
 
@@ -249,16 +250,35 @@ export default class AIAgentTaskAPI {
249
250
  },
250
251
  });
251
252
  } else {
252
- const toStatus: AIRunStatus =
253
- status === AIAgentTaskStatus.Completed
254
- ? AIRunStatus.Completed
255
- : AIRunStatus.Error;
253
+ /*
254
+ * Agents that predate NoFixFound report a fruitless run as Error,
255
+ * so an Error report still maps straight through — those runs keep
256
+ * looking exactly as they do today until the agent is upgraded.
257
+ */
258
+ let toStatus: AIRunStatus = AIRunStatus.Error;
259
+
260
+ if (status === AIAgentTaskStatus.Completed) {
261
+ toStatus = AIRunStatus.Completed;
262
+ } else if (status === AIAgentTaskStatus.NoFixFound) {
263
+ toStatus = AIRunStatus.NoFixFound;
264
+ }
265
+
266
+ /*
267
+ * Both terminal outcomes that carry a reason store it in
268
+ * errorMessage — the column is the run's only message field, and
269
+ * every reader (the detail page, the exception page's
270
+ * statusMessage) already renders it.
271
+ */
272
+ const shouldStoreMessage: boolean =
273
+ Boolean(statusMessage) &&
274
+ (toStatus === AIRunStatus.Error ||
275
+ toStatus === AIRunStatus.NoFixFound);
256
276
 
257
277
  /*
258
- * CAS Running -> Completed/Error. Losing the race (0 rows) means
259
- * another actor already finalized the run — e.g. the sweeper
260
- * marked it Error after a heartbeat gap — and that outcome wins;
261
- * we do not clobber it or write a duplicate terminal event.
278
+ * CAS Running -> Completed/NoFixFound/Error. Losing the race (0
279
+ * rows) means another actor already finalized the run — e.g. the
280
+ * sweeper marked it Error after a heartbeat gap — and that outcome
281
+ * wins; we do not clobber it or write a duplicate terminal event.
262
282
  */
263
283
  const transitionedCount: number =
264
284
  await AIRunService.attemptStatusTransition({
@@ -268,7 +288,7 @@ export default class AIAgentTaskAPI {
268
288
  status: toStatus,
269
289
  completedAt: OneUptimeDate.getCurrentDate(),
270
290
  lastHeartbeatAt: OneUptimeDate.getCurrentDate(),
271
- ...(toStatus === AIRunStatus.Error && statusMessage
291
+ ...(shouldStoreMessage
272
292
  ? { errorMessage: statusMessage }
273
293
  : {}),
274
294
  },
@@ -278,10 +298,16 @@ export default class AIAgentTaskAPI {
278
298
  await AIRunEventService.appendEventToRun({
279
299
  projectId: existingRun.projectId,
280
300
  aiRunId: runId,
301
+ /*
302
+ * Only a genuine failure closes the event trail with
303
+ * RunFailed. A NoFixFound run ran to completion and reported
304
+ * a conclusion, so it closes with RunCompleted and carries
305
+ * the "no fix" reason in resultSummary.
306
+ */
281
307
  eventType:
282
- toStatus === AIRunStatus.Completed
283
- ? AIRunEventType.RunCompleted
284
- : AIRunEventType.RunFailed,
308
+ toStatus === AIRunStatus.Error
309
+ ? AIRunEventType.RunFailed
310
+ : AIRunEventType.RunCompleted,
285
311
  ...(statusMessage
286
312
  ? { resultSummary: { message: statusMessage } }
287
313
  : {}),