@oneuptime/common 9.4.12 → 9.4.13

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 (256) hide show
  1. package/Models/DatabaseModels/Incident.ts +77 -0
  2. package/Models/DatabaseModels/IncidentEpisode.ts +1223 -0
  3. package/Models/DatabaseModels/IncidentEpisodeFeed.ts +533 -0
  4. package/Models/DatabaseModels/IncidentEpisodeInternalNote.ts +456 -0
  5. package/Models/DatabaseModels/IncidentEpisodeMember.ts +587 -0
  6. package/Models/DatabaseModels/IncidentEpisodeOwnerTeam.ts +421 -0
  7. package/Models/DatabaseModels/IncidentEpisodeOwnerUser.ts +419 -0
  8. package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +524 -0
  9. package/Models/DatabaseModels/IncidentGroupingRule.ts +1430 -0
  10. package/Models/DatabaseModels/Index.ts +18 -0
  11. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +70 -0
  12. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +59 -0
  13. package/Models/DatabaseModels/UserOnCallLog.ts +48 -0
  14. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +49 -0
  15. package/Models/DatabaseModels/WorkspaceNotificationLog.ts +57 -0
  16. package/Server/API/IncidentEpisodeAPI.ts +150 -0
  17. package/Server/API/SlackAPI.ts +23 -0
  18. package/Server/API/UserOnCallLogTimelineAPI.ts +24 -4
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1769626069479-MigrationName.ts +729 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1769629928240-MigrationName.ts +261 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1769676117342-RenameEvaluateOverTimeInCriteriaFilter.ts +28 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  23. package/Server/Services/BillingService.ts +1 -3
  24. package/Server/Services/CallService.ts +1 -0
  25. package/Server/Services/IncidentEpisodeFeedService.ts +94 -0
  26. package/Server/Services/IncidentEpisodeInternalNoteService.ts +71 -0
  27. package/Server/Services/IncidentEpisodeMemberService.ts +321 -0
  28. package/Server/Services/IncidentEpisodeOwnerTeamService.ts +10 -0
  29. package/Server/Services/IncidentEpisodeOwnerUserService.ts +10 -0
  30. package/Server/Services/IncidentEpisodeService.ts +1045 -0
  31. package/Server/Services/IncidentEpisodeStateTimelineService.ts +566 -0
  32. package/Server/Services/IncidentGroupingEngineService.ts +1047 -0
  33. package/Server/Services/IncidentGroupingRuleService.ts +14 -0
  34. package/Server/Services/IncidentService.ts +11 -0
  35. package/Server/Services/Index.ts +18 -0
  36. package/Server/Services/MailService.ts +1 -0
  37. package/Server/Services/MonitorService.ts +9 -0
  38. package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +18 -0
  39. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +64 -2
  40. package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +26 -1
  41. package/Server/Services/OnCallDutyPolicyService.ts +15 -0
  42. package/Server/Services/SmsService.ts +1 -0
  43. package/Server/Services/UserNotificationRuleService.ts +48 -2
  44. package/Server/Services/UserNotificationSettingService.ts +23 -0
  45. package/Server/Services/UserOnCallLogService.ts +41 -4
  46. package/Server/Services/WhatsAppService.ts +1 -0
  47. package/Server/Services/WorkspaceNotificationLogService.ts +16 -0
  48. package/Server/Services/WorkspaceNotificationRuleService.ts +116 -0
  49. package/Server/Utils/AI/IncidentEpisodeAIContextBuilder.ts +490 -0
  50. package/Server/Utils/Monitor/Criteria/APIRequestCriteria.ts +1 -1
  51. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +1 -1
  52. package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +1 -1
  53. package/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.ts +1 -1
  54. package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +2 -2
  55. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +182 -0
  56. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +13 -0
  57. package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +1 -1
  58. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +37 -0
  59. package/Server/Utils/PushNotificationUtil.ts +31 -0
  60. package/Server/Utils/WhatsAppTemplateUtil.ts +14 -0
  61. package/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.ts +18 -0
  62. package/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts +702 -0
  63. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +20 -0
  64. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +11 -0
  65. package/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.ts +918 -0
  66. package/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.ts +120 -0
  67. package/Server/Utils/Workspace/WorkspaceMessages/IncidentEpisode.ts +74 -0
  68. package/Types/Email/EmailTemplateType.ts +6 -0
  69. package/Types/Monitor/CriteriaFilter.ts +24 -4
  70. package/Types/Monitor/MonitorCriteriaInstance.ts +67 -0
  71. package/Types/Monitor/MonitorStep.ts +37 -0
  72. package/Types/Monitor/MonitorStepSnmpMonitor.ts +102 -0
  73. package/Types/Monitor/MonitorType.ts +15 -2
  74. package/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.ts +8 -0
  75. package/Types/Monitor/SnmpMonitor/SnmpDataType.ts +21 -0
  76. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +16 -0
  77. package/Types/Monitor/SnmpMonitor/SnmpOid.ts +60 -0
  78. package/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.ts +7 -0
  79. package/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.ts +7 -0
  80. package/Types/Monitor/SnmpMonitor/SnmpV3Auth.ts +12 -0
  81. package/Types/Monitor/SnmpMonitor/SnmpVersion.ts +7 -0
  82. package/Types/NotificationSetting/NotificationSettingEventType.ts +7 -0
  83. package/Types/Permission.ts +311 -0
  84. package/Types/Probe/ProbeMonitorResponse.ts +2 -0
  85. package/Types/UserNotification/UserNotificationEventType.ts +1 -0
  86. package/Types/WhatsApp/WhatsAppTemplates.ts +24 -0
  87. package/Types/Workspace/NotificationRules/EventType.ts +1 -0
  88. package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +38 -1
  89. package/Utils/Monitor/MonitorMetricType.ts +2 -1
  90. package/build/dist/Models/DatabaseModels/Incident.js +78 -0
  91. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  92. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +1250 -0
  93. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -0
  94. package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js +555 -0
  95. package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js.map +1 -0
  96. package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js +467 -0
  97. package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js.map +1 -0
  98. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +607 -0
  99. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -0
  100. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js +437 -0
  101. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js.map +1 -0
  102. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js +436 -0
  103. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js.map +1 -0
  104. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +546 -0
  105. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -0
  106. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +1437 -0
  107. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -0
  108. package/build/dist/Models/DatabaseModels/Index.js +16 -0
  109. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  110. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +69 -0
  111. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  112. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +58 -0
  113. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -1
  114. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +47 -0
  115. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  116. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +48 -0
  117. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  118. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js +58 -0
  119. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js.map +1 -1
  120. package/build/dist/Server/API/IncidentEpisodeAPI.js +97 -0
  121. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -0
  122. package/build/dist/Server/API/SlackAPI.js +18 -0
  123. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  124. package/build/dist/Server/API/UserOnCallLogTimelineAPI.js +30 -10
  125. package/build/dist/Server/API/UserOnCallLogTimelineAPI.js.map +1 -1
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769626069479-MigrationName.js +256 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769626069479-MigrationName.js.map +1 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769629928240-MigrationName.js +96 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769629928240-MigrationName.js.map +1 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769676117342-RenameEvaluateOverTimeInCriteriaFilter.js +25 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769676117342-RenameEvaluateOverTimeInCriteriaFilter.js.map +1 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  133. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  134. package/build/dist/Server/Services/BillingService.js +1 -2
  135. package/build/dist/Server/Services/BillingService.js.map +1 -1
  136. package/build/dist/Server/Services/CallService.js.map +1 -1
  137. package/build/dist/Server/Services/IncidentEpisodeFeedService.js +83 -0
  138. package/build/dist/Server/Services/IncidentEpisodeFeedService.js.map +1 -0
  139. package/build/dist/Server/Services/IncidentEpisodeInternalNoteService.js +70 -0
  140. package/build/dist/Server/Services/IncidentEpisodeInternalNoteService.js.map +1 -0
  141. package/build/dist/Server/Services/IncidentEpisodeMemberService.js +298 -0
  142. package/build/dist/Server/Services/IncidentEpisodeMemberService.js.map +1 -0
  143. package/build/dist/Server/Services/IncidentEpisodeOwnerTeamService.js +9 -0
  144. package/build/dist/Server/Services/IncidentEpisodeOwnerTeamService.js.map +1 -0
  145. package/build/dist/Server/Services/IncidentEpisodeOwnerUserService.js +9 -0
  146. package/build/dist/Server/Services/IncidentEpisodeOwnerUserService.js.map +1 -0
  147. package/build/dist/Server/Services/IncidentEpisodeService.js +933 -0
  148. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -0
  149. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +498 -0
  150. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -0
  151. package/build/dist/Server/Services/IncidentGroupingEngineService.js +799 -0
  152. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -0
  153. package/build/dist/Server/Services/IncidentGroupingRuleService.js +13 -0
  154. package/build/dist/Server/Services/IncidentGroupingRuleService.js.map +1 -0
  155. package/build/dist/Server/Services/IncidentService.js +10 -0
  156. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  157. package/build/dist/Server/Services/Index.js +16 -0
  158. package/build/dist/Server/Services/Index.js.map +1 -1
  159. package/build/dist/Server/Services/MailService.js.map +1 -1
  160. package/build/dist/Server/Services/MonitorService.js +9 -1
  161. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  162. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +10 -0
  163. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
  164. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +48 -2
  165. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  166. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +20 -1
  167. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
  168. package/build/dist/Server/Services/OnCallDutyPolicyService.js +8 -0
  169. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  170. package/build/dist/Server/Services/SmsService.js.map +1 -1
  171. package/build/dist/Server/Services/UserNotificationRuleService.js +39 -2
  172. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  173. package/build/dist/Server/Services/UserNotificationSettingService.js +9 -0
  174. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  175. package/build/dist/Server/Services/UserOnCallLogService.js +35 -3
  176. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  177. package/build/dist/Server/Services/WhatsAppService.js.map +1 -1
  178. package/build/dist/Server/Services/WorkspaceNotificationLogService.js +12 -0
  179. package/build/dist/Server/Services/WorkspaceNotificationLogService.js.map +1 -1
  180. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +95 -1
  181. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  182. package/build/dist/Server/Utils/AI/IncidentEpisodeAIContextBuilder.js +402 -0
  183. package/build/dist/Server/Utils/AI/IncidentEpisodeAIContextBuilder.js.map +1 -0
  184. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js +1 -1
  185. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +1 -1
  186. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +1 -1
  187. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js +1 -1
  188. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +2 -2
  189. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +135 -0
  190. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -0
  191. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +10 -0
  192. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  193. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +1 -1
  194. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +26 -0
  195. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  196. package/build/dist/Server/Utils/PushNotificationUtil.js +20 -0
  197. package/build/dist/Server/Utils/PushNotificationUtil.js.map +1 -1
  198. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +8 -0
  199. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  200. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js +17 -0
  201. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js.map +1 -1
  202. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js +547 -0
  203. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js.map +1 -0
  204. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +15 -0
  205. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  206. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +10 -0
  207. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -1
  208. package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js +651 -0
  209. package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js.map +1 -0
  210. package/build/dist/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.js +100 -0
  211. package/build/dist/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.js.map +1 -0
  212. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/IncidentEpisode.js +70 -0
  213. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/IncidentEpisode.js.map +1 -0
  214. package/build/dist/Types/Email/EmailTemplateType.js +5 -0
  215. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  216. package/build/dist/Types/Monitor/CriteriaFilter.js +16 -3
  217. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  218. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +62 -0
  219. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  220. package/build/dist/Types/Monitor/MonitorStep.js +26 -0
  221. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  222. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js +77 -0
  223. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js.map +1 -0
  224. package/build/dist/Types/Monitor/MonitorType.js +13 -2
  225. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  226. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js +9 -0
  227. package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js.map +1 -0
  228. package/build/dist/Types/Monitor/SnmpMonitor/SnmpDataType.js +22 -0
  229. package/build/dist/Types/Monitor/SnmpMonitor/SnmpDataType.js.map +1 -0
  230. package/build/dist/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.js +2 -0
  231. package/build/dist/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.js.map +1 -0
  232. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOid.js +55 -0
  233. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOid.js.map +1 -0
  234. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js +8 -0
  235. package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js.map +1 -0
  236. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js +8 -0
  237. package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js.map +1 -0
  238. package/build/dist/Types/Monitor/SnmpMonitor/SnmpV3Auth.js +2 -0
  239. package/build/dist/Types/Monitor/SnmpMonitor/SnmpV3Auth.js.map +1 -0
  240. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVersion.js +8 -0
  241. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVersion.js.map +1 -0
  242. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +5 -0
  243. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  244. package/build/dist/Types/Permission.js +264 -0
  245. package/build/dist/Types/Permission.js.map +1 -1
  246. package/build/dist/Types/UserNotification/UserNotificationEventType.js +1 -0
  247. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
  248. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +15 -0
  249. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
  250. package/build/dist/Types/Workspace/NotificationRules/EventType.js +1 -0
  251. package/build/dist/Types/Workspace/NotificationRules/EventType.js.map +1 -1
  252. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +33 -1
  253. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
  254. package/build/dist/Utils/Monitor/MonitorMetricType.js +2 -1
  255. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  256. package/package.json +1 -1
