@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
@@ -1896,4 +1896,138 @@ export default class SlackUtil extends WorkspaceBase {
1896
1896
  public static convertMarkdownToSlackRichText(markdown: string): string {
1897
1897
  return SlackifyMarkdown(markdown);
1898
1898
  }
1899
+
1900
+ @CaptureSpan()
1901
+ public static async getChannelMessages(params: {
1902
+ channelId: string;
1903
+ authToken: string;
1904
+ limit?: number;
1905
+ oldestTimestamp?: Date;
1906
+ }): Promise<
1907
+ Array<{
1908
+ messageId: string;
1909
+ text: string;
1910
+ userId?: string;
1911
+ username?: string;
1912
+ timestamp: Date;
1913
+ isBot: boolean;
1914
+ }>
1915
+ > {
1916
+ const messages: Array<{
1917
+ messageId: string;
1918
+ text: string;
1919
+ userId?: string;
1920
+ username?: string;
1921
+ timestamp: Date;
1922
+ isBot: boolean;
1923
+ }> = [];
1924
+ let cursor: string | undefined = undefined;
1925
+ const maxMessages: number = params.limit || 1000;
1926
+ const maxPages: number = 10;
1927
+ let pageCount: number = 0;
1928
+
1929
+ do {
1930
+ const requestData: JSONObject = {
1931
+ channel: params.channelId,
1932
+ limit: Math.min(200, maxMessages - messages.length),
1933
+ };
1934
+
1935
+ if (cursor) {
1936
+ requestData["cursor"] = cursor;
1937
+ }
1938
+
1939
+ if (params.oldestTimestamp) {
1940
+ requestData["oldest"] = (
1941
+ params.oldestTimestamp.getTime() / 1000
1942
+ ).toString();
1943
+ }
1944
+
1945
+ const response: HTTPErrorResponse | HTTPResponse<JSONObject> =
1946
+ await API.post<JSONObject>({
1947
+ url: URL.fromString("https://slack.com/api/conversations.history"),
1948
+ data: requestData,
1949
+ headers: {
1950
+ Authorization: `Bearer ${params.authToken}`,
1951
+ "Content-Type": "application/x-www-form-urlencoded",
1952
+ },
1953
+ options: {
1954
+ retries: 3,
1955
+ exponentialBackoff: true,
1956
+ },
1957
+ });
1958
+
1959
+ if (response instanceof HTTPErrorResponse) {
1960
+ logger.error("Error response from Slack API for channel history:");
1961
+ logger.error(response);
1962
+ break;
1963
+ }
1964
+
1965
+ const jsonData: JSONObject = response.jsonData as JSONObject;
1966
+
1967
+ if (jsonData["ok"] !== true) {
1968
+ logger.error("Invalid response from Slack API for channel history:");
1969
+ logger.error(jsonData);
1970
+ break;
1971
+ }
1972
+
1973
+ const slackMessages: Array<JSONObject> =
1974
+ (jsonData["messages"] as Array<JSONObject>) || [];
1975
+
1976
+ for (const msg of slackMessages) {
1977
+ // Skip bot messages if they're from the OneUptime bot (app messages)
1978
+ const isBot: boolean =
1979
+ Boolean(msg["bot_id"]) || msg["subtype"] === "bot_message";
1980
+
1981
+ // Extract text, handling attachments and blocks
1982
+ let text: string = (msg["text"] as string) || "";
1983
+
1984
+ // If there are attachments, append their text
1985
+ const attachments: Array<JSONObject> | undefined = msg[
1986
+ "attachments"
1987
+ ] as Array<JSONObject> | undefined;
1988
+ if (attachments && Array.isArray(attachments)) {
1989
+ for (const attachment of attachments) {
1990
+ if (attachment && attachment["text"]) {
1991
+ text += "\n" + (attachment["text"] as string);
1992
+ }
1993
+ if (attachment && attachment["fallback"]) {
1994
+ text += "\n" + (attachment["fallback"] as string);
1995
+ }
1996
+ }
1997
+ }
1998
+
1999
+ // Skip empty messages
2000
+ if (!text.trim()) {
2001
+ continue;
2002
+ }
2003
+
2004
+ const timestamp: Date = msg["ts"]
2005
+ ? new Date(parseFloat(msg["ts"] as string) * 1000)
2006
+ : new Date();
2007
+
2008
+ messages.push({
2009
+ messageId: msg["ts"] as string,
2010
+ text: text,
2011
+ userId: msg["user"] as string,
2012
+ username: msg["username"] as string,
2013
+ timestamp: timestamp,
2014
+ isBot: isBot,
2015
+ });
2016
+ }
2017
+
2018
+ cursor = (jsonData["response_metadata"] as JSONObject)?.[
2019
+ "next_cursor"
2020
+ ] as string;
2021
+ pageCount++;
2022
+ } while (cursor && messages.length < maxMessages && pageCount < maxPages);
2023
+
2024
+ logger.debug(
2025
+ `Retrieved ${messages.length} messages from Slack channel ${params.channelId}`,
2026
+ );
2027
+
2028
+ // Reverse to get chronological order (Slack returns newest first)
2029
+ messages.reverse();
2030
+
2031
+ return messages;
2032
+ }
1899
2033
  }
