@oneuptime/common 14.0.10 → 14.0.11

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 (837) hide show
  1. package/Models/DatabaseModels/AIConversation.ts +127 -1
  2. package/Models/DatabaseModels/CephCluster.ts +12 -0
  3. package/Models/DatabaseModels/CloudResource.ts +12 -0
  4. package/Models/DatabaseModels/DatabaseServer.ts +12 -0
  5. package/Models/DatabaseModels/DockerHost.ts +12 -0
  6. package/Models/DatabaseModels/DockerSwarmCluster.ts +12 -0
  7. package/Models/DatabaseModels/GlobalOidc.ts +0 -4
  8. package/Models/DatabaseModels/GlobalOidcProject.ts +0 -4
  9. package/Models/DatabaseModels/GlobalSso.ts +0 -4
  10. package/Models/DatabaseModels/GlobalSsoProject.ts +0 -4
  11. package/Models/DatabaseModels/Host.ts +12 -0
  12. package/Models/DatabaseModels/IncidentForm.ts +594 -0
  13. package/Models/DatabaseModels/IncidentFormSubmission.ts +283 -0
  14. package/Models/DatabaseModels/IncidentTemplate.ts +59 -0
  15. package/Models/DatabaseModels/Index.ts +14 -0
  16. package/Models/DatabaseModels/IoTFleet.ts +12 -0
  17. package/Models/DatabaseModels/KubernetesCluster.ts +12 -0
  18. package/Models/DatabaseModels/MessageQueue.ts +1102 -0
  19. package/Models/DatabaseModels/MessageQueueLabelRule.ts +553 -0
  20. package/Models/DatabaseModels/MessageQueueOwnerRule.ts +633 -0
  21. package/Models/DatabaseModels/MessageQueueOwnerTeam.ts +491 -0
  22. package/Models/DatabaseModels/MessageQueueOwnerUser.ts +490 -0
  23. package/Models/DatabaseModels/PodmanHost.ts +12 -0
  24. package/Models/DatabaseModels/Project.ts +59 -0
  25. package/Models/DatabaseModels/ProjectOidc.ts +0 -4
  26. package/Models/DatabaseModels/ProjectSso.ts +0 -4
  27. package/Models/DatabaseModels/ProxmoxCluster.ts +12 -0
  28. package/Models/DatabaseModels/RumApplication.ts +12 -0
  29. package/Models/DatabaseModels/ServerlessFunction.ts +12 -0
  30. package/Models/DatabaseModels/Service.ts +12 -0
  31. package/Models/DatabaseModels/StatusPageOidc.ts +0 -4
  32. package/Models/DatabaseModels/StatusPageSso.ts +0 -4
  33. package/Models/DatabaseModels/TeamComplianceSetting.ts +47 -2
  34. package/Models/DatabaseModels/VMwareVCenter.ts +12 -0
  35. package/Server/API/AIChatAPI.ts +13 -114
  36. package/Server/API/AIInvestigationAPI.ts +3 -3
  37. package/Server/API/AIInvestigationConversationAPI.ts +266 -0
  38. package/Server/API/IncidentFormAPI.ts +376 -0
  39. package/Server/API/ProjectOIDC.ts +16 -25
  40. package/Server/API/ProjectSSO.ts +16 -24
  41. package/Server/API/StatusPageAPI.ts +42 -77
  42. package/Server/Enterprise/EnterpriseEdition.ts +93 -28
  43. package/Server/Enterprise/EnterpriseFeature.ts +25 -3
  44. package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +1 -1
  45. package/Server/Enterprise/EnterpriseServerModule.ts +4 -1
  46. package/Server/EnvironmentConfig.ts +1 -1
  47. package/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.ts +129 -0
  48. package/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.ts +52 -0
  49. package/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.ts +75 -0
  50. package/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.ts +477 -0
  51. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  52. package/Server/Middleware/IncidentFormRateLimit.ts +847 -0
  53. package/Server/Middleware/UserAuthorization.ts +16 -38
  54. package/Server/Services/AIService.ts +10 -13
  55. package/Server/Services/IncidentCustomFieldService.ts +112 -2
  56. package/Server/Services/IncidentEpisodeMemberService.ts +24 -4
  57. package/Server/Services/IncidentEpisodeService.ts +10 -1
  58. package/Server/Services/IncidentFormService.ts +1566 -0
  59. package/Server/Services/IncidentFormSubmissionService.ts +97 -0
  60. package/Server/Services/IncidentGroupingEngineService.ts +45 -8
  61. package/Server/Services/IncidentService.ts +123 -5
  62. package/Server/Services/IncidentTemplateService.ts +22 -0
  63. package/Server/Services/Index.ts +14 -0
  64. package/Server/Services/MessageQueueLabelRuleEngineService.ts +321 -0
  65. package/Server/Services/MessageQueueLabelRuleService.ts +14 -0
  66. package/Server/Services/MessageQueueOwnerRuleEngineService.ts +412 -0
  67. package/Server/Services/MessageQueueOwnerRuleService.ts +14 -0
  68. package/Server/Services/MessageQueueOwnerTeamService.ts +62 -0
  69. package/Server/Services/MessageQueueOwnerUserService.ts +62 -0
  70. package/Server/Services/MessageQueueService.ts +1463 -0
  71. package/Server/Services/OpenTelemetryIngestService.ts +37 -4
  72. package/Server/Services/ProjectService.ts +0 -59
  73. package/Server/Services/StatusPagePrivateUserService.ts +1 -4
  74. package/Server/Services/StatusPageService.ts +1 -51
  75. package/Server/Services/TeamComplianceSettingService.ts +163 -42
  76. package/Server/Services/UserNotificationRuleService.ts +8 -1
  77. package/Server/Services/WorkspaceNotificationSummaryService.ts +12 -3
  78. package/Server/Types/Database/Permissions/CreatePermission.ts +17 -3
  79. package/Server/Types/Database/Permissions/EditionPermission.ts +140 -38
  80. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +16 -0
  81. package/Server/Types/Database/Permissions/TablePermission.ts +3 -3
  82. package/Server/Types/Database/Permissions/UpdatePermission.ts +20 -6
  83. package/Server/Utils/AI/Chat/AgentContextCompactor.ts +200 -0
  84. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +307 -48
  85. package/Server/Utils/AI/Chat/ChatRunCancellation.ts +156 -0
  86. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +78 -18
  87. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
  88. package/Server/Utils/AI/Chat/ToolOutputPager.ts +322 -0
  89. package/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.ts +88 -30
  90. package/Server/Utils/AI/ClusterAccess/KubectlJobRunner.ts +13 -1
  91. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +0 -32
  92. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +27 -25
  93. package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +7 -1
  94. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +34 -14
  95. package/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.ts +69 -24
  96. package/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.ts +9 -0
  97. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +53 -10
  98. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +27 -10
  99. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +27 -10
  100. package/Server/Utils/AI/SRE/InvestigationQueue.ts +16 -19
  101. package/Server/Utils/AI/SRE/InvestigationThread.ts +646 -0
  102. package/Server/Utils/AI/SRE/InvestigationThreadService.ts +715 -0
  103. package/Server/Utils/AI/Toolbox/Serializer.ts +10 -3
  104. package/Server/Utils/EditionEnforcement.ts +19 -202
  105. package/Server/Utils/LLM/LLMService.ts +259 -63
  106. package/Server/Utils/RelaxedScimTeamLocksReport.ts +245 -0
  107. package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +25 -0
  108. package/Server/Utils/SameOriginRequest.ts +203 -0
  109. package/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.ts +2 -0
  110. package/Server/Utils/Telemetry/EntityRegistry.ts +4 -1
  111. package/Server/Utils/Telemetry/MessageQueueDiscovery.ts +1402 -0
  112. package/Server/Utils/Telemetry/ResourceEntityFilter.ts +4 -1
  113. package/Server/Utils/VendorAssets.ts +3 -3
  114. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +3 -1
  115. package/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts +3 -1
  116. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +10 -1
  117. package/Tests/App/Accounts/IncidentFormPage.test.tsx +2036 -0
  118. package/Tests/App/Accounts/IncidentFormServerMessages.test.ts +119 -0
  119. package/Tests/App/Accounts/IncidentFormUtils.test.ts +1157 -0
  120. package/Tests/App/Accounts/LoginPasskey.test.tsx +6 -4
  121. package/Tests/App/Accounts/LoginSso.test.tsx +724 -0
  122. package/Tests/App/AdminDashboard/AdminAuthenticationRequireSso.test.tsx +338 -0
  123. package/Tests/App/AdminDashboard/AdminAuthenticationSsoCardLocales.test.tsx +331 -0
  124. package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +47 -33
  125. package/Tests/App/AdminDashboard/GlobalSsoOidcPages.test.tsx +1021 -0
  126. package/Tests/App/Dashboard/AffectedResourcesDisplay.test.tsx +876 -78
  127. package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +20 -3
  128. package/Tests/App/Dashboard/CephProxmoxVMwareDocumentationCards.test.tsx +359 -0
  129. package/Tests/App/Dashboard/CephSetupGuide.test.ts +961 -0
  130. package/Tests/App/Dashboard/CloudDocumentationCard.test.tsx +381 -95
  131. package/Tests/App/Dashboard/CloudSetupGuide.test.ts +1463 -0
  132. package/Tests/App/Dashboard/ClusterAccessNotice.test.tsx +174 -12
  133. package/Tests/App/Dashboard/ContainerSetupGuideCards.test.tsx +345 -0
  134. package/Tests/App/Dashboard/CoreListEmptyStates.test.tsx +501 -0
  135. package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +0 -1
  136. package/Tests/App/Dashboard/DatabaseDocumentationCard.test.tsx +400 -0
  137. package/Tests/App/Dashboard/DatabaseDocumentationMarkdown.test.ts +5 -0
  138. package/Tests/App/Dashboard/DatabaseSetupGuide.test.ts +1869 -0
  139. package/Tests/App/Dashboard/DatabaseTelemetryScope.test.ts +44 -0
  140. package/Tests/App/Dashboard/DatabaseTelemetryTabs.test.tsx +50 -9
  141. package/Tests/App/Dashboard/DockerSetupGuide.test.ts +899 -0
  142. package/Tests/App/Dashboard/DockerSwarmSetupGuide.test.ts +964 -0
  143. package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +141 -7
  144. package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +52 -39
  145. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +7 -1
  146. package/Tests/App/Dashboard/GettingStartedTaskRoutes.test.tsx +331 -0
  147. package/Tests/App/Dashboard/HomeOverviewStatsFirstRun.test.tsx +925 -0
  148. package/Tests/App/Dashboard/HostDocumentationCard.test.tsx +225 -0
  149. package/Tests/App/Dashboard/HostSetupGuide.test.ts +1183 -0
  150. package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +69 -45
  151. package/Tests/App/Dashboard/IncidentCreateTemplateCustomFieldSettings.test.tsx +745 -0
  152. package/Tests/App/Dashboard/IncidentCreateTemplateOwners.test.tsx +414 -0
  153. package/Tests/App/Dashboard/IncidentCustomFieldCreateSettingsForm.test.ts +1042 -0
  154. package/Tests/App/Dashboard/IncidentCustomFieldSettingsCard.test.tsx +1816 -0
  155. package/Tests/App/Dashboard/IncidentFormPlan.test.ts +89 -0
  156. package/Tests/App/Dashboard/IncidentFormShareLinkCard.test.tsx +846 -0
  157. package/Tests/App/Dashboard/IncidentFormsPages.test.tsx +1324 -0
  158. package/Tests/App/Dashboard/IncidentTemplateCustomFieldSettings.test.tsx +630 -0
  159. package/Tests/App/Dashboard/IncidentsSideMenu.test.tsx +13 -0
  160. package/Tests/App/Dashboard/IncomingEmailMonitorLinkVerifyHint.test.tsx +104 -0
  161. package/Tests/App/Dashboard/InvestigationConversation.test.tsx +1107 -0
  162. package/Tests/App/Dashboard/InvestigationConversationData.test.ts +546 -0
  163. package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +170 -5
  164. package/Tests/App/Dashboard/InvestigationNotStarted.test.tsx +207 -2
  165. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +729 -34
  166. package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +9 -21
  167. package/Tests/App/Dashboard/InvestigationReportView.test.tsx +274 -37
  168. package/Tests/App/Dashboard/InvestigationStatusBadge.test.tsx +130 -0
  169. package/Tests/App/Dashboard/IoTDocumentationCard.test.tsx +218 -0
  170. package/Tests/App/Dashboard/IoTSetupGuide.test.ts +1124 -0
  171. package/Tests/App/Dashboard/KubernetesClusterAiAccessSettings.test.ts +20 -6
  172. package/Tests/App/Dashboard/KubernetesClusterAiDocumentationMarkdown.test.ts +107 -83
  173. package/Tests/App/Dashboard/KubernetesSetupGuide.test.ts +787 -0
  174. package/Tests/App/Dashboard/MessageQueueBreadcrumbs.test.tsx +228 -0
  175. package/Tests/App/Dashboard/MessageQueueBrokerHealth.test.tsx +1538 -0
  176. package/Tests/App/Dashboard/MessageQueueBrokerHealthMetricChart.test.tsx +969 -0
  177. package/Tests/App/Dashboard/MessageQueueBrokerHealthReads.test.ts +889 -0
  178. package/Tests/App/Dashboard/MessageQueueBrokerMetricsReach.test.ts +236 -0
  179. package/Tests/App/Dashboard/MessageQueueDocumentationCard.test.tsx +479 -0
  180. package/Tests/App/Dashboard/MessageQueueListPages.test.tsx +1232 -0
  181. package/Tests/App/Dashboard/MessageQueueMetricDescriptions.test.ts +244 -0
  182. package/Tests/App/Dashboard/MessageQueueMonitorLink.test.ts +952 -0
  183. package/Tests/App/Dashboard/MessageQueueMonitorLinkMonitorCreate.test.tsx +859 -0
  184. package/Tests/App/Dashboard/MessageQueueOverview.test.tsx +1773 -0
  185. package/Tests/App/Dashboard/MessageQueueOverviewPresentation.test.ts +196 -0
  186. package/Tests/App/Dashboard/MessageQueuePresentation.test.ts +799 -0
  187. package/Tests/App/Dashboard/MessageQueueProducersConsumers.test.tsx +680 -0
  188. package/Tests/App/Dashboard/MessageQueueRoutes.test.tsx +383 -0
  189. package/Tests/App/Dashboard/MessageQueueRulePages.test.tsx +278 -0
  190. package/Tests/App/Dashboard/MessageQueueSetupGuide.test.ts +2778 -0
  191. package/Tests/App/Dashboard/MessageQueueSideMenus.test.tsx +273 -0
  192. package/Tests/App/Dashboard/MessageQueueSpanPopulations.test.ts +930 -0
  193. package/Tests/App/Dashboard/MessageQueueSpanStore.ts +351 -0
  194. package/Tests/App/Dashboard/MessageQueueTelemetryScope.test.ts +375 -0
  195. package/Tests/App/Dashboard/MessageQueueTelemetryScopeTabs.test.tsx +668 -0
  196. package/Tests/App/Dashboard/MessageQueueViewPages.test.tsx +685 -0
  197. package/Tests/App/Dashboard/MonitorAndHomeNotOperationalMenus.test.tsx +342 -0
  198. package/Tests/App/Dashboard/MonitorCreateFirstRunDefaults.test.tsx +623 -0
  199. package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +442 -0
  200. package/Tests/App/Dashboard/MonitorLogsPageViewSummary.test.tsx +814 -0
  201. package/Tests/App/Dashboard/MonitorSetupCardBodies.test.tsx +246 -0
  202. package/Tests/App/Dashboard/NavigationSearchKeywords.test.tsx +8 -0
  203. package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +27 -12
  204. package/Tests/App/Dashboard/PlanGatedPage.test.tsx +292 -0
  205. package/Tests/App/Dashboard/PodmanSetupGuide.test.ts +948 -0
  206. package/Tests/App/Dashboard/ProductOrientation.test.tsx +5 -4
  207. package/Tests/App/Dashboard/ProductSettingsSectionCollapsed.test.tsx +266 -0
  208. package/Tests/App/Dashboard/ProxmoxSetupGuide.test.ts +1318 -0
  209. package/Tests/App/Dashboard/ResourceAiAgentAttentionServerParity.test.ts +555 -0
  210. package/Tests/App/Dashboard/ResourceAiAgentPage.test.tsx +298 -9
  211. package/Tests/App/Dashboard/ResourceAiAgentStatus.test.ts +453 -0
  212. package/Tests/App/Dashboard/ResourceArchiveSettings.test.tsx +16 -0
  213. package/Tests/App/Dashboard/ResourceConnectionGuideCard.test.tsx +444 -0
  214. package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsInfra.test.tsx +798 -0
  215. package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsPlatforms.test.tsx +717 -0
  216. package/Tests/App/Dashboard/ResourceConnectionGuides.test.ts +981 -0
  217. package/Tests/App/Dashboard/ResourceConnectionState.test.ts +132 -0
  218. package/Tests/App/Dashboard/RumDocumentationCard.test.tsx +293 -0
  219. package/Tests/App/Dashboard/RumSessionReplayRetentionSettings.test.tsx +467 -0
  220. package/Tests/App/Dashboard/RumSetupGuide.test.ts +758 -0
  221. package/Tests/App/Dashboard/ScheduledMaintenanceOverviewPage.test.tsx +25 -0
  222. package/Tests/App/Dashboard/ServerlessDocumentationCard.test.tsx +254 -0
  223. package/Tests/App/Dashboard/ServerlessSetupGuide.test.ts +1074 -0
  224. package/Tests/App/Dashboard/SetupGuide.test.ts +246 -0
  225. package/Tests/App/Dashboard/SetupGuideCard.test.tsx +756 -0
  226. package/Tests/App/Dashboard/SloListSideMenu.test.tsx +120 -0
  227. package/Tests/App/Dashboard/SsoPages.test.tsx +833 -0
  228. package/Tests/App/Dashboard/TelemetryDocumentation.test.tsx +253 -0
  229. package/Tests/App/Dashboard/TelemetryRetentionShells.test.tsx +730 -0
  230. package/Tests/App/Dashboard/VMwareSetupGuide.test.ts +1033 -0
  231. package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +87 -7
  232. package/Tests/Models/DatabaseModels/DatabaseServerModels.test.ts +28 -9
  233. package/Tests/Models/DatabaseModels/IncidentFormModel.test.ts +1250 -0
  234. package/Tests/Models/DatabaseModels/MessageQueueModels.test.ts +1983 -0
  235. package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +4 -2
  236. package/Tests/Models/DatabaseModels/TeamComplianceSettingModel.test.ts +190 -14
  237. package/Tests/Models/IncidentTemplateCustomFieldSettingsColumn.test.ts +291 -0
  238. package/Tests/Server/API/AIInvestigationConversationAPI.test.ts +412 -0
  239. package/Tests/Server/API/GlobalConfigLicense.test.ts +38 -9
  240. package/Tests/Server/API/IncidentFormAPI.test.ts +942 -0
  241. package/Tests/Server/API/IncidentFormPublicRoutes.test.ts +1653 -0
  242. package/Tests/Server/API/KubernetesClusterAiAccessAPI.test.ts +2 -1
  243. package/Tests/Server/API/{SsoProviderListingsEdition.test.ts → SsoProviderListings.test.ts} +164 -110
  244. package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +76 -54
  245. package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +125 -42
  246. package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +36 -10
  247. package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +51 -9
  248. package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +13 -8
  249. package/Tests/Server/Enterprise/SsoInCommunityEdition.test.ts +540 -0
  250. package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +3 -0
  251. package/Tests/Server/Infrastructure/Postgres/AddIncidentFormsMigration.test.ts +438 -0
  252. package/Tests/Server/Infrastructure/Postgres/AddTeamComplianceRuleNotificationChannelsMigration.test.ts +255 -0
  253. package/Tests/Server/Infrastructure/Postgres/MessageQueueTablesMigration.test.ts +637 -0
  254. package/Tests/Server/Middleware/IncidentFormRateLimit.test.ts +1630 -0
  255. package/Tests/Server/Middleware/UserAuthorization.test.ts +16 -17
  256. package/Tests/Server/Middleware/UserAuthorizationSsoEnforcement.test.ts +544 -0
  257. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +37 -8
  258. package/Tests/Server/Services/IncidentCreatedFeedTitle.test.ts +212 -0
  259. package/Tests/Server/Services/IncidentCustomFieldDeleteFormQuestions.test.ts +297 -0
  260. package/Tests/Server/Services/IncidentFormOwnersCreatedNotification.test.ts +497 -0
  261. package/Tests/Server/Services/IncidentFormPostgres.test.ts +958 -0
  262. package/Tests/Server/Services/IncidentFormPublicForm.test.ts +1260 -0
  263. package/Tests/Server/Services/IncidentFormPublicSubmission.test.ts +2520 -0
  264. package/Tests/Server/Services/IncidentFormRegistration.test.ts +159 -0
  265. package/Tests/Server/Services/IncidentFormService.test.ts +663 -0
  266. package/Tests/Server/Services/IncidentFormSubmissionService.test.ts +430 -0
  267. package/Tests/Server/Services/IncidentFormSubmissionTemplateBranch.test.ts +473 -0
  268. package/Tests/Server/Services/IncidentGroupingTemplateSubstitution.test.ts +81 -0
  269. package/Tests/Server/Services/IncidentTemplateCustomFieldSettings.test.ts +262 -0
  270. package/Tests/Server/Services/IncidentTemplateOwnersOnDeclare.test.ts +566 -0
  271. package/Tests/Server/Services/IncidentTitleMarkdownSinks.test.ts +640 -0
  272. package/Tests/Server/Services/LlmLogServiceTokenAggregateParams.test.ts +3 -3
  273. package/Tests/Server/Services/MessageQueueOwnerServices.test.ts +440 -0
  274. package/Tests/Server/Services/MessageQueueRegistries.test.ts +577 -0
  275. package/Tests/Server/Services/MessageQueueRuleEngines.test.ts +900 -0
  276. package/Tests/Server/Services/MessageQueueService.test.ts +2210 -0
  277. package/Tests/Server/Services/MessageQueueSqlPostgres.test.ts +1271 -0
  278. package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +28 -1
  279. package/Tests/Server/Services/OpenTelemetryRetentionOverrideEdition.test.ts +474 -0
  280. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +21 -0
  281. package/Tests/Server/Services/OwnerRowUniqueness.test.ts +3 -0
  282. package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +0 -1
  283. package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +56 -6
  284. package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +30 -1
  285. package/Tests/Server/Services/SsoRequirementReads.test.ts +454 -0
  286. package/Tests/Server/Services/SsoRequirementWrites.test.ts +529 -0
  287. package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +3 -3
  288. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +107 -89
  289. package/Tests/Server/Services/TeamComplianceSettingPostgres.test.ts +1068 -176
  290. package/Tests/Server/Services/TeamComplianceSettingService.test.ts +1962 -200
  291. package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +654 -297
  292. package/Tests/Server/Types/Database/Permissions/RetentionOverrideColumns.test.ts +784 -0
  293. package/Tests/Server/Types/Database/Permissions/SsoScalePlanGate.test.ts +418 -0
  294. package/Tests/Server/Utils/AI/AIAlertGating.test.ts +0 -1
  295. package/Tests/Server/Utils/AI/AIInvestigationEngineRunLimits.test.ts +136 -0
  296. package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +15 -14
  297. package/Tests/Server/Utils/AI/AgentContextCompactor.test.ts +351 -0
  298. package/Tests/Server/Utils/AI/ChatAgentRunnerSharedThread.test.ts +842 -0
  299. package/Tests/Server/Utils/AI/ChatRunCancellation.test.ts +195 -0
  300. package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +10 -57
  301. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +20 -24
  302. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +7 -30
  303. package/Tests/Server/Utils/AI/InvestigationClusterAccessWiring.test.ts +225 -29
  304. package/Tests/Server/Utils/AI/InvestigationInfrastructureAccessWiring.test.ts +266 -25
  305. package/Tests/Server/Utils/AI/InvestigationThread.test.ts +580 -0
  306. package/Tests/Server/Utils/AI/InvestigationThreadService.test.ts +801 -0
  307. package/Tests/Server/Utils/AI/KubectlInvestigationToolkit.test.ts +525 -43
  308. package/Tests/Server/Utils/AI/KubectlJobRunner.test.ts +4 -2
  309. package/Tests/Server/Utils/AI/LLMServiceUnreachableProvider.test.ts +435 -0
  310. package/Tests/Server/Utils/AI/ObservabilityAssistantLimits.test.ts +462 -0
  311. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +14 -25
  312. package/Tests/Server/Utils/AI/RemediationExecutionRunnerResourceMode.test.ts +2 -0
  313. package/Tests/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.test.ts +297 -15
  314. package/Tests/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.test.ts +10 -6
  315. package/Tests/Server/Utils/AI/ToolOutputPager.test.ts +382 -0
  316. package/Tests/Server/Utils/AI/ToolResultSerializer.test.ts +23 -4
  317. package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +25 -6
  318. package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +14 -3
  319. package/Tests/Server/Utils/EditionEnforcement.test.ts +107 -147
  320. package/Tests/Server/Utils/{CommunityEditionSsoReport.test.ts → RelaxedScimTeamLocksReport.test.ts} +212 -208
  321. package/Tests/Server/Utils/SameOriginRequest.test.ts +372 -0
  322. package/Tests/Server/Utils/Telemetry/EntityRegistry.test.ts +20 -0
  323. package/Tests/Server/Utils/Telemetry/MessageQueueDiscovery.test.ts +2590 -0
  324. package/Tests/Server/Utils/Telemetry/MessageQueueSpanQueryTwin.ts +246 -0
  325. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +23 -0
  326. package/Tests/Types/AI/AIAgentRunLimits.test.ts +255 -0
  327. package/Tests/Types/Code/JsonSyntax.test.ts +1300 -0
  328. package/Tests/Types/CustomField/CustomFieldCreateSettings.test.ts +1113 -0
  329. package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +91 -0
  330. package/Tests/Types/CustomField/CustomFieldValueValidator.test.ts +30 -0
  331. package/Tests/Types/Incident/IncidentFormIpAllowlist.test.ts +227 -0
  332. package/Tests/Types/Incident/IncidentFormPublic.test.ts +1916 -0
  333. package/Tests/Types/MessageQueue/MessageQueueEntityKey.test.ts +916 -0
  334. package/Tests/Types/MessageQueue/MessageQueueIdentity.test.ts +567 -0
  335. package/Tests/Types/MessageQueue/MessageQueueManualIdentity.test.ts +686 -0
  336. package/Tests/Types/MessageQueue/MessageQueueMetricCatalog.test.ts +1726 -0
  337. package/Tests/Types/MessageQueue/MessageQueueMetricResolution.test.ts +1758 -0
  338. package/Tests/Types/MessageQueue/MessagingInstrumentationFixtures.test.ts +4686 -0
  339. package/Tests/Types/MessageQueue/MessagingSystem.test.ts +840 -0
  340. package/Tests/Types/MessageQueue/MessagingTelemetryFixtures.ts +3287 -0
  341. package/Tests/Types/MessageQueue/MessagingTelemetryResolver.test.ts +2966 -0
  342. package/Tests/Types/Monitor/MessageQueueAlertTemplates.test.ts +5401 -0
  343. package/Tests/Types/Monitor/MetricEngineFold.ts +154 -0
  344. package/Tests/Types/ResourceAiAgent/ResourceAiAccess.test.ts +5 -3
  345. package/Tests/Types/Team/ComplianceRule.test.ts +588 -37
  346. package/Tests/Types/Team/TeamComplianceStatus.test.ts +64 -11
  347. package/Tests/Types/XML.test.ts +51 -0
  348. package/Tests/UI/Components/CodeEditor/CodeEditor.test.tsx +2362 -0
  349. package/Tests/UI/Components/CodeEditor/CodeEditorCommands.test.ts +810 -0
  350. package/Tests/UI/Components/CodeEditor/CodeEditorHighlight.test.ts +338 -0
  351. package/Tests/UI/Components/CodeEditor/CodeEditorLanguages.test.ts +222 -0
  352. package/Tests/UI/Components/CodeEditor/CodeEditorStyles.test.ts +807 -0
  353. package/Tests/UI/Components/CodeEditor/NoMonaco.test.ts +245 -0
  354. package/Tests/UI/Components/CodeEditor/YamlEditor.test.tsx +729 -0
  355. package/Tests/UI/Components/CopyTextButton.test.tsx +76 -0
  356. package/Tests/UI/Components/EditionLabelLapseCopy.ts +51 -14
  357. package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +131 -23
  358. package/Tests/UI/Components/ErrorMessageAction.test.tsx +142 -0
  359. package/Tests/UI/Components/FacetSidebarInScope.test.tsx +459 -0
  360. package/Tests/UI/Components/FacetValuesInScope.test.ts +270 -0
  361. package/Tests/UI/Components/Forms/FormFieldCodeEditors.test.tsx +294 -0
  362. package/Tests/UI/Components/Forms/FormFieldMarkdown.test.tsx +126 -0
  363. package/Tests/UI/Components/Forms/FormFieldYaml.test.tsx +22 -75
  364. package/Tests/UI/Components/Forms/ModelFormOnBeforeCreateMiscData.test.tsx +254 -0
  365. package/Tests/UI/Components/Icon.test.tsx +32 -0
  366. package/Tests/UI/Components/Input.test.tsx +31 -0
  367. package/Tests/UI/Components/LockedFilterChipScope.test.tsx +501 -0
  368. package/Tests/UI/Components/MarkdownConverters.test.ts +253 -1
  369. package/Tests/UI/Components/MarkdownEditor.test.tsx +2785 -2
  370. package/Tests/UI/Components/MarkdownEditorHistory.test.ts +243 -0
  371. package/Tests/UI/Components/MarkdownListEditing.test.ts +1118 -0
  372. package/Tests/UI/Components/MarkdownPaste.test.ts +1180 -0
  373. package/Tests/UI/Components/MarkdownViewerCopy.test.tsx +466 -0
  374. package/Tests/UI/Components/MarkdownVisualEditing.test.ts +1089 -0
  375. package/Tests/UI/Components/ModelTable/BaseModelTableEmptyStateAction.test.tsx +623 -0
  376. package/Tests/UI/Components/ResetObjectID.test.tsx +282 -0
  377. package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
  378. package/Tests/UI/Components/Table/EmptyTableMessage.test.ts +439 -0
  379. package/Tests/UI/Components/Table/TableEmptyState.test.tsx +352 -0
  380. package/Tests/UI/Components/TableRowMobileTitles.test.tsx +78 -0
  381. package/Tests/UI/Components/TextArea.test.tsx +19 -0
  382. package/Tests/UI/Components/Workflow/ModelColumnEditor.render.test.tsx +12 -29
  383. package/Tests/UI/Components/fixtures/MarkdownPasteFixtures.ts +460 -0
  384. package/Tests/UI/EsbuildConfig.test.ts +115 -39
  385. package/Tests/UI/EsbuildEnterpriseAlias.test.ts +4 -4
  386. package/Tests/UI/Monitor/MonitorLogSummaryRender.test.tsx +377 -0
  387. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +81 -1
  388. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +17 -0
  389. package/Tests/Utils/LabelRuleImportExport.test.ts +5 -0
  390. package/Tests/Utils/Markdown/DashboardMarkdownRenderer.ts +81 -0
  391. package/Tests/Utils/Markdown/UntrustedMarkdown.test.ts +1339 -0
  392. package/Tests/Utils/Monitor/MonitorLogSummaryUtil.test.ts +862 -0
  393. package/Types/AI/AIAgentRunLimits.ts +146 -0
  394. package/Types/Code/CodeType.ts +2 -0
  395. package/Types/Code/JsonSyntax.ts +923 -0
  396. package/Types/CustomField/CustomFieldCreateSettings.ts +549 -0
  397. package/Types/CustomField/CustomFieldMappingCatalog.ts +77 -0
  398. package/Types/CustomField/CustomFieldValueValidator.ts +10 -7
  399. package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +1 -1
  400. package/Types/Icon/IconProp.ts +2 -0
  401. package/Types/Incident/IncidentFormIpAllowlist.ts +206 -0
  402. package/Types/Incident/IncidentFormPublic.ts +1145 -0
  403. package/Types/Kubernetes/KubernetesClusterAiAccess.ts +10 -3
  404. package/Types/MessageQueue/MessageQueueIdentity.ts +256 -0
  405. package/Types/MessageQueue/MessageQueueManualIdentity.ts +325 -0
  406. package/Types/MessageQueue/MessageQueueMetricCatalog.ts +1357 -0
  407. package/Types/MessageQueue/MessagingSystem.ts +518 -0
  408. package/Types/MessageQueue/MessagingTelemetryResolver.ts +2311 -0
  409. package/Types/Monitor/MessageQueueAlertTemplates.ts +2128 -0
  410. package/Types/Permission.ts +310 -0
  411. package/Types/ResourceAiAgent/ResourceAiAccess.ts +10 -4
  412. package/Types/Rules/RuleCriteriaFieldRegistry.ts +12 -0
  413. package/Types/Rules/RuleRun.ts +4 -0
  414. package/Types/Team/ComplianceNotificationChannel.ts +4 -3
  415. package/Types/Team/ComplianceRule.ts +71 -18
  416. package/Types/Team/ComplianceRuleType.ts +2 -2
  417. package/Types/Team/TeamComplianceStatus.ts +6 -2
  418. package/Types/Telemetry/EntityType.ts +16 -0
  419. package/Types/Telemetry/LockedFilterDetail.ts +22 -0
  420. package/Types/XML.ts +26 -0
  421. package/UI/Components/CodeEditor/CodeEditor.css +379 -0
  422. package/UI/Components/CodeEditor/CodeEditor.tsx +1128 -294
  423. package/UI/Components/CodeEditor/CodeEditorCommands.ts +774 -0
  424. package/UI/Components/CodeEditor/CodeEditorHighlight.ts +106 -0
  425. package/UI/Components/CodeEditor/CodeEditorLanguages.ts +164 -0
  426. package/UI/Components/CodeEditor/YamlEditor.tsx +28 -326
  427. package/UI/Components/CopyTextButton/CopyTextButton.tsx +5 -1
  428. package/UI/Components/CustomFields/CustomFieldModelFormFields.tsx +6 -25
  429. package/UI/Components/EditionLabel/EditionLabel.tsx +14 -13
  430. package/UI/Components/ErrorMessage/ErrorMessage.tsx +11 -1
  431. package/UI/Components/Forms/Fields/FormField.tsx +8 -0
  432. package/UI/Components/Forms/Types/Field.ts +8 -0
  433. package/UI/Components/Icon/Icon.tsx +18 -0
  434. package/UI/Components/Input/Input.tsx +11 -4
  435. package/UI/Components/LogsViewer/LogsViewer.tsx +4 -0
  436. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +21 -3
  437. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  438. package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +877 -79
  439. package/UI/Components/Markdown.tsx/MarkdownEditorHistory.ts +284 -0
  440. package/UI/Components/Markdown.tsx/MarkdownListEditing.ts +1362 -0
  441. package/UI/Components/Markdown.tsx/MarkdownPaste.ts +1326 -0
  442. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +106 -10
  443. package/UI/Components/Markdown.tsx/MarkdownVisualEditing.ts +1032 -0
  444. package/UI/Components/ModelTable/BaseModelTable.tsx +85 -7
  445. package/UI/Components/ResetObjectID/ResetObjectID.tsx +35 -9
  446. package/UI/Components/Table/EmptyTableMessage.ts +81 -0
  447. package/UI/Components/Table/Table.tsx +50 -21
  448. package/UI/Components/Table/TableRow.tsx +9 -1
  449. package/UI/Components/TelemetryViewer/FacetVisibility.ts +97 -2
  450. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +13 -0
  451. package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +214 -7
  452. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +21 -3
  453. package/UI/Components/TextArea/TextArea.tsx +9 -2
  454. package/UI/Components/Workflow/ModelFieldPicker.tsx +10 -12
  455. package/UI/Styles/Theme.css +8 -0
  456. package/UI/esbuild-config.js +2 -32
  457. package/Utils/LabelRuleImportExport.ts +2 -0
  458. package/Utils/Markdown/UntrustedMarkdown.ts +1513 -0
  459. package/Utils/Monitor/IncomingEmailMonitorRequestUtil.ts +41 -0
  460. package/Utils/Monitor/MonitorLogSummaryUtil.ts +212 -0
  461. package/Utils/Telemetry/EntityKey.ts +48 -0
  462. package/build/dist/Models/DatabaseModels/AIConversation.js +125 -1
  463. package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -1
  464. package/build/dist/Models/DatabaseModels/CephCluster.js +12 -0
  465. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  466. package/build/dist/Models/DatabaseModels/CloudResource.js +12 -0
  467. package/build/dist/Models/DatabaseModels/CloudResource.js.map +1 -1
  468. package/build/dist/Models/DatabaseModels/DatabaseServer.js +12 -0
  469. package/build/dist/Models/DatabaseModels/DatabaseServer.js.map +1 -1
  470. package/build/dist/Models/DatabaseModels/DockerHost.js +12 -0
  471. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  472. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +12 -0
  473. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -1
  474. package/build/dist/Models/DatabaseModels/GlobalOidc.js +0 -4
  475. package/build/dist/Models/DatabaseModels/GlobalOidc.js.map +1 -1
  476. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +0 -4
  477. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
  478. package/build/dist/Models/DatabaseModels/GlobalSso.js +0 -4
  479. package/build/dist/Models/DatabaseModels/GlobalSso.js.map +1 -1
  480. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +0 -4
  481. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
  482. package/build/dist/Models/DatabaseModels/Host.js +12 -0
  483. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  484. package/build/dist/Models/DatabaseModels/IncidentForm.js +605 -0
  485. package/build/dist/Models/DatabaseModels/IncidentForm.js.map +1 -0
  486. package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js +299 -0
  487. package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js.map +1 -0
  488. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +60 -0
  489. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  490. package/build/dist/Models/DatabaseModels/Index.js +14 -0
  491. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  492. package/build/dist/Models/DatabaseModels/IoTFleet.js +12 -0
  493. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
  494. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +12 -0
  495. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  496. package/build/dist/Models/DatabaseModels/MessageQueue.js +1106 -0
  497. package/build/dist/Models/DatabaseModels/MessageQueue.js.map +1 -0
  498. package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js +562 -0
  499. package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js.map +1 -0
  500. package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js +643 -0
  501. package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js.map +1 -0
  502. package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js +506 -0
  503. package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js.map +1 -0
  504. package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js +505 -0
  505. package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js.map +1 -0
  506. package/build/dist/Models/DatabaseModels/PodmanHost.js +12 -0
  507. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -1
  508. package/build/dist/Models/DatabaseModels/Project.js +61 -0
  509. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  510. package/build/dist/Models/DatabaseModels/ProjectOidc.js +0 -4
  511. package/build/dist/Models/DatabaseModels/ProjectOidc.js.map +1 -1
  512. package/build/dist/Models/DatabaseModels/ProjectSso.js +0 -4
  513. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  514. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +12 -0
  515. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  516. package/build/dist/Models/DatabaseModels/RumApplication.js +12 -0
  517. package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
  518. package/build/dist/Models/DatabaseModels/ServerlessFunction.js +12 -0
  519. package/build/dist/Models/DatabaseModels/ServerlessFunction.js.map +1 -1
  520. package/build/dist/Models/DatabaseModels/Service.js +12 -0
  521. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  522. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +0 -4
  523. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
  524. package/build/dist/Models/DatabaseModels/StatusPageSso.js +0 -4
  525. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  526. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +49 -3
  527. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
  528. package/build/dist/Models/DatabaseModels/VMwareVCenter.js +12 -0
  529. package/build/dist/Models/DatabaseModels/VMwareVCenter.js.map +1 -1
  530. package/build/dist/Server/API/AIChatAPI.js +9 -103
  531. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  532. package/build/dist/Server/API/AIInvestigationAPI.js +3 -3
  533. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  534. package/build/dist/Server/API/AIInvestigationConversationAPI.js +162 -0
  535. package/build/dist/Server/API/AIInvestigationConversationAPI.js.map +1 -0
  536. package/build/dist/Server/API/IncidentFormAPI.js +245 -0
  537. package/build/dist/Server/API/IncidentFormAPI.js.map +1 -0
  538. package/build/dist/Server/API/ProjectOIDC.js +16 -24
  539. package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
  540. package/build/dist/Server/API/ProjectSSO.js +16 -24
  541. package/build/dist/Server/API/ProjectSSO.js.map +1 -1
  542. package/build/dist/Server/API/StatusPageAPI.js +42 -75
  543. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  544. package/build/dist/Server/Enterprise/EnterpriseEdition.js +79 -25
  545. package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -1
  546. package/build/dist/Server/Enterprise/EnterpriseFeature.js +24 -3
  547. package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -1
  548. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +1 -1
  549. package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -1
  550. package/build/dist/Server/EnvironmentConfig.js +1 -1
  551. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js +63 -0
  552. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js.map +1 -0
  553. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js +41 -0
  554. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js.map +1 -0
  555. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js +40 -0
  556. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js.map +1 -0
  557. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js +183 -0
  558. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js.map +1 -0
  559. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  560. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  561. package/build/dist/Server/Middleware/IncidentFormRateLimit.js +559 -0
  562. package/build/dist/Server/Middleware/IncidentFormRateLimit.js.map +1 -0
  563. package/build/dist/Server/Middleware/UserAuthorization.js +11 -30
  564. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  565. package/build/dist/Server/Services/AIService.js +10 -13
  566. package/build/dist/Server/Services/AIService.js.map +1 -1
  567. package/build/dist/Server/Services/IncidentCustomFieldService.js +83 -0
  568. package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
  569. package/build/dist/Server/Services/IncidentEpisodeMemberService.js +8 -4
  570. package/build/dist/Server/Services/IncidentEpisodeMemberService.js.map +1 -1
  571. package/build/dist/Server/Services/IncidentEpisodeService.js +10 -1
  572. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  573. package/build/dist/Server/Services/IncidentFormService.js +1202 -0
  574. package/build/dist/Server/Services/IncidentFormService.js.map +1 -0
  575. package/build/dist/Server/Services/IncidentFormSubmissionService.js +91 -0
  576. package/build/dist/Server/Services/IncidentFormSubmissionService.js.map +1 -0
  577. package/build/dist/Server/Services/IncidentGroupingEngineService.js +20 -8
  578. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  579. package/build/dist/Server/Services/IncidentService.js +106 -4
  580. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  581. package/build/dist/Server/Services/IncidentTemplateService.js +18 -0
  582. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  583. package/build/dist/Server/Services/Index.js +14 -0
  584. package/build/dist/Server/Services/Index.js.map +1 -1
  585. package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js +262 -0
  586. package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js.map +1 -0
  587. package/build/dist/Server/Services/MessageQueueLabelRuleService.js +13 -0
  588. package/build/dist/Server/Services/MessageQueueLabelRuleService.js.map +1 -0
  589. package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js +334 -0
  590. package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js.map +1 -0
  591. package/build/dist/Server/Services/MessageQueueOwnerRuleService.js +13 -0
  592. package/build/dist/Server/Services/MessageQueueOwnerRuleService.js.map +1 -0
  593. package/build/dist/Server/Services/MessageQueueOwnerTeamService.js +62 -0
  594. package/build/dist/Server/Services/MessageQueueOwnerTeamService.js.map +1 -0
  595. package/build/dist/Server/Services/MessageQueueOwnerUserService.js +62 -0
  596. package/build/dist/Server/Services/MessageQueueOwnerUserService.js.map +1 -0
  597. package/build/dist/Server/Services/MessageQueueService.js +1140 -0
  598. package/build/dist/Server/Services/MessageQueueService.js.map +1 -0
  599. package/build/dist/Server/Services/OpenTelemetryIngestService.js +25 -4
  600. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  601. package/build/dist/Server/Services/ProjectService.js +0 -54
  602. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  603. package/build/dist/Server/Services/StatusPagePrivateUserService.js +1 -4
  604. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  605. package/build/dist/Server/Services/StatusPageService.js +0 -46
  606. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  607. package/build/dist/Server/Services/TeamComplianceSettingService.js +120 -31
  608. package/build/dist/Server/Services/TeamComplianceSettingService.js.map +1 -1
  609. package/build/dist/Server/Services/UserNotificationRuleService.js +8 -1
  610. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  611. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +12 -3
  612. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  613. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +6 -3
  614. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  615. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +109 -37
  616. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
  617. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +16 -0
  618. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  619. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +3 -3
  620. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +9 -6
  621. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
  622. package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js +128 -0
  623. package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js.map +1 -0
  624. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +192 -50
  625. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
  626. package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js +133 -0
  627. package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js.map +1 -0
  628. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +53 -13
  629. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  630. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
  631. package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js +206 -0
  632. package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js.map +1 -0
  633. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js +53 -26
  634. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js.map +1 -1
  635. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js +4 -2
  636. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js.map +1 -1
  637. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +1 -29
  638. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
  639. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +24 -24
  640. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
  641. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +7 -2
  642. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -1
  643. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +29 -14
  644. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  645. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js +38 -14
  646. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js.map +1 -1
  647. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js +2 -0
  648. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js.map +1 -1
  649. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +40 -10
  650. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  651. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +19 -7
  652. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  653. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +19 -7
  654. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  655. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +15 -18
  656. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  657. package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js +412 -0
  658. package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js.map +1 -0
  659. package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js +495 -0
  660. package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js.map +1 -0
  661. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js +10 -3
  662. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js.map +1 -1
  663. package/build/dist/Server/Utils/EditionEnforcement.js +20 -158
  664. package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -1
  665. package/build/dist/Server/Utils/LLM/LLMService.js +193 -54
  666. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  667. package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js +160 -0
  668. package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js.map +1 -0
  669. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +25 -0
  670. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -1
  671. package/build/dist/Server/Utils/SameOriginRequest.js +151 -0
  672. package/build/dist/Server/Utils/SameOriginRequest.js.map +1 -0
  673. package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js +2 -0
  674. package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js.map +1 -1
  675. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -1
  676. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  677. package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js +1015 -0
  678. package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js.map +1 -0
  679. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +4 -1
  680. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -1
  681. package/build/dist/Server/Utils/VendorAssets.js +3 -3
  682. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +3 -1
  683. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
  684. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js +3 -1
  685. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js.map +1 -1
  686. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +10 -1
  687. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  688. package/build/dist/Types/AI/AIAgentRunLimits.js +91 -0
  689. package/build/dist/Types/AI/AIAgentRunLimits.js.map +1 -0
  690. package/build/dist/Types/Code/CodeType.js +2 -0
  691. package/build/dist/Types/Code/CodeType.js.map +1 -1
  692. package/build/dist/Types/Code/JsonSyntax.js +604 -0
  693. package/build/dist/Types/Code/JsonSyntax.js.map +1 -0
  694. package/build/dist/Types/CustomField/CustomFieldCreateSettings.js +310 -0
  695. package/build/dist/Types/CustomField/CustomFieldCreateSettings.js.map +1 -0
  696. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +38 -0
  697. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -1
  698. package/build/dist/Types/CustomField/CustomFieldValueValidator.js +10 -7
  699. package/build/dist/Types/CustomField/CustomFieldValueValidator.js.map +1 -1
  700. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +1 -1
  701. package/build/dist/Types/Icon/IconProp.js +2 -0
  702. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  703. package/build/dist/Types/Incident/IncidentFormIpAllowlist.js +119 -0
  704. package/build/dist/Types/Incident/IncidentFormIpAllowlist.js.map +1 -0
  705. package/build/dist/Types/Incident/IncidentFormPublic.js +678 -0
  706. package/build/dist/Types/Incident/IncidentFormPublic.js.map +1 -0
  707. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js +10 -3
  708. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js.map +1 -1
  709. package/build/dist/Types/MessageQueue/MessageQueueIdentity.js +184 -0
  710. package/build/dist/Types/MessageQueue/MessageQueueIdentity.js.map +1 -0
  711. package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js +190 -0
  712. package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js.map +1 -0
  713. package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js +1057 -0
  714. package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js.map +1 -0
  715. package/build/dist/Types/MessageQueue/MessagingSystem.js +394 -0
  716. package/build/dist/Types/MessageQueue/MessagingSystem.js.map +1 -0
  717. package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js +1768 -0
  718. package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js.map +1 -0
  719. package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js +1207 -0
  720. package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js.map +1 -0
  721. package/build/dist/Types/Permission.js +274 -0
  722. package/build/dist/Types/Permission.js.map +1 -1
  723. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js +10 -4
  724. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js.map +1 -1
  725. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +12 -0
  726. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
  727. package/build/dist/Types/Rules/RuleRun.js +4 -0
  728. package/build/dist/Types/Rules/RuleRun.js.map +1 -1
  729. package/build/dist/Types/Team/ComplianceNotificationChannel.js +4 -3
  730. package/build/dist/Types/Team/ComplianceNotificationChannel.js.map +1 -1
  731. package/build/dist/Types/Team/ComplianceRule.js +48 -14
  732. package/build/dist/Types/Team/ComplianceRule.js.map +1 -1
  733. package/build/dist/Types/Team/ComplianceRuleType.js +2 -2
  734. package/build/dist/Types/Telemetry/EntityType.js +16 -0
  735. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  736. package/build/dist/Types/XML.js +23 -0
  737. package/build/dist/Types/XML.js.map +1 -1
  738. package/build/dist/UI/Components/CodeEditor/CodeEditor.js +641 -266
  739. package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
  740. package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js +464 -0
  741. package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js.map +1 -0
  742. package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js +69 -0
  743. package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js.map +1 -0
  744. package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js +108 -0
  745. package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js.map +1 -0
  746. package/build/dist/UI/Components/CodeEditor/YamlEditor.js +14 -186
  747. package/build/dist/UI/Components/CodeEditor/YamlEditor.js.map +1 -1
  748. package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js +5 -1
  749. package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js.map +1 -1
  750. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js +5 -14
  751. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js.map +1 -1
  752. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +14 -13
  753. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  754. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +1 -1
  755. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  756. package/build/dist/UI/Components/Forms/Fields/FormField.js +8 -3
  757. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  758. package/build/dist/UI/Components/Icon/Icon.js +8 -0
  759. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  760. package/build/dist/UI/Components/Input/Input.js +11 -3
  761. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  762. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +2 -1
  763. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  764. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +14 -4
  765. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  766. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  767. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  768. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +710 -65
  769. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
  770. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js +238 -0
  771. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js.map +1 -0
  772. package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js +1028 -0
  773. package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js.map +1 -0
  774. package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js +1088 -0
  775. package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js.map +1 -0
  776. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +70 -10
  777. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  778. package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js +887 -0
  779. package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js.map +1 -0
  780. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +57 -6
  781. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  782. package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js +7 -5
  783. package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js.map +1 -1
  784. package/build/dist/UI/Components/Table/EmptyTableMessage.js +51 -0
  785. package/build/dist/UI/Components/Table/EmptyTableMessage.js.map +1 -0
  786. package/build/dist/UI/Components/Table/Table.js +30 -11
  787. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  788. package/build/dist/UI/Components/Table/TableRow.js +9 -2
  789. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  790. package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js +63 -1
  791. package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js.map +1 -1
  792. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +4 -2
  793. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  794. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +91 -10
  795. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -1
  796. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -4
  797. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  798. package/build/dist/UI/Components/TextArea/TextArea.js +9 -3
  799. package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
  800. package/build/dist/UI/Components/Workflow/ModelFieldPicker.js +1 -2
  801. package/build/dist/UI/Components/Workflow/ModelFieldPicker.js.map +1 -1
  802. package/build/dist/Utils/LabelRuleImportExport.js +2 -0
  803. package/build/dist/Utils/LabelRuleImportExport.js.map +1 -1
  804. package/build/dist/Utils/Markdown/UntrustedMarkdown.js +988 -0
  805. package/build/dist/Utils/Markdown/UntrustedMarkdown.js.map +1 -0
  806. package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js +34 -0
  807. package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js.map +1 -0
  808. package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js +148 -0
  809. package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js.map +1 -0
  810. package/build/dist/Utils/Telemetry/EntityKey.js +36 -0
  811. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  812. package/package.json +1 -3
  813. package/Server/Utils/CommunityEditionSsoReport.ts +0 -361
  814. package/Tests/App/Accounts/LoginSsoEdition.test.tsx +0 -616
  815. package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +0 -217
  816. package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +0 -271
  817. package/Tests/App/Dashboard/CloudDocumentationMarkdown.test.ts +0 -215
  818. package/Tests/App/Dashboard/TelemetryResourceRetentionSettings.test.tsx +0 -784
  819. package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +0 -518
  820. package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +0 -419
  821. package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +0 -769
  822. package/Tests/UI/Components/CodeEditor.test.tsx +0 -638
  823. package/Tests/UI/Components/MonacoLoader.test.ts +0 -67
  824. package/Tests/UI/Components/MonacoRuntime.test.ts +0 -121
  825. package/Tests/UI/Components/Telemetry/TelemetryRetentionConfigForm.test.tsx +0 -329
  826. package/Tests/UI/Components/YamlEditor.test.tsx +0 -847
  827. package/UI/Components/CodeEditor/MonacoLoader.ts +0 -36
  828. package/UI/Components/Telemetry/TelemetryRetentionConfigForm.tsx +0 -319
  829. package/UI/Components/Telemetry/TelemetryRetentionConfigSummary.tsx +0 -223
  830. package/build/dist/Server/Utils/CommunityEditionSsoReport.js +0 -223
  831. package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +0 -1
  832. package/build/dist/UI/Components/CodeEditor/MonacoLoader.js +0 -34
  833. package/build/dist/UI/Components/CodeEditor/MonacoLoader.js.map +0 -1
  834. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js +0 -171
  835. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js.map +0 -1
  836. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js +0 -119
  837. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js.map +0 -1
