@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
@@ -24,16 +24,24 @@ import ScheduledMaintenance from "../../../../../Models/DatabaseModels/Scheduled
24
24
  import ScheduledMaintenanceInternalNoteService from "../../../../Services/ScheduledMaintenanceInternalNoteService";
25
25
  import ScheduledMaintenancePublicNoteService from "../../../../Services/ScheduledMaintenancePublicNoteService";
26
26
  import ScheduledMaintenanceStateService from "../../../../Services/ScheduledMaintenanceStateService";
27
- import MonitorService from "../../../../Services/MonitorService";
28
27
  import Monitor from "../../../../../Models/DatabaseModels/Monitor";
29
- import MonitorStatusService from "../../../../Services/MonitorStatusService";
30
- import LabelService from "../../../../Services/LabelService";
31
28
  import Label from "../../../../../Models/DatabaseModels/Label";
32
- import SortOrder from "../../../../../Types/BaseDatabase/SortOrder";
33
- import { LIMIT_PER_PROJECT } from "../../../../../Types/Database/LimitMax";
34
29
  import BadDataException from "../../../../../Types/Exception/BadDataException";
35
30
  import OneUptimeDate from "../../../../../Types/Date";
31
+ import ColumnLength from "../../../../../Types/Database/ColumnLength";
32
+ import { truncateToLength } from "../../../Database/TruncateColumnValue";
36
33
  import WorkspaceProjectReferenceValidator from "../../WorkspaceProjectReferenceValidator";
