@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
@@ -5,6 +5,17 @@ import BadDataException from "../../Types/Exception/BadDataException";
5
5
  * alias (case-insensitive, with or without a leading "$"). Evaluates
6
6
  * the formula point-by-point against a time-aligned series from the
7
7
  * referenced queries/formulas.
8
+ *
9
+ * Group-aware: when a referenced query is grouped (e.g. by "host.name")
10
+ * and its result carries multiple series, the formula is evaluated once
11
+ * per group present in ALL grouped variables (Datadog-style), and the
12
+ * group's attributes are stamped onto the output rows so chart layers
13
+ * can split them back into one line per group. Ungrouped variables
14
+ * broadcast across groups; a variable whose QUERY was grouped is joined
15
+ * by group key even when it happens to return a single series (see
16
+ * isGroupedVariable). When every referenced variable has a single
17
+ * series the evaluator behaves exactly like the original timestamp-only
18
+ * join — no stamping, identical output.
8
19
  */
9
20
  var TokenType;
10
21
  (function (TokenType) {
@@ -29,15 +40,23 @@ export default class MetricFormulaEvaluator {
29
40
  /**
30
41
  * Evaluate a formula against the provided query/formula results and
31
42
  * return a synthetic AggregatedResult whose timestamps are the union
32
- * of all referenced series.
43
+ * of all referenced series. Grouped inputs produce one output series
44
+ * per common group, with the group attributes stamped on each row.
45
+ *
46
+ * Throws for STRUCTURAL problems (invalid formula syntax/arity,
47
+ * unknown variable, grouped variables with no groups in common).
48
+ * Per-point data gaps (a timestamp missing from one variable) are
49
+ * skipped silently, as before.
33
50
  */
34
51
  static evaluateFormula(input) {
52
+ var _a;
35
53
  const trimmedFormula = (input.formula || "").trim();
36
54
  if (!trimmedFormula) {
37
55
  return { data: [] };
38
56
  }
57
+ // Throws a descriptive BadDataException for syntax and arity errors.
39
58
  const rpn = MetricFormulaEvaluator.toRpn(trimmedFormula);
40
- const variableResults = MetricFormulaEvaluator.buildVariableResultMap({
59
+ const variableData = MetricFormulaEvaluator.buildVariableResultMap({
41
60
  queryConfigs: input.queryConfigs,
42
61
  formulaConfigs: input.formulaConfigs,
43
62
  results: input.results,
@@ -49,41 +68,96 @@ export default class MetricFormulaEvaluator {
49
68
  */
50
69
  const referencedVariables = MetricFormulaEvaluator.collectVariableNames(rpn);
51
70
  for (const variableName of referencedVariables) {
52
- if (!variableResults[variableName]) {
71
+ if (!variableData[variableName]) {
53
72
  throw new BadDataException(`Formula references unknown variable "$${variableName}". Define a metric query with that alias first.`);
54
73
  }
55
74
  }
56
- const timestampIndex = MetricFormulaEvaluator.buildTimestampIndex(referencedVariables, variableResults);
57
- const sortedTimestamps = Array.from(timestampIndex.keys()).sort();
58
- const resultData = [];
59
- for (const timestampString of sortedTimestamps) {
60
- const values = timestampIndex.get(timestampString) || {};
61
- /*
62
- * Skip points where any referenced variable is missing a value. A
63
- * partial join would produce misleading numbers (e.g. treating a
64
- * gap as zero silently when using subtraction).
65
- */
66
- const hasAllValues = referencedVariables.every((variable) => {
67
- return typeof values[variable] === "number";
68
- });
69
- if (!hasAllValues) {
70
- continue;
71
- }
72
- let evaluated;
73
- try {
74
- evaluated = MetricFormulaEvaluator.evaluateRpn(rpn, values);
75
- }
76
- catch (_a) {
77
- continue;
78
- }
79
- if (!Number.isFinite(evaluated)) {
80
- continue;
75
+ /*
76
+ * Bucket each variable's rows into series groups.
77
+ */
78
+ const seriesBuckets = {};
79
+ for (const variableName of referencedVariables) {
80
+ seriesBuckets[variableName] = MetricFormulaEvaluator.bucketSeriesByGroup(variableData[variableName]);
81
+ }
82
+ /*
83
+ * The grouped path only ENGAGES when some variable factually carries
84
+ * two or more series. Callers like the metric-monitor worker
85
+ * pre-bucket per series fingerprint and pass one series per variable
86
+ * (with grouped query configs still attached), and those inputs must
87
+ * remain an exact — byte-identical — passthrough of the original
88
+ * single-series behavior.
89
+ */
90
+ const hasMultiSeriesVariable = referencedVariables.some((variableName) => {
91
+ var _a;
92
+ return (((_a = seriesBuckets[variableName]) === null || _a === void 0 ? void 0 : _a.size) || 0) >= 2;
93
+ });
94
+ if (!hasMultiSeriesVariable) {
95
+ // Single-series inputs: exact passthrough of the original behavior.
96
+ const seriesByVariable = {};
97
+ for (const variableName of referencedVariables) {
98
+ seriesByVariable[variableName] =
99
+ variableData[variableName].result.data;
81
100
  }
82
- resultData.push({
83
- timestamp: new Date(timestampString),
84
- value: evaluated,
101
+ return {
102
+ data: MetricFormulaEvaluator.evaluatePointwise({
103
+ rpn,
104
+ referencedVariables,
105
+ seriesByVariable,
106
+ }),
107
+ };
108
+ }
109
+ /*
110
+ * Once in the grouped path, classification switches from observed
111
+ * series count to query intent where available: a variable whose
112
+ * query was grouped joins by group key even when it returned a
113
+ * single series. Every multi-series variable satisfies the
114
+ * predicate too, so groupedVariables is never empty here.
115
+ */
116
+ const groupedVariables = referencedVariables.filter((variableName) => {
117
+ return MetricFormulaEvaluator.isGroupedVariable(seriesBuckets[variableName], variableData[variableName]);
118
+ });
119
+ /*
120
+ * Groups the formula is evaluated for = groups present in EVERY
121
+ * grouped variable. Ungrouped variables broadcast, so they don't
122
+ * constrain the set.
123
+ */
124
+ let commonGroupKeys = Array.from(seriesBuckets[groupedVariables[0]].keys());
125
+ for (let index = 1; index < groupedVariables.length; index++) {
126
+ const buckets = seriesBuckets[groupedVariables[index]];
127
+ commonGroupKeys = commonGroupKeys.filter((groupKey) => {
128
+ return buckets.has(groupKey);
85
129
  });
86
130
  }
131
+ if (commonGroupKeys.length === 0) {
132
+ throw new BadDataException(`Formula "${trimmedFormula}" references grouped queries that have no series groups in common. Make sure every grouped query used by the formula is grouped by the same attributes.`);
133
+ }
134
+ /*
135
+ * Group keys are canonical "key=value|key2=value2" strings, so a
136
+ * lexicographic sort yields a stable, human-sensible series order.
137
+ */
138
+ commonGroupKeys.sort();
139
+ const resultData = [];
140
+ for (const groupKey of commonGroupKeys) {
141
+ const groupLabels = seriesBuckets[groupedVariables[0]].get(groupKey).labels;
142
+ const seriesByVariable = {};
143
+ for (const variableName of referencedVariables) {
144
+ const buckets = seriesBuckets[variableName];
145
+ if (MetricFormulaEvaluator.isGroupedVariable(buckets, variableData[variableName])) {
146
+ seriesByVariable[variableName] = ((_a = buckets.get(groupKey)) === null || _a === void 0 ? void 0 : _a.samples) || [];
147
+ }
148
+ else {
149
+ // Ungrouped variable: broadcast to every group.
150
+ seriesByVariable[variableName] =
151
+ variableData[variableName].result.data;
152
+ }
153
+ }
154
+ resultData.push(...MetricFormulaEvaluator.evaluatePointwise({
155
+ rpn,
156
+ referencedVariables,
157
+ seriesByVariable,
158
+ groupAttributes: groupLabels,
159
+ }));
160
+ }
87
161
  return { data: resultData };
88
162
  }
89
163
  /**
@@ -134,7 +208,7 @@ export default class MetricFormulaEvaluator {
134
208
  return null;
135
209
  }
136
210
  static buildVariableResultMap(input) {
137
- var _a, _b, _c, _d;
211
+ var _a, _b, _c, _d, _e, _f;
138
212
  const variableMap = {};
139
213
  const totalSeries = input.queryConfigs.length + input.formulaConfigs.length;
140
214
  for (let index = 0; index < totalSeries; index++) {
@@ -143,32 +217,181 @@ export default class MetricFormulaEvaluator {
143
217
  continue;
144
218
  }
145
219
  let alias;
220
+ let groupByAttributeKeys = [];
146
221
  if (index < input.queryConfigs.length) {
147
222
  alias =
148
223
  ((_b = (_a = input.queryConfigs[index]) === null || _a === void 0 ? void 0 : _a.metricAliasData) === null || _b === void 0 ? void 0 : _b.metricVariable) ||
149
224
  undefined;
225
+ groupByAttributeKeys = (((_d = (_c = input.queryConfigs[index]) === null || _c === void 0 ? void 0 : _c.metricQueryData) === null || _d === void 0 ? void 0 : _d.groupByAttributeKeys) || []).filter((key) => {
226
+ return Boolean(key);
227
+ });
150
228
  }
151
229
  else {
152
230
  const formulaIndex = index - input.queryConfigs.length;
153
231
  alias =
154
- ((_d = (_c = input.formulaConfigs[formulaIndex]) === null || _c === void 0 ? void 0 : _c.metricAliasData) === null || _d === void 0 ? void 0 : _d.metricVariable) ||
232
+ ((_f = (_e = input.formulaConfigs[formulaIndex]) === null || _e === void 0 ? void 0 : _e.metricAliasData) === null || _f === void 0 ? void 0 : _f.metricVariable) ||
155
233
  undefined;
156
234
  }
157
235
  if (!alias) {
158
236
  continue;
159
237
  }
160
- variableMap[alias.toLowerCase()] = result;
238
+ variableMap[alias.toLowerCase()] = {
239
+ result,
240
+ groupByAttributeKeys,
241
+ };
161
242
  }
162
243
  return variableMap;
163
244
  }
164
- static buildTimestampIndex(variables, variableResults) {
245
+ /**
246
+ * Whether a variable participates in per-group evaluation (joined by
247
+ * group key) rather than broadcasting across every group. True when
248
+ * it factually carries two or more series, OR when its QUERY was
249
+ * grouped (groupByAttributeKeys) and it returned at least one series:
250
+ * a grouped query that collapsed to a single series (e.g. only one
251
+ * host reported the denominator metric in the window) must still be
252
+ * matched group-by-group — broadcasting it would silently compute
253
+ * cross-group math stamped with another group's labels. Formula
254
+ * variables and ungrouped queries carry no grouping config, so they
255
+ * keep the observed >=2 heuristic. A config-grouped variable with an
256
+ * EMPTY result intentionally classifies as ungrouped: it degrades to
257
+ * per-point gaps (empty output) instead of a structural
258
+ * no-groups-in-common error.
259
+ *
260
+ * Only consulted once the grouped path has engaged — the passthrough
261
+ * gate in evaluateFormula deliberately does NOT use this predicate,
262
+ * so single-series inputs (the metric-monitor worker's per-fingerprint
263
+ * shape) stay a byte-identical passthrough.
264
+ */
265
+ static isGroupedVariable(buckets, variable) {
266
+ const bucketCount = (buckets === null || buckets === void 0 ? void 0 : buckets.size) || 0;
267
+ if (bucketCount >= 2) {
268
+ return true;
269
+ }
270
+ return bucketCount >= 1 && variable.groupByAttributeKeys.length > 0;
271
+ }
272
+ /**
273
+ * Bucket a variable's rows by series group. Query variables group by
274
+ * their configured group-by attribute keys (read from each row's
275
+ * `attributes` map — the shape both the aggregation API and the
276
+ * metric-monitor worker produce). Formula variables (and queries
277
+ * without configured keys) group by whatever scalar `attributes`
278
+ * entries their rows carry — formula outputs are stamped with exactly
279
+ * the group attributes by this evaluator, so this round-trips
280
+ * formula-of-formula references. Rows without attributes fall into a
281
+ * single ungrouped bucket.
282
+ */
283
+ static bucketSeriesByGroup(variable) {
284
+ const buckets = new Map();
285
+ for (const sample of variable.result.data) {
286
+ const labels = MetricFormulaEvaluator.extractGroupLabels({
287
+ sample,
288
+ groupByAttributeKeys: variable.groupByAttributeKeys,
289
+ });
290
+ const groupKey = MetricFormulaEvaluator.computeGroupKey(labels);
291
+ const existing = buckets.get(groupKey);
292
+ if (existing) {
293
+ existing.samples.push(sample);
294
+ }
295
+ else {
296
+ buckets.set(groupKey, { labels, samples: [sample] });
297
+ }
298
+ }
299
+ return buckets;
300
+ }
301
+ /**
302
+ * Mirror of MetricSeriesFingerprint.extractSeriesLabels semantics
303
+ * (missing keys preserved as "" so groups stay stable when a series
304
+ * occasionally drops an attribute). Not imported from that module
305
+ * because it pulls in node's "crypto", which the browser bundles that
306
+ * ship this evaluator cannot resolve.
307
+ */
308
+ static extractGroupLabels(input) {
309
+ const labels = {};
310
+ const sampleAttributes = input.sample["attributes"] || {};
311
+ if (input.groupByAttributeKeys.length > 0) {
312
+ for (const key of input.groupByAttributeKeys) {
313
+ const value = sampleAttributes[key];
314
+ labels[key] = value === undefined || value === null ? "" : value;
315
+ }
316
+ return labels;
317
+ }
318
+ for (const key of Object.keys(sampleAttributes)) {
319
+ const value = sampleAttributes[key];
320
+ if (value === undefined || value === null) {
321
+ labels[key] = "";
322
+ continue;
323
+ }
324
+ // Nested objects/arrays can't canonicalize into a stable label.
325
+ if (typeof value === "object") {
326
+ continue;
327
+ }
328
+ labels[key] = value;
329
+ }
330
+ return labels;
331
+ }
332
+ /**
333
+ * Canonical in-memory series key: sorted "key=value" pairs. Same
334
+ * equivalence classes as MetricSeriesFingerprint.computeFingerprint
335
+ * (which hashes this exact string), without the crypto dependency.
336
+ * Empty labels — an ungrouped series — map to "".
337
+ */
338
+ static computeGroupKey(labels) {
339
+ const keys = Object.keys(labels).sort();
340
+ if (keys.length === 0) {
341
+ return "";
342
+ }
343
+ const parts = [];
344
+ for (const key of keys) {
345
+ const raw = labels[key];
346
+ const value = raw === undefined || raw === null ? "" : String(raw);
347
+ parts.push(`${key}=${value}`);
348
+ }
349
+ return parts.join("|");
350
+ }
351
+ /**
352
+ * Join the given series on timestamp and evaluate the formula per
353
+ * point. Points missing a value for any referenced variable are
354
+ * skipped (a partial join would produce misleading numbers — e.g.
355
+ * treating a gap as zero silently when using subtraction), as are
356
+ * non-finite results like divide-by-zero. Structural formula errors
357
+ * are impossible here: the RPN's arity is validated at parse time.
358
+ */
359
+ static evaluatePointwise(input) {
360
+ const timestampIndex = MetricFormulaEvaluator.buildTimestampIndex(input.referencedVariables, input.seriesByVariable);
361
+ const sortedTimestamps = Array.from(timestampIndex.keys()).sort();
362
+ const resultData = [];
363
+ for (const timestampString of sortedTimestamps) {
364
+ const values = timestampIndex.get(timestampString) || {};
365
+ const hasAllValues = input.referencedVariables.every((variable) => {
366
+ return typeof values[variable] === "number";
367
+ });
368
+ if (!hasAllValues) {
369
+ continue;
370
+ }
371
+ const evaluated = MetricFormulaEvaluator.evaluateRpn(input.rpn, values);
372
+ if (!Number.isFinite(evaluated)) {
373
+ continue;
374
+ }
375
+ const row = {
376
+ timestamp: new Date(timestampString),
377
+ value: evaluated,
378
+ };
379
+ if (input.groupAttributes &&
380
+ Object.keys(input.groupAttributes).length > 0) {
381
+ row["attributes"] = input.groupAttributes;
382
+ }
383
+ resultData.push(row);
384
+ }
385
+ return resultData;
386
+ }
387
+ static buildTimestampIndex(variables, seriesByVariable) {
165
388
  const index = new Map();
166
389
  for (const variable of variables) {
167
- const series = variableResults[variable];
390
+ const series = seriesByVariable[variable];
168
391
  if (!series) {
169
392
  continue;
170
393
  }
171
- for (const sample of series.data) {
394
+ for (const sample of series) {
172
395
  const timestampKey = MetricFormulaEvaluator.normalizeTimestamp(sample.timestamp);
173
396
  if (!index.has(timestampKey)) {
174
397
  index.set(timestampKey, {});
@@ -379,8 +602,44 @@ export default class MetricFormulaEvaluator {
379
602
  }
380
603
  output.push(top);
381
604
  }
605
+ MetricFormulaEvaluator.assertValidRpn(output);
382
606
  return output;
383
607
  }
608
+ /**
609
+ * Verify operator arity by simulating stack depth over the RPN. This
610
+ * turns malformed expressions like "a**b", "a+" or "()" into
611
+ * descriptive parse-time errors instead of silent per-point failures
612
+ * that render as "no data".
613
+ */
614
+ static assertValidRpn(rpn) {
615
+ let depth = 0;
616
+ for (const token of rpn) {
617
+ if (token.type === TokenType.Number ||
618
+ token.type === TokenType.Variable) {
619
+ depth++;
620
+ continue;
621
+ }
622
+ if (token.type === TokenType.Operator) {
623
+ const operatorValue = token.value;
624
+ if (operatorValue === "u-" || operatorValue === "u+") {
625
+ if (depth < 1) {
626
+ throw new BadDataException(`Invalid formula: unary "${operatorValue.charAt(1)}" is missing its operand.`);
627
+ }
628
+ continue;
629
+ }
630
+ if (depth < 2) {
631
+ throw new BadDataException(`Invalid formula: operator "${operatorValue}" is missing an operand.`);
632
+ }
633
+ depth--;
634
+ }
635
+ }
636
+ if (depth === 0) {
637
+ throw new BadDataException("Invalid formula: expression is empty.");
638
+ }
639
+ if (depth !== 1) {
640
+ throw new BadDataException("Invalid formula: expression does not reduce to a single value. Did you forget an operator between two values?");
641
+ }
642
+ }
384
643
  static evaluateRpn(rpn, variableValues) {
385
644
  const stack = [];
386
645
  for (const token of rpn) {
@@ -1 +1 @@
1
- {"version":3,"file":"MetricFormulaEvaluator.js","sourceRoot":"","sources":["../../../../Utils/Metrics/MetricFormulaEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricFormulaEvaluator.js","sourceRoot":"","sources":["../../../../Utils/Metrics/MetricFormulaEvaluator.ts"],"names":[],"mappings":"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"}