@studious-lms/server 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/.dockerignore +28 -0
  2. package/.env.example +5 -0
  3. package/.github/workflows/deploy.yml +123 -0
  4. package/Dockerfile +54 -0
  5. package/dist/index.js +5 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/config/cors.d.ts.map +1 -1
  8. package/dist/lib/config/cors.js +31 -11
  9. package/dist/lib/config/cors.js.map +1 -1
  10. package/dist/lib/config/env.d.ts +17 -0
  11. package/dist/lib/config/env.d.ts.map +1 -1
  12. package/dist/lib/config/env.js +8 -2
  13. package/dist/lib/config/env.js.map +1 -1
  14. package/dist/lib/googleCloudStorage.d.ts +10 -0
  15. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  16. package/dist/lib/googleCloudStorage.js +22 -2
  17. package/dist/lib/googleCloudStorage.js.map +1 -1
  18. package/dist/lib/prisma.d.ts +104 -5
  19. package/dist/lib/prisma.d.ts.map +1 -1
  20. package/dist/lib/prisma.js +33 -2
  21. package/dist/lib/prisma.js.map +1 -1
  22. package/dist/models/agenda.d.ts +20 -20
  23. package/dist/models/announcement.d.ts +177 -69
  24. package/dist/models/announcement.d.ts.map +1 -1
  25. package/dist/models/assignment.d.ts +551 -353
  26. package/dist/models/assignment.d.ts.map +1 -1
  27. package/dist/models/attendance.d.ts +197 -71
  28. package/dist/models/attendance.d.ts.map +1 -1
  29. package/dist/models/auth.d.ts +348 -114
  30. package/dist/models/auth.d.ts.map +1 -1
  31. package/dist/models/class.d.ts +324 -188
  32. package/dist/models/class.d.ts.map +1 -1
  33. package/dist/models/class.js +9 -3
  34. package/dist/models/class.js.map +1 -1
  35. package/dist/models/cloudStorage.d.ts +146 -56
  36. package/dist/models/cloudStorage.d.ts.map +1 -1
  37. package/dist/models/comment.d.ts +269 -110
  38. package/dist/models/comment.d.ts.map +1 -1
  39. package/dist/models/comment.js +3 -2
  40. package/dist/models/comment.js.map +1 -1
  41. package/dist/models/conversation.d.ts +206 -63
  42. package/dist/models/conversation.d.ts.map +1 -1
  43. package/dist/models/conversation.js +13 -2
  44. package/dist/models/conversation.js.map +1 -1
  45. package/dist/models/department.d.ts +196 -70
  46. package/dist/models/department.d.ts.map +1 -1
  47. package/dist/models/event.d.ts +287 -125
  48. package/dist/models/event.d.ts.map +1 -1
  49. package/dist/models/file.d.ts +389 -263
  50. package/dist/models/file.d.ts.map +1 -1
  51. package/dist/models/folder.d.ts +433 -181
  52. package/dist/models/folder.d.ts.map +1 -1
  53. package/dist/models/labChat.d.ts +209 -83
  54. package/dist/models/labChat.d.ts.map +1 -1
  55. package/dist/models/marketing.d.ts +80 -26
  56. package/dist/models/marketing.d.ts.map +1 -1
  57. package/dist/models/message.d.ts +95 -41
  58. package/dist/models/message.d.ts.map +1 -1
  59. package/dist/models/newtonChat.d.ts +83 -29
  60. package/dist/models/newtonChat.d.ts.map +1 -1
  61. package/dist/models/notification.d.ts +61 -25
  62. package/dist/models/notification.d.ts.map +1 -1
  63. package/dist/models/school.d.ts +349 -133
  64. package/dist/models/school.d.ts.map +1 -1
  65. package/dist/models/section.d.ts +216 -72
  66. package/dist/models/section.d.ts.map +1 -1
  67. package/dist/models/tag.d.ts +156 -48
  68. package/dist/models/tag.d.ts.map +1 -1
  69. package/dist/models/user.d.ts +82 -28
  70. package/dist/models/user.d.ts.map +1 -1
  71. package/dist/models/worksheet.d.ts +1023 -410
  72. package/dist/models/worksheet.d.ts.map +1 -1
  73. package/dist/models/worksheet.js +19 -7
  74. package/dist/models/worksheet.js.map +1 -1
  75. package/dist/pipelines/aiLabChat.d.ts +0 -8
  76. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  77. package/dist/pipelines/aiLabChat.js +50 -67
  78. package/dist/pipelines/aiLabChat.js.map +1 -1
  79. package/dist/pipelines/aiLabChatContract.d.ts +393 -388
  80. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  81. package/dist/pipelines/aiLabChatContract.js +63 -69
  82. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  83. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  84. package/dist/pipelines/aiNewtonChat.js +41 -41
  85. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  86. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  87. package/dist/pipelines/gradeWorksheet.d.ts.map +1 -1
  88. package/dist/pipelines/gradeWorksheet.js +59 -14
  89. package/dist/pipelines/gradeWorksheet.js.map +1 -1
  90. package/dist/pipelines/labChatPrompt.d.ts +10 -8
  91. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  92. package/dist/pipelines/labChatPrompt.js +47 -67
  93. package/dist/pipelines/labChatPrompt.js.map +1 -1
  94. package/dist/pipelines/pdfToWorksheet.d.ts +2 -2
  95. package/dist/routers/_app.d.ts +2268 -1898
  96. package/dist/routers/_app.d.ts.map +1 -1
  97. package/dist/routers/_app.js +4 -2
  98. package/dist/routers/_app.js.map +1 -1
  99. package/dist/routers/admin.d.ts +13 -13
  100. package/dist/routers/agenda.d.ts +18 -18
  101. package/dist/routers/announcement.d.ts +32 -28
  102. package/dist/routers/announcement.d.ts.map +1 -1
  103. package/dist/routers/announcement.js +6 -5
  104. package/dist/routers/announcement.js.map +1 -1
  105. package/dist/routers/assignment.d.ts +335 -327
  106. package/dist/routers/assignment.d.ts.map +1 -1
  107. package/dist/routers/assignment.js +4 -4
  108. package/dist/routers/assignment.js.map +1 -1
  109. package/dist/routers/attendance.d.ts +10 -10
  110. package/dist/routers/auth.d.ts +2 -2
  111. package/dist/routers/class.d.ts +170 -147
  112. package/dist/routers/class.d.ts.map +1 -1
  113. package/dist/routers/comment.d.ts +40 -16
  114. package/dist/routers/comment.d.ts.map +1 -1
  115. package/dist/routers/comment.js +6 -3
  116. package/dist/routers/comment.js.map +1 -1
  117. package/dist/routers/conversation.d.ts +17 -17
  118. package/dist/routers/department.d.ts +34 -34
  119. package/dist/routers/discussion.d.ts +65 -53
  120. package/dist/routers/discussion.d.ts.map +1 -1
  121. package/dist/routers/discussion.js +6 -2
  122. package/dist/routers/discussion.js.map +1 -1
  123. package/dist/routers/embedding.d.ts +69 -0
  124. package/dist/routers/embedding.d.ts.map +1 -0
  125. package/dist/routers/embedding.js +143 -0
  126. package/dist/routers/embedding.js.map +1 -0
  127. package/dist/routers/event.d.ts +39 -39
  128. package/dist/routers/file.d.ts +12 -12
  129. package/dist/routers/folder.d.ts +38 -38
  130. package/dist/routers/labChat.d.ts +19 -19
  131. package/dist/routers/marketing.d.ts +2 -2
  132. package/dist/routers/message.d.ts +13 -13
  133. package/dist/routers/newtonChat.d.ts +4 -4
  134. package/dist/routers/notifications.d.ts +9 -9
  135. package/dist/routers/permissions.d.ts +14 -14
  136. package/dist/routers/school.d.ts +55 -55
  137. package/dist/routers/search.d.ts +22 -1
  138. package/dist/routers/search.d.ts.map +1 -1
  139. package/dist/routers/search.js +9 -3
  140. package/dist/routers/search.js.map +1 -1
  141. package/dist/routers/section.d.ts +4 -4
  142. package/dist/routers/studentProgress.d.ts +1 -1
  143. package/dist/routers/tag.d.ts +7 -7
  144. package/dist/routers/user.d.ts +10 -10
  145. package/dist/routers/worksheet.d.ts +97 -56
  146. package/dist/routers/worksheet.d.ts.map +1 -1
  147. package/dist/routers/worksheet.js +28 -2
  148. package/dist/routers/worksheet.js.map +1 -1
  149. package/dist/routes/aiStream.d.ts +2 -0
  150. package/dist/routes/aiStream.d.ts.map +1 -0
  151. package/dist/routes/aiStream.js +696 -0
  152. package/dist/routes/aiStream.js.map +1 -0
  153. package/dist/seedDatabase.d.ts +2 -2
  154. package/dist/seedDatabase.js +6 -6
  155. package/dist/seedDatabase.js.map +1 -1
  156. package/dist/services/adminInstitution.d.ts +8 -8
  157. package/dist/services/adminRunJob.d.ts +4 -4
  158. package/dist/services/agenda.d.ts +18 -18
  159. package/dist/services/aiChatStream.d.ts +68 -0
  160. package/dist/services/aiChatStream.d.ts.map +1 -0
  161. package/dist/services/aiChatStream.js +157 -0
  162. package/dist/services/aiChatStream.js.map +1 -0
  163. package/dist/services/aiModifierTools.d.ts +32 -0
  164. package/dist/services/aiModifierTools.d.ts.map +1 -0
  165. package/dist/services/aiModifierTools.js +165 -0
  166. package/dist/services/aiModifierTools.js.map +1 -0
  167. package/dist/services/aiProposalTools.d.ts +32 -0
  168. package/dist/services/aiProposalTools.d.ts.map +1 -0
  169. package/dist/services/aiProposalTools.js +207 -0
  170. package/dist/services/aiProposalTools.js.map +1 -0
  171. package/dist/services/aiStream.d.ts +22 -0
  172. package/dist/services/aiStream.d.ts.map +1 -0
  173. package/dist/services/aiStream.js +142 -0
  174. package/dist/services/aiStream.js.map +1 -0
  175. package/dist/services/aiTools.d.ts +16 -0
  176. package/dist/services/aiTools.d.ts.map +1 -0
  177. package/dist/services/aiTools.js +271 -0
  178. package/dist/services/aiTools.js.map +1 -0
  179. package/dist/services/announcement.d.ts +12 -12
  180. package/dist/services/announcement.d.ts.map +1 -1
  181. package/dist/services/announcement.js +7 -2
  182. package/dist/services/announcement.js.map +1 -1
  183. package/dist/services/assignment.d.ts +293 -293
  184. package/dist/services/assignment.d.ts.map +1 -1
  185. package/dist/services/assignment.js +36 -15
  186. package/dist/services/assignment.js.map +1 -1
  187. package/dist/services/attendance.d.ts +10 -10
  188. package/dist/services/auth.d.ts +2 -2
  189. package/dist/services/class.d.ts +161 -138
  190. package/dist/services/class.d.ts.map +1 -1
  191. package/dist/services/class.js +25 -4
  192. package/dist/services/class.js.map +1 -1
  193. package/dist/services/comment.d.ts +34 -16
  194. package/dist/services/comment.d.ts.map +1 -1
  195. package/dist/services/comment.js +23 -2
  196. package/dist/services/comment.js.map +1 -1
  197. package/dist/services/conversation.d.ts +17 -17
  198. package/dist/services/conversation.d.ts.map +1 -1
  199. package/dist/services/conversation.js +9 -7
  200. package/dist/services/conversation.js.map +1 -1
  201. package/dist/services/department.d.ts +33 -33
  202. package/dist/services/discussion.d.ts +58 -58
  203. package/dist/services/discussion.d.ts.map +1 -1
  204. package/dist/services/discussion.js +8 -8
  205. package/dist/services/discussion.js.map +1 -1
  206. package/dist/services/discussionSummary.d.ts +21 -0
  207. package/dist/services/discussionSummary.d.ts.map +1 -0
  208. package/dist/services/discussionSummary.js +179 -0
  209. package/dist/services/discussionSummary.js.map +1 -0
  210. package/dist/services/embedding.d.ts +67 -0
  211. package/dist/services/embedding.d.ts.map +1 -0
  212. package/dist/services/embedding.js +226 -0
  213. package/dist/services/embedding.js.map +1 -0
  214. package/dist/services/event.d.ts +37 -37
  215. package/dist/services/file.d.ts +24 -24
  216. package/dist/services/folder.d.ts +36 -36
  217. package/dist/services/labChat.d.ts +19 -19
  218. package/dist/services/marketing.d.ts +2 -2
  219. package/dist/services/message.d.ts +11 -11
  220. package/dist/services/message.d.ts.map +1 -1
  221. package/dist/services/message.js +2 -2
  222. package/dist/services/message.js.map +1 -1
  223. package/dist/services/newtonChat.d.ts +4 -4
  224. package/dist/services/notification.d.ts +9 -9
  225. package/dist/services/notification.d.ts.map +1 -1
  226. package/dist/services/permissions.d.ts +14 -14
  227. package/dist/services/school.d.ts +50 -50
  228. package/dist/services/search.d.ts +12 -0
  229. package/dist/services/search.d.ts.map +1 -1
  230. package/dist/services/search.js +120 -2
  231. package/dist/services/search.js.map +1 -1
  232. package/dist/services/section.d.ts +3 -3
  233. package/dist/services/tag.d.ts +4 -4
  234. package/dist/services/user.d.ts +4 -4
  235. package/dist/services/user.d.ts.map +1 -1
  236. package/dist/services/user.js +10 -15
  237. package/dist/services/user.js.map +1 -1
  238. package/dist/services/worksheet.d.ts +62 -47
  239. package/dist/services/worksheet.d.ts.map +1 -1
  240. package/dist/services/worksheet.js +11 -4
  241. package/dist/services/worksheet.js.map +1 -1
  242. package/dist/utils/streamBroadcast.d.ts +11 -0
  243. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  244. package/dist/utils/streamBroadcast.js +32 -0
  245. package/dist/utils/streamBroadcast.js.map +1 -0
  246. package/dist/workers/connection.d.ts +15 -0
  247. package/dist/workers/connection.d.ts.map +1 -1
  248. package/dist/workers/connection.js +20 -2
  249. package/dist/workers/connection.js.map +1 -1
  250. package/dist/workers/index.js +4 -2
  251. package/dist/workers/index.js.map +1 -1
  252. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  253. package/dist/workers/processors/createRunJobWorker.js +31 -8
  254. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  255. package/dist/workers/processors/embedContent.d.ts +8 -0
  256. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  257. package/dist/workers/processors/embedContent.js +76 -0
  258. package/dist/workers/processors/embedContent.js.map +1 -0
  259. package/dist/workers/queues.d.ts +6 -0
  260. package/dist/workers/queues.d.ts.map +1 -1
  261. package/dist/workers/queues.js +5 -3
  262. package/dist/workers/queues.js.map +1 -1
  263. package/package.json +5 -1
  264. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  265. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  266. package/prisma/schema.prisma +39 -7
  267. package/src/index.ts +4 -0
  268. package/src/lib/config/cors.ts +32 -9
  269. package/src/lib/config/env.ts +6 -0
  270. package/src/lib/googleCloudStorage.ts +21 -0
  271. package/src/lib/prisma.ts +40 -1
  272. package/src/models/class.ts +10 -3
  273. package/src/models/comment.ts +1 -0
  274. package/src/models/conversation.ts +12 -0
  275. package/src/models/worksheet.ts +16 -7
  276. package/src/pipelines/aiLabChat.ts +54 -79
  277. package/src/pipelines/aiLabChatContract.ts +69 -69
  278. package/src/pipelines/aiNewtonChat.ts +46 -43
  279. package/src/pipelines/gradeWorksheet.ts +66 -15
  280. package/src/pipelines/labChatPrompt.ts +63 -88
  281. package/src/routers/_app.ts +2 -0
  282. package/src/routers/announcement.ts +4 -3
  283. package/src/routers/assignment.ts +2 -2
  284. package/src/routers/comment.ts +5 -0
  285. package/src/routers/discussion.ts +7 -0
  286. package/src/routers/embedding.ts +159 -0
  287. package/src/routers/search.ts +10 -1
  288. package/src/routers/worksheet.ts +29 -0
  289. package/src/routes/aiStream.ts +789 -0
  290. package/src/seedDatabase.ts +4 -4
  291. package/src/services/aiChatStream.ts +219 -0
  292. package/src/services/aiModifierTools.ts +188 -0
  293. package/src/services/aiProposalTools.ts +272 -0
  294. package/src/services/aiStream.ts +175 -0
  295. package/src/services/aiTools.ts +290 -0
  296. package/src/services/announcement.ts +7 -0
  297. package/src/services/assignment.ts +36 -14
  298. package/src/services/class.ts +30 -2
  299. package/src/services/comment.ts +22 -0
  300. package/src/services/conversation.ts +9 -4
  301. package/src/services/discussion.ts +9 -8
  302. package/src/services/discussionSummary.ts +226 -0
  303. package/src/services/embedding.ts +285 -0
  304. package/src/services/message.ts +2 -2
  305. package/src/services/search.ts +138 -0
  306. package/src/services/user.ts +9 -17
  307. package/src/services/worksheet.ts +10 -2
  308. package/src/utils/streamBroadcast.ts +48 -0
  309. package/src/workers/connection.ts +19 -0
  310. package/src/workers/index.ts +2 -0
  311. package/src/workers/processors/createRunJobWorker.ts +32 -6
  312. package/src/workers/processors/embedContent.ts +90 -0
  313. package/src/workers/queues.ts +5 -1
  314. package/tests/integration/routers/conversation.test.ts +9 -7
  315. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  316. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  317. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  318. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  319. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  320. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  321. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  322. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  323. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  324. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  325. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  326. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  327. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  328. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  329. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  330. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  331. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  332. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  333. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  334. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  335. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  336. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  337. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  338. /package/.github/workflows/{npm.yml → npm-publish.yml} +0 -0
