@digimakers/core 0.3.38 → 0.3.40

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.
@@ -3,12 +3,19 @@ export interface ParsedSection {
3
3
  content: string;
4
4
  imageSlots: ImageSlot[];
5
5
  }
6
+ export interface ChallengeImageMapping {
7
+ challengeIndex: number;
8
+ imageSlot: ImageSlot;
9
+ }
10
+ export interface ChallengeParsedSection extends ParsedSection {
11
+ challengeImageMappings: ChallengeImageMapping[];
12
+ }
6
13
  export interface DoclingParsedSections {
7
14
  preface: ParsedSection;
8
15
  getReady: ParsedSection;
9
16
  addYourCode: ParsedSection;
10
17
  tryItOut: ParsedSection;
11
- challenge: ParsedSection;
18
+ challenge: ChallengeParsedSection;
12
19
  testYourself: ParsedSection;
13
20
  funFact: ParsedSection;
14
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docling-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/docling-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAajD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;CACxB;AAiDD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CA8D5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,MAAM,EAAE,GACf,qBAAqB,CAiBvB"}
1
+ {"version":3,"file":"docling-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/docling-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAajD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,sBAAsB,CAAC;IAClC,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;CACxB;AAgGD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAqE5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,MAAM,EAAE,GACf,qBAAqB,CAkBvB"}
@@ -15,6 +15,44 @@ function createImageSlots(count, prefix) {
15
15
  id: `${prefix}_img_${i + 1}`,
16
16
  }));
17
17
  }
18
+ /**
19
+ * Parse challenge section content to map images to specific challenges.
20
+ * Individual challenges are identified by ## headers within the challenge section.
21
+ * Images are assigned to the challenge they appear under.
22
+ */
23
+ function parseChallengeImageMappings(content) {
24
+ const mappings = [];
25
+ const lines = content.split('\n');
26
+ // Find the main "## Challenge" header first, then look for sub-challenges
27
+ // Sub-challenges typically start with ## followed by the challenge name
28
+ let currentChallengeIndex = -1; // -1 means before any challenge
29
+ let imageCounter = 0;
30
+ let isAfterMainHeader = false;
31
+ for (const line of lines) {
32
+ const trimmedLine = line.trim();
33
+ // Check if this is the main Challenge header (## Challenge or ## Challenge!)
34
+ if (SECTION_HEADERS.challenge.test(trimmedLine)) {
35
+ isAfterMainHeader = true;
36
+ continue;
37
+ }
38
+ // Check if this is a sub-challenge header (## followed by text, but not a known section)
39
+ if (isAfterMainHeader && /^##\s+\S/.test(trimmedLine)) {
40
+ // Make sure it's not another main section header
41
+ const isMainSection = Object.values(SECTION_HEADERS).some((pattern) => pattern.test(trimmedLine));
42
+ if (!isMainSection) {
43
+ currentChallengeIndex++;
44
+ }
45
+ }
46
+ // Check for image marker
47
+ if (trimmedLine === IMAGE_MARKER && currentChallengeIndex >= 0) {
48
+ mappings.push({
49
+ challengeIndex: currentChallengeIndex,
50
+ imageSlot: { id: `challenge_img_${++imageCounter}` },
51
+ });
52
+ }
53
+ }
54
+ return mappings;
55
+ }
18
56
  function splitAtHeader(markdown, headerPattern) {
19
57
  const lines = markdown.split('\n');
20
58
  for (let i = 0; i < lines.length; i++) {
@@ -48,7 +86,7 @@ export function parseDoclingMarkdown(markdown) {
48
86
  getReady: { content: '', imageSlots: [] },
49
87
  addYourCode: { content: '', imageSlots: [] },
50
88
  tryItOut: { content: '', imageSlots: [] },
51
- challenge: { content: '', imageSlots: [] },
89
+ challenge: { content: '', imageSlots: [], challengeImageMappings: [] },
52
90
  testYourself: { content: '', imageSlots: [] },
53
91
  funFact: { content: '', imageSlots: [] },
54
92
  };
@@ -78,10 +116,15 @@ export function parseDoclingMarkdown(markdown) {
78
116
  sections.tryItOut.content = extractSection(markdown, SECTION_HEADERS.tryItOut, [
79
117
  SECTION_HEADERS.challenge,
80
118
  ]).trim();
119
+ // Extract Challenge section, with image mappings (for Scratch lessons)
81
120
  sections.challenge.content = extractSection(markdown, SECTION_HEADERS.challenge, [
82
121
  SECTION_HEADERS.testYourself,
83
122
  SECTION_HEADERS.funFact,
84
123
  ]).trim();
124
+ // Parse challenge-specific image mappings (tracks which challenge each image belongs to)
125
+ sections.challenge.challengeImageMappings = parseChallengeImageMappings(sections.challenge.content);
126
+ // Also create flat imageSlots for compatibility
127
+ sections.challenge.imageSlots = sections.challenge.challengeImageMappings.map((m) => m.imageSlot);
85
128
  sections.testYourself.content = extractSection(markdown, SECTION_HEADERS.testYourself, [
86
129
  SECTION_HEADERS.funFact,
87
130
  ]).trim();
@@ -101,9 +144,10 @@ export function assignImagesToSlots(sections, images) {
101
144
  }
102
145
  }
103
146
  };
104
- // Only assign to sections that track image slots
147
+ // Assign to sections that track image slots (in document order)
105
148
  assignToSection(sections.preface);
106
149
  assignToSection(sections.addYourCode);
150
+ assignToSection(sections.challenge);
107
151
  return sections;
108
152
  }
