@digimakers/core 0.3.28 → 0.3.30

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 +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,CA8JtE"}
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"}
@@ -2,7 +2,7 @@ import fs from 'fs/promises';
2
2
  import mammoth from 'mammoth';
3
3
  import { generateText, Output } from 'ai';
4
4
  import { logger } from '../logger.js';
5
- import { extractLanguageFromFooter } from './footer-parser.js';
5
+ import { extractFooterInfo } from './footer-parser.js';
6
6
  import { LessonLLMSchema, LessonLLMSchemaWithoutLanguage, } from '../schemas/lesson.js';
7
7
  import { parseDoclingMarkdown, assignImagesToSlots } from './docling-parser.js';
8
8
  import { getDoclingMarkdown } from './docling-runners.js';
@@ -28,11 +28,12 @@ async function extractImages(buffer) {
28
28
  export async function parseDocx(filePath) {
29
29
  logger.info(`Parsing: ${filePath}`);
30
30
  const buffer = await fs.readFile(filePath);
31
- const [allImages, footerLanguage, doclingMarkdown] = await Promise.all([
31
+ const [allImages, footerInfo, doclingMarkdown] = await Promise.all([
32
32
  extractImages(buffer),
33
- extractLanguageFromFooter(filePath),
33
+ extractFooterInfo(filePath),
34
34
  getDoclingMarkdown(filePath),
35
35
  ]);
36
+ const { language: footerLanguage, level: footerLevel } = footerInfo;
36
37
  // Parse docling markdown to get sections with image placeholders
37
38
  let parsedSections = null;
38
39
  let textForLLM;
@@ -107,10 +108,11 @@ export async function parseDocx(filePath) {
107
108
  data = enrichDebugIssues(textForLLM, data);
108
109
  logger.info(`Inferred lesson type as: '${data.lessonType}'`);
109
110
  logger.info(`Successfully extracted lesson: ${data.topic} - ${data.project}`);
111
+ // Set rule-based fields from footer
110
112
  if (footerLanguage) {
111
- // Set programming language from footer if found
112
113
  data.programmingLanguage = footerLanguage;
113
114
  }
115
+ data.level = footerLevel;
114
116
  // Debugging lessons have no images, exit early
115
117
  if (data.lessonType === 'debugging lesson') {
116
118
  logger.info(data);
@@ -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,7 +1,11 @@
1
+ import { ProgrammingLanguage } from '../schemas/lesson.js';
2
+ export interface FooterInfo {
3
+ language: ProgrammingLanguage | null;
4
+ level: 1 | 2;
5
+ }
1
6
  /**
2
- * Extract programming language from the footer of a .docx file
7
+ * Extract programming language and level from the footer of a .docx file
3
8
  * Expected format: "Level: Scratch-1" or "Level: Python-2"
4
- * Output: the mapped language for the programming language
5
9
  */
6
- export declare function extractLanguageFromFooter(filePath: string): Promise<string | null>;
10
+ export declare function extractFooterInfo(filePath: string): Promise<FooterInfo>;
7
11
  //# sourceMappingURL=footer-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/footer-parser.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxF"}
1
+ {"version":3,"file":"footer-parser.d.ts","sourceRoot":"","sources":["../../src/parsing/footer-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAkB3D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAsC7E"}
@@ -14,36 +14,44 @@ const LANGUAGE_MAP = {
14
14
  c: 'c',
15
15
  };
16
16
  /**
17
- * Extract programming language from the footer of a .docx file
17
+ * Extract programming language and level from the footer of a .docx file
18
18
  * Expected format: "Level: Scratch-1" or "Level: Python-2"
19
- * Output: the mapped language for the programming language
20
19
  */
21
- export async function extractLanguageFromFooter(filePath) {
20
+ export async function extractFooterInfo(filePath) {
21
+ const result = { language: null, level: 1 };
22
22
  try {
23
23
  const extractor = new WordExtractor();
24
24
  const doc = await extractor.extract(filePath);
25
25
  const footerText = doc.getFooters().trim().toLowerCase();
26
26
  if (!footerText || !footerText.includes('level')) {
27
- return null;
27
+ return result;
28
28
  }
29
29
  logger.debug(`Text found in footer: ${footerText}`);
30
- const levelMatch = footerText.match(/level:\s*([A-Za-z\s-]+?)[-\d]/i);
31
- if (levelMatch && levelMatch[1]) {
32
- const rawLanguage = levelMatch[1].trim().toLowerCase();
30
+ // Match format: "Level: <Language>-<Level>" e.g. "Level: Scratch-1" or "Level: Python-2"
31
+ const match = footerText.match(/level:\s*([A-Za-z\s-]+?)-(\d)/i);
32
+ if (match) {
33
+ // Extract language
34
+ const rawLanguage = match[1].trim().toLowerCase();
33
35
  const mappedLanguage = LANGUAGE_MAP[rawLanguage];
34
36
  if (mappedLanguage) {
35
37
  logger.info(`Found programming language in footer: ${mappedLanguage}`);
36
- return mappedLanguage;
38
+ result.language = mappedLanguage;
37
39
  }
38
40
  else {
39
41
  logger.warn(`Language "${rawLanguage}" found in footer but not in language map`);
40
42
  }
43
+ // Extract level (1 or 2, default to 1)
44
+ const levelNum = parseInt(match[2], 10);
45
+ if (levelNum === 1 || levelNum === 2) {
46
+ result.level = levelNum;
47
+ logger.info(`Found level in footer: ${result.level}`);
48
+ }
41
49
  }
42
- return null;
50
+ return result;
43
51
  }
44
52
  catch (error) {
45
53
  logger.error(`Error extracting footer from ${filePath}: ${error}`);
46
- return null;
54
+ return result;
47
55
  }
48
56
  }
49
57
  //# sourceMappingURL=footer-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer-parser.js","sourceRoot":"","sources":["../../src/parsing/footer-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,mBAAmB;AACnB,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,MAAM,YAAY,GAAwC;IACxD,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,2BAA2B;IACvC,IAAI,EAAE,2BAA2B;IACjC,GAAG,EAAE,2BAA2B;IAChC,CAAC,EAAE,GAAG;CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAgB;IAC9D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAW,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,yCAAyC,cAAc,EAAE,CAAC,CAAC;gBACvE,OAAO,cAAc,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,aAAa,WAAW,2CAA2C,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"footer-parser.js","sourceRoot":"","sources":["../../src/parsing/footer-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,mBAAmB;AACnB,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,MAAM,YAAY,GAAwC;IACxD,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,2BAA2B;IACvC,IAAI,EAAE,2BAA2B;IACjC,GAAG,EAAE,2BAA2B;IAChC,CAAC,EAAE,GAAG;CACP,CAAC;AAOF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAW,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QAEpD,yFAAyF;QACzF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,mBAAmB;YACnB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,yCAAyC,cAAc,EAAE,CAAC,CAAC;gBACvE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,aAAa,WAAW,2CAA2C,CAAC,CAAC;YACnF,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -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,MA0D9B,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,MA2D9B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export const sampleLessonData = {
2
2
  lessonType: 'block-based (scratch) lesson',
3
+ level: 1,
3
4
  topic: 'Decisions',
4
5
  project: 'Crossy Road',
5
6
  description: 'Decision making is important when there will be situations with multiple options and an option needs to be selected based on the given conditions.',
@@ -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,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,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"}
@@ -25,8 +25,10 @@ export declare const NewProjectSchema: z.ZodObject<{
25
25
  name: z.ZodString;
26
26
  task: z.ZodString;
27
27
  }, z.core.$strip>;
28
+ export declare const levelEnum: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
28
29
  export declare const ProgrammingLessonSchema: z.ZodObject<{
29
30
  lessonType: z.ZodLiteral<"text-based (programming) lesson">;
31
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
30
32
  topic: z.ZodString;
31
33
  project: z.ZodString;
32
34
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -70,6 +72,7 @@ export declare const StepWithImageSchema: z.ZodObject<{
70
72
  }, z.core.$strip>>>;
71
73
  }, z.core.$strip>;
72
74
  export declare const ScratchLessonSchema: z.ZodObject<{
75
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
73
76
  topic: z.ZodString;
74
77
  project: z.ZodString;
75
78
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -146,6 +149,7 @@ export declare const DebugStepSchema: z.ZodObject<{
146
149
  issue: z.ZodString;
147
150
  }, z.core.$strip>;
148
151
  export declare const DebugLessonSchema: z.ZodObject<{
152
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
149
153
  lessonType: z.ZodLiteral<"debugging lesson">;
150
154
  topic: z.ZodString;
151
155
  project: z.ZodString;
@@ -191,6 +195,7 @@ export declare const DebugLessonLLMSchema: z.ZodObject<{
191
195
  }, z.core.$strip>;
192
196
  export declare const LessonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
193
197
  lessonType: z.ZodLiteral<"text-based (programming) lesson">;
198
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
194
199
  topic: z.ZodString;
195
200
  project: z.ZodString;
196
201
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -226,6 +231,7 @@ export declare const LessonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
226
231
  testYourself: z.ZodNullable<z.ZodString>;
227
232
  funFact: z.ZodNullable<z.ZodString>;
228
233
  }, z.core.$strip>, z.ZodObject<{
234
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
229
235
  topic: z.ZodString;
230
236
  project: z.ZodString;
231
237
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -265,6 +271,7 @@ export declare const LessonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
265
271
  }, z.core.$strip>>>;
266
272
  }, z.core.$strip>>;
267
273
  }, z.core.$strip>, z.ZodObject<{
274
+ level: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
268
275
  lessonType: z.ZodLiteral<"debugging lesson">;
269
276
  topic: z.ZodString;
270
277
  project: z.ZodString;
@@ -420,6 +427,7 @@ export declare const LessonLLMSchemaWithoutLanguage: z.ZodUnion<readonly [z.ZodO
420
427
  }, z.core.$strip>>;
421
428
  }, z.core.$strip>]>;
422
429
  export type ProgrammingLanguage = z.infer<typeof languageEnum>;
430
+ export type LessonLevel = z.infer<typeof levelEnum>;
423
431
  export type ImageSlot = z.infer<typeof ImageSlotSchema>;
424
432
  export type StepWithImage = z.infer<typeof StepWithImageSchema>;
425
433
  export type StepsWithCodeBlock = z.infer<typeof StepsWithCodeBlockSchema>;
@@ -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;;;;;;;;EAQvB,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,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmDlC,CAAC;AAOH,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAGH,eAAO,MAAM,eAAe;;;iBAK1B,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAW5B,CAAC;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAE/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,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;;;;;;;;EAQvB,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;AAQH,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"}
@@ -47,9 +47,12 @@ export const NewProjectSchema = z.object({
47
47
  });
48
48
  // Representation of any lesson that digimaker provides, dynamic fields that
49
49
  // account for all possible variations of input.
50
+ // Lesson level enum (1 or 2)
51
+ export const levelEnum = z.union([z.literal(1), z.literal(2)]).default(1);
50
52
  // Programming text-based lessons
51
53
  export const ProgrammingLessonSchema = z.object({
52
54
  lessonType: z.literal('text-based (programming) lesson'),
55
+ level: levelEnum,
53
56
  topic: z
54
57
  .string()
55
58
  .describe('The main topic/category of the lesson (e.g., "Decisions", "Loops", "Variables")'),
@@ -89,8 +92,9 @@ export const ProgrammingLessonSchema = z.object({
89
92
  newProject: NewProjectSchema.nullable().describe('Suggestion for a new project or extension activity. Null only when it is a debugging lesson'),
90
93
  testYourself: z.string().nullable(),
91
94
  funFact: z.string().nullable().describe('An interesting fact related to the lesson topic'),
92
- }); // LLM version of the same schema
95
+ }); // LLM version of the same schema (omit rule-based fields)
93
96
  const StandardLessonLLMSchema = ProgrammingLessonSchema.omit({
97
+ level: true,
94
98
  prefaceImageSlots: true,
95
99
  testYourself: true,
96
100
  });
@@ -107,6 +111,7 @@ const StepWithImageLLMSchema = StepWithImageSchema.omit({ imageSlot: true });
107
111
  export const ScratchLessonLLMSchema = ScratchLessonSchema.extend({
108
112
  addYourCodeSection: z.array(StepWithImageLLMSchema).describe('Step-by-step coding instructions'),
109
113
  }).omit({
114
+ level: true,
110
115
  prefaceImageSlots: true,
111
116
  });
112
117
  // Dbugging lessons
@@ -129,6 +134,7 @@ export const DebugLessonSchema = ProgrammingLessonSchema.extend({
129
134
  funFact: true,
130
135
  }); // LLM version of the same schema
131
136
  export const DebugLessonLLMSchema = DebugLessonSchema.omit({
137
+ level: true,
132
138
  prefaceImageSlots: true,
133
139
  });
134
140
  export const LessonSchema = z.discriminatedUnion('lessonType', [
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,MAAM;IACN,SAAS;IACT,aAAa;IACb,2BAA2B;IAC3B,QAAQ;IACR,MAAM;IACN,GAAG;CACJ,CAAC,CAAC;AAEH,uEAAuE;AAEvE,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,iGAAiG,CAClG;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,wEAAwE,CAAC;IACrF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,6JAA6J,CAC9J;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sHAAsH,CACvH;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,sFAAsF,CACvF;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,gFAAgF,CAAC;CAC9F,CAAC,CAAC;AACH,4EAA4E;AAC5E,gDAAgD;AAEhD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1E,iCAAiC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IACxD,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,qEAAqE,CAAC;SAC/E,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACnC,CAAC,CAAC;IACJ,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACzF,mBAAmB,EAAE,YAAY;SAC9B,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,yFAAyF,CAC1F;IACH,iBAAiB,EAAE,CAAC;SACjB,KAAK,CAAC,eAAe,CAAC;SACtB,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,kBAAkB,EAAE,CAAC;SAClB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,QAAQ,CACP,wJAAwJ,CACzJ;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;IACH,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,eAAe,CAAC;SACtB,QAAQ,EAAE;SACV,QAAQ,CACP,6FAA6F,CAC9F;IACH,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC9C,6FAA6F,CAC9F;IACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC3F,CAAC,CAAC,CAAC,0DAA0D;AAC9D,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,IAAI,CAAC;IAC3D,KAAK,EAAE,IAAI;IACX,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC/D,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC;IACrD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACjD,CAAC,CAAC,CAAC,iCAAiC;AACrC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC/D,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACjG,CAAC,CAAC,IAAI,CAAC;IACN,KAAK,EAAE,IAAI;IACX,iBAAiB,EAAE,IAAI;CACxB,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,mFAAmF,CAAC;CACjG,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC1F,CAAC,CAAC,IAAI,CAAC;IACN,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;CACd,CAAC,CAAC,CAAC,iCAAiC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC;IACzD,KAAK,EAAE,IAAI;IACX,iBAAiB,EAAE,IAAI;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC7D,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;CAClB,CAAC,CAAC;AAEH,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,IAAI,CAAC;IACjE,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC,QAAQ,CACT,mIAAmI,CACpI,CAAC;AACF,MAAM,4BAA4B,GAAG,sBAAsB,CAAC,IAAI,CAAC;IAC/D,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC,QAAQ,CACT,wHAAwH,CACzH,CAAC;AACF,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAC3D,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC,QAAQ,CACT,qHAAqH,CACtH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC;IACrC,6BAA6B;IAC7B,4BAA4B;IAC5B,0BAA0B;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC;IACpD,6BAA6B,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACjE,4BAA4B,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAChE,0BAA0B,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digimakers/core",
3
- "version": "0.3.28",
3
+ "version": "0.3.30",
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.28",
25
+ "@digimakers/docling-cleaner": "^1.2.30",
26
26
  "ai": "6.0.39",
27
27
  "dotenv": "^17.2.3",
28
28
  "express": "5.2.1",