@@ -17,6 +17,16 @@ import WorkspaceUserAuthToken from "../../../Models/DatabaseModels/WorkspaceUser
17
17
  import WorkspaceUserAuthTokenService from "../../Services/WorkspaceUserAuthTokenService";
18
18
  import UserService from "../../Services/UserService";
19
19
  import CaptureSpan from "../Telemetry/CaptureSpan";
20
+ import OneUptimeDate from "../../../Types/Date";
21
+
22
+ export interface WorkspaceChannelMessage {
23
+ messageId: string;
24
+ text: string;
25
+ userId?: string;
26
+ username?: string;
27
+ timestamp: Date;
28
+ isBot: boolean;
29
+ }
20
30
 
21
31
  export default class WorkspaceUtil {
22
32
  @CaptureSpan()
@@ -236,4 +246,120 @@ export default class WorkspaceUtil {
236
246
 
237
247
  return result;
238
248
  }
249
+
250
+ @CaptureSpan()
251
+ public static async getChannelMessages(params: {
252
+ channelId: string;
253
+ authToken: string;
254
+ projectId: ObjectID;
255
+ workspaceType: WorkspaceType;
256
+ teamId?: string;
257
+ limit?: number;
258
+ oldestTimestamp?: Date;
259
+ }): Promise<Array<WorkspaceChannelMessage>> {
260
+ switch (params.workspaceType) {
261
+ case WorkspaceType.Slack: {
262
+ const slackParams: {
263
+ channelId: string;
264
+ authToken: string;
265
+ limit?: number;
266
+ oldestTimestamp?: Date;
267
+ } = {
268
+ channelId: params.channelId,
269
+ authToken: params.authToken,
270
+ };
271
+
272
+ if (params.limit !== undefined) {
273
+ slackParams.limit = params.limit;
274
+ }
275
+
276
+ if (params.oldestTimestamp) {
277
+ slackParams.oldestTimestamp = params.oldestTimestamp;
278
+ }
279
+
280
+ return await SlackWorkspace.getChannelMessages(slackParams);
281
+ }
282
+ case WorkspaceType.MicrosoftTeams: {
283
+ if (!params.teamId) {
284
+ logger.error(
285
+ "Team ID is required for Microsoft Teams channel messages",
286
+ );
287
+ return [];
288
+ }
289
+
290
+ const teamsParams: {
291
+ channelId: string;
292
+ teamId: string;
293
+ projectId: ObjectID;
294
+ limit?: number;
295
+ oldestTimestamp?: Date;
296
+ } = {
297
+ channelId: params.channelId,
298
+ teamId: params.teamId,
299
+ projectId: params.projectId,
300
+ };
301
+
302
+ if (params.limit !== undefined) {
303
+ teamsParams.limit = params.limit;
304
+ }
305
+
306
+ if (params.oldestTimestamp) {
307
+ teamsParams.oldestTimestamp = params.oldestTimestamp;
308
+ }
309
+
310
+ return await MicrosoftTeamsUtil.getChannelMessages(teamsParams);
311
+ }
312
+ default:
313
+ logger.debug(
314
+ `Unsupported workspace type for channel messages: ${params.workspaceType}`,
315
+ );
316
+ return [];
317
+ }
318
+ }
319
+
320
+ @CaptureSpan()
321
+ public static formatMessagesAsContext(
322
+ messages: Array<WorkspaceChannelMessage>,
323
+ options?: {
324
+ includeTimestamp?: boolean;
325
+ includeUsername?: boolean;
326
+ maxLength?: number;
327
+ },
328
+ ): string {
329
+ const includeTimestamp: boolean = options?.includeTimestamp ?? true;
330
+ const includeUsername: boolean = options?.includeUsername ?? true;
331
+ const maxLength: number = options?.maxLength || 50000;
332
+
333
+ let context: string = "";
334
+
335
+ for (const msg of messages) {
336
+ let line: string = "";
337
+
338
+ if (includeTimestamp) {
339
+ const dateStr: string = OneUptimeDate.getDateAsFormattedString(
340
+ msg.timestamp,
341
+ );
342
+ line += `[${dateStr}] `;
343
+ }
344
+
345
+ if (includeUsername && msg.username) {
346
+ line += `${msg.username}: `;
347
+ } else if (includeUsername && msg.userId) {
348
+ line += `User ${msg.userId}: `;
349
+ }
350
+
351
+ line += msg.text;
352
+ line += "\n";
353
+
354
+ // Check if adding this line would exceed max length
355
+ if (context.length + line.length > maxLength) {
356
+ context += "\n... (messages truncated due to length)";
357
+ break;
358
+ }
359
+
360
+ context += line;
361
+ }
362
+
363
+ return context.trim();
364
+ }
239
365
  }
