@oneuptime/common 11.6.1 → 11.6.2

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 (397) hide show
  1. package/Models/AnalyticsModels/Index.ts +4 -0
  2. package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
  3. package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
  4. package/Models/AnalyticsModels/SloHistory.ts +240 -0
  5. package/Models/DatabaseModels/Index.ts +20 -0
  6. package/Models/DatabaseModels/NetworkDevice.ts +453 -6
  7. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
  8. package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
  9. package/Models/DatabaseModels/NetworkSite.ts +1155 -0
  10. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
  11. package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
  12. package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
  13. package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
  14. package/Models/DatabaseModels/ServiceLevelObjective.ts +1106 -0
  15. package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
  16. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
  17. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  24. package/Server/Services/AnalyticsDatabaseService.ts +25 -9
  25. package/Server/Services/Index.ts +24 -0
  26. package/Server/Services/KubernetesCostAllocationService.ts +14 -0
  27. package/Server/Services/MetricService.ts +21 -2
  28. package/Server/Services/MonitorService.ts +22 -0
  29. package/Server/Services/NetworkDeviceService.ts +438 -2
  30. package/Server/Services/NetworkEndpointService.ts +414 -0
  31. package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
  32. package/Server/Services/NetworkSiteLinkService.ts +10 -0
  33. package/Server/Services/NetworkSiteService.ts +1254 -0
  34. package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
  35. package/Server/Services/NetworkSiteTypeService.ts +10 -0
  36. package/Server/Services/ProjectService.ts +122 -2
  37. package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
  38. package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
  39. package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
  40. package/Server/Services/ServiceLevelObjectiveService.ts +677 -0
  41. package/Server/Services/SloHistoryService.ts +101 -0
  42. package/Server/Services/UserNotificationSettingService.ts +37 -0
  43. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
  44. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
  45. package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
  46. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +87 -48
  47. package/Server/Utils/Memory.ts +9 -1
  48. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
  49. package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  50. package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
  51. package/Server/Utils/Monitor/MonitorResource.ts +4 -30
  52. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
  53. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
  54. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
  55. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
  56. package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
  57. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
  58. package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
  59. package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
  60. package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
  61. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
  62. package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
  63. package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
  64. package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
  65. package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
  66. package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
  67. package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
  68. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
  69. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
  70. package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
  71. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +404 -0
  72. package/Tests/Server/Utils/Encryption.test.ts +70 -0
  73. package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
  74. package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
  75. package/Tests/Server/Utils/LocalFile.test.ts +258 -0
  76. package/Tests/Server/Utils/Memory.test.ts +213 -0
  77. package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
  78. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
  79. package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
  80. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
  81. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
  82. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
  83. package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
  84. package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
  85. package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
  86. package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
  87. package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
  88. package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
  89. package/Tests/Server/Utils/Stream.test.ts +87 -0
  90. package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
  91. package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
  92. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
  93. package/Tests/Types/Email.test.ts +198 -0
  94. package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
  95. package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
  96. package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
  97. package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
  98. package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
  99. package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
  100. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
  101. package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
  102. package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
  103. package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
  104. package/Tests/Types/WebsiteRequest.test.ts +230 -0
  105. package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
  106. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
  107. package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
  108. package/Tests/UI/Utils/LogExport.test.ts +159 -0
  109. package/Tests/UI/Utils/Navigation.test.ts +183 -0
  110. package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
  111. package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
  112. package/Tests/Utils/Base64.test.ts +51 -0
  113. package/Tests/Utils/Boolean.test.ts +76 -0
  114. package/Tests/Utils/Crypto.test.ts +48 -0
  115. package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
  116. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
  117. package/Tests/Utils/Enum.test.ts +54 -0
  118. package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
  119. package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
  120. package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
  121. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
  122. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
  123. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
  124. package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
  125. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
  126. package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
  127. package/Tests/Utils/ObjectUtil.test.ts +30 -0
  128. package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
  129. package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
  130. package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
  131. package/Tests/Utils/TechStack.test.ts +50 -0
  132. package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
  133. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
  134. package/Types/BaseDatabase/EqualTo.ts +9 -1
  135. package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
  136. package/Types/BaseDatabase/NotEqual.ts +9 -1
  137. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  138. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  139. package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
  140. package/Types/Dashboard/DashboardTemplates.ts +214 -0
  141. package/Types/Email/EmailTemplateType.ts +2 -0
  142. package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
  143. package/Types/Monitor/CriteriaFilter.ts +9 -0
  144. package/Types/Monitor/MonitorStep.ts +5 -8
  145. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
  146. package/Types/Monitor/MonitorType.ts +15 -5
  147. package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
  148. package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
  149. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
  150. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
  151. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
  152. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
  153. package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
  154. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  155. package/Types/Permission.ts +449 -0
  156. package/Types/ServiceLevelObjective/SliType.ts +6 -0
  157. package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
  158. package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
  159. package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
  160. package/Types/Telemetry/ServiceType.ts +1 -0
  161. package/UI/Components/Filters/EntityFilter.tsx +16 -0
  162. package/UI/Components/Filters/FilterViewer.tsx +22 -5
  163. package/UI/Components/List/List.tsx +8 -0
  164. package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
  165. package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
  166. package/UI/Components/Navbar/NavBar.tsx +16 -2
  167. package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
  168. package/UI/Utils/Navigation.ts +10 -0
  169. package/UI/Utils/TableFilterUrlState.ts +204 -17
  170. package/UI/Utils/TableViewUrlState.ts +165 -0
  171. package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
  172. package/Utils/Dashboard/Components/Index.ts +7 -0
  173. package/Utils/IpCanonicalUtil.ts +134 -0
  174. package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
  175. package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
  176. package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
  177. package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
  178. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
  179. package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
  180. package/Utils/Slo/SloStatusColor.ts +54 -0
  181. package/Utils/Slo/SloUtil.ts +637 -0
  182. package/Utils/Slo/SloWidgetFormat.ts +383 -0
  183. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  184. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  185. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
  186. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
  187. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
  188. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  189. package/build/dist/Models/AnalyticsModels/SloHistory.js +215 -0
  190. package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
  191. package/build/dist/Models/DatabaseModels/Index.js +20 -0
  192. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
  194. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  195. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
  196. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  197. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
  198. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
  199. package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
  200. package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
  201. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
  202. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
  203. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
  204. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
  205. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
  206. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
  207. package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
  208. package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
  209. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1124 -0
  210. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
  211. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
  212. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
  213. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
  214. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
  215. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
  216. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
  217. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
  224. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
  225. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
  226. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
  227. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  228. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  229. package/build/dist/Server/Services/AnalyticsDatabaseService.js +23 -6
  230. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  231. package/build/dist/Server/Services/Index.js +24 -0
  232. package/build/dist/Server/Services/Index.js.map +1 -1
  233. package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
  234. package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
  235. package/build/dist/Server/Services/MetricService.js +21 -3
  236. package/build/dist/Server/Services/MetricService.js.map +1 -1
  237. package/build/dist/Server/Services/MonitorService.js +19 -0
  238. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  239. package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
  240. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  241. package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
  242. package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
  243. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
  244. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
  245. package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
  246. package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
  247. package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
  248. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
  249. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
  250. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
  251. package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
  252. package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
  253. package/build/dist/Server/Services/ProjectService.js +98 -2
  254. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  255. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
  256. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
  257. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
  258. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
  259. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
  260. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
  261. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +582 -0
  262. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
  263. package/build/dist/Server/Services/SloHistoryService.js +77 -0
  264. package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
  265. package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
  266. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  267. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
  268. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  269. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
  270. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  271. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
  272. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  273. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +76 -48
  274. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  275. package/build/dist/Server/Utils/Memory.js +9 -1
  276. package/build/dist/Server/Utils/Memory.js.map +1 -1
  277. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
  278. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  279. package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  280. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
  281. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
  282. package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
  283. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  284. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
  285. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  286. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
  287. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
  288. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
  289. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
  290. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
  291. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  292. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
  293. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
  294. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
  295. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
  296. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
  297. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  298. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
  299. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  300. package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
  301. package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
  302. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
  303. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  304. package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
  305. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  306. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  307. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  308. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  309. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  310. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
  311. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
  312. package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
  313. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  314. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  315. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  316. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
  317. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
  318. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
  319. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  320. package/build/dist/Types/Monitor/MonitorStep.js +5 -5
  321. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  322. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
  323. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
  324. package/build/dist/Types/Monitor/MonitorType.js +15 -5
  325. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  326. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
  327. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
  328. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
  329. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
  330. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
  331. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
  332. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
  333. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  334. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
  335. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
  336. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  337. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  338. package/build/dist/Types/Permission.js +409 -0
  339. package/build/dist/Types/Permission.js.map +1 -1
  340. package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
  341. package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
  342. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
  343. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
  344. package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
  345. package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
  346. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
  347. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
  348. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  349. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  350. package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
  351. package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
  352. package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
  353. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  354. package/build/dist/UI/Components/List/List.js +1 -1
  355. package/build/dist/UI/Components/List/List.js.map +1 -1
  356. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
  357. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  358. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
  359. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
  360. package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
  361. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  362. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
  363. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  364. package/build/dist/UI/Utils/Navigation.js +9 -0
  365. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  366. package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
  367. package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
  368. package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
  369. package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
  370. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
  371. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
  372. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  373. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  374. package/build/dist/Utils/IpCanonicalUtil.js +110 -0
  375. package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
  376. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
  377. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
  378. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
  379. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  380. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
  381. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
  382. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
  383. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
  384. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
  385. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
  386. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
  387. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
  388. package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
  389. package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
  390. package/build/dist/Utils/Slo/SloUtil.js +393 -0
  391. package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
  392. package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
  393. package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
  394. package/package.json +2 -2
  395. package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
  396. package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
  397. package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
