@uniteverses/shared 1.0.37 → 1.0.39

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.
@@ -48,6 +48,10 @@ export interface SatExamQuestion {
48
48
  id: string;
49
49
  sectionId: string;
50
50
  typeId: string;
51
+ intro: string | null;
52
+ imageUrl: string | null;
53
+ passage1: string | null;
54
+ passage2: string | null;
51
55
  text: string;
52
56
  order: number;
53
57
  correctOptionId: string | null;
@@ -147,6 +151,10 @@ export interface UpdateSatExamSectionInput {
147
151
  export interface CreateSatExamQuestionInput {
148
152
  sectionId: string;
149
153
  typeId: string;
154
+ intro?: string;
155
+ imageUrl?: string;
156
+ passage1?: string;
157
+ passage2?: string;
150
158
  text: string;
151
159
  order: number;
152
160
  correctOptionId?: string;
@@ -162,6 +170,10 @@ export interface CreateSatExamQuestionInput {
162
170
  }
163
171
  export interface UpdateSatExamQuestionInput {
164
172
  typeId?: string;
173
+ intro?: string | null;
174
+ imageUrl?: string | null;
175
+ passage1?: string | null;
176
+ passage2?: string | null;
165
177
  text?: string;
166
178
  order?: number;
167
179
  correctOptionId?: string | null;
@@ -257,6 +269,121 @@ export interface OrgWithExams {
257
269
  name: string;
258
270
  exams: SatExam[];
259
271
  }
272
+ export type SatExamSessionStatus = 'in_progress' | 'completed';
273
+ export interface SatExamSession {
274
+ id: string;
275
+ examId: string;
276
+ userId: string;
277
+ status: SatExamSessionStatus;
278
+ currentSectionId: string | null;
279
+ currentQuestionIndex: number;
280
+ overallTheta: number | null;
281
+ overallScaledScore: number | null;
282
+ rwTheta: number | null;
283
+ rwScaledScore: number | null;
284
+ mathTheta: number | null;
285
+ mathScaledScore: number | null;
286
+ totalCorrect: number | null;
287
+ totalQuestions: number | null;
288
+ startedAt: string;
289
+ completedAt: string | null;
290
+ }
291
+ export interface SatExamSessionAnswer {
292
+ id: string;
293
+ sessionId: string;
294
+ questionId: string;
295
+ sectionId: string;
296
+ selectedOptionId: string | null;
297
+ freeResponseValue: string | null;
298
+ isCorrect: boolean;
299
+ timeSpentSeconds: number;
300
+ }
301
+ export interface SatExamSessionSectionResult {
302
+ id: string;
303
+ sessionId: string;
304
+ sectionId: string;
305
+ difficulty: SatExamSectionDifficulty;
306
+ rawScore: number;
307
+ totalQuestions: number;
308
+ theta: number;
309
+ timeUsedSeconds: number;
310
+ timeLimitSeconds: number | null;
311
+ section: {
312
+ id: string;
313
+ name: string;
314
+ };
315
+ }
316
+ export interface SatExamSessionRoutingDecision {
317
+ id: string;
318
+ sessionId: string;
319
+ fromSectionId: string;
320
+ theta: number;
321
+ threshold: number;
322
+ routedTo: SatExamSectionDifficulty;
323
+ toSectionId: string;
324
+ fromSection: {
325
+ id: string;
326
+ name: string;
327
+ };
328
+ toSection: {
329
+ id: string;
330
+ name: string;
331
+ };
332
+ }
333
+ export interface SatExamSessionWithDetails extends SatExamSession {
334
+ exam: SatExam;
335
+ answers: SatExamSessionAnswer[];
336
+ sectionResults: SatExamSessionSectionResult[];
337
+ routingDecisions: SatExamSessionRoutingDecision[];
338
+ }
339
+ export interface SatExamSessionSummary extends SatExamSession {
340
+ exam: {
341
+ id: string;
342
+ title: string;
343
+ description: string | null;
344
+ };
345
+ }
346
+ export interface CreateSatExamSessionInput {
347
+ examId: string;
348
+ }
349
+ export interface SaveAnswerInput {
350
+ questionId: string;
351
+ sectionId: string;
352
+ selectedOptionId: string | null;
353
+ freeResponseValue: string | null;
354
+ isCorrect: boolean;
355
+ timeSpentSeconds: number;
356
+ }
357
+ export interface UpdateSessionProgressInput {
358
+ currentSectionId: string;
359
+ currentQuestionIndex: number;
360
+ }
361
+ export interface SaveSectionResultInput {
362
+ sectionId: string;
363
+ difficulty: SatExamSectionDifficulty;
364
+ rawScore: number;
365
+ totalQuestions: number;
366
+ theta: number;
367
+ timeUsedSeconds: number;
368
+ timeLimitSeconds: number | null;
369
+ routingDecision?: {
370
+ fromSectionId: string;
371
+ theta: number;
372
+ threshold: number;
373
+ routedTo: SatExamSectionDifficulty;
374
+ toSectionId: string;
375
+ };
376
+ }
377
+ export interface CompleteSatExamSessionInput {
378
+ overallTheta: number;
379
+ overallScaledScore: number;
380
+ rwTheta: number;
381
+ rwScaledScore: number;
382
+ mathTheta: number;
383
+ mathScaledScore: number;
384
+ totalCorrect: number;
385
+ totalQuestions: number;
386
+ }
260
387
  export interface CreateSatExamTemplateInput {
261
388
  organizationId: string;
262
389
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniteverses/shared",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [