@oneuptime/common 10.8.2 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +16 -18
  2. package/Models/AnalyticsModels/AuditLog.ts +3 -1
  3. package/Models/AnalyticsModels/ExceptionInstance.ts +200 -82
  4. package/Models/AnalyticsModels/Index.ts +7 -2
  5. package/Models/AnalyticsModels/Log.ts +197 -81
  6. package/Models/AnalyticsModels/Metric.ts +199 -86
  7. package/Models/AnalyticsModels/MetricBaselineHourly.ts +44 -25
  8. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +23 -20
  9. package/Models/AnalyticsModels/{MetricItemAggMV1mByHost.ts → MetricItemAggMV1mByHostV2.ts} +58 -47
  10. package/Models/AnalyticsModels/MonitorLog.ts +5 -1
  11. package/Models/AnalyticsModels/Profile.ts +206 -85
  12. package/Models/AnalyticsModels/ProfileSample.ts +196 -83
  13. package/Models/AnalyticsModels/Span.ts +218 -85
  14. package/Models/DatabaseModels/Index.ts +4 -0
  15. package/Models/DatabaseModels/Service.ts +29 -0
  16. package/Models/DatabaseModels/TelemetryEntity.ts +393 -0
  17. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +294 -0
  18. package/Models/DatabaseModels/TelemetryException.ts +10 -10
  19. package/Models/DatabaseModels/TelemetryUsageBilling.ts +5 -5
  20. package/Server/API/AIAgentDataAPI.ts +13 -12
  21. package/Server/API/DashboardAPI.ts +2 -2
  22. package/Server/API/TelemetryAPI.ts +656 -141
  23. package/Server/API/TelemetryExceptionAPI.ts +2 -2
  24. package/Server/Infrastructure/ClickhouseConfig.ts +12 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.ts +48 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.ts +70 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.ts +57 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.ts +207 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.ts +24 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.ts +25 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  32. package/Server/Infrastructure/Queue.ts +36 -3
  33. package/Server/Middleware/TelemetryIngest.ts +27 -22
  34. package/Server/Services/AlertService.ts +9 -9
  35. package/Server/Services/AnalyticsDatabaseService.ts +204 -35
  36. package/Server/Services/ExceptionAggregationService.ts +41 -18
  37. package/Server/Services/HostService.ts +2 -1
  38. package/Server/Services/IncidentService.ts +19 -19
  39. package/Server/Services/Index.ts +6 -2
  40. package/Server/Services/LogAggregationService.ts +116 -43
  41. package/Server/Services/MetricAggregationService.ts +29 -14
  42. package/Server/Services/MetricBaselineService.ts +34 -34
  43. package/Server/Services/MetricItemAggMV1mByHostV2Service.ts +30 -0
  44. package/Server/Services/MetricService.ts +119 -31
  45. package/Server/Services/OpenTelemetryIngestService.ts +186 -50
  46. package/Server/Services/ProfileAggregationService.ts +904 -126
  47. package/Server/Services/ServiceService.ts +6 -0
  48. package/Server/Services/SpanService.ts +274 -14
  49. package/Server/Services/TelemetryEntityRelationshipService.ts +71 -0
  50. package/Server/Services/TelemetryEntityService.ts +246 -0
  51. package/Server/Services/TelemetryExceptionService.ts +27 -23
  52. package/Server/Services/TelemetryUsageBillingService.ts +38 -31
  53. package/Server/Services/TraceAggregationService.ts +875 -43
  54. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +43 -2
  55. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -2
  56. package/Server/Types/Database/Permissions/BasePermission.ts +37 -1
  57. package/Server/Types/Database/Permissions/OwnedScopePermission.ts +21 -3
  58. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +1 -0
  59. package/Server/Types/Database/QueryHelper.ts +41 -0
  60. package/Server/Utils/Alert/AlertPrivacyFilter.ts +9 -2
  61. package/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.ts +9 -2
  62. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +95 -0
  63. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +133 -0
  64. package/Server/Utils/Incident/IncidentPrivacyFilter.ts +9 -2
  65. package/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.ts +9 -2
  66. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +1 -1
  67. package/Server/Utils/Monitor/MonitorLogUtil.ts +1 -2
  68. package/Server/Utils/Monitor/MonitorMetricUtil.ts +3 -4
  69. package/Server/Utils/PrivacyFilterUtil.ts +72 -0
  70. package/Server/Utils/Profile/PprofEncoder.ts +135 -11
  71. package/Server/Utils/Telemetry/EntityRegistry.ts +316 -0
  72. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +5 -0
  73. package/Server/Utils/Telemetry/TelemetryEntity.ts +783 -0
  74. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +79 -4
  75. package/Tests/Server/Services/LogAggregationService.test.ts +7 -2
  76. package/Tests/Server/Services/ProfileAggregationService.test.ts +280 -0
  77. package/Tests/Server/Services/ProfileBreakdown.test.ts +161 -0
  78. package/Tests/Server/Services/ProfileFunctionFocus.test.ts +349 -0
  79. package/Tests/Server/Services/TelemetryAttributeService.test.ts +1 -1
  80. package/Tests/Server/Services/TraceAggregationService.test.ts +403 -0
  81. package/Tests/Server/Types/AnalyticsDatabase/ModelPermissionOwnedScope.test.ts +114 -0
  82. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +189 -0
  83. package/Tests/Server/Types/Database/Permissions/BasePermission.test.ts +118 -0
  84. package/Tests/Server/Types/Database/Permissions/OwnedScopePermission.test.ts +159 -0
  85. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +275 -8
  86. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +177 -0
  87. package/Tests/Server/Utils/Profile/PprofEncoder.test.ts +276 -0
  88. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +761 -0
  89. package/Tests/Types/Monitor/MonitorStepEntityScope.test.ts +275 -0
  90. package/Tests/Types/Text.test.ts +52 -0
  91. package/Tests/Utils/Telemetry/EntityKey.test.ts +150 -0
  92. package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
  93. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
  94. package/Tests/Utils/UUID.test.ts +47 -0
  95. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
  96. package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
  97. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  98. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
  99. package/Types/Dashboard/DashboardTemplates.ts +4 -5
  100. package/Types/Log/LogQueryParser.ts +2 -2
  101. package/Types/Log/LogQueryToFilter.ts +2 -2
  102. package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
  103. package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
  104. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
  105. package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
  106. package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
  107. package/Types/Monitor/MonitorType.ts +8 -1
  108. package/Types/ObjectID.ts +10 -0
  109. package/Types/Telemetry/EntityRelationshipType.ts +31 -0
  110. package/Types/Telemetry/EntityType.ts +33 -0
  111. package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
  112. package/Types/Text.ts +34 -0
  113. package/Types/Trace/TraceAggregationType.ts +1 -0
  114. package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
  115. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
  116. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
  117. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
  118. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
  119. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
  120. package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
  121. package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
  122. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
  123. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
  124. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
  125. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
  126. package/UI/Utils/LogExport.ts +2 -2
  127. package/UI/Utils/TelemetryService.ts +20 -20
  128. package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
  129. package/Utils/Dashboard/Components/Index.ts +7 -0
  130. package/Utils/Telemetry/EntityKey.ts +151 -0
  131. package/Utils/Telemetry/EntityRelationship.ts +113 -0
  132. package/Utils/Traces/CriticalPath.ts +7 -7
  133. package/Utils/UUID.ts +57 -0
  134. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
  135. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  136. package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
  137. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  138. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
  139. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  140. package/build/dist/Models/AnalyticsModels/Index.js +7 -2
  141. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  142. package/build/dist/Models/AnalyticsModels/Log.js +123 -22
  143. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  144. package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
  145. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  146. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
  147. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  148. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
  149. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  150. package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
  151. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
  152. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
  153. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  154. package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
  155. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  156. package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
  157. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  158. package/build/dist/Models/AnalyticsModels/Span.js +144 -26
  159. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  161. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/Service.js +30 -0
  163. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
  165. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
  166. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
  167. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
  168. package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
  169. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
  171. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  172. package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
  173. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  174. package/build/dist/Server/API/DashboardAPI.js +2 -2
  175. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  176. package/build/dist/Server/API/TelemetryAPI.js +425 -129
  177. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  178. package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
  179. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  180. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
  181. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  182. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
  183. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
  184. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
  185. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
  186. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
  187. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
  190. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
  191. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
  192. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
  193. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
  194. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  195. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  196. package/build/dist/Server/Infrastructure/Queue.js +14 -3
  197. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  198. package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
  199. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  200. package/build/dist/Server/Services/AlertService.js +9 -9
  201. package/build/dist/Server/Services/AlertService.js.map +1 -1
  202. package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
  203. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  204. package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
  205. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  206. package/build/dist/Server/Services/HostService.js +2 -1
  207. package/build/dist/Server/Services/HostService.js.map +1 -1
  208. package/build/dist/Server/Services/IncidentService.js +19 -19
  209. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  210. package/build/dist/Server/Services/Index.js +6 -2
  211. package/build/dist/Server/Services/Index.js.map +1 -1
  212. package/build/dist/Server/Services/LogAggregationService.js +100 -42
  213. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  214. package/build/dist/Server/Services/MetricAggregationService.js +27 -14
  215. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  216. package/build/dist/Server/Services/MetricBaselineService.js +28 -28
  217. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  218. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
  219. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
  220. package/build/dist/Server/Services/MetricService.js +116 -31
  221. package/build/dist/Server/Services/MetricService.js.map +1 -1
  222. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
  223. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  224. package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
  225. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  226. package/build/dist/Server/Services/ServiceService.js +9 -5
  227. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  228. package/build/dist/Server/Services/SpanService.js +217 -15
  229. package/build/dist/Server/Services/SpanService.js.map +1 -1
  230. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
  231. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
  232. package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
  233. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
  234. package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
  235. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  236. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
  237. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  238. package/build/dist/Server/Services/TraceAggregationService.js +568 -43
  239. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  240. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
  241. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  242. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
  243. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  244. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
  245. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  246. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
  247. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  248. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
  249. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  250. package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
  251. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  252. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
  253. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  254. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
  255. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
  256. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  257. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
  258. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
  259. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  260. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
  261. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  262. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
  263. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
  264. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
  265. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  266. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
  267. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  268. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
  269. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  270. package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
  271. package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
  272. package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
  273. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
  274. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
  275. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
  276. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
  277. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  278. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
  279. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
  280. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
  281. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  282. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
  283. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  284. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  285. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  286. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
  287. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
  288. package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
  289. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  290. package/build/dist/Types/Log/LogQueryParser.js +2 -2
  291. package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
  292. package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
  293. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  294. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
  295. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
  296. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
  297. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
  298. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
  299. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  300. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
  301. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
  302. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
  303. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
  304. package/build/dist/Types/Monitor/MonitorType.js +8 -1
  305. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  306. package/build/dist/Types/ObjectID.js +9 -0
  307. package/build/dist/Types/ObjectID.js.map +1 -1
  308. package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
  309. package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
  310. package/build/dist/Types/Telemetry/EntityType.js +34 -0
  311. package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
  312. package/build/dist/Types/Text.js +32 -1
  313. package/build/dist/Types/Text.js.map +1 -1
  314. package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
  315. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
  316. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
  317. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
  318. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
  319. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  320. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
  321. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  322. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
  323. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  324. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
  325. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  326. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
  327. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  328. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
  329. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  330. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
  331. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  332. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
  333. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  334. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
  335. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  336. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
  337. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  338. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
  339. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  340. package/build/dist/UI/Utils/LogExport.js +2 -2
  341. package/build/dist/UI/Utils/LogExport.js.map +1 -1
  342. package/build/dist/UI/Utils/TelemetryService.js +16 -16
  343. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  344. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
  345. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
  346. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  347. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  348. package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
  349. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
  350. package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
  351. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
  352. package/build/dist/Utils/Traces/CriticalPath.js +5 -5
  353. package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
  354. package/build/dist/Utils/UUID.js +50 -0
  355. package/build/dist/Utils/UUID.js.map +1 -1
  356. package/package.json +2 -1
  357. package/tsconfig.json +10 -1
  358. package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
  359. package/Types/Profile/ProfileMetricType.ts +0 -16
  360. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
  361. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
  362. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
  363. package/build/dist/Tests/MockType.js +0 -5
  364. package/build/dist/Tests/MockType.js.map +0 -1
  365. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
  366. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
  367. package/build/dist/Tests/Models/File.test.js +0 -10
  368. package/build/dist/Tests/Models/File.test.js.map +0 -1
  369. package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
  370. package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
  371. package/build/dist/Tests/Server/API/Helpers.js +0 -27
  372. package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
  373. package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
  374. package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
  375. package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
  376. package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
  377. package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
  378. package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
  379. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
  380. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
  381. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
  382. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
  383. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
  384. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
  385. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
  386. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
  387. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
  388. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
  389. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
  390. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
  391. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
  392. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
  393. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
  394. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
  395. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
  396. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
  397. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
  398. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
  399. package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
  400. package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
  401. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
  402. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
  403. package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
  404. package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
  405. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
  406. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
  407. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
  408. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
  409. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
  410. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
  411. package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
  412. package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
  413. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
  414. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
  415. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
  416. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
  417. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
  418. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
  419. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
  420. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
  421. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
  422. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
  423. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
  424. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
  425. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
  426. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
  427. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
  428. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
  429. package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
  430. package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
  431. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
  432. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
  433. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
  434. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
  435. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
  436. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
  437. package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
  438. package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
  439. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
  440. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
  441. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
  442. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
  443. package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
  444. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
  445. package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
  446. package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
  447. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
  448. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
  449. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
  450. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
  451. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
  452. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
  453. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
  454. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
  455. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
  456. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
  457. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
  458. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
  459. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
  460. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
  461. package/build/dist/Tests/Spy.js +0 -4
  462. package/build/dist/Tests/Spy.js.map +0 -1
  463. package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
  464. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
  465. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
  466. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
  467. package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
  468. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
  469. package/build/dist/Tests/Types/API/Headers.test.js +0 -14
  470. package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
  471. package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
  472. package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
  473. package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
  474. package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
  475. package/build/dist/Tests/Types/API/Response.test.js +0 -14
  476. package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
  477. package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
  478. package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
  479. package/build/dist/Tests/Types/API/Route.test.js +0 -30
  480. package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
  481. package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
  482. package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
  483. package/build/dist/Tests/Types/API/URL.test.js +0 -33
  484. package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
  485. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
  486. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
  487. package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
  488. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
  489. package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
  490. package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
  491. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
  492. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
  493. package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
  494. package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
  495. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
  496. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
  497. package/build/dist/Tests/Types/BrandColors.test.js +0 -124
  498. package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
  499. package/build/dist/Tests/Types/Char.test.js +0 -82
  500. package/build/dist/Tests/Types/Char.test.js.map +0 -1
  501. package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
  502. package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
  503. package/build/dist/Tests/Types/Color.test.js +0 -44
  504. package/build/dist/Tests/Types/Color.test.js.map +0 -1
  505. package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
  506. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
  507. package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
  508. package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
  509. package/build/dist/Tests/Types/Countries.test.js +0 -249
  510. package/build/dist/Tests/Types/Countries.test.js.map +0 -1
  511. package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
  512. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
  513. package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
  514. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
  515. package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
  516. package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
  517. package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
  518. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
  519. package/build/dist/Tests/Types/Database/Date.test.js +0 -62
  520. package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
  521. package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
  522. package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
  523. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
  524. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
  525. package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
  526. package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
  527. package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
  528. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
  529. package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
  530. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
  531. package/build/dist/Tests/Types/Database/Search.test.js +0 -10
  532. package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
  533. package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
  534. package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
  535. package/build/dist/Tests/Types/Date.test.js +0 -194
  536. package/build/dist/Tests/Types/Date.test.js.map +0 -1
  537. package/build/dist/Tests/Types/Dictionary.test.js +0 -25
  538. package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
  539. package/build/dist/Tests/Types/Domain.test.js +0 -54
  540. package/build/dist/Tests/Types/Domain.test.js.map +0 -1
  541. package/build/dist/Tests/Types/Email/Email.test.js +0 -51
  542. package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
  543. package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
  544. package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
  545. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
  546. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
  547. package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
  548. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
  549. package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
  550. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
  551. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
  552. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
  553. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
  554. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
  555. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
  556. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
  557. package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
  558. package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
  559. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
  560. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
  561. package/build/dist/Tests/Types/File.test.js +0 -22
  562. package/build/dist/Tests/Types/File.test.js.map +0 -1
  563. package/build/dist/Tests/Types/HashedString.test.js +0 -51
  564. package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
  565. package/build/dist/Tests/Types/Html.test.js +0 -8
  566. package/build/dist/Tests/Types/Html.test.js.map +0 -1
  567. package/build/dist/Tests/Types/IP/IP.test.js +0 -65
  568. package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
  569. package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
  570. package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
  571. package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
  572. package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
  573. package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
  574. package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
  575. package/build/dist/Tests/Types/JSON.test.js +0 -37
  576. package/build/dist/Tests/Types/JSON.test.js.map +0 -1
  577. package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
  578. package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
  579. package/build/dist/Tests/Types/ListData.test.js +0 -34
  580. package/build/dist/Tests/Types/ListData.test.js.map +0 -1
  581. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
  582. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
  583. package/build/dist/Tests/Types/Name.test.js +0 -26
  584. package/build/dist/Tests/Types/Name.test.js.map +0 -1
  585. package/build/dist/Tests/Types/ObjectID.test.js +0 -12
  586. package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
  587. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
  588. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
  589. package/build/dist/Tests/Types/Permission.test.js +0 -99
  590. package/build/dist/Tests/Types/Permission.test.js.map +0 -1
  591. package/build/dist/Tests/Types/Phone.test.js +0 -37
  592. package/build/dist/Tests/Types/Phone.test.js.map +0 -1
  593. package/build/dist/Tests/Types/Port.test.js +0 -35
  594. package/build/dist/Tests/Types/Port.test.js.map +0 -1
  595. package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
  596. package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
  597. package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
  598. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
  599. package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
  600. package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
  601. package/build/dist/Tests/Types/Sleep.test.js +0 -14
  602. package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
  603. package/build/dist/Tests/Types/Text.test.js +0 -8
  604. package/build/dist/Tests/Types/Text.test.js.map +0 -1
  605. package/build/dist/Tests/Types/Timezone.test.js +0 -596
  606. package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
  607. package/build/dist/Tests/Types/Typeof.test.js +0 -16
  608. package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
  609. package/build/dist/Tests/Types/UserType.test.js +0 -16
  610. package/build/dist/Tests/Types/UserType.test.js.map +0 -1
  611. package/build/dist/Tests/Types/Version.test.js +0 -35
  612. package/build/dist/Tests/Types/Version.test.js.map +0 -1
  613. package/build/dist/Tests/Types/XML.test.js +0 -35
  614. package/build/dist/Tests/Types/XML.test.js.map +0 -1
  615. package/build/dist/Tests/UI/Components/404.test.js +0 -59
  616. package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
  617. package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
  618. package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
  619. package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
  620. package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
  621. package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
  622. package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
  623. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
  624. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
  625. package/build/dist/Tests/UI/Components/Button.test.js +0 -104
  626. package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
  627. package/build/dist/Tests/UI/Components/Card.test.js +0 -81
  628. package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
  629. package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
  630. package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
  631. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
  632. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
  633. package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
  634. package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
  635. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
  636. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
  637. package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
  638. package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
  639. package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
  640. package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
  641. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
  642. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
  643. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
  644. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
  645. package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
  646. package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
  647. package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
  648. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
  649. package/build/dist/Tests/UI/Components/Input.test.js +0 -223
  650. package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
  651. package/build/dist/Tests/UI/Components/Item.test.js +0 -58
  652. package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
  653. package/build/dist/Tests/UI/Components/List.test.js +0 -83
  654. package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
  655. package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
  656. package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
  657. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
  658. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
  659. package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
  660. package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
  661. package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
  662. package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
  663. package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
  664. package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
  665. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
  666. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
  667. package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
  668. package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
  669. package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
  670. package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
  671. package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
  672. package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
  673. package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
  674. package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
  675. package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
  676. package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
  677. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
  678. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
  679. package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
  680. package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
  681. package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
  682. package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
  683. package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
  684. package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
  685. package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
  686. package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
  687. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
  688. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
  689. package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
  690. package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
  691. package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
  692. package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
  693. package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
  694. package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
  695. package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
  696. package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
  697. package/build/dist/Tests/UI/Index.js +0 -2
  698. package/build/dist/Tests/UI/Index.js.map +0 -1
  699. package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
  700. package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
  701. package/build/dist/Tests/Utils/API.test.js +0 -399
  702. package/build/dist/Tests/Utils/API.test.js.map +0 -1
  703. package/build/dist/Tests/Utils/Analytics.test.js +0 -67
  704. package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
  705. package/build/dist/Tests/Utils/CronTime.test.js +0 -22
  706. package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
  707. package/build/dist/Tests/Utils/Faker.test.js +0 -27
  708. package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
  709. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
  710. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
  711. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
  712. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
  713. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
  714. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
  715. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
  716. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
  717. package/build/dist/Tests/Utils/Slug.test.js +0 -20
  718. package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
  719. package/build/dist/Tests/Utils/UUID.test.js +0 -48
  720. package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
  721. package/build/dist/Tests/jest.setup.js +0 -30
  722. package/build/dist/Tests/jest.setup.js.map +0 -1
  723. package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
  724. package/build/dist/Types/Profile/ProfileMetricType.js.map +0 -1
