@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
@@ -33,13 +33,13 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
33
33
  activeRole: import(".prisma/client").$Enums.SchoolMembershipRole | null;
34
34
  memberships: ({
35
35
  school: {
36
- name: string;
37
36
  id: string;
37
+ createdAt: Date;
38
+ updatedAt: Date;
39
+ name: string;
38
40
  description: string | null;
39
41
  logoId: string | null;
40
42
  subdomain: string | null;
41
- createdAt: Date;
42
- updatedAt: Date;
43
43
  logo: {
44
44
  path: string;
45
45
  type: string;
@@ -49,10 +49,10 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
49
49
  } & {
50
50
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
51
51
  id: string;
52
+ userId: string;
52
53
  createdAt: Date;
53
54
  updatedAt: Date;
54
55
  schoolId: string;
55
- userId: string;
56
56
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
57
57
  })[];
58
58
  };
@@ -70,20 +70,20 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
70
70
  memberships: {
71
71
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
72
72
  id: string;
73
+ userId: string;
73
74
  createdAt: Date;
74
75
  updatedAt: Date;
75
76
  schoolId: string;
76
- userId: string;
77
77
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
78
78
  }[];
79
79
  } & {
80
- name: string;
81
80
  id: string;
81
+ createdAt: Date;
82
+ updatedAt: Date;
83
+ name: string;
82
84
  description: string | null;
83
85
  logoId: string | null;
84
86
  subdomain: string | null;
85
- createdAt: Date;
86
- updatedAt: Date;
87
87
  };
88
88
  };
89
89
  meta: object;
@@ -98,8 +98,8 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
98
98
  };
99
99
  output: {
100
100
  school: {
101
- name: string;
102
101
  id: string;
102
+ name: string;
103
103
  description: string | null;
104
104
  logoId: string | null;
105
105
  subdomain: string | null;
@@ -111,15 +111,15 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
111
111
  input: {
112
112
  query: string;
113
113
  schoolId: string;
114
- role?: "ADMIN" | "TEACHER" | "STUDENT" | undefined;
115
114
  limit?: number | undefined;
115
+ role?: "ADMIN" | "TEACHER" | "STUDENT" | undefined;
116
116
  };
117
117
  output: {
118
118
  id: string;
119
119
  username: string;
120
120
  profile: {
121
- displayName: string | null;
122
121
  profilePicture: string | null;
122
+ displayName: string | null;
123
123
  profilePictureThumbnail: string | null;
124
124
  } | null;
125
125
  schoolMemberships: {
@@ -166,34 +166,34 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
166
166
  id: string;
167
167
  username: string;
168
168
  profile: {
169
- displayName: string | null;
170
169
  profilePicture: string | null;
170
+ displayName: string | null;
171
171
  } | null;
172
172
  };
173
173
  events: {
174
- name: string | null;
175
- id: string;
176
174
  class: {
177
- name: string;
178
175
  id: string;
176
+ name: string;
179
177
  color: string | null;
180
178
  } | null;
179
+ id: string;
180
+ location: string | null;
181
+ name: string | null;
181
182
  color: string | null;
182
183
  startTime: Date;
183
184
  endTime: Date;
184
- location: string | null;
185
185
  remarks: string | null;
186
186
  }[];
187
187
  assignments: {
188
188
  type: import(".prisma/client").$Enums.AssignmentType;
189
- id: string;
190
189
  class: {
191
- name: string;
190
+ section: string;
192
191
  id: string;
193
- subject: string;
192
+ name: string;
194
193
  color: string | null;
195
- section: string;
194
+ subject: string;
196
195
  };
196
+ id: string;
197
197
  submissions: {
198
198
  id: string;
199
199
  gradeReceived: number | null;
@@ -203,16 +203,16 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
203
203
  }[];
204
204
  title: string;
205
205
  dueDate: Date;
206
- graded: boolean;
207
206
  maxGrade: number | null;
207
+ graded: boolean;
208
208
  weight: number;
209
209
  }[];
210
210
  attendance: {
211
211
  id: string;
212
212
  date: Date;
213
213
  class: {
214
- name: string;
215
214
  id: string;
215
+ name: string;
216
216
  color: string | null;
217
217
  };
218
218
  status: "PRESENT" | "LATE" | "ABSENT";
@@ -238,22 +238,22 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
238
238
  pendingInvites: number;
239
239
  };
240
240
  recentClasses: {
241
- name: string;
242
- id: string;
243
- subject: string;
244
- color: string | null;
245
241
  section: string;
242
+ id: string;
243
+ name: string;
246
244
  _count: {
247
245
  teachers: number;
248
246
  students: number;
249
247
  };
248
+ color: string | null;
249
+ subject: string;
250
250
  }[];
251
251
  recentInvites: {
252
252
  id: string;
253
253
  createdAt: Date;
254
254
  email: string;
255
- role: import(".prisma/client").$Enums.SchoolMembershipRole;
256
255
  expiresAt: Date;
256
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
257
257
  }[];
258
258
  };
259
259
  };
@@ -265,30 +265,30 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
265
265
  };
