@oneuptime/common 9.2.27 → 9.3.1

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 (263) hide show
  1. package/Models/DatabaseModels/AIAgent.ts +589 -0
  2. package/Models/DatabaseModels/AIAgentOwnerTeam.ts +434 -0
  3. package/Models/DatabaseModels/AIAgentOwnerUser.ts +433 -0
  4. package/Models/DatabaseModels/AIAgentTask.ts +549 -0
  5. package/Models/DatabaseModels/AIAgentTaskLog.ts +417 -0
  6. package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +731 -0
  7. package/Models/DatabaseModels/AIAgentTaskTelemetryException.ts +388 -0
  8. package/Models/DatabaseModels/Index.ts +15 -0
  9. package/Models/DatabaseModels/Monitor.ts +33 -0
  10. package/Models/DatabaseModels/Project.ts +25 -0
  11. package/Models/DatabaseModels/TelemetryException.ts +1 -1
  12. package/Server/API/AIAgentAPI.ts +200 -0
  13. package/Server/API/AIAgentDataAPI.ts +692 -0
  14. package/Server/API/AIAgentTaskAPI.ts +286 -0
  15. package/Server/API/AIAgentTaskLogAPI.ts +165 -0
  16. package/Server/API/AIAgentTaskPullRequestAPI.ts +14 -0
  17. package/Server/API/GitHubAPI.ts +25 -7
  18. package/Server/API/TelemetryExceptionAPI.ts +169 -0
  19. package/Server/EnvironmentConfig.ts +3 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1766590916627-MigrationName.ts +195 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1766600860972-MigrationName.ts +31 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1766606720183-MigrationName.ts +17 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1766688107858-MigrationName.ts +63 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1766754182870-MigrationName.ts +75 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1766774689743-MigrationName.ts +157 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1766777986427-MigrationName.ts +33 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1766918848434-AddAIAgentIsDefault.ts +27 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1766923324521-MigrationName.ts +37 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1766958924188-AddGitHubAppInstallationIdToProject.ts +31 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1767009661768-MigrationName.ts +35 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +22 -0
  32. package/Server/Services/AIAgentOwnerTeamService.ts +10 -0
  33. package/Server/Services/AIAgentOwnerUserService.ts +10 -0
  34. package/Server/Services/AIAgentService.ts +564 -0
  35. package/Server/Services/AIAgentTaskLogService.ts +10 -0
  36. package/Server/Services/AIAgentTaskPullRequestService.ts +10 -0
  37. package/Server/Services/AIAgentTaskService.ts +178 -0
  38. package/Server/Services/AIAgentTaskTelemetryExceptionService.ts +39 -0
  39. package/Server/Services/Index.ts +10 -0
  40. package/Server/Services/TelemetryExceptionService.ts +162 -0
  41. package/Server/Utils/Monitor/MonitorResource.ts +228 -0
  42. package/Server/Utils/PushNotificationUtil.ts +29 -0
  43. package/Server/Utils/WhatsAppTemplateUtil.ts +6 -0
  44. package/Tests/UI/Components/Badge.test.tsx +5 -5
  45. package/Tests/UI/Components/Card.test.tsx +4 -8
  46. package/Tests/UI/Components/HiddenText.test.tsx +2 -5
  47. package/Tests/UI/Components/SideMenuItem.test.tsx +4 -2
  48. package/Types/AI/AIAgentTaskMetadata.ts +25 -0
  49. package/Types/AI/AIAgentTaskStatus.ts +65 -0
  50. package/Types/AI/AIAgentTaskType.ts +40 -0
  51. package/Types/Email/EmailTemplateType.ts +2 -0
  52. package/Types/Monitor/MonitorEvaluationSummary.ts +2 -1
  53. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  54. package/Types/Permission.ts +176 -0
  55. package/Types/WhatsApp/WhatsAppTemplates.ts +9 -0
  56. package/UI/Components/AIAgent/AIAgent.tsx +69 -0
  57. package/UI/Components/Badge/Badge.tsx +9 -5
  58. package/UI/Components/Banner/Banner.tsx +1 -1
  59. package/UI/Components/Card/Card.tsx +14 -12
  60. package/UI/Components/CodeBlock/CodeBlock.tsx +47 -4
  61. package/UI/Components/Detail/Detail.tsx +239 -49
  62. package/UI/Components/Detail/FieldLabel.tsx +35 -11
  63. package/UI/Components/Detail/PlaceholderText.tsx +18 -1
  64. package/UI/Components/Footer/Footer.tsx +9 -7
  65. package/UI/Components/Header/Header.tsx +4 -3
  66. package/UI/Components/Header/HeaderIconDropdownButton.tsx +13 -11
  67. package/UI/Components/Header/IconDropdown/IconDropdownItem.tsx +3 -3
  68. package/UI/Components/Header/IconDropdown/IconDropdownMenu.tsx +1 -1
  69. package/UI/Components/Header/ProjectPicker/CreateNewProjectButton.tsx +4 -4
  70. package/UI/Components/Header/ProjectPicker/ProjectPicker.tsx +6 -6
  71. package/UI/Components/Header/ProjectPicker/ProjectPickerFilterBox.tsx +3 -3
  72. package/UI/Components/Header/ProjectPicker/ProjectPickerMenu.tsx +1 -1
  73. package/UI/Components/Header/ProjectPicker/ProjectPickerMenuItem.tsx +4 -4
  74. package/UI/Components/HeaderAlert/HeaderAlert.tsx +32 -32
  75. package/UI/Components/HeaderAlert/HeaderAlertGroup.tsx +1 -7
  76. package/UI/Components/HiddenText/HiddenText.tsx +98 -27
  77. package/UI/Components/Icon/Icon.tsx +12 -9
  78. package/UI/Components/InfoCard/InfoCard.tsx +7 -3
  79. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  80. package/UI/Components/ObjectID/ObjectIDView.tsx +73 -0
  81. package/UI/Components/Page/Page.tsx +3 -5
  82. package/UI/Components/SideMenu/SideMenu.tsx +175 -40
  83. package/UI/Components/SideMenu/SideMenuDivider.tsx +17 -0
  84. package/UI/Components/SideMenu/SideMenuItem.tsx +111 -158
  85. package/UI/Components/SideMenu/SideMenuSection.tsx +53 -3
  86. package/UI/Components/Table/Table.tsx +1 -1
  87. package/UI/Components/Types/FieldType.ts +2 -0
  88. package/UI/Config.ts +5 -0
  89. package/build/dist/Models/DatabaseModels/AIAgent.js +614 -0
  90. package/build/dist/Models/DatabaseModels/AIAgent.js.map +1 -0
  91. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js +452 -0
  92. package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js.map +1 -0
  93. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js +451 -0
  94. package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js.map +1 -0
  95. package/build/dist/Models/DatabaseModels/AIAgentTask.js +580 -0
  96. package/build/dist/Models/DatabaseModels/AIAgentTask.js.map +1 -0
  97. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js +438 -0
  98. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js.map +1 -0
  99. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +771 -0
  100. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -0
  101. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js +404 -0
  102. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js.map +1 -0
  103. package/build/dist/Models/DatabaseModels/Index.js +14 -0
  104. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  105. package/build/dist/Models/DatabaseModels/Monitor.js +34 -0
  106. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  107. package/build/dist/Models/DatabaseModels/Project.js +26 -0
  108. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  109. package/build/dist/Models/DatabaseModels/TelemetryException.js +1 -1
  110. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  111. package/build/dist/Server/API/AIAgentAPI.js +141 -0
  112. package/build/dist/Server/API/AIAgentAPI.js.map +1 -0
  113. package/build/dist/Server/API/AIAgentDataAPI.js +415 -0
  114. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -0
  115. package/build/dist/Server/API/AIAgentTaskAPI.js +199 -0
  116. package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -0
  117. package/build/dist/Server/API/AIAgentTaskLogAPI.js +106 -0
  118. package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -0
  119. package/build/dist/Server/API/AIAgentTaskPullRequestAPI.js +9 -0
  120. package/build/dist/Server/API/AIAgentTaskPullRequestAPI.js.map +1 -0
  121. package/build/dist/Server/API/GitHubAPI.js +23 -8
  122. package/build/dist/Server/API/GitHubAPI.js.map +1 -1
  123. package/build/dist/Server/API/TelemetryExceptionAPI.js +120 -0
  124. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -0
  125. package/build/dist/Server/EnvironmentConfig.js +2 -0
  126. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766590916627-MigrationName.js +74 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766590916627-MigrationName.js.map +1 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766600860972-MigrationName.js +18 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766600860972-MigrationName.js.map +1 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766606720183-MigrationName.js +12 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766606720183-MigrationName.js.map +1 -0
  133. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766688107858-MigrationName.js +28 -0
  134. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766688107858-MigrationName.js.map +1 -0
  135. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766754182870-MigrationName.js +32 -0
  136. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766754182870-MigrationName.js.map +1 -0
  137. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766774689743-MigrationName.js +60 -0
  138. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766774689743-MigrationName.js.map +1 -0
  139. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766777986427-MigrationName.js +18 -0
  140. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766777986427-MigrationName.js.map +1 -0
  141. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766918848434-AddAIAgentIsDefault.js +16 -0
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766918848434-AddAIAgentIsDefault.js.map +1 -0
  143. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766923324521-MigrationName.js +20 -0
  144. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766923324521-MigrationName.js.map +1 -0
  145. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766958924188-AddGitHubAppInstallationIdToProject.js +16 -0
  146. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1766958924188-AddGitHubAppInstallationIdToProject.js.map +1 -0
  147. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767009661768-MigrationName.js +18 -0
  148. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767009661768-MigrationName.js.map +1 -0
  149. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +22 -0
  150. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  151. package/build/dist/Server/Services/AIAgentOwnerTeamService.js +9 -0
  152. package/build/dist/Server/Services/AIAgentOwnerTeamService.js.map +1 -0
  153. package/build/dist/Server/Services/AIAgentOwnerUserService.js +9 -0
  154. package/build/dist/Server/Services/AIAgentOwnerUserService.js.map +1 -0
  155. package/build/dist/Server/Services/AIAgentService.js +471 -0
  156. package/build/dist/Server/Services/AIAgentService.js.map +1 -0
  157. package/build/dist/Server/Services/AIAgentTaskLogService.js +9 -0
  158. package/build/dist/Server/Services/AIAgentTaskLogService.js.map +1 -0
  159. package/build/dist/Server/Services/AIAgentTaskPullRequestService.js +9 -0
  160. package/build/dist/Server/Services/AIAgentTaskPullRequestService.js.map +1 -0
  161. package/build/dist/Server/Services/AIAgentTaskService.js +158 -0
  162. package/build/dist/Server/Services/AIAgentTaskService.js.map +1 -0
  163. package/build/dist/Server/Services/AIAgentTaskTelemetryExceptionService.js +36 -0
  164. package/build/dist/Server/Services/AIAgentTaskTelemetryExceptionService.js.map +1 -0
  165. package/build/dist/Server/Services/Index.js +10 -0
  166. package/build/dist/Server/Services/Index.js.map +1 -1
  167. package/build/dist/Server/Services/TelemetryExceptionService.js +137 -0
  168. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  169. package/build/dist/Server/Utils/Monitor/MonitorResource.js +168 -0
  170. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  171. package/build/dist/Server/Utils/PushNotificationUtil.js +21 -0
  172. package/build/dist/Server/Utils/PushNotificationUtil.js.map +1 -1
  173. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +4 -0
  174. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  175. package/build/dist/Tests/UI/Components/Badge.test.js +5 -5
  176. package/build/dist/Tests/UI/Components/Badge.test.js.map +1 -1
  177. package/build/dist/Tests/UI/Components/Card.test.js +4 -8
  178. package/build/dist/Tests/UI/Components/Card.test.js.map +1 -1
  179. package/build/dist/Tests/UI/Components/HiddenText.test.js +2 -3
  180. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +1 -1
  181. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +3 -2
  182. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +1 -1
  183. package/build/dist/Types/AI/AIAgentTaskMetadata.js +6 -0
  184. package/build/dist/Types/AI/AIAgentTaskMetadata.js.map +1 -0
  185. package/build/dist/Types/AI/AIAgentTaskStatus.js +51 -0
  186. package/build/dist/Types/AI/AIAgentTaskStatus.js.map +1 -0
  187. package/build/dist/Types/AI/AIAgentTaskType.js +29 -0
  188. package/build/dist/Types/AI/AIAgentTaskType.js.map +1 -0
  189. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  190. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  191. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  192. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  193. package/build/dist/Types/Permission.js +160 -0
  194. package/build/dist/Types/Permission.js.map +1 -1
  195. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +6 -0
  196. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
  197. package/build/dist/UI/Components/AIAgent/AIAgent.js +32 -0
  198. package/build/dist/UI/Components/AIAgent/AIAgent.js.map +1 -0
  199. package/build/dist/UI/Components/Badge/Badge.js +9 -5
  200. package/build/dist/UI/Components/Badge/Badge.js.map +1 -1
  201. package/build/dist/UI/Components/Banner/Banner.js +1 -1
  202. package/build/dist/UI/Components/Banner/Banner.js.map +1 -1
  203. package/build/dist/UI/Components/Card/Card.js +12 -12
  204. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  205. package/build/dist/UI/Components/CodeBlock/CodeBlock.js +22 -2
  206. package/build/dist/UI/Components/CodeBlock/CodeBlock.js.map +1 -1
  207. package/build/dist/UI/Components/Detail/Detail.js +117 -37
  208. package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
  209. package/build/dist/UI/Components/Detail/FieldLabel.js +12 -7
  210. package/build/dist/UI/Components/Detail/FieldLabel.js.map +1 -1
  211. package/build/dist/UI/Components/Detail/PlaceholderText.js +4 -1
  212. package/build/dist/UI/Components/Detail/PlaceholderText.js.map +1 -1
  213. package/build/dist/UI/Components/Footer/Footer.js +6 -6
  214. package/build/dist/UI/Components/Footer/Footer.js.map +1 -1
  215. package/build/dist/UI/Components/Header/Header.js +4 -3
  216. package/build/dist/UI/Components/Header/Header.js.map +1 -1
  217. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +7 -7
  218. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  219. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js +3 -3
  220. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownItem.js.map +1 -1
  221. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js +1 -1
  222. package/build/dist/UI/Components/Header/IconDropdown/IconDropdownMenu.js.map +1 -1
  223. package/build/dist/UI/Components/Header/ProjectPicker/CreateNewProjectButton.js +4 -4
  224. package/build/dist/UI/Components/Header/ProjectPicker/CreateNewProjectButton.js.map +1 -1
  225. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js +6 -6
  226. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPicker.js.map +1 -1
  227. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerFilterBox.js +2 -2
  228. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerFilterBox.js.map +1 -1
  229. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerMenu.js +1 -1
  230. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerMenu.js.map +1 -1
  231. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerMenuItem.js +4 -4
  232. package/build/dist/UI/Components/Header/ProjectPicker/ProjectPickerMenuItem.js.map +1 -1
  233. package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js +31 -29
  234. package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js.map +1 -1
  235. package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js +1 -3
  236. package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js.map +1 -1
  237. package/build/dist/UI/Components/HiddenText/HiddenText.js +33 -14
  238. package/build/dist/UI/Components/HiddenText/HiddenText.js.map +1 -1
  239. package/build/dist/UI/Components/Icon/Icon.js +3 -4
  240. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  241. package/build/dist/UI/Components/InfoCard/InfoCard.js +3 -3
  242. package/build/dist/UI/Components/InfoCard/InfoCard.js.map +1 -1
  243. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  244. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  245. package/build/dist/UI/Components/ObjectID/ObjectIDView.js +30 -0
  246. package/build/dist/UI/Components/ObjectID/ObjectIDView.js.map +1 -0
  247. package/build/dist/UI/Components/Page/Page.js +3 -3
  248. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  249. package/build/dist/UI/Components/SideMenu/SideMenu.js +82 -17
  250. package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
  251. package/build/dist/UI/Components/SideMenu/SideMenuDivider.js +7 -0
  252. package/build/dist/UI/Components/SideMenu/SideMenuDivider.js.map +1 -0
  253. package/build/dist/UI/Components/SideMenu/SideMenuItem.js +68 -97
  254. package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
  255. package/build/dist/UI/Components/SideMenu/SideMenuSection.js +18 -3
  256. package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
  257. package/build/dist/UI/Components/Table/Table.js +1 -1
  258. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  259. package/build/dist/UI/Components/Types/FieldType.js +2 -0
  260. package/build/dist/UI/Components/Types/FieldType.js.map +1 -1
  261. package/build/dist/UI/Config.js +2 -0
  262. package/build/dist/UI/Config.js.map +1 -1
  263. package/package.json +1 -1
@@ -0,0 +1,434 @@
1
+ import AIAgent from "./AIAgent";
2
+ import Project from "./Project";
3
+ import Team from "./Team";
4
+ import User from "./User";
5
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
6
+ import Route from "../../Types/API/Route";
7
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
8
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
9
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
10
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
11
+ import ColumnType from "../../Types/Database/ColumnType";
12
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
13
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
14
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
15
+ import TableColumn from "../../Types/Database/TableColumn";
16
+ import TableColumnType from "../../Types/Database/TableColumnType";
17
+ import TableMetadata from "../../Types/Database/TableMetadata";
18
+ import TenantColumn from "../../Types/Database/TenantColumn";
19
+ import IconProp from "../../Types/Icon/IconProp";
20
+ import ObjectID from "../../Types/ObjectID";
21
+ import Permission from "../../Types/Permission";
22
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
23
+
24
+ @EnableDocumentation()
25
+ @TenantColumn("projectId")
26
+ @TableBillingAccessControl({
27
+ create: PlanType.Growth,
28
+ read: PlanType.Free,
29
+ update: PlanType.Growth,
30
+ delete: PlanType.Free,
31
+ })
32
+ @TableAccessControl({
33
+ create: [
34
+ Permission.ProjectOwner,
35
+ Permission.ProjectAdmin,
36
+ Permission.ProjectMember,
37
+ Permission.CreateAIAgentOwnerTeam,
38
+ ],
39
+ read: [
40
+ Permission.ProjectOwner,
41
+ Permission.ProjectAdmin,
42
+ Permission.ProjectMember,
43
+ Permission.ReadAIAgentOwnerTeam,
44
+ ],
45
+ delete: [
46
+ Permission.ProjectOwner,
47
+ Permission.ProjectAdmin,
48
+ Permission.ProjectMember,
49
+ Permission.DeleteAIAgentOwnerTeam,
50
+ ],
51
+ update: [
52
+ Permission.ProjectOwner,
53
+ Permission.ProjectAdmin,
54
+ Permission.ProjectMember,
55
+ Permission.EditAIAgentOwnerTeam,
56
+ ],
57
+ })
58
+ @EnableWorkflow({
59
+ create: true,
60
+ delete: true,
61
+ update: true,
62
+ read: true,
63
+ })
64
+ @CrudApiEndpoint(new Route("/ai-agent-owner-team"))
65
+ @TableMetadata({
66
+ tableName: "AIAgentOwnerTeam",
67
+ singularName: "AI Agent Owner Team",
68
+ pluralName: "AI Agent Owner Teams",
69
+ icon: IconProp.Brain,
70
+ tableDescription: "Add teams as owners to your AI agents.",
71
+ })
72
+ @Entity({
73
+ name: "AIAgentOwnerTeam",
74
+ })
75
+ export default class AIAgentOwnerTeam extends BaseModel {
76
+ @ColumnAccessControl({
77
+ create: [
78
+ Permission.ProjectOwner,
79
+ Permission.ProjectAdmin,
80
+ Permission.ProjectMember,
81
+ Permission.CreateAIAgentOwnerTeam,
82
+ ],
83
+ read: [
84
+ Permission.ProjectOwner,
85
+ Permission.ProjectAdmin,
86
+ Permission.ProjectMember,
87
+ Permission.ReadAIAgentOwnerTeam,
88
+ ],
89
+ update: [],
90
+ })
91
+ @TableColumn({
92
+ manyToOneRelationColumn: "projectId",
93
+ type: TableColumnType.Entity,
94
+ modelType: Project,
95
+ title: "Project",
96
+ description: "Relation to Project Resource in which this object belongs",
97
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
98
+ })
99
+ @ManyToOne(
100
+ () => {
101
+ return Project;
102
+ },
103
+ {
104
+ eager: false,
105
+ nullable: false,
106
+ onDelete: "CASCADE",
107
+ orphanedRowAction: "nullify",
108
+ },
109
+ )
110
+ @JoinColumn({ name: "projectId" })
111
+ public project?: Project = undefined;
112
+
113
+ @ColumnAccessControl({
114
+ create: [
115
+ Permission.ProjectOwner,
116
+ Permission.ProjectAdmin,
117
+ Permission.ProjectMember,
118
+ Permission.CreateAIAgentOwnerTeam,
119
+ ],
120
+ read: [
121
+ Permission.ProjectOwner,
122
+ Permission.ProjectAdmin,
123
+ Permission.ProjectMember,
124
+ Permission.ReadAIAgentOwnerTeam,
125
+ ],
126
+ update: [],
127
+ })
128
+ @Index()
129
+ @TableColumn({
130
+ type: TableColumnType.ObjectID,
131
+ required: true,
132
+ canReadOnRelationQuery: true,
133
+ title: "Project ID",
134
+ description: "ID of your OneUptime Project in which this object belongs",
135
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
136
+ })
137
+ @Column({
138
+ type: ColumnType.ObjectID,
139
+ nullable: false,
140
+ transformer: ObjectID.getDatabaseTransformer(),
141
+ })
142
+ public projectId?: ObjectID = undefined;
143
+
144
+ @ColumnAccessControl({
145
+ create: [
146
+ Permission.ProjectOwner,
147
+ Permission.ProjectAdmin,
148
+ Permission.ProjectMember,
149
+ Permission.CreateAIAgentOwnerTeam,
150
+ ],
151
+ read: [
152
+ Permission.ProjectOwner,
153
+ Permission.ProjectAdmin,
154
+ Permission.ProjectMember,
155
+ Permission.ReadAIAgentOwnerTeam,
156
+ ],
157
+ update: [],
158
+ })
159
+ @TableColumn({
160
+ manyToOneRelationColumn: "teamId",
161
+ type: TableColumnType.Entity,
162
+ modelType: Team,
163
+ title: "Team",
164
+ description:
165
+ "Team that is the owner. All users in this team will receive notifications. ",
166
+ example: "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
167
+ })
168
+ @ManyToOne(
169
+ () => {
170
+ return Team;
171
+ },
172
+ {
173
+ eager: false,
174
+ nullable: true,
175
+ onDelete: "CASCADE",
176
+ orphanedRowAction: "nullify",
177
+ },
178
+ )
179
+ @JoinColumn({ name: "teamId" })
180
+ public team?: Team = undefined;
181
+
182
+ @ColumnAccessControl({
183
+ create: [
184
+ Permission.ProjectOwner,
185
+ Permission.ProjectAdmin,
186
+ Permission.ProjectMember,
187
+ Permission.CreateAIAgentOwnerTeam,
188
+ ],
189
+ read: [
190
+ Permission.ProjectOwner,
191
+ Permission.ProjectAdmin,
192
+ Permission.ProjectMember,
193
+ Permission.ReadAIAgentOwnerTeam,
194
+ ],
195
+ update: [],
196
+ })
197
+ @Index()
198
+ @TableColumn({
199
+ type: TableColumnType.ObjectID,
200
+ required: true,
201
+ canReadOnRelationQuery: true,
202
+ title: "Team ID",
203
+ description: "ID of your OneUptime Team in which this object belongs",
204
+ example: "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
205
+ })
206
+ @Column({
207
+ type: ColumnType.ObjectID,
208
+ nullable: false,
209
+ transformer: ObjectID.getDatabaseTransformer(),
210
+ })
211
+ public teamId?: ObjectID = undefined;
212
+
213
+ @ColumnAccessControl({
214
+ create: [
215
+ Permission.ProjectOwner,
216
+ Permission.ProjectAdmin,
217
+ Permission.ProjectMember,
218
+ Permission.CreateAIAgentOwnerTeam,
219
+ ],
220
+ read: [
221
+ Permission.ProjectOwner,
222
+ Permission.ProjectAdmin,
223
+ Permission.ProjectMember,
224
+ Permission.ReadAIAgentOwnerTeam,
225
+ ],
226
+ update: [],
227
+ })
228
+ @TableColumn({
229
+ manyToOneRelationColumn: "aiAgentId",
230
+ type: TableColumnType.Entity,
231
+ modelType: AIAgent,
232
+ title: "AI Agent",
233
+ description: "Relation to AI Agent Resource in which this object belongs",
234
+ example: "b2c3d4e5-f6a7-8901-bc23-de45fa678901",
235
+ })
236
+ @ManyToOne(
237
+ () => {
238
+ return AIAgent;
239
+ },
240
+ {
241
+ eager: false,
242
+ nullable: true,
243
+ onDelete: "CASCADE",
244
+ orphanedRowAction: "nullify",
245
+ },
246
+ )
247
+ @JoinColumn({ name: "aiAgentId" })
248
+ public aiAgent?: AIAgent = undefined;
249
+
250
+ @ColumnAccessControl({
251
+ create: [
252
+ Permission.ProjectOwner,
253
+ Permission.ProjectAdmin,
254
+ Permission.ProjectMember,
255
+ Permission.CreateAIAgentOwnerTeam,
256
+ ],
257
+ read: [
258
+ Permission.ProjectOwner,
259
+ Permission.ProjectAdmin,
260
+ Permission.ProjectMember,
261
+ Permission.ReadAIAgentOwnerTeam,
262
+ ],
263
+ update: [],
264
+ })
265
+ @Index()
266
+ @TableColumn({
267
+ type: TableColumnType.ObjectID,
268
+ required: true,
269
+ canReadOnRelationQuery: true,
270
+ title: "AI Agent ID",
271
+ description: "ID of your OneUptime AI Agent in which this object belongs",
272
+ example: "b2c3d4e5-f6a7-8901-bc23-de45fa678901",
273
+ })
274
+ @Column({
275
+ type: ColumnType.ObjectID,
276
+ nullable: false,
277
+ transformer: ObjectID.getDatabaseTransformer(),
278
+ })
279
+ public aiAgentId?: ObjectID = undefined;
280
+
281
+ @ColumnAccessControl({
282
+ create: [
283
+ Permission.ProjectOwner,
284
+ Permission.ProjectAdmin,
285
+ Permission.ProjectMember,
286
+ Permission.CreateAIAgentOwnerTeam,
287
+ ],
288
+ read: [
289
+ Permission.ProjectOwner,
290
+ Permission.ProjectAdmin,
291
+ Permission.ProjectMember,
292
+ Permission.ReadAIAgentOwnerTeam,
293
+ ],
294
+ update: [],
295
+ })
296
+ @TableColumn({
297
+ manyToOneRelationColumn: "createdByUserId",
298
+ type: TableColumnType.Entity,
299
+ modelType: User,
300
+ title: "Created by User",
301
+ description:
302
+ "Relation to User who created this object (if this object was created by a User)",
303
+ example: "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
304
+ })
305
+ @ManyToOne(
306
+ () => {
307
+ return User;
308
+ },
309
+ {
310
+ eager: false,
311
+ nullable: true,
312
+ onDelete: "SET NULL",
313
+ orphanedRowAction: "nullify",
314
+ },
315
+ )
316
+ @JoinColumn({ name: "createdByUserId" })
317
+ public createdByUser?: User = undefined;
318
+
319
+ @ColumnAccessControl({
320
+ create: [
321
+ Permission.ProjectOwner,
322
+ Permission.ProjectAdmin,
323
+ Permission.ProjectMember,
324
+ Permission.CreateAIAgentOwnerTeam,
325
+ ],
326
+ read: [
327
+ Permission.ProjectOwner,
328
+ Permission.ProjectAdmin,
329
+ Permission.ProjectMember,
330
+ Permission.ReadAIAgentOwnerTeam,
331
+ ],
332
+ update: [],
333
+ })
334
+ @TableColumn({
335
+ type: TableColumnType.ObjectID,
336
+ title: "Created by User ID",
337
+ description:
338
+ "User ID who created this object (if this object was created by a User)",
339
+ example: "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
340
+ })
341
+ @Column({
342
+ type: ColumnType.ObjectID,
343
+ nullable: true,
344
+ transformer: ObjectID.getDatabaseTransformer(),
345
+ })
346
+ public createdByUserId?: ObjectID = undefined;
347
+
348
+ @ColumnAccessControl({
349
+ create: [],
350
+ read: [
351
+ Permission.ProjectOwner,
352
+ Permission.ProjectAdmin,
353
+ Permission.ProjectMember,
354
+ Permission.ReadAIAgentOwnerTeam,
355
+ ],
356
+ update: [],
357
+ })
358
+ @TableColumn({
359
+ manyToOneRelationColumn: "deletedByUserId",
360
+ type: TableColumnType.Entity,
361
+ title: "Deleted by User",
362
+ modelType: User,
363
+ description:
364
+ "Relation to User who deleted this object (if this object was deleted by a User)",
365
+ example: "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
366
+ })
367
+ @ManyToOne(
368
+ () => {
369
+ return User;
370
+ },
371
+ {
372
+ cascade: false,
373
+ eager: false,
374
+ nullable: true,
375
+ onDelete: "SET NULL",
376
+ orphanedRowAction: "nullify",
377
+ },
378
+ )
379
+ @JoinColumn({ name: "deletedByUserId" })
380
+ public deletedByUser?: User = undefined;
381
+
382
+ @ColumnAccessControl({
383
+ create: [],
384
+ read: [
385
+ Permission.ProjectOwner,
386
+ Permission.ProjectAdmin,
387
+ Permission.ProjectMember,
388
+ Permission.ReadAIAgentOwnerTeam,
389
+ ],
390
+ update: [],
391
+ })
392
+ @TableColumn({
393
+ type: TableColumnType.ObjectID,
394
+ title: "Deleted by User ID",
395
+ description:
396
+ "User ID who deleted this object (if this object was deleted by a User)",
397
+ example: "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
398
+ })
399
+ @Column({
400
+ type: ColumnType.ObjectID,
401
+ nullable: true,
402
+ transformer: ObjectID.getDatabaseTransformer(),
403
+ })
404
+ public deletedByUserId?: ObjectID = undefined;
405
+
406
+ @ColumnAccessControl({
407
+ create: [],
408
+ read: [
409
+ Permission.ProjectOwner,
410
+ Permission.ProjectAdmin,
411
+ Permission.ProjectMember,
412
+ Permission.ReadAIAgentOwnerTeam,
413
+ ],
414
+ update: [],
415
+ })
416
+ @Index()
417
+ @TableColumn({
418
+ type: TableColumnType.Boolean,
419
+ computed: true,
420
+ hideColumnInDocumentation: true,
421
+ required: true,
422
+ isDefaultValueColumn: true,
423
+ title: "Are Owners Notified",
424
+ description: "Are owners notified of this resource ownership?",
425
+ defaultValue: false,
426
+ example: false,
427
+ })
428
+ @Column({
429
+ type: ColumnType.Boolean,
430
+ nullable: false,
431
+ default: false,
432
+ })
433
+ public isOwnerNotified?: boolean = undefined;
434
+ }