@oneuptime/common 12.0.12 → 12.0.14

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 (596) hide show
  1. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +32 -5
  2. package/Models/DatabaseModels/NetworkDevice.ts +64 -0
  3. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +14 -0
  4. package/Models/DatabaseModels/StatusPage.ts +59 -0
  5. package/Models/DatabaseModels/StatusPageOidc.ts +2 -0
  6. package/Models/DatabaseModels/UserCall.ts +94 -3
  7. package/Models/DatabaseModels/UserEmail.ts +94 -3
  8. package/Models/DatabaseModels/UserIncomingCallNumber.ts +94 -3
  9. package/Models/DatabaseModels/UserPush.ts +37 -0
  10. package/Models/DatabaseModels/UserSMS.ts +94 -3
  11. package/Models/DatabaseModels/UserWhatsApp.ts +93 -2
  12. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -2
  13. package/Server/API/AIChatAPI.ts +55 -56
  14. package/Server/API/BaseAPI.ts +79 -14
  15. package/Server/API/CommonAPI.ts +89 -0
  16. package/Server/API/MicrosoftTeamsAPI.ts +20 -9
  17. package/Server/API/SlackAPI.ts +13 -10
  18. package/Server/API/StatusPageAPI.ts +2197 -2128
  19. package/Server/API/TelemetryAPI.ts +72 -3
  20. package/Server/API/UserCallAPI.ts +53 -45
  21. package/Server/API/UserEmailAPI.ts +53 -44
  22. package/Server/API/UserIncomingCallNumberAPI.ts +48 -38
  23. package/Server/API/UserNotificationMethodAdminAPI.ts +481 -0
  24. package/Server/API/UserPushAPI.ts +126 -2
  25. package/Server/API/UserSmsAPI.ts +53 -44
  26. package/Server/API/UserWhatsAppAPI.ts +53 -50
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.ts +154 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.ts +17 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.ts +30 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.ts +47 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.ts +45 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  33. package/Server/Middleware/UserAuthorization.ts +11 -2
  34. package/Server/Middleware/VerificationCodeRateLimit.ts +586 -0
  35. package/Server/Services/AnalyticsDatabaseService.ts +169 -0
  36. package/Server/Services/ApiKeyPermissionService.ts +116 -2
  37. package/Server/Services/DatabaseService.ts +118 -6
  38. package/Server/Services/LogAggregationService.ts +39 -0
  39. package/Server/Services/LogService.ts +21 -0
  40. package/Server/Services/NetworkSiteService.ts +12 -0
  41. package/Server/Services/PushNotificationService.ts +127 -12
  42. package/Server/Services/SpanService.ts +21 -0
  43. package/Server/Services/TeamMemberService.ts +53 -13
  44. package/Server/Services/TraceAggregationService.ts +15 -0
  45. package/Server/Services/UserCallService.ts +55 -24
  46. package/Server/Services/UserEmailService.ts +83 -17
  47. package/Server/Services/UserIncomingCallNumberService.ts +49 -85
  48. package/Server/Services/UserNotificationMethodAdminService.ts +1527 -0
  49. package/Server/Services/UserNotificationRuleService.ts +26 -0
  50. package/Server/Services/UserPushService.ts +89 -0
  51. package/Server/Services/UserSmsService.ts +50 -17
  52. package/Server/Services/UserWhatsAppService.ts +48 -15
  53. package/Server/Services/WorkspaceNotificationRuleService.ts +172 -220
  54. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +9 -0
  55. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -16
  56. package/Server/Types/Database/QueryHelper.ts +30 -0
  57. package/Server/Utils/APIKey/AccessPermission.ts +16 -40
  58. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +59 -0
  59. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +144 -0
  60. package/Server/Utils/ChannelVerification.ts +510 -0
  61. package/Server/Utils/LogRedaction.ts +576 -0
  62. package/Server/Utils/Logger.ts +123 -46
  63. package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +13 -16
  64. package/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.ts +94 -23
  65. package/Server/Utils/Monitor/MonitorAlert.ts +24 -21
  66. package/Server/Utils/Monitor/MonitorIncident.ts +21 -18
  67. package/Server/Utils/Monitor/MonitorResource.ts +29 -9
  68. package/Server/Utils/Monitor/MonitorResourceContext.ts +107 -0
  69. package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +442 -0
  70. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +28 -7
  71. package/Server/Utils/Monitor/SeriesResourceLabels.ts +3 -3
  72. package/Server/Utils/Monitor/SeriesResourceLinker.ts +96 -28
  73. package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +56 -10
  74. package/Server/Utils/StartServer.ts +30 -9
  75. package/Server/Utils/StatusPageSearchEngineIndexing.ts +33 -0
  76. package/Server/Utils/Telemetry/ResourceEntityFilter.ts +441 -0
  77. package/Server/Utils/TotpAuth.ts +137 -9
  78. package/Server/Utils/UserRegistrationToken.ts +182 -0
  79. package/Server/Utils/VerificationCode.ts +134 -0
  80. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +488 -46
  81. package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +173 -94
  82. package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +1151 -0
  83. package/Tests/App/Dashboard/AdminUserOnCallPages.test.tsx +905 -0
  84. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +338 -0
  85. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1 -1
  86. package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +328 -0
  87. package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +130 -0
  88. package/Tests/Models/DatabaseModels/DatabaseBaseModelToJSONObjectCache.test.ts +180 -0
  89. package/Tests/Models/StatusPageEnableSearchEngineIndexing.test.ts +157 -0
  90. package/Tests/Models/UserPushCriticalAlertColumn.test.ts +172 -0
  91. package/Tests/Server/API/AIChatCancelAndFeedback.test.ts +23 -1
  92. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +785 -0
  93. package/Tests/Server/API/BaseAPIApiKeyAuth.test.ts +21 -8
  94. package/Tests/Server/API/BaseAPIGetListParallel.test.ts +519 -0
  95. package/Tests/Server/API/CommonAPIAuthGuard.test.ts +290 -0
  96. package/Tests/Server/API/MicrosoftTeamsManifest.test.ts +7 -1
  97. package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +543 -0
  98. package/Tests/Server/API/StatusPageOverviewCache.test.ts +474 -0
  99. package/Tests/Server/API/StatusPageSeoSearchEngineIndexing.test.ts +189 -0
  100. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +108 -18
  101. package/Tests/Server/API/UserNotificationMethodAdminAPI.test.ts +963 -0
  102. package/Tests/Server/API/UserPushCriticalAlertsApi.test.ts +114 -0
  103. package/Tests/Server/API/UserSmsApi.test.ts +107 -14
  104. package/Tests/Server/API/UserTotpAuthAPI.test.ts +427 -0
  105. package/Tests/Server/Infrastructure/InMemoryTTLCache.test.ts +158 -0
  106. package/Tests/Server/Infrastructure/Postgres/DeviceRoleAndDeclaredLinkParentMigration.test.ts +9 -60
  107. package/Tests/Server/Infrastructure/Postgres/FixTotpOtpUrlAlgorithmMigration.test.ts +315 -0
  108. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +24 -15
  109. package/Tests/Server/Middleware/UserAuthorization.test.ts +79 -0
  110. package/Tests/Server/Middleware/VerificationCodeRateLimit.test.ts +775 -0
  111. package/Tests/Server/Services/AddNetworkDeviceReachabilityColumnsMigration.test.ts +280 -0
  112. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +33 -13
  113. package/Tests/Server/Services/AnalyticsDatabaseSortKeyBoundary.test.ts +658 -0
  114. package/Tests/Server/Services/ApiKeyPermissionService.test.ts +347 -0
  115. package/Tests/Server/Services/CriticalOnCallAlertDelivery.test.ts +458 -0
  116. package/Tests/Server/Services/CriticalPushAlertPayload.test.ts +301 -0
  117. package/Tests/Server/Services/DatabaseServiceAtomicIncrement.test.ts +143 -0
  118. package/Tests/Server/Services/DatabaseServiceUpdateDebugLogging.test.ts +282 -0
  119. package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1 -0
  120. package/Tests/Server/Services/LogAggregationScanMemory.test.ts +421 -0
  121. package/Tests/Server/Services/LogAggregationService.test.ts +2 -2
  122. package/Tests/Server/Services/NetworkSiteService.test.ts +56 -2
  123. package/Tests/Server/Services/NotificationChannelCodeIssuance.test.ts +401 -0
  124. package/Tests/Server/Services/PushNotificationDeliveryOptions.test.ts +204 -0
  125. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +21 -1
  126. package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +290 -0
  127. package/Tests/Server/Services/TelemetryResourceFacetFilters.test.ts +267 -0
  128. package/Tests/Server/Services/UserNotificationMethodAdminService.test.ts +948 -0
  129. package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1 -0
  130. package/Tests/Server/Services/UserPushCriticalAlertToggle.test.ts +255 -0
  131. package/Tests/Server/Services/UserTotpAuthEnrolment.test.ts +218 -0
  132. package/Tests/Server/Services/WorkspaceNotificationRuleTestRuleChannels.test.ts +702 -0
  133. package/Tests/Server/TestingUtils/AuthenticatorApp.ts +248 -0
  134. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +165 -0
  135. package/Tests/Server/Types/Database/Permissions/NotificationChannelVerificationColumns.test.ts +135 -0
  136. package/Tests/Server/Types/Database/Permissions/OnCallScheduleRelationSelect.test.ts +504 -0
  137. package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAnyOf.test.ts +91 -0
  138. package/Tests/Server/Types/Workflow/Components/JsonToText.test.ts +384 -0
  139. package/Tests/Server/Types/Workflow/Components/MergeJson.test.ts +403 -0
  140. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +48 -36
  141. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +213 -0
  142. package/Tests/Server/Utils/Browser.test.ts +162 -0
  143. package/Tests/Server/Utils/ChannelVerification.test.ts +689 -0
  144. package/Tests/Server/Utils/Express.test.ts +371 -0
  145. package/Tests/Server/Utils/LogRedaction.test.ts +415 -0
  146. package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +245 -0
  147. package/Tests/Server/Utils/Monitor/Criteria/CustomCodeMonitorCriteria.test.ts +707 -0
  148. package/Tests/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.test.ts +698 -0
  149. package/Tests/Server/Utils/Monitor/Criteria/IncomingEmailBodyCriteria.test.ts +243 -0
  150. package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestBodyCriteria.test.ts +278 -0
  151. package/Tests/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.test.ts +374 -4
  152. package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +160 -20
  153. package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +13 -8
  154. package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +162 -18
  155. package/Tests/Server/Utils/Monitor/MonitorResourceContext.test.ts +349 -0
  156. package/Tests/Server/Utils/Monitor/MonitorResourceIngestedStepSelection.test.ts +455 -0
  157. package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +690 -0
  158. package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +7 -2
  159. package/Tests/Server/Utils/Monitor/NetworkDeviceReachabilityRoundTrip.test.ts +369 -0
  160. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +86 -8
  161. package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +92 -18
  162. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +64 -0
  163. package/Tests/Server/Utils/PushNotificationUtilCreators.test.ts +267 -0
  164. package/Tests/Server/Utils/SessionReplay/SessionReplayGateCacheStore.test.ts +207 -0
  165. package/Tests/Server/Utils/StartServerBodyVerify.test.ts +335 -0
  166. package/Tests/Server/Utils/StatusPageSearchEngineIndexing.test.ts +60 -0
  167. package/Tests/Server/Utils/Telemetry/OneuptimeLabel.test.ts +439 -0
  168. package/Tests/Server/Utils/Telemetry/ResourceEntityFilter.test.ts +435 -0
  169. package/Tests/Server/Utils/TotpAuth.test.ts +719 -0
  170. package/Tests/Server/Utils/UserRegistrationToken.test.ts +322 -0
  171. package/Tests/Server/Utils/VerificationCode.test.ts +296 -0
  172. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +607 -62
  173. package/Tests/Server/Utils/Workspace/MicrosoftTeamsInstalledTeamIdSpace.test.ts +778 -0
  174. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +44 -10
  175. package/Tests/Types/API/HostnameFromAuthority.test.ts +164 -0
  176. package/Tests/Types/AutoRemediation/AutoRemediationSuggestionStatus.test.ts +192 -0
  177. package/Tests/Types/Call/CallRequest.test.ts +189 -0
  178. package/Tests/Types/Dashboard/DashboardSize.test.ts +226 -0
  179. package/Tests/Types/Database/AccessControl/ColumnAccessControlCache.test.ts +344 -0
  180. package/Tests/Types/Database/DatabasePropertyFindOperator.test.ts +518 -0
  181. package/Tests/Types/Database/TableColumnMetadataCache.test.ts +286 -0
  182. package/Tests/Types/Incident/IncidentSlaStatus.test.ts +191 -0
  183. package/Tests/Types/Metrics/MetricDashboardMetricType.test.ts +278 -0
  184. package/Tests/Types/Metrics/MetricPipelineRuleType.test.ts +517 -0
  185. package/Tests/Types/Monitor/IncomingMonitorDefaultCriteria.test.ts +470 -0
  186. package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +6 -4
  187. package/Tests/Types/Monitor/MonitorStep.test.ts +100 -0
  188. package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +360 -0
  189. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +262 -5
  190. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +1 -1
  191. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +1 -1
  192. package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +905 -0
  193. package/Tests/Types/Service/ServiceLanguage.test.ts +255 -0
  194. package/Tests/Types/StatusPage/SearchEngineIndexing.test.ts +86 -0
  195. package/Tests/Types/Telemetry/ResourceEntityFacet.test.ts +254 -0
  196. package/Tests/Types/TextRandomGeneration.test.ts +211 -0
  197. package/Tests/UI/Components/Button.test.tsx +175 -1
  198. package/Tests/UI/Components/CardSelect.test.tsx +1021 -0
  199. package/Tests/UI/Components/CodeBlockLanguages.test.tsx +236 -0
  200. package/Tests/UI/Components/CommandPalette/CommandPalette.test.tsx +568 -0
  201. package/Tests/UI/Components/CommandPalette/CommandPaletteKeyboard.test.tsx +239 -0
  202. package/Tests/UI/Components/CommandPalette/CommandPaletteProviders.test.tsx +400 -0
  203. package/Tests/UI/Components/CommandPalette/PaletteFilter.test.ts +234 -0
  204. package/Tests/UI/Components/CommandPalette/RecentCommands.test.ts +97 -0
  205. package/Tests/UI/Components/CountModelSideMenuItemGuard.test.tsx +198 -0
  206. package/Tests/UI/Components/FeedItemSafeMode.test.tsx +1 -1
  207. package/Tests/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.test.ts +267 -0
  208. package/Tests/UI/Components/List.test.tsx +9 -2
  209. package/Tests/UI/Components/ListLoadingStates.test.tsx +173 -0
  210. package/Tests/UI/Components/MarkdownLazy.test.tsx +113 -0
  211. package/Tests/UI/Components/MarkdownMermaidRetry.test.tsx +110 -0
  212. package/Tests/UI/Components/MasterPage.test.tsx +36 -1
  213. package/Tests/UI/Components/ModelTable/useCustomFieldColumns.test.tsx +8 -0
  214. package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +692 -0
  215. package/Tests/UI/Components/MoreMenuMotion.test.tsx +118 -0
  216. package/Tests/UI/Components/NavBarCommandKGating.test.tsx +178 -0
  217. package/Tests/UI/Components/OrderedStatesList.test.tsx +19 -2
  218. package/Tests/UI/Components/SideOverMotion.test.tsx +109 -0
  219. package/Tests/UI/Components/Skeleton.test.tsx +71 -0
  220. package/Tests/UI/Components/TableLoadingStates.test.tsx +279 -0
  221. package/Tests/UI/Components/Tabs.test.tsx +24 -0
  222. package/Tests/UI/Components/Toast.test.tsx +130 -7
  223. package/Tests/UI/Components/ToastStacking.test.tsx +198 -0
  224. package/Tests/UI/Utils/Dropdown.test.ts +423 -0
  225. package/Tests/UI/Utils/ModelAPITenantHeader.test.ts +122 -0
  226. package/Tests/UI/Utils/ModelListCache.test.ts +338 -0
  227. package/Tests/UI/Utils/ProjectListCacheInvalidation.test.ts +225 -0
  228. package/Tests/Utils/API.test.ts +16 -2
  229. package/Tests/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.test.ts +347 -0
  230. package/Tests/Utils/Dashboard/Components/DashboardListSharedArgs.test.ts +259 -0
  231. package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +466 -0
  232. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +66 -1
  233. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +115 -6
  234. package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +610 -0
  235. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +114 -45
  236. package/Tests/Utils/Rum/UrlScrubberSegments.test.ts +362 -0
  237. package/Types/API/Hostname.ts +79 -0
  238. package/Types/Database/AccessControl/ColumnAccessControl.ts +33 -11
  239. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +33 -11
  240. package/Types/Database/DatabaseProperty.ts +38 -0
  241. package/Types/Database/TableColumn.ts +34 -7
  242. package/Types/Email/EmailTemplateType.ts +1 -0
  243. package/Types/Events/Recurring.ts +16 -1
  244. package/Types/Monitor/MonitorCriteriaInstance.ts +41 -20
  245. package/Types/Monitor/MonitorStep.ts +13 -1
  246. package/Types/Monitor/MonitorType.ts +345 -40
  247. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +131 -8
  248. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +48 -8
  249. package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +43 -0
  250. package/Types/Monitor/ServiceAlertTemplates.ts +1352 -0
  251. package/Types/Permission.ts +35 -0
  252. package/Types/PushNotification/AndroidNotificationChannel.ts +26 -0
  253. package/Types/PushNotification/PushNotificationMessage.ts +15 -0
  254. package/Types/PushNotification/PushNotificationRequest.ts +8 -16
  255. package/Types/Service/ServiceLanguage.ts +144 -0
  256. package/Types/StatusPage/SearchEngineIndexing.ts +61 -0
  257. package/Types/Telemetry/ResourceEntityFacet.ts +211 -0
  258. package/Types/Text.ts +111 -19
  259. package/UI/Components/Button/Button.tsx +27 -14
  260. package/UI/Components/CardSelect/CardSelect.tsx +714 -105
  261. package/UI/Components/CodeBlock/CodeBlock.tsx +54 -7
  262. package/UI/Components/CodeBlock/LanguageRegistry.ts +103 -0
  263. package/UI/Components/CommandPalette/CommandPalette.tsx +790 -0
  264. package/UI/Components/CommandPalette/PaletteFilter.ts +196 -0
  265. package/UI/Components/CommandPalette/PaletteRow.tsx +173 -0
  266. package/UI/Components/CommandPalette/RecentCommands.ts +57 -0
  267. package/UI/Components/CommandPalette/Types.ts +49 -0
  268. package/UI/Components/CommandPalette/UseProviderSearch.ts +129 -0
  269. package/UI/Components/Dropdown/Dropdown.tsx +6 -1
  270. package/UI/Components/EmptyState/EmptyState.tsx +8 -1
  271. package/UI/Components/Feed/FeedItem.tsx +1 -1
  272. package/UI/Components/Footer/Footer.tsx +32 -6
  273. package/UI/Components/Forms/Fields/FormField.tsx +3 -0
  274. package/UI/Components/Forms/Types/Field.ts +8 -0
  275. package/UI/Components/List/List.tsx +37 -5
  276. package/UI/Components/List/ListSkeleton.tsx +54 -0
  277. package/UI/Components/Loader/PageLoader.tsx +29 -8
  278. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +26 -4
  279. package/UI/Components/Markdown.tsx/LazyMarkdownViewer.tsx +23 -2
  280. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +71 -26
  281. package/UI/Components/MasterPage/MasterPage.tsx +24 -11
  282. package/UI/Components/Modal/Modal.tsx +2 -2
  283. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  284. package/UI/Components/ModelTable/useCustomFieldColumns.ts +11 -5
  285. package/UI/Components/MoreMenu/MoreMenu.tsx +39 -1
  286. package/UI/Components/Navbar/NavBar.tsx +14 -1
  287. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +50 -5
  288. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +40 -1
  289. package/UI/Components/SideOver/SideOver.tsx +37 -2
  290. package/UI/Components/Skeleton/Skeleton.tsx +53 -0
  291. package/UI/Components/Table/Table.tsx +74 -44
  292. package/UI/Components/Table/TableSkeletonRows.tsx +141 -0
  293. package/UI/Components/Tabs/Tab.tsx +1 -1
  294. package/UI/Components/Toast/Toast.tsx +118 -53
  295. package/UI/Components/Toast/ToastInit.tsx +82 -32
  296. package/UI/Styles/Theme.css +40 -0
  297. package/UI/Utils/ModelAPI/ModelAPI.ts +20 -10
  298. package/UI/Utils/ModelListCache.ts +188 -0
  299. package/UI/Utils/Project.ts +29 -0
  300. package/Utils/API.ts +6 -1
  301. package/Utils/Monitor/MonitorMetricType.ts +16 -1
  302. package/Utils/Monitor/NetworkTopologyUtil.ts +60 -8
  303. package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +262 -0
  304. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +41 -24
  305. package/Utils/Telemetry/CrossSignalScope.ts +75 -4
  306. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +20 -4
  307. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/NetworkDevice.js +66 -0
  309. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +14 -0
  311. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/StatusPage.js +60 -0
  313. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +2 -0
  315. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/UserCall.js +101 -3
  317. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/UserEmail.js +101 -3
  319. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  320. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js +101 -3
  321. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js.map +1 -1
  322. package/build/dist/Models/DatabaseModels/UserPush.js +38 -0
  323. package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
  324. package/build/dist/Models/DatabaseModels/UserSMS.js +101 -3
  325. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  326. package/build/dist/Models/DatabaseModels/UserWhatsApp.js +100 -2
  327. package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
  328. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  329. package/build/dist/Server/API/AIChatAPI.js +48 -35
  330. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  331. package/build/dist/Server/API/BaseAPI.js +69 -13
  332. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  333. package/build/dist/Server/API/CommonAPI.js +59 -0
  334. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  335. package/build/dist/Server/API/MicrosoftTeamsAPI.js +20 -6
  336. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  337. package/build/dist/Server/API/SlackAPI.js +13 -10
  338. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  339. package/build/dist/Server/API/StatusPageAPI.js +745 -673
  340. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  341. package/build/dist/Server/API/TelemetryAPI.js +34 -3
  342. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  343. package/build/dist/Server/API/UserCallAPI.js +42 -38
  344. package/build/dist/Server/API/UserCallAPI.js.map +1 -1
  345. package/build/dist/Server/API/UserEmailAPI.js +42 -38
  346. package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
  347. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +37 -32
  348. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  349. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js +341 -0
  350. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js.map +1 -0
  351. package/build/dist/Server/API/UserPushAPI.js +95 -2
  352. package/build/dist/Server/API/UserPushAPI.js.map +1 -1
  353. package/build/dist/Server/API/UserSmsAPI.js +42 -38
  354. package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
  355. package/build/dist/Server/API/UserWhatsAppAPI.js +42 -40
  356. package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
  357. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js +89 -0
  358. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js.map +1 -0
  359. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js +12 -0
  360. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js.map +1 -0
  361. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js +23 -0
  362. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js.map +1 -0
  363. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js +34 -0
  364. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js.map +1 -0
  365. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js +40 -0
  366. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js.map +1 -0
  367. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  368. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  369. package/build/dist/Server/Middleware/UserAuthorization.js +6 -2
  370. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  371. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js +393 -0
  372. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js.map +1 -0
  373. package/build/dist/Server/Services/AnalyticsDatabaseService.js +136 -0
  374. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  375. package/build/dist/Server/Services/ApiKeyPermissionService.js +90 -1
  376. package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
  377. package/build/dist/Server/Services/DatabaseService.js +89 -6
  378. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  379. package/build/dist/Server/Services/LogAggregationService.js +7 -0
  380. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  381. package/build/dist/Server/Services/LogService.js +16 -0
  382. package/build/dist/Server/Services/LogService.js.map +1 -1
  383. package/build/dist/Server/Services/NetworkSiteService.js +12 -0
  384. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
  385. package/build/dist/Server/Services/PushNotificationService.js +69 -30
  386. package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
  387. package/build/dist/Server/Services/SpanService.js +16 -0
  388. package/build/dist/Server/Services/SpanService.js.map +1 -1
  389. package/build/dist/Server/Services/TeamMemberService.js +43 -7
  390. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  391. package/build/dist/Server/Services/TraceAggregationService.js +2 -0
  392. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  393. package/build/dist/Server/Services/UserCallService.js +54 -22
  394. package/build/dist/Server/Services/UserCallService.js.map +1 -1
  395. package/build/dist/Server/Services/UserEmailService.js +78 -17
  396. package/build/dist/Server/Services/UserEmailService.js.map +1 -1
  397. package/build/dist/Server/Services/UserIncomingCallNumberService.js +45 -74
  398. package/build/dist/Server/Services/UserIncomingCallNumberService.js.map +1 -1
  399. package/build/dist/Server/Services/UserNotificationMethodAdminService.js +1117 -0
  400. package/build/dist/Server/Services/UserNotificationMethodAdminService.js.map +1 -0
  401. package/build/dist/Server/Services/UserNotificationRuleService.js +20 -0
  402. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  403. package/build/dist/Server/Services/UserPushService.js +77 -0
  404. package/build/dist/Server/Services/UserPushService.js.map +1 -1
  405. package/build/dist/Server/Services/UserSmsService.js +50 -17
  406. package/build/dist/Server/Services/UserSmsService.js.map +1 -1
  407. package/build/dist/Server/Services/UserWhatsAppService.js +48 -15
  408. package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
  409. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +137 -164
  410. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  411. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +9 -0
  412. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  413. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +21 -13
  414. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  415. package/build/dist/Server/Types/Database/QueryHelper.js +27 -0
  416. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  417. package/build/dist/Server/Utils/APIKey/AccessPermission.js +9 -32
  418. package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
  419. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  420. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -1
  421. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +87 -0
  422. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  423. package/build/dist/Server/Utils/ChannelVerification.js +348 -0
  424. package/build/dist/Server/Utils/ChannelVerification.js.map +1 -0
  425. package/build/dist/Server/Utils/LogRedaction.js +449 -0
  426. package/build/dist/Server/Utils/LogRedaction.js.map +1 -0
  427. package/build/dist/Server/Utils/Logger.js +98 -45
  428. package/build/dist/Server/Utils/Logger.js.map +1 -1
  429. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +13 -12
  430. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
  431. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js +65 -13
  432. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js.map +1 -1
  433. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +20 -17
  434. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  435. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +17 -14
  436. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  437. package/build/dist/Server/Utils/Monitor/MonitorResource.js +20 -3
  438. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  439. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +95 -0
  440. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -0
  441. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +313 -0
  442. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -0
  443. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +27 -7
  444. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  445. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +3 -3
  446. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +67 -26
  447. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
  448. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +29 -10
  449. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -1
  450. package/build/dist/Server/Utils/StartServer.js +10 -7
  451. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  452. package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js +24 -0
  453. package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js.map +1 -0
  454. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +311 -0
  455. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -0
  456. package/build/dist/Server/Utils/TotpAuth.js +127 -8
  457. package/build/dist/Server/Utils/TotpAuth.js.map +1 -1
  458. package/build/dist/Server/Utils/UserRegistrationToken.js +170 -0
  459. package/build/dist/Server/Utils/UserRegistrationToken.js.map +1 -0
  460. package/build/dist/Server/Utils/VerificationCode.js +120 -0
  461. package/build/dist/Server/Utils/VerificationCode.js.map +1 -0
  462. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +366 -37
  463. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  464. package/build/dist/Types/API/Hostname.js +63 -0
  465. package/build/dist/Types/API/Hostname.js.map +1 -1
  466. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +20 -6
  467. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  468. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +20 -6
  469. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  470. package/build/dist/Types/Database/DatabaseProperty.js +38 -0
  471. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  472. package/build/dist/Types/Database/TableColumn.js +24 -6
  473. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  474. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  475. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  476. package/build/dist/Types/Events/Recurring.js +13 -1
  477. package/build/dist/Types/Events/Recurring.js.map +1 -1
  478. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +42 -21
  479. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  480. package/build/dist/Types/Monitor/MonitorStep.js +9 -1
  481. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  482. package/build/dist/Types/Monitor/MonitorType.js +330 -31
  483. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  484. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +77 -5
  485. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
  486. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +18 -6
  487. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
  488. package/build/dist/Types/Monitor/ServiceAlertTemplates.js +1028 -0
  489. package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -0
  490. package/build/dist/Types/Permission.js +33 -0
  491. package/build/dist/Types/Permission.js.map +1 -1
  492. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js +27 -0
  493. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js.map +1 -0
  494. package/build/dist/Types/Service/ServiceLanguage.js +96 -0
  495. package/build/dist/Types/Service/ServiceLanguage.js.map +1 -0
  496. package/build/dist/Types/StatusPage/SearchEngineIndexing.js +55 -0
  497. package/build/dist/Types/StatusPage/SearchEngineIndexing.js.map +1 -0
  498. package/build/dist/Types/Telemetry/ResourceEntityFacet.js +156 -0
  499. package/build/dist/Types/Telemetry/ResourceEntityFacet.js.map +1 -0
  500. package/build/dist/Types/Text.js +82 -17
  501. package/build/dist/Types/Text.js.map +1 -1
  502. package/build/dist/UI/Components/Button/Button.js +22 -14
  503. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  504. package/build/dist/UI/Components/CardSelect/CardSelect.js +360 -40
  505. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  506. package/build/dist/UI/Components/CodeBlock/CodeBlock.js +35 -3
  507. package/build/dist/UI/Components/CodeBlock/CodeBlock.js.map +1 -1
  508. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js +57 -0
  509. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js.map +1 -0
  510. package/build/dist/UI/Components/CommandPalette/CommandPalette.js +439 -0
  511. package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -0
  512. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js +135 -0
  513. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js.map +1 -0
  514. package/build/dist/UI/Components/CommandPalette/PaletteRow.js +83 -0
  515. package/build/dist/UI/Components/CommandPalette/PaletteRow.js.map +1 -0
  516. package/build/dist/UI/Components/CommandPalette/RecentCommands.js +47 -0
  517. package/build/dist/UI/Components/CommandPalette/RecentCommands.js.map +1 -0
  518. package/build/dist/UI/Components/CommandPalette/Types.js +2 -0
  519. package/build/dist/UI/Components/CommandPalette/Types.js.map +1 -0
  520. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js +88 -0
  521. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js.map +1 -0
  522. package/build/dist/UI/Components/Dropdown/Dropdown.js +6 -1
  523. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  524. package/build/dist/UI/Components/EmptyState/EmptyState.js +1 -1
  525. package/build/dist/UI/Components/EmptyState/EmptyState.js.map +1 -1
  526. package/build/dist/UI/Components/Feed/FeedItem.js +1 -1
  527. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  528. package/build/dist/UI/Components/Footer/Footer.js +7 -4
  529. package/build/dist/UI/Components/Footer/Footer.js.map +1 -1
  530. package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
  531. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  532. package/build/dist/UI/Components/List/List.js +19 -5
  533. package/build/dist/UI/Components/List/List.js.map +1 -1
  534. package/build/dist/UI/Components/List/ListSkeleton.js +21 -0
  535. package/build/dist/UI/Components/List/ListSkeleton.js.map +1 -0
  536. package/build/dist/UI/Components/Loader/PageLoader.js +15 -5
  537. package/build/dist/UI/Components/Loader/PageLoader.js.map +1 -1
  538. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +16 -3
  539. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  540. package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js +13 -1
  541. package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js.map +1 -1
  542. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +52 -25
  543. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  544. package/build/dist/UI/Components/MasterPage/MasterPage.js +10 -2
  545. package/build/dist/UI/Components/MasterPage/MasterPage.js.map +1 -1
  546. package/build/dist/UI/Components/Modal/Modal.js +2 -2
  547. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  548. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  549. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js +9 -2
  550. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js.map +1 -1
  551. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +32 -1
  552. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  553. package/build/dist/UI/Components/Navbar/NavBar.js +5 -1
  554. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  555. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +29 -5
  556. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  557. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +23 -1
  558. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  559. package/build/dist/UI/Components/SideOver/SideOver.js +23 -2
  560. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  561. package/build/dist/UI/Components/Skeleton/Skeleton.js +23 -0
  562. package/build/dist/UI/Components/Skeleton/Skeleton.js.map +1 -0
  563. package/build/dist/UI/Components/Table/Table.js +35 -24
  564. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  565. package/build/dist/UI/Components/Table/TableSkeletonRows.js +52 -0
  566. package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -0
  567. package/build/dist/UI/Components/Tabs/Tab.js +1 -1
  568. package/build/dist/UI/Components/Tabs/Tab.js.map +1 -1
  569. package/build/dist/UI/Components/Toast/Toast.js +77 -23
  570. package/build/dist/UI/Components/Toast/Toast.js.map +1 -1
  571. package/build/dist/UI/Components/Toast/ToastInit.js +37 -15
  572. package/build/dist/UI/Components/Toast/ToastInit.js.map +1 -1
  573. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -9
  574. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  575. package/build/dist/UI/Utils/ModelListCache.js +126 -0
  576. package/build/dist/UI/Utils/ModelListCache.js.map +1 -0
  577. package/build/dist/UI/Utils/Project.js +24 -1
  578. package/build/dist/UI/Utils/Project.js.map +1 -1
  579. package/build/dist/Utils/API.js +6 -1
  580. package/build/dist/Utils/API.js.map +1 -1
  581. package/build/dist/Utils/Monitor/MonitorMetricType.js +13 -1
  582. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  583. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +34 -7
  584. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  585. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +177 -0
  586. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -0
  587. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +23 -27
  588. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
  589. package/build/dist/Utils/Telemetry/CrossSignalScope.js +44 -4
  590. package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
  591. package/jest.config.json +1 -1
  592. package/package.json +2 -3
  593. package/Server/Utils/Monitor/MonitorClusterContext.ts +0 -182
  594. package/Tests/__mocks__/otpauth.js +0 -30
  595. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +0 -141
  596. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Android delivers a notification with the settings of the channel it names,
