@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceAiAgentService.js","sourceRoot":"","sources":["../../../../Server/Services/ResourceAiAgentService.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,11 @@ import KubernetesClusterAiAccessService, { getKubernetesAiAccessTargetId, } from
28
28
  import KubernetesClusterService from "./KubernetesClusterService";
29
29
  import RunbookCredentialService from "./RunbookCredentialService";
30
30
  import RunnerService, { Service as RunnerServiceClass } from "./RunnerService";
31
+ import ResourceAiAccessService, { describeResourceNoun, getResourceAiAgentInstallNextStep, getResourceAiAgentPage, } from "./ResourceAiAccessService";
32
+ import { AI_RESOURCE_TYPE_INFO, isAiResourceType, } from "../../Types/ResourceAiAgent/AiResourceType";
33
+ import { ResourceAiRemediationMode, ResourceCommandTier, parseResourceAiAgentPosture, } from "../../Types/ResourceAiAgent/ResourceAiAccess";
34
+ import ResourceCommandPolicy from "../../Utils/AiRemediation/Resource/ResourceCommandPolicy";
35
+ import { redactResourceCommandOutput } from "../../Utils/AiRemediation/Resource/ResourceOutputRedactor";
31
36
  import QueryHelper from "../Types/Database/QueryHelper";
32
37
  /*
33
38
  * The cluster remediation modes in which a kubectl job for remediation may
@@ -57,6 +62,31 @@ export const MAX_AI_COMMAND_JOBS_PER_PROJECT_PER_HOUR = 30;
57
62
  * ceiling, because every call spends Runner time and LLM budget.
58
63
  */
59
64
  export const MAX_AI_INVESTIGATION_COMMAND_JOBS_PER_PROJECT_PER_HOUR = 240;
65
+ /*
66
+ * The same two brakes for commands on infrastructure resources (Docker,
67
+ * Podman, Swarm, Proxmox, VMware, Ceph, database servers, hosts), counted
68
+ * on their own ResourceCommand rows so a busy hour on one kind of
69
+ * infrastructure never starves the cluster lane, or the other way round.
70
+ */
71
+ export const MAX_AI_INVESTIGATION_RESOURCE_COMMAND_JOBS_PER_PROJECT_PER_HOUR = 240;
72
+ export const MAX_AI_RESOURCE_COMMAND_JOBS_PER_PROJECT_PER_HOUR = 30;
73
+ /*
74
+ * A refusal of the resource command chokepoint. A BadDataException, so
75
+ * every caller that already handles the kubectl chokepoint's refusals
76
+ * handles this one the same way; `refusalCode` says which rule refused it.
77
+ */
78
+ export class ResourceCommandEnqueueRefusedException extends BadDataException {
79
+ constructor(refusalCode, message) {
80
+ super(message);
81
+ this.refusalCode = refusalCode;
82
+ }
83
+ }
84
+ // The resource modes in which a remediation command may be enqueued at all.
85
+ const ENABLED_RESOURCE_REMEDIATION_MODES = [
86
+ ResourceAiRemediationMode.RequireApproval,
87
+ ResourceAiRemediationMode.Automatic,
88
+ ResourceAiRemediationMode.BypassApproval,
89
+ ];
60
90
  import SortOrder from "../../Types/BaseDatabase/SortOrder";
61
91
  import OneUptimeDate from "../../Types/Date";
62
92
  import PostgresAppInstance from "../Infrastructure/PostgresDatabase";
@@ -134,6 +164,10 @@ function keepSurrogatePairOnly(match) {
134
164
  : RUNNER_JOB_UNSTORABLE_CHARACTER_REPLACEMENT;
135
165
  }
