@oneuptime/common 12.0.33 → 12.0.34

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 (652) hide show
  1. package/Models/AnalyticsModels/RumSession.ts +117 -1
  2. package/Models/AnalyticsModels/RumSessionChunk.ts +13 -0
  3. package/Models/DatabaseModels/AlertCustomField.ts +77 -3
  4. package/Models/DatabaseModels/ApiKeyPermission.ts +3 -27
  5. package/Models/DatabaseModels/IncidentCustomField.ts +77 -3
  6. package/Models/DatabaseModels/InventoryItemCustomField.ts +77 -3
  7. package/Models/DatabaseModels/MonitorCustomField.ts +77 -3
  8. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +77 -3
  9. package/Models/DatabaseModels/RumApplication.ts +6 -6
  10. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +77 -3
  11. package/Models/DatabaseModels/StatusPageCustomField.ts +77 -3
  12. package/Models/DatabaseModels/TeamCustomField.ts +77 -3
  13. package/Models/DatabaseModels/TeamMember.ts +0 -9
  14. package/Models/DatabaseModels/TeamMemberCustomField.ts +77 -3
  15. package/Models/DatabaseModels/TeamPermission.ts +3 -24
  16. package/Models/DatabaseModels/TelemetryIngestionKey.ts +260 -0
  17. package/Models/DatabaseModels/UserTelegram.ts +0 -4
  18. package/Scripts/benchmark-fanin-capacity.js +181 -0
  19. package/Server/API/TelemetryAPI.ts +1284 -164
  20. package/Server/API/UserNotificationSettingAPI.ts +55 -0
  21. package/Server/API/UserTelegramAPI.ts +48 -4
  22. package/Server/EnvironmentConfig.ts +35 -2
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.ts +91 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.ts +67 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.ts +139 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.ts +121 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  28. package/Server/Infrastructure/QueueWorker.ts +20 -14
  29. package/Server/Infrastructure/Semaphore.ts +2 -0
  30. package/Server/Middleware/TelemetryIngest.ts +453 -7
  31. package/Server/Services/AccessTokenService.ts +1 -0
  32. package/Server/Services/AlertCustomFieldService.ts +98 -0
  33. package/Server/Services/AlertService.ts +37 -0
  34. package/Server/Services/ApiKeyPermissionService.ts +461 -29
  35. package/Server/Services/CustomFieldMappingService.ts +879 -0
  36. package/Server/Services/GlobalConfigService.ts +194 -0
  37. package/Server/Services/IncidentCustomFieldService.ts +98 -0
  38. package/Server/Services/IncidentService.ts +35 -0
  39. package/Server/Services/MetricService.ts +194 -0
  40. package/Server/Services/MonitorService.ts +32 -0
  41. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +78 -25
  42. package/Server/Services/ProjectService.ts +22 -0
  43. package/Server/Services/RoutineEmailSettingsService.ts +73 -0
  44. package/Server/Services/RumSessionReplayViewService.ts +104 -24
  45. package/Server/Services/ScheduledMaintenanceCustomFieldService.ts +98 -0
  46. package/Server/Services/ScheduledMaintenanceService.ts +32 -0
  47. package/Server/Services/TeamMemberService.ts +78 -0
  48. package/Server/Services/TeamPermissionService.ts +235 -3
  49. package/Server/Services/TelemetryIngestionKeyService.ts +722 -19
  50. package/Server/Services/UserNotificationSettingService.ts +34 -6
  51. package/Server/Services/UserTelegramService.ts +326 -5
  52. package/Server/Types/Database/QueryHelper.ts +2 -0
  53. package/Server/Utils/APIKey/AccessPermission.ts +5 -2
  54. package/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.ts +54 -0
  55. package/Server/Utils/CustomField/CustomFieldMappingRegistry.ts +415 -0
  56. package/Server/Utils/CustomField/CustomFieldMappingValidator.ts +335 -0
  57. package/Server/Utils/DataSource/EgressGuard.ts +177 -8
  58. package/Server/Utils/EmailRollup/EmailRollupConstants.ts +38 -5
  59. package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +57 -4
  60. package/Server/Utils/FrontendEnvironment.ts +40 -0
  61. package/Server/Utils/LogRedaction.ts +20 -0
  62. package/Server/Utils/Logger.ts +11 -0
  63. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +338 -77
  64. package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +30 -4
  65. package/Server/Utils/Monitor/MonitorAlert.ts +29 -6
  66. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +110 -15
  67. package/Server/Utils/Monitor/MonitorIncident.ts +22 -6
  68. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +29 -0
  69. package/Server/Utils/Monitor/SeriesContextEnricher.ts +304 -0
  70. package/Server/Utils/SSRFProtection.ts +217 -10
  71. package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +239 -138
  72. package/Server/Utils/SessionReplay/SessionReplayHealthCounters.ts +305 -0
  73. package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1430 -289
  74. package/Server/Utils/StartServer.ts +2 -17
  75. package/Server/Utils/TelegramVerificationToken.ts +185 -0
  76. package/Server/Utils/Telemetry/PinServiceName.ts +197 -0
  77. package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +38 -16
  78. package/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.ts +92 -0
  79. package/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.ts +217 -0
  80. package/Server/Utils/VM/VMAPI.ts +1 -0
  81. package/Server/Utils/VM/VMRunner.ts +975 -95
  82. package/Tests/App/AdminDashboard/AdminHeaderSmallScreens.test.tsx +202 -0
  83. package/Tests/App/Dashboard/DashboardHeaderSmallScreens.test.tsx +404 -0
  84. package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +468 -0
  85. package/Tests/App/Dashboard/NotificationEmailPreferences.test.tsx +399 -0
  86. package/Tests/App/StatusPage/StatusPageLastUpdated.test.tsx +263 -0
  87. package/Tests/App/StatusPage/StatusPageOverviewLiveAndSearch.test.tsx +753 -0
  88. package/Tests/App/StatusPage/StatusPageResourceSearchBox.test.tsx +224 -0
  89. package/Tests/Models/AnalyticsModels/RumSessionReplayColumns.test.ts +262 -0
  90. package/Tests/Models/CustomFieldMappingColumns.test.ts +166 -0
  91. package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +20 -6
  92. package/Tests/ResponsiveVisibility.test.ts +115 -0
  93. package/Tests/ResponsiveVisibility.ts +183 -0
  94. package/Tests/Server/API/SessionReplayAPI.test.ts +1940 -216
  95. package/Tests/Server/API/UserNotificationSettingAPI.test.ts +186 -0
  96. package/Tests/Server/API/UserTelegramAPISecurity.test.ts +231 -0
  97. package/Tests/Server/EnvironmentConfigFrontendSecurity.test.ts +234 -0
  98. package/Tests/Server/Infrastructure/Postgres/CustomFieldValueMappingMigration.test.ts +202 -0
  99. package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +41 -0
  100. package/Tests/Server/Infrastructure/Postgres/SessionReplayRecordEverySessionByDefaultMigration.test.ts +169 -0
  101. package/Tests/Server/Infrastructure/QueueWorkerTimeout.test.ts +210 -0
  102. package/Tests/Server/Infrastructure/TelemetryExporterDeploymentConfig.test.ts +130 -0
  103. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -1
  104. package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +1163 -0
  105. package/Tests/Server/Middleware/TelemetryIngestTokenLog.test.ts +5 -3
  106. package/Tests/Server/Services/AddTelemetryIngestionKeyTypeMigration.test.ts +555 -0
  107. package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +678 -0
  108. package/Tests/Server/Services/ApiKeyPermissionService.test.ts +276 -28
  109. package/Tests/Server/Services/CustomFieldDropdownOptionsColumnWidth.test.ts +431 -0
  110. package/Tests/Server/Services/CustomFieldMappingService.test.ts +850 -0
  111. package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +32 -0
  112. package/Tests/Server/Services/GlobalConfigService.test.ts +414 -1
  113. package/Tests/Server/Services/MetricRawEntityKeyPrune.test.ts +592 -0
  114. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +226 -1
  115. package/Tests/Server/Services/RoutineEmailSettingsPostgres.test.ts +329 -0
  116. package/Tests/Server/Services/RumSessionReplayViewService.test.ts +267 -0
  117. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +9 -0
  118. package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +9 -0
  119. package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +834 -0
  120. package/Tests/Server/Services/TelemetryIngestionKeyPolicyResolution.test.ts +814 -0
  121. package/Tests/Server/Services/TelemetryIngestionKeyValidation.test.ts +998 -0
  122. package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +141 -0
  123. package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +18 -10
  124. package/Tests/Server/Services/UserTelegramVerificationSecurity.test.ts +688 -0
  125. package/Tests/Server/Utils/AI/SRE/Insights/FixRouting.test.ts +497 -0
  126. package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +383 -0
  127. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +7 -3
  128. package/Tests/Server/Utils/AnalyticsDatabase/ClusterConfig.test.ts +315 -0
  129. package/Tests/Server/Utils/CustomField/CustomFieldMappingValidator.test.ts +437 -0
  130. package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +300 -11
  131. package/Tests/Server/Utils/EmailRollup/EmailRollupBurstWindow.test.ts +83 -0
  132. package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1 -1
  133. package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerPreferences.test.ts +362 -0
  134. package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +77 -1
  135. package/Tests/Server/Utils/FrontendEnvironment.test.ts +190 -0
  136. package/Tests/Server/Utils/LogRedaction.test.ts +26 -0
  137. package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +23 -9
  138. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +584 -0
  139. package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestHeaderCriteria.test.ts +236 -0
  140. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +437 -0
  141. package/Tests/Server/Utils/Monitor/MonitorTemplateUtilSeriesContext.test.ts +176 -0
  142. package/Tests/Server/Utils/Monitor/SeriesContextEnricher.test.ts +356 -0
  143. package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +595 -0
  144. package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +198 -1
  145. package/Tests/Server/Utils/SessionReplay/SessionReplayHealthCounters.test.ts +453 -0
  146. package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +1378 -0
  147. package/Tests/Server/Utils/SessionReplayOriginAllowListRefactor.test.ts +420 -0
  148. package/Tests/Server/Utils/TelegramVerificationToken.test.ts +253 -0
  149. package/Tests/Server/Utils/Telemetry/PinServiceName.test.ts +666 -0
  150. package/Tests/Server/Utils/Telemetry/TelemetryFanInWriterCapacity.test.ts +458 -0
  151. package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.test.ts +424 -0
  152. package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.test.ts +528 -0
  153. package/Tests/Server/Utils/TelemetryExporterEnvironment.test.ts +56 -0
  154. package/Tests/Server/Utils/VM/VMRunnerHostBridgeLatency.test.ts +74 -0
  155. package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +100 -7
  156. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +1176 -6
  157. package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +220 -0
  158. package/Tests/Types/CustomField/CustomFieldValueMapping.test.ts +348 -0
  159. package/Tests/Types/JSONFunctions.test.ts +260 -0
  160. package/Tests/Types/Monitor/CephAlertTemplates.test.ts +422 -53
  161. package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +495 -15
  162. package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +191 -45
  163. package/Tests/Types/Monitor/HostAlertTemplates.test.ts +370 -42
  164. package/Tests/Types/Monitor/IotAlertTemplates.test.ts +375 -20
  165. package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +636 -42
  166. package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +189 -0
  167. package/Tests/Types/Monitor/KubernetesTemplateGroupByKeys.test.ts +95 -14
  168. package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +190 -21
  169. package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +352 -22
  170. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationAlertDebuggability.test.ts +363 -0
  171. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +93 -18
  172. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +259 -0
  173. package/Tests/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.test.ts +476 -0
  174. package/Tests/Types/Monitor/RumAlertTemplates.test.ts +136 -0
  175. package/Tests/Types/Monitor/SeriesContext/SeriesDebugHints.test.ts +661 -0
  176. package/Tests/Types/Monitor/SeriesContext/SeriesLabelDisplay.test.ts +507 -0
  177. package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +270 -0
  178. package/Tests/Types/Monitor/TemplateGroupByKeys.test.ts +38 -10
  179. package/Tests/Types/Monitor/Utils/RecommendationCriteriaAssertions.ts +102 -0
  180. package/Tests/Types/NotificationSetting/RoutineEmailEvents.test.ts +47 -0
  181. package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +608 -0
  182. package/Tests/Types/Rum/SessionReplayCustomEvents.test.ts +434 -0
  183. package/Tests/Types/WebsiteRequest.test.ts +285 -3
  184. package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +16 -3
  185. package/Tests/UI/Components/Charts/ChartTrailingBucketGap.test.ts +691 -0
  186. package/Tests/UI/Components/ComponentsModal.test.tsx +12 -4
  187. package/Tests/UI/Components/ComponentsModalUsability.test.tsx +518 -0
  188. package/Tests/UI/Components/CustomFields/CustomFieldsDetailMapping.test.tsx +324 -0
  189. package/Tests/UI/Components/CustomFields/MapFromCustomFieldInput.test.tsx +176 -0
  190. package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +484 -0
  191. package/Tests/UI/Components/HeaderRightRail.test.tsx +157 -0
  192. package/Tests/UI/Components/IconDropdownItem.test.tsx +102 -0
  193. package/Tests/UI/Components/JSONTablePrototypePollution.test.tsx +117 -0
  194. package/Tests/UI/Components/KeyboardShortcutsModal.test.tsx +214 -0
  195. package/Tests/UI/Components/ModelTable/ModelTableWrapContent.test.tsx +561 -0
  196. package/Tests/UI/Components/MonitorGraphs/UptimeBarDayModal.test.tsx +302 -0
  197. package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +28 -12
  198. package/Tests/UI/Components/ShortcutDialogGuard.test.tsx +74 -0
  199. package/Tests/UI/Components/StatusPage/ResourceGroupSectionAutoExpand.test.tsx +248 -0
  200. package/Tests/UI/Components/TableCellWrapping.test.tsx +625 -0
  201. package/Tests/UI/Components/TableLoadingStates.test.tsx +205 -0
  202. package/Tests/UI/Components/Workflow/NodePlacement.test.ts +148 -0
  203. package/Tests/UI/Components/Workflow/Workflow.test.tsx +981 -0
  204. package/Tests/UI/ConfigBrowserTelemetry.test.ts +70 -0
  205. package/Tests/UI/Rum/ChunkLoader.test.ts +1036 -2
  206. package/Tests/UI/Rum/FidelityNotices.test.ts +187 -0
  207. package/Tests/UI/Rum/InactivityMap.test.ts +341 -0
  208. package/Tests/UI/Rum/PrivacySummaryCard.test.tsx +259 -0
  209. package/Tests/UI/Rum/RecordingHealthCard.test.tsx +855 -0
  210. package/Tests/UI/Rum/RecordingHealthStrip.test.tsx +594 -0
  211. package/Tests/UI/Rum/ReplayCard.test.tsx +451 -0
  212. package/Tests/UI/Rum/ReplayCorrelationPanel.test.tsx +536 -0
  213. package/Tests/UI/Rum/ReplayEngine.test.ts +2503 -0
  214. package/Tests/UI/Rum/ReplayEngineTypes.test.ts +171 -0
  215. package/Tests/UI/Rum/ReplayHeader.test.tsx +711 -0
  216. package/Tests/UI/Rum/ReplayLink.test.tsx +119 -0
  217. package/Tests/UI/Rum/ReplayPinControl.test.tsx +408 -0
  218. package/Tests/UI/Rum/ReplayPlaybackIntent.test.ts +152 -0
  219. package/Tests/UI/Rum/ReplayRail.test.tsx +1296 -0
  220. package/Tests/UI/Rum/ReplayRailDetail.test.tsx +900 -0
  221. package/Tests/UI/Rum/ReplayScrubber.test.tsx +763 -147
  222. package/Tests/UI/Rum/ReplaySignalTypes.test.ts +189 -0
  223. package/Tests/UI/Rum/ReplaySignals.test.ts +1579 -0
  224. package/Tests/UI/Rum/ReplayStage.test.tsx +396 -473
  225. package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +918 -0
  226. package/Tests/UI/Rum/ReplayTimeline.test.tsx +696 -0
  227. package/Tests/UI/Rum/SessionReplayEmptyState.test.tsx +499 -0
  228. package/Tests/UI/Rum/SessionReplaySearchBar.test.tsx +346 -0
  229. package/Tests/UI/Rum/SessionReplaySetupGuide.test.tsx +545 -0
  230. package/Tests/UI/Rum/SessionReplayTable.test.tsx +991 -0
  231. package/Tests/UI/Rum/TargetedCapturePanel.test.tsx +254 -0
  232. package/Tests/UI/Telemetry/BrowserExporterIsolation.test.ts +71 -0
  233. package/Tests/UI/Utils/GlobalKeyboardShortcut.test.ts +344 -0
  234. package/Tests/Utils/API.test.ts +308 -0
  235. package/Tests/Utils/HTTPResponseBodyReader.test.ts +323 -0
  236. package/Tests/Utils/NetworkDiscovery/DiscoveryScanStatus.test.ts +117 -0
  237. package/Tests/Utils/Rum/ChunkMath.test.ts +83 -0
  238. package/Tests/Utils/Rum/SessionReplayHealthDiagnosis.test.ts +993 -0
  239. package/Tests/Utils/Rum/SessionReplayStringMap.test.ts +245 -0
  240. package/Tests/Utils/StatusPage/ResourceSearch.test.ts +631 -0
  241. package/Tests/Utils/Telemetry/OriginAllowList.test.ts +633 -0
  242. package/Tests/Utils/Uptime/DayUptimeGraphUtil.test.ts +461 -0
  243. package/Tests/Utils/ValueFormatter.test.ts +148 -0
  244. package/Types/CustomField/CustomFieldMappingCatalog.ts +161 -0
  245. package/Types/CustomField/CustomFieldMappingSourceResource.ts +19 -0
  246. package/Types/CustomField/CustomFieldValueMapping.ts +288 -0
  247. package/Types/Icon/IconProp.ts +1 -0
  248. package/Types/JSONFunctions.ts +189 -43
  249. package/Types/Monitor/CephAlertTemplates.ts +157 -195
  250. package/Types/Monitor/DockerAlertTemplates.ts +338 -128
  251. package/Types/Monitor/DockerSwarmAlertTemplates.ts +95 -112
  252. package/Types/Monitor/HostAlertTemplates.ts +302 -130
  253. package/Types/Monitor/IotAlertTemplates.ts +112 -104
  254. package/Types/Monitor/KubernetesAlertTemplates.ts +415 -224
  255. package/Types/Monitor/KubernetesMetricCatalog.ts +23 -19
  256. package/Types/Monitor/PodmanAlertTemplates.ts +116 -163
  257. package/Types/Monitor/ProxmoxAlertTemplates.ts +217 -99
  258. package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +98 -6
  259. package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +44 -7
  260. package/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.ts +383 -0
  261. package/Types/Monitor/RumAlertTemplates.ts +46 -7
  262. package/Types/Monitor/SeriesContext/SeriesDebugHints.ts +596 -0
  263. package/Types/Monitor/SeriesContext/SeriesLabelDisplay.ts +554 -0
  264. package/Types/Monitor/ServiceAlertTemplates.ts +98 -11
  265. package/Types/Monitor/UptimeHistoryLabels.ts +56 -0
  266. package/Types/NotificationSetting/RoutineEmailEvents.ts +30 -0
  267. package/Types/Rum/SessionReplay.ts +209 -0
  268. package/Types/Rum/SessionReplayApi.ts +722 -0
  269. package/Types/Rum/SessionReplayCaptureTrigger.ts +21 -12
  270. package/Types/Rum/SessionReplayConsentMode.ts +11 -7
  271. package/Types/Rum/SessionReplayCustomEvents.ts +549 -0
  272. package/Types/Rum/SessionReplayHealth.ts +238 -0
  273. package/Types/Telemetry/TelemetryIngestSurface.ts +95 -0
  274. package/Types/Telemetry/TelemetryIngestionKeyPolicy.ts +75 -0
  275. package/Types/Telemetry/TelemetryIngestionKeyType.ts +29 -0
  276. package/Types/WebsiteRequest.ts +85 -3
  277. package/UI/Components/Charts/Area/AreaChart.tsx +13 -2
  278. package/UI/Components/Charts/Bar/BarChart.tsx +6 -2
  279. package/UI/Components/Charts/Line/LineChart.tsx +13 -2
  280. package/UI/Components/Charts/Types/XAxis/XAxis.ts +29 -0
  281. package/UI/Components/Charts/Utils/DataPoint.ts +22 -3
  282. package/UI/Components/Charts/Utils/TimeAnnotation.ts +76 -9
  283. package/UI/Components/Charts/Utils/XAxis.ts +217 -0
  284. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +143 -25
  285. package/UI/Components/CustomFields/MapFromCustomFieldInput.tsx +216 -0
  286. package/UI/Components/Graphs/DayUptimeGraph.tsx +173 -8
  287. package/UI/Components/Graphs/UptimeBarTooltip.tsx +22 -278
  288. package/UI/Components/Graphs/UptimeDaySummary.tsx +327 -0
  289. package/UI/Components/Header/Header.tsx +25 -9
  290. package/UI/Components/Header/IconDropdown/IconDropdownItem.tsx +10 -1
  291. package/UI/Components/Header/IconDropdown/IconDropdownMenu.tsx +6 -1
  292. package/UI/Components/Header/ProjectPicker/ProjectPicker.tsx +6 -1
  293. package/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.tsx +6 -1
  294. package/UI/Components/Icon/Icon.tsx +11 -0
  295. package/UI/Components/JSONTable/JSONTable.tsx +2 -2
  296. package/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.tsx +125 -0
  297. package/UI/Components/KeyboardShortcut/Screenshots/README.md +19 -0
  298. package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-command-palette.png +0 -0
  299. package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog-dark.png +0 -0
  300. package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-dialog.png +0 -0
  301. package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-help-menu.png +0 -0
  302. package/UI/Components/KeyboardShortcut/Screenshots/keyboard-shortcuts-narrow.png +0 -0
  303. package/UI/Components/ModelTable/Column.ts +15 -0
  304. package/UI/Components/Monitor/SeriesDebugCommandsViewer.tsx +64 -0
  305. package/UI/Components/Monitor/SeriesLabelsViewer.tsx +93 -0
  306. package/UI/Components/MonitorGraphs/Uptime.tsx +14 -2
  307. package/UI/Components/MonitorGraphs/UptimeBarDayModal.tsx +63 -10
  308. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +44 -0
  309. package/UI/Components/StatusPage/ResourceGroupSection.tsx +40 -0
  310. package/UI/Components/Table/CellClassName.ts +81 -0
  311. package/UI/Components/Table/TableRow.tsx +20 -14
  312. package/UI/Components/Table/TableSkeletonRows.tsx +9 -9
  313. package/UI/Components/Table/Types/Column.ts +36 -0
  314. package/UI/Components/Tooltip/Tooltip.tsx +11 -1
  315. package/UI/Components/Workflow/ComponentsModal.tsx +60 -39
  316. package/UI/Components/Workflow/NodePlacement.ts +57 -0
  317. package/UI/Components/Workflow/Workflow.tsx +47 -18
  318. package/UI/Config.ts +15 -33
  319. package/UI/Utils/GlobalKeyboardShortcut.ts +208 -0
  320. package/UI/Utils/Telemetry/BrowserTelemetryConfig.ts +28 -0
  321. package/UI/Utils/Telemetry/Telemetry.ts +10 -8
  322. package/Utils/API.ts +129 -3
  323. package/Utils/HTTPResponseBodyReader.ts +221 -0
  324. package/Utils/NetworkDiscovery/DiscoveryScanStatus.ts +77 -0
  325. package/Utils/Rum/ChunkMath.ts +106 -0
  326. package/Utils/Rum/SessionReplayHealth.ts +732 -0
  327. package/Utils/Rum/SessionReplayStringMap.ts +226 -0
  328. package/Utils/Schema/ModelSchema.ts +1 -0
  329. package/Utils/StatusPage/ResourceSearch.ts +290 -0
  330. package/Utils/Telemetry/OriginAllowList.ts +355 -0
  331. package/Utils/Uptime/DayUptimeGraphUtil.ts +205 -0
  332. package/Utils/ValueFormatter.ts +35 -1
  333. package/build/dist/Models/AnalyticsModels/RumSession.js +102 -19
  334. package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -1
  335. package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +11 -9
  336. package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -1
  337. package/build/dist/Models/DatabaseModels/AlertCustomField.js +79 -3
  338. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  339. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +3 -27
  340. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
  341. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +79 -3
  342. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  343. package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js +79 -3
  344. package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js.map +1 -1
  345. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +79 -3
  346. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  347. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +79 -3
  348. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
  349. package/build/dist/Models/DatabaseModels/RumApplication.js +6 -6
  350. package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
  351. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +79 -3
  352. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  353. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +79 -3
  354. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
  355. package/build/dist/Models/DatabaseModels/TeamCustomField.js +79 -3
  356. package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
  357. package/build/dist/Models/DatabaseModels/TeamMember.js +0 -9
  358. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
  359. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +79 -3
  360. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
  361. package/build/dist/Models/DatabaseModels/TeamPermission.js +3 -24
  362. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
  363. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +267 -0
  364. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
  365. package/build/dist/Models/DatabaseModels/UserTelegram.js +0 -4
  366. package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -1
  367. package/build/dist/Server/API/TelemetryAPI.js +769 -109
  368. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  369. package/build/dist/Server/API/UserNotificationSettingAPI.js +35 -0
  370. package/build/dist/Server/API/UserNotificationSettingAPI.js.map +1 -0
  371. package/build/dist/Server/API/UserTelegramAPI.js +28 -6
  372. package/build/dist/Server/API/UserTelegramAPI.js.map +1 -1
  373. package/build/dist/Server/EnvironmentConfig.js +29 -2
  374. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  375. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js +60 -0
  376. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791300000000-AddTelemetryIngestionKeyType.js.map +1 -0
  377. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js +53 -0
  378. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791400000000-SessionReplayRecordEverySessionByDefault.js.map +1 -0
  379. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js +82 -0
  380. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791500000000-WidenCustomFieldDropdownOptions.js.map +1 -0
  381. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js +46 -0
  382. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791600000000-AddCustomFieldValueMapping.js.map +1 -0
  383. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  384. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  385. package/build/dist/Server/Infrastructure/QueueWorker.js +19 -7
  386. package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
  387. package/build/dist/Server/Infrastructure/Semaphore.js +1 -0
  388. package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
  389. package/build/dist/Server/Middleware/TelemetryIngest.js +315 -8
  390. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  391. package/build/dist/Server/Services/AccessTokenService.js +1 -0
  392. package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
  393. package/build/dist/Server/Services/AlertCustomFieldService.js +93 -0
  394. package/build/dist/Server/Services/AlertCustomFieldService.js.map +1 -1
  395. package/build/dist/Server/Services/AlertService.js +34 -0
  396. package/build/dist/Server/Services/AlertService.js.map +1 -1
  397. package/build/dist/Server/Services/ApiKeyPermissionService.js +331 -28
  398. package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
  399. package/build/dist/Server/Services/CustomFieldMappingService.js +614 -0
  400. package/build/dist/Server/Services/CustomFieldMappingService.js.map +1 -0
  401. package/build/dist/Server/Services/GlobalConfigService.js +133 -0
  402. package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
  403. package/build/dist/Server/Services/IncidentCustomFieldService.js +93 -0
  404. package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
  405. package/build/dist/Server/Services/IncidentService.js +32 -0
  406. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  407. package/build/dist/Server/Services/MetricService.js +163 -0
  408. package/build/dist/Server/Services/MetricService.js.map +1 -1
  409. package/build/dist/Server/Services/MonitorService.js +29 -0
  410. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  411. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +79 -27
  412. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  413. package/build/dist/Server/Services/ProjectService.js +22 -0
  414. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  415. package/build/dist/Server/Services/RoutineEmailSettingsService.js +69 -0
  416. package/build/dist/Server/Services/RoutineEmailSettingsService.js.map +1 -0
  417. package/build/dist/Server/Services/RumSessionReplayViewService.js +86 -24
  418. package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -1
  419. package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js +93 -0
  420. package/build/dist/Server/Services/ScheduledMaintenanceCustomFieldService.js.map +1 -1
  421. package/build/dist/Server/Services/ScheduledMaintenanceService.js +29 -0
  422. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  423. package/build/dist/Server/Services/TeamMemberService.js +62 -2
  424. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  425. package/build/dist/Server/Services/TeamPermissionService.js +166 -3
  426. package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
  427. package/build/dist/Server/Services/TelemetryIngestionKeyService.js +562 -18
  428. package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
  429. package/build/dist/Server/Services/UserNotificationSettingService.js +26 -6
  430. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  431. package/build/dist/Server/Services/UserTelegramService.js +257 -4
  432. package/build/dist/Server/Services/UserTelegramService.js.map +1 -1
  433. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  434. package/build/dist/Server/Utils/APIKey/AccessPermission.js +2 -2
  435. package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
  436. package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js +27 -0
  437. package/build/dist/Server/Utils/CustomField/CustomFieldDefinitionMappingHooks.js.map +1 -0
  438. package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js +226 -0
  439. package/build/dist/Server/Utils/CustomField/CustomFieldMappingRegistry.js.map +1 -0
  440. package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js +189 -0
  441. package/build/dist/Server/Utils/CustomField/CustomFieldMappingValidator.js.map +1 -0
  442. package/build/dist/Server/Utils/DataSource/EgressGuard.js +121 -7
  443. package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
  444. package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +38 -5
  445. package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -1
  446. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +44 -2
  447. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -1
  448. package/build/dist/Server/Utils/FrontendEnvironment.js +33 -0
  449. package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -0
  450. package/build/dist/Server/Utils/LogRedaction.js +20 -0
  451. package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
  452. package/build/dist/Server/Utils/Logger.js +10 -0
  453. package/build/dist/Server/Utils/Logger.js.map +1 -1
  454. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +287 -68
  455. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  456. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +20 -4
  457. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
  458. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +29 -6
  459. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  460. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +88 -13
  461. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  462. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +22 -6
  463. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  464. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +22 -0
  465. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  466. package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js +237 -0
  467. package/build/dist/Server/Utils/Monitor/SeriesContextEnricher.js.map +1 -0
  468. package/build/dist/Server/Utils/SSRFProtection.js +136 -9
  469. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  470. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +174 -89
  471. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -1
  472. package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js +223 -0
  473. package/build/dist/Server/Utils/SessionReplay/SessionReplayHealthCounters.js.map +1 -0
  474. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +945 -164
  475. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
  476. package/build/dist/Server/Utils/StartServer.js +3 -14
  477. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  478. package/build/dist/Server/Utils/TelegramVerificationToken.js +129 -0
  479. package/build/dist/Server/Utils/TelegramVerificationToken.js.map +1 -0
  480. package/build/dist/Server/Utils/Telemetry/PinServiceName.js +163 -0
  481. package/build/dist/Server/Utils/Telemetry/PinServiceName.js.map +1 -0
  482. package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +28 -15
  483. package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
  484. package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js +64 -0
  485. package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js.map +1 -0
  486. package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js +171 -0
  487. package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyRateLimiter.js.map +1 -0
  488. package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
  489. package/build/dist/Server/Utils/VM/VMRunner.js +780 -69
  490. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  491. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +60 -0
  492. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -0
  493. package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js +20 -0
  494. package/build/dist/Types/CustomField/CustomFieldMappingSourceResource.js.map +1 -0
  495. package/build/dist/Types/CustomField/CustomFieldValueMapping.js +141 -0
  496. package/build/dist/Types/CustomField/CustomFieldValueMapping.js.map +1 -0
  497. package/build/dist/Types/Icon/IconProp.js +1 -0
  498. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  499. package/build/dist/Types/JSONFunctions.js +118 -37
  500. package/build/dist/Types/JSONFunctions.js.map +1 -1
  501. package/build/dist/Types/Monitor/CephAlertTemplates.js +130 -171
  502. package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -1
  503. package/build/dist/Types/Monitor/DockerAlertTemplates.js +286 -121
  504. package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -1
  505. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +84 -105
  506. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -1
  507. package/build/dist/Types/Monitor/HostAlertTemplates.js +250 -122
  508. package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -1
  509. package/build/dist/Types/Monitor/IotAlertTemplates.js +81 -81
  510. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -1
  511. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +375 -215
  512. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  513. package/build/dist/Types/Monitor/KubernetesMetricCatalog.js +19 -19
  514. package/build/dist/Types/Monitor/KubernetesMetricCatalog.js.map +1 -1
  515. package/build/dist/Types/Monitor/PodmanAlertTemplates.js +104 -153
  516. package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -1
  517. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +156 -91
  518. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -1
  519. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +67 -6
  520. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -1
  521. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +38 -7
  522. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
  523. package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js +261 -0
  524. package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js.map +1 -0
  525. package/build/dist/Types/Monitor/RumAlertTemplates.js +46 -7
  526. package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -1
  527. package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js +422 -0
  528. package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js.map +1 -0
  529. package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js +441 -0
  530. package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js.map +1 -0
  531. package/build/dist/Types/Monitor/ServiceAlertTemplates.js +79 -15
  532. package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -1
  533. package/build/dist/Types/Monitor/UptimeHistoryLabels.js +17 -0
  534. package/build/dist/Types/Monitor/UptimeHistoryLabels.js.map +1 -0
  535. package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js +29 -0
  536. package/build/dist/Types/NotificationSetting/RoutineEmailEvents.js.map +1 -0
  537. package/build/dist/Types/Rum/SessionReplay.js +117 -0
  538. package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
  539. package/build/dist/Types/Rum/SessionReplayApi.js +181 -0
  540. package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -0
  541. package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +21 -12
  542. package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -1
  543. package/build/dist/Types/Rum/SessionReplayConsentMode.js +11 -7
  544. package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -1
  545. package/build/dist/Types/Rum/SessionReplayCustomEvents.js +172 -0
  546. package/build/dist/Types/Rum/SessionReplayCustomEvents.js.map +1 -0
  547. package/build/dist/Types/Rum/SessionReplayHealth.js +37 -0
  548. package/build/dist/Types/Rum/SessionReplayHealth.js.map +1 -0
  549. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js +85 -0
  550. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js.map +1 -0
  551. package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js +15 -0
  552. package/build/dist/Types/Telemetry/TelemetryIngestionKeyPolicy.js.map +1 -0
  553. package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js +30 -0
  554. package/build/dist/Types/Telemetry/TelemetryIngestionKeyType.js.map +1 -0
  555. package/build/dist/Types/WebsiteRequest.js +55 -3
  556. package/build/dist/Types/WebsiteRequest.js.map +1 -1
  557. package/build/dist/UI/Components/Charts/Area/AreaChart.js +13 -2
  558. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  559. package/build/dist/UI/Components/Charts/Bar/BarChart.js +6 -2
  560. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  561. package/build/dist/UI/Components/Charts/Line/LineChart.js +13 -2
  562. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  563. package/build/dist/UI/Components/Charts/Types/XAxis/XAxis.js.map +1 -1
  564. package/build/dist/UI/Components/Charts/Utils/DataPoint.js +15 -3
  565. package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
  566. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +40 -9
  567. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
  568. package/build/dist/UI/Components/Charts/Utils/XAxis.js +186 -0
  569. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  570. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +80 -6
  571. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  572. package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js +118 -0
  573. package/build/dist/UI/Components/CustomFields/MapFromCustomFieldInput.js.map +1 -0
  574. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +112 -7
  575. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
  576. package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js +5 -162
  577. package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js.map +1 -1
  578. package/build/dist/UI/Components/Graphs/UptimeDaySummary.js +181 -0
  579. package/build/dist/UI/Components/Graphs/UptimeDaySummary.js.map +1 -0
  580. package/build/dist/UI/Components/Header/Header.js +2 -3
  581. package/build/dist/UI/Components/Header/Header.js.map +1 -1
  582. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js +2 -1
  583. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js.map +1 -1
  584. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js +7 -1
  585. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js.map +1 -1
  586. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js +7 -1
  587. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js.map +1 -1
  588. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js +7 -1
  589. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js.map +1 -1
  590. package/build/dist/UI/Components/Icon/Icon.js +5 -0
  591. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  592. package/build/dist/UI/Components/JSONTable/JSONTable.js +2 -2
  593. package/build/dist/UI/Components/JSONTable/JSONTable.js.map +1 -1
  594. package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js +35 -0
  595. package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcutsModal.js.map +1 -0
  596. package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js +34 -0
  597. package/build/dist/UI/Components/Monitor/SeriesDebugCommandsViewer.js.map +1 -0
  598. package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js +49 -0
  599. package/build/dist/UI/Components/Monitor/SeriesLabelsViewer.js.map +1 -0
  600. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
  601. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  602. package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js +32 -6
  603. package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js.map +1 -1
  604. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +38 -0
  605. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  606. package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js +22 -1
  607. package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js.map +1 -1
  608. package/build/dist/UI/Components/Table/CellClassName.js +55 -0
  609. package/build/dist/UI/Components/Table/CellClassName.js.map +1 -0
  610. package/build/dist/UI/Components/Table/TableRow.js +16 -13
  611. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  612. package/build/dist/UI/Components/Table/TableSkeletonRows.js +9 -8
  613. package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -1
  614. package/build/dist/UI/Components/Tooltip/Tooltip.js +25 -1
  615. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  616. package/build/dist/UI/Components/Workflow/ComponentsModal.js +47 -30
  617. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  618. package/build/dist/UI/Components/Workflow/NodePlacement.js +37 -0
  619. package/build/dist/UI/Components/Workflow/NodePlacement.js.map +1 -0
  620. package/build/dist/UI/Components/Workflow/Workflow.js +35 -18
  621. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  622. package/build/dist/UI/Config.js +10 -20
  623. package/build/dist/UI/Config.js.map +1 -1
  624. package/build/dist/UI/Utils/GlobalKeyboardShortcut.js +138 -0
  625. package/build/dist/UI/Utils/GlobalKeyboardShortcut.js.map +1 -0
  626. package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js +14 -0
  627. package/build/dist/UI/Utils/Telemetry/BrowserTelemetryConfig.js.map +1 -0
  628. package/build/dist/UI/Utils/Telemetry/Telemetry.js +7 -5
  629. package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
  630. package/build/dist/Utils/API.js +67 -5
  631. package/build/dist/Utils/API.js.map +1 -1
  632. package/build/dist/Utils/HTTPResponseBodyReader.js +157 -0
  633. package/build/dist/Utils/HTTPResponseBodyReader.js.map +1 -0
  634. package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js +69 -0
  635. package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js.map +1 -0
  636. package/build/dist/Utils/Rum/ChunkMath.js +76 -0
  637. package/build/dist/Utils/Rum/ChunkMath.js.map +1 -1
  638. package/build/dist/Utils/Rum/SessionReplayHealth.js +534 -0
  639. package/build/dist/Utils/Rum/SessionReplayHealth.js.map +1 -0
  640. package/build/dist/Utils/Rum/SessionReplayStringMap.js +165 -0
  641. package/build/dist/Utils/Rum/SessionReplayStringMap.js.map +1 -0
  642. package/build/dist/Utils/Schema/ModelSchema.js +1 -0
  643. package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
  644. package/build/dist/Utils/StatusPage/ResourceSearch.js +200 -0
  645. package/build/dist/Utils/StatusPage/ResourceSearch.js.map +1 -0
  646. package/build/dist/Utils/Telemetry/OriginAllowList.js +299 -0
  647. package/build/dist/Utils/Telemetry/OriginAllowList.js.map +1 -0
  648. package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js +147 -0
  649. package/build/dist/Utils/Uptime/DayUptimeGraphUtil.js.map +1 -0
  650. package/build/dist/Utils/ValueFormatter.js +32 -1
  651. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  652. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Line/LineChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LineChart.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Line/LineChart.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"XAxis.js","sourceRoot":"","sources":["../../../../../../../UI/Components/Charts/Types/XAxis/XAxis.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,iCAAW,CAAA;IACX,iCAAW,CAAA;IACX,iCAAW,CAAA;AACb,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
1
+ {"version":3,"file":"XAxis.js","sourceRoot":"","sources":["../../../../../../../UI/Components/Charts/Types/XAxis/XAxis.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,iCAAW,CAAA;IACX,iCAAW,CAAA;IACX,iCAAW,CAAA;AACb,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
@@ -12,21 +12,33 @@ import { XAxisAggregateType } from "../Types/XAxis/XAxis";
12
12
  import XAxisUtil from "./XAxis";
13
13
  export default class DataPointUtil {
14
14
  static getChartDataPoints(data) {
15
- const { intervals, formatter } = this.initializeXAxisData(data.xAxis);
15
+ const { intervals, formatter } = this.initializeXAxisData(data.xAxis, data.seriesPoints);
16
16
  const arrayOfData = this.initializeArrayOfData(intervals, formatter);
17
17
  this.processSeriesData(data.seriesPoints, arrayOfData, formatter, data.xAxis.options.aggregateType);
18
18
  return arrayOfData;
19
19
  }
20
- static initializeXAxisData(xAxis) {
20
+ static initializeXAxisData(xAxis, seriesPoints) {
21
21
  const xAxisMax = xAxis.options.max;
22
22
  const xAxisMin = xAxis.options.min;
23
- const intervals = XAxisUtil.getPrecisionIntervals({
23
+ const precision = xAxis.options.precision;
24
+ /*
25
+ * Renderable, not raw: the grid's final slot is the bucket holding the
26
+ * window end, which the query only partly covered and which therefore
27
+ * comes back empty whenever the window ends on or just past a bucket
28
+ * boundary. XAxisUtil drops that one slot (and only that one, and only
29
+ * when nothing landed in it) so the axis stops at the last point there
30
+ * is data for instead of a bucket beyond it.
31
+ */
32
+ const intervals = XAxisUtil.getRenderableIntervals({
24
33
  xAxisMax,
25
34
  xAxisMin,
35
+ precision,
36
+ seriesPoints,
26
37
  });
27
38
  const formatter = XAxisUtil.getFormatter({
28
39
  xAxisMax,
29
40
  xAxisMin,
41
+ precision,
30
42
  });
31
43
  return { xAxisMax, xAxisMin, intervals, formatter };
32
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataPoint.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/DataPoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataPoint.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/DataPoint.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  import XAxisUtil from "./XAxis";
2
2
  export default class TimeAnnotationUtil {
3
- static getAxisBuckets(xAxis) {
4
- const intervals = XAxisUtil.getPrecisionIntervals({
3
+ /*
4
+ * `seriesPoints` is not used to place anything — it is what lets this
5
+ * rebuild the SAME slot array DataPointUtil built. XAxisUtil drops an
6
+ * unfillable trailing slot, and whether it does depends on the series, so
7
+ * an annotation resolved against a grid built without them would index
8
+ * into an array one longer than the chart's rows: every marker in the
9
+ * final bucket would land past the end of the axis. Chart wrappers pass
10
+ * the series they are drawing; callers that pass none get the raw grid,
11
+ * which is what DataPointUtil gives them too.
12
+ */
13
+ static getAxisBuckets(xAxis, seriesPoints) {
14
+ const intervals = XAxisUtil.getRenderableIntervals({
5
15
  xAxisMin: xAxis.options.min,
6
16
  xAxisMax: xAxis.options.max,
17
+ precision: xAxis.options.precision,
18
+ seriesPoints: seriesPoints,
7
19
  });
8
20
  const formatter = XAxisUtil.getFormatter({
9
21
  xAxisMin: xAxis.options.min,
10
22
  xAxisMax: xAxis.options.max,
23
+ precision: xAxis.options.precision,
11
24
  });
12
25
  const labels = intervals.map((interval) => {
13
26
  return formatter(interval);
@@ -19,13 +32,28 @@ export default class TimeAnnotationUtil {
19
32
  labelToIndex.set(label, index);
20
33
  }
21
34
  }
22
- return { intervals, labels, labelToIndex, formatter };
35
+ return {
36
+ intervals,
37
+ labels,
38
+ labelToIndex,
39
+ formatter,
40
+ xAxisMax: xAxis.options.max,
41
+ };
23
42
  }
24
43
  /*
25
44
  * End of the charted window: last bucket start plus one bucket width
26
45
  * (buckets extend past their start date).
46
+ *
47
+ * Held up to the axis's own maximum, because the grid can legitimately
48
+ * stop SHORT of it — XAxisUtil drops a trailing slot no data could land
49
+ * in. Reconstructing the window from the slots alone would then pull this
50
+ * bound backwards by a bucket and start rejecting the very markers that
51
+ * sit at the window edge as "outside the charted window": on an alert the
52
+ * declared-at marker is at the window end exactly, and it would vanish
53
+ * from the chart it exists to annotate. Such a marker resolves instead to
54
+ * the last bucket that is still on the axis, which is where its data is.
27
55
  */
28
- static getWindowEndInMs(intervals) {
56
+ static getWindowEndInMs(intervals, xAxisMax) {
29
57
  const lastInterval = intervals[intervals.length - 1];
30
58
  if (!lastInterval) {
31
59
  return Number.NEGATIVE_INFINITY;
@@ -34,7 +62,9 @@ export default class TimeAnnotationUtil {
34
62
  const bucketWidthInMs = secondToLastInterval
35
63
  ? lastInterval.getTime() - secondToLastInterval.getTime()
36
64
  : 0;
37
- return lastInterval.getTime() + bucketWidthInMs;
65
+ const gridEndInMs = lastInterval.getTime() + bucketWidthInMs;
66
+ const axisMaxInMs = typeof xAxisMax === "number" ? xAxisMax : xAxisMax.getTime();
67
+ return Math.max(gridEndInMs, axisMaxInMs);
38
68
  }
39
69
  /*
40
70
  * Largest interval index whose bucket start is <= date, or null when
@@ -84,7 +114,8 @@ export default class TimeAnnotationUtil {
84
114
  if (!firstInterval || data.date.getTime() < firstInterval.getTime()) {
85
115
  return null;
86
116
  }
87
- if (data.date.getTime() > this.getWindowEndInMs(intervals)) {
117
+ if (data.date.getTime() >
118
+ this.getWindowEndInMs(intervals, data.buckets.xAxisMax)) {
88
119
  return null;
89
120
  }
90
121
  const formattedIndex = labelToIndex.get(formatter(data.date));
@@ -94,7 +125,7 @@ export default class TimeAnnotationUtil {
94
125
  return this.getBucketIndexForDate(intervals, data.date);
95
126
  }
96
127
  static formatTimeReferenceLines(data) {
97
- const buckets = this.getAxisBuckets(data.xAxis);
128
+ const buckets = this.getAxisBuckets(data.xAxis, data.seriesPoints);
98
129
  const formatted = [];
99
130
  for (const timeReferenceLine of data.timeReferenceLines) {
100
131
  const bucketIndex = this.resolveBucketIndex({
@@ -114,14 +145,14 @@ export default class TimeAnnotationUtil {
114
145
  }
115
146
  static formatReferenceRegions(data) {
116
147
  var _a, _b;
117
- const buckets = this.getAxisBuckets(data.xAxis);
148
+ const buckets = this.getAxisBuckets(data.xAxis, data.seriesPoints);
118
149
  const firstInterval = buckets.intervals[0];
119
150
  const lastIndex = buckets.labels.length - 1;
120
151
  const lastLabel = buckets.labels[lastIndex];
121
152
  if (!firstInterval || lastLabel === undefined) {
122
153
  return [];
123
154
  }
124
- const windowEndInMs = this.getWindowEndInMs(buckets.intervals);
155
+ const windowEndInMs = this.getWindowEndInMs(buckets.intervals, buckets.xAxisMax);
125
156
  const formatted = [];
126
157
  for (const referenceRegion of data.referenceRegions) {
127
158
  const startInMs = Math.min(referenceRegion.startDate.getTime(), referenceRegion.endDate.getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"TimeAnnotation.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/TimeAnnotation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimeAnnotation.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/TimeAnnotation.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import AggregationInterval from "../../../../Types/BaseDatabase/AggregationInterval";
1
2
  import OneUptimeDate from "../../../../Types/Date";
2
3
  import NotImplementedException from "../../../../Types/Exception/NotImplementedException";
3
4
  import XAxisPrecision from "../Types/XAxis/XAxisPrecision";
@@ -5,6 +6,46 @@ class XAxisUtil {
5
6
  static cloneDate(value) {
6
7
  return new Date(value.getTime());
7
8
  }
9
+ /*
10
+ * The grid step a caller should pin when its points are buckets the
11
+ * analytics backend produced, rather than raw samples.
12
+ *
13
+ * This is the bridge between the two ladders. AggregationInterval is what
14
+ * the server was asked to bucket by (AggregationIntervalUtil owns that
15
+ * decision, and the server compiles it into `toStartOfInterval`);
16
+ * XAxisPrecision is the step this file walks the axis at. Pinning the
17
+ * translation of one to the other is what makes "one slot == one backend
18
+ * bucket" a fact rather than a coincidence of two duration ladders
19
+ * agreeing.
20
+ *
21
+ * `Total` is the one interval with no grid at all — it collapses the whole
22
+ * window into a single aggregate whose timestamp is the earliest sample,
23
+ * not a bucket start — so it pins nothing and the duration ladder applies.
24
+ */
25
+ static getPrecisionForAggregationInterval(interval) {
26
+ switch (interval) {
27
+ case AggregationInterval.Minute:
28
+ return XAxisPrecision.EVERY_MINUTE;
29
+ case AggregationInterval.FiveMinutes:
30
+ return XAxisPrecision.EVERY_FIVE_MINUTES;
31
+ case AggregationInterval.FifteenMinutes:
32
+ return XAxisPrecision.EVERY_FIFTEEN_MINUTES;
33
+ case AggregationInterval.ThirtyMinutes:
34
+ return XAxisPrecision.EVERY_THIRTY_MINUTES;
35
+ case AggregationInterval.Hour:
36
+ return XAxisPrecision.EVERY_HOUR;
37
+ case AggregationInterval.Day:
38
+ return XAxisPrecision.EVERY_DAY;
39
+ case AggregationInterval.Week:
40
+ return XAxisPrecision.EVERY_WEEK;
41
+ case AggregationInterval.Month:
42
+ return XAxisPrecision.EVERY_MONTH;
43
+ case AggregationInterval.Year:
44
+ return XAxisPrecision.EVERY_YEAR;
45
+ default:
46
+ return undefined;
47
+ }
48
+ }
8
49
  /**
9
50
  * How much a wall-clock label has to say before it names exactly one
10
51
  * instant inside this window.
@@ -71,6 +112,15 @@ class XAxisUtil {
71
112
  return `${base} ${OneUptimeDate.getLocalZoneAbbr(value)}`;
72
113
  }
73
114
  static getPrecision(data) {
115
+ /*
116
+ * An explicit pin wins outright — see XAxisOptions.precision for why a
117
+ * caller that knows the bucket size must not have it re-guessed from the
118
+ * window duration. Checked before the Date guard so a pinned axis stays
119
+ * pinned regardless of how its bounds are expressed.
120
+ */
121
+ if (data.precision) {
122
+ return data.precision;
123
+ }
74
124
  if (typeof data.xAxisMax === "number" ||
75
125
  typeof data.xAxisMin === "number") {
76
126
  // number not yet supported.
@@ -222,6 +272,117 @@ class XAxisUtil {
222
272
  }
223
273
  return intervals;
224
274
  }
275
+ /*
276
+ * The intervals a chart should actually RENDER, which is the raw grid
277
+ * minus a trailing slot that no data could ever land in.
278
+ *
279
+ * getPrecisionIntervals walks inclusively to the window end, so the final
280
+ * slot is the start of whichever bucket CONTAINS that end. That bucket
281
+ * runs past the end of the window, so the query never covered all of it —
282
+ * and when the window ends at or just after a bucket boundary it covered
283
+ * essentially none of it. The backend returns rows only for buckets that
284
+ * had samples, so such a slot comes back empty every time; and because the
285
+ * recharts x-axis is categorical over exactly these slots, an empty one at
286
+ * the end is not a rounding detail — it stretches the axis a whole bucket
287
+ * past the last plotted point. On a 5-minute alert snapshot that is a
288
+ * fifth of the chart left blank.
289
+ *
290
+ * Only ever ONE slot is dropped, and only when BOTH hold:
291
+ *
292
+ * - it carries no data, so a live in-progress bucket keeps rendering
293
+ * (dropping populated trailing buckets would make every now-anchored
294
+ * chart lag by a bucket — the opposite complaint), and
295
+ * - the window covers less than half of it, so an empty bucket that the
296
+ * window really does span stays on the axis.
297
+ *
298
+ * Dropping at most one is what keeps a genuine outage visible: a source
299
+ * that stopped reporting three buckets before the window end still leaves
300
+ * two blank slots on the axis, which is the truth. Callers with no series
301
+ * to check get the raw grid unchanged.
302
+ */
303
+ static getRenderableIntervals(data) {
304
+ const intervals = XAxisUtil.getPrecisionIntervals(data);
305
+ if (!data.seriesPoints || intervals.length < 2) {
306
+ return intervals;
307
+ }
308
+ const lastInterval = intervals[intervals.length - 1];
309
+ const previousInterval = intervals[intervals.length - 2];
310
+ /*
311
+ * Bucket width read off the grid itself rather than recomputed from the
312
+ * precision: the walk steps in wall-clock time, so a month, a year or a
313
+ * daylight-saving day is exactly as wide as the grid says it is.
314
+ */
315
+ const bucketWidthInMs = lastInterval.getTime() - previousInterval.getTime();
316
+ if (bucketWidthInMs <= 0) {
317
+ return intervals;
318
+ }
319
+ /*
320
+ * Emptiness — and the bucket boundary below — are decided with the SAME
321
+ * formatter that DataPointUtil uses to place a datapoint on a row.
322
+ * Anything else would let the two disagree about which bucket the last
323
+ * slot IS, and the whole point of trimming here rather than in
324
+ * DataPointUtil is that the rows, the categorical axis and the
325
+ * annotation indexes are built from one array.
326
+ */
327
+ const formatter = XAxisUtil.getFormatter(data);
328
+ const lastLabel = formatter(lastInterval);
329
+ /*
330
+ * A slot's DATE and the bucket it collects into are not the same thing.
331
+ * The walk starts at the window's own start, so on most charts the grid
332
+ * is anchored mid-bucket: a "last 7 days" axis stepping a day from
333
+ * 28 Aug 14:42 ends on a slot dated 4 Sep 14:42, which the formatter
334
+ * floors to the label "4 Sep" — the bucket [4 Sep 00:00, 5 Sep 00:00),
335
+ * of which the window covers nearly fifteen hours.
336
+ *
337
+ * Coverage can therefore only be measured off the slot's date when the
338
+ * slot IS its bucket's start, which is what this asks: a slot on a
339
+ * boundary has a different label one millisecond before it. When the
340
+ * grid is anchored mid-bucket the window necessarily spans everything
341
+ * from the bucket's real start up to the window end, which is most of
342
+ * it, so the slot stays — the conservative answer, and the one that
343
+ * keeps an empty "today" bar on a daily count chart.
344
+ *
345
+ * The alert snapshot is the aligned case (MetricView floors the window
346
+ * start onto the bucket grid), which is exactly when the slot date is
347
+ * the bucket start and the coverage measured below is the real one.
348
+ */
349
+ const isSlotOnBucketBoundary = formatter(new Date(lastInterval.getTime() - 1)) !== lastLabel;
350
+ if (!isSlotOnBucketBoundary) {
351
+ return intervals;
352
+ }
353
+ const windowEndInMs = typeof data.xAxisMax === "number"
354
+ ? data.xAxisMax
355
+ : OneUptimeDate.fromString(data.xAxisMax).getTime();
356
+ const coverage = (windowEndInMs - lastInterval.getTime()) / bucketWidthInMs;
357
+ if (coverage >= XAxisUtil.MIN_TRAILING_BUCKET_COVERAGE) {
358
+ return intervals;
359
+ }
360
+ const slotLabels = new Set(intervals.map((interval) => {
361
+ return formatter(interval);
362
+ }));
363
+ let hasAnyData = false;
364
+ for (const series of data.seriesPoints) {
365
+ for (const point of series.data) {
366
+ const label = formatter(point.x);
367
+ if (label === lastLabel) {
368
+ // The trailing bucket is populated — it stays.
369
+ return intervals;
370
+ }
371
+ if (!hasAnyData && slotLabels.has(label)) {
372
+ hasAnyData = true;
373
+ }
374
+ }
375
+ }
376
+ /*
377
+ * A chart with nothing on it anywhere keeps its full grid, so an empty
378
+ * chart still draws an axis spanning the window the user asked for
379
+ * instead of one silently a bucket short.
380
+ */
381
+ if (!hasAnyData) {
382
+ return intervals;
383
+ }
384
+ return intervals.slice(0, intervals.length - 1);
385
+ }
225
386
  static getFormatter(data) {
226
387
  const precision = XAxisUtil.getPrecision(data);
227
388
  /*
@@ -444,5 +605,30 @@ class XAxisUtil {
444
605
  * this reason. These two helpers decide when the finer tiers must too.
445
606
  */
446
607
  XAxisUtil.MILLISECONDS_IN_A_DAY = 24 * 60 * 60 * 1000;
608
+ /*
609
+ * How much of the LAST slot's bucket has to lie inside the window before
610
+ * an empty slot is worth an axis position. Half.
611
+ *
612
+ * The bound has to sit somewhere between the two ends it separates, and
613
+ * both ends are real:
614
+ *
615
+ * - Near zero coverage means the bucket is not in the window in any
616
+ * meaningful sense. The alert snapshot that prompted this covered
617
+ * 243 MILLISECONDS of a 60-second bucket (its window ends at the
618
+ * instant the alert was declared, which fell just past a minute
619
+ * boundary); a window that ends exactly on a boundary covers none of
620
+ * the next bucket at all. Those slots cannot carry data, and an
621
+ * unfillable slot at the right-hand edge is the reported gap.
622
+ * - Most-of-the-bucket coverage means an empty slot is INFORMATION.
623
+ * "Last 7 days" ends mid-afternoon, so today's bucket is ~60% inside
624
+ * the window; if a count chart has nothing in it, that empty final bar
625
+ * says "nothing today", and dropping the tick would hide it.
626
+ *
627
+ * A half-covered bucket is the natural line between "barely touched" and
628
+ * "genuinely part of this window", and it keeps every rolling window
629
+ * anchored at `now` — where the in-progress bucket is on average half
630
+ * elapsed — on the safe side.
631
+ */
632
+ XAxisUtil.MIN_TRAILING_BUCKET_COVERAGE = 0.5;
447
633
  export default XAxisUtil;
448
634
  //# sourceMappingURL=XAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XAxis.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/XAxis.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,uBAAuB,MAAM,qDAAqD,CAAC;AAE1F,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAqB,SAAS;IACpB,MAAM,CAAC,SAAS,CAAC,KAAW;QAClC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IAiBD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACK,MAAM,CAAC,uBAAuB,CAAC,IAGtC;QACC,IACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EACjC,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAS,IAAI,CAAC,QAAQ,CAAC;QACtC,MAAM,OAAO,GAAS,IAAI,CAAC,QAAQ,CAAC;QAEpC,MAAM,aAAa,GACjB,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;YACvC,SAAS,CAAC,qBAAqB,CAAC;QAElC;;;;;;;WAOG;QACH,MAAM,YAAY,GAChB,aAAa,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACjD,aAAa,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO;YACL,QAAQ,EAAE,aAAa,IAAI,YAAY;YACvC,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,iBAAiB,CAC9B,KAAW,EACX,MAAgD,EAChD,OAAkD;;QAElD,MAAM,cAAc,GAAY,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,KAAK,CAAC;QAEjE,MAAM,IAAI,GAAW,MAAM,CAAC,QAAQ;YAClC,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,KAAK,EAAE;gBACpD,cAAc;aACf,CAAC;YACJ,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,IAG1B;QACC,IACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EACjC,CAAC;YACD,4BAA4B;YAC5B,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,SAAS,GAAS,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAgB,CAAC,CAAC;QACxE,MAAM,OAAO,GAAS,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAgB,CAAC,CAAC;QAEtE,MAAM,iBAAiB,GAAW,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,YAAY,GAAW,iBAAiB,GAAG,IAAI,CAAC;QACtD,MAAM,YAAY,GAAW,YAAY,GAAG,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAW,YAAY,GAAG,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAW,UAAU,GAAG,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAW,SAAS,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAW,SAAS,GAAG,EAAE,CAAC;QAE3C;;;;;;;;;;;WAWG;QACH,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,cAAc,CAAC,kBAAkB,CAAC;QAC3C,CAAC;QACD,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,iBAAiB,CAAC;QAC1C,CAAC;QACD,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,oBAAoB,CAAC;QAC7C,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,CAAC;QACD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,cAAc,CAAC,kBAAkB,CAAC;QAC3C,CAAC;QACD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,cAAc,CAAC,qBAAqB,CAAC;QAC9C,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,oBAAoB,CAAC;QAC7C,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,cAAc,CAAC,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,cAAc,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC,WAAW,CAAC;QACpC,CAAC;QACD,OAAO,cAAc,CAAC,UAAU,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,IAGnC;QACC,MAAM,SAAS,GAAmB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/D,IACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EACjC,CAAC;YACD,4BAA4B;YAC5B,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAgB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAgB,EAAE,CAAC;QAElC,MAAM,WAAW,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,WAAW,IAAI,OAAO,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAEtC,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,cAAc,CAAC,YAAY;oBAC9B,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc,CAAC,kBAAkB;oBACpC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc,CAAC,iBAAiB;oBACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,cAAc,CAAC,oBAAoB;oBACtC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,cAAc,CAAC,YAAY;oBAC9B,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc,CAAC,kBAAkB;oBACpC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc,CAAC,iBAAiB;oBACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,cAAc,CAAC,qBAAqB;oBACvC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,cAAc,CAAC,oBAAoB;oBACtC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,cAAc,CAAC,UAAU;oBAC5B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,eAAe;oBACjC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,iBAAiB;oBACnC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,eAAe;oBACjC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,kBAAkB;oBACpC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClD,MAAM;gBACR,KAAK,cAAc,CAAC,SAAS;oBAC3B,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,cAAc,CAAC,cAAc;oBAChC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,cAAc,CAAC,UAAU;oBAC5B,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,cAAc,CAAC,eAAe;oBACjC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,cAAc,CAAC,WAAW;oBAC7B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,gBAAgB;oBAClC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,kBAAkB;oBACpC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,gBAAgB;oBAClC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,cAAc,CAAC,UAAU;oBAC5B,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;oBACvD,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,IAG1B;QACC,MAAM,SAAS,GAAmB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/D;;;WAGG;QACH,MAAM,WAAW,GACf,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE1C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,YAAY;gBAC9B,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE;wBACrD,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,kBAAkB;gBACpC,kCAAkC;gBAClC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBAE3C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE;wBAC5D,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,iBAAiB;gBACnC,mCAAmC;gBACnC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC7D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBAE3C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE;wBAC5D,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,oBAAoB;gBACtC,mCAAmC;gBACnC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC7D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBAE3C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE;wBAC5D,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,YAAY;gBAC9B,+BAA+B;gBAC/B,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACzD,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,kBAAkB;gBACpC,kCAAkC;gBAClC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE9C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAChE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,iBAAiB;gBACnC,mCAAmC;gBACnC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC7D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE9C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAChE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,qBAAqB;gBACvC,mCAAmC;gBACnC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC7D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE9C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAChE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,oBAAoB;gBACtC,mCAAmC;gBACnC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC7D,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE9C,OAAO,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAChE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,UAAU;gBAC5B;;;mBAGG;gBACH,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjC,OAAO,aAAa,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,eAAe;gBACjC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvD,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE7C,OAAO,aAAa,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,iBAAiB;gBACnC,gCAAgC;gBAChC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvD,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE7C,OAAO,aAAa,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,eAAe;gBACjC,gDAAgD;gBAChD,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvD,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE7C,OAAO,aAAa,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,kBAAkB;gBACpC,mDAAmD;gBACnD,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACzD,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE7C,OAAO,aAAa,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,SAAS;gBAC3B,4BAA4B;gBAC5B,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,aAAa,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,cAAc;gBAChC,+BAA+B;gBAC/B,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAW,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC5C,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrD,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAElC,OAAO,aAAa,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;gBAClE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,UAAU;gBAC5B;;;;;mBAKG;gBACH,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,aAAa,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,eAAe;gBACjC,2CAA2C;gBAC3C,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAW,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC5C,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrD,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAElC,6DAA6D;oBAC7D,OAAO,aAAa,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;gBAClE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,WAAW;gBAC7B,yCAAyC;gBACzC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,aAAa,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;gBAC5D,CAAC,CAAC;YAEJ,KAAK,cAAc,CAAC,gBAAgB;gBAClC,4CAA4C;gBAC5C,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzD,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAErC,OAAO,aAAa,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACnE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,kBAAkB;gBACpC,4CAA4C;gBAC5C,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzD,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAErC,OAAO,aAAa,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACnE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,gBAAgB;gBAClC,4CAA4C;gBAC5C,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzD,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAErC,OAAO,aAAa,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACnE,CAAC,CAAC;YACJ,KAAK,cAAc,CAAC,UAAU;gBAC5B,qCAAqC;gBACrC,OAAO,CAAC,KAAW,EAAE,EAAE;oBACrB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxC,CAAC,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;;AAtfD;;;;;;;;;;;GAWG;AAEqB,+BAAqB,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;eAlBzD,SAAS"}
1
+ {"version":3,"file":"XAxis.js","sourceRoot":"","sources":["../../../../../../UI/Components/Charts/Utils/XAxis.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import ErrorMessage from "../ErrorMessage/ErrorMessage";
9
9
  import BasicFormModal from "../FormModal/BasicFormModal";
10
10
  import CustomFieldType from "../../../Types/CustomField/CustomFieldType";
11
11
  import { parseCustomFieldDropdownOptions, } from "../../../Types/CustomField/CustomFieldDropdownOption";
12
+ import { getCustomFieldMappingRelationSelect, getCustomFieldMappingSources, hasCustomFieldMappingSource, } from "../../../Types/CustomField/CustomFieldMappingCatalog";
12
13
  import Color from "../../../Types/Color";
13
14
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
14
15
  import IconProp from "../../../Types/Icon/IconProp";
@@ -42,6 +43,42 @@ const CustomFieldsDetail = (props) => {
42
43
  const [isLoading, setIsLoading] = useState(false);
43
44
  const [model, setModel] = useState(null);
44
45
  const [showModelForm, setShowModelForm] = useState(false);
46
+ /*
47
+ * Which related resources this resource's custom fields may inherit from.
48
+ * Empty for most of them, in which case everything below behaves exactly as
49
+ * it did before mapping existed.
50
+ */
51
+ const mappingSources = getCustomFieldMappingSources(new props.customFieldType().tableName);
52
+ const isMappedAndInherited = (schemaItem) => {
53
+ const resource = schemaItem
54
+ .mapFromResourceType;
55
+ const fieldName = schemaItem
56
+ .mapFromCustomFieldName;
57
+ if (!resource || !fieldName) {
58
+ return false;
59
+ }
60
+ const source = mappingSources.find((candidate) => {
61
+ return candidate.resource === resource;
62
+ });
63
+ if (!source) {
64
+ return false;
65
+ }
66
+ return hasCustomFieldMappingSource({
67
+ source: source,
68
+ record: model,
69
+ });
70
+ };
71
+ const getMappedDescription = (schemaItem) => {
72
+ const description = schemaItem.description;
73
+ if (!isMappedAndInherited(schemaItem)) {
74
+ return description;
75
+ }
76
+ const source = mappingSources.find((candidate) => {
77
+ return candidate.resource === schemaItem.mapFromResourceType;
78
+ });
79
+ const note = `Copied from the ${source === null || source === void 0 ? void 0 : source.title} custom field "${schemaItem.mapFromCustomFieldName}".`;
80
+ return description ? `${description} ${note}` : note;
81
+ };
45
82
  const onLoad = async () => {
46
83
  try {
47
84
  // load schema.
@@ -59,15 +96,30 @@ const CustomFieldsDetail = (props) => {
59
96
  customFieldType: true,
60
97
  description: true,
61
98
  dropdownOptions: true,
99
+ mapFromResourceType: true,
100
+ mapFromCustomFieldName: true,
62
101
  },
63
102
  sort: {},
64
103
  });
104
+ /*
105
+ * The relation a mapped field would inherit through is read alongside
106
+ * the values, so the card can tell "this field is mapped and this record
107
+ * has a monitor" (show it, read-only) from "this field is mapped but
108
+ * this record has none" (leave it editable — an SLO or security-event
109
+ * alert has no monitor and would otherwise be locked out of the field
110
+ * entirely). Nothing extra is selected for the six resources that have
111
+ * no mapping sources at all.
112
+ */
113
+ const itemSelect = {
114
+ customFields: true,
115
+ };
116
+ for (const source of mappingSources) {
117
+ Object.assign(itemSelect, getCustomFieldMappingRelationSelect(source));
118
+ }
65
119
  const item = await ModelAPI.getItem({
66
120
  modelType: props.modelType,
67
121
  id: props.modelId,
68
- select: {
69
- customFields: true,
70
- },
122
+ select: itemSelect,
71
123
  });
72
124
  setSchemaList(schemaList.data);
73
125
  setModel(item);
@@ -129,7 +181,15 @@ const CustomFieldsDetail = (props) => {
129
181
  * take the button away, or the error message is telling the operator to
130
182
  * retry something they can no longer reach.
131
183
  */
132
- const canEdit = isEditable && !isLoading && schemaList.length > 0 && Boolean(model);
184
+ /*
185
+ * A field whose value is copied from a related resource is not one the
186
+ * modal offers, so a card where EVERY field is mapped has nothing to edit
187
+ * and the button would open an empty form.
188
+ */
189
+ const editableSchemaCount = schemaList.filter((schemaItem) => {
190
+ return !isMappedAndInherited(schemaItem);
191
+ }).length;
192
+ const canEdit = isEditable && !isLoading && editableSchemaCount > 0 && Boolean(model);
133
193
  /*
134
194
  * Custom field values live on the record itself, so editing them is an
135
195
  * update of that record. Without the permission the button stays put and
@@ -168,7 +228,7 @@ const CustomFieldsDetail = (props) => {
168
228
  return {
169
229
  key: schemaItem.name,
170
230
  title: schemaItem.name,
171
- description: schemaItem.description,
231
+ description: getMappedDescription(schemaItem),
172
232
  fieldType: schemaItem.customFieldType,
173
233
  placeholder: "No data entered",
174
234
  dropdownOptions: isDropdown
@@ -182,7 +242,21 @@ const CustomFieldsDetail = (props) => {
182
242
  await onSave(data).catch();
183
243
  }, formProps: {
184
244
  initialValues: (model === null || model === void 0 ? void 0 : model["customFields"]) || {},
185
- fields: schemaList.map((schemaItem) => {
245
+ /*
246
+ * Mapped fields are left OUT of the form rather than rendered
247
+ * disabled: `Field.disabled` is honoured by only three of the
248
+ * form's input branches, so a disabled Dropdown, multi-select or
249
+ * toggle stays fully editable and the value would silently snap
250
+ * back on the next sync. Their stored values still survive the
251
+ * save — this form submits its whole values object, which starts
252
+ * from the record's existing bag — and the server re-applies the
253
+ * mapping on update either way.
254
+ */
255
+ fields: schemaList
256
+ .filter((schemaItem) => {
257
+ return !isMappedAndInherited(schemaItem);
258
+ })
259
+ .map((schemaItem) => {
186
260
  const isDropdown = schemaItem.customFieldType ===
187
261
  CustomFieldType.Dropdown ||
188
262
  schemaItem.customFieldType ===