@oneuptime/common 9.4.13 → 9.5.0

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 (679) hide show
  1. package/Models/DatabaseModels/AIAgent.ts +20 -10
  2. package/Models/DatabaseModels/AIAgentOwnerTeam.ts +12 -0
  3. package/Models/DatabaseModels/AIAgentOwnerUser.ts +12 -0
  4. package/Models/DatabaseModels/AIAgentTask.ts +24 -2
  5. package/Models/DatabaseModels/AIAgentTaskLog.ts +19 -2
  6. package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +29 -2
  7. package/Models/DatabaseModels/AIAgentTaskTelemetryException.ts +11 -0
  8. package/Models/DatabaseModels/Alert.ts +31 -1
  9. package/Models/DatabaseModels/AlertCustomField.ts +10 -0
  10. package/Models/DatabaseModels/AlertEpisode.ts +32 -0
  11. package/Models/DatabaseModels/AlertEpisodeFeed.ts +14 -0
  12. package/Models/DatabaseModels/AlertEpisodeInternalNote.ts +11 -0
  13. package/Models/DatabaseModels/AlertEpisodeMember.ts +17 -0
  14. package/Models/DatabaseModels/AlertEpisodeOwnerTeam.ts +12 -0
  15. package/Models/DatabaseModels/AlertEpisodeOwnerUser.ts +12 -0
  16. package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +14 -0
  17. package/Models/DatabaseModels/AlertFeed.ts +14 -0
  18. package/Models/DatabaseModels/AlertGroupingRule.ts +178 -0
  19. package/Models/DatabaseModels/AlertInternalNote.ts +11 -0
  20. package/Models/DatabaseModels/AlertNoteTemplate.ts +8 -0
  21. package/Models/DatabaseModels/AlertOwnerTeam.ts +12 -0
  22. package/Models/DatabaseModels/AlertOwnerUser.ts +12 -0
  23. package/Models/DatabaseModels/AlertSeverity.ts +12 -0
  24. package/Models/DatabaseModels/AlertState.ts +14 -0
  25. package/Models/DatabaseModels/AlertStateTimeline.ts +14 -0
  26. package/Models/DatabaseModels/ApiKey.ts +10 -0
  27. package/Models/DatabaseModels/ApiKeyPermission.ts +11 -0
  28. package/Models/DatabaseModels/BillingInvoice.ts +16 -0
  29. package/Models/DatabaseModels/BillingPaymentMethod.ts +12 -0
  30. package/Models/DatabaseModels/CallLog.ts +29 -0
  31. package/Models/DatabaseModels/CodeRepository.ts +18 -0
  32. package/Models/DatabaseModels/Dashboard.ts +12 -0
  33. package/Models/DatabaseModels/DataMigration.ts +1 -0
  34. package/Models/DatabaseModels/Domain.ts +11 -0
  35. package/Models/DatabaseModels/EmailLog.ts +30 -0
  36. package/Models/DatabaseModels/Incident.ts +44 -0
  37. package/Models/DatabaseModels/IncidentCustomField.ts +10 -0
  38. package/Models/DatabaseModels/IncidentEpisode.ts +33 -0
  39. package/Models/DatabaseModels/IncidentEpisodeFeed.ts +14 -0
  40. package/Models/DatabaseModels/IncidentEpisodeInternalNote.ts +11 -0
  41. package/Models/DatabaseModels/IncidentEpisodeMember.ts +17 -0
  42. package/Models/DatabaseModels/IncidentEpisodeOwnerTeam.ts +12 -0
  43. package/Models/DatabaseModels/IncidentEpisodeOwnerUser.ts +12 -0
  44. package/Models/DatabaseModels/IncidentEpisodeRoleMember.ts +514 -0
  45. package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +14 -0
  46. package/Models/DatabaseModels/IncidentFeed.ts +16 -0
  47. package/Models/DatabaseModels/IncidentGroupingRule.ts +263 -0
  48. package/Models/DatabaseModels/IncidentInternalNote.ts +11 -0
  49. package/Models/DatabaseModels/IncidentMember.ts +544 -0
  50. package/Models/DatabaseModels/IncidentNoteTemplate.ts +8 -0
  51. package/Models/DatabaseModels/IncidentOwnerTeam.ts +12 -0
  52. package/Models/DatabaseModels/IncidentOwnerUser.ts +12 -0
  53. package/Models/DatabaseModels/IncidentPostmortemTemplate.ts +8 -0
  54. package/Models/DatabaseModels/IncidentPublicNote.ts +15 -0
  55. package/Models/DatabaseModels/IncidentRole.ts +530 -0
  56. package/Models/DatabaseModels/IncidentSeverity.ts +12 -0
  57. package/Models/DatabaseModels/IncidentSla.ts +675 -0
  58. package/Models/DatabaseModels/IncidentSlaRule.ts +889 -0
  59. package/Models/DatabaseModels/IncidentState.ts +15 -0
  60. package/Models/DatabaseModels/IncidentStateTimeline.ts +17 -0
  61. package/Models/DatabaseModels/IncidentTemplate.ts +20 -0
  62. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +12 -0
  63. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +12 -0
  64. package/Models/DatabaseModels/IncomingCallLog.ts +20 -0
  65. package/Models/DatabaseModels/IncomingCallLogItem.ts +17 -0
  66. package/Models/DatabaseModels/IncomingCallPolicy.ts +22 -0
  67. package/Models/DatabaseModels/IncomingCallPolicyEscalationRule.ts +15 -0
  68. package/Models/DatabaseModels/Index.ts +14 -0
  69. package/Models/DatabaseModels/Label.ts +11 -0
  70. package/Models/DatabaseModels/LlmLog.ts +28 -0
  71. package/Models/DatabaseModels/LlmProvider.ts +18 -13
  72. package/Models/DatabaseModels/MetricType.ts +11 -0
  73. package/Models/DatabaseModels/Monitor.ts +34 -0
  74. package/Models/DatabaseModels/MonitorCustomField.ts +10 -0
  75. package/Models/DatabaseModels/MonitorFeed.ts +14 -0
  76. package/Models/DatabaseModels/MonitorGroup.ts +9 -0
  77. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +12 -0
  78. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +12 -0
  79. package/Models/DatabaseModels/MonitorGroupResource.ts +9 -0
  80. package/Models/DatabaseModels/MonitorOwnerTeam.ts +12 -0
  81. package/Models/DatabaseModels/MonitorOwnerUser.ts +12 -0
  82. package/Models/DatabaseModels/MonitorProbe.ts +15 -0
  83. package/Models/DatabaseModels/MonitorSecret.ts +10 -0
  84. package/Models/DatabaseModels/MonitorStatus.ts +14 -0
  85. package/Models/DatabaseModels/MonitorStatusTimeline.ts +14 -0
  86. package/Models/DatabaseModels/MonitorTest.ts +14 -0
  87. package/Models/DatabaseModels/OnCallDutyPolicy.ts +12 -0
  88. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +10 -0
  89. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +11 -0
  90. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +11 -0
  91. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +11 -0
  92. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +11 -0
  93. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +27 -0
  94. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +31 -0
  95. package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +14 -0
  96. package/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.ts +12 -0
  97. package/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.ts +12 -0
  98. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +17 -0
  99. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +16 -0
  100. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.ts +14 -0
  101. package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +14 -0
  102. package/Models/DatabaseModels/OnCallDutyPolicyUserOverride.ts +13 -0
  103. package/Models/DatabaseModels/Probe.ts +20 -9
  104. package/Models/DatabaseModels/ProbeOwnerTeam.ts +12 -0
  105. package/Models/DatabaseModels/ProbeOwnerUser.ts +12 -0
  106. package/Models/DatabaseModels/Project.ts +42 -3
  107. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +14 -0
  108. package/Models/DatabaseModels/ProjectSCIM.ts +14 -0
  109. package/Models/DatabaseModels/ProjectSCIMLog.ts +14 -0
  110. package/Models/DatabaseModels/ProjectSmtpConfig.ts +23 -0
  111. package/Models/DatabaseModels/ProjectSso.ts +17 -0
  112. package/Models/DatabaseModels/ProjectUserProfile.ts +355 -0
  113. package/Models/DatabaseModels/PromoCode.ts +5 -0
  114. package/Models/DatabaseModels/PushNotificationLog.ts +29 -0
  115. package/Models/DatabaseModels/Reseller.ts +8 -4
  116. package/Models/DatabaseModels/ResellerPlan.ts +1 -1
  117. package/Models/DatabaseModels/ScheduledMaintenance.ts +28 -0
  118. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +10 -0
  119. package/Models/DatabaseModels/ScheduledMaintenanceFeed.ts +14 -0
  120. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +11 -0
  121. package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +8 -0
  122. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +12 -0
  123. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +12 -0
  124. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +15 -0
  125. package/Models/DatabaseModels/ScheduledMaintenanceState.ts +16 -0
  126. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +15 -0
  127. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +26 -0
  128. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.ts +11 -0
  129. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +11 -0
  130. package/Models/DatabaseModels/Service.ts +14 -0
  131. package/Models/DatabaseModels/ServiceCodeRepository.ts +15 -0
  132. package/Models/DatabaseModels/ServiceDependency.ts +11 -0
  133. package/Models/DatabaseModels/ServiceMonitor.ts +11 -0
  134. package/Models/DatabaseModels/ServiceOwnerTeam.ts +11 -0
  135. package/Models/DatabaseModels/ServiceOwnerUser.ts +11 -0
  136. package/Models/DatabaseModels/SmsLog.ts +29 -0
  137. package/Models/DatabaseModels/StatusPage.ts +65 -0
  138. package/Models/DatabaseModels/StatusPageAnnouncement.ts +17 -0
  139. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +13 -0
  140. package/Models/DatabaseModels/StatusPageCustomField.ts +10 -0
  141. package/Models/DatabaseModels/StatusPageDomain.ts +18 -0
  142. package/Models/DatabaseModels/StatusPageFooterLink.ts +11 -0
  143. package/Models/DatabaseModels/StatusPageGroup.ts +15 -0
  144. package/Models/DatabaseModels/StatusPageHeaderLink.ts +11 -0
  145. package/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.ts +10 -0
  146. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +12 -0
  147. package/Models/DatabaseModels/StatusPageOwnerUser.ts +12 -0
  148. package/Models/DatabaseModels/StatusPagePrivateUser.ts +11 -0
  149. package/Models/DatabaseModels/StatusPageResource.ts +21 -0
  150. package/Models/DatabaseModels/StatusPageSCIM.ts +14 -0
  151. package/Models/DatabaseModels/StatusPageSCIMLog.ts +15 -0
  152. package/Models/DatabaseModels/StatusPageSso.ts +18 -0
  153. package/Models/DatabaseModels/StatusPageSubscriber.ts +21 -0
  154. package/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.ts +12 -0
  155. package/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.ts +10 -0
  156. package/Models/DatabaseModels/TableView.ts +13 -0
  157. package/Models/DatabaseModels/Team.ts +12 -0
  158. package/Models/DatabaseModels/TeamComplianceSetting.ts +10 -0
  159. package/Models/DatabaseModels/TeamMember.ts +2 -0
  160. package/Models/DatabaseModels/TeamMemberCustomField.ts +357 -0
  161. package/Models/DatabaseModels/TeamPermission.ts +11 -0
  162. package/Models/DatabaseModels/TelemetryException.ts +28 -0
  163. package/Models/DatabaseModels/TelemetryIngestionKey.ts +8 -0
  164. package/Models/DatabaseModels/TelemetryUsageBilling.ts +14 -0
  165. package/Models/DatabaseModels/User.ts +2 -2
  166. package/Models/DatabaseModels/WhatsAppLog.ts +30 -0
  167. package/Models/DatabaseModels/Workflow.ts +13 -0
  168. package/Models/DatabaseModels/WorkflowLog.ts +9 -0
  169. package/Models/DatabaseModels/WorkflowVariable.ts +12 -0
  170. package/Models/DatabaseModels/WorkspaceNotificationLog.ts +35 -0
  171. package/Models/DatabaseModels/WorkspaceNotificationRule.ts +12 -0
  172. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +10 -0
  173. package/Server/API/ProjectAPI.ts +32 -0
  174. package/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.ts +121 -0
  175. package/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.ts +35 -0
  176. package/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.ts +35 -0
  177. package/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.ts +307 -0
  178. package/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.ts +91 -0
  179. package/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.ts +29 -0
  180. package/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.ts +245 -0
  181. package/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.ts +17 -0
  182. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +16 -0
  183. package/Server/Services/AlertGroupingEngineService.ts +83 -4
  184. package/Server/Services/IncidentEpisodeRoleMemberService.ts +227 -0
  185. package/Server/Services/IncidentEpisodeService.ts +1 -1
  186. package/Server/Services/IncidentGroupingEngineService.ts +120 -4
  187. package/Server/Services/IncidentMemberService.ts +251 -0
  188. package/Server/Services/IncidentRoleService.ts +87 -0
  189. package/Server/Services/IncidentService.ts +32 -0
  190. package/Server/Services/IncidentSlaRuleService.ts +356 -0
  191. package/Server/Services/IncidentSlaService.ts +550 -0
  192. package/Server/Services/IncidentStateTimelineService.ts +182 -1
  193. package/Server/Services/Index.ts +14 -0
  194. package/Server/Services/ProjectService.ts +90 -0
  195. package/Server/Services/ProjectUserProfileService.ts +9 -0
  196. package/Server/Services/TeamMemberCustomFieldService.ts +9 -0
  197. package/Server/Services/UserOnCallLogService.ts +7 -0
  198. package/Server/Utils/Monitor/MonitorAlert.ts +26 -0
  199. package/Server/Utils/Monitor/MonitorIncident.ts +69 -0
  200. package/Server/Utils/WhatsAppTemplateUtil.ts +3 -0
  201. package/Tests/Server/Services/AlertGroupingEngineService.test.ts +11 -6
  202. package/Types/Email/EmailTemplateType.ts +1 -0
  203. package/Types/Incident/IncidentSlaStatus.ts +9 -0
  204. package/Types/Monitor/CriteriaAlert.ts +6 -0
  205. package/Types/Monitor/CriteriaIncident.ts +18 -0
  206. package/Types/NotificationRule/NotificationRuleType.ts +1 -0
  207. package/Types/NotificationSetting/NotificationSettingEventType.ts +1 -0
  208. package/Types/Permission.ts +243 -0
  209. package/Types/WhatsApp/WhatsAppTemplates.ts +5 -0
  210. package/UI/Components/CollapsibleSection/CollapsibleSection.tsx +153 -0
  211. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +17 -10
  212. package/UI/Components/Dropdown/Dropdown.tsx +2 -0
  213. package/UI/Components/Forms/Fields/FormField.tsx +22 -0
  214. package/UI/Components/Forms/Fields/IconPicker.tsx +175 -0
  215. package/UI/Components/Forms/Types/FormFieldSchemaType.ts +1 -0
  216. package/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.ts +2 -0
  217. package/UI/Components/HeaderAlert/NotificationBell/NotificationBell.tsx +96 -0
  218. package/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.tsx +112 -0
  219. package/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.tsx +78 -0
  220. package/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.tsx +40 -0
  221. package/UI/Components/HeaderAlert/NotificationBell/NotificationItem.ts +13 -0
  222. package/UI/Components/HeaderAlert/NotificationBell/index.ts +5 -0
  223. package/UI/Components/Icon/Icon.tsx +23 -0
  224. package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +608 -0
  225. package/UI/Components/RoleLabel/RoleLabel.tsx +70 -0
  226. package/UI/Components/Types/FieldType.ts +1 -0
  227. package/build/dist/Models/DatabaseModels/AIAgent.js +20 -10
  228. package/build/dist/Models/DatabaseModels/AIAgent.js.map +1 -1
  229. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js +12 -0
  230. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js.map +1 -1
  231. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js +12 -0
  232. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js.map +1 -1
  233. package/build/dist/Models/DatabaseModels/AIAgentTask.js +24 -2
  234. package/build/dist/Models/DatabaseModels/AIAgentTask.js.map +1 -1
  235. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js +19 -2
  236. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js.map +1 -1
  237. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +29 -2
  238. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
  239. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js +11 -0
  240. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js.map +1 -1
  241. package/build/dist/Models/DatabaseModels/Alert.js +31 -0
  242. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  243. package/build/dist/Models/DatabaseModels/AlertCustomField.js +10 -0
  244. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  245. package/build/dist/Models/DatabaseModels/AlertEpisode.js +32 -0
  246. package/build/dist/Models/DatabaseModels/AlertEpisode.js.map +1 -1
  247. package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js +14 -0
  248. package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js.map +1 -1
  249. package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js +11 -0
  250. package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js.map +1 -1
  251. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +17 -0
  252. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
  253. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js +12 -0
  254. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js.map +1 -1
  255. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js +12 -0
  256. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js.map +1 -1
  257. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +14 -0
  258. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -1
  259. package/build/dist/Models/DatabaseModels/AlertFeed.js +14 -0
  260. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  261. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js +171 -0
  262. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js.map +1 -1
  263. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +11 -0
  264. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  265. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +8 -0
  266. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -1
  267. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +12 -0
  268. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
  269. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +12 -0
  270. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
  271. package/build/dist/Models/DatabaseModels/AlertSeverity.js +12 -0
  272. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  273. package/build/dist/Models/DatabaseModels/AlertState.js +14 -0
  274. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  275. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +14 -0
  276. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  277. package/build/dist/Models/DatabaseModels/ApiKey.js +10 -0
  278. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
  279. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +11 -0
  280. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
  281. package/build/dist/Models/DatabaseModels/BillingInvoice.js +16 -0
  282. package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
  283. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js +12 -0
  284. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js.map +1 -1
  285. package/build/dist/Models/DatabaseModels/CallLog.js +29 -0
  286. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
  287. package/build/dist/Models/DatabaseModels/CodeRepository.js +18 -0
  288. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  289. package/build/dist/Models/DatabaseModels/Dashboard.js +12 -0
  290. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  291. package/build/dist/Models/DatabaseModels/DataMigration.js +1 -0
  292. package/build/dist/Models/DatabaseModels/DataMigration.js.map +1 -1
  293. package/build/dist/Models/DatabaseModels/Domain.js +11 -0
  294. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  295. package/build/dist/Models/DatabaseModels/EmailLog.js +30 -0
  296. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
  297. package/build/dist/Models/DatabaseModels/Incident.js +44 -0
  298. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  299. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +10 -0
  300. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  301. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +33 -0
  302. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
  303. package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js +14 -0
  304. package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js.map +1 -1
  305. package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js +11 -0
  306. package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js.map +1 -1
  307. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +17 -0
  308. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
  309. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js +12 -0
  310. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js.map +1 -1
  311. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js +12 -0
  312. package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js.map +1 -1
  313. package/build/dist/Models/DatabaseModels/IncidentEpisodeRoleMember.js +531 -0
  314. package/build/dist/Models/DatabaseModels/IncidentEpisodeRoleMember.js.map +1 -0
  315. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +14 -0
  316. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
  317. package/build/dist/Models/DatabaseModels/IncidentFeed.js +16 -0
  318. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  319. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +249 -0
  320. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -1
  321. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +11 -0
  322. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  323. package/build/dist/Models/DatabaseModels/IncidentMember.js +566 -0
  324. package/build/dist/Models/DatabaseModels/IncidentMember.js.map +1 -0
  325. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +8 -0
  326. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
  327. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +12 -0
  328. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
  329. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +12 -0
  330. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
  331. package/build/dist/Models/DatabaseModels/IncidentPostmortemTemplate.js +8 -0
  332. package/build/dist/Models/DatabaseModels/IncidentPostmortemTemplate.js.map +1 -1
  333. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +15 -0
  334. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  335. package/build/dist/Models/DatabaseModels/IncidentRole.js +558 -0
  336. package/build/dist/Models/DatabaseModels/IncidentRole.js.map +1 -0
  337. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +12 -0
  338. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  339. package/build/dist/Models/DatabaseModels/IncidentSla.js +698 -0
  340. package/build/dist/Models/DatabaseModels/IncidentSla.js.map +1 -0
  341. package/build/dist/Models/DatabaseModels/IncidentSlaRule.js +895 -0
  342. package/build/dist/Models/DatabaseModels/IncidentSlaRule.js.map +1 -0
  343. package/build/dist/Models/DatabaseModels/IncidentState.js +15 -0
  344. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
  345. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +17 -0
  346. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  347. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +20 -0
  348. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  349. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +12 -0
  350. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
  351. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +12 -0
  352. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
  353. package/build/dist/Models/DatabaseModels/IncomingCallLog.js +20 -0
  354. package/build/dist/Models/DatabaseModels/IncomingCallLog.js.map +1 -1
  355. package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js +17 -0
  356. package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js.map +1 -1
  357. package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js +22 -0
  358. package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js.map +1 -1
  359. package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js +15 -0
  360. package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js.map +1 -1
  361. package/build/dist/Models/DatabaseModels/Index.js +14 -0
  362. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  363. package/build/dist/Models/DatabaseModels/Label.js +11 -0
  364. package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
  365. package/build/dist/Models/DatabaseModels/LlmLog.js +28 -0
  366. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
  367. package/build/dist/Models/DatabaseModels/LlmProvider.js +18 -13
  368. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  369. package/build/dist/Models/DatabaseModels/MetricType.js +11 -0
  370. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  371. package/build/dist/Models/DatabaseModels/Monitor.js +34 -0
  372. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  373. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +10 -0
  374. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  375. package/build/dist/Models/DatabaseModels/MonitorFeed.js +14 -0
  376. package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
  377. package/build/dist/Models/DatabaseModels/MonitorGroup.js +9 -0
  378. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
  379. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +12 -0
  380. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
  381. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +12 -0
  382. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
  383. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +9 -0
  384. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -1
  385. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +12 -0
  386. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
  387. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +12 -0
  388. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
  389. package/build/dist/Models/DatabaseModels/MonitorProbe.js +15 -0
  390. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  391. package/build/dist/Models/DatabaseModels/MonitorSecret.js +10 -0
  392. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
  393. package/build/dist/Models/DatabaseModels/MonitorStatus.js +14 -0
  394. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
  395. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +14 -0
  396. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  397. package/build/dist/Models/DatabaseModels/MonitorTest.js +14 -0
  398. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  399. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +12 -0
  400. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
  401. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +10 -0
  402. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
  403. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +11 -0
  404. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
  405. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +11 -0
  406. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -1
  407. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +11 -0
  408. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -1
  409. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +11 -0
  410. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -1
  411. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +27 -0
  412. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  413. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +31 -0
  414. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -1
  415. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +14 -0
  416. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
  417. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js +12 -0
  418. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js.map +1 -1
  419. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js +12 -0
  420. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js.map +1 -1
  421. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +17 -0
  422. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  423. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +16 -0
  424. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -1
  425. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js +14 -0
  426. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js.map +1 -1
  427. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +14 -0
  428. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
  429. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js +13 -0
  430. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js.map +1 -1
  431. package/build/dist/Models/DatabaseModels/Probe.js +20 -9
  432. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
  433. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +12 -0
  434. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
  435. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +12 -0
  436. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
  437. package/build/dist/Models/DatabaseModels/Project.js +42 -3
  438. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  439. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +14 -0
  440. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
  441. package/build/dist/Models/DatabaseModels/ProjectSCIM.js +14 -0
  442. package/build/dist/Models/DatabaseModels/ProjectSCIM.js.map +1 -1
  443. package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js +14 -0
  444. package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js.map +1 -1
  445. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +23 -0
  446. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
  447. package/build/dist/Models/DatabaseModels/ProjectSso.js +17 -0
  448. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  449. package/build/dist/Models/DatabaseModels/ProjectUserProfile.js +371 -0
  450. package/build/dist/Models/DatabaseModels/ProjectUserProfile.js.map +1 -0
  451. package/build/dist/Models/DatabaseModels/PromoCode.js +5 -0
  452. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
  453. package/build/dist/Models/DatabaseModels/PushNotificationLog.js +29 -0
  454. package/build/dist/Models/DatabaseModels/PushNotificationLog.js.map +1 -1
  455. package/build/dist/Models/DatabaseModels/Reseller.js +8 -4
  456. package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -1
  457. package/build/dist/Models/DatabaseModels/ResellerPlan.js +1 -1
  458. package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -1
  459. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +28 -0
  460. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  461. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +10 -0
  462. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  463. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js +14 -0
  464. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -1
  465. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +11 -0
  466. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  467. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +8 -0
  468. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -1
  469. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +12 -0
  470. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
  471. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +12 -0
  472. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
  473. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +15 -0
  474. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  475. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +16 -0
  476. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -1
  477. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +15 -0
  478. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  479. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +26 -0
  480. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  481. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js +11 -0
  482. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js.map +1 -1
  483. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +11 -0
  484. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js.map +1 -1
  485. package/build/dist/Models/DatabaseModels/Service.js +14 -0
  486. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  487. package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js +15 -0
  488. package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js.map +1 -1
  489. package/build/dist/Models/DatabaseModels/ServiceDependency.js +11 -0
  490. package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +1 -1
  491. package/build/dist/Models/DatabaseModels/ServiceMonitor.js +11 -0
  492. package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +1 -1
  493. package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js +11 -0
  494. package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js.map +1 -1
  495. package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js +11 -0
  496. package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js.map +1 -1
  497. package/build/dist/Models/DatabaseModels/SmsLog.js +29 -0
  498. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
  499. package/build/dist/Models/DatabaseModels/StatusPage.js +65 -0
  500. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  501. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +17 -0
  502. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  503. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +13 -0
  504. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  505. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +10 -0
  506. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
  507. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +18 -0
  508. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  509. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +11 -0
  510. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -1
  511. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +15 -0
  512. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
  513. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +11 -0
  514. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -1
  515. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js +10 -0
  516. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js.map +1 -1
  517. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +12 -0
  518. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
  519. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +12 -0
  520. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
  521. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +11 -0
  522. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  523. package/build/dist/Models/DatabaseModels/StatusPageResource.js +21 -0
  524. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  525. package/build/dist/Models/DatabaseModels/StatusPageSCIM.js +14 -0
  526. package/build/dist/Models/DatabaseModels/StatusPageSCIM.js.map +1 -1
  527. package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js +15 -0
  528. package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js.map +1 -1
  529. package/build/dist/Models/DatabaseModels/StatusPageSso.js +18 -0
  530. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  531. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +21 -0
  532. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  533. package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.js +12 -0
  534. package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.js.map +1 -1
  535. package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.js +10 -0
  536. package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.js.map +1 -1
  537. package/build/dist/Models/DatabaseModels/TableView.js +13 -0
  538. package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
  539. package/build/dist/Models/DatabaseModels/Team.js +12 -0
  540. package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
  541. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +10 -0
  542. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
  543. package/build/dist/Models/DatabaseModels/TeamMember.js +2 -0
  544. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
  545. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +377 -0
  546. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -0
  547. package/build/dist/Models/DatabaseModels/TeamPermission.js +11 -0
  548. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
  549. package/build/dist/Models/DatabaseModels/TelemetryException.js +28 -0
  550. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  551. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +8 -0
  552. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
  553. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +14 -0
  554. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  555. package/build/dist/Models/DatabaseModels/User.js +2 -2
  556. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  557. package/build/dist/Models/DatabaseModels/WhatsAppLog.js +30 -0
  558. package/build/dist/Models/DatabaseModels/WhatsAppLog.js.map +1 -1
  559. package/build/dist/Models/DatabaseModels/Workflow.js +13 -0
  560. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  561. package/build/dist/Models/DatabaseModels/WorkflowLog.js +9 -0
  562. package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
  563. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +12 -0
  564. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
  565. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js +35 -0
  566. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js.map +1 -1
  567. package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js +12 -0
  568. package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js.map +1 -1
  569. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js +10 -0
  570. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  571. package/build/dist/Server/API/ProjectAPI.js +22 -0
  572. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  573. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.js +48 -0
  574. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.js.map +1 -0
  575. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.js +18 -0
  576. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.js.map +1 -0
  577. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.js +18 -0
  578. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.js.map +1 -0
  579. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.js +112 -0
  580. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.js.map +1 -0
  581. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.js +38 -0
  582. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.js.map +1 -0
  583. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.js +16 -0
  584. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.js.map +1 -0
  585. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.js +92 -0
  586. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.js.map +1 -0
  587. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.js +12 -0
  588. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.js.map +1 -0
  589. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +16 -0
  590. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  591. package/build/dist/Server/Services/AlertGroupingEngineService.js +72 -4
  592. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  593. package/build/dist/Server/Services/IncidentEpisodeRoleMemberService.js +209 -0
  594. package/build/dist/Server/Services/IncidentEpisodeRoleMemberService.js.map +1 -0
  595. package/build/dist/Server/Services/IncidentEpisodeService.js +1 -1
  596. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  597. package/build/dist/Server/Services/IncidentGroupingEngineService.js +104 -4
  598. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  599. package/build/dist/Server/Services/IncidentMemberService.js +223 -0
  600. package/build/dist/Server/Services/IncidentMemberService.js.map +1 -0
  601. package/build/dist/Server/Services/IncidentRoleService.js +59 -0
  602. package/build/dist/Server/Services/IncidentRoleService.js.map +1 -0
  603. package/build/dist/Server/Services/IncidentService.js +27 -0
  604. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  605. package/build/dist/Server/Services/IncidentSlaRuleService.js +303 -0
  606. package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -0
  607. package/build/dist/Server/Services/IncidentSlaService.js +471 -0
  608. package/build/dist/Server/Services/IncidentSlaService.js.map +1 -0
  609. package/build/dist/Server/Services/IncidentStateTimelineService.js +154 -2
  610. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  611. package/build/dist/Server/Services/Index.js +14 -0
  612. package/build/dist/Server/Services/Index.js.map +1 -1
  613. package/build/dist/Server/Services/ProjectService.js +73 -1
  614. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  615. package/build/dist/Server/Services/ProjectUserProfileService.js +9 -0
  616. package/build/dist/Server/Services/ProjectUserProfileService.js.map +1 -0
  617. package/build/dist/Server/Services/TeamMemberCustomFieldService.js +9 -0
  618. package/build/dist/Server/Services/TeamMemberCustomFieldService.js.map +1 -0
  619. package/build/dist/Server/Services/UserOnCallLogService.js +4 -0
  620. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  621. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +23 -7
  622. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  623. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +52 -7
  624. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  625. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +2 -0
  626. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  627. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +8 -6
  628. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +1 -1
  629. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  630. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  631. package/build/dist/Types/Incident/IncidentSlaStatus.js +10 -0
  632. package/build/dist/Types/Incident/IncidentSlaStatus.js.map +1 -0
  633. package/build/dist/Types/Monitor/CriteriaAlert.js +3 -0
  634. package/build/dist/Types/Monitor/CriteriaAlert.js.map +1 -1
  635. package/build/dist/Types/Monitor/CriteriaIncident.js +7 -0
  636. package/build/dist/Types/Monitor/CriteriaIncident.js.map +1 -1
  637. package/build/dist/Types/NotificationRule/NotificationRuleType.js +1 -0
  638. package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
  639. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +1 -0
  640. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  641. package/build/dist/Types/Permission.js +206 -0
  642. package/build/dist/Types/Permission.js.map +1 -1
  643. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +3 -0
  644. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
  645. package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js +73 -0
  646. package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js.map +1 -0
  647. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +12 -9
  648. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  649. package/build/dist/UI/Components/Dropdown/Dropdown.js +1 -1
  650. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  651. package/build/dist/UI/Components/Forms/Fields/FormField.js +9 -0
  652. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  653. package/build/dist/UI/Components/Forms/Fields/IconPicker.js +64 -0
  654. package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -0
  655. package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js +1 -0
  656. package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js.map +1 -1
  657. package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js +2 -0
  658. package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js.map +1 -1
  659. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBell.js +50 -0
  660. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBell.js.map +1 -0
  661. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js +38 -0
  662. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js.map +1 -0
  663. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.js +51 -0
  664. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.js.map +1 -0
  665. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.js +24 -0
  666. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.js.map +1 -0
  667. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationItem.js +2 -0
  668. package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationItem.js.map +1 -0
  669. package/build/dist/UI/Components/HeaderAlert/NotificationBell/index.js +5 -0
  670. package/build/dist/UI/Components/HeaderAlert/NotificationBell/index.js.map +1 -0
  671. package/build/dist/UI/Components/Icon/Icon.js +11 -0
  672. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  673. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +264 -0
  674. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -0
  675. package/build/dist/UI/Components/RoleLabel/RoleLabel.js +40 -0
  676. package/build/dist/UI/Components/RoleLabel/RoleLabel.js.map +1 -0
  677. package/build/dist/UI/Components/Types/FieldType.js +1 -0
  678. package/build/dist/UI/Components/Types/FieldType.js.map +1 -1
  679. package/package.json +1 -1
