@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,402 @@
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 IncidentEpisodeService from "../../Services/IncidentEpisodeService";
11
+ import IncidentEpisodeStateTimelineService from "../../Services/IncidentEpisodeStateTimelineService";
12
+ import IncidentEpisodeInternalNoteService from "../../Services/IncidentEpisodeInternalNoteService";
13
+ import IncidentEpisodeMemberService from "../../Services/IncidentEpisodeMemberService";
14
+ import WorkspaceUtil from "../Workspace/Workspace";
15
+ import WorkspaceProjectAuthTokenService from "../../Services/WorkspaceProjectAuthTokenService";
16
+ import logger from "../Logger";
17
+ import CaptureSpan from "../Telemetry/CaptureSpan";
18
+ import OneUptimeDate from "../../../Types/Date";
19
+ import SortOrder from "../../../Types/BaseDatabase/SortOrder";
20
+ export default class IncidentEpisodeAIContextBuilder {
21
+ static async buildEpisodeContext(data) {
22
+ const episode = await IncidentEpisodeService.findOneById({
23
+ id: data.episodeId,
24
+ select: {
25
+ _id: true,
26
+ title: true,
27
+ description: true,
28
+ createdAt: true,
29
+ postmortemNote: true,
30
+ remediationNotes: true,
31
+ rootCause: true,
32
+ projectId: true,
33
+ episodeNumber: true,
34
+ incidentSeverity: {
35
+ name: true,
36
+ color: true,
37
+ },
38
+ currentIncidentState: {
39
+ name: true,
40
+ color: true,
41
+ },
42
+ labels: {
43
+ name: true,
44
+ color: true,
45
+ },
46
+ postUpdatesToWorkspaceChannels: true,
47
+ },
48
+ props: {
49
+ isRoot: true,
50
+ },
51
+ });
52
+ if (!episode) {
53
+ throw new Error("Incident Episode not found");
54
+ }
55
+ // Fetch state timeline
56
+ const stateTimeline = await IncidentEpisodeStateTimelineService.findBy({
57
+ query: {
58
+ incidentEpisodeId: data.episodeId,
59
+ },
60
+ select: {
61
+ _id: true,
62
+ createdAt: true,
63
+ startsAt: true,
64
+ endsAt: true,
65
+ rootCause: true,
66
+ incidentState: {
67
+ name: true,
68
+ color: true,
69
+ },
70
+ createdByUser: {
71
+ name: true,
72
+ email: true,
73
+ },
74
+ },
75
+ sort: {
76
+ startsAt: SortOrder.Ascending,
77
+ },
78
+ limit: 100,
79
+ skip: 0,
80
+ props: {
81
+ isRoot: true,
82
+ },
83
+ });
84
+ // Fetch internal notes
85
+ const internalNotes = await IncidentEpisodeInternalNoteService.findBy({
86
+ query: {
87
+ incidentEpisodeId: data.episodeId,
88
+ },
89
+ select: {
90
+ _id: true,
91
+ note: true,
92
+ createdAt: true,
93
+ createdByUser: {
94
+ name: true,
95
+ email: true,
96
+ },
97
+ },
98
+ sort: {
99
+ createdAt: SortOrder.Ascending,
100
+ },
101
+ limit: 100,
102
+ skip: 0,
103
+ props: {
104
+ isRoot: true,
105
+ },
106
+ });
107
+ // Fetch member incidents
108
+ const memberIncidents = await IncidentEpisodeMemberService.findBy({
109
+ query: {
110
+ incidentEpisodeId: data.episodeId,
111
+ },
112
+ select: {
113
+ _id: true,
114
+ createdAt: true,
115
+ incident: {
116
+ _id: true,
117
+ title: true,
118
+ description: true,
119
+ incidentNumber: true,
120
+ createdAt: true,
121
+ rootCause: true,
122
+ remediationNotes: true,
123
+ incidentSeverity: {
124
+ name: true,
125
+ },
126
+ currentIncidentState: {
127
+ name: true,
128
+ },
129
+ monitors: {
130
+ name: true,
131
+ },
132
+ },
133
+ },
134
+ sort: {
135
+ createdAt: SortOrder.Ascending,
136
+ },
137
+ limit: 50,
138
+ skip: 0,
139
+ props: {
140
+ isRoot: true,
141
+ },
142
+ });
143
+ // Fetch workspace messages if requested and channels exist
144
+ let workspaceMessages = [];
145
+ const workspaceChannels = episode.postUpdatesToWorkspaceChannels;
146
+ if (data.includeWorkspaceMessages &&
147
+ workspaceChannels &&
148
+ workspaceChannels.length > 0 &&
149
+ episode.projectId) {
150
+ try {
151
+ const fetchParams = {
152
+ projectId: episode.projectId,
153
+ workspaceChannels: workspaceChannels,
154
+ limit: data.workspaceMessageLimit || 500,
155
+ };
156
+ if (episode.createdAt) {
157
+ fetchParams.oldestTimestamp = episode.createdAt;
158
+ }
159
+ workspaceMessages =
160
+ await this.getWorkspaceMessagesForEpisode(fetchParams);
161
+ }
162
+ catch (error) {
163
+ logger.error(`Error fetching workspace messages: ${error}`);
164
+ // Continue without workspace messages
165
+ }
166
+ }
167
+ return {
168
+ episode,
169
+ stateTimeline,
170
+ internalNotes,
171
+ memberIncidents,
172
+ workspaceMessages,
173
+ };
174
+ }
175
+ static formatEpisodeContextForPostmortem(contextData, template) {
176
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
177
+ const { episode, stateTimeline, internalNotes, memberIncidents, workspaceMessages, } = contextData;
178
+ let contextText = "";
179
+ // Basic episode information
180
+ contextText += "# Incident Episode Information\n\n";
181
+ contextText += `**Episode Number:** #${episode.episodeNumber || "N/A"}\n\n`;
182
+ contextText += `**Title:** ${episode.title || "N/A"}\n\n`;
183
+ contextText += `**Description:** ${episode.description || "N/A"}\n\n`;
184
+ contextText += `**Severity:** ${((_a = episode.incidentSeverity) === null || _a === void 0 ? void 0 : _a.name) || "N/A"}\n\n`;
185
+ contextText += `**Current State:** ${((_b = episode.currentIncidentState) === null || _b === void 0 ? void 0 : _b.name) || "N/A"}\n\n`;
186
+ contextText += `**Created At:** ${episode.createdAt ? OneUptimeDate.getDateAsFormattedString(episode.createdAt) : "N/A"}\n\n`;
187
+ // Labels
188
+ if (episode.labels && episode.labels.length > 0) {
189
+ contextText += "**Labels:** ";
190
+ contextText += episode.labels
191
+ .map((l) => {
192
+ return l.name;
193
+ })
194
+ .join(", ");
195
+ contextText += "\n\n";
196
+ }
197
+ // Root cause if available
198
+ if (episode.rootCause) {
199
+ contextText += `**Root Cause:** ${episode.rootCause}\n\n`;
200
+ }
201
+ // Remediation notes if available
202
+ if (episode.remediationNotes) {
203
+ contextText += `**Remediation Notes:** ${episode.remediationNotes}\n\n`;
204
+ }
205
+ // Member incidents
206
+ if (memberIncidents.length > 0) {
207
+ contextText += "# Member Incidents\n\n";
208
+ contextText += `This episode contains ${memberIncidents.length} incident(s):\n\n`;
209
+ for (const member of memberIncidents) {
210
+ const incident = member.incident;
211
+ if (!incident) {
212
+ continue;
213
+ }
214
+ contextText += `## Incident #${incident.incidentNumber || "N/A"}: ${incident.title || "Untitled"}\n\n`;
215
+ contextText += `- **Severity:** ${((_c = incident.incidentSeverity) === null || _c === void 0 ? void 0 : _c.name) || "N/A"}\n`;
216
+ contextText += `- **State:** ${((_d = incident.currentIncidentState) === null || _d === void 0 ? void 0 : _d.name) || "N/A"}\n`;
217
+ contextText += `- **Created:** ${incident.createdAt ? OneUptimeDate.getDateAsFormattedString(incident.createdAt) : "N/A"}\n`;
218
+ if (incident.description) {
219
+ contextText += `- **Description:** ${incident.description}\n`;
220
+ }
221
+ if (incident.monitors && incident.monitors.length > 0) {
222
+ contextText += `- **Affected Monitors:** ${incident.monitors
223
+ .map((m) => {
224
+ return m.name;
225
+ })
226
+ .join(", ")}\n`;
227
+ }
228
+ if (incident.rootCause) {
229
+ contextText += `- **Root Cause:** ${incident.rootCause}\n`;
230
+ }
231
+ if (incident.remediationNotes) {
232
+ contextText += `- **Remediation:** ${incident.remediationNotes}\n`;
233
+ }
234
+ contextText += "\n";
235
+ }
236
+ }
237
+ // State timeline
238
+ if (stateTimeline.length > 0) {
239
+ contextText += "# Episode State Timeline\n\n";
240
+ for (const timeline of stateTimeline) {
241
+ const startTime = timeline.startsAt
242
+ ? OneUptimeDate.getDateAsFormattedString(timeline.startsAt)
243
+ : "N/A";
244
+ const stateName = ((_f = (_e = timeline.incidentState) === null || _e === void 0 ? void 0 : _e.name) === null || _f === void 0 ? void 0 : _f.toString()) || "Unknown";
245
+ const createdBy = ((_h = (_g = timeline.createdByUser) === null || _g === void 0 ? void 0 : _g.name) === null || _h === void 0 ? void 0 : _h.toString()) ||
246
+ ((_k = (_j = timeline.createdByUser) === null || _j === void 0 ? void 0 : _j.email) === null || _k === void 0 ? void 0 : _k.toString()) ||
247
+ "System";
248
+ contextText += `- **${startTime}**: State changed to **${stateName}** by ${createdBy}\n`;
249
+ if (timeline.rootCause) {
250
+ contextText += ` - Root cause noted: ${timeline.rootCause}\n`;
251
+ }
252
+ }
253
+ contextText += "\n";
254
+ }
255
+ // Internal notes
256
+ if (internalNotes.length > 0) {
257
+ contextText += "# Internal Notes (Private)\n\n";
258
+ for (const note of internalNotes) {
259
+ const noteTime = note.createdAt
260
+ ? OneUptimeDate.getDateAsFormattedString(note.createdAt)
261
+ : "N/A";
262
+ const createdBy = ((_m = (_l = note.createdByUser) === null || _l === void 0 ? void 0 : _l.name) === null || _m === void 0 ? void 0 : _m.toString()) ||
263
+ ((_p = (_o = note.createdByUser) === null || _o === void 0 ? void 0 : _o.email) === null || _p === void 0 ? void 0 : _p.toString()) ||
264
+ "Unknown";
265
+ contextText += `**[${noteTime}] ${createdBy}:**\n`;
266
+ contextText += `${note.note || "N/A"}\n\n`;
267
+ }
268
+ }
269
+ // Workspace messages (Slack/Teams)
270
+ if (workspaceMessages.length > 0) {
271
+ contextText += "# Discussion from Episode Channel\n\n";
272
+ contextText += WorkspaceUtil.formatMessagesAsContext(workspaceMessages, {
273
+ includeTimestamp: true,
274
+ includeUsername: true,
275
+ maxLength: 30000,
276
+ });
277
+ contextText += "\n\n";
278
+ }
279
+ // System prompt for postmortem generation
280
+ let systemPrompt;
281
+ if (template) {
282
+ // When a template is provided, strictly fill only the template
283
+ systemPrompt = `You are an expert Site Reliability Engineer (SRE) and incident response specialist. Your task is to fill in an incident episode postmortem template based on the provided episode data.
284
+
285
+ An incident episode is a grouping of related incidents that occurred together or share a common cause.
286
+
287
+ CRITICAL INSTRUCTIONS:
288
+ - You MUST use ONLY the exact template structure provided below
289
+ - Fill in each section of the template with relevant information from the episode data
290
+ - Do NOT add any new sections, headers, or content that is not part of the template
291
+ - Do NOT add introductions, conclusions, or any text outside the template structure
292
+ - If a section in the template has no relevant data, write "No data available" or leave the placeholder text
293
+ - Be blameless - focus on systemic improvements rather than individual blame
294
+ - Write in a professional, clear, and concise manner
295
+ - Consider all member incidents when analyzing root cause and impact
296
+
297
+ TEMPLATE TO FILL (use this exact structure):
298
+
299
+ ${template}`;
300
+ }
301
+ else {
302
+ // When no template is provided, use standard format
303
+ systemPrompt = `You are an expert Site Reliability Engineer (SRE) and incident response specialist. Your task is to generate a comprehensive, well-structured postmortem for an incident episode based on the provided data.
304
+
305
+ An incident episode is a grouping of related incidents that occurred together or share a common cause.
306
+
307
+ The postmortem should:
308
+ 1. Be written in a blameless manner, focusing on systemic improvements rather than individual blame
309
+ 2. Include a clear executive summary that covers all member incidents
310
+ 3. Provide a detailed timeline of events across all incidents
311
+ 4. Identify the common root cause(s) and contributing factors
312
+ 5. Outline the cumulative impact on users and systems
313
+ 6. List actionable items to prevent recurrence of similar episodes
314
+ 7. Include lessons learned from the entire episode
315
+
316
+ Use a standard incident postmortem format with sections for: Executive Summary, Timeline, Root Cause Analysis, Impact, Action Items, and Lessons Learned.
317
+
318
+ Write in a professional, clear, and concise manner. Use markdown formatting for better readability.`;
319
+ }
320
+ // Build user message based on whether template is provided
321
+ const userMessage = template
322
+ ? `Fill in the template above using ONLY the following incident episode data. Output only the filled template, nothing else:\n\n${contextText}`
323
+ : `Based on the following incident episode data, please generate a comprehensive postmortem:\n\n${contextText}`;
324
+ // Build messages array
325
+ const messages = [
326
+ {
327
+ role: "system",
328
+ content: systemPrompt,
329
+ },
330
+ {
331
+ role: "user",
332
+ content: userMessage,
333
+ },
334
+ ];
335
+ return {
336
+ contextText,
337
+ systemPrompt,
338
+ messages,
339
+ };
340
+ }
341
+ static async getWorkspaceMessagesForEpisode(data) {
342
+ const allMessages = [];
343
+ for (const channel of data.workspaceChannels) {
344
+ try {
345
+ // Get auth token for this workspace type
346
+ const projectAuth = await WorkspaceProjectAuthTokenService.getProjectAuth({
347
+ projectId: data.projectId,
348
+ workspaceType: channel.workspaceType,
349
+ });
350
+ if (!projectAuth || !projectAuth.authToken) {
351
+ logger.debug(`No auth token found for workspace type: ${channel.workspaceType}`);
352
+ continue;
353
+ }
354
+ const messagesParams = {
355
+ channelId: channel.id,
356
+ authToken: projectAuth.authToken,
357
+ projectId: data.projectId,
358
+ workspaceType: channel.workspaceType,
359
+ };
360
+ if (channel.teamId) {
361
+ messagesParams.teamId = channel.teamId;
362
+ }
363
+ if (data.limit !== undefined) {
364
+ messagesParams.limit = data.limit;
365
+ }
366
+ if (data.oldestTimestamp) {
367
+ messagesParams.oldestTimestamp = data.oldestTimestamp;
368
+ }
369
+ const messages = await WorkspaceUtil.getChannelMessages(messagesParams);
370
+ allMessages.push(...messages);
371
+ }
372
+ catch (error) {
373
+ logger.error(`Error fetching messages from channel ${channel.id}: ${error}`);
374
+ // Continue with other channels even if one fails
375
+ }
376
+ }
377
+ // Sort all messages by timestamp
378
+ allMessages.sort((a, b) => {
379
+ return a.timestamp.getTime() - b.timestamp.getTime();
380
+ });
381
+ return allMessages;
382
+ }
383
+ }
384
+ __decorate([
385
+ CaptureSpan(),
386
+ __metadata("design:type", Function),
387
+ __metadata("design:paramtypes", [Object]),
388
+ __metadata("design:returntype", Promise)
389
+ ], IncidentEpisodeAIContextBuilder, "buildEpisodeContext", null);
390
+ __decorate([
391
+ CaptureSpan(),
392
+ __metadata("design:type", Function),
393
+ __metadata("design:paramtypes", [Object, String]),
394
+ __metadata("design:returntype", Object)
395
+ ], IncidentEpisodeAIContextBuilder, "formatEpisodeContextForPostmortem", null);
396
+ __decorate([
397
+ CaptureSpan(),
398
+ __metadata("design:type", Function),
399
+ __metadata("design:paramtypes", [Object]),
400
+ __metadata("design:returntype", Promise)
401
+ ], IncidentEpisodeAIContextBuilder, "getWorkspaceMessagesForEpisode", null);
402
+ //# sourceMappingURL=IncidentEpisodeAIContextBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeAIContextBuilder.js","sourceRoot":"","sources":["../../../../../Server/Utils/AI/IncidentEpisodeAIContextBuilder.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export default class APIRequestCriteria {
18
18
  // Server Monitoring Checks
