@oneuptime/common 14.0.10 → 14.0.12

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 (2124) hide show
  1. package/Models/AnalyticsModels/AuditLog.ts +63 -0
  2. package/Models/AnalyticsModels/Log.ts +26 -3
  3. package/Models/AnalyticsModels/Metric.ts +28 -3
  4. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +21 -3
  5. package/Models/AnalyticsModels/SloHistory.ts +6 -4
  6. package/Models/DatabaseModels/AIConversation.ts +127 -1
  7. package/Models/DatabaseModels/AutoRemediationRule.ts +1 -1
  8. package/Models/DatabaseModels/CephCluster.ts +12 -0
  9. package/Models/DatabaseModels/CloudResource.ts +12 -0
  10. package/Models/DatabaseModels/CodeRepository.ts +1 -1
  11. package/Models/DatabaseModels/Dashboard.ts +148 -0
  12. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +11 -0
  13. package/Models/DatabaseModels/DatabaseServer.ts +12 -0
  14. package/Models/DatabaseModels/DatabaseServerEndpoint.ts +1 -0
  15. package/Models/DatabaseModels/DockerHost.ts +12 -0
  16. package/Models/DatabaseModels/DockerSwarmCluster.ts +12 -0
  17. package/Models/DatabaseModels/EnterpriseLicense.ts +2 -0
  18. package/Models/DatabaseModels/EnterpriseLicenseInstance.ts +1 -0
  19. package/Models/DatabaseModels/GlobalOidc.ts +0 -4
  20. package/Models/DatabaseModels/GlobalOidcProject.ts +0 -4
  21. package/Models/DatabaseModels/GlobalSso.ts +0 -4
  22. package/Models/DatabaseModels/GlobalSsoProject.ts +0 -4
  23. package/Models/DatabaseModels/Host.ts +12 -0
  24. package/Models/DatabaseModels/IncidentForm.ts +594 -0
  25. package/Models/DatabaseModels/IncidentFormSubmission.ts +283 -0
  26. package/Models/DatabaseModels/IncidentTemplate.ts +59 -0
  27. package/Models/DatabaseModels/IncomingCallLog.ts +13 -0
  28. package/Models/DatabaseModels/Index.ts +20 -0
  29. package/Models/DatabaseModels/IoTFleet.ts +12 -0
  30. package/Models/DatabaseModels/KubernetesCluster.ts +12 -0
  31. package/Models/DatabaseModels/LlmModelPrice.ts +1 -0
  32. package/Models/DatabaseModels/McpOAuthClient.ts +191 -0
  33. package/Models/DatabaseModels/McpOAuthGrant.ts +464 -0
  34. package/Models/DatabaseModels/McpOAuthToken.ts +228 -0
  35. package/Models/DatabaseModels/MessageQueue.ts +1102 -0
  36. package/Models/DatabaseModels/MessageQueueLabelRule.ts +553 -0
  37. package/Models/DatabaseModels/MessageQueueOwnerRule.ts +633 -0
  38. package/Models/DatabaseModels/MessageQueueOwnerTeam.ts +491 -0
  39. package/Models/DatabaseModels/MessageQueueOwnerUser.ts +490 -0
  40. package/Models/DatabaseModels/Monitor.ts +157 -0
  41. package/Models/DatabaseModels/MonitorSecret.ts +93 -1
  42. package/Models/DatabaseModels/NetworkEndpoint.ts +1 -0
  43. package/Models/DatabaseModels/OnCallDutyPolicy.ts +155 -0
  44. package/Models/DatabaseModels/PodmanHost.ts +12 -0
  45. package/Models/DatabaseModels/Project.ts +103 -101
  46. package/Models/DatabaseModels/ProjectOidc.ts +0 -4
  47. package/Models/DatabaseModels/ProjectSso.ts +0 -4
  48. package/Models/DatabaseModels/ProxmoxCluster.ts +12 -0
  49. package/Models/DatabaseModels/RumApplication.ts +12 -0
  50. package/Models/DatabaseModels/ServerlessFunction.ts +12 -0
  51. package/Models/DatabaseModels/Service.ts +12 -0
  52. package/Models/DatabaseModels/StatusPage.ts +155 -0
  53. package/Models/DatabaseModels/StatusPageOidc.ts +0 -4
  54. package/Models/DatabaseModels/StatusPageSso.ts +0 -4
  55. package/Models/DatabaseModels/TeamComplianceSetting.ts +47 -2
  56. package/Models/DatabaseModels/TelemetrySourceMap.ts +1 -0
  57. package/Models/DatabaseModels/VMwareVCenter.ts +12 -0
  58. package/Models/DatabaseModels/Workflow.ts +226 -7
  59. package/Server/API/AIAgentDataAPI.ts +1 -1
  60. package/Server/API/AIChatAPI.ts +13 -114
  61. package/Server/API/AIInvestigationAPI.ts +3 -3
  62. package/Server/API/AIInvestigationConversationAPI.ts +266 -0
  63. package/Server/API/AutoRemediationAPI.ts +9 -41
  64. package/Server/API/CommonAPI.ts +19 -0
  65. package/Server/API/DashboardAPI.ts +7 -3
  66. package/Server/API/IncidentFormAPI.ts +376 -0
  67. package/Server/API/ProjectOIDC.ts +16 -25
  68. package/Server/API/ProjectSSO.ts +16 -24
  69. package/Server/API/StatusPageAPI.ts +185 -166
  70. package/Server/Enterprise/EnterpriseEdition.ts +93 -28
  71. package/Server/Enterprise/EnterpriseFeature.ts +25 -3
  72. package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +1 -1
  73. package/Server/Enterprise/EnterpriseServerModule.ts +4 -1
  74. package/Server/EnvironmentConfig.ts +28 -1
  75. package/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.ts +129 -0
  76. package/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.ts +52 -0
  77. package/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.ts +75 -0
  78. package/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.ts +477 -0
  79. package/Server/Infrastructure/Postgres/SchemaMigrations/1796800000000-FoldAiSwitchesIntoEnableAi.ts +105 -0
  80. package/Server/Infrastructure/Postgres/SchemaMigrations/1796900000000-AddMcpOAuthTables.ts +97 -0
  81. package/Server/Infrastructure/Postgres/SchemaMigrations/1797000000000-AddWorkflowIncomingEmailSecretKey.ts +36 -0
  82. package/Server/Infrastructure/Postgres/SchemaMigrations/1797100000000-AddMonitorSecretAccess.ts +55 -0
  83. package/Server/Infrastructure/Postgres/SchemaMigrations/1797200000000-AddArchiveToMoreResources.ts +167 -0
  84. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +18 -0
  85. package/Server/Middleware/IncidentFormRateLimit.ts +847 -0
  86. package/Server/Middleware/McpDelegationAuthorization.ts +204 -0
  87. package/Server/Middleware/McpOAuthRateLimit.ts +287 -0
  88. package/Server/Middleware/ProjectAuthorization.ts +23 -2
  89. package/Server/Middleware/UserAuthorization.ts +28 -38
  90. package/Server/Services/AIService.ts +11 -14
  91. package/Server/Services/AnalyticsDatabaseService.ts +22 -5
  92. package/Server/Services/ApiKeyService.ts +31 -7
  93. package/Server/Services/AutoRemediationRuleEngineService.ts +15 -27
  94. package/Server/Services/AutoRemediationRuleService.ts +1 -1
  95. package/Server/Services/DashboardService.ts +7 -2
  96. package/Server/Services/DatabaseServerService.ts +219 -0
  97. package/Server/Services/DatabaseService.ts +29 -32
  98. package/Server/Services/InboundEmail/InboundEmailProvider.ts +44 -0
  99. package/Server/Services/InboundEmail/Providers/SendGridInboundProvider.ts +57 -1
  100. package/Server/Services/IncidentCustomFieldService.ts +112 -2
  101. package/Server/Services/IncidentEpisodeMemberService.ts +24 -4
  102. package/Server/Services/IncidentEpisodeService.ts +10 -1
  103. package/Server/Services/IncidentFormService.ts +1566 -0
  104. package/Server/Services/IncidentFormSubmissionService.ts +97 -0
  105. package/Server/Services/IncidentGroupingEngineService.ts +45 -8
  106. package/Server/Services/IncidentService.ts +123 -5
  107. package/Server/Services/IncidentTemplateService.ts +22 -0
  108. package/Server/Services/IncomingCallMissedCallNotificationService.ts +280 -0
  109. package/Server/Services/IncomingCallPolicyService.ts +118 -0
  110. package/Server/Services/Index.ts +22 -0
  111. package/Server/Services/KubernetesClusterAiAccessService.ts +10 -47
  112. package/Server/Services/KubernetesClusterService.ts +3 -3
  113. package/Server/Services/LogAggregationService.ts +38 -5
  114. package/Server/Services/McpOAuthClientService.ts +148 -0
  115. package/Server/Services/McpOAuthGrantService.ts +275 -0
  116. package/Server/Services/McpOAuthTokenService.ts +213 -0
  117. package/Server/Services/MessageQueueLabelRuleEngineService.ts +321 -0
  118. package/Server/Services/MessageQueueLabelRuleService.ts +14 -0
  119. package/Server/Services/MessageQueueOwnerRuleEngineService.ts +412 -0
  120. package/Server/Services/MessageQueueOwnerRuleService.ts +14 -0
  121. package/Server/Services/MessageQueueOwnerTeamService.ts +62 -0
  122. package/Server/Services/MessageQueueOwnerUserService.ts +62 -0
  123. package/Server/Services/MessageQueueService.ts +1463 -0
  124. package/Server/Services/MetricAggregationService.ts +4 -4
  125. package/Server/Services/MonitorGroupService.ts +49 -28
  126. package/Server/Services/MonitorProbeService.ts +1 -0
  127. package/Server/Services/MonitorSecretService.ts +425 -0
  128. package/Server/Services/MonitorService.ts +15 -1
  129. package/Server/Services/OnCallDutyPolicyService.ts +36 -2
  130. package/Server/Services/OpenTelemetryIngestService.ts +37 -4
  131. package/Server/Services/ProjectService.ts +50 -80
  132. package/Server/Services/ResourceAiAccessService.ts +3 -14
  133. package/Server/Services/RunnerJobService.ts +2 -2
  134. package/Server/Services/RunnerService.ts +2 -2
  135. package/Server/Services/StatusPagePrivateUserService.ts +1 -4
  136. package/Server/Services/StatusPageService.ts +67 -59
  137. package/Server/Services/StatusPageSubscriberService.ts +23 -0
  138. package/Server/Services/TeamComplianceSettingService.ts +163 -42
  139. package/Server/Services/TeamMemberService.ts +352 -84
  140. package/Server/Services/UserNotificationRuleService.ts +8 -1
  141. package/Server/Services/UserNotificationSettingService.ts +20 -0
  142. package/Server/Services/WorkflowService.ts +31 -0
  143. package/Server/Services/WorkspaceNotificationSummaryService.ts +12 -3
  144. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +6 -0
  145. package/Server/Types/Database/Permissions/CreatePermission.ts +17 -3
  146. package/Server/Types/Database/Permissions/EditionPermission.ts +140 -38
  147. package/Server/Types/Database/Permissions/Index.ts +10 -0
  148. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +16 -0
  149. package/Server/Types/Database/Permissions/TablePermission.ts +3 -3
  150. package/Server/Types/Database/Permissions/UpdatePermission.ts +20 -6
  151. package/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.ts +2 -0
  152. package/Server/Types/Workflow/Components/Conditions/IfElse.ts +36 -138
  153. package/Server/Types/Workflow/Components/IncomingEmail.ts +216 -0
  154. package/Server/Types/Workflow/Components/Index.ts +32 -18
  155. package/Server/Types/Workflow/Components/Schedule.ts +25 -4
  156. package/Server/Utils/AI/Chat/AgentContextCompactor.ts +200 -0
  157. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +307 -48
  158. package/Server/Utils/AI/Chat/ChatRunCancellation.ts +156 -0
  159. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +78 -18
  160. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
  161. package/Server/Utils/AI/Chat/ToolOutputPager.ts +322 -0
  162. package/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.ts +88 -30
  163. package/Server/Utils/AI/ClusterAccess/KubectlJobRunner.ts +13 -1
  164. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +1 -33
  165. package/Server/Utils/AI/CodeFix/CodeFixRunQueue.ts +1 -1
  166. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +56 -46
  167. package/Server/Utils/AI/CodeFix/OpenPullRequestCap.ts +25 -19
  168. package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +7 -1
  169. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +49 -82
  170. package/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.ts +69 -24
  171. package/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.ts +9 -0
  172. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +53 -10
  173. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +64 -63
  174. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +8 -8
  175. package/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.ts +1 -1
  176. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +39 -29
  177. package/Server/Utils/AI/SRE/IncidentPostmortemRunner.ts +6 -5
  178. package/Server/Utils/AI/SRE/Insights/FixRouting.ts +3 -3
  179. package/Server/Utils/AI/SRE/Insights/InsightScanner.ts +5 -5
  180. package/Server/Utils/AI/SRE/Insights/Triage.ts +6 -5
  181. package/Server/Utils/AI/SRE/InstrumentationTaskTrigger.ts +8 -7
  182. package/Server/Utils/AI/SRE/InvestigationEligibility.ts +1 -1
  183. package/Server/Utils/AI/SRE/InvestigationQueue.ts +77 -72
  184. package/Server/Utils/AI/SRE/InvestigationThread.ts +646 -0
  185. package/Server/Utils/AI/SRE/InvestigationThreadService.ts +715 -0
  186. package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +1 -1
  187. package/Server/Utils/AI/Toolbox/AIActionTools.ts +11 -1
  188. package/Server/Utils/AI/Toolbox/AIMetaTools.ts +14 -8
  189. package/Server/Utils/AI/Toolbox/MonitorTools.ts +21 -3
  190. package/Server/Utils/AI/Toolbox/OnCallTools.ts +43 -9
  191. package/Server/Utils/AI/Toolbox/Serializer.ts +10 -3
  192. package/Server/Utils/AI/Toolbox/StatusPageTools.ts +36 -7
  193. package/Server/Utils/AI/Toolbox/WorkflowProbeTools.ts +26 -7
  194. package/Server/Utils/AnalyticsDatabase/ClusterConfig.ts +3 -1
  195. package/Server/Utils/EditionEnforcement.ts +19 -202
  196. package/Server/Utils/Express.ts +23 -0
  197. package/Server/Utils/IncomingCall/MissedCallNotification.ts +322 -0
  198. package/Server/Utils/LLM/LLMService.ts +259 -63
  199. package/Server/Utils/Mcp/McpDelegationToken.ts +171 -0
  200. package/Server/Utils/Mcp/McpOAuthConfig.ts +191 -0
  201. package/Server/Utils/Mcp/McpOAuthGrantAccess.ts +303 -0
  202. package/Server/Utils/Mcp/McpOAuthSecret.ts +149 -0
  203. package/Server/Utils/Mcp/McpOAuthSignedToken.ts +225 -0
  204. package/Server/Utils/Mcp/McpOAuthSso.ts +274 -0
  205. package/Server/Utils/Monitor/MonitorPayloadRedaction.ts +43 -0
  206. package/Server/Utils/Monitor/MonitorResource.ts +16 -3
  207. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +5 -8
  208. package/Server/Utils/RelaxedScimTeamLocksReport.ts +245 -0
  209. package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +25 -0
  210. package/Server/Utils/SameOriginRequest.ts +203 -0
  211. package/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.ts +3 -3
  212. package/Server/Utils/Slo/SloMetricUtil.ts +3 -3
  213. package/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.ts +2 -0
  214. package/Server/Utils/Telemetry/DatabaseEndpointDiscovery.ts +11 -3
  215. package/Server/Utils/Telemetry/EntityRegistry.ts +4 -1
  216. package/Server/Utils/Telemetry/MessageQueueDiscovery.ts +1409 -0
  217. package/Server/Utils/Telemetry/ResourceEntityFilter.ts +4 -1
  218. package/Server/Utils/Telemetry/ServiceDependencyDiscovery.ts +171 -17
  219. package/Server/Utils/VendorAssets.ts +3 -3
  220. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +2 -0
  221. package/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.ts +2 -0
  222. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +5 -1
  223. package/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts +5 -1
  224. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +10 -1
  225. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.ts +4 -0
  226. package/Server/Utils/Workspace/Slack/Actions/Alert.ts +2 -0
  227. package/Server/Utils/Workspace/Slack/Actions/AlertEpisode.ts +2 -0
  228. package/Server/Utils/Workspace/Slack/Actions/Incident.ts +4 -0
  229. package/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.ts +2 -0
  230. package/Tests/App/Accounts/IncidentFormPage.test.tsx +2036 -0
  231. package/Tests/App/Accounts/IncidentFormServerMessages.test.ts +119 -0
  232. package/Tests/App/Accounts/IncidentFormUtils.test.ts +1157 -0
  233. package/Tests/App/Accounts/LoginPasskey.test.tsx +33 -4
  234. package/Tests/App/Accounts/LoginSso.test.tsx +724 -0
  235. package/Tests/App/Accounts/McpAuthorizePage.test.tsx +2034 -0
  236. package/Tests/App/AdminDashboard/AdminAuthenticationRequireSso.test.tsx +338 -0
  237. package/Tests/App/AdminDashboard/AdminAuthenticationSsoCardLocales.test.tsx +331 -0
  238. package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +47 -33
  239. package/Tests/App/AdminDashboard/GlobalSsoOidcPages.test.tsx +1021 -0
  240. package/Tests/App/AdvancedMenuSectionsCollapsed.test.tsx +446 -0
  241. package/Tests/App/Dashboard/AIFeaturesSettingsPointers.test.tsx +55 -19
  242. package/Tests/App/Dashboard/AIInvestigationSettingsLimits.test.tsx +451 -0
  243. package/Tests/App/Dashboard/AIInvestigationStage.test.ts +141 -0
  244. package/Tests/App/Dashboard/AffectedResourcesDisplay.test.tsx +876 -78
  245. package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +20 -3
  246. package/Tests/App/Dashboard/AiAccessModes.test.ts +261 -0
  247. package/Tests/App/Dashboard/AiAccessRow.test.tsx +401 -0
  248. package/Tests/App/Dashboard/AlertEpisodeViewFields.test.tsx +19 -6
  249. package/Tests/App/Dashboard/AlertsSideMenu.test.tsx +76 -33
  250. package/Tests/App/Dashboard/AnswerSources.test.tsx +359 -0
  251. package/Tests/App/Dashboard/ArchivableResourceListPages.test.tsx +655 -0
  252. package/Tests/App/Dashboard/ArchivedResourceBanner.test.tsx +543 -0
  253. package/Tests/App/Dashboard/ArchivedResourceNavigation.test.tsx +634 -0
  254. package/Tests/App/Dashboard/ArchivedResourceViewLayouts.test.tsx +321 -0
  255. package/Tests/App/Dashboard/BulkChangeStateModalSteps.test.ts +109 -0
  256. package/Tests/App/Dashboard/CephProxmoxVMwareDocumentationCards.test.tsx +359 -0
  257. package/Tests/App/Dashboard/CephSetupGuide.test.ts +961 -0
  258. package/Tests/App/Dashboard/CloudDocumentationCard.test.tsx +381 -95
  259. package/Tests/App/Dashboard/CloudSetupGuide.test.ts +1463 -0
  260. package/Tests/App/Dashboard/ClusterAccessNotice.test.tsx +174 -12
  261. package/Tests/App/Dashboard/CodeProduct.test.tsx +194 -0
  262. package/Tests/App/Dashboard/ContainerSetupGuideCards.test.tsx +345 -0
  263. package/Tests/App/Dashboard/ConversationComposer.test.tsx +439 -0
  264. package/Tests/App/Dashboard/CoreListEmptyStates.test.tsx +503 -0
  265. package/Tests/App/Dashboard/CorrelateResultSummary.test.tsx +15 -3
  266. package/Tests/App/Dashboard/CreateOAuthWorkflowVariableFormSteps.test.tsx +925 -0
  267. package/Tests/App/Dashboard/CreateOAuthWorkflowVariableModal.test.tsx +267 -20
  268. package/Tests/App/Dashboard/CreateWorkflowModal.test.tsx +493 -100
  269. package/Tests/App/Dashboard/DangerZone.test.tsx +146 -3
  270. package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +0 -4
  271. package/Tests/App/Dashboard/DatabaseDocumentationCard.test.tsx +400 -0
  272. package/Tests/App/Dashboard/DatabaseDocumentationMarkdown.test.ts +5 -0
  273. package/Tests/App/Dashboard/DatabaseSetupGuide.test.ts +1869 -0
  274. package/Tests/App/Dashboard/DatabaseTelemetryScope.test.ts +44 -0
  275. package/Tests/App/Dashboard/DatabaseTelemetryTabs.test.tsx +50 -9
  276. package/Tests/App/Dashboard/DeleteDialogsNameTheResource.test.tsx +257 -0
  277. package/Tests/App/Dashboard/DeveloperDocsGuides.test.ts +458 -0
  278. package/Tests/App/Dashboard/DeveloperDocsLocales.test.ts +124 -0
  279. package/Tests/App/Dashboard/DeveloperDocsPage.test.tsx +471 -0
  280. package/Tests/App/Dashboard/DeveloperMenuSections.test.tsx +657 -0
  281. package/Tests/App/Dashboard/DisabledWarningArchived.test.tsx +196 -0
  282. package/Tests/App/Dashboard/DiscoveryScanEditForm.test.tsx +52 -82
  283. package/Tests/App/Dashboard/DockerSetupGuide.test.ts +899 -0
  284. package/Tests/App/Dashboard/DockerSwarmSetupGuide.test.ts +964 -0
  285. package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +208 -7
  286. package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +52 -39
  287. package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +47 -0
  288. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +7 -1
  289. package/Tests/App/Dashboard/EventStatusPanel.test.tsx +2 -1
  290. package/Tests/App/Dashboard/GettingStartedTaskRoutes.test.tsx +331 -0
  291. package/Tests/App/Dashboard/HomeOverviewStatsFirstRun.test.tsx +942 -0
  292. package/Tests/App/Dashboard/HostDocumentationCard.test.tsx +225 -0
  293. package/Tests/App/Dashboard/HostSetupGuide.test.ts +1183 -0
  294. package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +69 -45
  295. package/Tests/App/Dashboard/IncidentAlertLinkSideMenus.test.tsx +3 -1
  296. package/Tests/App/Dashboard/IncidentCreateTemplateCustomFieldSettings.test.tsx +745 -0
  297. package/Tests/App/Dashboard/IncidentCreateTemplateOwners.test.tsx +414 -0
  298. package/Tests/App/Dashboard/IncidentCustomFieldCreateSettingsForm.test.ts +1042 -0
  299. package/Tests/App/Dashboard/IncidentCustomFieldSettingsCard.test.tsx +1816 -0
  300. package/Tests/App/Dashboard/IncidentEpisodeViewFields.test.tsx +19 -6
  301. package/Tests/App/Dashboard/IncidentFormPlan.test.ts +89 -0
  302. package/Tests/App/Dashboard/IncidentFormShareLinkCard.test.tsx +846 -0
  303. package/Tests/App/Dashboard/IncidentFormsPages.test.tsx +1324 -0
  304. package/Tests/App/Dashboard/IncidentTemplateCustomFieldSettings.test.tsx +630 -0
  305. package/Tests/App/Dashboard/IncidentsSideMenu.test.tsx +95 -49
  306. package/Tests/App/Dashboard/IncomingEmailMonitorLinkVerifyHint.test.tsx +104 -0
  307. package/Tests/App/Dashboard/InventoryItemSideMenu.test.tsx +1 -0
  308. package/Tests/App/Dashboard/InvestigationConversation.test.tsx +2465 -0
  309. package/Tests/App/Dashboard/InvestigationConversationData.test.ts +998 -0
  310. package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +170 -5
  311. package/Tests/App/Dashboard/InvestigationNotStarted.test.tsx +341 -3
  312. package/Tests/App/Dashboard/InvestigationNotice.test.tsx +300 -0
  313. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1201 -34
  314. package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +9 -21
  315. package/Tests/App/Dashboard/InvestigationReportView.test.tsx +274 -37
  316. package/Tests/App/Dashboard/InvestigationStatusBadge.test.tsx +130 -0
  317. package/Tests/App/Dashboard/IoTDocumentationCard.test.tsx +218 -0
  318. package/Tests/App/Dashboard/IoTSetupGuide.test.ts +1124 -0
  319. package/Tests/App/Dashboard/KubernetesClusterAiAccessSettings.test.ts +126 -36
  320. package/Tests/App/Dashboard/KubernetesClusterAiAgentStatus.test.ts +743 -9
  321. package/Tests/App/Dashboard/KubernetesClusterAiDocumentationMarkdown.test.ts +107 -83
  322. package/Tests/App/Dashboard/KubernetesClusterAiPage.test.tsx +838 -81
  323. package/Tests/App/Dashboard/KubernetesClusterAiPageServerParity.test.ts +958 -7
  324. package/Tests/App/Dashboard/KubernetesSetupGuide.test.ts +787 -0
  325. package/Tests/App/Dashboard/McpAuthorizationResume.test.tsx +495 -0
  326. package/Tests/App/Dashboard/McpServerPage.test.tsx +1106 -0
  327. package/Tests/App/Dashboard/MessageQueueBreadcrumbs.test.tsx +228 -0
  328. package/Tests/App/Dashboard/MessageQueueBrokerHealth.test.tsx +1538 -0
  329. package/Tests/App/Dashboard/MessageQueueBrokerHealthMetricChart.test.tsx +969 -0
  330. package/Tests/App/Dashboard/MessageQueueBrokerHealthReads.test.ts +889 -0
  331. package/Tests/App/Dashboard/MessageQueueBrokerMetricsReach.test.ts +236 -0
  332. package/Tests/App/Dashboard/MessageQueueDocumentationCard.test.tsx +479 -0
  333. package/Tests/App/Dashboard/MessageQueueListPages.test.tsx +1232 -0
  334. package/Tests/App/Dashboard/MessageQueueMetricDescriptions.test.ts +244 -0
  335. package/Tests/App/Dashboard/MessageQueueMonitorLink.test.ts +952 -0
  336. package/Tests/App/Dashboard/MessageQueueMonitorLinkMonitorCreate.test.tsx +859 -0
  337. package/Tests/App/Dashboard/MessageQueueOverview.test.tsx +1773 -0
  338. package/Tests/App/Dashboard/MessageQueueOverviewPresentation.test.ts +196 -0
  339. package/Tests/App/Dashboard/MessageQueuePresentation.test.ts +799 -0
  340. package/Tests/App/Dashboard/MessageQueueProducersConsumers.test.tsx +680 -0
  341. package/Tests/App/Dashboard/MessageQueueRoutes.test.tsx +383 -0
  342. package/Tests/App/Dashboard/MessageQueueRulePages.test.tsx +278 -0
  343. package/Tests/App/Dashboard/MessageQueueSetupGuide.test.ts +2778 -0
  344. package/Tests/App/Dashboard/MessageQueueSideMenus.test.tsx +285 -0
  345. package/Tests/App/Dashboard/MessageQueueSpanPopulations.test.ts +930 -0
  346. package/Tests/App/Dashboard/MessageQueueSpanStore.ts +351 -0
  347. package/Tests/App/Dashboard/MessageQueueTelemetryScope.test.ts +375 -0
  348. package/Tests/App/Dashboard/MessageQueueTelemetryScopeTabs.test.tsx +668 -0
  349. package/Tests/App/Dashboard/MessageQueueViewPages.test.tsx +685 -0
  350. package/Tests/App/Dashboard/MonitorAndHomeNotOperationalMenus.test.tsx +342 -0
  351. package/Tests/App/Dashboard/MonitorCreateFirstRunDefaults.test.tsx +623 -0
  352. package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +442 -0
  353. package/Tests/App/Dashboard/MonitorCriteriaAdvancedOptions.test.tsx +267 -0
  354. package/Tests/App/Dashboard/MonitorLogsPageViewSummary.test.tsx +814 -0
  355. package/Tests/App/Dashboard/MonitorOverviewInput.test.ts +3 -0
  356. package/Tests/App/Dashboard/MonitorSecretsAccessForm.test.tsx +727 -0
  357. package/Tests/App/Dashboard/MonitorSetupCardBodies.test.tsx +246 -0
  358. package/Tests/App/Dashboard/MonitorViewLayout.test.tsx +37 -0
  359. package/Tests/App/Dashboard/MovedRunnerSettingsRedirects.test.tsx +345 -0
  360. package/Tests/App/Dashboard/NavigationSearchKeywords.test.tsx +12 -1
  361. package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +36 -4
  362. package/Tests/App/Dashboard/NotificationRuleFormParts.test.tsx +247 -0
  363. package/Tests/App/Dashboard/OAuthIdentityProviders.test.tsx +589 -0
  364. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +12 -1
  365. package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +27 -12
  366. package/Tests/App/Dashboard/PermissionModePicker.test.tsx +316 -0
  367. package/Tests/App/Dashboard/PlanGatedPage.test.tsx +292 -0
  368. package/Tests/App/Dashboard/PodmanSetupGuide.test.ts +948 -0
  369. package/Tests/App/Dashboard/ProductMenuBreadcrumbs.test.tsx +83 -39
  370. package/Tests/App/Dashboard/ProductOrientation.test.tsx +35 -1
  371. package/Tests/App/Dashboard/ProductSettingsSectionCollapsed.test.tsx +266 -0
  372. package/Tests/App/Dashboard/ProjectAISettingsPages.test.tsx +244 -76
  373. package/Tests/App/Dashboard/ProxmoxSetupGuide.test.ts +1318 -0
  374. package/Tests/App/Dashboard/RecommendationsLoadedContext.test.tsx +57 -1
  375. package/Tests/App/Dashboard/ResourceAiAccessSettingsUtil.test.ts +190 -23
  376. package/Tests/App/Dashboard/ResourceAiAgentAttentionServerParity.test.ts +549 -0
  377. package/Tests/App/Dashboard/ResourceAiAgentPage.test.tsx +755 -111
  378. package/Tests/App/Dashboard/ResourceAiAgentStatus.test.ts +457 -0
  379. package/Tests/App/Dashboard/ResourceArchiveCopy.test.ts +218 -0
  380. package/Tests/App/Dashboard/ResourceArchiveSettings.test.tsx +16 -0
  381. package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +16 -2
  382. package/Tests/App/Dashboard/ResourceConnectionGuideCard.test.tsx +444 -0
  383. package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsInfra.test.tsx +798 -0
  384. package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsPlatforms.test.tsx +717 -0
  385. package/Tests/App/Dashboard/ResourceConnectionGuides.test.ts +981 -0
  386. package/Tests/App/Dashboard/ResourceConnectionState.test.ts +132 -0
  387. package/Tests/App/Dashboard/RumDocumentationCard.test.tsx +293 -0
  388. package/Tests/App/Dashboard/RumSessionReplayRetentionSettings.test.tsx +467 -0
  389. package/Tests/App/Dashboard/RumSessionReplaySideMenu.test.tsx +1 -0
  390. package/Tests/App/Dashboard/RumSetupGuide.test.ts +758 -0
  391. package/Tests/App/Dashboard/RunbookRunnerRoutes.test.tsx +403 -0
  392. package/Tests/App/Dashboard/RunnerKubernetesAgentForm.test.tsx +26 -17
  393. package/Tests/App/Dashboard/RunnerNavigation.test.tsx +577 -0
  394. package/Tests/App/Dashboard/RunnerPagesInRunbooksFlow.test.tsx +581 -0
  395. package/Tests/App/Dashboard/RunnerProductSearch.test.tsx +195 -0
  396. package/Tests/App/Dashboard/RunnerSupersededByAiAgentNote.test.tsx +19 -6
  397. package/Tests/App/Dashboard/ScheduledMaintenanceOverviewPage.test.tsx +25 -0
  398. package/Tests/App/Dashboard/ScheduledMaintenanceSideMenu.test.tsx +2 -1
  399. package/Tests/App/Dashboard/SecurityEventSeverityPill.test.tsx +39 -15
  400. package/Tests/App/Dashboard/ServerlessDocumentationCard.test.tsx +254 -0
  401. package/Tests/App/Dashboard/ServerlessSetupGuide.test.ts +1074 -0
  402. package/Tests/App/Dashboard/SetupGuide.test.ts +246 -0
  403. package/Tests/App/Dashboard/SetupGuideCard.test.tsx +756 -0
  404. package/Tests/App/Dashboard/SloListSideMenu.test.tsx +121 -0
  405. package/Tests/App/Dashboard/SloNavigationWiring.test.tsx +20 -1
  406. package/Tests/App/Dashboard/SloViewSideMenu.test.tsx +14 -2
  407. package/Tests/App/Dashboard/SsoPages.test.tsx +833 -0
  408. package/Tests/App/Dashboard/TelemetryDocumentation.test.tsx +253 -0
  409. package/Tests/App/Dashboard/TelemetryIngestionKeyEdit.test.tsx +107 -13
  410. package/Tests/App/Dashboard/TelemetryRetentionShells.test.tsx +730 -0
  411. package/Tests/App/Dashboard/UserElementEmail.test.tsx +50 -0
  412. package/Tests/App/Dashboard/UserSettingsEmailPreferences.test.tsx +42 -8
  413. package/Tests/App/Dashboard/UserSettingsNotificationSettings.test.tsx +51 -1
  414. package/Tests/App/Dashboard/VMwareSetupGuide.test.ts +1033 -0
  415. package/Tests/App/Dashboard/WorkflowBuilderArchived.test.tsx +490 -0
  416. package/Tests/App/Dashboard/WorkflowBuilderIncomingEmailSecretKey.test.tsx +436 -0
  417. package/Tests/App/Dashboard/WorkflowBuilderRunDownload.test.tsx +416 -0
  418. package/Tests/App/Dashboard/WorkflowBuilderTurnOn.test.tsx +828 -0
  419. package/Tests/App/Dashboard/WorkflowBuilderWebhookSecretKey.test.tsx +499 -0
  420. package/Tests/App/Dashboard/WorkflowRunsLogsMenus.test.tsx +758 -0
  421. package/Tests/App/Dashboard/WorkflowRunsPages.test.tsx +507 -0
  422. package/Tests/App/Dashboard/WorkflowSettingsPage.test.tsx +172 -0
  423. package/Tests/App/Dashboard/WorkflowTemplatePicker.test.tsx +1425 -0
  424. package/Tests/App/Dashboard/WorkflowVariableCreateFormSteps.test.tsx +473 -0
  425. package/Tests/App/Dashboard/WorkflowVariableOAuthSettingsEditSteps.test.tsx +390 -0
  426. package/Tests/App/Dashboard/WorkflowVariableUtil.test.ts +357 -30
  427. package/Tests/App/Dashboard/WorkflowVariableView.test.tsx +49 -0
  428. package/Tests/App/Dashboard/WorkflowVariablesTable.test.tsx +72 -2
  429. package/Tests/App/Dashboard/WorkspaceNotificationRuleFormSteps.test.tsx +499 -0
  430. package/Tests/App/StatusPage/StatusPageResourceExplorer.test.tsx +31 -0
  431. package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +87 -7
  432. package/Tests/DialogActionRules.ts +1696 -0
  433. package/Tests/Helpers/FormStepsScan.ts +1917 -0
  434. package/Tests/Helpers/ToggleUsageScan.ts +302 -0
  435. package/Tests/Models/AnalyticsModels/TelemetryTtlSettings.test.ts +164 -0
  436. package/Tests/Models/DatabaseModels/ArchivableResourceModels.test.ts +475 -0
  437. package/Tests/Models/DatabaseModels/DatabaseServerModels.test.ts +28 -9
  438. package/Tests/Models/DatabaseModels/IncidentFormModel.test.ts +1250 -0
  439. package/Tests/Models/DatabaseModels/IncomingCallLogWorkflow.test.ts +130 -0
  440. package/Tests/Models/DatabaseModels/MessageQueueModels.test.ts +1983 -0
  441. package/Tests/Models/DatabaseModels/PermissionCatalogueCoverage.test.ts +0 -1
  442. package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +4 -2
  443. package/Tests/Models/DatabaseModels/TeamComplianceSettingModel.test.ts +190 -14
  444. package/Tests/Models/DatabaseModels/WorkflowIncomingEmailSecretKeyAccessControl.test.ts +252 -0
  445. package/Tests/Models/DatabaseModels/WorkflowWebhookSecretKeyAccessControl.test.ts +223 -0
  446. package/Tests/Models/IncidentTemplateCustomFieldSettingsColumn.test.ts +291 -0
  447. package/Tests/Models/McpOAuthModels.test.ts +951 -0
  448. package/Tests/Server/API/AIInvestigationAPI.test.ts +6 -4
  449. package/Tests/Server/API/AIInvestigationConversationAPI.test.ts +412 -0
  450. package/Tests/Server/API/ArchivedPublicRoutes.test.ts +481 -0
  451. package/Tests/Server/API/AutoRemediationApproveClusterRound.test.ts +144 -105
  452. package/Tests/Server/API/AutoRemediationApproveEnableAiGate.test.ts +816 -0
  453. package/Tests/Server/API/AutoRemediationApproveKubectlRecheck.test.ts +37 -5
  454. package/Tests/Server/API/AutoRemediationApproveResourceRound.test.ts +68 -57
  455. package/Tests/Server/API/CommonAPIAuditIdentityProps.test.ts +468 -0
  456. package/Tests/Server/API/GlobalConfigLicense.test.ts +38 -9
  457. package/Tests/Server/API/IncidentFormAPI.test.ts +942 -0
  458. package/Tests/Server/API/IncidentFormPublicRoutes.test.ts +1653 -0
  459. package/Tests/Server/API/KubernetesClusterAiAccessAPI.test.ts +2 -1
  460. package/Tests/Server/API/ResourceAiAccessAPI.test.ts +0 -4
  461. package/Tests/Server/API/{SsoProviderListingsEdition.test.ts → SsoProviderListings.test.ts} +164 -110
  462. package/Tests/Server/API/StatusPagePublicReadsLeaveOutArchivedMonitors.test.ts +126 -0
  463. package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +76 -54
  464. package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +125 -42
  465. package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +36 -10
  466. package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +51 -9
  467. package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +13 -8
  468. package/Tests/Server/Enterprise/SsoInCommunityEdition.test.ts +540 -0
  469. package/Tests/Server/Infrastructure/Postgres/AddArchiveToMoreResourcesMigration.test.ts +200 -0
  470. package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +3 -0
  471. package/Tests/Server/Infrastructure/Postgres/AddIncidentFormsMigration.test.ts +438 -0
  472. package/Tests/Server/Infrastructure/Postgres/AddTeamComplianceRuleNotificationChannelsMigration.test.ts +255 -0
  473. package/Tests/Server/Infrastructure/Postgres/FoldAiSwitchesIntoEnableAiMigration.test.ts +543 -0
  474. package/Tests/Server/Infrastructure/Postgres/FoldAiSwitchesIntoEnableAiPostgres.test.ts +862 -0
  475. package/Tests/Server/Infrastructure/Postgres/MessageQueueTablesMigration.test.ts +637 -0
  476. package/Tests/Server/Middleware/IncidentFormRateLimit.test.ts +1630 -0
  477. package/Tests/Server/Middleware/McpDelegationAuthorization.test.ts +862 -0
  478. package/Tests/Server/Middleware/McpOAuthRateLimit.test.ts +959 -0
  479. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyIdentity.test.ts +361 -0
  480. package/Tests/Server/Middleware/UserAuthorization.test.ts +16 -17
  481. package/Tests/Server/Middleware/UserAuthorizationMcpDelegation.test.ts +568 -0
  482. package/Tests/Server/Middleware/UserAuthorizationSsoEnforcement.test.ts +544 -0
  483. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +97 -8
  484. package/Tests/Server/Services/AddMcpOAuthTablesMigration.test.ts +616 -0
  485. package/Tests/Server/Services/AiAccessEnableAiMasterSwitch.test.ts +761 -0
  486. package/Tests/Server/Services/AnalyticsDatabaseServiceReadOnlyCredentialBeforeHooks.test.ts +224 -0
  487. package/Tests/Server/Services/ApiKeyServiceResolvedName.test.ts +307 -0
  488. package/Tests/Server/Services/ArchivedStatusPageAndDashboardAccess.test.ts +505 -0
  489. package/Tests/Server/Services/AutoRemediationClusterRuleEngine.test.ts +61 -4
  490. package/Tests/Server/Services/AutoRemediationCommandRuleEngine.test.ts +64 -13
  491. package/Tests/Server/Services/AutoRemediationEnableAiMasterSwitch.test.ts +767 -0
  492. package/Tests/Server/Services/AutoRemediationResourceRuleEngine.test.ts +47 -8
  493. package/Tests/Server/Services/AutoRemediationRuleCommandRunners.test.ts +1 -1
  494. package/Tests/Server/Services/AutoRemediationRuleEngineService.test.ts +48 -6
  495. package/Tests/Server/Services/DatabaseServerService.test.ts +420 -0
  496. package/Tests/Server/Services/DatabaseServerSqlPostgres.test.ts +296 -2
  497. package/Tests/Server/Services/DatabaseServiceReadOnlyCredentialBeforeHooks.test.ts +396 -0
  498. package/Tests/Server/Services/InboundEmail/SendGridInboundProviderRecipients.test.ts +172 -0
  499. package/Tests/Server/Services/IncidentCreatedFeedTitle.test.ts +212 -0
  500. package/Tests/Server/Services/IncidentCustomFieldDeleteFormQuestions.test.ts +297 -0
  501. package/Tests/Server/Services/IncidentFormOwnersCreatedNotification.test.ts +497 -0
  502. package/Tests/Server/Services/IncidentFormPostgres.test.ts +958 -0
  503. package/Tests/Server/Services/IncidentFormPublicForm.test.ts +1260 -0
  504. package/Tests/Server/Services/IncidentFormPublicSubmission.test.ts +2520 -0
  505. package/Tests/Server/Services/IncidentFormRegistration.test.ts +159 -0
  506. package/Tests/Server/Services/IncidentFormService.test.ts +663 -0
  507. package/Tests/Server/Services/IncidentFormSubmissionService.test.ts +430 -0
  508. package/Tests/Server/Services/IncidentFormSubmissionTemplateBranch.test.ts +473 -0
  509. package/Tests/Server/Services/IncidentGroupingTemplateSubstitution.test.ts +81 -0
  510. package/Tests/Server/Services/IncidentTemplateCustomFieldSettings.test.ts +262 -0
  511. package/Tests/Server/Services/IncidentTemplateOwnersOnDeclare.test.ts +566 -0
  512. package/Tests/Server/Services/IncidentTitleMarkdownSinks.test.ts +640 -0
  513. package/Tests/Server/Services/IncomingCallMissedCallNotificationService.test.ts +690 -0
  514. package/Tests/Server/Services/IncomingCallPolicyFindOwners.test.ts +287 -0
  515. package/Tests/Server/Services/InstrumentationTaskTrigger.test.ts +4 -3
  516. package/Tests/Server/Services/KubernetesClusterAiAccessAgentRunnerAssignments.test.ts +1 -1
  517. package/Tests/Server/Services/KubernetesClusterAiAccessDeletedRunnerRemedy.test.ts +2 -4
  518. package/Tests/Server/Services/KubernetesClusterAiAccessGapNextSteps.test.ts +26 -13
  519. package/Tests/Server/Services/KubernetesClusterAiAccessService.test.ts +180 -44
  520. package/Tests/Server/Services/KubernetesClusterAiAccessTarget.test.ts +14 -10
  521. package/Tests/Server/Services/LlmLogServiceTokenAggregateParams.test.ts +3 -3
  522. package/Tests/Server/Services/LogAggregationService.test.ts +101 -1
  523. package/Tests/Server/Services/McpOAuthClientService.test.ts +562 -0
  524. package/Tests/Server/Services/McpOAuthGrantService.test.ts +899 -0
  525. package/Tests/Server/Services/McpOAuthPostgres.test.ts +942 -0
  526. package/Tests/Server/Services/McpOAuthTokenService.test.ts +782 -0
  527. package/Tests/Server/Services/MessageQueueOwnerServices.test.ts +440 -0
  528. package/Tests/Server/Services/MessageQueueRegistries.test.ts +577 -0
  529. package/Tests/Server/Services/MessageQueueRuleEngines.test.ts +900 -0
  530. package/Tests/Server/Services/MessageQueueService.test.ts +2210 -0
  531. package/Tests/Server/Services/MessageQueueSqlPostgres.test.ts +1271 -0
  532. package/Tests/Server/Services/MonitorGroupServiceBatchedStatuses.test.ts +35 -1
  533. package/Tests/Server/Services/MonitorPayAsYouGoBilling.test.ts +35 -0
  534. package/Tests/Server/Services/MonitorSecretAccessPostgres.test.ts +883 -0
  535. package/Tests/Server/Services/MonitorSecretService.test.ts +1097 -0
  536. package/Tests/Server/Services/OnCallDutyPolicyArchive.test.ts +157 -0
  537. package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +28 -1
  538. package/Tests/Server/Services/OpenTelemetryRetentionOverrideEdition.test.ts +474 -0
  539. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +21 -0
  540. package/Tests/Server/Services/OwnerRowUniqueness.test.ts +3 -0
  541. package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +0 -1
  542. package/Tests/Server/Services/ProjectServiceNewProjectAiDefaults.test.ts +132 -82
  543. package/Tests/Server/Services/ResourceAiAccessService.test.ts +28 -14
  544. package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +56 -6
  545. package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +30 -1
  546. package/Tests/Server/Services/RunnerJobEnqueueKubectlAiAgent.test.ts +0 -2
  547. package/Tests/Server/Services/ScimPushGroupsTeamLocksEdition.test.ts +5 -0
  548. package/Tests/Server/Services/SsoRequirementReads.test.ts +454 -0
  549. package/Tests/Server/Services/SsoRequirementWrites.test.ts +529 -0
  550. package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +3 -3
  551. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +107 -89
  552. package/Tests/Server/Services/TeamComplianceSettingPostgres.test.ts +1068 -176
  553. package/Tests/Server/Services/TeamComplianceSettingService.test.ts +1962 -200
  554. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +13 -1
  555. package/Tests/Server/Services/TeamMemberInvitationAcceptancePostgres.test.ts +942 -0
  556. package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +6 -1
  557. package/Tests/Server/Services/TeamMemberProjectInvitationAcceptance.test.ts +1256 -0
  558. package/Tests/Server/Services/TeamMemberSeatLimitExistingMember.test.ts +498 -0
  559. package/Tests/Server/Services/UserNotificationSettingIncomingCallDefaults.test.ts +190 -0
  560. package/Tests/Server/Services/WorkflowIncomingEmailSecretKeyPostgres.test.ts +323 -0
  561. package/Tests/Server/Services/WorkflowService.test.ts +188 -0
  562. package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +654 -297
  563. package/Tests/Server/Types/Database/Permissions/RetentionOverrideColumns.test.ts +784 -0
  564. package/Tests/Server/Types/Database/Permissions/SsoScalePlanGate.test.ts +418 -0
  565. package/Tests/Server/Types/Workflow/Components/CustomCodeScriptError.test.ts +19 -20
  566. package/Tests/Server/Types/Workflow/Components/IfElse.test.ts +357 -66
  567. package/Tests/Server/Types/Workflow/Components/IncomingEmailTrigger.test.ts +670 -0
  568. package/Tests/Server/Types/Workflow/Components/TriggersSkipArchivedWorkflows.test.ts +257 -0
  569. package/Tests/Server/Utils/AI/AIAlertGating.test.ts +317 -185
  570. package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +47 -23
  571. package/Tests/Server/Utils/AI/AIInvestigationEngineRunLimits.test.ts +136 -0
  572. package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +148 -17
  573. package/Tests/Server/Utils/AI/AIMetaTools.test.ts +31 -0
  574. package/Tests/Server/Utils/AI/AgentContextCompactor.test.ts +351 -0
  575. package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +2 -0
  576. package/Tests/Server/Utils/AI/ArchivedResourcesInAITools.test.ts +622 -0
  577. package/Tests/Server/Utils/AI/ChatAgentRunnerSharedThread.test.ts +842 -0
  578. package/Tests/Server/Utils/AI/ChatRunCancellation.test.ts +195 -0
  579. package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +10 -57
  580. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +30 -1
  581. package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +5 -4
  582. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +202 -102
  583. package/Tests/Server/Utils/AI/Insights/InsightFixRouting.test.ts +1 -1
  584. package/Tests/Server/Utils/AI/Insights/InsightTriage.test.ts +1 -1
  585. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +101 -80
  586. package/Tests/Server/Utils/AI/InvestigationClusterAccessWiring.test.ts +225 -29
  587. package/Tests/Server/Utils/AI/InvestigationEligibility.test.ts +24 -0
  588. package/Tests/Server/Utils/AI/InvestigationInfrastructureAccessWiring.test.ts +266 -25
  589. package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +41 -5
  590. package/Tests/Server/Utils/AI/InvestigationThread.test.ts +580 -0
  591. package/Tests/Server/Utils/AI/InvestigationThreadService.test.ts +801 -0
  592. package/Tests/Server/Utils/AI/KubectlInvestigationToolkit.test.ts +525 -43
  593. package/Tests/Server/Utils/AI/KubectlJobRunner.test.ts +4 -2
  594. package/Tests/Server/Utils/AI/LLMServiceUnreachableProvider.test.ts +435 -0
  595. package/Tests/Server/Utils/AI/ObservabilityAssistantLimits.test.ts +462 -0
  596. package/Tests/Server/Utils/AI/OpenPullRequestCap.test.ts +62 -22
  597. package/Tests/Server/Utils/AI/RemediationCommandToolsLiveCluster.test.ts +14 -10
  598. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +219 -129
  599. package/Tests/Server/Utils/AI/RemediationExecutionRunnerEnableAiGate.test.ts +598 -0
  600. package/Tests/Server/Utils/AI/RemediationExecutionRunnerProjectGates.test.ts +94 -158
  601. package/Tests/Server/Utils/AI/RemediationExecutionRunnerResourceMode.test.ts +50 -66
  602. package/Tests/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.test.ts +297 -15
  603. package/Tests/Server/Utils/AI/ResourceAccess/ResourceAccessContext.test.ts +0 -4
  604. package/Tests/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.test.ts +10 -6
  605. package/Tests/Server/Utils/AI/ToolOutputPager.test.ts +382 -0
  606. package/Tests/Server/Utils/AI/ToolResultSerializer.test.ts +23 -4
  607. package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +25 -6
  608. package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +14 -3
  609. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +8 -1
  610. package/Tests/Server/Utils/EditionEnforcement.test.ts +107 -147
  611. package/Tests/Server/Utils/IncomingCall/MissedCallNotification.test.ts +555 -0
  612. package/Tests/Server/Utils/Mcp/McpDelegationToken.test.ts +677 -0
  613. package/Tests/Server/Utils/Mcp/McpOAuthConfig.test.ts +549 -0
  614. package/Tests/Server/Utils/Mcp/McpOAuthGrantAccess.test.ts +1476 -0
  615. package/Tests/Server/Utils/Mcp/McpOAuthSecret.test.ts +721 -0
  616. package/Tests/Server/Utils/Mcp/McpOAuthSignedToken.test.ts +1042 -0
  617. package/Tests/Server/Utils/Mcp/McpOAuthSso.test.ts +1399 -0
  618. package/Tests/Server/Utils/Monitor/GeneratedInboundAddressRedaction.test.ts +109 -0
  619. package/Tests/Server/Utils/Monitor/MonitorPauseFlagsGuard.test.ts +237 -0
  620. package/Tests/Server/Utils/Monitor/MonitorResourceArchived.test.ts +165 -0
  621. package/Tests/Server/Utils/{CommunityEditionSsoReport.test.ts → RelaxedScimTeamLocksReport.test.ts} +212 -208
  622. package/Tests/Server/Utils/SameOriginRequest.test.ts +372 -0
  623. package/Tests/Server/Utils/Telemetry/DatabaseEndpointDiscovery.test.ts +262 -0
  624. package/Tests/Server/Utils/Telemetry/EntityRegistry.test.ts +20 -0
  625. package/Tests/Server/Utils/Telemetry/MessageQueueDiscovery.test.ts +2590 -0
  626. package/Tests/Server/Utils/Telemetry/MessageQueueSpanQueryTwin.ts +246 -0
  627. package/Tests/Server/Utils/Telemetry/ServiceDependencyDiscovery.test.ts +976 -77
  628. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +23 -0
  629. package/Tests/Server/Utils/Topology/TopologyConcurrencyLimiter.test.ts +94 -39
  630. package/Tests/Server/Utils/Workspace/ArchivedOnCallPoliciesNotOffered.test.ts +133 -0
  631. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.test.ts +10 -3
  632. package/Tests/Types/AI/AIAgentRunLimits.test.ts +255 -0
  633. package/Tests/Types/AI/AIWorkloadLimits.test.ts +101 -0
  634. package/Tests/Types/BaseDatabase/ReadOnlyCredential.test.ts +931 -0
  635. package/Tests/Types/Call/CallProvider.test.ts +54 -1
  636. package/Tests/Types/Code/JsonSyntax.test.ts +1300 -0
  637. package/Tests/Types/CustomField/CustomFieldCreateSettings.test.ts +1113 -0
  638. package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +91 -0
  639. package/Tests/Types/CustomField/CustomFieldValueValidator.test.ts +30 -0
  640. package/Tests/Types/DatabaseServer/DatabaseEndpoint.test.ts +227 -1
  641. package/Tests/Types/Incident/IncidentFormIpAllowlist.test.ts +227 -0
  642. package/Tests/Types/Incident/IncidentFormPublic.test.ts +1916 -0
  643. package/Tests/Types/IncomingCall/MissedIncomingCall.test.ts +137 -0
  644. package/Tests/Types/Kubernetes/KubernetesAiAgentAccessContract.test.ts +23 -0
  645. package/Tests/Types/Mcp/McpOAuthScope.test.ts +491 -0
  646. package/Tests/Types/MessageQueue/MessageQueueEntityKey.test.ts +916 -0
  647. package/Tests/Types/MessageQueue/MessageQueueIdentity.test.ts +567 -0
  648. package/Tests/Types/MessageQueue/MessageQueueManualIdentity.test.ts +686 -0
  649. package/Tests/Types/MessageQueue/MessageQueueMetricCatalog.test.ts +1726 -0
  650. package/Tests/Types/MessageQueue/MessageQueueMetricResolution.test.ts +1758 -0
  651. package/Tests/Types/MessageQueue/MessagingInstrumentationFixtures.test.ts +4686 -0
  652. package/Tests/Types/MessageQueue/MessagingSystem.test.ts +840 -0
  653. package/Tests/Types/MessageQueue/MessagingTelemetryFixtures.ts +3287 -0
  654. package/Tests/Types/MessageQueue/MessagingTelemetryResolver.test.ts +2966 -0
  655. package/Tests/Types/Monitor/MessageQueueAlertTemplates.test.ts +5401 -0
  656. package/Tests/Types/Monitor/MetricEngineFold.ts +154 -0
  657. package/Tests/Types/Monitor/MonitorSecretAccess.test.ts +347 -0
  658. package/Tests/Types/NotificationSetting/IncomingCallMissedNotificationEvent.test.ts +77 -0
  659. package/Tests/Types/NotificationSetting/NotificationEmailRollupPolicy.test.ts +5 -5
  660. package/Tests/Types/ResourceAiAgent/ResourceAiAccess.test.ts +5 -3
  661. package/Tests/Types/Team/ComplianceRule.test.ts +588 -37
  662. package/Tests/Types/Team/TeamComplianceStatus.test.ts +64 -11
  663. package/Tests/Types/Workflow/BaseModelComponents.test.ts +56 -50
  664. package/Tests/Types/Workflow/ComponentDocumentation.test.ts +1396 -0
  665. package/Tests/Types/Workflow/Components/BaseModelWriteSteps.test.ts +158 -0
  666. package/Tests/Types/Workflow/Components/JSON.test.ts +6 -2
  667. package/Tests/Types/Workflow/ConditionEvaluation.test.ts +793 -0
  668. package/Tests/Types/Workflow/DocumentationText.test.ts +169 -0
  669. package/Tests/Types/Workflow/IncomingEmailTrigger.test.ts +446 -0
  670. package/Tests/Types/Workflow/IncomingEmailTriggerDocumentation.test.ts +174 -0
  671. package/Tests/Types/Workflow/StepSamples.test.ts +846 -0
  672. package/Tests/Types/Workflow/StepTrace.test.ts +128 -0
  673. package/Tests/Types/Workflow/StepTraceValueSample.test.ts +205 -0
  674. package/Tests/Types/Workflow/SystemColumns.test.ts +114 -0
  675. package/Tests/Types/Workflow/Templates.test.ts +345 -0
  676. package/Tests/Types/Workflow/WebhookTrigger.test.ts +221 -0
  677. package/Tests/Types/Workflow/WorkflowEnabled.test.ts +107 -0
  678. package/Tests/Types/Workspace/NotificationRuleValidationHalves.test.ts +217 -0
  679. package/Tests/Types/XML.test.ts +51 -0
  680. package/Tests/UI/Components/ActionButton/RowActionsTrigger.test.tsx +748 -0
  681. package/Tests/UI/Components/BasicFormModalSteps.test.tsx +113 -0
  682. package/Tests/UI/Components/BulkUpdateFormConfirmDetails.test.tsx +148 -0
  683. package/Tests/UI/Components/Button.test.tsx +52 -13
  684. package/Tests/UI/Components/Card.test.tsx +211 -2
  685. package/Tests/UI/Components/CodeEditor/CodeEditor.test.tsx +2362 -0
  686. package/Tests/UI/Components/CodeEditor/CodeEditorCommands.test.ts +810 -0
  687. package/Tests/UI/Components/CodeEditor/CodeEditorHighlight.test.ts +338 -0
  688. package/Tests/UI/Components/CodeEditor/CodeEditorLanguages.test.ts +222 -0
  689. package/Tests/UI/Components/CodeEditor/CodeEditorStyles.test.ts +807 -0
  690. package/Tests/UI/Components/CodeEditor/CodeEditorToolbarActions.test.tsx +121 -0
  691. package/Tests/UI/Components/CodeEditor/NoMonaco.test.ts +245 -0
  692. package/Tests/UI/Components/CodeEditor/YamlEditor.test.tsx +729 -0
  693. package/Tests/UI/Components/CollapsibleSection.test.tsx +152 -0
  694. package/Tests/UI/Components/ComponentsModal.test.tsx +555 -930
  695. package/Tests/UI/Components/ComponentsModalUsability.test.tsx +279 -401
  696. package/Tests/UI/Components/ConfirmModal.test.tsx +195 -0
  697. package/Tests/UI/Components/CopyTextButton.test.tsx +76 -0
  698. package/Tests/UI/Components/DeleteConfirmation/DeleteConfirmation.test.tsx +524 -0
  699. package/Tests/UI/Components/Detail/DropdownColors.test.tsx +11 -9
  700. package/Tests/UI/Components/Detail/EntityFields.test.tsx +10 -4
  701. package/Tests/UI/Components/DictionaryRenderTextValueInput.test.tsx +94 -0
  702. package/Tests/UI/Components/Dropdown/DropdownValueBadge.test.tsx +79 -10
  703. package/Tests/UI/Components/EditionLabelLapseCopy.ts +51 -14
  704. package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +131 -23
  705. package/Tests/UI/Components/ErrorMessageAction.test.tsx +142 -0
  706. package/Tests/UI/Components/FacetSidebarInScope.test.tsx +459 -0
  707. package/Tests/UI/Components/FacetValuesInScope.test.ts +270 -0
  708. package/Tests/UI/Components/Forms/BasicFormSubmitAllSteps.test.tsx +293 -0
  709. package/Tests/UI/Components/Forms/FormFieldCheckboxTranslation.test.tsx +14 -12
  710. package/Tests/UI/Components/Forms/FormFieldCodeEditors.test.tsx +294 -0
  711. package/Tests/UI/Components/Forms/FormFieldCustomElementLabel.test.tsx +156 -0
  712. package/Tests/UI/Components/Forms/FormFieldDictionaryError.test.tsx +198 -0
  713. package/Tests/UI/Components/Forms/FormFieldLongText.test.tsx +200 -0
  714. package/Tests/UI/Components/Forms/FormFieldMarkdown.test.tsx +126 -0
  715. package/Tests/UI/Components/Forms/FormFieldToggleRow.test.tsx +388 -0
  716. package/Tests/UI/Components/Forms/FormFieldYaml.test.tsx +22 -75
  717. package/Tests/UI/Components/Forms/LongFormStepsGuard.test.ts +586 -0
  718. package/Tests/UI/Components/Forms/ModelFormFormOnlyFields.test.tsx +254 -0
  719. package/Tests/UI/Components/Forms/ModelFormOnBeforeCreateMiscData.test.tsx +254 -0
  720. package/Tests/UI/Components/Forms/OverloadedFormStepsGuard.test.ts +505 -0
  721. package/Tests/UI/Components/Forms/ValidationRequiredWhen.test.ts +122 -0
  722. package/Tests/UI/Components/Icon.test.tsx +75 -0
  723. package/Tests/UI/Components/Input.test.tsx +31 -0
  724. package/Tests/UI/Components/LockedFilterChipScope.test.tsx +501 -0
  725. package/Tests/UI/Components/MarkdownConverters.test.ts +253 -1
  726. package/Tests/UI/Components/MarkdownEditor.test.tsx +2785 -2
  727. package/Tests/UI/Components/MarkdownEditorHistory.test.ts +243 -0
  728. package/Tests/UI/Components/MarkdownListEditing.test.ts +1118 -0
  729. package/Tests/UI/Components/MarkdownPaste.test.ts +1180 -0
  730. package/Tests/UI/Components/MarkdownViewerCopy.test.tsx +466 -0
  731. package/Tests/UI/Components/MarkdownVisualEditing.test.ts +1089 -0
  732. package/Tests/UI/Components/Modal.test.tsx +495 -1
  733. package/Tests/UI/Components/ModalSecondaryButton.test.tsx +122 -0
  734. package/Tests/UI/Components/ModelCardPermissionGating.test.tsx +13 -9
  735. package/Tests/UI/Components/ModelDelete.test.tsx +7 -0
  736. package/Tests/UI/Components/ModelDeleteNames.test.tsx +784 -0
  737. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +9 -2
  738. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteConfirmation.test.tsx +4 -1
  739. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteNames.test.tsx +573 -0
  740. package/Tests/UI/Components/ModelTable/BaseModelTableEmptyStateAction.test.tsx +644 -0
  741. package/Tests/UI/Components/ModelTable/BaseModelTableRowActions.test.tsx +6 -3
  742. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +20 -14
  743. package/Tests/UI/Components/NavBar.test.tsx +45 -0
  744. package/Tests/UI/Components/Pill.test.tsx +369 -50
  745. package/Tests/UI/Components/PillColors.test.ts +524 -0
  746. package/Tests/UI/Components/ResetObjectID.test.tsx +282 -0
  747. package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
  748. package/Tests/UI/Components/SideMenu.test.tsx +461 -0
  749. package/Tests/UI/Components/SideMenuSection.test.tsx +200 -0
  750. package/Tests/UI/Components/SideMenuSectionState.test.tsx +362 -0
  751. package/Tests/UI/Components/SteppedEditFormSave.test.tsx +499 -0
  752. package/Tests/UI/Components/Table/EmptyTableMessage.test.ts +439 -0
  753. package/Tests/UI/Components/Table/TableEmptyState.test.tsx +352 -0
  754. package/Tests/UI/Components/TableRowActions.test.tsx +110 -0
  755. package/Tests/UI/Components/TableRowMobileTitles.test.tsx +78 -0
  756. package/Tests/UI/Components/TextArea.test.tsx +19 -0
  757. package/Tests/UI/Components/TextAreaAutoGrow.test.tsx +387 -0
  758. package/Tests/UI/Components/Toggle.test.tsx +846 -6
  759. package/Tests/UI/Components/ToggleUsageGuard.test.ts +274 -0
  760. package/Tests/UI/Components/Workflow/ArgumentInputTypes.test.ts +710 -0
  761. package/Tests/UI/Components/Workflow/ArgumentsForm.test.tsx +934 -0
  762. package/Tests/UI/Components/Workflow/ArgumentsFormAdvancedSettings.test.tsx +207 -0
  763. package/Tests/UI/Components/Workflow/BreakableCode.test.tsx +153 -0
  764. package/Tests/UI/Components/Workflow/ColumnEditor/AddColumnPicker.test.tsx +685 -0
  765. package/Tests/UI/Components/Workflow/ColumnEditor/AddColumnPickerDarkMode.test.ts +252 -0
  766. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnControl.test.ts +207 -5
  767. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnPickerOptions.test.ts +570 -0
  768. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnUse.test.ts +248 -0
  769. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnValueInputLongText.test.tsx +90 -0
  770. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnValueInputValuePicker.test.tsx +282 -0
  771. package/Tests/UI/Components/Workflow/Component.test.tsx +465 -0
  772. package/Tests/UI/Components/Workflow/ComponentPicker/ComponentPickerDarkMode.test.ts +239 -0
  773. package/Tests/UI/Components/Workflow/ComponentPicker/ComponentPickerRealCatalog.test.tsx +399 -0
  774. package/Tests/UI/Components/Workflow/ComponentPicker/ComponentSearch.test.ts +660 -0
  775. package/Tests/UI/Components/Workflow/ComponentPicker/PickerCatalog.test.ts +352 -0
  776. package/Tests/UI/Components/Workflow/ComponentPicker/PickerFixtures.ts +240 -0
  777. package/Tests/UI/Components/Workflow/ComponentPortViewer.test.tsx +91 -0
  778. package/Tests/UI/Components/Workflow/ComponentReturnValueViewer.test.tsx +248 -0
  779. package/Tests/UI/Components/Workflow/ComponentSettingsDeleteConfirmation.test.tsx +245 -0
  780. package/Tests/UI/Components/Workflow/ComponentSettingsModal.test.tsx +1033 -0
  781. package/Tests/UI/Components/Workflow/ComponentSettingsModalDarkMode.test.ts +276 -0
  782. package/Tests/UI/Components/Workflow/ComponentSettingsModalDocumentation.test.tsx +478 -0
  783. package/Tests/UI/Components/Workflow/ComponentSettingsModalIncomingEmail.test.tsx +606 -0
  784. package/Tests/UI/Components/Workflow/ComponentSettingsModalLayout.test.tsx +478 -0
  785. package/Tests/UI/Components/Workflow/ComponentSettingsModalStepSamples.test.tsx +343 -0
  786. package/Tests/UI/Components/Workflow/ComponentSettingsModalValidity.test.tsx +223 -0
  787. package/Tests/UI/Components/Workflow/ComponentSettingsRunStepConfirmation.test.tsx +286 -0
  788. package/Tests/UI/Components/Workflow/Condition/ConditionCanvasCard.test.tsx +208 -0
  789. package/Tests/UI/Components/Workflow/Condition/ConditionEditor.test.tsx +906 -0
  790. package/Tests/UI/Components/Workflow/Condition/ConditionGraphLint.test.ts +204 -0
  791. package/Tests/UI/Components/Workflow/Condition/ConditionModel.test.ts +986 -0
  792. package/Tests/UI/Components/Workflow/CronScheduleFieldVariable.test.tsx +115 -0
  793. package/Tests/UI/Components/Workflow/DocumentationViewer.test.tsx +592 -0
  794. package/Tests/UI/Components/Workflow/GraphLintSummary.test.ts +467 -0
  795. package/Tests/UI/Components/Workflow/IncomingEmailTriggerPanel.test.tsx +865 -0
  796. package/Tests/UI/Components/Workflow/IncomingEmailTriggerPanelI18n.test.ts +164 -0
  797. package/Tests/UI/Components/Workflow/ModelColumnEditor.render.test.tsx +47 -48
  798. package/Tests/UI/Components/Workflow/ModelColumnEditorFieldLists.render.test.tsx +660 -0
  799. package/Tests/UI/Components/Workflow/ModelFieldPicker.test.tsx +230 -0
  800. package/Tests/UI/Components/Workflow/NodePlacement.test.ts +379 -1
  801. package/Tests/UI/Components/Workflow/StepTracePresentation.test.ts +705 -0
  802. package/Tests/UI/Components/Workflow/StepTraceViewer.test.tsx +1039 -35
  803. package/Tests/UI/Components/Workflow/StepTraceViewerDarkMode.test.ts +275 -0
  804. package/Tests/UI/Components/Workflow/UseRunWatch.test.tsx +131 -0
  805. package/Tests/UI/Components/Workflow/UseWorkflowEnabled.test.tsx +612 -0
  806. package/Tests/UI/Components/Workflow/ValuePicker/ArgumentControl.test.ts +80 -0
  807. package/Tests/UI/Components/Workflow/ValuePicker/InsertValueButton.test.tsx +114 -0
  808. package/Tests/UI/Components/Workflow/ValuePicker/NoPickThisValueLinks.test.ts +111 -0
  809. package/Tests/UI/Components/Workflow/ValuePicker/ReferenceDescription.test.ts +257 -0
  810. package/Tests/UI/Components/Workflow/ValuePicker/StepGraph.test.ts +271 -0
  811. package/Tests/UI/Components/Workflow/ValuePicker/StepSampleSource.test.ts +763 -0
  812. package/Tests/UI/Components/Workflow/ValuePicker/StepSampleSourceIncomingEmail.test.ts +234 -0
  813. package/Tests/UI/Components/Workflow/ValuePicker/StepValueSource.test.ts +366 -0
  814. package/Tests/UI/Components/Workflow/ValuePicker/TemplateText.test.ts +256 -0
  815. package/Tests/UI/Components/Workflow/ValuePicker/TemplateTextDom.test.ts +264 -0
  816. package/Tests/UI/Components/Workflow/ValuePicker/TemplateTextEditor.test.tsx +740 -0
  817. package/Tests/UI/Components/Workflow/ValuePicker/TemplateTextHistory.test.ts +139 -0
  818. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerContext.test.tsx +473 -0
  819. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerContextRefresh.test.tsx +444 -0
  820. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerDarkMode.test.ts +231 -0
  821. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerMenu.test.tsx +612 -0
  822. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerMenuSamples.test.tsx +784 -0
  823. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerPopupPosition.test.ts +113 -0
  824. package/Tests/UI/Components/Workflow/ValuePicker/ValuePickerTestUtils.tsx +171 -0
  825. package/Tests/UI/Components/Workflow/ValuePicker/ValueSingleField.test.tsx +350 -0
  826. package/Tests/UI/Components/Workflow/ValuePicker/ValueSuggestion.test.ts +377 -0
  827. package/Tests/UI/Components/Workflow/ValuePicker/ValueSuggestionSamples.test.ts +357 -0
  828. package/Tests/UI/Components/Workflow/ValuePicker/ValueTextField.test.tsx +430 -0
  829. package/Tests/UI/Components/Workflow/ValuePicker/VariableValueSource.test.ts +101 -0
  830. package/Tests/UI/Components/Workflow/WebhookTriggerPanel.test.tsx +833 -0
  831. package/Tests/UI/Components/Workflow/WebhookTriggerPanelI18n.test.ts +193 -0
  832. package/Tests/UI/Components/Workflow/Workflow.test.tsx +716 -86
  833. package/Tests/UI/Components/Workflow/WorkflowEnabledDarkMode.test.ts +178 -0
  834. package/Tests/UI/Components/Workflow/WorkflowEnabledI18n.test.tsx +319 -0
  835. package/Tests/UI/Components/Workflow/WorkflowEnabledSwitch.test.tsx +144 -0
  836. package/Tests/UI/Components/Workflow/WorkflowIncomingEmailSecretKey.test.ts +393 -0
  837. package/Tests/UI/Components/Workflow/WorkflowLogModal.test.tsx +598 -1
  838. package/Tests/UI/Components/Workflow/WorkflowRunExport.test.ts +750 -0
  839. package/Tests/UI/Components/Workflow/WorkflowRunExportActions.test.tsx +556 -0
  840. package/Tests/UI/Components/Workflow/WorkflowRunExportI18n.test.ts +200 -0
  841. package/Tests/UI/Components/Workflow/WorkflowStatusLabel.test.tsx +75 -0
  842. package/Tests/UI/Components/Workflow/WorkflowTurnOnModal.test.tsx +256 -0
  843. package/Tests/UI/Components/Workflow/WorkflowTurnedOffNotice.test.tsx +99 -0
  844. package/Tests/UI/Components/Workflow/WorkflowWebhookSecretKey.test.ts +422 -0
  845. package/Tests/UI/Components/fixtures/MarkdownPasteFixtures.ts +460 -0
  846. package/Tests/UI/DeleteConfirmationNamesGuard.test.ts +643 -0
  847. package/Tests/UI/DialogActionRules.test.ts +716 -0
  848. package/Tests/UI/DialogPrimaryActionGuard.test.ts +528 -0
  849. package/Tests/UI/EsbuildConfig.test.ts +115 -39
  850. package/Tests/UI/EsbuildEnterpriseAlias.test.ts +4 -4
  851. package/Tests/UI/Monitor/MonitorLogSummaryRender.test.tsx +377 -0
  852. package/Tests/UI/Styles/PillDarkTheme.test.tsx +177 -0
  853. package/Tests/UI/Styles/ToggleTheme.test.ts +685 -0
  854. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +98 -3
  855. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +20 -2
  856. package/Tests/UI/Utils/McpOAuthPendingAuthorization.test.ts +825 -0
  857. package/Tests/UI/Utils/McpOAuthPendingAuthorizationHttps.test.ts +88 -0
  858. package/Tests/UI/Utils/ModelDisplayName.test.ts +450 -0
  859. package/Tests/UI/Utils/TranslateTemplate.test.ts +149 -0
  860. package/Tests/Utils/AiRemediation/KubectlWriteScopeParityCases.ts +1 -1
  861. package/Tests/Utils/DeveloperDocs/AiAssistantExamples.test.ts +228 -0
  862. package/Tests/Utils/DeveloperDocs/ApiExamples.test.ts +252 -0
  863. package/Tests/Utils/DeveloperDocs/Hcl.test.ts +358 -0
  864. package/Tests/Utils/DeveloperDocs/HclTestValue.ts +56 -0
  865. package/Tests/Utils/DeveloperDocs/TerraformConfig.test.ts +590 -0
  866. package/Tests/Utils/DeveloperDocs/TerraformMonitorSteps.test.ts +608 -0
  867. package/Tests/Utils/DeveloperDocs/TerraformProviderSchemaContract.test.ts +250 -0
  868. package/Tests/Utils/DeveloperDocs/TerraformSchema.test.ts +284 -0
  869. package/Tests/Utils/Email/EmailAddressList.test.ts +149 -0
  870. package/Tests/Utils/LabelRuleImportExport.test.ts +5 -0
  871. package/Tests/Utils/Markdown/DashboardMarkdownRenderer.ts +81 -0
  872. package/Tests/Utils/Markdown/UntrustedMarkdown.test.ts +1339 -0
  873. package/Tests/Utils/Monitor/IncomingEmailMonitorAddress.test.ts +131 -0
  874. package/Tests/Utils/Monitor/MonitorLogSummaryUtil.test.ts +862 -0
  875. package/Tests/Utils/Monitor/MonitorOverviewArchived.test.ts +266 -0
  876. package/Tests/Utils/Monitor/MonitorPauseState.test.ts +143 -0
  877. package/Tests/Utils/Rum/SessionIdentity.test.ts +146 -0
  878. package/Tests/Utils/StatusPage/ArchivedMonitorResources.test.ts +99 -0
  879. package/Types/AI/AIAgentRunLimits.ts +146 -0
  880. package/Types/AI/AIRunType.ts +7 -6
  881. package/Types/AI/AIWorkloadLimits.ts +82 -0
  882. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -2
  883. package/Types/AnalyticsDatabase/RetentionTtl.ts +57 -0
  884. package/Types/BaseDatabase/DatabaseCommonInteractionProps.ts +21 -0
  885. package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +24 -0
  886. package/Types/BaseDatabase/EnableWorkflowOn.ts +8 -0
  887. package/Types/Call/CallProvider.ts +7 -0
  888. package/Types/Code/CodeType.ts +2 -0
  889. package/Types/Code/JsonSyntax.ts +923 -0
  890. package/Types/CustomField/CustomFieldCreateSettings.ts +549 -0
  891. package/Types/CustomField/CustomFieldMappingCatalog.ts +77 -0
  892. package/Types/CustomField/CustomFieldValueValidator.ts +10 -7
  893. package/Types/Database/TableMetadata.ts +10 -0
  894. package/Types/DatabaseServer/DatabaseEndpoint.ts +43 -0
  895. package/Types/Email/EmailTemplateType.ts +2 -0
  896. package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +1 -1
  897. package/Types/Exception/ExceptionMessages.ts +1 -0
  898. package/Types/Icon/IconProp.ts +2 -0
  899. package/Types/Incident/IncidentFormIpAllowlist.ts +206 -0
  900. package/Types/Incident/IncidentFormPublic.ts +1145 -0
  901. package/Types/IncomingCall/MissedIncomingCall.ts +72 -0
  902. package/Types/Kubernetes/KubernetesClusterAiAccess.ts +15 -3
  903. package/Types/Mcp/McpOAuthClientAuthMethod.ts +17 -0
  904. package/Types/Mcp/McpOAuthScope.ts +180 -0
  905. package/Types/Mcp/McpOAuthTicket.ts +21 -0
  906. package/Types/Mcp/McpOAuthTokenType.ts +18 -0
  907. package/Types/MessageQueue/MessageQueueIdentity.ts +256 -0
  908. package/Types/MessageQueue/MessageQueueManualIdentity.ts +325 -0
  909. package/Types/MessageQueue/MessageQueueMetricCatalog.ts +1357 -0
  910. package/Types/MessageQueue/MessagingSystem.ts +518 -0
  911. package/Types/MessageQueue/MessagingTelemetryResolver.ts +2311 -0
  912. package/Types/Monitor/MessageQueueAlertTemplates.ts +2128 -0
  913. package/Types/Monitor/MonitorSecretAccess.ts +185 -0
  914. package/Types/NotificationSetting/NotificationEmailRollupCategory.ts +13 -2
  915. package/Types/NotificationSetting/NotificationEmailRollupPolicy.ts +1 -1
  916. package/Types/NotificationSetting/NotificationSettingEventType.ts +3 -0
  917. package/Types/OnCallDutyPolicy/OnCallDutyPolicyArchive.ts +19 -0
  918. package/Types/Permission.ts +354 -0
  919. package/Types/ResourceAiAgent/ResourceAiAccess.ts +17 -6
  920. package/Types/Rules/RuleCriteriaFieldRegistry.ts +12 -0
  921. package/Types/Rules/RuleRun.ts +4 -0
  922. package/Types/StatusPage/StatusPageArchive.ts +20 -0
  923. package/Types/Team/ComplianceNotificationChannel.ts +4 -3
  924. package/Types/Team/ComplianceRule.ts +71 -18
  925. package/Types/Team/ComplianceRuleType.ts +2 -2
  926. package/Types/Team/TeamComplianceStatus.ts +6 -2
  927. package/Types/Telemetry/EntityType.ts +16 -0
  928. package/Types/Telemetry/LockedFilterDetail.ts +22 -0
  929. package/Types/Workflow/Component.ts +61 -2
  930. package/Types/Workflow/ComponentID.ts +1 -0
  931. package/Types/Workflow/Components/AI.ts +2 -4
  932. package/Types/Workflow/Components/API.ts +46 -26
  933. package/Types/Workflow/Components/BaseModel.ts +28 -37
  934. package/Types/Workflow/Components/Condition.ts +82 -30
  935. package/Types/Workflow/Components/ConditionComparison.ts +348 -0
  936. package/Types/Workflow/Components/ConditionEvaluation.ts +438 -0
  937. package/Types/Workflow/Components/Email.ts +1 -1
  938. package/Types/Workflow/Components/IncomingEmail.ts +140 -0
  939. package/Types/Workflow/Components/JSON.ts +11 -3
  940. package/Types/Workflow/Components/JavaScript.ts +0 -2
  941. package/Types/Workflow/Components/Manual.ts +2 -3
  942. package/Types/Workflow/Components/Schedule.ts +1 -2
  943. package/Types/Workflow/Components/Slack.ts +12 -4
  944. package/Types/Workflow/Components/Sleep.ts +4 -4
  945. package/Types/Workflow/Components/Webhook.ts +5 -7
  946. package/Types/Workflow/Components.ts +4 -2
  947. package/Types/Workflow/DatabaseOperation.ts +67 -0
  948. package/Types/Workflow/Documentation/AIDocumentation.ts +94 -0
  949. package/Types/Workflow/Documentation/APIDocumentation.ts +94 -0
  950. package/Types/Workflow/Documentation/ComponentDocumentation.ts +92 -0
  951. package/Types/Workflow/Documentation/DatabaseDocumentation.ts +666 -0
  952. package/Types/Workflow/Documentation/DocumentationContext.ts +245 -0
  953. package/Types/Workflow/Documentation/DocumentationLinks.ts +117 -0
  954. package/Types/Workflow/Documentation/DocumentationText.ts +141 -0
  955. package/Types/Workflow/Documentation/Index.ts +114 -0
  956. package/Types/Workflow/Documentation/MessagingDocumentation.ts +316 -0
  957. package/Types/Workflow/Documentation/ModelExamples.ts +333 -0
  958. package/Types/Workflow/Documentation/TriggerDocumentation.ts +217 -0
  959. package/Types/Workflow/Documentation/UtilityDocumentation.ts +338 -0
  960. package/Types/Workflow/IncomingEmailTrigger.ts +384 -0
  961. package/Types/Workflow/StepSamples.ts +965 -0
  962. package/Types/Workflow/StepTrace.ts +311 -6
  963. package/Types/Workflow/SystemColumns.ts +84 -0
  964. package/Types/Workflow/Templates.ts +279 -2
  965. package/Types/Workflow/WebhookTrigger.ts +87 -0
  966. package/Types/Workflow/WorkflowArchive.ts +45 -0
  967. package/Types/Workflow/WorkflowEnabled.ts +51 -0
  968. package/Types/Workflow/WorkflowStatus.ts +36 -0
  969. package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +32 -2
  970. package/Types/XML.ts +26 -0
  971. package/UI/Components/ActionButton/RowActions.tsx +8 -5
  972. package/UI/Components/ActionCard/ActionCard.tsx +22 -2
  973. package/UI/Components/BulkUpdate/BulkLabelActions.tsx +1 -0
  974. package/UI/Components/BulkUpdate/BulkOwnerActions.tsx +1 -0
  975. package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +6 -0
  976. package/UI/Components/Button/Button.tsx +19 -11
  977. package/UI/Components/Card/Card.tsx +64 -19
  978. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +1 -4
  979. package/UI/Components/CodeEditor/CodeEditor.css +379 -0
  980. package/UI/Components/CodeEditor/CodeEditor.tsx +1197 -294
  981. package/UI/Components/CodeEditor/CodeEditorCommands.ts +774 -0
  982. package/UI/Components/CodeEditor/CodeEditorHighlight.ts +106 -0
  983. package/UI/Components/CodeEditor/CodeEditorLanguages.ts +164 -0
  984. package/UI/Components/CodeEditor/YamlEditor.tsx +28 -326
  985. package/UI/Components/CollapsibleSection/CollapsibleSection.tsx +19 -3
  986. package/UI/Components/CopyTextButton/CopyTextButton.tsx +5 -1
  987. package/UI/Components/CustomFields/CustomFieldModelFormFields.tsx +6 -25
  988. package/UI/Components/DeleteConfirmation/DeleteConfirmationMessage.tsx +175 -0
  989. package/UI/Components/DeleteConfirmation/DeleteItemNames.tsx +71 -0
  990. package/UI/Components/DeleteConfirmation/NamedSentence.tsx +55 -0
  991. package/UI/Components/DeleteConfirmation/TypeToConfirmDelete.tsx +90 -0
  992. package/UI/Components/Dictionary/Dictionary.tsx +31 -1
  993. package/UI/Components/Dropdown/DropdownValueBadge.tsx +21 -13
  994. package/UI/Components/EditionLabel/EditionLabel.tsx +20 -14
  995. package/UI/Components/Error/PageError.tsx +1 -1
  996. package/UI/Components/ErrorMessage/ErrorMessage.tsx +11 -1
  997. package/UI/Components/EventItem/EventItem.tsx +1 -11
  998. package/UI/Components/FormModal/BasicFormModal.tsx +23 -0
  999. package/UI/Components/Forms/BasicForm.tsx +188 -78
  1000. package/UI/Components/Forms/BasicModelForm.tsx +2 -0
  1001. package/UI/Components/Forms/Fields/FormField.tsx +78 -5
  1002. package/UI/Components/Forms/ModelForm.tsx +8 -0
  1003. package/UI/Components/Forms/Steps/Step.tsx +29 -6
  1004. package/UI/Components/Forms/Steps/Steps.tsx +10 -0
  1005. package/UI/Components/Forms/Types/Field.ts +49 -1
  1006. package/UI/Components/Forms/Validation.ts +18 -4
  1007. package/UI/Components/Icon/Icon.tsx +25 -2
  1008. package/UI/Components/Input/Input.tsx +11 -4
  1009. package/UI/Components/Label/Label.tsx +0 -2
  1010. package/UI/Components/LabelRule/ImportLabelRulesModal.tsx +1 -2
  1011. package/UI/Components/LogsViewer/LogsViewer.tsx +4 -0
  1012. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +21 -3
  1013. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  1014. package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +877 -79
  1015. package/UI/Components/Markdown.tsx/MarkdownEditorHistory.ts +284 -0
  1016. package/UI/Components/Markdown.tsx/MarkdownListEditing.ts +1362 -0
  1017. package/UI/Components/Markdown.tsx/MarkdownPaste.ts +1326 -0
  1018. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +114 -10
  1019. package/UI/Components/Markdown.tsx/MarkdownVisualEditing.ts +1032 -0
  1020. package/UI/Components/Modal/ConfirmModal.tsx +39 -8
  1021. package/UI/Components/Modal/Modal.tsx +136 -10
  1022. package/UI/Components/Modal/ModalFooter.tsx +28 -10
  1023. package/UI/Components/ModelDelete/ModelDelete.tsx +168 -6
  1024. package/UI/Components/ModelFormModal/ModelFormModal.tsx +47 -9
  1025. package/UI/Components/ModelTable/BaseModelTable.tsx +140 -95
  1026. package/UI/Components/ModelTable/TableView.tsx +14 -2
  1027. package/UI/Components/MonitorTemplateVariables/TemplateVariablesModal.tsx +1 -2
  1028. package/UI/Components/Navbar/NavBar.tsx +3 -2
  1029. package/UI/Components/Pill/Pill.tsx +53 -43
  1030. package/UI/Components/Pill/PillColors.ts +464 -0
  1031. package/UI/Components/ResetObjectID/ResetObjectID.tsx +35 -9
  1032. package/UI/Components/RuleRun/RunRuleNowModal.tsx +6 -0
  1033. package/UI/Components/SideMenu/SideMenu.tsx +136 -12
  1034. package/UI/Components/SideMenu/SideMenuSection.tsx +43 -4
  1035. package/UI/Components/SideMenu/SideMenuSectionState.ts +200 -0
  1036. package/UI/Components/Table/EmptyTableMessage.ts +81 -0
  1037. package/UI/Components/Table/Table.tsx +50 -21
  1038. package/UI/Components/Table/TableRow.tsx +9 -1
  1039. package/UI/Components/TelemetryViewer/FacetVisibility.ts +97 -2
  1040. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +13 -0
  1041. package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +214 -7
  1042. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +21 -3
  1043. package/UI/Components/TextArea/TextArea.tsx +183 -5
  1044. package/UI/Components/Toggle/Toggle.tsx +256 -43
  1045. package/UI/Components/Workflow/ArgumentsForm.tsx +496 -359
  1046. package/UI/Components/Workflow/BreakableCode.tsx +88 -0
  1047. package/UI/Components/Workflow/ColumnEditor/AddColumnPicker.tsx +577 -0
  1048. package/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.tsx +20 -5
  1049. package/UI/Components/Workflow/ColumnEditor/ColumnControl.ts +63 -4
  1050. package/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.tsx +21 -4
  1051. package/UI/Components/Workflow/ColumnEditor/ColumnPickerOptions.ts +387 -0
  1052. package/UI/Components/Workflow/ColumnEditor/ColumnUse.ts +126 -0
  1053. package/UI/Components/Workflow/ColumnEditor/ColumnValueInput.tsx +151 -84
  1054. package/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.tsx +13 -9
  1055. package/UI/Components/Workflow/ColumnEditor/ModelRecordForm.tsx +36 -27
  1056. package/UI/Components/Workflow/Component.tsx +129 -12
  1057. package/UI/Components/Workflow/ComponentPicker/ComponentSearch.ts +1259 -0
  1058. package/UI/Components/Workflow/ComponentPicker/PickerCatalog.ts +419 -0
  1059. package/UI/Components/Workflow/ComponentPicker/PickerItems.tsx +300 -0
  1060. package/UI/Components/Workflow/ComponentPortViewer.tsx +24 -60
  1061. package/UI/Components/Workflow/ComponentPrimaryPanel.tsx +171 -0
  1062. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +67 -88
  1063. package/UI/Components/Workflow/ComponentSettingsModal.tsx +345 -105
  1064. package/UI/Components/Workflow/ComponentSettingsSection.tsx +103 -0
  1065. package/UI/Components/Workflow/ComponentsModal.tsx +958 -601
  1066. package/UI/Components/Workflow/Condition/ConditionEditor.tsx +484 -0
  1067. package/UI/Components/Workflow/Condition/ConditionModel.ts +785 -0
  1068. package/UI/Components/Workflow/CronScheduleField.tsx +53 -37
  1069. package/UI/Components/Workflow/DocumentationViewer.tsx +399 -118
  1070. package/UI/Components/Workflow/DownloadWorkflowRun.ts +137 -0
  1071. package/UI/Components/Workflow/GraphLint.ts +9 -1
  1072. package/UI/Components/Workflow/GraphLintSummary.ts +142 -2
  1073. package/UI/Components/Workflow/IncomingEmailTriggerPanel.tsx +502 -0
  1074. package/UI/Components/Workflow/ManualTriggerPanel.tsx +41 -0
  1075. package/UI/Components/Workflow/ModelColumnEditor.tsx +7 -10
  1076. package/UI/Components/Workflow/ModelFieldPicker.tsx +76 -14
  1077. package/UI/Components/Workflow/ModelSchema.ts +19 -24
  1078. package/UI/Components/Workflow/NodePlacement.ts +235 -1
  1079. package/UI/Components/Workflow/RunModal.tsx +1 -1
  1080. package/UI/Components/Workflow/StepTracePresentation.ts +537 -0
  1081. package/UI/Components/Workflow/StepTraceViewer.tsx +644 -83
  1082. package/UI/Components/Workflow/UseRunWatch.ts +17 -0
  1083. package/UI/Components/Workflow/UseWorkflowEnabled.ts +275 -0
  1084. package/UI/Components/Workflow/Utils.ts +119 -103
  1085. package/UI/Components/Workflow/ValuePicker/ArgumentControl.ts +146 -0
  1086. package/UI/Components/Workflow/ValuePicker/DefaultValueSources.ts +148 -0
  1087. package/UI/Components/Workflow/ValuePicker/InsertValueButton.tsx +116 -0
  1088. package/UI/Components/Workflow/ValuePicker/ReferenceChip.tsx +162 -0
  1089. package/UI/Components/Workflow/ValuePicker/ReferenceDescription.ts +303 -0
  1090. package/UI/Components/Workflow/ValuePicker/StepGraph.ts +240 -0
  1091. package/UI/Components/Workflow/ValuePicker/StepSampleSource.ts +537 -0
  1092. package/UI/Components/Workflow/ValuePicker/StepValueSource.ts +291 -0
  1093. package/UI/Components/Workflow/ValuePicker/TemplateText.ts +303 -0
  1094. package/UI/Components/Workflow/ValuePicker/TemplateTextDom.ts +563 -0
  1095. package/UI/Components/Workflow/ValuePicker/TemplateTextEditor.tsx +1233 -0
  1096. package/UI/Components/Workflow/ValuePicker/TemplateTextHistory.ts +138 -0
  1097. package/UI/Components/Workflow/ValuePicker/ValuePickerContext.tsx +529 -0
  1098. package/UI/Components/Workflow/ValuePicker/ValuePickerMenu.tsx +1003 -0
  1099. package/UI/Components/Workflow/ValuePicker/ValuePickerPopup.tsx +310 -0
  1100. package/UI/Components/Workflow/ValuePicker/ValueSingleField.tsx +274 -0
  1101. package/UI/Components/Workflow/ValuePicker/ValueSuggestion.ts +694 -0
  1102. package/UI/Components/Workflow/ValuePicker/ValueTextField.tsx +334 -0
  1103. package/UI/Components/Workflow/ValuePicker/VariableValueSource.ts +132 -0
  1104. package/UI/Components/Workflow/WebhookTriggerPanel.tsx +522 -0
  1105. package/UI/Components/Workflow/Workflow.tsx +381 -36
  1106. package/UI/Components/Workflow/WorkflowEnabledCopy.ts +55 -0
  1107. package/UI/Components/Workflow/WorkflowEnabledSwitch.tsx +44 -0
  1108. package/UI/Components/Workflow/WorkflowIncomingEmailSecretKey.ts +156 -0
  1109. package/UI/Components/Workflow/WorkflowLogModal.tsx +98 -17
  1110. package/UI/Components/Workflow/WorkflowRunExport.ts +435 -0
  1111. package/UI/Components/Workflow/WorkflowRunExportActions.tsx +242 -0
  1112. package/UI/Components/Workflow/WorkflowStatus.tsx +25 -26
  1113. package/UI/Components/Workflow/WorkflowTurnOnModal.tsx +119 -0
  1114. package/UI/Components/Workflow/WorkflowTurnedOffNotice.tsx +91 -0
  1115. package/UI/Components/Workflow/WorkflowWebhookSecretKey.ts +184 -0
  1116. package/UI/Styles/Theme.css +82 -3
  1117. package/UI/Utils/McpOAuthPendingAuthorization.ts +132 -0
  1118. package/UI/Utils/ModelDisplayName.ts +294 -0
  1119. package/UI/Utils/TranslateTemplate.ts +123 -0
  1120. package/UI/esbuild-config.js +2 -32
  1121. package/Utils/DeveloperDocs/AiAssistantExamples.ts +383 -0
  1122. package/Utils/DeveloperDocs/ApiExamples.ts +355 -0
  1123. package/Utils/DeveloperDocs/ExampleValues.ts +111 -0
  1124. package/Utils/DeveloperDocs/Hcl.ts +697 -0
  1125. package/Utils/DeveloperDocs/TerraformConfig.ts +805 -0
  1126. package/Utils/DeveloperDocs/TerraformMonitorSteps.ts +583 -0
  1127. package/Utils/DeveloperDocs/TerraformSchema.ts +565 -0
  1128. package/Utils/DeveloperDocs/TerraformValues.ts +375 -0
  1129. package/Utils/Email/EmailAddressList.ts +165 -0
  1130. package/Utils/LabelRuleImportExport.ts +2 -0
  1131. package/Utils/Markdown/UntrustedMarkdown.ts +1513 -0
  1132. package/Utils/ModelImportExport.ts +17 -0
  1133. package/Utils/Monitor/IncomingEmailMonitorAddress.ts +73 -4
  1134. package/Utils/Monitor/IncomingEmailMonitorRequestUtil.ts +41 -0
  1135. package/Utils/Monitor/MonitorLogSummaryUtil.ts +212 -0
  1136. package/Utils/Monitor/MonitorOverviewPresentationUtil.ts +27 -1
  1137. package/Utils/Monitor/MonitorPauseState.ts +90 -0
  1138. package/Utils/Rum/SessionIdentity.ts +88 -0
  1139. package/Utils/StatusPage/ArchivedMonitorResources.ts +38 -0
  1140. package/Utils/Telemetry/EntityKey.ts +48 -0
  1141. package/build/dist/Models/AnalyticsModels/AuditLog.js +56 -0
  1142. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  1143. package/build/dist/Models/AnalyticsModels/Log.js +26 -2
  1144. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  1145. package/build/dist/Models/AnalyticsModels/Metric.js +28 -2
  1146. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  1147. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +21 -2
  1148. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  1149. package/build/dist/Models/AnalyticsModels/SloHistory.js +6 -4
  1150. package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -1
  1151. package/build/dist/Models/DatabaseModels/AIConversation.js +125 -1
  1152. package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -1
  1153. package/build/dist/Models/DatabaseModels/AutoRemediationRule.js +1 -1
  1154. package/build/dist/Models/DatabaseModels/AutoRemediationRule.js.map +1 -1
  1155. package/build/dist/Models/DatabaseModels/CephCluster.js +12 -0
  1156. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  1157. package/build/dist/Models/DatabaseModels/CloudResource.js +12 -0
  1158. package/build/dist/Models/DatabaseModels/CloudResource.js.map +1 -1
  1159. package/build/dist/Models/DatabaseModels/CodeRepository.js +1 -1
  1160. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  1161. package/build/dist/Models/DatabaseModels/Dashboard.js +151 -1
  1162. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  1163. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +8 -0
  1164. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  1165. package/build/dist/Models/DatabaseModels/DatabaseServer.js +12 -0
  1166. package/build/dist/Models/DatabaseModels/DatabaseServer.js.map +1 -1
  1167. package/build/dist/Models/DatabaseModels/DatabaseServerEndpoint.js +1 -0
  1168. package/build/dist/Models/DatabaseModels/DatabaseServerEndpoint.js.map +1 -1
  1169. package/build/dist/Models/DatabaseModels/DockerHost.js +12 -0
  1170. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  1171. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +12 -0
  1172. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -1
  1173. package/build/dist/Models/DatabaseModels/EnterpriseLicense.js +2 -0
  1174. package/build/dist/Models/DatabaseModels/EnterpriseLicense.js.map +1 -1
  1175. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js +1 -0
  1176. package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js.map +1 -1
  1177. package/build/dist/Models/DatabaseModels/GlobalOidc.js +0 -4
  1178. package/build/dist/Models/DatabaseModels/GlobalOidc.js.map +1 -1
  1179. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +0 -4
  1180. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
  1181. package/build/dist/Models/DatabaseModels/GlobalSso.js +0 -4
  1182. package/build/dist/Models/DatabaseModels/GlobalSso.js.map +1 -1
  1183. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +0 -4
  1184. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
  1185. package/build/dist/Models/DatabaseModels/Host.js +12 -0
  1186. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  1187. package/build/dist/Models/DatabaseModels/IncidentForm.js +605 -0
  1188. package/build/dist/Models/DatabaseModels/IncidentForm.js.map +1 -0
  1189. package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js +299 -0
  1190. package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js.map +1 -0
  1191. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +60 -0
  1192. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  1193. package/build/dist/Models/DatabaseModels/IncomingCallLog.js +15 -1
  1194. package/build/dist/Models/DatabaseModels/IncomingCallLog.js.map +1 -1
  1195. package/build/dist/Models/DatabaseModels/Index.js +20 -0
  1196. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  1197. package/build/dist/Models/DatabaseModels/IoTFleet.js +12 -0
  1198. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
  1199. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +12 -0
  1200. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  1201. package/build/dist/Models/DatabaseModels/LlmModelPrice.js +1 -0
  1202. package/build/dist/Models/DatabaseModels/LlmModelPrice.js.map +1 -1
  1203. package/build/dist/Models/DatabaseModels/McpOAuthClient.js +215 -0
  1204. package/build/dist/Models/DatabaseModels/McpOAuthClient.js.map +1 -0
  1205. package/build/dist/Models/DatabaseModels/McpOAuthGrant.js +494 -0
  1206. package/build/dist/Models/DatabaseModels/McpOAuthGrant.js.map +1 -0
  1207. package/build/dist/Models/DatabaseModels/McpOAuthToken.js +256 -0
  1208. package/build/dist/Models/DatabaseModels/McpOAuthToken.js.map +1 -0
  1209. package/build/dist/Models/DatabaseModels/MessageQueue.js +1106 -0
  1210. package/build/dist/Models/DatabaseModels/MessageQueue.js.map +1 -0
  1211. package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js +562 -0
  1212. package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js.map +1 -0
  1213. package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js +643 -0
  1214. package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js.map +1 -0
  1215. package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js +506 -0
  1216. package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js.map +1 -0
  1217. package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js +505 -0
  1218. package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js.map +1 -0
  1219. package/build/dist/Models/DatabaseModels/Monitor.js +160 -1
  1220. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  1221. package/build/dist/Models/DatabaseModels/MonitorSecret.js +89 -1
  1222. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
  1223. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +1 -0
  1224. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -1
  1225. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +158 -1
  1226. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
  1227. package/build/dist/Models/DatabaseModels/PodmanHost.js +12 -0
  1228. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -1
  1229. package/build/dist/Models/DatabaseModels/Project.js +103 -102
  1230. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  1231. package/build/dist/Models/DatabaseModels/ProjectOidc.js +0 -4
  1232. package/build/dist/Models/DatabaseModels/ProjectOidc.js.map +1 -1
  1233. package/build/dist/Models/DatabaseModels/ProjectSso.js +0 -4
  1234. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  1235. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +12 -0
  1236. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  1237. package/build/dist/Models/DatabaseModels/RumApplication.js +12 -0
  1238. package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
  1239. package/build/dist/Models/DatabaseModels/ServerlessFunction.js +12 -0
  1240. package/build/dist/Models/DatabaseModels/ServerlessFunction.js.map +1 -1
  1241. package/build/dist/Models/DatabaseModels/Service.js +12 -0
  1242. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  1243. package/build/dist/Models/DatabaseModels/StatusPage.js +158 -1
  1244. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  1245. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +0 -4
  1246. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
  1247. package/build/dist/Models/DatabaseModels/StatusPageSso.js +0 -4
  1248. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  1249. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +49 -3
  1250. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
  1251. package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js +1 -0
  1252. package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js.map +1 -1
  1253. package/build/dist/Models/DatabaseModels/VMwareVCenter.js +12 -0
  1254. package/build/dist/Models/DatabaseModels/VMwareVCenter.js.map +1 -1
  1255. package/build/dist/Models/DatabaseModels/Workflow.js +230 -8
  1256. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  1257. package/build/dist/Server/API/AIAgentDataAPI.js +1 -1
  1258. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  1259. package/build/dist/Server/API/AIChatAPI.js +9 -103
  1260. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  1261. package/build/dist/Server/API/AIInvestigationAPI.js +3 -3
  1262. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  1263. package/build/dist/Server/API/AIInvestigationConversationAPI.js +162 -0
  1264. package/build/dist/Server/API/AIInvestigationConversationAPI.js.map +1 -0
  1265. package/build/dist/Server/API/AutoRemediationAPI.js +9 -31
  1266. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
  1267. package/build/dist/Server/API/CommonAPI.js +15 -0
  1268. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  1269. package/build/dist/Server/API/DashboardAPI.js +7 -3
  1270. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  1271. package/build/dist/Server/API/IncidentFormAPI.js +245 -0
  1272. package/build/dist/Server/API/IncidentFormAPI.js.map +1 -0
  1273. package/build/dist/Server/API/ProjectOIDC.js +16 -24
  1274. package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
  1275. package/build/dist/Server/API/ProjectSSO.js +16 -24
  1276. package/build/dist/Server/API/ProjectSSO.js.map +1 -1
  1277. package/build/dist/Server/API/StatusPageAPI.js +96 -88
  1278. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  1279. package/build/dist/Server/Enterprise/EnterpriseEdition.js +79 -25
  1280. package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -1
  1281. package/build/dist/Server/Enterprise/EnterpriseFeature.js +24 -3
  1282. package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -1
  1283. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +1 -1
  1284. package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -1
  1285. package/build/dist/Server/EnvironmentConfig.js +24 -1
  1286. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  1287. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js +63 -0
  1288. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js.map +1 -0
  1289. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js +41 -0
  1290. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js.map +1 -0
  1291. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js +40 -0
  1292. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js.map +1 -0
  1293. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js +183 -0
  1294. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js.map +1 -0
  1295. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796800000000-FoldAiSwitchesIntoEnableAi.js +79 -0
  1296. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796800000000-FoldAiSwitchesIntoEnableAi.js.map +1 -0
  1297. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796900000000-AddMcpOAuthTables.js +50 -0
  1298. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796900000000-AddMcpOAuthTables.js.map +1 -0
  1299. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797000000000-AddWorkflowIncomingEmailSecretKey.js +25 -0
  1300. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797000000000-AddWorkflowIncomingEmailSecretKey.js.map +1 -0
  1301. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797100000000-AddMonitorSecretAccess.js +32 -0
  1302. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797100000000-AddMonitorSecretAccess.js.map +1 -0
  1303. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797200000000-AddArchiveToMoreResources.js +76 -0
  1304. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1797200000000-AddArchiveToMoreResources.js.map +1 -0
  1305. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +18 -0
  1306. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  1307. package/build/dist/Server/Middleware/IncidentFormRateLimit.js +559 -0
  1308. package/build/dist/Server/Middleware/IncidentFormRateLimit.js.map +1 -0
  1309. package/build/dist/Server/Middleware/McpDelegationAuthorization.js +138 -0
  1310. package/build/dist/Server/Middleware/McpDelegationAuthorization.js.map +1 -0
  1311. package/build/dist/Server/Middleware/McpOAuthRateLimit.js +191 -0
  1312. package/build/dist/Server/Middleware/McpOAuthRateLimit.js.map +1 -0
  1313. package/build/dist/Server/Middleware/ProjectAuthorization.js +20 -1
  1314. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  1315. package/build/dist/Server/Middleware/UserAuthorization.js +22 -30
  1316. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  1317. package/build/dist/Server/Services/AIService.js +11 -14
  1318. package/build/dist/Server/Services/AIService.js.map +1 -1
  1319. package/build/dist/Server/Services/AnalyticsDatabaseService.js +15 -5
  1320. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  1321. package/build/dist/Server/Services/ApiKeyService.js +11 -8
  1322. package/build/dist/Server/Services/ApiKeyService.js.map +1 -1
  1323. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +19 -27
  1324. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
  1325. package/build/dist/Server/Services/AutoRemediationRuleService.js +1 -1
  1326. package/build/dist/Server/Services/AutoRemediationRuleService.js.map +1 -1
  1327. package/build/dist/Server/Services/DashboardService.js +7 -2
  1328. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  1329. package/build/dist/Server/Services/DatabaseServerService.js +161 -1
  1330. package/build/dist/Server/Services/DatabaseServerService.js.map +1 -1
  1331. package/build/dist/Server/Services/DatabaseService.js +28 -17
  1332. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  1333. package/build/dist/Server/Services/InboundEmail/InboundEmailProvider.js +17 -0
  1334. package/build/dist/Server/Services/InboundEmail/InboundEmailProvider.js.map +1 -1
  1335. package/build/dist/Server/Services/InboundEmail/Providers/SendGridInboundProvider.js +45 -5
  1336. package/build/dist/Server/Services/InboundEmail/Providers/SendGridInboundProvider.js.map +1 -1
  1337. package/build/dist/Server/Services/IncidentCustomFieldService.js +83 -0
  1338. package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
  1339. package/build/dist/Server/Services/IncidentEpisodeMemberService.js +8 -4
  1340. package/build/dist/Server/Services/IncidentEpisodeMemberService.js.map +1 -1
  1341. package/build/dist/Server/Services/IncidentEpisodeService.js +10 -1
  1342. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  1343. package/build/dist/Server/Services/IncidentFormService.js +1202 -0
  1344. package/build/dist/Server/Services/IncidentFormService.js.map +1 -0
  1345. package/build/dist/Server/Services/IncidentFormSubmissionService.js +91 -0
  1346. package/build/dist/Server/Services/IncidentFormSubmissionService.js.map +1 -0
  1347. package/build/dist/Server/Services/IncidentGroupingEngineService.js +20 -8
  1348. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  1349. package/build/dist/Server/Services/IncidentService.js +106 -4
  1350. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  1351. package/build/dist/Server/Services/IncidentTemplateService.js +18 -0
  1352. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  1353. package/build/dist/Server/Services/IncomingCallMissedCallNotificationService.js +227 -0
  1354. package/build/dist/Server/Services/IncomingCallMissedCallNotificationService.js.map +1 -0
  1355. package/build/dist/Server/Services/IncomingCallPolicyService.js +97 -0
  1356. package/build/dist/Server/Services/IncomingCallPolicyService.js.map +1 -1
  1357. package/build/dist/Server/Services/Index.js +22 -0
  1358. package/build/dist/Server/Services/Index.js.map +1 -1
  1359. package/build/dist/Server/Services/KubernetesClusterAiAccessService.js +5 -36
  1360. package/build/dist/Server/Services/KubernetesClusterAiAccessService.js.map +1 -1
  1361. package/build/dist/Server/Services/KubernetesClusterService.js +3 -3
  1362. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  1363. package/build/dist/Server/Services/LogAggregationService.js +31 -5
  1364. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  1365. package/build/dist/Server/Services/McpOAuthClientService.js +134 -0
  1366. package/build/dist/Server/Services/McpOAuthClientService.js.map +1 -0
  1367. package/build/dist/Server/Services/McpOAuthGrantService.js +256 -0
  1368. package/build/dist/Server/Services/McpOAuthGrantService.js.map +1 -0
  1369. package/build/dist/Server/Services/McpOAuthTokenService.js +175 -0
  1370. package/build/dist/Server/Services/McpOAuthTokenService.js.map +1 -0
  1371. package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js +262 -0
  1372. package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js.map +1 -0
  1373. package/build/dist/Server/Services/MessageQueueLabelRuleService.js +13 -0
  1374. package/build/dist/Server/Services/MessageQueueLabelRuleService.js.map +1 -0
  1375. package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js +334 -0
  1376. package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js.map +1 -0
  1377. package/build/dist/Server/Services/MessageQueueOwnerRuleService.js +13 -0
  1378. package/build/dist/Server/Services/MessageQueueOwnerRuleService.js.map +1 -0
  1379. package/build/dist/Server/Services/MessageQueueOwnerTeamService.js +62 -0
  1380. package/build/dist/Server/Services/MessageQueueOwnerTeamService.js.map +1 -0
  1381. package/build/dist/Server/Services/MessageQueueOwnerUserService.js +62 -0
  1382. package/build/dist/Server/Services/MessageQueueOwnerUserService.js.map +1 -0
  1383. package/build/dist/Server/Services/MessageQueueService.js +1140 -0
  1384. package/build/dist/Server/Services/MessageQueueService.js.map +1 -0
  1385. package/build/dist/Server/Services/MetricAggregationService.js +4 -4
  1386. package/build/dist/Server/Services/MonitorGroupService.js +20 -5
  1387. package/build/dist/Server/Services/MonitorGroupService.js.map +1 -1
  1388. package/build/dist/Server/Services/MonitorProbeService.js +1 -0
  1389. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  1390. package/build/dist/Server/Services/MonitorSecretService.js +346 -0
  1391. package/build/dist/Server/Services/MonitorSecretService.js.map +1 -1
  1392. package/build/dist/Server/Services/MonitorService.js +15 -1
  1393. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  1394. package/build/dist/Server/Services/OnCallDutyPolicyService.js +29 -2
  1395. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  1396. package/build/dist/Server/Services/OpenTelemetryIngestService.js +25 -4
  1397. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  1398. package/build/dist/Server/Services/ProjectService.js +25 -68
  1399. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  1400. package/build/dist/Server/Services/ResourceAiAccessService.js +0 -9
  1401. package/build/dist/Server/Services/ResourceAiAccessService.js.map +1 -1
  1402. package/build/dist/Server/Services/RunnerJobService.js +2 -2
  1403. package/build/dist/Server/Services/RunnerJobService.js.map +1 -1
  1404. package/build/dist/Server/Services/RunnerService.js +2 -2
  1405. package/build/dist/Server/Services/RunnerService.js.map +1 -1
  1406. package/build/dist/Server/Services/StatusPagePrivateUserService.js +1 -4
  1407. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  1408. package/build/dist/Server/Services/StatusPageService.js +55 -44
  1409. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  1410. package/build/dist/Server/Services/StatusPageSubscriberService.js +17 -0
  1411. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  1412. package/build/dist/Server/Services/TeamComplianceSettingService.js +120 -31
  1413. package/build/dist/Server/Services/TeamComplianceSettingService.js.map +1 -1
  1414. package/build/dist/Server/Services/TeamMemberService.js +306 -72
  1415. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  1416. package/build/dist/Server/Services/UserNotificationRuleService.js +8 -1
  1417. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  1418. package/build/dist/Server/Services/UserNotificationSettingService.js +18 -0
  1419. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  1420. package/build/dist/Server/Services/WorkflowService.js +27 -0
  1421. package/build/dist/Server/Services/WorkflowService.js.map +1 -1
  1422. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +12 -3
  1423. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  1424. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +3 -0
  1425. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  1426. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +6 -3
  1427. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  1428. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +109 -37
  1429. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
  1430. package/build/dist/Server/Types/Database/Permissions/Index.js +5 -0
  1431. package/build/dist/Server/Types/Database/Permissions/Index.js.map +1 -1
  1432. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +16 -0
  1433. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  1434. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +3 -3
  1435. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +9 -6
  1436. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
  1437. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js +2 -0
  1438. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js.map +1 -1
  1439. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +28 -106
  1440. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
  1441. package/build/dist/Server/Types/Workflow/Components/IncomingEmail.js +166 -0
  1442. package/build/dist/Server/Types/Workflow/Components/IncomingEmail.js.map +1 -0
  1443. package/build/dist/Server/Types/Workflow/Components/Index.js +16 -6
  1444. package/build/dist/Server/Types/Workflow/Components/Index.js.map +1 -1
  1445. package/build/dist/Server/Types/Workflow/Components/Schedule.js +20 -4
  1446. package/build/dist/Server/Types/Workflow/Components/Schedule.js.map +1 -1
  1447. package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js +128 -0
  1448. package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js.map +1 -0
  1449. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +192 -50
  1450. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
  1451. package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js +133 -0
  1452. package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js.map +1 -0
  1453. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +53 -13
  1454. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  1455. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
  1456. package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js +206 -0
  1457. package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js.map +1 -0
  1458. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js +53 -26
  1459. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js.map +1 -1
  1460. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js +4 -2
  1461. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js.map +1 -1
  1462. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +2 -30
  1463. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
  1464. package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js +1 -1
  1465. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +42 -56
  1466. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
  1467. package/build/dist/Server/Utils/AI/CodeFix/OpenPullRequestCap.js +17 -28
  1468. package/build/dist/Server/Utils/AI/CodeFix/OpenPullRequestCap.js.map +1 -1
  1469. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +7 -2
  1470. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -1
  1471. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +47 -64
  1472. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  1473. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js +38 -14
  1474. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js.map +1 -1
  1475. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js +2 -0
  1476. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js.map +1 -1
  1477. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +40 -10
  1478. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  1479. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +46 -59
  1480. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  1481. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +4 -4
  1482. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
  1483. package/build/dist/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.js +1 -1
  1484. package/build/dist/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.js.map +1 -1
  1485. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +27 -31
  1486. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  1487. package/build/dist/Server/Utils/AI/SRE/IncidentPostmortemRunner.js +6 -5
  1488. package/build/dist/Server/Utils/AI/SRE/IncidentPostmortemRunner.js.map +1 -1
  1489. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js +2 -2
  1490. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js +5 -5
  1491. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js +4 -3
  1492. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js.map +1 -1
  1493. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js +4 -4
  1494. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js.map +1 -1
  1495. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js +1 -1
  1496. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js.map +1 -1
  1497. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +63 -59
  1498. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  1499. package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js +412 -0
  1500. package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js.map +1 -0
  1501. package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js +495 -0
  1502. package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js.map +1 -0
  1503. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +1 -1
  1504. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js.map +1 -1
  1505. package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js +9 -1
  1506. package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js.map +1 -1
  1507. package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js +13 -8
  1508. package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js.map +1 -1
  1509. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js +18 -3
  1510. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js.map +1 -1
  1511. package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js +45 -14
  1512. package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js.map +1 -1
  1513. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js +10 -3
  1514. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js.map +1 -1
  1515. package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js +31 -7
  1516. package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js.map +1 -1
  1517. package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js +22 -7
  1518. package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js.map +1 -1
  1519. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js +3 -1
  1520. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js.map +1 -1
  1521. package/build/dist/Server/Utils/EditionEnforcement.js +20 -158
  1522. package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -1
  1523. package/build/dist/Server/Utils/Express.js.map +1 -1
  1524. package/build/dist/Server/Utils/IncomingCall/MissedCallNotification.js +204 -0
  1525. package/build/dist/Server/Utils/IncomingCall/MissedCallNotification.js.map +1 -0
  1526. package/build/dist/Server/Utils/LLM/LLMService.js +193 -54
  1527. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  1528. package/build/dist/Server/Utils/Mcp/McpDelegationToken.js +92 -0
  1529. package/build/dist/Server/Utils/Mcp/McpDelegationToken.js.map +1 -0
  1530. package/build/dist/Server/Utils/Mcp/McpOAuthConfig.js +159 -0
  1531. package/build/dist/Server/Utils/Mcp/McpOAuthConfig.js.map +1 -0
  1532. package/build/dist/Server/Utils/Mcp/McpOAuthGrantAccess.js +204 -0
  1533. package/build/dist/Server/Utils/Mcp/McpOAuthGrantAccess.js.map +1 -0
  1534. package/build/dist/Server/Utils/Mcp/McpOAuthSecret.js +118 -0
  1535. package/build/dist/Server/Utils/Mcp/McpOAuthSecret.js.map +1 -0
  1536. package/build/dist/Server/Utils/Mcp/McpOAuthSignedToken.js +126 -0
  1537. package/build/dist/Server/Utils/Mcp/McpOAuthSignedToken.js.map +1 -0
  1538. package/build/dist/Server/Utils/Mcp/McpOAuthSso.js +159 -0
  1539. package/build/dist/Server/Utils/Mcp/McpOAuthSso.js.map +1 -0
  1540. package/build/dist/Server/Utils/Monitor/MonitorPayloadRedaction.js +25 -0
  1541. package/build/dist/Server/Utils/Monitor/MonitorPayloadRedaction.js.map +1 -1
  1542. package/build/dist/Server/Utils/Monitor/MonitorResource.js +16 -18
  1543. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  1544. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +3 -11
  1545. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
  1546. package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js +160 -0
  1547. package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js.map +1 -0
  1548. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +25 -0
  1549. package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -1
  1550. package/build/dist/Server/Utils/SameOriginRequest.js +151 -0
  1551. package/build/dist/Server/Utils/SameOriginRequest.js.map +1 -0
  1552. package/build/dist/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.js +3 -3
  1553. package/build/dist/Server/Utils/Slo/SloMetricUtil.js +3 -3
  1554. package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js +2 -0
  1555. package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js.map +1 -1
  1556. package/build/dist/Server/Utils/Telemetry/DatabaseEndpointDiscovery.js +11 -4
  1557. package/build/dist/Server/Utils/Telemetry/DatabaseEndpointDiscovery.js.map +1 -1
  1558. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -1
  1559. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  1560. package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js +1022 -0
  1561. package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js.map +1 -0
  1562. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +4 -1
  1563. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -1
  1564. package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js +133 -16
  1565. package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js.map +1 -1
  1566. package/build/dist/Server/Utils/VendorAssets.js +3 -3
  1567. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +2 -0
  1568. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
  1569. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js +2 -0
  1570. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js.map +1 -1
  1571. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +5 -1
  1572. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
  1573. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js +5 -1
  1574. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js.map +1 -1
  1575. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +10 -1
  1576. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  1577. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.js +4 -0
  1578. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.js.map +1 -1
  1579. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +2 -0
  1580. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -1
  1581. package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js +2 -0
  1582. package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js.map +1 -1
  1583. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +4 -0
  1584. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
  1585. package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js +2 -0
  1586. package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js.map +1 -1
  1587. package/build/dist/Types/AI/AIAgentRunLimits.js +91 -0
  1588. package/build/dist/Types/AI/AIAgentRunLimits.js.map +1 -0
  1589. package/build/dist/Types/AI/AIRunType.js +7 -6
  1590. package/build/dist/Types/AI/AIRunType.js.map +1 -1
  1591. package/build/dist/Types/AI/AIWorkloadLimits.js +59 -0
  1592. package/build/dist/Types/AI/AIWorkloadLimits.js.map +1 -0
  1593. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -2
  1594. package/build/dist/Types/AnalyticsDatabase/RetentionTtl.js +55 -0
  1595. package/build/dist/Types/AnalyticsDatabase/RetentionTtl.js.map +1 -0
  1596. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +17 -0
  1597. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
  1598. package/build/dist/Types/Code/CodeType.js +2 -0
  1599. package/build/dist/Types/Code/CodeType.js.map +1 -1
  1600. package/build/dist/Types/Code/JsonSyntax.js +604 -0
  1601. package/build/dist/Types/Code/JsonSyntax.js.map +1 -0
  1602. package/build/dist/Types/CustomField/CustomFieldCreateSettings.js +310 -0
  1603. package/build/dist/Types/CustomField/CustomFieldCreateSettings.js.map +1 -0
  1604. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +38 -0
  1605. package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -1
  1606. package/build/dist/Types/CustomField/CustomFieldValueValidator.js +10 -7
  1607. package/build/dist/Types/CustomField/CustomFieldValueValidator.js.map +1 -1
  1608. package/build/dist/Types/Database/TableMetadata.js +3 -0
  1609. package/build/dist/Types/Database/TableMetadata.js.map +1 -1
  1610. package/build/dist/Types/DatabaseServer/DatabaseEndpoint.js +36 -0
  1611. package/build/dist/Types/DatabaseServer/DatabaseEndpoint.js.map +1 -1
  1612. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  1613. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  1614. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +1 -1
  1615. package/build/dist/Types/Exception/ExceptionMessages.js +1 -0
  1616. package/build/dist/Types/Exception/ExceptionMessages.js.map +1 -1
  1617. package/build/dist/Types/Icon/IconProp.js +2 -0
  1618. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  1619. package/build/dist/Types/Incident/IncidentFormIpAllowlist.js +119 -0
  1620. package/build/dist/Types/Incident/IncidentFormIpAllowlist.js.map +1 -0
  1621. package/build/dist/Types/Incident/IncidentFormPublic.js +678 -0
  1622. package/build/dist/Types/Incident/IncidentFormPublic.js.map +1 -0
  1623. package/build/dist/Types/IncomingCall/MissedIncomingCall.js +61 -0
  1624. package/build/dist/Types/IncomingCall/MissedIncomingCall.js.map +1 -0
  1625. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js +10 -3
  1626. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js.map +1 -1
  1627. package/build/dist/Types/Mcp/McpOAuthClientAuthMethod.js +18 -0
  1628. package/build/dist/Types/Mcp/McpOAuthClientAuthMethod.js.map +1 -0
  1629. package/build/dist/Types/Mcp/McpOAuthScope.js +140 -0
  1630. package/build/dist/Types/Mcp/McpOAuthScope.js.map +1 -0
  1631. package/build/dist/Types/Mcp/McpOAuthTicket.js +20 -0
  1632. package/build/dist/Types/Mcp/McpOAuthTicket.js.map +1 -0
  1633. package/build/dist/Types/Mcp/McpOAuthTokenType.js +17 -0
  1634. package/build/dist/Types/Mcp/McpOAuthTokenType.js.map +1 -0
  1635. package/build/dist/Types/MessageQueue/MessageQueueIdentity.js +184 -0
  1636. package/build/dist/Types/MessageQueue/MessageQueueIdentity.js.map +1 -0
  1637. package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js +190 -0
  1638. package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js.map +1 -0
  1639. package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js +1057 -0
  1640. package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js.map +1 -0
  1641. package/build/dist/Types/MessageQueue/MessagingSystem.js +394 -0
  1642. package/build/dist/Types/MessageQueue/MessagingSystem.js.map +1 -0
  1643. package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js +1768 -0
  1644. package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js.map +1 -0
  1645. package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js +1207 -0
  1646. package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js.map +1 -0
  1647. package/build/dist/Types/Monitor/MonitorSecretAccess.js +111 -0
  1648. package/build/dist/Types/Monitor/MonitorSecretAccess.js.map +1 -0
  1649. package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js +11 -2
  1650. package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js.map +1 -1
  1651. package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js +1 -1
  1652. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +2 -0
  1653. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  1654. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyArchive.js +16 -0
  1655. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyArchive.js.map +1 -0
  1656. package/build/dist/Types/Permission.js +314 -0
  1657. package/build/dist/Types/Permission.js.map +1 -1
  1658. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js +10 -4
  1659. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js.map +1 -1
  1660. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +12 -0
  1661. package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
  1662. package/build/dist/Types/Rules/RuleRun.js +4 -0
  1663. package/build/dist/Types/Rules/RuleRun.js.map +1 -1
  1664. package/build/dist/Types/StatusPage/StatusPageArchive.js +16 -0
  1665. package/build/dist/Types/StatusPage/StatusPageArchive.js.map +1 -0
  1666. package/build/dist/Types/Team/ComplianceNotificationChannel.js +4 -3
  1667. package/build/dist/Types/Team/ComplianceNotificationChannel.js.map +1 -1
  1668. package/build/dist/Types/Team/ComplianceRule.js +48 -14
  1669. package/build/dist/Types/Team/ComplianceRule.js.map +1 -1
  1670. package/build/dist/Types/Team/ComplianceRuleType.js +2 -2
  1671. package/build/dist/Types/Telemetry/EntityType.js +16 -0
  1672. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  1673. package/build/dist/Types/Workflow/Component.js +19 -0
  1674. package/build/dist/Types/Workflow/Component.js.map +1 -1
  1675. package/build/dist/Types/Workflow/ComponentID.js +1 -0
  1676. package/build/dist/Types/Workflow/ComponentID.js.map +1 -1
  1677. package/build/dist/Types/Workflow/Components/AI.js +2 -4
  1678. package/build/dist/Types/Workflow/Components/AI.js.map +1 -1
  1679. package/build/dist/Types/Workflow/Components/API.js +26 -26
  1680. package/build/dist/Types/Workflow/Components/API.js.map +1 -1
  1681. package/build/dist/Types/Workflow/Components/BaseModel.js +22 -28
  1682. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  1683. package/build/dist/Types/Workflow/Components/Condition.js +70 -29
  1684. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
  1685. package/build/dist/Types/Workflow/Components/ConditionComparison.js +256 -0
  1686. package/build/dist/Types/Workflow/Components/ConditionComparison.js.map +1 -0
  1687. package/build/dist/Types/Workflow/Components/ConditionEvaluation.js +279 -0
  1688. package/build/dist/Types/Workflow/Components/ConditionEvaluation.js.map +1 -0
  1689. package/build/dist/Types/Workflow/Components/Email.js +1 -1
  1690. package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
  1691. package/build/dist/Types/Workflow/Components/IncomingEmail.js +129 -0
  1692. package/build/dist/Types/Workflow/Components/IncomingEmail.js.map +1 -0
  1693. package/build/dist/Types/Workflow/Components/JSON.js +10 -3
  1694. package/build/dist/Types/Workflow/Components/JSON.js.map +1 -1
  1695. package/build/dist/Types/Workflow/Components/JavaScript.js +0 -2
  1696. package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
  1697. package/build/dist/Types/Workflow/Components/Manual.js +2 -2
  1698. package/build/dist/Types/Workflow/Components/Manual.js.map +1 -1
  1699. package/build/dist/Types/Workflow/Components/Schedule.js +1 -1
  1700. package/build/dist/Types/Workflow/Components/Schedule.js.map +1 -1
  1701. package/build/dist/Types/Workflow/Components/Slack.js +11 -3
  1702. package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
  1703. package/build/dist/Types/Workflow/Components/Sleep.js +4 -4
  1704. package/build/dist/Types/Workflow/Components/Sleep.js.map +1 -1
  1705. package/build/dist/Types/Workflow/Components/Webhook.js +4 -6
  1706. package/build/dist/Types/Workflow/Components/Webhook.js.map +1 -1
  1707. package/build/dist/Types/Workflow/Components.js +4 -2
  1708. package/build/dist/Types/Workflow/Components.js.map +1 -1
  1709. package/build/dist/Types/Workflow/DatabaseOperation.js +50 -0
  1710. package/build/dist/Types/Workflow/DatabaseOperation.js.map +1 -0
  1711. package/build/dist/Types/Workflow/Documentation/AIDocumentation.js +78 -0
  1712. package/build/dist/Types/Workflow/Documentation/AIDocumentation.js.map +1 -0
  1713. package/build/dist/Types/Workflow/Documentation/APIDocumentation.js +69 -0
  1714. package/build/dist/Types/Workflow/Documentation/APIDocumentation.js.map +1 -0
  1715. package/build/dist/Types/Workflow/Documentation/ComponentDocumentation.js +44 -0
  1716. package/build/dist/Types/Workflow/Documentation/ComponentDocumentation.js.map +1 -0
  1717. package/build/dist/Types/Workflow/Documentation/DatabaseDocumentation.js +488 -0
  1718. package/build/dist/Types/Workflow/Documentation/DatabaseDocumentation.js.map +1 -0
  1719. package/build/dist/Types/Workflow/Documentation/DocumentationContext.js +139 -0
  1720. package/build/dist/Types/Workflow/Documentation/DocumentationContext.js.map +1 -0
  1721. package/build/dist/Types/Workflow/Documentation/DocumentationLinks.js +62 -0
  1722. package/build/dist/Types/Workflow/Documentation/DocumentationLinks.js.map +1 -0
  1723. package/build/dist/Types/Workflow/Documentation/DocumentationText.js +104 -0
  1724. package/build/dist/Types/Workflow/Documentation/DocumentationText.js.map +1 -0
  1725. package/build/dist/Types/Workflow/Documentation/Index.js +58 -0
  1726. package/build/dist/Types/Workflow/Documentation/Index.js.map +1 -0
  1727. package/build/dist/Types/Workflow/Documentation/MessagingDocumentation.js +247 -0
  1728. package/build/dist/Types/Workflow/Documentation/MessagingDocumentation.js.map +1 -0
  1729. package/build/dist/Types/Workflow/Documentation/ModelExamples.js +210 -0
  1730. package/build/dist/Types/Workflow/Documentation/ModelExamples.js.map +1 -0
  1731. package/build/dist/Types/Workflow/Documentation/TriggerDocumentation.js +184 -0
  1732. package/build/dist/Types/Workflow/Documentation/TriggerDocumentation.js.map +1 -0
  1733. package/build/dist/Types/Workflow/Documentation/UtilityDocumentation.js +290 -0
  1734. package/build/dist/Types/Workflow/Documentation/UtilityDocumentation.js.map +1 -0
  1735. package/build/dist/Types/Workflow/IncomingEmailTrigger.js +275 -0
  1736. package/build/dist/Types/Workflow/IncomingEmailTrigger.js.map +1 -0
  1737. package/build/dist/Types/Workflow/StepSamples.js +601 -0
  1738. package/build/dist/Types/Workflow/StepSamples.js.map +1 -0
  1739. package/build/dist/Types/Workflow/StepTrace.js +135 -4
  1740. package/build/dist/Types/Workflow/StepTrace.js.map +1 -1
  1741. package/build/dist/Types/Workflow/SystemColumns.js +65 -0
  1742. package/build/dist/Types/Workflow/SystemColumns.js.map +1 -0
  1743. package/build/dist/Types/Workflow/Templates.js +178 -2
  1744. package/build/dist/Types/Workflow/Templates.js.map +1 -1
  1745. package/build/dist/Types/Workflow/WebhookTrigger.js +55 -0
  1746. package/build/dist/Types/Workflow/WebhookTrigger.js.map +1 -0
  1747. package/build/dist/Types/Workflow/WorkflowArchive.js +29 -0
  1748. package/build/dist/Types/Workflow/WorkflowArchive.js.map +1 -0
  1749. package/build/dist/Types/Workflow/WorkflowEnabled.js +39 -0
  1750. package/build/dist/Types/Workflow/WorkflowEnabled.js.map +1 -0
  1751. package/build/dist/Types/Workflow/WorkflowStatus.js +24 -0
  1752. package/build/dist/Types/Workflow/WorkflowStatus.js.map +1 -1
  1753. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +23 -3
  1754. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
  1755. package/build/dist/Types/XML.js +23 -0
  1756. package/build/dist/Types/XML.js.map +1 -1
  1757. package/build/dist/UI/Components/ActionButton/RowActions.js +8 -5
  1758. package/build/dist/UI/Components/ActionButton/RowActions.js.map +1 -1
  1759. package/build/dist/UI/Components/ActionCard/ActionCard.js +20 -2
  1760. package/build/dist/UI/Components/ActionCard/ActionCard.js.map +1 -1
  1761. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js +1 -1
  1762. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
  1763. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js +1 -1
  1764. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js.map +1 -1
  1765. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +2 -0
  1766. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
  1767. package/build/dist/UI/Components/Button/Button.js +19 -11
  1768. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  1769. package/build/dist/UI/Components/Card/Card.js +23 -3
  1770. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  1771. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +1 -3
  1772. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  1773. package/build/dist/UI/Components/CodeEditor/CodeEditor.js +676 -264
  1774. package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
  1775. package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js +464 -0
  1776. package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js.map +1 -0
  1777. package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js +69 -0
  1778. package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js.map +1 -0
  1779. package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js +108 -0
  1780. package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js.map +1 -0
  1781. package/build/dist/UI/Components/CodeEditor/YamlEditor.js +14 -186
  1782. package/build/dist/UI/Components/CodeEditor/YamlEditor.js.map +1 -1
  1783. package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js +7 -3
  1784. package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js.map +1 -1
  1785. package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js +5 -1
  1786. package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js.map +1 -1
  1787. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js +5 -14
  1788. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js.map +1 -1
  1789. package/build/dist/UI/Components/DeleteConfirmation/DeleteConfirmationMessage.js +97 -0
  1790. package/build/dist/UI/Components/DeleteConfirmation/DeleteConfirmationMessage.js.map +1 -0
  1791. package/build/dist/UI/Components/DeleteConfirmation/DeleteItemNames.js +34 -0
  1792. package/build/dist/UI/Components/DeleteConfirmation/DeleteItemNames.js.map +1 -0
  1793. package/build/dist/UI/Components/DeleteConfirmation/NamedSentence.js +11 -0
  1794. package/build/dist/UI/Components/DeleteConfirmation/NamedSentence.js.map +1 -0
  1795. package/build/dist/UI/Components/DeleteConfirmation/TypeToConfirmDelete.js +44 -0
  1796. package/build/dist/UI/Components/DeleteConfirmation/TypeToConfirmDelete.js.map +1 -0
  1797. package/build/dist/UI/Components/Dictionary/Dictionary.js +17 -1
  1798. package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
  1799. package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js +12 -10
  1800. package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js.map +1 -1
  1801. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +15 -14
  1802. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  1803. package/build/dist/UI/Components/Error/PageError.js +1 -1
  1804. package/build/dist/UI/Components/Error/PageError.js.map +1 -1
  1805. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +1 -1
  1806. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  1807. package/build/dist/UI/Components/EventItem/EventItem.js +1 -4
  1808. package/build/dist/UI/Components/EventItem/EventItem.js.map +1 -1
  1809. package/build/dist/UI/Components/FormModal/BasicFormModal.js +17 -3
  1810. package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
  1811. package/build/dist/UI/Components/Forms/BasicForm.js +115 -54
  1812. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  1813. package/build/dist/UI/Components/Forms/BasicModelForm.js +1 -1
  1814. package/build/dist/UI/Components/Forms/BasicModelForm.js.map +1 -1
  1815. package/build/dist/UI/Components/Forms/Fields/FormField.js +47 -11
  1816. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  1817. package/build/dist/UI/Components/Forms/ModelForm.js +5 -1
  1818. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  1819. package/build/dist/UI/Components/Forms/Steps/Step.js +16 -5
  1820. package/build/dist/UI/Components/Forms/Steps/Step.js.map +1 -1
  1821. package/build/dist/UI/Components/Forms/Steps/Steps.js +3 -1
  1822. package/build/dist/UI/Components/Forms/Steps/Steps.js.map +1 -1
  1823. package/build/dist/UI/Components/Forms/Types/Field.js.map +1 -1
  1824. package/build/dist/UI/Components/Forms/Validation.js +13 -4
  1825. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  1826. package/build/dist/UI/Components/Icon/Icon.js +15 -2
  1827. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  1828. package/build/dist/UI/Components/Input/Input.js +11 -3
  1829. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  1830. package/build/dist/UI/Components/Label/Label.js +0 -2
  1831. package/build/dist/UI/Components/Label/Label.js.map +1 -1
  1832. package/build/dist/UI/Components/LabelRule/ImportLabelRulesModal.js +1 -1
  1833. package/build/dist/UI/Components/LabelRule/ImportLabelRulesModal.js.map +1 -1
  1834. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +2 -1
  1835. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  1836. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +14 -4
  1837. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  1838. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  1839. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  1840. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +710 -65
  1841. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
  1842. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js +238 -0
  1843. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js.map +1 -0
  1844. package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js +1028 -0
  1845. package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js.map +1 -0
  1846. package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js +1088 -0
  1847. package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js.map +1 -0
  1848. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +78 -10
  1849. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  1850. package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js +887 -0
  1851. package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js.map +1 -0
  1852. package/build/dist/UI/Components/Modal/ConfirmModal.js +22 -3
  1853. package/build/dist/UI/Components/Modal/ConfirmModal.js.map +1 -1
  1854. package/build/dist/UI/Components/Modal/Modal.js +76 -9
  1855. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  1856. package/build/dist/UI/Components/Modal/ModalFooter.js +22 -6
  1857. package/build/dist/UI/Components/Modal/ModalFooter.js.map +1 -1
  1858. package/build/dist/UI/Components/ModelDelete/ModelDelete.js +84 -7
  1859. package/build/dist/UI/Components/ModelDelete/ModelDelete.js.map +1 -1
  1860. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js +38 -13
  1861. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
  1862. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +95 -72
  1863. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  1864. package/build/dist/UI/Components/ModelTable/TableView.js +13 -1
  1865. package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -1
  1866. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesModal.js +1 -1
  1867. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesModal.js.map +1 -1
  1868. package/build/dist/UI/Components/Navbar/NavBar.js +3 -2
  1869. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  1870. package/build/dist/UI/Components/Pill/Pill.js +25 -22
  1871. package/build/dist/UI/Components/Pill/Pill.js.map +1 -1
  1872. package/build/dist/UI/Components/Pill/PillColors.js +297 -0
  1873. package/build/dist/UI/Components/Pill/PillColors.js.map +1 -0
  1874. package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js +7 -5
  1875. package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js.map +1 -1
  1876. package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js +7 -1
  1877. package/build/dist/UI/Components/RuleRun/RunRuleNowModal.js.map +1 -1
  1878. package/build/dist/UI/Components/SideMenu/SideMenu.js +81 -9
  1879. package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
  1880. package/build/dist/UI/Components/SideMenu/SideMenuSection.js +21 -4
  1881. package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
  1882. package/build/dist/UI/Components/SideMenu/SideMenuSectionState.js +150 -0
  1883. package/build/dist/UI/Components/SideMenu/SideMenuSectionState.js.map +1 -0
  1884. package/build/dist/UI/Components/Table/EmptyTableMessage.js +51 -0
  1885. package/build/dist/UI/Components/Table/EmptyTableMessage.js.map +1 -0
  1886. package/build/dist/UI/Components/Table/Table.js +30 -11
  1887. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  1888. package/build/dist/UI/Components/Table/TableRow.js +9 -2
  1889. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  1890. package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js +63 -1
  1891. package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js.map +1 -1
  1892. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +4 -2
  1893. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  1894. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +91 -10
  1895. package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -1
  1896. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -4
  1897. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  1898. package/build/dist/UI/Components/TextArea/TextArea.js +129 -5
  1899. package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
  1900. package/build/dist/UI/Components/Toggle/Toggle.js +115 -22
  1901. package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
  1902. package/build/dist/UI/Components/Workflow/ArgumentsForm.js +272 -257
  1903. package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
  1904. package/build/dist/UI/Components/Workflow/BreakableCode.js +33 -0
  1905. package/build/dist/UI/Components/Workflow/BreakableCode.js.map +1 -0
  1906. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnPicker.js +293 -0
  1907. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnPicker.js.map +1 -0
  1908. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.js +17 -2
  1909. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.js.map +1 -1
  1910. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnControl.js +42 -4
  1911. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnControl.js.map +1 -1
  1912. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.js +9 -4
  1913. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.js.map +1 -1
  1914. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnPickerOptions.js +252 -0
  1915. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnPickerOptions.js.map +1 -0
  1916. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnUse.js +88 -0
  1917. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnUse.js.map +1 -0
  1918. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnValueInput.js +79 -44
  1919. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnValueInput.js.map +1 -1
  1920. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js +13 -8
  1921. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js.map +1 -1
  1922. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelRecordForm.js +19 -21
  1923. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelRecordForm.js.map +1 -1
  1924. package/build/dist/UI/Components/Workflow/Component.js +74 -8
  1925. package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
  1926. package/build/dist/UI/Components/Workflow/ComponentPicker/ComponentSearch.js +864 -0
  1927. package/build/dist/UI/Components/Workflow/ComponentPicker/ComponentSearch.js.map +1 -0
  1928. package/build/dist/UI/Components/Workflow/ComponentPicker/PickerCatalog.js +254 -0
  1929. package/build/dist/UI/Components/Workflow/ComponentPicker/PickerCatalog.js.map +1 -0
  1930. package/build/dist/UI/Components/Workflow/ComponentPicker/PickerItems.js +105 -0
  1931. package/build/dist/UI/Components/Workflow/ComponentPicker/PickerItems.js.map +1 -0
  1932. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +15 -45
  1933. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  1934. package/build/dist/UI/Components/Workflow/ComponentPrimaryPanel.js +88 -0
  1935. package/build/dist/UI/Components/Workflow/ComponentPrimaryPanel.js.map +1 -0
  1936. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +24 -57
  1937. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  1938. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +196 -55
  1939. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  1940. package/build/dist/UI/Components/Workflow/ComponentSettingsSection.js +34 -0
  1941. package/build/dist/UI/Components/Workflow/ComponentSettingsSection.js.map +1 -0
  1942. package/build/dist/UI/Components/Workflow/ComponentsModal.js +523 -329
  1943. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  1944. package/build/dist/UI/Components/Workflow/Condition/ConditionEditor.js +199 -0
  1945. package/build/dist/UI/Components/Workflow/Condition/ConditionEditor.js.map +1 -0
  1946. package/build/dist/UI/Components/Workflow/Condition/ConditionModel.js +458 -0
  1947. package/build/dist/UI/Components/Workflow/Condition/ConditionModel.js.map +1 -0
  1948. package/build/dist/UI/Components/Workflow/CronScheduleField.js +25 -19
  1949. package/build/dist/UI/Components/Workflow/CronScheduleField.js.map +1 -1
  1950. package/build/dist/UI/Components/Workflow/DocumentationViewer.js +107 -61
  1951. package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
  1952. package/build/dist/UI/Components/Workflow/DownloadWorkflowRun.js +78 -0
  1953. package/build/dist/UI/Components/Workflow/DownloadWorkflowRun.js.map +1 -0
  1954. package/build/dist/UI/Components/Workflow/GraphLint.js +7 -2
  1955. package/build/dist/UI/Components/Workflow/GraphLint.js.map +1 -1
  1956. package/build/dist/UI/Components/Workflow/GraphLintSummary.js +59 -1
  1957. package/build/dist/UI/Components/Workflow/GraphLintSummary.js.map +1 -1
  1958. package/build/dist/UI/Components/Workflow/IncomingEmailTriggerPanel.js +215 -0
  1959. package/build/dist/UI/Components/Workflow/IncomingEmailTriggerPanel.js.map +1 -0
  1960. package/build/dist/UI/Components/Workflow/ManualTriggerPanel.js +27 -0
  1961. package/build/dist/UI/Components/Workflow/ManualTriggerPanel.js.map +1 -0
  1962. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js +5 -1
  1963. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js.map +1 -1
  1964. package/build/dist/UI/Components/Workflow/ModelFieldPicker.js +45 -4
  1965. package/build/dist/UI/Components/Workflow/ModelFieldPicker.js.map +1 -1
  1966. package/build/dist/UI/Components/Workflow/ModelSchema.js +7 -8
  1967. package/build/dist/UI/Components/Workflow/ModelSchema.js.map +1 -1
  1968. package/build/dist/UI/Components/Workflow/NodePlacement.js +123 -1
  1969. package/build/dist/UI/Components/Workflow/NodePlacement.js.map +1 -1
  1970. package/build/dist/UI/Components/Workflow/RunModal.js +1 -1
  1971. package/build/dist/UI/Components/Workflow/StepTracePresentation.js +318 -0
  1972. package/build/dist/UI/Components/Workflow/StepTracePresentation.js.map +1 -0
  1973. package/build/dist/UI/Components/Workflow/StepTraceViewer.js +282 -42
  1974. package/build/dist/UI/Components/Workflow/StepTraceViewer.js.map +1 -1
  1975. package/build/dist/UI/Components/Workflow/UseRunWatch.js +4 -0
  1976. package/build/dist/UI/Components/Workflow/UseRunWatch.js.map +1 -1
  1977. package/build/dist/UI/Components/Workflow/UseWorkflowEnabled.js +171 -0
  1978. package/build/dist/UI/Components/Workflow/UseWorkflowEnabled.js.map +1 -0
  1979. package/build/dist/UI/Components/Workflow/Utils.js +95 -88
  1980. package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
  1981. package/build/dist/UI/Components/Workflow/ValuePicker/ArgumentControl.js +113 -0
  1982. package/build/dist/UI/Components/Workflow/ValuePicker/ArgumentControl.js.map +1 -0
  1983. package/build/dist/UI/Components/Workflow/ValuePicker/DefaultValueSources.js +95 -0
  1984. package/build/dist/UI/Components/Workflow/ValuePicker/DefaultValueSources.js.map +1 -0
  1985. package/build/dist/UI/Components/Workflow/ValuePicker/InsertValueButton.js +46 -0
  1986. package/build/dist/UI/Components/Workflow/ValuePicker/InsertValueButton.js.map +1 -0
  1987. package/build/dist/UI/Components/Workflow/ValuePicker/ReferenceChip.js +88 -0
  1988. package/build/dist/UI/Components/Workflow/ValuePicker/ReferenceChip.js.map +1 -0
  1989. package/build/dist/UI/Components/Workflow/ValuePicker/ReferenceDescription.js +187 -0
  1990. package/build/dist/UI/Components/Workflow/ValuePicker/ReferenceDescription.js.map +1 -0
  1991. package/build/dist/UI/Components/Workflow/ValuePicker/StepGraph.js +147 -0
  1992. package/build/dist/UI/Components/Workflow/ValuePicker/StepGraph.js.map +1 -0
  1993. package/build/dist/UI/Components/Workflow/ValuePicker/StepSampleSource.js +345 -0
  1994. package/build/dist/UI/Components/Workflow/ValuePicker/StepSampleSource.js.map +1 -0
  1995. package/build/dist/UI/Components/Workflow/ValuePicker/StepValueSource.js +181 -0
  1996. package/build/dist/UI/Components/Workflow/ValuePicker/StepValueSource.js.map +1 -0
  1997. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateText.js +172 -0
  1998. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateText.js.map +1 -0
  1999. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextDom.js +342 -0
  2000. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextDom.js.map +1 -0
  2001. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextEditor.js +701 -0
  2002. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextEditor.js.map +1 -0
  2003. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextHistory.js +104 -0
  2004. package/build/dist/UI/Components/Workflow/ValuePicker/TemplateTextHistory.js.map +1 -0
  2005. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerContext.js +319 -0
  2006. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerContext.js.map +1 -0
  2007. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerMenu.js +502 -0
  2008. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerMenu.js.map +1 -0
  2009. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerPopup.js +176 -0
  2010. package/build/dist/UI/Components/Workflow/ValuePicker/ValuePickerPopup.js.map +1 -0
  2011. package/build/dist/UI/Components/Workflow/ValuePicker/ValueSingleField.js +111 -0
  2012. package/build/dist/UI/Components/Workflow/ValuePicker/ValueSingleField.js.map +1 -0
  2013. package/build/dist/UI/Components/Workflow/ValuePicker/ValueSuggestion.js +356 -0
  2014. package/build/dist/UI/Components/Workflow/ValuePicker/ValueSuggestion.js.map +1 -0
  2015. package/build/dist/UI/Components/Workflow/ValuePicker/ValueTextField.js +168 -0
  2016. package/build/dist/UI/Components/Workflow/ValuePicker/ValueTextField.js.map +1 -0
  2017. package/build/dist/UI/Components/Workflow/ValuePicker/VariableValueSource.js +80 -0
  2018. package/build/dist/UI/Components/Workflow/ValuePicker/VariableValueSource.js.map +1 -0
  2019. package/build/dist/UI/Components/Workflow/WebhookTriggerPanel.js +225 -0
  2020. package/build/dist/UI/Components/Workflow/WebhookTriggerPanel.js.map +1 -0
  2021. package/build/dist/UI/Components/Workflow/Workflow.js +256 -39
  2022. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  2023. package/build/dist/UI/Components/Workflow/WorkflowEnabledCopy.js +33 -0
  2024. package/build/dist/UI/Components/Workflow/WorkflowEnabledCopy.js.map +1 -0
  2025. package/build/dist/UI/Components/Workflow/WorkflowEnabledSwitch.js +18 -0
  2026. package/build/dist/UI/Components/Workflow/WorkflowEnabledSwitch.js.map +1 -0
  2027. package/build/dist/UI/Components/Workflow/WorkflowIncomingEmailSecretKey.js +97 -0
  2028. package/build/dist/UI/Components/Workflow/WorkflowIncomingEmailSecretKey.js.map +1 -0
  2029. package/build/dist/UI/Components/Workflow/WorkflowLogModal.js +41 -7
  2030. package/build/dist/UI/Components/Workflow/WorkflowLogModal.js.map +1 -1
  2031. package/build/dist/UI/Components/Workflow/WorkflowRunExport.js +258 -0
  2032. package/build/dist/UI/Components/Workflow/WorkflowRunExport.js.map +1 -0
  2033. package/build/dist/UI/Components/Workflow/WorkflowRunExportActions.js +124 -0
  2034. package/build/dist/UI/Components/Workflow/WorkflowRunExportActions.js.map +1 -0
  2035. package/build/dist/UI/Components/Workflow/WorkflowStatus.js +16 -23
  2036. package/build/dist/UI/Components/Workflow/WorkflowStatus.js.map +1 -1
  2037. package/build/dist/UI/Components/Workflow/WorkflowTurnOnModal.js +60 -0
  2038. package/build/dist/UI/Components/Workflow/WorkflowTurnOnModal.js.map +1 -0
  2039. package/build/dist/UI/Components/Workflow/WorkflowTurnedOffNotice.js +34 -0
  2040. package/build/dist/UI/Components/Workflow/WorkflowTurnedOffNotice.js.map +1 -0
  2041. package/build/dist/UI/Components/Workflow/WorkflowWebhookSecretKey.js +112 -0
  2042. package/build/dist/UI/Components/Workflow/WorkflowWebhookSecretKey.js.map +1 -0
  2043. package/build/dist/UI/Utils/McpOAuthPendingAuthorization.js +111 -0
  2044. package/build/dist/UI/Utils/McpOAuthPendingAuthorization.js.map +1 -0
  2045. package/build/dist/UI/Utils/ModelDisplayName.js +197 -0
  2046. package/build/dist/UI/Utils/ModelDisplayName.js.map +1 -0
  2047. package/build/dist/UI/Utils/TranslateTemplate.js +63 -0
  2048. package/build/dist/UI/Utils/TranslateTemplate.js.map +1 -0
  2049. package/build/dist/Utils/DeveloperDocs/AiAssistantExamples.js +278 -0
  2050. package/build/dist/Utils/DeveloperDocs/AiAssistantExamples.js.map +1 -0
  2051. package/build/dist/Utils/DeveloperDocs/ApiExamples.js +225 -0
  2052. package/build/dist/Utils/DeveloperDocs/ApiExamples.js.map +1 -0
  2053. package/build/dist/Utils/DeveloperDocs/ExampleValues.js +90 -0
  2054. package/build/dist/Utils/DeveloperDocs/ExampleValues.js.map +1 -0
  2055. package/build/dist/Utils/DeveloperDocs/Hcl.js +449 -0
  2056. package/build/dist/Utils/DeveloperDocs/Hcl.js.map +1 -0
  2057. package/build/dist/Utils/DeveloperDocs/TerraformConfig.js +503 -0
  2058. package/build/dist/Utils/DeveloperDocs/TerraformConfig.js.map +1 -0
  2059. package/build/dist/Utils/DeveloperDocs/TerraformMonitorSteps.js +332 -0
  2060. package/build/dist/Utils/DeveloperDocs/TerraformMonitorSteps.js.map +1 -0
  2061. package/build/dist/Utils/DeveloperDocs/TerraformSchema.js +420 -0
  2062. package/build/dist/Utils/DeveloperDocs/TerraformSchema.js.map +1 -0
  2063. package/build/dist/Utils/DeveloperDocs/TerraformValues.js +280 -0
  2064. package/build/dist/Utils/DeveloperDocs/TerraformValues.js.map +1 -0
  2065. package/build/dist/Utils/Email/EmailAddressList.js +132 -0
  2066. package/build/dist/Utils/Email/EmailAddressList.js.map +1 -0
  2067. package/build/dist/Utils/LabelRuleImportExport.js +2 -0
  2068. package/build/dist/Utils/LabelRuleImportExport.js.map +1 -1
  2069. package/build/dist/Utils/Markdown/UntrustedMarkdown.js +988 -0
  2070. package/build/dist/Utils/Markdown/UntrustedMarkdown.js.map +1 -0
  2071. package/build/dist/Utils/ModelImportExport.js +15 -0
  2072. package/build/dist/Utils/ModelImportExport.js.map +1 -1
  2073. package/build/dist/Utils/Monitor/IncomingEmailMonitorAddress.js +54 -3
  2074. package/build/dist/Utils/Monitor/IncomingEmailMonitorAddress.js.map +1 -1
  2075. package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js +34 -0
  2076. package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js.map +1 -0
  2077. package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js +148 -0
  2078. package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js.map +1 -0
  2079. package/build/dist/Utils/Monitor/MonitorOverviewPresentationUtil.js +19 -1
  2080. package/build/dist/Utils/Monitor/MonitorOverviewPresentationUtil.js.map +1 -1
  2081. package/build/dist/Utils/Monitor/MonitorPauseState.js +66 -0
  2082. package/build/dist/Utils/Monitor/MonitorPauseState.js.map +1 -0
  2083. package/build/dist/Utils/Rum/SessionIdentity.js +73 -0
  2084. package/build/dist/Utils/Rum/SessionIdentity.js.map +1 -1
  2085. package/build/dist/Utils/StatusPage/ArchivedMonitorResources.js +31 -0
  2086. package/build/dist/Utils/StatusPage/ArchivedMonitorResources.js.map +1 -0
  2087. package/build/dist/Utils/Telemetry/EntityKey.js +36 -0
  2088. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  2089. package/package.json +1 -3
  2090. package/test-setup.sh +15 -1
  2091. package/Server/Utils/CommunityEditionSsoReport.ts +0 -361
  2092. package/Tests/App/Accounts/LoginSsoEdition.test.tsx +0 -616
  2093. package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +0 -217
  2094. package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +0 -271
  2095. package/Tests/App/Dashboard/CloudDocumentationMarkdown.test.ts +0 -215
  2096. package/Tests/App/Dashboard/TelemetryResourceRetentionSettings.test.tsx +0 -784
  2097. package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +0 -518
  2098. package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +0 -419
  2099. package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +0 -769
  2100. package/Tests/UI/Components/CodeEditor.test.tsx +0 -638
  2101. package/Tests/UI/Components/MonacoLoader.test.ts +0 -67
  2102. package/Tests/UI/Components/MonacoRuntime.test.ts +0 -121
  2103. package/Tests/UI/Components/Telemetry/TelemetryRetentionConfigForm.test.tsx +0 -329
  2104. package/Tests/UI/Components/YamlEditor.test.tsx +0 -847
  2105. package/UI/Components/CodeEditor/MonacoLoader.ts +0 -36
  2106. package/UI/Components/Telemetry/TelemetryRetentionConfigForm.tsx +0 -319
  2107. package/UI/Components/Telemetry/TelemetryRetentionConfigSummary.tsx +0 -223
  2108. package/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.tsx +0 -177
  2109. package/UI/Components/Workflow/ComponentValuePickerModal.tsx +0 -325
  2110. package/UI/Components/Workflow/VariableModal.tsx +0 -59
  2111. package/build/dist/Server/Utils/CommunityEditionSsoReport.js +0 -223
  2112. package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +0 -1
  2113. package/build/dist/UI/Components/CodeEditor/MonacoLoader.js +0 -34
  2114. package/build/dist/UI/Components/CodeEditor/MonacoLoader.js.map +0 -1
  2115. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js +0 -171
  2116. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js.map +0 -1
  2117. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js +0 -119
  2118. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js.map +0 -1
  2119. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.js +0 -86
  2120. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.js.map +0 -1
  2121. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js +0 -144
  2122. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js.map +0 -1
  2123. package/build/dist/UI/Components/Workflow/VariableModal.js +0 -31
  2124. package/build/dist/UI/Components/Workflow/VariableModal.js.map +0 -1
