@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
@@ -0,0 +1,299 @@
1
+ /*
2
+ * Origin allowlist matching and validation, shared by every surface that has
3
+ * to decide "is this browser allowed to write into this project?".
4
+ *
5
+ * This module is deliberately PURE and isomorphic - no server imports, no
6
+ * Redis, no models - because the same rules have to hold in three places that
7
+ * cannot share a runtime:
8
+ *
9
+ * 1. the ingest path, where a forged request is rejected,
10
+ * 2. the Dashboard form, where a customer types a pattern and must be told
11
+ * immediately that it will never match anything,
12
+ * 3. tests, which need to pin the semantics without booting a server.
13
+ *
14
+ * The matching half is NOT new behaviour. It is lifted verbatim from
15
+ * SessionReplayGateCache.isOriginAllowed, which now delegates here, so the
16
+ * two surfaces cannot drift apart - a browser ingestion key that accepts an
17
+ * origin the session-replay gate refuses (or the reverse) would be a
18
+ * confusing and exploitable split.
19
+ *
20
+ * ONE THING IS DELIBERATELY NOT IN HERE: the "empty allowlist means what?"
21
+ * decision. `matches` answers false for an empty list and lets the caller
22
+ * decide, because the two callers need OPPOSITE defaults and encoding either
23
+ * one here would silently break the other:
24
+ *
25
+ * - session replay ships with an empty allowlist and treats it as "any
26
+ * origin", so that the feature works the moment a customer pastes the
27
+ * snippet (see the long comment in SessionReplayGateCache);
28
+ * - a Browser telemetry ingestion key REQUIRES a non-empty allowlist and
29
+ * treats empty as "nothing is allowed", because a public key with no
30
+ * origin binding is exactly the credential we are trying to stop
31
+ * shipping.
32
+ */
33
+ /*
34
+ * Hoisted rather than written inline at each call site: none carries the `g`
35
+ * flag, so `.test` is stateless and one compiled instance is safe to share,
36
+ * and a named constant reads better at the branch than a bare literal.
37
+ */
38
+ const WHITESPACE_ANYWHERE = /\s/;
39
+ const DIGITS_ONLY = /^[0-9]+$/;
40
+ const HOST_LABEL_CHARACTERS = /^[a-z0-9-]+$/;
41
+ export default class OriginAllowList {
42
+ /*
43
+ * Canonical form for comparison: trimmed, lowercased, with trailing
44
+ * slashes removed.
45
+ *
46
+ * The trailing-slash strip is here because browsers and hand-written config
47
+ * disagree about it. `window.location.origin` and the `Origin` request
48
+ * header never carry one, but a customer copying a URL out of the address
49
+ * bar almost always pastes "https://app.example.com/". Treating those as
50
+ * different origins produces a silent, total ingest failure whose only
51
+ * symptom is a missing character, which is a miserable thing to debug.
52
+ *
53
+ * All trailing slashes are stripped rather than exactly one: "https://x//"
54
+ * is malformed either way, and collapsing it costs nothing.
55
+ *
56
+ * The strip is a backwards index walk rather than the obvious
57
+ * `.replace(/\/+$/, "")`. That regex is quadratic on a string of many
58
+ * slashes - the engine retries the anchored `\/+` from every position and
59
+ * each attempt rescans to the end - and the string here is the `Origin`
60
+ * REQUEST HEADER, which an attacker sets to whatever they like. A header of
61
+ * slashes would burn CPU on the ingest path before the allowlist is ever
62
+ * consulted. The loop below is linear and has identical semantics.
63
+ */
64
+ static normalizeOrigin(origin) {
65
+ if (typeof origin !== "string") {
66
+ return "";
67
+ }
68
+ const trimmed = origin.trim().toLowerCase();
69
+ if (!trimmed) {
70
+ return "";
71
+ }
72
+ let end = trimmed.length;
73
+ while (end > 0 && trimmed.charAt(end - 1) === "/") {
74
+ end--;
75
+ }
76
+ return trimmed.substring(0, end);
77
+ }
78
+ /*
79
+ * Is `origin` covered by `allowList`?
80
+ *
81
+ * Exact origin match, case-insensitive, plus a single leading "*." host
82
+ * wildcard so a customer with per-tenant subdomains does not have to
83
+ * enumerate thousands of them. Deliberately no scheme wildcard and no path
84
+ * matching: an allowlist entry is an origin, and anything looser would
85
+ * defeat the point of having one. The port is part of the origin and must
86
+ * match, so "https://example.com" does not cover "https://example.com:8443".
87
+ *
88
+ * Returns false for an empty allowlist and for a missing/blank origin. The
89
+ * empty-list answer is NOT a policy statement (see the class comment) - it
90
+ * is "this list matched nothing", and the caller decides what that means.
91
+ */
92
+ static matches(origin, allowList) {
93
+ if (!allowList || allowList.length === 0) {
94
+ return false;
95
+ }
96
+ if (!origin) {
97
+ return false;
98
+ }
99
+ const normalizedOrigin = this.normalizeOrigin(origin);
100
+ if (!normalizedOrigin) {
101
+ return false;
102
+ }
103
+ for (const allowed of allowList) {
104
+ if (typeof allowed !== "string") {
105
+ continue;
106
+ }
107
+ const normalizedAllowed = this.normalizeOrigin(allowed);
108
+ if (!normalizedAllowed) {
109
+ continue;
110
+ }
111
+ if (normalizedAllowed === normalizedOrigin) {
112
+ return true;
113
+ }
114
+ const wildcardIndex = normalizedAllowed.indexOf("://*.");
115
+ if (wildcardIndex === -1) {
116
+ continue;
117
+ }
118
+ const scheme = normalizedAllowed.substring(0, wildcardIndex + 3);
119
+ const suffix = normalizedAllowed.substring(wildcardIndex + 4);
120
+ /*
121
+ * `suffix` keeps its leading dot, and the length check requires at
122
+ * least one character of subdomain in front of it. Those two details
123
+ * are the whole security value of this branch:
124
+ *
125
+ * - keeping the dot stops "https://*.example.com" from matching
126
+ * "https://evilexample.com", an attacker-registrable domain;
127
+ * - the length check stops it from matching the bare apex
128
+ * "https://example.com", which the customer did not list.
129
+ *
130
+ * Do not "simplify" either of them away.
131
+ */
132
+ if (normalizedOrigin.startsWith(scheme) &&
133
+ normalizedOrigin.endsWith(suffix) &&
134
+ normalizedOrigin.length > scheme.length + suffix.length) {
135
+ return true;
136
+ }
137
+ }
138
+ return false;
139
+ }
140
+ /*
141
+ * Validate one allowlist PATTERN at the point a human types it, and return
142
+ * a human-readable reason it will never work - or null when it is fine.
143
+ *
144
+ * This is intentionally stricter than `matches` needs it to be. `matches`
145
+ * is a hot-path predicate that quietly answers false for garbage; that is
146
+ * correct at ingest time but terrible at configuration time, where a
147
+ * mistyped entry looks exactly like a working one until production
148
+ * telemetry disappears. Everything below is a case where the customer
149
+ * plainly meant something we will not do.
150
+ *
151
+ * ACCEPTED
152
+ * https://app.example.com exact origin
153
+ * http://localhost:3000 http and an explicit port
154
+ * https://*.example.com single leading host wildcard
155
+ * https://*.example.com:8443 wildcard plus port
156
+ * https://app.example.com/ one trailing slash (stripped)
157
+ * http://127.0.0.1:8080 IPv4 literal
158
+ * http://*.localhost single-label suffix (dev setups are
159
+ * real; no public-suffix check is
160
+ * attempted because it is wrong more
161
+ * often than right on internal TLDs)
162
+ *
163
+ * REJECTED
164
+ * "" / " " empty
165
+ * app.example.com no scheme - ambiguous, and an origin
166
+ * without a scheme is not an origin
167
+ * ftp://example.com non-http(s) scheme
168
+ * ws://example.com ditto - browsers do not send these as
169
+ * the Origin of an ingest request
170
+ * https://user@example.com userinfo; the authority must be host
171
+ * (+ optional port) and nothing else
172
+ * https://example.com/path path - an Origin header never has one,
173
+ * so this can only ever fail to match
174
+ * https://example.com?a=b query
175
+ * https://example.com#frag fragment
176
+ * https://example.com// more than one trailing slash
177
+ * https://* bare wildcard - "allow the entire
178
+ * internet" is never what was meant, and
179
+ * if it were, the honest way to say it is
180
+ * to leave the list empty
181
+ * https://*. wildcard with no suffix, same problem
182
+ * https://a.*.example.com wildcard outside the first label - not
183
+ * supported by `matches`, so it would
184
+ * silently match nothing
185
+ * https://*example.com wildcard not followed by a dot; this is
186
+ * the "evilexample.com" trap and is
187
+ * rejected rather than reinterpreted
188
+ * https://exa mple.com whitespace inside
189
+ * https://example.com:0 port out of range
190
+ * https://example.com:70000 port out of range
191
+ * https://example.com:abc non-numeric port
192
+ * https://example..com empty label
193
+ * https://-example.com label starting or ending with "-"
194
+ * https://exa_mple.com character not legal in a hostname
195
+ */
196
+ static validateOriginPattern(pattern) {
197
+ if (typeof pattern !== "string") {
198
+ return "Origin must be text.";
199
+ }
200
+ const trimmed = pattern.trim();
201
+ if (!trimmed) {
202
+ return "Origin cannot be empty.";
203
+ }
204
+ /*
205
+ * Whitespace is checked on the TRIMMED value, so surrounding spaces are
206
+ * forgiven (normalizeOrigin drops them anyway) while interior spaces -
207
+ * which are always a typo or a paste of two entries into one field - are
208
+ * refused.
209
+ */
210
+ if (WHITESPACE_ANYWHERE.test(trimmed)) {
211
+ return `"${trimmed}" cannot contain spaces. Enter one origin per entry.`;
212
+ }
213
+ const value = trimmed.toLowerCase();
214
+ const schemeSeparatorIndex = value.indexOf("://");
215
+ if (schemeSeparatorIndex === -1) {
216
+ return `"${trimmed}" must start with http:// or https://.`;
217
+ }
218
+ const scheme = value.substring(0, schemeSeparatorIndex);
219
+ if (scheme !== "http" && scheme !== "https") {
220
+ return `"${trimmed}" must use the http:// or https:// scheme.`;
221
+ }
222
+ let authority = value.substring(schemeSeparatorIndex + 3);
223
+ /*
224
+ * Exactly one trailing slash is tolerated and dropped here. Anything else
225
+ * after the authority is rejected below rather than ignored: silently
226
+ * discarding a path would accept "https://example.com/only-this-app" and
227
+ * then match the whole origin, which is looser than what was written.
228
+ */
229
+ if (authority.endsWith("/")) {
230
+ authority = authority.substring(0, authority.length - 1);
231
+ }
232
+ if (!authority) {
233
+ return `"${trimmed}" is missing a host.`;
234
+ }
235
+ if (authority.includes("/")) {
236
+ return `"${trimmed}" must not contain a path. Use just the origin, for example https://app.example.com.`;
237
+ }
238
+ if (authority.includes("?")) {
239
+ return `"${trimmed}" must not contain a query string.`;
240
+ }
241
+ if (authority.includes("#")) {
242
+ return `"${trimmed}" must not contain a fragment.`;
243
+ }
244
+ if (authority.includes("@")) {
245
+ return `"${trimmed}" must not contain a username or password.`;
246
+ }
247
+ let host = authority;
248
+ /*
249
+ * Split on the LAST colon so a future IPv6 literal fails on the host
250
+ * charset check below with a clear message, rather than being silently
251
+ * chopped in half at its first colon and reported as a bad port.
252
+ */
253
+ const portSeparatorIndex = authority.lastIndexOf(":");
254
+ if (portSeparatorIndex !== -1) {
255
+ host = authority.substring(0, portSeparatorIndex);
256
+ const portText = authority.substring(portSeparatorIndex + 1);
257
+ if (!DIGITS_ONLY.test(portText)) {
258
+ return `"${trimmed}" has an invalid port. The port must be a number between 1 and 65535.`;
259
+ }
260
+ const port = Number(portText);
261
+ if (port < 1 || port > 65535) {
262
+ return `"${trimmed}" has a port outside the valid range 1-65535.`;
263
+ }
264
+ }
265
+ if (!host) {
266
+ return `"${trimmed}" is missing a host.`;
267
+ }
268
+ let hostWithoutWildcard = host;
269
+ if (host.startsWith("*.")) {
270
+ hostWithoutWildcard = host.substring(2);
271
+ if (!hostWithoutWildcard) {
272
+ return `"${trimmed}" needs a domain after the wildcard, for example https://*.example.com.`;
273
+ }
274
+ }
275
+ /*
276
+ * Any remaining "*" is either a bare wildcard host, a wildcard that is not
277
+ * followed by a dot, or a wildcard in a later label. `matches` supports
278
+ * none of those, so accepting them would hand the customer an allowlist
279
+ * entry that matches nothing at all.
280
+ */
281
+ if (hostWithoutWildcard.includes("*")) {
282
+ return `"${trimmed}" may only use a wildcard as the first label, written as "*." - for example https://*.example.com.`;
283
+ }
284
+ const labels = hostWithoutWildcard.split(".");
285
+ for (const label of labels) {
286
+ if (!label) {
287
+ return `"${trimmed}" has an empty part in its host name.`;
288
+ }
289
+ if (!HOST_LABEL_CHARACTERS.test(label)) {
290
+ return `"${trimmed}" contains a character that is not valid in a host name.`;
291
+ }
292
+ if (label.startsWith("-") || label.endsWith("-")) {
293
+ return `"${trimmed}" has a host name part that starts or ends with "-".`;
294
+ }
295
+ }
296
+ return null;
297
+ }
298
+ }
299
+ //# sourceMappingURL=OriginAllowList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OriginAllowList.js","sourceRoot":"","sources":["../../../../Utils/Telemetry/OriginAllowList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /*
2
+ * The keyboard and screen reader behaviour of the day-by-day uptime strip.
3
+ *
4
+ * The strip is one bar per day - ninety of them on a default status page, and
5
+ * one strip per resource. That shape rules out the obvious accessibility fix
6
+ * of making every bar a tab stop: a page with twenty resources would put
7
+ * eighteen hundred stops between the visitor and the footer. The strip is
8
+ * therefore a composite widget with a roving tabindex - one stop for the whole
9
+ * strip, arrow keys to move within it - which is the pattern ARIA prescribes
10
+ * for exactly this.
11
+ *
12
+ * Everything here is pure so the navigation maths and the wording of the
13
+ * accessible names can be tested without a renderer.
14
+ */
15
+ import { DefaultUptimeHistoryLabels, } from "../../Types/Monitor/UptimeHistoryLabels";
16
+ class DayUptimeGraphUtil {
17
+ /*
18
+ * Where focus goes for a key pressed on the bar at `currentIndex`, or null
19
+ * when the key is not one this widget handles - in which case the caller
20
+ * must leave the event alone so that Tab, Enter and Space keep their normal
21
+ * meaning.
22
+ *
23
+ * Movement clamps rather than wraps. Wrapping a ninety day history would
24
+ * jump from today to three months ago on one arrow press, which reads as a
25
+ * glitch rather than as navigation.
26
+ */
27
+ static getNextFocusIndex(data) {
28
+ if (data.barCount <= 0) {
29
+ return null;
30
+ }
31
+ const lastIndex = data.barCount - 1;
32
+ /*
33
+ * A caller whose index has drifted out of range (the window shrank under
34
+ * it, say) is still owed sane movement, so clamp before moving rather
35
+ * than after.
36
+ */
37
+ const current = Math.min(Math.max(data.currentIndex, 0), lastIndex);
38
+ let next = null;
39
+ switch (data.key) {
40
+ case "ArrowRight":
41
+ case "ArrowDown":
42
+ next = current + 1;
43
+ break;
44
+ case "ArrowLeft":
45
+ case "ArrowUp":
46
+ next = current - 1;
47
+ break;
48
+ case "Home":
49
+ next = 0;
50
+ break;
51
+ case "End":
52
+ next = lastIndex;
53
+ break;
54
+ case "PageDown":
55
+ next = current + this.PageJumpInDays;
56
+ break;
57
+ case "PageUp":
58
+ next = current - this.PageJumpInDays;
59
+ break;
60
+ default:
61
+ return null;
62
+ }
63
+ return Math.min(Math.max(next, 0), lastIndex);
64
+ }
65
+ /*
66
+ * The strip's single tab stop. Today is the bar a visitor wants first, so
67
+ * that is where focus lands before anything has been focused, and it is
68
+ * also where focus lands again if the window shrinks under a stored index.
69
+ */
70
+ static getActiveBarIndex(data) {
71
+ if (data.barCount <= 0) {
72
+ return 0;
73
+ }
74
+ const lastIndex = data.barCount - 1;
75
+ if (data.storedIndex === null) {
76
+ return lastIndex;
77
+ }
78
+ return Math.min(Math.max(data.storedIndex, 0), lastIndex);
79
+ }
80
+ static getBarTabIndex(data) {
81
+ return data.index === data.activeIndex ? 0 : -1;
82
+ }
83
+ /*
84
+ * Uptime the way it is said out loud rather than the way it is drawn.
85
+ * Trailing zeroes are noise in a screen reader ("ninety nine point nine
86
+ * zero percent"), and a bar that is a hair under 100 must not be read as
87
+ * 100 - "100% uptime" on a day that had an outage is a wrong statement, not
88
+ * a rounding.
89
+ */
90
+ static formatUptimePercentForLabel(percent) {
91
+ if (!Number.isFinite(percent)) {
92
+ return "0";
93
+ }
94
+ const clamped = Math.min(Math.max(percent, 0), 100);
95
+ if (clamped === 100) {
96
+ return "100";
97
+ }
98
+ const rounded = Math.round(clamped * 100) / 100;
99
+ if (rounded >= 100) {
100
+ return "99.99";
101
+ }
102
+ // Drop a trailing ".0" / ".00" so whole numbers read as whole numbers.
103
+ return String(parseFloat(rounded.toFixed(2)));
104
+ }
105
+ static getDayAriaLabel(data) {
106
+ const labels = data.labels || DefaultUptimeHistoryLabels;
107
+ const incidentCount = Math.max(data.incidentCount, 0);
108
+ const hasIncidents = incidentCount > 0;
109
+ if (!data.hasEvents) {
110
+ return this.interpolate(hasIncidents
111
+ ? labels.dayLabelNoDataWithIncidents
112
+ : labels.dayLabelNoData, {
113
+ date: data.dateLabel,
114
+ total: String(incidentCount),
115
+ });
116
+ }
117
+ return this.interpolate(hasIncidents ? labels.dayLabelWithIncidents : labels.dayLabel, {
118
+ date: data.dateLabel,
119
+ uptime: this.formatUptimePercentForLabel(data.uptimePercent),
120
+ total: String(incidentCount),
121
+ });
122
+ }
123
+ static getGraphAriaLabel(data) {
124
+ const labels = data.labels || DefaultUptimeHistoryLabels;
125
+ return this.interpolate(labels.graphLabel, {
126
+ total: String(Math.max(data.dayCount, 0)),
127
+ });
128
+ }
129
+ /*
130
+ * The same {{placeholder}} shape i18next uses, so a caller can hand these
131
+ * strings straight from a translation file. Replacing rather than
132
+ * formatting keeps this dependency-free and keeps a missing placeholder
133
+ * from throwing on a half translated locale - the worst case is a literal
134
+ * "{{uptime}}" in a label, not a page that fails to render.
135
+ */
136
+ static interpolate(template, values) {
137
+ let result = template;
138
+ for (const key of Object.keys(values)) {
139
+ result = result.split(`{{${key}}}`).join(values[key]);
140
+ }
141
+ return result;
142
+ }
143
+ }
144
+ /* How far PageUp / PageDown jump. A week reads naturally on a daily strip. */
145
+ DayUptimeGraphUtil.PageJumpInDays = 7;
146
+ export default DayUptimeGraphUtil;
147
+ //# sourceMappingURL=DayUptimeGraphUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayUptimeGraphUtil.js","sourceRoot":"","sources":["../../../../Utils/Uptime/DayUptimeGraphUtil.ts"],"names":[],"mappings":"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"}
@@ -560,17 +560,48 @@ export default class ValueFormatter {
560
560
  * [0, 1] ratio. Pair with unit "1" to render values as percentages.
561
561
  *
562
562
  * Conventions covered:
563
- * - OTel `.utilization` (system.cpu.utilization, k8s.node.cpu.utilization, …)
563
+ * - OTel `.utilization` (system.cpu.utilization, …)
564
564
  * - OTel `.ratio` and `.fraction` (db.client.connection.usage_ratio, …)
565
565
  * - Prometheus-style `_utilization` / `_ratio` / `_fraction` suffixes
566
566
  * - Plain `_percent` / `.percent` / `_percentage` / `.percentage` names
567
567
  *
568
568
  * Adding a new suffix is one regex edit — no per-metric allowlist.
569
+ *
570
+ * The two kubeletstats exclusions below are not taste. The receiver
571
+ * emits `k8s.pod.cpu.utilization` and `k8s.node.cpu.utilization` as CPU
572
+ * *cores in use* (UsageNanoCores / 1e9) carrying unit "1", despite the
573
+ * `.utilization` name. Four other places in this repo already say so:
574
+ * the header comment on Pages/Kubernetes/Utils/KubernetesCpuUtils.ts,
575
+ * OtelMetricsIngestService.cpuCoresToPercent (which divides by
576
+ * k8s.node.allocatable_cpu rather than multiplying by 100), the "CPU
577
+ * widgets show cores, not a percent" note in DashboardTemplates.ts, and
578
+ * the highCpuTemplate description in KubernetesAlertTemplates.ts
579
+ * ("the raw k8s.node.cpu.utilization metric is a misnamed cores gauge,
580
+ * not a percent"). Matching them here multiplies cores by 100 — which is
581
+ * what rendered 0.1831 cores as "18.31%" on the same evaluation page
582
+ * that showed the pod at 91.55% of its CPU limit.
583
+ *
584
+ * The exclusion is anchored to those two exact names, so the genuine
585
+ * ratio metrics from the same receiver — k8s.pod.cpu_limit_utilization,
586
+ * k8s.container.cpu_request_utilization and friends — still match and
587
+ * still render as percents.
588
+ *
589
+ * `container.cpu.utilization` is DELIBERATELY not excluded. That exact
590
+ * metric name is emitted both by kubeletstats (cores) and by
591
+ * docker_stats, and this repo does not currently agree with itself on
592
+ * the docker_stats scale — OtelMetricsIngestService.cpuValueToPercent
593
+ * multiplies the raw value by 100 while Pages/Docker/View/Containers.tsx
594
+ * renders the same raw value with a "%" suffix and no scaling.
595
+ * Excluding it here would silently pick a side of that contradiction.
569
596
  */
570
597
  static isFractionMetric(metricName) {
571
598
  if (!metricName) {
572
599
  return false;
573
600
  }
601
+ const kubeletstatsCoresGaugeMisnamedAsUtilization = /^k8s\.(node|pod)\.cpu\.utilization$/i;
602
+ if (kubeletstatsCoresGaugeMisnamedAsUtilization.test(metricName.trim())) {
603
+ return false;
604
+ }
574
605
  const fractionMetricSuffixRegex = /[._](utilization|ratio|fraction|percent|percentage)$/i;
575
606
  return fractionMetricSuffixRegex.test(metricName);
576
607
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValueFormatter.js","sourceRoot":"","sources":["../../../Utils/ValueFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueFormatter.js","sourceRoot":"","sources":["../../../Utils/ValueFormatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "12.0.33",
3
+ "version": "12.0.34",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",