@@ -0,0 +1,547 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Response from "../../../Response";
11
+ import MicrosoftTeamsAuthAction from "./Auth";
12
+ import { MicrosoftTeamsIncidentEpisodeActionType } from "./ActionTypes";
13
+ import logger from "../../../Logger";
14
+ import ObjectID from "../../../../../Types/ObjectID";
15
+ import IncidentEpisodeService from "../../../../Services/IncidentEpisodeService";
16
+ import CaptureSpan from "../../../Telemetry/CaptureSpan";
17
+ import IncidentEpisodeInternalNoteService from "../../../../Services/IncidentEpisodeInternalNoteService";
18
+ import OnCallDutyPolicyService from "../../../../Services/OnCallDutyPolicyService";
19
+ import IncidentStateService from "../../../../Services/IncidentStateService";
20
+ import UserNotificationEventType from "../../../../../Types/UserNotification/UserNotificationEventType";
21
+ export default class MicrosoftTeamsIncidentEpisodeActions {
22
+ static isIncidentEpisodeAction(data) {
23
+ return (data.actionType.includes("IncidentEpisode") ||
24
+ data.actionType ===
25
+ MicrosoftTeamsIncidentEpisodeActionType.AckIncidentEpisode ||
26
+ data.actionType ===
27
+ MicrosoftTeamsIncidentEpisodeActionType.ResolveIncidentEpisode ||
28
+ data.actionType ===
29
+ MicrosoftTeamsIncidentEpisodeActionType.ViewIncidentEpisode ||
30
+ data.actionType ===
31
+ MicrosoftTeamsIncidentEpisodeActionType.IncidentEpisodeCreated ||
32
+ data.actionType ===
33
+ MicrosoftTeamsIncidentEpisodeActionType.IncidentEpisodeStateChanged ||
34
+ data.actionType ===
35
+ MicrosoftTeamsIncidentEpisodeActionType.ViewAddIncidentEpisodeNote ||
36
+ data.actionType ===
37
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitIncidentEpisodeNote ||
38
+ data.actionType ===
39
+ MicrosoftTeamsIncidentEpisodeActionType.ViewExecuteIncidentEpisodeOnCallPolicy ||
40
+ data.actionType ===
41
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitExecuteIncidentEpisodeOnCallPolicy ||
42
+ data.actionType ===
43
+ MicrosoftTeamsIncidentEpisodeActionType.ViewChangeIncidentEpisodeState ||
44
+ data.actionType ===
45
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitChangeIncidentEpisodeState);
46
+ }
47
+ static async handleIncidentEpisodeAction(data) {
48
+ const { teamsRequest, action } = data;
49
+ logger.debug("Handling Microsoft Teams incident episode action:");
50
+ logger.debug(action);
51
+ try {
52
+ switch (action.actionType) {
53
+ case MicrosoftTeamsIncidentEpisodeActionType.AckIncidentEpisode:
54
+ await this.acknowledgeIncidentEpisode({
55
+ teamsRequest,
56
+ action,
57
+ });
58
+ break;
59
+ case MicrosoftTeamsIncidentEpisodeActionType.ResolveIncidentEpisode:
60
+ await this.resolveIncidentEpisode({
61
+ teamsRequest,
62
+ action,
63
+ });
64
+ break;
65
+ case MicrosoftTeamsIncidentEpisodeActionType.ViewIncidentEpisode:
66
+ // This is handled by opening the URL directly
67
+ break;
68
+ default:
69
+ logger.debug("Unhandled incident episode action: " + action.actionType);
70
+ break;
71
+ }
72
+ }
73
+ catch (error) {
74
+ logger.error("Error handling Microsoft Teams incident episode action:");
75
+ logger.error(error);
76
+ }
77
+ Response.sendTextResponse(data.req, data.res, "");
78
+ }
79
+ static async acknowledgeIncidentEpisode(data) {
80
+ var _a;
81
+ const episodeId = data.action.actionValue || "";
82
+ if (!episodeId) {
83
+ logger.error("No episode ID provided for acknowledge action");
84
+ return;
85
+ }
86
+ logger.debug("Acknowledging incident episode: " + episodeId);
87
+ try {
88
+ const episode = await IncidentEpisodeService.findOneBy({
89
+ query: {
90
+ _id: episodeId,
91
+ projectId: data.teamsRequest.projectId,
92
+ },
93
+ select: {
94
+ _id: true,
95
+ projectId: true,
96
+ currentIncidentState: {
97
+ _id: true,
98
+ name: true,
99
+ isAcknowledgedState: true,
100
+ },
101
+ },
102
+ props: {
103
+ isRoot: true,
104
+ },
105
+ });
106
+ if (!episode) {
107
+ logger.error("Incident episode not found: " + episodeId);
108
+ return;
109
+ }
110
+ if ((_a = episode.currentIncidentState) === null || _a === void 0 ? void 0 : _a.isAcknowledgedState) {
111
+ logger.debug("Incident episode is already acknowledged");
112
+ return;
113
+ }
114
+ const oneUptimeUserId = await MicrosoftTeamsAuthAction.getOneUptimeUserIdFromTeamsUserId({
115
+ teamsUserId: data.teamsRequest.userId || "",
116
+ projectId: data.teamsRequest.projectId,
117
+ });
118
+ await IncidentEpisodeService.acknowledgeEpisode(new ObjectID(episodeId), oneUptimeUserId);
119
+ logger.debug("Incident episode acknowledged successfully");
120
+ }
121
+ catch (error) {
122
+ logger.error("Error acknowledging incident episode:");
123
+ logger.error(error);
124
+ }
125
+ }
126
+ static async resolveIncidentEpisode(data) {
127
+ var _a;
128
+ const episodeId = data.action.actionValue || "";
129
+ if (!episodeId) {
130
+ logger.error("No episode ID provided for resolve action");
131
+ return;
132
+ }
133
+ logger.debug("Resolving incident episode: " + episodeId);
134
+ try {
135
+ const episode = await IncidentEpisodeService.findOneBy({
136
+ query: {
137
+ _id: episodeId,
138
+ projectId: data.teamsRequest.projectId,
139
+ },
140
+ select: {
141
+ _id: true,
142
+ projectId: true,
143
+ currentIncidentState: {
144
+ _id: true,
145
+ name: true,
146
+ isResolvedState: true,
147
+ },
148
+ },
149
+ props: {
150
+ isRoot: true,
151
+ },
152
+ });
153
+ if (!episode) {
154
+ logger.error("Incident episode not found: " + episodeId);
155
+ return;
156
+ }
157
+ if ((_a = episode.currentIncidentState) === null || _a === void 0 ? void 0 : _a.isResolvedState) {
158
+ logger.debug("Incident episode is already resolved");
159
+ return;
160
+ }
161
+ const oneUptimeUserId = await MicrosoftTeamsAuthAction.getOneUptimeUserIdFromTeamsUserId({
162
+ teamsUserId: data.teamsRequest.userId || "",
163
+ projectId: data.teamsRequest.projectId,
164
+ });
165
+ await IncidentEpisodeService.resolveEpisode(new ObjectID(episodeId), oneUptimeUserId);
166
+ logger.debug("Incident episode resolved successfully");
167
+ }
168
+ catch (error) {
169
+ logger.error("Error resolving incident episode:");
170
+ logger.error(error);
171
+ }
172
+ }
173
+ static async handleBotIncidentEpisodeAction(data) {
174
+ var _a, _b;
175
+ const { actionType, actionValue, value, projectId, oneUptimeUserId, turnContext, } = data;
176
+ if (actionType === MicrosoftTeamsIncidentEpisodeActionType.AckIncidentEpisode) {
177
+ if (!actionValue) {
178
+ await turnContext.sendActivity("Unable to acknowledge: missing incident episode id.");
179
+ return;
180
+ }
181
+ await IncidentEpisodeService.acknowledgeEpisode(new ObjectID(actionValue), oneUptimeUserId);
182
+ await turnContext.sendActivity("Incident episode acknowledged.");
183
+ return;
184
+ }
185
+ if (actionType ===
186
+ MicrosoftTeamsIncidentEpisodeActionType.ResolveIncidentEpisode) {
187
+ if (!actionValue) {
188
+ await turnContext.sendActivity("Unable to resolve: missing incident episode id.");
189
+ return;
190
+ }
191
+ await IncidentEpisodeService.resolveEpisode(new ObjectID(actionValue), oneUptimeUserId);
192
+ await turnContext.sendActivity("Incident episode resolved.");
193
+ return;
194
+ }
195
+ if (actionType === MicrosoftTeamsIncidentEpisodeActionType.ViewIncidentEpisode) {
196
+ if (!actionValue) {
197
+ await turnContext.sendActivity("Unable to view incident episode: missing episode id.");
198
+ return;
199
+ }
200
+ const episode = await IncidentEpisodeService.findOneBy({
201
+ query: {
202
+ _id: actionValue,
203
+ projectId: projectId,
204
+ },
205
+ select: {
206
+ _id: true,
207
+ title: true,
208
+ description: true,
209
+ currentIncidentState: {
210
+ name: true,
211
+ },
212
+ incidentSeverity: {
213
+ name: true,
214
+ },
215
+ createdAt: true,
216
+ incidentCount: true,
217
+ },
218
+ props: {
219
+ isRoot: true,
220
+ },
221
+ });
222
+ if (!episode) {
223
+ await turnContext.sendActivity("Incident episode not found.");
224
+ return;
225
+ }
226
+ const message = `**Incident Episode Details**\n\n**Title:** ${episode.title}\n**Description:** ${episode.description || "No description"}\n**State:** ${((_a = episode.currentIncidentState) === null || _a === void 0 ? void 0 : _a.name) || "Unknown"}\n**Severity:** ${((_b = episode.incidentSeverity) === null || _b === void 0 ? void 0 : _b.name) || "Unknown"}\n**Incident Count:** ${episode.incidentCount || 0}\n**Created At:** ${episode.createdAt ? new Date(episode.createdAt).toLocaleString() : "Unknown"}`;
227
+ await turnContext.sendActivity(message);
228
+ return;
229
+ }
230
+ if (actionType ===
231
+ MicrosoftTeamsIncidentEpisodeActionType.ViewAddIncidentEpisodeNote) {
232
+ if (!actionValue) {
233
+ await turnContext.sendActivity("Unable to add note: missing episode id.");
234
+ return;
235
+ }
236
+ // Send the input card
237
+ const card = this.buildAddIncidentEpisodeNoteCard(actionValue);
238
+ await turnContext.sendActivity({
239
+ attachments: [
240
+ {
241
+ contentType: "application/vnd.microsoft.card.adaptive",
242
+ content: card,
243
+ },
244
+ ],
245
+ });
246
+ return;
247
+ }
248
+ if (actionType ===
249
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitIncidentEpisodeNote) {
250
+ if (!actionValue) {
251
+ await turnContext.sendActivity("Unable to add note: missing episode id.");
252
+ return;
253
+ }
254
+ // Check if form data is provided
255
+ const note = value["note"];
256
+ if (note) {
257
+ // Submit the note
258
+ const episodeId = new ObjectID(actionValue);
259
+ await IncidentEpisodeInternalNoteService.addNote({
260
+ incidentEpisodeId: episodeId,
261
+ note: note.toString(),
262
+ projectId: projectId,
263
+ userId: oneUptimeUserId,
264
+ });
265
+ await turnContext.sendActivity("Note added successfully.");
266
+ // Hide the form card by deleting it
267
+ if (turnContext.activity.replyToId) {
268
+ await turnContext.deleteActivity(turnContext.activity.replyToId);
269
+ }
270
+ return;
271
+ }
272
+ await turnContext.sendActivity("Unable to add note: missing note data.");
273
+ return;
274
+ }
275
+ if (actionType ===
276
+ MicrosoftTeamsIncidentEpisodeActionType.ViewExecuteIncidentEpisodeOnCallPolicy) {
277
+ if (!actionValue) {
278
+ await turnContext.sendActivity("Unable to execute on-call policy: missing episode id.");
279
+ return;
280
+ }
281
+ // Send the input card
282
+ const card = await this.buildExecuteIncidentEpisodeOnCallPolicyCard(actionValue, projectId);
283
+ if (!card) {
284
+ await turnContext.sendActivity("No on-call policies found in the project");
285
+ return;
286
+ }
287
+ await turnContext.sendActivity({
288
+ attachments: [
289
+ {
290
+ contentType: "application/vnd.microsoft.card.adaptive",
291
+ content: card,
292
+ },
293
+ ],
294
+ });
295
+ return;
296
+ }
297
+ if (actionType ===
298
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitExecuteIncidentEpisodeOnCallPolicy) {
299
+ if (!actionValue) {
300
+ await turnContext.sendActivity("Unable to execute on-call policy: missing episode id.");
301
+ return;
302
+ }
303
+ // Check if form data is provided
304
+ const onCallPolicyId = value["onCallPolicy"];
305
+ if (onCallPolicyId) {
306
+ // Execute the policy
307
+ const episodeId = new ObjectID(actionValue);
308
+ await OnCallDutyPolicyService.executePolicy(new ObjectID(onCallPolicyId.toString()), {
309
+ triggeredByIncidentEpisodeId: episodeId,
310
+ userNotificationEventType: UserNotificationEventType.IncidentEpisodeCreated,
311
+ });
312
+ await turnContext.sendActivity("On-call policy executed successfully.");
313
+ // Hide the form card by deleting it
314
+ if (turnContext.activity.replyToId) {
315
+ await turnContext.deleteActivity(turnContext.activity.replyToId);
316
+ }
317
+ return;
318
+ }
319
+ await turnContext.sendActivity("Unable to execute on-call policy: missing policy id.");
320
+ return;
321
+ }
322
+ if (actionType ===
323
+ MicrosoftTeamsIncidentEpisodeActionType.ViewChangeIncidentEpisodeState) {
324
+ if (!actionValue) {
325
+ await turnContext.sendActivity("Unable to change episode state: missing episode id.");
326
+ return;
327
+ }
328
+ // Send the input card
329
+ const card = await this.buildChangeIncidentEpisodeStateCard(actionValue, projectId);
330
+ await turnContext.sendActivity({
331
+ attachments: [
332
+ {
333
+ contentType: "application/vnd.microsoft.card.adaptive",
334
+ content: card,
335
+ },
336
+ ],
337
+ });
338
+ return;
339
+ }
340
+ if (actionType ===
341
+ MicrosoftTeamsIncidentEpisodeActionType.SubmitChangeIncidentEpisodeState) {
342
+ if (!actionValue) {
343
+ await turnContext.sendActivity("Unable to change episode state: missing episode id.");
344
+ return;
345
+ }
346
+ // Check if form data is provided
347
+ const incidentStateId = value["incidentState"];
348
+ if (incidentStateId) {
349
+ // Update the state
350
+ const episodeId = new ObjectID(actionValue);
351
+ await IncidentEpisodeService.updateOneById({
352
+ id: episodeId,
353
+ data: {
354
+ currentIncidentStateId: new ObjectID(incidentStateId.toString()),
355
+ },
356
+ props: {
357
+ isRoot: true,
358
+ },
359
+ });
360
+ await turnContext.sendActivity("Incident episode state changed successfully.");
361
+ // Hide the form card by deleting it
362
+ if (turnContext.activity.replyToId) {
363
+ await turnContext.deleteActivity(turnContext.activity.replyToId);
364
+ }
365
+ return;
366
+ }
367
+ await turnContext.sendActivity("Unable to change episode state: missing state id.");
368
+ return;
369
+ }
370
+ // Default fallback for unimplemented actions
371
+ await turnContext.sendActivity("Sorry, but the action " +
372
+ actionType +
373
+ " you requested is not implemented yet.");
374
+ }
375
+ static buildAddIncidentEpisodeNoteCard(episodeId) {
376
+ return {
377
+ type: "AdaptiveCard",
378
+ $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
379
+ version: "1.5",
380
+ body: [
381
+ {
382
+ type: "TextBlock",
383
+ text: "Add Incident Episode Note",
384
+ size: "Large",
385
+ weight: "Bolder",
386
+ },
387
+ {
388
+ type: "Input.Text",
389
+ id: "note",
390
+ label: "Note",
391
+ isMultiline: true,
392
+ placeholder: "Please type in plain text or markdown.",
393
+ },
394
+ ],
395
+ actions: [
396
+ {
397
+ type: "Action.Submit",
398
+ title: "Submit",
399
+ data: {
400
+ action: MicrosoftTeamsIncidentEpisodeActionType.SubmitIncidentEpisodeNote,
401
+ actionValue: episodeId,
402
+ },
403
+ },
404
+ ],
405
+ };
406
+ }
407
+ static async buildExecuteIncidentEpisodeOnCallPolicyCard(episodeId, projectId) {
408
+ const onCallPolicies = await OnCallDutyPolicyService.findBy({
409
+ query: {
410
+ projectId: projectId,
411
+ },
412
+ select: {
413
+ name: true,
414
+ _id: true,
415
+ },
416
+ props: {
417
+ isRoot: true,
418
+ },
419
+ limit: 50,
420
+ skip: 0,
421
+ });
422
+ const choices = onCallPolicies
423
+ .map((policy) => {
424
+ var _a;
425
+ return {
426
+ title: policy.name || "",
427
+ value: ((_a = policy._id) === null || _a === void 0 ? void 0 : _a.toString()) || "",
428
+ };
429
+ })
430
+ .filter((choice) => {
431
+ return choice.title && choice.value;
432
+ });
433
+ if (choices.length === 0) {
434
+ return null;
435
+ }
436
+ return {
437
+ type: "AdaptiveCard",
438
+ $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
439
+ version: "1.5",
440
+ body: [
441
+ {
442
+ type: "TextBlock",
443
+ text: "Execute On-Call Policy",
444
+ size: "Large",
445
+ weight: "Bolder",
446
+ },
447
+ {
448
+ type: "Input.ChoiceSet",
449
+ id: "onCallPolicy",
450
+ label: "On-Call Policy",
451
+ style: "compact",
452
+ choices: choices,
453
+ },
454
+ ],
455
+ actions: [
456
+ {
457
+ type: "Action.Submit",
458
+ title: "Execute",
459
+ data: {
460
+ action: MicrosoftTeamsIncidentEpisodeActionType.SubmitExecuteIncidentEpisodeOnCallPolicy,
461
+ actionValue: episodeId,
462
+ },
463
+ },
464
+ ],
465
+ };
466
+ }
467
+ static async buildChangeIncidentEpisodeStateCard(episodeId, projectId) {
468
+ const incidentStates = await IncidentStateService.getAllIncidentStates({
469
+ projectId: projectId,
470
+ props: {
471
+ isRoot: true,
472
+ },
473
+ });
474
+ const choices = incidentStates
475
+ .map((state) => {
476
+ var _a;
477
+ return {
478
+ title: state.name || "",
479
+ value: ((_a = state._id) === null || _a === void 0 ? void 0 : _a.toString()) || "",
480
+ };
481
+ })
482
+ .filter((choice) => {
483
+ return choice.title && choice.value;
484
+ });
485
+ return {
486
+ type: "AdaptiveCard",
487
+ $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
488
+ version: "1.5",
489
+ body: [
490
+ {
491
+ type: "TextBlock",
492
+ text: "Change Incident Episode State",
493
+ size: "Large",
494
+ weight: "Bolder",
495
+ },
496
+ {
497
+ type: "Input.ChoiceSet",
498
+ id: "incidentState",
499
+ label: "Incident State",
500
+ style: "compact",
501
+ choices: choices,
502
+ },
503
+ ],
504
+ actions: [
505
+ {
506
+ type: "Action.Submit",
507
+ title: "Change",
508
+ data: {
509
+ action: MicrosoftTeamsIncidentEpisodeActionType.SubmitChangeIncidentEpisodeState,
510
+ actionValue: episodeId,
511
+ },
512
+ },
513
+ ],
514
+ };
515
+ }
516
+ }
517
+ __decorate([
518
+ CaptureSpan(),
519
+ __metadata("design:type", Function),
520
+ __metadata("design:paramtypes", [Object]),
521
+ __metadata("design:returntype", Boolean)
522
+ ], MicrosoftTeamsIncidentEpisodeActions, "isIncidentEpisodeAction", null);
523
+ __decorate([
524
+ CaptureSpan(),
525
+ __metadata("design:type", Function),
526
+ __metadata("design:paramtypes", [Object]),
527
+ __metadata("design:returntype", Promise)
528
+ ], MicrosoftTeamsIncidentEpisodeActions, "handleIncidentEpisodeAction", null);
529
+ __decorate([
530
+ CaptureSpan(),
531
+ __metadata("design:type", Function),
532
+ __metadata("design:paramtypes", [Object]),
533
+ __metadata("design:returntype", Promise)
534
+ ], MicrosoftTeamsIncidentEpisodeActions, "acknowledgeIncidentEpisode", null);
535
+ __decorate([
536
+ CaptureSpan(),
537
+ __metadata("design:type", Function),
538
+ __metadata("design:paramtypes", [Object]),
539
+ __metadata("design:returntype", Promise)
540
+ ], MicrosoftTeamsIncidentEpisodeActions, "resolveIncidentEpisode", null);
541
+ __decorate([
542
+ CaptureSpan(),
543
+ __metadata("design:type", Function),
544
+ __metadata("design:paramtypes", [Object]),
545
+ __metadata("design:returntype", Promise)
546
+ ], MicrosoftTeamsIncidentEpisodeActions, "handleBotIncidentEpisodeAction", null);
547
+ //# sourceMappingURL=IncidentEpisode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisode.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ import MicrosoftTeamsAuthAction from "./Actions/Auth";
35
35
  import MicrosoftTeamsIncidentActions from "./Actions/Incident";
36
36
  import MicrosoftTeamsAlertActions from "./Actions/Alert";
37
37
  import MicrosoftTeamsAlertEpisodeActions from "./Actions/AlertEpisode";
38
+ import MicrosoftTeamsIncidentEpisodeActions from "./Actions/IncidentEpisode";
38
39
  import MicrosoftTeamsMonitorActions from "./Actions/Monitor";
39
40
  import MicrosoftTeamsScheduledMaintenanceActions from "./Actions/ScheduledMaintenance";
40
41
  import MicrosoftTeamsOnCallDutyActions from "./Actions/OnCallDutyPolicy";
@@ -1733,6 +1734,20 @@ All monitoring checks are passing normally.`;
1733
1734
  });
1734
1735
  return;
1735
1736
  }
1737
+ // Handle incident episode actions
1738
+ if (MicrosoftTeamsIncidentEpisodeActions.isIncidentEpisodeAction({
1739
+ actionType,
1740
+ })) {
1741
+ await MicrosoftTeamsIncidentEpisodeActions.handleBotIncidentEpisodeAction({
1742
+ actionType,
1743
+ actionValue,
1744
+ value,
1745
+ projectId,
1746
+ oneUptimeUserId,
1747
+ turnContext: data.turnContext,
1748
+ });
1749
+ return;
1750
+ }
1736
1751
  // Handle monitor actions
1737
1752
  if (MicrosoftTeamsMonitorActions.isMonitorAction({ actionType })) {
1738
1753
  await MicrosoftTeamsMonitorActions.handleBotMonitorAction({