@@ -1,6 +1,6 @@
1
1
  enum CodeRepositoryType {
2
2
  GitHub = "GitHub",
3
- // GitLab = 'GitLab',
3
+ GitLab = "GitLab",
4
4
  }
5
5
 
6
6
  export default CodeRepositoryType;
@@ -24,6 +24,7 @@ export interface TableColumnMetadata {
24
24
  modelType?: { new (): BaseModel };
25
25
  defaultValue?: string | number | boolean | JSONObject; // default value for the column, can be a string, number, or boolean
26
26
  forceGetDefaultValueOnCreate?: () => string | number | boolean; // overwrites any value that is being passed and generates a new one. Useful for generating OTPs, etc.
27
+ example?: string | number | boolean | JSONObject | Array<JSONObject>; // example value for API documentation
27
28
  }
28
29
 
29
30
  export default (props: TableColumnMetadata): ReflectionMetadataType => {
@@ -0,0 +1,7 @@
1
+ enum LlmLogStatus {
2
+ Success = "Success",
3
+ Error = "Error",
4
+ InsufficientBalance = "Insufficient Balance",
5
+ }
6
+
7
+ export default LlmLogStatus;
@@ -147,6 +147,7 @@ enum Permission {
147
147
  ReadCallLog = "ReadCallLog",
148
148
  ReadPushLog = "ReadPushLog",
149
149
  ReadWorkspaceNotificationLog = "ReadWorkspaceNotificationLog",
150
+ ReadLlmLog = "ReadLlmLog",
150
151
 
151
152
  CreateIncidentOwnerTeam = "CreateIncidentOwnerTeam",
152
153
  DeleteIncidentOwnerTeam = "DeleteIncidentOwnerTeam",
@@ -624,6 +625,17 @@ enum Permission {
624
625
  EditServiceCatalogTelemetryService = "EditServiceCatalogTelemetryService",
625
626
  ReadServiceCatalogTelemetryService = "ReadServiceCatalogTelemetryService",
626
627
 
628
+ CreateServiceCatalogCodeRepository = "CreateServiceCatalogCodeRepository",
629
+ DeleteServiceCatalogCodeRepository = "DeleteServiceCatalogCodeRepository",
630
+ EditServiceCatalogCodeRepository = "EditServiceCatalogCodeRepository",
631
+ ReadServiceCatalogCodeRepository = "ReadServiceCatalogCodeRepository",
632
+
633
+ // Code Repository
634
+ CreateCodeRepository = "CreateCodeRepository",
635
+ DeleteCodeRepository = "DeleteCodeRepository",
636
+ EditCodeRepository = "EditCodeRepository",
637
+ ReadCodeRepository = "ReadCodeRepository",
638
+
627
639
  CreateProbeOwnerTeam = "CreateProbeOwnerTeam",
628
640
  DeleteProbeOwnerTeam = "DeleteProbeOwnerTeam",
629
641
  EditProbeOwnerTeam = "EditProbeOwnerTeam",
@@ -3132,6 +3144,14 @@ export class PermissionHelper {
3132
3144
  isAccessControlPermission: false,
3133
3145
  },
3134
3146
 
3147
+ {
3148
+ permission: Permission.ReadLlmLog,
3149
+ title: "Read LLM Log",
3150
+ description: "This permission can read LLM Logs of this project.",
3151
+ isAssignableToTenant: true,
3152
+ isAccessControlPermission: false,
3153
+ },
3154
+
3135
3155
  {
3136
3156
  permission: Permission.CreateMonitorProbe,
3137
3157
  title: "Create Monitor Probe",
@@ -3417,6 +3437,73 @@ export class PermissionHelper {
3417
3437
  isAccessControlPermission: false,
3418
3438
  },
3419
3439
 
3440
+ {
3441
+ permission: Permission.CreateServiceCatalogCodeRepository,
3442
+ title: "Create Service Catalog Code Repository",
3443
+ description:
3444
+ "This permission can create Service Catalog Code Repository in this project.",
3445
+ isAssignableToTenant: true,
3446
+ isAccessControlPermission: false,
3447
+ },
3448
+ {
3449
+ permission: Permission.DeleteServiceCatalogCodeRepository,
3450
+ title: "Delete Service Catalog Code Repository",
3451
+ description:
3452
+ "This permission can delete Service Catalog Code Repository of this project.",
3453
+ isAssignableToTenant: true,
3454
+ isAccessControlPermission: false,
3455
+ },
3456
+ {
3457
+ permission: Permission.EditServiceCatalogCodeRepository,
3458
+ title: "Edit Service Catalog Code Repository",
3459
+ description:
3460
+ "This permission can edit Service Catalog Code Repository of this project.",
3461
+ isAssignableToTenant: true,
3462
+ isAccessControlPermission: false,
3463
+ },
3464
+ {
3465
+ permission: Permission.ReadServiceCatalogCodeRepository,
3466
+ title: "Read Service Catalog Code Repository",
3467
+ description:
3468
+ "This permission can read Service Catalog Code Repository of this project.",
3469
+ isAssignableToTenant: true,
3470
+ isAccessControlPermission: false,
3471
+ },
3472
+
3473
+ // Code Repository Permissions
3474
+ {
3475
+ permission: Permission.CreateCodeRepository,
3476
+ title: "Create Code Repository",
3477
+ description:
3478
+ "This permission can create Code Repositories in this project.",
3479
+ isAssignableToTenant: true,
3480
+ isAccessControlPermission: true,
3481
+ },
3482
+ {
3483
+ permission: Permission.DeleteCodeRepository,
3484
+ title: "Delete Code Repository",
3485
+ description:
3486
+ "This permission can delete Code Repositories of this project.",
3487
+ isAssignableToTenant: true,
3488
+ isAccessControlPermission: true,
3489
+ },
3490
+ {
3491
+ permission: Permission.EditCodeRepository,
3492
+ title: "Edit Code Repository",
3493
+ description:
3494
+ "This permission can edit Code Repositories of this project.",
3495
+ isAssignableToTenant: true,
3496
+ isAccessControlPermission: true,
3497
+ },
3498
+ {
3499
+ permission: Permission.ReadCodeRepository,
3500
+ title: "Read Code Repository",
3501
+ description:
3502
+ "This permission can read Code Repositories of this project.",
3503
+ isAssignableToTenant: true,
3504
+ isAccessControlPermission: true,
3505
+ },
3506
+
3420
3507
  {
3421
3508
  permission: Permission.CreateTelemetryServiceTraces,
3422
3509
  title: "Create Telemetry Service Traces",
@@ -0,0 +1,9 @@
1
+ enum CodeRepositoryImprovementAction {
2
+ FixExceptions = "Fix Exceptions",
3
+ ImproveLogs = "Improve Logs",
4
+ ImproveSpans = "Improve Spans",
5
+ ImproveMetrics = "Improve Metrics",
6
+ FixPerformanceIssues = "Fix Performance Issues",
7
+ }
8
+
9
+ export default CodeRepositoryImprovementAction;
@@ -0,0 +1,95 @@
1
+ import React, {
2
+ FunctionComponent,
3
+ ReactElement,
4
+ useEffect,
5
+ useState,
6
+ } from "react";
7
+
8
+ const loadingStages: Array<string> = ["Analyzing", "Processing", "Generating"];
9
+
10
+ const AILoader: FunctionComponent = (): ReactElement => {
11
+ const [stageIndex, setStageIndex] = useState<number>(0);
12
+ const [dots, setDots] = useState<string>("");
13
+
14
+ // Cycle through stages
15
+ useEffect(() => {
16
+ const interval: NodeJS.Timeout = setInterval(() => {
17
+ setStageIndex((prev: number) => {
18
+ return (prev + 1) % loadingStages.length;
19
+ });
20
+ }, 2500);
21
+
22
+ return () => {
23
+ clearInterval(interval);
24
+ };
25
+ }, []);
26
+
27
+ // Animate dots
28
+ useEffect(() => {
29
+ const interval: NodeJS.Timeout = setInterval(() => {
30
+ setDots((prev: string) => {
31
+ return prev.length >= 3 ? "" : prev + ".";
32
+ });
33
+ }, 400);
34
+
35
+ return () => {
36
+ clearInterval(interval);
37
+ };
38
+ }, []);
39
+
40
+ return (
41
+ <div className="py-8 px-4">
42
+ <div className="flex items-center justify-center gap-3">
43
+ {/* Pulsing AI indicator */}
44
+ <div className="relative">
45
+ <div
46
+ className="w-2 h-2 bg-indigo-600 rounded-full"
47
+ style={{
48
+ animation: "aiPulse 1.5s ease-in-out infinite",
49
+ }}
50
+ />
51
+ <div
52
+ className="absolute inset-0 w-2 h-2 bg-indigo-600 rounded-full"
53
+ style={{
54
+ animation: "aiPing 1.5s ease-out infinite",
55
+ }}
56
+ />
57
+ </div>
58
+
59
+ {/* Status text */}
60
+ <span className="text-sm text-gray-600 font-medium min-w-[100px]">
61
+ {loadingStages[stageIndex]}
62
+ <span className="inline-block w-4 text-left">{dots}</span>
63
+ </span>
64
+ </div>
65
+
66
+ {/* CSS for animations */}
67
+ <style>
68
+ {`
69
+ @keyframes aiPulse {
70
+ 0%, 100% {
71
+ opacity: 1;
72
+ transform: scale(1);
73
+ }
74
+ 50% {
75
+ opacity: 0.7;
76
+ transform: scale(1.1);
77
+ }
78
+ }
79
+ @keyframes aiPing {
80
+ 0% {
81
+ opacity: 0.6;
82
+ transform: scale(1);
83
+ }
84
+ 100% {
85
+ opacity: 0;
86
+ transform: scale(2.5);
87
+ }
88
+ }
89
+ `}
90
+ </style>
91
+ </div>
92
+ );
93
+ };
94
+
95
+ export default AILoader;