@oneuptime/common 11.7.4 → 12.0.0

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 (872) hide show
  1. package/Models/AnalyticsModels/ExceptionInstance.ts +67 -0
  2. package/Models/AnalyticsModels/Index.ts +10 -0
  3. package/Models/AnalyticsModels/Log.ts +60 -0
  4. package/Models/AnalyticsModels/RumSession.ts +1401 -0
  5. package/Models/AnalyticsModels/RumSessionChunk.ts +798 -0
  6. package/Models/AnalyticsModels/Span.ts +60 -0
  7. package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +52 -0
  8. package/Models/DatabaseModels/AIRun.ts +31 -0
  9. package/Models/DatabaseModels/Alert.ts +29 -0
  10. package/Models/DatabaseModels/AlertCustomField.ts +1 -1
  11. package/Models/DatabaseModels/AlertFeed.ts +1 -0
  12. package/Models/DatabaseModels/AutoRemediationRule.ts +989 -0
  13. package/Models/DatabaseModels/AutoRemediationSuggestion.ts +874 -0
  14. package/Models/DatabaseModels/CodeRepository.ts +129 -0
  15. package/Models/DatabaseModels/GlobalConfig.ts +312 -0
  16. package/Models/DatabaseModels/Incident.ts +29 -0
  17. package/Models/DatabaseModels/IncidentCustomField.ts +1 -1
  18. package/Models/DatabaseModels/IncidentFeed.ts +1 -0
  19. package/Models/DatabaseModels/Index.ts +21 -8
  20. package/Models/DatabaseModels/InstanceHealthLog.ts +8 -0
  21. package/Models/DatabaseModels/MonitorCustomField.ts +1 -1
  22. package/Models/DatabaseModels/MonitorStatus.ts +1 -1
  23. package/Models/DatabaseModels/NetworkDeviceLabelRule.ts +2 -2
  24. package/Models/DatabaseModels/NetworkDeviceOwnerRule.ts +2 -2
  25. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +1 -1
  26. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +1 -1
  27. package/Models/DatabaseModels/Project.ts +231 -0
  28. package/Models/DatabaseModels/RumApplication.ts +906 -0
  29. package/Models/DatabaseModels/RumSessionErasureRequest.ts +561 -0
  30. package/Models/DatabaseModels/RumSessionPin.ts +457 -0
  31. package/Models/DatabaseModels/RumSessionReplayView.ts +406 -0
  32. package/Models/DatabaseModels/RunbookCredential.ts +673 -0
  33. package/Models/DatabaseModels/RunbookSecret.ts +7 -7
  34. package/Models/DatabaseModels/{RunbookAgent.ts → Runner.ts} +206 -46
  35. package/Models/DatabaseModels/{RunbookAgentJob.ts → RunnerJob.ts} +151 -18
  36. package/Models/DatabaseModels/{RunbookAgentOwnerTeam.ts → RunnerOwnerTeam.ts} +41 -43
  37. package/Models/DatabaseModels/{RunbookAgentOwnerUser.ts → RunnerOwnerUser.ts} +41 -43
  38. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +1 -1
  39. package/Models/DatabaseModels/StatusPageCustomField.ts +1 -1
  40. package/Models/DatabaseModels/TeamCustomField.ts +1 -1
  41. package/Models/DatabaseModels/TeamMemberCustomField.ts +1 -1
  42. package/Server/API/AIAgentDataAPI.ts +179 -48
  43. package/Server/API/AIAgentTaskAPI.ts +36 -37
  44. package/Server/API/AIAgentTaskLogAPI.ts +19 -33
  45. package/Server/API/AutoRemediationAPI.ts +557 -0
  46. package/Server/API/BaseAnalyticsAPI.ts +4 -1
  47. package/Server/API/CommonAPI.ts +35 -0
  48. package/Server/API/DashboardAPI.ts +340 -15
  49. package/Server/API/TelemetryAPI.ts +1622 -3
  50. package/Server/API/UserIncomingCallNumberAPI.ts +31 -0
  51. package/Server/DatabaseConfig.ts +26 -1
  52. package/Server/EnvironmentConfig.ts +13 -0
  53. package/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.ts +293 -0
  54. package/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.ts +67 -0
  55. package/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.ts +33 -0
  56. package/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.ts +40 -0
  57. package/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.ts +54 -0
  58. package/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.ts +104 -0
  59. package/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.ts +349 -0
  60. package/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.ts +67 -0
  61. package/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.ts +23 -0
  62. package/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.ts +42 -0
  63. package/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.ts +84 -0
  64. package/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.ts +152 -0
  65. package/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.ts +81 -0
  66. package/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.ts +151 -0
  67. package/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.ts +597 -0
  68. package/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.ts +71 -0
  69. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +32 -0
  70. package/Server/Services/AIRunService.ts +10 -0
  71. package/Server/Services/AIService.ts +30 -0
  72. package/Server/Services/AlertService.ts +41 -4
  73. package/Server/Services/AlertSeverityService.ts +25 -11
  74. package/Server/Services/AlertStateService.ts +25 -11
  75. package/Server/Services/AutoRemediationRuleEngineService.ts +1101 -0
  76. package/Server/Services/{RunbookAgentOwnerTeamService.ts → AutoRemediationRuleService.ts} +1 -1
  77. package/Server/Services/AutoRemediationSuggestionService.ts +183 -0
  78. package/Server/Services/BillingService.ts +50 -1
  79. package/Server/Services/DatabaseService.ts +92 -4
  80. package/Server/Services/IncidentService.ts +56 -4
  81. package/Server/Services/IncidentSeverityService.ts +25 -11
  82. package/Server/Services/IncidentStateService.ts +25 -11
  83. package/Server/Services/Index.ts +19 -0
  84. package/Server/Services/MonitorService.ts +24 -0
  85. package/Server/Services/MonitorStatusService.ts +25 -11
  86. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +18 -19
  87. package/Server/Services/NetworkDeviceLabelRuleService.ts +39 -0
  88. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +18 -19
  89. package/Server/Services/NetworkDeviceOwnerRuleService.ts +37 -0
  90. package/Server/Services/NetworkDeviceService.ts +172 -21
  91. package/Server/Services/NetworkSiteAssignmentRuleService.ts +92 -12
  92. package/Server/Services/NetworkSiteService.ts +27 -10
  93. package/Server/Services/ProjectService.ts +47 -0
  94. package/Server/Services/RumApplicationService.ts +240 -1
  95. package/Server/Services/RumSessionChunkService.ts +11 -0
  96. package/Server/Services/RumSessionErasureRequestService.ts +197 -0
  97. package/Server/Services/RumSessionPinService.ts +213 -0
  98. package/Server/Services/RumSessionReplayViewService.ts +201 -0
  99. package/Server/Services/RumSessionService.ts +123 -0
  100. package/Server/Services/RunbookCredentialService.ts +76 -0
  101. package/Server/Services/{RunbookAgentJobService.ts → RunnerJobService.ts} +202 -51
  102. package/Server/Services/{RunbookAgentOwnerUserService.ts → RunnerOwnerTeamService.ts} +1 -1
  103. package/Server/Services/RunnerOwnerUserService.ts +10 -0
  104. package/Server/Services/RunnerService.ts +172 -0
  105. package/Server/Services/ScheduledMaintenanceStateService.ts +25 -11
  106. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +15 -1
  107. package/Server/Services/ServiceService.ts +8 -2
  108. package/Server/Services/StatusPageService.ts +240 -36
  109. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +20 -1
  110. package/Server/Services/TelemetryExceptionService.ts +3 -16
  111. package/Server/Services/TelemetryUsageBillingService.ts +33 -2
  112. package/Server/Services/TraceAggregationService.ts +196 -32
  113. package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +17 -0
  114. package/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.ts +10 -0
  115. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +63 -7
  116. package/Server/Utils/AI/CodeFix/CodeFixAgentAuth.ts +128 -0
  117. package/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.ts +54 -0
  118. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +17 -10
  119. package/Server/Utils/AI/CodeFix/CodeFixRunQueue.ts +8 -6
  120. package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +943 -0
  121. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +866 -0
  122. package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +823 -0
  123. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +103 -12
  124. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +75 -17
  125. package/Server/Utils/AI/SRE/ConfidenceSignal.ts +28 -6
  126. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +202 -12
  127. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +264 -14
  128. package/Server/Utils/AI/SRE/Insights/Triage.ts +2 -7
  129. package/Server/Utils/AI/SRE/InvestigationGrader.ts +5 -24
  130. package/Server/Utils/AI/SRE/InvestigationQueue.ts +259 -20
  131. package/Server/Utils/AI/SRE/PostedRootCause.ts +82 -0
  132. package/Server/Utils/AI/SRE/README.md +3 -2
  133. package/Server/Utils/AI/SRE/RemediationHandoff.ts +82 -0
  134. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +6 -19
  135. package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +2 -2
  136. package/Server/Utils/Alert/AlertPrivacyFilter.ts +58 -0
  137. package/Server/Utils/AutoRemediation/CommandPlanExecutor.ts +604 -0
  138. package/Server/Utils/AutoRemediation/RemediationVerifier.ts +619 -0
  139. package/Server/Utils/CorsOptions.ts +52 -0
  140. package/Server/Utils/Database/RelationIdUtil.ts +68 -0
  141. package/Server/Utils/Incident/IncidentPrivacyFilter.ts +60 -0
  142. package/Server/Utils/InstanceHealth/PostgresHealth.ts +286 -0
  143. package/Server/Utils/InstanceHealth/RedisHealth.ts +434 -0
  144. package/Server/Utils/Monitor/MonitorAlert.ts +20 -0
  145. package/Server/Utils/Monitor/MonitorIncident.ts +20 -0
  146. package/Server/Utils/Monitor/MonitorResource.ts +19 -0
  147. package/Server/Utils/Monitor/MonitorSummaryCapture.ts +104 -0
  148. package/Server/Utils/NetworkDevice/RulePatternValidator.ts +44 -0
  149. package/Server/Utils/OpenAPI.ts +2 -1
  150. package/Server/Utils/Runbook/RunbookExecutePermission.ts +94 -0
  151. package/Server/Utils/SessionReplay/SessionReplayErasureTombstone.ts +128 -0
  152. package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +586 -0
  153. package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +188 -0
  154. package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1449 -0
  155. package/Server/Utils/SessionReplay/SessionReplayRetention.ts +114 -0
  156. package/Server/Utils/SessionReplay/SessionReplayTargeting.ts +144 -0
  157. package/Server/Utils/SessionReplay/SessionReplayUsage.ts +92 -0
  158. package/Server/Utils/StartServer.ts +47 -3
  159. package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +44 -10
  160. package/Tests/App/Dashboard/AddWidgetModal.test.tsx +557 -0
  161. package/Tests/App/Dashboard/WidgetCatalog.test.ts +479 -0
  162. package/Tests/App/StatusPage/BulkAddStatusPageMonitors.test.ts +343 -0
  163. package/Tests/App/StatusPage/BulkAddStatusPageMonitorsModal.test.tsx +320 -0
  164. package/Tests/Models/AnalyticsModels/RumSessionSchema.test.ts +455 -0
  165. package/Tests/Models/AnalyticsModels/SessionIdCorrelation.test.ts +158 -0
  166. package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +447 -0
  167. package/Tests/Models/RunnerVersionLabel.test.ts +223 -0
  168. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +1287 -0
  169. package/Tests/Server/API/LegacyRunbookAgentRoutes.test.ts +117 -0
  170. package/Tests/Server/API/SessionReplayAPI.test.ts +2093 -0
  171. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +429 -0
  172. package/Tests/Server/API/UserSmsApi.test.ts +68 -2
  173. package/Tests/Server/DatabaseConfig.test.ts +150 -0
  174. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +2 -2
  175. package/Tests/Server/Infrastructure/ProcessSignalDelivery.test.ts +2 -3
  176. package/Tests/Server/Services/AIRunCodeFixClaimScoping.test.ts +100 -0
  177. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +8 -0
  178. package/Tests/Server/Services/AutoRemediationCommandRuleEngine.test.ts +334 -0
  179. package/Tests/Server/Services/AutoRemediationRuleEngineService.test.ts +517 -0
  180. package/Tests/Server/Services/BillingService.test.ts +158 -1
  181. package/Tests/Server/Services/DatabaseServiceEmptyUpdate.test.ts +24 -2
  182. package/Tests/Server/Services/DatabaseServiceSanitizeUpdateData.test.ts +17 -10
  183. package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +128 -0
  184. package/Tests/Server/Services/DatabaseServiceUpdateWriteRouting.test.ts +178 -0
  185. package/Tests/Server/Services/DatabaseServiceUpdateWriteRoutingMonitor.test.ts +206 -0
  186. package/Tests/Server/Services/MonitorServiceOperationalStatusSelection.test.ts +145 -0
  187. package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +726 -0
  188. package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +570 -9
  189. package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +94 -1
  190. package/Tests/Server/Services/NetworkSiteService.test.ts +85 -0
  191. package/Tests/Server/Services/RumApplicationReplayHealth.test.ts +114 -0
  192. package/Tests/Server/Services/RunbookCredentialService.test.ts +657 -0
  193. package/Tests/Server/Services/SessionReplayCreatePath.test.ts +376 -0
  194. package/Tests/Server/Services/SessionReplayGateCacheInvalidation.test.ts +211 -0
  195. package/Tests/Server/Services/SessionReplayMetering.test.ts +174 -0
  196. package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +555 -0
  197. package/Tests/Server/Services/TelemetryExceptionAIFixReadiness.test.ts +25 -4
  198. package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +17 -2
  199. package/Tests/Server/Services/TraceAggregationService.test.ts +48 -0
  200. package/Tests/Server/Services/TraceAnalyticsResourceDisplayNames.test.ts +855 -0
  201. package/Tests/Server/Services/UpdateOneByIdKeepsRowId.test.ts +38 -27
  202. package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +44 -0
  203. package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +475 -0
  204. package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAuth.test.ts +257 -0
  205. package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.test.ts +236 -0
  206. package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +44 -6
  207. package/Tests/Server/Utils/AI/CodeFixRunQueue.test.ts +47 -1
  208. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +2 -2
  209. package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +294 -0
  210. package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +2 -2
  211. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +47 -3
  212. package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +233 -0
  213. package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +463 -0
  214. package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
  215. package/Tests/Server/Utils/AI/RemediationAllowlistNormalization.test.ts +248 -0
  216. package/Tests/Server/Utils/AI/RemediationCommandTools.test.ts +1008 -0
  217. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +887 -0
  218. package/Tests/Server/Utils/AI/RemediationHandoff.test.ts +306 -0
  219. package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +745 -0
  220. package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +291 -0
  221. package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutor.test.ts +1050 -0
  222. package/Tests/Server/Utils/AutoRemediation/CommandPlanVerification.test.ts +350 -0
  223. package/Tests/Server/Utils/AutoRemediation/RemediationVerifier.test.ts +341 -0
  224. package/Tests/Server/Utils/CorsOptions.test.ts +119 -0
  225. package/Tests/Server/Utils/Database/RelationIdUtil.test.ts +120 -0
  226. package/Tests/Server/Utils/Database/ResolveReferenceId.test.ts +60 -0
  227. package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +337 -0
  228. package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +671 -0
  229. package/Tests/Server/Utils/Monitor/MonitorSummaryCapture.test.ts +205 -0
  230. package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +313 -0
  231. package/Tests/Server/Utils/PushNotificationUtil.test.ts +228 -0
  232. package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +177 -0
  233. package/Tests/Server/Utils/SessionReplay/SessionReplayOriginAllowlist.test.ts +108 -0
  234. package/Tests/Server/Utils/SessionReplay/SessionReplayRetention.test.ts +229 -0
  235. package/Tests/Server/Utils/SessionReplay/SessionReplayTargeting.test.ts +246 -0
  236. package/Tests/Server/Utils/Telemetry/TelemetryFanInWriter.test.ts +110 -0
  237. package/Tests/Types/AI/AIRunStatus.test.ts +25 -0
  238. package/Tests/Types/AutoRemediation/AiRemediationCommandPlan.test.ts +1063 -0
  239. package/Tests/Types/BaseDatabase/AggregationType.test.ts +56 -0
  240. package/Tests/Types/CustomField/CustomFieldDropdownOption.test.ts +227 -0
  241. package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +811 -0
  242. package/Tests/Types/Dashboard/RumDashboardTemplate.test.ts +1238 -0
  243. package/Tests/Types/Day/DayOfWeek.test.ts +46 -0
  244. package/Tests/Types/Docker/DockerInventoryExtractor.test.ts +249 -0
  245. package/Tests/Types/Kubernetes/KubernetesInventoryExtractor.test.ts +231 -0
  246. package/Tests/Types/Kubernetes/KubernetesRightSizing.test.ts +323 -0
  247. package/Tests/Types/Metrics/MetricDownsamplingRetentionDays.test.ts +77 -0
  248. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +42 -14
  249. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +2 -2
  250. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +3 -2
  251. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +1 -1
  252. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +6 -3
  253. package/Tests/Types/Monitor/RumAlertTemplates.test.ts +285 -0
  254. package/Tests/Types/Podman/PodmanInventoryExtractor.test.ts +159 -0
  255. package/Tests/Types/Runbook/RunbookExecutionDeadline.test.ts +268 -0
  256. package/Tests/Types/Runbook/RunbookStepType.test.ts +242 -0
  257. package/Tests/Types/Telemetry/TelemetryRetentionConfig.test.ts +225 -0
  258. package/Tests/Types/Text.test.ts +60 -0
  259. package/Tests/UI/Components/AutocompleteTextInputMenu.test.tsx +555 -0
  260. package/Tests/UI/Components/BulkLabelActions.test.tsx +1502 -0
  261. package/Tests/UI/Components/BulkOwnerActions.test.tsx +1255 -0
  262. package/Tests/UI/Components/CustomFields/DropdownOptionsInput.test.tsx +228 -0
  263. package/Tests/UI/Components/Detail/DropdownColors.test.tsx +128 -0
  264. package/Tests/UI/Components/Dropdown/DropdownValueBadge.test.tsx +60 -0
  265. package/Tests/UI/Components/FilterModalOperatorMenu.test.tsx +674 -0
  266. package/Tests/UI/Components/Forms/ColorPicker.test.tsx +48 -0
  267. package/Tests/UI/Components/Forms/ColorPickerPopup.test.tsx +222 -0
  268. package/Tests/UI/Components/Forms/IconPickerPopup.test.tsx +270 -0
  269. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +125 -6
  270. package/Tests/UI/Components/OperatorSelectorFilterTypes.test.tsx +1595 -0
  271. package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +851 -0
  272. package/Tests/UI/Components/OperatorSelectorMenu.test.tsx +1229 -0
  273. package/Tests/UI/Components/Pagination.test.tsx +85 -0
  274. package/Tests/UI/Monitor/MonitorSummarySnapshotRender.test.tsx +248 -0
  275. package/Tests/UI/Rum/ChunkLoader.test.ts +790 -0
  276. package/Tests/UI/Rum/ReplayScrubber.test.tsx +236 -0
  277. package/Tests/UI/Rum/ReplayStage.test.tsx +606 -0
  278. package/Tests/UI/Utils/Timezone.test.ts +86 -0
  279. package/Tests/UI/Utils/UseClockTick.test.tsx +276 -0
  280. package/Tests/Utils/AiRemediation/CommandPolicy.test.ts +1063 -0
  281. package/Tests/Utils/Dashboard/ClockWidgetFormat.test.ts +1374 -0
  282. package/Tests/Utils/Dashboard/DashboardClockComponent.test.ts +362 -0
  283. package/Tests/Utils/Dashboard/DashboardHtmlComponent.test.ts +217 -0
  284. package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +656 -0
  285. package/Tests/Utils/Dashboard/ValueWidgetLayout.test.ts +1007 -0
  286. package/Tests/Utils/Metrics/MetricSeriesScope.test.ts +1197 -0
  287. package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +839 -0
  288. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +69 -0
  289. package/Tests/Utils/Rules/RulePatternMatchUtil.test.ts +274 -0
  290. package/Tests/Utils/Rum/ChunkMath.test.ts +286 -0
  291. package/Tests/Utils/Rum/Masking.test.ts +186 -0
  292. package/Tests/Utils/Rum/SessionIdentity.test.ts +272 -0
  293. package/Tests/Utils/Rum/SessionSampling.test.ts +164 -0
  294. package/Tests/Utils/Rum/UrlScrubber.test.ts +175 -0
  295. package/Tests/Utils/StatusPage/Report.test.ts +708 -0
  296. package/Tests/Utils/ValueFormatter.test.ts +299 -1
  297. package/Types/AI/AIRunStatus.ts +18 -7
  298. package/Types/AI/AIRunType.ts +18 -0
  299. package/Types/AI/FixVerificationStatus.ts +21 -0
  300. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +16 -0
  301. package/Types/AutoRemediation/AiRemediationCommandPlan.ts +304 -0
  302. package/Types/AutoRemediation/AutoRemediationExecutionMode.ts +17 -0
  303. package/Types/AutoRemediation/AutoRemediationSuggestionStatus.ts +35 -0
  304. package/Types/AutoRemediation/AutoRemediationSuggestionType.ts +17 -0
  305. package/Types/AutoRemediation/AutoRemediationTriggerEntity.ts +11 -0
  306. package/Types/AutoRemediation/AutoRemediationVerificationStatus.ts +21 -0
  307. package/Types/CustomField/CustomFieldDropdownOption.ts +190 -0
  308. package/Types/Dashboard/DashboardComponentType.ts +2 -0
  309. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +4 -0
  310. package/Types/Dashboard/DashboardComponents/DashboardClockComponent.ts +45 -0
  311. package/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.ts +27 -0
  312. package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +8 -0
  313. package/Types/Dashboard/DashboardTemplates.ts +516 -0
  314. package/Types/Date.ts +6 -0
  315. package/Types/Email/EmailTemplateType.ts +2 -0
  316. package/Types/Kubernetes/KubernetesRightSizing.ts +353 -0
  317. package/Types/MeteredPlan/ProductType.ts +1 -0
  318. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -1
  319. package/Types/Monitor/MonitorSteps.ts +5 -0
  320. package/Types/Monitor/MonitorSummarySnapshot.ts +88 -0
  321. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +52 -10
  322. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +7 -5
  323. package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +101 -20
  324. package/Types/Monitor/RumAlertTemplates.ts +386 -0
  325. package/Types/Permission.ts +204 -24
  326. package/Types/Rum/SessionReplay.ts +452 -0
  327. package/Types/Rum/SessionReplayCaptureTrigger.ts +26 -0
  328. package/Types/Rum/SessionReplayConsentMode.ts +27 -0
  329. package/Types/Rum/SessionReplayMaskingMode.ts +86 -0
  330. package/Types/Rum/SessionReplayTriggerReason.ts +31 -0
  331. package/Types/Runbook/RunbookCredentialType.ts +6 -0
  332. package/Types/Runbook/RunbookStep.ts +66 -1
  333. package/Types/Runbook/RunbookStepType.ts +26 -0
  334. package/Types/Runbook/RunnerJobOrigin.ts +20 -0
  335. package/Types/Runbook/{RunbookAgentJobStatus.ts → RunnerJobStatus.ts} +2 -2
  336. package/Types/StatusPage/StatusPageReport.ts +99 -0
  337. package/Types/Telemetry/TelemetryRetentionConfig.ts +18 -1
  338. package/Types/Text.ts +33 -0
  339. package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +260 -75
  340. package/UI/Components/BulkUpdate/BulkLabelActions.tsx +99 -9
  341. package/UI/Components/BulkUpdate/BulkOwnerActions.tsx +11 -0
  342. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +19 -14
  343. package/UI/Components/CustomFields/DropdownOptionsInput.tsx +144 -54
  344. package/UI/Components/Detail/Detail.tsx +9 -22
  345. package/UI/Components/Dropdown/Dropdown.tsx +2 -5
  346. package/UI/Components/Dropdown/DropdownMenuZIndex.ts +7 -0
  347. package/UI/Components/Dropdown/DropdownValueBadge.tsx +61 -0
  348. package/UI/Components/Filters/OperatorSelector.tsx +350 -39
  349. package/UI/Components/Forms/Fields/ColorPicker.tsx +60 -27
  350. package/UI/Components/Forms/Fields/IconPicker.tsx +89 -60
  351. package/UI/Components/Forms/Validation.ts +9 -4
  352. package/UI/Components/List/List.tsx +1 -0
  353. package/UI/Components/ModelTable/CustomFieldColumns.tsx +41 -32
  354. package/UI/Components/Pagination/Pagination.tsx +33 -10
  355. package/UI/Components/Table/Table.tsx +1 -0
  356. package/UI/Types/UseAnchoredFieldPopup.ts +321 -0
  357. package/UI/Utils/Dropdown.ts +26 -0
  358. package/UI/Utils/Timezone.ts +18 -2
  359. package/UI/Utils/UseClockTick.ts +78 -0
  360. package/Utils/AiRemediation/CommandPolicy.ts +398 -0
  361. package/Utils/Dashboard/ClockWidgetFormat.ts +604 -0
  362. package/Utils/Dashboard/Components/DashboardClockComponent.ts +181 -0
  363. package/Utils/Dashboard/Components/DashboardHtmlComponent.ts +162 -0
  364. package/Utils/Dashboard/Components/DashboardValueComponent.ts +12 -1
  365. package/Utils/Dashboard/Components/Index.ts +14 -0
  366. package/Utils/Dashboard/HtmlWidgetDocument.ts +309 -0
  367. package/Utils/Dashboard/ValueWidgetLayout.ts +471 -0
  368. package/Utils/Metrics/MetricSeriesScope.ts +301 -0
  369. package/Utils/Monitor/MonitorSummarySnapshotUtil.ts +593 -0
  370. package/Utils/NetworkSite/CidrMatchUtil.ts +30 -17
  371. package/Utils/Rules/RulePatternMatchUtil.ts +103 -0
  372. package/Utils/Rum/ChunkMath.ts +211 -0
  373. package/Utils/Rum/Masking.ts +168 -0
  374. package/Utils/Rum/SessionIdentity.ts +230 -0
  375. package/Utils/Rum/SessionSampling.ts +108 -0
  376. package/Utils/Rum/UrlScrubber.ts +185 -0
  377. package/Utils/Schema/ModelSchema.ts +27 -3
  378. package/Utils/StatusPage/Report.ts +304 -0
  379. package/Utils/ValueFormatter.ts +300 -54
  380. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +63 -0
  381. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  382. package/build/dist/Models/AnalyticsModels/Index.js +10 -0
  383. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  384. package/build/dist/Models/AnalyticsModels/Log.js +56 -0
  385. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  386. package/build/dist/Models/AnalyticsModels/RumSession.js +1159 -0
  387. package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -0
  388. package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +670 -0
  389. package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -0
  390. package/build/dist/Models/AnalyticsModels/Span.js +56 -0
  391. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  392. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +54 -0
  393. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
  394. package/build/dist/Models/DatabaseModels/AIRun.js +32 -0
  395. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  396. package/build/dist/Models/DatabaseModels/Alert.js +30 -0
  397. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  398. package/build/dist/Models/DatabaseModels/AlertCustomField.js +1 -1
  399. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  400. package/build/dist/Models/DatabaseModels/AlertFeed.js +1 -0
  401. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  402. package/build/dist/Models/DatabaseModels/AutoRemediationRule.js +998 -0
  403. package/build/dist/Models/DatabaseModels/AutoRemediationRule.js.map +1 -0
  404. package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js +917 -0
  405. package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js.map +1 -0
  406. package/build/dist/Models/DatabaseModels/CodeRepository.js +132 -0
  407. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  408. package/build/dist/Models/DatabaseModels/GlobalConfig.js +327 -0
  409. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  410. package/build/dist/Models/DatabaseModels/Incident.js +30 -0
  411. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  412. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +1 -1
  413. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  414. package/build/dist/Models/DatabaseModels/IncidentFeed.js +1 -0
  415. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  416. package/build/dist/Models/DatabaseModels/Index.js +20 -8
  417. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  418. package/build/dist/Models/DatabaseModels/InstanceHealthLog.js +8 -0
  419. package/build/dist/Models/DatabaseModels/InstanceHealthLog.js.map +1 -1
  420. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +1 -1
  421. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  422. package/build/dist/Models/DatabaseModels/MonitorStatus.js +1 -1
  423. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
  424. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js +2 -2
  425. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js.map +1 -1
  426. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js +2 -2
  427. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js.map +1 -1
  428. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +1 -1
  429. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -1
  430. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +1 -1
  431. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
  432. package/build/dist/Models/DatabaseModels/Project.js +235 -0
  433. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  434. package/build/dist/Models/DatabaseModels/RumApplication.js +930 -0
  435. package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
  436. package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js +591 -0
  437. package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js.map +1 -0
  438. package/build/dist/Models/DatabaseModels/RumSessionPin.js +483 -0
  439. package/build/dist/Models/DatabaseModels/RumSessionPin.js.map +1 -0
  440. package/build/dist/Models/DatabaseModels/RumSessionReplayView.js +433 -0
  441. package/build/dist/Models/DatabaseModels/RumSessionReplayView.js.map +1 -0
  442. package/build/dist/Models/DatabaseModels/RunbookCredential.js +693 -0
  443. package/build/dist/Models/DatabaseModels/RunbookCredential.js.map +1 -0
  444. package/build/dist/Models/DatabaseModels/RunbookSecret.js +8 -8
  445. package/build/dist/Models/DatabaseModels/RunbookSecret.js.map +1 -1
  446. package/build/dist/Models/DatabaseModels/{RunbookAgent.js → Runner.js} +235 -70
  447. package/build/dist/Models/DatabaseModels/Runner.js.map +1 -0
  448. package/build/dist/Models/DatabaseModels/{RunbookAgentJob.js → RunnerJob.js} +173 -40
  449. package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -0
  450. package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerTeam.js → RunnerOwnerTeam.js} +57 -57
  451. package/build/dist/Models/DatabaseModels/RunnerOwnerTeam.js.map +1 -0
  452. package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerUser.js → RunnerOwnerUser.js} +57 -57
  453. package/build/dist/Models/DatabaseModels/RunnerOwnerUser.js.map +1 -0
  454. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +1 -1
  455. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  456. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +1 -1
  457. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
  458. package/build/dist/Models/DatabaseModels/TeamCustomField.js +1 -1
  459. package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
  460. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +1 -1
  461. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
  462. package/build/dist/Server/API/AIAgentDataAPI.js +130 -45
  463. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  464. package/build/dist/Server/API/AIAgentTaskAPI.js +26 -36
  465. package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -1
  466. package/build/dist/Server/API/AIAgentTaskLogAPI.js +11 -28
  467. package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -1
  468. package/build/dist/Server/API/AutoRemediationAPI.js +416 -0
  469. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -0
  470. package/build/dist/Server/API/BaseAnalyticsAPI.js +4 -1
  471. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  472. package/build/dist/Server/API/CommonAPI.js +24 -0
  473. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  474. package/build/dist/Server/API/DashboardAPI.js +265 -6
  475. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  476. package/build/dist/Server/API/TelemetryAPI.js +940 -3
  477. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  478. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +18 -0
  479. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  480. package/build/dist/Server/DatabaseConfig.js +23 -4
  481. package/build/dist/Server/DatabaseConfig.js.map +1 -1
  482. package/build/dist/Server/EnvironmentConfig.js +8 -0
  483. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  484. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js +106 -0
  485. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js.map +1 -0
  486. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js +37 -0
  487. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js.map +1 -0
  488. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js +18 -0
  489. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js.map +1 -0
  490. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js +29 -0
  491. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js.map +1 -0
  492. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js +35 -0
  493. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js.map +1 -0
  494. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js +40 -0
  495. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js.map +1 -0
  496. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js +128 -0
  497. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js.map +1 -0
  498. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js +28 -0
  499. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js.map +1 -0
  500. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js +14 -0
  501. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js.map +1 -0
  502. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js +27 -0
  503. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js.map +1 -0
  504. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js +44 -0
  505. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js.map +1 -0
  506. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js +88 -0
  507. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js.map +1 -0
  508. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js +59 -0
  509. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js.map +1 -0
  510. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js +76 -0
  511. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js.map +1 -0
  512. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js +214 -0
  513. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js.map +1 -0
  514. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js +44 -0
  515. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js.map +1 -0
  516. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +32 -0
  517. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  518. package/build/dist/Server/Services/AIRunService.js +1 -4
  519. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  520. package/build/dist/Server/Services/AIService.js +26 -0
  521. package/build/dist/Server/Services/AIService.js.map +1 -1
  522. package/build/dist/Server/Services/AlertService.js +37 -4
  523. package/build/dist/Server/Services/AlertService.js.map +1 -1
  524. package/build/dist/Server/Services/AlertSeverityService.js +24 -11
  525. package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
  526. package/build/dist/Server/Services/AlertStateService.js +24 -11
  527. package/build/dist/Server/Services/AlertStateService.js.map +1 -1
  528. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +917 -0
  529. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -0
  530. package/build/dist/Server/Services/{RunbookAgentOwnerTeamService.js → AutoRemediationRuleService.js} +2 -2
  531. package/build/dist/Server/Services/AutoRemediationRuleService.js.map +1 -0
  532. package/build/dist/Server/Services/AutoRemediationSuggestionService.js +127 -0
  533. package/build/dist/Server/Services/AutoRemediationSuggestionService.js.map +1 -0
  534. package/build/dist/Server/Services/BillingService.js +45 -1
  535. package/build/dist/Server/Services/BillingService.js.map +1 -1
  536. package/build/dist/Server/Services/DatabaseService.js +72 -4
  537. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  538. package/build/dist/Server/Services/IncidentService.js +52 -4
  539. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  540. package/build/dist/Server/Services/IncidentSeverityService.js +24 -11
  541. package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
  542. package/build/dist/Server/Services/IncidentStateService.js +24 -11
  543. package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
  544. package/build/dist/Server/Services/Index.js +18 -0
  545. package/build/dist/Server/Services/Index.js.map +1 -1
  546. package/build/dist/Server/Services/MonitorService.js +24 -0
  547. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  548. package/build/dist/Server/Services/MonitorStatusService.js +25 -11
  549. package/build/dist/Server/Services/MonitorStatusService.js.map +1 -1
  550. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +12 -11
  551. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
  552. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js +43 -0
  553. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js.map +1 -1
  554. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +12 -11
  555. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
  556. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js +41 -0
  557. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js.map +1 -1
  558. package/build/dist/Server/Services/NetworkDeviceService.js +129 -20
  559. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  560. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +67 -10
  561. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -1
  562. package/build/dist/Server/Services/NetworkSiteService.js +19 -8
  563. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
  564. package/build/dist/Server/Services/ProjectService.js +43 -0
  565. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  566. package/build/dist/Server/Services/RumApplicationService.js +202 -0
  567. package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
  568. package/build/dist/Server/Services/RumSessionChunkService.js +9 -0
  569. package/build/dist/Server/Services/RumSessionChunkService.js.map +1 -0
  570. package/build/dist/Server/Services/RumSessionErasureRequestService.js +190 -0
  571. package/build/dist/Server/Services/RumSessionErasureRequestService.js.map +1 -0
  572. package/build/dist/Server/Services/RumSessionPinService.js +208 -0
  573. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -0
  574. package/build/dist/Server/Services/RumSessionReplayViewService.js +180 -0
  575. package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -0
  576. package/build/dist/Server/Services/RumSessionService.js +102 -0
  577. package/build/dist/Server/Services/RumSessionService.js.map +1 -0
  578. package/build/dist/Server/Services/RunbookCredentialService.js +67 -0
  579. package/build/dist/Server/Services/RunbookCredentialService.js.map +1 -0
  580. package/build/dist/Server/Services/{RunbookAgentJobService.js → RunnerJobService.js} +158 -46
  581. package/build/dist/Server/Services/RunnerJobService.js.map +1 -0
  582. package/build/dist/Server/Services/{RunbookAgentOwnerUserService.js → RunnerOwnerTeamService.js} +2 -2
  583. package/build/dist/Server/Services/RunnerOwnerTeamService.js.map +1 -0
  584. package/build/dist/Server/Services/RunnerOwnerUserService.js +9 -0
  585. package/build/dist/Server/Services/RunnerOwnerUserService.js.map +1 -0
  586. package/build/dist/Server/Services/RunnerService.js +168 -0
  587. package/build/dist/Server/Services/RunnerService.js.map +1 -0
  588. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js +24 -11
  589. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js.map +1 -1
  590. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +15 -1
  591. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  592. package/build/dist/Server/Services/ServiceService.js +8 -2
  593. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  594. package/build/dist/Server/Services/StatusPageService.js +173 -16
  595. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  596. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +17 -1
  597. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  598. package/build/dist/Server/Services/TelemetryExceptionService.js +3 -16
  599. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  600. package/build/dist/Server/Services/TelemetryUsageBillingService.js +31 -3
  601. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  602. package/build/dist/Server/Services/TraceAggregationService.js +106 -2
  603. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  604. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +16 -0
  605. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  606. package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js +9 -0
  607. package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js.map +1 -1
  608. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +38 -6
  609. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  610. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js +104 -0
  611. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js.map +1 -0
  612. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js +54 -0
  613. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js.map +1 -0
  614. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +11 -7
  615. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
  616. package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js +3 -4
  617. package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js.map +1 -1
  618. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +724 -0
  619. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -0
  620. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +668 -0
  621. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -0
  622. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +657 -0
  623. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -0
  624. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +52 -7
  625. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  626. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +53 -5
  627. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  628. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +25 -6
  629. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
  630. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +131 -17
  631. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
  632. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +200 -5
  633. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  634. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js +2 -7
  635. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js.map +1 -1
  636. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +4 -17
  637. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
  638. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +203 -19
  639. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  640. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +89 -0
  641. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -0
  642. package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js +82 -0
  643. package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js.map +1 -0
  644. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +4 -19
  645. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
  646. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +2 -2
  647. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +36 -0
  648. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  649. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js +498 -0
  650. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js.map +1 -0
  651. package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js +492 -0
  652. package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js.map +1 -0
  653. package/build/dist/Server/Utils/CorsOptions.js +47 -0
  654. package/build/dist/Server/Utils/CorsOptions.js.map +1 -0
  655. package/build/dist/Server/Utils/Database/RelationIdUtil.js +51 -0
  656. package/build/dist/Server/Utils/Database/RelationIdUtil.js.map +1 -0
  657. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +38 -0
  658. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  659. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +194 -0
  660. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +1 -0
  661. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +292 -0
  662. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -0
  663. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +9 -0
  664. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  665. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +9 -0
  666. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  667. package/build/dist/Server/Utils/Monitor/MonitorResource.js +16 -0
  668. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  669. package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js +92 -0
  670. package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js.map +1 -0
  671. package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js +27 -0
  672. package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js.map +1 -0
  673. package/build/dist/Server/Utils/OpenAPI.js +2 -1
  674. package/build/dist/Server/Utils/OpenAPI.js.map +1 -1
  675. package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js +67 -0
  676. package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js.map +1 -0
  677. package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js +98 -0
  678. package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js.map +1 -0
  679. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +378 -0
  680. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -0
  681. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +137 -0
  682. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -0
  683. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +998 -0
  684. package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -0
  685. package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js +59 -0
  686. package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js.map +1 -0
  687. package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js +98 -0
  688. package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js.map +1 -0
  689. package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js +69 -0
  690. package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js.map +1 -0
  691. package/build/dist/Server/Utils/StartServer.js +40 -3
  692. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  693. package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +27 -6
  694. package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
  695. package/build/dist/Types/AI/AIRunStatus.js +17 -5
  696. package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
  697. package/build/dist/Types/AI/AIRunType.js +18 -0
  698. package/build/dist/Types/AI/AIRunType.js.map +1 -1
  699. package/build/dist/Types/AI/FixVerificationStatus.js +22 -0
  700. package/build/dist/Types/AI/FixVerificationStatus.js.map +1 -0
  701. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +16 -0
  702. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  703. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js +192 -0
  704. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js.map +1 -0
  705. package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js +18 -0
  706. package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js.map +1 -0
  707. package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js +31 -0
  708. package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js.map +1 -0
  709. package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js +18 -0
  710. package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js.map +1 -0
  711. package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js +12 -0
  712. package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js.map +1 -0
  713. package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js +22 -0
  714. package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js.map +1 -0
  715. package/build/dist/Types/CustomField/CustomFieldDropdownOption.js +110 -0
  716. package/build/dist/Types/CustomField/CustomFieldDropdownOption.js.map +1 -0
  717. package/build/dist/Types/Dashboard/DashboardComponentType.js +2 -0
  718. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  719. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +4 -0
  720. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  721. package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js +19 -0
  722. package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js.map +1 -0
  723. package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js +2 -0
  724. package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js.map +1 -0
  725. package/build/dist/Types/Dashboard/DashboardTemplates.js +487 -0
  726. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  727. package/build/dist/Types/Date.js +6 -0
  728. package/build/dist/Types/Date.js.map +1 -1
  729. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  730. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  731. package/build/dist/Types/Kubernetes/KubernetesRightSizing.js +229 -0
  732. package/build/dist/Types/Kubernetes/KubernetesRightSizing.js.map +1 -0
  733. package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
  734. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  735. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +12 -2
  736. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  737. package/build/dist/Types/Monitor/MonitorSteps.js +5 -0
  738. package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
  739. package/build/dist/Types/Monitor/MonitorSummarySnapshot.js +13 -0
  740. package/build/dist/Types/Monitor/MonitorSummarySnapshot.js.map +1 -0
  741. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +40 -8
  742. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
  743. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +4 -3
  744. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
  745. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +50 -10
  746. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
  747. package/build/dist/Types/Monitor/RumAlertTemplates.js +297 -0
  748. package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -0
  749. package/build/dist/Types/Permission.js +184 -24
  750. package/build/dist/Types/Permission.js.map +1 -1
  751. package/build/dist/Types/Rum/SessionReplay.js +155 -0
  752. package/build/dist/Types/Rum/SessionReplay.js.map +1 -0
  753. package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +26 -0
  754. package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -0
  755. package/build/dist/Types/Rum/SessionReplayConsentMode.js +27 -0
  756. package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -0
  757. package/build/dist/Types/Rum/SessionReplayMaskingMode.js +79 -0
  758. package/build/dist/Types/Rum/SessionReplayMaskingMode.js.map +1 -0
  759. package/build/dist/Types/Rum/SessionReplayTriggerReason.js +28 -0
  760. package/build/dist/Types/Rum/SessionReplayTriggerReason.js.map +1 -0
  761. package/build/dist/Types/Runbook/RunbookCredentialType.js +7 -0
  762. package/build/dist/Types/Runbook/RunbookCredentialType.js.map +1 -0
  763. package/build/dist/Types/Runbook/RunbookStep.js +20 -1
  764. package/build/dist/Types/Runbook/RunbookStep.js.map +1 -1
  765. package/build/dist/Types/Runbook/RunbookStepType.js +24 -0
  766. package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
  767. package/build/dist/Types/Runbook/RunnerJobOrigin.js +21 -0
  768. package/build/dist/Types/Runbook/RunnerJobOrigin.js.map +1 -0
  769. package/build/dist/Types/Runbook/RunnerJobStatus.js +22 -0
  770. package/build/dist/Types/Runbook/RunnerJobStatus.js.map +1 -0
  771. package/build/dist/Types/StatusPage/StatusPageReport.js +22 -0
  772. package/build/dist/Types/StatusPage/StatusPageReport.js.map +1 -0
  773. package/build/dist/Types/Telemetry/TelemetryRetentionConfig.js.map +1 -1
  774. package/build/dist/Types/Text.js +29 -0
  775. package/build/dist/Types/Text.js.map +1 -1
  776. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +143 -28
  777. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -1
  778. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js +82 -9
  779. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
  780. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js +11 -0
  781. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js.map +1 -1
  782. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +11 -13
  783. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  784. package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js +76 -45
  785. package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js.map +1 -1
  786. package/build/dist/UI/Components/Detail/Detail.js +3 -8
  787. package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
  788. package/build/dist/UI/Components/Dropdown/Dropdown.js +2 -5
  789. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  790. package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js +7 -0
  791. package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js.map +1 -0
  792. package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js +32 -0
  793. package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js.map +1 -0
  794. package/build/dist/UI/Components/Filters/OperatorSelector.js +210 -20
  795. package/build/dist/UI/Components/Filters/OperatorSelector.js.map +1 -1
  796. package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +26 -10
  797. package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
  798. package/build/dist/UI/Components/Forms/Fields/IconPicker.js +28 -13
  799. package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -1
  800. package/build/dist/UI/Components/Forms/Validation.js +9 -5
  801. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  802. package/build/dist/UI/Components/List/List.js +1 -1
  803. package/build/dist/UI/Components/List/List.js.map +1 -1
  804. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +21 -19
  805. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
  806. package/build/dist/UI/Components/Pagination/Pagination.js +14 -3
  807. package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
  808. package/build/dist/UI/Components/Table/Table.js +1 -1
  809. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  810. package/build/dist/UI/Types/UseAnchoredFieldPopup.js +197 -0
  811. package/build/dist/UI/Types/UseAnchoredFieldPopup.js.map +1 -0
  812. package/build/dist/UI/Utils/Dropdown.js +18 -0
  813. package/build/dist/UI/Utils/Dropdown.js.map +1 -1
  814. package/build/dist/UI/Utils/Timezone.js +13 -2
  815. package/build/dist/UI/Utils/Timezone.js.map +1 -1
  816. package/build/dist/UI/Utils/UseClockTick.js +41 -0
  817. package/build/dist/UI/Utils/UseClockTick.js.map +1 -0
  818. package/build/dist/Utils/AiRemediation/CommandPolicy.js +303 -0
  819. package/build/dist/Utils/AiRemediation/CommandPolicy.js.map +1 -0
  820. package/build/dist/Utils/Dashboard/ClockWidgetFormat.js +232 -0
  821. package/build/dist/Utils/Dashboard/ClockWidgetFormat.js.map +1 -0
  822. package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js +146 -0
  823. package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js.map +1 -0
  824. package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js +133 -0
  825. package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js.map +1 -0
  826. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +10 -1
  827. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
  828. package/build/dist/Utils/Dashboard/Components/Index.js +8 -0
  829. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  830. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +198 -0
  831. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -0
  832. package/build/dist/Utils/Dashboard/ValueWidgetLayout.js +276 -0
  833. package/build/dist/Utils/Dashboard/ValueWidgetLayout.js.map +1 -0
  834. package/build/dist/Utils/Metrics/MetricSeriesScope.js +203 -0
  835. package/build/dist/Utils/Metrics/MetricSeriesScope.js.map +1 -0
  836. package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js +382 -0
  837. package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js.map +1 -0
  838. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +13 -7
  839. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -1
  840. package/build/dist/Utils/Rules/RulePatternMatchUtil.js +87 -0
  841. package/build/dist/Utils/Rules/RulePatternMatchUtil.js.map +1 -0
  842. package/build/dist/Utils/Rum/ChunkMath.js +147 -0
  843. package/build/dist/Utils/Rum/ChunkMath.js.map +1 -0
  844. package/build/dist/Utils/Rum/Masking.js +143 -0
  845. package/build/dist/Utils/Rum/Masking.js.map +1 -0
  846. package/build/dist/Utils/Rum/SessionIdentity.js +161 -0
  847. package/build/dist/Utils/Rum/SessionIdentity.js.map +1 -0
  848. package/build/dist/Utils/Rum/SessionSampling.js +91 -0
  849. package/build/dist/Utils/Rum/SessionSampling.js.map +1 -0
  850. package/build/dist/Utils/Rum/UrlScrubber.js +144 -0
  851. package/build/dist/Utils/Rum/UrlScrubber.js.map +1 -0
  852. package/build/dist/Utils/Schema/ModelSchema.js +28 -3
  853. package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
  854. package/build/dist/Utils/StatusPage/Report.js +194 -0
  855. package/build/dist/Utils/StatusPage/Report.js.map +1 -0
  856. package/build/dist/Utils/ValueFormatter.js +239 -46
  857. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  858. package/jest.config.json +3 -0
  859. package/package.json +1 -1
  860. package/tsconfig.json +19 -1
  861. package/Server/Services/RunbookAgentService.ts +0 -93
  862. package/build/dist/Models/DatabaseModels/RunbookAgent.js.map +0 -1
  863. package/build/dist/Models/DatabaseModels/RunbookAgentJob.js.map +0 -1
  864. package/build/dist/Models/DatabaseModels/RunbookAgentOwnerTeam.js.map +0 -1
  865. package/build/dist/Models/DatabaseModels/RunbookAgentOwnerUser.js.map +0 -1
  866. package/build/dist/Server/Services/RunbookAgentJobService.js.map +0 -1
  867. package/build/dist/Server/Services/RunbookAgentOwnerTeamService.js.map +0 -1
  868. package/build/dist/Server/Services/RunbookAgentOwnerUserService.js.map +0 -1
  869. package/build/dist/Server/Services/RunbookAgentService.js +0 -91
  870. package/build/dist/Server/Services/RunbookAgentService.js.map +0 -1
  871. package/build/dist/Types/Runbook/RunbookAgentJobStatus.js +0 -22
  872. package/build/dist/Types/Runbook/RunbookAgentJobStatus.js.map +0 -1