@@ -0,0 +1,3287 @@
1
+ import { ResolvedMessagingDestination } from "../../../Types/MessageQueue/MessagingTelemetryResolver";
2
+
3
+ /*
4
+ * Real-world messaging telemetry, as each instrumentation emits it, with the
5
+ * destination OneUptime must resolve from it. Spans are shaped after the
6
+ * instrumentations' source (research: messaging-semconv.md) across the five
7
+ * semconv generations; datapoints after the collector receivers' source and
8
+ * live captures against real brokers (broker-metrics-*.md), in the STORED
9
+ * flattened shape: datapoint attributes bare, resource attributes with the
10
+ * `resource.` prefix. Shared by the resolver, metric-catalog and entity-key
11
+ * suites, and by the input-attribute completeness and storage round-trip
12
+ * checks, which run over every fixture here.
13
+ */
14
+
15
+ export type FixtureAttributes = Record<string, unknown>;
16
+
17
+ export const PRODUCER: string = "SPAN_KIND_PRODUCER";
18
+ export const CONSUMER: string = "SPAN_KIND_CONSUMER";
19
+ export const CLIENT: string = "SPAN_KIND_CLIENT";
20
+ export const INTERNAL: string = "SPAN_KIND_INTERNAL";
21
+ export const SERVER: string = "SPAN_KIND_SERVER";
22
+
23
+ /*
24
+ * Span kinds as a trace pipeline's Span Kind Remapper can store them. The
25
+ * ingest service stores the SpanKind string, but the remapper writes its
26
+ * mapping's kind as it is, and a configuration saved through the API is any
27
+ * JSON — a NUMBER included. The stamper sees that value; ClickHouse keeps
28
+ * its JSON text in the kind column (toStoredKind: 2 → "2"), which is what
29
+ * the discovery cron reads back. OTLP numbers the kinds 1 INTERNAL,
30
+ * 2 SERVER, 3 CLIENT, 4 PRODUCER and 5 CONSUMER. `reads` is the SpanKind
31
+ * the value must read as — the value itself at ingest, and its stored text
32
+ * in discovery, alike — or null for no kind at all.
33
+ */
34
+ export interface NumericSpanKindCase {
35
+ kind: number | string;
36
+ reads: string | null;
37
+ }
38
+
39
+ export const NUMERIC_SPAN_KIND_CASES: ReadonlyArray<NumericSpanKindCase> = [
40
+ // OTLP's numbers, as a number and as its text.
41
+ { kind: 1, reads: INTERNAL },
42
+ { kind: "1", reads: INTERNAL },
43
+ { kind: 2, reads: SERVER },
44
+ { kind: "2", reads: SERVER },
45
+ { kind: 3, reads: CLIENT },
46
+ { kind: "3", reads: CLIENT },
47
+ { kind: 4, reads: PRODUCER },
48
+ { kind: "4", reads: PRODUCER },
49
+ { kind: 5, reads: CONSUMER },
50
+ { kind: "5", reads: CONSUMER },
51
+ /*
52
+ * Digits read as Number() reads them: leading zeros and surrounding
53
+ * whitespace count for nothing, so "02" is SERVER.
54
+ */
55
+ { kind: "02", reads: SERVER },
56
+ { kind: " 2 ", reads: SERVER },
57
+ { kind: "0005", reads: CONSUMER },
58
+ // Numbers OTLP gives no kind (0 is SPAN_KIND_UNSPECIFIED).
59
+ { kind: 0, reads: null },
60
+ { kind: "0", reads: null },
61
+ { kind: "00", reads: null },
62
+ { kind: 6, reads: null },
63
+ { kind: 9, reads: null },
64
+ { kind: "9", reads: null },
65
+ { kind: "12", reads: null },
66
+ // Numeric, but not a plain run of digits: a name, and no kind's.
67
+ { kind: -2, reads: null },
68
+ { kind: "-2", reads: null },
69
+ { kind: "+2", reads: null },
70
+ { kind: 2.5, reads: null },
71
+ { kind: "2.0", reads: null },
72
+ { kind: "2e0", reads: null },
73
+ { kind: 1e21, reads: null },
74
+ ];
75
+
76
+ export interface SpanFixture {
77
+ name: string;
78
+ kind: string | null;
79
+ attributes: FixtureAttributes;
80
+ expected: ResolvedMessagingDestination | null;
81
+ }
82
+
83
+ export interface MetricFixture {
84
+ name: string;
85
+ metricName: string;
86
+ attributes: FixtureAttributes;
87
+ expected: ResolvedMessagingDestination | null;
88
+ }
89
+
90
+ // A resolution, with the fields a fixture does not state at their defaults.
91
+ export function destinationOf(
92
+ partial: Partial<ResolvedMessagingDestination> & {
93
+ system: string;
94
+ destination: string;
95
+ },
96
+ ): ResolvedMessagingDestination {
97
+ return {
98
+ brokerScope: "",
99
+ brokerAddress: null,
100
+ direction: "unknown",
101
+ consumerGroup: null,
102
+ isDeadLetter: false,
103
+ ...partial,
104
+ };
105
+ }
106
+
107
+ const SQS_QUEUE_URL: string =
108
+ "https://sqs.us-east-1.amazonaws.com/123456789012/orders";
109
+ const SNS_TOPIC_ARN: string = "arn:aws:sns:us-east-1:123456789012:order-events";
110
+ const SERVICE_BUS_HOST: string = "orders-prod.servicebus.windows.net";
111
+ const EVENT_HUBS_HOST: string = "ingest-prod.servicebus.windows.net";
112
+
113
+ export const SPAN_FIXTURES: ReadonlyArray<SpanFixture> = [
114
+ // ---- Apache Kafka ----------------------------------------------------------
115
+ {
116
+ name: "Java agent Kafka send (default mode, legacy semconv)",
117
+ kind: PRODUCER,
118
+ attributes: {
119
+ "messaging.system": "kafka",
120
+ "messaging.destination.name": "orders",
121
+ "messaging.operation": "publish",
122
+ "messaging.destination.partition.id": "3",
123
+ "messaging.client_id": "producer-1",
124
+ "messaging.kafka.message.offset": 1042,
125
+ "messaging.kafka.bootstrap.servers": ["kafka-1:9092", "kafka-2:9092"],
126
+ },
127
+ expected: destinationOf({
128
+ system: "kafka",
129
+ destination: "orders",
130
+ direction: "publish",
131
+ }),
132
+ },
133
+ {
134
+ name: "Java agent Kafka process (default mode)",
135
+ kind: CONSUMER,
136
+ attributes: {
137
+ "messaging.system": "kafka",
138
+ "messaging.destination.name": "orders",
139
+ "messaging.operation": "process",
140
+ "messaging.kafka.consumer.group": "billing",
141
+ "messaging.kafka.message.offset": 1042,
142
+ "messaging.destination.partition.id": "0",
143
+ "messaging.client_id": "consumer-billing-1",
144
+ "messaging.message.body.size": 128,
145
+ },
146
+ expected: destinationOf({
147
+ system: "kafka",
148
+ destination: "orders",
149
+ direction: "consume",
150
+ consumerGroup: "billing",
151
+ }),
152
+ },
153
+ {
154
+ name: "Java agent Kafka receive of a batch spanning several topics (no destination)",
155
+ kind: CONSUMER,
156
+ attributes: {
157
+ "messaging.system": "kafka",
158
+ "messaging.operation": "receive",
159
+ "messaging.batch.message_count": 12,
160
+ "messaging.kafka.consumer.group": "billing",
161
+ },
162
+ expected: null,
163
+ },
164
+ {
165
+ name: "Java agent Kafka poll (messaging semconv opt-in)",
166
+ kind: CLIENT,
167
+ attributes: {
168
+ "messaging.system": "kafka",
169
+ "messaging.destination.name": "orders",
170
+ "messaging.operation.type": "receive",
171
+ "messaging.operation.name": "poll",
172
+ "messaging.consumer.group.name": "billing",
173
+ "messaging.client.id": "consumer-billing-1",
174
+ "messaging.batch.message_count": 5,
175
+ },
176
+ expected: destinationOf({
177
+ system: "kafka",
178
+ destination: "orders",
179
+ direction: "consume",
180
+ consumerGroup: "billing",
181
+ }),
182
+ },
183
+ {
184
+ name: "Java agent Kafka process (messaging semconv opt-in)",
185
+ kind: CONSUMER,
186
+ attributes: {
187
+ "messaging.system": "kafka",
188
+ "messaging.destination.name": "orders",
189
+ "messaging.operation.type": "process",
190
+ "messaging.operation.name": "process",
191
+ "messaging.consumer.group.name": "billing",
192
+ "messaging.kafka.offset": 17,
193
+ },
194
+ expected: destinationOf({
195
+ system: "kafka",
196
+ destination: "orders",
197
+ direction: "consume",
198
+ consumerGroup: "billing",
199
+ }),
200
+ },
201
+ {
202
+ name: "Confluent.Kafka .NET send (semconv 1.44)",
203
+ kind: PRODUCER,
204
+ attributes: {
205
+ "messaging.system": "kafka",
206
+ "messaging.destination.name": "orders",
207
+ "messaging.operation.type": "send",
208
+ "messaging.operation.name": "send",
209
+ "messaging.kafka.cluster.id": "lkc-7yq8z",
210
+ "messaging.destination.partition.id": "1",
211
+ "messaging.client.id": "rdkafka#producer-1",
212
+ },
213
+ expected: destinationOf({
214
+ system: "kafka",
215
+ destination: "orders",
216
+ direction: "publish",
217
+ }),
218
+ },
219
+ {
220
+ name: "kafkajs 0.9+ process",
221
+ kind: CONSUMER,
222
+ attributes: {
223
+ "messaging.system": "kafka",
224
+ "messaging.destination.name": "orders",
225
+ "messaging.operation.type": "process",
226
+ "messaging.operation.name": "process",
227
+ "messaging.kafka.cluster.id": "5L6g3nShT-eMCtK--X86sw",
228
+ },
229
+ expected: destinationOf({
230
+ system: "kafka",
231
+ destination: "orders",
232
+ direction: "consume",
233
+ }),
234
+ },
235
+ {
236
+ name: "kafkajs before 0.9 send (pre-1.17 key, no operation on producers)",
237
+ kind: PRODUCER,
238
+ attributes: {
239
+ "messaging.system": "kafka",
240
+ "messaging.destination": "orders",
241
+ },
242
+ expected: destinationOf({
243
+ system: "kafka",
244
+ destination: "orders",
245
+ direction: "publish",
246
+ }),
247
+ },
248
+ {
249
+ name: "kafka-python send (bootstrap servers as a JSON list in messaging.url)",
250
+ kind: PRODUCER,
251
+ attributes: {
252
+ "messaging.system": "kafka",
253
+ "messaging.destination": "orders",
254
+ "messaging.kafka.partition": 0,
255
+ "messaging.url": '["kafka-1:9092", "kafka-2:9092"]',
256
+ },
257
+ expected: destinationOf({
258
+ system: "kafka",
259
+ destination: "orders",
260
+ direction: "publish",
261
+ brokerAddress: "kafka-1:9092",
262
+ }),
263
+ },
264
+ {
265
+ name: "confluent-kafka (Python) produce up to v0.62b1: operation 'receive' on a PRODUCER span",
266
+ kind: PRODUCER,
267
+ attributes: {
268
+ "messaging.system": "kafka",
269
+ "messaging.destination": "orders",
270
+ "messaging.destination_kind": "queue",
271
+ "messaging.operation": "receive",
272
+ "messaging.kafka.partition": 2,
273
+ "server.address": "kafka-1",
274
+ "server.port": 9092,
275
+ },
276
+ expected: destinationOf({
277
+ system: "kafka",
278
+ destination: "orders",
279
+ direction: "publish",
280
+ brokerAddress: "kafka-1:9092",
281
+ }),
282
+ },
283
+ {
284
+ name: "confluent-kafka (Python) process",
285
+ kind: CONSUMER,
286
+ attributes: {
287
+ "messaging.system": "kafka",
288
+ "messaging.destination": "orders",
289
+ "messaging.operation": "process",
290
+ "messaging.message.id": "orders.2.1042",
291
+ "server.address": "kafka-1",
292
+ "server.port": "9092",
293
+ },
294
+ expected: destinationOf({
295
+ system: "kafka",
296
+ destination: "orders",
297
+ direction: "consume",
298
+ brokerAddress: "kafka-1:9092",
299
+ }),
300
+ },
301
+ {
302
+ name: "aiokafka send (bootstrap servers as a JSON list in server.address)",
303
+ kind: PRODUCER,
304
+ attributes: {
305
+ "messaging.system": "kafka",
306
+ "messaging.destination.name": "orders",
307
+ "messaging.operation.name": "send",
308
+ "messaging.operation.type": "publish",
309
+ "server.address": '["broker-1:9092", "broker-2:9092"]',
310
+ "messaging.client.id": "aiokafka-1",
311
+ },
312
+ expected: destinationOf({
313
+ system: "kafka",
314
+ destination: "orders",
315
+ direction: "publish",
316
+ brokerAddress: "broker-1:9092",
317
+ }),
318
+ },
319
+ {
320
+ name: "otelsarama (Go, semconv 1.17) publish",
321
+ kind: PRODUCER,
322
+ attributes: {
323
+ "messaging.system": "kafka",
324
+ "messaging.destination.name": "orders",
325
+ "messaging.destination.kind": "topic",
326
+ "messaging.operation": "publish",
327
+ },
328
+ expected: destinationOf({
329
+ system: "kafka",
330
+ destination: "orders",
331
+ direction: "publish",
332
+ }),
333
+ },
334
+
335
+ // ---- RabbitMQ --------------------------------------------------------------
336
+ {
337
+ name: "Java agent RabbitMQ publish to a named exchange (default mode names the exchange)",
338
+ kind: PRODUCER,
339
+ attributes: {
340
+ "messaging.system": "rabbitmq",
341
+ "messaging.destination.name": "orders-exchange",
342
+ "messaging.rabbitmq.destination.routing_key": "order.created",
343
+ "messaging.operation": "publish",
344
+ "network.peer.address": "10.0.0.7",
345
+ "network.peer.port": 5672,
346
+ },
347
+ expected: destinationOf({
348
+ system: "rabbitmq",
349
+ destination: "orders-exchange",
350
+ direction: "publish",
351
+ brokerAddress: "10.0.0.7:5672",
352
+ }),
353
+ },
354
+ {
355
+ name: "Java agent RabbitMQ publish to the default exchange (<default> + routing key)",
356
+ kind: PRODUCER,
357
+ attributes: {
358
+ "messaging.system": "rabbitmq",
359
+ "messaging.destination.name": "<default>",
360
+ "messaging.rabbitmq.destination.routing_key": "work-queue",
361
+ "messaging.operation": "publish",
362
+ "network.peer.address": "10.0.0.7",
363
+ "network.peer.port": 5672,
364
+ },
365
+ expected: destinationOf({
366
+ system: "rabbitmq",
367
+ destination: "work-queue",
368
+ direction: "publish",
369
+ brokerAddress: "10.0.0.7:5672",
370
+ }),
371
+ },
372
+ {
373
+ name: "Java agent RabbitMQ process from a default-exchange queue",
374
+ kind: CONSUMER,
375
+ attributes: {
376
+ "messaging.system": "rabbitmq",
377
+ "messaging.destination.name": "<default>",
378
+ "messaging.rabbitmq.destination.routing_key": "work-queue",
379
+ "messaging.operation": "process",
380
+ },
381
+ expected: destinationOf({
382
+ system: "rabbitmq",
383
+ destination: "work-queue",
384
+ direction: "consume",
385
+ }),
386
+ },
387
+ {
388
+ name: "Java agent RabbitMQ receive from a server-named queue (amq.gen-)",
389
+ kind: CONSUMER,
390
+ attributes: {
391
+ "messaging.system": "rabbitmq",
392
+ "messaging.destination.name": "<default>",
393
+ "messaging.rabbitmq.destination.routing_key":
394
+ "amq.gen-JzTY20BRgKO-HjmUJj0wLg",
395
+ "messaging.operation": "receive",
396
+ },
397
+ expected: null,
398
+ },
399
+ {
400
+ name: "Java agent RabbitMQ queue.declare (a method span carrying only the system)",
401
+ kind: CLIENT,
402
+ attributes: {
403
+ "messaging.system": "rabbitmq",
404
+ "network.peer.address": "10.0.0.7",
405
+ "network.peer.port": 5672,
406
+ },
407
+ expected: null,
408
+ },
409
+ {
410
+ name: "Java agent RabbitMQ publish (opt-in): {exchange}:{routing key}",
411
+ kind: PRODUCER,
412
+ attributes: {
413
+ "messaging.system": "rabbitmq",
414
+ "messaging.destination.name": "direct_logs:warning",
415
+ "messaging.rabbitmq.destination.routing_key": "warning",
416
+ "messaging.operation.type": "send",
417
+ "messaging.operation.name": "publish",
418
+ "server.address": "rabbit.prod",
419
+ "server.port": 5672,
420
+ },
421
+ expected: destinationOf({
422
+ system: "rabbitmq",
423
+ destination: "direct_logs",
424
+ direction: "publish",
425
+ brokerAddress: "rabbit.prod:5672",
426
+ }),
427
+ },
428
+ {
429
+ name: "Java agent RabbitMQ process (opt-in): {exchange}:{routing key}:{queue}",
430
+ kind: CONSUMER,
431
+ attributes: {
432
+ "messaging.system": "rabbitmq",
433
+ "messaging.destination.name": "direct_logs:warning:warning_queue",
434
+ "messaging.rabbitmq.destination.routing_key": "warning",
435
+ "messaging.operation.type": "process",
436
+ },
437
+ expected: destinationOf({
438
+ system: "rabbitmq",
439
+ destination: "warning_queue",
440
+ direction: "consume",
441
+ }),
442
+ },
443
+ {
444
+ name: "RabbitMQ publish to the default exchange with no routing key (amq.default alone)",
445
+ kind: PRODUCER,
446
+ attributes: {
447
+ "messaging.system": "rabbitmq",
448
+ "messaging.destination.name": "amq.default",
449
+ "messaging.operation.type": "send",
450
+ },
451
+ expected: null,
452
+ },
453
+ {
454
+ name: "Java agent RabbitMQ anonymous queue (opt-in flag)",
455
+ kind: CONSUMER,
456
+ attributes: {
457
+ "messaging.system": "rabbitmq",
458
+ "messaging.destination.name": "logs:info:amq.gen-8c2dWmkGJZ4-vS3a5oSaGQ",
459
+ "messaging.rabbitmq.destination.routing_key": "info",
460
+ "messaging.destination.anonymous": true,
461
+ },
462
+ expected: null,
463
+ },
464
+ {
465
+ name: "JS amqplib publish to the default exchange ('' exchange, routing key is the queue)",
466
+ kind: PRODUCER,
467
+ attributes: {
468
+ "messaging.system": "rabbitmq",
469
+ "messaging.destination": "",
470
+ "messaging.destination_kind": "topic",
471
+ "messaging.rabbitmq.routing_key": "task_queue",
472
+ "messaging.protocol": "AMQP",
473
+ "messaging.protocol_version": "0.9.1",
474
+ "messaging.url": "amqp://guest:***@localhost:5672",
475
+ "server.address": "localhost",
476
+ "server.port": 5672,
477
+ "messaging.message_id": "b7e6f1c2",
478
+ },
479
+ expected: destinationOf({
480
+ system: "rabbitmq",
481
+ destination: "task_queue",
482
+ direction: "publish",
483
+ brokerAddress: "localhost:5672",
484
+ }),
485
+ },
486
+ {
487
+ name: "JS amqplib consume from a named exchange (address from the censored URL)",
488
+ kind: CONSUMER,
489
+ attributes: {
490
+ "messaging.system": "rabbitmq",
491
+ "messaging.destination": "logs",
492
+ "messaging.rabbitmq.routing_key": "info",
493
+ "messaging.operation": "process",
494
+ "messaging.url": "amqp://user:***@rabbit.internal:5672/prod",
495
+ },
496
+ expected: destinationOf({
497
+ system: "rabbitmq",
498
+ destination: "logs",
499
+ direction: "consume",
500
+ brokerAddress: "rabbit.internal:5672",
501
+ }),
502
+ },
503
+ {
504
+ name: "JS amqplib up to 0.55 (net.peer.* keys)",
505
+ kind: PRODUCER,
506
+ attributes: {
507
+ "messaging.system": "rabbitmq",
508
+ "messaging.destination": "events",
509
+ "messaging.rabbitmq.routing_key": "user.signup",
510
+ "net.peer.name": "rabbit.internal",
511
+ "net.peer.port": 5672,
512
+ },
513
+ expected: destinationOf({
514
+ system: "rabbitmq",
515
+ destination: "events",
516
+ direction: "publish",
517
+ brokerAddress: "rabbit.internal:5672",
518
+ }),
519
+ },
520
+ {
521
+ name: "Python pika publish (messaging.temp_destination is set on EVERY publish: not trusted)",
522
+ kind: PRODUCER,
523
+ attributes: {
524
+ "messaging.system": "rabbitmq",
525
+ "messaging.temp_destination": true,
526
+ "messaging.destination": "orders",
527
+ "net.peer.name": "rabbit.prod",
528
+ "net.peer.port": 5672,
529
+ },
530
+ expected: destinationOf({
531
+ system: "rabbitmq",
532
+ destination: "orders",
533
+ direction: "publish",
534
+ brokerAddress: "rabbit.prod:5672",
535
+ }),
536
+ },
537
+ {
538
+ name: "Python pika consume",
539
+ kind: CONSUMER,
540
+ attributes: {
541
+ "messaging.system": "rabbitmq",
542
+ "messaging.destination": "orders",
543
+ "messaging.operation": "receive",
544
+ "messaging.message_id": "7f3c",
545
+ },
546
+ expected: destinationOf({
547
+ system: "rabbitmq",
548
+ destination: "orders",
549
+ direction: "consume",
550
+ }),
551
+ },
552
+ {
553
+ name: "aio-pika publish ({exchange},{routing key}, comma-joined)",
554
+ kind: PRODUCER,
555
+ attributes: {
556
+ "messaging.system": "rabbitmq",
557
+ "messaging.destination": "orders,order.created",
558
+ "messaging.temp_destination": true,
559
+ "net.peer.name": "rabbit.prod",
560
+ "net.peer.port": 5672,
561
+ },
562
+ expected: destinationOf({
563
+ system: "rabbitmq",
564
+ destination: "orders",
565
+ direction: "publish",
566
+ brokerAddress: "rabbit.prod:5672",
567
+ }),
568
+ },
569
+ {
570
+ name: "aio-pika publish to the default exchange (',{routing key}')",
571
+ kind: PRODUCER,
572
+ attributes: {
573
+ "messaging.system": "rabbitmq",
574
+ "messaging.destination": ",task_queue",
575
+ "messaging.temp_destination": true,
576
+ },
577
+ expected: destinationOf({
578
+ system: "rabbitmq",
579
+ destination: "task_queue",
580
+ direction: "publish",
581
+ }),
582
+ },
583
+ {
584
+ name: ".NET RabbitMQ.Client v7 publish through the default exchange (amq.default)",
585
+ kind: PRODUCER,
586
+ attributes: {
587
+ "messaging.system": "rabbitmq",
588
+ "messaging.destination.name": "amq.default",
589
+ "messaging.rabbitmq.destination.routing_key": "orders",
590
+ "messaging.operation.type": "send",
591
+ "server.address": "rabbit.prod",
592
+ "server.port": 5672,
593
+ "network.protocol.name": "amqp",
594
+ },
595
+ expected: destinationOf({
596
+ system: "rabbitmq",
597
+ destination: "orders",
598
+ direction: "publish",
599
+ brokerAddress: "rabbit.prod:5672",
600
+ }),
601
+ },
602
+ {
603
+ name: ".NET RabbitMQ.Client direct reply-to",
604
+ kind: PRODUCER,
605
+ attributes: {
606
+ "messaging.system": "rabbitmq",
607
+ "messaging.destination.name": "amq.default",
608
+ "messaging.rabbitmq.destination.routing_key":
609
+ "amq.rabbitmq.reply-to.g1h2AA5yZXBseS10bw==",
610
+ "messaging.operation.type": "send",
611
+ },
612
+ expected: null,
613
+ },
614
+ {
615
+ name: "Spring Cloud Stream anonymous group queue (opt-in)",
616
+ kind: CONSUMER,
617
+ attributes: {
618
+ "messaging.system": "rabbitmq",
619
+ "messaging.destination.name":
620
+ "orders:#:orders.anonymous.X8o1yfRBQXSp5Bdd09ls7w",
621
+ "messaging.rabbitmq.destination.routing_key": "#",
622
+ "messaging.operation.type": "process",
623
+ },
624
+ expected: null,
625
+ },
626
+ {
627
+ name: "Spring AMQP UUID-named queue on the default exchange",
628
+ kind: CONSUMER,
629
+ attributes: {
630
+ "messaging.system": "rabbitmq",
631
+ "messaging.destination.name": "<default>",
632
+ "messaging.rabbitmq.destination.routing_key":
633
+ "3f6a5b2c-1d4e-4f5a-8b6c-7d8e9f0a1b2c",
634
+ },
635
+ expected: null,
636
+ },
637
+ {
638
+ name: "Spring Rabbit (default mode) names the routing key",
639
+ kind: CONSUMER,
640
+ attributes: {
641
+ "messaging.system": "rabbitmq",
642
+ "messaging.destination.name": "order.created",
643
+ "messaging.operation": "process",
644
+ },
645
+ expected: destinationOf({
646
+ system: "rabbitmq",
647
+ destination: "order.created",
648
+ direction: "consume",
649
+ }),
650
+ },
651
+ {
652
+ name: "An exchange named with a colon (MassTransit style), which the routing key contradicts",
653
+ kind: PRODUCER,
654
+ attributes: {
655
+ "messaging.system": "rabbitmq",
656
+ "messaging.destination.name": "Contracts:OrderSubmitted",
657
+ "messaging.rabbitmq.destination.routing_key": "order.submitted",
658
+ },
659
+ expected: destinationOf({
660
+ system: "rabbitmq",
661
+ destination: "Contracts:OrderSubmitted",
662
+ direction: "publish",
663
+ }),
664
+ },
665
+ {
666
+ /*
667
+ * Semconv 1.30 consumer name: the queue equals the routing key, so it
668
+ * is left out (RabbitInstrumenterHelper.consumerDestinationName).
669
+ */
670
+ name: "Java agent RabbitMQ process (opt-in): {exchange}:{routing key} when the routing key is the queue",
671
+ kind: CONSUMER,
672
+ attributes: {
673
+ "messaging.system": "rabbitmq",
674
+ "messaging.destination.name": "direct_logs:warning",
675
+ "messaging.rabbitmq.destination.routing_key": "warning",
676
+ "messaging.operation.type": "process",
677
+ "messaging.operation.name": "process",
678
+ "messaging.rabbitmq.message.delivery_tag": 7,
679
+ },
680
+ expected: destinationOf({
681
+ system: "rabbitmq",
682
+ destination: "warning",
683
+ direction: "consume",
684
+ }),
685
+ },
686
+ {
687
+ /*
688
+ * A fanout exchange's routing key is empty: left out of the name, and
689
+ * no routing-key attribute (RabbitDeliveryExtraAttributesExtractor sets
690
+ * it only when non-empty).
691
+ */
692
+ name: "Java agent RabbitMQ process (opt-in) from a fanout exchange: {exchange}:{queue}",
693
+ kind: CONSUMER,
694
+ attributes: {
695
+ "messaging.system": "rabbitmq",
696
+ "messaging.destination.name": "logs:logs-audit",
697
+ "messaging.operation.type": "process",
698
+ "messaging.operation.name": "process",
699
+ },
700
+ expected: destinationOf({
701
+ system: "rabbitmq",
702
+ destination: "logs-audit",
703
+ direction: "consume",
704
+ }),
705
+ },
706
+ {
707
+ name: "Java agent RabbitMQ basic.ack (opt-in): the consumer's {exchange}:{routing key}",
708
+ kind: CLIENT,
709
+ attributes: {
710
+ "messaging.system": "rabbitmq",
711
+ "messaging.destination.name": "direct_logs:warning",
712
+ "messaging.rabbitmq.destination.routing_key": "warning",
713
+ "messaging.operation.type": "settle",
714
+ "messaging.operation.name": "ack",
715
+ },
716
+ expected: destinationOf({
717
+ system: "rabbitmq",
718
+ destination: "warning",
719
+ direction: "settle",
720
+ }),
721
+ },
722
+ {
723
+ /*
724
+ * MassTransit's own send span (LogContextActivityExtensions
725
+ * .StartSendActivity): the exchange of the message type
726
+ * (`Namespace:Type`, RabbitMqMessageNameFormatter) and the legacy
727
+ * operation key; a publish's routing key is empty, so it is not tagged.
728
+ */
729
+ name: "MassTransit publish to a message-type exchange (Namespace:Type, no routing key)",
730
+ kind: PRODUCER,
731
+ attributes: {
732
+ "messaging.system": "rabbitmq",
733
+ "messaging.operation": "send",
734
+ "messaging.destination.name": "MyApp.Contracts:OrderSubmitted",
735
+ "messaging.message.id": "0b3a0000-5d3e-0015-5c5b-08dd4f1e6b1c",
736
+ "messaging.masstransit.message_types":
737
+ "urn:message:MyApp.Contracts:OrderSubmitted",
738
+ },
739
+ expected: destinationOf({
740
+ system: "rabbitmq",
741
+ destination: "MyApp.Contracts:OrderSubmitted",
742
+ direction: "publish",
743
+ }),
744
+ },
745
+ {
746
+ name: "MassTransit publish of another message type from the same namespace (its own exchange)",
747
+ kind: PRODUCER,
748
+ attributes: {
749
+ "messaging.system": "rabbitmq",
750
+ "messaging.operation": "send",
751
+ "messaging.destination.name": "MyApp.Contracts:OrderCancelled",
752
+ },
753
+ expected: destinationOf({
754
+ system: "rabbitmq",
755
+ destination: "MyApp.Contracts:OrderCancelled",
756
+ direction: "publish",
757
+ }),
758
+ },
759
+ {
760
+ /*
761
+ * MassTransit's receive span (StartReceiveActivity) names its endpoint's
762
+ * queue but no messaging.system: nothing says which broker it is.
763
+ */
764
+ name: "MassTransit receive span (the endpoint queue, but no messaging.system)",
765
+ kind: CONSUMER,
766
+ attributes: {
767
+ "messaging.operation": "receive",
768
+ "messaging.destination.name": "submit-order",
769
+ "messaging.masstransit.input_address":
770
+ "rabbitmq://rabbit.prod/submit-order",
771
+ },
772
+ expected: null,
773
+ },
774
+ {
775
+ /*
776
+ * RabbitMQ.Client for .NET v7 (PopulateMessagingTags) names the exchange
777
+ * alone and always tags the routing key, here empty.
778
+ */
779
+ name: ".NET RabbitMQ.Client v7 publish to a MassTransit exchange (the exchange alone, empty routing key)",
780
+ kind: PRODUCER,
781
+ attributes: {
782
+ "messaging.system": "rabbitmq",
783
+ "network.protocol.name": "amqp",
784
+ "network.protocol.version": "0.9.1",
785
+ "messaging.operation.type": "send",
786
+ "messaging.operation.name": "publish",
787
+ "messaging.destination.name": "MyApp.Contracts:OrderSubmitted",
788
+ "messaging.rabbitmq.destination.routing_key": "",
789
+ },
790
+ expected: destinationOf({
791
+ system: "rabbitmq",
792
+ destination: "MyApp.Contracts:OrderSubmitted",
793
+ direction: "publish",
794
+ }),
795
+ },
796
+ {
797
+ name: ".NET RabbitMQ.Client v7 deliver from a MassTransit exchange (the exchange alone, not {exchange}:{queue})",
798
+ kind: CONSUMER,
799
+ attributes: {
800
+ "messaging.system": "rabbitmq",
801
+ "network.protocol.name": "amqp",
802
+ "network.protocol.version": "0.9.1",
803
+ "messaging.operation.type": "process",
804
+ "messaging.operation.name": "deliver",
805
+ "messaging.destination.name": "MyApp.Contracts:OrderSubmitted",
806
+ "messaging.rabbitmq.destination.routing_key": "",
807
+ "messaging.rabbitmq.delivery_tag": 5,
808
+ },
809
+ expected: destinationOf({
810
+ system: "rabbitmq",
811
+ destination: "MyApp.Contracts:OrderSubmitted",
812
+ direction: "consume",
813
+ }),
814
+ },
815
+ {
816
+ // The Java agent's default mode names the exchange alone, colon and all.
817
+ name: "Java agent RabbitMQ process (default mode) from a MassTransit exchange (no routing key)",
818
+ kind: CONSUMER,
819
+ attributes: {
820
+ "messaging.system": "rabbitmq",
821
+ "messaging.operation": "process",
822
+ "messaging.destination.name": "MyApp.Contracts:OrderSubmitted",
823
+ "network.peer.address": "10.0.0.7",
824
+ "network.peer.port": 5672,
825
+ },
826
+ expected: destinationOf({
827
+ system: "rabbitmq",
828
+ destination: "MyApp.Contracts:OrderSubmitted",
829
+ direction: "consume",
830
+ brokerAddress: "10.0.0.7:5672",
831
+ }),
832
+ },
833
+ {
834
+ /*
835
+ * RabbitMqMessageNameFormatter writes a generic type's argument after
836
+ * "--" in its own `Namespace:Type`: the Fault<T> MassTransit publishes on
837
+ * a consumer fault goes to an exchange with two colons, still one name.
838
+ */
839
+ name: "MassTransit publish of a Fault<T> (a generic type's exchange: two colons, no routing key)",
840
+ kind: PRODUCER,
841
+ attributes: {
842
+ "messaging.system": "rabbitmq",
843
+ "messaging.operation": "send",
844
+ "messaging.destination.name":
845
+ "MassTransit:Fault--MyApp.Contracts:OrderSubmitted--",
846
+ },
847
+ expected: destinationOf({
848
+ system: "rabbitmq",
849
+ destination: "MassTransit:Fault--MyApp.Contracts:OrderSubmitted--",
850
+ direction: "publish",
851
+ }),
852
+ },
853
+ {
854
+ name: ".NET RabbitMQ.Client v7 deliver from a MassTransit Fault<T> exchange (the exchange alone)",
855
+ kind: CONSUMER,
856
+ attributes: {
857
+ "messaging.system": "rabbitmq",
858
+ "network.protocol.name": "amqp",
859
+ "network.protocol.version": "0.9.1",
860
+ "messaging.operation.type": "process",
861
+ "messaging.operation.name": "deliver",
862
+ "messaging.destination.name":
863
+ "MassTransit:Fault--MyApp.Contracts:OrderSubmitted--",
864
+ "messaging.rabbitmq.destination.routing_key": "",
865
+ "messaging.rabbitmq.delivery_tag": 11,
866
+ },
867
+ expected: destinationOf({
868
+ system: "rabbitmq",
869
+ destination: "MassTransit:Fault--MyApp.Contracts:OrderSubmitted--",
870
+ direction: "consume",
871
+ }),
872
+ },
873
+ {
874
+ /*
875
+ * Semconv 1.30 on a consumer of an exchange named with a colon: the
876
+ * empty routing key is left out, and no routing-key attribute is set.
877
+ */
878
+ name: "Java agent RabbitMQ process (opt-in) from a MassTransit exchange: Namespace:Type:{queue}",
879
+ kind: CONSUMER,
880
+ attributes: {
881
+ "messaging.system": "rabbitmq",
882
+ "messaging.destination.name":
883
+ "MyApp.Contracts:OrderSubmitted:billing-order-submitted",
884
+ "messaging.operation.type": "process",
885
+ "messaging.operation.name": "process",
886
+ },
887
+ expected: destinationOf({
888
+ system: "rabbitmq",
889
+ destination: "billing-order-submitted",
890
+ direction: "consume",
891
+ }),
892
+ },
893
+ {
894
+ /*
895
+ * A responder answering a MassTransit request client: the response goes
896
+ * to the requester's bus endpoint, one per process
897
+ * (`{machine}_{process}_bus_{NewId}`).
898
+ */
899
+ name: ".NET RabbitMQ.Client v7 publish of a response to a MassTransit bus endpoint (one per process)",
900
+ kind: PRODUCER,
901
+ attributes: {
902
+ "messaging.system": "rabbitmq",
903
+ "network.protocol.name": "amqp",
904
+ "network.protocol.version": "0.9.1",
905
+ "messaging.operation.type": "send",
906
+ "messaging.operation.name": "publish",
907
+ "messaging.destination.name":
908
+ "ordersapi7d9f8c6b5xk2lq_OrdersApi_bus_kd4oyqbeynuojexybdxt7414fx",
909
+ "messaging.rabbitmq.destination.routing_key": "",
910
+ },
911
+ expected: null,
912
+ },
913
+
914
+ // ---- JMS / Apache ActiveMQ -------------------------------------------------
915
+ {
916
+ name: "Java agent JMS send to a queue",
917
+ kind: PRODUCER,
918
+ attributes: {
919
+ "messaging.system": "jms",
920
+ "messaging.destination.name": "orders.queue",
921
+ "messaging.operation": "publish",
922
+ "messaging.message.id": "ID:app-1-38221-1727698123456-1:1:1:1:1",
923
+ "messaging.message.conversation_id": "c-17",
924
+ },
925
+ expected: destinationOf({
926
+ system: "jms",
927
+ destination: "orders.queue",
928
+ direction: "publish",
929
+ }),
930
+ },
931
+ {
932
+ name: "Java agent JMS temporary queue ((temporary) + flag)",
933
+ kind: CONSUMER,
934
+ attributes: {
935
+ "messaging.system": "jms",
936
+ "messaging.destination.name": "(temporary)",
937
+ "messaging.destination.temporary": true,
938
+ "messaging.operation": "receive",
939
+ },
940
+ expected: null,
941
+ },
942
+ {
943
+ name: "TIBCO temporary destination ($TMP$ prefix)",
944
+ kind: PRODUCER,
945
+ attributes: {
946
+ "messaging.system": "jms",
947
+ "messaging.destination.name": "$TMP$.EMS-SERVER.1F2C5E7A.1",
948
+ },
949
+ expected: null,
950
+ },
951
+ {
952
+ name: "ActiveMQ advisory topic",
953
+ kind: CONSUMER,
954
+ attributes: {
955
+ "messaging.system": "jms",
956
+ "messaging.destination.name": "ActiveMQ.Advisory.Connection",
957
+ },
958
+ expected: null,
959
+ },
960
+ {
961
+ name: "ActiveMQ destination printed with its queue:// prefix",
962
+ kind: PRODUCER,
963
+ attributes: {
964
+ "messaging.system": "activemq",
965
+ "messaging.destination.name": "queue://orders",
966
+ },
967
+ expected: destinationOf({
968
+ system: "activemq",
969
+ destination: "orders",
970
+ direction: "publish",
971
+ }),
972
+ },
973
+ {
974
+ name: "ActiveMQ destination printed with its topic:// prefix",
975
+ kind: CONSUMER,
976
+ attributes: {
977
+ "messaging.system": "activemq",
978
+ "messaging.destination.name": "TOPIC://prices",
979
+ },
980
+ expected: destinationOf({
981
+ system: "activemq",
982
+ destination: "prices",
983
+ direction: "consume",
984
+ }),
985
+ },
986
+ {
987
+ name: "ActiveMQ shared dead-letter queue",
988
+ kind: CONSUMER,
989
+ attributes: {
990
+ "messaging.system": "activemq",
991
+ "messaging.destination.name": "ActiveMQ.DLQ",
992
+ "messaging.operation": "receive",
993
+ },
994
+ expected: destinationOf({
995
+ system: "activemq",
996
+ destination: "ActiveMQ.DLQ",
997
+ direction: "consume",
998
+ isDeadLetter: true,
999
+ }),
1000
+ },
1001
+ {
1002
+ name: "ActiveMQ individual dead-letter queue (DLQ. prefix) over JMS",
1003
+ kind: CONSUMER,
1004
+ attributes: {
1005
+ "messaging.system": "jms",
1006
+ "messaging.destination.name": "DLQ.orders",
1007
+ },
1008
+ expected: destinationOf({
1009
+ system: "jms",
1010
+ destination: "DLQ.orders",
1011
+ direction: "consume",
1012
+ isDeadLetter: true,
1013
+ }),
1014
+ },
1015
+ {
1016
+ name: "JMS temporary queue as ActiveMQ prints it (temp-queue://)",
1017
+ kind: CONSUMER,
1018
+ attributes: {
1019
+ "messaging.system": "jms",
1020
+ "messaging.destination.name":
1021
+ "temp-queue://ID:app-1-38221-1727698123456-1:1:1",
1022
+ },
1023
+ expected: null,
1024
+ },
1025
+ {
1026
+ name: "ActiveMQ Artemis spelling",
1027
+ kind: PRODUCER,
1028
+ attributes: {
1029
+ "messaging.system": "artemis",
1030
+ "messaging.destination.name": "orders",
1031
+ },
1032
+ expected: destinationOf({
1033
+ system: "activemq",
1034
+ destination: "orders",
1035
+ direction: "publish",
1036
+ }),
1037
+ },
1038
+
1039
+ // ---- Amazon SQS ------------------------------------------------------------
1040
+ {
1041
+ name: "Java agent SQS send up to 2.3.0 (AmazonSQS)",
1042
+ kind: PRODUCER,
1043
+ attributes: {
1044
+ "messaging.system": "AmazonSQS",
1045
+ "messaging.destination.name": "orders",
1046
+ "aws.sqs.queue.url": SQS_QUEUE_URL,
1047
+ "messaging.operation": "publish",
1048
+ "rpc.system": "aws-api",
1049
+ "rpc.service": "Sqs",
1050
+ "rpc.method": "SendMessage",
1051
+ "server.address": "sqs.us-east-1.amazonaws.com",
1052
+ "server.port": 443,
1053
+ "messaging.message.id": "5fea7756-0ea4-451a-a703-a558b933e274",
1054
+ },
1055
+ expected: destinationOf({
1056
+ system: "aws_sqs",
1057
+ destination: "orders",
1058
+ direction: "publish",
1059
+ brokerAddress: "sqs.us-east-1.amazonaws.com:443",
1060
+ }),
1061
+ },
1062
+ {
1063
+ name: "Java agent SQS receive from 2.4.0 (aws_sqs)",
1064
+ kind: CONSUMER,
1065
+ attributes: {
1066
+ "messaging.system": "aws_sqs",
1067
+ "messaging.destination.name": "orders",
1068
+ "aws.sqs.queue.url": SQS_QUEUE_URL,
1069
+ "messaging.operation": "receive",
1070
+ "rpc.system": "aws-api",
1071
+ "rpc.service": "Sqs",
1072
+ "rpc.method": "ReceiveMessage",
1073
+ },
1074
+ expected: destinationOf({
1075
+ system: "aws_sqs",
1076
+ destination: "orders",
1077
+ direction: "consume",
1078
+ }),
1079
+ },
1080
+ {
1081
+ name: "Java agent Lambda SQS event, legacy mode (destination aws:sqs)",
1082
+ kind: CONSUMER,
1083
+ attributes: {
1084
+ "messaging.system": "aws_sqs",
1085
+ "messaging.destination.name": "aws:sqs",
1086
+ "messaging.operation": "process",
1087
+ },
1088
+ expected: null,
1089
+ },
1090
+ {
1091
+ name: "JS aws-sdk SQS send up to 0.57.0 (aws.sqs)",
1092
+ kind: PRODUCER,
1093
+ attributes: {
1094
+ "messaging.system": "aws.sqs",
1095
+ "messaging.destination.name": "orders",
1096
+ "url.full": SQS_QUEUE_URL,
1097
+ "rpc.system": "aws-api",
1098
+ "rpc.service": "SQS",
1099
+ "rpc.method": "SendMessage",
1100
+ },
1101
+ expected: destinationOf({
1102
+ system: "aws_sqs",
1103
+ destination: "orders",
1104
+ direction: "publish",
1105
+ }),
1106
+ },
1107
+ {
1108
+ name: "Python boto3sqs receive (queue URL in messaging.url)",
1109
+ kind: CONSUMER,
1110
+ attributes: {
1111
+ "messaging.system": "aws.sqs",
1112
+ "messaging.destination": "orders",
1113
+ "messaging.destination_kind": "queue",
1114
+ "messaging.url":
1115
+ "https://sqs.eu-west-1.amazonaws.com/123456789012/orders",
1116
+ "messaging.operation": "receive",
1117
+ },
1118
+ expected: destinationOf({
1119
+ system: "aws_sqs",
1120
+ destination: "orders",
1121
+ direction: "consume",
1122
+ brokerAddress: "sqs.eu-west-1.amazonaws.com",
1123
+ }),
1124
+ },
1125
+ {
1126
+ name: "Python botocore SQS SendMessage (a CLIENT span: direction from rpc.method)",
1127
+ kind: CLIENT,
1128
+ attributes: {
1129
+ "messaging.system": "aws.sqs",
1130
+ "messaging.url": SQS_QUEUE_URL,
1131
+ "messaging.destination": "orders",
1132
+ "aws.queue_url": SQS_QUEUE_URL,
1133
+ "rpc.system": "aws-api",
1134
+ "rpc.service": "SQS",
1135
+ "rpc.method": "SendMessage",
1136
+ },
1137
+ expected: destinationOf({
1138
+ system: "aws_sqs",
1139
+ destination: "orders",
1140
+ direction: "publish",
1141
+ brokerAddress: "sqs.us-east-1.amazonaws.com",
1142
+ }),
1143
+ },
1144
+ {
1145
+ name: "Go otelaws v0.62+ SendMessage (queue URL in server.address, no destination key)",
1146
+ kind: CLIENT,
1147
+ attributes: {
1148
+ "messaging.system": "aws_sqs",
1149
+ "server.address":
1150
+ "https://sqs.us-west-2.amazonaws.com/123456789012/payments",
1151
+ "rpc.system": "aws-api",
1152
+ "rpc.service": "SQS",
1153
+ "rpc.method": "SQS/SendMessage",
1154
+ },
1155
+ expected: destinationOf({
1156
+ system: "aws_sqs",
1157
+ destination: "payments",
1158
+ direction: "publish",
1159
+ brokerAddress: "sqs.us-west-2.amazonaws.com",
1160
+ }),
1161
+ },
1162
+ {
1163
+ name: "Go otelaws up to v0.61 ReceiveMessage (AmazonSQS, queue URL in net.peer.name)",
1164
+ kind: CLIENT,
1165
+ attributes: {
1166
+ "messaging.system": "AmazonSQS",
1167
+ "net.peer.name":
1168
+ "https://sqs.us-west-2.amazonaws.com/123456789012/payments",
1169
+ "rpc.system": "aws-api",
1170
+ "rpc.service": "SQS",
1171
+ "rpc.method": "SQS/ReceiveMessage",
1172
+ },
1173
+ expected: destinationOf({
1174
+ system: "aws_sqs",
1175
+ destination: "payments",
1176
+ direction: "consume",
1177
+ brokerAddress: "sqs.us-west-2.amazonaws.com",
1178
+ }),
1179
+ },
1180
+ {
1181
+ name: "Go otelaws DeleteMessage settles",
1182
+ kind: CLIENT,
1183
+ attributes: {
1184
+ "messaging.system": "aws_sqs",
1185
+ "server.address":
1186
+ "https://sqs.us-west-2.amazonaws.com/123456789012/payments",
1187
+ "rpc.system": "aws-api",
1188
+ "rpc.service": "SQS",
1189
+ "rpc.method": "SQS/DeleteMessage",
1190
+ },
1191
+ expected: destinationOf({
1192
+ system: "aws_sqs",
1193
+ destination: "payments",
1194
+ direction: "settle",
1195
+ brokerAddress: "sqs.us-west-2.amazonaws.com",
1196
+ }),
1197
+ },
1198
+ {
1199
+ name: "Go otelaws ListQueues (a URL without a queue)",
1200
+ kind: CLIENT,
1201
+ attributes: {
1202
+ "messaging.system": "aws_sqs",
1203
+ "server.address": "https://sqs.us-west-2.amazonaws.com",
1204
+ "rpc.system": "aws-api",
1205
+ "rpc.service": "SQS",
1206
+ "rpc.method": "SQS/ListQueues",
1207
+ },
1208
+ expected: null,
1209
+ },
1210
+ {
1211
+ name: ".NET AWS instrumentation, legacy mode (no messaging.system, aws.queue_url)",
1212
+ kind: CLIENT,
1213
+ attributes: {
1214
+ "aws.queue_url": SQS_QUEUE_URL,
1215
+ "rpc.system": "aws-api",
1216
+ "rpc.service": "SQS",
1217
+ "rpc.method": "ReceiveMessage",
1218
+ },
1219
+ expected: destinationOf({
1220
+ system: "aws_sqs",
1221
+ destination: "orders",
1222
+ direction: "consume",
1223
+ }),
1224
+ },
1225
+ {
1226
+ name: ".NET AWS instrumentation, semconv 1.40 mode",
1227
+ kind: PRODUCER,
1228
+ attributes: {
1229
+ "messaging.system": "aws_sqs",
1230
+ "messaging.destination.name": "orders",
1231
+ "messaging.operation.type": "send",
1232
+ },
1233
+ expected: destinationOf({
1234
+ system: "aws_sqs",
1235
+ destination: "orders",
1236
+ direction: "publish",
1237
+ }),
1238
+ },
1239
+ {
1240
+ name: "SQS FIFO queue",
1241
+ kind: PRODUCER,
1242
+ attributes: {
1243
+ "messaging.system": "aws_sqs",
1244
+ "messaging.destination.name": "orders.fifo",
1245
+ },
1246
+ expected: destinationOf({
1247
+ system: "aws_sqs",
1248
+ destination: "orders.fifo",
1249
+ direction: "publish",
1250
+ }),
1251
+ },
1252
+ {
1253
+ name: "SQS queue ARN as the destination",
1254
+ kind: CONSUMER,
1255
+ attributes: {
1256
+ "messaging.system": "aws_sqs",
1257
+ "messaging.destination.name":
1258
+ "arn:aws:sqs:us-east-2:123456789012:my-queue",
1259
+ },
1260
+ expected: destinationOf({
1261
+ system: "aws_sqs",
1262
+ destination: "my-queue",
1263
+ direction: "consume",
1264
+ }),
1265
+ },
1266
+
1267
+ // ---- Amazon SNS ------------------------------------------------------------
1268
+ {
1269
+ name: "Java agent SNS Publish (an RPC span with no messaging.system)",
1270
+ kind: CLIENT,
1271
+ attributes: {
1272
+ "rpc.system": "aws-api",
1273
+ "rpc.service": "Sns",
1274
+ "rpc.method": "Publish",
1275
+ "messaging.destination.name": SNS_TOPIC_ARN,
1276
+ "aws.sns.topic.arn": SNS_TOPIC_ARN,
1277
+ },
1278
+ expected: destinationOf({
1279
+ system: "aws.sns",
1280
+ destination: "order-events",
1281
+ direction: "publish",
1282
+ }),
1283
+ },
1284
+ {
1285
+ name: "Java agent SNS with only the topic ARN key",
1286
+ kind: CLIENT,
1287
+ attributes: {
1288
+ "rpc.system": "aws-api",
1289
+ "rpc.service": "Sns",
1290
+ "rpc.method": "Publish",
1291
+ "aws.sns.topic.arn": "arn:aws:sns:eu-west-1:123456789012:alerts",
1292
+ },
1293
+ expected: destinationOf({
1294
+ system: "aws.sns",
1295
+ destination: "alerts",
1296
+ direction: "publish",
1297
+ }),
1298
+ },
1299
+ {
1300
+ name: "JS aws-sdk SNS Publish (full ARN in messaging.destination.name)",
1301
+ kind: PRODUCER,
1302
+ attributes: {
1303
+ "messaging.system": "aws.sns",
1304
+ "messaging.destination": "order-events",
1305
+ "messaging.destination.name": SNS_TOPIC_ARN,
1306
+ "aws.sns.topic.arn": SNS_TOPIC_ARN,
1307
+ },
1308
+ expected: destinationOf({
1309
+ system: "aws.sns",
1310
+ destination: "order-events",
1311
+ direction: "publish",
1312
+ }),
1313
+ },
1314
+ {
1315
+ name: "JS aws-sdk SNS Publish without a topic ARN ('unknown')",
1316
+ kind: PRODUCER,
1317
+ attributes: {
1318
+ "messaging.system": "aws.sns",
1319
+ "messaging.destination": "unknown",
1320
+ "messaging.destination.name": "unknown",
1321
+ },
1322
+ expected: null,
1323
+ },
1324
+ {
1325
+ name: "SNS SMS publish to a phone number",
1326
+ kind: PRODUCER,
1327
+ attributes: {
1328
+ "messaging.system": "aws.sns",
1329
+ "messaging.destination.name": "+15555550100",
1330
+ },
1331
+ expected: null,
1332
+ },
1333
+ {
1334
+ name: "Python botocore SNS SMS publish (phone_number:**)",
1335
+ kind: PRODUCER,
1336
+ attributes: {
1337
+ "messaging.system": "aws.sns",
1338
+ "messaging.destination": "phone_number:**",
1339
+ "messaging.destination.name": "phone_number:**",
1340
+ },
1341
+ expected: null,
1342
+ },
1343
+ {
1344
+ name: "Go otelaws SNS Publish (aws_sns, short topic name)",
1345
+ kind: CLIENT,
1346
+ attributes: {
1347
+ "messaging.system": "aws_sns",
1348
+ "messaging.destination.name": "order-events",
1349
+ "messaging.operation.type": "send",
1350
+ "messaging.operation.name": "publish_input",
1351
+ "rpc.method": "SNS/Publish",
1352
+ },
1353
+ expected: destinationOf({
1354
+ system: "aws.sns",
1355
+ destination: "order-events",
1356
+ direction: "publish",
1357
+ }),
1358
+ },
1359
+ {
1360
+ name: "SNS mobile push to a platform endpoint (one per device, not a topic)",
1361
+ kind: PRODUCER,
1362
+ attributes: {
1363
+ "messaging.system": "aws.sns",
1364
+ "messaging.destination.name":
1365
+ "arn:aws:sns:us-east-1:123456789012:endpoint/APNS/my-app/5f2b7c1e-8d3a-4b6f-9c0d-1e2f3a4b5c6d",
1366
+ },
1367
+ expected: null,
1368
+ },
1369
+
1370
+ // ---- Google Cloud Pub/Sub ----------------------------------------------------
1371
+ {
1372
+ name: "Pub/Sub Node publisher create span",
1373
+ kind: PRODUCER,
1374
+ attributes: {
1375
+ "messaging.system": "gcp_pubsub",
1376
+ "messaging.destination.name": "orders",
1377
+ "gcp.project_id": "acme-prod",
1378
+ "messaging.operation": "create",
1379
+ },
1380
+ expected: destinationOf({
1381
+ system: "gcp_pubsub",
1382
+ destination: "orders",
1383
+ direction: "publish",
1384
+ }),
1385
+ },
1386
+ {
1387
+ name: "Pub/Sub Java publish (a CLIENT span)",
1388
+ kind: CLIENT,
1389
+ attributes: {
1390
+ "messaging.system": "gcp_pubsub",
1391
+ "messaging.destination.name": "orders",
1392
+ "messaging.operation": "publish",
1393
+ },
1394
+ expected: destinationOf({
1395
+ system: "gcp_pubsub",
1396
+ destination: "orders",
1397
+ direction: "publish",
1398
+ }),
1399
+ },
1400
+ {
1401
+ name: "Pub/Sub Node subscriber: the destination is the subscription",
1402
+ kind: CONSUMER,
1403
+ attributes: {
1404
+ "messaging.system": "gcp_pubsub",
1405
+ "messaging.destination.name": "billing-sub",
1406
+ "messaging.operation": "subscribe",
1407
+ "gcp.project_id": "acme-prod",
1408
+ },
1409
+ expected: destinationOf({
1410
+ system: "gcp_pubsub",
1411
+ destination: "billing-sub",
1412
+ direction: "consume",
1413
+ consumerGroup: "billing-sub",
1414
+ }),
1415
+ },
1416
+ {
1417
+ name: "Pub/Sub ack (a CLIENT settle span on the subscription)",
1418
+ kind: CLIENT,
1419
+ attributes: {
1420
+ "messaging.system": "gcp_pubsub",
1421
+ "messaging.destination.name": "billing-sub",
1422
+ "messaging.operation.name": "ack",
1423
+ },
1424
+ expected: destinationOf({
1425
+ system: "gcp_pubsub",
1426
+ destination: "billing-sub",
1427
+ direction: "settle",
1428
+ consumerGroup: "billing-sub",
1429
+ }),
1430
+ },
1431
+ {
1432
+ name: "Pub/Sub Go subscribe (an INTERNAL span)",
1433
+ kind: INTERNAL,
1434
+ attributes: {
1435
+ "messaging.system": "gcp_pubsub",
1436
+ "messaging.destination.name": "billing-sub",
1437
+ "messaging.operation.name": "subscribe",
1438
+ "gcp.resource.name":
1439
+ "//pubsub.googleapis.com/projects/acme-prod/subscriptions/billing-sub",
1440
+ },
1441
+ expected: destinationOf({
1442
+ system: "gcp_pubsub",
1443
+ destination: "billing-sub",
1444
+ direction: "consume",
1445
+ consumerGroup: "billing-sub",
1446
+ }),
1447
+ },
1448
+ {
1449
+ name: "Pub/Sub full resource name as the destination",
1450
+ kind: PRODUCER,
1451
+ attributes: {
1452
+ "messaging.system": "gcp_pubsub",
1453
+ "messaging.destination.name": "projects/acme-prod/topics/orders",
1454
+ },
1455
+ expected: destinationOf({
1456
+ system: "gcp_pubsub",
1457
+ destination: "orders",
1458
+ direction: "publish",
1459
+ }),
1460
+ },
1461
+
1462
+ // ---- Azure Service Bus -------------------------------------------------------
1463
+ {
1464
+ name: ".NET Service Bus send (ActivitySource mode)",
1465
+ kind: CLIENT,
1466
+ attributes: {
1467
+ "messaging.system": "servicebus",
1468
+ "messaging.operation": "publish",
1469
+ "server.address": SERVICE_BUS_HOST,
1470
+ "messaging.destination.name": "orders",
1471
+ "az.namespace": "Microsoft.ServiceBus",
1472
+ "messaging.batch.message_count": 3,
1473
+ },
1474
+ expected: destinationOf({
1475
+ system: "servicebus",
1476
+ destination: "orders",
1477
+ brokerScope: "orders-prod",
1478
+ brokerAddress: SERVICE_BUS_HOST,
1479
+ direction: "publish",
1480
+ }),
1481
+ },
1482
+ {
1483
+ name: ".NET Service Bus per-message PRODUCER span",
1484
+ kind: PRODUCER,
1485
+ attributes: {
1486
+ "messaging.system": "servicebus",
1487
+ "server.address": SERVICE_BUS_HOST,
1488
+ "messaging.destination.name": "orders",
1489
+ "az.namespace": "Microsoft.ServiceBus",
1490
+ },
1491
+ expected: destinationOf({
1492
+ system: "servicebus",
1493
+ destination: "orders",
1494
+ brokerScope: "orders-prod",
1495
+ brokerAddress: SERVICE_BUS_HOST,
1496
+ direction: "publish",
1497
+ }),
1498
+ },
1499
+ {
1500
+ name: ".NET Service Bus receive from a topic subscription (entity path)",
1501
+ kind: CLIENT,
1502
+ attributes: {
1503
+ "messaging.system": "servicebus",
1504
+ "messaging.operation": "receive",
1505
+ "server.address": SERVICE_BUS_HOST,
1506
+ "messaging.destination.name": "order-events/Subscriptions/billing",
1507
+ "az.namespace": "Microsoft.ServiceBus",
1508
+ },
1509
+ expected: destinationOf({
1510
+ system: "servicebus",
1511
+ destination: "order-events",
1512
+ brokerScope: "orders-prod",
1513
+ brokerAddress: SERVICE_BUS_HOST,
1514
+ direction: "consume",
1515
+ consumerGroup: "billing",
1516
+ }),
1517
+ },
1518
+ {
1519
+ name: ".NET Service Bus dead-letter receive (/$DeadLetterQueue)",
1520
+ kind: CLIENT,
1521
+ attributes: {
1522
+ "messaging.system": "servicebus",
1523
+ "messaging.operation": "receive",
1524
+ "server.address": SERVICE_BUS_HOST,
1525
+ "messaging.destination.name": "orders/$DeadLetterQueue",
1526
+ "az.namespace": "Microsoft.ServiceBus",
1527
+ },
1528
+ expected: destinationOf({
1529
+ system: "servicebus",
1530
+ destination: "orders",
1531
+ brokerScope: "orders-prod",
1532
+ brokerAddress: SERVICE_BUS_HOST,
1533
+ direction: "consume",
1534
+ isDeadLetter: true,
1535
+ }),
1536
+ },
1537
+ {
1538
+ name: ".NET Service Bus subscription dead-letter queue",
1539
+ kind: CLIENT,
1540
+ attributes: {
1541
+ "messaging.system": "servicebus",
1542
+ "messaging.operation": "receive",
1543
+ "server.address": SERVICE_BUS_HOST,
1544
+ "messaging.destination.name":
1545
+ "order-events/Subscriptions/billing/$DeadLetterQueue",
1546
+ "az.namespace": "Microsoft.ServiceBus",
1547
+ },
1548
+ expected: destinationOf({
1549
+ system: "servicebus",
1550
+ destination: "order-events",
1551
+ brokerScope: "orders-prod",
1552
+ brokerAddress: SERVICE_BUS_HOST,
1553
+ direction: "consume",
1554
+ consumerGroup: "billing",
1555
+ isDeadLetter: true,
1556
+ }),
1557
+ },
1558
+ {
1559
+ name: ".NET Service Bus transfer dead-letter queue",
1560
+ kind: CLIENT,
1561
+ attributes: {
1562
+ "messaging.system": "servicebus",
1563
+ "messaging.operation": "receive",
1564
+ "server.address": SERVICE_BUS_HOST,
1565
+ "messaging.destination.name": "orders/$Transfer/$DeadLetterQueue",
1566
+ "az.namespace": "Microsoft.ServiceBus",
1567
+ },
1568
+ expected: destinationOf({
1569
+ system: "servicebus",
1570
+ destination: "orders",
1571
+ brokerScope: "orders-prod",
1572
+ brokerAddress: SERVICE_BUS_HOST,
1573
+ direction: "consume",
1574
+ isDeadLetter: true,
1575
+ }),
1576
+ },
1577
+ {
1578
+ name: ".NET ServiceBusProcessor.ProcessMessage",
1579
+ kind: CONSUMER,
1580
+ attributes: {
1581
+ "messaging.system": "servicebus",
1582
+ "messaging.operation": "process",
1583
+ "server.address": SERVICE_BUS_HOST,
1584
+ "messaging.destination.name": "orders",
1585
+ "az.namespace": "Microsoft.ServiceBus",
1586
+ },
1587
+ expected: destinationOf({
1588
+ system: "servicebus",
1589
+ destination: "orders",
1590
+ brokerScope: "orders-prod",
1591
+ brokerAddress: SERVICE_BUS_HOST,
1592
+ direction: "consume",
1593
+ }),
1594
+ },
1595
+ {
1596
+ name: ".NET ServiceBusReceiver.Complete (settle)",
1597
+ kind: CLIENT,
1598
+ attributes: {
1599
+ "messaging.system": "servicebus",
1600
+ "messaging.operation": "settle",
1601
+ "server.address": SERVICE_BUS_HOST,
1602
+ "messaging.destination.name": "orders",
1603
+ "az.namespace": "Microsoft.ServiceBus",
1604
+ },
1605
+ expected: destinationOf({
1606
+ system: "servicebus",
1607
+ destination: "orders",
1608
+ brokerScope: "orders-prod",
1609
+ brokerAddress: SERVICE_BUS_HOST,
1610
+ direction: "settle",
1611
+ }),
1612
+ },
1613
+ {
1614
+ name: ".NET Service Bus, legacy DiagnosticSource mode (component, peer.address, message_bus.destination)",
1615
+ kind: CLIENT,
1616
+ attributes: {
1617
+ component: "servicebus",
1618
+ "peer.address": `sb://${SERVICE_BUS_HOST}/`,
1619
+ "message_bus.destination": "orders",
1620
+ "az.namespace": "Microsoft.ServiceBus",
1621
+ },
1622
+ expected: destinationOf({
1623
+ system: "servicebus",
1624
+ destination: "orders",
1625
+ brokerScope: "orders-prod",
1626
+ brokerAddress: SERVICE_BUS_HOST,
1627
+ }),
1628
+ },
1629
+ {
1630
+ name: "Azure legacy mode with only the component as the system",
1631
+ kind: PRODUCER,
1632
+ attributes: {
1633
+ component: "eventhubs",
1634
+ "message_bus.destination": "telemetry",
1635
+ "peer.address": `sb://${EVENT_HUBS_HOST}/`,
1636
+ },
1637
+ expected: destinationOf({
1638
+ system: "eventhubs",
1639
+ destination: "telemetry",
1640
+ brokerScope: "ingest-prod",
1641
+ brokerAddress: EVENT_HUBS_HOST,
1642
+ direction: "publish",
1643
+ }),
1644
+ },
1645
+ {
1646
+ name: "Azure component without its legacy companions is no evidence",
1647
+ kind: CLIENT,
1648
+ attributes: {
1649
+ component: "servicebus",
1650
+ "messaging.destination.name": "orders",
1651
+ },
1652
+ expected: null,
1653
+ },
1654
+ {
1655
+ name: "Java Service Bus receive (lowercase subscriptions, both namespace keys)",
1656
+ kind: CLIENT,
1657
+ attributes: {
1658
+ "messaging.system": "servicebus",
1659
+ "messaging.operation": "receive",
1660
+ "messaging.destination.name": "order-events/subscriptions/billing",
1661
+ "server.address": SERVICE_BUS_HOST,
1662
+ "az.namespace": "Microsoft.ServiceBus",
1663
+ "azure.resource_provider.namespace": "Microsoft.ServiceBus",
1664
+ },
1665
+ expected: destinationOf({
1666
+ system: "servicebus",
1667
+ destination: "order-events",
1668
+ brokerScope: "orders-prod",
1669
+ brokerAddress: SERVICE_BUS_HOST,
1670
+ direction: "consume",
1671
+ consumerGroup: "billing",
1672
+ }),
1673
+ },
1674
+ {
1675
+ name: "Java Service Bus dead-letter queue (/$deadletterqueue)",
1676
+ kind: CLIENT,
1677
+ attributes: {
1678
+ "messaging.system": "servicebus",
1679
+ "messaging.operation": "receive",
1680
+ "messaging.destination.name": "orders/$deadletterqueue",
1681
+ "server.address": SERVICE_BUS_HOST,
1682
+ },
1683
+ expected: destinationOf({
1684
+ system: "servicebus",
1685
+ destination: "orders",
1686
+ brokerScope: "orders-prod",
1687
+ brokerAddress: SERVICE_BUS_HOST,
1688
+ direction: "consume",
1689
+ isDeadLetter: true,
1690
+ }),
1691
+ },
1692
+ {
1693
+ name: "JS Service Bus receive (messaging.source.name, net.peer.name)",
1694
+ kind: CLIENT,
1695
+ attributes: {
1696
+ "messaging.system": "servicebus",
1697
+ "messaging.operation": "receive",
1698
+ "messaging.source.name": "order-events/Subscriptions/billing",
1699
+ "net.peer.name": SERVICE_BUS_HOST,
1700
+ "az.namespace": "Microsoft.ServiceBus",
1701
+ },
1702
+ expected: destinationOf({
1703
+ system: "servicebus",
1704
+ destination: "order-events",
1705
+ brokerScope: "orders-prod",
1706
+ brokerAddress: SERVICE_BUS_HOST,
1707
+ direction: "consume",
1708
+ consumerGroup: "billing",
1709
+ }),
1710
+ },
1711
+ {
1712
+ name: "Python Service Bus publish (legacy keys only)",
1713
+ kind: CLIENT,
1714
+ attributes: {
1715
+ "messaging.system": "servicebus",
1716
+ "az.namespace": "Microsoft.ServiceBus",
1717
+ "messaging.operation": "publish",
1718
+ "message_bus.destination": "orders",
1719
+ "peer.address": SERVICE_BUS_HOST,
1720
+ },
1721
+ expected: destinationOf({
1722
+ system: "servicebus",
1723
+ destination: "orders",
1724
+ brokerScope: "orders-prod",
1725
+ brokerAddress: SERVICE_BUS_HOST,
1726
+ direction: "publish",
1727
+ }),
1728
+ },
1729
+ {
1730
+ name: "Service Bus in the US Government cloud",
1731
+ kind: PRODUCER,
1732
+ attributes: {
1733
+ "messaging.system": "servicebus",
1734
+ "messaging.destination.name": "orders",
1735
+ "server.address": "orders-gov.servicebus.usgovcloudapi.net",
1736
+ },
1737
+ expected: destinationOf({
1738
+ system: "servicebus",
1739
+ destination: "orders",
1740
+ brokerScope: "orders-gov",
1741
+ brokerAddress: "orders-gov.servicebus.usgovcloudapi.net",
1742
+ direction: "publish",
1743
+ }),
1744
+ },
1745
+ {
1746
+ name: "Service Bus in the China cloud",
1747
+ kind: PRODUCER,
1748
+ attributes: {
1749
+ "messaging.system": "servicebus",
1750
+ "messaging.destination.name": "orders",
1751
+ "server.address": "orders-cn.servicebus.chinacloudapi.cn",
1752
+ },
1753
+ expected: destinationOf({
1754
+ system: "servicebus",
1755
+ destination: "orders",
1756
+ brokerScope: "orders-cn",
1757
+ brokerAddress: "orders-cn.servicebus.chinacloudapi.cn",
1758
+ direction: "publish",
1759
+ }),
1760
+ },
1761
+ {
1762
+ name: "Service Bus emulator (no namespace host)",
1763
+ kind: PRODUCER,
1764
+ attributes: {
1765
+ "messaging.system": "servicebus",
1766
+ "messaging.destination.name": "orders",
1767
+ "server.address": "localhost",
1768
+ "server.port": 5672,
1769
+ },
1770
+ expected: destinationOf({
1771
+ system: "servicebus",
1772
+ destination: "orders",
1773
+ brokerAddress: "localhost:5672",
1774
+ direction: "publish",
1775
+ }),
1776
+ },
1777
+ {
1778
+ name: "Semconv 1.24 azure_servicebus spelling",
1779
+ kind: PRODUCER,
1780
+ attributes: {
1781
+ "messaging.system": "azure_servicebus",
1782
+ "messaging.destination.name": "orders",
1783
+ "server.address": SERVICE_BUS_HOST,
1784
+ },
1785
+ expected: destinationOf({
1786
+ system: "servicebus",
1787
+ destination: "orders",
1788
+ brokerScope: "orders-prod",
1789
+ brokerAddress: SERVICE_BUS_HOST,
1790
+ direction: "publish",
1791
+ }),
1792
+ },
1793
+ {
1794
+ name: "A malformed messaging.system falls through to the Azure namespace",
1795
+ kind: PRODUCER,
1796
+ attributes: {
1797
+ "messaging.system": "Azure Service Bus",
1798
+ "az.namespace": "Microsoft.ServiceBus",
1799
+ "messaging.destination.name": "orders",
1800
+ "server.address": SERVICE_BUS_HOST,
1801
+ },
1802
+ expected: destinationOf({
1803
+ system: "servicebus",
1804
+ destination: "orders",
1805
+ brokerScope: "orders-prod",
1806
+ brokerAddress: SERVICE_BUS_HOST,
1807
+ direction: "publish",
1808
+ }),
1809
+ },
1810
+ {
1811
+ name: "Azure Storage SDK span (az.namespace, but not messaging)",
1812
+ kind: CLIENT,
1813
+ attributes: {
1814
+ "az.namespace": "Microsoft.Storage",
1815
+ "http.request.method": "PUT",
1816
+ "url.full": "https://acct.blob.core.windows.net/c/b?sig=abc",
1817
+ "server.address": "acct.blob.core.windows.net",
1818
+ },
1819
+ expected: null,
1820
+ },
1821
+
1822
+ // ---- Azure Event Hubs / Event Grid -------------------------------------------
1823
+ {
1824
+ name: ".NET Event Hubs send",
1825
+ kind: CLIENT,
1826
+ attributes: {
1827
+ "messaging.system": "eventhubs",
1828
+ "messaging.operation": "publish",
1829
+ "messaging.destination.name": "telemetry",
1830
+ "server.address": EVENT_HUBS_HOST,
1831
+ "az.namespace": "Microsoft.EventHub",
1832
+ },
1833
+ expected: destinationOf({
1834
+ system: "eventhubs",
1835
+ destination: "telemetry",
1836
+ brokerScope: "ingest-prod",
1837
+ brokerAddress: EVENT_HUBS_HOST,
1838
+ direction: "publish",
1839
+ }),
1840
+ },
1841
+ {
1842
+ name: "Java Event Hubs process with a consumer group",
1843
+ kind: CONSUMER,
1844
+ attributes: {
1845
+ "messaging.system": "eventhubs",
1846
+ "messaging.operation.type": "process",
1847
+ "messaging.operation.name": "process",
1848
+ "messaging.destination.name": "telemetry",
1849
+ "messaging.consumer.group.name": "$Default",
1850
+ "messaging.destination.partition.id": "3",
1851
+ "server.address": EVENT_HUBS_HOST,
1852
+ },
1853
+ expected: destinationOf({
1854
+ system: "eventhubs",
1855
+ destination: "telemetry",
1856
+ brokerScope: "ingest-prod",
1857
+ brokerAddress: EVENT_HUBS_HOST,
1858
+ direction: "consume",
1859
+ consumerGroup: "$Default",
1860
+ }),
1861
+ },
1862
+ {
1863
+ name: "Java Event Hubs send with the deprecated 'publish' operation type",
1864
+ kind: CLIENT,
1865
+ attributes: {
1866
+ "messaging.system": "eventhubs",
1867
+ "messaging.operation.type": "publish",
1868
+ "messaging.operation.name": "send",
1869
+ "messaging.destination.name": "telemetry",
1870
+ "server.address": EVENT_HUBS_HOST,
1871
+ },
1872
+ expected: destinationOf({
1873
+ system: "eventhubs",
1874
+ destination: "telemetry",
1875
+ brokerScope: "ingest-prod",
1876
+ brokerAddress: EVENT_HUBS_HOST,
1877
+ direction: "publish",
1878
+ }),
1879
+ },
1880
+ {
1881
+ name: "Java Event Hubs checkpoint (settle)",
1882
+ kind: CLIENT,
1883
+ attributes: {
1884
+ "messaging.system": "eventhubs",
1885
+ "messaging.operation.type": "settle",
1886
+ "messaging.operation.name": "checkpoint",
1887
+ "messaging.destination.name": "telemetry",
1888
+ "messaging.consumer.group.name": "$Default",
1889
+ "server.address": EVENT_HUBS_HOST,
1890
+ },
1891
+ expected: destinationOf({
1892
+ system: "eventhubs",
1893
+ destination: "telemetry",
1894
+ brokerScope: "ingest-prod",
1895
+ brokerAddress: EVENT_HUBS_HOST,
1896
+ direction: "settle",
1897
+ consumerGroup: "$Default",
1898
+ }),
1899
+ },
1900
+ {
1901
+ name: "Event Hubs receiver entity path with a consumer group and partition",
1902
+ kind: CLIENT,
1903
+ attributes: {
1904
+ "messaging.system": "eventhubs",
1905
+ "messaging.operation": "receive",
1906
+ "messaging.destination.name":
1907
+ "telemetry/ConsumerGroups/$Default/Partitions/0",
1908
+ "server.address": EVENT_HUBS_HOST,
1909
+ },
1910
+ expected: destinationOf({
1911
+ system: "eventhubs",
1912
+ destination: "telemetry",
1913
+ brokerScope: "ingest-prod",
1914
+ brokerAddress: EVENT_HUBS_HOST,
1915
+ direction: "consume",
1916
+ consumerGroup: "$Default",
1917
+ }),
1918
+ },
1919
+ {
1920
+ name: "Kafka clients talking to Event Hubs report kafka (no namespace scope)",
1921
+ kind: PRODUCER,
1922
+ attributes: {
1923
+ "messaging.system": "kafka",
1924
+ "messaging.destination.name": "telemetry",
1925
+ "server.address": EVENT_HUBS_HOST,
1926
+ "server.port": 9093,
1927
+ },
1928
+ expected: destinationOf({
1929
+ system: "kafka",
1930
+ destination: "telemetry",
1931
+ brokerAddress: `${EVENT_HUBS_HOST}:9093`,
1932
+ direction: "publish",
1933
+ }),
1934
+ },
1935
+ {
1936
+ name: "Event Grid publish (no namespace in its identity)",
1937
+ kind: PRODUCER,
1938
+ attributes: {
1939
+ "messaging.system": "eventgrid",
1940
+ "messaging.destination.name": "orders-topic",
1941
+ "server.address": "orders-topic.westeurope-1.eventgrid.azure.net",
1942
+ },
1943
+ expected: destinationOf({
1944
+ system: "eventgrid",
1945
+ destination: "orders-topic",
1946
+ brokerAddress: "orders-topic.westeurope-1.eventgrid.azure.net",
1947
+ direction: "publish",
1948
+ }),
1949
+ },
1950
+
1951
+ // ---- Apache Pulsar -----------------------------------------------------------
1952
+ {
1953
+ name: "Java agent Pulsar send to a partition (default mode)",
1954
+ kind: PRODUCER,
1955
+ attributes: {
1956
+ "messaging.system": "pulsar",
1957
+ "messaging.destination.name":
1958
+ "persistent://public/default/payments-partition-1",
1959
+ "messaging.operation": "publish",
1960
+ "server.address": "pulsar-broker-0",
1961
+ "server.port": 6650,
1962
+ },
1963
+ expected: destinationOf({
1964
+ system: "pulsar",
1965
+ destination: "persistent://public/default/payments",
1966
+ direction: "publish",
1967
+ brokerAddress: "pulsar-broker-0:6650",
1968
+ }),
1969
+ },
1970
+ {
1971
+ name: "Pulsar short topic name (the default tenant and namespace)",
1972
+ kind: CONSUMER,
1973
+ attributes: {
1974
+ "messaging.system": "pulsar",
1975
+ "messaging.destination.name": "orders",
1976
+ "messaging.operation": "process",
1977
+ },
1978
+ expected: destinationOf({
1979
+ system: "pulsar",
1980
+ destination: "persistent://public/default/orders",
1981
+ direction: "consume",
1982
+ }),
1983
+ },
1984
+ {
1985
+ name: "Pulsar tenant/namespace/topic without a domain",
1986
+ kind: PRODUCER,
1987
+ attributes: {
1988
+ "messaging.system": "pulsar",
1989
+ "messaging.destination.name": "acme/billing/invoices",
1990
+ },
1991
+ expected: destinationOf({
1992
+ system: "pulsar",
1993
+ destination: "persistent://acme/billing/invoices",
1994
+ direction: "publish",
1995
+ }),
1996
+ },
1997
+ {
1998
+ name: "Java agent Pulsar receive (opt-in) with a subscription",
1999
+ kind: CONSUMER,
2000
+ attributes: {
2001
+ "messaging.system": "pulsar",
2002
+ "messaging.destination.name": "persistent://acme/billing/invoices",
2003
+ "messaging.destination.subscription.name": "ledger",
2004
+ "messaging.destination.partition.id": "2",
2005
+ "messaging.operation.type": "process",
2006
+ },
2007
+ expected: destinationOf({
2008
+ system: "pulsar",
2009
+ destination: "persistent://acme/billing/invoices",
2010
+ direction: "consume",
2011
+ consumerGroup: "ledger",
2012
+ }),
2013
+ },
2014
+ {
2015
+ name: "Pulsar non-persistent partition",
2016
+ kind: PRODUCER,
2017
+ attributes: {
2018
+ "messaging.system": "pulsar",
2019
+ "messaging.destination.name":
2020
+ "non-persistent://public/default/ticks-partition-0",
2021
+ },
2022
+ expected: destinationOf({
2023
+ system: "pulsar",
2024
+ destination: "non-persistent://public/default/ticks",
2025
+ direction: "publish",
2026
+ }),
2027
+ },
2028
+ {
2029
+ name: "Pulsar system topic (__change_events)",
2030
+ kind: CONSUMER,
2031
+ attributes: {
2032
+ "messaging.system": "pulsar",
2033
+ "messaging.destination.name":
2034
+ "persistent://public/default/__change_events",
2035
+ },
2036
+ expected: null,
2037
+ },
2038
+ {
2039
+ name: "Pulsar transaction system topic (short name)",
2040
+ kind: PRODUCER,
2041
+ attributes: {
2042
+ "messaging.system": "pulsar",
2043
+ "messaging.destination.name": "__transaction_buffer_snapshot",
2044
+ },
2045
+ expected: null,
2046
+ },
2047
+
2048
+ // ---- Apache RocketMQ ---------------------------------------------------------
2049
+ {
2050
+ name: "Java agent RocketMQ process (legacy consumer group key)",
2051
+ kind: CONSUMER,
2052
+ attributes: {
2053
+ "messaging.system": "rocketmq",
2054
+ "messaging.destination.name": "orders",
2055
+ "messaging.rocketmq.client_group": "billing-group",
2056
+ "messaging.operation": "process",
2057
+ "messaging.rocketmq.broker_address": "10.0.0.9:10911",
2058
+ "messaging.rocketmq.queue_id": 3,
2059
+ "messaging.rocketmq.queue_offset": 77,
2060
+ },
2061
+ expected: destinationOf({
2062
+ system: "rocketmq",
2063
+ destination: "orders",
2064
+ direction: "consume",
2065
+ consumerGroup: "billing-group",
2066
+ }),
2067
+ },
2068
+ {
2069
+ name: "RocketMQ opt-in consumer group",
2070
+ kind: CONSUMER,
2071
+ attributes: {
2072
+ "messaging.system": "rocketmq",
2073
+ "messaging.destination.name": "orders",
2074
+ "messaging.consumer.group.name": "billing-group",
2075
+ "messaging.operation.type": "process",
2076
+ },
2077
+ expected: destinationOf({
2078
+ system: "rocketmq",
2079
+ destination: "orders",
2080
+ direction: "consume",
2081
+ consumerGroup: "billing-group",
2082
+ }),
2083
+ },
2084
+ {
2085
+ name: "RocketMQ dead-letter topic (%DLQ%<group>)",
2086
+ kind: CONSUMER,
2087
+ attributes: {
2088
+ "messaging.system": "rocketmq",
2089
+ "messaging.destination.name": "%DLQ%billing-group",
2090
+ },
2091
+ expected: destinationOf({
2092
+ system: "rocketmq",
2093
+ destination: "%DLQ%billing-group",
2094
+ direction: "consume",
2095
+ isDeadLetter: true,
2096
+ }),
2097
+ },
2098
+
2099
+ // ---- NATS --------------------------------------------------------------------
2100
+ {
2101
+ name: "Java agent NATS publish",
2102
+ kind: PRODUCER,
2103
+ attributes: {
2104
+ "messaging.system": "nats",
2105
+ "messaging.destination.name": "orders.created",
2106
+ "messaging.operation": "publish",
2107
+ },
2108
+ expected: destinationOf({
2109
+ system: "nats",
2110
+ destination: "orders.created",
2111
+ direction: "publish",
2112
+ }),
2113
+ },
2114
+ {
2115
+ name: "NATS request inbox (template, name and temporary flag)",
2116
+ kind: CONSUMER,
2117
+ attributes: {
2118
+ "messaging.system": "nats",
2119
+ "messaging.destination.template": "_INBOX.",
2120
+ "messaging.destination.name": "_INBOX.k3qTbUQ4AkVZe9L1u8A1rd",
2121
+ "messaging.destination.temporary": true,
2122
+ },
2123
+ expected: null,
2124
+ },
2125
+ {
2126
+ name: "NATS inbox template without the flag",
2127
+ kind: CONSUMER,
2128
+ attributes: {
2129
+ "messaging.system": "nats",
2130
+ "messaging.destination.template": "_INBOX.",
2131
+ },
2132
+ expected: null,
2133
+ },
2134
+ {
2135
+ name: "JetStream acknowledgement subject",
2136
+ kind: CLIENT,
2137
+ attributes: {
2138
+ "messaging.system": "nats",
2139
+ "messaging.destination.template": "$JS.ACK",
2140
+ "messaging.destination.name":
2141
+ "$JS.ACK.ORDERS.billing.1.42.42.1727698123456789012.0",
2142
+ },
2143
+ expected: null,
2144
+ },
2145
+ {
2146
+ name: "NATS subject template wins over the concrete subject",
2147
+ kind: PRODUCER,
2148
+ attributes: {
2149
+ "messaging.system": "nats",
2150
+ "messaging.destination.template": "orders.{id}",
2151
+ "messaging.destination.name": "orders.42",
2152
+ },
2153
+ expected: destinationOf({
2154
+ system: "nats",
2155
+ destination: "orders.{id}",
2156
+ direction: "publish",
2157
+ }),
2158
+ },
2159
+ {
2160
+ name: "JetStream spelling",
2161
+ kind: PRODUCER,
2162
+ attributes: {
2163
+ "messaging.system": "jetstream",
2164
+ "messaging.destination.name": "ORDERS.new",
2165
+ },
2166
+ expected: destinationOf({
2167
+ system: "nats",
2168
+ destination: "ORDERS.new",
2169
+ direction: "publish",
2170
+ }),
2171
+ },
2172
+
2173
+ // ---- BullMQ and the long tail ------------------------------------------------
2174
+ {
2175
+ name: "OneUptime's own BullMQ worker job span",
2176
+ kind: INTERNAL,
2177
+ attributes: {
2178
+ "messaging.system": "bullmq",
2179
+ "messaging.destination.name": "Workers",
2180
+ "messaging.operation.name": "ProcessMonitorEvaluation",
2181
+ },
2182
+ expected: destinationOf({
2183
+ system: "bullmq",
2184
+ destination: "Workers",
2185
+ }),
2186
+ },
2187
+ {
2188
+ name: "A long-tail broker the catalog does not know (IBM MQ)",
2189
+ kind: PRODUCER,
2190
+ attributes: {
2191
+ "messaging.system": "ibmmq",
2192
+ "messaging.destination.name": "DEV.QUEUE.1",
2193
+ "server.address": "mq.prod",
2194
+ "server.port": 1414,
2195
+ },
2196
+ expected: destinationOf({
2197
+ system: "ibmmq",
2198
+ destination: "DEV.QUEUE.1",
2199
+ direction: "publish",
2200
+ brokerAddress: "mq.prod:1414",
2201
+ }),
2202
+ },
2203
+
2204
+ // ---- never a queue -------------------------------------------------------------
2205
+ {
2206
+ name: "Celery sets no messaging.system (its broker is unknown)",
2207
+ kind: PRODUCER,
2208
+ attributes: {
2209
+ "messaging.destination": "celery",
2210
+ "celery.action": "apply_async",
2211
+ "celery.task_name": "tasks.add",
2212
+ "messaging.message.id": "e3b0c442-98fc-4c14-9afb-f4c8996fb924",
2213
+ },
2214
+ expected: null,
2215
+ },
2216
+ {
2217
+ name: "Spring Integration channel (in-process, opt-in)",
2218
+ kind: PRODUCER,
2219
+ attributes: {
2220
+ "messaging.system": "spring_integration",
2221
+ "messaging.destination.name": "inputChannel",
2222
+ },
2223
+ expected: null,
2224
+ },
2225
+ {
2226
+ name: "An HTTP client span",
2227
+ kind: CLIENT,
2228
+ attributes: {
2229
+ "http.request.method": "GET",
2230
+ "server.address": "api.example.com",
2231
+ "server.port": 443,
2232
+ },
2233
+ expected: null,
2234
+ },
2235
+ ];
2236
+
2237
+ // ---- datapoints --------------------------------------------------------------------
2238
+
2239
+ const KAFKA_RESOURCE: FixtureAttributes = {
2240
+ "resource.kafka.cluster.alias": "prod-kafka",
2241
+ "resource.kafka.cluster.id": "5L6g3nShT-eMCtK--X86sw",
2242
+ };
2243
+
2244
+ const RABBITMQ_RESOURCE: FixtureAttributes = {
2245
+ "resource.rabbitmq.node.name": "rabbit@16c76f2d8aa2",
2246
+ "resource.rabbitmq.queue.name": "orders",
2247
+ "resource.rabbitmq.vhost.name": "/",
2248
+ };
2249
+
2250
+ const JMX_SCRAPER_RESOURCE: FixtureAttributes = {
2251
+ "resource.service.name": "activemq-prod",
2252
+ "resource.service.instance.id": "174b52e6-c976-3dfd-8e52-bfb13115009a",
2253
+ "resource.telemetry.sdk.language": "java",
2254
+ };
2255
+
2256
+ const ACTIVEMQ_DESTINATION: FixtureAttributes = {
2257
+ ...JMX_SCRAPER_RESOURCE,
2258
+ "activemq.broker.name": "localhost",
2259
+ "activemq.destination.type": "queue",
2260
+ "messaging.destination.name": "orders",
2261
+ };
2262
+
2263
+ const ACTIVEMQ_LEGACY_DESTINATION: FixtureAttributes = {
2264
+ ...JMX_SCRAPER_RESOURCE,
2265
+ broker: "localhost",
2266
+ destination: "orders",
2267
+ };
2268
+
2269
+ const AZURE_SUBSCRIPTION_RESOURCE: FixtureAttributes = {
2270
+ "resource.azuremonitor.subscription_id":
2271
+ "7c4a1f2e-9d3b-4e5f-8a6b-1c2d3e4f5a6b",
2272
+ "resource.azuremonitor.tenant_id": "0f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
2273
+ };
2274
+
2275
+ const SERVICE_BUS_ENTITY: FixtureAttributes = {
2276
+ ...AZURE_SUBSCRIPTION_RESOURCE,
2277
+ "azuremonitor.resource_id":
2278
+ "/subscriptions/7c4a1f2e-9d3b-4e5f-8a6b-1c2d3e4f5a6b/resourceGroups/rg-prod/providers/Microsoft.ServiceBus/namespaces/orders-prod",
2279
+ name: "orders-prod",
2280
+ type: "Microsoft.ServiceBus/Namespaces",
2281
+ resource_group: "rg-prod",
2282
+ location: "westeurope",
2283
+ metadata_entityname: "orders",
2284
+ };
2285
+
2286
+ const EVENT_HUBS_ENTITY: FixtureAttributes = {
2287
+ ...AZURE_SUBSCRIPTION_RESOURCE,
2288
+ "azuremonitor.resource_id":
2289
+ "/subscriptions/7c4a1f2e-9d3b-4e5f-8a6b-1c2d3e4f5a6b/resourceGroups/rg-prod/providers/Microsoft.EventHub/namespaces/ingest-prod",
2290
+ name: "ingest-prod",
2291
+ type: "Microsoft.EventHub/namespaces",
2292
+ resource_group: "rg-prod",
2293
+ location: "westeurope",
2294
+ metadata_entityname: "telemetry",
2295
+ };
2296
+
2297
+ const CLOUDWATCH_OTEL_RESOURCE: FixtureAttributes = {
2298
+ "resource.cloud.provider": "aws",
2299
+ "resource.cloud.account.id": "123456789012",
2300
+ "resource.cloud.region": "us-east-1",
2301
+ "resource.aws.exporter.arn":
2302
+ "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/oneuptime",
2303
+ };
2304
+
2305
+ function cloudWatchJsonResource(service: string): FixtureAttributes {
2306
+ return {
2307
+ "resource.cloud.provider": "aws",
2308
+ "resource.cloud.account.id": "123456789012",
2309
+ "resource.cloud.region": "us-east-1",
2310
+ "resource.service.namespace": "AWS",
2311
+ "resource.service.name": service,
2312
+ "resource.aws.cloudwatch.metric_stream_name": "oneuptime",
2313
+ };
2314
+ }
2315
+
2316
+ const PUBSUB_SUBSCRIPTION_RESOURCE: FixtureAttributes = {
2317
+ "resource.gcp.resource_type": "pubsub_subscription",
2318
+ "resource.project_id": "acme-prod",
2319
+ "resource.subscription_id": "billing-sub",
2320
+ };
2321
+
2322
+ const PUBSUB_TOPIC_RESOURCE: FixtureAttributes = {
2323
+ "resource.gcp.resource_type": "pubsub_topic",
2324
+ "resource.project_id": "acme-prod",
2325
+ "resource.topic_id": "orders",
2326
+ };
2327
+
2328
+ const PULSAR_SCRAPE: FixtureAttributes = {
2329
+ "resource.server.address": "pulsar-broker-0",
2330
+ "resource.server.port": "8080",
2331
+ "resource.service.instance.id": "pulsar-broker-0:8080",
2332
+ "resource.service.name": "pulsar-broker",
2333
+ "resource.url.scheme": "http",
2334
+ cluster: "standalone",
2335
+ namespace: "public/default",
2336
+ topic: "persistent://public/default/payments-partition-1",
2337
+ };
2338
+
2339
+ const ROCKETMQ_SCRAPE: FixtureAttributes = {
2340
+ "resource.server.address": "rocketmq-broker-a",
2341
+ "resource.server.port": "5557",
2342
+ "resource.service.instance.id": "rocketmq-broker-a:5557",
2343
+ "resource.service.name": "rocketmq-broker",
2344
+ cluster: "DefaultCluster",
2345
+ node_type: "broker",
2346
+ node_id: "broker-a",
2347
+ topic: "orders",
2348
+ is_system: "false",
2349
+ };
2350
+
2351
+ const KAFKA_PAYMENTS: ResolvedMessagingDestination = destinationOf({
2352
+ system: "kafka",
2353
+ destination: "payments",
2354
+ });
2355
+
2356
+ const RABBITMQ_ORDERS: ResolvedMessagingDestination = destinationOf({
2357
+ system: "rabbitmq",
2358
+ destination: "orders",
2359
+ });
2360
+
2361
+ const ACTIVEMQ_ORDERS: ResolvedMessagingDestination = destinationOf({
2362
+ system: "activemq",
2363
+ destination: "orders",
2364
+ });
2365
+
2366
+ const SERVICE_BUS_ORDERS: ResolvedMessagingDestination = destinationOf({
2367
+ system: "servicebus",
2368
+ destination: "orders",
2369
+ brokerScope: "orders-prod",
2370
+ });
2371
+
2372
+ const EVENT_HUBS_TELEMETRY: ResolvedMessagingDestination = destinationOf({
2373
+ system: "eventhubs",
2374
+ destination: "telemetry",
2375
+ brokerScope: "ingest-prod",
2376
+ });
2377
+
2378
+ const SQS_ORDERS: ResolvedMessagingDestination = destinationOf({
2379
+ system: "aws_sqs",
2380
+ destination: "orders",
2381
+ });
2382
+
2383
+ const SNS_ORDER_EVENTS: ResolvedMessagingDestination = destinationOf({
2384
+ system: "aws.sns",
2385
+ destination: "order-events",
2386
+ });
2387
+
2388
+ const PUBSUB_BILLING_SUB: ResolvedMessagingDestination = destinationOf({
2389
+ system: "gcp_pubsub",
2390
+ destination: "billing-sub",
2391
+ });
2392
+
2393
+ const PULSAR_PAYMENTS: ResolvedMessagingDestination = destinationOf({
2394
+ system: "pulsar",
2395
+ destination: "persistent://public/default/payments",
2396
+ brokerAddress: "pulsar-broker-0:8080",
2397
+ });
2398
+
2399
+ const ROCKETMQ_ORDERS: ResolvedMessagingDestination = destinationOf({
2400
+ system: "rocketmq",
2401
+ destination: "orders",
2402
+ brokerAddress: "rocketmq-broker-a:5557",
2403
+ });
2404
+
2405
+ function withDirection(
2406
+ resolved: ResolvedMessagingDestination,
2407
+ direction: ResolvedMessagingDestination["direction"],
2408
+ ): ResolvedMessagingDestination {
2409
+ return { ...resolved, direction };
2410
+ }
2411
+
2412
+ function sqsFixtures(data: {
2413
+ cloudWatchName: string;
2414
+ direction: ResolvedMessagingDestination["direction"];
2415
+ }): Array<MetricFixture> {
2416
+ const lower: string = data.cloudWatchName.toLowerCase();
2417
+ return [
2418
+ {
2419
+ name: `CloudWatch ${data.cloudWatchName} (aws_cloudwatch / Metric Stream OpenTelemetry 1.0)`,
2420
+ metricName: `amazonaws.com/aws/sqs/${lower}`,
2421
+ attributes: {
2422
+ ...CLOUDWATCH_OTEL_RESOURCE,
2423
+ Namespace: "AWS/SQS",
2424
+ MetricName: data.cloudWatchName,
2425
+ "Dimensions.QueueName": "orders",
2426
+ },
2427
+ expected: withDirection(SQS_ORDERS, data.direction),
2428
+ },
2429
+ {
2430
+ name: `CloudWatch ${data.cloudWatchName} (Metric Stream JSON)`,
2431
+ metricName: lower,
2432
+ attributes: {
2433
+ ...cloudWatchJsonResource("SQS"),
2434
+ QueueName: "orders",
2435
+ },
2436
+ expected: withDirection(SQS_ORDERS, data.direction),
2437
+ },
2438
+ ];
2439
+ }
2440
+
2441
+ function snsFixtures(data: {
2442
+ cloudWatchName: string;
2443
+ direction: ResolvedMessagingDestination["direction"];
2444
+ }): Array<MetricFixture> {
2445
+ const lower: string = data.cloudWatchName.toLowerCase();
2446
+ return [
2447
+ {
2448
+ name: `CloudWatch ${data.cloudWatchName} (aws_cloudwatch / Metric Stream OpenTelemetry 1.0)`,
2449
+ metricName: `amazonaws.com/aws/sns/${lower}`,
2450
+ attributes: {
2451
+ ...CLOUDWATCH_OTEL_RESOURCE,
2452
+ Namespace: "AWS/SNS",
2453
+ MetricName: data.cloudWatchName,
2454
+ "Dimensions.TopicName": "order-events",
2455
+ },
2456
+ expected: withDirection(SNS_ORDER_EVENTS, data.direction),
2457
+ },
2458
+ {
2459
+ name: `CloudWatch ${data.cloudWatchName} (Metric Stream JSON)`,
2460
+ metricName: lower,
2461
+ attributes: {
2462
+ ...cloudWatchJsonResource("SNS"),
2463
+ TopicName: "order-events",
2464
+ },
2465
+ expected: withDirection(SNS_ORDER_EVENTS, data.direction),
2466
+ },
2467
+ ];
2468
+ }
2469
+
2470
+ /*
2471
+ * One realistic stored datapoint for every curated broker metric (the
2472
+ * catalog suite checks none is missing), plus the variants each source
2473
+ * really produces.
2474
+ */
2475
+ export const METRIC_FIXTURES: ReadonlyArray<MetricFixture> = [
2476
+ // Apache Kafka — kafka_metrics (live capture against Kafka 4.1.0).
2477
+ {
2478
+ name: "kafka_metrics consumer-group lag, summed over partitions",
2479
+ metricName: "kafka.consumer_group.lag_sum",
2480
+ attributes: { ...KAFKA_RESOURCE, group: "billing", topic: "payments" },
2481
+ expected: KAFKA_PAYMENTS,
2482
+ },
2483
+ {
2484
+ name: "kafka_metrics per-partition lag (partition is an int)",
2485
+ metricName: "kafka.consumer_group.lag",
2486
+ attributes: { group: "billing", topic: "payments", partition: 0 },
2487
+ expected: KAFKA_PAYMENTS,
2488
+ },
2489
+ {
2490
+ name: "kafka_metrics committed offsets, summed over partitions",
2491
+ metricName: "kafka.consumer_group.offset_sum",
2492
+ attributes: { ...KAFKA_RESOURCE, group: "billing", topic: "payments" },
2493
+ expected: withDirection(KAFKA_PAYMENTS, "consume"),
2494
+ },
2495
+ {
2496
+ name: "kafka_metrics log-end offset",
2497
+ metricName: "kafka.partition.current_offset",
2498
+ attributes: { ...KAFKA_RESOURCE, topic: "payments", partition: 2 },
2499
+ expected: withDirection(KAFKA_PAYMENTS, "publish"),
2500
+ },
2501
+
2502
+ // RabbitMQ — rabbitmq receiver (live capture against RabbitMQ 4.3.6).
2503
+ {
2504
+ name: "rabbitmq queue depth, ready series",
2505
+ metricName: "rabbitmq.message.current",
2506
+ attributes: { ...RABBITMQ_RESOURCE, state: "ready" },
2507
+ expected: RABBITMQ_ORDERS,
2508
+ },
2509
+ {
2510
+ name: "rabbitmq queue depth, unacknowledged series",
2511
+ metricName: "rabbitmq.message.current",
2512
+ attributes: { ...RABBITMQ_RESOURCE, state: "unacknowledged" },
2513
+ expected: RABBITMQ_ORDERS,
2514
+ },
2515
+ {
2516
+ name: "rabbitmq published",
2517
+ metricName: "rabbitmq.message.published",
2518
+ attributes: { ...RABBITMQ_RESOURCE },
2519
+ expected: withDirection(RABBITMQ_ORDERS, "publish"),
2520
+ },
2521
+ {
2522
+ name: "rabbitmq delivered",
2523
+ metricName: "rabbitmq.message.delivered",
2524
+ attributes: { ...RABBITMQ_RESOURCE },
2525
+ expected: withDirection(RABBITMQ_ORDERS, "consume"),
2526
+ },
2527
+ {
2528
+ name: "rabbitmq acknowledged",
2529
+ metricName: "rabbitmq.message.acknowledged",
2530
+ attributes: { ...RABBITMQ_RESOURCE },
2531
+ expected: withDirection(RABBITMQ_ORDERS, "consume"),
2532
+ },
2533
+ {
2534
+ name: "rabbitmq dropped",
2535
+ metricName: "rabbitmq.message.dropped",
2536
+ attributes: { ...RABBITMQ_RESOURCE },
2537
+ expected: RABBITMQ_ORDERS,
2538
+ },
2539
+ {
2540
+ name: "rabbitmq consumers",
2541
+ metricName: "rabbitmq.consumer.count",
2542
+ attributes: { ...RABBITMQ_RESOURCE },
2543
+ expected: RABBITMQ_ORDERS,
2544
+ },
2545
+ {
2546
+ // The receiver lists every queue: a bus endpoint per MassTransit process.
2547
+ name: "rabbitmq queue depth of a MassTransit bus endpoint (one per process)",
2548
+ metricName: "rabbitmq.message.current",
2549
+ attributes: {
2550
+ ...RABBITMQ_RESOURCE,
2551
+ "resource.rabbitmq.queue.name":
2552
+ "ordersapi7d9f8c6b5xk2lq_OrdersApi_bus_kd4oyqbeynuojexybdxt7414fx",
2553
+ state: "ready",
2554
+ },
2555
+ expected: null,
2556
+ },
2557
+
2558
+ // Apache ActiveMQ — JMX Scraper (live capture against ActiveMQ Classic 6.2.0).
2559
+ {
2560
+ name: "JMX Scraper queue size (1.53+ names)",
2561
+ metricName: "activemq.message.queue.size",
2562
+ attributes: { ...ACTIVEMQ_DESTINATION },
2563
+ expected: ACTIVEMQ_ORDERS,
2564
+ },
2565
+ {
2566
+ name: "JMX Scraper queue size (legacy names)",
2567
+ metricName: "activemq.message.current",
2568
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2569
+ expected: ACTIVEMQ_ORDERS,
2570
+ },
2571
+ {
2572
+ name: "JMX Scraper enqueued (1.53+ names)",
2573
+ metricName: "activemq.message.enqueued",
2574
+ attributes: { ...ACTIVEMQ_DESTINATION },
2575
+ expected: withDirection(ACTIVEMQ_ORDERS, "publish"),
2576
+ },
2577
+ {
2578
+ name: "JMX Scraper enqueued (legacy names)",
2579
+ metricName: "activemq.message.enqueued",
2580
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2581
+ expected: withDirection(ACTIVEMQ_ORDERS, "publish"),
2582
+ },
2583
+ {
2584
+ name: "JMX Scraper dequeued (1.53+ names)",
2585
+ metricName: "activemq.message.dequeued",
2586
+ attributes: { ...ACTIVEMQ_DESTINATION },
2587
+ expected: withDirection(ACTIVEMQ_ORDERS, "consume"),
2588
+ },
2589
+ {
2590
+ name: "JMX Scraper dequeued (legacy names)",
2591
+ metricName: "activemq.message.dequeued",
2592
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2593
+ expected: withDirection(ACTIVEMQ_ORDERS, "consume"),
2594
+ },
2595
+ {
2596
+ name: "JMX Scraper expired (1.53+ names)",
2597
+ metricName: "activemq.message.expired",
2598
+ attributes: { ...ACTIVEMQ_DESTINATION },
2599
+ expected: ACTIVEMQ_ORDERS,
2600
+ },
2601
+ {
2602
+ name: "JMX Scraper expired (legacy names)",
2603
+ metricName: "activemq.message.expired",
2604
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2605
+ expected: ACTIVEMQ_ORDERS,
2606
+ },
2607
+ {
2608
+ name: "JMX Scraper consumers (1.53+ names)",
2609
+ metricName: "activemq.consumer.count",
2610
+ attributes: { ...ACTIVEMQ_DESTINATION },
2611
+ expected: ACTIVEMQ_ORDERS,
2612
+ },
2613
+ {
2614
+ name: "JMX Scraper consumers (legacy names)",
2615
+ metricName: "activemq.consumer.count",
2616
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2617
+ expected: ACTIVEMQ_ORDERS,
2618
+ },
2619
+ {
2620
+ name: "JMX Scraper average time in queue (1.53+ names, seconds)",
2621
+ metricName: "activemq.message.enqueue.average_duration",
2622
+ attributes: { ...ACTIVEMQ_DESTINATION },
2623
+ expected: ACTIVEMQ_ORDERS,
2624
+ },
2625
+ {
2626
+ name: "JMX Scraper average time in queue (legacy names, ms)",
2627
+ metricName: "activemq.message.wait_time.avg",
2628
+ attributes: { ...ACTIVEMQ_LEGACY_DESTINATION },
2629
+ expected: ACTIVEMQ_ORDERS,
2630
+ },
2631
+
2632
+ // Azure Service Bus — azure_monitor.
2633
+ {
2634
+ name: "Azure Monitor ActiveMessages",
2635
+ metricName: "azure_activemessages_average",
2636
+ attributes: { ...SERVICE_BUS_ENTITY },
2637
+ expected: SERVICE_BUS_ORDERS,
2638
+ },
2639
+ {
2640
+ name: "Azure Monitor DeadletteredMessages",
2641
+ metricName: "azure_deadletteredmessages_average",
2642
+ attributes: { ...SERVICE_BUS_ENTITY },
2643
+ expected: SERVICE_BUS_ORDERS,
2644
+ },
2645
+ {
2646
+ name: "Azure Monitor IncomingMessages (Service Bus)",
2647
+ metricName: "azure_incomingmessages_total",
2648
+ attributes: { ...SERVICE_BUS_ENTITY },
2649
+ expected: withDirection(SERVICE_BUS_ORDERS, "publish"),
2650
+ },
2651
+ {
2652
+ name: "Azure Monitor OutgoingMessages (Service Bus)",
2653
+ metricName: "azure_outgoingmessages_total",
2654
+ attributes: { ...SERVICE_BUS_ENTITY },
2655
+ expected: withDirection(SERVICE_BUS_ORDERS, "consume"),
2656
+ },
2657
+ {
2658
+ name: "Azure Monitor CompleteMessage",
2659
+ metricName: "azure_completemessage_total",
2660
+ attributes: { ...SERVICE_BUS_ENTITY },
2661
+ expected: withDirection(SERVICE_BUS_ORDERS, "consume"),
2662
+ },
2663
+ {
2664
+ name: "Azure Monitor AbandonMessage",
2665
+ metricName: "azure_abandonmessage_total",
2666
+ attributes: { ...SERVICE_BUS_ENTITY },
2667
+ expected: SERVICE_BUS_ORDERS,
2668
+ },
2669
+ {
2670
+ name: "Azure Monitor ServerErrors (Service Bus)",
2671
+ metricName: "azure_servererrors_total",
2672
+ attributes: {
2673
+ ...SERVICE_BUS_ENTITY,
2674
+ metadata_operationresult: "serverbusy",
2675
+ },
2676
+ expected: SERVICE_BUS_ORDERS,
2677
+ },
2678
+ {
2679
+ name: "Azure Monitor UserErrors (Service Bus)",
2680
+ metricName: "azure_usererrors_total",
2681
+ attributes: {
2682
+ ...SERVICE_BUS_ENTITY,
2683
+ metadata_operationresult: "clienterror",
2684
+ },
2685
+ expected: SERVICE_BUS_ORDERS,
2686
+ },
2687
+ {
2688
+ name: "Azure Monitor ThrottledRequests (Service Bus)",
2689
+ metricName: "azure_throttledrequests_total",
2690
+ attributes: {
2691
+ ...SERVICE_BUS_ENTITY,
2692
+ metadata_operationresult: "serverbusy",
2693
+ metadata_messagingerrorsubcode: "CPU",
2694
+ },
2695
+ expected: SERVICE_BUS_ORDERS,
2696
+ },
2697
+ {
2698
+ name: "Azure Monitor ActiveMessages of a MassTransit bus endpoint (one per process)",
2699
+ metricName: "azure_activemessages_average",
2700
+ attributes: {
2701
+ ...SERVICE_BUS_ENTITY,
2702
+ metadata_entityname:
2703
+ "billingworker02_BillingWorker_bus_7d4yysgeydaos4hybdxt76a6rx",
2704
+ },
2705
+ expected: null,
2706
+ },
2707
+
2708
+ // Azure Event Hubs — azure_monitor.
2709
+ {
2710
+ name: "Azure Monitor IncomingMessages (Event Hubs)",
2711
+ metricName: "azure_incomingmessages_total",
2712
+ attributes: { ...EVENT_HUBS_ENTITY },
2713
+ expected: withDirection(EVENT_HUBS_TELEMETRY, "publish"),
2714
+ },
2715
+ {
2716
+ name: "Azure Monitor OutgoingMessages (Event Hubs)",
2717
+ metricName: "azure_outgoingmessages_total",
2718
+ attributes: { ...EVENT_HUBS_ENTITY },
2719
+ expected: withDirection(EVENT_HUBS_TELEMETRY, "consume"),
2720
+ },
2721
+ {
2722
+ name: "Azure Monitor ServerErrors (Event Hubs)",
2723
+ metricName: "azure_servererrors_total",
2724
+ attributes: {
2725
+ ...EVENT_HUBS_ENTITY,
2726
+ metadata_operationresult: "serverbusy",
2727
+ },
2728
+ expected: EVENT_HUBS_TELEMETRY,
2729
+ },
2730
+ {
2731
+ name: "Azure Monitor UserErrors (Event Hubs)",
2732
+ metricName: "azure_usererrors_total",
2733
+ attributes: {
2734
+ ...EVENT_HUBS_ENTITY,
2735
+ metadata_operationresult: "clienterror",
2736
+ },
2737
+ expected: EVENT_HUBS_TELEMETRY,
2738
+ },
2739
+ {
2740
+ name: "Azure Monitor QuotaExceededErrors (Event Hubs)",
2741
+ metricName: "azure_quotaexceedederrors_total",
2742
+ attributes: {
2743
+ ...EVENT_HUBS_ENTITY,
2744
+ metadata_operationresult: "quotaexceeded",
2745
+ },
2746
+ expected: EVENT_HUBS_TELEMETRY,
2747
+ },
2748
+ {
2749
+ name: "Azure Monitor ThrottledRequests (Event Hubs)",
2750
+ metricName: "azure_throttledrequests_total",
2751
+ attributes: {
2752
+ ...EVENT_HUBS_ENTITY,
2753
+ metadata_operationresult: "serverbusy",
2754
+ },
2755
+ expected: EVENT_HUBS_TELEMETRY,
2756
+ },
2757
+
2758
+ // Amazon SQS — both CloudWatch shapes.
2759
+ ...sqsFixtures({
2760
+ cloudWatchName: "ApproximateNumberOfMessagesVisible",
2761
+ direction: "unknown",
2762
+ }),
2763
+ ...sqsFixtures({
2764
+ cloudWatchName: "ApproximateAgeOfOldestMessage",
2765
+ direction: "unknown",
2766
+ }),
2767
+ ...sqsFixtures({
2768
+ cloudWatchName: "ApproximateNumberOfMessagesNotVisible",
2769
+ direction: "unknown",
2770
+ }),
2771
+ ...sqsFixtures({
2772
+ cloudWatchName: "NumberOfMessagesSent",
2773
+ direction: "publish",
2774
+ }),
2775
+ ...sqsFixtures({
2776
+ cloudWatchName: "NumberOfMessagesReceived",
2777
+ direction: "consume",
2778
+ }),
2779
+ ...sqsFixtures({
2780
+ cloudWatchName: "NumberOfMessagesDeleted",
2781
+ direction: "consume",
2782
+ }),
2783
+ {
2784
+ name: "CloudWatch ApproximateNumberOfMessagesVisible of a MassTransit bus endpoint (one per process)",
2785
+ metricName: "amazonaws.com/aws/sqs/approximatenumberofmessagesvisible",
2786
+ attributes: {
2787
+ ...CLOUDWATCH_OTEL_RESOURCE,
2788
+ Namespace: "AWS/SQS",
2789
+ MetricName: "ApproximateNumberOfMessagesVisible",
2790
+ "Dimensions.QueueName":
2791
+ "ip10012034euwe_ContosoBillingWorker_bus_68pobtdryda85beybdxt68ffbx",
2792
+ },
2793
+ expected: null,
2794
+ },
2795
+
2796
+ // Amazon SNS — both CloudWatch shapes.
2797
+ ...snsFixtures({
2798
+ cloudWatchName: "NumberOfMessagesPublished",
2799
+ direction: "publish",
2800
+ }),
2801
+ ...snsFixtures({
2802
+ cloudWatchName: "NumberOfNotificationsDelivered",
2803
+ direction: "consume",
2804
+ }),
2805
+ ...snsFixtures({
2806
+ cloudWatchName: "NumberOfNotificationsFailed",
2807
+ direction: "unknown",
2808
+ }),
2809
+ ...snsFixtures({
2810
+ cloudWatchName: "NumberOfNotificationsRedrivenToDlq",
2811
+ direction: "unknown",
2812
+ }),
2813
+
2814
+ // Google Cloud Pub/Sub — googlecloudmonitoring.
2815
+ {
2816
+ name: "Pub/Sub undelivered messages",
2817
+ metricName: "pubsub.googleapis.com/subscription/num_undelivered_messages",
2818
+ attributes: { ...PUBSUB_SUBSCRIPTION_RESOURCE },
2819
+ expected: PUBSUB_BILLING_SUB,
2820
+ },
2821
+ {
2822
+ name: "Pub/Sub oldest unacked message age",
2823
+ metricName: "pubsub.googleapis.com/subscription/oldest_unacked_message_age",
2824
+ attributes: { ...PUBSUB_SUBSCRIPTION_RESOURCE },
2825
+ expected: PUBSUB_BILLING_SUB,
2826
+ },
2827
+ {
2828
+ name: "Pub/Sub dead-lettered messages (collector 0.137+: label on the datapoint)",
2829
+ metricName: "pubsub.googleapis.com/subscription/dead_letter_message_count",
2830
+ attributes: { ...PUBSUB_SUBSCRIPTION_RESOURCE, response_code: "success" },
2831
+ expected: PUBSUB_BILLING_SUB,
2832
+ },
2833
+ {
2834
+ name: "Pub/Sub dead-lettered messages (collector 0.116-0.136: label on the resource)",
2835
+ metricName: "pubsub.googleapis.com/subscription/dead_letter_message_count",
2836
+ attributes: {
2837
+ ...PUBSUB_SUBSCRIPTION_RESOURCE,
2838
+ "resource.response_code": "success",
2839
+ },
2840
+ expected: PUBSUB_BILLING_SUB,
2841
+ },
2842
+ {
2843
+ name: "Pub/Sub acknowledged messages",
2844
+ metricName: "pubsub.googleapis.com/subscription/ack_message_count",
2845
+ attributes: { ...PUBSUB_SUBSCRIPTION_RESOURCE, delivery_type: "pull" },
2846
+ expected: withDirection(PUBSUB_BILLING_SUB, "consume"),
2847
+ },
2848
+ {
2849
+ name: "Pub/Sub publish requests (on the topic)",
2850
+ metricName: "pubsub.googleapis.com/topic/send_request_count",
2851
+ attributes: {
2852
+ ...PUBSUB_TOPIC_RESOURCE,
2853
+ response_class: "success",
2854
+ response_code: "success",
2855
+ },
2856
+ expected: destinationOf({
2857
+ system: "gcp_pubsub",
2858
+ destination: "orders",
2859
+ direction: "publish",
2860
+ }),
2861
+ },
2862
+
2863
+ // Apache Pulsar — prometheus scrape of the broker (live capture, Pulsar 4.2.4).
2864
+ {
2865
+ name: "Pulsar topic backlog (a partition)",
2866
+ metricName: "pulsar_msg_backlog",
2867
+ attributes: { ...PULSAR_SCRAPE },
2868
+ expected: PULSAR_PAYMENTS,
2869
+ },
2870
+ {
2871
+ name: "Pulsar subscription backlog",
2872
+ metricName: "pulsar_subscription_back_log",
2873
+ attributes: { ...PULSAR_SCRAPE, subscription: "ledger" },
2874
+ expected: PULSAR_PAYMENTS,
2875
+ },
2876
+ {
2877
+ name: "Pulsar backlog age",
2878
+ metricName: "pulsar_storage_backlog_age_seconds",
2879
+ attributes: { ...PULSAR_SCRAPE },
2880
+ expected: PULSAR_PAYMENTS,
2881
+ },
2882
+ {
2883
+ name: "Pulsar messages in",
2884
+ metricName: "pulsar_in_messages_total",
2885
+ attributes: { ...PULSAR_SCRAPE },
2886
+ expected: withDirection(PULSAR_PAYMENTS, "publish"),
2887
+ },
2888
+ {
2889
+ name: "Pulsar messages out",
2890
+ metricName: "pulsar_out_messages_total",
2891
+ attributes: { ...PULSAR_SCRAPE, subscription: "ledger" },
2892
+ expected: withDirection(PULSAR_PAYMENTS, "consume"),
2893
+ },
2894
+
2895
+ // Apache RocketMQ — prometheus scrape (metricsExporterType=PROM).
2896
+ {
2897
+ name: "RocketMQ consumer lag",
2898
+ metricName: "rocketmq_consumer_lag_messages",
2899
+ attributes: {
2900
+ ...ROCKETMQ_SCRAPE,
2901
+ consumer_group: "billing-group",
2902
+ is_retry: "false",
2903
+ },
2904
+ expected: ROCKETMQ_ORDERS,
2905
+ },
2906
+ {
2907
+ name: "RocketMQ ready messages",
2908
+ metricName: "rocketmq_consumer_ready_messages",
2909
+ attributes: {
2910
+ ...ROCKETMQ_SCRAPE,
2911
+ consumer_group: "billing-group",
2912
+ is_retry: "false",
2913
+ },
2914
+ expected: ROCKETMQ_ORDERS,
2915
+ },
2916
+ {
2917
+ name: "RocketMQ sent to the dead-letter queue",
2918
+ metricName: "rocketmq_send_to_dlq_messages_total",
2919
+ attributes: { ...ROCKETMQ_SCRAPE, consumer_group: "billing-group" },
2920
+ expected: ROCKETMQ_ORDERS,
2921
+ },
2922
+ {
2923
+ name: "RocketMQ messages in",
2924
+ metricName: "rocketmq_messages_in_total",
2925
+ attributes: { ...ROCKETMQ_SCRAPE, message_type: "Normal" },
2926
+ expected: withDirection(ROCKETMQ_ORDERS, "publish"),
2927
+ },
2928
+
2929
+ // Messaging CLIENT metrics (semconv) and application gauges.
2930
+ {
2931
+ name: "semconv messaging.client.sent.messages",
2932
+ metricName: "messaging.client.sent.messages",
2933
+ attributes: {
2934
+ "messaging.system": "kafka",
2935
+ "messaging.destination.name": "orders",
2936
+ "messaging.operation.name": "send",
2937
+ "server.address": "kafka-1",
2938
+ "server.port": 9092,
2939
+ },
2940
+ expected: destinationOf({
2941
+ system: "kafka",
2942
+ destination: "orders",
2943
+ direction: "publish",
2944
+ brokerAddress: "kafka-1:9092",
2945
+ }),
2946
+ },
2947
+ {
2948
+ name: "semconv messaging.client.consumed.messages",
2949
+ metricName: "messaging.client.consumed.messages",
2950
+ attributes: {
2951
+ "messaging.system": "kafka",
2952
+ "messaging.destination.name": "orders",
2953
+ "messaging.consumer.group.name": "billing",
2954
+ "messaging.destination.partition.id": "1",
2955
+ },
2956
+ expected: destinationOf({
2957
+ system: "kafka",
2958
+ destination: "orders",
2959
+ direction: "consume",
2960
+ consumerGroup: "billing",
2961
+ }),
2962
+ },
2963
+ {
2964
+ name: "semconv messaging.client.operation.duration (direction from the operation type)",
2965
+ metricName: "messaging.client.operation.duration",
2966
+ attributes: {
2967
+ "messaging.system": "rabbitmq",
2968
+ "messaging.destination.name": "amq.default",
2969
+ "messaging.rabbitmq.destination.routing_key": "orders",
2970
+ "messaging.operation.type": "receive",
2971
+ "messaging.operation.name": "fetch",
2972
+ },
2973
+ expected: destinationOf({
2974
+ system: "rabbitmq",
2975
+ destination: "orders",
2976
+ direction: "consume",
2977
+ }),
2978
+ },
2979
+ {
2980
+ name: "semconv messaging.process.duration",
2981
+ metricName: "messaging.process.duration",
2982
+ attributes: {
2983
+ "messaging.system": "servicebus",
2984
+ "messaging.destination.name": "orders",
2985
+ "server.address": SERVICE_BUS_HOST,
2986
+ },
2987
+ expected: destinationOf({
2988
+ system: "servicebus",
2989
+ destination: "orders",
2990
+ brokerScope: "orders-prod",
2991
+ brokerAddress: SERVICE_BUS_HOST,
2992
+ direction: "consume",
2993
+ }),
2994
+ },
2995
+ {
2996
+ name: "deprecated messaging.publish.duration (Java agent default mode)",
2997
+ metricName: "messaging.publish.duration",
2998
+ attributes: {
2999
+ "messaging.system": "pulsar",
3000
+ "messaging.destination.name":
3001
+ "persistent://public/default/orders-partition-0",
3002
+ },
3003
+ expected: destinationOf({
3004
+ system: "pulsar",
3005
+ destination: "persistent://public/default/orders",
3006
+ direction: "publish",
3007
+ }),
3008
+ },
3009
+ {
3010
+ name: "deprecated messaging.receive.duration",
3011
+ metricName: "messaging.receive.duration",
3012
+ attributes: {
3013
+ "messaging.system": "aws_sqs",
3014
+ "messaging.destination.name": "orders",
3015
+ },
3016
+ expected: destinationOf({
3017
+ system: "aws_sqs",
3018
+ destination: "orders",
3019
+ direction: "consume",
3020
+ }),
3021
+ },
3022
+ {
3023
+ name: "deprecated messaging.publish.messages",
3024
+ metricName: "messaging.publish.messages",
3025
+ attributes: {
3026
+ "messaging.system": "jms",
3027
+ "messaging.destination.name": "orders.queue",
3028
+ },
3029
+ expected: destinationOf({
3030
+ system: "jms",
3031
+ destination: "orders.queue",
3032
+ direction: "publish",
3033
+ }),
3034
+ },
3035
+ {
3036
+ name: "deprecated messaging.receive.messages",
3037
+ metricName: "messaging.receive.messages",
3038
+ attributes: {
3039
+ "messaging.system": "jms",
3040
+ "messaging.destination.name": "orders.queue",
3041
+ },
3042
+ expected: destinationOf({
3043
+ system: "jms",
3044
+ destination: "orders.queue",
3045
+ direction: "consume",
3046
+ }),
3047
+ },
3048
+ {
3049
+ name: "deprecated messaging.process.messages",
3050
+ metricName: "messaging.process.messages",
3051
+ attributes: {
3052
+ "messaging.system": "nats",
3053
+ "messaging.destination.name": "orders.created",
3054
+ },
3055
+ expected: destinationOf({
3056
+ system: "nats",
3057
+ destination: "orders.created",
3058
+ direction: "consume",
3059
+ }),
3060
+ },
3061
+ {
3062
+ name: "Azure SDK for Java messaging.client.published.messages (pre-1.28 name)",
3063
+ metricName: "messaging.client.published.messages",
3064
+ attributes: {
3065
+ "messaging.system": "eventhubs",
3066
+ "messaging.destination.name": "telemetry",
3067
+ "messaging.destination.partition.id": "0",
3068
+ "server.address": EVENT_HUBS_HOST,
3069
+ },
3070
+ expected: destinationOf({
3071
+ system: "eventhubs",
3072
+ destination: "telemetry",
3073
+ brokerScope: "ingest-prod",
3074
+ brokerAddress: EVENT_HUBS_HOST,
3075
+ direction: "publish",
3076
+ }),
3077
+ },
3078
+ /*
3079
+ * The Java agent's opt-in RabbitMQ client metrics, as MessagingMetricsAdvice
3080
+ * keeps them: the span's joined name and its operation name, never the
3081
+ * routing key, and the operation type on messaging.client.operation.duration
3082
+ * alone. Each keys the queue of the opt-in span above that it measures.
3083
+ */
3084
+ {
3085
+ name: "Java agent opt-in messaging.client.sent.messages of a RabbitMQ publish ({exchange}:{routing key})",
3086
+ metricName: "messaging.client.sent.messages",
3087
+ attributes: {
3088
+ "messaging.operation.name": "publish",
3089
+ "messaging.system": "rabbitmq",
3090
+ "messaging.destination.name": "direct_logs:warning",
3091
+ "server.address": "rabbit.prod",
3092
+ "server.port": 5672,
3093
+ },
3094
+ expected: destinationOf({
3095
+ system: "rabbitmq",
3096
+ destination: "direct_logs",
3097
+ direction: "publish",
3098
+ brokerAddress: "rabbit.prod:5672",
3099
+ }),
3100
+ },
3101
+ {
3102
+ name: "Java agent opt-in messaging.client.operation.duration of a RabbitMQ publish ({exchange}:{routing key})",
3103
+ metricName: "messaging.client.operation.duration",
3104
+ attributes: {
3105
+ "messaging.operation.name": "publish",
3106
+ "messaging.system": "rabbitmq",
3107
+ "messaging.destination.name": "direct_logs:warning",
3108
+ "messaging.operation.type": "send",
3109
+ "server.address": "rabbit.prod",
3110
+ "server.port": 5672,
3111
+ },
3112
+ expected: destinationOf({
3113
+ system: "rabbitmq",
3114
+ destination: "direct_logs",
3115
+ direction: "publish",
3116
+ brokerAddress: "rabbit.prod:5672",
3117
+ }),
3118
+ },
3119
+ {
3120
+ name: "Java agent opt-in messaging.client.consumed.messages of a RabbitMQ delivery ({exchange}:{routing key}:{queue})",
3121
+ metricName: "messaging.client.consumed.messages",
3122
+ attributes: {
3123
+ "messaging.operation.name": "process",
3124
+ "messaging.system": "rabbitmq",
3125
+ "messaging.destination.name": "direct_logs:warning:warning_queue",
3126
+ },
3127
+ expected: destinationOf({
3128
+ system: "rabbitmq",
3129
+ destination: "warning_queue",
3130
+ direction: "consume",
3131
+ }),
3132
+ },
3133
+ {
3134
+ name: "Java agent opt-in messaging.process.duration of a RabbitMQ delivery ({exchange}:{routing key}, the routing key the queue)",
3135
+ metricName: "messaging.process.duration",
3136
+ attributes: {
3137
+ "messaging.operation.name": "process",
3138
+ "messaging.system": "rabbitmq",
3139
+ "messaging.destination.name": "direct_logs:warning",
3140
+ },
3141
+ expected: destinationOf({
3142
+ system: "rabbitmq",
3143
+ destination: "warning",
3144
+ direction: "consume",
3145
+ }),
3146
+ },
3147
+ {
3148
+ name: "Java agent opt-in messaging.client.consumed.messages of a RabbitMQ delivery from a fanout exchange ({exchange}:{queue})",
3149
+ metricName: "messaging.client.consumed.messages",
3150
+ attributes: {
3151
+ "messaging.operation.name": "process",
3152
+ "messaging.system": "rabbitmq",
3153
+ "messaging.destination.name": "logs:logs-audit",
3154
+ },
3155
+ expected: destinationOf({
3156
+ system: "rabbitmq",
3157
+ destination: "logs-audit",
3158
+ direction: "consume",
3159
+ }),
3160
+ },
3161
+ {
3162
+ name: "OneUptime's own BullMQ queue.size gauge",
3163
+ metricName: "queue.size",
3164
+ attributes: {
3165
+ "messaging.system": "bullmq",
3166
+ "messaging.destination.name": "Workers",
3167
+ state: "waiting",
3168
+ "resource.service.name": "oneuptime-app",
3169
+ },
3170
+ expected: destinationOf({
3171
+ system: "bullmq",
3172
+ destination: "Workers",
3173
+ }),
3174
+ },
3175
+
3176
+ // Never a queue.
3177
+ {
3178
+ name: "Azure Monitor namespace-level value (-NamespaceOnlyMetric-)",
3179
+ metricName: "azure_incomingmessages_total",
3180
+ attributes: {
3181
+ ...SERVICE_BUS_ENTITY,
3182
+ metadata_entityname: "-NamespaceOnlyMetric-",
3183
+ },
3184
+ expected: null,
3185
+ },
3186
+ {
3187
+ name: "Azure Monitor metric of another resource type (Storage)",
3188
+ metricName: "azure_incomingmessages_total",
3189
+ attributes: {
3190
+ ...SERVICE_BUS_ENTITY,
3191
+ type: "Microsoft.Storage/storageAccounts",
3192
+ },
3193
+ expected: null,
3194
+ },
3195
+ {
3196
+ name: "Pulsar system topic",
3197
+ metricName: "pulsar_msg_backlog",
3198
+ attributes: {
3199
+ ...PULSAR_SCRAPE,
3200
+ topic: "persistent://public/default/__change_events",
3201
+ },
3202
+ expected: null,
3203
+ },
3204
+ {
3205
+ name: "JMX Scraper advisory topic",
3206
+ metricName: "activemq.message.queue.size",
3207
+ attributes: {
3208
+ ...ACTIVEMQ_DESTINATION,
3209
+ "activemq.destination.type": "topic",
3210
+ "messaging.destination.name": "ActiveMQ.Advisory.Connection",
3211
+ },
3212
+ expected: null,
3213
+ },
3214
+ {
3215
+ name: "JMX Scraper producer count (not curated; no messaging.system)",
3216
+ metricName: "activemq.producer.count",
3217
+ attributes: { ...ACTIVEMQ_DESTINATION },
3218
+ expected: null,
3219
+ },
3220
+ {
3221
+ name: "NATS JetStream consumer metric (per stream and consumer, not per subject)",
3222
+ metricName: "jetstream_consumer_num_pending",
3223
+ attributes: {
3224
+ "resource.server.address": "nats-exporter",
3225
+ "resource.server.port": "7777",
3226
+ "resource.service.name": "nats",
3227
+ account: "$G",
3228
+ stream_name: "ORDERS",
3229
+ consumer_name: "billing",
3230
+ is_consumer_leader: "true",
3231
+ },
3232
+ expected: null,
3233
+ },
3234
+ {
3235
+ name: "A host metric",
3236
+ metricName: "system.cpu.utilization",
3237
+ attributes: { state: "user", "resource.host.name": "web-1" },
3238
+ expected: null,
3239
+ },
3240
+ ];
3241
+
3242
+ /*
3243
+ * The values ClickHouse's Map(String, String) keeps for a row: strings as
3244
+ * they are, numbers and booleans as String(), arrays as their JSON text, and
3245
+ * "" for every requested key the row lacks — the shape the discovery cron
3246
+ * reads back with `attributes['<key>']`.
3247
+ */
3248
+ export function toStoredColumns(
3249
+ attributes: FixtureAttributes,
3250
+ keys: ReadonlyArray<string>,
3251
+ ): Record<string, string> {
3252
+ const row: Record<string, string> = {};
3253
+ for (const key of keys) {
3254
+ const value: unknown = Object.prototype.hasOwnProperty.call(attributes, key)
3255
+ ? attributes[key]
3256
+ : undefined;
3257
+ if (typeof value === "string") {
3258
+ row[key] = value;
3259
+ } else if (typeof value === "number" || typeof value === "boolean") {
3260
+ row[key] = String(value);
3261
+ } else if (Array.isArray(value)) {
3262
+ row[key] = JSON.stringify(value);
3263
+ } else {
3264
+ row[key] = "";
3265
+ }
3266
+ }
3267
+ return row;
3268
+ }
3269
+
3270
+ /*
3271
+ * The text the span table's Nullable kind column keeps for the kind a row
3272
+ * was inserted with (JSONEachRow, which writes a JSON value's text into a
3273
+ * String column): a string as it is, anything else JSON can write as its
3274
+ * JSON text (2 → "2", 1e21 → "1e+21", true → "true"), and NULL for no kind
3275
+ * — null, undefined, and a number JSON writes as null (NaN, Infinity). The
3276
+ * real-ClickHouse discovery suite checks it against the server.
3277
+ */
3278
+ export function toStoredKind(kind: unknown): string | null {
3279
+ if (kind === null || kind === undefined) {
3280
+ return null;
3281
+ }
3282
+ if (typeof kind === "string") {
3283
+ return kind;
3284
+ }
3285
+ const text: string | undefined = JSON.stringify(kind);
3286
+ return text === undefined || text === "null" ? null : text;
3287
+ }