@@ -5,7 +5,7 @@ import Select from "../../Types/AnalyticsDatabase/Select";
5
5
  import Sort from "../../Types/AnalyticsDatabase/Sort";
6
6
  import UpdateBy from "../../Types/AnalyticsDatabase/UpdateBy";
7
7
  import logger from "../Logger";
8
- import { SQL, Statement } from "./Statement";
8
+ import { QualifiedColumn, SQL, Statement } from "./Statement";
9
9
  import {
10
10
  adaptTableSettingsForStorage,
11
11
  getDistributedEngine,
@@ -90,6 +90,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
90
90
  mapColumn: AnalyticsTableColumn;
91
91
  mapKey: string;
92
92
  skip?: boolean;
93
+ tableAlias?: string | undefined;
93
94
  }): void {
94
95
  const mapKeysColumnName: string | undefined = input.mapColumn.mapKeysColumn;
95
96
 
@@ -104,13 +105,17 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
104
105
  return;
105
106
  }
106
107
 
108
+ const keysColumnRef: string | QualifiedColumn = input.tableAlias
109
+ ? new QualifiedColumn(input.tableAlias, mapKeysColumn.key)
110
+ : mapKeysColumn.key;
111
+
107
112
  /*
108
113
  * Keep empty key-array rows eligible so data written before the
109
114
  * denormalized column existed, or by a lagging ingest path, is still
110
115
  * checked by the canonical map['key'] predicate that follows.
111
116
  */