@@ -1,5 +1,29 @@
1
1
  /** @returns Event by ID with class, user, attached assignments. */
2
- export declare function findEventById(id: string): import(".prisma/client").Prisma.Prisma__EventClient<({
2
+ export declare function findEventById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
3
+ result: {
4
+ userProfile: {
5
+ profilePicture: () => {
6
+ needs: {
7
+ profilePicture: true;
8
+ };
9
+ compute(profile: {
10
+ profilePicture: string | null;
11
+ }): string | null;
12
+ };
13
+ profilePictureThumbnail: () => {
14
+ needs: {
15
+ profilePictureThumbnail: true;
16
+ };
17
+ compute(profile: {
18
+ profilePictureThumbnail: string | null;
19
+ }): string | null;
20
+ };
21
+ };
22
+ };
23
+ model: {};
24
+ query: {};
25
+ client: {};
26
+ }, {}>, "Event", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
3
27
  user: {
4
28
  id: string;
5
29
  username: string;
@@ -17,24 +41,24 @@ export declare function findEventById(id: string): import(".prisma/client").Pris
17
41
  userId: string;
18
42
  }[];
19
43
  } & {
20
- name: string;
21
44
  id: string;
45
+ createdAt: Date;
46
+ updatedAt: Date;
47
+ name: string;
22
48
  description: string | null;
23
49
  logoId: string | null;
24
50
  subdomain: string | null;
25
- createdAt: Date;
26
- updatedAt: Date;
27
51
  }) | null;
