@oneuptime/common 12.0.13 → 12.0.15

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 (561) hide show
  1. package/Models/DatabaseModels/GlobalOidc.ts +20 -0
  2. package/Models/DatabaseModels/GlobalSso.ts +20 -0
  3. package/Models/DatabaseModels/MarketingConversion.ts +19 -9
  4. package/Models/DatabaseModels/NetworkDeviceLinkRule.ts +46 -0
  5. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +14 -0
  6. package/Models/DatabaseModels/StatusPage.ts +7 -4
  7. package/Models/DatabaseModels/UserCall.ts +94 -3
  8. package/Models/DatabaseModels/UserEmail.ts +94 -3
  9. package/Models/DatabaseModels/UserIncomingCallNumber.ts +94 -3
  10. package/Models/DatabaseModels/UserPush.ts +37 -0
  11. package/Models/DatabaseModels/UserSMS.ts +94 -3
  12. package/Models/DatabaseModels/UserWhatsApp.ts +93 -2
  13. package/Server/API/BaseAPI.ts +79 -14
  14. package/Server/API/StatusPageAPI.ts +29 -4
  15. package/Server/API/UserCallAPI.ts +53 -45
  16. package/Server/API/UserEmailAPI.ts +53 -44
  17. package/Server/API/UserIncomingCallNumberAPI.ts +48 -38
  18. package/Server/API/UserNotificationMethodAdminAPI.ts +481 -0
  19. package/Server/API/UserPushAPI.ts +126 -2
  20. package/Server/API/UserSmsAPI.ts +53 -44
  21. package/Server/API/UserWhatsAppAPI.ts +53 -50
  22. package/Server/EnvironmentConfig.ts +7 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.ts +154 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.ts +17 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.ts +45 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1787800000000-AddScopeToNetworkDeviceLinkRule.ts +19 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1787900000000-AddRestrictToAttachedProjectsToGlobalSso.ts +40 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  29. package/Server/Middleware/SlackAuthorization.ts +43 -6
  30. package/Server/Middleware/UserAuthorization.ts +236 -26
  31. package/Server/Middleware/VerificationCodeRateLimit.ts +586 -0
  32. package/Server/Middleware/WhatsAppAuthorization.ts +43 -3
  33. package/Server/Services/AnalyticsDatabaseService.ts +169 -0
  34. package/Server/Services/DatabaseService.ts +101 -0
  35. package/Server/Services/GlobalOidcProjectService.ts +126 -1
  36. package/Server/Services/GlobalOidcService.ts +132 -0
  37. package/Server/Services/GlobalSsoProjectService.ts +126 -1
  38. package/Server/Services/GlobalSsoService.ts +132 -0
  39. package/Server/Services/LogAggregationService.ts +5 -0
  40. package/Server/Services/PushNotificationService.ts +127 -12
  41. package/Server/Services/TeamMemberService.ts +53 -13
  42. package/Server/Services/UserCallService.ts +55 -24
  43. package/Server/Services/UserEmailService.ts +83 -17
  44. package/Server/Services/UserIncomingCallNumberService.ts +49 -85
  45. package/Server/Services/UserNotificationMethodAdminService.ts +1527 -0
  46. package/Server/Services/UserNotificationRuleService.ts +26 -0
  47. package/Server/Services/UserPushService.ts +89 -0
  48. package/Server/Services/UserSmsService.ts +50 -17
  49. package/Server/Services/UserWhatsAppService.ts +48 -15
  50. package/Server/Types/Database/QueryHelper.ts +30 -0
  51. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +59 -0
  52. package/Server/Utils/ChannelVerification.ts +510 -0
  53. package/Server/Utils/CronTab.ts +73 -0
  54. package/Server/Utils/GlobalSsoAuthorization.ts +175 -0
  55. package/Server/Utils/Marketing/ConversionUploadProvider.ts +35 -5
  56. package/Server/Utils/Marketing/Providers/GoogleAds.ts +1 -1
  57. package/Server/Utils/Marketing/Providers/LinkedIn.ts +1 -1
  58. package/Server/Utils/Marketing/Providers/Meta.ts +1 -1
  59. package/Server/Utils/Marketing/Providers/MicrosoftAds.ts +1 -1
  60. package/Server/Utils/Marketing/Providers/Reddit.ts +1 -1
  61. package/Server/Utils/Monitor/Criteria/APIRequestCriteria.ts +48 -33
  62. package/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.ts +35 -30
  63. package/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.ts +33 -28
  64. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +475 -47
  65. package/Server/Utils/Monitor/Criteria/ExternalStatusPageMonitorCriteria.ts +35 -30
  66. package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +47 -44
  67. package/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.ts +33 -28
  68. package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +69 -40
  69. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +35 -29
  70. package/Server/Utils/Monitor/MonitorAlert.ts +24 -21
  71. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +8 -0
  72. package/Server/Utils/Monitor/MonitorIncident.ts +21 -18
  73. package/Server/Utils/Monitor/MonitorResource.ts +161 -21
  74. package/Server/Utils/Monitor/MonitorResourceContext.ts +107 -0
  75. package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +442 -0
  76. package/Server/Utils/Monitor/SeriesResourceLabels.ts +3 -3
  77. package/Server/Utils/Monitor/SeriesResourceLinker.ts +96 -28
  78. package/Server/Utils/StatusPageContentSecurityPolicy.ts +56 -0
  79. package/Server/Utils/StatusPageCustomizationAccess.ts +117 -0
  80. package/Server/Utils/TotpAuth.ts +137 -9
  81. package/Server/Utils/UserRegistrationToken.ts +182 -0
  82. package/Server/Utils/VerificationCode.ts +134 -0
  83. package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +173 -94
  84. package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +1151 -0
  85. package/Tests/App/Dashboard/AdminUserOnCallPages.test.tsx +905 -0
  86. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +338 -0
  87. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1 -1
  88. package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +28 -0
  89. package/Tests/Models/UserPushCriticalAlertColumn.test.ts +172 -0
  90. package/Tests/Server/API/BaseAPIGetListParallel.test.ts +519 -0
  91. package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +543 -0
  92. package/Tests/Server/API/StatusPageCustomizationOrigin.test.ts +348 -0
  93. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +108 -18
  94. package/Tests/Server/API/UserNotificationMethodAdminAPI.test.ts +963 -0
  95. package/Tests/Server/API/UserPushCriticalAlertsApi.test.ts +114 -0
  96. package/Tests/Server/API/UserSmsApi.test.ts +107 -14
  97. package/Tests/Server/API/UserTotpAuthAPI.test.ts +427 -0
  98. package/Tests/Server/Infrastructure/Postgres/FixTotpOtpUrlAlgorithmMigration.test.ts +265 -0
  99. package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +227 -0
  100. package/Tests/Server/Middleware/SlackAuthorization.test.ts +149 -0
  101. package/Tests/Server/Middleware/UserAuthorization.test.ts +27 -13
  102. package/Tests/Server/Middleware/UserAuthorizationGlobalSsoGovernance.test.ts +1455 -0
  103. package/Tests/Server/Middleware/UserAuthorizationSSOProvider.test.ts +91 -2
  104. package/Tests/Server/Middleware/VerificationCodeRateLimit.test.ts +775 -0
  105. package/Tests/Server/Middleware/WhatsAppAuthorization.test.ts +233 -0
  106. package/Tests/Server/Services/AddNetworkDeviceReachabilityColumnsMigration.test.ts +10 -62
  107. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +33 -13
  108. package/Tests/Server/Services/AnalyticsDatabaseSortKeyBoundary.test.ts +658 -0
  109. package/Tests/Server/Services/CriticalOnCallAlertDelivery.test.ts +458 -0
  110. package/Tests/Server/Services/CriticalPushAlertPayload.test.ts +301 -0
  111. package/Tests/Server/Services/DatabaseServiceAtomicIncrement.test.ts +143 -0
  112. package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1 -0
  113. package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +21 -8
  114. package/Tests/Server/Services/GlobalSsoProviderAuthorization.test.ts +1242 -0
  115. package/Tests/Server/Services/LogAggregationScanMemory.test.ts +421 -0
  116. package/Tests/Server/Services/LogAggregationService.test.ts +2 -2
  117. package/Tests/Server/Services/MonitorResourceProbeAgreementHydration.test.ts +459 -0
  118. package/Tests/Server/Services/MonitorResourceProbeAgreementReuse.test.ts +10 -0
  119. package/Tests/Server/Services/NotificationChannelCodeIssuance.test.ts +401 -0
  120. package/Tests/Server/Services/PushNotificationDeliveryOptions.test.ts +204 -0
  121. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +21 -1
  122. package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +290 -0
  123. package/Tests/Server/Services/UserNotificationMethodAdminService.test.ts +948 -0
  124. package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1 -0
  125. package/Tests/Server/Services/UserPushCriticalAlertToggle.test.ts +255 -0
  126. package/Tests/Server/Services/UserTotpAuthEnrolment.test.ts +218 -0
  127. package/Tests/Server/TestingUtils/AuthenticatorApp.ts +248 -0
  128. package/Tests/Server/Types/AnalyticsDatabase/AggregateUtilBucketTimestamp.test.ts +416 -0
  129. package/Tests/Server/Types/Database/Permissions/NotificationChannelVerificationColumns.test.ts +135 -0
  130. package/Tests/Server/Types/Database/Permissions/OnCallScheduleRelationSelect.test.ts +504 -0
  131. package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAnyOf.test.ts +91 -0
  132. package/Tests/Server/Types/Database/QueryHelperManyToManyAndEmptyValues.test.ts +551 -0
  133. package/Tests/Server/Types/Database/SelectUtil.test.ts +348 -0
  134. package/Tests/Server/Types/Workflow/Components/JsonToText.test.ts +384 -0
  135. package/Tests/Server/Types/Workflow/Components/MergeJson.test.ts +403 -0
  136. package/Tests/Server/Utils/Browser.test.ts +162 -0
  137. package/Tests/Server/Utils/ChannelVerification.test.ts +689 -0
  138. package/Tests/Server/Utils/CronTab.test.ts +116 -0
  139. package/Tests/Server/Utils/Express.test.ts +371 -0
  140. package/Tests/Server/Utils/GlobalSSOToken.test.ts +581 -0
  141. package/Tests/Server/Utils/GlobalSsoAuthorization.test.ts +1401 -0
  142. package/Tests/Server/Utils/Marketing/AdUploadableConversionTypes.test.ts +254 -0
  143. package/Tests/Server/Utils/Marketing/ConversionUploadProvider.test.ts +1 -1
  144. package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaEvaluateOverTime.test.ts +508 -0
  145. package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaPortTimings.test.ts +30 -9
  146. package/Tests/Server/Utils/Monitor/Criteria/CustomCodeMonitorCriteria.test.ts +707 -0
  147. package/Tests/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.test.ts +698 -0
  148. package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +987 -0
  149. package/Tests/Server/Utils/Monitor/Criteria/ExternalStatusPageMonitorCriteria.test.ts +916 -0
  150. package/Tests/Server/Utils/Monitor/Criteria/IncomingEmailBodyCriteria.test.ts +243 -0
  151. package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestBodyCriteria.test.ts +278 -0
  152. package/Tests/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.test.ts +382 -0
  153. package/Tests/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.test.ts +1219 -0
  154. package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +160 -20
  155. package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +13 -8
  156. package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +162 -18
  157. package/Tests/Server/Utils/Monitor/MonitorResourceContext.test.ts +349 -0
  158. package/Tests/Server/Utils/Monitor/MonitorResourceIngestedStepSelection.test.ts +86 -0
  159. package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +690 -0
  160. package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +7 -2
  161. package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +92 -18
  162. package/Tests/Server/Utils/PushNotificationUtilCreators.test.ts +267 -0
  163. package/Tests/Server/Utils/StatusPageContentSecurityPolicy.test.ts +136 -0
  164. package/Tests/Server/Utils/StatusPageCustomizationAccess.test.ts +223 -0
  165. package/Tests/Server/Utils/Telemetry/OneuptimeLabel.test.ts +439 -0
  166. package/Tests/Server/Utils/TotpAuth.test.ts +719 -0
  167. package/Tests/Server/Utils/UserRegistrationToken.test.ts +322 -0
  168. package/Tests/Server/Utils/VerificationCode.test.ts +296 -0
  169. package/Tests/Types/AutoRemediation/AutoRemediationSuggestionStatus.test.ts +192 -0
  170. package/Tests/Types/Call/CallRequest.test.ts +189 -0
  171. package/Tests/Types/Dashboard/DashboardSize.test.ts +226 -0
  172. package/Tests/Types/Incident/IncidentSlaStatus.test.ts +191 -0
  173. package/Tests/Types/Metrics/MetricDashboardMetricType.test.ts +278 -0
  174. package/Tests/Types/Metrics/MetricPipelineRuleType.test.ts +517 -0
  175. package/Tests/Types/Monitor/IncomingMonitorDefaultCriteria.test.ts +470 -0
  176. package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +6 -4
  177. package/Tests/Types/Monitor/MonitorStepConfigHelpers.test.ts +165 -0
  178. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +262 -5
  179. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +1 -1
  180. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +1 -1
  181. package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +905 -0
  182. package/Tests/Types/NetworkDevice/NetworkDeviceLinkRuleScope.test.ts +215 -0
  183. package/Tests/Types/Service/ServiceLanguage.test.ts +255 -0
  184. package/Tests/Types/TextRandomGeneration.test.ts +211 -0
  185. package/Tests/UI/Components/Button.test.tsx +175 -1
  186. package/Tests/UI/Components/CodeBlockLanguages.test.tsx +236 -0
  187. package/Tests/UI/Components/CommandPalette/CommandPalette.test.tsx +568 -0
  188. package/Tests/UI/Components/CommandPalette/CommandPaletteKeyboard.test.tsx +239 -0
  189. package/Tests/UI/Components/CommandPalette/CommandPaletteProviders.test.tsx +400 -0
  190. package/Tests/UI/Components/CommandPalette/PaletteFilter.test.ts +234 -0
  191. package/Tests/UI/Components/CommandPalette/RecentCommands.test.ts +97 -0
  192. package/Tests/UI/Components/CountModelSideMenuItemGuard.test.tsx +198 -0
  193. package/Tests/UI/Components/FeedItemSafeMode.test.tsx +1 -1
  194. package/Tests/UI/Components/Forms/FormSubmitAnalytics.test.tsx +206 -0
  195. package/Tests/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.test.ts +267 -0
  196. package/Tests/UI/Components/List.test.tsx +9 -2
  197. package/Tests/UI/Components/ListLoadingStates.test.tsx +173 -0
  198. package/Tests/UI/Components/MarkdownLazy.test.tsx +113 -0
  199. package/Tests/UI/Components/MarkdownMermaidRetry.test.tsx +110 -0
  200. package/Tests/UI/Components/ModelTable/useCustomFieldColumns.test.tsx +8 -0
  201. package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +692 -0
  202. package/Tests/UI/Components/MoreMenuMotion.test.tsx +118 -0
  203. package/Tests/UI/Components/NavBarCommandKGating.test.tsx +178 -0
  204. package/Tests/UI/Components/OrderedStatesList.test.tsx +19 -2
  205. package/Tests/UI/Components/SideOverMotion.test.tsx +109 -0
  206. package/Tests/UI/Components/Skeleton.test.tsx +71 -0
  207. package/Tests/UI/Components/TableLoadingStates.test.tsx +279 -0
  208. package/Tests/UI/Components/Tabs.test.tsx +24 -0
  209. package/Tests/UI/Components/Toast.test.tsx +130 -7
  210. package/Tests/UI/Components/ToastStacking.test.tsx +198 -0
  211. package/Tests/UI/Utils/AIChatExport/ConversationMarkdown.test.ts +774 -0
  212. package/Tests/UI/Utils/AIChatExport/MarkdownBlocks.test.ts +791 -0
  213. package/Tests/UI/Utils/AIChatExport/MarkdownSafety.test.ts +544 -0
  214. package/Tests/UI/Utils/Dropdown.test.ts +423 -0
  215. package/Tests/UI/Utils/ModelAPITenantHeader.test.ts +122 -0
  216. package/Tests/UI/Utils/ModelListCache.test.ts +338 -0
  217. package/Tests/UI/Utils/ProjectListCacheInvalidation.test.ts +225 -0
  218. package/Tests/Utils/API.test.ts +16 -2
  219. package/Tests/Utils/Analytics.test.ts +187 -0
  220. package/Tests/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.test.ts +347 -0
  221. package/Tests/Utils/Dashboard/Components/DashboardListSharedArgs.test.ts +259 -0
  222. package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +466 -0
  223. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +80 -0
  224. package/Tests/Utils/Monitor/NetworkDeviceLinkRuleUtil.test.ts +1291 -0
  225. package/Tests/Utils/NetworkDiscovery/UnclaimedScanDiagnosis.test.ts +214 -0
  226. package/Tests/Utils/Rum/UrlScrubberSegments.test.ts +362 -0
  227. package/Types/Email/EmailTemplateType.ts +1 -0
  228. package/Types/Marketing/MarketingConversion.ts +12 -0
  229. package/Types/Monitor/CriteriaFilter.ts +9 -0
  230. package/Types/Monitor/MonitorCriteriaInstance.ts +41 -20
  231. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +131 -8
  232. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +48 -8
  233. package/Types/Monitor/ServiceAlertTemplates.ts +1352 -0
  234. package/Types/NetworkDevice/NetworkDeviceLinkRuleScope.ts +51 -0
  235. package/Types/Permission.ts +35 -0
  236. package/Types/PushNotification/AndroidNotificationChannel.ts +26 -0
  237. package/Types/PushNotification/PushNotificationMessage.ts +15 -0
  238. package/Types/PushNotification/PushNotificationRequest.ts +8 -16
  239. package/Types/Service/ServiceLanguage.ts +144 -0
  240. package/Types/Text.ts +111 -19
  241. package/UI/Components/Button/Button.tsx +27 -14
  242. package/UI/Components/CodeBlock/CodeBlock.tsx +54 -7
  243. package/UI/Components/CodeBlock/LanguageRegistry.ts +103 -0
  244. package/UI/Components/CommandPalette/CommandPalette.tsx +790 -0
  245. package/UI/Components/CommandPalette/PaletteFilter.ts +196 -0
  246. package/UI/Components/CommandPalette/PaletteRow.tsx +173 -0
  247. package/UI/Components/CommandPalette/RecentCommands.ts +57 -0
  248. package/UI/Components/CommandPalette/Types.ts +49 -0
  249. package/UI/Components/CommandPalette/UseProviderSearch.ts +129 -0
  250. package/UI/Components/Dropdown/Dropdown.tsx +6 -1
  251. package/UI/Components/Feed/FeedItem.tsx +1 -1
  252. package/UI/Components/FormModal/BasicFormModal.tsx +12 -0
  253. package/UI/Components/Forms/BasicForm.tsx +13 -1
  254. package/UI/Components/Forms/BasicModelForm.tsx +2 -1
  255. package/UI/Components/Forms/ModelForm.tsx +10 -1
  256. package/UI/Components/Forms/Utils/FormAnalyticsName.ts +39 -0
  257. package/UI/Components/List/List.tsx +37 -5
  258. package/UI/Components/List/ListSkeleton.tsx +54 -0
  259. package/UI/Components/Markdown.tsx/LazyMarkdownViewer.tsx +6 -1
  260. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +71 -26
  261. package/UI/Components/Modal/Modal.tsx +2 -2
  262. package/UI/Components/ModelFormModal/ModelFormModal.tsx +6 -1
  263. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  264. package/UI/Components/ModelTable/useCustomFieldColumns.ts +11 -5
  265. package/UI/Components/MoreMenu/MoreMenu.tsx +39 -1
  266. package/UI/Components/Navbar/NavBar.tsx +14 -1
  267. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +50 -5
  268. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +40 -1
  269. package/UI/Components/SideOver/SideOver.tsx +37 -2
  270. package/UI/Components/Skeleton/Skeleton.tsx +53 -0
  271. package/UI/Components/Table/Table.tsx +74 -44
  272. package/UI/Components/Table/TableSkeletonRows.tsx +141 -0
  273. package/UI/Components/Tabs/Tab.tsx +1 -1
  274. package/UI/Components/Toast/Toast.tsx +118 -53
  275. package/UI/Components/Toast/ToastInit.tsx +82 -32
  276. package/UI/Styles/Theme.css +40 -0
  277. package/UI/Utils/ModelAPI/ModelAPI.ts +20 -10
  278. package/UI/Utils/ModelListCache.ts +188 -0
  279. package/UI/Utils/Project.ts +29 -0
  280. package/Utils/API.ts +6 -1
  281. package/Utils/Analytics.ts +55 -2
  282. package/Utils/Monitor/MonitorMetricType.ts +40 -0
  283. package/Utils/Monitor/NetworkDeviceLinkRuleUtil.ts +587 -37
  284. package/Utils/NetworkDiscovery/UnclaimedScanDiagnosis.ts +115 -0
  285. package/build/dist/Models/DatabaseModels/GlobalOidc.js +21 -0
  286. package/build/dist/Models/DatabaseModels/GlobalOidc.js.map +1 -1
  287. package/build/dist/Models/DatabaseModels/GlobalSso.js +21 -0
  288. package/build/dist/Models/DatabaseModels/GlobalSso.js.map +1 -1
  289. package/build/dist/Models/DatabaseModels/MarketingConversion.js +20 -10
  290. package/build/dist/Models/DatabaseModels/MarketingConversion.js.map +1 -1
  291. package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js +47 -0
  292. package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js.map +1 -1
  293. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +14 -0
  294. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  295. package/build/dist/Models/DatabaseModels/StatusPage.js +4 -4
  296. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  297. package/build/dist/Models/DatabaseModels/UserCall.js +101 -3
  298. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  299. package/build/dist/Models/DatabaseModels/UserEmail.js +101 -3
  300. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  301. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js +101 -3
  302. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js.map +1 -1
  303. package/build/dist/Models/DatabaseModels/UserPush.js +38 -0
  304. package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
  305. package/build/dist/Models/DatabaseModels/UserSMS.js +101 -3
  306. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  307. package/build/dist/Models/DatabaseModels/UserWhatsApp.js +100 -2
  308. package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
  309. package/build/dist/Server/API/BaseAPI.js +69 -13
  310. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  311. package/build/dist/Server/API/StatusPageAPI.js +25 -4
  312. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  313. package/build/dist/Server/API/UserCallAPI.js +42 -38
  314. package/build/dist/Server/API/UserCallAPI.js.map +1 -1
  315. package/build/dist/Server/API/UserEmailAPI.js +42 -38
  316. package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
  317. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +37 -32
  318. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  319. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js +341 -0
  320. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js.map +1 -0
  321. package/build/dist/Server/API/UserPushAPI.js +95 -2
  322. package/build/dist/Server/API/UserPushAPI.js.map +1 -1
  323. package/build/dist/Server/API/UserSmsAPI.js +42 -38
  324. package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
  325. package/build/dist/Server/API/UserWhatsAppAPI.js +42 -40
  326. package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
  327. package/build/dist/Server/EnvironmentConfig.js +6 -0
  328. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  329. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js +89 -0
  330. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js.map +1 -0
  331. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js +12 -0
  332. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js.map +1 -0
  333. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js +40 -0
  334. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js.map +1 -0
  335. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787800000000-AddScopeToNetworkDeviceLinkRule.js +12 -0
  336. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787800000000-AddScopeToNetworkDeviceLinkRule.js.map +1 -0
  337. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787900000000-AddRestrictToAttachedProjectsToGlobalSso.js +29 -0
  338. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787900000000-AddRestrictToAttachedProjectsToGlobalSso.js.map +1 -0
  339. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  340. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  341. package/build/dist/Server/Middleware/SlackAuthorization.js +28 -4
  342. package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
  343. package/build/dist/Server/Middleware/UserAuthorization.js +197 -22
  344. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  345. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js +393 -0
  346. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js.map +1 -0
  347. package/build/dist/Server/Middleware/WhatsAppAuthorization.js +32 -2
  348. package/build/dist/Server/Middleware/WhatsAppAuthorization.js.map +1 -1
  349. package/build/dist/Server/Services/AnalyticsDatabaseService.js +136 -0
  350. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  351. package/build/dist/Server/Services/DatabaseService.js +74 -0
  352. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  353. package/build/dist/Server/Services/GlobalOidcProjectService.js +105 -0
  354. package/build/dist/Server/Services/GlobalOidcProjectService.js.map +1 -1
  355. package/build/dist/Server/Services/GlobalOidcService.js +127 -0
  356. package/build/dist/Server/Services/GlobalOidcService.js.map +1 -1
  357. package/build/dist/Server/Services/GlobalSsoProjectService.js +105 -0
  358. package/build/dist/Server/Services/GlobalSsoProjectService.js.map +1 -1
  359. package/build/dist/Server/Services/GlobalSsoService.js +127 -0
  360. package/build/dist/Server/Services/GlobalSsoService.js.map +1 -1
  361. package/build/dist/Server/Services/LogAggregationService.js +5 -0
  362. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  363. package/build/dist/Server/Services/PushNotificationService.js +69 -30
  364. package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
  365. package/build/dist/Server/Services/TeamMemberService.js +43 -7
  366. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  367. package/build/dist/Server/Services/UserCallService.js +54 -22
  368. package/build/dist/Server/Services/UserCallService.js.map +1 -1
  369. package/build/dist/Server/Services/UserEmailService.js +78 -17
  370. package/build/dist/Server/Services/UserEmailService.js.map +1 -1
  371. package/build/dist/Server/Services/UserIncomingCallNumberService.js +45 -74
  372. package/build/dist/Server/Services/UserIncomingCallNumberService.js.map +1 -1
  373. package/build/dist/Server/Services/UserNotificationMethodAdminService.js +1117 -0
  374. package/build/dist/Server/Services/UserNotificationMethodAdminService.js.map +1 -0
  375. package/build/dist/Server/Services/UserNotificationRuleService.js +20 -0
  376. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  377. package/build/dist/Server/Services/UserPushService.js +77 -0
  378. package/build/dist/Server/Services/UserPushService.js.map +1 -1
  379. package/build/dist/Server/Services/UserSmsService.js +50 -17
  380. package/build/dist/Server/Services/UserSmsService.js.map +1 -1
  381. package/build/dist/Server/Services/UserWhatsAppService.js +48 -15
  382. package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
  383. package/build/dist/Server/Types/Database/QueryHelper.js +27 -0
  384. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  385. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  386. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -1
  387. package/build/dist/Server/Utils/ChannelVerification.js +348 -0
  388. package/build/dist/Server/Utils/ChannelVerification.js.map +1 -0
  389. package/build/dist/Server/Utils/CronTab.js +66 -0
  390. package/build/dist/Server/Utils/CronTab.js.map +1 -1
  391. package/build/dist/Server/Utils/GlobalSsoAuthorization.js +112 -0
  392. package/build/dist/Server/Utils/GlobalSsoAuthorization.js.map +1 -0
  393. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js +17 -1
  394. package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js.map +1 -1
  395. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js +1 -1
  396. package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js.map +1 -1
  397. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js +1 -1
  398. package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js.map +1 -1
  399. package/build/dist/Server/Utils/Marketing/Providers/Meta.js +1 -1
  400. package/build/dist/Server/Utils/Marketing/Providers/Meta.js.map +1 -1
  401. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js +1 -1
  402. package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js.map +1 -1
  403. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js +1 -1
  404. package/build/dist/Server/Utils/Marketing/Providers/Reddit.js.map +1 -1
  405. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js +37 -35
  406. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js.map +1 -1
  407. package/build/dist/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.js +21 -25
  408. package/build/dist/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.js.map +1 -1
  409. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js +20 -22
  410. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js.map +1 -1
  411. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +370 -42
  412. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  413. package/build/dist/Server/Utils/Monitor/Criteria/ExternalStatusPageMonitorCriteria.js +21 -25
  414. package/build/dist/Server/Utils/Monitor/Criteria/ExternalStatusPageMonitorCriteria.js.map +1 -1
  415. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +34 -37
  416. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
  417. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js +21 -25
  418. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js.map +1 -1
  419. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +64 -52
  420. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
  421. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +25 -29
  422. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  423. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +20 -17
  424. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  425. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +8 -0
  426. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  427. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +17 -14
  428. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  429. package/build/dist/Server/Utils/Monitor/MonitorResource.js +123 -23
  430. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  431. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +95 -0
  432. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -0
  433. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +313 -0
  434. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -0
  435. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +3 -3
  436. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +67 -26
  437. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
  438. package/build/dist/Server/Utils/StatusPageContentSecurityPolicy.js +39 -0
  439. package/build/dist/Server/Utils/StatusPageContentSecurityPolicy.js.map +1 -0
  440. package/build/dist/Server/Utils/StatusPageCustomizationAccess.js +85 -0
  441. package/build/dist/Server/Utils/StatusPageCustomizationAccess.js.map +1 -0
  442. package/build/dist/Server/Utils/TotpAuth.js +127 -8
  443. package/build/dist/Server/Utils/TotpAuth.js.map +1 -1
  444. package/build/dist/Server/Utils/UserRegistrationToken.js +170 -0
  445. package/build/dist/Server/Utils/UserRegistrationToken.js.map +1 -0
  446. package/build/dist/Server/Utils/VerificationCode.js +120 -0
  447. package/build/dist/Server/Utils/VerificationCode.js.map +1 -0
  448. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  449. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  450. package/build/dist/Types/Marketing/MarketingConversion.js +10 -0
  451. package/build/dist/Types/Marketing/MarketingConversion.js.map +1 -1
  452. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
  453. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  454. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +42 -21
  455. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  456. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +77 -5
  457. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
  458. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +18 -6
  459. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
  460. package/build/dist/Types/Monitor/ServiceAlertTemplates.js +1028 -0
  461. package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -0
  462. package/build/dist/Types/NetworkDevice/NetworkDeviceLinkRuleScope.js +46 -0
  463. package/build/dist/Types/NetworkDevice/NetworkDeviceLinkRuleScope.js.map +1 -0
  464. package/build/dist/Types/Permission.js +33 -0
  465. package/build/dist/Types/Permission.js.map +1 -1
  466. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js +27 -0
  467. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js.map +1 -0
  468. package/build/dist/Types/Service/ServiceLanguage.js +96 -0
  469. package/build/dist/Types/Service/ServiceLanguage.js.map +1 -0
  470. package/build/dist/Types/Text.js +82 -17
  471. package/build/dist/Types/Text.js.map +1 -1
  472. package/build/dist/UI/Components/Button/Button.js +22 -14
  473. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  474. package/build/dist/UI/Components/CodeBlock/CodeBlock.js +35 -3
  475. package/build/dist/UI/Components/CodeBlock/CodeBlock.js.map +1 -1
  476. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js +57 -0
  477. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js.map +1 -0
  478. package/build/dist/UI/Components/CommandPalette/CommandPalette.js +439 -0
  479. package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -0
  480. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js +135 -0
  481. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js.map +1 -0
  482. package/build/dist/UI/Components/CommandPalette/PaletteRow.js +83 -0
  483. package/build/dist/UI/Components/CommandPalette/PaletteRow.js.map +1 -0
  484. package/build/dist/UI/Components/CommandPalette/RecentCommands.js +47 -0
  485. package/build/dist/UI/Components/CommandPalette/RecentCommands.js.map +1 -0
  486. package/build/dist/UI/Components/CommandPalette/Types.js +2 -0
  487. package/build/dist/UI/Components/CommandPalette/Types.js.map +1 -0
  488. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js +88 -0
  489. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js.map +1 -0
  490. package/build/dist/UI/Components/Dropdown/Dropdown.js +6 -1
  491. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  492. package/build/dist/UI/Components/Feed/FeedItem.js +1 -1
  493. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  494. package/build/dist/UI/Components/FormModal/BasicFormModal.js +2 -1
  495. package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
  496. package/build/dist/UI/Components/Forms/BasicForm.js +10 -1
  497. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  498. package/build/dist/UI/Components/Forms/BasicModelForm.js +2 -1
  499. package/build/dist/UI/Components/Forms/BasicModelForm.js.map +1 -1
  500. package/build/dist/UI/Components/Forms/ModelForm.js +4 -1
  501. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  502. package/build/dist/UI/Components/Forms/Utils/FormAnalyticsName.js +33 -0
  503. package/build/dist/UI/Components/Forms/Utils/FormAnalyticsName.js.map +1 -0
  504. package/build/dist/UI/Components/List/List.js +19 -5
  505. package/build/dist/UI/Components/List/List.js.map +1 -1
  506. package/build/dist/UI/Components/List/ListSkeleton.js +21 -0
  507. package/build/dist/UI/Components/List/ListSkeleton.js.map +1 -0
  508. package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js.map +1 -1
  509. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +52 -25
  510. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  511. package/build/dist/UI/Components/Modal/Modal.js +2 -2
  512. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js +2 -1
  513. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
  514. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  515. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  516. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js +9 -2
  517. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js.map +1 -1
  518. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +32 -1
  519. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  520. package/build/dist/UI/Components/Navbar/NavBar.js +5 -1
  521. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  522. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +29 -5
  523. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  524. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +23 -1
  525. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  526. package/build/dist/UI/Components/SideOver/SideOver.js +23 -2
  527. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  528. package/build/dist/UI/Components/Skeleton/Skeleton.js +23 -0
  529. package/build/dist/UI/Components/Skeleton/Skeleton.js.map +1 -0
  530. package/build/dist/UI/Components/Table/Table.js +35 -24
  531. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  532. package/build/dist/UI/Components/Table/TableSkeletonRows.js +52 -0
  533. package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -0
  534. package/build/dist/UI/Components/Tabs/Tab.js +1 -1
  535. package/build/dist/UI/Components/Tabs/Tab.js.map +1 -1
  536. package/build/dist/UI/Components/Toast/Toast.js +77 -23
  537. package/build/dist/UI/Components/Toast/Toast.js.map +1 -1
  538. package/build/dist/UI/Components/Toast/ToastInit.js +37 -15
  539. package/build/dist/UI/Components/Toast/ToastInit.js.map +1 -1
  540. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -9
  541. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  542. package/build/dist/UI/Utils/ModelListCache.js +126 -0
  543. package/build/dist/UI/Utils/ModelListCache.js.map +1 -0
  544. package/build/dist/UI/Utils/Project.js +24 -1
  545. package/build/dist/UI/Utils/Project.js.map +1 -1
  546. package/build/dist/Utils/API.js +6 -1
  547. package/build/dist/Utils/API.js.map +1 -1
  548. package/build/dist/Utils/Analytics.js +50 -2
  549. package/build/dist/Utils/Analytics.js.map +1 -1
  550. package/build/dist/Utils/Monitor/MonitorMetricType.js +37 -0
  551. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  552. package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js +318 -37
  553. package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js.map +1 -1
  554. package/build/dist/Utils/NetworkDiscovery/UnclaimedScanDiagnosis.js +87 -0
  555. package/build/dist/Utils/NetworkDiscovery/UnclaimedScanDiagnosis.js.map +1 -0
  556. package/jest.config.json +1 -1
  557. package/package.json +2 -3
  558. package/Server/Utils/Monitor/MonitorClusterContext.ts +0 -182
  559. package/Tests/__mocks__/otpauth.js +0 -30
  560. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +0 -141
  561. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +0 -1