109
153
  //# sourceMappingURL=docling-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docling-parser.js","sourceRoot":"","sources":["../../src/parsing/docling-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docling-parser.js","sourceRoot":"","sources":["../../src/parsing/docling-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"docx-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/docx-parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAiB,MAAM,qBAAqB,CAAC;AAqB5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgKtE"}
1
+ {"version":3,"file":"docx-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/docx-parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAmC,MAAM,qBAAqB,CAAC;AAqB9E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2MtE"}
@@ -40,9 +40,11 @@ export async function parseDocx(filePath) {
40
40
  if (doclingMarkdown) {
41
41
  parsedSections = parseDoclingMarkdown(doclingMarkdown);
42
42
  assignImagesToSlots(parsedSections, allImages);
43
+ logger.info(`Challenge section: content length=${parsedSections.challenge.content.length}, imageSlots=${parsedSections.challenge.imageSlots.length}`);
43
44
  logger.debug({
44
45
  prefaceImageSlots: parsedSections.preface.imageSlots.length,
45
46
  addYourCodeImageSlots: parsedSections.addYourCode.imageSlots.length,
47
+ challengeImageSlots: parsedSections.challenge.imageSlots.length,
46
48
  totalImages: allImages.length,
47
49
  }, 'Docling image slots parsed');
48
50
  textForLLM = doclingMarkdown;
@@ -144,6 +146,37 @@ export async function parseDocx(filePath) {
144
146
  });
145
147
  }
146
148
  }
149
+ // Assign challenge images (for Scratch lessons)
150
+ // Uses challengeImageMappings to assign images to the correct challenge by index
151
+ const challengeMappings = parsedSections.challenge.challengeImageMappings;
152
+ logger.debug({
153
+ lessonType: data.lessonType,
154
+ hasChallengeSection: Array.isArray(data.challengeSection),
155
+ challengeImageMappingsCount: challengeMappings.length,
156
+ challengeMappings: challengeMappings.map((m) => ({
157
+ challengeIndex: m.challengeIndex,
158
+ slotId: m.imageSlot.id,
159
+ })),
160
+ }, 'Challenge image assignment check');
161
+ if (data.lessonType === 'block-based (scratch) lesson' &&
162
+ Array.isArray(data.challengeSection) &&
163
+ challengeMappings.length > 0) {
164
+ logger.info(`Assigning ${challengeMappings.length} images to challenges by index mapping`);
165
+ // Assign each image to its mapped challenge
166
+ for (const mapping of challengeMappings) {
167
+ const challenge = data.challengeSection[mapping.challengeIndex];
168
+ if (challenge) {
169
+ challenge.imageSlot = {
170
+ id: mapping.imageSlot.id,
171
+ base64: mapping.imageSlot.base64,
172
+ };
173
+ logger.debug(`Assigned image ${mapping.imageSlot.id} to challenge index ${mapping.challengeIndex}`);
174
+ }
175
+ else {
176
+ logger.warn(`No challenge found at index ${mapping.challengeIndex} for image ${mapping.imageSlot.id}`);
177
+ }
178
+ }
179
+ }
147
180
  }
