lens-content-processor 0.76.0 → 0.79.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.
Files changed (39) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.js +17 -9
  3. package/dist/cli.js.map +1 -1
  4. package/dist/course-graph.d.ts +4 -1
  5. package/dist/course-graph.js +21 -3
  6. package/dist/course-graph.js.map +1 -1
  7. package/dist/dependency-cache.d.ts +25 -0
  8. package/dist/dependency-cache.js +189 -0
  9. package/dist/dependency-cache.js.map +1 -0
  10. package/dist/flattener/index.js +12 -12
  11. package/dist/flattener/index.js.map +1 -1
  12. package/dist/glossary.js +1 -1
  13. package/dist/glossary.js.map +1 -1
  14. package/dist/index.js +50 -8
  15. package/dist/index.js.map +1 -1
  16. package/dist/markdown-parse.d.ts +6 -1
  17. package/dist/markdown-parse.js +41 -11
  18. package/dist/markdown-parse.js.map +1 -1
  19. package/dist/parser/course.js +3 -3
  20. package/dist/parser/course.js.map +1 -1
  21. package/dist/parser/learning-outcome.js +3 -3
  22. package/dist/parser/learning-outcome.js.map +1 -1
  23. package/dist/parser/lens.d.ts +11 -2
  24. package/dist/parser/lens.js +24 -12
  25. package/dist/parser/lens.js.map +1 -1
  26. package/dist/parser/question-embeds.d.ts +45 -0
  27. package/dist/parser/question-embeds.js +302 -0
  28. package/dist/parser/question-embeds.js.map +1 -0
  29. package/dist/parser/response-segments.js +12 -0
  30. package/dist/parser/response-segments.js.map +1 -1
  31. package/dist/parser/sections.d.ts +8 -0
  32. package/dist/parser/sections.js +23 -0
  33. package/dist/parser/sections.js.map +1 -1
  34. package/dist/parser/wikilink.d.ts +9 -3
  35. package/dist/parser/wikilink.js +16 -39
  36. package/dist/parser/wikilink.js.map +1 -1
  37. package/dist/same-page-links.js +20 -2
  38. package/dist/same-page-links.js.map +1 -1
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { ContentError } from "../index.js";
2
+ import { type RawSegment } from "./lens.js";
3
+ import { type QuestionEmbedRef } from "./sections.js";
4
+ /** Folder that question files live in (at the root of the content). */
5
+ export declare const QUESTIONS_DIR = "Questions";
6
+ /**
7
+ * The 0-based indices of the lines of `body` (in `file`) that are a question
8
+ * by themselves: only an embed of a `Questions/` file, outside fenced code,
9
+ * and not right under a `#### Question` header (which already makes it one).
10
+ */
11
+ export declare function questionEmbedLineIndices(body: string, file: string): number[];
12
+ /** Make each such line of a lens body the header of a question segment,
13
+ * `#### Question: ![[...]]`, in place (line numbers stay). */
14
+ export declare function markQuestionEmbedLines(body: string, file: string): string;
15
+ /** Errors for question embeds in a file that is not a lens file (an inline
16
+ * module lens, an article, an LO test): there they would stay text. */
17
+ export declare function questionEmbedsOutsideLenses(content: string, file: string): ContentError[];
18
+ /** Fields a lens may set for itself under an embed; everything else that
19
+ * defines the question (wording, grading, options) lives in the file only. */
20
+ export declare const QUESTION_EMBED_OVERRIDES: readonly string[];
21
+ export declare function isQuestionFilePath(path: string): boolean;
22
+ /** The `#### Question` segment of a question file. */
23
+ export interface QuestionFileResult {
24
+ segment: RawSegment | null;
25
+ errors: ContentError[];
26
+ }
27
+ /** Parse a question file: optional frontmatter, then exactly one
28
+ * `#### Question` segment that embeds nothing itself. */
29
+ export declare function parseQuestionFile(content: string, file: string): QuestionFileResult;
30
+ /** Where `embed` (written in `fromFile`) points, or an error. */
31
+ export declare function resolveQuestionEmbed(embed: QuestionEmbedRef, fromFile: string, files: Map<string, string>): {
32
+ path: string;
33
+ } | {
34
+ error: ContentError;
35
+ };
36
+ /**
37
+ * Replace every embedding question in `segments` (parsed from `file`) by the
38
+ * question of its file, with the lens's own settings for the override fields.
39
+ * Errors are reported on the lens; problems inside the question file itself
40
+ * are reported on that file when it is validated on its own.
41
+ */
42
+ export declare function expandQuestionEmbeds(segments: RawSegment[], file: string, files: Map<string, string> | undefined, prepare?: (text: string) => string): ContentError[];
43
+ /** The embedded question files' contents, for cache keys: a lens's parse
44
+ * depends on them as well as on its own text. */
45
+ export declare function questionEmbedCacheKey(content: string, file: string, files: Map<string, string>): string;
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Question files: a question written once, in `Questions/<name>.md`, and used
3
+ * by any number of lenses.
4
+ *
5
+ * A question file holds exactly one `#### Question` segment, in the same
6
+ * syntax as a question written inline in a lens:
7
+ *
8
+ * #### Question: Open
9
+ * id:: 0983cfd6-876e-4c73-8e81-58318c1abedf
10
+ * content:: Does this setup hold the control property?
11
+ * assessment-instructions:: ...
12
+ *
13
+ * A lens embeds it where the question goes, on a line of its own (the file
14
+ * holds the `#### Question` header), optionally with its own settings for the
15
+ * fields that may differ per lens:
16
+ *
17
+ * ![[../Questions/Control property - untrusted monitor]]
18
+ * force-feedback:: first
19
+ *
20
+ * The embed may also sit under a `#### Question` header of the lens.
21
+ *
22
+ * Expanding the embed gives the lens an ordinary question segment whose id::
23
+ * comes from the file, so every lens embedding it shares one question (one
24
+ * saved answer, one score) by construction: the id-sharing rules of
25
+ * validator/uuid.ts find the copies identical.
26
+ */
27
+ import { dirname, relative } from "node:path";
28
+ import { parseFrontmatter } from "./frontmatter.js";
29
+ import { convertRawSegments } from "./lens.js";
30
+ import { EMBED_LINE_PATTERN, LENS_SEGMENT_TYPES, parseSegments, } from "./sections.js";
31
+ import { findFileWithExtension, findSimilarFiles, formatSuggestion, resolveWikilinkPath, } from "./wikilink.js";
32
+ /** Folder that question files live in (at the root of the content). */
33
+ export const QUESTIONS_DIR = "Questions";
34
+ /** The header markQuestionEmbedLines gives an embed line: the embed as the
35
+ * title, read back by expandQuestionEmbeds. */
36
+ const EMBED_TITLE = /^!\[\[([^\]\n]+)\]\]$/;
37
+ /**
38
+ * The 0-based indices of the lines of `body` (in `file`) that are a question
39
+ * by themselves: only an embed of a `Questions/` file, outside fenced code,
40
+ * and not right under a `#### Question` header (which already makes it one).
41
+ */
42
+ export function questionEmbedLineIndices(body, file) {
43
+ if (!body.includes("![["))
44
+ return [];
45
+ const out = [];
46
+ let fence = null;
47
+ let previous = "";
48
+ body.split("\n").forEach((line, i) => {
49
+ const fenceMatch = /^[ \t]*(```|~~~)/.exec(line);
50
+ if (fenceMatch) {
51
+ if (fence === null)
52
+ fence = fenceMatch[1];
53
+ else if (fence === fenceMatch[1])
54
+ fence = null;
55
+ }
56
+ else if (fence === null) {
57
+ const m = line.match(EMBED_LINE_PATTERN);
58
+ const link = m?.[1].split("|")[0].split("#")[0].trim();
59
+ if (link &&
60
+ resolveWikilinkPath(link, file).startsWith(`${QUESTIONS_DIR}/`) &&
61
+ !/^#{4,6}[ \t]+Question\b/i.test(previous)) {
62
+ out.push(i);
63
+ }
64
+ }
65
+ if (line.trim())
66
+ previous = line.trim();
67
+ });
68
+ return out;
69
+ }
70
+ /** Make each such line of a lens body the header of a question segment,
71
+ * `#### Question: ![[...]]`, in place (line numbers stay). */
72
+ export function markQuestionEmbedLines(body, file) {
73
+ const indices = questionEmbedLineIndices(body, file);
74
+ if (indices.length === 0)
75
+ return body;
76
+ const lines = body.split("\n");
77
+ for (const i of indices)
78
+ lines[i] = `#### Question: ${lines[i].trim()}`;
79
+ return lines.join("\n");
80
+ }
81
+ /** Errors for question embeds in a file that is not a lens file (an inline
82
+ * module lens, an article, an LO test): there they would stay text. */
83
+ export function questionEmbedsOutsideLenses(content, file) {
84
+ return questionEmbedLineIndices(content, file).map((i) => ({
85
+ file,
86
+ line: i + 1,
87
+ message: `Question files can be embedded only in lens files (Lenses/): ${content.split("\n")[i].trim()}`,
88
+ suggestion: "Write the question inline here, or move it into a lens file",
89
+ severity: "error",
90
+ }));
91
+ }
92
+ /** Fields a lens may set for itself under an embed; everything else that
93
+ * defines the question (wording, grading, options) lives in the file only. */
94
+ export const QUESTION_EMBED_OVERRIDES = [
95
+ "force-feedback",
96
+ "optional",
97
+ "feedback-instructions",
98
+ ];
99
+ export function isQuestionFilePath(path) {
100
+ return path.startsWith(`${QUESTIONS_DIR}/`) && path.endsWith(".md");
101
+ }
102
+ /** Parse a question file: optional frontmatter, then exactly one
103
+ * `#### Question` segment that embeds nothing itself. */
104
+ export function parseQuestionFile(content, file) {
105
+ const errors = [];
106
+ let body = content.replace(/\r\n/g, "\n");
107
+ let lineOffset = 0;
108
+ if (body.startsWith("---\n")) {
109
+ const fm = parseFrontmatter(body, file);
110
+ if (fm.error)
111
+ return { segment: null, errors: [fm.error] };
112
+ body = fm.body;
113
+ lineOffset = fm.bodyStartLine - 1;
114
+ }
115
+ const { segments, errors: segmentErrors } = parseSegments(body, 3, LENS_SEGMENT_TYPES, file, lineOffset);
116
+ errors.push(...segmentErrors);
117
+ if (segments.length !== 1 ||
118
+ segments[0].type !== "question" ||
119
+ segments[0].frames?.length) {
120
+ errors.push({
121
+ file,
122
+ line: segments[1]?.line ?? segments[0]?.line ?? 1,
123
+ message: segments.length === 0
124
+ ? "Question file has no '#### Question' segment"
125
+ : "A question file holds exactly one '#### Question' segment and nothing else",
126
+ suggestion: "Put one question per file in Questions/; lenses embed it with ![[../Questions/<name>]]",
127
+ severity: "error",
128
+ });
129
+ return { segment: null, errors };
130
+ }
131
+ const segment = segments[0];
132
+ if (segment.embed) {
133
+ errors.push({
134
+ file,
135
+ line: segment.embed.line,
136
+ message: "A question file can't embed another file",
137
+ suggestion: "Write the question's fields (id::, content::, ...) in this file",
138
+ severity: "error",
139
+ });
140
+ return { segment: null, errors };
141
+ }
142
+ return { segment, errors };
143
+ }
144
+ /** Where `embed` (written in `fromFile`) points, or an error. */
145
+ export function resolveQuestionEmbed(embed, fromFile, files) {
146
+ const link = embed.link.split("|")[0].split("#")[0].trim();
147
+ const resolved = resolveWikilinkPath(link, fromFile);
148
+ const path = findFileWithExtension(resolved, files);
149
+ if (!path) {
150
+ const similar = findSimilarFiles(resolved, files, QUESTIONS_DIR);
151
+ return {
152
+ error: {
153
+ file: fromFile,
154
+ line: embed.line,
155
+ message: `Referenced question file not found: ${resolved}`,
156
+ suggestion: formatSuggestion(similar, fromFile) ??
157
+ "Check the file path in the embed",
158
+ severity: "error",
159
+ },
160
+ };
161
+ }
162
+ if (!isQuestionFilePath(path)) {
163
+ return {
164
+ error: {
165
+ file: fromFile,
166
+ line: embed.line,
167
+ message: `A question can only embed a question file in ${QUESTIONS_DIR}/, not '${path}'`,
168
+ suggestion: `Move the question to ${QUESTIONS_DIR}/<name>.md, or write it inline`,
169
+ severity: "error",
170
+ },
171
+ };
172
+ }
173
+ return { path };
174
+ }
175
+ /** Rewrite the `[[...]]` links in a question file's field value (prompt
176
+ * imports) so they resolve the same from the embedding lens. */
177
+ function rebaseLinks(value, questionPath, lensPath) {
178
+ return value.replace(/(!?\[\[)([^\]|#]+)/g, (whole, open, link) => {
179
+ const target = link.trim();
180
+ if (!target.startsWith("."))
181
+ return whole; // not relative: same from anywhere
182
+ const absolute = resolveWikilinkPath(target, questionPath);
183
+ let rebased = relative(dirname(lensPath), absolute).split("\\").join("/");
184
+ if (!rebased.startsWith("."))
185
+ rebased = `./${rebased}`;
186
+ return `${open}${rebased}`;
187
+ });
188
+ }
189
+ /**
190
+ * Replace every embedding question in `segments` (parsed from `file`) by the
191
+ * question of its file, with the lens's own settings for the override fields.
192
+ * Errors are reported on the lens; problems inside the question file itself
193
+ * are reported on that file when it is validated on its own.
194
+ */
195
+ export function expandQuestionEmbeds(segments, file, files, prepare = (text) => text) {
196
+ const errors = [];
197
+ // A question whose file can't be used is left out (one error, no cascade
198
+ // of "missing id::" errors for fields the lens never had).
199
+ const failed = new Set();
200
+ for (const segment of segments) {
201
+ // An embed line made a header by markQuestionEmbedLines
202
+ const titled = segment.type === "question"
203
+ ? EMBED_TITLE.exec(segment.title ?? "")
204
+ : null;
205
+ if (titled && !segment.embed) {
206
+ segment.embed = { link: titled[1].trim(), line: segment.line };
207
+ segment.title = "";
208
+ }
209
+ const embed = segment.embed;
210
+ if (!embed)
211
+ continue;
212
+ if (!files)
213
+ continue; // no other files to resolve against (single-file parse)
214
+ const resolved = resolveQuestionEmbed(embed, file, files);
215
+ if ("error" in resolved) {
216
+ errors.push(resolved.error);
217
+ failed.add(segment);
218
+ continue;
219
+ }
220
+ const { segment: question } = parseQuestionFile(prepare(files.get(resolved.path) ?? ""), resolved.path);
221
+ // A question that is broken in its file (no id::, say) is reported there,
222
+ // once, not again in every lens that embeds it.
223
+ const broken = !question ||
224
+ convertRawSegments([{ ...question, fields: { ...question.fields } }], resolved.path).errors.some((e) => e.severity === "error");
225
+ if (!question || broken) {
226
+ errors.push({
227
+ file,
228
+ line: embed.line,
229
+ message: `Question file '${resolved.path}' has errors, so this question is left out`,
230
+ suggestion: `Fix the errors reported for ${resolved.path}`,
231
+ severity: "error",
232
+ });
233
+ failed.add(segment);
234
+ continue;
235
+ }
236
+ for (const key of Object.keys(segment.fields)) {
237
+ if (QUESTION_EMBED_OVERRIDES.includes(key))
238
+ continue;
239
+ errors.push({
240
+ file,
241
+ line: segment.fieldLines?.[key] ?? embed.line,
242
+ message: `'${key}::' can't be set in the lens for an embedded question; it belongs to the question file`,
243
+ suggestion: `Change it in ${resolved.path}. A lens may set only ${QUESTION_EMBED_OVERRIDES.map((f) => `${f}::`).join(", ")}`,
244
+ severity: "error",
245
+ });
246
+ }
247
+ const lensType = (segment.title ?? "").trim().toLowerCase() || null;
248
+ const fileType = (question.title ?? "").trim().toLowerCase() || "open";
249
+ if (lensType && lensType !== fileType) {
250
+ errors.push({
251
+ file,
252
+ line: segment.line,
253
+ message: `'#### Question: ${segment.title}' embeds a ${question.title || "Open"} question (${resolved.path})`,
254
+ suggestion: "Write just '#### Question' (the type comes from the file), or the file's type",
255
+ severity: "error",
256
+ });
257
+ }
258
+ const fields = {};
259
+ for (const [key, value] of Object.entries(question.fields)) {
260
+ fields[key] = rebaseLinks(value, resolved.path, file);
261
+ }
262
+ for (const key of QUESTION_EMBED_OVERRIDES) {
263
+ if (key in segment.fields)
264
+ fields[key] = segment.fields[key];
265
+ }
266
+ segment.title = question.title;
267
+ segment.rawType = question.rawType;
268
+ segment.fields = fields;
269
+ // Field-level errors point at the embed line in the lens.
270
+ segment.fieldLines = Object.fromEntries(Object.keys(fields).map((key) => [
271
+ key,
272
+ segment.fieldLines?.[key] ?? embed.line,
273
+ ]));
274
+ segment.embeddedFrom = resolved.path;
275
+ delete segment.embed;
276
+ }
277
+ if (failed.size > 0) {
278
+ const kept = segments.filter((segment) => !failed.has(segment));
279
+ segments.splice(0, segments.length, ...kept);
280
+ }
281
+ return errors;
282
+ }
283
+ /** The embedded question files' contents, for cache keys: a lens's parse
284
+ * depends on them as well as on its own text. */
285
+ export function questionEmbedCacheKey(content, file, files) {
286
+ if (!content.includes("![["))
287
+ return "";
288
+ let key = "";
289
+ content.split("\n").forEach((text, i) => {
290
+ const m = text.match(EMBED_LINE_PATTERN);
291
+ if (!m)
292
+ return;
293
+ // The whole resolution: an error's "did you mean" depends on which other
294
+ // files exist, a resolved path on the file's content.
295
+ const resolved = resolveQuestionEmbed({ link: m[1].trim(), line: i + 1 }, file, files);
296
+ key += `\0${JSON.stringify(resolved)}`;
297
+ if ("path" in resolved)
298
+ key += `\0${files.get(resolved.path) ?? ""}`;
299
+ });
300
+ return key;
301
+ }
302
+ //# sourceMappingURL=question-embeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-embeds.js","sourceRoot":"","sources":["../../src/parser/question-embeds.ts"],"names":[],"mappings":"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"}
@@ -585,6 +585,18 @@ function parseFillBlanks(content, raw, file, errors) {
585
585
  */
586
586
  export function parseResponseSegment(raw, context, file) {
587
587
  const errors = [];
588
+ // Lenses resolve `![[...]]` question files before this (question-embeds.ts);
589
+ // one still here sits where embeds are not supported.
590
+ if (raw.embed) {
591
+ errors.push({
592
+ file,
593
+ line: raw.embed.line,
594
+ message: `Question files can be embedded only in lens files (Lenses/): ![[${raw.embed.link}]]`,
595
+ suggestion: "Write the question inline here, or move it into a lens file",
596
+ severity: "error",
597
+ });
598
+ return { segment: null, errors };
599
+ }
588
600
  const subtypeRaw = (raw.title ?? "").trim();
589
601
  const subtype = subtypeRaw.toLowerCase();
590
602
  if (!RESPONSE_QUESTION_SUBTYPES.includes(subtype)) {