@@ -75,6 +75,43 @@ class MonitorMetricTypeUtil {
75
75
  throw new Error("Invalid MonitorMetricType value");
76
76
  }
77
77
  }
78
+ /**
79
+ * Metric series that backs this CheckOn, or null when nothing records it.
80
+ *
81
+ * The throwing variant below is kept for callers that genuinely cannot
82
+ * continue without a series. Over-time evaluation needs the null instead:
83
+ * it used to call the throwing one inside a try/catch that swallowed the
84
+ * error and quietly compared the instantaneous value, so "evaluate over
85
+ * time" was a no-op for every CheckOn missing from this map - DNS, SNMP
86
+ * and External Status Page checks among them.
87
+ */
88
+ static getMonitorMetricTypeByCheckOnOrNull(checkOn) {
89
+ switch (checkOn) {
90
+ /*
91
+ * DNS / SNMP / External Status Page probes write into the shared
92
+ * online and response-time series like every other probe check, so
93
+ * their CheckOns map onto those series rather than onto ones of their
94
+ * own.
95
+ */
96
+ case CheckOn.DnsIsOnline:
97
+ case CheckOn.SnmpIsOnline:
98
+ case CheckOn.ExternalStatusPageIsOnline:
99
+ return MonitorMetricType.IsOnline;
100
+ case CheckOn.DnsResponseTime:
101
+ case CheckOn.SnmpResponseTime:
102
+ case CheckOn.ExternalStatusPageResponseTime:
103
+ return MonitorMetricType.ResponseTime;
104
+ default:
105
+ break;
106
+ }
107
+ try {
108
+ return this.getMonitorMeticTypeByCheckOn(checkOn);
109
+ }
110
+ catch (_a) {
111
+ // No series records this CheckOn.
112
+ return null;
113
+ }
114
+ }
78
115
  static getMonitorMeticTypeByCheckOn(checkOn) {
79
116
  switch (checkOn) {
80
117
  case CheckOn.ResponseTime:
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorMetricType.js","sourceRoot":"","sources":["../../../../Utils/Monitor/MonitorMetricType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorMetricType.js","sourceRoot":"","sources":["../../../../Utils/Monitor/MonitorMetricType.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,71 @@
1
- /*
2
- * Turning label rules into uplinks.
3
- *
4
- * Pure data-in/data-out so the whole decision matrix — which is mostly about
5
- * REFUSING to draw things — is unit-testable without a database.
6
- *
7
- * The shape is a star, not a clique. A rule names a set of child labels and a
8
- * set of parent labels; every device carrying all the child labels gets one
9
- * edge to the single device carrying all the parent labels. Matching "devices
10
- * that share a label" symmetrically, which is what was originally asked for,
11
- * would turn one forty-device site label into 780 edges.
12
- */
13
- export default class NetworkDeviceLinkRuleUtil {
1
+ import { NetworkDeviceLinkRuleScopeUtil } from "../../Types/NetworkDevice/NetworkDeviceLinkRuleScope";
2
+ class NetworkDeviceLinkRuleUtil {
14
3
  /*
15
4
  * ALL of the rule's labels must be present on the device, not any. "Devices
16
5
  * that are both an access point AND on floor 1" is the question an operator
17
6
  * is asking; any-of would sweep in every access point in the building.
18
7
  */
19
- static deviceMatches(device, requiredLabelIds) {
20
- const owned = new Set(device.labelIds);
8
+ static matches(labelSet, requiredLabelIds) {
21
9
  return requiredLabelIds.every((labelId) => {
22
- return owned.has(labelId);
10
+ return labelSet.has(labelId);
23
11
  });
24
12
  }
13
+ static resolveGroup(rule, group) {
14
+ const parents = group.filter((entry) => {
15
+ return NetworkDeviceLinkRuleUtil.matches(entry.labelSet, rule.parentLabelIds);
16
+ });
17
+ /*
18
+ * Counted before the parent branch, not after: a site that failed to
19
+ * resolve still has to report how many devices are floating there, and
20
+ * that number is the operator's damage assessment.
21
+ */
22
+ const childCandidates = group.filter((entry) => {
23
+ return NetworkDeviceLinkRuleUtil.matches(entry.labelSet, rule.childLabelIds);
24
+ });
25
+ const childMatchCount = childCandidates.length;
26
+ if (parents.length === 0) {
27
+ return {
28
+ links: [],
29
+ parentMatchCount: 0,
30
+ childMatchCount: childMatchCount,
31
+ failure: "noParentMatched",
32
+ };
33
+ }
34
+ /*
35
+ * Two candidate parents is not a tie to break — it is a question the
36
+ * labels do not answer. Drawing to either one would assert a cabling
37
+ * fact nobody stated.
38
+ */
39
+ if (parents.length > 1) {
40
+ return {
41
+ links: [],
42
+ parentMatchCount: parents.length,
43
+ childMatchCount: childMatchCount,
44
+ failure: "ambiguousParent",
45
+ };
46
+ }
47
+ const parent = parents[0];
48
+ // The parent is excluded even when it matches both sets: no self-links.
49
+ const children = childCandidates.filter((entry) => {
50
+ return entry.device.id !== parent.device.id;
51
+ });
52
+ if (children.length === 0) {
53
+ return {
54
+ links: [],
55
+ parentMatchCount: 1,
56
+ childMatchCount: childMatchCount,
57
+ failure: "noChildrenMatched",
58
+ };
59
+ }
60
+ return {
61
+ links: children.map((child) => {
62
+ return { fromDeviceId: child.device.id, toDeviceId: parent.device.id };
63
+ }),
64
+ parentMatchCount: 1,
65
+ childMatchCount: childMatchCount,
66
+ failure: null,
67
+ };
68
+ }
25
69
  static resolveRule(rule, devices) {
26
70
  const empty = (reason, parents = 0, children = 0) => {
27
71
  return {
@@ -33,6 +77,13 @@ export default class NetworkDeviceLinkRuleUtil {
33
77
  matchedChildCount: children,
34
78
  };
35
79
  };
80
+ /*
81
+ * The three checks below are properties of the rule's TEXT, true in every
82
+ * site, so they are settled before scope is even read. A disabled rule is
83
+ * not "disabled in Unit 7", and partitioning a rule with an empty parent
84
+ * label set would make every site in the project ambiguous at once — the
85
+ * worst noise outcome available.
86
+ */
36
87
  if (rule.isEnabled === false) {
37
88
  return empty("disabled");
38
89
  }
@@ -47,38 +98,172 @@ export default class NetworkDeviceLinkRuleUtil {
47
98
  if (rule.parentLabelIds.length === 0) {
48
99
  return empty("noParentLabels");
49
100
  }
50
- const parents = devices.filter((device) => {
51
- return NetworkDeviceLinkRuleUtil.deviceMatches(device, rule.parentLabelIds);
101
+ const normalized = devices.map((device) => {
102
+ return {
103
+ device: device,
104
+ labelSet: new Set(device.labelIds),
105
+ siteKey: (device.siteId || "").toString().trim(),
106
+ };
52
107
  });
53
- if (parents.length === 0) {
108
+ if (NetworkDeviceLinkRuleScopeUtil.isSiteScoped(rule.scope)) {
109
+ return NetworkDeviceLinkRuleUtil.resolvePerSite(rule, normalized);
110
+ }
111
+ return NetworkDeviceLinkRuleUtil.resolveProject(rule, normalized, empty);
112
+ }
113
+ static resolveProject(rule, normalized, empty) {
114
+ const result = NetworkDeviceLinkRuleUtil.resolveGroup(rule, normalized);
115
+ if (result.failure === "noParentMatched") {
54
116
  return empty("noParentMatched", 0);
55
117
  }
56
- /*
57
- * Two candidate parents is not a tie to break — it is a question the
58
- * labels do not answer. Drawing to either one would assert a cabling
59
- * fact nobody stated.
60
- */
61
- if (parents.length > 1) {
62
- return empty("ambiguousParent", parents.length);
118
+ if (result.failure === "ambiguousParent") {
119
+ return empty("ambiguousParent", result.parentMatchCount);
63
120
  }
64
- const parent = parents[0];
65
- const children = devices.filter((device) => {
66
- // The parent is excluded even when it matches both sets: no self-links.
67
- return (device.id !== parent.id &&
68
- NetworkDeviceLinkRuleUtil.deviceMatches(device, rule.childLabelIds));
69
- });
70
- if (children.length === 0) {
121
+ if (result.failure === "noChildrenMatched") {
71
122
  return empty("noChildrenMatched", 1);
72
123
  }
73
124
  return {
74
125
  ruleId: rule.id,
75
126
  ruleName: rule.name,
76
- links: children.map((child) => {
77
- return { fromDeviceId: child.id, toDeviceId: parent.id };
78
- }),
127
+ links: result.links,
79
128
  matchedParentCount: 1,
80
- matchedChildCount: children.length,
129
+ matchedChildCount: result.links.length,
130
+ };
131
+ }
132
+ static resolvePerSite(rule, normalized) {
133
+ /*
134
+ * Bucketed in ONE pass in first-appearance order. Never
135
+ * `devices.filter(...)` inside a loop over sites: that is O(devices x
136
+ * sites) per rule, and this endpoint runs at ten thousand devices.
137
+ */
138
+ const buckets = new Map();
139
+ let unsitedChildDeviceCount = 0;
140
+ for (const entry of normalized) {
141
+ /*
142
+ * A device with no site is EXCLUDED, not pooled with the other unsited
143
+ * ones and not given a group of its own. Pooling would ask "exactly one
144
+ * parent among all the unsited devices", a question nobody posed, and
145
+ * would draw an edge between two boxes whose only relationship is that
146
+ * neither has been assigned a site yet. Counted instead, so the map can
147
+ * say how many the rule walked past.
148
+ */
149
+ if (entry.siteKey === "") {
150
+ if (NetworkDeviceLinkRuleUtil.matches(entry.labelSet, rule.childLabelIds)) {
151
+ unsitedChildDeviceCount++;
152
+ }
153
+ continue;
154
+ }
155
+ const bucket = buckets.get(entry.siteKey);
156
+ if (bucket) {
157
+ bucket.push(entry);
158
+ }
159
+ else {
160
+ buckets.set(entry.siteKey, [entry]);
161
+ }
162
+ }
163
+ const links = [];
164
+ const groupFailures = [];
165
+ let applicableSiteCount = 0;
166
+ let matchedParentCount = 0;
167
+ for (const [siteId, group] of buckets) {
168
+ const result = NetworkDeviceLinkRuleUtil.resolveGroup(rule, group);
169
+ if (result.links.length > 0) {
170
+ applicableSiteCount++;
171
+ matchedParentCount += result.parentMatchCount;
172
+ links.push(...result.links);
173
+ continue;
174
+ }
175
+ /*
176
+ * A site speaks only when it holds devices this rule wanted to place.
177
+ * Sites with nothing to place are not misconfigured — the rule simply
178
+ * does not apply there, and a parent label like `SubCategory:Router` is
179
+ * present in nearly every site by construction. Without this gate, site
180
+ * scoping would trade one loud failure for two hundred quiet ones and
181
+ * the banner would be ignored inside a week.
182
+ *
183
+ * `noChildrenMatched` lands here too: the only child candidate was the
184
+ * parent itself, so after the self-link exclusion there is nothing to
185
+ * place and nothing to report.
186
+ */
187
+ if (result.childMatchCount === 0 ||
188
+ result.failure === null ||
189
+ result.failure === "noChildrenMatched") {
190
+ continue;
191
+ }
192
+ applicableSiteCount++;
193
+ matchedParentCount += result.parentMatchCount;
194
+ groupFailures.push({
195
+ siteId: siteId,
196
+ siteName: NetworkDeviceLinkRuleUtil.siteNameOf(group),
197
+ reason: result.failure,
198
+ matchedParentCount: result.parentMatchCount,
199
+ matchedChildCount: result.childMatchCount,
200
+ });
201
+ }
202
+ const outcome = {
203
+ ruleId: rule.id,
204
+ ruleName: rule.name,
205
+ links: links,
206
+ matchedParentCount: matchedParentCount,
207
+ matchedChildCount: links.length,
208
+ applicableSiteCount: applicableSiteCount,
81
209
  };
210
+ /*
211
+ * Keeps `links.length === 0 <=> skipReason defined` true with no gaps, so
212
+ * describeOutcome can never fall through to "Draws 0 uplinks" on an empty
213
+ * outcome. The second arm covers both an empty device list and a rule
214
+ * whose labels match nothing anywhere.
215
+ */
216
+ if (links.length === 0) {
217
+ outcome.skipReason =
218
+ groupFailures.length > 0 ? "noSiteResolved" : "noChildrenMatched";
219
+ }
220
+ if (groupFailures.length > 0) {
221
+ outcome.groupFailures = groupFailures;
222
+ }
223
+ if (unsitedChildDeviceCount > 0) {
224
+ outcome.unsitedChildDeviceCount = unsitedChildDeviceCount;
225
+ }
226
+ return outcome;
227
+ }
228
+ /** First non-empty site name among a site's devices, if any of them carry one. */
229
+ static siteNameOf(group) {
230
+ for (const entry of group) {
231
+ if (entry.device.siteName) {
232
+ return entry.device.siteName;
233
+ }
234
+ }
235
+ return undefined;
236
+ }
237
+ /*
238
+ * "Unit 4, Unit 9 and 2 more sites".
239
+ *
240
+ * Sorted before naming, and that is load-bearing rather than cosmetic: the
241
+ * live view refetches every sixty seconds and the device query has no ORDER
242
+ * BY, so an unsorted list would reshuffle the banner on every poll and read
243
+ * as a change that did not happen. The count stays exact even when the names
244
+ * are elided, so the operator always knows the true blast radius.
245
+ */
246
+ static describeSiteList(failures) {
247
+ const sorted = [...failures].sort((a, b) => {
248
+ return ((a.siteName || "").localeCompare(b.siteName || "") ||
249
+ a.siteId.localeCompare(b.siteId));
250
+ });
251
+ const names = sorted
252
+ .slice(0, NetworkDeviceLinkRuleUtil.MAX_NAMED_SITES)
253
+ .map((failure) => {
254
+ const name = failure.siteName || NetworkDeviceLinkRuleUtil.UNNAMED_SITE;
255
+ return name.length > NetworkDeviceLinkRuleUtil.MAX_SITE_NAME_LENGTH
256
+ ? `${name.slice(0, NetworkDeviceLinkRuleUtil.MAX_SITE_NAME_LENGTH - 1)}…`
257
+ : name;
258
+ });
259
+ const remaining = sorted.length - names.length;
260
+ if (remaining > 0) {
261
+ return `${names.join(", ")} and ${remaining} more site${remaining === 1 ? "" : "s"}`;
262
+ }
263
+ if (names.length === 1) {
264
+ return names[0];
265
+ }
266
+ return `${names.slice(0, -1).join(", ")} and ${names[names.length - 1]}`;
82
267
  }
83
268
  static resolveRules(rules, devices) {
84
269
  return rules.map((rule) => {
@@ -100,9 +285,105 @@ export default class NetworkDeviceLinkRuleUtil {
100
285
  return `${outcome.matchedParentCount} devices carry the parent labels. Exactly one must, or there is no way to tell which is the uplink.`;
101
286
  case "noChildrenMatched":
102
287
  return "No device carries the child labels yet.";
288
+ case "noSiteResolved":
289
+ return "No site resolved this rule.";
103
290
  default:
104
291
  return `Draws ${outcome.matchedChildCount} uplink${outcome.matchedChildCount === 1 ? "" : "s"}.`;
105
292
  }
106
293
  }
294
+ /**
295
+ * The operator-facing warning, or null when the rule needs no explanation.
296
+ *
297
+ * Singular on purpose: ONE bullet per rule, never one per site. The banner's
298
+ * length is then bounded by the number of rules the operator wrote — a small
299
+ * number they control — rather than by the number of sites in their project.
300
+ *
301
+ * This is also the only sanctioned "did this rule fail" predicate. A caller
302
+ * must not go back to testing `outcome.links.length === 0`, which a rule
303
+ * drawing thirteen of fourteen sites passes while genuinely failing.
304
+ */
305
+ static getWarning(outcome) {
306
+ const failures = outcome.groupFailures || [];
307
+ const unsited = outcome.unsitedChildDeviceCount || 0;
308
+ /*
309
+ * Project scope always lands here, and this branch is what the topology
310
+ * API used to compute inline: warn iff the rule drew nothing, using
311
+ * describeOutcome's own words. The `!skipReason` guard makes the old
312
+ * code's implicit assumption explicit rather than emitting a warning with
313
+ * an undefined reason.
314
+ */
315
+ if (failures.length === 0 && unsited === 0) {
316
+ if (outcome.links.length > 0 || !outcome.skipReason) {
317
+ return null;
318
+ }
319
+ return {
320
+ ruleId: outcome.ruleId,
321
+ ruleName: outcome.ruleName,
322
+ reason: outcome.skipReason,
323
+ message: NetworkDeviceLinkRuleUtil.describeOutcome(outcome),
324
+ };
325
+ }
326
+ const parts = [];
327
+ const applicableSiteCount = outcome.applicableSiteCount || 0;
328
+ if (outcome.links.length === 0) {
329
+ parts.push("No site resolved this rule.");
330
+ }
331
+ else if (applicableSiteCount > 1) {
332
+ // A single applicable site needs no coverage fraction.
333
+ parts.push(`Drawing in ${applicableSiteCount - failures.length} of ${applicableSiteCount} sites.`);
334
+ }
335
+ const ambiguous = failures.filter((failure) => {
336
+ return failure.reason === "ambiguousParent";
337
+ });
338
+ const parentless = failures.filter((failure) => {
339
+ return failure.reason === "noParentMatched";
340
+ });
341
+ if (ambiguous.length === 1) {
342
+ /*
343
+ * The trailing sentence deliberately echoes the project-scope wording so
344
+ * an operator's vocabulary does not fork between the two scopes.
345
+ */
346
+ parts.push(`${ambiguous[0].matchedParentCount} devices carry the parent labels in ${NetworkDeviceLinkRuleUtil.describeSiteList(ambiguous)}. Exactly one must, or there is no way to tell which is the uplink.`);
347
+ }
348
+ else if (ambiguous.length > 1) {
349
+ parts.push(`Several devices carry the parent labels in ${NetworkDeviceLinkRuleUtil.describeSiteList(ambiguous)}. Exactly one per site must, or there is no way to tell which is the uplink.`);
350
+ }
351
+ if (parentless.length > 0) {
352
+ const stranded = parentless.reduce((sum, failure) => {
353
+ return sum + failure.matchedChildCount;
354
+ }, 0);
355
+ parts.push(`No device carries the parent labels in ${NetworkDeviceLinkRuleUtil.describeSiteList(parentless)}, so ${stranded} ${stranded === 1 ? "device" : "devices"} there ${stranded === 1 ? "has" : "have"} no uplink.`);
356
+ }
357
+ /*
358
+ * Always last and always its own sentence: the fix here is "assign these
359
+ * devices to a site", not "fix your labels", so they are never folded into
360
+ * a site-name list.
361
+ */
362
+ if (unsited > 0) {
363
+ parts.push(`${unsited} ${unsited === 1 ? "device" : "devices"} carrying the child labels ${unsited === 1 ? "is" : "are"} not assigned to a site, so this site-scoped rule skips ${unsited === 1 ? "it" : "them"}.`);
364
+ }
365
+ return {
366
+ ruleId: outcome.ruleId,
367
+ ruleName: outcome.ruleName,
368
+ // Highest-ranked condition present. Ambiguity outranks a missing parent.
369
+ reason: ambiguous.length > 0
370
+ ? "ambiguousParent"
371
+ : parentless.length > 0
372
+ ? "noParentMatched"
373
+ : "devicesWithoutSite",
374
+ message: parts.join(" "),
375
+ };
376
+ }
107
377
  }
378
+ /*
379
+ * Appended by the caller when the device list hit its row cap. Lives here so
380
+ * every operator-facing string this feature produces stays in one file.
381
+ */
382
+ NetworkDeviceLinkRuleUtil.TRUNCATED_DEVICE_LIST_NOTE = "The device list was truncated, so some of these may be false alarms.";
383
+ // Three names is enough to recognise a pattern; fourteen is a wall of text.
384
+ NetworkDeviceLinkRuleUtil.MAX_NAMED_SITES = 3;
385
+ // Site names are ShortText and can run to 100 characters.
386
+ NetworkDeviceLinkRuleUtil.MAX_SITE_NAME_LENGTH = 40;
387
+ NetworkDeviceLinkRuleUtil.UNNAMED_SITE = "an unnamed site";
388
+ export default NetworkDeviceLinkRuleUtil;
108
389
  //# sourceMappingURL=NetworkDeviceLinkRuleUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkDeviceLinkRuleUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/NetworkDeviceLinkRuleUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NetworkDeviceLinkRuleUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/NetworkDeviceLinkRuleUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import OneUptimeDate from "../../Types/Date";
2
+ import ColumnLength from "../../Types/Database/ColumnLength";
3
+ /*
4
+ * Why a network discovery scan is still sitting in "Pending".
5
+ *
6
+ * A scan leaves "Pending" in exactly one place: the probe asks
7
+ * /probe/discovery-scan/list and the server claims a row for it
8
+ * (App/FeatureSet/Telemetry/API/ProbeIngest/DiscoveryScan.ts). Nothing on the
9
+ * server can make that happen — if the probe never asks, the row simply never
10
+ * moves.
11
+ *
12
+ * Until this existed, that outcome was completely silent. The scans list
13
+ * showed "Pending" and an em-dash in Responded Hosts, forever, with no
14
+ * timestamp, no probe state and no message anywhere in the product; the only
15
+ * evidence lived in the probe container's log, if the operator had it. That is
16
+ * what OneUptime issue #3287 reported: four scans submitted over an hour, all
17
+ * "Pending", nothing to act on.
18
+ *
19
+ * So this module writes the sentence the operator was missing. It is pure and
20
+ * lives in Common so the wording can be unit-tested without a database, the
21
+ * same way ScanTargetUtil's messages are.
22
+ *
23
+ * It deliberately does NOT fail the scan. A scan nobody has claimed is still
24
+ * perfectly runnable the moment the probe comes back, and a recurring one
25
+ * would tangle with the re-queue pass; what was missing was information, not a
26
+ * state change.
27
+ */
28
+ /*
29
+ * How long a scan may sit unclaimed before the job says anything.
30
+ *
31
+ * The probe polls every minute, so this is fifteen consecutive failed polls —
32
+ * long enough that a restarting probe, a redeploy or a brief network blip
33
+ * never produces a message, short enough to be useful while the operator is
34
+ * still looking at the page they just submitted from.
35
+ *
36
+ * It is NOT the whole guard against false positives: a scan queued behind
37
+ * another scan on the same probe is legitimately Pending for as long as that
38
+ * sweep takes (the claim endpoint hands out one at a time), so the caller
39
+ * excludes probes that currently have a scan In Progress. This threshold only
40
+ * decides how long an IDLE probe gets before its silence is worth reporting.
41
+ */
42
+ export const UNCLAIMED_PENDING_MINUTES = 15;
43
+ /*
44
+ * The two cases below are genuinely different problems with different fixes,
45
+ * and telling them apart is the entire point of this message: a probe that is
46
+ * not connected is an infrastructure problem the operator can see and fix,
47
+ * whereas a probe that IS connected and still is not claiming scans means the
48
+ * probe is running but its discovery job is not — an old image, a wedged
49
+ * sweep, or a probe that cannot reach the probe-ingest route specifically.
50
+ */
51
+ export function buildUnclaimedScanDiagnosis(probeState) {
52
+ const probeLabel = probeState.probeName
53
+ ? `Probe "${truncateProbeName(probeState.probeName)}"`
54
+ : "The assigned probe";
55
+ if (!probeState.isProbeConnected) {
56
+ const lastSeen = probeState.lastAliveAt
57
+ ? `It was last seen ${OneUptimeDate.fromNow(probeState.lastAliveAt)}.`
58
+ : "It has never connected.";
59
+ return (`Not started yet: ${probeLabel} is not connected to OneUptime, so it has not picked this scan up. ` +
60
+ `${lastSeen} The scan will run on its own as soon as the probe reconnects.`);
61
+ }
62
+ return (`Not started yet: ${probeLabel} is connected but has not picked this scan up for over ` +
63
+ `${UNCLAIMED_PENDING_MINUTES} minutes. Check that the probe is running a version that supports ` +
64
+ `network discovery, and that it can reach the probe-ingest endpoint. The scan will run on its own ` +
65
+ `once the probe starts claiming scans again.`);
66
+ }
67
+ /*
68
+ * statusMessage is a varchar(500) and this job writes through the full
69
+ * update pipeline, which does NOT clamp — an over-long value would throw and
70
+ * the diagnosis would be lost rather than truncated. The only unbounded part
71
+ * of the sentence is the probe's name (itself a ShortText column, so at most
72
+ * 100 characters), and it is cut here so the arithmetic holds for every
73
+ * possible name. See the test that asserts the worst case still fits.
74
+ */
75
+ const MAX_PROBE_NAME_LENGTH = 60;
76
+ function truncateProbeName(name) {
77
+ if (name.length <= MAX_PROBE_NAME_LENGTH) {
78
+ return name;
79
+ }
80
+ return name.substring(0, MAX_PROBE_NAME_LENGTH) + "…";
81
+ }
82
+ /*
83
+ * Exported so the job and its tests agree on the ceiling they are checking
84
+ * against, rather than both hard-coding 500.
85
+ */
86
+ export const MAX_SCAN_STATUS_MESSAGE_LENGTH = ColumnLength.LongText;
87
+ //# sourceMappingURL=UnclaimedScanDiagnosis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnclaimedScanDiagnosis.js","sourceRoot":"","sources":["../../../../Utils/NetworkDiscovery/UnclaimedScanDiagnosis.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAW,EAAE,CAAC;AAepD;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAmC;IAEnC,MAAM,UAAU,GAAW,UAAU,CAAC,SAAS;QAC7C,CAAC,CAAC,UAAU,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG;QACtD,CAAC,CAAC,oBAAoB,CAAC;IAEzB,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAW,UAAU,CAAC,WAAW;YAC7C,CAAC,CAAC,oBAAoB,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG;YACtE,CAAC,CAAC,yBAAyB,CAAC;QAE9B,OAAO,CACL,oBAAoB,UAAU,qEAAqE;YACnG,GAAG,QAAQ,gEAAgE,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAoB,UAAU,yDAAyD;QACvF,GAAG,yBAAyB,oEAAoE;QAChG,mGAAmG;QACnG,6CAA6C,CAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAW,EAAE,CAAC;AAEzC,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,GAAG,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW,YAAY,CAAC,QAAQ,CAAC"}
package/jest.config.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "^bullmq$": "<rootDir>/Tests/__mocks__/bullmq.js",
18
18
  "^locter$": "<rootDir>/Tests/__mocks__/locter.js",
19
19
  "^yaml$": "<rootDir>/Tests/__mocks__/yaml.js",
20
- "^otpauth$": "<rootDir>/Tests/__mocks__/otpauth.js",
20
+ "^otpauth$": "<rootDir>/node_modules/otpauth/dist/otpauth.node.cjs",
21
21
  "^@simplewebauthn/server$": "<rootDir>/Tests/__mocks__/simplewebauthn.js",
22
22
  "^botbuilder$": "<rootDir>/Tests/__mocks__/botbuilder.js",
23
23
  "^botbuilder-core$": "<rootDir>/Tests/__mocks__/botbuilder.js",