@@ -5,8 +5,11 @@ import QueryHelper from "../Types/Database/QueryHelper";
5
5
  import DatabaseService from "./DatabaseService";
6
6
  import IncidentPublicNoteService from "./IncidentPublicNoteService";
7
7
  import IncidentService from "./IncidentService";
8
+ import IncidentSlaService from "./IncidentSlaService";
8
9
  import IncidentStateService from "./IncidentStateService";
9
10
  import UserService from "./UserService";
11
+ import IncidentMemberService from "./IncidentMemberService";
12
+ import IncidentRoleService from "./IncidentRoleService";
10
13
  import SortOrder from "../../Types/BaseDatabase/SortOrder";
11
14
  import OneUptimeDate from "../../Types/Date";
12
15
  import BadDataException from "../../Types/Exception/BadDataException";
@@ -18,6 +21,8 @@ import Incident from "../../Models/DatabaseModels/Incident";
18
21
  import IncidentPublicNote from "../../Models/DatabaseModels/IncidentPublicNote";
19
22
  import IncidentState from "../../Models/DatabaseModels/IncidentState";
20
23
  import IncidentStateTimeline from "../../Models/DatabaseModels/IncidentStateTimeline";
24
+ import IncidentMember from "../../Models/DatabaseModels/IncidentMember";
25
+ import IncidentRole from "../../Models/DatabaseModels/IncidentRole";
21
26
  import { IsBillingEnabled } from "../EnvironmentConfig";