34
+ import MicrosoftTeamsCardChoices from "../MicrosoftTeamsCardChoices";
35
+ import { MICROSOFT_TEAMS_CARD_SIZE_BUDGETS_IN_BYTES } from "../MicrosoftTeamsMessageSize";
36
+ import MicrosoftTeamsReplies from "../MicrosoftTeamsReplies";
37
+ import MicrosoftTeamsTimezone from "../MicrosoftTeamsTimezone";
38
+ // ScheduledMaintenance.title is a ShortText column.
39
+ const MICROSOFT_TEAMS_SCHEDULED_MAINTENANCE_TITLE_MAX_LENGTH = ColumnLength.ShortText;
40
+ /*
41
+ * Input.Time has minute precision, so "start now" is already a minute or two
42
+ * in the past once the form is filled in. A start this recent begins now.
43
+ */
44
+ const MICROSOFT_TEAMS_MAINTENANCE_START_GRACE_IN_MINUTES = 5;
37
45
  export default class MicrosoftTeamsScheduledMaintenanceActions {
38
46
  static isScheduledMaintenanceAction(data) {
39
47
  return (data.actionType.includes("scheduled-maintenance") ||
@@ -100,8 +108,8 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
100
108
  if (actionType ===
101
109
  MicrosoftTeamsScheduledMaintenanceActionType.SubmitNewScheduledMaintenance) {
102
110
  // Handle new scheduled maintenance submission
103
- const title = actionPayload["scheduledMaintenanceTitle"] || "";
104
- const description = actionPayload["scheduledMaintenanceDescription"] || "";
111
+ const title = (actionPayload["scheduledMaintenanceTitle"] || "").trim();
112
+ const description = (actionPayload["scheduledMaintenanceDescription"] || "").trim();
105
113
  const startDate = actionPayload["startDate"] || "";
106
114
  const startTime = actionPayload["startTime"] || "";
107
115
  const endDate = actionPayload["endDate"] || "";
@@ -122,50 +130,100 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
122
130
  await turnContext.sendActivity("Unable to create scheduled maintenance: missing user or project information.");
123
131
  return;
124
132
  }
133
+ if (title.length > MICROSOFT_TEAMS_SCHEDULED_MAINTENANCE_TITLE_MAX_LENGTH) {
134
+ await turnContext.sendActivity(`Unable to create scheduled maintenance: the title can be at most ${MICROSOFT_TEAMS_SCHEDULED_MAINTENANCE_TITLE_MAX_LENGTH} characters.`);
135
+ return;
136
+ }
125
137
  await WorkspaceActionAuthorization.assertCanCreate({
126
138
  props: databaseProps,
127
139
  modelType: ScheduledMaintenance,
128
140
  action: "create a scheduled maintenance event",
129
141
  });
130
- try {
131
- // Create the scheduled maintenance
132
- const scheduledMaintenanceObj = new ScheduledMaintenance();
133
- scheduledMaintenanceObj.title = title;
134
- scheduledMaintenanceObj.description = description;
135
- scheduledMaintenanceObj.projectId = request.projectId;
136
- scheduledMaintenanceObj.createdByUserId = new ObjectID(request.userId);
137
- // Combine date and time for start and end
138
- const startDateTime = `${startDate}T${startTime}`;
139
- const endDateTime = `${endDate}T${endTime}`;
140
- scheduledMaintenanceObj.startsAt =
141
- OneUptimeDate.fromString(startDateTime);
142
- scheduledMaintenanceObj.endsAt =
143
- OneUptimeDate.fromString(endDateTime);
144
- const createdScheduledMaintenance = await this.createScheduledMaintenanceInProject({
145
- scheduledMaintenance: scheduledMaintenanceObj,
146
- projectId: request.projectId,
147
- monitorIds,
148
- monitorStatusId,
149
- labelIds,
150
- });
151
- // Hide the form card by deleting it first
152
- if (turnContext.activity.replyToId) {
153
- await turnContext.deleteActivity(turnContext.activity.replyToId);
142
+ /*
143
+ * The card submits a bare date and time. They mean the time on the
144
+ * user's clock, so they are read in the user's Teams time zone (see
145
+ * MicrosoftTeamsTimezone), not in the server's.
146
+ */
147
+ const timezone = MicrosoftTeamsTimezone.resolve({
148
+ activity: turnContext.activity,
149
+ timezoneFromCard: actionPayload["timezone"],
150
+ });
151
+ let startsAt = MicrosoftTeamsTimezone.toDate({
152
+ date: startDate,
153
+ time: startTime,
154
+ timezone: timezone,
155
+ });
156
+ const endsAt = MicrosoftTeamsTimezone.toDate({
157
+ date: endDate,
158
+ time: endTime,
159
+ timezone: timezone,
160
+ });
161
+ if (!startsAt || !endsAt) {
162
+ await turnContext.sendActivity("Unable to create scheduled maintenance: the start or end date and time could not be read. Please pick them again.");
163
+ return;
164
+ }
165
+ if (!OneUptimeDate.isInTheFuture(startsAt)) {
166
+ const earliestStart = OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), -MICROSOFT_TEAMS_MAINTENANCE_START_GRACE_IN_MINUTES);
167
+ if (OneUptimeDate.isBefore(startsAt, earliestStart)) {
168
+ await turnContext.sendActivity(`Unable to create scheduled maintenance: the start time (${MicrosoftTeamsTimezone.format(startsAt, timezone)}) is in the past.`);
169
+ return;
154
170
  }
155
- // Get the scheduled maintenance link
156
- const maintenanceLink = await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(createdScheduledMaintenance.projectId, createdScheduledMaintenance.id);
157
- // Send confirmation message as a new message in the thread
158
- await turnContext.sendActivity(`✅ Scheduled maintenance created successfully!\n\nView scheduled maintenance: ${maintenanceLink.toString()}`);
171
+ // A start picked for "now" that has just gone by: start now.
172
+ startsAt = OneUptimeDate.getCurrentDate();
173
+ }
174
+ if (!OneUptimeDate.isAfter(endsAt, startsAt)) {
175
+ await turnContext.sendActivity(`Unable to create scheduled maintenance: the end time (${MicrosoftTeamsTimezone.format(endsAt, timezone)}) must be after the start time (${MicrosoftTeamsTimezone.format(startsAt, timezone)}).`);
159
176
  return;
160
177
  }
178
+ const scheduledMaintenanceObj = new ScheduledMaintenance();
179
+ scheduledMaintenanceObj.title = title;
180
+ scheduledMaintenanceObj.description = description;
181
+ scheduledMaintenanceObj.projectId = request.projectId;
182
+ scheduledMaintenanceObj.createdByUserId = new ObjectID(request.userId);
183
+ scheduledMaintenanceObj.startsAt = startsAt;
184
+ scheduledMaintenanceObj.endsAt = endsAt;
185
+ let createdScheduledMaintenance;
186
+ try {
187
+ createdScheduledMaintenance =
188
+ await this.createScheduledMaintenanceInProject({
189
+ scheduledMaintenance: scheduledMaintenanceObj,
190
+ projectId: request.projectId,
191
+ monitorIds,
192
+ monitorStatusId,
193
+ labelIds,
194
+ });
195
+ }
161
196
  catch (error) {
162
- logger.error("Error creating scheduled maintenance from Microsoft Teams:", {
197
+ MicrosoftTeamsReplies.logFailure("Could not create a scheduled maintenance event from Microsoft Teams", error, {
163
198
  projectId: request.projectId.toString(),
164
199
  });
165
- logger.error(error);
166
- await turnContext.sendActivity("❌ Failed to create scheduled maintenance. Please try again.");
200
+ const reason = MicrosoftTeamsReplies.getUserFacingErrorMessage(error);
201
+ const createInOneUptimeUrl = reason
202
+ ? null
203
+ : await MicrosoftTeamsReplies.getDashboardLink({
204
+ projectId: request.projectId,
205
+ route: "/scheduled-maintenance-events/create",
206
+ });
207
+ await MicrosoftTeamsReplies.sendBestEffort(turnContext, reason
208
+ ? `❌ Could not create the scheduled maintenance event: ${reason}`
209
+ : `❌ Could not create the scheduled maintenance event because of an unexpected error. Please try again, or create it in OneUptime${createInOneUptimeUrl ? `: ${createInOneUptimeUrl}` : "."}`);
167
210
  return;
168
211
  }
212
+ /*
213
+ * The event exists from here on, so nothing below may report the
214
+ * create as failed: a user told it failed submits again and gets a
215
+ * second event. The confirmation goes first; removing the submitted
216
+ * form is a courtesy.
217
+ */
218
+ await MicrosoftTeamsReplies.sendBestEffort(turnContext, await this.getScheduledMaintenanceCreatedMessage({
219
+ scheduledMaintenance: createdScheduledMaintenance,
220
+ projectId: request.projectId,
221
+ startsAt: startsAt,
222
+ endsAt: endsAt,
223
+ timezone: timezone,
224
+ }));
225
+ await MicrosoftTeamsReplies.deleteBestEffort(turnContext, turnContext.activity.replyToId);
226
+ return;
169
227
  }
170
228
  // For all other actions, we need an existing scheduled maintenance ID
171
229
  const scheduledMaintenanceId = actionPayload["scheduledMaintenanceId"];
@@ -315,11 +373,12 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
315
373
  userId: new ObjectID(request.userId),
316
374
  });
317
375
  }
318
- await turnContext.sendActivity("Note added successfully");
319
- // Hide the form card by deleting it
320
- if (turnContext.activity.replyToId) {
321
- await turnContext.deleteActivity(turnContext.activity.replyToId);
322
- }
376
+ await MicrosoftTeamsReplies.sendBestEffort(turnContext, "Note added successfully");
377
+ /*
378
+ * The action is done: a refused reply or a failed delete of the
379
+ * form must not read as a failed action, which invites a repeat.
380
+ */
381
+ await MicrosoftTeamsReplies.deleteBestEffort(turnContext, turnContext.activity.replyToId);
323
382
  break;
324
383
  }
