@oneuptime/common 14.0.9 → 14.0.10

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 (383) hide show
  1. package/Models/DatabaseModels/AutoRemediationSuggestion.ts +60 -0
  2. package/Models/DatabaseModels/CephCluster.ts +213 -0
  3. package/Models/DatabaseModels/DatabaseServer.ts +213 -0
  4. package/Models/DatabaseModels/DockerHost.ts +213 -0
  5. package/Models/DatabaseModels/DockerSwarmCluster.ts +213 -0
  6. package/Models/DatabaseModels/GlobalConfig.ts +1 -1
  7. package/Models/DatabaseModels/Host.ts +213 -0
  8. package/Models/DatabaseModels/Index.ts +2 -0
  9. package/Models/DatabaseModels/PodmanHost.ts +213 -0
  10. package/Models/DatabaseModels/ProxmoxCluster.ts +213 -0
  11. package/Models/DatabaseModels/ResourceAiAgent.ts +419 -0
  12. package/Models/DatabaseModels/RunnerJob.ts +144 -0
  13. package/Models/DatabaseModels/VMwareVCenter.ts +213 -0
  14. package/Server/API/AutoRemediationAPI.ts +392 -1
  15. package/Server/API/ResourceAiAccessAPI.ts +1669 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1796300000000-AddResourceAiAgents.ts +423 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  18. package/Server/Infrastructure/Semaphore.ts +22 -0
  19. package/Server/Middleware/TelemetryIngest.ts +15 -5
  20. package/Server/Services/AnalyticsDatabaseService.ts +45 -1
  21. package/Server/Services/AutoRemediationRuleEngineService.ts +940 -112
  22. package/Server/Services/CephClusterService.ts +109 -1
  23. package/Server/Services/DatabaseServerService.ts +116 -1
  24. package/Server/Services/DockerHostService.ts +109 -1
  25. package/Server/Services/DockerSwarmClusterService.ts +113 -1
  26. package/Server/Services/HostService.ts +126 -4
  27. package/Server/Services/MetricRecordingRuleService.ts +47 -0
  28. package/Server/Services/PodmanHostService.ts +109 -1
  29. package/Server/Services/ProxmoxClusterService.ts +110 -1
  30. package/Server/Services/ResourceAiAccessService.ts +1439 -0
  31. package/Server/Services/ResourceAiAgentJobService.ts +202 -0
  32. package/Server/Services/ResourceAiAgentService.ts +2432 -0
  33. package/Server/Services/RunnerJobService.ts +611 -4
  34. package/Server/Services/TelemetryUsageBillingService.ts +28 -0
  35. package/Server/Services/TraceRecordingRuleService.ts +33 -0
  36. package/Server/Services/VMwareVCenterService.ts +110 -1
  37. package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +1434 -32
  38. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +935 -21
  39. package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +25 -1
  40. package/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.ts +577 -0
  41. package/Server/Utils/AI/ResourceAccess/ResourceAccessContext.ts +271 -0
  42. package/Server/Utils/AI/ResourceAccess/ResourceAccessToolNames.ts +45 -0
  43. package/Server/Utils/AI/ResourceAccess/ResourceAiAccessSettings.ts +964 -0
  44. package/Server/Utils/AI/ResourceAccess/ResourceAiDeleteCleanup.ts +333 -0
  45. package/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.ts +873 -0
  46. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +72 -2
  47. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +72 -5
  48. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +72 -5
  49. package/Server/Utils/AutoRemediation/CommandPlanExecutor.ts +396 -13
  50. package/Server/Utils/AutoRemediation/RemediationVerifier.ts +35 -2
  51. package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +9 -1
  52. package/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.ts +920 -0
  53. package/Server/Utils/SessionReplay/SessionReplayUsage.ts +84 -6
  54. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +35 -15
  55. package/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.ts +33 -15
  56. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.ts +21 -1
  57. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +298 -224
  58. package/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts +35 -15
  59. package/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.ts +389 -175
  60. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +366 -143
  61. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsActivityDeduplicator.ts +163 -0
  62. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.ts +396 -0
  63. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateCommands.ts +418 -0
  64. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsMessageSize.ts +152 -0
  65. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsReplies.ts +251 -0
  66. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsTimezone.ts +214 -0
  67. package/Tests/App/Dashboard/ClusterAccessNotice.test.tsx +93 -0
  68. package/Tests/App/Dashboard/DatabaseDocumentationMarkdown.test.ts +18 -6
  69. package/Tests/App/Dashboard/InvestigationInfrastructureTools.test.tsx +506 -0
  70. package/Tests/App/Dashboard/RemediationSuggestionCardDescription.test.tsx +209 -0
  71. package/Tests/App/Dashboard/RemediationSuggestionCardResource.test.tsx +317 -0
  72. package/Tests/App/Dashboard/ResourceAiAccessSettingsUtil.test.ts +921 -0
  73. package/Tests/App/Dashboard/ResourceAiAgentInstall.test.ts +860 -0
  74. package/Tests/App/Dashboard/ResourceAiAgentPage.test.tsx +1721 -0
  75. package/Tests/App/Dashboard/ResourceAiAgentStatus.test.ts +1002 -0
  76. package/Tests/App/Dashboard/ResourceAiInsightsPage.test.tsx +931 -0
  77. package/Tests/App/Dashboard/ResourceAiNavigation.test.tsx +575 -0
  78. package/Tests/App/Dashboard/RunbookStepTypeMaps.test.ts +38 -7
  79. package/Tests/Models/DatabaseModels/DatabaseServerModels.test.ts +33 -1
  80. package/Tests/Models/DatabaseModels/ResourceAiAccessColumns.test.ts +738 -0
  81. package/Tests/Models/DatabaseModels/ResourceAiAgentModel.test.ts +842 -0
  82. package/Tests/Server/API/AutoRemediationApproveResourceRound.test.ts +835 -0
  83. package/Tests/Server/API/ResourceAiAccessAPI.test.ts +2730 -0
  84. package/Tests/Server/Infrastructure/Postgres/AddDatabaseServerTablesMigration.test.ts +60 -0
  85. package/Tests/Server/Infrastructure/Postgres/AddResourceAiAgentsMigration.test.ts +659 -0
  86. package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +31 -0
  87. package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +63 -5
  88. package/Tests/Server/Middleware/TelemetryIngestKubernetesAgentRunnerPinnedKey.test.ts +103 -5
  89. package/Tests/Server/Middleware/TelemetryIngestKubernetesAgentRunnerRateLimit.test.ts +19 -1
  90. package/Tests/Server/Services/AutoRemediationResourceRuleEngine.test.ts +1279 -0
  91. package/Tests/Server/Services/DatabaseServerService.test.ts +55 -0
  92. package/Tests/Server/Services/GroupTelemetryUsageExcludeNames.test.ts +299 -0
  93. package/Tests/Server/Services/HostServiceFindOrCreateMemo.test.ts +44 -0
  94. package/Tests/Server/Services/MonitorProbeServiceIntervalScheduling.test.ts +45 -6
  95. package/Tests/Server/Services/RecordingRuleReservedMetricName.test.ts +171 -0
  96. package/Tests/Server/Services/ResourceAiAccessChangeAuthorization.test.ts +256 -0
  97. package/Tests/Server/Services/ResourceAiAccessService.test.ts +1373 -0
  98. package/Tests/Server/Services/ResourceAiAgentJobService.test.ts +375 -0
  99. package/Tests/Server/Services/ResourceAiAgentServiceHelpers.test.ts +1114 -0
  100. package/Tests/Server/Services/ResourceAiAgentServiceLifecycle.test.ts +1050 -0
  101. package/Tests/Server/Services/ResourceAiAgentServiceRegister.test.ts +2251 -0
  102. package/Tests/Server/Services/ResourceAiSettingsCreate.test.ts +373 -0
  103. package/Tests/Server/Services/ResourceAiSettingsPermission.test.ts +1042 -0
  104. package/Tests/Server/Services/ResourceServiceDeleteCleansUpAi.test.ts +319 -0
  105. package/Tests/Server/Services/RunnerJobEnqueueKubectl.test.ts +105 -0
  106. package/Tests/Server/Services/RunnerJobEnqueueResourceCommand.test.ts +986 -0
  107. package/Tests/Server/Services/RunnerJobResourceCommandLane.test.ts +211 -0
  108. package/Tests/Server/Services/RunnerJobResourceCommandTimeoutAndRedaction.test.ts +352 -0
  109. package/Tests/Server/Services/TelemetryUsageBillingSloExclusion.test.ts +218 -0
  110. package/Tests/Server/TestingUtils/Services/FakeRunnerJobCount.ts +145 -0
  111. package/Tests/Server/Utils/AI/InvestigationInfrastructureAccessWiring.test.ts +453 -0
  112. package/Tests/Server/Utils/AI/InvestigationInfrastructureReport.test.ts +721 -0
  113. package/Tests/Server/Utils/AI/RemediationCommandTools.test.ts +94 -1
  114. package/Tests/Server/Utils/AI/RemediationCommandToolsResource.test.ts +1530 -0
  115. package/Tests/Server/Utils/AI/RemediationExecutionRunnerResourceMode.test.ts +1249 -0
  116. package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +117 -0
  117. package/Tests/Server/Utils/AI/RemediationResourceCopyParity.test.ts +463 -0
  118. package/Tests/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.test.ts +722 -0
  119. package/Tests/Server/Utils/AI/ResourceAccess/ResourceAccessContext.test.ts +266 -0
  120. package/Tests/Server/Utils/AI/ResourceAccess/ResourceAiAccessSettings.test.ts +1220 -0
  121. package/Tests/Server/Utils/AI/ResourceAccess/ResourceAiDeleteCleanup.test.ts +569 -0
  122. package/Tests/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.test.ts +830 -0
  123. package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutorResource.test.ts +717 -0
  124. package/Tests/Server/Utils/AutoRemediation/RemediationVerifierResourceFollowUp.test.ts +338 -0
  125. package/Tests/Server/Utils/Monitor/Criteria/SessionReplayBudgetTemplateCriteria.test.ts +422 -0
  126. package/Tests/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.test.ts +1647 -0
  127. package/Tests/Server/Utils/SessionReplay/SessionReplayUsage.test.ts +143 -1
  128. package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.test.ts +33 -3
  129. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsAccountNotLinked.test.ts +1093 -0
  130. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsActivityDeduplicator.test.ts +1049 -0
  131. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.test.ts +1676 -0
  132. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateCards.test.ts +2884 -0
  133. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateCommands.test.ts +2490 -0
  134. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateSubmit.test.ts +2293 -0
  135. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateSubmitServerTimezone.test.ts +386 -0
  136. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsMessageSize.test.ts +1477 -0
  137. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsReplies.test.ts +1967 -0
  138. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsStripHtmlTags.test.ts +92 -0
  139. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsSubmittedFormRemoval.test.ts +1819 -0
  140. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsTimezone.test.ts +1033 -0
  141. package/Tests/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsTimezoneServerZone.test.ts +610 -0
  142. package/Tests/Server/Utils/Workspace/MicrosoftTeamsBotMessageHandling.test.ts +2610 -0
  143. package/Tests/Server/Utils/Workspace/MicrosoftTeamsCreateCommandsEndToEnd.test.ts +4672 -0
  144. package/Tests/Server/Utils/Workspace/WorkspaceCreateProjectReferences.test.ts +190 -65
  145. package/Tests/Types/AutoRemediation/AiRemediationCommandPlan.test.ts +10 -4
  146. package/Tests/Types/AutoRemediation/AiRemediationCommandPlanResourceCommand.test.ts +305 -0
  147. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +277 -13
  148. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +113 -0
  149. package/Tests/Types/Monitor/RumAlertTemplates.test.ts +773 -2
  150. package/Tests/Types/ResourceAiAgent/AiResourceType.test.ts +419 -0
  151. package/Tests/Types/ResourceAiAgent/ResourceAiAccess.test.ts +517 -0
  152. package/Tests/Types/Runbook/RunbookStepType.test.ts +147 -8
  153. package/Tests/UI/Rum/RecordingHealthDashboard.test.tsx +769 -1
  154. package/Tests/Utils/AiRemediation/Resource/CephCommandPolicy.test.ts +1653 -0
  155. package/Tests/Utils/AiRemediation/Resource/CephOutputRedaction.test.ts +204 -0
  156. package/Tests/Utils/AiRemediation/Resource/DatabaseCommandPolicy.test.ts +1077 -0
  157. package/Tests/Utils/AiRemediation/Resource/DatabaseDiagnosticCatalog.test.ts +558 -0
  158. package/Tests/Utils/AiRemediation/Resource/DatabaseQueryRedactor.test.ts +834 -0
  159. package/Tests/Utils/AiRemediation/Resource/DockerCliGrammar.test.ts +747 -0
  160. package/Tests/Utils/AiRemediation/Resource/DockerEngineCommandPolicy.test.ts +1259 -0
  161. package/Tests/Utils/AiRemediation/Resource/DockerOutputRedaction.test.ts +386 -0
  162. package/Tests/Utils/AiRemediation/Resource/DockerSwarmCommandPolicy.test.ts +782 -0
  163. package/Tests/Utils/AiRemediation/Resource/GovcCommandPolicy.test.ts +2259 -0
  164. package/Tests/Utils/AiRemediation/Resource/HostCommandPolicy.test.ts +2019 -0
  165. package/Tests/Utils/AiRemediation/Resource/ProxmoxCommandPolicy.test.ts +2497 -0
  166. package/Tests/Utils/AiRemediation/Resource/ResourceCommandPolicy.test.ts +1305 -0
  167. package/Tests/Utils/AiRemediation/Resource/ResourceCommandPolicyCore.test.ts +585 -0
  168. package/Tests/Utils/AiRemediation/Resource/ResourceOutputRedactor.test.ts +334 -0
  169. package/Tests/Utils/AiRemediation/Resource/ResourceOutputRedactorCopyParity.test.ts +98 -0
  170. package/Tests/Utils/AiRemediation/Resource/ResourcePolicyImportClosure.test.ts +391 -0
  171. package/Tests/Utils/AiRemediation/ResourceAiAgentPolicyCopyParity.test.ts +497 -0
  172. package/Tests/Utils/SessionReplay/SessionReplayBudgetMetricType.test.ts +383 -0
  173. package/Types/AI/ResourceAiAccessApi.ts +140 -0
  174. package/Types/AI/ResourceAiAccessPermissions.ts +126 -0
  175. package/Types/AutoRemediation/AiRemediationCommandPlan.ts +183 -2
  176. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +55 -22
  177. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +35 -3
  178. package/Types/Monitor/RumAlertTemplates.ts +351 -4
  179. package/Types/ResourceAiAgent/AiResourceType.ts +310 -0
  180. package/Types/ResourceAiAgent/ResourceAiAccess.ts +574 -0
  181. package/Types/Rum/SessionReplayBudgetMetricType.ts +47 -0
  182. package/Types/Runbook/RunbookStepType.ts +29 -0
  183. package/Types/Telemetry/TelemetryIngestSurface.ts +14 -2
  184. package/Utils/AI/InvestigationReport.ts +121 -15
  185. package/Utils/AiRemediation/Resource/CephCommandPolicy.ts +1936 -0
  186. package/Utils/AiRemediation/Resource/DatabaseCommandPolicy.ts +166 -0
  187. package/Utils/AiRemediation/Resource/DatabaseDiagnosticCatalog.ts +1532 -0
  188. package/Utils/AiRemediation/Resource/DatabaseQueryRedactor.ts +1394 -0
  189. package/Utils/AiRemediation/Resource/DockerCliGrammar.ts +1839 -0
  190. package/Utils/AiRemediation/Resource/DockerEngineCommandPolicy.ts +490 -0
  191. package/Utils/AiRemediation/Resource/DockerSwarmCommandPolicy.ts +687 -0
  192. package/Utils/AiRemediation/Resource/GovcCommandPolicy.ts +2096 -0
  193. package/Utils/AiRemediation/Resource/HostCommandPolicy.ts +2982 -0
  194. package/Utils/AiRemediation/Resource/ProxmoxCommandPolicy.ts +1679 -0
  195. package/Utils/AiRemediation/Resource/ResourceCommandPolicy.ts +851 -0
  196. package/Utils/AiRemediation/Resource/ResourceCommandPolicyCore.ts +593 -0
  197. package/Utils/AiRemediation/Resource/ResourceOutputRedactor.ts +2812 -0
  198. package/Utils/SessionReplay/SessionReplayBudgetMetricType.ts +184 -0
  199. package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js +62 -0
  200. package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js.map +1 -1
  201. package/build/dist/Models/DatabaseModels/CephCluster.js +219 -0
  202. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  203. package/build/dist/Models/DatabaseModels/DatabaseServer.js +219 -0
  204. package/build/dist/Models/DatabaseModels/DatabaseServer.js.map +1 -1
  205. package/build/dist/Models/DatabaseModels/DockerHost.js +219 -0
  206. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  207. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +219 -0
  208. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -1
  209. package/build/dist/Models/DatabaseModels/GlobalConfig.js +1 -1
  210. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  211. package/build/dist/Models/DatabaseModels/Host.js +219 -0
  212. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  213. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  214. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  215. package/build/dist/Models/DatabaseModels/PodmanHost.js +219 -0
  216. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -1
  217. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +219 -0
  218. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  219. package/build/dist/Models/DatabaseModels/ResourceAiAgent.js +439 -0
  220. package/build/dist/Models/DatabaseModels/ResourceAiAgent.js.map +1 -0
  221. package/build/dist/Models/DatabaseModels/RunnerJob.js +145 -0
  222. package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -1
  223. package/build/dist/Models/DatabaseModels/VMwareVCenter.js +219 -0
  224. package/build/dist/Models/DatabaseModels/VMwareVCenter.js.map +1 -1
  225. package/build/dist/Server/API/AutoRemediationAPI.js +231 -1
  226. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
  227. package/build/dist/Server/API/ResourceAiAccessAPI.js +1119 -0
  228. package/build/dist/Server/API/ResourceAiAccessAPI.js.map +1 -0
  229. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796300000000-AddResourceAiAgents.js +168 -0
  230. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796300000000-AddResourceAiAgents.js.map +1 -0
  231. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  232. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  233. package/build/dist/Server/Infrastructure/Semaphore.js +6 -0
  234. package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
  235. package/build/dist/Server/Middleware/TelemetryIngest.js +12 -5
  236. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  237. package/build/dist/Server/Services/AnalyticsDatabaseService.js +26 -1
  238. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  239. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +601 -3
  240. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
  241. package/build/dist/Server/Services/CephClusterService.js +104 -0
  242. package/build/dist/Server/Services/CephClusterService.js.map +1 -1
  243. package/build/dist/Server/Services/DatabaseServerService.js +99 -0
  244. package/build/dist/Server/Services/DatabaseServerService.js.map +1 -1
  245. package/build/dist/Server/Services/DockerHostService.js +104 -0
  246. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  247. package/build/dist/Server/Services/DockerSwarmClusterService.js +104 -0
  248. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -1
  249. package/build/dist/Server/Services/HostService.js +114 -2
  250. package/build/dist/Server/Services/HostService.js.map +1 -1
  251. package/build/dist/Server/Services/MetricRecordingRuleService.js +46 -0
  252. package/build/dist/Server/Services/MetricRecordingRuleService.js.map +1 -1
  253. package/build/dist/Server/Services/PodmanHostService.js +104 -0
  254. package/build/dist/Server/Services/PodmanHostService.js.map +1 -1
  255. package/build/dist/Server/Services/ProxmoxClusterService.js +104 -0
  256. package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -1
  257. package/build/dist/Server/Services/ResourceAiAccessService.js +1028 -0
  258. package/build/dist/Server/Services/ResourceAiAccessService.js.map +1 -0
  259. package/build/dist/Server/Services/ResourceAiAgentJobService.js +173 -0
  260. package/build/dist/Server/Services/ResourceAiAgentJobService.js.map +1 -0
  261. package/build/dist/Server/Services/ResourceAiAgentService.js +1687 -0
  262. package/build/dist/Server/Services/ResourceAiAgentService.js.map +1 -0
  263. package/build/dist/Server/Services/RunnerJobService.js +344 -5
  264. package/build/dist/Server/Services/RunnerJobService.js.map +1 -1
  265. package/build/dist/Server/Services/TelemetryUsageBillingService.js +26 -0
  266. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  267. package/build/dist/Server/Services/TraceRecordingRuleService.js +37 -0
  268. package/build/dist/Server/Services/TraceRecordingRuleService.js.map +1 -1
  269. package/build/dist/Server/Services/VMwareVCenterService.js +104 -0
  270. package/build/dist/Server/Services/VMwareVCenterService.js.map +1 -1
  271. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +1029 -30
  272. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -1
  273. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +633 -28
  274. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  275. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +21 -1
  276. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -1
  277. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js +330 -0
  278. package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js.map +1 -0
  279. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAccessContext.js +160 -0
  280. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAccessContext.js.map +1 -0
  281. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAccessToolNames.js +33 -0
  282. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAccessToolNames.js.map +1 -0
  283. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAiAccessSettings.js +640 -0
  284. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAiAccessSettings.js.map +1 -0
  285. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAiDeleteCleanup.js +226 -0
  286. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceAiDeleteCleanup.js.map +1 -0
  287. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js +600 -0
  288. package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js.map +1 -0
  289. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +50 -4
  290. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  291. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +55 -4
  292. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  293. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +55 -4
  294. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  295. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js +290 -13
  296. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js.map +1 -1
  297. package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js +29 -1
  298. package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js.map +1 -1
  299. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +9 -1
  300. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -1
  301. package/build/dist/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.js +627 -0
  302. package/build/dist/Server/Utils/SessionReplay/SessionReplayBudgetMetrics.js.map +1 -0
  303. package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js +60 -5
  304. package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js.map +1 -1
  305. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +19 -15
  306. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
  307. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js +19 -15
  308. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js.map +1 -1
  309. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js +17 -1
  310. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js.map +1 -1
  311. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +183 -209
  312. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
  313. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js +19 -15
  314. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js.map +1 -1
  315. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.js +233 -167
  316. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.js.map +1 -1
  317. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +263 -110
  318. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  319. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsActivityDeduplicator.js +129 -0
  320. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsActivityDeduplicator.js.map +1 -0
  321. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.js +266 -0
  322. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCardChoices.js.map +1 -0
  323. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateCommands.js +258 -0
  324. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsCreateCommands.js.map +1 -0
  325. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsMessageSize.js +104 -0
  326. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsMessageSize.js.map +1 -0
  327. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsReplies.js +183 -0
  328. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsReplies.js.map +1 -0
  329. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsTimezone.js +123 -0
  330. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeamsTimezone.js.map +1 -0
  331. package/build/dist/Types/AI/ResourceAiAccessApi.js +30 -0
  332. package/build/dist/Types/AI/ResourceAiAccessApi.js.map +1 -0
  333. package/build/dist/Types/AI/ResourceAiAccessPermissions.js +98 -0
  334. package/build/dist/Types/AI/ResourceAiAccessPermissions.js.map +1 -0
  335. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js +116 -29
  336. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js.map +1 -1
  337. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +47 -21
  338. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
  339. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +5 -0
  340. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
  341. package/build/dist/Types/Monitor/RumAlertTemplates.js +199 -3
  342. package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -1
  343. package/build/dist/Types/ResourceAiAgent/AiResourceType.js +242 -0
  344. package/build/dist/Types/ResourceAiAgent/AiResourceType.js.map +1 -0
  345. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js +275 -0
  346. package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js.map +1 -0
  347. package/build/dist/Types/Rum/SessionReplayBudgetMetricType.js +45 -0
  348. package/build/dist/Types/Rum/SessionReplayBudgetMetricType.js.map +1 -0
  349. package/build/dist/Types/Runbook/RunbookStepType.js +27 -0
  350. package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
  351. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js +13 -2
  352. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js.map +1 -1
  353. package/build/dist/Utils/AI/InvestigationReport.js +71 -11
  354. package/build/dist/Utils/AI/InvestigationReport.js.map +1 -1
  355. package/build/dist/Utils/AiRemediation/Resource/CephCommandPolicy.js +1462 -0
  356. package/build/dist/Utils/AiRemediation/Resource/CephCommandPolicy.js.map +1 -0
  357. package/build/dist/Utils/AiRemediation/Resource/DatabaseCommandPolicy.js +122 -0
  358. package/build/dist/Utils/AiRemediation/Resource/DatabaseCommandPolicy.js.map +1 -0
  359. package/build/dist/Utils/AiRemediation/Resource/DatabaseDiagnosticCatalog.js +1139 -0
  360. package/build/dist/Utils/AiRemediation/Resource/DatabaseDiagnosticCatalog.js.map +1 -0
  361. package/build/dist/Utils/AiRemediation/Resource/DatabaseQueryRedactor.js +1060 -0
  362. package/build/dist/Utils/AiRemediation/Resource/DatabaseQueryRedactor.js.map +1 -0
  363. package/build/dist/Utils/AiRemediation/Resource/DockerCliGrammar.js +1301 -0
  364. package/build/dist/Utils/AiRemediation/Resource/DockerCliGrammar.js.map +1 -0
  365. package/build/dist/Utils/AiRemediation/Resource/DockerEngineCommandPolicy.js +370 -0
  366. package/build/dist/Utils/AiRemediation/Resource/DockerEngineCommandPolicy.js.map +1 -0
  367. package/build/dist/Utils/AiRemediation/Resource/DockerSwarmCommandPolicy.js +498 -0
  368. package/build/dist/Utils/AiRemediation/Resource/DockerSwarmCommandPolicy.js.map +1 -0
  369. package/build/dist/Utils/AiRemediation/Resource/GovcCommandPolicy.js +1565 -0
  370. package/build/dist/Utils/AiRemediation/Resource/GovcCommandPolicy.js.map +1 -0
  371. package/build/dist/Utils/AiRemediation/Resource/HostCommandPolicy.js +2206 -0
  372. package/build/dist/Utils/AiRemediation/Resource/HostCommandPolicy.js.map +1 -0
  373. package/build/dist/Utils/AiRemediation/Resource/ProxmoxCommandPolicy.js +1129 -0
  374. package/build/dist/Utils/AiRemediation/Resource/ProxmoxCommandPolicy.js.map +1 -0
  375. package/build/dist/Utils/AiRemediation/Resource/ResourceCommandPolicy.js +565 -0
  376. package/build/dist/Utils/AiRemediation/Resource/ResourceCommandPolicy.js.map +1 -0
  377. package/build/dist/Utils/AiRemediation/Resource/ResourceCommandPolicyCore.js +408 -0
  378. package/build/dist/Utils/AiRemediation/Resource/ResourceCommandPolicyCore.js.map +1 -0
  379. package/build/dist/Utils/AiRemediation/Resource/ResourceOutputRedactor.js +1910 -0
  380. package/build/dist/Utils/AiRemediation/Resource/ResourceOutputRedactor.js.map +1 -0
  381. package/build/dist/Utils/SessionReplay/SessionReplayBudgetMetricType.js +160 -0
  382. package/build/dist/Utils/SessionReplay/SessionReplayBudgetMetricType.js.map +1 -0
  383. package/package.json +1 -1
@@ -33,7 +33,11 @@ import RunnerService from "../Services/RunnerService";
33
33
  import KubernetesClusterAiAccessService from "../Services/KubernetesClusterAiAccessService";
34
34
  import CommandPlanExecutor from "../Utils/AutoRemediation/CommandPlanExecutor";
35
35
  import RemediationCommandToolkit from "../Utils/AI/Remediation/RemediationCommandTools";
36
- import { isClusterRemediationRound } from "../Utils/AI/Remediation/RemediationExecutionRunner";
36
+ import { isClusterRemediationRound, isResourceRemediationRound, } from "../Utils/AI/Remediation/RemediationExecutionRunner";
37
+ import ResourceAiAccessService, { describeResourceNoun, getResourceAiAgentPage, } from "../Services/ResourceAiAccessService";
38
+ import { AI_RESOURCE_TYPE_INFO, isAiResourceType, } from "../../Types/ResourceAiAgent/AiResourceType";
39
+ import { ResourceCommandTier, } from "../../Types/ResourceAiAgent/ResourceAiAccess";
40
+ import ResourceCommandPolicy from "../../Utils/AiRemediation/Resource/ResourceCommandPolicy";
37
41
  import logger from "../Utils/Logger";
38
42
  const router = Express.getRouter();
39
43
  /*
@@ -245,6 +249,193 @@ function assertNotHostStepOnKubernetesAgent(data) {
245
249
  throw new BadDataException(`Command ${hostStep.sequence} is a ${hostStep.stepType} step on Runner "${data.runner.name || hostStep.runnerNameSnapshot}", a Kubernetes cluster's in-cluster kubectl agent, which runs only Kubectl steps. The plan cannot be run — dismiss it and let a new suggestion be composed.`);
246
250
  }
247
251
  }
252
+ function getResourceStatusKey(resourceType, resourceId) {
253
+ return `${resourceType}:${resourceId.toLowerCase()}`;
254
+ }
255
+ async function getResourceStatusOnce(data) {
256
+ const key = getResourceStatusKey(data.resourceType, data.resourceId);
257
+ if (data.statusByResourceKey.has(key)) {
258
+ return data.statusByResourceKey.get(key) || null;
259
+ }
260
+ const status = await ResourceAiAccessService.getStatusForResource({
261
+ projectId: data.projectId,
262
+ resourceType: data.resourceType,
263
+ resourceId: new ObjectID(data.resourceId),
264
+ });
265
+ data.statusByResourceKey.set(key, status);
266
+ return status;
267
+ }
268
+ // 'Docker host "web-1"' — a resource command's resource, from its snapshot.
269
+ function describeCommandResource(command) {
270
+ return `${isAiResourceType(command.resourceType)
271
+ ? describeResourceNoun(command.resourceType)
272
+ : "resource"} "${command.resourceNameSnapshot || command.resourceId || "(unknown)"}"`;
273
+ }
274
+ /*
275
+ * The resource AI agent's side of the Runner consent re-check — the
276
+ * resource sibling of assertAiAgentCanRunPlan. A ResourceCommand step names
277
+ * its resource's AI agent (a ResourceAiAgent row id) where a Runner id
278
+ * would be. The agent is not a Runner row, so there is no canRunAiCommands
279
+ * flag to re-read: its consent is ONEUPTIME_AI_ALLOW_WRITES on the agent
280
+ * and the resource's own Fixes mode. What can have changed is whether it is
281
+ * still the resource's agent and connected, and it only ever runs
282
+ * ResourceCommand steps for its one resource — so any other step aimed at
283
+ * it, or a step for another resource, fails the click.
284
+ */
285
+ async function assertResourceAgentCanRunPlan(data) {
286
+ const commands = data.plan.commands.filter((command) => {
287
+ return command.runnerId === data.runnerId;
288
+ });
289
+ const first = commands.find((command) => {
290
+ return command.stepType === RunbookStepType.ResourceCommand;
291
+ });
292
+ if (!first) {
293
+ return;
294
+ }
295
+ const agentName = isAiResourceType(first.resourceType)
296
+ ? AI_RESOURCE_TYPE_INFO[first.resourceType].agentDisplayName
297
+ : "resource's AI agent";
298
+ const otherStep = commands.find((command) => {
299
+ return command.stepType !== RunbookStepType.ResourceCommand;
300
+ });
301
+ if (otherStep) {
302
+ throw new BadDataException(`Command ${otherStep.sequence} is a ${otherStep.stepType} step on the ${agentName} of ${describeCommandResource(first)}, which runs only ResourceCommand steps. The plan cannot be run — dismiss it and let a new suggestion be composed.`);
303
+ }
304
+ const otherResource = commands.find((command) => {
305
+ return (command.resourceType !== first.resourceType ||
306
+ (command.resourceId || "").toLowerCase() !==
307
+ (first.resourceId || "").toLowerCase());
308
+ });
309
+ if (otherResource) {
310
+ throw new BadDataException(`Command ${otherResource.sequence} names a different resource than the ${agentName} it is sent to serves. The plan cannot be run — dismiss it and let a new suggestion be composed.`);
311
+ }
312
+ if (!isAiResourceType(first.resourceType) ||
313
+ !first.resourceId ||
314
+ !ObjectID.isValidUUID(first.resourceId)) {
315
+ throw new BadDataException(`Command ${first.sequence} is a resource command with no valid resource, so this plan cannot be run. Dismiss it and let a new suggestion be composed.`);
316
+ }
317
+ const status = await getResourceStatusOnce({
318
+ resourceType: first.resourceType,
319
+ resourceId: first.resourceId,
320
+ projectId: data.projectId,
321
+ statusByResourceKey: data.statusByResourceKey,
322
+ });
323
+ if (!status) {
324
+ throw new BadDataException(`${describeCommandResource(first)} (command ${first.sequence}) no longer exists in this project, so this plan cannot be run. Dismiss it and let a new suggestion be composed.`);
325
+ }
326
+ const label = `${describeResourceNoun(status.resourceType)} "${status.resourceName}"`;
327
+ if (!status.agent || status.agent.agentId !== data.runnerId) {
328
+ throw new BadDataException(`${label.charAt(0).toUpperCase()}${label.slice(1)} (command ${first.sequence}) is no longer reached through the ${agentName} this plan was composed for (the agent was reset or replaced). Dismiss the suggestion and let a new plan be composed for the current agent.`);
329
+ }
330
+ if (!status.agent.isOnline) {
331
+ throw new BadDataException(`The ${agentName} of ${label} is offline, so this plan cannot be run. Check the agent on ${getResourceAiAgentPage(status.resourceType)} and approve again, or dismiss the suggestion.`);
332
+ }
333
+ }
334
+ /*
335
+ * Approval-time re-check of every ResourceCommand step — the resource
336
+ * sibling of assertKubectlCommandsStillRunnable. The resource must still
337
+ * exist and be remediation-ready (fixes on, agent online and allowed to
338
+ * write, the project switches), be reached through the agent the plan was
339
+ * composed for, and every command and its rollback must still pass the
340
+ * resource command policy and the agent's reported write scope. The
341
+ * executor hard-stops on the same conditions right before each command
342
+ * runs — this makes the click fail up front, with the reason and the next
343
+ * step, instead of claiming the plan and stopping one command in.
344
+ */
345
+ async function assertResourceCommandsStillRunnable(data) {
346
+ for (const command of data.plan.commands) {
347
+ if (command.stepType !== RunbookStepType.ResourceCommand) {
348
+ continue;
349
+ }
350
+ if (!isAiResourceType(command.resourceType) ||
351
+ !command.resourceId ||
352
+ !ObjectID.isValidUUID(command.resourceId)) {
353
+ throw new BadDataException(`Command ${command.sequence} is a resource command with no valid resource, so this plan cannot be run. Dismiss it and let a new suggestion be composed.`);
354
+ }
355
+ const status = await getResourceStatusOnce({
356
+ resourceType: command.resourceType,
357
+ resourceId: command.resourceId,
358
+ projectId: data.projectId,
359
+ statusByResourceKey: data.statusByResourceKey,
360
+ });
361
+ if (!status) {
362
+ throw new BadDataException(`${describeCommandResource(command)} (command ${command.sequence}) no longer exists in this project, so this plan cannot be run. Dismiss it and let a new suggestion be composed.`);
363
+ }
364
+ const noun = describeResourceNoun(status.resourceType);
365
+ const label = `${noun} "${status.resourceName}"`;
366
+ const capitalizedLabel = `${label.charAt(0).toUpperCase()}${label.slice(1)}`;
367
+ const agentName = AI_RESOURCE_TYPE_INFO[status.resourceType].agentDisplayName;
368
+ if (!status.isRemediationReady) {
369
+ const gap = status.gaps.find((candidate) => {
370
+ return candidate.blocksRemediation;
371
+ });
372
+ throw new BadDataException(`${capitalizedLabel} (command ${command.sequence}) no longer allows AI remediation${gap ? `: ${gap.title} — ${gap.nextStep}` : ""}. Fix that on ${getResourceAiAgentPage(status.resourceType)} and approve again, or dismiss the suggestion.`);
373
+ }
374
+ if (!status.agent || status.agent.agentId !== command.runnerId) {
375
+ throw new BadDataException(`${capitalizedLabel} (command ${command.sequence}) is no longer reached through the ${agentName} this plan was composed for (the agent was reset or replaced). Dismiss the suggestion and let a new plan be composed for the current agent.`);
376
+ }
377
+ /*
378
+ * The command and its rollback, re-checked live: the policy (a command
379
+ * the policy denies now never runs, whoever approves it) and the
380
+ * agent's write scope as it reports it now — a rollback it would refuse
381
+ * would otherwise only surface when verification fails and the change
382
+ * has to be undone.
383
+ */
384
+ const parts = [
385
+ { label: "", text: command.command },
386
+ { label: "'s rollback", text: command.rollbackCommand },
387
+ ];
388
+ for (const part of parts) {
389
+ if (!part.text) {
390
+ continue;
391
+ }
392
+ const policy = ResourceCommandPolicy.evaluateCommand({
393
+ resourceType: status.resourceType,
394
+ command: part.text,
395
+ });
396
+ if (policy.tier === ResourceCommandTier.Denied) {
397
+ throw new BadDataException(`Command ${command.sequence}${part.label} is denied by the ${AI_RESOURCE_TYPE_INFO[status.resourceType].displayName} command policy (${policy.reason}), so it can never run. Nothing ran. Dismiss the suggestion and let a new plan be composed.`);
398
+ }
399
+ const scopeRefusal = RemediationCommandToolkit.getResourceWriteScopeRefusal({
400
+ resource: status,
401
+ command: part.text,
402
+ });
403
+ if (scopeRefusal) {
404
+ throw new BadDataException(`Command ${command.sequence}${part.label} cannot run on ${label}: ${scopeRefusal} Nothing ran. ${RemediationCommandToolkit.getResourceScopeRefusalNextStep(status.resourceType)}`);
405
+ }
406
+ }
407
+ }
408
+ }
409
+ /*
410
+ * Approving a resource command runs it on the resource as root, so the
411
+ * approver must be someone who may edit that resource — its update ACL,
412
+ * label-scoped blocks included — not merely someone who may start runbooks
413
+ * in the project. Each resource is checked once, however many commands
414
+ * target it. Called after assertResourceCommandsStillRunnable, which has
415
+ * already refused a command with no valid resource.
416
+ */
417
+ async function assertApproverMayChangeResources(data) {
418
+ const checked = new Set();
419
+ for (const command of data.plan.commands) {
420
+ if (command.stepType !== RunbookStepType.ResourceCommand ||
421
+ !isAiResourceType(command.resourceType) ||
422
+ !command.resourceId ||
423
+ !ObjectID.isValidUUID(command.resourceId)) {
424
+ continue;
425
+ }
426
+ const key = getResourceStatusKey(command.resourceType, command.resourceId);
427
+ if (checked.has(key)) {
428
+ continue;
429
+ }
430
+ checked.add(key);
431
+ await ResourceAiAccessService.assertCallerMayChangeResource({
432
+ props: data.props,
433
+ projectId: data.projectId,
434
+ resourceType: command.resourceType,
435
+ resourceId: new ObjectID(command.resourceId),
436
+ });
437
+ }
438
+ }
248
439
  async function loadSuggestionAsRoot(suggestionId) {
249
440
  const suggestion = await AutoRemediationSuggestionService.findOneById({
250
441
  id: suggestionId,
@@ -267,6 +458,9 @@ async function loadSuggestionAsRoot(suggestionId) {
267
458
  */
268
459
  kubernetesClusterId: true,
269
460
  autoRemediationRuleId: true,
461
+ // A resource round (a resource, no rule) needs no opt-in either.
462
+ resourceType: true,
463
+ resourceId: true,
270
464
  },
271
465
  props: { isRoot: true },
272
466
  });
@@ -355,6 +549,7 @@ router.post("/auto-remediation/approve", UserMiddleware.getUserMiddleware, async
355
549
  throw new BadDataException("AI or auto-remediation is disabled for this project, so this plan cannot be run. Re-enable it in Project Settings → AI Features, or dismiss the suggestion.");
356
550
  }
357
551
  if (!isClusterRemediationRound(suggestion) &&
552
+ !isResourceRemediationRound(suggestion) &&
358
553
  project.enableAiCommandExecution !== true) {
359
554
  throw new BadDataException("AI command execution is disabled for this project, so this plan cannot be run. Re-enable it in Project Settings → AI Features, or dismiss the suggestion.");
360
555
  }
@@ -372,6 +567,7 @@ router.post("/auto-remediation/approve", UserMiddleware.getUserMiddleware, async
372
567
  return command.runnerId;
373
568
  })));
374
569
  const statusByClusterId = new Map();
570
+ const statusByResourceKey = new Map();
375
571
  for (const runnerId of runnerIds) {
376
572
  /*
377
573
  * A kubectl command composed for a cluster's Kubernetes AI agent
@@ -394,6 +590,24 @@ router.post("/auto-remediation/approve", UserMiddleware.getUserMiddleware, async
394
590
  });
395
591
  continue;
396
592
  }
593
+ /*
594
+ * A ResourceCommand step names its resource's AI agent the same
595
+ * way; that agent is not a Runner row either, so it is recognised
596
+ * from the resource's status and must be its current, connected
597
+ * agent.
598
+ */
599
+ if (plan.commands.some((command) => {
600
+ return (command.stepType === RunbookStepType.ResourceCommand &&
601
+ command.runnerId === runnerId);
602
+ })) {
603
+ await assertResourceAgentCanRunPlan({
604
+ plan,
605
+ runnerId,
606
+ projectId: suggestion.projectId,
607
+ statusByResourceKey,
608
+ });
609
+ continue;
610
+ }
397
611
  const runner = await RunnerService.findOneBy({
398
612
  query: {
399
613
  _id: runnerId,
@@ -423,6 +637,22 @@ router.post("/auto-remediation/approve", UserMiddleware.getUserMiddleware, async
423
637
  projectId: suggestion.projectId,
424
638
  statusByClusterId,
425
639
  });
640
+ // And for every resource command: its resource, as it is now.
641
+ await assertResourceCommandsStillRunnable({
642
+ plan,
643
+ projectId: suggestion.projectId,
644
+ statusByResourceKey,
645
+ });
646
+ /*
647
+ * And the approver may change every resource the plan changes: the
648
+ * plan runs as root on the resource, so this is where the
649
+ * resource's own edit ACL (with its label scope) applies.
650
+ */
651
+ await assertApproverMayChangeResources({
652
+ plan,
653
+ props,
654
+ projectId: suggestion.projectId,
655
+ });
426
656
  const claimedPlan = await AutoRemediationSuggestionService.attemptStatusTransition({
427
657
  suggestionId: suggestion.id,
428
658
  fromStatus: AutoRemediationSuggestionStatus.Suggested,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoRemediationAPI.js","sourceRoot":"","sources":["../../../../Server/API/AutoRemediationAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,OAKN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,+BAA+B,MAAM,6DAA6D,CAAC;AAC1G,OAAO,6BAA6B,MAAM,2DAA2D,CAAC;AACtG,OAAO,iCAAiC,MAAM,+DAA+D,CAAC;AAC9G,OAAO,EAGL,4BAA4B,GAC7B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAGL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,kDAAkD,CAAC;AAC1D;;;;;;;GAOG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAKjF,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,gCAAgC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,wBAAwB,MAAM,sCAAsC,CAAC;AAC5E,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,gCAAgC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,mBAAmB,MAAM,8CAA8C,CAAC;AAC/E,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,MAAM,GAAkB,OAAO,CAAC,SAAS,EAAE,CAAC;AAElD;;;;;;;;;GASG;AAEH,KAAK,UAAU,gBAAgB,CAC7B,GAAmB;IAEnB,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;IAEzD,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CACrC,GAAmB,EACnB,KAAqC;IAErC,MAAM,kBAAkB,GAAuB,GAAG,CAAC,IAAI,CAAC,cAAc,CAEzD,CAAC;IAEd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GACd,MAAM,gCAAgC,CAAC,WAAW,CAAC;QACjD,EAAE,EAAE,IAAI,QAAQ,CAAC,kBAAkB,CAAC;QACpC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;QACrB,KAAK;KACN,CAAC,CAAC;IAEL,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC;AASD,KAAK,UAAU,oBAAoB,CAAC,IAInC;IACC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GACV,MAAM,gCAAgC,CAAC,mBAAmB,CAAC;QACzD,SAAS,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEL,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,uBAAuB,CAAC,IAKtC;IACC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,IACE,OAAO,CAAC,QAAQ,KAAK,eAAe,CAAC,OAAO;YAC5C,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAClC,CAAC,OAAO,CAAC,mBAAmB,EAC5B,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GACV,MAAM,oBAAoB,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,mBAAmB;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;QAEL,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM;YACd,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,UAAU;YAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EAClC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,IAIhC;;IACC,MAAM,QAAQ,GAAqC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxE,CAAC,OAA6B,EAAE,EAAE;QAChC,OAAO,CACL,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAClC,OAAO,CAAC,QAAQ,KAAK,eAAe,CAAC,OAAO,CAC7C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,WAAW,QAAQ,CAAC,QAAQ,SAAS,QAAQ,CAAC,QAAQ,gDAAgD,IAAI,CAAC,MAAM,CAAC,WAAW,6GAA6G,CAC3O,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,CAAA,EAAE,CAAC;QAClC,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,IAAI,CAAC,MAAM,CAAC,WAAW,qJAAqJ,CACpN,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiD;IAEjD,IAAI,+BAA+B,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3D,OAAO,uKAAuK,CAAC;IACjL,CAAC;IAED,IACE,2BAA2B,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC;QACzC,8BAA8B,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,EAC/C,CAAC;QACD,OAAO,sKAAsK,CAAC;IAChL,CAAC;IAED,OAAO,mIAAmI,CAAC;AAC7I,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,kCAAkC,CAAC,IAIjD;IACC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAChB,OAAO,CAAC,6BAA6B;YACrC,OAAO,CAAC,mBAAmB;YAC3B,SAAS,CAAC;QAEZ,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CACxB,WAAW,OAAO,CAAC,QAAQ,qHAAqH,CACjJ,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,MAAM,oBAAoB,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,mBAAmB;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;QAEL,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CACxB,YAAY,YAAY,cAAc,OAAO,CAAC,QAAQ,kHAAkH,CACzK,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAsC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC7D,CAAC,SAAgC,EAAE,EAAE;gBACnC,OAAO,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC;YAC9C,CAAC,CACF,CAAC;YAEF,MAAM,IAAI,gBAAgB,CACxB,YAAY,MAAM,CAAC,WAAW,cAAc,OAAO,CAAC,QAAQ,oCAC1D,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC7C,sGAAsG,CACvG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,gBAAgB,CACxB,YAAY,MAAM,CAAC,WAAW,cAAc,OAAO,CAAC,QAAQ,0CAA0C,OAAO,CAAC,kBAAkB,sCAC9H,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAC7D,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,IACE,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,EAC1E,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,YAAY,MAAM,CAAC,WAAW,cAAc,OAAO,CAAC,QAAQ,2JAA2J,CACxN,CAAC;QACJ,CAAC;QAED;;;;;;WAMG;QACH,MAAM,KAAK,GAAuD;YAChE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;YACpC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;SACxD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAChB,yBAAyB,CAAC,qBAAqB,CAAC;gBAC9C,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,IAAI,CAAC,IAAI;aACnB,CAAC,CAAC;YAEL,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,gBAAgB,CACxB,WAAW,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,2BAA2B,MAAM,CAAC,WAAW,MAAM,YAAY,iBAAiB,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACjK,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kCAAkC,CAAC,IAI3C;IACC,MAAM,OAAO,GACX,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,8BAA8B,CAC5B,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CACnD,CAAC;IAEJ,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAqC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxE,CAAC,OAA6B,EAAE,EAAE;QAChC,OAAO,CACL,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAClC,OAAO,CAAC,QAAQ,KAAK,eAAe,CAAC,OAAO,CAC7C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,WAAW,QAAQ,CAAC,QAAQ,SAAS,QAAQ,CAAC,QAAQ,oBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,kBAC/B,8JAA8J,CAC/J,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,YAAsB;IAEtB,MAAM,UAAU,GACd,MAAM,gCAAgC,CAAC,WAAW,CAAC;QACjD,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,mBAAmB,EAAE,IAAI;YACzB,gBAAgB,EAAE,IAAI;YACtB,yBAAyB,EAAE,IAAI;YAC/B,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB;;;;eAIG;YACH,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,IAAI;SAC5B;QACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;KACxB,CAAC,CAAC;IAEL,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,YAAY,CAAC,IAK3B;IACC,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,mBAAmB,CAAC,sBAAsB,CAAC;gBAC/C,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;gBACtC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;gBACpC,qBAAqB,EAAE,qBAAqB,CAAC,eAAe;gBAC5D,YAAY,EAAE,SAAS;gBACvB,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,qBAAqB,EAAE;oBACrB,yBAAyB,EAAE,IAAI,CAAC,aAAa;iBAC9C;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAChE,MAAM,gBAAgB,CAAC,mBAAmB,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAChC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;gBACpC,kBAAkB,EAAE,kBAAkB,CAAC,eAAe;gBACtD,YAAY,EAAE,SAAS;gBACvB,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,qBAAqB,EAAE;oBACrB,yBAAyB,EAAE,IAAI,CAAC,aAAa;iBAC9C;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,cAAc,CAAC,iBAAiB,EAChC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAmC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAa,MAAM,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE1E,MAAM,UAAU,GACd,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,+BAA+B,CAAC,SAAS,EAAE,CAAC;YACpE,MAAM,IAAI,gBAAgB,CACxB,6DAA6D,UAAU,CAAC,MAAM,GAAG,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;QAChE,CAAC;QAED;;;;;WAKG;QACH,IACE,UAAU,CAAC,cAAc,KAAK,6BAA6B,CAAC,WAAW,EACvE,CAAC;YACD,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAEtD;;;;;;;;;;eAUG;YACH,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,UAAU,CAAC,SAAS;gBACxB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,QAAQ,EAAE,IAAI;oBACd,qBAAqB,EAAE,IAAI;oBAC3B,wBAAwB,EAAE,IAAI;iBAC/B;gBACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YAEH,IACE,CAAC,OAAO;gBACR,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,OAAO,CAAC,qBAAqB,KAAK,KAAK,EACvC,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,6JAA6J,CAC9J,CAAC;YACJ,CAAC;YAED,IACE,CAAC,yBAAyB,CAAC,UAAU,CAAC;gBACtC,OAAO,CAAC,wBAAwB,KAAK,IAAI,EACzC,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,2JAA2J,CAC5J,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GACR,4BAA4B,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAE7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;YACJ,CAAC;YAED;;;;;eAKG;YACH,MAAM,SAAS,GAAkB,KAAK,CAAC,IAAI,CACzC,IAAI,GAAG,CACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA6B,EAAE,EAAE;gBAClD,OAAO,OAAO,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,CACH,CACF,CAAC;YAEF,MAAM,iBAAiB,GAAuB,IAAI,GAAG,EAGlD,CAAC;YAEJ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC;;;;;;mBAMG;gBACH,MAAM,aAAa,GACjB,MAAM,uBAAuB,CAAC;oBAC5B,IAAI;oBACJ,QAAQ;oBACR,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,iBAAiB;iBAClB,CAAC,CAAC;gBAEL,IAAI,aAAa,EAAE,CAAC;oBAClB,uBAAuB,CAAC;wBACtB,IAAI;wBACJ,QAAQ;wBACR,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAkB,MAAM,aAAa,CAAC,SAAS,CAAC;oBAC1D,KAAK,EAAE;wBACL,GAAG,EAAE,QAAQ;wBACb,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,gBAAgB,EAAE,IAAI;qBACvB;oBACD,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACjD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,gBAAgB,CACxB,sJAAsJ,CACvJ,CAAC;gBACJ,CAAC;gBAED,kCAAkC,CAAC;oBACjC,IAAI;oBACJ,QAAQ;oBACR,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAED;;;;;eAKG;YACH,MAAM,kCAAkC,CAAC;gBACvC,IAAI;gBACJ,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,iBAAiB;aAClB,CAAC,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,gCAAgC,CAAC,uBAAuB,CAAC;gBAC7D,YAAY,EAAE,UAAU,CAAC,EAAG;gBAC5B,UAAU,EAAE,+BAA+B,CAAC,SAAS;gBACrD,GAAG,EAAE;oBACH,MAAM,EAAE,+BAA+B,CAAC,QAAQ;oBAChD,gBAAgB,EAAE,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE;oBAC1C,UAAU,EAAE,aAAa,CAAC,cAAc,EAAE;oBAC1C,kBAAkB,EAAE,iCAAiC,CAAC,OAAO;oBAC7D,sBAAsB,EAAE,aAAa,CAAC,gBAAgB,CACpD,aAAa,CAAC,cAAc,EAAE,EAC9B,UAAU,CAAC,yBAAyB;wBAClC,mCAAmC,CACtC;iBACF;aACF,CAAC,CAAC;YAEL,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,gBAAgB,CACxB,sFAAsF,CACvF,CAAC;YACJ,CAAC;YAED;;;;;eAKG;YACH,mBAAmB,CAAC,mBAAmB,CAAC;gBACtC,YAAY,EAAE,UAAU,CAAC,EAAG;aAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC1B,MAAM,CAAC,KAAK,CACV,+DAA+D,KAAK,EAAE,CACvE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,CAAC;gBACjB,UAAU;gBACV,QAAQ,EAAE,oCAAoC,IAAI,CAAC,QAAQ,CAAC,MAAM,oFAAoF;gBACtJ,MAAM,EAAE,KAAK,CAAC,MAAO;gBACrB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;gBACxC,YAAY,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;gBACvC,MAAM,EAAE,+BAA+B,CAAC,QAAQ;gBAChD,cAAc,EAAE,6BAA6B,CAAC,WAAW;aAC1D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QAED,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtD;;;;;WAKG;QACH,MAAM,OAAO,GACX,MAAM,gCAAgC,CAAC,uBAAuB,CAAC;YAC7D,YAAY,EAAE,UAAU,CAAC,EAAG;YAC5B,UAAU,EAAE,+BAA+B,CAAC,SAAS;YACrD,GAAG,EAAE;gBACH,MAAM,EAAE,+BAA+B,CAAC,QAAQ;gBAChD,gBAAgB,EAAE,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE;gBAC1C,UAAU,EAAE,aAAa,CAAC,cAAc,EAAE;gBAC1C;;;mBAGG;gBACH,kBAAkB,EAAE,iCAAiC,CAAC,OAAO;gBAC7D,sBAAsB,EAAE,aAAa,CAAC,gBAAgB,CACpD,aAAa,CAAC,cAAc,EAAE,EAC9B,UAAU,CAAC,yBAAyB;oBAClC,mCAAmC,CACtC;aACF;SACF,CAAC,CAAC;QAEL,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,MAAM,cAAc,GAAkD,EAAE,CAAC;QACzE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACpD,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC9C,CAAC;QAED;;;;;WAKG;QACH,IAAI,SAAS,GAA4B,IAAI,CAAC;QAC9C,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,wBAAwB,CAAC,eAAe,CAAC;gBACzD,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,OAAO,EAAE,cAAc;gBACvB,iBAAiB,EAAE,KAAK,CAAC,MAAO;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,6DAA6D,KAAK,EAAE,CACrE,CAAC;YACF,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,0DAA0D;YAC1D,MAAM,gCAAgC,CAAC,uBAAuB,CAAC;gBAC7D,YAAY,EAAE,UAAU,CAAC,EAAG;gBAC5B,UAAU,EAAE,+BAA+B,CAAC,QAAQ;gBACpD,GAAG,EAAE;oBACH,MAAM,EAAE,+BAA+B,CAAC,SAAS;iBAClD;aACF,CAAC,CAAC;YACH,MAAM,IAAI,gBAAgB,CACxB,yHAAyH,CAC1H,CAAC;QACJ,CAAC;QAED;;;WAGG;QACH,IAAI,CAAC;YACH,MAAM,gCAAgC,CAAC,aAAa,CAAC;gBACnD,EAAE,EAAE,UAAU,CAAC,EAAG;gBAClB,IAAI,EAAE;oBACJ,kBAAkB,EAAE,SAAS,CAAC,EAAG;iBAClC;gBACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,2EAA2E,KAAK,EAAE,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,CAAC;YACjB,UAAU;YACV,QAAQ,EAAE,yDAAyD,UAAU,CAAC,mBAAmB,IAAI,SAAS,gBAAgB;YAC9H,MAAM,EAAE,KAAK,CAAC,MAAO;YACrB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,YAAY,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;YACvC,MAAM,EAAE,+BAA+B,CAAC,QAAQ;YAChD,kBAAkB,EAAE,SAAS,CAAC,EAAG,CAAC,QAAQ,EAAE;SAC7C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO;IACT,CAAC;AACH,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,cAAc,CAAC,iBAAiB,EAChC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAmC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAa,MAAM,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE1E,MAAM,UAAU,GACd,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAE3C;;;;WAIG;QACH,IAAI,SAAS,GACX,MAAM,gCAAgC,CAAC,uBAAuB,CAAC;YAC7D,YAAY,EAAE,UAAU,CAAC,EAAG;YAC5B,UAAU,EAAE,+BAA+B,CAAC,SAAS;YACrD,GAAG,EAAE;gBACH,MAAM,EAAE,+BAA+B,CAAC,SAAS;gBACjD,iBAAiB,EAAE,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE;gBAC3C,WAAW,EAAE,aAAa,CAAC,cAAc,EAAE;aAC5C;SACF,CAAC,CAAC;QAEL,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,SAAS;gBACP,MAAM,gCAAgC,CAAC,uBAAuB,CAAC;oBAC7D,YAAY,EAAE,UAAU,CAAC,EAAG;oBAC5B,UAAU,EAAE,+BAA+B,CAAC,QAAQ;oBACpD,GAAG,EAAE;wBACH,MAAM,EAAE,+BAA+B,CAAC,SAAS;wBACjD,iBAAiB,EAAE,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE;wBAC3C,WAAW,EAAE,aAAa,CAAC,cAAc,EAAE;qBAC5C;iBACF,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,UAAU,CAAC,MAAM,GAAG,CAC/F,CAAC;QACJ,CAAC;QAED;;;;;;;WAOG;QACH,MAAM,aAAa,GACjB,UAAU,CAAC,cAAc,KAAK,6BAA6B,CAAC,WAAW;YACrE,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,oBAAoB,GAAW,CACnC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,KAAI,EAAE,CAC9B,CAAC,MAAM,CAAC,CAAC,OAA6B,EAAE,EAAE;YACzC,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;QACzC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEV,IAAI,eAAuB,CAAC;QAC5B,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC7B,eAAe,GAAG,oDAAoD,oBAAoB,yKAAyK,CAAC;QACtQ,CAAC;aAAM,IACL,UAAU,CAAC,cAAc,KAAK,6BAA6B,CAAC,WAAW,EACvE,CAAC;YACD,eAAe,GAAG,6FAA6F,CAAC;QAClH,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,0DAA0D,UAAU,CAAC,mBAAmB,IAAI,kBAAkB,oBAAoB,CAAC;QACvJ,CAAC;QAED,MAAM,YAAY,CAAC;YACjB,UAAU;YACV,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,KAAK,CAAC,MAAO;YACrB,aAAa,EAAE,oBAAoB,GAAG,CAAC;SACxC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,YAAY,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;YACvC,MAAM,EAAE,+BAA+B,CAAC,SAAS;SAClD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO;IACT,CAAC;AACH,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"AutoRemediationAPI.js","sourceRoot":"","sources":["../../../../Server/API/AutoRemediationAPI.ts"],"names":[],"mappings":"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"}