@@ -1,459 +0,0 @@
1
- import { ClickhouseAppInstance } from "../../../../Server/Infrastructure/ClickhouseDatabase";
2
- import { SQL, } from "../../../../Server/Utils/AnalyticsDatabase/Statement";
3
- import StatementGenerator from "../../../../Server/Utils/AnalyticsDatabase/StatementGenerator";
4
- import logger from "../../../../Server/Utils/Logger";
5
- import "../../TestingUtils/Init";
6
- import AnalyticsBaseModel from "../../../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
7
- import Route from "../../../../Types/API/Route";
8
- import AnalyticsTableEngine from "../../../../Types/AnalyticsDatabase/AnalyticsTableEngine";
9
- import AnalyticsTableColumn from "../../../../Types/AnalyticsDatabase/TableColumn";
10
- import TableColumnType from "../../../../Types/AnalyticsDatabase/TableColumnType";
11
- import OneUptimeDate from "../../../../Types/Date";
12
- import EqualTo from "../../../../Types/BaseDatabase/EqualTo";
13
- import NotEqual from "../../../../Types/BaseDatabase/NotEqual";
14
- import IsNull from "../../../../Types/BaseDatabase/IsNull";
15
- import NotNull from "../../../../Types/BaseDatabase/NotNull";
16
- import GreaterThan from "../../../../Types/BaseDatabase/GreaterThan";
17
- import Includes from "../../../../Types/BaseDatabase/Includes";
18
- import Search from "../../../../Types/BaseDatabase/Search";
19
- import StartsWith from "../../../../Types/BaseDatabase/StartsWith";
20
- function expectStatement(actual, expected) {
21
- expect(actual.query).toBe(expected.query);
22
- expect(actual.query_params).toStrictEqual(expected.query_params);
23
- }
24
- describe("StatementGenerator", () => {
25
- class TestModel extends AnalyticsBaseModel {
26
- constructor() {
27
- super({
28
- tableName: "<table-name>",
29
- singularName: "<singular-name>",
30
- pluralName: "<plural-name>",
31
- tableColumns: [
32
- new AnalyticsTableColumn({
33
- key: `column_ObjectID`,
34
- title: "<title>",
35
- description: "<description>",
36
- required: true,
37
- type: TableColumnType.ObjectID,
38
- }),
39
- new AnalyticsTableColumn({
40
- key: `column_1`,
41
- title: "<title>",
42
- description: "<description>",
43
- required: false,
44
- type: TableColumnType.Text,
45
- }),
46
- new AnalyticsTableColumn({
47
- key: `column_2`,
48
- title: "<title>",
49
- description: "<description>",
50
- required: false,
51
- type: TableColumnType.Number,
52
- }),
53
- ],
54
- crudApiPath: new Route("route"),
55
- primaryKeys: ["column_ObjectID"],
56
- sortKeys: ["column_ObjectID"],
57
- partitionKey: "column_ObjectID",
58
- tableEngine: AnalyticsTableEngine.MergeTree,
59
- });
60
- }
61
- }
62
- let generator;
63
- beforeEach(async () => {
64
- generator = new StatementGenerator({
65
- modelType: TestModel,
66
- database: ClickhouseAppInstance,
67
- });
68
- });
69
- describe("toUpdateStatement", () => {
70
- let updateBy;
71
- beforeEach(() => {
72
- updateBy = {
73
- data: new TestModel(),
74
- query: {},
75
- props: {},
76
- };
77
- generator.toSetStatement = jest.fn(() => {
78
- return SQL `<set-statement>`;
79
- });
80
- generator.toWhereStatement = jest.fn(() => {
81
- return SQL `<where-statement>`;
82
- });
83
- jest.spyOn(logger, "debug").mockImplementation(() => {
84
- return undefined;
85
- });
86
- });
87
- afterEach(() => {
88
- jest.restoreAllMocks();
89
- });
90
- test("should return ALTER TABLE UPDATE statement", () => {
91
- const statement = generator.toUpdateStatement(updateBy);
92
- expect(generator.toSetStatement).toBeCalledWith(updateBy.data);
93
- expect(generator.toWhereStatement).toBeCalledWith(updateBy.query);
94
- expect(jest.mocked(logger.debug)).toHaveBeenCalledTimes(2);
95
- expect(jest.mocked(logger.debug)).toHaveBeenNthCalledWith(1, "<table-name> Update Statement");
96
- expect(jest.mocked(logger.debug)).toHaveBeenNthCalledWith(2, statement);
97
- /* eslint-disable prettier/prettier */
98
- expectStatement(statement, SQL `
99
- ALTER TABLE ${'oneuptime'}.${'<table-name>'}
100
- UPDATE <set-statement>
101
- WHERE TRUE <where-statement>
102
- `);
103
- /* eslint-enable prettier/prettier */
104
- });
105
- });
106
- describe("toSetStatement", () => {
107
- let model;
108
- beforeEach(() => {
109
- model = new TestModel();
110
- });
111
- test("should return the contents of a SET statement", () => {
112
- model.setColumnValue("column_1", "<value>");
113
- const statement = generator.toSetStatement(model);
114
- expect(statement.query).toBe("column_1 = {p0:String}");
115
- expect(statement.query_params).toStrictEqual({
116
- p0: "<value>",
117
- });
118
- });
119
- test("should set multiple columns", () => {
120
- model.setColumnValue("column_1", "<value>");
121
- model.setColumnValue("column_2", 123);
122
- const statement = generator.toSetStatement(model);
123
- expect(statement.query).toBe("column_1 = {p0:String}, column_2 = {p1:Int32}");
124
- expect(statement.query_params).toStrictEqual({
125
- p0: "<value>",
126
- p1: 123,
127
- });
128
- });
129
- test("should set column to NULL", () => {
130
- model.setColumnValue("column_1", null);
131
- const statement = generator.toSetStatement(model);
132
- expect(statement.query).toBe("column_1 = {p0:String}");
133
- expect(statement.query_params).toStrictEqual({
134
- p0: null,
135
- });
136
- });
137
- });
138
- describe("toWhereStatement", () => {
139
- test("should return the contents of a WHERE statement", () => {
140
- const statement = generator.toWhereStatement({
141
- _id: "<value>",
142
- });
143
- expect(statement.query).toBe("AND {p0:Identifier} = {p1:String}");
144
- expect(statement.query_params).toStrictEqual({
145
- p0: "_id",
146
- p1: "<value>",
147
- });
148
- });
149
- test("should check multiple columns", () => {
150
- const date = new Date(9876543210);
151
- const statement = generator.toWhereStatement({
152
- _id: "<value>",
153
- updatedAt: date,
154
- });
155
- expect(statement.query).toBe("AND {p0:Identifier} = {p1:String} AND {p2:Identifier} = {p3:DateTime}");
156
- expect(statement.query_params).toStrictEqual({
157
- p0: "_id",
158
- p1: "<value>",
159
- p2: "updatedAt",
160
- p3: OneUptimeDate.toClickhouseDateTime(date),
161
- });
162
- });
163
- describe("MapStringString columns", () => {
164
- class MapModel extends AnalyticsBaseModel {
165
- constructor() {
166
- super({
167
- tableName: "<map-table>",
168
- singularName: "<singular>",
169
- pluralName: "<plural>",
170
- tableColumns: [
171
- new AnalyticsTableColumn({
172
- key: "_id",
173
- title: "<title>",
174
- description: "<description>",
175
- required: true,
176
- type: TableColumnType.ObjectID,
177
- }),
178
- new AnalyticsTableColumn({
179
- key: "attributes",
180
- title: "<title>",
181
- description: "<description>",
182
- required: true,
183
- defaultValue: {},
184
- type: TableColumnType.MapStringString,
185
- }),
186
- ],
187
- crudApiPath: new Route("route"),
188
- primaryKeys: ["_id"],
189
- sortKeys: ["_id"],
190
- partitionKey: "_id",
191
- tableEngine: AnalyticsTableEngine.MergeTree,
192
- });
193
- }
194
- }
195
- let mapGenerator;
196
- beforeEach(() => {
197
- mapGenerator = new StatementGenerator({
198
- modelType: MapModel,
199
- database: ClickhouseAppInstance,
200
- });
201
- });
202
- test("uses direct map subscript for bare-value equality", () => {
203
- const statement = mapGenerator.toWhereStatement({
204
- attributes: { requestId: "uuid-123" },
205
- });
206
- /*
207
- * Programmatic callers pass canonical keys, so bare-value
208
- * equality compiles to `attributes['k'] = v` — an O(1) Map
209
- * subscript that the planner can push into PREWHERE. The
210
- * slower case-insensitive arrayExists form is reserved for
211
- * the user-typed Search/StartsWith/EndsWith/NotContains
212
- * operators below.
213
- */
214
- expect(statement.query).toBe("AND {p0:Identifier}[{p1:String}] = {p2:String}");
215
- expect(statement.query_params).toStrictEqual({
216
- p0: "attributes",
217
- p1: "requestId",
218
- p2: "uuid-123",
219
- });
220
- });
221
- test("uses direct map subscript for EqualTo wrapper", () => {
222
- const statement = mapGenerator.toWhereStatement({
223
- attributes: { requestId: new EqualTo("uuid-123") },
224
- });
225
- expect(statement.query).toBe("AND {p0:Identifier}[{p1:String}] = {p2:String}");
226
- expect(statement.query_params).toStrictEqual({
227
- p0: "attributes",
228
- p1: "requestId",
229
- p2: "uuid-123",
230
- });
231
- });
232
- test("uses direct map subscript for NotEqual wrapper", () => {
233
- const statement = mapGenerator.toWhereStatement({
234
- attributes: { requestId: new NotEqual("uuid-123") },
235
- });
236
- expect(statement.query).toBe("AND {p0:Identifier}[{p1:String}] != {p2:String}");
237
- });
238
- test("uses mapContains+subscript for IsNull wrapper", () => {
239
- const statement = mapGenerator.toWhereStatement({
240
- attributes: { requestId: new IsNull() },
241
- });
242
- expect(statement.query).toBe("AND ((NOT mapContains({p0:Identifier}, {p1:String})) OR {p2:Identifier}[{p3:String}] = '')");
243
- });
244
- test("uses mapContains+subscript for NotNull wrapper", () => {
245
- const statement = mapGenerator.toWhereStatement({
246
- attributes: { requestId: new NotNull() },
247
- });
248
- expect(statement.query).toBe("AND mapContains({p0:Identifier}, {p1:String}) AND {p2:Identifier}[{p3:String}] != ''");
249
- });
250
- test("uses direct map subscript for numeric GreaterThan wrapper", () => {
251
- const statement = mapGenerator.toWhereStatement({
252
- attributes: { httpStatus: new GreaterThan(500) },
253
- });
254
- expect(statement.query).toBe("AND toFloat64OrNull({p0:Identifier}[{p1:String}]) > {p2:Int32}");
255
- });
256
- test("keeps case-insensitive arrayExists for Search wrapper", () => {
257
- const statement = mapGenerator.toWhereStatement({
258
- attributes: { requestId: new Search("uuid") },
259
- });
260
- /*
261
- * Search comes from the user-typed search bar — keep the
262
- * case-insensitive ILIKE form so the user doesn't have to
263
- * remember whether the stored key is `requestId` or
264
- * `requestid`.
265
- */
266
- expect(statement.query).toContain("arrayExists");
267
- expect(statement.query).toContain("lowerUTF8");
268
- expect(statement.query).toContain("ILIKE");
269
- });
270
- test("keeps case-insensitive arrayExists for StartsWith wrapper", () => {
271
- const statement = mapGenerator.toWhereStatement({
272
- attributes: { requestId: new StartsWith("uuid") },
273
- });
274
- expect(statement.query).toContain("arrayExists");
275
- expect(statement.query).toContain("lowerUTF8");
276
- expect(statement.query).toContain("ILIKE");
277
- });
278
- test("emits direct map subscript IN(...) for Includes wrapper", () => {
279
- const statement = mapGenerator.toWhereStatement({
280
- attributes: {
281
- "k8s.cluster.name": new Includes(["prod-east", "prod-west"]),
282
- },
283
- });
284
- /*
285
- * Multi-value dashboard variables emit Includes on a map column;
286
- * the generator must produce an O(1) Map subscript followed by
287
- * IN, matching the fast-path used for bare-value equality.
288
- */
289
- expect(statement.query).toBe("AND {p0:Identifier}[{p1:String}] IN {p2:Array(String)}");
290
- expect(statement.query_params).toStrictEqual({
291
- p0: "attributes",
292
- p1: "k8s.cluster.name",
293
- p2: ["prod-east", "prod-west"],
294
- });
295
- });
296
- test("drops empty Includes wrapper instead of producing IN ()", () => {
297
- const statement = mapGenerator.toWhereStatement({
298
- attributes: {
299
- "k8s.cluster.name": new Includes([]),
300
- },
301
- });
302
- /*
303
- * An empty multi-select is the user's "All" — must not emit
304
- * `IN ()` (which ClickHouse treats as match-nothing).
305
- */
306
- expect(statement.query).toBe("");
307
- expect(statement.query_params).toStrictEqual({});
308
- });
309
- });
310
- });
311
- describe("toSelectStatement", () => {
312
- test("should return the contents of a SELECT statement", () => {
313
- const { statement, columns } = generator.toSelectStatement({
314
- _id: true,
315
- });
316
- expect(statement.query).toBe("{p0:Identifier}");
317
- expect(statement.query_params).toStrictEqual({
318
- p0: "_id",
319
- });
320
- expect(columns).toStrictEqual(["_id"]);
321
- });
322
- test("should SELECT multiple columns", () => {
323
- const { statement, columns } = generator.toSelectStatement({
324
- _id: true,
325
- createdAt: true,
326
- updatedAt: true,
327
- });
328
- expect(statement.query).toBe("{p0:Identifier}, {p1:Identifier}, {p2:Identifier}");
329
- expect(statement.query_params).toStrictEqual({
330
- p0: "_id",
331
- p1: "createdAt",
332
- p2: "updatedAt",
333
- });
334
- expect(columns).toStrictEqual(["_id", "createdAt", "updatedAt"]);
335
- });
336
- });
337
- describe("toColumnsCreateStatement", () => {
338
- test("should return the columns of a CREATE TABLE statement", () => {
339
- const statement = generator.toColumnsCreateStatement([
340
- new AnalyticsTableColumn({
341
- key: "column_1",
342
- title: "<title>",
343
- description: "<description>",
344
- required: true,
345
- type: TableColumnType.Text,
346
- }),
347
- new AnalyticsTableColumn({
348
- key: "column_2",
349
- title: "<title>",
350
- description: "<description>",
351
- required: false,
352
- type: TableColumnType.Number,
353
- }),
354
- ]);
355
- expectStatement(statement, SQL `column_1 String, column_2 Nullable(Int32)`);
356
- });
357
- test("should not add NULL|NOT NULL to Array types", () => {
358
- const statement = generator.toColumnsCreateStatement([
359
- new AnalyticsTableColumn({
360
- key: "column_1",
361
- title: "<title>",
362
- description: "<description>",
363
- required: true,
364
- type: TableColumnType.ArrayText,
365
- }),
366
- new AnalyticsTableColumn({
367
- key: "column_2",
368
- title: "<title>",
369
- description: "<description>",
370
- required: false,
371
- type: TableColumnType.ArrayNumber,
372
- }),
373
- ]);
374
- expectStatement(statement, SQL `column_1 Array(String), column_2 Nullable(Array(Int32))`);
375
- });
376
- test("wraps LowCardinality columns and respects nullability", () => {
377
- const statement = generator.toColumnsCreateStatement([
378
- new AnalyticsTableColumn({
379
- key: "col_lc_req",
380
- title: "<title>",
381
- description: "<description>",
382
- required: true,
383
- type: TableColumnType.Text,
384
- isLowCardinality: true,
385
- }),
386
- new AnalyticsTableColumn({
387
- key: "col_lc_null",
388
- title: "<title>",
389
- description: "<description>",
390
- required: false,
391
- type: TableColumnType.Text,
392
- isLowCardinality: true,
393
- }),
394
- ]);
395
- expectStatement(statement, SQL `col_lc_req LowCardinality(String), col_lc_null LowCardinality(Nullable(String))`);
396
- });
397
- test("emits single and pipelined CODEC clauses", () => {
398
- const statement = generator.toColumnsCreateStatement([
399
- new AnalyticsTableColumn({
400
- key: "col_zstd",
401
- title: "<title>",
402
- description: "<description>",
403
- required: true,
404
- type: TableColumnType.Text,
405
- codec: { codec: "ZSTD", level: 1 },
406
- }),
407
- new AnalyticsTableColumn({
408
- key: "col_pipe",
409
- title: "<title>",
410
- description: "<description>",
411
- required: true,
412
- type: TableColumnType.DateTime64,
413
- codec: [{ codec: "DoubleDelta" }, { codec: "ZSTD", level: 1 }],
414
- }),
415
- ]);
416
- expectStatement(statement, SQL `col_zstd String CODEC(ZSTD(1)), col_pipe DateTime64(9) CODEC(DoubleDelta, ZSTD(1))`);
417
- });
418
- });
419
- describe("toTableCreateStatement", () => {
420
- beforeEach(() => {
421
- generator.toColumnsCreateStatement = jest.fn(() => {
422
- return SQL ` <columns-create-statement>`;
423
- });
424
- jest.spyOn(logger, "debug").mockImplementation(() => {
425
- return undefined;
426
- });
427
- });
428
- afterEach(() => {
429
- jest.restoreAllMocks();
430
- });
431
- test("should return CREATE TABLE statement", () => {
432
- const statement = generator.toTableCreateStatement();
433
- expect(generator.toColumnsCreateStatement).toBeCalledWith(generator.model.tableColumns);
434
- expect(jest.mocked(logger.debug)).toHaveBeenCalledTimes(2);
435
- expect(jest.mocked(logger.debug)).toHaveBeenNthCalledWith(1, "<table-name> Table Create Statement");
436
- expect(jest.mocked(logger.debug)).toHaveBeenNthCalledWith(2, statement);
437
- /* eslint-disable prettier/prettier */
438
- const expectedStatement = SQL `
439
- CREATE TABLE IF NOT EXISTS ${'oneuptime'}.${'<table-name>'}
440
- (
441
- <columns-create-statement>
442
- )
443
- ENGINE = MergeTree
444
- PARTITION BY (column_ObjectID)
445
-
446
- PRIMARY KEY (${'column_ObjectID'})
447
- ORDER BY (${'column_ObjectID'})
448
- `;
449
- /* eslint-enable prettier/prettier */
450
- // Normalize whitespace for comparison to avoid formatting issues
451
- const normalizeWhitespace = (s) => {
452
- return s.replace(/\s+/g, " ").trim();
453
- };
454
- expect(normalizeWhitespace(statement.query)).toBe(normalizeWhitespace(expectedStatement.query));
455
- expect(statement.query_params).toStrictEqual(expectedStatement.query_params);
456
- });
457
- });
458
- });
459
- //# sourceMappingURL=StatementGenerator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatementGenerator.test.js","sourceRoot":"","sources":["../../../../../../Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- import CookieUtil from "../../../Server/Utils/Cookie";
2
- import ObjectID from "../../../Types/ObjectID";
3
- describe("CookieUtils", () => {
4
- let mockRequest;
5
- let mockResponse;
6
- beforeEach(() => {
7
- mockRequest = {
8
- cookies: {},
9
- };
10
- mockResponse = {};
11
- });
12
- afterEach(() => {
13
- jest.clearAllMocks();
14
- });
15
- test("Should set a cookie", () => {
16
- const cookie = {
17
- name: "testName",
18
- value: "testValue",
19
- options: {},
20
- };
21
- mockResponse.cookie = jest.fn();
22
- CookieUtil.setCookie(mockResponse, cookie["name"], cookie["value"], cookie["options"]);
23
- // setCookie adds default path and sameSite options
24
- expect(mockResponse.cookie).toHaveBeenCalledWith(cookie["name"], cookie["value"], { path: "/", sameSite: "lax" });
25
- });
26
- test("Should return a cookie", () => {
27
- const cookieName = "testName";
28
- const cookieValue = "testValue";
29
- mockRequest.cookies[cookieName] = cookieValue;
30
- const value = CookieUtil.getCookieFromExpressRequest(mockRequest, cookieName);
31
- expect(value).toBe(value);
32
- });
33
- test("Should remove a cookie", () => {
34
- const cookieName = "testName";
35
- mockResponse.clearCookie = jest.fn();
36
- CookieUtil.removeCookie(mockResponse, cookieName);
37
- // removeCookie includes path and sameSite options
38
- expect(mockResponse.clearCookie).toHaveBeenCalledWith(cookieName, {
39
- path: "/",
40
- sameSite: "lax",
41
- });
42
- });
43
- test("Should return all cookies", () => {
44
- const value = "testValue";
45
- mockRequest.cookies = { testName: value };
46
- const cookies = CookieUtil.getAllCookies(mockRequest);
47
- expect(cookies).toEqual({ testName: value });
48
- });
49
- test("Should return empty object if there are no cookies", () => {
50
- mockRequest.cookies = {};
51
- const cookies = CookieUtil.getAllCookies(mockRequest);
52
- expect(cookies).toEqual({});
53
- });
54
- test("Should return user token key", () => {
55
- const id = "123456789";
56
- const keyWithId = CookieUtil.getUserTokenKey(new ObjectID(id));
57
- const keyWithoutId = CookieUtil.getUserTokenKey();
58
- expect(keyWithId).toBe(`user-token-${id}`);
59
- expect(keyWithoutId).toBe("user-token");
60
- });
61
- test("Should return SSO key", () => {
62
- const ssoKey = CookieUtil.getSSOKey();
63
- expect(ssoKey).toBe("sso-");
64
- });
65
- test("Should return user SSO key", () => {
66
- const id = "123456789";
67
- const userSsoKey = CookieUtil.getUserSSOKey(new ObjectID(id));
68
- expect(userSsoKey).toBe(`sso-${id}`);
69
- });
70
- test("Should remove all cookies", () => {
71
- const cookies = {
72
- testName1: "testValue1",
73
- testName2: "testValue2",
74
- };
75
- mockRequest.cookies = cookies;
76
- mockResponse.clearCookie = jest.fn();
77
- CookieUtil.removeAllCookies(mockRequest, mockResponse);
78
- // clearCookie is called with path and sameSite options
79
- expect(mockResponse.clearCookie).toHaveBeenCalledWith(Object.keys(cookies)[0], { path: "/", sameSite: "lax" });
80
- expect(mockResponse.clearCookie).toHaveBeenCalledWith(Object.keys(cookies)[1], { path: "/", sameSite: "lax" });
81
- });
82
- });
83
- //# sourceMappingURL=Cookie.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cookie.test.js","sourceRoot":"","sources":["../../../../../Tests/Server/Utils/Cookie.test.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,8BAA8B,CAAC;AAItD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,WAA2B,CAAC;IAChC,IAAI,YAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,WAAW,GAAG;YACZ,OAAO,EAAE,EAAE;SACM,CAAC;QAEpB,YAAY,GAAG,EAAqB,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAe;YACzB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,UAAU,CAAC,SAAS,CAClB,YAAY,EACZ,MAAM,CAAC,MAAM,CAAW,EACxB,MAAM,CAAC,OAAO,CAAW,EACzB,MAAM,CAAC,SAAS,CAAe,CAChC,CAAC;QAEF,mDAAmD;QACnD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC9C,MAAM,CAAC,MAAM,CAAW,EACxB,MAAM,CAAC,OAAO,CAAW,EACzB,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAClC,MAAM,UAAU,GAAW,UAAU,CAAC;QACtC,MAAM,WAAW,GAAW,WAAW,CAAC;QAExC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QAC9C,MAAM,KAAK,GAAuB,UAAU,CAAC,2BAA2B,CACtE,WAAW,EACX,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAClC,MAAM,UAAU,GAAW,UAAU,CAAC;QAEtC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAElD,kDAAkD;QAClD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE;YAChE,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,KAAK,GAAW,WAAW,CAAC;QAClC,WAAW,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAuB,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1E,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC9D,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAuB,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1E,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,GAAW,WAAW,CAAC;QAC/B,MAAM,SAAS,GAAW,UAAU,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,YAAY,GAAW,UAAU,CAAC,eAAe,EAAE,CAAC;QAE1D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAW,UAAU,CAAC,SAAS,EAAE,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,GAAW,WAAW,CAAC;QAC/B,MAAM,UAAU,GAAW,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAuB;YAClC,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;SACxB,CAAC;QAEF,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEvD,uDAAuD;QACvD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,CACnD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvB,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAC/B,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,CACnD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvB,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,29 +0,0 @@
1
- import CronTab from "../../../Server/Utils/CronTab";
2
- import { describe, expect, it } from "@jest/globals";
3
- describe("CronTab", () => {
4
- it("should return the next execution time for a given cron expression", () => {
5
- const crontab = "*/5 * * * *";
6
- const nextExecutionTime = CronTab.getNextExecutionTime(crontab);
7
- const now = new Date();
8
- const expectedNextExecutionTime = new Date(now.getTime() + 5 * 60 * 1000);
9
- const toleranceInMilliseconds = 5000;
10
- const differenceInMilliseconds = nextExecutionTime.getTime() - expectedNextExecutionTime.getTime();
11
- expect(differenceInMilliseconds).toBeLessThan(toleranceInMilliseconds);
12
- });
13
- it("should return the next execution time for a daily cron expression", () => {
14
- const crontab = "0 0 * * *";
15
- const nextExecutionTime = CronTab.getNextExecutionTime(crontab);
16
- const now = new Date();
17
- const expectedNextExecutionTime = new Date(now.getTime() + 24 * 60 * 60 * 1000);
18
- const toleranceInMilliseconds = 5000;
19
- const differenceInMilliseconds = nextExecutionTime.getTime() - expectedNextExecutionTime.getTime();
20
- expect(differenceInMilliseconds).toBeLessThan(toleranceInMilliseconds);
21
- });
22
- it("should throw an error when the cron expression is invalid", () => {
23
- const crontab = "invalid";
24
- expect(() => {
25
- CronTab.getNextExecutionTime(crontab);
26
- }).toThrowError(`Invalid cron expression: ${crontab}`);
27
- });
28
- });
29
- //# sourceMappingURL=CronTab.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CronTab.test.js","sourceRoot":"","sources":["../../../../../Tests/Server/Utils/CronTab.test.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,+BAA+B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAErD,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAW,aAAa,CAAC;QAEtC,MAAM,iBAAiB,GAAS,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,yBAAyB,GAAS,IAAI,IAAI,CAC9C,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAC9B,CAAC;QAEF,MAAM,uBAAuB,GAAW,IAAI,CAAC;QAC7C,MAAM,wBAAwB,GAC5B,iBAAiB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAW,WAAW,CAAC;QAEpC,MAAM,iBAAiB,GAAS,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,yBAAyB,GAAS,IAAI,IAAI,CAC9C,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACpC,CAAC;QAEF,MAAM,uBAAuB,GAAW,IAAI,CAAC;QAC7C,MAAM,wBAAwB,GAC5B,iBAAiB,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,OAAO,GAAW,SAAS,CAAC;QAElC,MAAM,CAAC,GAAG,EAAE;YACV,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,YAAY,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}