@oneuptime/common 11.5.9 → 11.5.11

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 (379) 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/EnterpriseLicenseInstance.ts +18 -0
  7. package/Models/DatabaseModels/GlobalConfig.ts +36 -0
  8. package/Models/DatabaseModels/Index.ts +2 -0
  9. package/Models/DatabaseModels/MarketingConversion.ts +198 -0
  10. package/Models/DatabaseModels/MetricSavedView.ts +34 -0
  11. package/Models/DatabaseModels/MetricType.ts +74 -0
  12. package/Models/DatabaseModels/NetworkDevice.ts +332 -0
  13. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +113 -0
  14. package/Models/DatabaseModels/NetworkInterface.ts +58 -0
  15. package/Models/DatabaseModels/Project.ts +37 -0
  16. package/Models/DatabaseModels/User.ts +37 -0
  17. package/Server/API/BaseAnalyticsAPI.ts +23 -0
  18. package/Server/API/EnterpriseLicenseAPI.ts +14 -0
  19. package/Server/EnvironmentConfig.ts +84 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.ts +38 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.ts +28 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.ts +108 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.ts +31 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.ts +29 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.ts +35 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.ts +101 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
  28. package/Server/Services/AnalyticsDatabaseService.ts +70 -1
  29. package/Server/Services/IncidentService.ts +13 -0
  30. package/Server/Services/Index.ts +10 -0
  31. package/Server/Services/MarketingConversionService.ts +10 -0
  32. package/Server/Services/MetricItemAggMV1mByContainerService.ts +31 -0
  33. package/Server/Services/MetricItemAggMV1mByK8sClusterService.ts +31 -0
  34. package/Server/Services/MetricItemAggMV1mByServiceService.ts +31 -0
  35. package/Server/Services/MetricService.ts +970 -122
  36. package/Server/Services/MonitorService.ts +14 -0
  37. package/Server/Services/NetworkDeviceOwnerTeamService.ts +42 -0
  38. package/Server/Services/NetworkDeviceOwnerUserService.ts +106 -0
  39. package/Server/Services/NetworkFlowService.ts +11 -0
  40. package/Server/Services/OnCallDutyPolicyService.ts +11 -1
  41. package/Server/Services/ProjectService.ts +136 -0
  42. package/Server/Services/SpanService.ts +13 -9
  43. package/Server/Services/StatusPageService.ts +10 -0
  44. package/Server/Services/TeamMemberService.ts +11 -0
  45. package/Server/Services/UserService.ts +59 -0
  46. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +37 -7
  47. package/Server/Utils/Attribution.ts +99 -0
  48. package/Server/Utils/Marketing/ConversionUploadProvider.ts +103 -0
  49. package/Server/Utils/Marketing/ConversionUploadProviders.ts +22 -0
  50. package/Server/Utils/Marketing/Providers/GoogleAds.ts +270 -0
  51. package/Server/Utils/Marketing/Providers/LinkedIn.ts +147 -0
  52. package/Server/Utils/Marketing/Providers/Meta.ts +148 -0
  53. package/Server/Utils/Marketing/Providers/MicrosoftAds.ts +196 -0
  54. package/Server/Utils/Marketing/Providers/Reddit.ts +178 -0
  55. package/Server/Utils/Monitor/MonitorAlert.ts +71 -7
  56. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +31 -19
  57. package/Server/Utils/Monitor/MonitorIncident.ts +71 -7
  58. package/Server/Utils/Monitor/MonitorMetricUtil.ts +57 -0
  59. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +94 -0
  60. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +15 -0
  61. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +125 -14
  62. package/Server/Utils/ProductAnalytics.ts +133 -0
  63. package/Server/Utils/Telemetry/Telemetry.ts +39 -0
  64. package/Server/Utils/Telemetry/TelemetryEntity.ts +21 -0
  65. package/Tests/Server/API/BaseAnalyticsAPI.test.ts +72 -0
  66. package/Tests/Server/Infrastructure/SemaphorePermit.test.ts +9 -1
  67. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +21 -2
  68. package/Tests/Server/Services/MetricEntityMVKeyParity.test.ts +173 -0
  69. package/Tests/Server/Services/MetricServiceAggregate.test.ts +1391 -0
  70. package/Tests/Server/Services/NetworkDeviceOwnerServices.test.ts +260 -0
  71. package/Tests/Server/Utils/Monitor/MonitorTemplateUtilNetworkDevice.test.ts +389 -0
  72. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +764 -0
  73. package/Tests/Types/BaseDatabase/AggregationIntervalUtil.test.ts +111 -2
  74. package/Tests/Types/Database/EndsWith.test.ts +64 -0
  75. package/Tests/Types/Database/GreaterThan.test.ts +62 -0
  76. package/Tests/Types/Database/GreaterThanOrEqual.test.ts +65 -0
  77. package/Tests/Types/Database/GreaterThanOrNull.test.ts +63 -0
  78. package/Tests/Types/Database/Includes.test.ts +65 -0
  79. package/Tests/Types/Database/IncludesAll.test.ts +65 -0
  80. package/Tests/Types/Database/IncludesNone.test.ts +65 -0
  81. package/Tests/Types/Database/IsNull.test.ts +44 -0
  82. package/Tests/Types/Database/LessThan.test.ts +62 -0
  83. package/Tests/Types/Database/LessThanOrEqual.test.ts +62 -0
  84. package/Tests/Types/Database/LessThanOrNull.test.ts +62 -0
  85. package/Tests/Types/Database/MultiSearch.test.ts +81 -0
  86. package/Tests/Types/Database/NotContains.test.ts +64 -0
  87. package/Tests/Types/Database/NotNull.test.ts +44 -0
  88. package/Tests/Types/Database/StartsWith.test.ts +64 -0
  89. package/Tests/Types/Monitor/MonitorStepSqlMonitor.test.ts +83 -1
  90. package/Tests/Types/Monitor/SnmpV3EnumParsing.test.ts +247 -0
  91. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +263 -0
  92. package/Tests/UI/Components/XAxis.test.ts +5 -3
  93. package/Tests/Utils/EnterpriseLicenseUsage.test.ts +76 -0
  94. package/Tests/Utils/Metrics/MetricExplorerUrl.test.ts +622 -0
  95. package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +474 -0
  96. package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +52 -4
  97. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +11 -0
  98. package/Types/BaseDatabase/AggregateBy.ts +31 -2
  99. package/Types/BaseDatabase/AggregatedResult.ts +22 -0
  100. package/Types/BaseDatabase/AggregationInterval.ts +11 -0
  101. package/Types/BaseDatabase/AggregationIntervalUtil.ts +30 -5
  102. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +16 -0
  103. package/Types/Email/EmailTemplateType.ts +3 -0
  104. package/Types/Marketing/MarketingConversion.ts +11 -0
  105. package/Types/Metrics/MetricQueryConfigData.ts +21 -0
  106. package/Types/Metrics/MetricQueryData.ts +8 -0
  107. package/Types/Metrics/MetricViewData.ts +8 -0
  108. package/Types/Monitor/MonitorMetricType.ts +8 -0
  109. package/Types/Monitor/MonitorStep.ts +9 -0
  110. package/Types/Monitor/MonitorStepSqlMonitor.ts +12 -0
  111. package/Types/Monitor/MonitorType.ts +2 -1
  112. package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +17 -12
  113. package/Types/Monitor/SnmpMonitor/CdpNeighbor.ts +13 -0
  114. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +37 -3
  115. package/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.ts +46 -0
  116. package/Types/Monitor/SnmpMonitor/SnmpEntityInfo.ts +15 -0
  117. package/Types/Monitor/SnmpMonitor/SnmpInterface.ts +8 -0
  118. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +17 -8
  119. package/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.ts +53 -0
  120. package/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.ts +43 -0
  121. package/Types/Monitor/SnmpMonitor/SnmpSystemInfo.ts +16 -0
  122. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +119 -3
  123. package/Types/NetFlow/NetworkFlowRecord.ts +25 -0
  124. package/Types/Syslog/SyslogMessage.ts +18 -0
  125. package/Types/Telemetry/TelemetrySavedViewState.ts +9 -0
  126. package/Types/Telemetry/TelemetrySavedViewType.ts +12 -0
  127. package/UI/Components/Charts/Area/AreaChart.tsx +51 -0
  128. package/UI/Components/Charts/Bar/BarChart.tsx +51 -1
  129. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +97 -26
  130. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +328 -1
  131. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +115 -0
  132. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +328 -1
  133. package/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.ts +7 -0
  134. package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +15 -0
  135. package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +13 -0
  136. package/UI/Components/Charts/Line/LineChart.tsx +51 -0
  137. package/UI/Components/Charts/Types/ReferenceRegionProps.ts +12 -0
  138. package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +12 -0
  139. package/UI/Components/Charts/Types/XAxis/XAxisPrecision.ts +1 -0
  140. package/UI/Components/Charts/Utils/DataPoint.ts +0 -0
  141. package/UI/Components/Charts/Utils/TimeAnnotation.ts +169 -0
  142. package/UI/Components/Charts/Utils/XAxis.ts +28 -4
  143. package/UI/Components/Icon/Icon.tsx +33 -13
  144. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +9 -0
  145. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +67 -0
  146. package/UI/Components/Page/ModelPage.tsx +6 -1
  147. package/UI/Components/TelemetryViewer/components/SavedViewsDropdown.tsx +33 -4
  148. package/UI/Styles/Theme.css +10 -0
  149. package/UI/Utils/User.ts +41 -2
  150. package/Utils/Analytics.ts +8 -6
  151. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +74 -0
  152. package/Utils/Metrics/MetricExplorerUrl.ts +771 -0
  153. package/Utils/Metrics/MetricFormulaEvaluator.ts +410 -46
  154. package/Utils/Monitor/NetworkTopologyUtil.ts +261 -49
  155. package/Utils/ValueFormatter.ts +22 -1
  156. package/build/dist/Models/AnalyticsModels/Index.js +13 -0
  157. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  158. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +159 -0
  159. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -0
  160. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +158 -0
  161. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -0
  162. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +160 -0
  163. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -0
  164. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +351 -0
  165. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -0
  166. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js +19 -0
  167. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js.map +1 -1
  168. package/build/dist/Models/DatabaseModels/GlobalConfig.js +38 -0
  169. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  171. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  172. package/build/dist/Models/DatabaseModels/MarketingConversion.js +219 -0
  173. package/build/dist/Models/DatabaseModels/MarketingConversion.js.map +1 -0
  174. package/build/dist/Models/DatabaseModels/MetricSavedView.js +35 -0
  175. package/build/dist/Models/DatabaseModels/MetricSavedView.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/MetricType.js +76 -0
  177. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  178. package/build/dist/Models/DatabaseModels/NetworkDevice.js +341 -0
  179. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +116 -0
  181. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/NetworkInterface.js +60 -0
  183. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
  184. package/build/dist/Models/DatabaseModels/Project.js +38 -0
  185. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/User.js +38 -0
  187. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  188. package/build/dist/Server/API/BaseAnalyticsAPI.js +19 -0
  189. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  190. package/build/dist/Server/API/EnterpriseLicenseAPI.js +8 -0
  191. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
  192. package/build/dist/Server/EnvironmentConfig.js +51 -0
  193. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  194. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js +27 -0
  195. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js.map +1 -0
  196. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js +21 -0
  197. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js.map +1 -0
  198. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js +47 -0
  199. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js.map +1 -0
  200. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js +16 -0
  201. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js.map +1 -0
  202. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js +18 -0
  203. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js.map +1 -0
  204. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js +20 -0
  205. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js.map +1 -0
  206. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js +40 -0
  207. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js.map +1 -0
  208. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
  209. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  210. package/build/dist/Server/Services/AnalyticsDatabaseService.js +58 -4
  211. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  212. package/build/dist/Server/Services/IncidentService.js +12 -0
  213. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  214. package/build/dist/Server/Services/Index.js +10 -0
  215. package/build/dist/Server/Services/Index.js.map +1 -1
  216. package/build/dist/Server/Services/MarketingConversionService.js +9 -0
  217. package/build/dist/Server/Services/MarketingConversionService.js.map +1 -0
  218. package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js +29 -0
  219. package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js.map +1 -0
  220. package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js +29 -0
  221. package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js.map +1 -0
  222. package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js +29 -0
  223. package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js.map +1 -0
  224. package/build/dist/Server/Services/MetricService.js +761 -125
  225. package/build/dist/Server/Services/MetricService.js.map +1 -1
  226. package/build/dist/Server/Services/MonitorService.js +18 -5
  227. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  228. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js +44 -0
  229. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js.map +1 -1
  230. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js +88 -0
  231. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js.map +1 -1
  232. package/build/dist/Server/Services/NetworkFlowService.js +9 -0
  233. package/build/dist/Server/Services/NetworkFlowService.js.map +1 -0
  234. package/build/dist/Server/Services/OnCallDutyPolicyService.js +15 -6
  235. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  236. package/build/dist/Server/Services/ProjectService.js +107 -6
  237. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  238. package/build/dist/Server/Services/SpanService.js +8 -6
  239. package/build/dist/Server/Services/SpanService.js.map +1 -1
  240. package/build/dist/Server/Services/StatusPageService.js +10 -0
  241. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  242. package/build/dist/Server/Services/TeamMemberService.js +11 -0
  243. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  244. package/build/dist/Server/Services/UserService.js +52 -0
  245. package/build/dist/Server/Services/UserService.js.map +1 -1
  246. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +33 -7
  247. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  248. package/build/dist/Server/Utils/Attribution.js +74 -0
  249. package/build/dist/Server/Utils/Attribution.js.map +1 -0
  250. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js +40 -0
  251. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js.map +1 -0
  252. package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js +20 -0
  253. package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js.map +1 -0
  254. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js +177 -0
  255. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js.map +1 -0
  256. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js +113 -0
  257. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js.map +1 -0
  258. package/build/dist/Server/Utils/Marketing/Providers/Meta.js +109 -0
  259. package/build/dist/Server/Utils/Marketing/Providers/Meta.js.map +1 -0
  260. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js +130 -0
  261. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js.map +1 -0
  262. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js +126 -0
  263. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js.map +1 -0
  264. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +53 -9
  265. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  266. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +21 -10
  267. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  268. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +54 -11
  269. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  270. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +43 -3
  271. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  272. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +68 -0
  273. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  274. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +15 -0
  275. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  276. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +100 -15
  277. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  278. package/build/dist/Server/Utils/ProductAnalytics.js +111 -0
  279. package/build/dist/Server/Utils/ProductAnalytics.js.map +1 -0
  280. package/build/dist/Server/Utils/Telemetry/Telemetry.js +32 -5
  281. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  282. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +17 -0
  283. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  284. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +11 -0
  285. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  286. package/build/dist/Types/BaseDatabase/AggregationInterval.js +11 -0
  287. package/build/dist/Types/BaseDatabase/AggregationInterval.js.map +1 -1
  288. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +33 -5
  289. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -1
  290. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  291. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  292. package/build/dist/Types/Marketing/MarketingConversion.js +13 -0
  293. package/build/dist/Types/Marketing/MarketingConversion.js.map +1 -0
  294. package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
  295. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  296. package/build/dist/Types/Monitor/MonitorStep.js +6 -0
  297. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  298. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js +3 -0
  299. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
  300. package/build/dist/Types/Monitor/MonitorType.js +2 -1
  301. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  302. package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js +2 -0
  303. package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js.map +1 -0
  304. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js +41 -0
  305. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js.map +1 -1
  306. package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js +2 -0
  307. package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js.map +1 -0
  308. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js +48 -0
  309. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js.map +1 -1
  310. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js +38 -0
  311. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js.map +1 -1
  312. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js +2 -0
  313. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js.map +1 -0
  314. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +96 -3
  315. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  316. package/build/dist/Types/NetFlow/NetworkFlowRecord.js +2 -0
  317. package/build/dist/Types/NetFlow/NetworkFlowRecord.js.map +1 -0
  318. package/build/dist/Types/Syslog/SyslogMessage.js +2 -0
  319. package/build/dist/Types/Syslog/SyslogMessage.js.map +1 -0
  320. package/build/dist/Types/Telemetry/TelemetrySavedViewState.js +0 -7
  321. package/build/dist/Types/Telemetry/TelemetrySavedViewState.js.map +1 -1
  322. package/build/dist/Types/Telemetry/TelemetrySavedViewType.js +13 -0
  323. package/build/dist/Types/Telemetry/TelemetrySavedViewType.js.map +1 -0
  324. package/build/dist/UI/Components/Charts/Area/AreaChart.js +25 -1
  325. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  326. package/build/dist/UI/Components/Charts/Bar/BarChart.js +26 -2
  327. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  328. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +36 -12
  329. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  330. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +208 -6
  331. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  332. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +52 -3
  333. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  334. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +208 -6
  335. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  336. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js +6 -1
  337. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js.map +1 -1
  338. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js +2 -0
  339. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js.map +1 -0
  340. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js +2 -0
  341. package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js.map +1 -0
  342. package/build/dist/UI/Components/Charts/Line/LineChart.js +25 -1
  343. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  344. package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js +2 -0
  345. package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js.map +1 -0
  346. package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js +2 -0
  347. package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js.map +1 -0
  348. package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js +1 -0
  349. package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js.map +1 -1
  350. package/build/dist/UI/Components/Charts/Utils/DataPoint.js +0 -0
  351. package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
  352. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +121 -0
  353. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -0
  354. package/build/dist/UI/Components/Charts/Utils/XAxis.js +27 -4
  355. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  356. package/build/dist/UI/Components/Icon/Icon.js +15 -8
  357. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  358. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  359. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +58 -0
  360. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  361. package/build/dist/UI/Components/Page/ModelPage.js +7 -1
  362. package/build/dist/UI/Components/Page/ModelPage.js.map +1 -1
  363. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js +10 -4
  364. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js.map +1 -1
  365. package/build/dist/UI/Utils/User.js +35 -2
  366. package/build/dist/UI/Utils/User.js.map +1 -1
  367. package/build/dist/Utils/Analytics.js +8 -5
  368. package/build/dist/Utils/Analytics.js.map +1 -1
  369. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +57 -0
  370. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  371. package/build/dist/Utils/Metrics/MetricExplorerUrl.js +418 -0
  372. package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -0
  373. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +296 -37
  374. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -1
  375. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +176 -40
  376. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  377. package/build/dist/Utils/ValueFormatter.js +20 -1
  378. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  379. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../UI/Utils/User.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../UI/Utils/User.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,15 @@ export default class Analytics {
26
26
  posthog.reset();
27
27
  }