@@ -0,0 +1,1057 @@
1
+ import AggregationType from "../BaseDatabase/AggregationType";
2
+ import { normalizeMessagingSystem } from "./MessagingSystem";
3
+ // ---- Apache Kafka — collector `kafka_metrics` receiver ------------------
4
+ /*
5
+ * Datapoint attributes `group`, `topic` (the topic NAME) and `partition`
6
+ * (an int), from receiver/kafkametricsreceiver generated_metrics.go
7
+ * @v0.161.0 and a live capture against Kafka 4.1.0. Lag and offsets are
8
+ * reported only for partitions a group has committed on.
9
+ */
10
+ const KAFKA_RECEIVER = "kafka_metrics";
11
+ const KAFKA_TOPIC_KEYS = ["topic"];
12
+ // ---- RabbitMQ — collector `rabbitmq` receiver ----------------------------
13
+ /*
14
+ * One resource per queue: `rabbitmq.queue.name`, `rabbitmq.vhost.name`,
15
+ * `rabbitmq.node.name` (stored with the `resource.` prefix);
16
+ * rabbitmq.message.current splits by the datapoint attribute `state`
17
+ * (ready | unacknowledged). The message_stats counters are ABSENT, not 0,
18
+ * until the activity they count first happens.
19
+ */
20
+ const RABBITMQ_RECEIVER = "rabbitmq";
21
+ const RABBITMQ_QUEUE_KEYS = [
22
+ "resource.rabbitmq.queue.name",
23
+ ];
24
+ // ---- Apache ActiveMQ — the OpenTelemetry JMX Scraper ----------------------
25
+ /*
26
+ * Two naming generations of the scraper's bundled `activemq` rules:
27
+ * 1.53.0-alpha and later (and the Java agent from 2.23.0) name the
28
+ * destination `messaging.destination.name`, with `activemq.destination.type`
29
+ * and `activemq.broker.name`; 1.52.0 and earlier (or
30
+ * OTEL_JMX_TARGET_SOURCE=legacy) name it `destination`, with `broker`, and
31
+ * spell two metrics differently (activemq.message.current,
32
+ * activemq.message.wait_time.avg in ms). Both captured live against
33
+ * ActiveMQ Classic 6.2.0. Names shared by both generations list both keys.
34
+ */
35
+ const JMX_SCRAPER = "OpenTelemetry JMX Scraper";
36
+ const ACTIVEMQ_DESTINATION_KEYS = [
37
+ "messaging.destination.name",
38
+ ];
39
+ const ACTIVEMQ_LEGACY_DESTINATION_KEYS = ["destination"];
40
+ const ACTIVEMQ_ANY_DESTINATION_KEYS = [
41
+ "messaging.destination.name",
42
+ "destination",
43
+ ];
44
+ // ---- Azure Service Bus / Event Hubs — collector `azure_monitor` receiver --
45
+ /*
46
+ * Metric names are `azure_<metric>_<aggregation>`, lowercased; every point
47
+ * is a double Gauge per PT1M bucket (a `_total` is that minute's sum, not a
48
+ * running total). Datapoint attributes: `type` (the resource type, whose
49
+ * casing varies — Microsoft.ServiceBus/Namespaces in ARM responses), `name`
50
+ * (the namespace) and `metadata_<dimension>` per split dimension. Azure
51
+ * returns dimension names lowercased (`metadata_entityname`), but that was
52
+ * inferred rather than captured, so the documented PascalCase spelling is
53
+ * accepted too. The EntityName value `-NamespaceOnlyMetric-` is not a queue
54
+ * (MessagingTelemetryResolver drops it).
55
+ */
56
+ const AZURE_MONITOR = "azure_monitor";
57
+ const AZURE_ENTITY_KEYS = [
58
+ "metadata_entityname",
59
+ "metadata_EntityName",
60
+ ];
61
+ const AZURE_NAMESPACE_KEYS = ["name"];
62
+ const SERVICE_BUS_NAMESPACE_TYPE = { type: ["microsoft.servicebus/namespaces"] };
63
+ const EVENT_HUBS_NAMESPACE_TYPE = { type: ["microsoft.eventhub/namespaces"] };
64
+ const AZURE_OPERATION_RESULT_KEYS = [
65
+ "metadata_operationresult",
66
+ "metadata_OperationResult",
67
+ ];
68
+ const AZURE_THROTTLE_KEYS = [
69
+ ...AZURE_OPERATION_RESULT_KEYS,
70
+ "metadata_messagingerrorsubcode",
71
+ "metadata_MessagingErrorSubCode",
72
+ ];
73
+ // ---- Amazon SQS / SNS — collector `aws_cloudwatch` or `awsfirehose` --------
74
+ /*
75
+ * Two shapes of the same CloudWatch metric. The `aws_cloudwatch` receiver
76
+ * and a Metric Stream in OpenTelemetry 1.0 format name it
77
+ * `amazonaws.com/AWS/SQS/<Metric>` with the dimensions in a kvlist
78
+ * (`Dimensions.QueueName` once flattened); a Metric Stream in JSON format
79
+ * sends the bare `<Metric>` with a plain `QueueName` attribute, and says
80
+ * which service it is only through `resource.service.name` ("SQS"). Points
81
+ * are Summaries holding one CloudWatch period: Avg reads CloudWatch's
82
+ * Average, Sum its Sum. Configure the pull receiver without `stats`, which
83
+ * would split each metric into one series per statistic.
84
+ */
85
+ const CLOUDWATCH_PULL = "aws_cloudwatch";
86
+ const CLOUDWATCH_STREAM = "awsfirehose";
87
+ const SQS_METRIC_PREFIX = "amazonaws.com/aws/sqs/";
88
+ const SNS_METRIC_PREFIX = "amazonaws.com/aws/sns/";
89
+ const SQS_JSON_SERVICE = {
90
+ "resource.service.name": ["sqs"],
91
+ };
92
+ const SNS_JSON_SERVICE = {
93
+ "resource.service.name": ["sns"],
94
+ };
95
+ const JSON_STREAM_TITLE_SUFFIX = " (JSON stream)";
96
+ // ---- Google Cloud Pub/Sub — collector `googlecloudmonitoring` receiver ----
97
+ /*
98
+ * The name is the Cloud Monitoring metric type verbatim; the monitored
99
+ * resource's labels (`subscription_id` / `topic_id`, `project_id`) are
100
+ * RESOURCE attributes, the metric's labels (`response_code`,
101
+ * `delivery_type`, …) datapoint attributes from collector v0.137.0 (resource
102
+ * attributes in v0.116.0–v0.136.x, hence both spellings as series keys).
103
+ * The receiver only reads the metric types listed in its `metrics_list`.
104
+ */
105
+ const CLOUD_MONITORING = "googlecloudmonitoring";
106
+ const PUBSUB_SUBSCRIPTION_KEYS = [
107
+ "resource.subscription_id",
108
+ ];
109
+ const PUBSUB_TOPIC_KEYS = ["resource.topic_id"];
110
+ // ---- Apache Pulsar / Apache RocketMQ — collector `prometheus` receiver ----
111
+ /*
112
+ * Prometheus labels arrive as datapoint attributes. Pulsar labels topic
113
+ * series `cluster`, `namespace`, `topic` (the full
114
+ * persistent://tenant/namespace/topic, `-partition-N` per partition) and
115
+ * subscription series add `subscription` — captured live from Pulsar 4.2.4.
116
+ * RocketMQ 5 brokers (metricsExporterType=PROM) label lag series `topic`,
117
+ * `consumer_group`, `is_retry`, `is_system`.
118
+ */
119
+ const PROMETHEUS = "prometheus";
120
+ const PULSAR_TOPIC_KEYS = ["topic"];
121
+ const PULSAR_TOPIC_SERIES_KEYS = [
122
+ "cluster",
123
+ "topic",
124
+ "partition",
125
+ ];
126
+ // The labels only Pulsar's consumer-level series carry.
127
+ const PULSAR_CONSUMER_KEYS = [
128
+ "consumer_name",
129
+ "consumer_id",
130
+ ];
131
+ const ROCKETMQ_TOPIC_KEYS = ["topic"];
132
+ function sqsMetric(data) {
133
+ return awsMetricPair(Object.assign(Object.assign({}, data), { system: "aws_sqs", prefix: SQS_METRIC_PREFIX, dimension: "QueueName", jsonService: SQS_JSON_SERVICE }));
134
+ }
135
+ function snsMetric(data) {
136
+ return awsMetricPair(Object.assign(Object.assign({}, data), { system: "aws.sns", prefix: SNS_METRIC_PREFIX, dimension: "TopicName", jsonService: SNS_JSON_SERVICE }));
137
+ }
138
+ // The same CloudWatch metric in both shapes (see CLOUDWATCH_PULL above).
139
+ function awsMetricPair(data) {
140
+ const name = data.cloudWatchName.toLowerCase();
141
+ const common = {
142
+ system: data.system,
143
+ description: data.description,
144
+ unit: data.unit,
145
+ signal: data.signal,
146
+ kind: "gauge",
147
+ aggregation: data.aggregation,
148
+ // One series per queue; a second one is the same queue reported twice.
149
+ seriesCombine: "max",
150
+ enabledByDefault: true,
151
+ };
152
+ return [
153
+ Object.assign(Object.assign({}, common), { metricName: `${data.prefix}${name}`, title: data.title, destinationAttributes: [`Dimensions.${data.dimension}`], receiver: CLOUDWATCH_PULL }),
154
+ Object.assign(Object.assign({}, common), { metricName: name, title: `${data.title}${JSON_STREAM_TITLE_SUFFIX}`, destinationAttributes: [data.dimension], requiredAttributes: data.jsonService, receiver: CLOUDWATCH_STREAM }),
155
+ ];
156
+ }
157
+ export const MESSAGE_QUEUE_METRICS = [
158
+ // Apache Kafka.
159
+ {
160
+ system: "kafka",
161
+ metricName: "kafka.consumer_group.lag_sum",
162
+ title: "Consumer lag",
163
+ description: "Messages a consumer group has not yet committed on this topic, added up across its partitions. With several consumer groups, the one furthest behind is shown; a group appears only once it has committed an offset on the topic.",
164
+ unit: "messages",
165
+ signal: "consumerLag",
166
+ kind: "gauge",
167
+ aggregation: AggregationType.Max,
168
+ seriesCombine: "max",
169
+ destinationAttributes: KAFKA_TOPIC_KEYS,
170
+ seriesKeys: ["group"],
171
+ receiver: KAFKA_RECEIVER,
172
+ enabledByDefault: true,
173
+ },
174
+ {
175
+ system: "kafka",
176
+ metricName: "kafka.consumer_group.lag",
177
+ title: "Partition lag",
178
+ description: "Messages not yet committed on the single partition furthest behind, across every consumer group reading this topic. A high value next to a low consumer lag points at one stuck partition.",
179
+ unit: "messages",
180
+ signal: "consumerLag",
181
+ kind: "gauge",
182
+ aggregation: AggregationType.Max,
183
+ seriesCombine: "max",
184
+ destinationAttributes: KAFKA_TOPIC_KEYS,
185
+ seriesKeys: ["group", "partition"],
186
+ receiver: KAFKA_RECEIVER,
187
+ enabledByDefault: true,
188
+ },
189
+ {
190
+ system: "kafka",
191
+ metricName: "kafka.consumer_group.offset_sum",
192
+ title: "Consumed",
193
+ description: "Messages consumed per second: the growth of the offsets consumer groups commit on this topic, added up across partitions and consumer groups.",
194
+ unit: "messages",
195
+ signal: "consumed",
196
+ kind: "counter",
197
+ aggregation: AggregationType.Max,
198
+ seriesCombine: "sum",
199
+ destinationAttributes: KAFKA_TOPIC_KEYS,
200
+ receiver: KAFKA_RECEIVER,
201
+ enabledByDefault: true,
202
+ },
203
+ {
204
+ system: "kafka",
205
+ metricName: "kafka.partition.current_offset",
206
+ title: "Produced",
207
+ description: "Messages produced per second: the growth of each partition's log-end offset, added up across the topic's partitions.",
208
+ unit: "messages",
209
+ signal: "published",
210
+ kind: "counter",
211
+ aggregation: AggregationType.Max,
212
+ seriesCombine: "sum",
213
+ destinationAttributes: KAFKA_TOPIC_KEYS,
214
+ receiver: KAFKA_RECEIVER,
215
+ enabledByDefault: true,
216
+ },
217
+ // RabbitMQ.
218
+ {
219
+ system: "rabbitmq",
220
+ metricName: "rabbitmq.message.current",
221
+ title: "Queue depth",
222
+ description: "Messages in the queue: those ready for delivery plus those delivered but not yet acknowledged (the receiver's two `state` series, added up).",
223
+ unit: "messages",
224
+ signal: "backlog",
225
+ kind: "gauge",
226
+ aggregation: AggregationType.Avg,
227
+ seriesCombine: "sum",
228
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
229
+ seriesKeys: ["state"],
230
+ receiver: RABBITMQ_RECEIVER,
231
+ enabledByDefault: true,
232
+ },
233
+ {
234
+ system: "rabbitmq",
235
+ metricName: "rabbitmq.message.published",
236
+ title: "Published",
237
+ description: "Messages published to the queue per second. The receiver reports it once the queue has seen its first publish.",
238
+ unit: "messages",
239
+ signal: "published",
240
+ kind: "counter",
241
+ aggregation: AggregationType.Max,
242
+ seriesCombine: "sum",
243
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
244
+ receiver: RABBITMQ_RECEIVER,
245
+ enabledByDefault: true,
246
+ },
247
+ {
248
+ system: "rabbitmq",
249
+ metricName: "rabbitmq.message.delivered",
250
+ title: "Delivered",
251
+ description: "Messages the broker pushed to consumers per second; messages fetched with `basic.get` are not counted.",
252
+ unit: "messages",
253
+ signal: "consumed",
254
+ kind: "counter",
255
+ aggregation: AggregationType.Max,
256
+ seriesCombine: "sum",
257
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
258
+ receiver: RABBITMQ_RECEIVER,
259
+ enabledByDefault: true,
260
+ },
261
+ {
262
+ system: "rabbitmq",
263
+ metricName: "rabbitmq.message.acknowledged",
264
+ title: "Acknowledged",
265
+ description: "Messages consumers acknowledged per second.",
266
+ unit: "messages",
267
+ signal: "consumed",
268
+ kind: "counter",
269
+ aggregation: AggregationType.Max,
270
+ seriesCombine: "sum",
271
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
272
+ receiver: RABBITMQ_RECEIVER,
273
+ enabledByDefault: true,
274
+ },
275
+ {
276
+ system: "rabbitmq",
277
+ metricName: "rabbitmq.message.dropped",
278
+ title: "Dropped",
279
+ description: "Messages the broker dropped as unroutable, per second (the queue's `drop_unroutable` statistic).",
280
+ unit: "messages",
281
+ signal: "errors",
282
+ kind: "counter",
283
+ aggregation: AggregationType.Max,
284
+ seriesCombine: "sum",
285
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
286
+ receiver: RABBITMQ_RECEIVER,
287
+ enabledByDefault: true,
288
+ },
289
+ {
290
+ system: "rabbitmq",
291
+ metricName: "rabbitmq.consumer.count",
292
+ title: "Consumers",
293
+ description: "Consumers attached to the queue; with none, nothing is draining it.",
294
+ unit: "consumers",
295
+ signal: "consumers",
296
+ kind: "gauge",
297
+ aggregation: AggregationType.Min,
298
+ seriesCombine: "sum",
299
+ destinationAttributes: RABBITMQ_QUEUE_KEYS,
300
+ receiver: RABBITMQ_RECEIVER,
301
+ enabledByDefault: true,
302
+ },
303
+ // Apache ActiveMQ.
304
+ {
305
+ system: "activemq",
306
+ metricName: "activemq.message.queue.size",
307
+ title: "Queue size",
308
+ description: "Messages waiting on the destination to be consumed, added up across brokers.",
309
+ unit: "messages",
310
+ signal: "backlog",
311
+ kind: "gauge",
312
+ aggregation: AggregationType.Avg,
313
+ seriesCombine: "sum",
314
+ destinationAttributes: ACTIVEMQ_DESTINATION_KEYS,
315
+ seriesKeys: ["activemq.broker.name", "activemq.destination.type"],
316
+ receiver: JMX_SCRAPER,
317
+ enabledByDefault: true,
318
+ },
319
+ {
320
+ system: "activemq",
321
+ metricName: "activemq.message.current",
322
+ title: "Queue size (legacy names)",
323
+ description: "Messages waiting on the destination to be consumed, added up across brokers, as the JMX Scraper names it in its legacy rules (version 1.52 and older, or OTEL_JMX_TARGET_SOURCE=legacy).",
324
+ unit: "messages",
325
+ signal: "backlog",
326
+ kind: "gauge",
327
+ aggregation: AggregationType.Avg,
328
+ seriesCombine: "sum",
329
+ destinationAttributes: ACTIVEMQ_LEGACY_DESTINATION_KEYS,
330
+ seriesKeys: ["broker"],
331
+ receiver: JMX_SCRAPER,
332
+ enabledByDefault: true,
333
+ },
334
+ {
335
+ system: "activemq",
336
+ metricName: "activemq.message.enqueued",
337
+ title: "Enqueued",
338
+ description: "Messages sent to the destination per second.",
339
+ unit: "messages",
340
+ signal: "published",
341
+ kind: "counter",
342
+ aggregation: AggregationType.Max,
343
+ seriesCombine: "sum",
344
+ destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
345
+ receiver: JMX_SCRAPER,
346
+ enabledByDefault: true,
347
+ },
348
+ {
349
+ system: "activemq",
350
+ metricName: "activemq.message.dequeued",
351
+ title: "Dequeued",
352
+ description: "Messages acknowledged and removed from the destination per second.",
353
+ unit: "messages",
354
+ signal: "consumed",
355
+ kind: "counter",
356
+ aggregation: AggregationType.Max,
357
+ seriesCombine: "sum",
358
+ destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
359
+ receiver: JMX_SCRAPER,
360
+ enabledByDefault: true,
361
+ },
362
+ {
363
+ system: "activemq",
364
+ metricName: "activemq.message.expired",
365
+ title: "Expired",
366
+ description: "Messages that expired before they were delivered, per second.",
367
+ unit: "messages",
368
+ signal: "errors",
369
+ kind: "counter",
370
+ aggregation: AggregationType.Max,
371
+ seriesCombine: "sum",
372
+ destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
373
+ receiver: JMX_SCRAPER,
374
+ enabledByDefault: true,
375
+ },
376
+ {
377
+ system: "activemq",
378
+ metricName: "activemq.consumer.count",
379
+ title: "Consumers",
380
+ description: "Consumers subscribed to the destination, added up across brokers; with none, nothing is draining it.",
381
+ unit: "consumers",
382
+ signal: "consumers",
383
+ kind: "gauge",
384
+ aggregation: AggregationType.Min,
385
+ seriesCombine: "sum",
386
+ destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
387
+ seriesKeys: [
388
+ "activemq.broker.name",
389
+ "activemq.destination.type",
390
+ "broker",
391
+ ],
392
+ receiver: JMX_SCRAPER,
393
+ enabledByDefault: true,
394
+ },
395
+ {
396
+ system: "activemq",
397
+ metricName: "activemq.message.enqueue.average_duration",
398
+ title: "Average time in queue",
399
+ description: "The average time a message waited on the destination before it was consumed, a running average the broker keeps (AverageEnqueueTime). It is an average, not the age of the oldest waiting message.",
400
+ unit: "s",
401
+ signal: "oldestMessageAge",
402
+ kind: "gauge",
403
+ aggregation: AggregationType.Max,
404
+ seriesCombine: "max",
405
+ destinationAttributes: ACTIVEMQ_DESTINATION_KEYS,
406
+ receiver: JMX_SCRAPER,
407
+ enabledByDefault: true,
408
+ },
409
+ {
410
+ system: "activemq",
411
+ metricName: "activemq.message.wait_time.avg",
412
+ title: "Average time in queue (legacy names)",
413
+ description: "The average time a message waited on the destination before it was consumed (AverageEnqueueTime), in milliseconds, as the JMX Scraper names it in its legacy rules. It is an average, not the age of the oldest waiting message.",
414
+ unit: "ms",
415
+ signal: "oldestMessageAge",
416
+ kind: "gauge",
417
+ aggregation: AggregationType.Max,
418
+ seriesCombine: "max",
419
+ destinationAttributes: ACTIVEMQ_LEGACY_DESTINATION_KEYS,
420
+ receiver: JMX_SCRAPER,
421
+ enabledByDefault: true,
422
+ },
423
+ // Azure Service Bus.
424
+ {
425
+ system: "servicebus",
426
+ metricName: "azure_activemessages_average",
427
+ title: "Active messages",
428
+ description: "Messages ready for delivery in the queue or topic (Azure Monitor's ActiveMessages, averaged over each minute). A topic's count covers all of its subscriptions.",
429
+ unit: "messages",
430
+ signal: "backlog",
431
+ kind: "gauge",
432
+ aggregation: AggregationType.Max,
433
+ seriesCombine: "max",
434
+ destinationAttributes: AZURE_ENTITY_KEYS,
435
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
436
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
437
+ receiver: AZURE_MONITOR,
438
+ enabledByDefault: true,
439
+ },
440
+ {
441
+ system: "servicebus",
442
+ metricName: "azure_deadletteredmessages_average",
443
+ title: "Dead-lettered messages",
444
+ description: "Messages in the dead-letter sub-queue (Azure Monitor's DeadletteredMessages, averaged over each minute).",
445
+ unit: "messages",
446
+ signal: "deadLetter",
447
+ kind: "gauge",
448
+ aggregation: AggregationType.Max,
449
+ seriesCombine: "max",
450
+ destinationAttributes: AZURE_ENTITY_KEYS,
451
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
452
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
453
+ receiver: AZURE_MONITOR,
454
+ enabledByDefault: true,
455
+ },
456
+ {
457
+ system: "servicebus",
458
+ metricName: "azure_incomingmessages_total",
459
+ title: "Incoming messages",
460
+ description: "Messages sent to the queue or topic, counted per minute by Azure Monitor (IncomingMessages), including messages auto-forwarded into it.",
461
+ unit: "messages",
462
+ signal: "published",
463
+ kind: "gauge",
464
+ aggregation: AggregationType.Sum,
465
+ seriesCombine: "sum",
466
+ destinationAttributes: AZURE_ENTITY_KEYS,
467
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
468
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
469
+ receiver: AZURE_MONITOR,
470
+ enabledByDefault: true,
471
+ },
472
+ {
473
+ system: "servicebus",
474
+ metricName: "azure_outgoingmessages_total",
475
+ title: "Outgoing messages",
476
+ description: "Messages received from the queue or topic, counted per minute by Azure Monitor (OutgoingMessages).",
477
+ unit: "messages",
478
+ signal: "consumed",
479
+ kind: "gauge",
480
+ aggregation: AggregationType.Sum,
481
+ seriesCombine: "sum",
482
+ destinationAttributes: AZURE_ENTITY_KEYS,
483
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
484
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
485
+ receiver: AZURE_MONITOR,
486
+ enabledByDefault: true,
487
+ },
488
+ {
489
+ system: "servicebus",
490
+ metricName: "azure_completemessage_total",
491
+ title: "Completed messages",
492
+ description: "Messages consumers completed (settled), counted per minute by Azure Monitor (CompleteMessage).",
493
+ unit: "messages",
494
+ signal: "consumed",
495
+ kind: "gauge",
496
+ aggregation: AggregationType.Sum,
497
+ seriesCombine: "sum",
498
+ destinationAttributes: AZURE_ENTITY_KEYS,
499
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
500
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
501
+ receiver: AZURE_MONITOR,
502
+ enabledByDefault: true,
503
+ },
504
+ {
505
+ system: "servicebus",
506
+ metricName: "azure_abandonmessage_total",
507
+ title: "Abandoned messages",
508
+ description: "Messages consumers abandoned, counted per minute by Azure Monitor (AbandonMessage). Each one goes back to the queue to be retried, usually after its processing failed.",
509
+ unit: "messages",
510
+ signal: "errors",
511
+ kind: "gauge",
512
+ aggregation: AggregationType.Sum,
513
+ seriesCombine: "sum",
514
+ destinationAttributes: AZURE_ENTITY_KEYS,
515
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
516
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
517
+ receiver: AZURE_MONITOR,
518
+ enabledByDefault: true,
519
+ },
520
+ {
521
+ system: "servicebus",
522
+ metricName: "azure_servererrors_total",
523
+ title: "Server errors",
524
+ description: "Requests that failed because of a Service Bus error, counted per minute by Azure Monitor (ServerErrors) and added up across operation results.",
525
+ unit: "requests",
526
+ signal: "errors",
527
+ kind: "gauge",
528
+ aggregation: AggregationType.Sum,
529
+ seriesCombine: "sum",
530
+ destinationAttributes: AZURE_ENTITY_KEYS,
531
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
532
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
533
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
534
+ receiver: AZURE_MONITOR,
535
+ enabledByDefault: true,
536
+ },
537
+ {
538
+ system: "servicebus",
539
+ metricName: "azure_usererrors_total",
540
+ title: "User errors",
541
+ description: "Requests that failed because of the client, such as a lost message lock or a bad request, counted per minute by Azure Monitor (UserErrors) and added up across operation results.",
542
+ unit: "requests",
543
+ signal: "errors",
544
+ kind: "gauge",
545
+ aggregation: AggregationType.Sum,
546
+ seriesCombine: "sum",
547
+ destinationAttributes: AZURE_ENTITY_KEYS,
548
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
549
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
550
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
551
+ receiver: AZURE_MONITOR,
552
+ enabledByDefault: true,
553
+ },
554
+ {
555
+ system: "servicebus",
556
+ metricName: "azure_throttledrequests_total",
557
+ title: "Throttled requests",
558
+ description: "Requests Service Bus rejected because the namespace ran out of capacity, counted per minute by Azure Monitor (ThrottledRequests).",
559
+ unit: "requests",
560
+ signal: "throttled",
561
+ kind: "gauge",
562
+ aggregation: AggregationType.Sum,
563
+ seriesCombine: "sum",
564
+ destinationAttributes: AZURE_ENTITY_KEYS,
565
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
566
+ requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
567
+ seriesKeys: AZURE_THROTTLE_KEYS,
568
+ receiver: AZURE_MONITOR,
569
+ enabledByDefault: true,
570
+ },
571
+ // Azure Event Hubs.
572
+ {
573
+ system: "eventhubs",
574
+ metricName: "azure_incomingmessages_total",
575
+ title: "Incoming messages",
576
+ description: "Events sent to the event hub, counted per minute by Azure Monitor (IncomingMessages).",
577
+ unit: "messages",
578
+ signal: "published",
579
+ kind: "gauge",
580
+ aggregation: AggregationType.Sum,
581
+ seriesCombine: "sum",
582
+ destinationAttributes: AZURE_ENTITY_KEYS,
583
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
584
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
585
+ receiver: AZURE_MONITOR,
586
+ enabledByDefault: true,
587
+ },
588
+ {
589
+ system: "eventhubs",
590
+ metricName: "azure_outgoingmessages_total",
591
+ title: "Outgoing messages",
592
+ description: "Events read from the event hub, counted per minute by Azure Monitor (OutgoingMessages) across every consumer group.",
593
+ unit: "messages",
594
+ signal: "consumed",
595
+ kind: "gauge",
596
+ aggregation: AggregationType.Sum,
597
+ seriesCombine: "sum",
598
+ destinationAttributes: AZURE_ENTITY_KEYS,
599
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
600
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
601
+ receiver: AZURE_MONITOR,
602
+ enabledByDefault: true,
603
+ },
604
+ {
605
+ system: "eventhubs",
606
+ metricName: "azure_servererrors_total",
607
+ title: "Server errors",
608
+ description: "Requests that failed because of an Event Hubs error, counted per minute by Azure Monitor (ServerErrors) and added up across operation results.",
609
+ unit: "requests",
610
+ signal: "errors",
611
+ kind: "gauge",
612
+ aggregation: AggregationType.Sum,
613
+ seriesCombine: "sum",
614
+ destinationAttributes: AZURE_ENTITY_KEYS,
615
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
616
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
617
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
618
+ receiver: AZURE_MONITOR,
619
+ enabledByDefault: true,
620
+ },
621
+ {
622
+ system: "eventhubs",
623
+ metricName: "azure_usererrors_total",
624
+ title: "User errors",
625
+ description: "Requests that failed because of the client, counted per minute by Azure Monitor (UserErrors) and added up across operation results.",
626
+ unit: "requests",
627
+ signal: "errors",
628
+ kind: "gauge",
629
+ aggregation: AggregationType.Sum,
630
+ seriesCombine: "sum",
631
+ destinationAttributes: AZURE_ENTITY_KEYS,
632
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
633
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
634
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
635
+ receiver: AZURE_MONITOR,
636
+ enabledByDefault: true,
637
+ },
638
+ {
639
+ system: "eventhubs",
640
+ metricName: "azure_quotaexceedederrors_total",
641
+ title: "Quota exceeded errors",
642
+ description: "Requests that failed because the namespace hit a quota, counted per minute by Azure Monitor (QuotaExceededErrors) and added up across operation results.",
643
+ unit: "requests",
644
+ signal: "errors",
645
+ kind: "gauge",
646
+ aggregation: AggregationType.Sum,
647
+ seriesCombine: "sum",
648
+ destinationAttributes: AZURE_ENTITY_KEYS,
649
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
650
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
651
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
652
+ receiver: AZURE_MONITOR,
653
+ enabledByDefault: true,
654
+ },
655
+ {
656
+ system: "eventhubs",
657
+ metricName: "azure_throttledrequests_total",
658
+ title: "Throttled requests",
659
+ description: "Requests Event Hubs rejected because the namespace ran out of throughput, counted per minute by Azure Monitor (ThrottledRequests).",
660
+ unit: "requests",
661
+ signal: "throttled",
662
+ kind: "gauge",
663
+ aggregation: AggregationType.Sum,
664
+ seriesCombine: "sum",
665
+ destinationAttributes: AZURE_ENTITY_KEYS,
666
+ scopeAttributes: AZURE_NAMESPACE_KEYS,
667
+ requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
668
+ seriesKeys: AZURE_OPERATION_RESULT_KEYS,
669
+ receiver: AZURE_MONITOR,
670
+ enabledByDefault: true,
671
+ },
672
+ // Amazon SQS.
673
+ ...sqsMetric({
674
+ cloudWatchName: "ApproximateNumberOfMessagesVisible",
675
+ title: "Messages visible",
676
+ description: "Messages available for retrieval from the queue (ApproximateNumberOfMessagesVisible, CloudWatch's Average for each period).",
677
+ unit: "messages",
678
+ signal: "backlog",
679
+ aggregation: AggregationType.Avg,
680
+ }),
681
+ ...sqsMetric({
682
+ cloudWatchName: "ApproximateAgeOfOldestMessage",
683
+ title: "Oldest message age",
684
+ description: "Age of the oldest message in the queue (ApproximateAgeOfOldestMessage). CloudWatch reports it only while the queue holds a message.",
685
+ unit: "s",
686
+ signal: "oldestMessageAge",
687
+ aggregation: AggregationType.Max,
688
+ }),
689
+ ...sqsMetric({
690
+ cloudWatchName: "ApproximateNumberOfMessagesNotVisible",
691
+ title: "Messages in flight",
692
+ description: "Messages a consumer has received but not yet deleted or returned to the queue (ApproximateNumberOfMessagesNotVisible).",
693
+ unit: "messages",
694
+ signal: "backlog",
695
+ aggregation: AggregationType.Avg,
696
+ }),
697
+ ...sqsMetric({
698
+ cloudWatchName: "NumberOfMessagesSent",
699
+ title: "Messages sent",
700
+ description: "Messages sent to the queue in each CloudWatch period (NumberOfMessagesSent, its Sum).",
701
+ unit: "messages",
702
+ signal: "published",
703
+ aggregation: AggregationType.Sum,
704
+ }),
705
+ ...sqsMetric({
706
+ cloudWatchName: "NumberOfMessagesReceived",
707
+ title: "Messages received",
708
+ description: "Messages ReceiveMessage calls returned in each CloudWatch period (NumberOfMessagesReceived); a redelivered message counts again.",
709
+ unit: "messages",
710
+ signal: "consumed",
711
+ aggregation: AggregationType.Sum,
712
+ }),
713
+ ...sqsMetric({
714
+ cloudWatchName: "NumberOfMessagesDeleted",
715
+ title: "Messages deleted",
716
+ description: "Messages deleted from the queue — that is, processed — in each CloudWatch period (NumberOfMessagesDeleted).",
717
+ unit: "messages",
718
+ signal: "consumed",
719
+ aggregation: AggregationType.Sum,
720
+ }),
721
+ // Amazon SNS.
722
+ ...snsMetric({
723
+ cloudWatchName: "NumberOfMessagesPublished",
724
+ title: "Messages published",
725
+ description: "Messages published to the topic in each CloudWatch period (NumberOfMessagesPublished).",
726
+ unit: "messages",
727
+ signal: "published",
728
+ aggregation: AggregationType.Sum,
729
+ }),
730
+ ...snsMetric({
731
+ cloudWatchName: "NumberOfNotificationsDelivered",
732
+ title: "Notifications delivered",
733
+ description: "Notifications the topic delivered to its subscriptions in each CloudWatch period (NumberOfNotificationsDelivered).",
734
+ unit: "messages",
735
+ signal: "consumed",
736
+ aggregation: AggregationType.Sum,
737
+ }),
738
+ ...snsMetric({
739
+ cloudWatchName: "NumberOfNotificationsFailed",
740
+ title: "Notifications failed",
741
+ description: "Deliveries to subscriptions that failed in each CloudWatch period (NumberOfNotificationsFailed); for HTTP/S endpoints every failed attempt, retries included, counts.",
742
+ unit: "messages",
743
+ signal: "errors",
744
+ aggregation: AggregationType.Sum,
745
+ }),
746
+ ...snsMetric({
747
+ cloudWatchName: "NumberOfNotificationsRedrivenToDlq",
748
+ title: "Redriven to dead-letter queue",
749
+ description: "Notifications moved to a subscription's dead-letter queue in each CloudWatch period (NumberOfNotificationsRedrivenToDlq).",
750
+ unit: "messages",
751
+ signal: "deadLetter",
752
+ aggregation: AggregationType.Sum,
753
+ }),
754
+ // Google Cloud Pub/Sub.
755
+ {
756
+ system: "gcp_pubsub",
757
+ metricName: "pubsub.googleapis.com/subscription/num_undelivered_messages",
758
+ title: "Undelivered messages",
759
+ description: "Messages the subscription has not yet acknowledged (num_undelivered_messages), sampled every minute by Cloud Monitoring.",
760
+ unit: "messages",
761
+ signal: "backlog",
762
+ kind: "gauge",
763
+ aggregation: AggregationType.Max,
764
+ seriesCombine: "max",
765
+ destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
766
+ receiver: CLOUD_MONITORING,
767
+ enabledByDefault: false,
768
+ },
769
+ {
770
+ system: "gcp_pubsub",
771
+ metricName: "pubsub.googleapis.com/subscription/oldest_unacked_message_age",
772
+ title: "Oldest unacked message age",
773
+ description: "Age of the oldest message the subscription has not yet acknowledged (oldest_unacked_message_age).",
774
+ unit: "s",
775
+ signal: "oldestMessageAge",
776
+ kind: "gauge",
777
+ aggregation: AggregationType.Max,
778
+ seriesCombine: "max",
779
+ destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
780
+ receiver: CLOUD_MONITORING,
781
+ enabledByDefault: false,
782
+ },
783
+ {
784
+ system: "gcp_pubsub",
785
+ metricName: "pubsub.googleapis.com/subscription/dead_letter_message_count",
786
+ title: "Dead-lettered messages",
787
+ description: "Messages the subscription forwarded to its dead-letter topic in each sample period (dead_letter_message_count).",
788
+ unit: "messages",
789
+ signal: "deadLetter",
790
+ kind: "gauge",
791
+ aggregation: AggregationType.Sum,
792
+ seriesCombine: "sum",
793
+ destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
794
+ seriesKeys: ["response_code", "resource.response_code"],
795
+ receiver: CLOUD_MONITORING,
796
+ enabledByDefault: false,
797
+ },
798
+ {
799
+ system: "gcp_pubsub",
800
+ metricName: "pubsub.googleapis.com/subscription/ack_message_count",
801
+ title: "Acknowledged messages",
802
+ description: "Messages acknowledged on the subscription in each sample period (ack_message_count), added up across delivery types.",
803
+ unit: "messages",
804
+ signal: "consumed",
805
+ kind: "gauge",
806
+ aggregation: AggregationType.Sum,
807
+ seriesCombine: "sum",
808
+ destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
809
+ seriesKeys: ["delivery_type", "resource.delivery_type"],
810
+ receiver: CLOUD_MONITORING,
811
+ enabledByDefault: false,
812
+ },
813
+ {
814
+ system: "gcp_pubsub",
815
+ metricName: "pubsub.googleapis.com/topic/send_request_count",
816
+ title: "Publish requests",
817
+ description: "Publish requests sent to the topic in each sample period (send_request_count). A request can carry several messages, so this counts requests, not messages.",
818
+ unit: "requests",
819
+ signal: "published",
820
+ kind: "gauge",
821
+ aggregation: AggregationType.Sum,
822
+ seriesCombine: "sum",
823
+ destinationAttributes: PUBSUB_TOPIC_KEYS,
824
+ seriesKeys: [
825
+ "response_class",
826
+ "response_code",
827
+ "resource.response_class",
828
+ "resource.response_code",
829
+ ],
830
+ receiver: CLOUD_MONITORING,
831
+ enabledByDefault: false,
832
+ },
833
+ // Apache Pulsar.
834
+ {
835
+ system: "pulsar",
836
+ metricName: "pulsar_msg_backlog",
837
+ title: "Backlog",
838
+ description: "Entries backlogged on the topic across its subscriptions, added up across the topic's partitions. Pulsar counts a batch of messages as one entry.",
839
+ unit: "messages",
840
+ signal: "backlog",
841
+ kind: "gauge",
842
+ aggregation: AggregationType.Avg,
843
+ seriesCombine: "sum",
844
+ destinationAttributes: PULSAR_TOPIC_KEYS,
845
+ seriesKeys: PULSAR_TOPIC_SERIES_KEYS,
846
+ receiver: PROMETHEUS,
847
+ enabledByDefault: true,
848
+ },
849
+ {
850
+ system: "pulsar",
851
+ metricName: "pulsar_subscription_back_log",
852
+ title: "Subscription backlog",
853
+ description: "Entries not yet acknowledged on the subscription furthest behind, for its busiest partition. Pulsar counts a batch of messages as one entry.",
854
+ unit: "messages",
855
+ signal: "consumerLag",
856
+ kind: "gauge",
857
+ aggregation: AggregationType.Max,
858
+ seriesCombine: "max",
859
+ destinationAttributes: PULSAR_TOPIC_KEYS,
860
+ seriesKeys: [...PULSAR_TOPIC_SERIES_KEYS, "subscription"],
861
+ receiver: PROMETHEUS,
862
+ enabledByDefault: true,
863
+ },
864
+ {
865
+ system: "pulsar",
866
+ metricName: "pulsar_storage_backlog_age_seconds",
867
+ title: "Backlog age",
868
+ description: "Age of the oldest unacknowledged entry in the topic's backlog, for the partition furthest behind; -1 while the broker cannot tell.",
869
+ unit: "s",
870
+ signal: "oldestMessageAge",
871
+ kind: "gauge",
872
+ aggregation: AggregationType.Max,
873
+ seriesCombine: "max",
874
+ destinationAttributes: PULSAR_TOPIC_KEYS,
875
+ seriesKeys: PULSAR_TOPIC_SERIES_KEYS,
876
+ receiver: PROMETHEUS,
877
+ enabledByDefault: true,
878
+ },
879
+ {
880
+ system: "pulsar",
881
+ metricName: "pulsar_in_messages_total",
882
+ title: "Messages in",
883
+ description: "Messages published to the topic per second, added up across its partitions. Pulsar exposes the running total as a gauge; the chart shows its rate.",
884
+ unit: "messages",
885
+ signal: "published",
886
+ kind: "counter",
887
+ aggregation: AggregationType.Max,
888
+ seriesCombine: "sum",
889
+ destinationAttributes: PULSAR_TOPIC_KEYS,
890
+ receiver: PROMETHEUS,
891
+ enabledByDefault: true,
892
+ },
893
+ {
894
+ system: "pulsar",
895
+ metricName: "pulsar_out_messages_total",
896
+ title: "Messages out",
897
+ description: "Messages dispatched to the topic's subscriptions per second, added up across partitions and subscriptions. The per-consumer copies Pulsar adds when consumer-level metrics are on are left out, so no message is counted twice.",
898
+ unit: "messages",
899
+ signal: "consumed",
900
+ kind: "counter",
901
+ aggregation: AggregationType.Max,
902
+ seriesCombine: "sum",
903
+ destinationAttributes: PULSAR_TOPIC_KEYS,
904
+ excludeSeriesWithAttributes: PULSAR_CONSUMER_KEYS,
905
+ receiver: PROMETHEUS,
906
+ enabledByDefault: true,
907
+ },
908
+ // Apache RocketMQ.
909
+ {
910
+ system: "rocketmq",
911
+ metricName: "rocketmq_consumer_lag_messages",
912
+ title: "Consumer lag",
913
+ description: "Messages a consumer group has not yet consumed on this topic. With several consumer groups or brokers, the largest value is shown.",
914
+ unit: "messages",
915
+ signal: "consumerLag",
916
+ kind: "gauge",
917
+ aggregation: AggregationType.Max,
918
+ seriesCombine: "max",
919
+ destinationAttributes: ROCKETMQ_TOPIC_KEYS,
920
+ seriesKeys: ["consumer_group", "is_retry"],
921
+ receiver: PROMETHEUS,
922
+ enabledByDefault: true,
923
+ },
924
+ {
925
+ system: "rocketmq",
926
+ metricName: "rocketmq_consumer_ready_messages",
927
+ title: "Ready messages",
928
+ description: "Messages ready for a consumer group to pull from this topic. With several consumer groups or brokers, the largest value is shown.",
929
+ unit: "messages",
930
+ signal: "backlog",
931
+ kind: "gauge",
932
+ aggregation: AggregationType.Max,
933
+ seriesCombine: "max",
934
+ destinationAttributes: ROCKETMQ_TOPIC_KEYS,
935
+ seriesKeys: ["consumer_group", "is_retry"],
936
+ receiver: PROMETHEUS,
937
+ enabledByDefault: true,
938
+ },
939
+ {
940
+ system: "rocketmq",
941
+ metricName: "rocketmq_send_to_dlq_messages_total",
942
+ title: "Sent to dead-letter queue",
943
+ description: "Messages moved to a consumer group's dead-letter queue after running out of retries, per second, counted under the topic they came from.",
944
+ unit: "messages",
945
+ signal: "deadLetter",
946
+ kind: "counter",
947
+ aggregation: AggregationType.Max,
948
+ seriesCombine: "sum",
949
+ destinationAttributes: ROCKETMQ_TOPIC_KEYS,
950
+ receiver: PROMETHEUS,
951
+ enabledByDefault: true,
952
+ },
953
+ {
954
+ system: "rocketmq",
955
+ metricName: "rocketmq_messages_in_total",
956
+ title: "Messages in",
957
+ description: "Messages produced to the topic per second.",
958
+ unit: "messages",
959
+ signal: "published",
960
+ kind: "counter",
961
+ aggregation: AggregationType.Max,
962
+ seriesCombine: "sum",
963
+ destinationAttributes: ROCKETMQ_TOPIC_KEYS,
964
+ receiver: PROMETHEUS,
965
+ enabledByDefault: true,
966
+ },
967
+ ];
968
+ /*
969
+ * Messaging SDK metrics that name a destination but no `messaging.system`,
970
+ * so only their name says which system reports them. The Azure SDK for
971
+ * Java's Service Bus meter (ServiceBusMeter) stamps the namespace host, the
972
+ * entity and the subscription alone — azure-core-metrics-opentelemetry
973
+ * renames hostName, entityName and subscriptionName to `server.address`,
974
+ * `messaging.destination.name` and `messaging.servicebus.subscription_name`
975
+ * — plus an outcome. (Its Event Hubs sibling does set `messaging.system`.)
976
+ */
977
+ export const MESSAGING_SDK_METRIC_SYSTEMS = new Map([
978
+ ["messaging.servicebus.messages.sent", "servicebus"],
979
+ ["messaging.servicebus.receiver.lag", "servicebus"],
980
+ ["messaging.servicebus.settlement.request.duration", "servicebus"],
981
+ ["messaging.servicebus.settlement.sequence_number", "servicebus"],
982
+ ]);
983
+ /*
984
+ * The messaging CLIENT metrics — what instrumented applications report
985
+ * about their own sends and receives: the OpenTelemetry semantic-convention
986
+ * ones, current (1.28 and later) and deprecated, and the SDK metrics above.
987
+ * They are not curated per system: each datapoint names its own destination
988
+ * (and, but for the SDK metrics above, its own `messaging.system`), so it
989
+ * resolves like a span (resolveMessagingMetricDatapoint). The deprecated
990
+ * names are still what the Java agent's default mode and the Azure SDK for
991
+ * Java emit. Ingest and the discovery cron select datapoints by this set.
992
+ */
993
+ export const MESSAGING_CLIENT_METRIC_NAMES = new Set([
994
+ "messaging.client.sent.messages",
995
+ "messaging.client.consumed.messages",
996
+ "messaging.client.operation.duration",
997
+ "messaging.process.duration",
998
+ "messaging.publish.duration",
999
+ "messaging.receive.duration",
1000
+ "messaging.publish.messages",
1001
+ "messaging.receive.messages",
1002
+ "messaging.process.messages",
1003
+ "messaging.client.published.messages",
1004
+ ...Array.from(MESSAGING_SDK_METRIC_SYSTEMS.keys()),
1005
+ ]);
1006
+ // metric name → its entries (one per system that emits the name).
1007
+ const DESCRIPTORS_BY_NAME = (() => {
1008
+ const map = new Map();
1009
+ for (const descriptor of MESSAGE_QUEUE_METRICS) {
1010
+ const existing = map.get(descriptor.metricName);
1011
+ if (existing) {
1012
+ existing.push(descriptor);
1013
+ }
1014
+ else {
1015
+ map.set(descriptor.metricName, [descriptor]);
1016
+ }
1017
+ }
1018
+ return map;
1019
+ })();
1020
+ // Every curated broker metric name, as stored.
1021
+ export const MESSAGE_QUEUE_BROKER_METRIC_NAMES = new Set(DESCRIPTORS_BY_NAME.keys());
1022
+ const NO_DESCRIPTORS = [];
1023
+ /**
1024
+ * The curated metrics for a system, in display order (aliases accepted:
1025
+ * "AmazonSQS" gets Amazon SQS's). Empty for a system without a curated set
1026
+ * — the queue page then shows where its broker metrics come from instead.
1027
+ */
1028
+ export function getMessageQueueMetricsForSystem(system) {
1029
+ const normalized = normalizeMessagingSystem(system);
1030
+ if (!normalized) {
1031
+ return NO_DESCRIPTORS;
1032
+ }
1033
+ return MESSAGE_QUEUE_METRICS.filter((descriptor) => {
1034
+ return descriptor.system === normalized;
1035
+ });
1036
+ }
1037
+ /**
1038
+ * Every entry for a metric name — several when systems share it (Azure
1039
+ * Monitor names Service Bus's and Event Hubs' metrics alike; their
1040
+ * `requiredAttributes` tell them apart). Trimmed and lowercased first, as
1041
+ * ingest stores names; empty for a name the catalog does not curate. A Map
1042
+ * lookup, so "constructor" finds nothing.
1043
+ */
1044
+ export function getMessageQueueMetricDescriptorsByName(metricName) {
1045
+ if (typeof metricName !== "string") {
1046
+ return NO_DESCRIPTORS;
1047
+ }
1048
+ return (DESCRIPTORS_BY_NAME.get(metricName.trim().toLowerCase()) || NO_DESCRIPTORS);
1049
+ }
1050
+ /**
1051
+ * A stable id for an entry — `${system}:${metricName}`. A name alone is not
1052
+ * unique: Service Bus and Event Hubs share Azure Monitor's.
1053
+ */
1054
+ export function getMessageQueueMetricId(descriptor) {
1055
+ return `${descriptor.system}:${descriptor.metricName}`;
1056
+ }
1057
+ //# sourceMappingURL=MessageQueueMetricCatalog.js.map