28
52
  teachers: {
29
53
  id: string;
30
54
  }[];
31
55
  } & {
32
- name: string;
56
+ section: string;
33
57
  id: string;
58
+ name: string;
34
59
  schoolId: string | null;
35
- subject: string;
36
60
  color: string | null;
37
- section: string;
61
+ subject: string;
38
62
  syllabus: string | null;
39
63
  departmentId: string | null;
40
64
  discussionsEnabled: boolean;
@@ -43,16 +67,16 @@ export declare function findEventById(id: string): import(".prisma/client").Pris
43
67
  }) | null;
44
68
  assignmentsAttached: {
45
69
  type: import(".prisma/client").$Enums.AssignmentType;
46
- id: string;
47
70
  section: {
48
- name: string;
49
71
  id: string;
72
+ name: string;
50
73
  } | null;
74
+ id: string;
51
75
  title: string;
52
- instructions: string;
53
76
  dueDate: Date;
54
- graded: boolean;
55
77
  maxGrade: number | null;
78
+ instructions: string;
79
+ graded: boolean;
56
80
  weight: number;
57
81
  teacher: {
58
82
  id: string;
@@ -60,47 +84,59 @@ export declare function findEventById(id: string): import(".prisma/client").Pris
60
84
  };
61
85
  attachments: {
62
86
  type: string;
63
- name: string;
64
87
  id: string;
88
+ name: string;
65
89
  }[];
66
90
  }[];