22
27
  import logger from "../Utils/Logger";
23
28
  import IncidentFeedService from "./IncidentFeedService";
@@ -136,6 +141,7 @@ export class Service extends DatabaseService<IncidentStateTimeline> {
136
141
  _id: true,
137
142
  order: true,
138
143
  name: true,
144
+ isResolvedState: true,
139
145
  },
140
146
  startsAt: true,
141
147
  endsAt: true,
@@ -438,7 +444,7 @@ export class Service extends DatabaseService<IncidentStateTimeline> {
438
444
  ` Changed **[Incident ${incidentNumber}](${(await IncidentService.getIncidentLinkInDashboard(projectId!, incidentId!)).toString()}) State** to **` +
439
445
  stateName +
440
446
  "**",
441
- moreInformationInMarkdown: `**Cause:**
447
+ moreInformationInMarkdown: `**Cause:**
442
448
  ${createdItem.rootCause}`,
443
449
  userId: createdItem.createdByUserId || onCreate.createBy.props.userId,
444
450
  workspaceNotification: {
@@ -448,6 +454,21 @@ ${createdItem.rootCause}`,
448
454
  },
449
455
  });
450
456
 
457
+ // Auto-assign Incident Commander if not already assigned
458
+ const stateChangeUserId: ObjectID | undefined =
459
+ createdItem.createdByUserId || onCreate.createBy.props.userId;
460
+
461
+ if (stateChangeUserId) {
462
+ this.autoAssignIncidentCommander({
463
+ incidentId: createdItem.incidentId!,
464
+ projectId: createdItem.projectId!,
465
+ userId: stateChangeUserId,
466
+ }).catch((error: Error) => {
467
+ logger.error(`Error while auto-assigning incident commander:`);
468
+ logger.error(error);
469
+ });
470
+ }
471
+
451
472
  const isResolvedState: boolean = incidentState?.isResolvedState || false;