28
28
  capture(eventName, data) {
29
- if (!this.isInitialized) {
30
- return;
31
- }
32
29
  // PostHog tracking
33
- posthog.capture(eventName, data);
34
- // GA4 tracking via dataLayer (for Google Analytics conversion tracking)
30
+ if (this.isInitialized) {
31
+ posthog.capture(eventName, data);
32
+ }
33
+ /*
34
+ * GA4 tracking via dataLayer (for Google Analytics / Google Ads conversion
35
+ * tracking). This must not depend on PostHog being configured — GTM is
36
+ * loaded independently of ANALYTICS_KEY / ANALYTICS_HOST.
37
+ */
35
38
  if (typeof window !== "undefined" && window.dataLayer) {
36
39
  window.dataLayer.push(Object.assign({ event: eventName, eventCategory: "analytics", eventAction: eventName }, (data || {})));
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics.js","sourceRoot":"","sources":["../../../Utils/Analytics.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,SAAS;IAE5B,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,IAAW,aAAa,CAAC,CAAU;QACjC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,YAAmB,OAAe,EAAE,MAAc;QAR1C,mBAAc,GAAY,KAAK,CAAC;QAStC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,KAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,SAAiB,EAAE,IAAiB;QACjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEjC,wEAAwE;QACxE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,SAAS,EAAE,CAAC;YAC9D,MAAc,CAAC,SAAS,CAAC,IAAI,iBAC5B,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,WAAW,EAC1B,WAAW,EAAE,SAAS,IACnB,CAAC,IAAI,IAAI,EAAE,CAAC,EACf,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Analytics.js","sourceRoot":"","sources":["../../../Utils/Analytics.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,SAAS;IAE5B,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,IAAW,aAAa,CAAC,CAAU;QACjC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,YAAmB,OAAe,EAAE,MAAc;QAR1C,mBAAc,GAAY,KAAK,CAAC;QAStC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,KAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,SAAiB,EAAE,IAAiB;QACjD,mBAAmB;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED;;;;WAIG;QACH,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,SAAS,EAAE,CAAC;YAC9D,MAAc,CAAC,SAAS,CAAC,IAAI,iBAC5B,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,WAAW,EAC1B,WAAW,EAAE,SAAS,IACnB,CAAC,IAAI,IAAI,EAAE,CAAC,EACf,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -1,5 +1,42 @@
1
1
  import OneUptimeDate from "../../Types/Date";
2
2
  class EnterpriseLicenseUsageUtil {
3
+ /*
4
+ * License keys are shown/emailed masked — enough to identify the key
5
+ * without exposing it in full.
6
+ */
7
+ static maskLicenseKey(licenseKey) {
8
+ if (licenseKey.length <= 8) {
9
+ return "••••••••";
10
+ }
11
+ return `${licenseKey.substring(0, 4)}••••${licenseKey.substring(licenseKey.length - 4)}`;
12
+ }
13
+ /*
14
+ * Normalizes a client-provided list of master admin emails: keeps only
15
+ * email-shaped strings, lowercases them, removes duplicates and caps the
16
+ * list size. Returns an empty array for anything that is not an array.
17
+ */
18
+ static sanitizeMasterAdminEmails(value) {
19
+ if (!Array.isArray(value)) {
20
+ return [];
21
+ }
22
+ const emails = new Set();
23
+ for (const item of value) {
24
+ if (emails.size >= this.maxMasterAdminEmailsPerInstance) {
25
+ break;
26
+ }
27
+ if (typeof item !== "string") {
28
+ continue;
29
+ }
30
+ const normalized = item.trim().toLowerCase();
31
+ if (!normalized ||
32
+ normalized.length > 320 ||
33
+ !this.emailRegex.test(normalized)) {
34
+ continue;
35
+ }
36
+ emails.add(normalized);
37
+ }
38
+ return Array.from(emails);
39
+ }
3
40
  /*
4
41
  * Normalizes a client-provided list of email hashes: keeps only valid
5
42
  * SHA-256 hex strings, lowercases them, removes duplicates and caps the
@@ -70,6 +107,18 @@ class EnterpriseLicenseUsageUtil {
70
107
  return uniqueHashes.size + usersWithoutHashes;
71
108
  }
72
109
  }
110
+ /*
111
+ * How many days before a license expires that expiry reminder emails
112
+ * start going out, unless overridden in GlobalConfig
113
+ * (enterpriseLicenseExpiryReminderDays).
114
+ */
115
+ EnterpriseLicenseUsageUtil.defaultExpiryReminderDays = 45;
116
+ /*
117
+ * Expired licenses keep getting a daily "expired" email for this many
118
+ * days after expiry, then go quiet — an abandoned license should not be
119
+ * emailed forever.
120
+ */
121
+ EnterpriseLicenseUsageUtil.expiredNotificationCutoffDays = 30;
73
122
  /*
74
123
  * Instances that stopped reporting (for example a decommissioned staging
75
124
  * environment) stop counting towards the seat total after this many days,
@@ -79,5 +128,13 @@ EnterpriseLicenseUsageUtil.InstanceUsageFreshnessInDays = 30;
79
128
  // SHA-256 hex digest.
80
129
  EnterpriseLicenseUsageUtil.emailHashRegex = /^[a-f0-9]{64}$/;
81
130
  EnterpriseLicenseUsageUtil.maxEmailHashesPerInstance = 200000;
131
+ /*
132
+ * Master admin emails are used to contact the customer about license
133
+ * issues — a handful per instance is plenty, and the cap keeps a
134
+ * misbehaving client from storing an unbounded list.
135
+ */
136
+ EnterpriseLicenseUsageUtil.maxMasterAdminEmailsPerInstance = 50;
137
+ // Deliberately loose: rejects garbage, accepts anything email-shaped.
138
+ EnterpriseLicenseUsageUtil.emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
82
139
  export default EnterpriseLicenseUsageUtil;
83
140
  //# sourceMappingURL=EnterpriseLicenseUsage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAc7C,MAAqB,0BAA0B;IAa7C;;;;OAIG;IACI,MAAM,CAAC,uBAAuB,CAAC,KAAc;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAU,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAClD,MAAM;YACR,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,6BAA6B,CACzC,QAAwC,EACxC,GAAS;QAET,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,mEAAmE;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAS,aAAa,CAAC,aAAa,CACnD,GAAG,EACH,CAAC,IAAI,CAAC,4BAA4B,CACnC,CAAC;QAEF,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAC9B,SAAgD,EAChD,GAAS;QAET,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAU,CAAC;QACpD,IAAI,kBAAkB,GAAW,CAAC,CAAC;QAEnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC5C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBAED;;;;;mBAKG;gBACH,IACE,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;oBACtC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EACpD,CAAC;oBACD,kBAAkB;wBAChB,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;gBACzD,CAAC;gBAED,SAAS;YACX,CAAC;YAED,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACrE,kBAAkB,IAAI,QAAQ,CAAC,SAAS,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAChD,CAAC;;AA5GD;;;;GAIG;AACoB,uDAA4B,GAAW,EAAE,CAAC;AAEjE,sBAAsB;AACE,yCAAc,GAAW,gBAAgB,CAAC;AAE3C,oDAAyB,GAAW,MAAO,CAAC;eAXhD,0BAA0B"}
1
+ {"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,418 @@
1
+ import JSONFunctions from "../../Types/JSONFunctions";
2
+ import OneUptimeDate from "../../Types/Date";
3
+ import { MetricChartType, } from "../../Types/Metrics/MetricQueryConfigData";
4
+ import MetricsAggregationType from "../../Types/Metrics/MetricsAggregationType";
5
+ import TimeRange from "../../Types/Time/TimeRange";
6
+ /*
7
+ * Single source of truth for the metric explorer's URL schema — the
8
+ * JSON-encoded `metricQueries` / `metricFormulas` params plus the
9
+ * `startTime` / `endTime` window. Shared between the browser bundle
10
+ * (MetricExplorer's URL round-trip) and the server (incident root-cause
11
+ * deep links built by MonitorCriteriaEvaluator), so it must never import
12
+ * anything that touches window/DOM/UI.
13
+ */
14
+ export var MetricExplorerUrlParam;
15
+ (function (MetricExplorerUrlParam) {
16
+ MetricExplorerUrlParam["MetricQueries"] = "metricQueries";
17
+ MetricExplorerUrlParam["MetricFormulas"] = "metricFormulas";
18
+ MetricExplorerUrlParam["StartTime"] = "startTime";
19
+ MetricExplorerUrlParam["EndTime"] = "endTime";
20
+ /*
21
+ * Relative-time token (a TimeRange enum value, e.g. "Past 1 Day").
22
+ * Emitted for every relative range — including the default Past 1 Hour,
23
+ * so reloaded/shared links keep rolling instead of pinning — and
24
+ * omitted only for Custom/pinned absolute windows. startTime/endTime
25
+ * always carry the absolute window for back-compat, so older links
26
+ * (which never had a range param) keep working as pinned windows.
27
+ */
28
+ MetricExplorerUrlParam["Range"] = "range";
29
+ })(MetricExplorerUrlParam || (MetricExplorerUrlParam = {}));
30
+ export default class MetricExplorerUrl {
31
+ /*
32
+ * Builds the full URL param dictionary for a metric-view state. Keys
33
+ * are only present when they carry a value (empty/meaningless queries
34
+ * and formulas are skipped; the time params are only emitted when both
35
+ * ends of the window exist), so callers can set present keys and
36
+ * delete absent ones. Keyed by MetricExplorerUrlParam values so a
37
+ * future param (e.g. a relative-range token) only needs a new enum
38
+ * member and builder branch.
39
+ */
40
+ static buildQueryParamsFromMetricViewData(data) {
41
+ var _a, _b;
42
+ const params = {};
43
+ const queries = data.queryConfigs
44
+ .map((queryConfig) => {
45
+ return MetricExplorerUrl.buildSerializedMetricQuery(queryConfig);
46
+ })
47
+ .filter(MetricExplorerUrl.isMeaningfulMetricQuery);
48
+ const formulas = data.formulaConfigs
49
+ .map((formulaConfig) => {
50
+ return MetricExplorerUrl.buildSerializedMetricFormula(formulaConfig);
51
+ })
52
+ .filter(MetricExplorerUrl.isMeaningfulMetricFormula);
53
+ if (queries.length > 0) {
54
+ params[MetricExplorerUrlParam.MetricQueries] = JSON.stringify(queries);
55
+ }
56
+ if (formulas.length > 0) {
57
+ params[MetricExplorerUrlParam.MetricFormulas] = JSON.stringify(formulas);
58
+ }
59
+ const startTimeValue = (_a = data.startAndEndDate) === null || _a === void 0 ? void 0 : _a.startValue;
60
+ const endTimeValue = (_b = data.startAndEndDate) === null || _b === void 0 ? void 0 : _b.endValue;
61
+ if (startTimeValue && endTimeValue) {
62
+ params[MetricExplorerUrlParam.StartTime] =
63
+ OneUptimeDate.toString(startTimeValue);
64
+ params[MetricExplorerUrlParam.EndTime] =
65
+ OneUptimeDate.toString(endTimeValue);
66
+ }
67
+ /*
68
+ * Relative token. Emitted for every relative range — including the
69
+ * default Past 1 Hour, because parsing treats absolute-only params
70
+ * as a pinned Custom window, so leaving the default implicit would
71
+ * silently turn the rolling hour into a frozen window on reload or
72
+ * Copy Link. Custom windows are represented by the absolute params
73
+ * alone (getValidRangeToken filters Custom and garbage).
74
+ */
75
+ const rangeToken = MetricExplorerUrl.getValidRangeToken(data.rangeToken);
76
+ if (rangeToken) {
77
+ params[MetricExplorerUrlParam.Range] = rangeToken;
78
+ }
79
+ return params;
80
+ }
81
+ /*
82
+ * Returns the value as a relative TimeRange token when it is a known
83
+ * enum member other than Custom (Custom windows are carried by the
84
+ * absolute startTime/endTime params instead); undefined otherwise.
85
+ */
86
+ static getValidRangeToken(value) {
87
+ if (typeof value !== "string") {
88
+ return undefined;
89
+ }
90
+ const knownRanges = Object.values(TimeRange);
91
+ if (!knownRanges.includes(value) || value === TimeRange.CUSTOM) {
92
+ return undefined;
93
+ }
94
+ return value;
95
+ }
96
+ static buildSerializedMetricQuery(queryConfig) {
97
+ var _a;
98
+ const filterDataRecord = queryConfig
99
+ .metricQueryData.filterData;
100
+ const metricNameValue = filterDataRecord["metricName"];
101
+ const metricName = typeof metricNameValue === "string" ? metricNameValue : "";
102
+ const attributes = MetricExplorerUrl.sanitizeAttributes(filterDataRecord["attributes"]);
103
+ const aggregationType = MetricExplorerUrl.getAggregationTypeFromValue(filterDataRecord["aggegationType"]);
104
+ const alias = MetricExplorerUrl.buildAliasFromMetricAliasData(queryConfig.metricAliasData);
105
+ const groupByAttributeKeys = MetricExplorerUrl.sanitizeGroupByAttributeKeys(queryConfig.metricQueryData.groupByAttributeKeys);
106
+ const chartType = MetricExplorerUrl.getChartTypeFromValue(queryConfig.chartType);
107
+ const color = typeof queryConfig.color === "string" && queryConfig.color.trim() !== ""
108
+ ? queryConfig.color
109
+ : undefined;
110
+ const colorsByGroup = MetricExplorerUrl.sanitizeColorsByGroup(queryConfig.colorsByGroup);
111
+ const warningThreshold = MetricExplorerUrl.getFiniteNumberFromValue(queryConfig.warningThreshold);
112
+ const criticalThreshold = MetricExplorerUrl.getFiniteNumberFromValue(queryConfig.criticalThreshold);
113
+ const topN = MetricExplorerUrl.getPositiveIntegerFromValue(queryConfig.metricQueryData.topN);
114
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ metricName }, (((_a = queryConfig.metricAliasData) === null || _a === void 0 ? void 0 : _a.metricVariable)
115
+ ? { variable: queryConfig.metricAliasData.metricVariable }
116
+ : {})), { attributes }), (aggregationType ? { aggregationType } : {})), (alias ? { alias } : {})), (groupByAttributeKeys.length > 0 ? { groupByAttributeKeys } : {})), (chartType ? { chartType } : {})), (color ? { color } : {})), (Object.keys(colorsByGroup).length > 0 ? { colorsByGroup } : {})), (warningThreshold !== undefined ? { warningThreshold } : {})), (criticalThreshold !== undefined ? { criticalThreshold } : {})), (queryConfig.transformAsRate === true
117
+ ? { transformAsRate: true }
118
+ : {})), (queryConfig.overlayWithPreviousQuery === true
119
+ ? { overlayWithPreviousQuery: true }
120
+ : {})), (topN !== undefined ? { topN } : {}));
121
+ }
122
+ static buildSerializedMetricFormula(formulaConfig) {
123
+ var _a, _b;
124
+ const alias = MetricExplorerUrl.buildAliasFromMetricAliasData(formulaConfig.metricAliasData);
125
+ const chartType = MetricExplorerUrl.getChartTypeFromValue(formulaConfig.chartType);
126
+ const color = typeof formulaConfig.color === "string" &&
127
+ formulaConfig.color.trim() !== ""
128
+ ? formulaConfig.color
129
+ : undefined;
130
+ const warningThreshold = MetricExplorerUrl.getFiniteNumberFromValue(formulaConfig.warningThreshold);
131
+ const criticalThreshold = MetricExplorerUrl.getFiniteNumberFromValue(formulaConfig.criticalThreshold);
132
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ formula: ((_a = formulaConfig.metricFormulaData) === null || _a === void 0 ? void 0 : _a.metricFormula) || "" }, (((_b = formulaConfig.metricAliasData) === null || _b === void 0 ? void 0 : _b.metricVariable)
133
+ ? { variable: formulaConfig.metricAliasData.metricVariable }
134
+ : {})), (alias ? { alias } : {})), (chartType ? { chartType } : {})), (color ? { color } : {})), (warningThreshold !== undefined ? { warningThreshold } : {})), (criticalThreshold !== undefined ? { criticalThreshold } : {}));
135
+ }
136
+ /*
137
+ * Parses the JSON-encoded `metricQueries` param. Defensive by design:
138
+ * malformed JSON or a non-array yields [], garbage entries are skipped,
139
+ * wrong-typed fields are dropped, unknown fields are ignored — the
140
+ * result is always safe plain data. Older links carrying only a subset
141
+ * of fields parse fine because everything except metricName defaults.
142
+ */
143
+ static parseMetricQueriesParam(raw) {
144
+ let parsedValue = null;
145
+ try {
146
+ parsedValue = JSONFunctions.parse(raw);
147
+ }
148
+ catch (_a) {
149
+ return [];
150
+ }
151
+ if (!Array.isArray(parsedValue)) {
152
+ return [];
153
+ }
154
+ const sanitizedQueries = [];
155
+ for (const entry of parsedValue) {
156
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
157
+ continue;
158
+ }
159
+ const entryRecord = entry;
160
+ const metricName = typeof entryRecord["metricName"] === "string"
161
+ ? entryRecord["metricName"]
162
+ : "";
163
+ const variable = typeof entryRecord["variable"] === "string"
164
+ ? entryRecord["variable"]
165
+ : undefined;
166
+ const attributes = MetricExplorerUrl.sanitizeAttributes(entryRecord["attributes"]);
167
+ const aggregationType = MetricExplorerUrl.getAggregationTypeFromValue(entryRecord["aggregationType"]);
168
+ const alias = MetricExplorerUrl.sanitizeAlias(entryRecord["alias"], entryRecord);
169
+ const groupByAttributeKeys = MetricExplorerUrl.sanitizeGroupByAttributeKeys(entryRecord["groupByAttributeKeys"]);
170
+ const chartType = MetricExplorerUrl.getChartTypeFromValue(entryRecord["chartType"]);
171
+ const color = typeof entryRecord["color"] === "string" &&
172
+ entryRecord["color"].trim() !== ""
173
+ ? entryRecord["color"]
174
+ : undefined;
175
+ const colorsByGroup = MetricExplorerUrl.sanitizeColorsByGroup(entryRecord["colorsByGroup"]);
176
+ const warningThreshold = MetricExplorerUrl.getFiniteNumberFromValue(entryRecord["warningThreshold"]);
177
+ const criticalThreshold = MetricExplorerUrl.getFiniteNumberFromValue(entryRecord["criticalThreshold"]);
178
+ const topN = MetricExplorerUrl.getPositiveIntegerFromValue(entryRecord["topN"]);
179
+ sanitizedQueries.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ metricName }, (variable ? { variable } : {})), { attributes }), (aggregationType ? { aggregationType } : {})), (alias ? { alias } : {})), (groupByAttributeKeys.length > 0 ? { groupByAttributeKeys } : {})), (chartType ? { chartType } : {})), (color ? { color } : {})), (Object.keys(colorsByGroup).length > 0 ? { colorsByGroup } : {})), (warningThreshold !== undefined ? { warningThreshold } : {})), (criticalThreshold !== undefined ? { criticalThreshold } : {})), (entryRecord["transformAsRate"] === true
180
+ ? { transformAsRate: true }
181
+ : {})), (entryRecord["overlayWithPreviousQuery"] === true
182
+ ? { overlayWithPreviousQuery: true }
183
+ : {})), (topN !== undefined ? { topN } : {})));
184
+ }
185
+ return sanitizedQueries;
186
+ }
187
+ static parseMetricFormulasParam(raw) {
188
+ let parsedValue = null;
189
+ try {
190
+ parsedValue = JSONFunctions.parse(raw);
191
+ }
192
+ catch (_a) {
193
+ return [];
194
+ }
195
+ if (!Array.isArray(parsedValue)) {
196
+ return [];
197
+ }
198
+ const formulas = [];
199
+ for (const entry of parsedValue) {
200
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
201
+ continue;
202
+ }
203
+ const entryRecord = entry;
204
+ const formula = typeof entryRecord["formula"] === "string"
205
+ ? entryRecord["formula"]
206
+ : "";
207
+ if (!formula) {
208
+ continue;
209
+ }
210
+ const variable = typeof entryRecord["variable"] === "string"
211
+ ? entryRecord["variable"]
212
+ : undefined;
213
+ const alias = MetricExplorerUrl.sanitizeAlias(entryRecord["alias"], entryRecord);
214
+ const chartType = MetricExplorerUrl.getChartTypeFromValue(entryRecord["chartType"]);
215
+ const color = typeof entryRecord["color"] === "string" &&
216
+ entryRecord["color"].trim() !== ""
217
+ ? entryRecord["color"]
218
+ : undefined;
219
+ const warningThreshold = MetricExplorerUrl.getFiniteNumberFromValue(entryRecord["warningThreshold"]);
220
+ const criticalThreshold = MetricExplorerUrl.getFiniteNumberFromValue(entryRecord["criticalThreshold"]);
221
+ formulas.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ formula }, (variable ? { variable } : {})), (alias ? { alias } : {})), (chartType ? { chartType } : {})), (color ? { color } : {})), (warningThreshold !== undefined ? { warningThreshold } : {})), (criticalThreshold !== undefined ? { criticalThreshold } : {})));
222
+ }
223
+ return formulas;
224
+ }
225
+ /*
226
+ * A query earns a spot in the URL if it selects any data (name,
227
+ * attribute filters, non-default aggregation, group-by) OR carries any
228
+ * display-only customization (alias text, chart type, colors,
229
+ * thresholds, rate/overlay transforms) — dropping those on share would
230
+ * silently lose user work.
231
+ */
232
+ static isMeaningfulMetricQuery(query) {
233
+ if (query.metricName) {
234
+ return true;
235
+ }
236
+ if (query.attributes && Object.keys(query.attributes).length > 0) {
237
+ return true;
238
+ }
239
+ if (query.aggregationType &&
240
+ query.aggregationType !== MetricsAggregationType.Avg) {
241
+ return true;
242
+ }
243
+ if (query.alias && Object.keys(query.alias).length > 0) {
244
+ return true;
245
+ }
246
+ if (query.groupByAttributeKeys && query.groupByAttributeKeys.length > 0) {
247
+ return true;
248
+ }
249
+ if (query.chartType) {
250
+ return true;
251
+ }
252
+ if (query.color) {
253
+ return true;
254
+ }
255
+ if (query.colorsByGroup && Object.keys(query.colorsByGroup).length > 0) {
256
+ return true;
257
+ }
258
+ if (query.warningThreshold !== undefined ||
259
+ query.criticalThreshold !== undefined) {
260
+ return true;
261
+ }
262
+ if (query.transformAsRate === true) {
263
+ return true;
264
+ }
265
+ if (query.overlayWithPreviousQuery === true) {
266
+ return true;
267
+ }
268
+ if (query.topN !== undefined) {
269
+ return true;
270
+ }
271
+ return false;
272
+ }
273
+ static isMeaningfulMetricFormula(formula) {
274
+ return Boolean(formula.formula && formula.formula.trim());
275
+ }
276
+ static sanitizeAttributes(value) {
277
+ if (value === null || value === undefined) {
278
+ return {};
279
+ }
280
+ let candidate = value;
281
+ if (typeof value === "string") {
282
+ try {
283
+ candidate = JSONFunctions.parse(value);
284
+ }
285
+ catch (_a) {
286
+ return {};
287
+ }
288
+ }
289
+ if (!candidate ||
290
+ typeof candidate !== "object" ||
291
+ Array.isArray(candidate)) {
292
+ return {};
293
+ }
294
+ const attributes = {};
295
+ for (const key in candidate) {
296
+ const attributeValue = candidate[key];
297
+ if (typeof attributeValue === "string" ||
298
+ typeof attributeValue === "number" ||
299
+ typeof attributeValue === "boolean") {
300
+ attributes[key] = attributeValue;
301
+ }
302
+ }
303
+ return attributes;
304
+ }
305
+ static buildAliasFromMetricAliasData(data) {
306
+ if (!data) {
307
+ return undefined;
308
+ }
309
+ const alias = {};
310
+ if (typeof data.title === "string" && data.title.trim() !== "") {
311
+ alias.title = data.title;
312
+ }
313
+ if (typeof data.description === "string" &&
314
+ data.description.trim() !== "") {
315
+ alias.description = data.description;
316
+ }
317
+ if (typeof data.legend === "string" && data.legend.trim() !== "") {
318
+ alias.legend = data.legend;
319
+ }
320
+ if (typeof data.legendUnit === "string" && data.legendUnit.trim() !== "") {
321
+ alias.legendUnit = data.legendUnit;
322
+ }
323
+ return Object.keys(alias).length > 0 ? alias : undefined;
324
+ }
325
+ static sanitizeAlias(value, fallback) {
326
+ const alias = {};
327
+ if (value && typeof value === "object" && !Array.isArray(value)) {
328
+ const aliasRecord = value;
329
+ if (typeof aliasRecord["title"] === "string") {
330
+ alias.title = aliasRecord["title"];
331
+ }
332
+ if (typeof aliasRecord["description"] === "string") {
333
+ alias.description = aliasRecord["description"];
334
+ }
335
+ if (typeof aliasRecord["legend"] === "string") {
336
+ alias.legend = aliasRecord["legend"];
337
+ }
338
+ if (typeof aliasRecord["legendUnit"] === "string") {
339
+ alias.legendUnit = aliasRecord["legendUnit"];
340
+ }
341
+ }
342
+ // Backward compatibility: allow flat keys on the main query record.
343
+ if (fallback) {
344
+ if (alias.title === undefined && typeof fallback["title"] === "string") {
345
+ alias.title = fallback["title"];
346
+ }
347
+ if (alias.description === undefined &&
348
+ typeof fallback["description"] === "string") {
349
+ alias.description = fallback["description"];
350
+ }
351
+ if (alias.legend === undefined &&
352
+ typeof fallback["legend"] === "string") {
353
+ alias.legend = fallback["legend"];
354
+ }
355
+ if (alias.legendUnit === undefined &&
356
+ typeof fallback["legendUnit"] === "string") {
357
+ alias.legendUnit = fallback["legendUnit"];
358
+ }
359
+ }
360
+ return Object.keys(alias).length > 0 ? alias : undefined;
361
+ }
362
+ static getAggregationTypeFromValue(value) {
363
+ if (typeof value === "string") {
364
+ const aggregationTypeValues = Object.values(MetricsAggregationType);
365
+ if (aggregationTypeValues.includes(value)) {
366
+ return value;
367
+ }
368
+ }
369
+ return undefined;
370
+ }
371
+ static getChartTypeFromValue(value) {
372
+ if (typeof value === "string") {
373
+ const chartTypeValues = Object.values(MetricChartType);
374
+ if (chartTypeValues.includes(value)) {
375
+ return value;
376
+ }
377
+ }
378
+ return undefined;
379
+ }
380
+ static getFiniteNumberFromValue(value) {
381
+ if (typeof value === "number" && Number.isFinite(value)) {
382
+ return value;
383
+ }
384
+ return undefined;
385
+ }
386
+ static getPositiveIntegerFromValue(value) {
387
+ if (typeof value === "number" && Number.isInteger(value) && value > 0) {
388
+ return value;
389
+ }
390
+ return undefined;
391
+ }
392
+ static sanitizeGroupByAttributeKeys(value) {
393
+ if (!Array.isArray(value)) {
394
+ return [];
395
+ }
396
+ const keys = [];
397
+ for (const entry of value) {
398
+ if (typeof entry === "string" && entry.trim() !== "") {
399
+ keys.push(entry);
400
+ }
401
+ }
402
+ return keys;
403
+ }
404
+ static sanitizeColorsByGroup(value) {
405
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
406
+ return {};
407
+ }
408
+ const colorsByGroup = {};
409
+ for (const key in value) {
410
+ const colorValue = value[key];
411
+ if (typeof colorValue === "string" && colorValue.trim() !== "") {
412
+ colorsByGroup[key] = colorValue;
413
+ }
414
+ }
415
+ return colorsByGroup;
416
+ }
417
+ }
418
+ //# sourceMappingURL=MetricExplorerUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricExplorerUrl.js","sourceRoot":"","sources":["../../../../Utils/Metrics/MetricExplorerUrl.ts"],"names":[],"mappings":"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"}