325
384
  case MicrosoftTeamsScheduledMaintenanceActionType.ViewChangeScheduledMaintenanceState:
@@ -354,11 +413,12 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
354
413
  isRoot: true,
355
414
  },
356
415
  });
357
- await turnContext.sendActivity("ScheduledMaintenance state changed successfully");
358
- // Hide the form card by deleting it
359
- if (turnContext.activity.replyToId) {
360
- await turnContext.deleteActivity(turnContext.activity.replyToId);
361
- }
416
+ await MicrosoftTeamsReplies.sendBestEffort(turnContext, "ScheduledMaintenance state changed successfully");
417
+ /*
418
+ * The action is done: a refused reply or a failed delete of the
419
+ * form must not read as a failed action, which invites a repeat.
420
+ */
421
+ await MicrosoftTeamsReplies.deleteBestEffort(turnContext, turnContext.activity.replyToId);
362
422
  break;
363
423
  }
364
424
  default:
@@ -565,11 +625,31 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
565
625
  logger.error(error);
566
626
  }
567
627
  }
628
+ /*
629
+ * The confirmation: when the event starts and ends in the user's time zone
630
+ * (so a wrong zone shows at once), and a link to it when one can be built.
631
+ */
632
+ static async getScheduledMaintenanceCreatedMessage(data) {
633
+ let message = `✅ Scheduled maintenance created successfully!\n\n**Starts:** ${MicrosoftTeamsTimezone.format(data.startsAt, data.timezone)}\n\n**Ends:** ${MicrosoftTeamsTimezone.format(data.endsAt, data.timezone)}`;
634
+ if (MicrosoftTeamsTimezone.isUtcOffsetOnly(data.timezone)) {
635
+ message += `\n\nMicrosoft Teams did not say which time zone you are in, so these times were read at your current offset, ${data.timezone.label}. If daylight saving time changes before then, check them in OneUptime.`;
636
+ }
637
+ if (data.scheduledMaintenance.id) {
638
+ try {
639
+ const maintenanceLink = await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(data.scheduledMaintenance.projectId || data.projectId, data.scheduledMaintenance.id);
640
+ message += `\n\nView scheduled maintenance: ${maintenanceLink.toString()}`;
641
+ }
642
+ catch (error) {
643
+ logger.debug("Could not build the link to a new scheduled maintenance event");
644
+ logger.debug(error);
645
+ }
646
+ }
647
+ return message;
648
+ }
568
649
  /*
569
650
  * Every id below comes from the submitted card, not from the form we sent,
570
- * and the writes run as root. So they are checked against the linked project
571
- * before anything is created, and the monitor status write is scoped to that
572
- * project as well.
651
+ * and the event is created as root. So they are checked against the linked
652
+ * project before anything is created.
573
653
  */
574
654
  static async createScheduledMaintenanceInProject(data) {
575
655
  var _a, _b;
@@ -600,6 +680,17 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
600
680
  return label;
601
681
  });
602
682
  }
683
+ /*
684
+ * ScheduledMaintenanceService moves the event's monitors to this status
685
+ * when the event starts, and back when it ends, with status timeline
686
+ * entries, as for an event scheduled in the dashboard or from Slack. Teams
687
+ * used to write currentMonitorStatusId on the monitors directly, the
688
+ * moment the event was created, however far off it was, and nothing ever
689
+ * moved them back.
690
+ */
691
+ if (monitorStatusId) {
692
+ scheduledMaintenance.changeMonitorStatusToId = monitorStatusId;
693
+ }
603
694
  // Save the scheduled maintenance
604
695
  const createdScheduledMaintenance = await ScheduledMaintenanceService.create({
605
696
  data: scheduledMaintenance,
@@ -612,104 +703,62 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
612
703
  projectId: projectId.toString(),
613
704
  scheduledMaintenanceId: (_b = createdScheduledMaintenance.id) === null || _b === void 0 ? void 0 : _b.toString(),
614
705
  });
615
- // Update monitor status if specified
616
- if (monitorStatusId) {
617
- for (const monitorId of monitorIdArray) {
618
- await MonitorService.updateOneBy({
619
- query: {
620
- _id: monitorId.toString(),
621
- projectId: projectId,
622
- },
623
- data: {
624
- currentMonitorStatusId: monitorStatusId,
625
- },
626
- props: {
627
- isRoot: true,
628
- },
629
- });
630
- }
631
- }
632
706
  return createdScheduledMaintenance;
633
707
  }