112
117
  input.whereStatement.append(
113
- SQL`AND (empty(${mapKeysColumn.key}) OR hasAny(${mapKeysColumn.key}, ${{
118
+ SQL`AND (empty(${keysColumnRef}) OR hasAny(${keysColumnRef}, ${{
114
119
  value: [input.mapKey],
115
120
  type: TableColumnType.ArrayText,
116
121
  }})) `,
@@ -428,11 +433,35 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
428
433
  }
429
434
 
430
435
  /**
431
- * Conditions to append to "WHERE TRUE"
436
+ * Conditions to append to "WHERE TRUE".
437
+ *
438
+ * Compiles a Query into an `AND col <op> ...` chain. When
439
+ * `options.tableAlias` is set, every column reference is emitted
440
+ * table-qualified (`alias.col`). Builders whose SELECT aliases an
441
+ * expression to a real column name (aggregate statements — see
442
+ * AggregateUtil.buildBucketTimestampSelect) MUST pass the alias of the
443
+ * table the WHERE executes against: ClickHouse substitutes SELECT
444
+ * aliases into same-level unqualified WHERE references, which turns a
445
+ * `Total` aggregation's `min(col) as col` into an ILLEGAL_AGGREGATION
446
+ * error and silently snaps bucketed time filters to bucket boundaries.
447
+ * Statements that embed this WHERE against a different table (MV
448
+ * paths, cascade deletes) must stay unqualified.
432
449
  */
433
- public toWhereStatement(query: Query<TBaseModel>): Statement {
450
+ public toWhereStatement(
451
+ query: Query<TBaseModel>,
452
+ options?: { tableAlias?: string | undefined },
453
+ ): Statement {
434
454
  const whereStatement: Statement = new Statement();
435
455
 
456
+ type ColumnRefFunction = (columnName: string) => string | QualifiedColumn;
457
+ const columnRef: ColumnRefFunction = (
458
+ columnName: string,
459
+ ): string | QualifiedColumn => {
460
+ return options?.tableAlias
461
+ ? new QualifiedColumn(options.tableAlias, columnName)
462
+ : columnName;
463
+ };
464
+
436
465
  let first: boolean = true;
437
466
  for (const key in query) {
438
467
  const value: any = query[key];
@@ -476,7 +505,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
476
505
  whereStatement.append(SQL` OR `);
477
506
  }
478
507
  whereStatement.append(
479
- SQL`${col.key} ILIKE ${{
508
+ SQL`${columnRef(col.key)} ILIKE ${{
480
509
  value: new Search<string>(ms.value),
481
510
  type: col.type,
482
511
  }}`,
@@ -536,10 +565,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
536
565
 
537
566
  if (scopeEntityKeys.length > 0 && hasAttributeFallback) {
538
567
  whereStatement.append(
539
- SQL`AND (hasAny(${entityKeysColumn.key}, ${{
568
+ SQL`AND (hasAny(${columnRef(entityKeysColumn.key)}, ${{
540
569
  value: scopeEntityKeys,
541
570
  type: TableColumnType.ArrayText,
542
- }}) OR ${attributesColumn!.key}[${{
571
+ }}) OR ${columnRef(attributesColumn!.key)}[${{
543
572
  value: scope.attributeKey,
544
573
  type: TableColumnType.Text,
545
574
  }}] = ${{
@@ -549,14 +578,14 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
549
578
  );
550
579
  } else if (scopeEntityKeys.length > 0) {
551
580
  whereStatement.append(
552
- SQL`AND hasAny(${entityKeysColumn.key}, ${{
581
+ SQL`AND hasAny(${columnRef(entityKeysColumn.key)}, ${{
553
582
  value: scopeEntityKeys,
554
583
  type: TableColumnType.ArrayText,
555
584
  }})`,
556
585
  );
557
586
  } else {
558
587
  whereStatement.append(
559
- SQL`AND ${attributesColumn!.key}[${{
588
+ SQL`AND ${columnRef(attributesColumn!.key)}[${{
560
589
  value: scope.attributeKey,
561
590
  type: TableColumnType.Text,
562
591
  }}] = ${{
@@ -584,66 +613,66 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
584
613
 
585
614
  if (value instanceof Search) {
586
615
  whereStatement.append(
587
- SQL`AND ${key} ILIKE ${{
616
+ SQL`AND ${columnRef(key)} ILIKE ${{
588
617
  value: value,
589
618
  type: tableColumn.type,
590
619
  }}`,
591
620
  );
592
621
  } else if (value instanceof NotEqual) {
593
622
  whereStatement.append(
594
- SQL`AND ${key} != ${{
623
+ SQL`AND ${columnRef(key)} != ${{
595
624
  value: value,
596
625
  type: tableColumn.type,
597
626
  }}`,
598
627
  );
599
628
  } else if (value instanceof GreaterThan) {
600
629
  whereStatement.append(
601
- SQL`AND ${key} > ${{
630
+ SQL`AND ${columnRef(key)} > ${{
602
631
  value: value,
603
632
  type: tableColumn.type,
604
633
  }}`,
605
634
  );
606
635
  } else if (value instanceof LessThan) {
607
636
  whereStatement.append(
608
- SQL`AND ${key} < ${{
637
+ SQL`AND ${columnRef(key)} < ${{
609
638
  value: value,
610
639
  type: tableColumn.type,
611
640
  }}`,
612
641
  );
613
642
  } else if (value instanceof LessThanOrEqual) {
614
643
  whereStatement.append(
615
- SQL`AND ${key} <= ${{
644
+ SQL`AND ${columnRef(key)} <= ${{
616
645
  value: value,
617
646
  type: tableColumn.type,
618
647
  }}`,
619
648
  );
620
649
  } else if (value instanceof LessThanOrNull) {
621
650
  whereStatement.append(
622
- SQL`AND (${key} <= ${{
651
+ SQL`AND (${columnRef(key)} <= ${{
623
652
  value: value,
624
653
  type: tableColumn.type,
625
- }} OR ${key} IS NULL)`,
654
+ }} OR ${columnRef(key)} IS NULL)`,
626
655
  );
627
656
  } else if (value instanceof GreaterThanOrNull) {
628
657
  whereStatement.append(
629
- SQL`AND (${key} >= ${{
658
+ SQL`AND (${columnRef(key)} >= ${{
630
659
  value: value,
631
660
  type: tableColumn.type,
632
- }} OR ${key} IS NULL)`,
661
+ }} OR ${columnRef(key)} IS NULL)`,
633
662
  );
634
663
  } else if (value instanceof GreaterThanOrEqual) {
635
664
  whereStatement.append(
636
- SQL`AND ${key} >= ${{
665
+ SQL`AND ${columnRef(key)} >= ${{
637
666
  value: value,
638
667
  type: tableColumn.type,
639
668
  }}`,
640
669
  );
641
670
  } else if (value instanceof InBetween) {
642
671
  whereStatement.append(
643
- SQL`AND ${key} >= ${{
672
+ SQL`AND ${columnRef(key)} >= ${{
644
673
  value: value.startValue,
645
674
  type: tableColumn.type,
646
- }} AND ${key} <= ${{
675
+ }} AND ${columnRef(key)} <= ${{
647
676
  value: value.endValue,
648
677
  type: tableColumn.type,
649
678
  }}`,
@@ -665,7 +694,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
665
694
  ((value as Includes).values as Array<string>) || [];
666
695
  if (arrayIncludeValues.length > 0) {
667
696
  whereStatement.append(
668
- SQL`AND hasAny(${key}, ${{
697
+ SQL`AND hasAny(${columnRef(key)}, ${{
669
698
  value: arrayIncludeValues,
670
699
  type: TableColumnType.ArrayText,
671
700
  }})`,
@@ -673,7 +702,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
673
702
  }
674
703
  } else if (value instanceof Includes) {
675
704
  whereStatement.append(
676
- SQL`AND ${key} IN ${{
705
+ SQL`AND ${columnRef(key)} IN ${{
677
706
  value: value,
678
707
  type: tableColumn.type,
679
708
  }}`,
@@ -691,7 +720,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
691
720
  ((value as IncludesNone).values as Array<string>) || [];
692
721
  if (arrayExcludeValues.length > 0) {
693
722
  whereStatement.append(
694
- SQL`AND NOT hasAny(${key}, ${{
723
+ SQL`AND NOT hasAny(${columnRef(key)}, ${{
695
724
  value: arrayExcludeValues,
696
725
  type: TableColumnType.ArrayText,
697
726
  }})`,
@@ -707,7 +736,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
707
736
  ((value as IncludesNone).values as Array<string | ObjectID>) || [];
708
737
  if (excludeValues.length > 0) {
709
738
  whereStatement.append(
710
- SQL`AND ${key} NOT IN ${{
739
+ SQL`AND ${columnRef(key)} NOT IN ${{
711
740
  value: value,
712
741
  type: tableColumn.type,
713
742
  }}`,
@@ -715,9 +744,11 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
715
744
  }
716
745
  } else if (value instanceof IsNull) {
717
746
  if (tableColumn.type === TableColumnType.Text) {
718
- whereStatement.append(SQL`AND (${key} IS NULL OR ${key} = '')`);
747
+ whereStatement.append(
748
+ SQL`AND (${columnRef(key)} IS NULL OR ${columnRef(key)} = '')`,
749
+ );
719
750
  } else {
720
- whereStatement.append(SQL`AND ${key} IS NULL`);
751
+ whereStatement.append(SQL`AND ${columnRef(key)} IS NULL`);
721
752
  }
722
753
  } else if (
723
754
  tableColumn.type === TableColumnType.MapStringString &&
@@ -766,10 +797,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
766
797
  */
767
798
  if (mapEntry instanceof IsNull) {
768
799
  whereStatement.append(
769
- SQL`AND ((NOT mapContains(${key}, ${{
800
+ SQL`AND ((NOT mapContains(${columnRef(key)}, ${{
770
801
  value: mapKey,
771
802
  type: TableColumnType.Text,
772
- }})) OR ${key}[${{
803
+ }})) OR ${columnRef(key)}[${{
773
804
  value: mapKey,
774
805
  type: TableColumnType.Text,
775
806
  }}] = '')`,
@@ -782,12 +813,13 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
782
813
  whereStatement,
783
814
  mapColumn: tableColumn,
784
815
  mapKey,
816
+ tableAlias: options?.tableAlias,
785
817
  });
786
818
  whereStatement.append(
787
- SQL`AND mapContains(${key}, ${{
819
+ SQL`AND mapContains(${columnRef(key)}, ${{
788
820
  value: mapKey,
789
821
  type: TableColumnType.Text,
790
- }}) AND ${key}[${{
822
+ }}) AND ${columnRef(key)}[${{
791
823
  value: mapKey,
792
824
  type: TableColumnType.Text,
793
825
  }}] != ''`,
@@ -803,7 +835,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
803
835
  }}) AND v ILIKE ${{
804
836
  value: mapEntry as Search<string>,
805
837
  type: TableColumnType.Text,
806
- }}, mapKeys(${key}), mapValues(${key}))`,
838
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
807
839
  );
808
840
  continue;
809
841
  }
@@ -817,7 +849,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
817
849
  }}) AND v ILIKE ${{
818
850
  value: literalValue,
819
851
  type: TableColumnType.Text,
820
- }}, mapKeys(${key}), mapValues(${key}))`,
852
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
821
853
  );
822
854
  continue;
823
855
  }
@@ -831,7 +863,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
831
863
  }}) AND v ILIKE ${{
832
864
  value: literalValue,
833
865
  type: TableColumnType.Text,
834
- }}, mapKeys(${key}), mapValues(${key}))`,
866
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
835
867
  );
836
868
  continue;
837
869
  }
@@ -845,14 +877,14 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
845
877
  }}) AND v ILIKE ${{
846
878
  value: literalValue,
847
879
  type: TableColumnType.Text,
848
- }}, mapKeys(${key}), mapValues(${key}))`,
880
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
849
881
  );
850
882
  continue;
851
883
  }
852
884
 
853
885
  if (mapEntry instanceof NotEqual) {
854
886
  whereStatement.append(
855
- SQL`AND ${key}[${{
887
+ SQL`AND ${columnRef(key)}[${{
856
888
  value: mapKey,
857
889
  type: TableColumnType.Text,
858
890
  }}] != ${{
@@ -872,9 +904,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
872
904
  mapColumn: tableColumn,
873
905
  mapKey,
874
906
  skip: equalityValue === "",
907
+ tableAlias: options?.tableAlias,
875
908
  });
876
909
  whereStatement.append(
877
- SQL`AND ${key}[${{
910
+ SQL`AND ${columnRef(key)}[${{
878
911
  value: mapKey,
879
912
  type: TableColumnType.Text,
880
913
  }}] = ${{
@@ -897,9 +930,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
897
930
  whereStatement,
898
931
  mapColumn: tableColumn,
899
932
  mapKey,
933
+ tableAlias: options?.tableAlias,
900
934
  });
901
935
  whereStatement.append(
902
- SQL`AND toFloat64OrNull(${key}[${{
936
+ SQL`AND toFloat64OrNull(${columnRef(key)}[${{
903
937
  value: mapKey,
904
938
  type: TableColumnType.Text,
905
939
  }}]) > ${{
@@ -915,9 +949,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
915
949
  whereStatement,
916
950
  mapColumn: tableColumn,
917
951
  mapKey,
952
+ tableAlias: options?.tableAlias,
918
953
  });
919
954
  whereStatement.append(
920
- SQL`AND toFloat64OrNull(${key}[${{
955
+ SQL`AND toFloat64OrNull(${columnRef(key)}[${{
921
956
  value: mapKey,
922
957
  type: TableColumnType.Text,
923
958
  }}]) >= ${{
@@ -933,9 +968,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
933
968
  whereStatement,
934
969
  mapColumn: tableColumn,
935
970
  mapKey,
971
+ tableAlias: options?.tableAlias,
936
972
  });
937
973
  whereStatement.append(
938
- SQL`AND toFloat64OrNull(${key}[${{
974
+ SQL`AND toFloat64OrNull(${columnRef(key)}[${{
939
975
  value: mapKey,
940
976
  type: TableColumnType.Text,
941
977
  }}]) < ${{
@@ -951,9 +987,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
951
987
  whereStatement,
952
988
  mapColumn: tableColumn,
953
989
  mapKey,
990
+ tableAlias: options?.tableAlias,
954
991
  });
955
992
  whereStatement.append(
956
- SQL`AND toFloat64OrNull(${key}[${{
993
+ SQL`AND toFloat64OrNull(${columnRef(key)}[${{
957
994
  value: mapKey,
958
995
  type: TableColumnType.Text,
959
996
  }}]) <= ${{
@@ -985,9 +1022,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
985
1022
  mapColumn: tableColumn,
986
1023
  mapKey,
987
1024
  skip: includesValues.includes(""),
1025
+ tableAlias: options?.tableAlias,
988
1026
  });
989
1027
  whereStatement.append(
990
- SQL`AND ${key}[${{
1028
+ SQL`AND ${columnRef(key)}[${{
991
1029
  value: mapKey,
992
1030
  type: TableColumnType.Text,
993
1031
  }}] IN ${{
@@ -1017,7 +1055,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1017
1055
  continue;
1018
1056
  }
1019
1057
  whereStatement.append(
1020
- SQL`AND ${key}[${{
1058
+ SQL`AND ${columnRef(key)}[${{
1021
1059
  value: mapKey,
1022
1060
  type: TableColumnType.Text,
1023
1061
  }}] NOT IN ${{
@@ -1035,9 +1073,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1035
1073
  mapColumn: tableColumn,
1036
1074
  mapKey,
1037
1075
  skip: equalityValue === "",
1076
+ tableAlias: options?.tableAlias,
1038
1077
  });
1039
1078
  whereStatement.append(
1040
- SQL`AND ${key}[${{
1079
+ SQL`AND ${columnRef(key)}[${{
1041
1080
  value: mapKey,
1042
1081
  type: TableColumnType.Text,
1043
1082
  }}] = ${{
@@ -1060,7 +1099,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1060
1099
 
1061
1100
  if (flatValue[objKey] && typeof flatValue[objKey] === "string") {
1062
1101
  whereStatement.append(
1063
- SQL`AND JSONExtractString(${key}, ${{
1102
+ SQL`AND JSONExtractString(${columnRef(key)}, ${{
1064
1103
  value: objKey,
1065
1104
  type: TableColumnType.Text,
1066
1105
  }}) = ${{
@@ -1073,7 +1112,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1073
1112
 
1074
1113
  if (flatValue[objKey] && typeof flatValue[objKey] === "number") {
1075
1114
  whereStatement.append(
1076
- SQL`AND JSONExtractInt(${key}, ${{
1115
+ SQL`AND JSONExtractInt(${columnRef(key)}, ${{
1077
1116
  value: objKey,
1078
1117
  type: TableColumnType.Text,
1079
1118
  }}) = ${{
@@ -1086,7 +1125,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1086
1125
 
1087
1126
  if (flatValue[objKey] && typeof flatValue[objKey] === "boolean") {
1088
1127
  whereStatement.append(
1089
- SQL`AND JSONExtractBool(${key}, ${{
1128
+ SQL`AND JSONExtractBool(${columnRef(key)}, ${{
1090
1129
  value: objKey,
1091
1130
  type: TableColumnType.Text,
1092
1131
  }}) = ${{
@@ -1099,7 +1138,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
1099
1138
  }
1100
1139
  } else {
1101
1140
  whereStatement.append(
1102
- SQL`AND ${key} = ${{ value, type: tableColumn.type }}`,
1141
+ SQL`AND ${columnRef(key)} = ${{ value, type: tableColumn.type }}`,
1103
1142
  );
1104
1143
  }
1105
1144
  }
@@ -1,7 +1,15 @@
1
1
  import fs from "fs";
2
2
  import os from "os";
3
3
 
4
- const UNLIMITED_CGROUP_THRESHOLD_BYTES: number = 1 << 60; // treat absurdly large cgroup limit as "unlimited"
4
+ /*
5
+ * Treat an absurdly large cgroup limit as "unlimited". Must be `2 ** 60`, not
6
+ * `1 << 60`: JavaScript's `<<` truncates to 32 bits and takes the shift count
7
+ * mod 32, so `1 << 60` is `1 << 28` = 256 MiB. That made every container with
8
+ * a limit of 256 MiB or more look unlimited, so getCgroupAvailableMemoryInBytes
9
+ * returned null and the container-aware helper silently fell back to the whole
10
+ * host's free memory — the exact OOM-kill case it exists to prevent.
11
+ */
12
+ const UNLIMITED_CGROUP_THRESHOLD_BYTES: number = 2 ** 60;
5
13
 
6
14
  export default class MemoryUtil {
7
15
  public static getHostFreeMemoryInBytes(): number {