@oneuptime/common 9.2.15 → 9.2.17

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 (441) hide show
  1. package/Models/DatabaseModels/Alert.ts +11 -0
  2. package/Models/DatabaseModels/AlertCustomField.ts +7 -0
  3. package/Models/DatabaseModels/AlertFeed.ts +9 -0
  4. package/Models/DatabaseModels/AlertInternalNote.ts +7 -0
  5. package/Models/DatabaseModels/AlertNoteTemplate.ts +11 -0
  6. package/Models/DatabaseModels/AlertOwnerTeam.ts +11 -0
  7. package/Models/DatabaseModels/AlertOwnerUser.ts +11 -0
  8. package/Models/DatabaseModels/AlertSeverity.ts +4 -0
  9. package/Models/DatabaseModels/AlertState.ts +4 -0
  10. package/Models/DatabaseModels/AlertStateTimeline.ts +20 -0
  11. package/Models/DatabaseModels/ApiKey.ts +8 -0
  12. package/Models/DatabaseModels/ApiKeyPermission.ts +11 -0
  13. package/Models/DatabaseModels/BillingInvoice.ts +42 -9
  14. package/Models/DatabaseModels/CallLog.ts +30 -0
  15. package/Models/DatabaseModels/CodeRepository.ts +664 -0
  16. package/Models/DatabaseModels/Dashboard.ts +11 -0
  17. package/Models/DatabaseModels/Domain.ts +5 -0
  18. package/Models/DatabaseModels/EmailLog.ts +31 -0
  19. package/Models/DatabaseModels/Incident.ts +8 -0
  20. package/Models/DatabaseModels/IncidentCustomField.ts +7 -0
  21. package/Models/DatabaseModels/IncidentFeed.ts +17 -0
  22. package/Models/DatabaseModels/IncidentInternalNote.ts +7 -0
  23. package/Models/DatabaseModels/IncidentNoteTemplate.ts +11 -0
  24. package/Models/DatabaseModels/IncidentOwnerTeam.ts +11 -0
  25. package/Models/DatabaseModels/IncidentOwnerUser.ts +11 -0
  26. package/Models/DatabaseModels/IncidentPublicNote.ts +8 -0
  27. package/Models/DatabaseModels/IncidentSeverity.ts +4 -0
  28. package/Models/DatabaseModels/IncidentState.ts +4 -0
  29. package/Models/DatabaseModels/IncidentStateTimeline.ts +25 -0
  30. package/Models/DatabaseModels/IncidentTemplate.ts +18 -0
  31. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +6 -0
  32. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +6 -0
  33. package/Models/DatabaseModels/Index.ts +8 -0
  34. package/Models/DatabaseModels/Label.ts +6 -0
  35. package/Models/DatabaseModels/LlmLog.ts +818 -0
  36. package/Models/DatabaseModels/LlmProvider.ts +21 -0
  37. package/Models/DatabaseModels/Monitor.ts +9 -0
  38. package/Models/DatabaseModels/MonitorCustomField.ts +7 -0
  39. package/Models/DatabaseModels/MonitorFeed.ts +17 -0
  40. package/Models/DatabaseModels/MonitorGroup.ts +5 -0
  41. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +11 -0
  42. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +11 -0
  43. package/Models/DatabaseModels/MonitorGroupResource.ts +10 -0
  44. package/Models/DatabaseModels/MonitorOwnerTeam.ts +11 -0
  45. package/Models/DatabaseModels/MonitorOwnerUser.ts +11 -0
  46. package/Models/DatabaseModels/MonitorProbe.ts +26 -2
  47. package/Models/DatabaseModels/MonitorSecret.ts +10 -0
  48. package/Models/DatabaseModels/MonitorStatus.ts +5 -0
  49. package/Models/DatabaseModels/MonitorStatusTimeline.ts +21 -0
  50. package/Models/DatabaseModels/MonitorTest.ts +18 -1
  51. package/Models/DatabaseModels/OnCallDutyPolicy.ts +6 -0
  52. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +13 -0
  53. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +34 -1
  54. package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +17 -0
  55. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +19 -0
  56. package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +16 -0
  57. package/Models/DatabaseModels/Probe.ts +11 -1
  58. package/Models/DatabaseModels/ProbeOwnerTeam.ts +11 -0
  59. package/Models/DatabaseModels/ProbeOwnerUser.ts +11 -0
  60. package/Models/DatabaseModels/Project.ts +222 -0
  61. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +13 -0
  62. package/Models/DatabaseModels/ProjectSmtpConfig.ts +41 -6
  63. package/Models/DatabaseModels/ProjectSso.ts +17 -0
  64. package/Models/DatabaseModels/PromoCode.ts +20 -1
  65. package/Models/DatabaseModels/PushNotificationLog.ts +31 -0
  66. package/Models/DatabaseModels/Reseller.ts +12 -0
  67. package/Models/DatabaseModels/ResellerPlan.ts +13 -0
  68. package/Models/DatabaseModels/ScheduledMaintenance.ts +8 -0
  69. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +7 -0
  70. package/Models/DatabaseModels/ScheduledMaintenanceFeed.ts +17 -0
  71. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +7 -0
  72. package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +11 -0
  73. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +11 -0
  74. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +11 -0
  75. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +12 -0
  76. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +17 -0
  77. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +29 -0
  78. package/Models/DatabaseModels/ServiceCatalog.ts +6 -0
  79. package/Models/DatabaseModels/ServiceCatalogCodeRepository.ts +549 -0
  80. package/Models/DatabaseModels/ServiceCatalogDependency.ts +10 -0
  81. package/Models/DatabaseModels/ServiceCatalogMonitor.ts +10 -0
  82. package/Models/DatabaseModels/ServiceCatalogOwnerTeam.ts +10 -0
  83. package/Models/DatabaseModels/ServiceCatalogOwnerUser.ts +10 -0
  84. package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +10 -0
  85. package/Models/DatabaseModels/ShortLink.ts +4 -0
  86. package/Models/DatabaseModels/SmsLog.ts +31 -0
  87. package/Models/DatabaseModels/StatusPage.ts +6 -0
  88. package/Models/DatabaseModels/StatusPageAnnouncement.ts +5 -0
  89. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +21 -0
  90. package/Models/DatabaseModels/StatusPageDomain.ts +10 -1
  91. package/Models/DatabaseModels/StatusPageFooterLink.ts +7 -0
  92. package/Models/DatabaseModels/StatusPageGroup.ts +8 -0
  93. package/Models/DatabaseModels/StatusPageHeaderLink.ts +5 -0
  94. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +6 -0
  95. package/Models/DatabaseModels/StatusPageOwnerUser.ts +6 -0
  96. package/Models/DatabaseModels/StatusPageResource.ts +9 -0
  97. package/Models/DatabaseModels/StatusPageSso.ts +14 -0
  98. package/Models/DatabaseModels/StatusPageSubscriber.ts +5 -0
  99. package/Models/DatabaseModels/TableView.ts +12 -0
  100. package/Models/DatabaseModels/Team.ts +10 -0
  101. package/Models/DatabaseModels/TeamMember.ts +12 -0
  102. package/Models/DatabaseModels/TeamPermission.ts +11 -0
  103. package/Models/DatabaseModels/TelemetryException.ts +28 -0
  104. package/Models/DatabaseModels/TelemetryIngestionKey.ts +10 -0
  105. package/Models/DatabaseModels/TelemetryService.ts +6 -0
  106. package/Models/DatabaseModels/TelemetryUsageBilling.ts +15 -0
  107. package/Models/DatabaseModels/User.ts +9 -1
  108. package/Models/DatabaseModels/UserCall.ts +7 -0
  109. package/Models/DatabaseModels/UserEmail.ts +7 -0
  110. package/Models/DatabaseModels/UserNotificationRule.ts +13 -0
  111. package/Models/DatabaseModels/UserNotificationSetting.ts +10 -0
  112. package/Models/DatabaseModels/UserOnCallLog.ts +28 -2
  113. package/Models/DatabaseModels/UserSMS.ts +7 -0
  114. package/Models/DatabaseModels/Workflow.ts +6 -0
  115. package/Server/API/AIBillingAPI.ts +126 -0
  116. package/Server/API/GitHubAPI.ts +360 -0
  117. package/Server/API/IncidentAPI.ts +126 -0
  118. package/Server/EnvironmentConfig.ts +44 -0
  119. package/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.ts +79 -0
  120. package/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.ts +75 -0
  121. package/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.ts +32 -0
  122. package/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.ts +69 -0
  123. package/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.ts +111 -0
  124. package/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.ts +39 -0
  125. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  126. package/Server/Services/AIBillingService.ts +247 -0
  127. package/Server/Services/AIService.ts +239 -0
  128. package/Server/Services/CodeRepositoryService.ts +10 -0
  129. package/Server/Services/IncidentService.ts +89 -0
  130. package/Server/Services/Index.ts +2 -0
  131. package/Server/Services/LlmLogService.ts +14 -0
  132. package/Server/Services/LlmProviderService.ts +58 -0
  133. package/Server/Services/ServiceCatalogCodeRepositoryService.ts +55 -0
  134. package/Server/Utils/AI/IncidentAIContextBuilder.ts +498 -0
  135. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +226 -0
  136. package/Server/Utils/LLM/LLMService.ts +276 -0
  137. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +166 -0
  138. package/Server/Utils/Workspace/Slack/Slack.ts +134 -0
  139. package/Server/Utils/Workspace/Workspace.ts +126 -0
  140. package/Types/CodeRepository/CodeRepositoryType.ts +1 -1
  141. package/Types/Database/TableColumn.ts +1 -0
  142. package/Types/LlmLogStatus.ts +7 -0
  143. package/Types/Permission.ts +87 -0
  144. package/Types/ServiceCatalog/CodeRepositoryImprovementAction.ts +9 -0
  145. package/UI/Components/AI/AILoader.tsx +95 -0
  146. package/UI/Components/AI/GenerateFromAIModal.tsx +295 -0
  147. package/UI/Components/Modal/Modal.tsx +6 -1
  148. package/build/dist/Models/DatabaseModels/Alert.js +8 -0
  149. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  150. package/build/dist/Models/DatabaseModels/AlertCustomField.js +6 -0
  151. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  152. package/build/dist/Models/DatabaseModels/AlertFeed.js +8 -0
  153. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  154. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +6 -0
  155. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  156. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +9 -0
  157. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -1
  158. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +11 -0
  159. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +11 -0
  161. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/AlertSeverity.js +3 -0
  163. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/AlertState.js +3 -0
  165. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +19 -0
  167. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  168. package/build/dist/Models/DatabaseModels/ApiKey.js +7 -0
  169. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +11 -0
  171. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
  172. package/build/dist/Models/DatabaseModels/BillingInvoice.js +42 -9
  173. package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
  174. package/build/dist/Models/DatabaseModels/CallLog.js +30 -0
  175. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/CodeRepository.js +689 -0
  177. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -0
  178. package/build/dist/Models/DatabaseModels/Dashboard.js +11 -0
  179. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/Domain.js +5 -0
  181. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/EmailLog.js +31 -0
  183. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
  184. package/build/dist/Models/DatabaseModels/Incident.js +7 -0
  185. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +6 -0
  187. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  188. package/build/dist/Models/DatabaseModels/IncidentFeed.js +15 -0
  189. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  190. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +6 -0
  191. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  192. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +9 -0
  193. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
  194. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +11 -0
  195. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
  196. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +11 -0
  197. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
  198. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +7 -0
  199. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  200. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +3 -0
  201. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  202. package/build/dist/Models/DatabaseModels/IncidentState.js +3 -0
  203. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
  204. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +23 -0
  205. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  206. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +16 -0
  207. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  208. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +6 -0
  209. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
  210. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +6 -0
  211. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
  212. package/build/dist/Models/DatabaseModels/Index.js +7 -0
  213. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  214. package/build/dist/Models/DatabaseModels/Label.js +6 -0
  215. package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
  216. package/build/dist/Models/DatabaseModels/LlmLog.js +856 -0
  217. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -0
  218. package/build/dist/Models/DatabaseModels/LlmProvider.js +22 -0
  219. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  220. package/build/dist/Models/DatabaseModels/Monitor.js +8 -0
  221. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  222. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +6 -0
  223. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  224. package/build/dist/Models/DatabaseModels/MonitorFeed.js +15 -0
  225. package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
  226. package/build/dist/Models/DatabaseModels/MonitorGroup.js +5 -0
  227. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
  228. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +11 -0
  229. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
  230. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +11 -0
  231. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
  232. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +10 -0
  233. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -1
  234. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +11 -0
  235. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
  236. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +11 -0
  237. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
  238. package/build/dist/Models/DatabaseModels/MonitorProbe.js +26 -2
  239. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  240. package/build/dist/Models/DatabaseModels/MonitorSecret.js +10 -0
  241. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
  242. package/build/dist/Models/DatabaseModels/MonitorStatus.js +5 -0
  243. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
  244. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +20 -0
  245. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  246. package/build/dist/Models/DatabaseModels/MonitorTest.js +18 -1
  247. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  248. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +5 -0
  249. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
  250. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +12 -0
  251. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
  252. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +33 -1
  253. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  254. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +15 -0
  255. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
  256. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +18 -0
  257. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  258. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +15 -0
  259. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
  260. package/build/dist/Models/DatabaseModels/Probe.js +11 -1
  261. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
  262. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +11 -0
  263. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
  264. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +11 -0
  265. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
  266. package/build/dist/Models/DatabaseModels/Project.js +235 -0
  267. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  268. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +13 -0
  269. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
  270. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +40 -6
  271. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
  272. package/build/dist/Models/DatabaseModels/ProjectSso.js +16 -0
  273. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  274. package/build/dist/Models/DatabaseModels/PromoCode.js +20 -1
  275. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
  276. package/build/dist/Models/DatabaseModels/PushNotificationLog.js +30 -0
  277. package/build/dist/Models/DatabaseModels/PushNotificationLog.js.map +1 -1
  278. package/build/dist/Models/DatabaseModels/Reseller.js +12 -0
  279. package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -1
  280. package/build/dist/Models/DatabaseModels/ResellerPlan.js +13 -0
  281. package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -1
  282. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +7 -0
  283. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  284. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +6 -0
  285. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  286. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js +15 -0
  287. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -1
  288. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +6 -0
  289. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  290. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +9 -0
  291. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -1
  292. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +11 -0
  293. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
  294. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +11 -0
  295. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
  296. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +11 -0
  297. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  298. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +16 -0
  299. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  300. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +27 -0
  301. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  302. package/build/dist/Models/DatabaseModels/ServiceCatalog.js +5 -0
  303. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js +565 -0
  305. package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js.map +1 -0
  306. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js +10 -0
  307. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js +10 -0
  309. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js +10 -0
  311. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js +10 -0
  313. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +10 -0
  315. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/ShortLink.js +4 -0
  317. package/build/dist/Models/DatabaseModels/ShortLink.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/SmsLog.js +30 -0
  319. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
  320. package/build/dist/Models/DatabaseModels/StatusPage.js +5 -0
  321. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  322. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +4 -0
  323. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  324. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +19 -0
  325. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  326. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +10 -1
  327. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  328. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +7 -0
  329. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -1
  330. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +7 -0
  331. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
  332. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +5 -0
  333. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -1
  334. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +6 -0
  335. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
  336. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +6 -0
  337. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
  338. package/build/dist/Models/DatabaseModels/StatusPageResource.js +9 -0
  339. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  340. package/build/dist/Models/DatabaseModels/StatusPageSso.js +13 -0
  341. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  342. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +5 -0
  343. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  344. package/build/dist/Models/DatabaseModels/TableView.js +12 -0
  345. package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
  346. package/build/dist/Models/DatabaseModels/Team.js +9 -0
  347. package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
  348. package/build/dist/Models/DatabaseModels/TeamMember.js +12 -0
  349. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
  350. package/build/dist/Models/DatabaseModels/TeamPermission.js +11 -0
  351. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
  352. package/build/dist/Models/DatabaseModels/TelemetryException.js +27 -0
  353. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  354. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +9 -0
  355. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
  356. package/build/dist/Models/DatabaseModels/TelemetryService.js +6 -0
  357. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
  358. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +15 -0
  359. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  360. package/build/dist/Models/DatabaseModels/User.js +9 -1
  361. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  362. package/build/dist/Models/DatabaseModels/UserCall.js +7 -0
  363. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  364. package/build/dist/Models/DatabaseModels/UserEmail.js +7 -0
  365. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  366. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +13 -0
  367. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  368. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +10 -0
  369. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  370. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +28 -2
  371. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  372. package/build/dist/Models/DatabaseModels/UserSMS.js +7 -0
  373. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  374. package/build/dist/Models/DatabaseModels/Workflow.js +5 -0
  375. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  376. package/build/dist/Server/API/AIBillingAPI.js +58 -0
  377. package/build/dist/Server/API/AIBillingAPI.js.map +1 -0
  378. package/build/dist/Server/API/GitHubAPI.js +207 -0
  379. package/build/dist/Server/API/GitHubAPI.js.map +1 -0
  380. package/build/dist/Server/API/IncidentAPI.js +84 -1
  381. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  382. package/build/dist/Server/EnvironmentConfig.js +31 -0
  383. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  384. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js +34 -0
  385. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js.map +1 -0
  386. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js +32 -0
  387. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js.map +1 -0
  388. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js +38 -0
  389. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js.map +1 -0
  390. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js +30 -0
  391. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js.map +1 -0
  392. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js +44 -0
  393. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js.map +1 -0
  394. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js +22 -0
  395. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js.map +1 -0
  396. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  397. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  398. package/build/dist/Server/Services/AIBillingService.js +187 -0
  399. package/build/dist/Server/Services/AIBillingService.js.map +1 -0
  400. package/build/dist/Server/Services/AIService.js +185 -0
  401. package/build/dist/Server/Services/AIService.js.map +1 -0
  402. package/build/dist/Server/Services/CodeRepositoryService.js +9 -0
  403. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -0
  404. package/build/dist/Server/Services/IncidentService.js +61 -0
  405. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  406. package/build/dist/Server/Services/Index.js +2 -0
  407. package/build/dist/Server/Services/Index.js.map +1 -1
  408. package/build/dist/Server/Services/LlmLogService.js +13 -0
  409. package/build/dist/Server/Services/LlmLogService.js.map +1 -0
  410. package/build/dist/Server/Services/LlmProviderService.js +65 -0
  411. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  412. package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js +54 -0
  413. package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js.map +1 -0
  414. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +408 -0
  415. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -0
  416. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +163 -0
  417. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  418. package/build/dist/Server/Utils/LLM/LLMService.js +225 -0
  419. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -0
  420. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +110 -0
  421. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  422. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +89 -0
  423. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  424. package/build/dist/Server/Utils/Workspace/Workspace.js +80 -0
  425. package/build/dist/Server/Utils/Workspace/Workspace.js.map +1 -1
  426. package/build/dist/Types/CodeRepository/CodeRepositoryType.js +1 -1
  427. package/build/dist/Types/CodeRepository/CodeRepositoryType.js.map +1 -1
  428. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  429. package/build/dist/Types/LlmLogStatus.js +8 -0
  430. package/build/dist/Types/LlmLogStatus.js.map +1 -0
  431. package/build/dist/Types/Permission.js +74 -0
  432. package/build/dist/Types/Permission.js.map +1 -1
  433. package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js +10 -0
  434. package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js.map +1 -0
  435. package/build/dist/UI/Components/AI/AILoader.js +64 -0
  436. package/build/dist/UI/Components/AI/AILoader.js.map +1 -0
  437. package/build/dist/UI/Components/AI/GenerateFromAIModal.js +207 -0
  438. package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -0
  439. package/build/dist/UI/Components/Modal/Modal.js +6 -1
  440. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  441. package/package.json +1 -1
