@goscribe/server 1.6.0 → 1.7.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 (281) hide show
  1. package/dist/generated/prisma/client.d.ts +224 -0
  2. package/dist/generated/prisma/client.js +34 -0
  3. package/dist/generated/prisma/commonInputTypes.d.ts +941 -0
  4. package/dist/generated/prisma/commonInputTypes.js +10 -0
  5. package/dist/generated/prisma/enums.d.ts +67 -0
  6. package/dist/generated/prisma/enums.js +66 -0
  7. package/dist/generated/prisma/internal/class.d.ts +539 -0
  8. package/dist/generated/prisma/internal/class.js +49 -0
  9. package/dist/generated/prisma/internal/prismaNamespace.d.ts +3924 -0
  10. package/dist/generated/prisma/internal/prismaNamespace.js +557 -0
  11. package/dist/generated/prisma/models/ActivityLog.d.ts +1847 -0
  12. package/dist/generated/prisma/models/ActivityLog.js +1 -0
  13. package/dist/generated/prisma/models/Artifact.d.ts +2345 -0
  14. package/dist/generated/prisma/models/Artifact.js +1 -0
  15. package/dist/generated/prisma/models/ArtifactVersion.d.ts +1550 -0
  16. package/dist/generated/prisma/models/ArtifactVersion.js +1 -0
  17. package/dist/generated/prisma/models/Channel.d.ts +1257 -0
  18. package/dist/generated/prisma/models/Channel.js +1 -0
  19. package/dist/generated/prisma/models/Chat.d.ts +1339 -0
  20. package/dist/generated/prisma/models/Chat.js +1 -0
  21. package/dist/generated/prisma/models/CopilotConversation.d.ts +1450 -0
  22. package/dist/generated/prisma/models/CopilotConversation.js +1 -0
  23. package/dist/generated/prisma/models/CopilotMessage.d.ts +1179 -0
  24. package/dist/generated/prisma/models/CopilotMessage.js +1 -0
  25. package/dist/generated/prisma/models/FileAsset.d.ts +1832 -0
  26. package/dist/generated/prisma/models/FileAsset.js +1 -0
  27. package/dist/generated/prisma/models/Flashcard.d.ts +1460 -0
  28. package/dist/generated/prisma/models/Flashcard.js +1 -0
  29. package/dist/generated/prisma/models/FlashcardProgress.d.ts +1782 -0
  30. package/dist/generated/prisma/models/FlashcardProgress.js +1 -0
  31. package/dist/generated/prisma/models/Folder.d.ts +1685 -0
  32. package/dist/generated/prisma/models/Folder.js +1 -0
  33. package/dist/generated/prisma/models/IdempotencyRecord.d.ts +1319 -0
  34. package/dist/generated/prisma/models/IdempotencyRecord.js +1 -0
  35. package/dist/generated/prisma/models/Invoice.d.ts +1586 -0
  36. package/dist/generated/prisma/models/Invoice.js +1 -0
  37. package/dist/generated/prisma/models/KnowledgeBase.d.ts +1721 -0
  38. package/dist/generated/prisma/models/KnowledgeBase.js +1 -0
  39. package/dist/generated/prisma/models/KnowledgeBaseChunk.d.ts +1333 -0
  40. package/dist/generated/prisma/models/KnowledgeBaseChunk.js +1 -0
  41. package/dist/generated/prisma/models/KnowledgeBaseDocument.d.ts +1695 -0
  42. package/dist/generated/prisma/models/KnowledgeBaseDocument.js +1 -0
  43. package/dist/generated/prisma/models/Notification.d.ts +1992 -0
  44. package/dist/generated/prisma/models/Notification.js +1 -0
  45. package/dist/generated/prisma/models/PasswordResetToken.d.ts +1210 -0
  46. package/dist/generated/prisma/models/PasswordResetToken.js +1 -0
  47. package/dist/generated/prisma/models/Plan.d.ts +1431 -0
  48. package/dist/generated/prisma/models/Plan.js +1 -0
  49. package/dist/generated/prisma/models/PlanLimit.d.ts +1328 -0
  50. package/dist/generated/prisma/models/PlanLimit.js +1 -0
  51. package/dist/generated/prisma/models/PodcastSegment.d.ts +1564 -0
  52. package/dist/generated/prisma/models/PodcastSegment.js +1 -0
  53. package/dist/generated/prisma/models/ResourcePrice.d.ts +1008 -0
  54. package/dist/generated/prisma/models/ResourcePrice.js +1 -0
  55. package/dist/generated/prisma/models/Role.d.ts +1065 -0
  56. package/dist/generated/prisma/models/Role.js +1 -0
  57. package/dist/generated/prisma/models/Session.d.ts +1105 -0
  58. package/dist/generated/prisma/models/Session.js +1 -0
  59. package/dist/generated/prisma/models/StripeEvent.d.ts +1081 -0
  60. package/dist/generated/prisma/models/StripeEvent.js +1 -0
  61. package/dist/generated/prisma/models/StudyGuideComment.d.ts +1321 -0
  62. package/dist/generated/prisma/models/StudyGuideComment.js +1 -0
  63. package/dist/generated/prisma/models/StudyGuideHighlight.d.ts +1629 -0
  64. package/dist/generated/prisma/models/StudyGuideHighlight.js +1 -0
  65. package/dist/generated/prisma/models/Subscription.d.ts +1677 -0
  66. package/dist/generated/prisma/models/Subscription.js +1 -0
  67. package/dist/generated/prisma/models/User.d.ts +7559 -0
  68. package/dist/generated/prisma/models/User.js +1 -0
  69. package/dist/generated/prisma/models/UserCredit.d.ts +1249 -0
  70. package/dist/generated/prisma/models/UserCredit.js +1 -0
  71. package/dist/generated/prisma/models/VerificationToken.d.ts +946 -0
  72. package/dist/generated/prisma/models/VerificationToken.js +1 -0
  73. package/dist/generated/prisma/models/WorksheetPreset.d.ts +1433 -0
  74. package/dist/generated/prisma/models/WorksheetPreset.js +1 -0
  75. package/dist/generated/prisma/models/WorksheetQuestion.d.ts +1491 -0
  76. package/dist/generated/prisma/models/WorksheetQuestion.js +1 -0
  77. package/dist/generated/prisma/models/WorksheetQuestionProgress.d.ts +1620 -0
  78. package/dist/generated/prisma/models/WorksheetQuestionProgress.js +1 -0
  79. package/dist/generated/prisma/models/Workspace.d.ts +3620 -0
  80. package/dist/generated/prisma/models/Workspace.js +1 -0
  81. package/dist/generated/prisma/models/WorkspaceInvitation.d.ts +1490 -0
  82. package/dist/generated/prisma/models/WorkspaceInvitation.js +1 -0
  83. package/dist/generated/prisma/models/WorkspaceKnowledgeBase.d.ts +1410 -0
  84. package/dist/generated/prisma/models/WorkspaceKnowledgeBase.js +1 -0
  85. package/dist/generated/prisma/models/WorkspaceMember.d.ts +1326 -0
  86. package/dist/generated/prisma/models/WorkspaceMember.js +1 -0
  87. package/dist/generated/prisma/models.d.ts +39 -0
  88. package/dist/generated/prisma/models.js +1 -0
  89. package/dist/src/context.d.ts +27 -0
  90. package/dist/src/context.js +33 -0
  91. package/dist/src/index.d.ts +3 -0
  92. package/dist/src/index.js +1 -0
  93. package/dist/src/lib/ai/config.d.ts +20 -0
  94. package/dist/src/lib/ai/config.js +31 -0
  95. package/dist/src/lib/ai/embedding-client.d.ts +8 -0
  96. package/dist/src/lib/ai/embedding-client.js +30 -0
  97. package/dist/src/lib/ai/index.d.ts +48 -0
  98. package/dist/src/lib/ai/index.js +29 -0
  99. package/dist/src/lib/ai/inference-backend/client.d.ts +28 -0
  100. package/dist/src/lib/ai/inference-backend/client.js +301 -0
  101. package/dist/src/lib/ai/inference-backend/mocks.d.ts +12 -0
  102. package/dist/src/lib/ai/inference-backend/mocks.js +133 -0
  103. package/dist/src/lib/ai/inference-backend/types.d.ts +44 -0
  104. package/dist/src/lib/ai/inference-backend/types.js +1 -0
  105. package/dist/src/lib/ai/json-parse.d.ts +2 -0
  106. package/dist/src/lib/ai/json-parse.js +34 -0
  107. package/dist/src/lib/ai/llm-client.d.ts +7 -0
  108. package/dist/src/lib/ai/llm-client.js +36 -0
  109. package/dist/src/lib/ai/mock.d.ts +2 -0
  110. package/dist/src/lib/ai/mock.js +10 -0
  111. package/dist/src/lib/ai/types.d.ts +9 -0
  112. package/dist/src/lib/ai/types.js +1 -0
  113. package/dist/src/lib/auth.d.ts +36 -0
  114. package/dist/src/lib/auth.js +117 -0
  115. package/dist/src/lib/chunking.d.ts +19 -0
  116. package/dist/src/lib/chunking.js +47 -0
  117. package/dist/src/lib/constants.d.ts +13 -0
  118. package/dist/src/lib/constants.js +12 -0
  119. package/dist/src/lib/curated-kb-seed.d.ts +12 -0
  120. package/dist/src/lib/curated-kb-seed.js +155 -0
  121. package/dist/src/lib/email.d.ts +11 -0
  122. package/dist/src/lib/email.js +152 -0
  123. package/dist/src/lib/embeddings.d.ts +2 -0
  124. package/dist/src/lib/embeddings.js +1 -0
  125. package/dist/src/lib/ensure-curated-kb-catalog.d.ts +6 -0
  126. package/dist/src/lib/ensure-curated-kb-catalog.js +53 -0
  127. package/dist/src/lib/env.d.ts +41 -0
  128. package/dist/src/lib/env.js +57 -0
  129. package/dist/src/lib/errors.d.ts +33 -0
  130. package/dist/src/lib/errors.js +78 -0
  131. package/dist/src/lib/file.d.ts +0 -0
  132. package/dist/src/lib/file.js +1 -0
  133. package/dist/src/lib/inference.d.ts +1 -0
  134. package/dist/src/lib/inference.js +1 -0
  135. package/dist/src/lib/kb-meta.d.ts +8 -0
  136. package/dist/src/lib/kb-meta.js +77 -0
  137. package/dist/src/lib/logger.d.ts +62 -0
  138. package/dist/src/lib/logger.js +364 -0
  139. package/dist/src/lib/pdf.d.ts +11 -0
  140. package/dist/src/lib/pdf.js +11 -0
  141. package/dist/src/lib/prisma.d.ts +3 -0
  142. package/dist/src/lib/prisma.js +15 -0
  143. package/dist/src/lib/pusher.d.ts +38 -0
  144. package/dist/src/lib/pusher.js +170 -0
  145. package/dist/src/lib/retry.d.ts +15 -0
  146. package/dist/src/lib/retry.js +37 -0
  147. package/dist/src/lib/storage.d.ts +11 -0
  148. package/dist/src/lib/storage.js +71 -0
  149. package/dist/src/lib/stripe.d.ts +10 -0
  150. package/dist/src/lib/stripe.js +36 -0
  151. package/dist/src/lib/validation.d.ts +51 -0
  152. package/dist/src/lib/validation.js +64 -0
  153. package/dist/src/lib/workspace-kb.d.ts +5 -0
  154. package/dist/src/lib/workspace-kb.js +7 -0
  155. package/dist/src/repositories/artifact.repository.d.ts +64 -0
  156. package/dist/src/repositories/artifact.repository.js +40 -0
  157. package/dist/src/repositories/base.repository.d.ts +14 -0
  158. package/dist/src/repositories/base.repository.js +14 -0
  159. package/dist/src/repositories/invitation.repository.d.ts +104 -0
  160. package/dist/src/repositories/invitation.repository.js +44 -0
  161. package/dist/src/repositories/notification.repository.d.ts +76 -0
  162. package/dist/src/repositories/notification.repository.js +44 -0
  163. package/dist/src/repositories/user.repository.d.ts +84 -0
  164. package/dist/src/repositories/user.repository.js +37 -0
  165. package/dist/src/repositories/workspace-member.repository.d.ts +35 -0
  166. package/dist/src/repositories/workspace-member.repository.js +31 -0
  167. package/dist/src/repositories/workspace.repository.d.ts +101 -0
  168. package/dist/src/repositories/workspace.repository.js +79 -0
  169. package/dist/src/routers/_app.d.ts +3464 -0
  170. package/dist/src/routers/_app.js +36 -0
  171. package/dist/src/routers/admin.d.ts +358 -0
  172. package/dist/src/routers/admin.js +105 -0
  173. package/dist/src/routers/annotations.d.ts +219 -0
  174. package/dist/src/routers/annotations.js +29 -0
  175. package/dist/src/routers/artifactVersions.d.ts +65 -0
  176. package/dist/src/routers/artifactVersions.js +14 -0
  177. package/dist/src/routers/auth.d.ts +161 -0
  178. package/dist/src/routers/auth.js +97 -0
  179. package/dist/src/routers/chat.d.ts +170 -0
  180. package/dist/src/routers/chat.js +32 -0
  181. package/dist/src/routers/copilot.d.ts +200 -0
  182. package/dist/src/routers/copilot.js +52 -0
  183. package/dist/src/routers/flashcards.d.ts +336 -0
  184. package/dist/src/routers/flashcards.js +93 -0
  185. package/dist/src/routers/knowledgeBase.d.ts +421 -0
  186. package/dist/src/routers/knowledgeBase.js +118 -0
  187. package/dist/src/routers/members.d.ts +169 -0
  188. package/dist/src/routers/members.js +47 -0
  189. package/dist/src/routers/notifications.d.ts +99 -0
  190. package/dist/src/routers/notifications.js +25 -0
  191. package/dist/src/routers/payment.d.ts +80 -0
  192. package/dist/src/routers/payment.js +21 -0
  193. package/dist/src/routers/podcast.d.ts +287 -0
  194. package/dist/src/routers/podcast.js +34 -0
  195. package/dist/src/routers/studyguide.d.ts +36 -0
  196. package/dist/src/routers/studyguide.js +8 -0
  197. package/dist/src/routers/worksheets.d.ts +429 -0
  198. package/dist/src/routers/worksheets.js +139 -0
  199. package/dist/src/routers/workspace.d.ts +563 -0
  200. package/dist/src/routers/workspace.js +104 -0
  201. package/dist/src/scripts/purge-deleted-users.d.ts +1 -0
  202. package/dist/src/scripts/purge-deleted-users.js +148 -0
  203. package/dist/src/server.d.ts +1 -0
  204. package/dist/src/server.js +190 -0
  205. package/dist/src/services/activity/activity-human-description.service.d.ts +13 -0
  206. package/dist/src/services/activity/activity-human-description.service.js +221 -0
  207. package/dist/src/services/activity/activity-human-description.service.test.d.ts +1 -0
  208. package/dist/src/services/activity/activity-human-description.service.test.js +16 -0
  209. package/dist/src/services/activity/activity-log.service.d.ts +87 -0
  210. package/dist/src/services/activity/activity-log.service.js +276 -0
  211. package/dist/src/services/activity/activity-log.service.test.d.ts +1 -0
  212. package/dist/src/services/activity/activity-log.service.test.js +27 -0
  213. package/dist/src/services/admin/admin.service.d.ts +270 -0
  214. package/dist/src/services/admin/admin.service.js +476 -0
  215. package/dist/src/services/ai/ai-session.service.d.ts +5 -0
  216. package/dist/src/services/ai/ai-session.service.js +4 -0
  217. package/dist/src/services/artifacts/annotation.service.d.ts +177 -0
  218. package/dist/src/services/artifacts/annotation.service.js +154 -0
  219. package/dist/src/services/artifacts/artifact-version.service.d.ts +38 -0
  220. package/dist/src/services/artifacts/artifact-version.service.js +129 -0
  221. package/dist/src/services/artifacts/chat.service.d.ts +127 -0
  222. package/dist/src/services/artifacts/chat.service.js +182 -0
  223. package/dist/src/services/artifacts/study-guide.service.d.ts +18 -0
  224. package/dist/src/services/artifacts/study-guide.service.js +65 -0
  225. package/dist/src/services/auth/auth.service.d.ts +94 -0
  226. package/dist/src/services/auth/auth.service.js +368 -0
  227. package/dist/src/services/base.service.d.ts +14 -0
  228. package/dist/src/services/base.service.js +14 -0
  229. package/dist/src/services/billing/payment.service.d.ts +44 -0
  230. package/dist/src/services/billing/payment.service.js +365 -0
  231. package/dist/src/services/billing/subscription.service.d.ts +37 -0
  232. package/dist/src/services/billing/subscription.service.js +654 -0
  233. package/dist/src/services/billing/usage.service.d.ts +47 -0
  234. package/dist/src/services/billing/usage.service.js +149 -0
  235. package/dist/src/services/content/copilot.service.d.ts +113 -0
  236. package/dist/src/services/content/copilot.service.js +439 -0
  237. package/dist/src/services/content/flashcard-progress.service.d.ts +159 -0
  238. package/dist/src/services/content/flashcard-progress.service.js +432 -0
  239. package/dist/src/services/content/flashcard.service.d.ts +184 -0
  240. package/dist/src/services/content/flashcard.service.js +339 -0
  241. package/dist/src/services/content/media-analysis.service.d.ts +23 -0
  242. package/dist/src/services/content/media-analysis.service.js +404 -0
  243. package/dist/src/services/content/podcast.service.d.ts +267 -0
  244. package/dist/src/services/content/podcast.service.js +653 -0
  245. package/dist/src/services/content/worksheet-content.service.d.ts +37 -0
  246. package/dist/src/services/content/worksheet-content.service.js +84 -0
  247. package/dist/src/services/content/worksheet-content.service.test.d.ts +1 -0
  248. package/dist/src/services/content/worksheet-content.service.test.js +69 -0
  249. package/dist/src/services/content/worksheet-generation.service.d.ts +91 -0
  250. package/dist/src/services/content/worksheet-generation.service.js +95 -0
  251. package/dist/src/services/content/worksheet-generation.service.test.d.ts +1 -0
  252. package/dist/src/services/content/worksheet-generation.service.test.js +20 -0
  253. package/dist/src/services/content/worksheet.service.d.ts +347 -0
  254. package/dist/src/services/content/worksheet.service.js +599 -0
  255. package/dist/src/services/knowledge/knowledge-base.service.d.ts +316 -0
  256. package/dist/src/services/knowledge/knowledge-base.service.js +544 -0
  257. package/dist/src/services/members/invitation.service.d.ts +66 -0
  258. package/dist/src/services/members/invitation.service.js +348 -0
  259. package/dist/src/services/members/member.service.d.ts +36 -0
  260. package/dist/src/services/members/member.service.js +193 -0
  261. package/dist/src/services/notifications/notification.service.d.ts +214 -0
  262. package/dist/src/services/notifications/notification.service.js +550 -0
  263. package/dist/src/services/notifications/notification.service.test.d.ts +1 -0
  264. package/dist/src/services/notifications/notification.service.test.js +87 -0
  265. package/dist/src/services/workspace/workspace-analytics.service.d.ts +24 -0
  266. package/dist/src/services/workspace/workspace-analytics.service.js +95 -0
  267. package/dist/src/services/workspace/workspace-kb.service.d.ts +40 -0
  268. package/dist/src/services/workspace/workspace-kb.service.js +184 -0
  269. package/dist/src/services/workspace/workspace.service.d.ts +263 -0
  270. package/dist/src/services/workspace/workspace.service.js +401 -0
  271. package/dist/src/trpc.d.ts +60 -0
  272. package/dist/src/trpc.js +217 -0
  273. package/dist/src/types/index.d.ts +126 -0
  274. package/dist/src/types/index.js +1 -0
  275. package/package.json +8 -9
  276. package/prisma/schema.prisma +3 -4
  277. package/prisma/seed.mjs +5 -2
  278. package/prisma.config.ts +16 -0
  279. package/src/lib/prisma.ts +18 -9
  280. package/src/scripts/purge-deleted-users.ts +1 -3
  281. package/tsconfig.json +3 -0
@@ -0,0 +1,563 @@
1
+ export declare const workspace: import("@trpc/server").TRPCBuiltRouter<{
2
+ ctx: import("../context.js").Context;
3
+ meta: object;
4
+ errorShape: {
5
+ data: {
6
+ zodError: string | null;
7
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
8
+ httpStatus: number;
9
+ path?: string;
10
+ stack?: string;
11
+ };
12
+ message: string;
13
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
14
+ };
15
+ transformer: true;
16
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
17
+ list: import("@trpc/server").TRPCQueryProcedure<{
18
+ input: {
19
+ parentId?: string | undefined;
20
+ };
21
+ output: {
22
+ workspaces: {
23
+ id: string;
24
+ createdAt: Date;
25
+ updatedAt: Date;
26
+ ownerId: string;
27
+ title: string;
28
+ description: string | null;
29
+ icon: string;
30
+ color: string;
31
+ markerColor: string | null;
32
+ folderId: string | null;
33
+ fileBeingAnalyzed: boolean;
34
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue | null;
35
+ needsAnalysis: boolean;
36
+ }[];
37
+ folders: {
38
+ id: string;
39
+ name: string;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ ownerId: string;
43
+ color: string;
44
+ markerColor: string | null;
45
+ parentId: string | null;
46
+ }[];
47
+ };
48
+ meta: object;
49
+ }>;
50
+ getTree: import("@trpc/server").TRPCQueryProcedure<{
51
+ input: void;
52
+ output: {
53
+ folders: {
54
+ id: string;
55
+ name: string;
56
+ updatedAt: Date;
57
+ color: string;
58
+ markerColor: string | null;
59
+ parentId: string | null;
60
+ }[];
61
+ workspaces: {
62
+ id: string;
63
+ updatedAt: Date;
64
+ uploads: {
65
+ id: string;
66
+ name: string;
67
+ createdAt: Date;
68
+ mimeType: string;
69
+ }[];
70
+ title: string;
71
+ icon: string;
72
+ color: string;
73
+ markerColor: string | null;
74
+ folderId: string | null;
75
+ }[];
76
+ };
77
+ meta: object;
78
+ }>;
79
+ create: import("@trpc/server").TRPCMutationProcedure<{
80
+ input: {
81
+ name: string;
82
+ description?: string | undefined;
83
+ parentId?: string | undefined;
84
+ markerColor?: string | null | undefined;
85
+ };
86
+ output: {
87
+ id: string;
88
+ createdAt: Date;
89
+ updatedAt: Date;
90
+ ownerId: string;
91
+ title: string;
92
+ description: string | null;
93
+ icon: string;
94
+ color: string;
95
+ markerColor: string | null;
96
+ folderId: string | null;
97
+ fileBeingAnalyzed: boolean;
98
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue | null;
99
+ needsAnalysis: boolean;
100
+ };
101
+ meta: object;
102
+ }>;
103
+ createFolder: import("@trpc/server").TRPCMutationProcedure<{
104
+ input: {
105
+ name: string;
106
+ color?: string | undefined;
107
+ parentId?: string | undefined;
108
+ };
109
+ output: {
110
+ id: string;
111
+ name: string;
112
+ createdAt: Date;
113
+ updatedAt: Date;
114
+ ownerId: string;
115
+ color: string;
116
+ markerColor: string | null;
117
+ parentId: string | null;
118
+ };
119
+ meta: object;
120
+ }>;
121
+ updateFolder: import("@trpc/server").TRPCMutationProcedure<{
122
+ input: {
123
+ id: string;
124
+ name?: string | undefined;
125
+ markerColor?: string | null | undefined;
126
+ };
127
+ output: {
128
+ id: string;
129
+ name: string;
130
+ createdAt: Date;
131
+ updatedAt: Date;
132
+ ownerId: string;
133
+ color: string;
134
+ markerColor: string | null;
135
+ parentId: string | null;
136
+ };
137
+ meta: object;
138
+ }>;
139
+ deleteFolder: import("@trpc/server").TRPCMutationProcedure<{
140
+ input: {
141
+ id: string;
142
+ };
143
+ output: {
144
+ id: string;
145
+ name: string;
146
+ createdAt: Date;
147
+ updatedAt: Date;
148
+ ownerId: string;
149
+ color: string;
150
+ markerColor: string | null;
151
+ parentId: string | null;
152
+ };
153
+ meta: object;
154
+ }>;
155
+ get: import("@trpc/server").TRPCQueryProcedure<{
156
+ input: {
157
+ id: string;
158
+ };
159
+ output: {
160
+ id: string;
161
+ createdAt: Date;
162
+ updatedAt: Date;
163
+ uploads: {
164
+ id: string;
165
+ name: string;
166
+ createdAt: Date;
167
+ size: number;
168
+ objectKey: string | null;
169
+ mimeType: string;
170
+ }[];
171
+ ownerId: string;
172
+ title: string;
173
+ description: string | null;
174
+ icon: string;
175
+ color: string;
176
+ markerColor: string | null;
177
+ folderId: string | null;
178
+ fileBeingAnalyzed: boolean;
179
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue;
180
+ needsAnalysis: boolean;
181
+ folder: {
182
+ id: string;
183
+ name: string;
184
+ color: string;
185
+ } | null;
186
+ };
187
+ meta: object;
188
+ }>;
189
+ getStats: import("@trpc/server").TRPCQueryProcedure<{
190
+ input: void;
191
+ output: import("../services/billing/usage.service.js").AccountStats;
192
+ meta: object;
193
+ }>;
194
+ getAccountSummary: import("@trpc/server").TRPCQueryProcedure<{
195
+ input: void;
196
+ output: import("../services/billing/usage.service.js").AccountSummary;
197
+ meta: object;
198
+ }>;
199
+ getStudyAnalytics: import("@trpc/server").TRPCQueryProcedure<{
200
+ input: void;
201
+ output: {
202
+ streak: number;
203
+ totalStudyDays: number;
204
+ weeklyActivity: boolean[];
205
+ flashcards: {
206
+ total: number;
207
+ mastered: number;
208
+ dueForReview: number;
209
+ };
210
+ worksheets: {
211
+ completed: number;
212
+ correct: number;
213
+ accuracy: number;
214
+ };
215
+ };
216
+ meta: object;
217
+ }>;
218
+ update: import("@trpc/server").TRPCMutationProcedure<{
219
+ input: {
220
+ id: string;
221
+ name?: string | undefined;
222
+ description?: string | undefined;
223
+ markerColor?: string | null | undefined;
224
+ icon?: string | undefined;
225
+ };
226
+ output: {
227
+ id: string;
228
+ createdAt: Date;
229
+ updatedAt: Date;
230
+ ownerId: string;
231
+ title: string;
232
+ description: string | null;
233
+ icon: string;
234
+ color: string;
235
+ markerColor: string | null;
236
+ folderId: string | null;
237
+ fileBeingAnalyzed: boolean;
238
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue | null;
239
+ needsAnalysis: boolean;
240
+ };
241
+ meta: object;
242
+ }>;
243
+ delete: import("@trpc/server").TRPCMutationProcedure<{
244
+ input: {
245
+ id: string;
246
+ };
247
+ output: boolean;
248
+ meta: object;
249
+ }>;
250
+ getFolderInformation: import("@trpc/server").TRPCQueryProcedure<{
251
+ input: {
252
+ id: string;
253
+ };
254
+ output: {
255
+ folder: {
256
+ id: string;
257
+ name: string;
258
+ createdAt: Date;
259
+ updatedAt: Date;
260
+ ownerId: string;
261
+ color: string;
262
+ markerColor: string | null;
263
+ parentId: string | null;
264
+ };
265
+ parents: {
266
+ id: string;
267
+ name: string;
268
+ createdAt: Date;
269
+ updatedAt: Date;
270
+ ownerId: string;
271
+ color: string;
272
+ markerColor: string | null;
273
+ parentId: string | null;
274
+ }[];
275
+ };
276
+ meta: object;
277
+ }>;
278
+ getSharedWith: import("@trpc/server").TRPCQueryProcedure<{
279
+ input: {
280
+ id: string;
281
+ };
282
+ output: {
283
+ shared: {
284
+ id: string;
285
+ createdAt: Date;
286
+ updatedAt: Date;
287
+ ownerId: string;
288
+ title: string;
289
+ description: string | null;
290
+ icon: string;
291
+ color: string;
292
+ markerColor: string | null;
293
+ folderId: string | null;
294
+ fileBeingAnalyzed: boolean;
295
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue | null;
296
+ needsAnalysis: boolean;
297
+ }[];
298
+ invitations: ({
299
+ workspace: {
300
+ id: string;
301
+ createdAt: Date;
302
+ updatedAt: Date;
303
+ ownerId: string;
304
+ title: string;
305
+ description: string | null;
306
+ icon: string;
307
+ color: string;
308
+ markerColor: string | null;
309
+ folderId: string | null;
310
+ fileBeingAnalyzed: boolean;
311
+ analysisProgress: import("@prisma/client/runtime/client").JsonValue | null;
312
+ needsAnalysis: boolean;
313
+ };
314
+ } & {
315
+ id: string;
316
+ email: string;
317
+ createdAt: Date;
318
+ updatedAt: Date;
319
+ role: string;
320
+ token: string;
321
+ workspaceId: string;
322
+ invitedById: string;
323
+ acceptedAt: Date | null;
324
+ expiresAt: Date;
325
+ })[];
326
+ };
327
+ meta: object;
328
+ }>;
329
+ uploadFiles: import("@trpc/server").TRPCMutationProcedure<{
330
+ input: {
331
+ id: string;
332
+ files: {
333
+ filename: string;
334
+ contentType: string;
335
+ size: number;
336
+ }[];
337
+ };
338
+ output: {
339
+ fileId: string;
340
+ uploadUrl: string;
341
+ }[];
342
+ meta: object;
343
+ }>;
344
+ deleteFiles: import("@trpc/server").TRPCMutationProcedure<{
345
+ input: {
346
+ fileId: string[];
347
+ id: string;
348
+ };
349
+ output: boolean;
350
+ meta: object;
351
+ }>;
352
+ getFileUploadUrl: import("@trpc/server").TRPCQueryProcedure<{
353
+ input: {
354
+ workspaceId: string;
355
+ filename: string;
356
+ contentType: string;
357
+ size: number;
358
+ };
359
+ output: {
360
+ fileId: string;
361
+ uploadUrl: string;
362
+ };
363
+ meta: object;
364
+ }>;
365
+ uploadAndAnalyzeMedia: import("@trpc/server").TRPCMutationProcedure<{
366
+ input: {
367
+ workspaceId: string;
368
+ files: {
369
+ id: string;
370
+ }[];
371
+ generateStudyGuide?: boolean | undefined;
372
+ generateFlashcards?: boolean | undefined;
373
+ generateWorksheet?: boolean | undefined;
374
+ };
375
+ output: {
376
+ filename: string;
377
+ artifacts: {
378
+ studyGuide: any | null;
379
+ flashcards: any | null;
380
+ worksheet: any | null;
381
+ };
382
+ };
383
+ meta: object;
384
+ }>;
385
+ search: import("@trpc/server").TRPCQueryProcedure<{
386
+ input: {
387
+ query: string;
388
+ color?: string | undefined;
389
+ limit?: number | undefined;
390
+ };
391
+ output: any[];
392
+ meta: object;
393
+ }>;
394
+ members: import("@trpc/server").TRPCBuiltRouter<{
395
+ ctx: import("../context.js").Context;
396
+ meta: object;
397
+ errorShape: {
398
+ data: {
399
+ zodError: string | null;
400
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
401
+ httpStatus: number;
402
+ path?: string;
403
+ stack?: string;
404
+ };
405
+ message: string;
406
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
407
+ };
408
+ transformer: true;
409
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
410
+ getMembers: import("@trpc/server").TRPCQueryProcedure<{
411
+ input: {
412
+ workspaceId: string;
413
+ };
414
+ output: ({
415
+ id: string;
416
+ name: string;
417
+ email: string;
418
+ role: "admin" | "member";
419
+ joinedAt: Date;
420
+ } | {
421
+ id: string;
422
+ name: string;
423
+ email: string;
424
+ role: "owner";
425
+ joinedAt: Date;
426
+ })[];
427
+ meta: object;
428
+ }>;
429
+ getCurrentUserRole: import("@trpc/server").TRPCQueryProcedure<{
430
+ input: {
431
+ workspaceId: string;
432
+ };
433
+ output: "admin" | "member" | "owner";
434
+ meta: object;
435
+ }>;
436
+ inviteMember: import("@trpc/server").TRPCMutationProcedure<{
437
+ input: {
438
+ workspaceId: string;
439
+ email: string;
440
+ role?: "admin" | "member" | undefined;
441
+ };
442
+ output: {
443
+ invitationId: string;
444
+ token: string;
445
+ email: string;
446
+ role: string;
447
+ expiresAt: Date;
448
+ workspaceTitle: string;
449
+ invitedByName: string | null;
450
+ };
451
+ meta: object;
452
+ }>;
453
+ getInvitations: import("@trpc/server").TRPCQueryProcedure<{
454
+ input: {
455
+ workspaceId: string;
456
+ };
457
+ output: {
458
+ id: string;
459
+ email: string;
460
+ createdAt: Date;
461
+ updatedAt: Date;
462
+ role: string;
463
+ token: string;
464
+ workspaceId: string;
465
+ invitedById: string;
466
+ acceptedAt: Date | null;
467
+ expiresAt: Date;
468
+ }[];
469
+ meta: object;
470
+ }>;
471
+ acceptInvite: import("@trpc/server").TRPCMutationProcedure<{
472
+ input: {
473
+ token: string;
474
+ };
475
+ output: {
476
+ message?: string | undefined;
477
+ workspaceId: string;
478
+ workspaceTitle: string;
479
+ role: string;
480
+ ownerName: string | null;
481
+ };
482
+ meta: object;
483
+ }>;
484
+ changeMemberRole: import("@trpc/server").TRPCMutationProcedure<{
485
+ input: {
486
+ workspaceId: string;
487
+ memberId: string;
488
+ role: "admin" | "member";
489
+ };
490
+ output: {
491
+ memberId: string;
492
+ role: "admin" | "member";
493
+ memberName: string | null;
494
+ message: string;
495
+ };
496
+ meta: object;
497
+ }>;
498
+ removeMember: import("@trpc/server").TRPCMutationProcedure<{
499
+ input: {
500
+ workspaceId: string;
501
+ memberId: string;
502
+ };
503
+ output: {
504
+ memberId: string;
505
+ message: string;
506
+ };
507
+ meta: object;
508
+ }>;
509
+ getPendingInvitations: import("@trpc/server").TRPCQueryProcedure<{
510
+ input: {
511
+ workspaceId: string;
512
+ };
513
+ output: {
514
+ id: string;
515
+ email: string;
516
+ role: string;
517
+ token: string;
518
+ expiresAt: Date;
519
+ createdAt: Date;
520
+ invitedByName: string | null;
521
+ }[];
522
+ meta: object;
523
+ }>;
524
+ cancelInvitation: import("@trpc/server").TRPCMutationProcedure<{
525
+ input: {
526
+ invitationId: string;
527
+ };
528
+ output: {
529
+ invitationId: string;
530
+ message: string;
531
+ };
532
+ meta: object;
533
+ }>;
534
+ resendInvitation: import("@trpc/server").TRPCMutationProcedure<{
535
+ input: {
536
+ invitationId: string;
537
+ };
538
+ output: {
539
+ invitationId: string;
540
+ message: string;
541
+ };
542
+ meta: object;
543
+ }>;
544
+ getAllInvitationsDebug: import("@trpc/server").TRPCQueryProcedure<{
545
+ input: {
546
+ workspaceId: string;
547
+ };
548
+ output: {
549
+ id: string;
550
+ email: string;
551
+ createdAt: Date;
552
+ updatedAt: Date;
553
+ role: string;
554
+ token: string;
555
+ workspaceId: string;
556
+ invitedById: string;
557
+ acceptedAt: Date | null;
558
+ expiresAt: Date;
559
+ }[];
560
+ meta: object;
561
+ }>;
562
+ }>>;
563
+ }>>;
@@ -0,0 +1,104 @@
1
+ import { z } from 'zod';
2
+ import { router, authedProcedure, verifiedProcedure } from '../trpc.js';
3
+ import { members } from './members.js';
4
+ import { WorkspaceService } from '../services/workspace/workspace.service.js';
5
+ import { WorkspaceAnalyticsService } from '../services/workspace/workspace-analytics.service.js';
6
+ import { MediaAnalysisService } from '../services/content/media-analysis.service.js';
7
+ export const workspace = router({
8
+ list: authedProcedure
9
+ .input(z.object({
10
+ parentId: z.string().optional(),
11
+ }))
12
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).list(ctx.session.user.id, input.parentId ?? null)),
13
+ getTree: authedProcedure.query(({ ctx }) => new WorkspaceService(ctx.db).getTree(ctx.session.user.id)),
14
+ create: authedProcedure
15
+ .input(z.object({
16
+ name: z.string().min(1).max(100),
17
+ description: z.string().max(500).optional(),
18
+ parentId: z.string().optional(),
19
+ markerColor: z.string().nullable().optional(),
20
+ }))
21
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).create(ctx.session.user.id, input)),
22
+ createFolder: authedProcedure
23
+ .input(z.object({
24
+ name: z.string().min(1).max(100),
25
+ color: z.string().optional(),
26
+ parentId: z.string().optional(),
27
+ }))
28
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).createFolder(ctx.session.user.id, input)),
29
+ updateFolder: authedProcedure
30
+ .input(z.object({
31
+ id: z.string(),
32
+ name: z.string().min(1).max(100).optional(),
33
+ markerColor: z.string().nullable().optional(),
34
+ }))
35
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).updateFolder(ctx.session.user.id, input)),
36
+ deleteFolder: authedProcedure
37
+ .input(z.object({ id: z.string() }))
38
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).deleteFolder(ctx.session.user.id, input.id)),
39
+ get: authedProcedure
40
+ .input(z.object({ id: z.string() }))
41
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).get(ctx.session.user.id, input.id)),
42
+ getStats: authedProcedure.query(({ ctx }) => new WorkspaceService(ctx.db).getStats(ctx.session.user.id)),
43
+ getAccountSummary: authedProcedure.query(({ ctx }) => new WorkspaceService(ctx.db).getAccountSummary(ctx.session.user.id)),
44
+ getStudyAnalytics: authedProcedure.query(({ ctx }) => new WorkspaceAnalyticsService(ctx.db).getStudyAnalytics(ctx.session.user.id)),
45
+ update: authedProcedure
46
+ .input(z.object({
47
+ id: z.string(),
48
+ name: z.string().min(1).max(100).optional(),
49
+ description: z.string().max(500).optional(),
50
+ markerColor: z.string().nullable().optional(),
51
+ icon: z.string().optional(),
52
+ }))
53
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).update(ctx.session.user.id, input)),
54
+ delete: authedProcedure
55
+ .input(z.object({ id: z.string() }))
56
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).delete(ctx.session.user.id, input.id)),
57
+ getFolderInformation: authedProcedure
58
+ .input(z.object({ id: z.string() }))
59
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).getFolderInformation(ctx.session.user.id, input.id)),
60
+ getSharedWith: authedProcedure
61
+ .input(z.object({ id: z.string() }))
62
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).getSharedWith(ctx.session.user.id, input.id)),
63
+ uploadFiles: authedProcedure
64
+ .input(z.object({
65
+ id: z.string(),
66
+ files: z.array(z.object({
67
+ filename: z.string().min(1).max(255),
68
+ contentType: z.string().min(1).max(100),
69
+ size: z.number().min(1),
70
+ })),
71
+ }))
72
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).uploadFiles(ctx.session.user.id, input)),
73
+ deleteFiles: authedProcedure
74
+ .input(z.object({
75
+ fileId: z.array(z.string()),
76
+ id: z.string(),
77
+ }))
78
+ .mutation(({ ctx, input }) => new WorkspaceService(ctx.db).deleteFiles(ctx.session.user.id, input)),
79
+ getFileUploadUrl: authedProcedure
80
+ .input(z.object({
81
+ workspaceId: z.string(),
82
+ filename: z.string(),
83
+ contentType: z.string(),
84
+ size: z.number(),
85
+ }))
86
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).getFileUploadUrl(ctx.session.user.id, input)),
87
+ uploadAndAnalyzeMedia: verifiedProcedure
88
+ .input(z.object({
89
+ workspaceId: z.string(),
90
+ files: z.array(z.object({ id: z.string() })),
91
+ generateStudyGuide: z.boolean().default(true),
92
+ generateFlashcards: z.boolean().default(true),
93
+ generateWorksheet: z.boolean().default(true),
94
+ }))
95
+ .mutation(({ ctx, input }) => new MediaAnalysisService(ctx.db).uploadAndAnalyzeMedia(input, ctx.session.user.id)),
96
+ search: authedProcedure
97
+ .input(z.object({
98
+ query: z.string(),
99
+ color: z.string().optional(),
100
+ limit: z.number().min(1).max(100).default(20),
101
+ }))
102
+ .query(({ ctx, input }) => new WorkspaceService(ctx.db).search(ctx.session.user.id, input)),
103
+ members,
104
+ });
@@ -0,0 +1 @@
1
+ export {};