19
19
  let threshold = input.criteriaFilter.value;
20
20
  let overTimeValue = undefined;
21
- if (input.criteriaFilter.eveluateOverTime &&
21
+ if (input.criteriaFilter.evaluateOverTime &&
22
22
  input.criteriaFilter.evaluateOverTimeOptions) {
23
23
  try {
24
24
  overTimeValue = await EvaluateOverTime.getValueOverTime({
@@ -386,7 +386,7 @@ export default class CompareCriteria {
386
386
  const diskPath = ((_c = data.criteriaFilter.serverMonitorOptions) === null || _c === void 0 ? void 0 : _c.diskPath) || "/";
387
387
  message += ` on disk ${diskPath}`;
388
388
  }
389
- if (data.criteriaFilter.eveluateOverTime &&
389
+ if (data.criteriaFilter.evaluateOverTime &&
390
390
  ((_d = data.criteriaFilter.evaluateOverTimeOptions) === null || _d === void 0 ? void 0 : _d.timeValueInMinutes)) {
391
391
  message += ` over the last ${data.criteriaFilter.evaluateOverTimeOptions.timeValueInMinutes} minutes`;
392
392
  }
@@ -24,7 +24,7 @@ export default class IncomingRequestCriteria {
24
24
  logger.debug("Criteria Filter: " + JSON.stringify(input.criteriaFilter, null, 2));
25
25
  let value = input.criteriaFilter.value;
26
26
  let overTimeValue = undefined;
27
- if (input.criteriaFilter.eveluateOverTime &&
27
+ if (input.criteriaFilter.evaluateOverTime &&
28
28
  input.criteriaFilter.evaluateOverTimeOptions) {
29
29
  try {
30
30
  overTimeValue = await EvaluateOverTime.getValueOverTime({
@@ -19,7 +19,7 @@ export default class ServerMonitorCriteria {
19
19
  const dataToProcess = input.dataToProcess;
20
20
  const sslResponse = dataToProcess.sslResponse;
21
21
  let overTimeValue = undefined;
22
- if (input.criteriaFilter.eveluateOverTime &&
22
+ if (input.criteriaFilter.evaluateOverTime &&
23
23
  input.criteriaFilter.evaluateOverTimeOptions) {
24
24
  try {
25
25
  overTimeValue = await EvaluateOverTime.getValueOverTime({
@@ -19,7 +19,7 @@ export default class ServerMonitorCriteria {
19
19
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
20
20
  let threshold = input.criteriaFilter.value;
21
21
  let overTimeValue = undefined;
22
- if (input.criteriaFilter.eveluateOverTime &&
22
+ if (input.criteriaFilter.evaluateOverTime &&
23
23
  input.criteriaFilter.evaluateOverTimeOptions) {
24
24
  try {
25
25
  overTimeValue = await EvaluateOverTime.getValueOverTime({
@@ -46,7 +46,7 @@ export default class ServerMonitorCriteria {
46
46
  const differenceInMinutes = OneUptimeDate.getDifferenceInMinutes(lastCheckTime, timeNow);
47
47
  let offlineIfNotCheckedInMinutes = 3;
48
48
  // check evaluate over time.
49
- if (input.criteriaFilter.eveluateOverTime &&
49
+ if (input.criteriaFilter.evaluateOverTime &&
50
50
  input.criteriaFilter.evaluateOverTimeOptions) {
51
51
  offlineIfNotCheckedInMinutes =
52
52
  input.criteriaFilter.evaluateOverTimeOptions.timeValueInMinutes || 3;
@@ -0,0 +1,135 @@
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 CompareCriteria from "./CompareCriteria";
11
+ import { CheckOn, FilterType, } from "../../../../Types/Monitor/CriteriaFilter";
12
+ import EvaluateOverTime from "./EvaluateOverTime";
13
+ import CaptureSpan from "../../Telemetry/CaptureSpan";
14
+ import logger from "../../Logger";
15
+ export default class SnmpMonitorCriteria {
16
+ static async isMonitorInstanceCriteriaFilterMet(input) {
17
+ var _a, _b, _c, _d;
18
+ let threshold = input.criteriaFilter.value;
19
+ const dataToProcess = input.dataToProcess;
20
+ const snmpResponse = dataToProcess.snmpResponse;
21
+ let overTimeValue = undefined;
22
+ if (input.criteriaFilter.evaluateOverTime &&
23
+ input.criteriaFilter.evaluateOverTimeOptions) {
24
+ try {
25
+ overTimeValue = await EvaluateOverTime.getValueOverTime({
26
+ projectId: input.dataToProcess.projectId,
27
+ monitorId: input.dataToProcess.monitorId,
28
+ evaluateOverTimeOptions: input.criteriaFilter.evaluateOverTimeOptions,
29
+ metricType: input.criteriaFilter.checkOn,
30
+ });
31
+ if (Array.isArray(overTimeValue) && overTimeValue.length === 0) {
32
+ overTimeValue = undefined;
33
+ }
34
+ }
35
+ catch (err) {
36
+ logger.error(`Error in getting over time value for ${input.criteriaFilter.checkOn}`);
37
+ logger.error(err);
38
+ overTimeValue = undefined;
39
+ }
40
+ }
41
+ // Check if SNMP device is online
42
+ if (input.criteriaFilter.checkOn === CheckOn.SnmpIsOnline) {
43
+ const currentIsOnline = overTimeValue ||
44
+ input.dataToProcess.isOnline;
45
+ return CompareCriteria.compareCriteriaBoolean({
46
+ value: currentIsOnline,
47
+ criteriaFilter: input.criteriaFilter,
48
+ });
49
+ }
50
+ // Check SNMP response time
51
+ if (input.criteriaFilter.checkOn === CheckOn.SnmpResponseTime) {
52
+ threshold = CompareCriteria.convertToNumber(threshold);
53
+ if (threshold === null || threshold === undefined) {
54
+ return null;
55
+ }
56
+ const currentResponseTime = overTimeValue ||
57
+ (snmpResponse === null || snmpResponse === void 0 ? void 0 : snmpResponse.responseTimeInMs) ||
58
+ input.dataToProcess.responseTimeInMs;
59
+ if (currentResponseTime === null || currentResponseTime === undefined) {
60
+ return null;
61
+ }
62
+ return CompareCriteria.compareCriteriaNumbers({
63
+ value: currentResponseTime,
64
+ threshold: threshold,
65
+ criteriaFilter: input.criteriaFilter,
66
+ });
67
+ }
68
+ // Check if a specific OID exists (returns a value)
69
+ if (input.criteriaFilter.checkOn === CheckOn.SnmpOidExists) {
70
+ const oid = (_a = input.criteriaFilter.snmpMonitorOptions) === null || _a === void 0 ? void 0 : _a.oid;
71
+ if (!oid) {
72
+ return null;
73
+ }
74
+ const oidResponse = (_b = snmpResponse === null || snmpResponse === void 0 ? void 0 : snmpResponse.oidResponses) === null || _b === void 0 ? void 0 : _b.find((response) => {
75
+ return response.oid === oid;
76
+ });
77
+ const exists = Boolean(oidResponse && oidResponse.value !== null);
78
+ const isTrue = input.criteriaFilter.filterType === FilterType.True;
79
+ const isFalse = input.criteriaFilter.filterType === FilterType.False;
80
+ if (exists && isTrue) {
81
+ return `SNMP OID ${oid} exists and returned a value.`;
82
+ }
83
+ if (!exists && isFalse) {
84
+ return `SNMP OID ${oid} does not exist or returned no value.`;
85
+ }
86
+ return null;
87
+ }
88
+ // Check the value of a specific OID
89
+ if (input.criteriaFilter.checkOn === CheckOn.SnmpOidValue) {
90
+ const oid = (_c = input.criteriaFilter.snmpMonitorOptions) === null || _c === void 0 ? void 0 : _c.oid;
91
+ if (!oid) {
92
+ return null;
93
+ }
94
+ const oidResponse = (_d = snmpResponse === null || snmpResponse === void 0 ? void 0 : snmpResponse.oidResponses) === null || _d === void 0 ? void 0 : _d.find((response) => {
95
+ return response.oid === oid;
96
+ });
97
+ if (!oidResponse || oidResponse.value === null) {
98
+ return null;
99
+ }
100
+ const oidValue = oidResponse.value;
101
+ // Numeric comparison
102
+ if (typeof oidValue === "number" || !isNaN(Number(oidValue))) {
103
+ const numericValue = typeof oidValue === "number" ? oidValue : Number(oidValue);
104
+ const numericThreshold = CompareCriteria.convertToNumber(threshold);
105
+ if (numericThreshold !== null) {
106
+ const result = CompareCriteria.compareCriteriaNumbers({
107
+ value: numericValue,
108
+ threshold: numericThreshold,
109
+ criteriaFilter: input.criteriaFilter,
110
+ });
111
+ if (result) {
112
+ return `SNMP OID ${oid} (${oidResponse.name || oid}): ${result}`;
113
+ }
114
+ }
115
+ }
116
+ // String comparison
117
+ const result = CompareCriteria.compareCriteriaStrings({
118
+ value: String(oidValue),
119
+ threshold: String(threshold),
120
+ criteriaFilter: input.criteriaFilter,
121
+ });
122
+ if (result) {
123
+ return `SNMP OID ${oid} (${oidResponse.name || oid}): ${result}`;
124
+ }
125
+ }
126
+ return null;
127
+ }
128
+ }
129
+ __decorate([
130
+ CaptureSpan(),
131
+ __metadata("design:type", Function),
132
+ __metadata("design:paramtypes", [Object]),
133
+ __metadata("design:returntype", Promise)
134
+ ], SnmpMonitorCriteria, "isMonitorInstanceCriteriaFilterMet", null);
135
+ //# sourceMappingURL=SnmpMonitorCriteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnmpMonitorCriteria.js","sourceRoot":"","sources":["../../../../../../Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import LogMonitorCriteria from "./Criteria/LogMonitorCriteria";
11
11
  import MetricMonitorCriteria from "./Criteria/MetricMonitorCriteria";
12
12
  import TraceMonitorCriteria from "./Criteria/TraceMonitorCriteria";
13
13
  import ExceptionMonitorCriteria from "./Criteria/ExceptionMonitorCriteria";
14
+ import SnmpMonitorCriteria from "./Criteria/SnmpMonitorCriteria";
14
15
  import MonitorCriteriaMessageBuilder from "./MonitorCriteriaMessageBuilder";
15
16
  import MonitorCriteriaDataExtractor from "./MonitorCriteriaDataExtractor";
16
17
  import MonitorCriteriaMessageFormatter from "./MonitorCriteriaMessageFormatter";
@@ -342,6 +343,15 @@ ${contextBlock}
342
343
  return exceptionMonitorResult;
343
344
  }
344
345
  }
346
+ if (input.monitor.monitorType === MonitorType.SNMP) {
347
+ const snmpMonitorResult = await SnmpMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
348
+ dataToProcess: input.dataToProcess,
349
+ criteriaFilter: input.criteriaFilter,
350
+ });
351
+ if (snmpMonitorResult) {
352
+ return snmpMonitorResult;
353
+ }
354
+ }
345
355
  return null;
346
356
  }
347
357
  static buildRootCauseContext(input) {