@@ -79,6 +79,7 @@ class UserCall extends BaseModel {
79
79
  canReadOnRelationQuery: true,
80
80
  title: "Project ID",
81
81
  description: "ID of your OneUptime Project in which this object belongs",
82
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
82
83
  })
83
84
  @Column({
84
85
  type: ColumnType.ObjectID,
@@ -98,6 +99,7 @@ class UserCall extends BaseModel {
98
99
  unique: false,
99
100
  type: TableColumnType.Phone,
100
101
  canReadOnRelationQuery: true,
102
+ example: "+1-555-987-6543",
101
103
  })
102
104
  @Column({
103
105
  type: ColumnType.Phone,
@@ -143,6 +145,7 @@ class UserCall extends BaseModel {
143
145
  type: TableColumnType.ObjectID,
144
146
  title: "User ID",
145
147
  description: "User ID who this email belongs to",
148
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
146
149
  })
147
150
  @Column({
148
151
  type: ColumnType.ObjectID,
@@ -189,6 +192,7 @@ class UserCall extends BaseModel {
189
192
  title: "Created by User ID",
190
193
  description:
191
194
  "User ID who created this object (if this object was created by a User)",
195
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
192
196
  })
193
197
  @Column({
194
198
  type: ColumnType.ObjectID,
@@ -235,6 +239,7 @@ class UserCall extends BaseModel {
235
239
  title: "Deleted by User ID",
236
240
  description:
237
241
  "User ID who deleted this object (if this object was deleted by a User)",
242
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
238
243
  })
239
244
  @Column({
240
245
  type: ColumnType.ObjectID,
@@ -253,6 +258,7 @@ class UserCall extends BaseModel {
253
258
  description: "Is this verified?",
254
259
  isDefaultValueColumn: true,
255
260
  type: TableColumnType.Boolean,
261
+ example: true,
256
262
  })
257
263
  @Column({
258
264
  type: ColumnType.Boolean,
@@ -275,6 +281,7 @@ class UserCall extends BaseModel {
275
281
  forceGetDefaultValueOnCreate: () => {
276
282
  return Text.generateRandomNumber(6);
277
283
  },
284
+ example: "123456",
278
285
  })
279
286
  @Column({
280
287
  type: ColumnType.ShortText,
@@ -79,6 +79,7 @@ class UserEmail extends BaseModel {
79
79
  canReadOnRelationQuery: true,
80
80
  title: "Project ID",
81
81
  description: "ID of your OneUptime Project in which this object belongs",
82
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
82
83
  })
83
84
  @Column({
84
85
  type: ColumnType.ObjectID,
@@ -98,6 +99,7 @@ class UserEmail extends BaseModel {
98
99
  unique: false,
99
100
  type: TableColumnType.Email,
100
101
  canReadOnRelationQuery: true,
102
+ example: "john.smith@example.com",
101
103
  })
102
104
  @Column({
103
105
  type: ColumnType.Email,
@@ -143,6 +145,7 @@ class UserEmail extends BaseModel {
143
145
  type: TableColumnType.ObjectID,
144
146
  title: "User ID",
145
147
  description: "User ID who this email belongs to",
148
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
146
149
  })
147
150
  @Column({
148
151
  type: ColumnType.ObjectID,
@@ -189,6 +192,7 @@ class UserEmail extends BaseModel {
189
192
  title: "Created by User ID",
190
193
  description:
191
194
  "User ID who created this object (if this object was created by a User)",
195
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
192
196
  })
193
197
  @Column({
194
198
  type: ColumnType.ObjectID,
@@ -235,6 +239,7 @@ class UserEmail extends BaseModel {
235
239
  title: "Deleted by User ID",
236
240
  description:
237
241
  "User ID who deleted this object (if this object was deleted by a User)",
242
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
238
243
  })
239
244
  @Column({
240
245
  type: ColumnType.ObjectID,
@@ -254,6 +259,7 @@ class UserEmail extends BaseModel {
254
259
  isDefaultValueColumn: true,
255
260
  type: TableColumnType.Boolean,
256
261
  defaultValue: false,
262
+ example: true,
257
263
  })
258
264
  @Column({
259
265
  type: ColumnType.Boolean,
@@ -276,6 +282,7 @@ class UserEmail extends BaseModel {
276
282
  forceGetDefaultValueOnCreate: () => {
277
283
  return Text.generateRandomNumber(6);
278
284
  },
285
+ example: "123456",
279
286
  })
280
287
  @Column({
281
288
  type: ColumnType.ShortText,
@@ -83,6 +83,7 @@ class UserNotificationRule extends BaseModel {
83
83
  canReadOnRelationQuery: true,
84
84
  title: "Project ID",
85
85
  description: "ID of your OneUptime Project in which this object belongs",
86
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
86
87
  })
87
88
  @Column({
88
89
  type: ColumnType.ObjectID,
@@ -102,6 +103,7 @@ class UserNotificationRule extends BaseModel {
102
103
  unique: false,
103
104
  type: TableColumnType.ShortText,
104
105
  canReadOnRelationQuery: true,
106
+ example: "Send Notification When Incident Created",
105
107
  })
106
108
  @Column({
107
109
  type: ColumnType.ShortText,
@@ -146,6 +148,7 @@ class UserNotificationRule extends BaseModel {
146
148
  type: TableColumnType.ObjectID,
147
149
  title: "User ID",
148
150
  description: "User ID who this email belongs to",
151
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
149
152
  })
150
153
  @Column({
151
154
  type: ColumnType.ObjectID,
@@ -192,6 +195,7 @@ class UserNotificationRule extends BaseModel {
192
195
  title: "Created by User ID",
193
196
  description:
194
197
  "User ID who created this object (if this object was created by a User)",
198
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
195
199
  })
196
200
  @Column({
197
201
  type: ColumnType.ObjectID,
@@ -238,6 +242,7 @@ class UserNotificationRule extends BaseModel {
238
242
  title: "Deleted by User ID",
239
243
  description:
240
244
  "User ID who deleted this object (if this object was deleted by a User)",
245
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
241
246
  })
242
247
  @Column({
243
248
  type: ColumnType.ObjectID,
@@ -284,6 +289,7 @@ class UserNotificationRule extends BaseModel {
284
289
  canReadOnRelationQuery: true,
285
290
  title: "User Call ID",
286
291
  description: "ID of User Call in which this object belongs",
292
+ example: "9e8d7c6b-5a4f-3e2d-1c0b-9a8f7e6d5c4b",
287
293
  })
288
294
  @Column({
289
295
  type: ColumnType.ObjectID,
@@ -330,6 +336,7 @@ class UserNotificationRule extends BaseModel {
330
336
  canReadOnRelationQuery: true,
331
337
  title: "User Push ID",
332
338
  description: "ID of User Push in which this object belongs",
339
+ example: "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
333
340
  })
334
341
  @Column({
335
342
  type: ColumnType.ObjectID,
@@ -376,6 +383,7 @@ class UserNotificationRule extends BaseModel {
376
383
  canReadOnRelationQuery: true,
377
384
  title: "User SMS ID",
378
385
  description: "ID of User SMS in which this object belongs",
386
+ example: "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
379
387
  })
380
388
  @Column({
381
389
  type: ColumnType.ObjectID,
@@ -423,6 +431,7 @@ class UserNotificationRule extends BaseModel {
423
431
  canReadOnRelationQuery: true,
424
432
  title: "User WhatsApp ID",
425
433
  description: "ID of User WhatsApp in which this object belongs",
434
+ example: "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
426
435
  })
427
436
  @Column({
428
437
  type: ColumnType.ObjectID,
@@ -469,6 +478,7 @@ class UserNotificationRule extends BaseModel {
469
478
  canReadOnRelationQuery: true,
470
479
  title: "User Email ID",
471
480
  description: "ID of User Email in which this object belongs",
481
+ example: "4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
472
482
  })
473
483
  @Column({
474
484
  type: ColumnType.ObjectID,
@@ -491,6 +501,7 @@ class UserNotificationRule extends BaseModel {
491
501
  title: "Notify After Minutes",
492
502
  description:
493
503
  "How long should we wait before sending a notification to the user after the event has occurred?",
504
+ example: 5,
494
505
  })
495
506
  @Column({
496
507
  type: ColumnType.Number,
@@ -538,6 +549,7 @@ class UserNotificationRule extends BaseModel {
538
549
  canReadOnRelationQuery: true,
539
550
  title: "Incident Severity ID",
540
551
  description: "ID of Incident Severity in which this object belongs",
552
+ example: "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
541
553
  })
542
554
  @Column({
543
555
  type: ColumnType.ObjectID,
@@ -587,6 +599,7 @@ class UserNotificationRule extends BaseModel {
587
599
  canReadOnRelationQuery: true,
588
600
  title: "Alert Severity ID",
589
601
  description: "ID of Alert Severity in which this object belongs",
602
+ example: "6f7a8b9c-0d1e-2f3a-4b5c-6d7e8f9a0b1c",
590
603
  })
591
604
  @Column({
592
605
  type: ColumnType.ObjectID,
@@ -78,6 +78,7 @@ class UserNotificationSetting extends BaseModel {
78
78
  canReadOnRelationQuery: true,
79
79
  title: "Project ID",
80
80
  description: "ID of your OneUptime Project in which this object belongs",
81
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
81
82
  })
82
83
  @Column({
83
84
  type: ColumnType.ObjectID,
@@ -97,6 +98,7 @@ class UserNotificationSetting extends BaseModel {
97
98
  unique: false,
98
99
  type: TableColumnType.ShortText,
99
100
  canReadOnRelationQuery: true,
101
+ example: "Incident Created",
100
102
  })
101
103
  @Column({
102
104
  type: ColumnType.ShortText,
@@ -141,6 +143,7 @@ class UserNotificationSetting extends BaseModel {
141
143
  type: TableColumnType.ObjectID,
142
144
  title: "User ID",
143
145
  description: "User ID who this email belongs to",
146
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
144
147
  })
145
148
  @Column({
146
149
  type: ColumnType.ObjectID,
@@ -187,6 +190,7 @@ class UserNotificationSetting extends BaseModel {
187
190
  title: "Created by User ID",
188
191
  description:
189
192
  "User ID who created this object (if this object was created by a User)",
193
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
190
194
  })
191
195
  @Column({
192
196
  type: ColumnType.ObjectID,
@@ -233,6 +237,7 @@ class UserNotificationSetting extends BaseModel {
233
237
  title: "Deleted by User ID",
234
238
  description:
235
239
  "User ID who deleted this object (if this object was deleted by a User)",
240
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
236
241
  })
237
242
  @Column({
238
243
  type: ColumnType.ObjectID,
@@ -250,6 +255,7 @@ class UserNotificationSetting extends BaseModel {
250
255
  isDefaultValueColumn: true,
251
256
  type: TableColumnType.Boolean,
252
257
  defaultValue: false,
258
+ example: true,
253
259
  })
254
260
  @Column({
255
261
  type: ColumnType.Boolean,
@@ -266,6 +272,7 @@ class UserNotificationSetting extends BaseModel {
266
272
  isDefaultValueColumn: true,
267
273
  type: TableColumnType.Boolean,
268
274
  defaultValue: false,
275
+ example: false,
269
276
  })
270
277
  @Column({
271
278
  type: ColumnType.Boolean,
@@ -282,6 +289,7 @@ class UserNotificationSetting extends BaseModel {
282
289
  isDefaultValueColumn: true,
283
290
  type: TableColumnType.Boolean,
284
291
  defaultValue: false,
292
+ example: false,
285
293
  })
286
294
  @Column({
287
295
  type: ColumnType.Boolean,
@@ -298,6 +306,7 @@ class UserNotificationSetting extends BaseModel {
298
306
  isDefaultValueColumn: true,
299
307
  type: TableColumnType.Boolean,
300
308
  defaultValue: false,
309
+ example: true,
301
310
  })
302
311
  @Column({
303
312
  type: ColumnType.Boolean,
@@ -314,6 +323,7 @@ class UserNotificationSetting extends BaseModel {
314
323
  isDefaultValueColumn: true,
315
324
  type: TableColumnType.Boolean,
316
325
  defaultValue: false,
326
+ example: false,
317
327
  })
318
328
  @Column({
319
329
  type: ColumnType.Boolean,
@@ -91,6 +91,7 @@ export default class UserOnCallLog extends BaseModel {
91
91
  type: TableColumnType.ObjectID,
92
92
  title: "User ID",
93
93
  description: "User ID who this log belongs to",
94
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
94
95
  })
95
96
  @Column({
96
97
  type: ColumnType.ObjectID,
@@ -134,6 +135,7 @@ export default class UserOnCallLog extends BaseModel {
134
135
  type: TableColumnType.ObjectID,
135
136
  title: "Which team did the user belong to when the alert was sent?",
136
137
  description: "Which team did the user belong to when the alert was sent?",
138
+ example: "8d0e1f2a-3b4c-5d6e-7f8a-9b0c1d2e3f4a",
137
139
  })
138
140
  @Column({
139
141
  type: ColumnType.ObjectID,
@@ -180,6 +182,7 @@ export default class UserOnCallLog extends BaseModel {
180
182
  canReadOnRelationQuery: true,
181
183
  title: "Project ID",
182
184
  description: "ID of your OneUptime Project in which this object belongs",
185
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
183
186
  })
184
187
  @Column({
185
188
  type: ColumnType.ObjectID,
@@ -228,6 +231,7 @@ export default class UserOnCallLog extends BaseModel {
228
231
  title: "On-Call Policy ID",
229
232
  description:
230
233
  "ID of your On-Call Policy which belongs to this execution log event.",
234
+ example: "9e1f2a3b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
231
235
  })
232
236
  @Column({
233
237
  type: ColumnType.ObjectID,
@@ -277,6 +281,7 @@ export default class UserOnCallLog extends BaseModel {
277
281
  title: "On-Call Policy Execution Log ID",
278
282
  description:
279
283
  "ID of your On-Call Policy execution log which belongs to this log event.",
284
+ example: "0f1a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
280
285
  })
281
286
  @Column({
282
287
  type: ColumnType.ObjectID,
@@ -326,6 +331,7 @@ export default class UserOnCallLog extends BaseModel {
326
331
  title: "On-Call Policy Escalation Rule ID",
327
332
  description:
328
333
  "ID of your On-Call Policy Escalation Rule which belongs to this log event.",
334
+ example: "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
329
335
  })
330
336
  @Column({
331
337
  type: ColumnType.ObjectID,
@@ -372,6 +378,7 @@ export default class UserOnCallLog extends BaseModel {
372
378
  required: false,
373
379
  description:
374
380
  "ID of the incident which triggered this on-call escalation policy.",
381
+ example: "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
375
382
  })
376
383
  @Column({
377
384
  type: ColumnType.ObjectID,
@@ -417,6 +424,7 @@ export default class UserOnCallLog extends BaseModel {
417
424
  required: false,
418
425
  description:
419
426
  "ID of the Alert which triggered this on-call escalation policy.",
427
+ example: "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
420
428
  })
421
429
  @Column({
422
430
  type: ColumnType.ObjectID,
@@ -436,6 +444,7 @@ export default class UserOnCallLog extends BaseModel {
436
444
  title: "Status",
437
445
  description: "Status of this execution",
438
446
  canReadOnRelationQuery: false,
447
+ example: "Success",
439
448
  })
440
449
  @Column({
441
450
  nullable: false,
@@ -455,6 +464,7 @@ export default class UserOnCallLog extends BaseModel {
455
464
  title: "Notification Event Type",
456
465
  description: "Notification Event Type of this execution",
457
466
  canReadOnRelationQuery: false,
467
+ example: "Incident Created",
458
468
  })
459
469
  @Column({
460
470
  nullable: false,
@@ -504,6 +514,7 @@ export default class UserOnCallLog extends BaseModel {
504
514
  title: "On-Call Policy Execution Log ID",
505
515
  description:
506
516
  "ID of your On-Call Policy Execution Log where this timeline event belongs.",
517
+ example: "4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
507
518
  })
508
519
  @Column({
509
520
  type: ColumnType.ObjectID,
@@ -523,6 +534,7 @@ export default class UserOnCallLog extends BaseModel {
523
534
  title: "Status Message",
524
535
  description: "Status message of this execution",
525
536
  canReadOnRelationQuery: false,
537
+ example: "Notification sent successfully via email to user",
526
538
  })
527
539
  @Column({
528
540
  nullable: false,
@@ -568,6 +580,7 @@ export default class UserOnCallLog extends BaseModel {
568
580
  title: "Created by User ID",
569
581
  description:
570
582
  "User ID who created this object (if this object was created by a User)",
583
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
571
584
  })
572
585
  @Column({
573
586
  type: ColumnType.ObjectID,
@@ -614,6 +627,7 @@ export default class UserOnCallLog extends BaseModel {
614
627
  title: "Deleted by User ID",
615
628
  description:
616
629
  "User ID who deleted this object (if this object was deleted by a User)",
630
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
617
631
  })
618
632
  @Column({
619
633
  type: ColumnType.ObjectID,
@@ -659,6 +673,7 @@ export default class UserOnCallLog extends BaseModel {
659
673
  title: "Deleted by User ID",
660
674
  description:
661
675
  "User ID who acknowledged this object (if this object was acknowledged by a User)",
676
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
662
677
  })
663
678
  @Column({
664
679
  type: ColumnType.ObjectID,
@@ -673,7 +688,10 @@ export default class UserOnCallLog extends BaseModel {
673
688
 
674
689
  update: [],
675
690
  })
676
- @TableColumn({ type: TableColumnType.Date })
691
+ @TableColumn({
692
+ type: TableColumnType.Date,
693
+ example: "2024-01-15T10:30:00Z",
694
+ })
677
695
  @Column({
678
696
  type: ColumnType.Date,
679
697
  nullable: true,
@@ -693,7 +711,13 @@ export default class UserOnCallLog extends BaseModel {
693
711
  read: [],
694
712
  update: [],
695
713
  })
696
- @TableColumn({ type: TableColumnType.JSON })
714
+ @TableColumn({
715
+ type: TableColumnType.JSON,
716
+ example: {
717
+ "rule-1": "2024-01-15T10:30:00Z",
718
+ "rule-2": "2024-01-15T10:35:00Z",
719
+ },
720
+ })
697
721
  @Column({
698
722
  type: ColumnType.JSON,
699
723
  nullable: true,
@@ -738,6 +762,7 @@ export default class UserOnCallLog extends BaseModel {
738
762
  title: "On Call Schedule ID",
739
763
  description:
740
764
  "Which schedule ID did the user belong to when the alert was sent?",
765
+ example: "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
741
766
  })
742
767
  @Column({
743
768
  type: ColumnType.ObjectID,
@@ -781,6 +806,7 @@ export default class UserOnCallLog extends BaseModel {
781
806
  type: TableColumnType.ObjectID,
782
807
  title: "Overridden by User ID",
783
808
  description: "User ID who overrode this alert",
809
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
784
810
  })
785
811
  @Column({
786
812
  type: ColumnType.ObjectID,
@@ -79,6 +79,7 @@ class UserSMS extends BaseModel {
79
79
  canReadOnRelationQuery: true,
80
80
  title: "Project ID",
81
81
  description: "ID of your OneUptime Project in which this object belongs",
82
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
82
83
  })
83
84
  @Column({
84
85
  type: ColumnType.ObjectID,
@@ -98,6 +99,7 @@ class UserSMS extends BaseModel {
98
99
  unique: false,
99
100
  type: TableColumnType.Phone,
100
101
  canReadOnRelationQuery: true,
102
+ example: "+1-555-123-4567",
101
103
  })
102
104
  @Column({
103
105
  type: ColumnType.Phone,
@@ -143,6 +145,7 @@ class UserSMS extends BaseModel {
143
145
  type: TableColumnType.ObjectID,
144
146
  title: "User ID",
145
147
  description: "User ID who this email belongs to",
148
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
146
149
  })
147
150
  @Column({
148
151
  type: ColumnType.ObjectID,
@@ -189,6 +192,7 @@ class UserSMS extends BaseModel {
189
192
  title: "Created by User ID",
190
193
  description:
191
194
  "User ID who created this object (if this object was created by a User)",
195
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
192
196
  })
193
197
  @Column({
194
198
  type: ColumnType.ObjectID,
@@ -235,6 +239,7 @@ class UserSMS extends BaseModel {
235
239
  title: "Deleted by User ID",
236
240
  description:
237
241
  "User ID who deleted this object (if this object was deleted by a User)",
242
+ example: "7c9d8e0f-a1b2-4c3d-9e5f-8a7b9c0d1e2f",
238
243
  })
239
244
  @Column({
240
245
  type: ColumnType.ObjectID,
@@ -254,6 +259,7 @@ class UserSMS extends BaseModel {
254
259
  isDefaultValueColumn: true,
255
260
  type: TableColumnType.Boolean,
256
261
  defaultValue: false,
262
+ example: true,
257
263
  })
258
264
  @Column({
259
265
  type: ColumnType.Boolean,
@@ -276,6 +282,7 @@ class UserSMS extends BaseModel {
276
282
  forceGetDefaultValueOnCreate: () => {
277
283
  return Text.generateRandomNumber(6);
278
284
  },
285
+ example: "123456",
279
286
  })
280
287
  @Column({
281
288
  type: ColumnType.ShortText,
@@ -139,6 +139,7 @@ export default class Workflow extends BaseModel {
139
139
  canReadOnRelationQuery: true,
140
140
  title: "Project ID",
141
141
  description: "ID of your OneUptime Project in which this object belongs",
142
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
142
143
  })
143
144
  @Column({
144
145
  type: ColumnType.ObjectID,
@@ -173,6 +174,7 @@ export default class Workflow extends BaseModel {
173
174
  canReadOnRelationQuery: true,
174
175
  title: "Name",
175
176
  description: "Any friendly name of this object",
177
+ example: "Incident Response Automation",
176
178
  })
177
179
  @Column({
178
180
  nullable: false,
@@ -232,6 +234,8 @@ export default class Workflow extends BaseModel {
232
234
  type: TableColumnType.LongText,
233
235
  title: "Description",
234
236
  description: "Friendly description that will help you remember",
237
+ example:
238
+ "Automatically creates incidents, notifies team members, and escalates critical issues based on alert severity",
235
239
  })
236
240
  @Column({
237
241
  nullable: true,
@@ -297,6 +301,7 @@ export default class Workflow extends BaseModel {
297
301
  title: "Created by User ID",
298
302
  description:
299
303
  "User ID who created this object (if this object was created by a User)",
304
+ example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
300
305
  })
301
306
  @Column({
302
307
  type: ColumnType.ObjectID,
@@ -353,6 +358,7 @@ export default class Workflow extends BaseModel {
353
358
  title: "Deleted by User ID",
354
359
  description:
355
360
  "User ID who deleted this object (if this object was deleted by a User)",
361
+ example: "b2c3d4e5-f6a7-8901-bcde-f2345678901a",
356
362
  })
357
363
  @Column({
358
364
  type: ColumnType.ObjectID,
@@ -0,0 +1,126 @@
1
+ import UserMiddleware from "../Middleware/UserAuthorization";
2
+ import AIBillingService from "../Services/AIBillingService";
3
+ import { IsBillingEnabled } from "../EnvironmentConfig";
4
+ import Express, {
5
+ ExpressRequest,
6
+ ExpressResponse,
7
+ ExpressRouter,
8
+ NextFunction,
9
+ OneUptimeRequest,
10
+ } from "../Utils/Express";
11
+ import Response from "../Utils/Response";
12
+ import BadDataException from "../../Types/Exception/BadDataException";
13
+ import JSONFunctions from "../../Types/JSONFunctions";
14
+ import ObjectID from "../../Types/ObjectID";
15
+ import Permission, { UserPermission } from "../../Types/Permission";
16
+ import PositiveNumber from "../../Types/PositiveNumber";
17
+
18
+ const router: ExpressRouter = Express.getRouter();
19
+
20
+ router.post(
21
+ "/ai/recharge",
22
+ UserMiddleware.getUserMiddleware,
23
+ async (req: ExpressRequest, res: ExpressResponse, next: NextFunction) => {
24
+ try {
25
+ if (!IsBillingEnabled) {
26
+ return Response.sendErrorResponse(
27
+ req,
28
+ res,
29
+ new BadDataException("Billing is not enabled"),
30
+ );
31
+ }
32
+
33
+ let amount: number | PositiveNumber = JSONFunctions.deserializeValue(
34
+ req.body.amount,
35
+ ) as number | PositiveNumber;
36
+
37
+ if (amount instanceof PositiveNumber) {
38
+ amount = amount.toNumber();
39
+ }
40
+
41
+ if (typeof amount === "string") {
42
+ amount = parseInt(amount);
43
+ }
44
+
45
+ const projectId: ObjectID = JSONFunctions.deserializeValue(
46
+ req.body.projectId,
47
+ ) as ObjectID;
48
+
49
+ if (!amount || typeof amount !== "number") {
50
+ return Response.sendErrorResponse(
51
+ req,
52
+ res,
53
+ new BadDataException("Invalid amount"),
54
+ );
55
+ }
56
+
57
+ if (amount > 1000) {
58
+ return Response.sendErrorResponse(
59
+ req,
60
+ res,
61
+ new BadDataException("Amount cannot be greater than 1000"),
62
+ );
63
+ }
64
+
65
+ if (amount < 20) {
66
+ return Response.sendErrorResponse(
67
+ req,
68
+ res,
69
+ new BadDataException("Amount cannot be less than 20"),
70
+ );
71
+ }
72
+
73
+ if (!projectId || !projectId.toString()) {
74
+ return Response.sendErrorResponse(
75
+ req,
76
+ res,
77
+ new BadDataException("Invalid projectId"),
78
+ );
79
+ }
80
+
81
+ // get permissions. if user has permission to recharge, then recharge
82
+
83
+ if (
84
+ !(req as OneUptimeRequest).userTenantAccessPermission ||
85
+ !(req as OneUptimeRequest).userTenantAccessPermission![
86
+ projectId.toString()
87
+ ]
88
+ ) {
89
+ return Response.sendErrorResponse(
90
+ req,
91
+ res,
92
+ new BadDataException("Permission for this user not found"),
93
+ );
94
+ }
95
+
96
+ const permissions: Array<Permission> = (
97
+ req as OneUptimeRequest
98
+ ).userTenantAccessPermission![projectId.toString()]!.permissions.map(
99
+ (permission: UserPermission) => {
100
+ return permission.permission;
101
+ },
102
+ );
103
+
104
+ if (
105
+ permissions.includes(Permission.ProjectOwner) ||
106
+ permissions.includes(Permission.ManageProjectBilling)
107
+ ) {
108
+ await AIBillingService.rechargeBalance(projectId, amount);
109
+ } else {
110
+ return Response.sendErrorResponse(
111
+ req,
112
+ res,
113
+ new BadDataException(
114
+ "User does not have permission to recharge. You need any one of these permissions - ProjectOwner, CanManageProjectBilling",
115
+ ),
116
+ );
117
+ }
118
+ } catch (err) {
119
+ return next(err);
120
+ }
121
+
122
+ return Response.sendEmptySuccessResponse(req, res);
123
+ },
124
+ );
125
+
126
+ export default router;