452
473
 
453
474
  if (isResolvedState) {
@@ -500,6 +521,21 @@ ${createdItem.rootCause}`,
500
521
  logger.error(error);
501
522
  });
502
523
 
524
+ // Track SLA response/resolution times
525
+ this.trackSlaStateChange({
526
+ incidentId: createdItem.incidentId,
527
+ projectId: createdItem.projectId!,
528
+ isAcknowledgedState: incidentState?.isAcknowledgedState || false,
529
+ isResolvedState: incidentState?.isResolvedState || false,
530
+ stateChangedAt: createdItem.startsAt || OneUptimeDate.getCurrentDate(),
531
+ previousStateWasResolved:
532
+ onCreate.carryForward.statusTimelineBeforeThisStatus?.incidentState
533
+ ?.isResolvedState || false,
534
+ }).catch((error: Error) => {
535
+ logger.error(`Error while tracking SLA state change:`);
536
+ logger.error(error);
537
+ });
538
+
503
539
  const isLastIncidentState: boolean = await this.isLastIncidentState({
504
540
  projectId: createdItem.projectId!,
505
541
  incidentStateId: createdItem.incidentStateId,
@@ -567,6 +603,151 @@ ${createdItem.rootCause}`,
567
603
  return false;
568
604
  }
569
605
 
