openlearn-next 0.4.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +26 -21
  2. package/cli-data.mjs +535 -40
  3. package/cli-doctor.mjs +456 -17
  4. package/cli.mjs +214 -12
  5. package/dist/assets/AcademicYearFilter-DUUGpDKt.js +1 -0
  6. package/dist/assets/ActivityWorkspaceWidget-5PzyxF6a.js +1 -0
  7. package/dist/assets/AdminDirectoryView-BCtmQTEK.js +5 -0
  8. package/dist/assets/AssessmentCenter-B43ojHG-.js +1 -0
  9. package/dist/assets/BatchPickerModal-CbmjInp7.js +1 -0
  10. package/dist/assets/ClassesView-DEnMaDOt.js +32 -0
  11. package/dist/assets/ClassroomCountdownWidget-CHq4983w.js +2 -0
  12. package/dist/assets/CloudDriveModal-D2t3Uyzr.js +1 -0
  13. package/dist/assets/ComputerLabView-YtnoT5Rb.js +1 -0
  14. package/dist/assets/CourseManagement-DOXyJ_j-.js +1 -0
  15. package/dist/assets/CourseWizardModal-Dbi6Caw2.js +3 -0
  16. package/dist/assets/CoursewareHubPanel-CyxDIJAF.js +1 -0
  17. package/dist/assets/Dashboard-2rLu_ZBy.js +8 -0
  18. package/dist/assets/ExportWeightModal-BrmAh6VX.js +1 -0
  19. package/dist/assets/GLTFLoader-CZJbo_y1.js +1 -0
  20. package/dist/assets/HelpTour-D_q1z_MI.js +1 -0
  21. package/dist/assets/HelpView-CVBrKDrd.js +204 -0
  22. package/dist/assets/ImportLessonsModal-PhHtX31R.js +1 -0
  23. package/dist/assets/ImportModal-DqjqNeH4.js +2 -0
  24. package/dist/assets/InteractiveCoursewareViewer-Vi6lLz7a.js +1 -0
  25. package/dist/assets/InteractiveWhiteboard-lTzeayX5.js +65 -0
  26. package/dist/assets/LazyCourseware-KIt0rGtW.js +2 -0
  27. package/dist/assets/LazyWhiteboard-CCN3pYcW.js +2 -0
  28. package/dist/assets/LessonEditorView-D_GVhHuM.js +1 -0
  29. package/dist/assets/LiveClassroomView-BRsZ6QEq.js +61 -0
  30. package/dist/assets/NotificationDetailModal-tY5rxYCN.js +1 -0
  31. package/dist/assets/OrbitControls-CQjN_uwS.js +1 -0
  32. package/dist/assets/PluginView-CedpAW6d.js +77 -0
  33. package/dist/assets/ProcessLogsModal-Cfr-T9Gd.js +1 -0
  34. package/dist/assets/QuizGeneratorModal-bUA002kP.js +1 -0
  35. package/dist/assets/StudentAssignmentView-BhAz6Hfk.js +1 -0
  36. package/dist/assets/StudentLessonView-DC1yX4kG.js +1 -0
  37. package/dist/assets/StudentView-PHKxIV9T.js +2 -0
  38. package/dist/assets/SystemResourceLibraryModal-DgXYe6_x.js +1 -0
  39. package/dist/assets/TeacherView-DscJtOJ9.js +2 -0
  40. package/dist/assets/TimetableView-D2ozoj_D.js +6 -0
  41. package/dist/assets/UTIF-FfCsrHhe.js +1 -0
  42. package/dist/assets/__vite-optional-peer-dep_ai_ooxml-ui-BIHI7g3E.js +1 -0
  43. package/dist/assets/browser-DEI0QxZC.js +1 -0
  44. package/dist/assets/html2canvas-pro.esm-Bo50djkB.js +12 -0
  45. package/dist/assets/index-2676X8YB.js +131 -0
  46. package/dist/assets/index-C6hlh8pw.css +1 -0
  47. package/dist/assets/{index.es-C5eWEO4o.js → index.es-DyEF0CZ9.js} +1 -1
  48. package/dist/assets/pluginParsers-e4PSm2Iy.js +1 -0
  49. package/dist/assets/react_pptx-react-viewer-BIHI7g3E.js +1 -0
  50. package/dist/assets/teaching-modes-client-BeVaDdJ-.js +1 -0
  51. package/dist/assets/three.module-iOYB3rD4.js +4228 -0
  52. package/dist/assets/timeline-duration-BgdJCSrW.js +1 -0
  53. package/dist/assets/{vendor-charts-qLbgF1eL.js → vendor-charts-SrpBsvM3.js} +2 -2
  54. package/dist/assets/{vendor-icons-BRmhY6fg.js → vendor-icons-CXrZ3R2V.js} +2 -2
  55. package/dist/assets/{vendor-konva-CEOq4dcl.js → vendor-konva-Dne0Z-WC.js} +1 -1
  56. package/dist/assets/{vendor-pdf-D7rGevI1.js → vendor-pdf-C1Vh2Aqq.js} +56 -56
  57. package/dist/assets/vendor-pptx-Bzn6whfK.js +11311 -0
  58. package/dist/assets/vendor-pptx-DIWdXF1L.css +1 -0
  59. package/dist/assets/{vendor-react-B0t7H3hh.js → vendor-react-Kv_JATwr.js} +1 -1
  60. package/dist/assets/vendor-utils-aM7aYvPP.js +1 -0
  61. package/dist/cli-migrator.cjs +310 -0
  62. package/dist/env-validation.cjs +351 -0
  63. package/dist/index.html +13 -10
  64. package/dist/plugin-net-preload.cjs +263 -0
  65. package/dist/server.cjs +51140 -27229
  66. package/migrations/000_initial_schema.sql +410 -0
  67. package/migrations/001_add_execution_mode.sql +6 -0
  68. package/migrations/002_add_client_session_expiry.sql +6 -0
  69. package/migrations/003_classroom_runtime.sql +33 -0
  70. package/migrations/004_courseware_score_config.sql +26 -0
  71. package/migrations/005_assignment_hub.sql +155 -0
  72. package/migrations/006_classroom_event_bus.sql +28 -0
  73. package/migrations/007_interactive_classroom.sql +119 -0
  74. package/migrations/008_teaching_modes.sql +36 -0
  75. package/migrations/009_classroom_peer_review.sql +159 -0
  76. package/migrations/010_class_groups.sql +33 -0
  77. package/migrations/011_classroom_feed.sql +34 -0
  78. package/migrations/012_auto_record_score.sql +48 -0
  79. package/migrations/013_score_source_strategy.sql +81 -0
  80. package/migrations/014_performance_indexes.sql +21 -0
  81. package/migrations/015_demo_data_registry.sql +26 -0
  82. package/migrations/016_preset_polls_and_passcode_expiry.sql +33 -0
  83. package/migrations/017_pacing_signals_segment.sql +6 -0
  84. package/migrations/018_processes_plugin_owner.sql +26 -0
  85. package/migrations/019_plugins_version.sql +61 -0
  86. package/migrations/020_upload_max_file_mb.sql +14 -0
  87. package/migrations/021_class_owner_and_password_gate.sql +11 -0
  88. package/migrations/022_plugin_public_routes.sql +14 -0
  89. package/migrations/023_encrypt_class_passcodes.sql +18 -0
  90. package/migrations/024_segment_gates.sql +37 -0
  91. package/migrations/025_assignment_lookup_indexes.sql +11 -0
  92. package/migrations/026_plugin_grants.sql +21 -0
  93. package/migrations/027_academic_year.sql +26 -0
  94. package/migrations/028_classroom_indexes.sql +14 -0
  95. package/migrations/029_clean_lesson_think_artifacts.sql +13 -0
  96. package/migrations/030_backfill_academic_year.sql +30 -0
  97. package/migrations/031_assessment_core.sql +158 -0
  98. package/migrations/032_progress_verification.sql +17 -0
  99. package/migrations/033_student_lock_mode.sql +9 -0
  100. package/migrations/034_plugin_orphan_data.sql +27 -0
  101. package/migrations/035_icebreaker_checkins.sql +26 -0
  102. package/migrations/036_student_read_notifications_created_at.sql +19 -0
  103. package/migrations/037_plugin_config_scopes.sql +40 -0
  104. package/migrations/038_assessment_ai_grading_suggestion.sql +10 -0
  105. package/migrations/039_question_bank_sharing_and_papers.sql +14 -0
  106. package/migrations/040_assignment_grade_history.sql +37 -0
  107. package/migrations/041_course_package_idempotency.sql +33 -0
  108. package/migrations/042_assignment_grade_resubmit_audit.sql +12 -0
  109. package/migrations/043_mark_sha256_passwords.sql +31 -0
  110. package/migrations/README.md +61 -0
  111. package/migrations/schema-golden.json +640 -0
  112. package/package.json +54 -28
  113. package/dist/assets/AdminDirectoryView-DY--WM5Z.js +0 -1
  114. package/dist/assets/BatchPickerModal-BpWu0Lil.js +0 -1
  115. package/dist/assets/ClassesView-KbHEqJto.js +0 -22
  116. package/dist/assets/ClassroomCountdownWidget-96WFRO9A.js +0 -2
  117. package/dist/assets/CloudDriveModal-DEQ1nkNk.js +0 -1
  118. package/dist/assets/ComputerLabView-1qWDNRQ2.js +0 -1
  119. package/dist/assets/CourseManagement-D3ZpxY0l.js +0 -1
  120. package/dist/assets/CourseWizardModal-Ck_-M8pk.js +0 -3
  121. package/dist/assets/CoursewareHubPanel-CaEizhxl.js +0 -1
  122. package/dist/assets/Dashboard-CYbpbofV.js +0 -8
  123. package/dist/assets/ExportWeightModal-DW2bu9Zz.js +0 -1
  124. package/dist/assets/HelpTour-CMJbbGne.js +0 -1
  125. package/dist/assets/HelpView-CtzdqhBq.js +0 -204
  126. package/dist/assets/ImportLessonsModal-jBuIK453.js +0 -1
  127. package/dist/assets/ImportModal-D7L-KNhZ.js +0 -1
  128. package/dist/assets/InteractiveCoursewareViewer-Bj7ahXMs.js +0 -1
  129. package/dist/assets/InteractiveWhiteboard-B7JcJvDu.js +0 -77
  130. package/dist/assets/LazyCourseware-CuiPxhDg.js +0 -2
  131. package/dist/assets/LazyWhiteboard-BJwCEZAU.js +0 -2
  132. package/dist/assets/LessonEditorView-DFrOp2qp.js +0 -1
  133. package/dist/assets/LiveClassroomView-BZ5nGee3.js +0 -59
  134. package/dist/assets/NotificationDetailModal-Baqnc5pU.js +0 -1
  135. package/dist/assets/PluginView-CCbIuZ24.js +0 -66
  136. package/dist/assets/ProcessLogsModal-DmFXg9mG.js +0 -1
  137. package/dist/assets/QuizGeneratorModal-BBEDssp7.js +0 -1
  138. package/dist/assets/StudentAssignmentView-DgIjUsXz.js +0 -1
  139. package/dist/assets/StudentLessonView-CBJbI5x6.js +0 -1
  140. package/dist/assets/StudentPreviewModal-Bh8OZs0t.js +0 -1
  141. package/dist/assets/StudentView--uGxc5TJ.js +0 -2
  142. package/dist/assets/SystemResourceLibraryModal-BVCclcqA.js +0 -1
  143. package/dist/assets/TeacherView-D4Zsc0eZ.js +0 -2
  144. package/dist/assets/TimetableView-BQG-rEb5.js +0 -6
  145. package/dist/assets/index-BKBCBKvy.js +0 -217
  146. package/dist/assets/index-CvGu7LSj.css +0 -1
  147. package/dist/assets/purify.es-CYR4BTuT.js +0 -3
  148. package/dist/assets/vendor-pptx-C5-U7ieS.js +0 -39
  149. package/dist/assets/vendor-utils-m0Urvtws.js +0 -1
@@ -0,0 +1,640 @@
1
+ {
2
+ "_comment": "数据库结构金样(自动生成,勿手改):空库跑完 migrations/ 全部迁移后的表→列快照。启动时 assertSchemaMatchesGolden 以子集校验(实际库缺金样结构即拒绝启动;多出的表/列不报错)。改迁移后请运行 pnpm db:gen-golden 再生成。",
3
+ "migrationCount": 44,
4
+ "generatedAt": "2026-10-25T04:30:00.287Z",
5
+ "tables": {
6
+ "_academic_year_backfill": ["backfilled_at", "id"],
7
+ "_class_passcode_encryption": ["id", "note"],
8
+ "_lesson_think_cleanup": ["id", "note"],
9
+ "_migrations": ["applied_at", "checksum", "name"],
10
+ "agent_conversations": ["content", "conv_key", "created_at", "id", "role"],
11
+ "ai_providers": ["api_key", "api_url", "created_at", "id", "model_name", "name", "updated_at"],
12
+ "assessment_answers": [
13
+ "ai_suggestion_json",
14
+ "answer_json",
15
+ "attempt_id",
16
+ "feedback",
17
+ "graded_at",
18
+ "graded_by",
19
+ "grader",
20
+ "is_correct",
21
+ "item_id",
22
+ "manual_override",
23
+ "max_score",
24
+ "score",
25
+ "updated_at"
26
+ ],
27
+ "assessment_assignments": [
28
+ "academic_year",
29
+ "assessment_id",
30
+ "class_id",
31
+ "closes_at",
32
+ "created_at",
33
+ "created_by",
34
+ "duration_sec",
35
+ "exam_id",
36
+ "id",
37
+ "lesson_id",
38
+ "opens_at",
39
+ "schedule_id",
40
+ "score_released",
41
+ "session_id",
42
+ "status"
43
+ ],
44
+ "assessment_attempts": [
45
+ "academic_year",
46
+ "anon_key",
47
+ "assignment_id",
48
+ "attempt_no",
49
+ "deadline_at",
50
+ "id",
51
+ "max_score",
52
+ "needs_manual_review",
53
+ "paper_json",
54
+ "proctor_json",
55
+ "score",
56
+ "started_at",
57
+ "status",
58
+ "student_id",
59
+ "submitted_at"
60
+ ],
61
+ "assessment_items": [
62
+ "answer_key_json",
63
+ "assessment_id",
64
+ "bank_item_id",
65
+ "config_json",
66
+ "id",
67
+ "max_score",
68
+ "section",
69
+ "sort_order",
70
+ "stem",
71
+ "type"
72
+ ],
73
+ "assessments": [
74
+ "academic_year",
75
+ "created_at",
76
+ "description",
77
+ "id",
78
+ "kind",
79
+ "owner_id",
80
+ "published_at",
81
+ "settings_json",
82
+ "status",
83
+ "title",
84
+ "updated_at"
85
+ ],
86
+ "assignment_grade_history": [
87
+ "actor_id",
88
+ "actor_role",
89
+ "assignment_id",
90
+ "created_at",
91
+ "id",
92
+ "new_score",
93
+ "new_source",
94
+ "new_status",
95
+ "old_content",
96
+ "old_score",
97
+ "old_source",
98
+ "old_status",
99
+ "reason",
100
+ "student_id"
101
+ ],
102
+ "assignment_submissions": [
103
+ "academic_year",
104
+ "assignment_id",
105
+ "content",
106
+ "feedback",
107
+ "graded_at",
108
+ "graded_by",
109
+ "score",
110
+ "source",
111
+ "status",
112
+ "student_id",
113
+ "submitted_at"
114
+ ],
115
+ "assignments": ["academic_year", "class_id", "content", "created_at", "description", "id", "lesson_id", "title"],
116
+ "attendance": ["academic_year", "recorded_at", "schedule_id", "status", "student_id"],
117
+ "class_grade_weights": [
118
+ "assignment_weight",
119
+ "attendance_weight",
120
+ "class_id",
121
+ "exam_weight",
122
+ "progress_weight",
123
+ "updated_at"
124
+ ],
125
+ "class_groups": [
126
+ "class_id",
127
+ "color",
128
+ "created_at",
129
+ "id",
130
+ "is_default",
131
+ "leader_id",
132
+ "member_ids",
133
+ "name",
134
+ "name_en",
135
+ "sort_order",
136
+ "updated_at"
137
+ ],
138
+ "class_students": ["class_id", "joined_at", "student_id"],
139
+ "classes": [
140
+ "class_passcode",
141
+ "class_passcode_expires_at",
142
+ "created_at",
143
+ "description",
144
+ "id",
145
+ "lab_id",
146
+ "name",
147
+ "owner_user_id"
148
+ ],
149
+ "classroom_buzzers": [
150
+ "created_at",
151
+ "id",
152
+ "lesson_id",
153
+ "session_id",
154
+ "status",
155
+ "title",
156
+ "winner_response_time_ms",
157
+ "winner_student_id",
158
+ "winner_student_name"
159
+ ],
160
+ "classroom_danmaku": [
161
+ "created_at",
162
+ "id",
163
+ "lesson_id",
164
+ "sender_id",
165
+ "sender_name",
166
+ "session_id",
167
+ "text",
168
+ "top_percent",
169
+ "type",
170
+ "voice_duration_seconds"
171
+ ],
172
+ "classroom_exit_tickets": [
173
+ "challenge_answer",
174
+ "core_answer",
175
+ "created_at",
176
+ "feedback",
177
+ "id",
178
+ "is_correct",
179
+ "lesson_id",
180
+ "puzzled_concept",
181
+ "rating",
182
+ "session_id",
183
+ "student_id",
184
+ "student_name",
185
+ "tier_level"
186
+ ],
187
+ "classroom_feed": [
188
+ "actor_id",
189
+ "actor_name",
190
+ "class_id",
191
+ "created_at",
192
+ "id",
193
+ "lesson_id",
194
+ "message",
195
+ "session_id",
196
+ "source",
197
+ "type"
198
+ ],
199
+ "classroom_pacing_signals": ["created_at", "id", "segment_id", "session_id", "signal_type", "student_id"],
200
+ "classroom_peer_badges": [
201
+ "badge_key",
202
+ "created_at",
203
+ "id",
204
+ "lesson_id",
205
+ "receiver_id",
206
+ "receiver_name",
207
+ "sender_id",
208
+ "sender_name",
209
+ "session_id"
210
+ ],
211
+ "classroom_peer_nominations": [
212
+ "created_at",
213
+ "honor_key",
214
+ "id",
215
+ "lesson_id",
216
+ "nominated_student_id",
217
+ "nominated_student_name",
218
+ "nominator_id",
219
+ "session_id"
220
+ ],
221
+ "classroom_peer_review_tasks": [
222
+ "class_id",
223
+ "created_at",
224
+ "id",
225
+ "lesson_id",
226
+ "reviewer_id",
227
+ "reviewer_name",
228
+ "session_id",
229
+ "status",
230
+ "submitted_at",
231
+ "target_attempt_id",
232
+ "target_score",
233
+ "target_student_id",
234
+ "target_student_name",
235
+ "target_work_title",
236
+ "tier"
237
+ ],
238
+ "classroom_peer_reviews": [
239
+ "comment",
240
+ "created_at",
241
+ "dimension_scores_json",
242
+ "id",
243
+ "lesson_id",
244
+ "max_score",
245
+ "reviewer_id",
246
+ "reviewer_name",
247
+ "score",
248
+ "session_id",
249
+ "target_attempt_id",
250
+ "target_student_id",
251
+ "updated_at"
252
+ ],
253
+ "classroom_peer_rubric_dimensions": [
254
+ "bar_color_class",
255
+ "color_class",
256
+ "created_at",
257
+ "id",
258
+ "label",
259
+ "lesson_id",
260
+ "max_score",
261
+ "session_id",
262
+ "sort_order",
263
+ "weight"
264
+ ],
265
+ "classroom_poll_votes": ["id", "poll_id", "selected_option", "student_id", "student_name", "voted_at"],
266
+ "classroom_quick_polls": [
267
+ "correct_option",
268
+ "created_at",
269
+ "id",
270
+ "lesson_id",
271
+ "options_json",
272
+ "question_type",
273
+ "session_id",
274
+ "status",
275
+ "title"
276
+ ],
277
+ "classroom_sessions": [
278
+ "academic_year",
279
+ "checkin_code",
280
+ "class_id",
281
+ "created_at",
282
+ "current_segment_id",
283
+ "ended_at",
284
+ "focus_mode",
285
+ "id",
286
+ "lesson_id",
287
+ "settings_json",
288
+ "stage",
289
+ "started_at",
290
+ "teacher_id",
291
+ "teaching_mode_id"
292
+ ],
293
+ "client_sessions": ["expires_at", "id", "session_data", "updated_at"],
294
+ "computer_labs": ["cols", "created_at", "id", "room_number", "rows"],
295
+ "courseware": ["created_at", "entry", "id", "name", "type", "uuid"],
296
+ "courseware_attempt": ["courseware_id", "finished_at", "id", "started_at", "status", "student_id"],
297
+ "courseware_score_config": [
298
+ "auto_record_enabled",
299
+ "auto_record_min_completion",
300
+ "auto_record_strategy",
301
+ "courseware_id",
302
+ "courseware_name",
303
+ "lesson_id",
304
+ "raw_full_score",
305
+ "score_fields",
306
+ "score_policy",
307
+ "target_full_score",
308
+ "updated_at",
309
+ "weight_percentage"
310
+ ],
311
+ "demo_data_registry": ["created_at", "entity_id", "entity_type"],
312
+ "events": ["correlationId", "id", "lesson_id", "payload", "source", "timestamp", "type"],
313
+ "exam_scores": ["academic_year", "exam_id", "notes", "recorded_at", "score", "student_id"],
314
+ "exams": ["academic_year", "class_id", "created_at", "description", "id", "max_score", "title"],
315
+ "icebreaker_checkins": [
316
+ "checkin_date",
317
+ "class_id",
318
+ "created_at",
319
+ "id",
320
+ "lesson_id",
321
+ "mood",
322
+ "scope_key",
323
+ "student_id",
324
+ "updated_at"
325
+ ],
326
+ "lesson_checkins": ["checked_in_at", "lesson_id", "student_id"],
327
+ "lesson_preset_polls": [
328
+ "correct_option",
329
+ "created_at",
330
+ "id",
331
+ "lesson_id",
332
+ "options_json",
333
+ "question_type",
334
+ "sort_order",
335
+ "title",
336
+ "updated_at"
337
+ ],
338
+ "lesson_quiz_submissions": [
339
+ "answer",
340
+ "element_id",
341
+ "id",
342
+ "is_correct",
343
+ "lesson_id",
344
+ "score",
345
+ "student_id",
346
+ "student_name",
347
+ "submitted_at",
348
+ "time_spent_ms"
349
+ ],
350
+ "lessons": [
351
+ "content",
352
+ "created_at",
353
+ "creator_id",
354
+ "id",
355
+ "progress_conditions",
356
+ "progress_mode",
357
+ "source_package_hash",
358
+ "source_package_id",
359
+ "source_package_key",
360
+ "timeline",
361
+ "title",
362
+ "updated_at"
363
+ ],
364
+ "mfe_remotes": ["created_at", "entry", "meta", "name", "updated_at"],
365
+ "pending_commands": ["actor_id", "command_type", "created_at", "id", "payload"],
366
+ "plugin_assignment_files": [
367
+ "assignment_id",
368
+ "deleted_at",
369
+ "id",
370
+ "mime",
371
+ "original_name",
372
+ "sha256",
373
+ "size",
374
+ "stored_path",
375
+ "student_id",
376
+ "submission_id",
377
+ "uploaded_at",
378
+ "version_id"
379
+ ],
380
+ "plugin_assignments": [
381
+ "allow_late",
382
+ "allow_link",
383
+ "allow_text",
384
+ "allowed_ext",
385
+ "class_id",
386
+ "created_at",
387
+ "created_by",
388
+ "description",
389
+ "due_at",
390
+ "element_id",
391
+ "id",
392
+ "instructions",
393
+ "lesson_id",
394
+ "max_file_size",
395
+ "max_files",
396
+ "peer_review_count",
397
+ "peer_review_due_at",
398
+ "peer_review_mode",
399
+ "peer_weight",
400
+ "status",
401
+ "teacher_weight",
402
+ "title",
403
+ "updated_at"
404
+ ],
405
+ "plugin_capability_grants": ["approved_at", "capability", "plugin_key"],
406
+ "plugin_config": ["key", "plugin_id", "scope_id", "scope_type", "updated_at", "value"],
407
+ "plugin_grades": [
408
+ "assignment_id",
409
+ "calculated_final_score",
410
+ "graded_at",
411
+ "graded_by",
412
+ "id",
413
+ "peer_average_score",
414
+ "peer_weight",
415
+ "published_at",
416
+ "source",
417
+ "status",
418
+ "submission_id",
419
+ "teacher_comment",
420
+ "teacher_score",
421
+ "teacher_weight"
422
+ ],
423
+ "plugin_network_grants": ["approved_at", "host", "plugin_key"],
424
+ "plugin_orphan_data": [
425
+ "last_export_path",
426
+ "manifest_id",
427
+ "migration_version",
428
+ "plugin_id",
429
+ "plugin_name",
430
+ "plugin_version",
431
+ "row_count",
432
+ "storage_keys",
433
+ "table_names",
434
+ "table_prefixes",
435
+ "uninstalled_at"
436
+ ],
437
+ "plugin_peer_review_tasks": [
438
+ "anonymous",
439
+ "assignment_id",
440
+ "created_at",
441
+ "due_at",
442
+ "id",
443
+ "reviewer_id",
444
+ "status",
445
+ "submission_id"
446
+ ],
447
+ "plugin_peer_reviews": [
448
+ "anonymous",
449
+ "assignment_id",
450
+ "comment",
451
+ "created_at",
452
+ "id",
453
+ "reviewer_id",
454
+ "score",
455
+ "status",
456
+ "submission_id",
457
+ "task_id",
458
+ "updated_at"
459
+ ],
460
+ "plugin_public_routes": ["approved_at", "method", "path", "plugin_key"],
461
+ "plugin_storage": ["key", "plugin_id", "updated_at", "value"],
462
+ "plugin_submission_versions": [
463
+ "assignment_id",
464
+ "files_json",
465
+ "id",
466
+ "is_late",
467
+ "link_url",
468
+ "student_id",
469
+ "submission_id",
470
+ "submitted_at",
471
+ "text_content",
472
+ "version"
473
+ ],
474
+ "plugin_submissions": [
475
+ "assignment_id",
476
+ "created_at",
477
+ "file_path",
478
+ "id",
479
+ "lesson_id",
480
+ "student_id",
481
+ "updated_at",
482
+ "version"
483
+ ],
484
+ "plugins": [
485
+ "created_at",
486
+ "execution_mode",
487
+ "file_path",
488
+ "id",
489
+ "loader_version",
490
+ "manifest",
491
+ "name",
492
+ "source_code",
493
+ "status",
494
+ "updated_at",
495
+ "version",
496
+ "zip_package"
497
+ ],
498
+ "processes": [
499
+ "created_at",
500
+ "id",
501
+ "logs",
502
+ "name",
503
+ "payload",
504
+ "plugin_id",
505
+ "state",
506
+ "status",
507
+ "task_type",
508
+ "updated_at"
509
+ ],
510
+ "question_bank_items": [
511
+ "answer_key_json",
512
+ "config_json",
513
+ "created_at",
514
+ "difficulty",
515
+ "id",
516
+ "owner_id",
517
+ "stem",
518
+ "tags_json",
519
+ "type",
520
+ "updated_at",
521
+ "visibility"
522
+ ],
523
+ "schedules": [
524
+ "academic_year",
525
+ "class_id",
526
+ "created_at",
527
+ "id",
528
+ "lesson_id",
529
+ "notes",
530
+ "scheduled_date",
531
+ "status",
532
+ "time_slot"
533
+ ],
534
+ "segment_gate_overrides": ["actor_id", "created_at", "lesson_id", "reason", "segment_id", "student_id"],
535
+ "segment_visits": ["entered_at", "id", "left_at", "lesson_id", "segment_id", "student_id"],
536
+ "site_settings": [
537
+ "academic_start_month",
538
+ "current_academic_year",
539
+ "id",
540
+ "logo_url",
541
+ "site_name",
542
+ "slogan",
543
+ "upload_max_file_mb"
544
+ ],
545
+ "student_lesson_progress": [
546
+ "academic_year",
547
+ "assigned_at",
548
+ "completed",
549
+ "completed_segments",
550
+ "lesson_id",
551
+ "progress_percent",
552
+ "student_id",
553
+ "verified",
554
+ "verified_progress_percent"
555
+ ],
556
+ "student_point_logs": [
557
+ "class_id",
558
+ "created_at",
559
+ "delta_points",
560
+ "dimension_id",
561
+ "id",
562
+ "plugin_id",
563
+ "reason",
564
+ "student_id"
565
+ ],
566
+ "student_read_notifications": ["created_at", "notification_id", "student_id"],
567
+ "student_rollcalls": [
568
+ "class_id",
569
+ "difficulty",
570
+ "id",
571
+ "lesson_id",
572
+ "picked_time",
573
+ "rating",
574
+ "reward_coins",
575
+ "score",
576
+ "student_id"
577
+ ],
578
+ "student_seats": ["class_id", "col_idx", "lab_id", "row_idx", "student_id"],
579
+ "student_semester_reports": [
580
+ "academic_year",
581
+ "ai_evaluation",
582
+ "assignment_score",
583
+ "attendance_score",
584
+ "class_id",
585
+ "created_at",
586
+ "dimension_scores",
587
+ "exam_score",
588
+ "grade_level",
589
+ "id",
590
+ "progress_score",
591
+ "semester_name",
592
+ "student_id",
593
+ "teacher_evaluation",
594
+ "total_score",
595
+ "updated_at"
596
+ ],
597
+ "students": [
598
+ "avatar",
599
+ "created_at",
600
+ "email",
601
+ "id",
602
+ "lock_mode",
603
+ "lock_target",
604
+ "locked_lesson_id",
605
+ "name",
606
+ "password",
607
+ "private_notes",
608
+ "student_number"
609
+ ],
610
+ "submission_raw": ["attempt_id", "created_at", "event_type", "id", "payload_json"],
611
+ "submission_result": ["attempt_id", "comment", "completion", "extra_json", "id", "score"],
612
+ "system_resources": ["content", "created_at", "id", "name", "type"],
613
+ "teaching_modes": [
614
+ "color",
615
+ "created_at",
616
+ "description",
617
+ "description_en",
618
+ "icon",
619
+ "id",
620
+ "is_builtin",
621
+ "name",
622
+ "name_en",
623
+ "sort_order",
624
+ "updated_at"
625
+ ],
626
+ "users": [
627
+ "avatar",
628
+ "created_at",
629
+ "id",
630
+ "must_change_password",
631
+ "name",
632
+ "password_hash",
633
+ "role",
634
+ "status",
635
+ "username"
636
+ ],
637
+ "vfs_nodes": ["content", "created_at", "id", "name", "parent_id", "type", "updated_at"],
638
+ "whiteboard_elements": ["created_at", "data", "id", "lesson_id", "type"]
639
+ }
640
+ }