@oneuptime/common 12.0.32 → 12.0.33

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 (597) hide show
  1. package/Models/AnalyticsModels/Span.ts +14 -0
  2. package/Models/DatabaseModels/EnterpriseLicense.ts +56 -0
  3. package/Models/DatabaseModels/Index.ts +10 -0
  4. package/Models/DatabaseModels/Monitor.ts +76 -0
  5. package/Models/DatabaseModels/NetworkAlertPolicy.ts +690 -0
  6. package/Models/DatabaseModels/NetworkDevice.ts +176 -1
  7. package/Models/DatabaseModels/NetworkSite.ts +201 -2
  8. package/Models/DatabaseModels/NetworkSiteType.ts +102 -3
  9. package/Models/DatabaseModels/NetworkSnmpCredentialProfile.ts +841 -0
  10. package/Models/DatabaseModels/TelemetryException.ts +119 -0
  11. package/Models/DatabaseModels/UserNotificationEmailRollupBatch.ts +334 -0
  12. package/Models/DatabaseModels/UserNotificationEmailRollupItem.ts +370 -0
  13. package/Models/DatabaseModels/UserNotificationEmailRollupSetting.ts +282 -0
  14. package/Server/API/EnterpriseLicenseAPI.ts +391 -64
  15. package/Server/API/LlmProviderAPI.ts +137 -22
  16. package/Server/EnvironmentConfig.ts +14 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.ts +55 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.ts +31 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.ts +124 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.ts +132 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.ts +79 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.ts +191 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  24. package/Server/Infrastructure/QueueWorker.ts +38 -8
  25. package/Server/Middleware/BearerTokenAuthorization.ts +12 -0
  26. package/Server/Middleware/ProjectAuthorization.ts +11 -0
  27. package/Server/Middleware/SCIMAuthorization.ts +12 -0
  28. package/Server/Middleware/TelemetryIngest.ts +11 -0
  29. package/Server/Services/AIBillingService.ts +101 -27
  30. package/Server/Services/EnterpriseLicenseInstanceService.ts +197 -0
  31. package/Server/Services/EnterpriseLicenseService.ts +55 -0
  32. package/Server/Services/Index.ts +10 -0
  33. package/Server/Services/MonitorService.ts +143 -21
  34. package/Server/Services/MonitorStatusTimelineService.ts +150 -8
  35. package/Server/Services/MonitorTemplateService.ts +217 -1
  36. package/Server/Services/NetworkAlertPolicyEngineService.ts +2159 -0
  37. package/Server/Services/NetworkAlertPolicyService.ts +944 -0
  38. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +9 -10
  39. package/Server/Services/NetworkDeviceAutoImportRuleService.ts +60 -15
  40. package/Server/Services/NetworkDeviceService.ts +1032 -73
  41. package/Server/Services/NetworkSiteService.ts +1502 -129
  42. package/Server/Services/NetworkSiteTypeService.ts +1216 -0
  43. package/Server/Services/NetworkSnmpCredentialProfileService.ts +238 -0
  44. package/Server/Services/NotificationService.ts +118 -28
  45. package/Server/Services/ProjectService.ts +105 -48
  46. package/Server/Services/StatusPagePrivateUserService.ts +103 -3
  47. package/Server/Services/UserNotificationEmailRollupBatchService.ts +78 -0
  48. package/Server/Services/UserNotificationEmailRollupItemService.ts +79 -0
  49. package/Server/Services/UserNotificationEmailRollupSettingService.ts +113 -0
  50. package/Server/Services/UserNotificationSettingService.ts +62 -25
  51. package/Server/Services/UserService.ts +95 -0
  52. package/Server/Types/Database/QueryHelper.ts +2 -2
  53. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +14 -3
  54. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +10 -0
  55. package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +10 -0
  56. package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +62 -1
  57. package/Server/Utils/AI/Toolbox/AlertTools.ts +15 -1
  58. package/Server/Utils/Billing/BillingFailureNoticeThrottle.ts +80 -0
  59. package/Server/Utils/DataSource/HttpFetch.ts +9 -2
  60. package/Server/Utils/EmailRollup/EmailRollupConstants.ts +98 -0
  61. package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +872 -0
  62. package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +781 -0
  63. package/Server/Utils/EmailRollup/EmailRollupWriter.ts +368 -0
  64. package/Server/Utils/LLM/LLMService.ts +78 -0
  65. package/Server/Utils/LogRedaction.ts +8 -0
  66. package/Server/Utils/Logger.ts +79 -1
  67. package/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.ts +190 -0
  68. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +9 -2
  69. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +61 -1
  70. package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +14 -0
  71. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +49 -0
  72. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +255 -4
  73. package/Server/Utils/Monitor/MonitorMetricUtil.ts +41 -0
  74. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +43 -0
  75. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +499 -19
  76. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +66 -10
  77. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +238 -44
  78. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +146 -39
  79. package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +31 -18
  80. package/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.ts +213 -0
  81. package/Server/Utils/OutboundUserAgent.ts +152 -0
  82. package/Server/Utils/StartServer.ts +51 -19
  83. package/Server/Utils/Telemetry/CaptureSpan.ts +32 -8
  84. package/Server/Utils/Telemetry/ErrorClassResolver.ts +120 -0
  85. package/Server/Utils/Telemetry/SpanUtil.ts +33 -0
  86. package/Server/Utils/Telemetry.ts +198 -51
  87. package/Server/Views/Partials/SensitiveUrlToken.ejs +140 -0
  88. package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +134 -33
  89. package/Tests/App/Dashboard/AskAiSuggestedPrompts.test.ts +279 -0
  90. package/Tests/App/Dashboard/DashboardEditPermissions.test.tsx +517 -0
  91. package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +26 -0
  92. package/Tests/App/Dashboard/DeviceStatusHero.test.tsx +588 -0
  93. package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +18 -9
  94. package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +632 -0
  95. package/Tests/App/Dashboard/MonitorRecommendationCreateProgress.test.tsx +682 -0
  96. package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +4 -2
  97. package/Tests/App/Dashboard/NetworkDeviceCreateFormMonitorBinding.test.tsx +676 -0
  98. package/Tests/App/Dashboard/NetworkDeviceCreateFormPingMonitor.test.tsx +791 -0
  99. package/Tests/App/Dashboard/NetworkDeviceCreateFormProbeAndSnmp.test.tsx +833 -0
  100. package/Tests/App/Dashboard/NetworkDeviceCriteriaFilter.test.ts +161 -0
  101. package/Tests/App/Dashboard/NetworkDeviceSettingsMonitoringSection.test.tsx +458 -0
  102. package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +41 -5
  103. package/Tests/App/Dashboard/PingMonitorProvisioning.test.ts +368 -0
  104. package/Tests/App/Dashboard/RecommendationCard.test.tsx +796 -0
  105. package/Tests/App/Dashboard/RecommendationToolbar.test.tsx +519 -0
  106. package/Tests/App/Dashboard/RecommendationsList.test.tsx +661 -0
  107. package/Tests/App/Dashboard/UseBulkCreatePingMonitors.test.tsx +899 -0
  108. package/Tests/App/Dashboard/UseBulkSnmpCredentialProfileActions.test.tsx +732 -0
  109. package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +256 -0
  110. package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +11 -1
  111. package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +9 -4
  112. package/Tests/Models/NetworkSiteHierarchy.test.ts +41 -4
  113. package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +951 -7
  114. package/Tests/Server/API/LlmProviderConnectionTest.test.ts +522 -0
  115. package/Tests/Server/Infrastructure/Postgres/NetworkSnmpCredentialProfilesAndAlertPoliciesMigration.test.ts +854 -0
  116. package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +18 -0
  117. package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupTableMigration.test.ts +535 -0
  118. package/Tests/Server/Services/AIChatPrivacyPin.test.ts +560 -0
  119. package/Tests/Server/Services/BillingRechargeOwnerEmailGuards.test.ts +783 -0
  120. package/Tests/Server/Services/EnterpriseLicenseInstanceServiceDeletionUsage.test.ts +707 -0
  121. package/Tests/Server/Services/EnterpriseLicenseServiceUsageAggregationLock.test.ts +329 -0
  122. package/Tests/Server/Services/MonitorServiceDeleteNetworkDeviceCleanup.test.ts +294 -0
  123. package/Tests/Server/Services/MonitorStatusBridgeProbePath.test.ts +802 -0
  124. package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +72 -2
  125. package/Tests/Server/Services/NetworkAlertPolicyEngineHooks.test.ts +752 -0
  126. package/Tests/Server/Services/NetworkAlertPolicyEngineService.test.ts +1849 -0
  127. package/Tests/Server/Services/NetworkAlertPolicyModel.test.ts +1793 -0
  128. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +47 -4
  129. package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +97 -12
  130. package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +148 -3
  131. package/Tests/Server/Services/NetworkDeviceMonitorBindingUpdateGuard.test.ts +514 -0
  132. package/Tests/Server/Services/NetworkDeviceMonitorStatusStamp.test.ts +447 -58
  133. package/Tests/Server/Services/NetworkDeviceMonitoringMethodTransition.test.ts +739 -0
  134. package/Tests/Server/Services/NetworkDevicePollingTenancy.test.ts +501 -0
  135. package/Tests/Server/Services/NetworkDeviceSiteDefaultProbe.test.ts +432 -0
  136. package/Tests/Server/Services/NetworkSiteMonitoringDefaults.test.ts +498 -0
  137. package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +337 -55
  138. package/Tests/Server/Services/NetworkSiteService.test.ts +1868 -131
  139. package/Tests/Server/Services/NetworkSiteTypeService.test.ts +1109 -0
  140. package/Tests/Server/Services/NetworkSnmpCredentialProfileModel.test.ts +926 -0
  141. package/Tests/Server/Services/NetworkSnmpCredentialProfileService.test.ts +796 -0
  142. package/Tests/Server/Services/ProjectServiceNetworkSiteTypeDefaults.test.ts +214 -0
  143. package/Tests/Server/Services/StatusPagePrivateUserEmailChangePasswordResetExpiry.test.ts +269 -0
  144. package/Tests/Server/Services/UserEmailChangePasswordResetExpiry.test.ts +472 -0
  145. package/Tests/Server/Services/UserNotificationEmailRollupModels.test.ts +569 -0
  146. package/Tests/Server/Services/UserNotificationEmailRollupSettingModel.test.ts +314 -0
  147. package/Tests/Server/Services/UserNotificationEmailRollupSettingService.test.ts +409 -0
  148. package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +856 -0
  149. package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +102 -1
  150. package/Tests/Server/Types/Database/Permissions/DashboardAccessPermission.test.ts +321 -0
  151. package/Tests/Server/Types/Database/QueryHelperOperators.test.ts +17 -0
  152. package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +124 -0
  153. package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +208 -0
  154. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +235 -0
  155. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +253 -0
  156. package/Tests/Server/Utils/Captcha.test.ts +422 -0
  157. package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +96 -2
  158. package/Tests/Server/Utils/Database/MigrationFailureLog.test.ts +466 -0
  159. package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1096 -0
  160. package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerClaim.test.ts +466 -0
  161. package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +1428 -0
  162. package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +752 -0
  163. package/Tests/Server/Utils/EmailRollup/EmailRollupWriter.test.ts +864 -0
  164. package/Tests/Server/Utils/LoggerFaultDemotion.test.ts +346 -0
  165. package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +633 -0
  166. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +196 -0
  167. package/Tests/Server/Utils/Monitor/DatabaseMetricWrite.test.ts +367 -0
  168. package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +100 -0
  169. package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +5 -0
  170. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +512 -31
  171. package/Tests/Server/Utils/Monitor/NetworkDeviceMetricUtil.test.ts +252 -0
  172. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +479 -42
  173. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +351 -5
  174. package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +136 -12
  175. package/Tests/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.test.ts +306 -0
  176. package/Tests/Server/Utils/OutboundUserAgent.test.ts +266 -0
  177. package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClientUserAgent.test.ts +141 -0
  178. package/Tests/Server/Utils/Telemetry/ErrorClassResolver.test.ts +298 -0
  179. package/Tests/Server/Utils/Telemetry.test.ts +456 -66
  180. package/Tests/Types/Monitor/DatabaseMetricCatalog.test.ts +388 -0
  181. package/Tests/Types/Monitor/MonitorStepDatabaseMonitor.test.ts +243 -0
  182. package/Tests/Types/Monitor/MonitorStepDefaultTelemetryConfig.test.ts +1 -0
  183. package/Tests/Types/Monitor/MonitorType.test.ts +1 -0
  184. package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +16 -7
  185. package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +60 -0
  186. package/Tests/Types/NetworkDevice/NetworkAlertPolicyScope.test.ts +655 -0
  187. package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +115 -26
  188. package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +39 -0
  189. package/Tests/Types/NotificationSetting/NotificationEmailRollupPolicy.test.ts +299 -0
  190. package/Tests/Types/Telemetry/ErrorClass.test.ts +483 -0
  191. package/Tests/UI/Components/BasicRadioButtons.test.tsx +336 -0
  192. package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +15 -0
  193. package/Tests/UI/Components/ProgressBar.test.tsx +38 -2
  194. package/Tests/UI/Components/SideMenuItem.test.tsx +226 -4
  195. package/Tests/UI/Components/SideMenuSection.test.tsx +310 -0
  196. package/Tests/UI/Components/SideOverSubmitState.test.tsx +335 -0
  197. package/Tests/UI/Utils/PageScrollLock.test.tsx +377 -0
  198. package/Tests/UI/Utils/PermissionGate.test.ts +78 -0
  199. package/Tests/UI/Utils/SensitiveUrlToken.test.ts +140 -0
  200. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +69 -0
  201. package/Tests/Utils/EnterpriseLicenseSync.test.ts +7 -1
  202. package/Tests/Utils/EnterpriseLicenseUsage.test.ts +433 -2
  203. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +280 -1
  204. package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +1 -0
  205. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +38 -0
  206. package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +284 -23
  207. package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +177 -0
  208. package/Tests/Utils/NetworkDevice/MonitoringMethodThreadedClassifiers.test.ts +992 -0
  209. package/Tests/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.test.ts +427 -0
  210. package/Tests/Utils/NetworkDevice/ReachabilityStampConsistency.test.ts +185 -0
  211. package/Tests/Utils/NetworkDevice/SnmpCredentialUtil.test.ts +268 -0
  212. package/Tests/Utils/NetworkDiscovery/AutoImportRuleMatcher.test.ts +55 -5
  213. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +98 -21
  214. package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +98 -20
  215. package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +8 -7
  216. package/Tests/Utils/NetworkDiscovery/PingMonitorBuilderForAddress.test.ts +274 -0
  217. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +230 -51
  218. package/Tests/Utils/NetworkSite/TypeHierarchyUtil.test.ts +209 -0
  219. package/Tests/Utils/Telemetry/CaptureSpanExportGating.test.ts +145 -0
  220. package/Types/AI/ExceptionAIClassification.ts +10 -24
  221. package/Types/Email/EmailTemplateType.ts +2 -0
  222. package/Types/EnterpriseLicense/EnterpriseLicenseInstanceSummary.ts +5 -0
  223. package/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.ts +13 -0
  224. package/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.ts +6 -0
  225. package/Types/Exception/ApiException.ts +10 -0
  226. package/Types/Exception/BadDataException.ts +11 -0
  227. package/Types/Exception/BadRequestException.ts +11 -0
  228. package/Types/Exception/Exception.ts +65 -0
  229. package/Types/Exception/ForbiddenException.ts +10 -0
  230. package/Types/Exception/NotAuthenticatedException.ts +10 -0
  231. package/Types/Exception/NotAuthorizedException.ts +10 -0
  232. package/Types/Exception/NotFoundException.ts +11 -0
  233. package/Types/Exception/PayloadTooLargeException.ts +11 -0
  234. package/Types/Exception/PaymentRequiredException.ts +10 -0
  235. package/Types/Exception/ServiceUnavailableException.ts +10 -0
  236. package/Types/Exception/SsoAuthorizationException.ts +10 -0
  237. package/Types/Exception/TenantNotFoundException.ts +11 -0
  238. package/Types/Exception/TimeoutException.ts +10 -0
  239. package/Types/Exception/TooManyRequestsException.ts +10 -0
  240. package/Types/Exception/UnableToReachServer.ts +10 -0
  241. package/Types/Exception/WebsiteRequestException.ts +10 -0
  242. package/Types/Monitor/CriteriaFilter.ts +60 -2
  243. package/Types/Monitor/DatabaseMetricCatalog.ts +693 -0
  244. package/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.ts +83 -0
  245. package/Types/Monitor/MonitorCriteriaInstance.ts +76 -0
  246. package/Types/Monitor/MonitorMetricType.ts +71 -0
  247. package/Types/Monitor/MonitorStep.ts +76 -0
  248. package/Types/Monitor/MonitorStepDatabaseMonitor.ts +171 -0
  249. package/Types/Monitor/MonitorStepSqlMonitor.ts +2 -20
  250. package/Types/Monitor/MonitorType.ts +47 -1
  251. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +22 -1
  252. package/Types/Monitor/SqlConnectionConfig.ts +31 -0
  253. package/Types/NetworkDevice/NetworkAlertPolicyScope.ts +343 -0
  254. package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +42 -22
  255. package/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.ts +30 -0
  256. package/Types/NotificationSetting/NotificationEmailRollupCategory.ts +255 -0
  257. package/Types/NotificationSetting/NotificationEmailRollupPolicy.ts +104 -0
  258. package/Types/Permission.ts +90 -0
  259. package/Types/Probe/ProbeMonitorResponse.ts +16 -0
  260. package/Types/Telemetry/ErrorClass.ts +274 -0
  261. package/Types/Telemetry/UnitOfWork.ts +59 -0
  262. package/UI/Components/CommandPalette/CommandPalette.tsx +2 -8
  263. package/UI/Components/EditionLabel/EditionLabel.tsx +4 -0
  264. package/UI/Components/Modal/Modal.tsx +2 -8
  265. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +44 -0
  266. package/UI/Components/ProgressBar/ProgressBar.tsx +12 -1
  267. package/UI/Components/RadioButtons/BasicRadioButtons.tsx +37 -7
  268. package/UI/Components/SideMenu/SideMenu.tsx +123 -5
  269. package/UI/Components/SideMenu/SideMenuItem.tsx +76 -84
  270. package/UI/Components/SideMenu/SideMenuSection.tsx +55 -23
  271. package/UI/Components/SideOver/SideOver.tsx +21 -20
  272. package/UI/Utils/PageScrollLock.ts +79 -3
  273. package/UI/Utils/PermissionGate.ts +61 -0
  274. package/UI/Utils/SensitiveUrlToken.ts +112 -0
  275. package/UI/Utils/TestLLMProvider.ts +11 -0
  276. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +16 -0
  277. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +191 -11
  278. package/Utils/Monitor/MonitorMetricType.ts +153 -1
  279. package/Utils/Monitor/NetworkTopologyUtil.ts +23 -3
  280. package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +65 -14
  281. package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +43 -14
  282. package/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.ts +247 -0
  283. package/Utils/NetworkDevice/SnmpCredentialUtil.ts +68 -0
  284. package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +15 -7
  285. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +52 -17
  286. package/Utils/NetworkDiscovery/DiscoveryImportEligibility.ts +55 -23
  287. package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +115 -13
  288. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +66 -20
  289. package/Utils/NetworkSite/TypeHierarchyUtil.ts +313 -0
  290. package/build/dist/Models/AnalyticsModels/Span.js +14 -0
  291. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  292. package/build/dist/Models/DatabaseModels/EnterpriseLicense.js +59 -0
  293. package/build/dist/Models/DatabaseModels/EnterpriseLicense.js.map +1 -1
  294. package/build/dist/Models/DatabaseModels/Index.js +10 -0
  295. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  296. package/build/dist/Models/DatabaseModels/Monitor.js +75 -0
  297. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  298. package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js +713 -0
  299. package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js.map +1 -0
  300. package/build/dist/Models/DatabaseModels/NetworkDevice.js +180 -1
  301. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  302. package/build/dist/Models/DatabaseModels/NetworkSite.js +200 -2
  303. package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/NetworkSiteType.js +102 -3
  305. package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -1
  306. package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js +878 -0
  307. package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js.map +1 -0
  308. package/build/dist/Models/DatabaseModels/TelemetryException.js +123 -0
  309. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js +363 -0
  311. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js.map +1 -0
  312. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js +402 -0
  313. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js.map +1 -0
  314. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js +296 -0
  315. package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js.map +1 -0
  316. package/build/dist/Server/API/EnterpriseLicenseAPI.js +273 -60
  317. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
  318. package/build/dist/Server/API/LlmProviderAPI.js +108 -13
  319. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
  320. package/build/dist/Server/EnvironmentConfig.js +12 -0
  321. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  322. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js +24 -0
  323. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js.map +1 -0
  324. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js +16 -0
  325. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js.map +1 -0
  326. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js +111 -0
  327. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js.map +1 -0
  328. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js +77 -0
  329. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js.map +1 -0
  330. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js +50 -0
  331. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js.map +1 -0
  332. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js +83 -0
  333. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js.map +1 -0
  334. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  335. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  336. package/build/dist/Server/Infrastructure/QueueWorker.js +33 -5
  337. package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
  338. package/build/dist/Server/Middleware/BearerTokenAuthorization.js +12 -0
  339. package/build/dist/Server/Middleware/BearerTokenAuthorization.js.map +1 -1
  340. package/build/dist/Server/Middleware/ProjectAuthorization.js +11 -0
  341. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  342. package/build/dist/Server/Middleware/SCIMAuthorization.js +12 -0
  343. package/build/dist/Server/Middleware/SCIMAuthorization.js.map +1 -1
  344. package/build/dist/Server/Middleware/TelemetryIngest.js +11 -0
  345. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  346. package/build/dist/Server/Services/AIBillingService.js +70 -16
  347. package/build/dist/Server/Services/AIBillingService.js.map +1 -1
  348. package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js +167 -0
  349. package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js.map +1 -1
  350. package/build/dist/Server/Services/EnterpriseLicenseService.js +39 -0
  351. package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
  352. package/build/dist/Server/Services/Index.js +10 -0
  353. package/build/dist/Server/Services/Index.js.map +1 -1
  354. package/build/dist/Server/Services/MonitorService.js +119 -21
  355. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  356. package/build/dist/Server/Services/MonitorStatusTimelineService.js +127 -8
  357. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  358. package/build/dist/Server/Services/MonitorTemplateService.js +162 -0
  359. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  360. package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js +1683 -0
  361. package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js.map +1 -0
  362. package/build/dist/Server/Services/NetworkAlertPolicyService.js +732 -0
  363. package/build/dist/Server/Services/NetworkAlertPolicyService.js.map +1 -0
  364. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +10 -9
  365. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  366. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +54 -11
  367. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
  368. package/build/dist/Server/Services/NetworkDeviceService.js +841 -70
  369. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  370. package/build/dist/Server/Services/NetworkSiteService.js +1145 -107
  371. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
  372. package/build/dist/Server/Services/NetworkSiteTypeService.js +863 -0
  373. package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -1
  374. package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js +217 -0
  375. package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js.map +1 -0
  376. package/build/dist/Server/Services/NotificationService.js +80 -17
  377. package/build/dist/Server/Services/NotificationService.js.map +1 -1
  378. package/build/dist/Server/Services/ProjectService.js +66 -30
  379. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  380. package/build/dist/Server/Services/StatusPagePrivateUserService.js +92 -2
  381. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  382. package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js +76 -0
  383. package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js.map +1 -0
  384. package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js +77 -0
  385. package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js.map +1 -0
  386. package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js +111 -0
  387. package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js.map +1 -0
  388. package/build/dist/Server/Services/UserNotificationSettingService.js +46 -20
  389. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  390. package/build/dist/Server/Services/UserService.js +90 -0
  391. package/build/dist/Server/Services/UserService.js.map +1 -1
  392. package/build/dist/Server/Types/Database/QueryHelper.js +1 -1
  393. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  394. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +14 -3
  395. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
  396. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +10 -0
  397. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
  398. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +10 -0
  399. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
  400. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +54 -1
  401. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
  402. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +18 -4
  403. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
  404. package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js +59 -0
  405. package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js.map +1 -0
  406. package/build/dist/Server/Utils/DataSource/HttpFetch.js +2 -1
  407. package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
  408. package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +91 -0
  409. package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -0
  410. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +691 -0
  411. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -0
  412. package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +497 -0
  413. package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -0
  414. package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js +257 -0
  415. package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js.map +1 -0
  416. package/build/dist/Server/Utils/LLM/LLMService.js +64 -1
  417. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  418. package/build/dist/Server/Utils/LogRedaction.js +8 -0
  419. package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
  420. package/build/dist/Server/Utils/Logger.js +63 -1
  421. package/build/dist/Server/Utils/Logger.js.map +1 -1
  422. package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js +141 -0
  423. package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js.map +1 -0
  424. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
  425. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  426. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +51 -1
  427. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  428. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +7 -0
  429. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -1
  430. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +37 -0
  431. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  432. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +158 -6
  433. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
  434. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
  435. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  436. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +32 -0
  437. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  438. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +330 -21
  439. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  440. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +55 -10
  441. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
  442. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +178 -49
  443. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
  444. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +119 -29
  445. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  446. package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +30 -17
  447. package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -1
  448. package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js +158 -0
  449. package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js.map +1 -0
  450. package/build/dist/Server/Utils/OutboundUserAgent.js +123 -0
  451. package/build/dist/Server/Utils/OutboundUserAgent.js.map +1 -0
  452. package/build/dist/Server/Utils/StartServer.js +38 -14
  453. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  454. package/build/dist/Server/Utils/Telemetry/CaptureSpan.js +28 -8
  455. package/build/dist/Server/Utils/Telemetry/CaptureSpan.js.map +1 -1
  456. package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js +95 -0
  457. package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js.map +1 -0
  458. package/build/dist/Server/Utils/Telemetry/SpanUtil.js +29 -0
  459. package/build/dist/Server/Utils/Telemetry/SpanUtil.js.map +1 -1
  460. package/build/dist/Server/Utils/Telemetry.js +162 -46
  461. package/build/dist/Server/Utils/Telemetry.js.map +1 -1
  462. package/build/dist/Types/AI/ExceptionAIClassification.js +10 -24
  463. package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -1
  464. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  465. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  466. package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js +2 -0
  467. package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js.map +1 -0
  468. package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js +7 -0
  469. package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js.map +1 -0
  470. package/build/dist/Types/Exception/ApiException.js +9 -0
  471. package/build/dist/Types/Exception/ApiException.js.map +1 -1
  472. package/build/dist/Types/Exception/BadDataException.js +10 -0
  473. package/build/dist/Types/Exception/BadDataException.js.map +1 -1
  474. package/build/dist/Types/Exception/BadRequestException.js +10 -0
  475. package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
  476. package/build/dist/Types/Exception/Exception.js +56 -0
  477. package/build/dist/Types/Exception/Exception.js.map +1 -1
  478. package/build/dist/Types/Exception/ForbiddenException.js +9 -0
  479. package/build/dist/Types/Exception/ForbiddenException.js.map +1 -1
  480. package/build/dist/Types/Exception/NotAuthenticatedException.js +9 -0
  481. package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
  482. package/build/dist/Types/Exception/NotAuthorizedException.js +9 -0
  483. package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
  484. package/build/dist/Types/Exception/NotFoundException.js +10 -0
  485. package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
  486. package/build/dist/Types/Exception/PayloadTooLargeException.js +10 -0
  487. package/build/dist/Types/Exception/PayloadTooLargeException.js.map +1 -1
  488. package/build/dist/Types/Exception/PaymentRequiredException.js +9 -0
  489. package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
  490. package/build/dist/Types/Exception/ServiceUnavailableException.js +9 -0
  491. package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -1
  492. package/build/dist/Types/Exception/SsoAuthorizationException.js +9 -0
  493. package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
  494. package/build/dist/Types/Exception/TenantNotFoundException.js +10 -0
  495. package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
  496. package/build/dist/Types/Exception/TimeoutException.js +9 -0
  497. package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
  498. package/build/dist/Types/Exception/TooManyRequestsException.js +9 -0
  499. package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -1
  500. package/build/dist/Types/Exception/UnableToReachServer.js +9 -0
  501. package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
  502. package/build/dist/Types/Exception/WebsiteRequestException.js +9 -0
  503. package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
  504. package/build/dist/Types/Monitor/CriteriaFilter.js +45 -2
  505. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  506. package/build/dist/Types/Monitor/DatabaseMetricCatalog.js +594 -0
  507. package/build/dist/Types/Monitor/DatabaseMetricCatalog.js.map +1 -0
  508. package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js +21 -0
  509. package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js.map +1 -0
  510. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +70 -0
  511. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  512. package/build/dist/Types/Monitor/MonitorMetricType.js +61 -0
  513. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  514. package/build/dist/Types/Monitor/MonitorStep.js +54 -0
  515. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  516. package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js +122 -0
  517. package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js.map +1 -0
  518. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
  519. package/build/dist/Types/Monitor/MonitorType.js +45 -1
  520. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  521. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +21 -1
  522. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
  523. package/build/dist/Types/Monitor/SqlConnectionConfig.js +2 -0
  524. package/build/dist/Types/Monitor/SqlConnectionConfig.js.map +1 -0
  525. package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js +172 -0
  526. package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js.map +1 -0
  527. package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +40 -22
  528. package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -1
  529. package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js +26 -0
  530. package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js.map +1 -0
  531. package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js +186 -0
  532. package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js.map +1 -0
  533. package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js +87 -0
  534. package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js.map +1 -0
  535. package/build/dist/Types/Permission.js +80 -0
  536. package/build/dist/Types/Permission.js.map +1 -1
  537. package/build/dist/Types/Telemetry/ErrorClass.js +216 -0
  538. package/build/dist/Types/Telemetry/ErrorClass.js.map +1 -0
  539. package/build/dist/Types/Telemetry/UnitOfWork.js +59 -0
  540. package/build/dist/Types/Telemetry/UnitOfWork.js.map +1 -0
  541. package/build/dist/UI/Components/CommandPalette/CommandPalette.js +2 -7
  542. package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -1
  543. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +3 -0
  544. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  545. package/build/dist/UI/Components/Modal/Modal.js +2 -7
  546. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  547. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +39 -0
  548. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  549. package/build/dist/UI/Components/ProgressBar/ProgressBar.js +12 -1
  550. package/build/dist/UI/Components/ProgressBar/ProgressBar.js.map +1 -1
  551. package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js +6 -6
  552. package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js.map +1 -1
  553. package/build/dist/UI/Components/SideMenu/SideMenu.js +67 -5
  554. package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
  555. package/build/dist/UI/Components/SideMenu/SideMenuItem.js +49 -53
  556. package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
  557. package/build/dist/UI/Components/SideMenu/SideMenuSection.js +25 -7
  558. package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
  559. package/build/dist/UI/Components/SideOver/SideOver.js +5 -20
  560. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  561. package/build/dist/UI/Utils/PageScrollLock.js +31 -3
  562. package/build/dist/UI/Utils/PageScrollLock.js.map +1 -1
  563. package/build/dist/UI/Utils/PermissionGate.js +42 -1
  564. package/build/dist/UI/Utils/PermissionGate.js.map +1 -1
  565. package/build/dist/UI/Utils/SensitiveUrlToken.js +97 -0
  566. package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -0
  567. package/build/dist/UI/Utils/TestLLMProvider.js +4 -5
  568. package/build/dist/UI/Utils/TestLLMProvider.js.map +1 -1
  569. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +15 -0
  570. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -1
  571. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +111 -9
  572. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  573. package/build/dist/Utils/Monitor/MonitorMetricType.js +109 -1
  574. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  575. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +8 -3
  576. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  577. package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +27 -7
  578. package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
  579. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +7 -5
  580. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -1
  581. package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js +180 -0
  582. package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js.map +1 -0
  583. package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js +12 -0
  584. package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js.map +1 -0
  585. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js +15 -5
  586. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
  587. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +44 -15
  588. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
  589. package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js +52 -23
  590. package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js.map +1 -1
  591. package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +85 -13
  592. package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -1
  593. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +30 -15
  594. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
  595. package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js +191 -0
  596. package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js.map +1 -0
  597. package/package.json +2 -2