136
166
  export function describeRunnerJobTimeout(data) {
167
+ if (data.stepType === RunbookStepType.ResourceCommand &&
168
+ AI_COMMAND_JOB_ORIGINS.includes(data.origin || RunnerJobOrigin.Runbook)) {
169
+ return describeResourceCommandTimeout(data);
170
+ }
137
171
  const isAiKubectl = data.stepType === RunbookStepType.Kubectl &&
138
172
  AI_COMMAND_JOB_ORIGINS.includes(data.origin || RunnerJobOrigin.Runbook);
139
173
  if (!isAiKubectl) {
@@ -171,6 +205,34 @@ export function describeRunnerJobTimeout(data) {
171
205
  function describeSeconds(milliseconds) {
172
206
  return `${Math.max(1, Math.round(milliseconds / 1000))}s`;
173
207
  }
208
+ /*
209
+ * The same three reasons for a command on an infrastructure resource, run
210
+ * by that resource's AI agent: "nobody picked it up" (nothing ran) versus
211
+ * "it was picked up and then went silent" (what it did is unknown), naming
212
+ * the agent ("the Docker AI agent") and the resource ("the Docker host").
213
+ */
214
+ function describeResourceCommandTimeout(data) {
215
+ const agentName = isAiResourceType(data.resourceType)
216
+ ? AI_RESOURCE_TYPE_INFO[data.resourceType].agentDisplayName
217
+ : "resource's AI agent";
218
+ const noun = isAiResourceType(data.resourceType)
219
+ ? describeResourceNoun(data.resourceType)
220
+ : "resource";
221
+ const checkFirst = data.origin === RunnerJobOrigin.AiRemediation
222
+ ? ` Check the ${noun} before running a change again.`
223
+ : "";
224
+ const kind = data.kind === "overall" && data.wasClaimed === false
225
+ ? "unclaimed"
226
+ : data.kind;
227
+ switch (kind) {
228
+ case "unclaimed":
229
+ return `The ${agentName} did not pick up the command in time (within ${describeSeconds(data.claimTimeoutInMs)}) — it may be offline, restarting or busy with other work. Nothing was run on the ${noun}.`;
230
+ case "lease_expired":
231
+ return `The ${agentName} stopped responding while this command was running — it may have restarted or lost its connection. What the command did is unknown.${checkFirst}`;
232
+ default:
233
+ return `The ${agentName} did not report a result for this command in time — the command may have outlived its ${describeSeconds(data.executionTimeoutInMs)} timeout. What the command did is unknown.${checkFirst}`;
234
+ }
235
+ }
174
236
  export class Service extends DatabaseService {
175
237
  constructor() {
176
238
  super(Model);
@@ -385,6 +447,14 @@ export class Service extends DatabaseService {
385
447
  if (data.stepType === RunbookStepType.Kubectl) {
386
448
  throw new BadDataException("Kubectl commands are enqueued through enqueueAiKubectlCommand.");
387
449
  }
450
+ /*
451
+ * A resource command runs on that resource's own AI agent, never on a
452
+ * Runner: this lane would target a Runner (targetAgentId), which must
453
+ * never be handed one.
454
+ */
455
+ if (data.stepType === RunbookStepType.ResourceCommand) {
456
+ throw new BadDataException("Resource commands run on the resource's AI agent, never on a Runner, and are enqueued through enqueueAiResourceCommand.");
457
+ }
388
458
  const command = (data.command || "").trim();
389
459
  if (!command) {
390
460
  throw new BadDataException("An AI command job needs a command.");
@@ -427,12 +497,15 @@ export class Service extends DatabaseService {
427
497
  * approved-plan and rollback paths — not just the FullAuto inline tool
428
498
  * that has its own pre-check for a friendlier message to the model.
429
499
  * Check-then-act, so a burst of concurrent runs can overshoot slightly;
430
- * the cap is a storm brake, not a quota.
500
+ * the cap is a storm brake, not a quota. Resource commands share the
501
+ * table and the origin but have their own brake, so they never count
502
+ * here (see MAX_AI_RESOURCE_COMMAND_JOBS_PER_PROJECT_PER_HOUR).
431
503
  */
432
504
  const jobsInLastHour = (await this.countBy({
433
505
  query: {
434
506
  projectId: data.projectId,
435
507
  origin: RunnerJobOrigin.AiRemediation,
508
+ stepType: QueryHelper.notEquals(RunbookStepType.ResourceCommand),
436
509
  createdAt: QueryHelper.greaterThan(OneUptimeDate.getSomeHoursAgo(1)),
437
510
  },
438
511
  props: { isRoot: true },
@@ -550,14 +623,16 @@ export class Service extends DatabaseService {
550
623
  /*
551
624
  * The access test is bounded by its own route limits instead, and an
552
625
  * investigation's brake counts only rows with an AI run, so tests never
553
- * spend the budget real investigations share.
626
+ * spend the budget real investigations share. Resource commands have
627
+ * their own brake and never count here, so a busy hour on the project's
628
+ * other infrastructure never starves the cluster lane.
554
629
  */
555
630
  if (!isAccessTest) {
556
631
  const hourlyCap = data.origin === RunnerJobOrigin.AiInvestigation
557
632
  ? MAX_AI_INVESTIGATION_COMMAND_JOBS_PER_PROJECT_PER_HOUR
558
633
  : MAX_AI_COMMAND_JOBS_PER_PROJECT_PER_HOUR;
559
634
  const jobsInLastHour = (await this.countBy({
560
- query: Object.assign({ projectId: data.projectId, origin: data.origin, createdAt: QueryHelper.greaterThan(OneUptimeDate.getSomeHoursAgo(1)) }, (data.origin === RunnerJobOrigin.AiInvestigation
635
+ query: Object.assign({ projectId: data.projectId, origin: data.origin, stepType: QueryHelper.notEquals(RunbookStepType.ResourceCommand), createdAt: QueryHelper.greaterThan(OneUptimeDate.getSomeHoursAgo(1)) }, (data.origin === RunnerJobOrigin.AiInvestigation
561
636
  ? { aiRunId: QueryHelper.notNull() }
562
637
  : {})),
563
638
  props: { isRoot: true },
@@ -807,6 +882,243 @@ export class Service extends DatabaseService {
807
882
  }
808
883
  return null;
809
884
  }
885
+ /*
886
+ * Enqueue ONE command OneUptime AI composed for an infrastructure
887
+ * resource — a Docker or Podman host, a Docker Swarm, Proxmox, VMware or
888
+ * Ceph cluster, a database server or a host — for that resource's AI
889
+ * agent (a ResourceAiAgent row, never a Runner).
890
+ *
891
+ * The server-side chokepoint between an LLM's output and a resource, in
892
+ * the order enqueueAiKubectlCommand checks a cluster command:
893
+ *
894
+ * 1. the call itself: a resource type and id, an AI origin, the
895
+ * suggestion a remediation job belongs to, the run an investigation
896
+ * job belongs to (the access test alone has none, and is a read);
897
+ * 2. the resource command policy, re-run whatever the tool layer
898
+ * checked: Denied never enqueues, and an investigation-origin job must
899
+ * be Read tier — an investigation can never write;
900
+ * 3. the project's hourly brake for resource commands (investigations
901
+ * and remediation counted apart, on ResourceCommand rows only);
902
+ * 4. the resource must be this project's;
903
+ * 5. the target is re-resolved NOW: the resource's online agent
904
+ * (ResourceAiAgentService.findOnlineAgentForResource), and the agent
905
+ * the caller named, if any, must still be it;
906
+ * 6. the switch the job needs must still be on: an investigation's reads
907
+ * need the resource's investigation switch (a remediation run's reads
908
+ * its fixes), and a remediation job needs its fixes (mode not
909
+ * Disabled) — so an operator who turns AI off stops an in-flight run
910
+ * at its next command;
911
+ * 7. no credential: the agent uses only its own environment's;
912
+ * 8. the agent's reported posture must be for this resource type and
913
+ * name the identity it registered with (the payload carries it, and
914
+ * the agent refuses a job for any other), and a write must fit it:
915
+ * ONEUPTIME_AI_ALLOW_WRITES on, ONEUPTIME_AI_WRITE_TARGETS and the
916
+ * agent's protected targets respected (ResourceCommandPolicy.
917
+ * getWriteScopeRefusal, the rule the agent itself applies).
918
+ *
919
+ * The command travels as an argv (never a shell line) in a
920
+ * ResourceCommandJobPayload, and the row names the agent in
921
+ * targetResourceAiAgentId, so only that agent can claim it. Every
922
+ * refusal is a ResourceCommandEnqueueRefusedException saying which rule.
923
+ */
924
+ async enqueueAiResourceCommand(data) {
925
+ var _a;
926
+ // 1. The call itself.
927
+ if (!isAiResourceType(data.resourceType)) {
928
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", `A resource command needs a resource type; "${String(data.resourceType)}" is not one.`);
929
+ }
930
+ const info = AI_RESOURCE_TYPE_INFO[data.resourceType];
931
+ const noun = describeResourceNoun(data.resourceType);
932
+ if (!data.resourceId) {
933
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", `resourceId is required for a command on a ${noun}.`);
934
+ }
935
+ if (data.origin !== RunnerJobOrigin.AiInvestigation &&
936
+ data.origin !== RunnerJobOrigin.AiRemediation) {
937
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", `A resource command job cannot have origin "${String(data.origin)}".`);
938
+ }
939
+ if (data.origin === RunnerJobOrigin.AiRemediation &&
940
+ !data.autoRemediationSuggestionId) {
941
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", "A resource remediation job needs its auto-remediation suggestion.");
942
+ }
943
+ const isAccessTest = data.isAccessTest === true;
944
+ if (isAccessTest &&
945
+ (data.origin !== RunnerJobOrigin.AiInvestigation || data.aiRunId)) {
946
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", "An access test is a read-only check with no AI run behind it.");
947
+ }
948
+ if (data.origin === RunnerJobOrigin.AiInvestigation &&
949
+ !isAccessTest &&
950
+ !data.aiRunId) {
951
+ throw new ResourceCommandEnqueueRefusedException("invalid_request", "An investigation resource command job needs the AI run it belongs to.");
952
+ }
953
+ // 2. The policy, whatever the tool layer decided.
954
+ const policy = ResourceCommandPolicy.evaluateCommand({
955
+ resourceType: data.resourceType,
956
+ command: data.command,
957
+ });
958
+ if (policy.tier === ResourceCommandTier.Denied) {
959
+ throw new ResourceCommandEnqueueRefusedException("policy_denied", `Denied by the ${info.displayName} command policy: ${policy.reason}.`);
960
+ }
961
+ if (data.origin === RunnerJobOrigin.AiInvestigation &&
962
+ policy.tier !== ResourceCommandTier.Read) {
963
+ throw new ResourceCommandEnqueueRefusedException("not_read_only", `An investigation may only run read-only commands; "${policy.displayCommand}" would change the ${noun} (${policy.tier}).`);
964
+ }
965
+ // 3. The hourly brake, on resource commands only.
966
+ if (!isAccessTest) {
967
+ const hourlyCap = data.origin === RunnerJobOrigin.AiInvestigation
968
+ ? MAX_AI_INVESTIGATION_RESOURCE_COMMAND_JOBS_PER_PROJECT_PER_HOUR
969
+ : MAX_AI_RESOURCE_COMMAND_JOBS_PER_PROJECT_PER_HOUR;
970
+ const jobsInLastHour = (await this.countBy({
971
+ query: Object.assign({ projectId: data.projectId, origin: data.origin, stepType: RunbookStepType.ResourceCommand, createdAt: QueryHelper.greaterThan(OneUptimeDate.getSomeHoursAgo(1)) }, (data.origin === RunnerJobOrigin.AiInvestigation
972
+ ? { aiRunId: QueryHelper.notNull() }
973
+ : {})),
974
+ props: { isRoot: true },
975
+ })).toNumber();
976
+ if (jobsInLastHour >= hourlyCap) {
977
+ throw new ResourceCommandEnqueueRefusedException("hourly_limit", data.origin === RunnerJobOrigin.AiInvestigation
978
+ ? `This project has run ${jobsInLastHour} AI investigation commands on its infrastructure in the last hour, which is its limit (${hourlyCap}). No further infrastructure commands can run this hour.`
979
+ : `This project has run ${jobsInLastHour} AI remediation commands on its infrastructure in the last hour, which is its limit (${hourlyCap}). No further AI commands can run on its infrastructure this hour.`);
980
+ }
981
+ }
982
+ // 4 + 5. The resource, and the agent it is reached through NOW.
983
+ const loaded = await ResourceAiAccessService.loadAccessTarget({
984
+ projectId: data.projectId,
985
+ resourceType: data.resourceType,
986
+ resourceId: data.resourceId,
987
+ });
988
+ if (!loaded.resource) {
989
+ throw new ResourceCommandEnqueueRefusedException("resource_not_found", `${info.displayName} not found or it does not belong to this project.`);
990
+ }
991
+ const bindingRefusal = Service.getResourceBindingRefusal({
992
+ resource: loaded.resource,
993
+ agent: loaded.agent,
994
+ targetResourceAiAgentId: data.targetResourceAiAgentId,
995
+ credentialId: data.credentialId,
996
+ // 6. The switch this job needs.
997
+ requiredSwitch: await this.getRequiredClusterSwitch({
998
+ projectId: data.projectId,
999
+ origin: data.origin,
1000
+ aiRunId: data.aiRunId,
1001
+ isAccessTest,
1002
+ }),
1003
+ });
1004
+ if (bindingRefusal) {
1005
+ throw new ResourceCommandEnqueueRefusedException(bindingRefusal.code, bindingRefusal.message);
1006
+ }
1007
+ const agent = loaded.agent;
1008
+ const resourceLabel = loaded.resource.name;
1009
+ // 8. The agent's own posture: this resource, and room for the write.
1010
+ const posture = parseResourceAiAgentPosture(agent.posture);
1011
+ const resourceIdentifier = (agent.resourceIdentifier ||
1012
+ (posture === null || posture === void 0 ? void 0 : posture.resourceIdentifier) ||
1013
+ "").trim();
1014
+ if (!posture ||
1015
+ posture.resourceType !== data.resourceType ||
1016
+ !resourceIdentifier) {
1017
+ throw new ResourceCommandEnqueueRefusedException("agent_posture_mismatch", `The ${info.agentDisplayName} has not reported that it serves ${noun} "${resourceLabel}", so this command was not enqueued. Wait for its next report (within a minute), or reset the agent on ${getResourceAiAgentPage(data.resourceType)}.`);
1018
+ }
1019
+ if (policy.tier !== ResourceCommandTier.Read) {
1020
+ const scopeRefusal = ResourceCommandPolicy.getWriteScopeRefusal({
1021
+ result: policy,
1022
+ allowWrites: posture.allowWrites === true,
1023
+ writeTargets: posture.writeTargets,
1024
+ protectedTargets: posture.protectedTargets,
1025
+ resourceType: data.resourceType,
1026
+ });
1027
+ if (scopeRefusal) {
1028
+ throw new ResourceCommandEnqueueRefusedException("write_scope", `${scopeRefusal} It was not enqueued.`);
1029
+ }
1030
+ }
1031
+ const claimDeadlineAt = OneUptimeDate.addRemoveSeconds(OneUptimeDate.getCurrentDate(), Math.ceil(((_a = data.claimTimeoutInMs) !== null && _a !== void 0 ? _a : DEFAULT_CLAIM_TIMEOUT_MS) / 1000));
1032
+ const payload = {
1033
+ resourceType: data.resourceType,
1034
+ resourceId: loaded.resource.id.toString(),
1035
+ resourceIdentifier,
1036
+ program: policy.program,
1037
+ args: policy.args,
1038
+ displayCommand: policy.displayCommand,
1039
+ tier: policy.tier,
1040
+ };
1041
+ const row = new Model();
1042
+ row.projectId = data.projectId;
1043
+ row.origin = data.origin;
1044
+ if (data.aiRunId) {
1045
+ row.aiRunId = data.aiRunId;
1046
+ }
1047
+ if (data.autoRemediationSuggestionId) {
1048
+ row.autoRemediationSuggestionId = data.autoRemediationSuggestionId;
1049
+ }
1050
+ row.stepId = data.stepId;
1051
+ row.stepType = RunbookStepType.ResourceCommand;
1052
+ /*
1053
+ * The one target: the resource's agent row. targetAgentId (a Runner)
1054
+ * and targetKubernetesAiAgentId stay empty, so no Runner and no
1055
+ * Kubernetes AI agent can ever claim it.
1056
+ */
1057
+ row.targetResourceAiAgentId = agent.id;
1058
+ row.resourceType = data.resourceType;
1059
+ row.resourceId = loaded.resource.id;
1060
+ row.script = "";
1061
+ row.payload = payload;
1062
+ row.timeoutInMs = data.timeoutInMs;
1063
+ row.status = RunnerJobStatus.Pending;
1064
+ row.claimDeadlineAt = claimDeadlineAt;
1065
+ return this.create({ data: row, props: { isRoot: true } });
1066
+ }
1067
+ /*
1068
+ * Why a resource command may NOT be enqueued for this resource as it is
1069
+ * configured right now, or null when it may. Pure, so the rule reads in
1070
+ * one place: the resource must have an online agent (the one the caller
1071
+ * named, when it named one) that is this resource's, the switch the job
1072
+ * needs must still be on, and no credential may travel with it.
1073
+ */
1074
+ static getResourceBindingRefusal(data) {
1075
+ var _a, _b;
1076
+ const { resource, agent } = data;
1077
+ const info = AI_RESOURCE_TYPE_INFO[resource.resourceType];
1078
+ const noun = describeResourceNoun(resource.resourceType);
1079
+ const label = resource.name;
1080
+ if (!agent || !agent.id) {
1081
+ return {
1082
+ code: "agent_not_online",
1083
+ message: `${noun.charAt(0).toUpperCase()}${noun.slice(1)} "${label}" has no online ${info.agentDisplayName}, so this command was not enqueued. ${getResourceAiAgentInstallNextStep({
1084
+ resourceType: resource.resourceType,
1085
+ resourceId: resource.id.toString(),
1086
+ identifier: resource.identifier,
1087
+ })} Already installed? Check that its container is running and can reach your OneUptime URL.`,
1088
+ };
1089
+ }
1090
+ if (((_a = agent.projectId) === null || _a === void 0 ? void 0 : _a.toString()) !== resource.projectId.toString() ||
1091
+ agent.resourceType !== resource.resourceType ||
1092
+ ((_b = agent.resourceId) === null || _b === void 0 ? void 0 : _b.toString()) !== resource.id.toString() ||
1093
+ (data.targetResourceAiAgentId &&
1094
+ data.targetResourceAiAgentId.toString() !== agent.id.toString())) {
1095
+ return {
1096
+ code: "agent_changed",
1097
+ message: `${noun.charAt(0).toUpperCase()}${noun.slice(1)} "${label}" is no longer reached through this ${info.agentDisplayName} (the agent was reset or replaced), so this command was not enqueued.`,
1098
+ };
1099
+ }
1100
+ if (data.requiredSwitch === "investigation" &&
1101
+ resource.isAiInvestigationEnabled !== true) {
1102
+ return {
1103
+ code: "switch_off",
1104
+ message: `AI investigation is turned off for ${noun} "${label}", so this investigation command was not enqueued.`,
1105
+ };
1106
+ }
1107
+ if (data.requiredSwitch === "remediation" &&
1108
+ !ENABLED_RESOURCE_REMEDIATION_MODES.includes(resource.aiRemediationMode)) {
1109
+ return {
1110
+ code: "switch_off",
1111
+ message: `AI fixes are turned off for ${noun} "${label}", so this command was not enqueued.`,
1112
+ };
1113
+ }
1114
+ if (data.credentialId) {
1115
+ return {
1116
+ code: "credential_refused",
1117
+ message: `${noun.charAt(0).toUpperCase()}${noun.slice(1)} "${label}" is reached through its ${info.agentDisplayName}, which uses only the credentials in its own environment and is never given one by OneUptime, so a command that names a credential was not enqueued.`,
1118
+ };
1119
+ }
1120
+ return null;
1121
+ }
810
1122
  /*
811
1123
  * The job this (execution, step) pair already produced, if any.
812
1124
  *
@@ -982,6 +1294,21 @@ export class Service extends DatabaseService {
982
1294
  return ToolResultSerializer.redact(KubectlOutputRedactor.redact(text).text)
983
1295
  .text;
984
1296
  }
1297
+ /*
1298
+ * A resource command's text through the resource command redactor (the
1299
+ * program's own rules, then the generic ones), or the text unchanged
1300
+ * when it is not one. Pure; redactAiJobText still runs after it.
1301
+ */
1302
+ static redactResourceCommandText(text, resourceCommand) {
1303
+ if (!resourceCommand) {
1304
+ return text;
1305
+ }
1306
+ return redactResourceCommandOutput({
1307
+ resourceType: resourceCommand.resourceType,
1308
+ program: resourceCommand.program,
1309
+ text,
1310
+ });
1311
+ }
985
1312
  /*
986
1313
  * A Runner's text as a Postgres text column can hold it. A NUL byte is
987
1314
  * ordinary in what a Runner reports — `kubectl logs` of a log that was
@@ -1024,10 +1351,12 @@ export class Service extends DatabaseService {
1024
1351
  * write stay one atomic step (and one round trip): the CASE picks the
1025
1352
  * redacted text for an AI-origin row and the verbatim text otherwise.
1026
1353
  */
1027
- const redactedOutput = rawOutput === null ? null : Service.redactAiJobText(rawOutput);
1354
+ const redactedOutput = rawOutput === null
1355
+ ? null
1356
+ : Service.redactAiJobText(Service.redactResourceCommandText(rawOutput, data.resourceCommand));
1028
1357
  const redactedErrorMessage = rawErrorMessage === null
1029
1358
  ? null
1030
- : Service.redactAiJobText(rawErrorMessage);
1359
+ : Service.redactAiJobText(Service.redactResourceCommandText(rawErrorMessage, data.resourceCommand));
1031
1360
  /*
1032
1361
  * Only the agent that holds the lease is allowed to write the terminal
1033
1362
  * result. If the lease has already moved on (Worker timed out and
@@ -1100,6 +1429,9 @@ export class Service extends DatabaseService {
1100
1429
  origin: true,
1101
1430
  stepType: true,
1102
1431
  targetKubernetesAiAgentId: true,
1432
+ // A resource command names its resource's AI agent.
1433
+ targetResourceAiAgentId: true,
1434
+ resourceType: true,
1103
1435
  },
1104
1436
  props: { isRoot: true },
1105
1437
  });
@@ -1138,6 +1470,7 @@ export class Service extends DatabaseService {
1138
1470
  claimTimeoutInMs: data.claimTimeoutInMs,
1139
1471
  executionTimeoutInMs: data.executionTimeoutInMs,
1140
1472
  isForKubernetesAiAgent: Boolean(job.targetKubernetesAiAgentId),
1473
+ resourceType: job.resourceType,
1141
1474
  }),
1142
1475
  });
1143
1476
  }
@@ -1241,6 +1574,12 @@ __decorate([
1241
1574
  __metadata("design:paramtypes", [Object]),
1242
1575
  __metadata("design:returntype", Promise)
1243
1576
  ], Service.prototype, "enqueueAiKubectlCommand", null);
1577
+ __decorate([
1578
+ CaptureSpan(),
1579
+ __metadata("design:type", Function),
1580
+ __metadata("design:paramtypes", [Object]),
1581
+ __metadata("design:returntype", Promise)
1582
+ ], Service.prototype, "enqueueAiResourceCommand", null);
1244
1583
  __decorate([
1245
1584
  CaptureSpan(),
1246
1585
  __metadata("design:type", Function),