606
+ @CaptureSpan()
607
+ private async autoAssignIncidentCommander(data: {
608
+ incidentId: ObjectID;
609
+ projectId: ObjectID;
610
+ userId: ObjectID;
611
+ }): Promise<void> {
612
+ // Find the primary role (Incident Commander) for this project
613
+ const primaryRole: IncidentRole | null =
614
+ await IncidentRoleService.findOneBy({
615
+ query: {
616
+ projectId: data.projectId,
617
+ isPrimaryRole: true,
618
+ },
619
+ select: {
620
+ _id: true,
621
+ },
622
+ props: {
623
+ isRoot: true,
624
+ },
625
+ });
626
+
627
+ if (!primaryRole || !primaryRole.id) {
628
+ // No primary role found for this project
629
+ return;
630
+ }
631
+
632
+ // Check if there's already an Incident Commander assigned to this incident
633
+ const existingCommander: IncidentMember | null =
634
+ await IncidentMemberService.findOneBy({
635
+ query: {
636
+ incidentId: data.incidentId,
637
+ incidentRoleId: primaryRole.id,
638
+ },
639
+ select: {
640
+ _id: true,
641
+ },
642
+ props: {
643
+ isRoot: true,
644
+ },
645
+ });
646
+
647
+ if (existingCommander) {
648
+ // Already has an Incident Commander, don't assign another one
649
+ return;
650
+ }
651
+
652
+ // Check if this user is already assigned to the incident (with any role)
653
+ const existingMembership: IncidentMember | null =
654
+ await IncidentMemberService.findOneBy({
655
+ query: {
656
+ incidentId: data.incidentId,
657
+ userId: data.userId,
658
+ },
659
+ select: {
660
+ _id: true,
661
+ },
662
+ props: {
663
+ isRoot: true,
664
+ },
665
+ });
666
+
667
+ if (existingMembership) {
668
+ // User is already assigned to this incident, don't assign again
669
+ return;
670
+ }
671
+
672
+ // Assign the user as Incident Commander
673
+ const incidentMember: IncidentMember = new IncidentMember();
674
+ incidentMember.incidentId = data.incidentId;
675
+ incidentMember.projectId = data.projectId;
676
+ incidentMember.userId = data.userId;
677
+ incidentMember.incidentRoleId = primaryRole.id;
678
+
679
+ await IncidentMemberService.create({
680
+ data: incidentMember,
681
+ props: {
682
+ isRoot: true,
683
+ },
684
+ });
685
+
686
+ logger.debug(
687
+ `Auto-assigned user ${data.userId.toString()} as Incident Commander for incident ${data.incidentId.toString()}`,
688
+ );
689
+ }
690
+
691
+ @CaptureSpan()
692
+ private async trackSlaStateChange(data: {
693
+ incidentId: ObjectID;
694
+ projectId: ObjectID;
695
+ isAcknowledgedState: boolean;
696
+ isResolvedState: boolean;
697
+ stateChangedAt: Date;
698
+ previousStateWasResolved: boolean;
699
+ }): Promise<void> {
700
+ try {
701
+ // Check if incident is being reopened (previous state was resolved, current state is not resolved)
702
+ if (data.previousStateWasResolved && !data.isResolvedState) {
703
+ // Incident is being reopened - create a new SLA record
704
+ const incident: Incident | null = await IncidentService.findOneById({
705
+ id: data.incidentId,
706
+ select: {
707
+ declaredAt: true,
708
+ },
709
+ props: {
710
+ isRoot: true,
711
+ },
712
+ });
713
+
714
+ if (incident && incident.declaredAt) {
715
+ // Create a new SLA record starting from the reopen time
716
+ await IncidentSlaService.createSlaForIncident({
717
+ incidentId: data.incidentId,
718
+ projectId: data.projectId,
719
+ declaredAt: data.stateChangedAt, // Use reopen time as SLA start time
720
+ });
721
+
722
+ logger.info(
723
+ `Created new SLA record for reopened incident ${data.incidentId}`,
724
+ );
725
+ }
726
+
727
+ return;
728
+ }
729
+
730
+ // Track acknowledged state
731
+ if (data.isAcknowledgedState) {
732
+ await IncidentSlaService.markResponded({
733
+ incidentId: data.incidentId,
734
+ respondedAt: data.stateChangedAt,
735
+ });
736
+ }
737
+
738
+ // Track resolved state
739
+ if (data.isResolvedState) {
740
+ await IncidentSlaService.markResolved({
741
+ incidentId: data.incidentId,
742
+ resolvedAt: data.stateChangedAt,
743
+ });
744
+ }
745
+ } catch (error) {
746
+ logger.error(`Error in trackSlaStateChange: ${error}`);
747
+ throw error;
748
+ }
749
+ }
750
+
570
751
  @CaptureSpan()