67
91
  } & {
68
- name: string | null;
69
92
  id: string;
70
93
  userId: string | null;
94
+ location: string | null;
95
+ name: string | null;
71
96
  color: string | null;
72
97
  classId: string | null;
73
98
  startTime: Date;
74
99
  endTime: Date;
75
- location: string | null;
76
100
  remarks: string | null;
77
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
78
- datasources: {
79
- db: {
80
- url: string;
101
+ }) | null>;
102
+ /** @returns Class if user is a teacher or school admin. */
103
+ export declare function findClassWithTeachers(classId: string, teacherId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
104
+ result: {
105
+ userProfile: {
106
+ profilePicture: () => {
107
+ needs: {
108
+ profilePicture: true;
109
+ };
110
+ compute(profile: {
111
+ profilePicture: string | null;
112
+ }): string | null;
113
+ };
114
+ profilePictureThumbnail: () => {
115
+ needs: {
116
+ profilePictureThumbnail: true;
117
+ };
118
+ compute(profile: {
119
+ profilePictureThumbnail: string | null;
120
+ }): string | null;
121
+ };
81
122
  };
82
123
  };
83
- }>;
84
- /** @returns Class if user is a teacher or school admin. */
85
- export declare function findClassWithTeachers(classId: string, teacherId: string): import(".prisma/client").Prisma.Prisma__ClassClient<{
86
- name: string;
124
+ model: {};
125
+ query: {};
126
+ client: {};
127
+ }, {}>, "Class", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
128
+ section: string;
87
129
  id: string;
130
+ name: string;
88
131
  schoolId: string | null;
89
- subject: string;
90
132
  color: string | null;
91
- section: string;
133
+ subject: string;
92
134
  syllabus: string | null;
93
135
  departmentId: string | null;
94
136
  discussionsEnabled: boolean;
95
137
  studentsCanCreateDiscussions: boolean;
96
138
  studentsCanReply: boolean;
97
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
98
- datasources: {
99
- db: {
100
- url: string;
101
- };
102
- };
103
- }>;
139
+ } | null>;
104
140
  /** Create a calendar event. */
105
141
  export declare function createEvent(data: {
106
142
  name?: string;
@@ -111,26 +147,44 @@ export declare function createEvent(data: {
111
147
  userId: string;
112
148
  color?: string;
113
149
  classId?: string;
114
- }): import(".prisma/client").Prisma.Prisma__EventClient<{
115
- name: string | null;
116
- id: string;
117
- userId: string | null;
150
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
151
+ result: {
152
+ userProfile: {
153
+ profilePicture: () => {
154
+ needs: {
155
+ profilePicture: true;
156
+ };
157
+ compute(profile: {
158
+ profilePicture: string | null;
159
+ }): string | null;
160
+ };
161
+ profilePictureThumbnail: () => {
162
+ needs: {
163
+ profilePictureThumbnail: true;
164
+ };
165
+ compute(profile: {
166
+ profilePictureThumbnail: string | null;
167
+ }): string | null;
168
+ };
169
+ };
170
+ };
171
+ model: {};
172
+ query: {};
173
+ client: {};
174
+ }, {}>, "Event", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
118
175
  class: {
119
- name: string;
120
176
  id: string;
177
+ name: string;
121
178
  } | null;
179
+ id: string;
180
+ userId: string | null;
181
+ location: string | null;
182
+ name: string | null;
122
183
  color: string | null;
123
184
  classId: string | null;
124
185
  startTime: Date;
125
186
  endTime: Date;
126
- location: string | null;
127
187
  remarks: string | null;
128
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
129
- datasources: {
130
- db: {
131
- url: string;
132
- };
133
- };
134
188
  }>;
135
189
  /** Update an event. */
136
190
  export declare function updateEvent(id: string, data: {
@@ -141,43 +195,103 @@ export declare function updateEvent(id: string, data: {
141
195
  endTime?: Date;
142
196
  color?: string;
143
197
  classId?: string;
144
- }): import(".prisma/client").Prisma.Prisma__EventClient<{
145
- name: string | null;
198
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
199
+ result: {
200
+ userProfile: {
201
+ profilePicture: () => {
202
+ needs: {
203
+ profilePicture: true;
204
+ };
205
+ compute(profile: {
206
+ profilePicture: string | null;
207
+ }): string | null;
208
+ };
209
+ profilePictureThumbnail: () => {
210
+ needs: {
211
+ profilePictureThumbnail: true;
212
+ };
213
+ compute(profile: {
214
+ profilePictureThumbnail: string | null;
215
+ }): string | null;
216
+ };
217
+ };
218
+ };
219
+ model: {};
220
+ query: {};
221
+ client: {};
222
+ }, {}>, "Event", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
146
223
  id: string;
147
224
  userId: string | null;
225
+ location: string | null;
226
+ name: string | null;
148
227
  color: string | null;
149
228
  classId: string | null;
150
229
  startTime: Date;
151
230
  endTime: Date;
152
- location: string | null;
153
231
  remarks: string | null;
154
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
155
- datasources: {
156
- db: {
157
- url: string;
158
- };
159
- };
160
232
  }>;
161
233
  /** Delete an event. */
162
- export declare function deleteEventById(id: string): import(".prisma/client").Prisma.Prisma__EventClient<{
163
- name: string | null;
234
+ export declare function deleteEventById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
235
+ result: {
236
+ userProfile: {
237
+ profilePicture: () => {
238
+ needs: {
239
+ profilePicture: true;
240
+ };
241
+ compute(profile: {
242
+ profilePicture: string | null;
243
+ }): string | null;
244
+ };
245
+ profilePictureThumbnail: () => {
246
+ needs: {
247
+ profilePictureThumbnail: true;
248
+ };
249
+ compute(profile: {
250
+ profilePictureThumbnail: string | null;
251
+ }): string | null;
252
+ };
253
+ };
254
+ };
255
+ model: {};
256
+ query: {};
257
+ client: {};
258
+ }, {}>, "Event", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
164
259
  id: string;
165
260
  userId: string | null;
261
+ location: string | null;
262
+ name: string | null;
166
263
  color: string | null;
167
264
  classId: string | null;
168
265
  startTime: Date;
169
266
  endTime: Date;
170
- location: string | null;
171
267
  remarks: string | null;
172
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
173
- datasources: {
174
- db: {
175
- url: string;
176
- };
177
- };
178
268
  }>;
179
269
  /** @returns Event with class and teachers. */
180
- export declare function findEventWithClass(eventId: string): import(".prisma/client").Prisma.Prisma__EventClient<({
270
+ export declare function findEventWithClass(eventId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
271
+ result: {
272
+ userProfile: {
273
+ profilePicture: () => {
274
+ needs: {
275
+ profilePicture: true;
276
+ };
277
+ compute(profile: {
278
+ profilePicture: string | null;
279
+ }): string | null;
280
+ };
281
+ profilePictureThumbnail: () => {
282
+ needs: {
283
+ profilePictureThumbnail: true;
284
+ };
285
+ compute(profile: {
286
+ profilePictureThumbnail: string | null;
287
+ }): string | null;
288
+ };
289
+ };
290
+ };
291
+ model: {};
292
+ query: {};
293
+ client: {};
294
+ }, {}>, "Event", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
181
295
  class: ({
182
296
  school: ({
183
297
  users: {
@@ -187,24 +301,24 @@ export declare function findEventWithClass(eventId: string): import(".prisma/cli
187
301
  userId: string;
188
302
  }[];
189
303
  } & {
190
- name: string;
191
304
  id: string;
305
+ createdAt: Date;
306
+ updatedAt: Date;
307
+ name: string;
192
308
  description: string | null;
193
309
  logoId: string | null;
194
310
  subdomain: string | null;
195
- createdAt: Date;
196
- updatedAt: Date;
197
311
  }) | null;
198
312
  teachers: {
199
313
  id: string;
200
314
  }[];
201
315
  } & {
202
- name: string;
316
+ section: string;
203
317
  id: string;
318
+ name: string;
204
319
  schoolId: string | null;
205
- subject: string;
206
320
  color: string | null;
207
- section: string;
321
+ subject: string;
208
322
  syllabus: string | null;
209
323
  departmentId: string | null;
210
324
  discussionsEnabled: boolean;
@@ -212,24 +326,42 @@ export declare function findEventWithClass(eventId: string): import(".prisma/cli
212
326
  studentsCanReply: boolean;
213
327
  }) | null;
214
328
  } & {
215
- name: string | null;
216
329
  id: string;
217
330
  userId: string | null;
331
+ location: string | null;
332
+ name: string | null;
218
333
  color: string | null;
219
334
  classId: string | null;
220
335
  startTime: Date;
221
336
  endTime: Date;
222
- location: string | null;
223
337
  remarks: string | null;
224
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
225
- datasources: {
226
- db: {
227
- url: string;
338
+ }) | null>;
339
+ /** @returns Assignment with class and teachers. */
340
+ export declare function findAssignmentWithClass(assignmentId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
341
+ result: {
342
+ userProfile: {
343
+ profilePicture: () => {
344
+ needs: {
345
+ profilePicture: true;
346
+ };
347
+ compute(profile: {
348
+ profilePicture: string | null;
349
+ }): string | null;
350
+ };
351
+ profilePictureThumbnail: () => {
352
+ needs: {
353
+ profilePictureThumbnail: true;
354
+ };
355
+ compute(profile: {
356
+ profilePictureThumbnail: string | null;
357
+ }): string | null;
358
+ };
228
359
  };
229
360
  };
230
- }>;
231
- /** @returns Assignment with class and teachers. */
232
- export declare function findAssignmentWithClass(assignmentId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<({
361
+ model: {};
362
+ query: {};
363
+ client: {};
364
+ }, {}>, "Assignment", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
233
365
  class: {
234
366
  school: ({
235
367
  users: {
@@ -239,24 +371,24 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
239
371
  userId: string;
240
372
  }[];
241
373
  } & {
242
- name: string;
243
374
  id: string;
375
+ createdAt: Date;
376
+ updatedAt: Date;
377
+ name: string;
244
378
  description: string | null;
245
379
  logoId: string | null;
246
380
  subdomain: string | null;
247
- createdAt: Date;
248
- updatedAt: Date;
249
381
  }) | null;
250
382
  teachers: {
251
383
  id: string;
252
384
  }[];
253
385
  } & {
254
- name: string;
386
+ section: string;
255
387
  id: string;
388
+ name: string;
256
389
  schoolId: string | null;
257
- subject: string;
258
390
  color: string | null;
259
- section: string;
391
+ subject: string;
260
392
  syllabus: string | null;
261
393
  departmentId: string | null;
262
394
  discussionsEnabled: boolean;
@@ -268,10 +400,12 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
268
400
  id: string;
269
401
  createdAt: Date | null;
270
402
  classId: string;
271
- modifiedAt: Date | null;
272
403
  title: string;
273
- instructions: string;
274
404
  dueDate: Date;
405
+ maxGrade: number | null;
406
+ eventId: string | null;
407
+ instructions: string;
408
+ modifiedAt: Date | null;
275
409
  teacherId: string;
276
410
  acceptFiles: boolean;
277
411
  acceptExtendedResponse: boolean;
@@ -280,26 +414,42 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
280
414
  aiPolicyLevel: number;
281
415
  sectionId: string | null;
282
416
  graded: boolean;
283
- maxGrade: number | null;
284
417
  weight: number;
285
418
  inProgress: boolean;
286
419
  template: boolean;
287
- eventId: string | null;
288
420
  markSchemeId: string | null;
289
421
  order: number | null;
290
422
  gradingBoundaryId: string | null;
291
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
292
- datasources: {
293
- db: {
294
- url: string;
423
+ }) | null>;
424
+ /** Attach assignment to an event. */
425
+ export declare function attachAssignmentToEvent(assignmentId: string, eventId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
426
+ result: {
427
+ userProfile: {
428
+ profilePicture: () => {
429
+ needs: {
430
+ profilePicture: true;
431
+ };
432
+ compute(profile: {
433
+ profilePicture: string | null;
434
+ }): string | null;
435
+ };
436
+ profilePictureThumbnail: () => {
437
+ needs: {
438
+ profilePictureThumbnail: true;
439
+ };
440
+ compute(profile: {
441
+ profilePictureThumbnail: string | null;
442
+ }): string | null;
443
+ };
295
444
  };
296
445
  };
297
- }>;
298
- /** Attach assignment to an event. */
299
- export declare function attachAssignmentToEvent(assignmentId: string, eventId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<{
446
+ model: {};
447
+ query: {};
448
+ client: {};
449
+ }, {}>, "Assignment", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
300
450
  section: {
301
- name: string;
302
451
  id: string;
452
+ name: string;
303
453
  } | null;
304
454
  teacher: {
305
455
  id: string;
@@ -307,18 +457,20 @@ export declare function attachAssignmentToEvent(assignmentId: string, eventId: s
307
457
  };
308
458
  attachments: {
309
459
  type: string;
310
- name: string;
311
460
  id: string;
461
+ name: string;
312
462
  }[];
313
463
  } & {
314
464
  type: import(".prisma/client").$Enums.AssignmentType;
315
465
  id: string;
316
466
  createdAt: Date | null;
317
467
  classId: string;
318
- modifiedAt: Date | null;
319
468
  title: string;
320
- instructions: string;
321
469
  dueDate: Date;
470
+ maxGrade: number | null;
471
+ eventId: string | null;
472
+ instructions: string;
473
+ modifiedAt: Date | null;
322
474
  teacherId: string;
323
475
  acceptFiles: boolean;
324
476
  acceptExtendedResponse: boolean;
@@ -327,26 +479,42 @@ export declare function attachAssignmentToEvent(assignmentId: string, eventId: s
327
479
  aiPolicyLevel: number;
328
480
  sectionId: string | null;
329
481
  graded: boolean;
330
- maxGrade: number | null;
331
482
  weight: number;
332
483
  inProgress: boolean;
333
484
  template: boolean;
334
- eventId: string | null;
335
485
  markSchemeId: string | null;
336
486
  order: number | null;
337
487
  gradingBoundaryId: string | null;
338
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
339
- datasources: {
340
- db: {
341
- url: string;
342
- };
343
- };
344
488
  }>;
345
489
  /** Detach assignment from its event. */
346
- export declare function detachAssignmentFromEvent(assignmentId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<{
490
+ export declare function detachAssignmentFromEvent(assignmentId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
491
+ result: {
492
+ userProfile: {
493
+ profilePicture: () => {
494
+ needs: {
495
+ profilePicture: true;
496
+ };
497
+ compute(profile: {
498
+ profilePicture: string | null;
499
+ }): string | null;
500
+ };
501
+ profilePictureThumbnail: () => {
502
+ needs: {
503
+ profilePictureThumbnail: true;
504
+ };
505
+ compute(profile: {
506
+ profilePictureThumbnail: string | null;
507
+ }): string | null;
508
+ };
509
+ };
510
+ };
511
+ model: {};
512
+ query: {};
513
+ client: {};
514
+ }, {}>, "Assignment", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
347
515
  section: {
348
- name: string;
349
516
  id: string;
517
+ name: string;
350
518
  } | null;
351
519
  teacher: {
352
520
  id: string;
@@ -354,18 +522,20 @@ export declare function detachAssignmentFromEvent(assignmentId: string): import(
354
522
  };
355
523
  attachments: {
356
524
  type: string;
357
- name: string;
358
525
  id: string;
526
+ name: string;
359
527
  }[];
360
528
  } & {
361
529
  type: import(".prisma/client").$Enums.AssignmentType;
362
530
  id: string;
363
531
  createdAt: Date | null;
364
532
  classId: string;
365
- modifiedAt: Date | null;
366
533
  title: string;
367
- instructions: string;
368
534
  dueDate: Date;
535
+ maxGrade: number | null;
536
+ eventId: string | null;
537
+ instructions: string;
538
+ modifiedAt: Date | null;
369
539
  teacherId: string;
370
540
  acceptFiles: boolean;
371
541
  acceptExtendedResponse: boolean;
@@ -374,34 +544,26 @@ export declare function detachAssignmentFromEvent(assignmentId: string): import(
374
544
  aiPolicyLevel: number;
375
545
  sectionId: string | null;
376
546
  graded: boolean;
377
- maxGrade: number | null;
378
547
  weight: number;
379
548
  inProgress: boolean;
380
549
  template: boolean;
381
- eventId: string | null;
382
550
  markSchemeId: string | null;
383
551
  order: number | null;
384
552
  gradingBoundaryId: string | null;
385
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
386
- datasources: {
387
- db: {
388
- url: string;
389
- };
390
- };
391
553
  }>;
392
554
  /** @returns Assignments not attached to any event. */
393
- export declare function findAvailableAssignmentsForClass(classId: string): import(".prisma/client").Prisma.PrismaPromise<{
555
+ export declare function findAvailableAssignmentsForClass(classId: string): import("@prisma/client/runtime/library.js").PrismaPromise<{
394
556
  type: import(".prisma/client").$Enums.AssignmentType;
395
- id: string;
396
557
  section: {
397
- name: string;
398
558
  id: string;
559
+ name: string;
399
560
  } | null;
561
+ id: string;
400
562
  title: string;
401
- instructions: string;
402
563
  dueDate: Date;
403
- graded: boolean;
404
564
  maxGrade: number | null;
565
+ instructions: string;
566
+ graded: boolean;
405
567
  weight: number;
406
568
  teacher: {
407
569
  id: string;
@@ -409,8 +571,8 @@ export declare function findAvailableAssignmentsForClass(classId: string): impor
409
571
  };
410
572
  attachments: {
411
573
  type: string;
412
- name: string;
413
574
  id: string;
575
+ name: string;
414
576
  }[];
415
577
  }[]>;
416
578
  //# sourceMappingURL=event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"/","sources":["models/event.ts"],"names":[],"mappings":"AA+DA,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKvC;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;GAOvE;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;;;;;;;;GAKA;AAED,uBAAuB;AACvB,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;;;;GAMF;AAED,uBAAuB;AACvB,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;GAIzC;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyBjD;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyB3D;AAED,qCAAqC;AACrC,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOhB;AAED,wCAAwC;AACxC,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM7D;AAED,sDAAsD;AACtD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;KAqB/D"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"/","sources":["models/event.ts"],"names":[],"mappings":"AA+DA,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKvC;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOvE;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKA;AAED,uBAAuB;AACvB,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMF;AAED,uBAAuB;AACvB,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIzC;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyBjD;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyB3D;AAED,qCAAqC;AACrC,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOhB;AAED,wCAAwC;AACxC,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM7D;AAED,sDAAsD;AACtD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;KAqB/D"}