266
266
  output: {
267
267
  classes: ({
268
- _count: {
269
- assignments: number;
270
- teachers: number;
271
- students: number;
272
- };
273
268
  teachers: {
274
269
  id: string;
275
270
  username: string;
276
271
  profile: {
277
- displayName: string | null;
278
272
  profilePicture: string | null;
273
+ displayName: string | null;
279
274
  profilePictureThumbnail: string | null;
280
275
  } | null;
281
276
  }[];
282
277
  students: {
283
278
  id: string;
284
279
  }[];
280
+ _count: {
281
+ teachers: number;
282
+ students: number;
283
+ assignments: number;
284
+ };
285
285
  } & {
286
- name: string;
286
+ section: string;
287
287
  id: string;
288
+ name: string;
288
289
  schoolId: string | null;
289
- subject: string;
290
290
  color: string | null;
291
- section: string;
291
+ subject: string;
292
292
  syllabus: string | null;
293
293
  departmentId: string | null;
294
294
  discussionsEnabled: boolean;
@@ -300,14 +300,14 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
300
300
  }>;
301
301
  createClass: import("@trpc/server").TRPCMutationProcedure<{
302
302
  input: {
303
+ section: string;
303
304
  name: string;
304
305
  schoolId: string;
305
306
  subject: string;
306
- section: string;
307
- color?: string | undefined;
308
- departmentId?: string | undefined;
309
307
  teachers?: string[] | undefined;
310
308
  students?: string[] | undefined;
309
+ color?: string | undefined;
310
+ departmentId?: string | undefined;
311
311
  };
312
312
  output: {
313
313
  class: {
@@ -328,12 +328,12 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
328
328
  schoolId: string | null;
329
329
  }[];
330
330
  } & {
331
- name: string;
331
+ section: string;
332
332
  id: string;
333
+ name: string;
333
334
  schoolId: string | null;
334
- subject: string;
335
335
  color: string | null;
336
- section: string;
336
+ subject: string;
337
337
  syllabus: string | null;
338
338
  departmentId: string | null;
339
339
  discussionsEnabled: boolean;
@@ -350,19 +350,19 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
350
350
  output: {
351
351
  members: {
352
352
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
353
- id: string;
354
- createdAt: Date;
355
- updatedAt: Date;
356
353
  user: {
357
354
  id: string;
358
355
  username: string;
359
356
  email: string;
360
357
  profile: {
361
- displayName: string | null;
362
358
  profilePicture: string | null;
359
+ displayName: string | null;
363
360
  profilePictureThumbnail: string | null;
364
361
  } | null;
365
362
  };
363
+ id: string;
364
+ createdAt: Date;
365
+ updatedAt: Date;
366
366
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
367
367
  }[];
368
368
  };
@@ -378,10 +378,10 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
378
378
  membership: {
379
379
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
380
380
  id: string;
381
+ userId: string;
381
382
  createdAt: Date;
382
383
  updatedAt: Date;
383
384
  schoolId: string;
384
- userId: string;
385
385
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
386
386
  };
387
387
  };
@@ -397,10 +397,10 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
397
397
  membership: {
398
398
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
399
399
  id: string;
400
+ userId: string;
400
401
  createdAt: Date;
401
402
  updatedAt: Date;
402
403
  schoolId: string;
403
- userId: string;
404
404
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
405
405
  };
406
406
  };
@@ -426,8 +426,8 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
426
426
  id: string;
427
427
  createdAt: Date;
428
428
  email: string;
429
- role: import(".prisma/client").$Enums.SchoolMembershipRole;
430
429
  expiresAt: Date;
430
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
431
431
  acceptedAt: Date | null;
432
432
  revokedAt: Date | null;
433
433
  invitedBy: {
@@ -446,14 +446,14 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
446
446
  email: string;
447
447
  schoolId: string;
448
448
  role: "ADMIN" | "TEACHER" | "STUDENT";
449
- username?: string | undefined;
450
449
  displayName?: string | undefined;
450
+ username?: string | undefined;
451
451
  };
452
452
  output: {
453
453
  invite: {
454
454
  school: {
455
- name: string;
456
455
  id: string;
456
+ name: string;
457
457
  };
458
458
  } & {
459
459
  status: import(".prisma/client").$Enums.SchoolInviteStatus;
@@ -462,9 +462,9 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
462
462
  updatedAt: Date;
463
463
  email: string;
464
464
  schoolId: string;
465
+ expiresAt: Date;
465
466
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
466
467
  token: string;
467
- expiresAt: Date;
468
468
  acceptedAt: Date | null;
469
469
  revokedAt: Date | null;
470
470
  invitedById: string;
@@ -490,9 +490,9 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
490
490
  updatedAt: Date;
491
491
  email: string;
492
492
  schoolId: string;
493
+ expiresAt: Date;
493
494
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
494
495
  token: string;
495
- expiresAt: Date;
496
496
  acceptedAt: Date | null;
497
497
  revokedAt: Date | null;
498
498
  invitedById: string;
@@ -510,8 +510,8 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
510
510
  email: string;
511
511
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
512
512
  school: {
513
- name: string;
514
513
  id: string;
514
+ name: string;
515
515
  };
516
516
  expiresAt: Date;
517
517
  };
@@ -526,10 +526,10 @@ export declare const schoolRouter: import("@trpc/server").TRPCBuiltRouter<{
526
526
  membership: {
527
527
  status: import(".prisma/client").$Enums.SchoolMembershipStatus;
528
528
  id: string;
529
+ userId: string;
529
530
  createdAt: Date;
530
531
  updatedAt: Date;
531
532
  schoolId: string;
532
- userId: string;
533
533
  role: import(".prisma/client").$Enums.SchoolMembershipRole;
534
534
  };
535
535
  };
@@ -25,7 +25,28 @@ export declare const searchRouter: import("@trpc/server").TRPCBuiltRouter<{
25
25
  query: string;
26
26
  results: {
27
27
  id: string;
28
- type: "class" | "section" | "syllabus" | "file" | "assignment" | "announcement" | "event" | "worksheet";
28
+ type: "class" | "file" | "assignment" | "announcement" | "section" | "event" | "worksheet" | "syllabus";
29
+ title: string;
30
+ subtitle: string;
31
+ classId: string;
32
+ className: string;
33
+ href: string;
34
+ matchedText?: string | null;
35
+ date?: Date | null;
36
+ }[];
37
+ };
38
+ meta: object;
39
+ }>;
40
+ semantic: import("@trpc/server").TRPCQueryProcedure<{
41
+ input: {
42
+ query: string;
43
+ limit?: number | undefined;
44
+ };
45
+ output: {
46
+ query: string;
47
+ results: {
48
+ id: string;
49
+ type: "class" | "file" | "assignment" | "announcement" | "section" | "event" | "worksheet" | "syllabus";
29
50
  title: string;
30
51
  subtitle: string;
31
52
  classId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"/","sources":["routers/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASvB,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"/","sources":["routers/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvB,CAAC"}
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5056f983-6413-5428-8066-7a3a63836b94")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d0b20788-abe8-5450-9abe-7377c04d3498")}catch(e){}}();
3
3
  import { z } from "zod";
4
4
  import { createTRPCRouter, protectedProcedure } from "../trpc.js";
5
- import { searchGlobalClasses } from "../services/search.js";
5
+ import { searchGlobalClasses, searchSemanticGlobal } from "../services/search.js";
6
6
  export const searchRouter = createTRPCRouter({
7
7
  global: protectedProcedure
8
8
  .input(z.object({
@@ -10,6 +10,12 @@ export const searchRouter = createTRPCRouter({
10
10
  limit: z.number().int().min(1).max(30).optional(),
11
11
  }))
12
12
  .query(({ ctx, input }) => searchGlobalClasses(ctx.user.id, input)),
13
+ semantic: protectedProcedure
14
+ .input(z.object({
15
+ query: z.string().min(1).max(200),
16
+ limit: z.number().int().min(1).max(30).optional(),
17
+ }))
18
+ .query(({ ctx, input }) => searchSemanticGlobal(ctx.user.id, input)),
13
19
  });
14
20
  //# sourceMappingURL=search.js.map
15
- //# debugId=5056f983-6413-5428-8066-7a3a63836b94
21
+ //# debugId=d0b20788-abe8-5450-9abe-7377c04d3498
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["routers/search.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport { createTRPCRouter, protectedProcedure } from \"../trpc.js\";\nimport { searchGlobalClasses } from \"../services/search.js\";\n\nexport const searchRouter = createTRPCRouter({\n global: protectedProcedure\n .input(\n z.object({\n query: z.string().max(80).optional(),\n limit: z.number().int().min(1).max(30).optional(),\n })\n )\n .query(({ ctx, input }) => searchGlobalClasses(ctx.user!.id, input)),\n});\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,MAAM,EAAE,kBAAkB;SACvB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CACH;SACA,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;CACvE,CAAC,CAAC","debug_id":"5056f983-6413-5428-8066-7a3a63836b94"}
1
+ {"version":3,"file":"search.js","sources":["routers/search.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport { createTRPCRouter, protectedProcedure } from \"../trpc.js\";\nimport { searchGlobalClasses, searchSemanticGlobal } from \"../services/search.js\";\n\nexport const searchRouter = createTRPCRouter({\n global: protectedProcedure\n .input(\n z.object({\n query: z.string().max(80).optional(),\n limit: z.number().int().min(1).max(30).optional(),\n })\n )\n .query(({ ctx, input }) => searchGlobalClasses(ctx.user!.id, input)),\n\n semantic: protectedProcedure\n .input(\n z.object({\n query: z.string().min(1).max(200),\n limit: z.number().int().min(1).max(30).optional(),\n })\n )\n .query(({ ctx, input }) => searchSemanticGlobal(ctx.user!.id, input)),\n});\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,MAAM,EAAE,kBAAkB;SACvB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CACH;SACA,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEtE,QAAQ,EAAE,kBAAkB;SACzB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CACH;SACA,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;CACxE,CAAC,CAAC","debug_id":"d0b20788-abe8-5450-9abe-7377c04d3498"}
@@ -34,8 +34,8 @@ export declare const sectionRouter: import("@trpc/server").TRPCBuiltRouter<{
34
34
  color?: string | undefined;
35
35
  };
36
36
  output: {
37
- name: string;
38
37
  id: string;
38
+ name: string;
39
39
  color: string | null;
40
40
  classId: string;
41
41
  order: number | null;
@@ -51,8 +51,8 @@ export declare const sectionRouter: import("@trpc/server").TRPCBuiltRouter<{
51
51
  targetId?: string | undefined;
52
52
  };
53
53
  output: {
54
- name: string;
55
54
  id: string;
55
+ name: string;
56
56
  color: string | null;
57
57
  classId: string;
58
58
  order: number | null;
@@ -63,13 +63,13 @@ export declare const sectionRouter: import("@trpc/server").TRPCBuiltRouter<{
63
63
  input: {
64
64
  [x: string]: unknown;
65
65
  classId: string;
66
- name: string;
67
66
  id: string;
67
+ name: string;
68
68
  color?: string | undefined;
69
69
  };
70
70
  output: {
71
- name: string;
72
71
  id: string;
72
+ name: string;
73
73
  color: string | null;
74
74
  classId: string;
75
75
  order: number | null;
@@ -192,8 +192,8 @@ export declare const studentProgressRouter: import("@trpc/server").TRPCBuiltRout
192
192
  message: string;
193
193
  studentId: string;
194
194
  history?: {
195
- role: "user" | "assistant";
196
195
  content: string;
196
+ role: "user" | "assistant";
197
197
  }[] | undefined;
198
198
  };
199
199
  output: {
@@ -22,10 +22,10 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
22
22
  departmentId?: string | null | undefined;
23
23
  };
24
24
  output: {
25
- name: string;
26
25
  id: string;
27
26
  createdAt: Date;
28
27
  updatedAt: Date;
28
+ name: string;
29
29
  schoolId: string;
30
30
  color: string;
31
31
  departmentId: string | null;
@@ -40,10 +40,10 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
40
40
  departmentId?: string | null | undefined;
41
41
  };
42
42
  output: {
43
- name: string;
44
43
  id: string;
45
44
  createdAt: Date;
46
45
  updatedAt: Date;
46
+ name: string;
47
47
  schoolId: string;
48
48
  color: string;
49
49
  departmentId: string | null;
@@ -58,10 +58,10 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
58
58
  departmentId?: string | null | undefined;
59
59
  };
60
60
  output: {
61
- name: string;
62
61
  id: string;
63
62
  createdAt: Date;
64
63
  updatedAt: Date;
64
+ name: string;
65
65
  schoolId: string;
66
66
  color: string;
67
67
  departmentId: string | null;
@@ -79,8 +79,8 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
79
79
  }>;
80
80
  attach: import("@trpc/server").TRPCMutationProcedure<{
81
81
  input: {
82
+ target: "CLASS" | "USER" | "RUBRIC" | "BOUNDARY";
82
83
  tagId: string;
83
- target: "USER" | "CLASS" | "RUBRIC" | "BOUNDARY";
84
84
  targetId: string;
85
85
  };
86
86
  output: {
@@ -90,8 +90,8 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
90
90
  }>;
91
91
  detach: import("@trpc/server").TRPCMutationProcedure<{
92
92
  input: {
93
+ target: "CLASS" | "USER" | "RUBRIC" | "BOUNDARY";
93
94
  tagId: string;
94
- target: "USER" | "CLASS" | "RUBRIC" | "BOUNDARY";
95
95
  targetId: string;
96
96
  };
97
97
  output: {
@@ -101,14 +101,14 @@ export declare const tagRouter: import("@trpc/server").TRPCBuiltRouter<{
101
101
  }>;
102
102
  getAttached: import("@trpc/server").TRPCQueryProcedure<{
103
103
  input: {
104
- target: "USER" | "CLASS" | "RUBRIC" | "BOUNDARY";
104
+ target: "CLASS" | "USER" | "RUBRIC" | "BOUNDARY";
105
105
  targetId: string;
106
106
  };
107
107
  output: {
108
- name: string;
109
108
  id: string;
110
109
  createdAt: Date;
111
110
  updatedAt: Date;
111
+ name: string;
112
112
  schoolId: string;
113
113
  color: string;
114
114
  departmentId: string | null;
@@ -26,26 +26,26 @@ export declare const userRouter: import("@trpc/server").TRPCBuiltRouter<{
26
26
  bio: any;
27
27
  location: any;
28
28
  website: any;
29
- profilePicture: string | null;
30
- profilePictureThumbnail: string | null;
29
+ profilePicture: any;
30
+ profilePictureThumbnail: any;
31
31
  };
32
32
  };
33
33
  meta: object;
34
34
  }>;
35
35
  updateProfile: import("@trpc/server").TRPCMutationProcedure<{
36
36
  input: {
37
- profile?: {
38
- location?: string | null | undefined;
39
- displayName?: string | null | undefined;
40
- bio?: string | null | undefined;
41
- website?: string | null | undefined;
42
- } | undefined;
43
37
  profilePicture?: {
44
38
  filePath: string;
45
39
  fileName: string;
46
40
  fileType: string;
47
41
  fileSize: number;
48
42
  } | undefined;
43
+ profile?: {
44
+ displayName?: string | null | undefined;
45
+ bio?: string | null | undefined;
46
+ location?: string | null | undefined;
47
+ website?: string | null | undefined;
48
+ } | undefined;
49
49
  dicebearAvatar?: {
50
50
  url: string;
51
51
  } | undefined;
@@ -58,8 +58,8 @@ export declare const userRouter: import("@trpc/server").TRPCBuiltRouter<{
58
58
  bio: any;
59
59
  location: any;
60
60
  website: any;
61
- profilePicture: string | null;
62
- profilePictureThumbnail: string | null;
61
+ profilePicture: any;
62
+ profilePictureThumbnail: any;
63
63
  };
64
64
  };
65
65
  meta: object;