@@ -0,0 +1,276 @@
1
+ /*
2
+ * Everything the dashboard Value widget needs in order to decide how big to
3
+ * draw itself, derived by arithmetic from the tile size the canvas reports.
4
+ *
5
+ * It lives here rather than in the renderer for the same reason
6
+ * ClockWidgetFormat.ts does: none of it needs a DOM, so it is unit-testable,
7
+ * and the renderer stays a straight translation of these numbers into inline
8
+ * styles. Measuring the rendered text instead would cost a second render on
9
+ * every resize frame — the exact re-measure flicker DashboardBaseComponent's
10
+ * constant edit-mode padding exists to avoid.
11
+ *
12
+ * The contract with the renderer is that EVERY optional row is drawn at the
13
+ * pixel height returned here, with `shrink-0`, so the stack sums to the
14
+ * content box by construction. Before this existed the value row was the only
15
+ * shrinkable flex item (Tailwind's `truncate` sets overflow:hidden, which
16
+ * zeroes a flex item's automatic minimum size), so the whole vertical deficit
17
+ * landed on the big number and its glyphs were sliced in half — or, in edit
18
+ * mode at the default 3x1 tile, clipped away entirely.
19
+ */
20
+ /**
21
+ * Padding the widget chrome puts between the tile edge and the widget's own
22
+ * content box. DashboardBaseComponent draws every widget in a card with a 1px
23
+ * `border` and wraps the child in `padding: 12px`, widened to
24
+ * `28px 12px 12px 12px` in edit mode for the drag handle it overlays.
25
+ *
26
+ * The canvas hands each widget its OUTER tile size, so a sizer that skips this
27
+ * overstates the box by 26px (42px while editing). On the shipped 3x1 default
28
+ * that is around a third of the usable height, which is most of the reason the
29
+ * big number ended up sliced.
30
+ *
31
+ * ClockWidgetFormat.ts uses 24/24/40 for the same three constants — it is
32
+ * missing the card's 1px border. That is a separate (much smaller) bug; the
33
+ * clock keeps 4px of its own vertical breathing room which absorbs it, and
34
+ * correcting it there would churn 300 lines of unrelated tests.
35
+ */
36
+ const VALUE_CHROME_HORIZONTAL_IN_PX = 26;
37
+ const VALUE_CHROME_VERTICAL_IN_PX = 26;
38
+ const VALUE_CHROME_VERTICAL_EDIT_MODE_IN_PX = 42;
39
+ /** Breathing room kept inside the content box so text never sits flush. */
40
+ const VALUE_HORIZONTAL_PADDING_IN_PX = 8;
41
+ /**
42
+ * line-height on the value row. Inter's content area is 1.21em (typo ascender
43
+ * 0.96875 + descender 0.24121), so the previous 1.15 let glyphs paint outside
44
+ * their own line box and the row's clip shaved them. 1.25 keeps the ink inside
45
+ * the box the budget reserved for it.
46
+ */
47
+ export const VALUE_LINE_HEIGHT_RATIO = 1.25;
48
+ /** The unit suffix is drawn at this fraction of the value font size. */
49
+ export const VALUE_UNIT_FONT_SCALE = 0.36;
50
+ /**
51
+ * Advance width of one character, as a fraction of the font size. The value
52
+ * row is `tabular-nums`, so every digit has the same advance; `.` `,` `-` are
53
+ * narrower than 0.62em and the row also carries `letter-spacing: -0.03em`, so
54
+ * this over-estimates. That is the safe direction: the failure mode is a
55
+ * slightly smaller number rather than a clipped one.
56
+ */
57
+ const VALUE_CHAR_WIDTH_RATIO = 0.62;
58
+ const UNIT_CHAR_WIDTH_RATIO = 0.58;
59
+ /** Title row: font clamped to this range, at line-height 1.5 plus `mb-0.5`. */
60
+ const TITLE_FONT_HEIGHT_FRACTION = 0.11;
61
+ const MIN_TITLE_FONT_SIZE_IN_PX = 11;
62
+ const MAX_TITLE_FONT_SIZE_IN_PX = 14;
63
+ const TITLE_LINE_HEIGHT_RATIO = 1.5;
64
+ const TITLE_ROW_MARGIN_IN_PX = 2;
65
+ /** Status row: the trend arrow, or the hovered point's timestamp. */
66
+ const MIN_STATUS_FONT_SIZE_IN_PX = 10;
67
+ const MAX_STATUS_FONT_SIZE_IN_PX = 12;
68
+ const STATUS_LINE_HEIGHT_RATIO = 1.5;
69
+ const STATUS_ROW_MARGIN_IN_PX = 2;
70
+ /** Sparkline row: the chart plus the `mt-1` above it. */
71
+ const SPARKLINE_HEIGHT_FRACTION = 0.18;
72
+ const MIN_SPARKLINE_HEIGHT_IN_PX = 16;
73
+ const MAX_SPARKLINE_HEIGHT_IN_PX = 28;
74
+ const SPARKLINE_ROW_MARGIN_IN_PX = 4;
75
+ const SPARKLINE_WIDTH_FRACTION = 0.6;
76
+ const MIN_SPARKLINE_WIDTH_IN_PX = 32;
77
+ const MAX_SPARKLINE_WIDTH_IN_PX = 120;
78
+ export const MIN_VALUE_FONT_SIZE_IN_PX = 14;
79
+ export const MAX_VALUE_FONT_SIZE_IN_PX = 96;
80
+ /**
81
+ * Value-row heights we refuse to drop below in order to show an optional row.
82
+ * A Value widget exists to show one number; a title that shrinks the digits to
83
+ * the legibility floor has taken more than it is worth.
84
+ *
85
+ * Crossing either of these steps the font size — a row that appears has to
86
+ * take its height from somewhere. That step is deliberate and bounded (the
87
+ * number never goes below MIN_VALUE_FONT_SIZE_IN_PX and is never clipped);
88
+ * making it continuous would mean never showing a title on a short tile.
89
+ */
90
+ const TITLE_GATE_VALUE_ROW_IN_PX = 26;
91
+ const STATUS_GATE_VALUE_ROW_IN_PX = 40;
92
+ /**
93
+ * Below this content width the title and the trend cannot share a line without
94
+ * both truncating to nothing, so the compact header is not offered.
95
+ */
96
+ const COMPACT_HEADER_MIN_CONTENT_WIDTH_IN_PX = 180;
97
+ /** The value row height at which the value font reaches its ceiling. */
98
+ const MAX_VALUE_ROW_HEIGHT_IN_PX = MAX_VALUE_FONT_SIZE_IN_PX * VALUE_LINE_HEIGHT_RATIO;
99
+ export var ValueWidgetStackMode;
100
+ (function (ValueWidgetStackMode) {
101
+ /** Title, value, status and sparkline each on their own row. */
102
+ ValueWidgetStackMode["Column"] = "Column";
103
+ /** Title and status share one line above the value. */
104
+ ValueWidgetStackMode["Compact"] = "Compact";
105
+ })(ValueWidgetStackMode || (ValueWidgetStackMode = {}));
106
+ const clamp = (value, min, max) => {
107
+ return Math.max(Math.min(value, max), min);
108
+ };
109
+ export const getValueContentBox = (data) => {
110
+ const verticalChrome = data.isEditMode
111
+ ? VALUE_CHROME_VERTICAL_EDIT_MODE_IN_PX
112
+ : VALUE_CHROME_VERTICAL_IN_PX;
113
+ return {
114
+ widthInPx: Math.max(data.widthInPx - VALUE_CHROME_HORIZONTAL_IN_PX, 0),
115
+ heightInPx: Math.max(data.heightInPx - verticalChrome, 0),
116
+ };
117
+ };
118
+ export const getValueWidthInFontUnits = (data) => {
119
+ // The unit is preceded by a space, drawn at the unit size.
120
+ const unitChars = data.unitText.length > 0 ? data.unitText.length + 1 : 0;
121
+ return (data.valueText.length * VALUE_CHAR_WIDTH_RATIO +
122
+ unitChars * UNIT_CHAR_WIDTH_RATIO * VALUE_UNIT_FONT_SCALE);
123
+ };
124
+ const getWidthLimitedFontSizeInPx = (data) => {
125
+ const widthInFontUnits = getValueWidthInFontUnits({
126
+ valueText: data.valueText,
127
+ unitText: data.unitText,
128
+ });
129
+ if (widthInFontUnits <= 0) {
130
+ return MAX_VALUE_FONT_SIZE_IN_PX;
131
+ }
132
+ return data.widthBudgetInPx / widthInFontUnits;
133
+ };
134
+ export const getValueWidgetLayout = (data) => {
135
+ const contentBox = getValueContentBox(data);
136
+ const contentHeightInPx = contentBox.heightInPx;
137
+ const contentWidthInPx = contentBox.widthInPx;
138
+ const titleFontSizeInPx = clamp(contentHeightInPx * TITLE_FONT_HEIGHT_FRACTION, MIN_TITLE_FONT_SIZE_IN_PX, MAX_TITLE_FONT_SIZE_IN_PX);
139
+ const titleRowHeightInPx = titleFontSizeInPx * TITLE_LINE_HEIGHT_RATIO + TITLE_ROW_MARGIN_IN_PX;
140
+ const statusFontSizeInPx = clamp(contentHeightInPx * TITLE_FONT_HEIGHT_FRACTION, MIN_STATUS_FONT_SIZE_IN_PX, MAX_STATUS_FONT_SIZE_IN_PX);
141
+ const statusRowHeightInPx = statusFontSizeInPx * STATUS_LINE_HEIGHT_RATIO + STATUS_ROW_MARGIN_IN_PX;
142
+ const sparklineHeightInPx = clamp(contentHeightInPx * SPARKLINE_HEIGHT_FRACTION, MIN_SPARKLINE_HEIGHT_IN_PX, MAX_SPARKLINE_HEIGHT_IN_PX);
143
+ const sparklineRowHeightInPx = sparklineHeightInPx + SPARKLINE_ROW_MARGIN_IN_PX;
144
+ /*
145
+ * The trend arrow and the hovered point's timestamp share one slot, so a
146
+ * tile that could show either has to reserve it up front. Neither term
147
+ * depends on whether the cursor is on the chart — that is what makes the
148
+ * hover swap provably unable to move anything. The old layout claimed this
149
+ * and did not deliver it: the timestamp was unconstrained and wrapped.
150
+ */
151
+ const hasStatus = data.hasTrend || data.hasSparklineData;
152
+ /*
153
+ * A short tile stacks title / value / trend and runs out of height; putting
154
+ * the title and the trend on one line hands that height back to the number.
155
+ * The switch sits exactly where the stacked layout stops being able to keep
156
+ * the value at its ceiling, so crossing it cannot change the rendered font
157
+ * size: below it the compact value row is still at least MAX_VALUE_ROW, and
158
+ * above it the stacked value row is at least MAX_VALUE_ROW too.
159
+ */
160
+ const stackedValueRowInPx = contentHeightInPx -
161
+ (data.hasTitle ? titleRowHeightInPx : 0) -
162
+ (hasStatus ? statusRowHeightInPx : 0);
163
+ const stackMode = data.hasTitle &&
164
+ hasStatus &&
165
+ contentWidthInPx >= COMPACT_HEADER_MIN_CONTENT_WIDTH_IN_PX &&
166
+ stackedValueRowInPx < MAX_VALUE_ROW_HEIGHT_IN_PX
167
+ ? ValueWidgetStackMode.Compact
168
+ : ValueWidgetStackMode.Column;
169
+ let showTitle = false;
170
+ let showStatusRow = false;
171
+ let showSparkline = false;
172
+ if (stackMode === ValueWidgetStackMode.Compact) {
173
+ const headerCandidateInPx = Math.max(titleRowHeightInPx, statusRowHeightInPx);
174
+ if (contentHeightInPx - headerCandidateInPx >= TITLE_GATE_VALUE_ROW_IN_PX) {
175
+ showTitle = true;
176
+ showStatusRow = true;
177
+ }
178
+ }
179
+ else {
180
+ /*
181
+ * Hand the height out in priority order, never spending a pixel we do not
182
+ * have and never letting an optional row take the number below a size
183
+ * worth reading.
184
+ */
185
+ let spentInPx = 0;
186
+ if (data.hasTitle &&
187
+ contentHeightInPx - spentInPx - titleRowHeightInPx >=
188
+ TITLE_GATE_VALUE_ROW_IN_PX) {
189
+ showTitle = true;
190
+ spentInPx = spentInPx + titleRowHeightInPx;
191
+ }
192
+ if (hasStatus &&
193
+ contentHeightInPx - spentInPx - statusRowHeightInPx >=
194
+ STATUS_GATE_VALUE_ROW_IN_PX) {
195
+ showStatusRow = true;
196
+ spentInPx = spentInPx + statusRowHeightInPx;
197
+ }
198
+ /*
199
+ * The sparkline is admitted only once the value font is ALREADY at its
200
+ * ceiling, so switching it on cannot make the number smaller. This
201
+ * replaces a `dashboardComponentHeightInPx > 100` test, which compared the
202
+ * OUTER tile height and then added a row to a box 26-42px smaller than the
203
+ * number it had tested — a 40px change in browser width took the value box
204
+ * from 34.9px to 9.2px, i.e. from a readable number to a dark sliver.
205
+ */
206
+ if (data.hasSparklineData &&
207
+ contentHeightInPx - spentInPx - sparklineRowHeightInPx >=
208
+ MAX_VALUE_ROW_HEIGHT_IN_PX) {
209
+ showSparkline = true;
210
+ }
211
+ }
212
+ /*
213
+ * Give the status slot back when neither occupant can appear: no trend, and
214
+ * no sparkline left to hover. Recomputing the reservation from the final
215
+ * flags (rather than decrementing as we go) keeps one source of truth, and
216
+ * because this only ever SHRINKS the reservation it cannot invalidate the
217
+ * sparkline decision, which was taken with the row still reserved. Moving
218
+ * this above the sparkline gate would reintroduce that oscillation.
219
+ */
220
+ if (showStatusRow && !data.hasTrend && !showSparkline) {
221
+ showStatusRow = false;
222
+ }
223
+ const headerRowHeightInPx = stackMode === ValueWidgetStackMode.Compact
224
+ ? Math.max(showTitle ? titleRowHeightInPx : 0, showStatusRow ? statusRowHeightInPx : 0)
225
+ : 0;
226
+ const reservedInPx = stackMode === ValueWidgetStackMode.Compact
227
+ ? headerRowHeightInPx
228
+ : (showTitle ? titleRowHeightInPx : 0) +
229
+ (showStatusRow ? statusRowHeightInPx : 0) +
230
+ (showSparkline ? sparklineRowHeightInPx : 0);
231
+ const valueRowHeightInPx = Math.max(contentHeightInPx - reservedInPx, 0);
232
+ const heightLimitedFontInPx = valueRowHeightInPx / VALUE_LINE_HEIGHT_RATIO;
233
+ const widthBudgetInPx = Math.max(contentWidthInPx - VALUE_HORIZONTAL_PADDING_IN_PX, 0);
234
+ /*
235
+ * Try the number with its unit, and drop the unit only when carrying it
236
+ * would force the digits below the legibility floor on WIDTH. Gating on
237
+ * width alone matters: when height is the binding constraint, dropping the
238
+ * unit recovers nothing, so there is no reason to lose the information. The
239
+ * renderer keeps the full string on the element's `title` either way.
240
+ */
241
+ const fontWithUnitInPx = getWidthLimitedFontSizeInPx({
242
+ widthBudgetInPx: widthBudgetInPx,
243
+ valueText: data.valueText,
244
+ unitText: data.unitText,
245
+ });
246
+ const showUnit = data.unitText.length > 0 && fontWithUnitInPx >= MIN_VALUE_FONT_SIZE_IN_PX;
247
+ const widthLimitedFontInPx = showUnit
248
+ ? fontWithUnitInPx
249
+ : getWidthLimitedFontSizeInPx({
250
+ widthBudgetInPx: widthBudgetInPx,
251
+ valueText: data.valueText,
252
+ unitText: "",
253
+ });
254
+ const valueFontSizeInPx = clamp(Math.min(heightLimitedFontInPx, widthLimitedFontInPx), MIN_VALUE_FONT_SIZE_IN_PX, MAX_VALUE_FONT_SIZE_IN_PX);
255
+ return {
256
+ stackMode: stackMode,
257
+ contentWidthInPx: contentWidthInPx,
258
+ contentHeightInPx: contentHeightInPx,
259
+ showTitle: showTitle,
260
+ showStatusRow: showStatusRow,
261
+ showSparkline: showSparkline,
262
+ showUnit: showUnit,
263
+ titleFontSizeInPx: titleFontSizeInPx,
264
+ statusFontSizeInPx: statusFontSizeInPx,
265
+ valueFontSizeInPx: valueFontSizeInPx,
266
+ unitFontSizeInPx: valueFontSizeInPx * VALUE_UNIT_FONT_SCALE,
267
+ headerRowHeightInPx: headerRowHeightInPx,
268
+ titleRowHeightInPx: titleRowHeightInPx,
269
+ statusRowHeightInPx: statusRowHeightInPx,
270
+ sparklineRowHeightInPx: sparklineRowHeightInPx,
271
+ valueRowHeightInPx: valueRowHeightInPx,
272
+ sparklineWidthInPx: Math.min(Math.max(contentWidthInPx * SPARKLINE_WIDTH_FRACTION, MIN_SPARKLINE_WIDTH_IN_PX), contentWidthInPx, MAX_SPARKLINE_WIDTH_IN_PX),
273
+ sparklineHeightInPx: sparklineHeightInPx,
274
+ };
275
+ };
276
+ //# sourceMappingURL=ValueWidgetLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueWidgetLayout.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/ValueWidgetLayout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import IsNull from "../../Types/BaseDatabase/IsNull";
2
+ /**
3
+ * A metric monitor grouped by, say, `host.name` evaluates one series per
4
+ * host and opens ONE incident per breaching host — the affected series is
5
+ * recorded on the incident as `seriesLabels` (e.g. `{host.name: prod-01}`).
6
+ * The monitor's stored query configs, however, are shared by every series
7
+ * it produced: replaying them verbatim on the incident page charts EVERY
8
+ * host, so an incident about one host renders a wall of unrelated lines
9
+ * and (worse) the breaching host can be dropped entirely by the Top-N cap.
10
+ *
11
+ * This narrows those query configs back down to the one series the
12
+ * incident/alert is actually about, by pushing the series labels into the
13
+ * query's attribute filter. Grouping is deliberately left in place: with
14
+ * the filter applied it yields exactly one series, and the legend still
15
+ * names it ("host.name=prod-01") instead of collapsing to a bare metric
16
+ * name.
17
+ *
18
+ * Everything here is pure and identity-preserving — when there is nothing
19
+ * to narrow, the very same objects come back out, so React hosts can call
20
+ * it without churning state.
21
+ */
22
+ class MetricSeriesScope {
23
+ static hasSeriesLabels(seriesLabels) {
24
+ return Boolean(seriesLabels && Object.keys(seriesLabels).length > 0);
25
+ }
26
+ /**
27
+ * Turn one series-label value into something the metric attribute
28
+ * filter can express. Returns null when the value cannot be filtered
29
+ * on at all — the caller then leaves that key alone rather than
30
+ * emitting a predicate that would silently match nothing.
31
+ */
32
+ static toFilterValue(value) {
33
+ if (value === undefined || value === null) {
34
+ return new IsNull();
35
+ }
36
+ if (typeof value === "string") {
37
+ /*
38
+ * "" is what the series builder writes when the attribute is
39
+ * missing on the sample, so the series really is "rows with no
40
+ * value for this key" — that is the IsEmpty operator, not an
41
+ * equality against the empty string (which the UI's filter
42
+ * sanitizer would drop on the floor anyway).
43
+ */
44
+ if (value === "") {
45
+ return new IsNull();
46
+ }
47
+ /*
48
+ * Whitespace-only is neither: an equality filter on it is dropped
49
+ * by the sanitizer, and treating it as "unset" would be a lie. Skip
50
+ * the key instead.
51
+ */
52
+ if (value.trim() === "") {
53
+ return null;
54
+ }
55
+ return value;
56
+ }
57
+ if (typeof value === "number") {
58
+ return Number.isFinite(value) ? String(value) : null;
59
+ }
60
+ if (typeof value === "boolean") {
61
+ return String(value);
62
+ }
63
+ /*
64
+ * Arrays, nested objects and Dates have no faithful representation as
65
+ * a metric attribute equality filter (attributes are a
66
+ * Map(String, String) in the analytics store), so they are skipped.
67
+ */
68
+ return null;
69
+ }
70
+ /**
71
+ * The attribute filters that scope ONE query config to the given
72
+ * series.
73
+ *
74
+ * Only the keys this query actually groups by are considered. The
75
+ * monitor worker groups every query by the UNION of the group-by keys
76
+ * across all query configs (so per-series formulas line up), which
77
+ * means `seriesLabels` routinely carries keys a given query never asked
78
+ * for — filtering a query on a dimension it does not group by would
79
+ * narrow the chart to something the monitor never evaluated.
80
+ */
81
+ static getSeriesFilterAttributesForQuery(input) {
82
+ var _a;
83
+ const filters = {};
84
+ const seriesLabels = input.seriesLabels;
85
+ if (!input.queryConfig ||
86
+ !MetricSeriesScope.hasSeriesLabels(seriesLabels)) {
87
+ return filters;
88
+ }
89
+ const groupByAttributeKeys = ((_a = input.queryConfig.metricQueryData) === null || _a === void 0 ? void 0 : _a.groupByAttributeKeys) || [];
90
+ for (const key of groupByAttributeKeys) {
91
+ if (!key) {
92
+ continue;
93
+ }
94
+ // Key not on the incident's series — we know nothing, so filter nothing.
95
+ if (!Object.prototype.hasOwnProperty.call(seriesLabels, key)) {
96
+ continue;
97
+ }
98
+ const filterValue = MetricSeriesScope.toFilterValue(seriesLabels[key]);
99
+ if (filterValue === null) {
100
+ continue;
101
+ }
102
+ filters[key] = filterValue;
103
+ }
104
+ return filters;
105
+ }
106
+ /**
107
+ * Narrow every query config to the incident's/alert's own series.
108
+ * Returns the input array unchanged (same reference) when there is
109
+ * nothing to narrow.
110
+ */
111
+ static scopeQueryConfigsToSeries(input) {
112
+ const queryConfigs = input.queryConfigs || [];
113
+ if (!MetricSeriesScope.hasSeriesLabels(input.seriesLabels)) {
114
+ return queryConfigs;
115
+ }
116
+ let didNarrowAny = false;
117
+ const scopedQueryConfigs = queryConfigs.map((queryConfig) => {
118
+ var _a;
119
+ const filters = MetricSeriesScope.getSeriesFilterAttributesForQuery({
120
+ queryConfig: queryConfig,
121
+ seriesLabels: input.seriesLabels,
122
+ });
123
+ if (Object.keys(filters).length === 0) {
124
+ return queryConfig;
125
+ }
126
+ didNarrowAny = true;
127
+ const metricQueryData = queryConfig.metricQueryData;
128
+ const existingAttributes = ((_a = metricQueryData === null || metricQueryData === void 0 ? void 0 : metricQueryData.filterData) === null || _a === void 0 ? void 0 : _a["attributes"]) || {};
129
+ return Object.assign(Object.assign({}, queryConfig), { metricQueryData: Object.assign(Object.assign({}, metricQueryData), { filterData: Object.assign(Object.assign({}, ((metricQueryData === null || metricQueryData === void 0 ? void 0 : metricQueryData.filterData) || {})), {
130
+ /*
131
+ * Series labels win over any filter the monitor already
132
+ * carried for the same key — they are strictly narrower,
133
+ * and they describe the series this incident is about.
134
+ */
135
+ attributes: Object.assign(Object.assign({}, existingAttributes), filters) }) }) });
136
+ });
137
+ return didNarrowAny ? scopedQueryConfigs : queryConfigs;
138
+ }
139
+ /**
140
+ * Convenience wrapper for the places that hold a whole MetricViewData
141
+ * (the incident/alert "Metrics" cards read one straight off the stored
142
+ * telemetryQuery). Identity-preserving like the array form.
143
+ */
144
+ static scopeMetricViewDataToSeries(input) {
145
+ const metricViewData = input.metricViewData;
146
+ if (!metricViewData || !metricViewData.queryConfigs) {
147
+ /*
148
+ * `queryConfigs` is non-optional on the type, but this data comes
149
+ * from stored JSON. Returning early keeps the identity contract and
150
+ * avoids quietly rewriting a missing list into an empty one.
151
+ */
152
+ return metricViewData;
153
+ }
154
+ const scopedQueryConfigs = MetricSeriesScope.scopeQueryConfigsToSeries({
155
+ queryConfigs: metricViewData.queryConfigs,
156
+ seriesLabels: input.seriesLabels,
157
+ });
158
+ if (scopedQueryConfigs === metricViewData.queryConfigs) {
159
+ return metricViewData;
160
+ }
161
+ return Object.assign(Object.assign({}, metricViewData), { queryConfigs: scopedQueryConfigs });
162
+ }
163
+ /**
164
+ * "host.name = prod-01, service.name = api" — a one-line description of
165
+ * the narrowing that was ACTUALLY applied to these query configs, for
166
+ * card subtitles.
167
+ *
168
+ * Deliberately derived from the filters rather than from the raw labels:
169
+ * a label the queries never grouped by, or one whose value has no
170
+ * faithful filter form (an array, a whitespace-only string), does not
171
+ * narrow anything. Summarising it anyway would have the card claim
172
+ * "scoped to the affected series" over a chart that still shows every
173
+ * series — a worse failure than the bug this class fixes.
174
+ *
175
+ * Returns "" when nothing was narrowed, which is exactly the condition
176
+ * for the card to say nothing.
177
+ */
178
+ static getAppliedSeriesLabelSummary(input) {
179
+ const parts = [];
180
+ const seen = new Set();
181
+ for (const queryConfig of input.queryConfigs || []) {
182
+ const filters = MetricSeriesScope.getSeriesFilterAttributesForQuery({
183
+ queryConfig: queryConfig,
184
+ seriesLabels: input.seriesLabels,
185
+ });
186
+ for (const key of Object.keys(filters)) {
187
+ if (seen.has(key)) {
188
+ continue;
189
+ }
190
+ seen.add(key);
191
+ const filterValue = filters[key];
192
+ parts.push(`${key} = ${typeof filterValue === "string"
193
+ ? filterValue
194
+ : MetricSeriesScope.UnsetLabelDisplayValue}`);
195
+ }
196
+ }
197
+ return parts.join(", ");
198
+ }
199
+ }
200
+ // How an empty (unset) label value is rendered in human-facing summaries.
201
+ MetricSeriesScope.UnsetLabelDisplayValue = "(unset)";
202
+ export default MetricSeriesScope;
203
+ //# sourceMappingURL=MetricSeriesScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricSeriesScope.js","sourceRoot":"","sources":["../../../../Utils/Metrics/MetricSeriesScope.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iCAAiC,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAqB,iBAAiB;IAI7B,MAAM,CAAC,eAAe,CAC3B,YAA2C;QAE3C,OAAO,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,aAAa,CAC1B,KAA4B;QAE5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B;;;;;;eAMG;YACH,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,CAAC;YAED;;;;eAIG;YACH,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED;;;;WAIG;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,iCAAiC,CAAC,KAG/C;;QACC,MAAM,OAAO,GAAwC,EAAE,CAAC;QAExD,MAAM,YAAY,GAAkC,KAAK,CAAC,YAAY,CAAC;QAEvE,IACE,CAAC,KAAK,CAAC,WAAW;YAClB,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,EAChD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,oBAAoB,GACxB,CAAA,MAAA,KAAK,CAAC,WAAW,CAAC,eAAe,0CAAE,oBAAoB,KAAI,EAAE,CAAC;QAEhE,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7D,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GACf,iBAAiB,CAAC,aAAa,CAC5B,YAA2B,CAAC,GAAG,CAA0B,CAC3D,CAAC;YAEJ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,yBAAyB,CAAC,KAGvC;QACC,MAAM,YAAY,GAAiC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;QAE5E,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,YAAY,GAAY,KAAK,CAAC;QAElC,MAAM,kBAAkB,GAAiC,YAAY,CAAC,GAAG,CACvE,CAAC,WAAkC,EAAE,EAAE;;YACrC,MAAM,OAAO,GACX,iBAAiB,CAAC,iCAAiC,CAAC;gBAClD,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;YAEL,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,YAAY,GAAG,IAAI,CAAC;YAEpB,MAAM,eAAe,GAAoB,WAAW,CAAC,eAAe,CAAC;YAErE,MAAM,kBAAkB,GACtB,CAAC,MAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAA8C,0CAC/D,YAAY,CACuB,KAAI,EAAE,CAAC;YAE9C,OAAO,gCACF,WAAW,KACd,eAAe,kCACV,eAAe,KAClB,UAAU,kCACL,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,KAAI,EAAE,CAAC;wBACtC;;;;2BAIG;wBACH,UAAU,kCACL,kBAAkB,GAClB,OAAO,UAIQ,CAAC;QAC7B,CAAC,CACF,CAAC;QAEF,OAAO,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,2BAA2B,CAA2B,KAGnE;QACC,MAAM,cAAc,GAAyB,KAAK,CAAC,cAAc,CAAC;QAElE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACpD;;;;eAIG;YACH,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,kBAAkB,GACtB,iBAAiB,CAAC,yBAAyB,CAAC;YAC1C,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;QAEL,IAAI,kBAAkB,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC;YACvD,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,uCACK,cAAc,KACjB,YAAY,EAAE,kBAAkB,IAChC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAC,4BAA4B,CAAC,KAG1C;QACC,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC;QAE5C,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,OAAO,GACX,iBAAiB,CAAC,iCAAiC,CAAC;gBAClD,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;YAEL,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEd,MAAM,WAAW,GAAwC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEtE,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,MACJ,OAAO,WAAW,KAAK,QAAQ;oBAC7B,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,iBAAiB,CAAC,sBACxB,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AAtQD,0EAA0E;AACnD,wCAAsB,GAAW,SAAS,CAAC;eAF/C,iBAAiB"}