@timeback/powerpath 0.2.2-beta.20260331191116 → 0.2.2
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/dist/errors.d.ts +144 -1
- package/dist/index.d.ts +1349 -1004
- package/dist/index.js +15 -25
- package/dist/public-types.d.ts +2 -1184
- package/dist/public-types.js +1 -0
- package/package.json +2 -2
package/dist/public-types.d.ts
CHANGED
|
@@ -1,1184 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Common types and enums for PowerPath API responses.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
8
|
-
// ENUMS
|
|
9
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Test assignment status values.
|
|
13
|
-
*/
|
|
14
|
-
type TestAssignmentStatus =
|
|
15
|
-
| 'assigned'
|
|
16
|
-
| 'in_progress'
|
|
17
|
-
| 'completed'
|
|
18
|
-
| 'failed'
|
|
19
|
-
| 'expired'
|
|
20
|
-
| 'cancelled'
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Lesson types for PowerPath assessments.
|
|
24
|
-
*/
|
|
25
|
-
type PowerPathLessonType =
|
|
26
|
-
| 'powerpath-100'
|
|
27
|
-
| 'quiz'
|
|
28
|
-
| 'test-out'
|
|
29
|
-
| 'placement'
|
|
30
|
-
| 'unit-test'
|
|
31
|
-
| 'alpha-read-article'
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Lesson types that behave like quizzes (static tests with finalization).
|
|
35
|
-
*
|
|
36
|
-
* These types can be finalized via `finalStudentAssessmentResponse`,
|
|
37
|
-
* return score 0 while not finalized, and support both internal and external tests.
|
|
38
|
-
*/
|
|
39
|
-
type QuizLikeLessonType = 'quiz' | 'test-out' | 'placement' | 'unit-test'
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Lesson types that support external test assignment via third-party tools.
|
|
43
|
-
*
|
|
44
|
-
* These types can use `makeExternalTestAssignment` and
|
|
45
|
-
* `importExternalTestAssignmentResults`.
|
|
46
|
-
*/
|
|
47
|
-
type ExternalTestCapableLessonType = 'test-out' | 'placement' | 'unit-test'
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Score status values for assessment attempts.
|
|
51
|
-
*/
|
|
52
|
-
type ScoreStatus =
|
|
53
|
-
| 'exempt'
|
|
54
|
-
| 'fully graded'
|
|
55
|
-
| 'not submitted'
|
|
56
|
-
| 'partially graded'
|
|
57
|
-
| 'submitted'
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Question difficulty levels.
|
|
61
|
-
*/
|
|
62
|
-
type PowerPathQuestionDifficulty = 'easy' | 'medium' | 'hard'
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Lesson plan operation types.
|
|
66
|
-
*/
|
|
67
|
-
type LessonPlanOperationType =
|
|
68
|
-
| 'set-skipped'
|
|
69
|
-
| 'add-custom-resource'
|
|
70
|
-
| 'move-item-before'
|
|
71
|
-
| 'move-item-after'
|
|
72
|
-
| 'move-item-to-start'
|
|
73
|
-
| 'move-item-to-end'
|
|
74
|
-
| 'change-item-parent'
|
|
75
|
-
|
|
76
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
77
|
-
// PAGINATION
|
|
78
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Pagination metadata from PowerPath list responses.
|
|
82
|
-
*/
|
|
83
|
-
interface PaginationMeta {
|
|
84
|
-
/** Total items across all pages */
|
|
85
|
-
totalCount: number
|
|
86
|
-
/** Total number of pages */
|
|
87
|
-
pageCount: number
|
|
88
|
-
/** Current page number (1-indexed) */
|
|
89
|
-
pageNumber: number
|
|
90
|
-
/**
|
|
91
|
-
* Offset for the next page of results.
|
|
92
|
-
*
|
|
93
|
-
* This API uses offset pagination: request `offset` is the number of items to skip.
|
|
94
|
-
* List responses also include an `offset` field; treat it as the server-provided
|
|
95
|
-
* next offset (and fall back to `currentOffset + limit` when implementing iterators).
|
|
96
|
-
*/
|
|
97
|
-
offset: number
|
|
98
|
-
/** Items per page (default 100, max 3000) */
|
|
99
|
-
limit: number
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* PowerPath Response Types
|
|
104
|
-
*
|
|
105
|
-
* Entity types returned by PowerPath API endpoints.
|
|
106
|
-
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
111
|
-
// TEST ASSIGNMENTS
|
|
112
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* A single test assignment entity.
|
|
116
|
-
*/
|
|
117
|
-
interface TestAssignment {
|
|
118
|
-
sourcedId: string
|
|
119
|
-
studentSourcedId: string
|
|
120
|
-
studentEmail: string
|
|
121
|
-
assignedByUserSourcedId: string | null
|
|
122
|
-
subject: string
|
|
123
|
-
grade: string
|
|
124
|
-
assignmentStatus: TestAssignmentStatus
|
|
125
|
-
testName?: string | null
|
|
126
|
-
assignedAt?: string | null
|
|
127
|
-
expiresAt?: string | null
|
|
128
|
-
completedAt?: string | null
|
|
129
|
-
resourceSourcedId?: string | null
|
|
130
|
-
componentResourceSourcedId?: string | null
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* List response for test assignments.
|
|
135
|
-
*/
|
|
136
|
-
interface TestAssignmentsListResponse extends PaginationMeta {
|
|
137
|
-
testAssignments: TestAssignment[]
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Result from creating a test assignment.
|
|
142
|
-
*/
|
|
143
|
-
interface AssignmentResult {
|
|
144
|
-
assignmentId: string
|
|
145
|
-
lessonId: string
|
|
146
|
-
resourceId: string
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Result from bulk operations.
|
|
151
|
-
*/
|
|
152
|
-
interface BulkResult {
|
|
153
|
-
success: boolean
|
|
154
|
-
results: AssignmentResult[]
|
|
155
|
-
errors: Array<{ row: number; message: string }>
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
159
|
-
// QUESTIONS
|
|
160
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* QTI content associated with a question.
|
|
164
|
-
*/
|
|
165
|
-
interface PowerPathQuestionContent {
|
|
166
|
-
/** The type of the question (e.g., choiceInteraction) */
|
|
167
|
-
type?: string
|
|
168
|
-
/** The raw XML question in QTI format */
|
|
169
|
-
rawXml: string
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Result of evaluating a student's response to a question.
|
|
174
|
-
*/
|
|
175
|
-
interface PowerPathQuestionResult {
|
|
176
|
-
/** Score assigned considering the student's response */
|
|
177
|
-
score: number
|
|
178
|
-
/** Feedback — plain string from updateStudentQuestionResponse, structured object from progress/next-question responses */
|
|
179
|
-
feedback: string | { value: string; identifier: string }
|
|
180
|
-
/** Outcome variables from response processing (values may be strings or numbers) */
|
|
181
|
-
outcomes?: Record<string, string | number>
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* A question in a PowerPath test.
|
|
186
|
-
*
|
|
187
|
-
* Represents a question with its metadata, optional QTI content,
|
|
188
|
-
* and (when answered) the student's response and result.
|
|
189
|
-
*/
|
|
190
|
-
interface PowerPathTestQuestion {
|
|
191
|
-
/** ID that represents the question in the test */
|
|
192
|
-
id: string
|
|
193
|
-
/** Index of the question in the test */
|
|
194
|
-
index: number
|
|
195
|
-
/** Title of the question */
|
|
196
|
-
title: string
|
|
197
|
-
/** URL of the QTI question */
|
|
198
|
-
url: string
|
|
199
|
-
/** Difficulty of the question */
|
|
200
|
-
difficulty: PowerPathQuestionDifficulty
|
|
201
|
-
/** Whether the question has been approved by a human */
|
|
202
|
-
humanApproved?: boolean | null
|
|
203
|
-
/** QTI content of the question */
|
|
204
|
-
content?: PowerPathQuestionContent
|
|
205
|
-
/** Student's response (single value or array) */
|
|
206
|
-
response?: string | string[]
|
|
207
|
-
/** Student's responses keyed by response identifier */
|
|
208
|
-
responses?: Record<string, string | string[]>
|
|
209
|
-
/** Whether the student's response is correct */
|
|
210
|
-
correct?: boolean
|
|
211
|
-
/** Result of evaluating the response */
|
|
212
|
-
result?: PowerPathQuestionResult
|
|
213
|
-
/** sourcedId of the AssessmentResult for this question attempt */
|
|
214
|
-
resultId?: string
|
|
215
|
-
/** Learning objective IDs associated with the question */
|
|
216
|
-
learningObjectives?: string[]
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
220
|
-
// ASSESSMENTS
|
|
221
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Result from creating an external test (test-out or placement).
|
|
225
|
-
*/
|
|
226
|
-
interface ExternalTestCreateResponse {
|
|
227
|
-
/** Type of lesson created. */
|
|
228
|
-
lessonType: PowerPathLessonType
|
|
229
|
-
/** The sourcedId of the created lesson (ComponentResource). */
|
|
230
|
-
lessonId: string
|
|
231
|
-
/** The sourcedId of the component (unit) containing the test. */
|
|
232
|
-
courseComponentId: string
|
|
233
|
-
/** The sourcedId of the resource representing the external test. */
|
|
234
|
-
resourceId: string
|
|
235
|
-
/** URL to the external test system. */
|
|
236
|
-
launchUrl?: string
|
|
237
|
-
/** The tool provider identifier (e.g. 'edulastic', 'mastery-track'). */
|
|
238
|
-
toolProvider: string
|
|
239
|
-
/** The ID of the test in the vendor's system. */
|
|
240
|
-
vendorId?: string
|
|
241
|
-
/** The courseId to enroll the student in on failure (placement tests). */
|
|
242
|
-
courseIdOnFail?: string | null
|
|
243
|
-
/** Grade levels for the resource. */
|
|
244
|
-
grades?: Array<number | string>
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Result from creating an internal test (QTI or assessment-bank).
|
|
249
|
-
*/
|
|
250
|
-
interface InternalTestCreateResponse {
|
|
251
|
-
/** Type of lesson created. */
|
|
252
|
-
lessonType: PowerPathLessonType
|
|
253
|
-
/** The internal test type. */
|
|
254
|
-
testType: 'qti' | 'assessment-bank'
|
|
255
|
-
/** The sourcedId of the created lesson (ComponentResource). */
|
|
256
|
-
lessonId: string
|
|
257
|
-
/** The sourcedId of the component (unit) containing the test. */
|
|
258
|
-
courseComponentId: string
|
|
259
|
-
/** The sourcedId of the main resource (parent for assessment-bank). */
|
|
260
|
-
resourceId: string
|
|
261
|
-
/** Child resource IDs (only for assessment-bank type). */
|
|
262
|
-
childResourceIds?: string[]
|
|
263
|
-
/** The courseId to enroll the student in on failure (placement tests). */
|
|
264
|
-
courseIdOnFail?: string | null
|
|
265
|
-
/** Grade levels for the resource. */
|
|
266
|
-
grades?: Array<number | string>
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* A single attempt record.
|
|
271
|
-
*
|
|
272
|
-
* Matches the backend `PowerPath100AttemptSchema` with full metadata
|
|
273
|
-
* including XP, timestamps, and typed score status.
|
|
274
|
-
*/
|
|
275
|
-
interface Attempt {
|
|
276
|
-
/** Attempt number, or null if not yet started. */
|
|
277
|
-
attempt: number | null
|
|
278
|
-
/** Current score for this attempt. */
|
|
279
|
-
score: number
|
|
280
|
-
/** Grading status of this attempt. */
|
|
281
|
-
scoreStatus: ScoreStatus
|
|
282
|
-
/** XP earned in this attempt. */
|
|
283
|
-
xp: number | null
|
|
284
|
-
/** When this attempt was started. */
|
|
285
|
-
startedAt: string | null
|
|
286
|
-
/** When this attempt was completed. */
|
|
287
|
-
completedAt: string | null
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Result from creating a new attempt.
|
|
292
|
-
*/
|
|
293
|
-
interface CreateAttemptResponse {
|
|
294
|
-
attempt: Attempt
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Result from getting attempts for a lesson.
|
|
299
|
-
*/
|
|
300
|
-
interface GetAttemptsResponse {
|
|
301
|
-
attempts: Attempt[]
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Result from resetting an attempt.
|
|
306
|
-
*/
|
|
307
|
-
interface ResetAttemptResponse {
|
|
308
|
-
success: boolean
|
|
309
|
-
score: number
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
313
|
-
// ASSESSMENT PROGRESS (getAssessmentProgress)
|
|
314
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
315
|
-
|
|
316
|
-
/**
|
|
317
|
-
* Progress for a PowerPath 100 lesson.
|
|
318
|
-
*
|
|
319
|
-
* Uses `seenQuestions` (not `questions`) and includes remaining question counts
|
|
320
|
-
* per difficulty level.
|
|
321
|
-
*/
|
|
322
|
-
interface PowerPath100ProgressResponse {
|
|
323
|
-
lessonType: 'powerpath-100'
|
|
324
|
-
/** Remaining question counts per difficulty level */
|
|
325
|
-
remainingQuestionsPerDifficulty: {
|
|
326
|
-
easy: number
|
|
327
|
-
medium: number
|
|
328
|
-
hard: number
|
|
329
|
-
}
|
|
330
|
-
/** Current score for this attempt */
|
|
331
|
-
score: number
|
|
332
|
-
/** Questions the student has seen */
|
|
333
|
-
seenQuestions: PowerPathTestQuestion[]
|
|
334
|
-
/** sourcedId of the parent test AssessmentResult */
|
|
335
|
-
testResultId?: string
|
|
336
|
-
/** Attempt number */
|
|
337
|
-
attempt: number
|
|
338
|
-
/** XP earned in the lesson */
|
|
339
|
-
xp: number | null
|
|
340
|
-
/** Multiplier for XP */
|
|
341
|
-
multiplier: number | null
|
|
342
|
-
/** Accuracy of the student's attempted questions */
|
|
343
|
-
accuracy: number
|
|
344
|
-
/** Number of correct questions answered */
|
|
345
|
-
correctQuestions: number
|
|
346
|
-
/** Total number of questions in the lesson */
|
|
347
|
-
totalQuestions: number
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Progress for quiz, test-out, placement, or unit-test lessons.
|
|
352
|
-
*
|
|
353
|
-
* Uses `questions` (not `seenQuestions`). Includes `finalized` to indicate
|
|
354
|
-
* whether the lesson has been completed.
|
|
355
|
-
*/
|
|
356
|
-
interface StandardProgressResponse {
|
|
357
|
-
lessonType: 'quiz' | 'test-out' | 'placement' | 'unit-test'
|
|
358
|
-
/** Whether the lesson has been finalized in the current attempt */
|
|
359
|
-
finalized: boolean
|
|
360
|
-
/** Current score for this attempt */
|
|
361
|
-
score?: number
|
|
362
|
-
/** Questions in the test */
|
|
363
|
-
questions: PowerPathTestQuestion[]
|
|
364
|
-
/** Tool provider of the lesson if external */
|
|
365
|
-
toolProvider: string | null
|
|
366
|
-
/** Whether auto-enrollment failed (only for finalized external tests) */
|
|
367
|
-
enrollmentFailed?: boolean
|
|
368
|
-
/** sourcedId of the parent test AssessmentResult */
|
|
369
|
-
testResultId?: string
|
|
370
|
-
/** Attempt number */
|
|
371
|
-
attempt: number
|
|
372
|
-
/** XP earned in the lesson */
|
|
373
|
-
xp: number | null
|
|
374
|
-
/** Multiplier for XP */
|
|
375
|
-
multiplier: number | null
|
|
376
|
-
/** Accuracy of the student's attempted questions */
|
|
377
|
-
accuracy: number
|
|
378
|
-
/** Number of correct questions answered */
|
|
379
|
-
correctQuestions: number
|
|
380
|
-
/** Total number of questions in the lesson */
|
|
381
|
-
totalQuestions: number
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/**
|
|
385
|
-
* Result from getting assessment progress.
|
|
386
|
-
*
|
|
387
|
-
* Discriminated union on `lessonType`:
|
|
388
|
-
* - `'powerpath-100'` — uses `seenQuestions` and `remainingQuestionsPerDifficulty`
|
|
389
|
-
* - `'quiz' | 'test-out' | 'placement' | 'unit-test'` — uses `questions` and `finalized`
|
|
390
|
-
*/
|
|
391
|
-
type GetAssessmentProgressResponse = PowerPath100ProgressResponse | StandardProgressResponse
|
|
392
|
-
|
|
393
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
394
|
-
// GET NEXT QUESTION (getNextQuestion)
|
|
395
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Result from getting the next question in a PowerPath 100 lesson.
|
|
399
|
-
*/
|
|
400
|
-
interface GetNextQuestionResponse {
|
|
401
|
-
/** Current PowerPath score of the student in this lesson */
|
|
402
|
-
score: number
|
|
403
|
-
/** The next question to present */
|
|
404
|
-
question: PowerPathTestQuestion
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
408
|
-
// UPDATE STUDENT QUESTION RESPONSE (updateStudentQuestionResponse)
|
|
409
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
410
|
-
|
|
411
|
-
/**
|
|
412
|
-
* Response feedback for a student's answer.
|
|
413
|
-
*/
|
|
414
|
-
interface ResponseResultFeedback {
|
|
415
|
-
identifier?: string
|
|
416
|
-
value?: string
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
/**
|
|
420
|
-
* Result of processing a student's response.
|
|
421
|
-
*/
|
|
422
|
-
interface ResponseResult {
|
|
423
|
-
/** Whether the student's response is correct */
|
|
424
|
-
isCorrect: boolean
|
|
425
|
-
/** Score for this specific response (0 or 1) */
|
|
426
|
-
score: number
|
|
427
|
-
/** Optional feedback */
|
|
428
|
-
feedback?: ResponseResultFeedback
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
/**
|
|
432
|
-
* Result from updating a student's response in a PowerPath 100 lesson.
|
|
433
|
-
*
|
|
434
|
-
* Includes the updated PowerPath score, response correctness, and accuracy stats.
|
|
435
|
-
*/
|
|
436
|
-
interface PowerPath100UpdateResponseResult {
|
|
437
|
-
lessonType: 'powerpath-100'
|
|
438
|
-
/** Updated PowerPath score */
|
|
439
|
-
powerpathScore: number
|
|
440
|
-
/** Result of processing the response */
|
|
441
|
-
responseResult: ResponseResult
|
|
442
|
-
/** Assessment result for the question (for debugging) */
|
|
443
|
-
questionResult?: unknown
|
|
444
|
-
/** Assessment result for the test (for debugging) */
|
|
445
|
-
testResult?: unknown
|
|
446
|
-
/** Accuracy of the student's attempted questions */
|
|
447
|
-
accuracy: number
|
|
448
|
-
/** Number of correct questions answered */
|
|
449
|
-
correctQuestions: number
|
|
450
|
-
/** Total number of questions */
|
|
451
|
-
totalQuestions: number
|
|
452
|
-
/** XP earned */
|
|
453
|
-
xp: number | null
|
|
454
|
-
/** XP multiplier */
|
|
455
|
-
multiplier: number | null
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
/**
|
|
459
|
-
* Result from updating a student's response in a quiz/test-out/placement/unit-test lesson.
|
|
460
|
-
*
|
|
461
|
-
* Minimal response — correctness is evaluated at finalization.
|
|
462
|
-
*/
|
|
463
|
-
interface StandardUpdateResponseResult {
|
|
464
|
-
lessonType: 'quiz' | 'test-out' | 'placement' | 'unit-test'
|
|
465
|
-
/** Assessment result for the question (for debugging) */
|
|
466
|
-
questionResult?: unknown
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/**
|
|
470
|
-
* Result from updating a student question response.
|
|
471
|
-
*
|
|
472
|
-
* Discriminated union on `lessonType`:
|
|
473
|
-
* - `'powerpath-100'` — includes score, accuracy, and response correctness
|
|
474
|
-
* - Other lesson types — minimal, evaluated at finalization
|
|
475
|
-
*/
|
|
476
|
-
type UpdateStudentQuestionResponseResult =
|
|
477
|
-
| PowerPath100UpdateResponseResult
|
|
478
|
-
| StandardUpdateResponseResult
|
|
479
|
-
|
|
480
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
481
|
-
// FINALIZE ASSESSMENT (finalStudentAssessmentResponse)
|
|
482
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
483
|
-
|
|
484
|
-
/**
|
|
485
|
-
* Result from finalizing a test assessment.
|
|
486
|
-
*
|
|
487
|
-
* Returned after all questions have been answered and the lesson is
|
|
488
|
-
* evaluated. Only applicable to quiz-like lesson types (quiz, test-out,
|
|
489
|
-
* placement, unit-test). Not applicable to `powerpath-100`.
|
|
490
|
-
*/
|
|
491
|
-
interface FinalizeAssessmentResponse {
|
|
492
|
-
/** Type of the lesson that was finalized (quiz-like only). */
|
|
493
|
-
lessonType: QuizLikeLessonType
|
|
494
|
-
/** Whether the lesson has been finalized. */
|
|
495
|
-
finalized: boolean
|
|
496
|
-
/** The attempt number. */
|
|
497
|
-
attempt: number
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
501
|
-
// TEST OUT (testOut)
|
|
502
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
503
|
-
|
|
504
|
-
/**
|
|
505
|
-
* Result from getting the test-out lesson for a student/course.
|
|
506
|
-
*
|
|
507
|
-
* Returns the test-out lesson reference, finalization status,
|
|
508
|
-
* and optional external tool credentials.
|
|
509
|
-
*/
|
|
510
|
-
interface TestOutResponse {
|
|
511
|
-
lessonType: 'test-out'
|
|
512
|
-
/** ID of the test-out lesson, or null if none exists */
|
|
513
|
-
lessonId: string | null
|
|
514
|
-
/** Whether the test-out has been finalized in the current attempt */
|
|
515
|
-
finalized: boolean
|
|
516
|
-
/** Tool provider for the test-out lesson, or null if internal */
|
|
517
|
-
toolProvider: string | null
|
|
518
|
-
/** Attempt number */
|
|
519
|
-
attempt?: number
|
|
520
|
-
/** Credentials for accessing the assigned test on external tool */
|
|
521
|
-
credentials?: {
|
|
522
|
-
email: string
|
|
523
|
-
password: string
|
|
524
|
-
}
|
|
525
|
-
/** Assignment ID on external tool for results retrieval */
|
|
526
|
-
assignmentId?: string
|
|
527
|
-
/** Class ID on external tool for results retrieval */
|
|
528
|
-
classId?: string
|
|
529
|
-
/** URL of the test on external tool */
|
|
530
|
-
testUrl?: string
|
|
531
|
-
/** ID of the test on external tool */
|
|
532
|
-
testId?: string
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
536
|
-
// IMPORT EXTERNAL RESULTS (importExternalTestAssignmentResults)
|
|
537
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
538
|
-
|
|
539
|
-
/**
|
|
540
|
-
* Result from importing external test assignment results.
|
|
541
|
-
*
|
|
542
|
-
* Contains the lesson reference, finalization status, and optional
|
|
543
|
-
* external tool credentials/assignment data.
|
|
544
|
-
*/
|
|
545
|
-
interface ImportExternalResultsResponse {
|
|
546
|
-
/** Lesson type (external-capable types only). */
|
|
547
|
-
lessonType: ExternalTestCapableLessonType
|
|
548
|
-
/** The sourcedId of the lesson (ComponentResource). */
|
|
549
|
-
lessonId: string | null
|
|
550
|
-
/** The tool provider for the lesson. */
|
|
551
|
-
toolProvider: string | null
|
|
552
|
-
/** Whether the test has been finalized in the current attempt. */
|
|
553
|
-
finalized: boolean
|
|
554
|
-
/** Attempt number. */
|
|
555
|
-
attempt: number
|
|
556
|
-
/** Credentials for accessing the assigned test on external tool. */
|
|
557
|
-
credentials?: {
|
|
558
|
-
email: string
|
|
559
|
-
password: string
|
|
560
|
-
}
|
|
561
|
-
/** Assignment ID on external tool for results retrieval. */
|
|
562
|
-
assignmentId?: string
|
|
563
|
-
/** Class ID on external tool for results retrieval. */
|
|
564
|
-
classId?: string
|
|
565
|
-
/** URL of the test on external tool. */
|
|
566
|
-
testUrl?: string
|
|
567
|
-
/** ID of the test on external tool. */
|
|
568
|
-
testId?: string
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
572
|
-
// MAKE EXTERNAL TEST ASSIGNMENT (makeExternalTestAssignment)
|
|
573
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
574
|
-
|
|
575
|
-
/**
|
|
576
|
-
* Result from assigning an external test to a student.
|
|
577
|
-
*
|
|
578
|
-
* Contains the tool provider, lesson type, attempt number, and optional
|
|
579
|
-
* external tool credentials/assignment data.
|
|
580
|
-
*/
|
|
581
|
-
interface MakeExternalTestAssignmentResponse {
|
|
582
|
-
/** The tool provider (e.g. 'edulastic', 'mastery-track'). */
|
|
583
|
-
toolProvider: string
|
|
584
|
-
/** Lesson type (external-capable types only). */
|
|
585
|
-
lessonType: ExternalTestCapableLessonType
|
|
586
|
-
/** Attempt number. */
|
|
587
|
-
attempt: number
|
|
588
|
-
/** Credentials for accessing the assigned test on external tool. */
|
|
589
|
-
credentials?: {
|
|
590
|
-
email: string
|
|
591
|
-
password: string
|
|
592
|
-
}
|
|
593
|
-
/** Assignment ID on external tool for results retrieval. */
|
|
594
|
-
assignmentId?: string
|
|
595
|
-
/** Class ID on external tool for results retrieval. */
|
|
596
|
-
classId?: string
|
|
597
|
-
/** URL of the test on external tool. */
|
|
598
|
-
testUrl?: string
|
|
599
|
-
/** ID of the test on external tool. */
|
|
600
|
-
testId?: string
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
604
|
-
// PLACEMENT
|
|
605
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
606
|
-
|
|
607
|
-
/**
|
|
608
|
-
* Result from getting all placement tests.
|
|
609
|
-
*/
|
|
610
|
-
interface GetAllPlacementTestsResponse {
|
|
611
|
-
placementTests: unknown[]
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
/**
|
|
615
|
-
* Result from getting current placement level.
|
|
616
|
-
*/
|
|
617
|
-
interface GetCurrentLevelResponse {
|
|
618
|
-
gradeLevel?: unknown
|
|
619
|
-
onboarded?: boolean
|
|
620
|
-
availableTests: number
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
/**
|
|
624
|
-
* Result from getting the next placement test.
|
|
625
|
-
*/
|
|
626
|
-
interface GetNextPlacementTestResponse {
|
|
627
|
-
availableTests: number
|
|
628
|
-
lesson: string
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
/**
|
|
632
|
-
* Result from getting subject progress.
|
|
633
|
-
*/
|
|
634
|
-
interface GetSubjectProgressResponse {
|
|
635
|
-
progress: unknown[]
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
/**
|
|
639
|
-
* Result from resetting placement.
|
|
640
|
-
*/
|
|
641
|
-
interface ResetPlacementResponse {
|
|
642
|
-
success: boolean
|
|
643
|
-
placementResultsDeleted: number
|
|
644
|
-
onboardingReset: boolean
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
648
|
-
// SCREENING
|
|
649
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
650
|
-
|
|
651
|
-
/**
|
|
652
|
-
* Result from screening getResults.
|
|
653
|
-
* Response shape depends on MAP integration configuration.
|
|
654
|
-
*/
|
|
655
|
-
interface ScreeningResultsResponse {
|
|
656
|
-
[key: string]: unknown
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
/**
|
|
660
|
-
* Result from screening getSession.
|
|
661
|
-
* Response shape depends on MAP integration configuration.
|
|
662
|
-
*/
|
|
663
|
-
interface ScreeningSessionResponse {
|
|
664
|
-
[key: string]: unknown
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
/**
|
|
668
|
-
* Result from resetting a screening session.
|
|
669
|
-
*/
|
|
670
|
-
interface ScreeningResetSessionResponse {
|
|
671
|
-
success?: boolean
|
|
672
|
-
[key: string]: unknown
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
* Result from assigning a screening test.
|
|
677
|
-
*/
|
|
678
|
-
interface ScreeningAssignTestResponse {
|
|
679
|
-
success?: boolean
|
|
680
|
-
[key: string]: unknown
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
684
|
-
// LESSON PLANS
|
|
685
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
686
|
-
|
|
687
|
-
/**
|
|
688
|
-
* Result from creating a lesson plan.
|
|
689
|
-
*/
|
|
690
|
-
interface LessonPlanCreateResponse {
|
|
691
|
-
lessonPlanId: string
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
/**
|
|
695
|
-
* A lesson plan operation record.
|
|
696
|
-
*/
|
|
697
|
-
interface LessonPlanOperation {
|
|
698
|
-
id: string
|
|
699
|
-
type: string
|
|
700
|
-
payload?: unknown
|
|
701
|
-
reason?: string
|
|
702
|
-
createdAt: string
|
|
703
|
-
sequenceNumber: number
|
|
704
|
-
createdBy?: string
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
/**
|
|
708
|
-
* Response containing lesson plan operations.
|
|
709
|
-
*/
|
|
710
|
-
interface LessonPlanOperationsResponse {
|
|
711
|
-
operations: LessonPlanOperation[]
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
/**
|
|
715
|
-
* Result from a single lesson plan operation.
|
|
716
|
-
*/
|
|
717
|
-
interface LessonPlanOperationResult {
|
|
718
|
-
success: boolean
|
|
719
|
-
message?: string
|
|
720
|
-
operationId?: string
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
/**
|
|
724
|
-
* Result from syncing lesson plan operations.
|
|
725
|
-
*/
|
|
726
|
-
interface LessonPlanSyncResult {
|
|
727
|
-
success: boolean
|
|
728
|
-
message?: string
|
|
729
|
-
operationCount: number
|
|
730
|
-
operationResults: Array<{ success: boolean; errors?: Array<{ message: string }> }>
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
/**
|
|
734
|
-
* Result from syncing a course.
|
|
735
|
-
*/
|
|
736
|
-
interface LessonPlanCourseSyncResult {
|
|
737
|
-
lessonPlansAffected: string[]
|
|
738
|
-
}
|
|
739
|
-
|
|
740
|
-
/**
|
|
741
|
-
* Response containing a lesson plan.
|
|
742
|
-
*/
|
|
743
|
-
interface LessonPlanResponse {
|
|
744
|
-
lessonPlan: Record<string, unknown>
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
/**
|
|
748
|
-
* Response containing course progress.
|
|
749
|
-
*/
|
|
750
|
-
interface CourseProgressResponse {
|
|
751
|
-
lineItems: Record<string, unknown>[]
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
/**
|
|
755
|
-
* Result from updating student item response.
|
|
756
|
-
*/
|
|
757
|
-
interface UpdateStudentItemResponseResult {
|
|
758
|
-
success?: boolean
|
|
759
|
-
[key: string]: unknown
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
763
|
-
// TEST OUT (self-elected)
|
|
764
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
765
|
-
|
|
766
|
-
/**
|
|
767
|
-
* Result from checking test-out eligibility for a student/subject.
|
|
768
|
-
*/
|
|
769
|
-
interface GetTestOutEligibilityResponse {
|
|
770
|
-
eligible: boolean
|
|
771
|
-
reason?: string
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
/**
|
|
775
|
-
* Result from creating a self-elected test-out assignment.
|
|
776
|
-
*/
|
|
777
|
-
interface MakeExternalStudentTestOutAssignmentResponse {
|
|
778
|
-
success: boolean
|
|
779
|
-
data?: Record<string, unknown>
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
783
|
-
// RENDER CONFIG
|
|
784
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
785
|
-
|
|
786
|
-
/**
|
|
787
|
-
* Result from upserting render configs for one or more courses.
|
|
788
|
-
*/
|
|
789
|
-
interface RenderConfigUpsertResponse {
|
|
790
|
-
updated: string[]
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
/**
|
|
794
|
-
* Render config for a single course.
|
|
795
|
-
*/
|
|
796
|
-
interface RenderConfigGetResponse {
|
|
797
|
-
courseId: string
|
|
798
|
-
rendererId: string
|
|
799
|
-
rendererUrl: string
|
|
800
|
-
rendererVersion?: string | null
|
|
801
|
-
suppressFeedback: boolean
|
|
802
|
-
suppressCorrectResponse: boolean
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
/**
|
|
806
|
-
* Result from deleting a render config.
|
|
807
|
-
*/
|
|
808
|
-
interface RenderConfigDeleteResponse {
|
|
809
|
-
deleted: string
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
813
|
-
// SYLLABUS
|
|
814
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
815
|
-
|
|
816
|
-
/**
|
|
817
|
-
* Response containing syllabus data.
|
|
818
|
-
*/
|
|
819
|
-
interface SyllabusResponse {
|
|
820
|
-
syllabus?: unknown
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
type input<T> = T extends {
|
|
824
|
-
_zod: {
|
|
825
|
-
input: any;
|
|
826
|
-
};
|
|
827
|
-
} ? T["_zod"]["input"] : unknown;
|
|
828
|
-
|
|
829
|
-
/**
|
|
830
|
-
* PowerPath Schemas
|
|
831
|
-
*
|
|
832
|
-
* Zod schemas for the PowerPath adaptive learning API.
|
|
833
|
-
*/
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
declare const ExternalTestOut = ExternalTestBase.extend({
|
|
838
|
-
lessonType: z.literal('test-out'),
|
|
839
|
-
xp: z.number(),
|
|
840
|
-
})
|
|
841
|
-
|
|
842
|
-
declare const ExternalPlacement = ExternalTestBase.extend({
|
|
843
|
-
lessonType: z.literal('placement'),
|
|
844
|
-
courseIdOnFail: NonEmptyString.nullable().optional(),
|
|
845
|
-
xp: z.number().optional(),
|
|
846
|
-
})
|
|
847
|
-
|
|
848
|
-
declare const PowerPathCreateExternalPlacementTestInput = ExternalPlacement
|
|
849
|
-
|
|
850
|
-
declare const PowerPathCreateExternalTestOutInput = ExternalTestOut
|
|
851
|
-
|
|
852
|
-
declare const PowerPathCreateInternalTestInput = z.discriminatedUnion('testType', [
|
|
853
|
-
InternalTestBase.extend({
|
|
854
|
-
testType: z.literal('qti'),
|
|
855
|
-
qti: z.object({
|
|
856
|
-
url: z.url(),
|
|
857
|
-
title: NonEmptyString.optional(),
|
|
858
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
859
|
-
}),
|
|
860
|
-
}),
|
|
861
|
-
InternalTestBase.extend({
|
|
862
|
-
testType: z.literal('assessment-bank'),
|
|
863
|
-
assessmentBank: z.object({
|
|
864
|
-
resources: z
|
|
865
|
-
.array(
|
|
866
|
-
z.object({
|
|
867
|
-
url: z.url(),
|
|
868
|
-
title: NonEmptyString.optional(),
|
|
869
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
870
|
-
}),
|
|
871
|
-
)
|
|
872
|
-
.min(1),
|
|
873
|
-
}),
|
|
874
|
-
}),
|
|
875
|
-
])
|
|
876
|
-
|
|
877
|
-
declare const PowerPathCreateNewAttemptInput = z.object({
|
|
878
|
-
student: NonEmptyString,
|
|
879
|
-
lesson: NonEmptyString,
|
|
880
|
-
})
|
|
881
|
-
|
|
882
|
-
declare const PowerPathFinalStudentAssessmentResponseInput = z.object({
|
|
883
|
-
student: NonEmptyString,
|
|
884
|
-
lesson: NonEmptyString,
|
|
885
|
-
})
|
|
886
|
-
|
|
887
|
-
declare const PowerPathLessonPlansCreateInput = z.object({
|
|
888
|
-
courseId: NonEmptyString,
|
|
889
|
-
userId: NonEmptyString,
|
|
890
|
-
classId: NonEmptyString.optional(),
|
|
891
|
-
})
|
|
892
|
-
|
|
893
|
-
declare const PowerPathLessonPlanOperationInput = z.union([
|
|
894
|
-
z.object({
|
|
895
|
-
type: z.literal('set-skipped'),
|
|
896
|
-
payload: z.object({
|
|
897
|
-
target: LessonPlanTarget,
|
|
898
|
-
value: z.boolean(),
|
|
899
|
-
}),
|
|
900
|
-
}),
|
|
901
|
-
z.object({
|
|
902
|
-
type: z.literal('add-custom-resource'),
|
|
903
|
-
payload: z.object({
|
|
904
|
-
resource_id: NonEmptyString,
|
|
905
|
-
parent_component_id: NonEmptyString,
|
|
906
|
-
skipped: z.boolean().optional(),
|
|
907
|
-
}),
|
|
908
|
-
}),
|
|
909
|
-
z.object({
|
|
910
|
-
type: z.literal('move-item-before'),
|
|
911
|
-
payload: z.object({
|
|
912
|
-
target: LessonPlanTarget,
|
|
913
|
-
reference_id: NonEmptyString,
|
|
914
|
-
}),
|
|
915
|
-
}),
|
|
916
|
-
z.object({
|
|
917
|
-
type: z.literal('move-item-after'),
|
|
918
|
-
payload: z.object({
|
|
919
|
-
target: LessonPlanTarget,
|
|
920
|
-
reference_id: NonEmptyString,
|
|
921
|
-
}),
|
|
922
|
-
}),
|
|
923
|
-
z.object({
|
|
924
|
-
type: z.literal('move-item-to-start'),
|
|
925
|
-
payload: z.object({
|
|
926
|
-
target: LessonPlanTarget,
|
|
927
|
-
}),
|
|
928
|
-
}),
|
|
929
|
-
z.object({
|
|
930
|
-
type: z.literal('move-item-to-end'),
|
|
931
|
-
payload: z.object({
|
|
932
|
-
target: LessonPlanTarget,
|
|
933
|
-
}),
|
|
934
|
-
}),
|
|
935
|
-
z.object({
|
|
936
|
-
type: z.literal('change-item-parent'),
|
|
937
|
-
payload: z.object({
|
|
938
|
-
target: LessonPlanTarget,
|
|
939
|
-
new_parent_id: NonEmptyString,
|
|
940
|
-
position: z.enum(['start', 'end']).optional(),
|
|
941
|
-
}),
|
|
942
|
-
}),
|
|
943
|
-
])
|
|
944
|
-
|
|
945
|
-
declare const PowerPathLessonPlanOperationsInput = z.object({
|
|
946
|
-
operation: PowerPathLessonPlanOperationInput,
|
|
947
|
-
reason: NonEmptyString.optional(),
|
|
948
|
-
})
|
|
949
|
-
|
|
950
|
-
declare const PowerPathLessonPlanUpdateStudentItemResponseInput = z.object({
|
|
951
|
-
studentId: NonEmptyString,
|
|
952
|
-
componentResourceId: NonEmptyString,
|
|
953
|
-
result: z.object({
|
|
954
|
-
status: z.enum(['active', 'tobedeleted']),
|
|
955
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
956
|
-
score: z.number().optional(),
|
|
957
|
-
textScore: NonEmptyString.optional(),
|
|
958
|
-
scoreDate: z.string().datetime(),
|
|
959
|
-
scorePercentile: z.number().optional(),
|
|
960
|
-
scoreStatus: ScoreStatus,
|
|
961
|
-
comment: NonEmptyString.optional(),
|
|
962
|
-
learningObjectiveSet: z
|
|
963
|
-
.array(
|
|
964
|
-
z.object({
|
|
965
|
-
source: NonEmptyString,
|
|
966
|
-
learningObjectiveResults: z.array(
|
|
967
|
-
z.object({
|
|
968
|
-
learningObjectiveId: NonEmptyString,
|
|
969
|
-
score: z.number().optional(),
|
|
970
|
-
textScore: NonEmptyString.optional(),
|
|
971
|
-
}),
|
|
972
|
-
),
|
|
973
|
-
}),
|
|
974
|
-
)
|
|
975
|
-
.optional(),
|
|
976
|
-
inProgress: NonEmptyString.optional(),
|
|
977
|
-
incomplete: NonEmptyString.optional(),
|
|
978
|
-
late: NonEmptyString.optional(),
|
|
979
|
-
missing: NonEmptyString.optional(),
|
|
980
|
-
}),
|
|
981
|
-
})
|
|
982
|
-
|
|
983
|
-
declare const PowerPathMakeExternalTestAssignmentInput = z.object({
|
|
984
|
-
student: NonEmptyString,
|
|
985
|
-
lesson: NonEmptyString,
|
|
986
|
-
applicationName: NonEmptyString.optional(),
|
|
987
|
-
testId: NonEmptyString.optional(),
|
|
988
|
-
skipCourseEnrollment: z.boolean().optional(),
|
|
989
|
-
})
|
|
990
|
-
|
|
991
|
-
declare const PowerPathPlacementResetUserPlacementInput = z.object({
|
|
992
|
-
student: NonEmptyString,
|
|
993
|
-
subject: TimebackSubject,
|
|
994
|
-
})
|
|
995
|
-
|
|
996
|
-
declare const PowerPathResetAttemptInput = z.object({
|
|
997
|
-
student: NonEmptyString,
|
|
998
|
-
lesson: NonEmptyString,
|
|
999
|
-
})
|
|
1000
|
-
|
|
1001
|
-
declare const PowerPathScreeningResetSessionInput = z.object({
|
|
1002
|
-
userId: NonEmptyString,
|
|
1003
|
-
})
|
|
1004
|
-
|
|
1005
|
-
declare const PowerPathScreeningAssignTestInput = z.object({
|
|
1006
|
-
userId: NonEmptyString,
|
|
1007
|
-
subject: z.enum(['Math', 'Reading', 'Language', 'Science']),
|
|
1008
|
-
})
|
|
1009
|
-
|
|
1010
|
-
declare const PowerPathTestAssignmentsCreateInput = z.object({
|
|
1011
|
-
student: NonEmptyString,
|
|
1012
|
-
subject: TimebackSubject,
|
|
1013
|
-
grade: TimebackGrade,
|
|
1014
|
-
testName: NonEmptyString.optional(),
|
|
1015
|
-
})
|
|
1016
|
-
|
|
1017
|
-
declare const PowerPathTestAssignmentsUpdateInput = z.object({
|
|
1018
|
-
testName: NonEmptyString,
|
|
1019
|
-
})
|
|
1020
|
-
|
|
1021
|
-
declare const PowerPathTestAssignmentsBulkInput = z.object({
|
|
1022
|
-
items: z.array(PowerPathTestAssignmentItemInput),
|
|
1023
|
-
})
|
|
1024
|
-
|
|
1025
|
-
declare const PowerPathTestAssignmentsImportInput = z.object({
|
|
1026
|
-
spreadsheetUrl: z.url(),
|
|
1027
|
-
sheet: NonEmptyString,
|
|
1028
|
-
})
|
|
1029
|
-
|
|
1030
|
-
declare const PowerPathTestAssignmentsListParams = z.object({
|
|
1031
|
-
student: NonEmptyString,
|
|
1032
|
-
status: z
|
|
1033
|
-
.enum(['assigned', 'in_progress', 'completed', 'failed', 'expired', 'cancelled'])
|
|
1034
|
-
.optional(),
|
|
1035
|
-
subject: NonEmptyString.optional(),
|
|
1036
|
-
grade: TimebackGrade.optional(),
|
|
1037
|
-
limit: z.number().int().positive().max(3000).optional(),
|
|
1038
|
-
offset: z.number().int().nonnegative().optional(),
|
|
1039
|
-
})
|
|
1040
|
-
|
|
1041
|
-
declare const PowerPathTestAssignmentsAdminParams = z.object({
|
|
1042
|
-
student: NonEmptyString.optional(),
|
|
1043
|
-
status: z
|
|
1044
|
-
.enum(['assigned', 'in_progress', 'completed', 'failed', 'expired', 'cancelled'])
|
|
1045
|
-
.optional(),
|
|
1046
|
-
subject: NonEmptyString.optional(),
|
|
1047
|
-
grade: TimebackGrade.optional(),
|
|
1048
|
-
limit: z.number().int().positive().max(3000).optional(),
|
|
1049
|
-
offset: z.number().int().nonnegative().optional(),
|
|
1050
|
-
})
|
|
1051
|
-
|
|
1052
|
-
declare const PowerPathUpdateStudentQuestionResponseInput = z
|
|
1053
|
-
.object({
|
|
1054
|
-
student: NonEmptyString,
|
|
1055
|
-
question: NonEmptyString,
|
|
1056
|
-
response: z.union([NonEmptyString, z.array(NonEmptyString)]).optional(),
|
|
1057
|
-
responses: z
|
|
1058
|
-
.record(z.string(), z.union([NonEmptyString, z.array(NonEmptyString)]))
|
|
1059
|
-
.optional(),
|
|
1060
|
-
lesson: NonEmptyString,
|
|
1061
|
-
rendererOutcomes: z
|
|
1062
|
-
.object({
|
|
1063
|
-
score: z.number(),
|
|
1064
|
-
maxScore: z.number().min(0),
|
|
1065
|
-
isCorrect: z.boolean(),
|
|
1066
|
-
})
|
|
1067
|
-
.optional(),
|
|
1068
|
-
playerState: z.string().optional(),
|
|
1069
|
-
})
|
|
1070
|
-
.refine(data => data.response !== undefined || data.responses !== undefined, {
|
|
1071
|
-
message: "Either 'response' or 'responses' must be provided",
|
|
1072
|
-
path: ['response', 'responses'],
|
|
1073
|
-
})
|
|
1074
|
-
.transform(data => {
|
|
1075
|
-
if (data.response !== undefined && data.responses === undefined) {
|
|
1076
|
-
return { ...data, responses: { RESPONSE: data.response } }
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
return data
|
|
1080
|
-
})
|
|
1081
|
-
|
|
1082
|
-
declare const PowerPathGetAssessmentProgressParams = z.object({
|
|
1083
|
-
student: NonEmptyString,
|
|
1084
|
-
lesson: NonEmptyString,
|
|
1085
|
-
attempt: z.number().int().positive().optional(),
|
|
1086
|
-
})
|
|
1087
|
-
|
|
1088
|
-
declare const PowerPathGetNextQuestionParams = z.object({
|
|
1089
|
-
student: NonEmptyString,
|
|
1090
|
-
lesson: NonEmptyString,
|
|
1091
|
-
})
|
|
1092
|
-
|
|
1093
|
-
declare const PowerPathGetAttemptsParams = z.object({
|
|
1094
|
-
student: NonEmptyString,
|
|
1095
|
-
lesson: NonEmptyString,
|
|
1096
|
-
})
|
|
1097
|
-
|
|
1098
|
-
declare const PowerPathTestOutParams = z.object({
|
|
1099
|
-
student: NonEmptyString,
|
|
1100
|
-
course: NonEmptyString,
|
|
1101
|
-
})
|
|
1102
|
-
|
|
1103
|
-
declare const PowerPathImportExternalTestAssignmentResultsParams = z.object({
|
|
1104
|
-
student: NonEmptyString,
|
|
1105
|
-
lesson: NonEmptyString,
|
|
1106
|
-
applicationName: NonEmptyString.optional(),
|
|
1107
|
-
})
|
|
1108
|
-
|
|
1109
|
-
declare const PowerPathPlacementQueryParams = z.object({
|
|
1110
|
-
student: NonEmptyString,
|
|
1111
|
-
subject: TimebackSubject,
|
|
1112
|
-
})
|
|
1113
|
-
|
|
1114
|
-
declare const PowerPathMakeExternalStudentTestOutAssignmentInput = z.object({
|
|
1115
|
-
oneRosterSourcedId: NonEmptyString,
|
|
1116
|
-
subject: NonEmptyString,
|
|
1117
|
-
})
|
|
1118
|
-
|
|
1119
|
-
declare const PowerPathRenderConfigUpsertInput = z.object({
|
|
1120
|
-
courseIds: z.array(NonEmptyString).min(1),
|
|
1121
|
-
rendererId: NonEmptyString,
|
|
1122
|
-
rendererUrl: z.url(),
|
|
1123
|
-
rendererVersion: NonEmptyString.optional(),
|
|
1124
|
-
suppressFeedback: z.boolean().optional(),
|
|
1125
|
-
suppressCorrectResponse: z.boolean().optional(),
|
|
1126
|
-
})
|
|
1127
|
-
|
|
1128
|
-
declare const PowerPathSyllabusQueryParams = z.object({
|
|
1129
|
-
status: z.enum(['active', 'tobedeleted']).optional(),
|
|
1130
|
-
})
|
|
1131
|
-
|
|
1132
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1133
|
-
// TYPE EXPORTS (REQUEST INPUTS)
|
|
1134
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1135
|
-
|
|
1136
|
-
// Shorter type aliases (like OneRoster pattern: schema = OneRosterFoo, type = Foo)
|
|
1137
|
-
type CreateExternalPlacementTestInput = input<
|
|
1138
|
-
typeof PowerPathCreateExternalPlacementTestInput
|
|
1139
|
-
>
|
|
1140
|
-
type CreateExternalTestOutInput = input<typeof PowerPathCreateExternalTestOutInput>
|
|
1141
|
-
type CreateInternalTestInput = input<typeof PowerPathCreateInternalTestInput>
|
|
1142
|
-
type CreateNewAttemptInput = input<typeof PowerPathCreateNewAttemptInput>
|
|
1143
|
-
type FinalStudentAssessmentResponseInput = input<
|
|
1144
|
-
typeof PowerPathFinalStudentAssessmentResponseInput
|
|
1145
|
-
>
|
|
1146
|
-
type LessonPlansCreateInput = input<typeof PowerPathLessonPlansCreateInput>
|
|
1147
|
-
type LessonPlanOperationInput = input<typeof PowerPathLessonPlanOperationInput>
|
|
1148
|
-
type LessonPlanOperationsInput = input<typeof PowerPathLessonPlanOperationsInput>
|
|
1149
|
-
type LessonPlanUpdateStudentItemResponseInput = input<
|
|
1150
|
-
typeof PowerPathLessonPlanUpdateStudentItemResponseInput
|
|
1151
|
-
>
|
|
1152
|
-
type MakeExternalTestAssignmentInput = input<
|
|
1153
|
-
typeof PowerPathMakeExternalTestAssignmentInput
|
|
1154
|
-
>
|
|
1155
|
-
type PlacementResetUserPlacementInput = input<
|
|
1156
|
-
typeof PowerPathPlacementResetUserPlacementInput
|
|
1157
|
-
>
|
|
1158
|
-
type ResetAttemptInput = input<typeof PowerPathResetAttemptInput>
|
|
1159
|
-
type ScreeningResetSessionInput = input<typeof PowerPathScreeningResetSessionInput>
|
|
1160
|
-
type ScreeningAssignTestInput = input<typeof PowerPathScreeningAssignTestInput>
|
|
1161
|
-
type TestAssignmentsCreateInput = input<typeof PowerPathTestAssignmentsCreateInput>
|
|
1162
|
-
type TestAssignmentsUpdateInput = input<typeof PowerPathTestAssignmentsUpdateInput>
|
|
1163
|
-
type TestAssignmentsBulkInput = input<typeof PowerPathTestAssignmentsBulkInput>
|
|
1164
|
-
type TestAssignmentsImportInput = input<typeof PowerPathTestAssignmentsImportInput>
|
|
1165
|
-
type TestAssignmentsListParams = input<typeof PowerPathTestAssignmentsListParams>
|
|
1166
|
-
type TestAssignmentsAdminParams = input<typeof PowerPathTestAssignmentsAdminParams>
|
|
1167
|
-
type UpdateStudentQuestionResponseInput = input<
|
|
1168
|
-
typeof PowerPathUpdateStudentQuestionResponseInput
|
|
1169
|
-
>
|
|
1170
|
-
type GetAssessmentProgressParams = input<typeof PowerPathGetAssessmentProgressParams>
|
|
1171
|
-
type GetNextQuestionParams = input<typeof PowerPathGetNextQuestionParams>
|
|
1172
|
-
type GetAttemptsParams = input<typeof PowerPathGetAttemptsParams>
|
|
1173
|
-
type TestOutParams = input<typeof PowerPathTestOutParams>
|
|
1174
|
-
type ImportExternalTestAssignmentResultsParams = input<
|
|
1175
|
-
typeof PowerPathImportExternalTestAssignmentResultsParams
|
|
1176
|
-
>
|
|
1177
|
-
type MakeExternalStudentTestOutAssignmentInput = input<
|
|
1178
|
-
typeof PowerPathMakeExternalStudentTestOutAssignmentInput
|
|
1179
|
-
>
|
|
1180
|
-
type PlacementQueryParams = input<typeof PowerPathPlacementQueryParams>
|
|
1181
|
-
type RenderConfigUpsertInput = input<typeof PowerPathRenderConfigUpsertInput>
|
|
1182
|
-
type SyllabusQueryParams = input<typeof PowerPathSyllabusQueryParams>
|
|
1183
|
-
|
|
1184
|
-
export type { AssignmentResult, Attempt, BulkResult, CourseProgressResponse, CreateAttemptResponse, CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, ExternalTestCapableLessonType, ExternalTestCreateResponse, FinalStudentAssessmentResponseInput, FinalizeAssessmentResponse, GetAllPlacementTestsResponse, GetAssessmentProgressParams, GetAssessmentProgressResponse, GetAttemptsParams, GetAttemptsResponse, GetCurrentLevelResponse, GetNextPlacementTestResponse, GetNextQuestionParams, GetNextQuestionResponse, GetSubjectProgressResponse, GetTestOutEligibilityResponse, ImportExternalResultsResponse, ImportExternalTestAssignmentResultsParams, InternalTestCreateResponse, LessonPlanCourseSyncResult, LessonPlanCreateResponse, LessonPlanOperation, LessonPlanOperationInput, LessonPlanOperationResult, LessonPlanOperationType, LessonPlanOperationsInput, LessonPlanOperationsResponse, LessonPlanResponse, LessonPlanSyncResult, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalStudentTestOutAssignmentInput, MakeExternalStudentTestOutAssignmentResponse, MakeExternalTestAssignmentInput, MakeExternalTestAssignmentResponse, PaginationMeta, PlacementQueryParams, PlacementResetUserPlacementInput, PowerPath100ProgressResponse, PowerPath100UpdateResponseResult, PowerPathLessonType, PowerPathQuestionContent, PowerPathQuestionDifficulty, PowerPathQuestionResult, PowerPathTestQuestion, QuizLikeLessonType, RenderConfigDeleteResponse, RenderConfigGetResponse, RenderConfigUpsertInput, RenderConfigUpsertResponse, ResetAttemptInput, ResetAttemptResponse, ResetPlacementResponse, ResponseResult, ResponseResultFeedback, ScoreStatus, ScreeningAssignTestInput, ScreeningAssignTestResponse, ScreeningResetSessionInput, ScreeningResetSessionResponse, ScreeningResultsResponse, ScreeningSessionResponse, StandardProgressResponse, StandardUpdateResponseResult, SyllabusQueryParams, SyllabusResponse, TestAssignment, TestAssignmentStatus, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsListResponse, TestAssignmentsUpdateInput, TestOutParams, TestOutResponse, UpdateStudentItemResponseResult, UpdateStudentQuestionResponseInput, UpdateStudentQuestionResponseResult };
|
|
1
|
+
export * from '@timeback/types/protocols/powerpath';
|
|
2
|
+
export { CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, FinalStudentAssessmentResponseInput, GetAssessmentProgressParams, GetAttemptsParams, GetNextQuestionParams, ImportExternalTestAssignmentResultsParams, LessonPlanOperationInput, LessonPlanOperationsInput, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalStudentTestOutAssignmentInput, MakeExternalTestAssignmentInput, PlacementQueryParams, PlacementResetUserPlacementInput, RenderConfigUpsertInput, ResetAttemptInput, ScreeningAssignTestInput, ScreeningResetSessionInput, SyllabusQueryParams, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsUpdateInput, TestOutParams, UpdateStudentQuestionResponseInput } from '@timeback/types/zod';
|