3
+ * not the settings in the payload - importance, sound and Do Not Disturb
4
+ * bypass are all fixed when the app creates the channel and cannot be raised
5
+ * afterwards. So "ring through silent mode" is expressed by picking a channel,
6
+ * and these ids are the contract for that choice.
7
+ *
8
+ * The app creates channels with exactly these ids in
9
+ * MobileApp/src/notifications/channels.ts. An id sent from here that the app
10
+ * never created does not fail loudly: Android falls back to a default channel
11
+ * and the page arrives with default settings, which for an on-call page means
12
+ * silently. Keep the two lists in step.
13
+ */
14
+ var AndroidNotificationChannel;
15
+ (function (AndroidNotificationChannel) {
16
+ /*
17
+ * Do Not Disturb bypass, alarm audio stream, MAX importance. Reserved for
18
+ * on-call pages from a device whose owner opted in and granted the app Do
19
+ * Not Disturb access.
20
+ */
21
+ AndroidNotificationChannel["Critical"] = "oncall_critical";
22
+ AndroidNotificationChannel["High"] = "oncall_high";
23
+ AndroidNotificationChannel["Normal"] = "oncall_normal";
24
+ AndroidNotificationChannel["Low"] = "oncall_low";
25
+ })(AndroidNotificationChannel || (AndroidNotificationChannel = {}));
26
+ export default AndroidNotificationChannel;
27
+ //# sourceMappingURL=AndroidNotificationChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AndroidNotificationChannel.js","sourceRoot":"","sources":["../../../../Types/PushNotification/AndroidNotificationChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,IAAK,0BAUJ;AAVD,WAAK,0BAA0B;IAC7B;;;;OAIG;IACH,0DAA4B,CAAA;IAC5B,kDAAoB,CAAA;IACpB,sDAAwB,CAAA;IACxB,gDAAkB,CAAA;AACpB,CAAC,EAVI,0BAA0B,KAA1B,0BAA0B,QAU9B;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,96 @@
1
+ import TechStack from "./TechStack";
2
+ export const SERVICE_LANGUAGE_DISPLAY_NAMES = {
3
+ java: "Java",
4
+ dotnet: ".NET",
5
+ nodejs: "Node.js",
6
+ python: "Python",
7
+ go: "Go",
8
+ ruby: "Ruby",
9
+ php: "PHP",
10
+ rust: "Rust",
11
+ erlang: "Erlang / Elixir",
12
+ swift: "Swift",
13
+ cpp: "C++",
14
+ webjs: "Browser JS",
15
+ };
16
+ const KNOWN_LANGUAGES = Object.keys(SERVICE_LANGUAGE_DISPLAY_NAMES);
17
+ /*
18
+ * process.runtime.name values seen in the wild → language. Checked as
19
+ * case-insensitive substrings, so "OpenJDK Runtime Environment" → java.
20
+ * Ordered: more specific markers first ("graalvm" before "go").
21
+ */
22
+ const RUNTIME_NAME_MARKERS = [
23
+ { marker: "openjdk", lang: "java" },
24
+ { marker: "graalvm", lang: "java" },
25
+ { marker: "java", lang: "java" },
26
+ { marker: "dotnet", lang: "dotnet" },
27
+ { marker: ".net", lang: "dotnet" },
28
+ { marker: "node", lang: "nodejs" },
29
+ { marker: "deno", lang: "nodejs" },
30
+ { marker: "bun", lang: "nodejs" },
31
+ { marker: "cpython", lang: "python" },
32
+ { marker: "pypy", lang: "python" },
33
+ { marker: "python", lang: "python" },
34
+ { marker: "beam", lang: "erlang" },
35
+ { marker: "erlang", lang: "erlang" },
36
+ { marker: "ruby", lang: "ruby" },
37
+ { marker: "php", lang: "php" },
38
+ { marker: "rust", lang: "rust" },
39
+ { marker: "swift", lang: "swift" },
40
+ { marker: "go", lang: "go" },
41
+ ];
42
+ // Manual tech-stack selections → language (JVM languages map to java).
43
+ const TECH_STACK_LANGUAGES = {
44
+ [TechStack.Java]: "java",
45
+ [TechStack.Kotlin]: "java",
46
+ [TechStack.CSharp]: "dotnet",
47
+ [TechStack.NodeJS]: "nodejs",
48
+ [TechStack.TypeScript]: "nodejs",
49
+ [TechStack.JavaScript]: "nodejs",
50
+ [TechStack.React]: "webjs",
51
+ [TechStack.Python]: "python",
52
+ [TechStack.Go]: "go",
53
+ [TechStack.Ruby]: "ruby",
54
+ [TechStack.PHP]: "php",
55
+ [TechStack.Rust]: "rust",
56
+ [TechStack.Swift]: "swift",
57
+ [TechStack.CPlusPlus]: "cpp",
58
+ };
59
+ /*
60
+ * Best-effort language for a service, in descending order of trust:
61
+ *
62
+ * 1. `telemetry.sdk.language` — stamped by the SDK itself, so it is what the
63
+ * process actually runs on rather than what anyone believes it runs on.
64
+ * 2. `process.runtime.name` — present when runtime instrumentation is on but
65
+ * the SDK attribute did not survive a collector hop.
66
+ * 3. The manually-chosen tech stack — a human's answer, used only when the
67
+ * telemetry has not answered.
68
+ *
69
+ * Returns null when nothing identifies the runtime. Callers must treat that as
70
+ * "unknown", never as a default language: recommending JVM heap monitors to a
71
+ * service that turns out to be Go is worse than recommending nothing.
72
+ */
73
+ export const detectServiceLanguage = (data) => {
74
+ const sdkLanguage = (data.telemetrySdkLanguage || "")
75
+ .trim()
76
+ .toLowerCase();
77
+ if (sdkLanguage && KNOWN_LANGUAGES.includes(sdkLanguage)) {
78
+ return sdkLanguage;
79
+ }
80
+ const runtimeName = (data.runtimeName || "").trim().toLowerCase();
81
+ if (runtimeName) {
82
+ for (const entry of RUNTIME_NAME_MARKERS) {
83
+ if (runtimeName.includes(entry.marker)) {
84
+ return entry.lang;
85
+ }
86
+ }
87
+ }
88
+ for (const stack of data.techStack || []) {
89
+ const lang = TECH_STACK_LANGUAGES[stack];
90
+ if (lang) {
91
+ return lang;
92
+ }
93
+ }
94
+ return null;
95
+ };
96
+ //# sourceMappingURL=ServiceLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLanguage.js","sourceRoot":"","sources":["../../../../Types/Service/ServiceLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAiCpC,MAAM,CAAC,MAAM,8BAA8B,GAAoC;IAC7E,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,eAAe,GAA2B,MAAM,CAAC,IAAI,CACzD,8BAA8B,CACL,CAAC;AAE5B;;;;GAIG;AACH,MAAM,oBAAoB,GAAqD;IAC7E,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAChC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAChC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;CAC7B,CAAC;AAEF,uEAAuE;AACvE,MAAM,oBAAoB,GAAgD;IACxE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IACxB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IAC1B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC5B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC5B,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ;IAChC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ;IAChC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO;IAC1B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC5B,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI;IACpB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IACxB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK;IACtB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IACxB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO;IAC1B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK;CAC7B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAIH,CAAC,IAI/B,EAA0B,EAAE;IAC3B,MAAM,WAAW,GAAW,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;SAC1D,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,WAA8B,CAAC,EAAE,CAAC;QAC5E,OAAO,WAA8B,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAW,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAgC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Search engine indexing for status pages.
3
+ *
4
+ * A status page is indexable unless its owner turned indexing off
5
+ * (StatusPage.enableSearchEngineIndexing, which defaults to true). The
6
+ * opt-out is carried to crawlers two ways:
7
+ *
8
+ * - <meta name="robots" content="noindex, nofollow"> in the server-rendered
9
+ * index.ejs, which is in the HTML before the JS bundle loads
10
+ * - an X-Robots-Tag response header, which crawlers also honour on
11
+ * responses that are not HTML (the RSS feed, llms.txt)
12
+ *
13
+ * Both live here rather than in each renderer because the status page is
14
+ * rendered by two servers - the standalone status-page container
15
+ * (App/FeatureSet/StatusPage/Serve.ts) and the combined App container
16
+ * (App/FeatureSet/Frontend/Index.ts) - and the two must not drift.
17
+ */
18
+ /*
19
+ * nofollow rides along with noindex: a page that is meant to stay out of
20
+ * search results should not be passing crawl signals to the pages it links to
21
+ * either. This is the same directive Atlassian Statuspage and Status.io emit
22
+ * for their equivalent setting.
23
+ */
24
+ export const NOINDEX_ROBOTS_DIRECTIVE = "noindex, nofollow";
25
+ export const X_ROBOTS_TAG_HEADER_NAME = "X-Robots-Tag";
26
+ /*
27
+ * Name of the flag on the status page /seo API response, and of the variable
28
+ * handed to index.ejs. Kept as a constant so the API, the two renderers and
29
+ * the template cannot disagree about the spelling.
30
+ */
31
+ export const SEARCH_ENGINE_INDEXING_FLAG_NAME = "enableSearchEngineIndexing";
32
+ /**
33
+ * Reads the indexing flag off an untyped value - a JSON field from the /seo
34
+ * API, or a column that predates the migration.
35
+ *
36
+ * Everything that is not an explicit "off" means indexable. Failing this open
37
+ * is deliberate: the flag reaches the renderers over an internal HTTP call,
38
+ * and a blip on that call must not de-index a page whose owner never asked for
39
+ * that. The opposite failure (one render of a noindex page missing its meta
40
+ * tag) costs nothing permanent, because crawlers re-fetch.
41
+ */
42
+ export function isSearchEngineIndexingEnabled(value) {
43
+ if (value === false) {
44
+ return false;
45
+ }
46
+ /*
47
+ * JSON round-trips and query strings can turn the boolean into a string.
48
+ * "false" is the only spelling either produces for false.
49
+ */
50
+ if (value === "false") {
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ //# sourceMappingURL=SearchEngineIndexing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchEngineIndexing.js","sourceRoot":"","sources":["../../../../Types/StatusPage/SearchEngineIndexing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAW,mBAAmB,CAAC;AAEpE,MAAM,CAAC,MAAM,wBAAwB,GAAW,cAAc,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,4BAA4B,CAAC;AAE/B;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,156 @@
1
+ /*
2
+ * The resource facets of the telemetry explorers (Logs / Traces), split by
3
+ * how a selection has to be turned into a predicate.
4
+ *
5
+ * A signal row names exactly one *primary* entity (`primaryEntityId` +
6
+ * `primaryEntityType`) and, since the entity model shipped, the full
7
+ * membership set it belongs to (`entityKeys`). Which of the two a facet
8
+ * selection has to be matched against depends on the ingestion path:
9
+ *
10
+ * - Agent-ingested resource telemetry (Infrastructure / Docker / Podman /
11
+ * Kubernetes agents) has no `service.name`, so the resource IS the
12
+ * primary entity and `primaryEntityId` holds its Postgres id.
13
+ * - OTLP telemetry that carries a `service.name` is primary-keyed on its
14
+ * Service (`OtelIngestBaseService.selectPrimaryEntity`); the host /
15
+ * cluster it runs on is recorded only in `entityKeys`.
16
+ *
17
+ * The second case is why coalescing every resource facet into one
18
+ * `primaryEntityId IN (...)` list returned nothing for a Kubernetes cluster
19
+ * ingested through an OpenTelemetry Collector: the cluster id was compared
20
+ * against a column that only ever held the Service id. Selections on these
21
+ * facets therefore compile to a per-facet OR of both memberships, and the
22
+ * per-facet groups AND with each other so "cluster X" + "service Y"
23
+ * intersects instead of unioning.
24
+ */
25
+ /**
26
+ * Facets whose values are Service ids — the ids that legitimately live in
27
+ * `primaryEntityId` for OTLP telemetry. `serviceId` is the pre-rename alias
28
+ * kept for stale clients (see ResourceFacetResolver).
29
+ */
30
+ export const SERVICE_FACET_KEYS = [
31
+ "primaryEntityId",
32
+ "serviceId",
33
+ ];
34
+ /**
35
+ * Facets whose values are ids of a NON-Service resource row. These are the
36
+ * ones that need the entity-key treatment; the value is a Postgres id
37
+ * (Host / DockerHost / PodmanHost / KubernetesCluster) which the server
38
+ * resolves to the resource's identifying value and then to its entity key.
39
+ */
40
+ export const RESOURCE_ENTITY_FACET_KEYS = [
41
+ "hostId",
42
+ "dockerHostId",
43
+ "podmanHostId",
44
+ "kubernetesClusterId",
45
+ ];
46
+ const RESOURCE_ENTITY_FACET_KEY_SET = new Set(RESOURCE_ENTITY_FACET_KEYS);
47
+ const SERVICE_FACET_KEY_SET = new Set(SERVICE_FACET_KEYS);
48
+ /**
49
+ * Every facet key that names a resource, in either group. Kept so call
50
+ * sites that only need "is this a resource chip?" (chip rendering, scope
51
+ * hand-off) do not have to consult both sets.
52
+ */
53
+ export const ALL_RESOURCE_FACET_KEYS = [
54
+ ...SERVICE_FACET_KEYS,
55
+ ...RESOURCE_ENTITY_FACET_KEYS,
56
+ ];
57
+ export function isServiceFacetKey(facetKey) {
58
+ return SERVICE_FACET_KEY_SET.has(facetKey);
59
+ }
60
+ export function isResourceEntityFacetKey(facetKey) {
61
+ return RESOURCE_ENTITY_FACET_KEY_SET.has(facetKey);
62
+ }
63
+ export function isResourceFacetKey(facetKey) {
64
+ return isServiceFacetKey(facetKey) || isResourceEntityFacetKey(facetKey);
65
+ }
66
+ /**
67
+ * Collect the non-Service resource selections out of applied facet filters.
68
+ * Accepts anything entry-iterable so the Logs explorer can pass a
69
+ * `Map<string, Set<string>>` and the Traces explorer a plain record via
70
+ * `Object.entries`.
71
+ *
72
+ * Values are de-duplicated and empty facets are dropped, so an emptied chip
73
+ * group never becomes a `[]` that a reader might read as "match nothing".
74
+ */
75
+ export function collectResourceEntityFacetSelections(entries) {
76
+ const selections = {};
77
+ for (const [facetKey, values] of entries) {
78
+ if (!isResourceEntityFacetKey(facetKey)) {
79
+ continue;
80
+ }
81
+ const unique = new Set(selections[facetKey] || []);
82
+ for (const value of values) {
83
+ if (typeof value === "string" && value.length > 0) {
84
+ unique.add(value);
85
+ }
86
+ }
87
+ if (unique.size > 0) {
88
+ selections[facetKey] = Array.from(unique);
89
+ }
90
+ }
91
+ return selections;
92
+ }
93
+ /** Collect the Service-facet selections, same rules as the helper above. */
94
+ export function collectServiceFacetSelections(entries) {
95
+ const unique = new Set();
96
+ for (const [facetKey, values] of entries) {
97
+ if (!isServiceFacetKey(facetKey)) {
98
+ continue;
99
+ }
100
+ for (const value of values) {
101
+ if (typeof value === "string" && value.length > 0) {
102
+ unique.add(value);
103
+ }
104
+ }
105
+ }
106
+ return Array.from(unique);
107
+ }
108
+ /*
109
+ * Ids are ObjectID (UUID) strings. Validating the shape here means a
110
+ * malformed filter is dropped at the edge instead of reaching a lookup or a
111
+ * SQL parameter.
112
+ */
113
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
114
+ /** Upper bound on ids per facet, so a crafted request cannot send an unbounded list. */
115
+ export const MAX_RESOURCE_IDS_PER_FACET = 200;
116
+ /**
117
+ * Parse an untrusted `resourceFilters` value (request body field or a
118
+ * persisted saved-view query) into the canonical selection shape.
119
+ *
120
+ * Deliberately lenient: anything that is not `{ <known facet key>:
121
+ * <uuid>[] }` is dropped rather than turned into a predicate, because a
122
+ * malformed filter must mean "no constraint" — never "match nothing", which
123
+ * would show an empty explorer with no explanation.
124
+ */
125
+ export function parseResourceEntityFacetSelections(source) {
126
+ const selections = {};
127
+ if (!source || typeof source !== "object" || Array.isArray(source)) {
128
+ return selections;
129
+ }
130
+ const record = source;
131
+ for (const facetKey of Object.keys(record)) {
132
+ if (!isResourceEntityFacetKey(facetKey)) {
133
+ continue;
134
+ }
135
+ const raw = record[facetKey];
136
+ if (!Array.isArray(raw)) {
137
+ continue;
138
+ }
139
+ const ids = Array.from(new Set(raw.filter((value) => {
140
+ return typeof value === "string" && UUID_PATTERN.test(value);
141
+ }))).slice(0, MAX_RESOURCE_IDS_PER_FACET);
142
+ if (ids.length > 0) {
143
+ selections[facetKey] = ids;
144
+ }
145
+ }
146
+ return selections;
147
+ }
148
+ export function hasResourceEntityFacetSelections(selections) {
149
+ if (!selections) {
150
+ return false;
151
+ }
152
+ return Object.keys(selections).some((key) => {
153
+ return (selections[key] || []).length > 0;
154
+ });
155
+ }
156
+ //# sourceMappingURL=ResourceEntityFacet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceEntityFacet.js","sourceRoot":"","sources":["../../../../Types/Telemetry/ResourceEntityFacet.ts"],"names":[],"mappings":"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"}
@@ -183,18 +183,86 @@ class Text {
183
183
  }
184
184
  return null;
185
185
  }
186
- static generateRandomText(length) {
187
- if (!length) {
188
- length = 10;
186
+ /*
187
+ * Cryptographically secure random bytes, or null if this runtime has no
188
+ * CSPRNG at all.
189
+ *
190
+ * `globalThis.crypto` is the Web Crypto API: present in every browser, and a
191
+ * global in Node since 19. It is used here rather than `require("crypto")`
192
+ * because this file is bundled into the dashboard as well as the server, so
193
+ * it cannot reach for a Node built-in.
194
+ */
195
+ static getSecureRandomBytes(byteCount) {
196
+ const webCrypto = globalThis.crypto || {};
197
+ if (typeof webCrypto.getRandomValues !== "function") {
198
+ return null;
189
199
  }
190
- let result = "";
191
- const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
200
+ return webCrypto.getRandomValues(new Uint8Array(byteCount));
201
+ }
202
+ /*
203
+ * Draw `length` characters uniformly at random from `characters`.
204
+ *
205
+ * TWO properties here are load-bearing, and this used to have neither:
206
+ *
207
+ * 1. The source is a CSPRNG. Math.random is a fast non-cryptographic PRNG
208
+ * (xorshift128+ in V8) whose entire internal state can be recovered from
209
+ * a handful of observed outputs and then run forwards AND backwards. For
210
+ * a value used as a secret that is worse than a short code: an attacker
211
+ * who sees one generated value predicts the next one exactly, with no
212
+ * guessing at all.
213
+ *
214
+ * 2. The draw is unbiased. `byte % n` is only uniform when n divides 256.
215
+ * Rejection sampling discards the short tail of the byte range instead of
216
+ * folding it, which is what keeps a k-character code at its full
217
+ * k * log2(n) bits of entropy.
218
+ *
219
+ * The Math.random fallback survives ONLY for the case where no CSPRNG exists
220
+ * at all, which is unreachable on any supported runtime. It is there so the
221
+ * non-secret callers - SQL alias suffixes in QueryHelper and friends, which
222
+ * run on every query - cannot be broken by an exotic environment. Secrets
223
+ * must NOT come through here: notification-channel codes go through
224
+ * Common/Server/Utils/VerificationCode.ts, which throws rather than
225
+ * downgrading.
226
+ */
227
+ static generateRandomString(length, characters) {
192
228
  const charactersLength = characters.length;
193
- for (let i = 0; i < length; i++) {
194
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
229
+ /*
230
+ * The largest multiple of charactersLength that fits in a byte. Bytes at
231
+ * or above it are thrown away rather than folded - that is the whole of
232
+ * the rejection sampling, and skipping it is what biases the result.
233
+ */
234
+ const unbiasedCeiling = 256 - (256 % charactersLength);
235
+ let result = "";
236
+ while (result.length < length) {
237
+ const remaining = length - result.length;
238
+ /*
239
+ * Over-draw a little so a rejected byte usually does not cost a second
240
+ * trip into the CSPRNG. With a 10-character alphabet fewer than 3% of
241
+ * bytes are rejected, so one pass almost always finishes the job.
242
+ */
243
+ const bytes = Text.getSecureRandomBytes(remaining + Math.ceil(remaining / 4) + 4);
244
+ if (!bytes) {
245
+ while (result.length < length) {
246
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
247
+ }
248
+ return result;
249
+ }
250
+ for (let i = 0; i < bytes.length; i++) {
251
+ if (result.length >= length) {
252
+ break;
253
+ }
254
+ const byte = bytes[i];
255
+ if (byte === undefined || byte >= unbiasedCeiling) {
256
+ continue;
257
+ }
258
+ result += characters.charAt(byte % charactersLength);
259
+ }
195
260
  }
196
261
  return result;
197
262
  }
263
+ static generateRandomText(length) {
264
+ return Text.generateRandomString(length || 10, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
265
+ }
198
266
  static trimLines(text) {
199
267
  return text
200
268
  .split("\n")
@@ -203,17 +271,14 @@ class Text {
203
271
  })
204
272
  .join("\n");
205
273
  }
274
+ /*
275
+ * The alphabet used to be the string "12134567890" - eleven characters, with
276
+ * "1" written twice and every digit therefore NOT equally likely. Combined
277
+ * with Math.random that made a six-digit code both biased and predictable.
278
+ * Both halves are fixed in generateRandomString above.
279
+ */
206
280
  static generateRandomNumber(length) {
207
- if (!length) {
208
- length = 10;
209
- }
210
- let result = "";
211
- const characters = "12134567890";
212
- const charactersLength = characters.length;
213
- for (let i = 0; i < length; i++) {
214
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
215
- }
216
- return result;
281
+ return Text.generateRandomString(length || 10, "0123456789");
217
282
  }
218
283
  static convertNumberToWords(num) {
219
284
  const words = [
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../Types/Text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../Types/Text.ts"],"names":[],"mappings":"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"}
@@ -36,21 +36,23 @@ const Button = ({ title, onClick, disabled, id, shortcutKey, type = ButtonType.B
36
36
  const translatedTitle = translateString(title);
37
37
  const translatedTooltip = translateString(tooltip);
38
38
  useEffect(() => {
39
- // componentDidMount
40
- if (shortcutKey) {
41
- window.addEventListener(`keydown`, (e) => {
42
- return handleKeyboard(e);
43
- });
39
+ if (!shortcutKey) {
40
+ return undefined;
44
41
  }
45
- // componentDidUnmount
42
+ /*
43
+ * One stable function for the whole subscription. The previous version
44
+ * passed a fresh arrow function to removeEventListener, which never
45
+ * matches the one that was added — every render leaked a live keydown
46
+ * listener for the lifetime of the page.
47
+ */
48
+ const onKeyDown = (event) => {
49
+ return handleKeyboard(event);
50
+ };
51
+ window.addEventListener(`keydown`, onKeyDown);
46
52
  return () => {
47
- if (shortcutKey) {
48
- window.removeEventListener(`keydown`, (e) => {
49
- return handleKeyboard(e);
50
- });
51
- }
53
+ window.removeEventListener(`keydown`, onKeyDown);
52
54
  };
53
- });
55
+ }, [shortcutKey, onClick]);
54
56
  const handleKeyboard = (event) => {
55
57
  if (event.target instanceof HTMLBodyElement && event.key && shortcutKey) {
56
58
  switch (event.key) {
@@ -76,13 +78,13 @@ const Button = ({ title, onClick, disabled, id, shortcutKey, type = ButtonType.B
76
78
  iconClassName += ` m-1`;
77
79
  }
78
80
  if (buttonStyle === ButtonStyleType.LINK) {
79
- buttonStyleCssClass = `text-indigo-600 hover:text-indigo-900 space-x-2`;
81
+ buttonStyleCssClass = `text-indigo-600 hover:text-indigo-900 space-x-2 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2`;
80
82
  if (icon) {
81
83
  buttonStyleCssClass += ` flex`;
82
84
  }
83
85
  }
84
86
  if (buttonStyle === ButtonStyleType.SECONDARY_LINK) {
85
- buttonStyleCssClass = `text-sm text-gray-400 hover:text-gray-500 space-x-2`;
87
+ buttonStyleCssClass = `text-sm text-gray-400 hover:text-gray-500 space-x-2 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2`;
86
88
  if (icon) {
87
89
  buttonStyleCssClass += ` flex`;
88
90
  }
@@ -134,6 +136,12 @@ const Button = ({ title, onClick, disabled, id, shortcutKey, type = ButtonType.B
134
136
  if (buttonStyle === ButtonStyleType.WARNING_OUTLINE) {
135
137
  buttonStyleCssClass = `inline-flex w-full justify-center rounded-md border border-yellow-700 bg-white text-base font-medium text-yellow-700 shadow-sm ${disabled ? "" : "hover:bg-yellow-50"} focus:outline-none focus:ring-2 focus:ring-yellow-500 focus:ring-offset-2 md:mt-0 md:ml-3 md:w-auto md:text-sm`;
136
138
  }
139
+ /*
140
+ * The one shared point every variant funnels through: hover/focus colour
141
+ * changes ease in instead of snapping, at the same 150ms the other
142
+ * primitives use.
143
+ */
144
+ buttonStyleCssClass += ` transition-colors duration-150 ease-out`;
137
145
  buttonStyleCssClass += ` ` + buttonSize;
138
146
  if (className) {
139
147
  buttonStyleCssClass += ` ` + className;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../UI/Components/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../UI/Components/Button/Button.tsx"],"names":[],"mappings":"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"}