@telebort/question-banks 2.2.0 → 2.3.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.
@@ -1,4 +1,4 @@
1
- import { Q as QuestionType, D as Difficulty, C as Course } from './course-CkP2VX_5.cjs';
1
+ import { Q as QuestionType, D as Difficulty, C as Course } from './course-DyNRNTFp.cjs';
2
2
 
3
3
  /**
4
4
  * Data source interface - consumers provide their own implementation
@@ -1,4 +1,4 @@
1
- import { Q as QuestionType, D as Difficulty, C as Course } from './course-CkP2VX_5.js';
1
+ import { Q as QuestionType, D as Difficulty, C as Course } from './course-DyNRNTFp.js';
2
2
 
3
3
  /**
4
4
  * Data source interface - consumers provide their own implementation
package/dist/index.cjs CHANGED
@@ -14,22 +14,52 @@ var OptionSchema = zod.z.object({
14
14
  text: zod.z.string().min(1),
15
15
  isCorrect: zod.z.boolean(),
16
16
  // v1.1 fields - optional for backward compatibility
17
- misconceptionId: zod.z.string().optional(),
17
+ misconceptionId: zod.z.string().nullish(),
18
18
  feedback: FeedbackSchema.optional()
19
19
  });
20
20
  var QuestionTypeSchema = zod.z.enum([
21
+ // Core assessment types (original v1.0)
21
22
  "vocabulary",
22
23
  "code_understanding",
23
24
  "problem_solving",
24
25
  "application",
25
- "reflection"
26
+ "reflection",
27
+ // Code-focused types
28
+ "debugging",
29
+ "trace",
30
+ "predict",
31
+ // Higher-order thinking
32
+ "analyze",
33
+ "evaluation",
34
+ "synthesis",
35
+ "design",
36
+ "conceptual",
37
+ "explain",
38
+ // Domain-specific
39
+ "bebras",
40
+ "blockmodel",
41
+ "ethical_reasoning"
26
42
  ]);
27
43
  var QuestionArchetypeSchema = zod.z.enum([
44
+ // Original archetypes (v1.1)
28
45
  "vocabulary",
29
46
  "trace",
30
47
  "bebras",
31
48
  "blockmodel",
32
- "parsons"
49
+ "parsons",
50
+ // Assessment patterns
51
+ "application",
52
+ "problem_solving",
53
+ "debugging",
54
+ "predict",
55
+ "explain",
56
+ "evaluation",
57
+ "reflection",
58
+ "conceptual",
59
+ "analysis",
60
+ "design",
61
+ "synthesis",
62
+ "code"
33
63
  ]);
34
64
  var DifficultySchema = zod.z.enum(["easy", "medium", "hard", "challenge"]);
35
65
  var BloomsTaxonomySchema = zod.z.enum([
@@ -53,8 +83,8 @@ var QuestionMetadataSchema = zod.z.object({
53
83
  });
54
84
  var QuestionSchema = zod.z.object({
55
85
  // Identifiers
56
- questionId: zod.z.string().regex(/^[a-z0-9-]+-l\d+-q\d+$/),
57
- globalId: zod.z.string().regex(/^exit-ticket-\d{4}$/),
86
+ questionId: zod.z.string().regex(/^[a-z0-9][-a-z0-9]*-(?:l\d+-)?q\d+$/),
87
+ globalId: zod.z.string().regex(/^exit-ticket-[a-z0-9][-a-z0-9]*$/),
58
88
  questionNumber: zod.z.number().int().positive().max(5),
59
89
  // Classification
60
90
  questionType: QuestionTypeSchema,
@@ -94,6 +124,8 @@ var CourseDomainSchema = zod.z.enum([
94
124
  "ai_ml_cv",
95
125
  "ai_generative",
96
126
  "ai_advanced",
127
+ "ai",
128
+ // Prompt Engineering (general AI)
97
129
  // Web Development
98
130
  "web_development",
99
131
  // Mobile Development
@@ -103,11 +135,21 @@ var CourseDomainSchema = zod.z.enum([
103
135
  "block_based",
104
136
  "python_programming",
105
137
  "design",
138
+ "artificial_intelligence",
139
+ // Block-based AI courses (BBAI)
140
+ // Computer Science
141
+ "cs_foundations",
142
+ // CS1-CS4 courses
106
143
  // Foundation
107
144
  "foundation",
108
- "creative_computing"
145
+ "creative_computing",
146
+ // Utility / Tools
147
+ "tools"
148
+ // IDE Setup, Git, Vibe Coding
109
149
  ]);
110
150
  var CourseTierSchema = zod.z.enum([
151
+ "beginner",
152
+ // Block-based courses (BBW, BBP, BBD, BBAI)
111
153
  "foundation",
112
154
  "intermediate",
113
155
  "advanced"