@@ -15,12 +15,12 @@ import OneUptimeDate from "../../../Types/Date";
15
15
  *
16
16
  * So the rule does not move. What moves is the DATA REDUCTION.
17
17
  *
18
- * `deviceHealthState` is a pure function of six facts about a row, and five of
19
- * them are already booleans or three-state flags. Group the table by those
20
- * facts in SQL and 80,000 rows collapse into at most a few per site — one
21
- * bucket per distinct combination that actually occurs. Then hand each bucket
22
- * back to the REAL classifier once and multiply its verdict by the bucket's
23
- * count.
18
+ * `deviceHealthState` is a pure function of seven facts about a row, and six
19
+ * of them are already booleans, three-state flags or a column that only ever
20
+ * holds two values. Group the table by those facts in SQL and 80,000 rows
21
+ * collapse into at most a few per site one bucket per distinct combination
22
+ * that actually occurs. Then hand each bucket back to the REAL classifier
23
+ * once and multiply its verdict by the bucket's count.
24
24
  *
25
25
  * One rule, one implementation, and the wire carries buckets instead of rows.
26
26
  *
@@ -102,20 +102,26 @@ const DEVICE_HEALTH_DISCRIMINATOR_COLUMNS = [
102
102
  * The column only ever holds a handful of distinct values, so the raw form
103
103
  * costs nothing in bucket count.
104
104
  *
105
- * Note carefully WHO reads it: `deviceHealthState` never receives it (it is
106
- * not part of `DeviceHealthStateInput`, and `deviceHealthInputForGroup` does
107
- * not emit it), so the per-site health rollups are indifferent to it. Its
108
- * one consumer is the Overview's fleet tally, which re-attaches it and calls
109
- * `DeviceReachabilityUtil` directly and a tally that dropped it would
110
- * report every ping-only device as Pending forever (issue #3392, one level
111
- * up).
105
+ * Every consumer of a bucket reads it. `deviceHealthInputForGroup` and
106
+ * `deviceRollupStateForGroup` carry it into the classifier inputs, where
107
+ * the shared reachability rule uses it to decide whether the poll facts
108
+ * beside it mean anything. On a monitor-backed device they do not: its
109
+ * `isReachable` mirrors the bound monitor (NULL when nothing is bound) and
110
+ * its `lastSeenAt` is whatever a probe last found before it stopped asking
111
+ * — so an unstamped monitor-backed bucket has to classify as "unknown",
112
+ * not as whatever those leftovers happen to say, or the site card and the
113
+ * device list under it describe two different networks. The Overview's
114
+ * fleet tally reads it for the same reason one level up (issue #3392: a
115
+ * tally that dropped it reported every ping-only device as Pending
116
+ * forever).
112
117
  *
113
- * It therefore costs the rollup path a discriminator it does not use. On a
114
- * real fleet that costs nothing, because `monitoringMethod` is almost
118
+ * Dropping it from the group keys would therefore not be a harmless
119
+ * simplification: a bucket that mixed probe-polled and monitor-backed devices with
120
+ * the same poll facts would classify all of them by the poll rule. On a
121
+ * real fleet it also costs nothing, because `monitoringMethod` is almost
115
122
  * perfectly correlated with whether the device carries a stamped monitor
116
123
  * status — which is already a group key — so it splits no bucket that
117
- * `currentMonitorStatusId` had not split anyway. Keeping one discriminator
118
- * set is worth more than saving that.
124
+ * `currentMonitorStatusId` had not split anyway.
119
125
  */
120
126
  {
121
127
  expression: column("monitoringMethod"),
@@ -291,6 +297,11 @@ export function deviceHealthInputForGroup(data) {
291
297
  * the synthetic dates above are placed relative to.
292
298
  */
293
299
  pollingIntervalInMinutes: undefined,
300
+ /*
301
+ * Carried verbatim — the classifier parses it, and NULL reads as Probe
302
+ * there. See the discriminator column for why a bucket cannot drop it.
303
+ */
304
+ monitoringMethod: group.monitoringMethod,
294
305
  interfacesDown: group.hasDownInterfaces ? 1 : 0,
295
306
  };
296
307
  }
@@ -326,6 +337,8 @@ export function deviceRollupStateForGroup(data) {
326
337
  lastSeenAt: group.hasBeenSeen ? contactAt : null,
327
338
  // See deviceHealthInputForGroup — staleness is already applied.
328
339
  pollingIntervalInMinutes: undefined,
340
+ // ...and for why this rides along with the poll facts it qualifies.
341
+ monitoringMethod: group.monitoringMethod,
329
342
  deviceCount: group.deviceCount,
330
343
  };
331
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceHealthAggregation.js","sourceRoot":"","sources":["../../../../../Server/Utils/NetworkDevice/DeviceHealthAggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceHealthAggregation.js","sourceRoot":"","sources":["../../../../../Server/Utils/NetworkDevice/DeviceHealthAggregation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import Semaphore from "../../Infrastructure/Semaphore";
2
+ import logger from "../../Utils/Logger";
3
+ import BadDataException from "../../../Types/Exception/BadDataException";
4
+ import ServerException from "../../../Types/Exception/ServerException";
5
+ import ObjectID from "../../../Types/ObjectID";
6
+ export const NETWORK_SITE_HIERARCHY_LOCK_NAMESPACE = "NetworkSiteHierarchy";
7
+ export const NETWORK_SITE_HIERARCHY_LOCK_ERROR_MESSAGE = "Could not acquire the Network Site hierarchy lock. Please try again.";
8
+ export const NETWORK_SITE_HIERARCHY_ROOT_SCOPE_ERROR_MESSAGE = "Root Network Site hierarchy mutations must be scoped to a project or a closed set of row IDs.";
9
+ const LOCK_TIMEOUT_IN_MILLISECONDS = 30000;
10
+ const ACQUIRE_TIMEOUT_IN_MILLISECONDS = 15000;
11
+ const RETRY_INTERVAL_IN_MILLISECONDS = 100;
12
+ /*
13
+ * NetworkSite and NetworkSiteType jointly define one invariant: concrete
14
+ * parent-site edges must agree with the configured parent-type graph. Their
15
+ * service hooks validate that invariant before DatabaseService persists the
16
+ * write, so two concurrent requests must not validate the same old snapshot.
17
+ *
18
+ * This distributed, project-keyed critical section is intentionally owned by
19
+ * the public service methods rather than a before hook. DatabaseService can
20
+ * still fail after a before hook returns; a redis-semaphore mutex acquired in
21
+ * the hook would then never reach a success hook and would keep refreshing
22
+ * forever. runExclusive's finally releases every mutex on every write path.
23
+ */
24
+ export default class NetworkSiteHierarchyLock {
25
+ static getExplicitProjectIds(query) {
26
+ for (const key of ["projectId", "project"]) {
27
+ const value = query[key];
28
+ if (this.isExactId(value)) {
29
+ return [value];
30
+ }
31
+ }
32
+ return [];
33
+ }
34
+ /*
35
+ * Resolving an arbitrary root query and locking the projects it happens to
36
+ * match is not safe: another create can enter that query's limit/skip window
37
+ * before DatabaseService executes it. A permission-enforced tenant scope,
38
+ * a literal project scope, and explicit ID sets are closed; no new row can
39
+ * silently introduce an unlocked project.
40
+ */
41
+ static assertSafeRootMutationScope(data) {
42
+ if (this.isSafeRootMutationScope(data)) {
43
+ return;
44
+ }
45
+ throw new BadDataException(NETWORK_SITE_HIERARCHY_ROOT_SCOPE_ERROR_MESSAGE);
46
+ }
47
+ static isSafeRootMutationScope(data) {
48
+ if (!data.props.isRoot && !data.props.isMasterAdmin) {
49
+ return true;
50
+ }
51
+ /*
52
+ * DeletePermission retains an explicit tenantId even for a root caller,
53
+ * so it is a closed project scope for deletes. UpdatePermission does not:
54
+ * a root update keeps the caller's raw query. Callers must opt in only
55
+ * when their permission path actually applies the tenant predicate.
56
+ */
57
+ if (data.tenantScopeIsClosed &&
58
+ data.props.tenantId &&
59
+ !data.props.isMultiTenantRequest) {
60
+ return true;
61
+ }
62
+ const hasExactProjectScope = ["projectId", "project"].some((key) => {
63
+ return this.isExactId(data.query[key]);
64
+ });
65
+ const hasExplicitRowIdScope = this.isExplicitIdSet(data.query["_id"]);
66
+ if (hasExactProjectScope || hasExplicitRowIdScope) {
67
+ return true;
68
+ }
69
+ return false;
70
+ }
71
+ /*
72
+ * QueryHelper predicates are TypeORM FindOperator objects. Even when one
73
+ * happens to be backed by a fixed value today, accepting an arbitrary raw
74
+ * predicate here would let a later row enter the pre-read/write window in
75
+ * a project for which no mutex was acquired. Only literal UUIDs are a
76
+ * stable project scope; literal row-ID arrays are a stable closed set.
77
+ */
78
+ static isExactId(value) {
79
+ if (value instanceof ObjectID) {
80
+ return ObjectID.isValidUUID(value.toString());
81
+ }
82
+ return typeof value === "string" && ObjectID.isValidUUID(value.trim());
83
+ }
84
+ static isExplicitIdSet(value) {
85
+ if (this.isExactId(value)) {
86
+ return true;
87
+ }
88
+ return (Array.isArray(value) &&
89
+ value.every((candidate) => {
90
+ return this.isExactId(candidate);
91
+ }));
92
+ }
93
+ static async runExclusive(data) {
94
+ const projectIds = [
95
+ ...new Set(data.projectIds
96
+ .map((projectId) => {
97
+ return projectId.toString().trim().toLowerCase();
98
+ })
99
+ .filter((projectId) => {
100
+ return Boolean(projectId);
101
+ })),
102
+ ].sort((left, right) => {
103
+ return left.localeCompare(right);
104
+ });
105
+ /*
106
+ * A mutation that matched no rows has no project whose hierarchy it can
107
+ * change. Let DatabaseService preserve its normal zero-row/permission
108
+ * semantics without taking an unrelated global lock.
109
+ */
110
+ if (projectIds.length === 0) {
111
+ return await data.operation();
112
+ }
113
+ const acquiredMutexes = [];
114
+ try {
115
+ for (const projectId of projectIds) {
116
+ const mutex = await Semaphore.lock({
117
+ key: projectId,
118
+ namespace: NETWORK_SITE_HIERARCHY_LOCK_NAMESPACE,
119
+ lockTimeout: LOCK_TIMEOUT_IN_MILLISECONDS,
120
+ acquireTimeout: ACQUIRE_TIMEOUT_IN_MILLISECONDS,
121
+ retryInterval: RETRY_INTERVAL_IN_MILLISECONDS,
122
+ });
123
+ acquiredMutexes.push({ projectId, mutex });
124
+ }
125
+ }
126
+ catch (error) {
127
+ await this.releaseAll(acquiredMutexes);
128
+ logger.error(error);
129
+ throw new ServerException(NETWORK_SITE_HIERARCHY_LOCK_ERROR_MESSAGE);
130
+ }
131
+ try {
132
+ return await data.operation();
133
+ }
134
+ finally {
135
+ await this.releaseAll(acquiredMutexes);
136
+ }
137
+ }
138
+ /*
139
+ * Release in reverse acquisition order. This mirrors ordinary lock-stack
140
+ * discipline and, together with sorted acquisition, prevents bulk writes
141
+ * spanning the same projects from deadlocking each other.
142
+ *
143
+ * Semaphore.release stops the mutex refresh timer before talking to Redis.
144
+ * A Redis failure is therefore logged but must not replace the mutation's
145
+ * real result/error; the lock key will expire at lockTimeout.
146
+ */
147
+ static async releaseAll(acquiredMutexes) {
148
+ for (const acquired of [...acquiredMutexes].reverse()) {
149
+ try {
150
+ await Semaphore.release(acquired.mutex);
151
+ }
152
+ catch (error) {
153
+ logger.error(error, { projectId: acquired.projectId });
154
+ }
155
+ }
156
+ }
157
+ }
158
+ //# sourceMappingURL=NetworkSiteHierarchyLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkSiteHierarchyLock.js","sourceRoot":"","sources":["../../../../../Server/Utils/NetworkSite/NetworkSiteHierarchyLock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { AppVersion } from "../EnvironmentConfig";
2
+ /*
3
+ * The User-Agent this platform presents when it calls somebody else's HTTP
4
+ * server on a project's behalf — TAXII threat-intel feeds and the external
5
+ * Data Source connectors (Prometheus, Loki, Elasticsearch, REST API).
6
+ *
7
+ * This is not cosmetic. With no User-Agent of our own, axios stamps its
8
+ * default `axios/<version>` on every request, and a bare HTTP-library UA is
9
+ * a stock rule in most WAFs, CDNs and bot-management products: the operator
10
+ * on the far end sees an anonymous script rather than a named product, and
11
+ * answers 403 before the request reaches their API at all. A product token
12
+ * plus a URL is what makes the traffic allowlistable, and what lets the far
13
+ * end's logs and abuse contact attribute it to something.
14
+ *
15
+ * Shape follows RFC 9110 §10.1.5 — a product/product-version token
16
+ * followed by a comment:
17
+ *
18
+ * OneUptime/8.0.1234 (+https://oneuptime.com)
19
+ *
20
+ * The version is dropped rather than printed as "unknown" when APP_VERSION
21
+ * is unset (development, and any deployment that does not inject it), so
22
+ * the UA never advertises a version that is not one.
23
+ */
24
+ export const OUTBOUND_USER_AGENT_HEADER_NAME = "User-Agent";
25
+ export const OUTBOUND_USER_AGENT_PRODUCT = "OneUptime";
26
+ export const OUTBOUND_USER_AGENT_URL = "https://oneuptime.com";
27
+ /*
28
+ * APP_VERSION is supplied by whoever deployed the instance, and a header
29
+ * value carrying CR/LF is a request-smuggling primitive, so the version is
30
+ * filtered down to RFC 9110 token characters instead of being trusted. The
31
+ * length cap keeps a junk value from becoming a multi-kilobyte header.
32
+ */
33
+ const VERSION_DISALLOWED_CHARACTERS = /[^A-Za-z0-9._+-]/g;
34
+ const MAX_VERSION_LENGTH = 64;
35
+ /*
36
+ * EnvironmentConfig's own placeholder when APP_VERSION is unset — a
37
+ * sentinel, not a version, so it never reaches the wire.
38
+ */
39
+ const UNKNOWN_VERSION = "unknown";
40
+ export default class OutboundUserAgent {
41
+ // The User-Agent for this running instance.
42
+ static get() {
43
+ return this.build(AppVersion);
44
+ }
45
+ /*
46
+ * Pure builder — takes the version rather than reading it, so the format
47
+ * is testable without reaching into the process environment.
48
+ */
49
+ static build(version) {
50
+ const sanitizedVersion = this.sanitizeVersion(version);
51
+ const product = sanitizedVersion
52
+ ? `${OUTBOUND_USER_AGENT_PRODUCT}/${sanitizedVersion}`
53
+ : OUTBOUND_USER_AGENT_PRODUCT;
54
+ return `${product} (+${OUTBOUND_USER_AGENT_URL})`;
55
+ }
56
+ /*
57
+ * A version safe to put in a header, or "" when there is nothing worth
58
+ * printing (unset, the "unknown" sentinel, or nothing left after
59
+ * filtering).
60
+ */
61
+ static sanitizeVersion(version) {
62
+ const trimmed = (version || "").trim();
63
+ if (trimmed === "" || trimmed.toLowerCase() === UNKNOWN_VERSION) {
64
+ return "";
65
+ }
66
+ return trimmed
67
+ .replace(VERSION_DISALLOWED_CHARACTERS, "")
68
+ .substring(0, MAX_VERSION_LENGTH);
69
+ }
70
+ /*
71
+ * Whether the caller already set a User-Agent of its own. Header names
72
+ * are case-insensitive on the wire, so the check is too — otherwise a
73
+ * caller's lowercase `user-agent` would end up alongside ours rather
74
+ * than replacing it. A present-but-blank value counts as absent: an
75
+ * empty UA is the same anonymous-client problem this whole file exists
76
+ * to avoid.
77
+ */
78
+ static hasUserAgent(headers) {
79
+ if (!headers) {
80
+ return false;
81
+ }
82
+ for (const headerName of Object.keys(headers)) {
83
+ if (headerName.toLowerCase() !==
84
+ OUTBOUND_USER_AGENT_HEADER_NAME.toLowerCase()) {
85
+ continue;
86
+ }
87
+ const value = headers[headerName];
88
+ if (typeof value === "string" && value.trim() !== "") {
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ }
94
+ /*
95
+ * The headers to send: the caller's, plus our User-Agent when the caller
96
+ * did not set one. An explicit User-Agent always wins — a REST API data
97
+ * source whose provider demands a particular UA configures it as a custom
98
+ * header, and that must reach the wire untouched.
99
+ *
100
+ * Returns a new dictionary; the caller's is never mutated.
101
+ */
102
+ static withDefault(headers) {
103
+ const merged = Object.assign({}, (headers || {}));
104
+ if (this.hasUserAgent(merged)) {
105
+ return merged;
106
+ }
107
+ /*
108
+ * A blank `user-agent` in any casing is dropped rather than left
109
+ * beside ours: two keys differing only in case are one header on the
110
+ * wire, and which of them survives normalization is not something to
111
+ * leave to the HTTP client.
112
+ */
113
+ for (const headerName of Object.keys(merged)) {
114
+ if (headerName.toLowerCase() ===
115
+ OUTBOUND_USER_AGENT_HEADER_NAME.toLowerCase()) {
116
+ delete merged[headerName];
117
+ }
118
+ }
119
+ merged[OUTBOUND_USER_AGENT_HEADER_NAME] = this.get();
120
+ return merged;
121
+ }
122
+ }
123
+ //# sourceMappingURL=OutboundUserAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutboundUserAgent.js","sourceRoot":"","sources":["../../../../Server/Utils/OutboundUserAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAW,YAAY,CAAC;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAW,WAAW,CAAC;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAW,uBAAuB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,6BAA6B,GAAW,mBAAmB,CAAC;AAClE,MAAM,kBAAkB,GAAW,EAAE,CAAC;AAEtC;;;GAGG;AACH,MAAM,eAAe,GAAW,SAAS,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,4CAA4C;IACrC,MAAM,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,OAA4B;QAC9C,MAAM,gBAAgB,GAAW,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAW,gBAAgB;YACtC,CAAC,CAAC,GAAG,2BAA2B,IAAI,gBAAgB,EAAE;YACtD,CAAC,CAAC,2BAA2B,CAAC;QAEhC,OAAO,GAAG,OAAO,MAAM,uBAAuB,GAAG,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,eAAe,CAAC,OAA4B;QACxD,MAAM,OAAO,GAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO;aACX,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;aAC1C,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,YAAY,CACxB,OAAwC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,IACE,UAAU,CAAC,WAAW,EAAE;gBACxB,+BAA+B,CAAC,WAAW,EAAE,EAC7C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAuB,OAAO,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,WAAW,CACvB,OAAwC;QAExC,MAAM,MAAM,qBAA4B,CAAC,OAAO,IAAI,EAAE,CAAC,CAAE,CAAC;QAE1D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED;;;;;WAKG;QACH,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,IACE,UAAU,CAAC,WAAW,EAAE;gBACxB,+BAA+B,CAAC,WAAW,EAAE,EAC7C,CAAC;gBACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -12,6 +12,7 @@ import "./Process";
12
12
  import Response from "./Response";
13
13
  import SpanUtil from "./Telemetry/SpanUtil";
14
14
  import TelemetryContext from "./Telemetry/TelemetryContext";
15
+ import { COMPONENT_ATTRIBUTE_KEY, TelemetryComponent, UNIT_OF_WORK_ATTRIBUTE_KEY, UnitOfWork, } from "../../Types/Telemetry/UnitOfWork";
15
16
  import mountVendorAssets from "./VendorAssets";
16
17
  import { api } from "@opentelemetry/sdk-node";
17
18
  import StatusCode from "../../Types/API/StatusCode";
@@ -196,7 +197,24 @@ app.use((req, _res, next) => {
196
197
  * ContextSpanProcessor and Logger read this ambient context, every span and
197
198
  * log produced downstream inherits it automatically.
198
199
  */
199
- TelemetryContext.runWithContext({ requestId: requestId }, () => {
200
+ TelemetryContext.runWithContext({
201
+ requestId: requestId,
202
+ /*
203
+ * Seed the unit of work EXPLICITLY. ErrorClassResolver honours a
204
+ * user-error / expected-denial classification only inside an HTTP
205
+ * request — everywhere else there is no client to blame, so those
206
+ * classes are promoted back to code-fault. runWithContext inherits the
207
+ * enclosing scope, so leaving this unset would let a request's marker
208
+ * leak into background work started from inside the request.
209
+ */
210
+ [UNIT_OF_WORK_ATTRIBUTE_KEY]: UnitOfWork.HttpRequest,
211
+ /*
212
+ * Which deployment role served this. service.name cannot answer it: the
213
+ * Helm chart runs the worker from the same image and entrypoint as the
214
+ * API, so worker pods also report service.name="api".
215
+ */
216
+ [COMPONENT_ATTRIBUTE_KEY]: LocalCache.getString("app", "name") || TelemetryComponent.Api,
217
+ }, () => {
200
218
  SpanUtil.addAttributesToCurrentSpan({
201
219
  requestId: requestId,
202
220
  });
@@ -316,19 +334,25 @@ const addDefaultRoutes = async () => {
316
334
  export const expressErrorHandler = (err, _req, res, next) => {
317
335
  var _a;
318
336
  logger.error(err, getLogAttributesFromRequest(_req));
319
- // Mark span as error.
320
- if (err) {
321
- const span = api.trace.getSpan(api.context.active());
322
- if (span) {
323
- // record exception
324
- span.recordException(err);
325
- // set span status code to ERROR
326
- span.setStatus({
327
- code: api.SpanStatusCode.ERROR,
328
- message: err.message,
329
- });
330
- }
331
- }
337
+ /*
338
+ * Deliberately does NOT record the exception on a span.
339
+ *
340
+ * There is no HTTP instrumentation (Telemetry.init passes an empty
341
+ * `instrumentations` array) and nothing creates a request-scoped span, so at
342
+ * this point the ambient span is either absent or an already-ENDED
343
+ * @CaptureSpan span and addEvent no-ops on an ended span. On the whole
344
+ * BaseAPI CRUD surface this emitted exactly zero events while looking like
345
+ * it emitted one.
346
+ *
347
+ * Where it DID fire was the handful of @CaptureSpan-decorated middleware
348
+ * that swallow an error and call next(err) from inside their own still-open
349
+ * span. There it wrote to a span the request does not own, and — because the
350
+ * raw error was passed to span.recordException, and the SDK reads
351
+ * `exception.code` before `exception.name` — it typed the event with the
352
+ * HTTP status ("400", "422") instead of the class name. Those middleware now
353
+ * rethrow instead of swallowing, so CaptureSpan's normalized recorder does
354
+ * the right thing on the right span.
355
+ */
332
356
  if (res.headersSent) {
333
357
  next(err);
334
358
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,30 @@ import Telemetry from "../Telemetry";
2
2
  import { SpanStatusCode } from "@opentelemetry/api";
3
3
  import JSONFunctions from "../../../Types/JSONFunctions";
4
4
  import { DisableTelemetry } from "../../EnvironmentConfig";
5
+ /*
6
+ * Mark a span OK, but never DOWNGRADE an ERROR someone else already set.
7
+ *
8
+ * The SDK's own setStatus guard only early-returns when the CURRENT status is
9
+ * already OK, so an OK written after an ERROR wins. That is reachable whenever
10
+ * a decorated method swallows an error and signals failure by another route
11
+ * (Express middleware calling next(err) is the classic case): the method
12
+ * "returns successfully" from the decorator's point of view, and the span ends
13
+ * up marked OK while carrying an exception event.
14
+ */
15
+ function markSpanOk(span) {
16
+ try {
17
+ const currentStatus = span.status;
18
+ if (currentStatus && currentStatus.code === SpanStatusCode.ERROR) {
19
+ return;
20
+ }
21
+ }
22
+ catch (_a) {
23
+ // Span implementation without an observable status — set it normally.
24
+ }
25
+ span.setStatus({
26
+ code: SpanStatusCode.OK,
27
+ });
28
+ }
5
29
  function CaptureSpan(data) {
6
30
  return function (target, propertyKey, descriptor) {
7
31
  var _a;
@@ -55,9 +79,7 @@ function CaptureSpan(data) {
55
79
  if (result instanceof Promise) {
56
80
  return result
57
81
  .then((res) => {
58
- span.setStatus({
59
- code: SpanStatusCode.OK,
60
- });
82
+ markSpanOk(span);
61
83
  return res;
62
84
  })
63
85
  .catch((err) => {
@@ -68,12 +90,10 @@ function CaptureSpan(data) {
68
90
  throw err;
69
91
  })
70
92
  .finally(() => {
71
- span.end();
93
+ Telemetry.endSpan(span);
72
94
  });
73
95
  }
74
- span.setStatus({
75
- code: SpanStatusCode.OK,
76
- });
96
+ markSpanOk(span);
77
97
  return result;
78
98
  }
79
99
  catch (err) {
@@ -85,7 +105,7 @@ function CaptureSpan(data) {
85
105
  }
86
106
  finally {
87
107
  if (!(result instanceof Promise)) {
88
- span.end();
108
+ Telemetry.endSpan(span);
89
109
  }
90
110
  }
91
111
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"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"}