571
752
  protected override async onBeforeDelete(
572
753
  deleteBy: DeleteBy<IncidentStateTimeline>,
@@ -23,6 +23,8 @@ import IncidentCustomFieldService from "./IncidentCustomFieldService";
23
23
  import IncidentInternalNoteService from "./IncidentInternalNoteService";
24
24
  import IncidentOwnerTeamService from "./IncidentOwnerTeamService";
25
25
  import IncidentOwnerUserService from "./IncidentOwnerUserService";
26
+ import IncidentRoleService from "./IncidentRoleService";
27
+ import IncidentMemberService from "./IncidentMemberService";
26
28
  import IncidentPublicNoteService from "./IncidentPublicNoteService";
27
29
  // Incidents
28
30
  import IncidentService from "./IncidentService";
@@ -71,6 +73,7 @@ import AIAgentTaskLogService from "./AIAgentTaskLogService";
71
73
  import AIAgentTaskPullRequestService from "./AIAgentTaskPullRequestService";
72
74
  import ProjectCallSMSConfigService from "./ProjectCallSMSConfigService";
73
75
  import ProjectService from "./ProjectService";
76
+ import ProjectUserProfileService from "./ProjectUserProfileService";
74
77
  // Project SMTP Config.
75
78
  import ProjectSmtpConfigService from "./ProjectSmtpConfigService";
76
79
  import ProjectSsoService from "./ProjectSsoService";
@@ -118,6 +121,7 @@ import StatusPageSubscriberService from "./StatusPageSubscriberService";
118
121
  import StatusPageSubscriberNotificationTemplateService from "./StatusPageSubscriberNotificationTemplateService";
119
122
  import StatusPageSubscriberNotificationTemplateStatusPageService from "./StatusPageSubscriberNotificationTemplateStatusPageService";
120
123
  import TeamMemberService from "./TeamMemberService";
124
+ import TeamMemberCustomFieldService from "./TeamMemberCustomFieldService";
121
125
  import TeamPermissionService from "./TeamPermissionService";
122
126
  import TeamComplianceSettingService from "./TeamComplianceSettingService";
123
127
  // Team
@@ -173,10 +177,13 @@ import IncidentEpisodeService from "./IncidentEpisodeService";
173
177
  import IncidentEpisodeFeedService from "./IncidentEpisodeFeedService";
174
178
  import IncidentEpisodeInternalNoteService from "./IncidentEpisodeInternalNoteService";
175
179
  import IncidentEpisodeMemberService from "./IncidentEpisodeMemberService";
180
+ import IncidentEpisodeRoleMemberService from "./IncidentEpisodeRoleMemberService";
176
181
  import IncidentEpisodeOwnerTeamService from "./IncidentEpisodeOwnerTeamService";
177
182
  import IncidentEpisodeOwnerUserService from "./IncidentEpisodeOwnerUserService";
178
183
  import IncidentEpisodeStateTimelineService from "./IncidentEpisodeStateTimelineService";
179
184
  import AlertGroupingRuleService from "./AlertGroupingRuleService";
185
+ import IncidentSlaRuleService from "./IncidentSlaRuleService";
186
+ import IncidentSlaService from "./IncidentSlaService";
180
187
 
181
188
  import TableViewService from "./TableViewService";
182
189
  import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
@@ -232,6 +239,8 @@ const services: Array<BaseService> = [
232
239
  IncidentInternalNoteService,
233
240
  IncidentOwnerTeamService,
234
241
  IncidentOwnerUserService,
242
+ IncidentRoleService,
243
+ IncidentMemberService,
235
244
  IncidentPublicNoteService,
236
245
  IncidentService,
237
246
  IncidentSeverityService,
@@ -309,6 +318,7 @@ const services: Array<BaseService> = [
309
318
  StatusPageHistoryChartBarColorRuleService,
310
319
 
311
320
  TeamMemberService,
321
+ TeamMemberCustomFieldService,
312
322
  TeamPermissionService,
313
323
  TeamComplianceSettingService,
314
324
  TeamService,
@@ -345,6 +355,7 @@ const services: Array<BaseService> = [
345
355
 
346
356
  UsageBillingService,
347
357
  ProjectCallSMSConfigService,
358
+ ProjectUserProfileService,
348
359
 
349
360
  ServiceService,
350
361
  ServiceOwnerTeamService,
@@ -385,10 +396,13 @@ const services: Array<BaseService> = [
385
396
  IncidentEpisodeFeedService,
386
397
  IncidentEpisodeInternalNoteService,
387
398
  IncidentEpisodeMemberService,
399
+ IncidentEpisodeRoleMemberService,
388
400
  IncidentEpisodeOwnerTeamService,
389
401
  IncidentEpisodeOwnerUserService,
390
402
  IncidentEpisodeStateTimelineService,
391
403
  AlertGroupingRuleService,
404
+ IncidentSlaRuleService,
405
+ IncidentSlaService,
392
406
 
393
407
  TableViewService,
394
408
  MonitorTestService,
@@ -14,11 +14,13 @@ import { OnCreate, OnDelete, OnFind, OnUpdate } from "../Types/Database/Hooks";
14
14
  import QueryHelper from "../Types/Database/QueryHelper";
15
15
  import UpdateBy from "../Types/Database/UpdateBy";
16
16
  import logger from "../Utils/Logger";
17
+ import Errors from "../Utils/Errors";
17
18
  import AccessTokenService from "./AccessTokenService";
18
19
  import BillingService from "./BillingService";
19
20
  import DatabaseService from "./DatabaseService";
20
21
  import IncidentSeverityService from "./IncidentSeverityService";
21
22
  import IncidentStateService from "./IncidentStateService";
23
+ import IncidentRoleService from "./IncidentRoleService";
22
24
  import MailService from "./MailService";
23
25
  import MonitorStatusService from "./MonitorStatusService";
24
26
  import NotificationService from "./NotificationService";
@@ -36,9 +38,13 @@ import SubscriptionPlan, {
36
38
  import SubscriptionStatus from "../../Types/Billing/SubscriptionStatus";
37
39
  import {
38
40
  Black,
41
+ Blue500,
42
+ Gray500,
39
43
  Green,
40
44
  Moroon500,
45
+ Purple500,
41
46
  Red,
47
+ Teal500,
42
48
  Yellow,
43
49
  Yellow500,
44
50
  } from "../../Types/BrandColors";
@@ -48,10 +54,12 @@ import OneUptimeDate from "../../Types/Date";
48
54
  import EmailTemplateType from "../../Types/Email/EmailTemplateType";
49
55
  import BadDataException from "../../Types/Exception/BadDataException";
50
56
  import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
57
+ import IconProp from "../../Types/Icon/IconProp";
51
58
  import ObjectID from "../../Types/ObjectID";
52
59
  import Permission from "../../Types/Permission";
53
60
  import IncidentSeverity from "../../Models/DatabaseModels/IncidentSeverity";
54
61
  import IncidentState from "../../Models/DatabaseModels/IncidentState";
62
+ import IncidentRole from "../../Models/DatabaseModels/IncidentRole";
55
63
  import MonitorStatus from "../../Models/DatabaseModels/MonitorStatus";
56
64
  import Model from "../../Models/DatabaseModels/Project";
57
65
  import PromoCode from "../../Models/DatabaseModels/PromoCode";
@@ -387,6 +395,7 @@ export class ProjectService extends DatabaseService<Model> {
387
395
  paymentProviderSubscriptionSeats: true,
388
396
  paymentProviderPlanId: true,
389
397
  trialEndsAt: true,
398
+ paymentProviderCustomerId: true,
390
399
  },
391
400
  props: {
392
401
  isRoot: true,
@@ -407,6 +416,19 @@ export class ProjectService extends DatabaseService<Model> {
407
416
  );
408
417
  }
409
418
 
419
+ // Check if customer has payment methods before attempting to change plan
420
+ if (!project.paymentProviderCustomerId) {
421
+ throw new BadDataException("Payment Provider customer not found");
422
+ }
423
+
424
+ const hasPaymentMethods: boolean = await BillingService.hasPaymentMethods(
425
+ project.paymentProviderCustomerId,
426
+ );
427
+
428
+ if (!hasPaymentMethods) {
429
+ throw new BadDataException(Errors.BillingService.NO_PAYMENTS_METHODS);
430
+ }
431
+
410
432
  const plan: SubscriptionPlan | undefined =
411
433
  SubscriptionPlan.getSubscriptionPlanById(
412
434
  params.paymentProviderPlanId,
@@ -689,6 +711,7 @@ export class ProjectService extends DatabaseService<Model> {
689
711
  createdItem = await this.addDefaultIncidentState(createdItem);
690
712
  createdItem = await this.addDefaultScheduledMaintenanceState(createdItem);
691
713
  createdItem = await this.addDefaultAlertState(createdItem);
714
+ createdItem = await this.addDefaultIncidentRoles(createdItem);
692
715
 
693
716
  if (NotificationSlackWebhookOnCreateProject) {
694
717
  // fetch project again.
@@ -928,6 +951,73 @@ export class ProjectService extends DatabaseService<Model> {
928
951
  return createdItem;
929
952
  }
930
953
 
954
+ public async addDefaultIncidentRoles(createdItem: Model): Promise<Model> {
955
+ let incidentCommander: IncidentRole = new IncidentRole();
956
+ incidentCommander.name = "Incident Commander";
957
+ incidentCommander.description =
958
+ "Primary decision maker during an incident. Responsible for coordinating the response and making final decisions.";
959
+ incidentCommander.color = Purple500;
960
+ incidentCommander.roleIcon = IconProp.ShieldCheck;
961
+ incidentCommander.projectId = createdItem.id!;
962
+ incidentCommander.isPrimaryRole = true;
963
+ incidentCommander.isDeleteable = false;
964
+
965
+ incidentCommander = await IncidentRoleService.create({
966
+ data: incidentCommander,
967
+ props: {
968
+ isRoot: true,
969
+ },
970
+ });
971
+
972
+ let responder: IncidentRole = new IncidentRole();
973
+ responder.name = "Responder";
974
+ responder.description =
975
+ "Active participant in incident resolution. Performs hands-on work to resolve the incident.";
976
+ responder.color = Blue500;
977
+ responder.roleIcon = IconProp.Wrench;
978
+ responder.projectId = createdItem.id!;
979
+
980
+ responder = await IncidentRoleService.create({
981
+ data: responder,
982
+ props: {
983
+ isRoot: true,
984
+ },
985
+ });
986
+
987
+ let communicationsLead: IncidentRole = new IncidentRole();
988
+ communicationsLead.name = "Communications Lead";
989
+ communicationsLead.description =
990
+ "Handles stakeholder communication and status updates during an incident.";
991
+ communicationsLead.color = Teal500;
992
+ communicationsLead.roleIcon = IconProp.Announcement;
993
+ communicationsLead.projectId = createdItem.id!;
994
+
995
+ communicationsLead = await IncidentRoleService.create({
996
+ data: communicationsLead,
997
+ props: {
998
+ isRoot: true,
999
+ },
1000
+ });
1001
+
1002
+ let observer: IncidentRole = new IncidentRole();
1003
+ observer.name = "Observer";
1004
+ observer.description =
1005
+ "Read-only participant who monitors the incident without active involvement.";
1006
+ observer.color = Gray500;
1007
+ observer.roleIcon = IconProp.Activity;
1008
+ observer.projectId = createdItem.id!;
1009
+ observer.canAssignMultipleUsers = true;
1010
+
1011
+ observer = await IncidentRoleService.create({
1012
+ data: observer,
1013
+ props: {
1014
+ isRoot: true,
1015
+ },
1016
+ });
1017
+
1018
+ return createdItem;
1019
+ }
1020
+
931
1021
  private async addDefaultMonitorStatus(createdItem: Model): Promise<Model> {
932
1022
  let operationalStatus: MonitorStatus = new MonitorStatus();
933
1023
  operationalStatus.name = "Operational";
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/ProjectUserProfile";
3
+
4
+ export class Service extends DatabaseService<Model> {
5
+ public constructor() {
6
+ super(Model);
7
+ }
8
+ }
9
+ export default new Service();
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/TeamMemberCustomField";
3
+
4
+ export class Service extends DatabaseService<Model> {
5
+ public constructor() {
6
+ super(Model);
7
+ }
8
+ }
9
+ export default new Service();
@@ -376,6 +376,13 @@ export class Service extends DatabaseService<Model> {
376
376
  return NotificationRuleType.ON_CALL_EXECUTED_ALERT_EPISODE;
377
377
  }
378
378
 
379
+ if (
380
+ userNotificationEventType ===
381
+ UserNotificationEventType.IncidentEpisodeCreated
382
+ ) {
383
+ return NotificationRuleType.ON_CALL_EXECUTED_INCIDENT_EPISODE;
384
+ }
385
+
379
386
  // Invalid user notification event type.
380
387
  throw new BadDataException("Invalid user notification event type.");
381
388
  }
@@ -1,6 +1,7 @@
1
1
  import Alert from "../../../Models/DatabaseModels/Alert";
2
2
  import AlertSeverity from "../../../Models/DatabaseModels/AlertSeverity";
3
3
  import AlertStateTimeline from "../../../Models/DatabaseModels/AlertStateTimeline";
4
+ import Label from "../../../Models/DatabaseModels/Label";
4
5
  import Monitor from "../../../Models/DatabaseModels/Monitor";
5
6
  import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
6
7
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
@@ -218,6 +219,14 @@ export default class MonitorAlert {
218
219
  return onCallPolicy;
219
220
  }) || [];
220
221
 
222
+ // Set labels from criteria
223
+ alert.labels =
224
+ criteriaAlert.labelIds?.map((id: ObjectID) => {
225
+ const label: Label = new Label();
226
+ label._id = id.toString();
227
+ return label;
228
+ }) || [];
229
+
221
230
  alert.isCreatedAutomatically = true;
222
231
 
223
232
  if (input.props.telemetryQuery) {
@@ -259,6 +268,23 @@ export default class MonitorAlert {
259
268
  },
260
269
  });
261
270
 
271
+ // Add owner teams and users after alert creation
272
+ if (
273
+ criteriaAlert.ownerTeamIds?.length ||
274
+ criteriaAlert.ownerUserIds?.length
275
+ ) {
276
+ await AlertService.addOwners(
277
+ input.monitor.projectId!,
278
+ createdAlert.id!,
279
+ criteriaAlert.ownerUserIds || [],
280
+ criteriaAlert.ownerTeamIds || [],
281
+ true, // notify owners
282
+ {
283
+ isRoot: true,
284
+ },
285
+ );
286
+ }
287
+
262
288
  input.evaluationSummary?.events.push({
263
289
  type: "alert-created",
264
290
  title: `Alert created: ${createdAlert.title || criteriaAlert.title}`,
@@ -1,6 +1,8 @@
1
1
  import Incident from "../../../Models/DatabaseModels/Incident";
2
2
  import IncidentSeverity from "../../../Models/DatabaseModels/IncidentSeverity";
3
3
  import IncidentStateTimeline from "../../../Models/DatabaseModels/IncidentStateTimeline";
4
+ import IncidentMember from "../../../Models/DatabaseModels/IncidentMember";
5
+ import Label from "../../../Models/DatabaseModels/Label";
4
6
  import Monitor from "../../../Models/DatabaseModels/Monitor";
5
7
  import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
6
8
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
@@ -16,6 +18,7 @@ import { DisableAutomaticIncidentCreation } from "../../EnvironmentConfig";
16
18
  import IncidentService from "../../Services/IncidentService";
17
19
  import IncidentSeverityService from "../../Services/IncidentSeverityService";
18
20
  import IncidentStateTimelineService from "../../Services/IncidentStateTimelineService";
21
+ import IncidentMemberService from "../../Services/IncidentMemberService";
19
22
  import logger from "../Logger";
20
23
  import CaptureSpan from "../Telemetry/CaptureSpan";
21
24
  import DataToProcess from "./DataToProcess";
@@ -23,6 +26,7 @@ import MonitorTemplateUtil from "./MonitorTemplateUtil";
23
26
  import { JSONObject } from "../../../Types/JSON";
24
27
  import OneUptimeDate from "../../../Types/Date";
25
28
  import MonitorEvaluationSummary from "../../../Types/Monitor/MonitorEvaluationSummary";
29
+ import { IncidentMemberRoleAssignment } from "../../../Types/Monitor/CriteriaIncident";
26
30
 
27
31
  export default class MonitorIncident {
28
32
  @CaptureSpan()
@@ -228,6 +232,14 @@ export default class MonitorIncident {
228
232
  return onCallPolicy;
229
233
  }) || [];
230
234
 
235
+ // Set labels from criteria
236
+ incident.labels =
237
+ criteriaIncident.labelIds?.map((id: ObjectID) => {
238
+ const label: Label = new Label();
239
+ label._id = id.toString();
240
+ return label;
241
+ }) || [];
242
+
231
243
  incident.isCreatedAutomatically = true;
232
244
 
233
245
  if (input.props.telemetryQuery) {
@@ -271,6 +283,63 @@ export default class MonitorIncident {
271
283
  },
272
284
  });
273
285
 
286
+ // Add owner teams and users after incident creation
287
+ if (
288
+ criteriaIncident.ownerTeamIds?.length ||
289
+ criteriaIncident.ownerUserIds?.length
290
+ ) {
291
+ await IncidentService.addOwners(
292
+ input.monitor.projectId!,
293
+ createdIncident.id!,
294
+ criteriaIncident.ownerUserIds || [],
295
+ criteriaIncident.ownerTeamIds || [],
296
+ true, // notify owners
297
+ {
298
+ isRoot: true,
299
+ },
300
+ );
301
+ }
302
+
303
+ // Add incident member role assignments after incident creation
304
+ if (
305
+ criteriaIncident.incidentMemberRoles &&
306
+ criteriaIncident.incidentMemberRoles.length > 0
307
+ ) {
308
+ for (const roleAssignment of criteriaIncident.incidentMemberRoles) {
309
+ try {
310
+ const assignment: IncidentMemberRoleAssignment =
311
+ roleAssignment as IncidentMemberRoleAssignment;
312
+
313
+ if (assignment.roleId && assignment.userId) {
314
+ const incidentMember: IncidentMember = new IncidentMember();
315
+ incidentMember.incidentId = createdIncident.id!;
316
+ incidentMember.projectId = input.monitor.projectId!;
317
+ incidentMember.userId = new ObjectID(
318
+ assignment.userId.toString(),
319
+ );
320
+ incidentMember.incidentRoleId = new ObjectID(
321
+ assignment.roleId.toString(),
322
+ );
323
+
324
+ await IncidentMemberService.create({
325
+ data: incidentMember,
326
+ props: {
327
+ isRoot: true,
328
+ },
329
+ });
330
+
331
+ logger.debug(
332
+ `${input.monitor.id?.toString()} - Assigned incident member role ${assignment.roleId.toString()} to user ${assignment.userId.toString()}`,
333
+ );
334
+ }
335
+ } catch (memberError) {
336
+ logger.error(
337
+ `${input.monitor.id?.toString()} - Failed to assign incident member role: ${memberError}`,
338
+ );
339
+ }
340
+ }
341
+ }
342
+
274
343
  input.evaluationSummary?.events.push({
275
344
  type: "incident-created",
276
345
  title: `Incident created: ${createdIncident.title || criteriaIncident.title}`,
@@ -34,6 +34,7 @@ const templateDashboardLinkVariableMap: Partial<
34
34
  [WhatsAppTemplateIds.IncidentNotePostedOwnerNotification]: "incident_link",
35
35
  [WhatsAppTemplateIds.IncidentStateChangedOwnerNotification]: "incident_link",
36
36
  [WhatsAppTemplateIds.IncidentOwnerAddedNotification]: "incident_link",
37
+ [WhatsAppTemplateIds.IncidentMemberAddedNotification]: "incident_link",
37
38
  [WhatsAppTemplateIds.MonitorOwnerAddedNotification]: "monitor_link",
38
39
  [WhatsAppTemplateIds.MonitorCreatedOwnerNotification]: "monitor_link",
39
40
  [WhatsAppTemplateIds.MonitorStatusChangedOwnerNotification]: "monitor_link",
@@ -75,6 +76,8 @@ const templateIdByEventType: Record<
75
76
  WhatsAppTemplateIds.IncidentStateChangedOwnerNotification,
76
77
  [NotificationSettingEventType.SEND_INCIDENT_OWNER_ADDED_NOTIFICATION]:
77
78
  WhatsAppTemplateIds.IncidentOwnerAddedNotification,
79
+ [NotificationSettingEventType.SEND_INCIDENT_MEMBER_ADDED_NOTIFICATION]:
80
+ WhatsAppTemplateIds.IncidentMemberAddedNotification,
78
81
  [NotificationSettingEventType.SEND_ALERT_CREATED_OWNER_NOTIFICATION]:
79
82
  WhatsAppTemplateIds.AlertCreatedOwnerNotification,
80
83
  [NotificationSettingEventType.SEND_ALERT_NOTE_POSTED_OWNER_NOTIFICATION]: