@studious-lms/server 1.26.0 → 1.28.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.
- package/.env.example +3 -1
- package/.github/workflows/npm-publish.yml +1 -0
- package/AGENTS.md +84 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -4
- package/dist/index.js.map +1 -1
- package/dist/instrument.js +9 -4
- package/dist/instrument.js.map +1 -1
- package/dist/lib/fileUpload.d.ts +15 -0
- package/dist/lib/fileUpload.d.ts.map +1 -1
- package/dist/lib/fileUpload.js +43 -2
- package/dist/lib/fileUpload.js.map +1 -1
- package/dist/models/cloudStorage.d.ts +11 -0
- package/dist/models/cloudStorage.d.ts.map +1 -1
- package/dist/models/cloudStorage.js +18 -2
- package/dist/models/cloudStorage.js.map +1 -1
- package/dist/models/conversation.d.ts +1 -0
- package/dist/models/conversation.d.ts.map +1 -1
- package/dist/models/labChat.d.ts +40 -0
- package/dist/models/labChat.d.ts.map +1 -1
- package/dist/models/labChat.js +32 -2
- package/dist/models/labChat.js.map +1 -1
- package/dist/models/message.d.ts +3 -0
- package/dist/models/message.d.ts.map +1 -1
- package/dist/pipelines/aiLabChat.d.ts +2 -0
- package/dist/pipelines/aiLabChat.d.ts.map +1 -1
- package/dist/pipelines/aiLabChat.js +60 -16
- package/dist/pipelines/aiLabChat.js.map +1 -1
- package/dist/pipelines/aiLabChatContract.d.ts +170 -2
- package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
- package/dist/pipelines/aiLabChatContract.js +30 -2
- package/dist/pipelines/aiLabChatContract.js.map +1 -1
- package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
- package/dist/pipelines/aiNewtonChat.js +30 -5
- package/dist/pipelines/aiNewtonChat.js.map +1 -1
- package/dist/pipelines/generateVisualization.d.ts +33 -0
- package/dist/pipelines/generateVisualization.d.ts.map +1 -0
- package/dist/pipelines/generateVisualization.js +79 -0
- package/dist/pipelines/generateVisualization.js.map +1 -0
- package/dist/pipelines/labChatPrompt.d.ts +1 -1
- package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
- package/dist/pipelines/labChatPrompt.js +13 -14
- package/dist/pipelines/labChatPrompt.js.map +1 -1
- package/dist/routers/_app.d.ts +1118 -70
- package/dist/routers/_app.d.ts.map +1 -1
- package/dist/routers/_app.js +4 -2
- package/dist/routers/_app.js.map +1 -1
- package/dist/routers/admin.d.ts +297 -1
- package/dist/routers/admin.d.ts.map +1 -1
- package/dist/routers/admin.js +43 -2
- package/dist/routers/admin.js.map +1 -1
- package/dist/routers/class.d.ts.map +1 -1
- package/dist/routers/class.js +16 -3
- package/dist/routers/class.js.map +1 -1
- package/dist/routers/conversation.d.ts +1 -0
- package/dist/routers/conversation.d.ts.map +1 -1
- package/dist/routers/labChat.d.ts +10 -0
- package/dist/routers/labChat.d.ts.map +1 -1
- package/dist/routers/labChat.js +6 -3
- package/dist/routers/labChat.js.map +1 -1
- package/dist/routers/message.d.ts +37 -4
- package/dist/routers/message.d.ts.map +1 -1
- package/dist/routers/message.js +24 -7
- package/dist/routers/message.js.map +1 -1
- package/dist/routers/module.d.ts +1 -1
- package/dist/routers/parent.d.ts +18 -0
- package/dist/routers/parent.d.ts.map +1 -1
- package/dist/routers/parent.js +10 -3
- package/dist/routers/parent.js.map +1 -1
- package/dist/routers/studentProgress.d.ts +44 -0
- package/dist/routers/studentProgress.d.ts.map +1 -1
- package/dist/routers/studentProgress.js +12 -3
- package/dist/routers/studentProgress.js.map +1 -1
- package/dist/routers/visualization.d.ts +124 -0
- package/dist/routers/visualization.d.ts.map +1 -0
- package/dist/routers/visualization.js +41 -0
- package/dist/routers/visualization.js.map +1 -0
- package/dist/routes/aiStream.js +32 -2
- package/dist/routes/aiStream.js.map +1 -1
- package/dist/seedDatabase.d.ts.map +1 -1
- package/dist/seedDatabase.js +107 -3
- package/dist/seedDatabase.js.map +1 -1
- package/dist/services/adminClass.d.ts +153 -0
- package/dist/services/adminClass.d.ts.map +1 -0
- package/dist/services/adminClass.js +196 -0
- package/dist/services/adminClass.js.map +1 -0
- package/dist/services/adminInstitution.d.ts +2 -0
- package/dist/services/adminInstitution.d.ts.map +1 -1
- package/dist/services/adminInstitution.js +11 -4
- package/dist/services/adminInstitution.js.map +1 -1
- package/dist/services/adminMetrics.d.ts +8 -0
- package/dist/services/adminMetrics.d.ts.map +1 -1
- package/dist/services/adminMetrics.js +30 -3
- package/dist/services/adminMetrics.js.map +1 -1
- package/dist/services/adminSpam.d.ts +76 -0
- package/dist/services/adminSpam.d.ts.map +1 -0
- package/dist/services/adminSpam.js +163 -0
- package/dist/services/adminSpam.js.map +1 -0
- package/dist/services/adminSql.d.ts +36 -0
- package/dist/services/adminSql.d.ts.map +1 -0
- package/dist/services/adminSql.js +172 -0
- package/dist/services/adminSql.js.map +1 -0
- package/dist/services/adminTelemetry.d.ts +56 -0
- package/dist/services/adminTelemetry.d.ts.map +1 -0
- package/dist/services/adminTelemetry.js +147 -0
- package/dist/services/adminTelemetry.js.map +1 -0
- package/dist/services/adminUser.d.ts +45 -1
- package/dist/services/adminUser.d.ts.map +1 -1
- package/dist/services/adminUser.js +53 -13
- package/dist/services/adminUser.js.map +1 -1
- package/dist/services/aiChatStream.d.ts +15 -0
- package/dist/services/aiChatStream.d.ts.map +1 -1
- package/dist/services/aiChatStream.js +144 -74
- package/dist/services/aiChatStream.js.map +1 -1
- package/dist/services/aiGeneration.d.ts +4 -0
- package/dist/services/aiGeneration.d.ts.map +1 -0
- package/dist/services/aiGeneration.js +88 -0
- package/dist/services/aiGeneration.js.map +1 -0
- package/dist/services/aiProposalTools.d.ts +4 -1
- package/dist/services/aiProposalTools.d.ts.map +1 -1
- package/dist/services/aiProposalTools.js +128 -3
- package/dist/services/aiProposalTools.js.map +1 -1
- package/dist/services/aiProposals.d.ts +70 -0
- package/dist/services/aiProposals.d.ts.map +1 -0
- package/dist/services/aiProposals.js +363 -0
- package/dist/services/aiProposals.js.map +1 -0
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/auth.js +10 -4
- package/dist/services/auth.js.map +1 -1
- package/dist/services/conversation.d.ts +1 -0
- package/dist/services/conversation.d.ts.map +1 -1
- package/dist/services/fees.d.ts.map +1 -1
- package/dist/services/fees.js +7 -3
- package/dist/services/fees.js.map +1 -1
- package/dist/services/labChat.d.ts +10 -0
- package/dist/services/labChat.d.ts.map +1 -1
- package/dist/services/labChat.js +52 -3
- package/dist/services/labChat.js.map +1 -1
- package/dist/services/message.d.ts +24 -8
- package/dist/services/message.d.ts.map +1 -1
- package/dist/services/message.js +170 -117
- package/dist/services/message.js.map +1 -1
- package/dist/services/module.d.ts.map +1 -1
- package/dist/services/module.js +23 -4
- package/dist/services/module.js.map +1 -1
- package/dist/services/parentPortal.d.ts +14 -0
- package/dist/services/parentPortal.d.ts.map +1 -1
- package/dist/services/parentPortal.js +72 -2
- package/dist/services/parentPortal.js.map +1 -1
- package/dist/services/studentProgress.d.ts +50 -0
- package/dist/services/studentProgress.d.ts.map +1 -1
- package/dist/services/studentProgress.js +107 -2
- package/dist/services/studentProgress.js.map +1 -1
- package/dist/services/visualization.d.ts +72 -0
- package/dist/services/visualization.d.ts.map +1 -0
- package/dist/services/visualization.js +122 -0
- package/dist/services/visualization.js.map +1 -0
- package/dist/utils/inference.d.ts +10 -0
- package/dist/utils/inference.d.ts.map +1 -1
- package/dist/utils/inference.js +77 -2
- package/dist/utils/inference.js.map +1 -1
- package/dist/utils/sentryTrpc.d.ts +3 -0
- package/dist/utils/sentryTrpc.d.ts.map +1 -0
- package/dist/utils/sentryTrpc.js +26 -0
- package/dist/utils/sentryTrpc.js.map +1 -0
- package/dist/workers/processors/createRunJobWorker.js +17 -16
- package/dist/workers/processors/createRunJobWorker.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260811130000_add_ai_message_feedback/migration.sql +7 -0
- package/prisma/migrations/20261025120000_add_visualizations/migration.sql +27 -0
- package/prisma/schema.prisma +32 -0
- package/src/index.ts +30 -4
- package/src/instrument.ts +8 -2
- package/src/lib/fileUpload.ts +49 -0
- package/src/models/cloudStorage.ts +19 -0
- package/src/models/labChat.ts +34 -0
- package/src/pipelines/aiLabChat.ts +79 -18
- package/src/pipelines/aiLabChatContract.ts +35 -0
- package/src/pipelines/aiNewtonChat.ts +34 -2
- package/src/pipelines/generateVisualization.ts +107 -0
- package/src/pipelines/labChatPrompt.ts +11 -12
- package/src/routers/_app.ts +2 -0
- package/src/routers/admin.ts +72 -0
- package/src/routers/class.ts +14 -1
- package/src/routers/labChat.ts +5 -0
- package/src/routers/message.ts +34 -5
- package/src/routers/parent.ts +11 -0
- package/src/routers/studentProgress.ts +15 -0
- package/src/routers/visualization.ts +60 -0
- package/src/routes/aiStream.ts +32 -0
- package/src/seedDatabase.ts +107 -2
- package/src/services/adminClass.ts +222 -0
- package/src/services/adminInstitution.ts +9 -2
- package/src/services/adminMetrics.ts +35 -0
- package/src/services/adminSpam.ts +224 -0
- package/src/services/adminSql.ts +214 -0
- package/src/services/adminTelemetry.ts +194 -0
- package/src/services/adminUser.ts +66 -11
- package/src/services/aiChatStream.ts +83 -7
- package/src/services/aiGeneration.ts +92 -0
- package/src/services/aiProposalTools.ts +166 -1
- package/src/services/aiProposals.ts +428 -0
- package/src/services/auth.ts +8 -2
- package/src/services/fees.ts +5 -1
- package/src/services/labChat.ts +65 -0
- package/src/services/message.ts +205 -142
- package/src/services/module.ts +29 -2
- package/src/services/parentPortal.ts +85 -0
- package/src/services/studentProgress.ts +135 -0
- package/src/services/visualization.ts +147 -0
- package/src/utils/inference.ts +85 -0
- package/src/utils/sentryTrpc.ts +25 -0
- package/src/workers/processors/createRunJobWorker.ts +17 -17
- package/tests/unit/lib/fileUploadSession.test.ts +67 -0
- package/tests/unit/services/adminClass.test.ts +102 -0
- package/tests/unit/services/adminSpam.test.ts +108 -0
- package/tests/unit/services/adminSql.test.ts +56 -0
- package/tests/unit/services/adminTelemetry.test.ts +47 -0
- package/tests/unit/services/adminUser.test.ts +77 -0
- package/tests/unit/services/visualization.test.ts +130 -0
- package/tests/unit/utils/adminPanelAccess.test.ts +26 -0
- package/tests/unit/utils/sentryTrpc.test.ts +15 -0
package/dist/routers/_app.d.ts
CHANGED
|
@@ -5576,6 +5576,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
5576
5576
|
content: string;
|
|
5577
5577
|
senderId: string;
|
|
5578
5578
|
conversationId: string;
|
|
5579
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
5579
5580
|
runJobId: string | null;
|
|
5580
5581
|
};
|
|
5581
5582
|
unreadCount: number;
|
|
@@ -5787,6 +5788,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
5787
5788
|
} | null;
|
|
5788
5789
|
};
|
|
5789
5790
|
status: import(".prisma/client").$Enums.JobStatus | null;
|
|
5791
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
5790
5792
|
attachments: {
|
|
5791
5793
|
path: string;
|
|
5792
5794
|
type: string;
|
|
@@ -5917,6 +5919,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
5917
5919
|
};
|
|
5918
5920
|
meta: object;
|
|
5919
5921
|
}>;
|
|
5922
|
+
cancelAiGeneration: import("@trpc/server").TRPCMutationProcedure<{
|
|
5923
|
+
input: {
|
|
5924
|
+
messageId: string;
|
|
5925
|
+
};
|
|
5926
|
+
output: {
|
|
5927
|
+
success: boolean;
|
|
5928
|
+
};
|
|
5929
|
+
meta: object;
|
|
5930
|
+
}>;
|
|
5920
5931
|
markAsRead: import("@trpc/server").TRPCMutationProcedure<{
|
|
5921
5932
|
input: {
|
|
5922
5933
|
conversationId: string;
|
|
@@ -5935,14 +5946,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
5935
5946
|
};
|
|
5936
5947
|
meta: object;
|
|
5937
5948
|
}>;
|
|
5938
|
-
|
|
5949
|
+
resolveAiProposal: import("@trpc/server").TRPCMutationProcedure<{
|
|
5939
5950
|
input: {
|
|
5940
|
-
type: "assignment" | "section" | "worksheet";
|
|
5941
5951
|
messageId: string;
|
|
5942
|
-
|
|
5952
|
+
proposalId: string;
|
|
5953
|
+
action: "approve" | "dismiss";
|
|
5943
5954
|
};
|
|
5944
5955
|
output: {
|
|
5945
|
-
|
|
5956
|
+
status: import("../services/aiProposals.js").PendingCreationStatus;
|
|
5957
|
+
createdId: string | null;
|
|
5946
5958
|
};
|
|
5947
5959
|
meta: object;
|
|
5948
5960
|
}>;
|
|
@@ -5956,6 +5968,28 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
5956
5968
|
};
|
|
5957
5969
|
meta: object;
|
|
5958
5970
|
}>;
|
|
5971
|
+
regenerateAIResponse: import("@trpc/server").TRPCMutationProcedure<{
|
|
5972
|
+
input: {
|
|
5973
|
+
messageId: string;
|
|
5974
|
+
};
|
|
5975
|
+
output: {
|
|
5976
|
+
success: boolean;
|
|
5977
|
+
messageId: string;
|
|
5978
|
+
};
|
|
5979
|
+
meta: object;
|
|
5980
|
+
}>;
|
|
5981
|
+
setAIFeedback: import("@trpc/server").TRPCMutationProcedure<{
|
|
5982
|
+
input: {
|
|
5983
|
+
feedback: "UP" | "DOWN" | null;
|
|
5984
|
+
messageId: string;
|
|
5985
|
+
};
|
|
5986
|
+
output: {
|
|
5987
|
+
success: boolean;
|
|
5988
|
+
messageId: string;
|
|
5989
|
+
feedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
5990
|
+
};
|
|
5991
|
+
meta: object;
|
|
5992
|
+
}>;
|
|
5959
5993
|
}>>;
|
|
5960
5994
|
labChat: import("@trpc/server").TRPCBuiltRouter<{
|
|
5961
5995
|
ctx: import("../trpc.js").Context;
|
|
@@ -6127,12 +6161,22 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
6127
6161
|
content: string;
|
|
6128
6162
|
senderId: string;
|
|
6129
6163
|
conversationId: string;
|
|
6164
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
6130
6165
|
runJobId: string | null;
|
|
6131
6166
|
};
|
|
6132
6167
|
messageCount: number;
|
|
6133
6168
|
}[];
|
|
6134
6169
|
meta: object;
|
|
6135
6170
|
}>;
|
|
6171
|
+
starterPrompts: import("@trpc/server").TRPCQueryProcedure<{
|
|
6172
|
+
input: {
|
|
6173
|
+
classId: string;
|
|
6174
|
+
};
|
|
6175
|
+
output: {
|
|
6176
|
+
prompts: string[];
|
|
6177
|
+
};
|
|
6178
|
+
meta: object;
|
|
6179
|
+
}>;
|
|
6136
6180
|
postToLabChat: import("@trpc/server").TRPCMutationProcedure<{
|
|
6137
6181
|
input: {
|
|
6138
6182
|
content: string;
|
|
@@ -7286,6 +7330,50 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
7286
7330
|
};
|
|
7287
7331
|
meta: object;
|
|
7288
7332
|
}>;
|
|
7333
|
+
generateFollowUpAssignment: import("@trpc/server").TRPCMutationProcedure<{
|
|
7334
|
+
input: {
|
|
7335
|
+
[x: string]: unknown;
|
|
7336
|
+
classId: string;
|
|
7337
|
+
submissionId: string;
|
|
7338
|
+
prompt: string;
|
|
7339
|
+
studentId: string;
|
|
7340
|
+
dueDate?: string | undefined;
|
|
7341
|
+
};
|
|
7342
|
+
output: {
|
|
7343
|
+
assignment: {
|
|
7344
|
+
type: import(".prisma/client").$Enums.AssignmentType;
|
|
7345
|
+
class: {
|
|
7346
|
+
id: string;
|
|
7347
|
+
name: string;
|
|
7348
|
+
};
|
|
7349
|
+
section: {
|
|
7350
|
+
id: string;
|
|
7351
|
+
name: string;
|
|
7352
|
+
} | null;
|
|
7353
|
+
id: string;
|
|
7354
|
+
title: string;
|
|
7355
|
+
dueDate: Date;
|
|
7356
|
+
maxGrade: number | null;
|
|
7357
|
+
attachments: {
|
|
7358
|
+
type: string;
|
|
7359
|
+
id: string;
|
|
7360
|
+
name: string;
|
|
7361
|
+
}[];
|
|
7362
|
+
instructions: string;
|
|
7363
|
+
graded: boolean;
|
|
7364
|
+
weight: number;
|
|
7365
|
+
teacher: {
|
|
7366
|
+
id: string;
|
|
7367
|
+
username: string;
|
|
7368
|
+
};
|
|
7369
|
+
};
|
|
7370
|
+
draft: {
|
|
7371
|
+
title: string;
|
|
7372
|
+
instructions: string;
|
|
7373
|
+
};
|
|
7374
|
+
};
|
|
7375
|
+
meta: object;
|
|
7376
|
+
}>;
|
|
7289
7377
|
chat: import("@trpc/server").TRPCMutationProcedure<{
|
|
7290
7378
|
input: {
|
|
7291
7379
|
[x: string]: unknown;
|
|
@@ -9868,6 +9956,14 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
9868
9956
|
schools: number;
|
|
9869
9957
|
users: number;
|
|
9870
9958
|
verifiedUsers: number;
|
|
9959
|
+
suspectedUsers: number;
|
|
9960
|
+
cleanUsers: number;
|
|
9961
|
+
signupsLast24h: number;
|
|
9962
|
+
signupsLast7d: number;
|
|
9963
|
+
activeUsersLast24h: number;
|
|
9964
|
+
activeUsersLast7d: number;
|
|
9965
|
+
activeClassesLast7d: number;
|
|
9966
|
+
submissionsLast24h: number;
|
|
9871
9967
|
classes: number;
|
|
9872
9968
|
departments: number;
|
|
9873
9969
|
runJobs: {
|
|
@@ -10076,6 +10172,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10076
10172
|
};
|
|
10077
10173
|
output: {
|
|
10078
10174
|
items: {
|
|
10175
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10079
10176
|
type: string;
|
|
10080
10177
|
status: string;
|
|
10081
10178
|
id: string;
|
|
@@ -10110,6 +10207,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10110
10207
|
};
|
|
10111
10208
|
output: {
|
|
10112
10209
|
items: {
|
|
10210
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10113
10211
|
id: string;
|
|
10114
10212
|
createdAt: Date;
|
|
10115
10213
|
email: string;
|
|
@@ -10124,12 +10222,19 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10124
10222
|
}>;
|
|
10125
10223
|
searchUsers: import("@trpc/server").TRPCQueryProcedure<{
|
|
10126
10224
|
input: {
|
|
10225
|
+
sort?: "username" | "recent" | "activity" | undefined;
|
|
10127
10226
|
query?: string | undefined;
|
|
10227
|
+
verified?: boolean | undefined;
|
|
10228
|
+
schoolId?: string | undefined;
|
|
10128
10229
|
page?: number | undefined;
|
|
10230
|
+
activity?: "active" | "all" | "inactive" | undefined;
|
|
10129
10231
|
pageSize?: number | undefined;
|
|
10232
|
+
emailDomain?: string | undefined;
|
|
10233
|
+
spam?: "all" | "suspected" | "clean" | undefined;
|
|
10130
10234
|
};
|
|
10131
10235
|
output: {
|
|
10132
10236
|
items: {
|
|
10237
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10133
10238
|
school: {
|
|
10134
10239
|
id: string;
|
|
10135
10240
|
name: string;
|
|
@@ -10138,9 +10243,13 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10138
10243
|
username: string;
|
|
10139
10244
|
email: string;
|
|
10140
10245
|
verified: boolean;
|
|
10246
|
+
profile: {
|
|
10247
|
+
createdAt: Date;
|
|
10248
|
+
} | null;
|
|
10141
10249
|
_count: {
|
|
10142
10250
|
teacherIn: number;
|
|
10143
10251
|
studentIn: number;
|
|
10252
|
+
submissions: number;
|
|
10144
10253
|
sessions: number;
|
|
10145
10254
|
};
|
|
10146
10255
|
}[];
|
|
@@ -10156,6 +10265,37 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10156
10265
|
id: string;
|
|
10157
10266
|
};
|
|
10158
10267
|
output: {
|
|
10268
|
+
classes: {
|
|
10269
|
+
teaching: {
|
|
10270
|
+
school: {
|
|
10271
|
+
id: string;
|
|
10272
|
+
name: string;
|
|
10273
|
+
} | null;
|
|
10274
|
+
section: string;
|
|
10275
|
+
id: string;
|
|
10276
|
+
name: string;
|
|
10277
|
+
_count: {
|
|
10278
|
+
students: number;
|
|
10279
|
+
assignments: number;
|
|
10280
|
+
};
|
|
10281
|
+
subject: string;
|
|
10282
|
+
}[];
|
|
10283
|
+
enrolled: {
|
|
10284
|
+
school: {
|
|
10285
|
+
id: string;
|
|
10286
|
+
name: string;
|
|
10287
|
+
} | null;
|
|
10288
|
+
section: string;
|
|
10289
|
+
id: string;
|
|
10290
|
+
name: string;
|
|
10291
|
+
_count: {
|
|
10292
|
+
students: number;
|
|
10293
|
+
assignments: number;
|
|
10294
|
+
};
|
|
10295
|
+
subject: string;
|
|
10296
|
+
}[];
|
|
10297
|
+
};
|
|
10298
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10159
10299
|
school: {
|
|
10160
10300
|
id: string;
|
|
10161
10301
|
name: string;
|
|
@@ -10174,7 +10314,6 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10174
10314
|
} | null;
|
|
10175
10315
|
sessions: {
|
|
10176
10316
|
type: import(".prisma/client").$Enums.SessionType;
|
|
10177
|
-
id: string;
|
|
10178
10317
|
createdAt: Date | null;
|
|
10179
10318
|
expiresAt: Date | null;
|
|
10180
10319
|
}[];
|
|
@@ -10198,69 +10337,314 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10198
10337
|
};
|
|
10199
10338
|
meta: object;
|
|
10200
10339
|
}>;
|
|
10201
|
-
|
|
10202
|
-
embedding: import("@trpc/server").TRPCBuiltRouter<{
|
|
10203
|
-
ctx: import("../trpc.js").Context;
|
|
10204
|
-
meta: object;
|
|
10205
|
-
errorShape: {
|
|
10206
|
-
data: {
|
|
10207
|
-
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
10208
|
-
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
10209
|
-
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
10210
|
-
httpStatus: number;
|
|
10211
|
-
path?: string;
|
|
10212
|
-
stack?: string;
|
|
10213
|
-
};
|
|
10214
|
-
message: string;
|
|
10215
|
-
code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
|
|
10216
|
-
};
|
|
10217
|
-
transformer: false;
|
|
10218
|
-
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
10219
|
-
search: import("@trpc/server").TRPCQueryProcedure<{
|
|
10340
|
+
listClasses: import("@trpc/server").TRPCQueryProcedure<{
|
|
10220
10341
|
input: {
|
|
10221
|
-
|
|
10222
|
-
|
|
10223
|
-
|
|
10224
|
-
|
|
10342
|
+
sort?: "name" | "students" | "assignments" | undefined;
|
|
10343
|
+
query?: string | undefined;
|
|
10344
|
+
schoolId?: string | undefined;
|
|
10345
|
+
page?: number | undefined;
|
|
10346
|
+
pageSize?: number | undefined;
|
|
10347
|
+
membership?: "all" | "populated" | "empty" | undefined;
|
|
10348
|
+
};
|
|
10349
|
+
output: {
|
|
10350
|
+
items: {
|
|
10351
|
+
lastAssignmentAt: Date | null;
|
|
10352
|
+
school: {
|
|
10353
|
+
id: string;
|
|
10354
|
+
name: string;
|
|
10355
|
+
} | null;
|
|
10356
|
+
department: {
|
|
10357
|
+
id: string;
|
|
10358
|
+
name: string;
|
|
10359
|
+
} | null;
|
|
10360
|
+
section: string;
|
|
10361
|
+
id: string;
|
|
10362
|
+
name: string;
|
|
10363
|
+
teachers: {
|
|
10364
|
+
id: string;
|
|
10365
|
+
username: string;
|
|
10366
|
+
}[];
|
|
10367
|
+
_count: {
|
|
10368
|
+
teachers: number;
|
|
10369
|
+
students: number;
|
|
10370
|
+
assignments: number;
|
|
10371
|
+
events: number;
|
|
10372
|
+
announcements: number;
|
|
10373
|
+
discussions: number;
|
|
10374
|
+
worksheets: number;
|
|
10375
|
+
modules: number;
|
|
10376
|
+
};
|
|
10377
|
+
subject: string;
|
|
10378
|
+
}[];
|
|
10379
|
+
total: number;
|
|
10380
|
+
page: number;
|
|
10381
|
+
pageSize: number;
|
|
10382
|
+
pageCount: number;
|
|
10225
10383
|
};
|
|
10226
|
-
output: import("../services/embedding.js").EmbeddingSearchResult[];
|
|
10227
10384
|
meta: object;
|
|
10228
10385
|
}>;
|
|
10229
|
-
|
|
10386
|
+
getClass: import("@trpc/server").TRPCQueryProcedure<{
|
|
10230
10387
|
input: {
|
|
10231
|
-
|
|
10232
|
-
sourceType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "SECTION" | "DISCUSSION" | "SUBMISSION" | "SYLLABUS";
|
|
10233
|
-
sourceId: string;
|
|
10388
|
+
id: string;
|
|
10234
10389
|
};
|
|
10235
10390
|
output: {
|
|
10236
|
-
|
|
10391
|
+
teachers: {
|
|
10392
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10393
|
+
submissionsInClass: number;
|
|
10394
|
+
id: string;
|
|
10395
|
+
username: string;
|
|
10396
|
+
email: string;
|
|
10397
|
+
verified: boolean;
|
|
10398
|
+
_count: {
|
|
10399
|
+
teacherIn: number;
|
|
10400
|
+
studentIn: number;
|
|
10401
|
+
submissions: number;
|
|
10402
|
+
};
|
|
10403
|
+
}[];
|
|
10404
|
+
students: {
|
|
10405
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10406
|
+
submissionsInClass: number;
|
|
10407
|
+
id: string;
|
|
10408
|
+
username: string;
|
|
10409
|
+
email: string;
|
|
10410
|
+
verified: boolean;
|
|
10411
|
+
_count: {
|
|
10412
|
+
teacherIn: number;
|
|
10413
|
+
studentIn: number;
|
|
10414
|
+
submissions: number;
|
|
10415
|
+
};
|
|
10416
|
+
}[];
|
|
10417
|
+
announcements: {
|
|
10418
|
+
remarks: string;
|
|
10419
|
+
id: string;
|
|
10420
|
+
createdAt: Date;
|
|
10421
|
+
teacher: {
|
|
10422
|
+
id: string;
|
|
10423
|
+
username: string;
|
|
10424
|
+
};
|
|
10425
|
+
}[];
|
|
10426
|
+
suspectedMembers: number;
|
|
10427
|
+
school: {
|
|
10428
|
+
id: string;
|
|
10429
|
+
name: string;
|
|
10430
|
+
} | null;
|
|
10431
|
+
department: {
|
|
10432
|
+
id: string;
|
|
10433
|
+
name: string;
|
|
10434
|
+
} | null;
|
|
10435
|
+
section: string;
|
|
10436
|
+
id: string;
|
|
10437
|
+
name: string;
|
|
10438
|
+
assignments: {
|
|
10439
|
+
type: import(".prisma/client").$Enums.AssignmentType;
|
|
10440
|
+
id: string;
|
|
10441
|
+
createdAt: Date | null;
|
|
10442
|
+
_count: {
|
|
10443
|
+
submissions: number;
|
|
10444
|
+
};
|
|
10445
|
+
title: string;
|
|
10446
|
+
dueDate: Date;
|
|
10447
|
+
graded: boolean;
|
|
10448
|
+
teacher: {
|
|
10449
|
+
id: string;
|
|
10450
|
+
username: string;
|
|
10451
|
+
};
|
|
10452
|
+
}[];
|
|
10453
|
+
_count: {
|
|
10454
|
+
teachers: number;
|
|
10455
|
+
students: number;
|
|
10456
|
+
assignments: number;
|
|
10457
|
+
events: number;
|
|
10458
|
+
announcements: number;
|
|
10459
|
+
discussions: number;
|
|
10460
|
+
sections: number;
|
|
10461
|
+
worksheets: number;
|
|
10462
|
+
modules: number;
|
|
10463
|
+
};
|
|
10464
|
+
color: string | null;
|
|
10465
|
+
subject: string;
|
|
10237
10466
|
};
|
|
10238
10467
|
meta: object;
|
|
10239
10468
|
}>;
|
|
10240
|
-
|
|
10241
|
-
input:
|
|
10242
|
-
classId: string;
|
|
10243
|
-
};
|
|
10469
|
+
getContentTelemetry: import("@trpc/server").TRPCQueryProcedure<{
|
|
10470
|
+
input: void;
|
|
10244
10471
|
output: {
|
|
10245
|
-
|
|
10472
|
+
content: {
|
|
10246
10473
|
assignments: number;
|
|
10247
|
-
|
|
10474
|
+
assignmentsLast7d: number;
|
|
10475
|
+
submissions: number;
|
|
10476
|
+
submissionsLast7d: number;
|
|
10477
|
+
gradedSubmissions: number;
|
|
10248
10478
|
announcements: number;
|
|
10479
|
+
announcementsLast7d: number;
|
|
10249
10480
|
discussions: number;
|
|
10250
|
-
|
|
10251
|
-
|
|
10481
|
+
messages: number;
|
|
10482
|
+
messagesLast7d: number;
|
|
10483
|
+
worksheets: number;
|
|
10484
|
+
events: number;
|
|
10485
|
+
modules: number;
|
|
10252
10486
|
files: number;
|
|
10487
|
+
storageBytes: number;
|
|
10488
|
+
};
|
|
10489
|
+
ai: {
|
|
10490
|
+
calls7d: number;
|
|
10491
|
+
failures7d: number;
|
|
10492
|
+
tokens7d: number;
|
|
10493
|
+
byModel: {
|
|
10494
|
+
model: string;
|
|
10495
|
+
calls: number;
|
|
10496
|
+
tokens: number;
|
|
10497
|
+
}[];
|
|
10498
|
+
};
|
|
10499
|
+
jobs: {
|
|
10500
|
+
failedLast24h: number;
|
|
10501
|
+
byType: {
|
|
10502
|
+
total: number;
|
|
10503
|
+
failed: number;
|
|
10504
|
+
type: string;
|
|
10505
|
+
}[];
|
|
10253
10506
|
};
|
|
10254
10507
|
};
|
|
10255
10508
|
meta: object;
|
|
10256
10509
|
}>;
|
|
10257
|
-
|
|
10258
|
-
|
|
10259
|
-
|
|
10260
|
-
|
|
10261
|
-
|
|
10262
|
-
|
|
10263
|
-
|
|
10510
|
+
getActivitySeries: import("@trpc/server").TRPCQueryProcedure<{
|
|
10511
|
+
input: {
|
|
10512
|
+
days?: number | undefined;
|
|
10513
|
+
};
|
|
10514
|
+
output: {
|
|
10515
|
+
points: import("../services/adminTelemetry.js").DailyPoint[];
|
|
10516
|
+
};
|
|
10517
|
+
meta: object;
|
|
10518
|
+
}>;
|
|
10519
|
+
listSqlSchema: import("@trpc/server").TRPCQueryProcedure<{
|
|
10520
|
+
input: void;
|
|
10521
|
+
output: {
|
|
10522
|
+
tables: import("../services/adminSql.js").AdminSqlTable[];
|
|
10523
|
+
};
|
|
10524
|
+
meta: object;
|
|
10525
|
+
}>;
|
|
10526
|
+
runSql: import("@trpc/server").TRPCMutationProcedure<{
|
|
10527
|
+
input: {
|
|
10528
|
+
sql: string;
|
|
10529
|
+
limit?: number | undefined;
|
|
10530
|
+
};
|
|
10531
|
+
output: import("../services/adminSql.js").AdminSqlResult;
|
|
10532
|
+
meta: object;
|
|
10533
|
+
}>;
|
|
10534
|
+
getSpamOverview: import("@trpc/server").TRPCQueryProcedure<{
|
|
10535
|
+
input: void;
|
|
10536
|
+
output: {
|
|
10537
|
+
rules: {
|
|
10538
|
+
blockedDomains: string[];
|
|
10539
|
+
botPatterns: string[];
|
|
10540
|
+
disposableDomains: string[];
|
|
10541
|
+
};
|
|
10542
|
+
totalUsers: number;
|
|
10543
|
+
suspectedUsers: number;
|
|
10544
|
+
suspectedVerified: number;
|
|
10545
|
+
cleanUsers: number;
|
|
10546
|
+
domains: {
|
|
10547
|
+
domain: string;
|
|
10548
|
+
total: number;
|
|
10549
|
+
verified: number;
|
|
10550
|
+
suspected: boolean;
|
|
10551
|
+
}[];
|
|
10552
|
+
recent: {
|
|
10553
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
10554
|
+
id: string;
|
|
10555
|
+
username: string;
|
|
10556
|
+
email: string;
|
|
10557
|
+
verified: boolean;
|
|
10558
|
+
profile: {
|
|
10559
|
+
createdAt: Date;
|
|
10560
|
+
} | null;
|
|
10561
|
+
_count: {
|
|
10562
|
+
teacherIn: number;
|
|
10563
|
+
studentIn: number;
|
|
10564
|
+
submissions: number;
|
|
10565
|
+
};
|
|
10566
|
+
}[];
|
|
10567
|
+
};
|
|
10568
|
+
meta: object;
|
|
10569
|
+
}>;
|
|
10570
|
+
listUserEmailDomains: import("@trpc/server").TRPCQueryProcedure<{
|
|
10571
|
+
input: {
|
|
10572
|
+
limit?: number | undefined;
|
|
10573
|
+
suspectedOnly?: boolean | undefined;
|
|
10574
|
+
};
|
|
10575
|
+
output: {
|
|
10576
|
+
items: {
|
|
10577
|
+
domain: string;
|
|
10578
|
+
total: number;
|
|
10579
|
+
verified: number;
|
|
10580
|
+
suspected: boolean;
|
|
10581
|
+
}[];
|
|
10582
|
+
};
|
|
10583
|
+
meta: object;
|
|
10584
|
+
}>;
|
|
10585
|
+
}>>;
|
|
10586
|
+
embedding: import("@trpc/server").TRPCBuiltRouter<{
|
|
10587
|
+
ctx: import("../trpc.js").Context;
|
|
10588
|
+
meta: object;
|
|
10589
|
+
errorShape: {
|
|
10590
|
+
data: {
|
|
10591
|
+
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
10592
|
+
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
10593
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
10594
|
+
httpStatus: number;
|
|
10595
|
+
path?: string;
|
|
10596
|
+
stack?: string;
|
|
10597
|
+
};
|
|
10598
|
+
message: string;
|
|
10599
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
|
|
10600
|
+
};
|
|
10601
|
+
transformer: false;
|
|
10602
|
+
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
10603
|
+
search: import("@trpc/server").TRPCQueryProcedure<{
|
|
10604
|
+
input: {
|
|
10605
|
+
query: string;
|
|
10606
|
+
classId: string;
|
|
10607
|
+
limit?: number | undefined;
|
|
10608
|
+
sourceTypes?: ("FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "SECTION" | "DISCUSSION" | "SUBMISSION" | "SYLLABUS")[] | undefined;
|
|
10609
|
+
};
|
|
10610
|
+
output: import("../services/embedding.js").EmbeddingSearchResult[];
|
|
10611
|
+
meta: object;
|
|
10612
|
+
}>;
|
|
10613
|
+
reindex: import("@trpc/server").TRPCMutationProcedure<{
|
|
10614
|
+
input: {
|
|
10615
|
+
classId: string;
|
|
10616
|
+
sourceType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "SECTION" | "DISCUSSION" | "SUBMISSION" | "SYLLABUS";
|
|
10617
|
+
sourceId: string;
|
|
10618
|
+
};
|
|
10619
|
+
output: {
|
|
10620
|
+
runJobId: string;
|
|
10621
|
+
};
|
|
10622
|
+
meta: object;
|
|
10623
|
+
}>;
|
|
10624
|
+
indexAll: import("@trpc/server").TRPCMutationProcedure<{
|
|
10625
|
+
input: {
|
|
10626
|
+
classId: string;
|
|
10627
|
+
};
|
|
10628
|
+
output: {
|
|
10629
|
+
queued: {
|
|
10630
|
+
assignments: number;
|
|
10631
|
+
worksheets: number;
|
|
10632
|
+
announcements: number;
|
|
10633
|
+
discussions: number;
|
|
10634
|
+
submissions: number;
|
|
10635
|
+
syllabus: number;
|
|
10636
|
+
files: number;
|
|
10637
|
+
};
|
|
10638
|
+
};
|
|
10639
|
+
meta: object;
|
|
10640
|
+
}>;
|
|
10641
|
+
}>>;
|
|
10642
|
+
module: import("@trpc/server").TRPCBuiltRouter<{
|
|
10643
|
+
ctx: import("../trpc.js").Context;
|
|
10644
|
+
meta: object;
|
|
10645
|
+
errorShape: {
|
|
10646
|
+
data: {
|
|
10647
|
+
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
10264
10648
|
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
10265
10649
|
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
10266
10650
|
httpStatus: number;
|
|
@@ -10481,7 +10865,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
10481
10865
|
[x: string]: unknown;
|
|
10482
10866
|
classId: string;
|
|
10483
10867
|
moduleId: string;
|
|
10484
|
-
itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER";
|
|
10868
|
+
itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER" | "VISUALIZATION";
|
|
10485
10869
|
title?: string | undefined;
|
|
10486
10870
|
indent?: number | undefined;
|
|
10487
10871
|
itemId?: string | undefined;
|
|
@@ -12327,6 +12711,24 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
12327
12711
|
};
|
|
12328
12712
|
meta: object;
|
|
12329
12713
|
}>;
|
|
12714
|
+
addToStudent: import("@trpc/server").TRPCMutationProcedure<{
|
|
12715
|
+
input: {
|
|
12716
|
+
schoolId: string;
|
|
12717
|
+
studentUserId: string;
|
|
12718
|
+
parentIdentifier: string;
|
|
12719
|
+
};
|
|
12720
|
+
output: {
|
|
12721
|
+
link: {
|
|
12722
|
+
id: string;
|
|
12723
|
+
createdAt: Date;
|
|
12724
|
+
updatedAt: Date;
|
|
12725
|
+
schoolId: string;
|
|
12726
|
+
parentUserId: string;
|
|
12727
|
+
studentUserId: string;
|
|
12728
|
+
};
|
|
12729
|
+
};
|
|
12730
|
+
meta: object;
|
|
12731
|
+
}>;
|
|
12330
12732
|
unlinkStudent: import("@trpc/server").TRPCMutationProcedure<{
|
|
12331
12733
|
input: {
|
|
12332
12734
|
schoolId: string;
|
|
@@ -12460,6 +12862,128 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
12460
12862
|
meta: object;
|
|
12461
12863
|
}>;
|
|
12462
12864
|
}>>;
|
|
12865
|
+
visualization: import("@trpc/server").TRPCBuiltRouter<{
|
|
12866
|
+
ctx: import("../trpc.js").Context;
|
|
12867
|
+
meta: object;
|
|
12868
|
+
errorShape: {
|
|
12869
|
+
data: {
|
|
12870
|
+
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
12871
|
+
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
12872
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
12873
|
+
httpStatus: number;
|
|
12874
|
+
path?: string;
|
|
12875
|
+
stack?: string;
|
|
12876
|
+
};
|
|
12877
|
+
message: string;
|
|
12878
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
|
|
12879
|
+
};
|
|
12880
|
+
transformer: false;
|
|
12881
|
+
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
12882
|
+
list: import("@trpc/server").TRPCQueryProcedure<{
|
|
12883
|
+
input: {
|
|
12884
|
+
[x: string]: unknown;
|
|
12885
|
+
classId: string;
|
|
12886
|
+
};
|
|
12887
|
+
output: {
|
|
12888
|
+
id: string;
|
|
12889
|
+
createdAt: Date;
|
|
12890
|
+
updatedAt: Date;
|
|
12891
|
+
classId: string;
|
|
12892
|
+
title: string;
|
|
12893
|
+
prompt: string | null;
|
|
12894
|
+
published: boolean;
|
|
12895
|
+
}[];
|
|
12896
|
+
meta: object;
|
|
12897
|
+
}>;
|
|
12898
|
+
get: import("@trpc/server").TRPCQueryProcedure<{
|
|
12899
|
+
input: {
|
|
12900
|
+
[x: string]: unknown;
|
|
12901
|
+
classId: string;
|
|
12902
|
+
id: string;
|
|
12903
|
+
};
|
|
12904
|
+
output: {
|
|
12905
|
+
id: string;
|
|
12906
|
+
createdAt: Date;
|
|
12907
|
+
updatedAt: Date;
|
|
12908
|
+
classId: string;
|
|
12909
|
+
title: string;
|
|
12910
|
+
prompt: string | null;
|
|
12911
|
+
published: boolean;
|
|
12912
|
+
html: string;
|
|
12913
|
+
};
|
|
12914
|
+
meta: object;
|
|
12915
|
+
}>;
|
|
12916
|
+
generate: import("@trpc/server").TRPCMutationProcedure<{
|
|
12917
|
+
input: {
|
|
12918
|
+
[x: string]: unknown;
|
|
12919
|
+
classId: string;
|
|
12920
|
+
prompt: string;
|
|
12921
|
+
title?: string | undefined;
|
|
12922
|
+
};
|
|
12923
|
+
output: {
|
|
12924
|
+
id: string;
|
|
12925
|
+
createdAt: Date;
|
|
12926
|
+
updatedAt: Date;
|
|
12927
|
+
classId: string;
|
|
12928
|
+
title: string;
|
|
12929
|
+
prompt: string | null;
|
|
12930
|
+
published: boolean;
|
|
12931
|
+
html: string;
|
|
12932
|
+
};
|
|
12933
|
+
meta: object;
|
|
12934
|
+
}>;
|
|
12935
|
+
revise: import("@trpc/server").TRPCMutationProcedure<{
|
|
12936
|
+
input: {
|
|
12937
|
+
[x: string]: unknown;
|
|
12938
|
+
classId: string;
|
|
12939
|
+
id: string;
|
|
12940
|
+
instruction: string;
|
|
12941
|
+
};
|
|
12942
|
+
output: {
|
|
12943
|
+
id: string;
|
|
12944
|
+
createdAt: Date;
|
|
12945
|
+
updatedAt: Date;
|
|
12946
|
+
classId: string;
|
|
12947
|
+
title: string;
|
|
12948
|
+
prompt: string | null;
|
|
12949
|
+
published: boolean;
|
|
12950
|
+
html: string;
|
|
12951
|
+
};
|
|
12952
|
+
meta: object;
|
|
12953
|
+
}>;
|
|
12954
|
+
update: import("@trpc/server").TRPCMutationProcedure<{
|
|
12955
|
+
input: {
|
|
12956
|
+
[x: string]: unknown;
|
|
12957
|
+
classId: string;
|
|
12958
|
+
id: string;
|
|
12959
|
+
title?: string | undefined;
|
|
12960
|
+
published?: boolean | undefined;
|
|
12961
|
+
html?: string | undefined;
|
|
12962
|
+
};
|
|
12963
|
+
output: {
|
|
12964
|
+
id: string;
|
|
12965
|
+
createdAt: Date;
|
|
12966
|
+
updatedAt: Date;
|
|
12967
|
+
classId: string;
|
|
12968
|
+
title: string;
|
|
12969
|
+
prompt: string | null;
|
|
12970
|
+
published: boolean;
|
|
12971
|
+
html: string;
|
|
12972
|
+
};
|
|
12973
|
+
meta: object;
|
|
12974
|
+
}>;
|
|
12975
|
+
delete: import("@trpc/server").TRPCMutationProcedure<{
|
|
12976
|
+
input: {
|
|
12977
|
+
[x: string]: unknown;
|
|
12978
|
+
classId: string;
|
|
12979
|
+
id: string;
|
|
12980
|
+
};
|
|
12981
|
+
output: {
|
|
12982
|
+
id: string;
|
|
12983
|
+
};
|
|
12984
|
+
meta: object;
|
|
12985
|
+
}>;
|
|
12986
|
+
}>>;
|
|
12463
12987
|
}>>;
|
|
12464
12988
|
export type AppRouter = typeof appRouter;
|
|
12465
12989
|
export type RouterInputs = inferRouterInputs<AppRouter>;
|
|
@@ -18041,6 +18565,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18041
18565
|
content: string;
|
|
18042
18566
|
senderId: string;
|
|
18043
18567
|
conversationId: string;
|
|
18568
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
18044
18569
|
runJobId: string | null;
|
|
18045
18570
|
};
|
|
18046
18571
|
unreadCount: number;
|
|
@@ -18252,6 +18777,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18252
18777
|
} | null;
|
|
18253
18778
|
};
|
|
18254
18779
|
status: import(".prisma/client").$Enums.JobStatus | null;
|
|
18780
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
18255
18781
|
attachments: {
|
|
18256
18782
|
path: string;
|
|
18257
18783
|
type: string;
|
|
@@ -18382,6 +18908,15 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18382
18908
|
};
|
|
18383
18909
|
meta: object;
|
|
18384
18910
|
}>;
|
|
18911
|
+
cancelAiGeneration: import("@trpc/server").TRPCMutationProcedure<{
|
|
18912
|
+
input: {
|
|
18913
|
+
messageId: string;
|
|
18914
|
+
};
|
|
18915
|
+
output: {
|
|
18916
|
+
success: boolean;
|
|
18917
|
+
};
|
|
18918
|
+
meta: object;
|
|
18919
|
+
}>;
|
|
18385
18920
|
markAsRead: import("@trpc/server").TRPCMutationProcedure<{
|
|
18386
18921
|
input: {
|
|
18387
18922
|
conversationId: string;
|
|
@@ -18400,14 +18935,15 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18400
18935
|
};
|
|
18401
18936
|
meta: object;
|
|
18402
18937
|
}>;
|
|
18403
|
-
|
|
18938
|
+
resolveAiProposal: import("@trpc/server").TRPCMutationProcedure<{
|
|
18404
18939
|
input: {
|
|
18405
|
-
type: "assignment" | "section" | "worksheet";
|
|
18406
18940
|
messageId: string;
|
|
18407
|
-
|
|
18941
|
+
proposalId: string;
|
|
18942
|
+
action: "approve" | "dismiss";
|
|
18408
18943
|
};
|
|
18409
18944
|
output: {
|
|
18410
|
-
|
|
18945
|
+
status: import("../services/aiProposals.js").PendingCreationStatus;
|
|
18946
|
+
createdId: string | null;
|
|
18411
18947
|
};
|
|
18412
18948
|
meta: object;
|
|
18413
18949
|
}>;
|
|
@@ -18421,21 +18957,43 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18421
18957
|
};
|
|
18422
18958
|
meta: object;
|
|
18423
18959
|
}>;
|
|
18424
|
-
|
|
18425
|
-
|
|
18426
|
-
|
|
18427
|
-
meta: object;
|
|
18428
|
-
errorShape: {
|
|
18429
|
-
data: {
|
|
18430
|
-
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
18431
|
-
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
18432
|
-
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
18433
|
-
httpStatus: number;
|
|
18434
|
-
path?: string;
|
|
18435
|
-
stack?: string;
|
|
18960
|
+
regenerateAIResponse: import("@trpc/server").TRPCMutationProcedure<{
|
|
18961
|
+
input: {
|
|
18962
|
+
messageId: string;
|
|
18436
18963
|
};
|
|
18437
|
-
|
|
18438
|
-
|
|
18964
|
+
output: {
|
|
18965
|
+
success: boolean;
|
|
18966
|
+
messageId: string;
|
|
18967
|
+
};
|
|
18968
|
+
meta: object;
|
|
18969
|
+
}>;
|
|
18970
|
+
setAIFeedback: import("@trpc/server").TRPCMutationProcedure<{
|
|
18971
|
+
input: {
|
|
18972
|
+
feedback: "UP" | "DOWN" | null;
|
|
18973
|
+
messageId: string;
|
|
18974
|
+
};
|
|
18975
|
+
output: {
|
|
18976
|
+
success: boolean;
|
|
18977
|
+
messageId: string;
|
|
18978
|
+
feedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
18979
|
+
};
|
|
18980
|
+
meta: object;
|
|
18981
|
+
}>;
|
|
18982
|
+
}>>;
|
|
18983
|
+
labChat: import("@trpc/server").TRPCBuiltRouter<{
|
|
18984
|
+
ctx: import("../trpc.js").Context;
|
|
18985
|
+
meta: object;
|
|
18986
|
+
errorShape: {
|
|
18987
|
+
data: {
|
|
18988
|
+
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
18989
|
+
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
18990
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
18991
|
+
httpStatus: number;
|
|
18992
|
+
path?: string;
|
|
18993
|
+
stack?: string;
|
|
18994
|
+
};
|
|
18995
|
+
message: string;
|
|
18996
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
|
|
18439
18997
|
};
|
|
18440
18998
|
transformer: false;
|
|
18441
18999
|
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
@@ -18592,12 +19150,22 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
18592
19150
|
content: string;
|
|
18593
19151
|
senderId: string;
|
|
18594
19152
|
conversationId: string;
|
|
19153
|
+
aiFeedback: import(".prisma/client").$Enums.AiMessageFeedback | null;
|
|
18595
19154
|
runJobId: string | null;
|
|
18596
19155
|
};
|
|
18597
19156
|
messageCount: number;
|
|
18598
19157
|
}[];
|
|
18599
19158
|
meta: object;
|
|
18600
19159
|
}>;
|
|
19160
|
+
starterPrompts: import("@trpc/server").TRPCQueryProcedure<{
|
|
19161
|
+
input: {
|
|
19162
|
+
classId: string;
|
|
19163
|
+
};
|
|
19164
|
+
output: {
|
|
19165
|
+
prompts: string[];
|
|
19166
|
+
};
|
|
19167
|
+
meta: object;
|
|
19168
|
+
}>;
|
|
18601
19169
|
postToLabChat: import("@trpc/server").TRPCMutationProcedure<{
|
|
18602
19170
|
input: {
|
|
18603
19171
|
content: string;
|
|
@@ -19751,6 +20319,50 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
19751
20319
|
};
|
|
19752
20320
|
meta: object;
|
|
19753
20321
|
}>;
|
|
20322
|
+
generateFollowUpAssignment: import("@trpc/server").TRPCMutationProcedure<{
|
|
20323
|
+
input: {
|
|
20324
|
+
[x: string]: unknown;
|
|
20325
|
+
classId: string;
|
|
20326
|
+
submissionId: string;
|
|
20327
|
+
prompt: string;
|
|
20328
|
+
studentId: string;
|
|
20329
|
+
dueDate?: string | undefined;
|
|
20330
|
+
};
|
|
20331
|
+
output: {
|
|
20332
|
+
assignment: {
|
|
20333
|
+
type: import(".prisma/client").$Enums.AssignmentType;
|
|
20334
|
+
class: {
|
|
20335
|
+
id: string;
|
|
20336
|
+
name: string;
|
|
20337
|
+
};
|
|
20338
|
+
section: {
|
|
20339
|
+
id: string;
|
|
20340
|
+
name: string;
|
|
20341
|
+
} | null;
|
|
20342
|
+
id: string;
|
|
20343
|
+
title: string;
|
|
20344
|
+
dueDate: Date;
|
|
20345
|
+
maxGrade: number | null;
|
|
20346
|
+
attachments: {
|
|
20347
|
+
type: string;
|
|
20348
|
+
id: string;
|
|
20349
|
+
name: string;
|
|
20350
|
+
}[];
|
|
20351
|
+
instructions: string;
|
|
20352
|
+
graded: boolean;
|
|
20353
|
+
weight: number;
|
|
20354
|
+
teacher: {
|
|
20355
|
+
id: string;
|
|
20356
|
+
username: string;
|
|
20357
|
+
};
|
|
20358
|
+
};
|
|
20359
|
+
draft: {
|
|
20360
|
+
title: string;
|
|
20361
|
+
instructions: string;
|
|
20362
|
+
};
|
|
20363
|
+
};
|
|
20364
|
+
meta: object;
|
|
20365
|
+
}>;
|
|
19754
20366
|
chat: import("@trpc/server").TRPCMutationProcedure<{
|
|
19755
20367
|
input: {
|
|
19756
20368
|
[x: string]: unknown;
|
|
@@ -22333,6 +22945,14 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22333
22945
|
schools: number;
|
|
22334
22946
|
users: number;
|
|
22335
22947
|
verifiedUsers: number;
|
|
22948
|
+
suspectedUsers: number;
|
|
22949
|
+
cleanUsers: number;
|
|
22950
|
+
signupsLast24h: number;
|
|
22951
|
+
signupsLast7d: number;
|
|
22952
|
+
activeUsersLast24h: number;
|
|
22953
|
+
activeUsersLast7d: number;
|
|
22954
|
+
activeClassesLast7d: number;
|
|
22955
|
+
submissionsLast24h: number;
|
|
22336
22956
|
classes: number;
|
|
22337
22957
|
departments: number;
|
|
22338
22958
|
runJobs: {
|
|
@@ -22541,6 +23161,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22541
23161
|
};
|
|
22542
23162
|
output: {
|
|
22543
23163
|
items: {
|
|
23164
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
22544
23165
|
type: string;
|
|
22545
23166
|
status: string;
|
|
22546
23167
|
id: string;
|
|
@@ -22575,6 +23196,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22575
23196
|
};
|
|
22576
23197
|
output: {
|
|
22577
23198
|
items: {
|
|
23199
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
22578
23200
|
id: string;
|
|
22579
23201
|
createdAt: Date;
|
|
22580
23202
|
email: string;
|
|
@@ -22589,12 +23211,19 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22589
23211
|
}>;
|
|
22590
23212
|
searchUsers: import("@trpc/server").TRPCQueryProcedure<{
|
|
22591
23213
|
input: {
|
|
23214
|
+
sort?: "username" | "recent" | "activity" | undefined;
|
|
22592
23215
|
query?: string | undefined;
|
|
23216
|
+
verified?: boolean | undefined;
|
|
23217
|
+
schoolId?: string | undefined;
|
|
22593
23218
|
page?: number | undefined;
|
|
23219
|
+
activity?: "active" | "all" | "inactive" | undefined;
|
|
22594
23220
|
pageSize?: number | undefined;
|
|
23221
|
+
emailDomain?: string | undefined;
|
|
23222
|
+
spam?: "all" | "suspected" | "clean" | undefined;
|
|
22595
23223
|
};
|
|
22596
23224
|
output: {
|
|
22597
23225
|
items: {
|
|
23226
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
22598
23227
|
school: {
|
|
22599
23228
|
id: string;
|
|
22600
23229
|
name: string;
|
|
@@ -22603,9 +23232,13 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22603
23232
|
username: string;
|
|
22604
23233
|
email: string;
|
|
22605
23234
|
verified: boolean;
|
|
23235
|
+
profile: {
|
|
23236
|
+
createdAt: Date;
|
|
23237
|
+
} | null;
|
|
22606
23238
|
_count: {
|
|
22607
23239
|
teacherIn: number;
|
|
22608
23240
|
studentIn: number;
|
|
23241
|
+
submissions: number;
|
|
22609
23242
|
sessions: number;
|
|
22610
23243
|
};
|
|
22611
23244
|
}[];
|
|
@@ -22621,6 +23254,37 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22621
23254
|
id: string;
|
|
22622
23255
|
};
|
|
22623
23256
|
output: {
|
|
23257
|
+
classes: {
|
|
23258
|
+
teaching: {
|
|
23259
|
+
school: {
|
|
23260
|
+
id: string;
|
|
23261
|
+
name: string;
|
|
23262
|
+
} | null;
|
|
23263
|
+
section: string;
|
|
23264
|
+
id: string;
|
|
23265
|
+
name: string;
|
|
23266
|
+
_count: {
|
|
23267
|
+
students: number;
|
|
23268
|
+
assignments: number;
|
|
23269
|
+
};
|
|
23270
|
+
subject: string;
|
|
23271
|
+
}[];
|
|
23272
|
+
enrolled: {
|
|
23273
|
+
school: {
|
|
23274
|
+
id: string;
|
|
23275
|
+
name: string;
|
|
23276
|
+
} | null;
|
|
23277
|
+
section: string;
|
|
23278
|
+
id: string;
|
|
23279
|
+
name: string;
|
|
23280
|
+
_count: {
|
|
23281
|
+
students: number;
|
|
23282
|
+
assignments: number;
|
|
23283
|
+
};
|
|
23284
|
+
subject: string;
|
|
23285
|
+
}[];
|
|
23286
|
+
};
|
|
23287
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
22624
23288
|
school: {
|
|
22625
23289
|
id: string;
|
|
22626
23290
|
name: string;
|
|
@@ -22639,7 +23303,6 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22639
23303
|
} | null;
|
|
22640
23304
|
sessions: {
|
|
22641
23305
|
type: import(".prisma/client").$Enums.SessionType;
|
|
22642
|
-
id: string;
|
|
22643
23306
|
createdAt: Date | null;
|
|
22644
23307
|
expiresAt: Date | null;
|
|
22645
23308
|
}[];
|
|
@@ -22663,6 +23326,251 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22663
23326
|
};
|
|
22664
23327
|
meta: object;
|
|
22665
23328
|
}>;
|
|
23329
|
+
listClasses: import("@trpc/server").TRPCQueryProcedure<{
|
|
23330
|
+
input: {
|
|
23331
|
+
sort?: "name" | "students" | "assignments" | undefined;
|
|
23332
|
+
query?: string | undefined;
|
|
23333
|
+
schoolId?: string | undefined;
|
|
23334
|
+
page?: number | undefined;
|
|
23335
|
+
pageSize?: number | undefined;
|
|
23336
|
+
membership?: "all" | "populated" | "empty" | undefined;
|
|
23337
|
+
};
|
|
23338
|
+
output: {
|
|
23339
|
+
items: {
|
|
23340
|
+
lastAssignmentAt: Date | null;
|
|
23341
|
+
school: {
|
|
23342
|
+
id: string;
|
|
23343
|
+
name: string;
|
|
23344
|
+
} | null;
|
|
23345
|
+
department: {
|
|
23346
|
+
id: string;
|
|
23347
|
+
name: string;
|
|
23348
|
+
} | null;
|
|
23349
|
+
section: string;
|
|
23350
|
+
id: string;
|
|
23351
|
+
name: string;
|
|
23352
|
+
teachers: {
|
|
23353
|
+
id: string;
|
|
23354
|
+
username: string;
|
|
23355
|
+
}[];
|
|
23356
|
+
_count: {
|
|
23357
|
+
teachers: number;
|
|
23358
|
+
students: number;
|
|
23359
|
+
assignments: number;
|
|
23360
|
+
events: number;
|
|
23361
|
+
announcements: number;
|
|
23362
|
+
discussions: number;
|
|
23363
|
+
worksheets: number;
|
|
23364
|
+
modules: number;
|
|
23365
|
+
};
|
|
23366
|
+
subject: string;
|
|
23367
|
+
}[];
|
|
23368
|
+
total: number;
|
|
23369
|
+
page: number;
|
|
23370
|
+
pageSize: number;
|
|
23371
|
+
pageCount: number;
|
|
23372
|
+
};
|
|
23373
|
+
meta: object;
|
|
23374
|
+
}>;
|
|
23375
|
+
getClass: import("@trpc/server").TRPCQueryProcedure<{
|
|
23376
|
+
input: {
|
|
23377
|
+
id: string;
|
|
23378
|
+
};
|
|
23379
|
+
output: {
|
|
23380
|
+
teachers: {
|
|
23381
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
23382
|
+
submissionsInClass: number;
|
|
23383
|
+
id: string;
|
|
23384
|
+
username: string;
|
|
23385
|
+
email: string;
|
|
23386
|
+
verified: boolean;
|
|
23387
|
+
_count: {
|
|
23388
|
+
teacherIn: number;
|
|
23389
|
+
studentIn: number;
|
|
23390
|
+
submissions: number;
|
|
23391
|
+
};
|
|
23392
|
+
}[];
|
|
23393
|
+
students: {
|
|
23394
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
23395
|
+
submissionsInClass: number;
|
|
23396
|
+
id: string;
|
|
23397
|
+
username: string;
|
|
23398
|
+
email: string;
|
|
23399
|
+
verified: boolean;
|
|
23400
|
+
_count: {
|
|
23401
|
+
teacherIn: number;
|
|
23402
|
+
studentIn: number;
|
|
23403
|
+
submissions: number;
|
|
23404
|
+
};
|
|
23405
|
+
}[];
|
|
23406
|
+
announcements: {
|
|
23407
|
+
remarks: string;
|
|
23408
|
+
id: string;
|
|
23409
|
+
createdAt: Date;
|
|
23410
|
+
teacher: {
|
|
23411
|
+
id: string;
|
|
23412
|
+
username: string;
|
|
23413
|
+
};
|
|
23414
|
+
}[];
|
|
23415
|
+
suspectedMembers: number;
|
|
23416
|
+
school: {
|
|
23417
|
+
id: string;
|
|
23418
|
+
name: string;
|
|
23419
|
+
} | null;
|
|
23420
|
+
department: {
|
|
23421
|
+
id: string;
|
|
23422
|
+
name: string;
|
|
23423
|
+
} | null;
|
|
23424
|
+
section: string;
|
|
23425
|
+
id: string;
|
|
23426
|
+
name: string;
|
|
23427
|
+
assignments: {
|
|
23428
|
+
type: import(".prisma/client").$Enums.AssignmentType;
|
|
23429
|
+
id: string;
|
|
23430
|
+
createdAt: Date | null;
|
|
23431
|
+
_count: {
|
|
23432
|
+
submissions: number;
|
|
23433
|
+
};
|
|
23434
|
+
title: string;
|
|
23435
|
+
dueDate: Date;
|
|
23436
|
+
graded: boolean;
|
|
23437
|
+
teacher: {
|
|
23438
|
+
id: string;
|
|
23439
|
+
username: string;
|
|
23440
|
+
};
|
|
23441
|
+
}[];
|
|
23442
|
+
_count: {
|
|
23443
|
+
teachers: number;
|
|
23444
|
+
students: number;
|
|
23445
|
+
assignments: number;
|
|
23446
|
+
events: number;
|
|
23447
|
+
announcements: number;
|
|
23448
|
+
discussions: number;
|
|
23449
|
+
sections: number;
|
|
23450
|
+
worksheets: number;
|
|
23451
|
+
modules: number;
|
|
23452
|
+
};
|
|
23453
|
+
color: string | null;
|
|
23454
|
+
subject: string;
|
|
23455
|
+
};
|
|
23456
|
+
meta: object;
|
|
23457
|
+
}>;
|
|
23458
|
+
getContentTelemetry: import("@trpc/server").TRPCQueryProcedure<{
|
|
23459
|
+
input: void;
|
|
23460
|
+
output: {
|
|
23461
|
+
content: {
|
|
23462
|
+
assignments: number;
|
|
23463
|
+
assignmentsLast7d: number;
|
|
23464
|
+
submissions: number;
|
|
23465
|
+
submissionsLast7d: number;
|
|
23466
|
+
gradedSubmissions: number;
|
|
23467
|
+
announcements: number;
|
|
23468
|
+
announcementsLast7d: number;
|
|
23469
|
+
discussions: number;
|
|
23470
|
+
messages: number;
|
|
23471
|
+
messagesLast7d: number;
|
|
23472
|
+
worksheets: number;
|
|
23473
|
+
events: number;
|
|
23474
|
+
modules: number;
|
|
23475
|
+
files: number;
|
|
23476
|
+
storageBytes: number;
|
|
23477
|
+
};
|
|
23478
|
+
ai: {
|
|
23479
|
+
calls7d: number;
|
|
23480
|
+
failures7d: number;
|
|
23481
|
+
tokens7d: number;
|
|
23482
|
+
byModel: {
|
|
23483
|
+
model: string;
|
|
23484
|
+
calls: number;
|
|
23485
|
+
tokens: number;
|
|
23486
|
+
}[];
|
|
23487
|
+
};
|
|
23488
|
+
jobs: {
|
|
23489
|
+
failedLast24h: number;
|
|
23490
|
+
byType: {
|
|
23491
|
+
total: number;
|
|
23492
|
+
failed: number;
|
|
23493
|
+
type: string;
|
|
23494
|
+
}[];
|
|
23495
|
+
};
|
|
23496
|
+
};
|
|
23497
|
+
meta: object;
|
|
23498
|
+
}>;
|
|
23499
|
+
getActivitySeries: import("@trpc/server").TRPCQueryProcedure<{
|
|
23500
|
+
input: {
|
|
23501
|
+
days?: number | undefined;
|
|
23502
|
+
};
|
|
23503
|
+
output: {
|
|
23504
|
+
points: import("../services/adminTelemetry.js").DailyPoint[];
|
|
23505
|
+
};
|
|
23506
|
+
meta: object;
|
|
23507
|
+
}>;
|
|
23508
|
+
listSqlSchema: import("@trpc/server").TRPCQueryProcedure<{
|
|
23509
|
+
input: void;
|
|
23510
|
+
output: {
|
|
23511
|
+
tables: import("../services/adminSql.js").AdminSqlTable[];
|
|
23512
|
+
};
|
|
23513
|
+
meta: object;
|
|
23514
|
+
}>;
|
|
23515
|
+
runSql: import("@trpc/server").TRPCMutationProcedure<{
|
|
23516
|
+
input: {
|
|
23517
|
+
sql: string;
|
|
23518
|
+
limit?: number | undefined;
|
|
23519
|
+
};
|
|
23520
|
+
output: import("../services/adminSql.js").AdminSqlResult;
|
|
23521
|
+
meta: object;
|
|
23522
|
+
}>;
|
|
23523
|
+
getSpamOverview: import("@trpc/server").TRPCQueryProcedure<{
|
|
23524
|
+
input: void;
|
|
23525
|
+
output: {
|
|
23526
|
+
rules: {
|
|
23527
|
+
blockedDomains: string[];
|
|
23528
|
+
botPatterns: string[];
|
|
23529
|
+
disposableDomains: string[];
|
|
23530
|
+
};
|
|
23531
|
+
totalUsers: number;
|
|
23532
|
+
suspectedUsers: number;
|
|
23533
|
+
suspectedVerified: number;
|
|
23534
|
+
cleanUsers: number;
|
|
23535
|
+
domains: {
|
|
23536
|
+
domain: string;
|
|
23537
|
+
total: number;
|
|
23538
|
+
verified: number;
|
|
23539
|
+
suspected: boolean;
|
|
23540
|
+
}[];
|
|
23541
|
+
recent: {
|
|
23542
|
+
signals: import("../services/adminSpam.js").SpamSignals;
|
|
23543
|
+
id: string;
|
|
23544
|
+
username: string;
|
|
23545
|
+
email: string;
|
|
23546
|
+
verified: boolean;
|
|
23547
|
+
profile: {
|
|
23548
|
+
createdAt: Date;
|
|
23549
|
+
} | null;
|
|
23550
|
+
_count: {
|
|
23551
|
+
teacherIn: number;
|
|
23552
|
+
studentIn: number;
|
|
23553
|
+
submissions: number;
|
|
23554
|
+
};
|
|
23555
|
+
}[];
|
|
23556
|
+
};
|
|
23557
|
+
meta: object;
|
|
23558
|
+
}>;
|
|
23559
|
+
listUserEmailDomains: import("@trpc/server").TRPCQueryProcedure<{
|
|
23560
|
+
input: {
|
|
23561
|
+
limit?: number | undefined;
|
|
23562
|
+
suspectedOnly?: boolean | undefined;
|
|
23563
|
+
};
|
|
23564
|
+
output: {
|
|
23565
|
+
items: {
|
|
23566
|
+
domain: string;
|
|
23567
|
+
total: number;
|
|
23568
|
+
verified: number;
|
|
23569
|
+
suspected: boolean;
|
|
23570
|
+
}[];
|
|
23571
|
+
};
|
|
23572
|
+
meta: object;
|
|
23573
|
+
}>;
|
|
22666
23574
|
}>>;
|
|
22667
23575
|
embedding: import("@trpc/server").TRPCBuiltRouter<{
|
|
22668
23576
|
ctx: import("../trpc.js").Context;
|
|
@@ -22946,7 +23854,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
22946
23854
|
[x: string]: unknown;
|
|
22947
23855
|
classId: string;
|
|
22948
23856
|
moduleId: string;
|
|
22949
|
-
itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER";
|
|
23857
|
+
itemType: "FILE" | "ASSIGNMENT" | "WORKSHEET" | "ANNOUNCEMENT" | "DISCUSSION" | "EXTERNAL_URL" | "SUB_HEADER" | "VISUALIZATION";
|
|
22950
23858
|
title?: string | undefined;
|
|
22951
23859
|
indent?: number | undefined;
|
|
22952
23860
|
itemId?: string | undefined;
|
|
@@ -24792,6 +25700,24 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
24792
25700
|
};
|
|
24793
25701
|
meta: object;
|
|
24794
25702
|
}>;
|
|
25703
|
+
addToStudent: import("@trpc/server").TRPCMutationProcedure<{
|
|
25704
|
+
input: {
|
|
25705
|
+
schoolId: string;
|
|
25706
|
+
studentUserId: string;
|
|
25707
|
+
parentIdentifier: string;
|
|
25708
|
+
};
|
|
25709
|
+
output: {
|
|
25710
|
+
link: {
|
|
25711
|
+
id: string;
|
|
25712
|
+
createdAt: Date;
|
|
25713
|
+
updatedAt: Date;
|
|
25714
|
+
schoolId: string;
|
|
25715
|
+
parentUserId: string;
|
|
25716
|
+
studentUserId: string;
|
|
25717
|
+
};
|
|
25718
|
+
};
|
|
25719
|
+
meta: object;
|
|
25720
|
+
}>;
|
|
24795
25721
|
unlinkStudent: import("@trpc/server").TRPCMutationProcedure<{
|
|
24796
25722
|
input: {
|
|
24797
25723
|
schoolId: string;
|
|
@@ -24925,5 +25851,127 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
24925
25851
|
meta: object;
|
|
24926
25852
|
}>;
|
|
24927
25853
|
}>>;
|
|
25854
|
+
visualization: import("@trpc/server").TRPCBuiltRouter<{
|
|
25855
|
+
ctx: import("../trpc.js").Context;
|
|
25856
|
+
meta: object;
|
|
25857
|
+
errorShape: {
|
|
25858
|
+
data: {
|
|
25859
|
+
zodError: import("zod").typeToFlattenedError<any, string> | null;
|
|
25860
|
+
prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
|
|
25861
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
|
|
25862
|
+
httpStatus: number;
|
|
25863
|
+
path?: string;
|
|
25864
|
+
stack?: string;
|
|
25865
|
+
};
|
|
25866
|
+
message: string;
|
|
25867
|
+
code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
|
|
25868
|
+
};
|
|
25869
|
+
transformer: false;
|
|
25870
|
+
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
25871
|
+
list: import("@trpc/server").TRPCQueryProcedure<{
|
|
25872
|
+
input: {
|
|
25873
|
+
[x: string]: unknown;
|
|
25874
|
+
classId: string;
|
|
25875
|
+
};
|
|
25876
|
+
output: {
|
|
25877
|
+
id: string;
|
|
25878
|
+
createdAt: Date;
|
|
25879
|
+
updatedAt: Date;
|
|
25880
|
+
classId: string;
|
|
25881
|
+
title: string;
|
|
25882
|
+
prompt: string | null;
|
|
25883
|
+
published: boolean;
|
|
25884
|
+
}[];
|
|
25885
|
+
meta: object;
|
|
25886
|
+
}>;
|
|
25887
|
+
get: import("@trpc/server").TRPCQueryProcedure<{
|
|
25888
|
+
input: {
|
|
25889
|
+
[x: string]: unknown;
|
|
25890
|
+
classId: string;
|
|
25891
|
+
id: string;
|
|
25892
|
+
};
|
|
25893
|
+
output: {
|
|
25894
|
+
id: string;
|
|
25895
|
+
createdAt: Date;
|
|
25896
|
+
updatedAt: Date;
|
|
25897
|
+
classId: string;
|
|
25898
|
+
title: string;
|
|
25899
|
+
prompt: string | null;
|
|
25900
|
+
published: boolean;
|
|
25901
|
+
html: string;
|
|
25902
|
+
};
|
|
25903
|
+
meta: object;
|
|
25904
|
+
}>;
|
|
25905
|
+
generate: import("@trpc/server").TRPCMutationProcedure<{
|
|
25906
|
+
input: {
|
|
25907
|
+
[x: string]: unknown;
|
|
25908
|
+
classId: string;
|
|
25909
|
+
prompt: string;
|
|
25910
|
+
title?: string | undefined;
|
|
25911
|
+
};
|
|
25912
|
+
output: {
|
|
25913
|
+
id: string;
|
|
25914
|
+
createdAt: Date;
|
|
25915
|
+
updatedAt: Date;
|
|
25916
|
+
classId: string;
|
|
25917
|
+
title: string;
|
|
25918
|
+
prompt: string | null;
|
|
25919
|
+
published: boolean;
|
|
25920
|
+
html: string;
|
|
25921
|
+
};
|
|
25922
|
+
meta: object;
|
|
25923
|
+
}>;
|
|
25924
|
+
revise: import("@trpc/server").TRPCMutationProcedure<{
|
|
25925
|
+
input: {
|
|
25926
|
+
[x: string]: unknown;
|
|
25927
|
+
classId: string;
|
|
25928
|
+
id: string;
|
|
25929
|
+
instruction: string;
|
|
25930
|
+
};
|
|
25931
|
+
output: {
|
|
25932
|
+
id: string;
|
|
25933
|
+
createdAt: Date;
|
|
25934
|
+
updatedAt: Date;
|
|
25935
|
+
classId: string;
|
|
25936
|
+
title: string;
|
|
25937
|
+
prompt: string | null;
|
|
25938
|
+
published: boolean;
|
|
25939
|
+
html: string;
|
|
25940
|
+
};
|
|
25941
|
+
meta: object;
|
|
25942
|
+
}>;
|
|
25943
|
+
update: import("@trpc/server").TRPCMutationProcedure<{
|
|
25944
|
+
input: {
|
|
25945
|
+
[x: string]: unknown;
|
|
25946
|
+
classId: string;
|
|
25947
|
+
id: string;
|
|
25948
|
+
title?: string | undefined;
|
|
25949
|
+
published?: boolean | undefined;
|
|
25950
|
+
html?: string | undefined;
|
|
25951
|
+
};
|
|
25952
|
+
output: {
|
|
25953
|
+
id: string;
|
|
25954
|
+
createdAt: Date;
|
|
25955
|
+
updatedAt: Date;
|
|
25956
|
+
classId: string;
|
|
25957
|
+
title: string;
|
|
25958
|
+
prompt: string | null;
|
|
25959
|
+
published: boolean;
|
|
25960
|
+
html: string;
|
|
25961
|
+
};
|
|
25962
|
+
meta: object;
|
|
25963
|
+
}>;
|
|
25964
|
+
delete: import("@trpc/server").TRPCMutationProcedure<{
|
|
25965
|
+
input: {
|
|
25966
|
+
[x: string]: unknown;
|
|
25967
|
+
classId: string;
|
|
25968
|
+
id: string;
|
|
25969
|
+
};
|
|
25970
|
+
output: {
|
|
25971
|
+
id: string;
|
|
25972
|
+
};
|
|
25973
|
+
meta: object;
|
|
25974
|
+
}>;
|
|
25975
|
+
}>>;
|
|
24928
25976
|
}>>;
|
|
24929
25977
|
//# sourceMappingURL=_app.d.ts.map
|