634
- static async buildNewScheduledMaintenanceCard(projectId) {
635
- // Fetch monitors
636
- const monitors = await MonitorService.findBy({
637
- query: {
638
- projectId: projectId,
639
- },
640
- select: {
641
- name: true,
642
- },
643
- props: {
644
- isRoot: true,
645
- },
646
- limit: LIMIT_PER_PROJECT,
647
- skip: 0,
648
- });
649
- const monitorChoices = monitors
650
- .map((monitor) => {
651
- var _a;
652
- return {
653
- title: monitor.name || "",
654
- value: ((_a = monitor._id) === null || _a === void 0 ? void 0 : _a.toString()) || "",
655
- };
656
- })
657
- .filter((choice) => {
658
- return choice.title && choice.value;
659
- });
660
- // Fetch monitor statuses
661
- const monitorStatuses = await MonitorStatusService.findBy({
662
- query: {
663
- projectId: projectId,
664
- },
665
- select: {
666
- name: true,
667
- },
668
- props: {
669
- isRoot: true,
670
- },
671
- sort: {
672
- priority: SortOrder.Ascending,
673
- },
674
- limit: LIMIT_PER_PROJECT,
675
- skip: 0,
676
- });
677
- const monitorStatusChoices = monitorStatuses
678
- .map((status) => {
679
- var _a;
680
- return {
681
- title: status.name || "",
682
- value: ((_a = status._id) === null || _a === void 0 ? void 0 : _a.toString()) || "",
683
- };
684
- })
685
- .filter((choice) => {
686
- return choice.title && choice.value;
708
+ // Every list the "Create New Scheduled Maintenance" card offers.
709
+ static async getNewScheduledMaintenanceFormChoices(projectId) {
710
+ const [monitors, monitorStatuses, labels] = await Promise.all([
711
+ MicrosoftTeamsCardChoices.getMonitorChoices(projectId),
712
+ MicrosoftTeamsCardChoices.getMonitorStatusChoices(projectId),
713
+ MicrosoftTeamsCardChoices.getLabelChoices(projectId),
714
+ ]);
715
+ return {
716
+ monitors: monitors,
717
+ monitorStatuses: monitorStatuses,
718
+ labels: labels,
719
+ };
720
+ }
721
+ /*
722
+ * The "Create New Scheduled Maintenance" card for a project, fitted to the
723
+ * first size budget. The bot itself sends the card through
724
+ * MicrosoftTeamsCreateCommands, which also tries the smaller budgets.
725
+ */
726
+ static async buildNewScheduledMaintenanceCard(projectId, options) {
727
+ return this.buildNewScheduledMaintenanceCardForBudget({
728
+ choices: await this.getNewScheduledMaintenanceFormChoices(projectId),
729
+ budgetInBytes: MICROSOFT_TEAMS_CARD_SIZE_BUDGETS_IN_BYTES[0],
730
+ initialTitle: options === null || options === void 0 ? void 0 : options.initialTitle,
731
+ timezone: options === null || options === void 0 ? void 0 : options.timezone,
687
732
  });
688
- // Fetch labels
689
- const labels = await LabelService.findBy({
690
- query: {
691
- projectId: projectId,
692
- },
693
- select: {
694
- name: true,
695
- },
696
- props: {
697
- isRoot: true,
733
+ }
734
+ /*
735
+ * The "Create New Scheduled Maintenance" card with its monitor and label
736
+ * lists shortened until it fits the budget (issue #4111: listing all of
737
+ * them made Teams refuse the card). `timezone` is the IANA zone the user
738
+ * asked from, when Teams told us; it is named on the card and travels in
739
+ * the submit data.
740
+ */
741
+ static buildNewScheduledMaintenanceCardForBudget(data) {
742
+ return MicrosoftTeamsCardChoices.fitCardToBudget({
743
+ lists: data.choices,
744
+ trimmableKeys: ["monitors", "labels"],
745
+ budgetInBytes: data.budgetInBytes,
746
+ buildCard: (shown) => {
747
+ return this.buildNewScheduledMaintenanceCardBody({
748
+ shown: shown,
749
+ initialTitle: data.initialTitle,
750
+ createInOneUptimeUrl: data.createInOneUptimeUrl,
751
+ timezone: data.timezone,
752
+ });
698
753
  },
699
- limit: LIMIT_PER_PROJECT,
700
- skip: 0,
701
- });
702
- const labelChoices = labels
703
- .map((label) => {
704
- var _a;
705
- return {
706
- title: label.name || "",
707
- value: ((_a = label._id) === null || _a === void 0 ? void 0 : _a.toString()) || "",
708
- };
709
- })
710
- .filter((choice) => {
711
- return choice.title && choice.value;
712
- });
754
+ }).card;
755
+ }
756
+ static buildNewScheduledMaintenanceCardBody(data) {
757
+ const { shown } = data;
758
+ const initialTitle = (data.initialTitle || "").trim();
759
+ const timezone = MicrosoftTeamsTimezone.getKnownTimezone(data.timezone);
760
+ let isAnythingLeftOff = false;
761
+ const addLaterHint = "You can add them to the event in OneUptime after it is created.";
713
762
  // Build the card
714
763
  const bodyElements = [
715
764
  {
@@ -718,13 +767,11 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
718
767
  size: "Large",
719
768
  weight: "Bolder",
720
769
  },
721
- {
722
- type: "Input.Text",
723
- id: "scheduledMaintenanceTitle",
724
- label: "Event Title",
725
- placeholder: "Enter maintenance event title",
726
- isRequired: true,
727
- },
770
+ Object.assign({ type: "Input.Text", id: "scheduledMaintenanceTitle", label: "Event Title", placeholder: "Enter maintenance event title", isRequired: true, maxLength: MICROSOFT_TEAMS_SCHEDULED_MAINTENANCE_TITLE_MAX_LENGTH }, (initialTitle
771
+ ? {
772
+ value: truncateToLength(initialTitle, MICROSOFT_TEAMS_SCHEDULED_MAINTENANCE_TITLE_MAX_LENGTH),
773
+ }
774
+ : {})),
728
775
  {
729
776
  type: "Input.Text",
730
777
  id: "scheduledMaintenanceDescription",
@@ -733,6 +780,9 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
733
780
  isMultiline: true,
734
781
  isRequired: true,
735
782
  },
783
+ MicrosoftTeamsCardChoices.buildNoteElement(timezone
784
+ ? `Start and end times are in ${timezone}.`
785
+ : "Start and end times are in the time zone Microsoft Teams reports for you, or in UTC if it does not report one."),
736
786
  {
737
787
  type: "Input.Date",
738
788
  id: "startDate",
@@ -758,52 +808,68 @@ export default class MicrosoftTeamsScheduledMaintenanceActions {
758
808
  isRequired: true,
759
809
  },
760
810
  ];
811
+ const addNotShownNote = (list, pluralNoun) => {
812
+ const note = MicrosoftTeamsCardChoices.buildNotShownNoteElement({
813
+ list: list,
814
+ pluralNoun: pluralNoun,
815
+ addLaterHint: addLaterHint,
816
+ });
817
+ if (note) {
818
+ isAnythingLeftOff = true;
819
+ bodyElements.push(note);
820
+ }
821
+ };
761
822
  // Add monitor multi-select if we have monitors
762
- if (monitorChoices.length > 0) {
823
+ if (shown.monitors.choices.length > 0) {
763
824
  bodyElements.push({
764
825
  type: "Input.ChoiceSet",
765
826
  id: "scheduledMaintenanceMonitors",
766
827
  label: "Affected Monitors (Optional)",
767
828
  style: "compact",
768
829
  isMultiSelect: true,
769
- choices: monitorChoices,
830
+ choices: shown.monitors.choices,
770
831
  });
771
832
  }
833
+ addNotShownNote(shown.monitors, "monitors");
772
834
  // Add monitor status dropdown if we have statuses and monitors
773
- if (monitorStatusChoices.length > 0 && monitorChoices.length > 0) {
835
+ if (shown.monitorStatuses.choices.length > 0 &&
836
+ shown.monitors.choices.length > 0) {
774
837
  bodyElements.push({
775
838
  type: "Input.ChoiceSet",
776
839
  id: "monitorStatus",
777
840
  label: "Change Monitor Status To (Optional)",
778
841
  style: "compact",
779
- choices: monitorStatusChoices,
842
+ choices: shown.monitorStatuses.choices,
780
843
  });
781
844
  }
782
845
  // Add labels multi-select if we have labels
783
- if (labelChoices.length > 0) {
846
+ if (shown.labels.choices.length > 0) {
784
847
  bodyElements.push({
785
848
  type: "Input.ChoiceSet",
786
849
  id: "labels",
787
850
  label: "Labels (Optional)",
788
851
  style: "compact",
789
852
  isMultiSelect: true,
790
- choices: labelChoices,
853
+ choices: shown.labels.choices,
791
854
  });
792
855
  }
856
+ addNotShownNote(shown.labels, "labels");
857
+ const actions = [
858
+ {
859
+ type: "Action.Submit",
860
+ title: "Create Maintenance Event",
861
+ data: Object.assign({ action: MicrosoftTeamsScheduledMaintenanceActionType.SubmitNewScheduledMaintenance }, (timezone ? { timezone: timezone } : {})),
862
+ },
863
+ ];
864
+ if (isAnythingLeftOff && data.createInOneUptimeUrl) {
865
+ actions.push(MicrosoftTeamsCardChoices.buildCreateInOneUptimeAction(data.createInOneUptimeUrl));
866
+ }
793
867
  return {
794
868
  type: "AdaptiveCard",
795
869
  $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
796
870
  version: "1.5",
797
871
  body: bodyElements,
798
- actions: [
799
- {
800
- type: "Action.Submit",
801
- title: "Create Maintenance Event",
802
- data: {
803
- action: MicrosoftTeamsScheduledMaintenanceActionType.SubmitNewScheduledMaintenance,
804
- },
805
- },
806
- ],
872
+ actions: actions,
807
873
  };
808
874
  }
809
875
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenance.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScheduledMaintenance.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.ts"],"names":[],"mappings":"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"}