148
181
  else {
149
182
  // Fallback using old behavior, first image is project, rest are steps
@@ -1 +1 @@
1
- {"version":3,"file":"docx-parser.js","sourceRoot":"","sources":["../../src/parsing/docx-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docx-parser.js","sourceRoot":"","sources":["../../src/parsing/docx-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sample-data.d.ts","sourceRoot":"","sources":["../src/sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,MA2D9B,CAAC"}
1
+ {"version":3,"file":"sample-data.d.ts","sourceRoot":"","sources":["../src/sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,MAmE9B,CAAC"}
@@ -40,12 +40,20 @@ export const sampleLessonData = {
40
40
  'Check if the car bounces at the edges',
41
41
  ],
42
42
  challengeSection: [
43
- { name: 'Bruise Penguin', task: 'Add sound effects when the penguin gets hit', hintCode: null },
44
- { name: 'Add more cars', task: 'Add more cars moving at different speeds', hintCode: null },
43
+ {
44
+ name: 'Bruise Penguin',
45
+ task: 'Add sound effects when the penguin gets hit',
46
+ imageSlot: null,
47
+ },
48
+ {
49
+ name: 'Add more cars',
50
+ task: 'Add more cars moving at different speeds',
51
+ imageSlot: null,
52
+ },
45
53
  {
46
54
  name: 'Multiple Levels',
47
55
  task: 'Create multiple levels with increasing difficulty',
48
- hintCode: null,
56
+ imageSlot: null,
49
57
  },
50
58
  ],
51
59
  newProject: {
@@ -1 +1 @@
1
- {"version":3,"file":"sample-data.js","sourceRoot":"","sources":["../src/sample-data.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,UAAU,EAAE,8BAA8B;IAC1C,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,WAAW,EACT,oJAAoJ;IACtJ,gBAAgB,EACd,sJAAsJ;IACxJ,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,CAAC,uBAAuB,EAAE,gDAAgD,CAAC;IAC5F,kBAAkB,EAAE;QAClB;YACE,IAAI,EAAE,sHAAsH;YAC5H,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,2FAA2F;YACjG,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,qGAAqG;YAC3G,SAAS,EAAE,IAAI;SAChB;KACF;IACD,eAAe,EAAE;QACf,yCAAyC;QACzC,kDAAkD;QAClD,uCAAuC;KACxC;IACD,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/F,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3F;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,mDAAmD;YACzD,QAAQ,EAAE,IAAI;SACf;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,oEAAoE;KAC3E;IACD,YAAY,EAAE,oBAAoB;IAClC,OAAO,EACL,0FAA0F;CAC7F,CAAC"}
1
+ {"version":3,"file":"sample-data.js","sourceRoot":"","sources":["../src/sample-data.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,UAAU,EAAE,8BAA8B;IAC1C,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,WAAW,EACT,oJAAoJ;IACtJ,gBAAgB,EACd,sJAAsJ;IACxJ,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,CAAC,uBAAuB,EAAE,gDAAgD,CAAC;IAC5F,kBAAkB,EAAE;QAClB;YACE,IAAI,EAAE,sHAAsH;YAC5H,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,2FAA2F;YACjG,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,yEAAyE;YAC/E,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,qGAAqG;YAC3G,SAAS,EAAE,IAAI;SAChB;KACF;IACD,eAAe,EAAE;QACf,yCAAyC;QACzC,kDAAkD;QAClD,uCAAuC;KACxC;IACD,gBAAgB,EAAE;QAChB;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,6CAA6C;YACnD,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,0CAA0C;YAChD,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,mDAAmD;YACzD,SAAS,EAAE,IAAI;SAChB;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,oEAAoE;KAC3E;IACD,YAAY,EAAE,oBAAoB;IAClC,OAAO,EACL,0FAA0F;CAC7F,CAAC"}
@@ -1,3 +1,3 @@
1
- export { StepWithImageSchema, StepsWithCodeBlockSchema, ChallengeSchema, NewProjectSchema, ProgrammingLessonSchema, ScratchLessonSchema, DebugLessonSchema, LessonSchema, LessonLLMSchema, type ImageSlot, type StepWithImage, type StepsWithCodeBlock, type Challenge, type NewProject, type Lesson, } from './lesson.js';
1
+ export { StepWithImageSchema, StepsWithCodeBlockSchema, ChallengeSchema, ScratchChallengeSchema, NewProjectSchema, ProgrammingLessonSchema, ScratchLessonSchema, DebugLessonSchema, LessonSchema, LessonLLMSchema, type ImageSlot, type StepWithImage, type StepsWithCodeBlock, type Challenge, type ScratchChallenge, type NewProject, type Lesson, } from './lesson.js';
2
2
  export { GenerateOptionsSchema, type GenerateOptions } from './generation.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { StepWithImageSchema, StepsWithCodeBlockSchema, ChallengeSchema, NewProjectSchema, ProgrammingLessonSchema, ScratchLessonSchema, DebugLessonSchema, LessonSchema, LessonLLMSchema, } from './lesson.js';
1
+ export { StepWithImageSchema, StepsWithCodeBlockSchema, ChallengeSchema, ScratchChallengeSchema, NewProjectSchema, ProgrammingLessonSchema, ScratchLessonSchema, DebugLessonSchema, LessonSchema, LessonLLMSchema, } from './lesson.js';
2
2
  export { GenerateOptionsSchema } from './generation.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAOhB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAwB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAQhB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAwB,MAAM,iBAAiB,CAAC"}
@@ -24,6 +24,14 @@ export declare const ChallengeSchema: z.ZodObject<{
24
24
  task: z.ZodString;
25
25
  hintCode: z.ZodNullable<z.ZodString>;
26
26
  }, z.core.$strip>;
27
+ export declare const ScratchChallengeSchema: z.ZodObject<{
28
+ name: z.ZodString;
29
+ task: z.ZodString;
30
+ imageSlot: z.ZodDefault<z.ZodNullable<z.ZodObject<{
31
+ id: z.ZodString;
32
+ base64: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>>>;
34
+ }, z.core.$strip>;
27
35
  export declare const NewProjectSchema: z.ZodObject<{
28
36
  name: z.ZodString;
29
37
  task: z.ZodString;
@@ -101,11 +109,6 @@ export declare const ScratchLessonSchema: z.ZodObject<{
101
109
  }, z.core.$strip>>>;
102
110
  getReadySection: z.ZodArray<z.ZodString>;
103
111
  tryItOutSection: z.ZodNullable<z.ZodArray<z.ZodString>>;
104
- challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
105
- name: z.ZodString;
106
- task: z.ZodString;
107
- hintCode: z.ZodNullable<z.ZodString>;
108
- }, z.core.$strip>>>;
109
112
  newProject: z.ZodNullable<z.ZodObject<{
110
113
  name: z.ZodString;
111
114
  task: z.ZodString;
@@ -120,6 +123,14 @@ export declare const ScratchLessonSchema: z.ZodObject<{
120
123
  base64: z.ZodOptional<z.ZodString>;
121
124
  }, z.core.$strip>>>;
122
125
  }, z.core.$strip>>;
126
+ challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
127
+ name: z.ZodString;
128
+ task: z.ZodString;
129
+ imageSlot: z.ZodDefault<z.ZodNullable<z.ZodObject<{
130
+ id: z.ZodString;
131
+ base64: z.ZodOptional<z.ZodString>;
132
+ }, z.core.$strip>>>;
133
+ }, z.core.$strip>>>;
123
134
  }, z.core.$strip>;
124
135
  export declare const ScratchLessonLLMSchema: z.ZodObject<{
125
136
  lessonType: z.ZodLiteral<"block-based (scratch) lesson">;
@@ -147,7 +158,6 @@ export declare const ScratchLessonLLMSchema: z.ZodObject<{
147
158
  challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
148
159
  name: z.ZodString;
149
160
  task: z.ZodString;
150
- hintCode: z.ZodNullable<z.ZodString>;
151
161
  }, z.core.$strip>>>;
152
162
  newProject: z.ZodNullable<z.ZodObject<{
153
163
  name: z.ZodString;
@@ -275,11 +285,6 @@ export declare const LessonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
275
285
  }, z.core.$strip>>>;
276
286
  getReadySection: z.ZodArray<z.ZodString>;
277
287
  tryItOutSection: z.ZodNullable<z.ZodArray<z.ZodString>>;
278
- challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
279
- name: z.ZodString;
280
- task: z.ZodString;
281
- hintCode: z.ZodNullable<z.ZodString>;
282
- }, z.core.$strip>>>;
283
288
  newProject: z.ZodNullable<z.ZodObject<{
284
289
  name: z.ZodString;
285
290
  task: z.ZodString;
@@ -294,6 +299,14 @@ export declare const LessonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
294
299
  base64: z.ZodOptional<z.ZodString>;
295
300
  }, z.core.$strip>>>;
296
301
  }, z.core.$strip>>;
302
+ challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
303
+ name: z.ZodString;
304
+ task: z.ZodString;
305
+ imageSlot: z.ZodDefault<z.ZodNullable<z.ZodObject<{
306
+ id: z.ZodString;
307
+ base64: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>>>;
309
+ }, z.core.$strip>>>;
297
310
  }, z.core.$strip>, z.ZodObject<{
298
311
  level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
299
312
  lessonType: z.ZodLiteral<"debugging lesson">;
@@ -381,7 +394,6 @@ export declare const LessonLLMSchema: z.ZodUnion<readonly [z.ZodObject<{
381
394
  challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
382
395
  name: z.ZodString;
383
396
  task: z.ZodString;
384
- hintCode: z.ZodNullable<z.ZodString>;
385
397
  }, z.core.$strip>>>;
386
398
  newProject: z.ZodNullable<z.ZodObject<{
387
399
  name: z.ZodString;
@@ -446,7 +458,6 @@ export declare const LessonLLMSchemaWithoutLanguage: z.ZodUnion<readonly [z.ZodO
446
458
  challengeSection: z.ZodNullable<z.ZodArray<z.ZodObject<{
447
459
  name: z.ZodString;
448
460
  task: z.ZodString;
449
- hintCode: z.ZodNullable<z.ZodString>;
450
461
  }, z.core.$strip>>>;
451
462
  newProject: z.ZodNullable<z.ZodObject<{
452
463
  name: z.ZodString;
@@ -470,6 +481,7 @@ export type ImageSlot = z.infer<typeof ImageSlotSchema>;
470
481
  export type StepWithImage = z.infer<typeof StepWithImageSchema>;
471
482
  export type StepsWithCodeBlock = z.infer<typeof StepsWithCodeBlockSchema>;
472
483
  export type Challenge = z.infer<typeof ChallengeSchema>;
484
+ export type ScratchChallenge = z.infer<typeof ScratchChallengeSchema>;
473
485
  export type NewProject = z.infer<typeof NewProjectSchema>;
474
486
  export type Lesson = z.infer<typeof LessonSchema>;
475
487
  export type LessonLLM = z.infer<typeof LessonLLMSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"lesson.d.ts","sourceRoot":"","sources":["../../src/schemas/lesson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;;;;;;;EAWvB,CAAC;AAKH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;iBAWnC,CAAC;AACH,eAAO,MAAM,eAAe;;;;iBAe1B,CAAC;AACH,eAAO,MAAM,gBAAgB;;;iBAS3B,CAAC;AAKH,eAAO,MAAM,SAAS,uEAAmD,CAAC;AAG1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoDlC,CAAC;AAOH,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAGH,eAAO,MAAM,eAAe;;;iBAK1B,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW5B,CAAC;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAIvB,CAAC;AAoBH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAI1B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAIzC,CAAC;AAGH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"lesson.d.ts","sourceRoot":"","sources":["../../src/schemas/lesson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;;;;;;;EAWvB,CAAC;AAKH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;iBAWnC,CAAC;AACH,eAAO,MAAM,eAAe;;;;iBAe1B,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;iBAEjC,CAAC;AACH,eAAO,MAAM,gBAAgB;;;iBAS3B,CAAC;AAKH,eAAO,MAAM,SAAS,uEAAmD,CAAC;AAG1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoDlC,CAAC;AAOH,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI9B,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMjC,CAAC;AAGH,eAAO,MAAM,eAAe;;;iBAK1B,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW5B,CAAC;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAIvB,CAAC;AAoBH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAI1B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAIzC,CAAC;AAGH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -40,6 +40,10 @@ export const ChallengeSchema = z.object({
40
40
  .nullable()
41
41
  .describe('Code that gives a hint on how to complete the challenge (only code allowed, perserve whitespace and add line breaks)'),
42
42
  });
43
+ // Challenge schema for Scratch lessons - no code blocks, but has optional image slot
44
+ export const ScratchChallengeSchema = ChallengeSchema.omit({ hintCode: true }).extend({
45
+ imageSlot: ImageSlotSchema.nullable().default(null),
46
+ });
43
47
  export const NewProjectSchema = z.object({
44
48
  name: z
45
49
  .string()
@@ -108,10 +112,13 @@ export const StepWithImageSchema = z.object({
108
112
  export const ScratchLessonSchema = ProgrammingLessonSchema.extend({
109
113
  lessonType: z.literal('block-based (scratch) lesson'),
110
114
  addYourCodeSection: z.array(StepWithImageSchema),
115
+ challengeSection: z.array(ScratchChallengeSchema).nullable(),
111
116
  }); // LLM version of the same schema
112
117
  const StepWithImageLLMSchema = StepWithImageSchema.omit({ imageSlot: true });
118
+ const ScratchChallengeLLMSchema = ScratchChallengeSchema.omit({ imageSlot: true });
113
119
  export const ScratchLessonLLMSchema = ScratchLessonSchema.extend({
114
120
  addYourCodeSection: z.array(StepWithImageLLMSchema).describe('Step-by-step coding instructions'),
121
+ challengeSection: z.array(ScratchChallengeLLMSchema).nullable(),
115
122
  }).omit({
116
123
  level: true,
117
124
  prefaceImageSlots: true,
@@ -1 +1 @@
1
- {"version":3,"file":"lesson.js","sourceRoot":"","sources":["../../src/schemas/lesson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lesson.js","sourceRoot":"","sources":["../../src/schemas/lesson.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digimakers/core",
3
- "version": "0.3.38",
3
+ "version": "0.3.40",
4
4
  "description": "Core library for Digimaker - docx to PDF conversion",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@ai-sdk/google": "^3.0.10",
25
- "@digimakers/docling-cleaner": "^1.2.38",
25
+ "@digimakers/docling-cleaner": "^1.2.40",
26
26
  "ai": "6.0.39",
27
27
  "dotenv": "^17.2.3",
28
28
  "express": "5.2.1",