lens-content-processor 0.39.0 → 0.41.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.
package/dist/index.js CHANGED
@@ -24,6 +24,8 @@ import { detectPendingCriticMarkup, isCriticMarkupCheckedPath, } from "./validat
24
24
  import { validateMath } from "./validator/math.js";
25
25
  import { validateArticleStructure } from "./validator/article-structure.js";
26
26
  import { validateArticleReviewProvenance } from "./validator/article-review-provenance.js";
27
+ import { collectBlockTargets, resolveSamePageLinks, } from "./same-page-links.js";
28
+ import { stripAuthoringMarkup } from "./authoring-markup.js";
27
29
  export { checkTierViolation } from "./validator/tier.js";
28
30
  import { buildSkillTree, parseDomainFile, } from "./skill-tree.js";
29
31
  export { FileResultCache } from "./cache.js";
@@ -224,6 +226,7 @@ export function processContent(files, cache) {
224
226
  return value;
225
227
  }
226
228
  const modules = [];
229
+ const renderedArticles = {};
227
230
  const courses = [];
228
231
  const surveys = [];
229
232
  const surveyPathToId = new Map();
@@ -488,6 +491,11 @@ export function processContent(files, cache) {
488
491
  // are the cached value.
489
492
  const fileResult = cachedPerFile("article", path, content, () => {
490
493
  const result = parseArticle(content, path);
494
+ const parsedFrontmatter = parseFrontmatter(stripAuthoringMarkup(content), path);
495
+ const body = parsedFrontmatter.error ? undefined : parsedFrontmatter.body;
496
+ const renderedBody = body
497
+ ? resolveSamePageLinks(body, collectBlockTargets(body))
498
+ : undefined;
491
499
  const fileErrors = [
492
500
  ...result.errors,
493
501
  ...validateArticleStructure(content, path),
@@ -517,10 +525,16 @@ export function processContent(files, cache) {
517
525
  });
518
526
  }
519
527
  }
520
- return { errors: fileErrors, urls };
528
+ return {
529
+ errors: fileErrors,
530
+ urls,
531
+ renderedBody: renderedBody === body ? undefined : renderedBody,
532
+ };
521
533
  });
522
534
  errors.push(...fileResult.errors);
523
535
  urlsToValidate.push(...fileResult.urls);
536
+ if (fileResult.renderedBody !== undefined)
537
+ renderedArticles[path] = fileResult.renderedBody;
524
538
  }
525
539
  else if (path.startsWith("video_transcripts/") ||
526
540
  path.includes("/video_transcripts/")) {
@@ -598,6 +612,33 @@ export function processContent(files, cache) {
598
612
  // Card-to-module membership check. Runs after card link resolution above so
599
613
  // every card has its data-lens-card JSON populated, including allowExternal.
600
614
  errors.push(...validateCardModuleMembership(modules));
615
+ /**
616
+ * Resolve one survey wikilink (from a meeting's survey:: /
617
+ * facilitator-survey::, or the course's application-survey::) to the
618
+ * survey's frontmatter id. Pushes a tier violation (production course →
619
+ * wip survey) or a dangling-reference error; returns undefined on the
620
+ * latter.
621
+ */
622
+ function resolveSurveyReference(surveyPath, courseFile, label) {
623
+ const resolved = resolveWikilinkPath(surveyPath, courseFile);
624
+ const actualFile = findFileWithExtension(resolved, files);
625
+ if (actualFile && surveyPathToId.has(actualFile)) {
626
+ const parentTier = tierMap.get(courseFile) ?? "production";
627
+ const childTier = tierMap.get(actualFile) ?? "production";
628
+ const violation = checkTierViolation(courseFile, parentTier, actualFile, childTier, label);
629
+ if (violation) {
630
+ errors.push(violation);
631
+ }
632
+ return surveyPathToId.get(actualFile);
633
+ }
634
+ errors.push({
635
+ file: courseFile,
636
+ message: `Survey reference could not be resolved: "${surveyPath}"`,
637
+ suggestion: `Check that ${label}:: points to an existing, error-free file in surveys/`,
638
+ severity: "error",
639
+ });
640
+ return undefined;
641
+ }
601
642
  // Resolve course module paths to frontmatter slugs.
602
643
  // Use filePathToSlug (built during module parsing) instead of inverting slugToPath,
603
644
  // because slugToPath loses entries when duplicate slugs exist.
@@ -657,30 +698,23 @@ export function processContent(files, cache) {
657
698
  if (!surveyPath) {
658
699
  continue;
659
700
  }
660
- const resolved = resolveWikilinkPath(surveyPath, courseFile);
661
- const actualFile = findFileWithExtension(resolved, files);
662
- if (actualFile && surveyPathToId.has(actualFile)) {
663
- item[field.idKey] = surveyPathToId.get(actualFile);
664
- // Tier violation: production course → wip survey
665
- const parentTier = tierMap.get(courseFile) ?? "production";
666
- const childTier = tierMap.get(actualFile) ?? "production";
667
- const violation = checkTierViolation(courseFile, parentTier, actualFile, childTier, field.label);
668
- if (violation) {
669
- errors.push(violation);
670
- }
671
- }
672
- else {
673
- errors.push({
674
- file: courseFile,
675
- message: `Survey reference could not be resolved: "${surveyPath}"`,
676
- suggestion: `Check that ${field.label}:: points to an existing, error-free file in surveys/`,
677
- severity: "error",
678
- });
701
+ const surveyId = resolveSurveyReference(surveyPath, courseFile, field.label);
702
+ if (surveyId) {
703
+ item[field.idKey] = surveyId;
679
704
  }
680
705
  delete item[field.pathKey];
681
706
  }
682
707
  }
683
708
  }
709
+ // The course-level intake form (application-survey::) resolves exactly
710
+ // like a meeting survey — same tier check, same dangling-reference error.
711
+ if (course.applicationSurveyPath) {
712
+ const surveyId = resolveSurveyReference(course.applicationSurveyPath, courseFile, "application-survey");
713
+ if (surveyId) {
714
+ course.applicationSurveyId = surveyId;
715
+ }
716
+ delete course.applicationSurveyPath;
717
+ }
684
718
  // Remove unresolved module items (no slug after resolution)
685
719
  course.progression = course.progression.filter((item) => item.type !== "module" || item.slug !== undefined);
686
720
  // Expand split modules: replace parent slug with child submodule slugs
@@ -690,9 +724,15 @@ export function processContent(files, cache) {
690
724
  item.slug &&
691
725
  parentSlugToChildren.has(item.slug)) {
692
726
  const children = parentSlugToChildren.get(item.slug);
693
- for (const childSlug of children) {
694
- expanded.push({ ...item, slug: childSlug });
695
- }
727
+ // A split module's intro-form flag lands on its FIRST child only: the
728
+ // placement link is to the start of the module, and the flag must not
729
+ // multiply into "several intro-form modules" the parser just forbade.
730
+ children.forEach((childSlug, index) => {
731
+ const child = { ...item, slug: childSlug };
732
+ if (index > 0)
733
+ delete child.introForm;
734
+ expanded.push(child);
735
+ });
696
736
  }
697
737
  else {
698
738
  expanded.push(item);
@@ -842,6 +882,7 @@ export function processContent(files, cache) {
842
882
  errors: dedupeErrors(errors),
843
883
  urlsToValidate,
844
884
  skillTree: skillTreeResult.skillTree,
885
+ ...(Object.keys(renderedArticles).length > 0 ? { renderedArticles } : {}),
845
886
  };
846
887
  }
847
888
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,22 @@ import { validateFrontmatter } from "../validator/validate-frontmatter.js";
6
6
  import { stripAuthoringMarkup, stripAuthoringMarkupForValidation, usePublishedStrings, } from "../authoring-markup.js";
7
7
  // Valid section types for course files
8
8
  export const COURSE_SECTION_TYPES = new Set(["module", "meeting"]);
9
+ /** Near-misses of the `intro-form::` module flag that warn (see parseModuleSection). */
10
+ const INTRO_FORM_TYPO = /^intro[-_]?forms?$|^intake[-_]?forms?$|^introform$/i;
9
11
  /**
10
12
  * Parses a Module section title to extract the wikilink path
11
13
  * Title format: [[../modules/intro.md|Display Text]]
14
+ *
15
+ * Also reads the module's two boolean fields: `optional:: true`, and
16
+ * `intro-form:: true`, which marks the module holding the course's
17
+ * introduction form so the placement messages can link to it. The flag sits
18
+ * on the `# Module:` that is ALREADY in the progression rather than in course
19
+ * frontmatter, because (a) YAML would read a `[[wikilink]]` as a nested list
20
+ * and nothing in the frontmatter parser resolves wikilinks, and (b) the module
21
+ * is then resolved, tier-checked and split-expanded by the one path every
22
+ * module reference already takes — no second resolver to drift from it.
12
23
  */
13
- function parseModuleSection(section, file) {
24
+ function parseModuleSection(section, file, errors) {
14
25
  // The title should be a wikilink
15
26
  const wikilink = parseWikilink(section.title);
16
27
  if (!wikilink) {
@@ -24,8 +35,29 @@ function parseModuleSection(section, file) {
24
35
  },
25
36
  };
26
37
  }
38
+ // Same reasoning as the survey:: guard in parseMeetingSection: course
39
+ // sections tolerate arbitrary fields, so a misspelled intro-form:: would be
40
+ // dropped silently and the placement email would never carry the link.
41
+ for (const fieldName of Object.keys(section.fields)) {
42
+ // A SHAPE match, not a substring match: only the near-misses of the flag
43
+ // itself (intro_form, introform, intro-forms, intake-form, Intro-Form)
44
+ // warn. A future legitimate field such as intro-video:: or
45
+ // introduction-note:: must not trip a "did you mean" that trains authors
46
+ // to ignore the warning that matters. Field keys are case-sensitive, so
47
+ // Intro-Form:: is not the flag and lands here as a warning too.
48
+ if (fieldName !== "intro-form" && INTRO_FORM_TYPO.test(fieldName)) {
49
+ errors.push({
50
+ file,
51
+ line: section.line,
52
+ message: `Unknown module field '${fieldName}' — did you mean 'intro-form'?`,
53
+ suggestion: "Mark the module holding the introduction form with: intro-form:: true",
54
+ severity: "warning",
55
+ });
56
+ }
57
+ }
27
58
  const optional = section.fields.optional?.toLowerCase() === "true";
28
- return { path: wikilink.path, optional };
59
+ const introForm = section.fields["intro-form"]?.toLowerCase() === "true";
60
+ return { path: wikilink.path, optional, introForm };
29
61
  }
30
62
  /**
31
63
  * Parses a Meeting section title to extract the meeting name, plus the
@@ -68,8 +100,8 @@ function parseMeetingSection(section, file, errors) {
68
100
  });
69
101
  }
70
102
  }
71
- const surveyPath = parseMeetingSurveyField(section, "survey", file, errors);
72
- const facilitatorSurveyPath = parseMeetingSurveyField(section, "facilitator-survey", file, errors);
103
+ const surveyPath = parseSurveyWikilinkField(section.fields, section.line, "survey", file, errors);
104
+ const facilitatorSurveyPath = parseSurveyWikilinkField(section.fields, section.line, "facilitator-survey", file, errors);
73
105
  return {
74
106
  name,
75
107
  ...(surveyPath ? { surveyPath } : {}),
@@ -77,12 +109,13 @@ function parseMeetingSection(section, file, errors) {
77
109
  };
78
110
  }
79
111
  /**
80
- * Extract one of a meeting's survey wikilink fields (`survey::` or
81
- * `facilitator-survey::`). Returns the wikilink path, or undefined when the
82
- * field is absent or holds a non-wikilink value (warned, not errored).
112
+ * Extract a survey wikilink field (`survey::`, `facilitator-survey::` on a
113
+ * meeting; `application-survey::` in the course preamble). Returns the
114
+ * wikilink path, or undefined when the field is absent or holds a
115
+ * non-wikilink value (warned, not errored).
83
116
  */
84
- function parseMeetingSurveyField(section, fieldName, file, errors) {
85
- const raw = section.fields[fieldName];
117
+ function parseSurveyWikilinkField(fields, line, fieldName, file, errors) {
118
+ const raw = fields[fieldName];
86
119
  if (raw === undefined) {
87
120
  return undefined;
88
121
  }
@@ -93,15 +126,62 @@ function parseMeetingSurveyField(section, fieldName, file, errors) {
93
126
  // the meeting simply has no NATIVE survey — and must not fail content CI.
94
127
  errors.push({
95
128
  file,
96
- line: section.line,
97
- message: `Meeting ${fieldName}:: is not a wikilink and will be ignored: "${raw}"`,
98
- suggestion: `Native surveys use: ${fieldName}:: [[../surveys/survey-name]] (external form URLs are not attached to meetings)`,
129
+ line,
130
+ message: `${fieldName === "application-survey" ? "Course" : "Meeting"} ${fieldName}:: is not a wikilink and will be ignored: "${raw}"`,
131
+ suggestion: `Native surveys use: ${fieldName}:: [[../surveys/survey-name]] (external form URLs are not attached)`,
99
132
  severity: "warning",
100
133
  });
101
134
  return undefined;
102
135
  }
103
136
  return wikilink.path;
104
137
  }
138
+ /**
139
+ * Course-level fields live in the body preamble — the `field:: value` lines
140
+ * before the first `# Module:` / `# Meeting:` header — in the same dataview
141
+ * syntax the meeting markers use. parseSections skips preamble field lines
142
+ * silently, so an older processor ignores an `application-survey::` line
143
+ * instead of failing content CI. Returns lowercased field name -> value and
144
+ * the 1-based body line of the first header (for error locations).
145
+ */
146
+ function parsePreambleFields(body) {
147
+ const fields = {};
148
+ const lines = {};
149
+ const bodyLines = body.split("\n");
150
+ for (let i = 0; i < bodyLines.length; i++) {
151
+ const line = bodyLines[i];
152
+ if (/^#{1,6}\s/.test(line))
153
+ break;
154
+ const match = line.match(/^([\w-]+)::\s*(.*)$/);
155
+ if (!match)
156
+ continue;
157
+ const name = match[1].toLowerCase();
158
+ fields[name] = match[2].trim();
159
+ lines[name] = i + 1;
160
+ }
161
+ return { fields, lines };
162
+ }
163
+ /**
164
+ * The course's intake application form: `application-survey:: [[...]]` in
165
+ * the preamble. Enrolment in a cohort of this course requires a submitted
166
+ * response, so — like the meeting survey fields — a misspelled key is
167
+ * warned on rather than silently dropped.
168
+ */
169
+ function parseApplicationSurveyField(body, bodyStartLine, file, errors) {
170
+ const { fields, lines } = parsePreambleFields(body);
171
+ for (const fieldName of Object.keys(fields)) {
172
+ if (fieldName !== "application-survey" && /surve/i.test(fieldName)) {
173
+ errors.push({
174
+ file,
175
+ line: bodyStartLine + lines[fieldName] - 1,
176
+ message: `Unknown course field '${fieldName}' — did you mean 'application-survey'?`,
177
+ suggestion: "Attach the intake form with: application-survey:: [[../surveys/name]] (above the first # Module:)",
178
+ severity: "warning",
179
+ });
180
+ }
181
+ }
182
+ const line = bodyStartLine + (lines["application-survey"] ?? 1) - 1;
183
+ return parseSurveyWikilinkField(fields, line, "application-survey", file, errors);
184
+ }
105
185
  /**
106
186
  * Normalize slug-aliases from frontmatter.
107
187
  * Accepts: string ("default"), comma-separated ("a, b"), or YAML list (["a", "b"]).
@@ -175,6 +255,7 @@ function parseCoursePrepared(content, file) {
175
255
  if (errors.some((e) => e.severity === "error")) {
176
256
  return { course: null, errors };
177
257
  }
258
+ const applicationSurveyPath = parseApplicationSurveyField(body, bodyStartLine, file, errors);
178
259
  // Parse sections (H1 headers for course files)
179
260
  const sectionsResult = parseSections(body, 0, COURSE_SECTION_TYPES, file);
180
261
  // Adjust line numbers to account for frontmatter
@@ -189,18 +270,38 @@ function parseCoursePrepared(content, file) {
189
270
  }
190
271
  // Build progression array from parsed sections
191
272
  const progression = [];
273
+ // The placement messages link to ONE module. A second intro-form:: true is a
274
+ // content error at the offending marker; the first keeps the flag so the
275
+ // output stays deterministic while the author fixes it.
276
+ let introFormSeen = false;
192
277
  for (const section of sectionsResult.sections) {
193
278
  if (section.type === "module") {
194
- const result = parseModuleSection(section, file);
279
+ const result = parseModuleSection(section, file, errors);
195
280
  if ("error" in result) {
196
281
  errors.push(result.error);
197
282
  }
198
283
  else {
199
- progression.push({
284
+ const item = {
200
285
  type: "module",
201
286
  path: result.path,
202
287
  optional: result.optional,
203
- });
288
+ };
289
+ if (result.introForm) {
290
+ if (introFormSeen) {
291
+ errors.push({
292
+ file,
293
+ line: section.line,
294
+ message: "More than one module is marked intro-form:: true; a course has one introduction form",
295
+ suggestion: "Keep intro-form:: true on the single module that holds the introduction form",
296
+ severity: "error",
297
+ });
298
+ }
299
+ else {
300
+ introFormSeen = true;
301
+ item.introForm = true;
302
+ }
303
+ }
304
+ progression.push(item);
204
305
  }
205
306
  }
206
307
  else if (section.type === "meeting") {
@@ -238,6 +339,9 @@ function parseCoursePrepared(content, file) {
238
339
  slugAliases,
239
340
  progression,
240
341
  };
342
+ if (applicationSurveyPath) {
343
+ course.applicationSurveyPath = applicationSurveyPath;
344
+ }
241
345
  // Light partner co-branding: only set when BOTH name and logo are present,
242
346
  // so a half-filled frontmatter never renders a broken logo.
243
347
  const partner = parsePartner(frontmatter);
@@ -1 +1 @@
1
- {"version":3,"file":"course.js","sourceRoot":"","sources":["../../src/parser/course.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"course.js","sourceRoot":"","sources":["../../src/parser/course.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,60 @@ export declare function responseSegmentSchemaKey(raw: {
37
37
  type: string;
38
38
  title?: string;
39
39
  }): string | null;
40
+ /**
41
+ * Parse `labels::` — one `- text` line per point on the scale, so every value
42
+ * carries its own wording instead of only the two endpoints.
43
+ *
44
+ * Returns the list when it is usable, `undefined` otherwise. A labels::
45
+ * problem NEVER drops the segment: the question is fully valid without
46
+ * per-number labels (it renders as the plain numbered strip), and dropping a
47
+ * possibly non-optional intake question would silently remove its
48
+ * mark-complete gate — the worst failure mode available. The list is parsed
49
+ * and validated FIRST, so a malformed list is always reported at its own
50
+ * tier even when a softer problem (endpoint labels, a count mismatch) also
51
+ * applies. Problems are reported at two severities:
52
+ *
53
+ * - error, labels omitted (content CI fails): labels:: present but empty —
54
+ * the one case where silence is the bug, because the author clearly meant
55
+ * to label every value and would otherwise never learn the field was
56
+ * ignored; a line that is not a `- text` item; checkbox syntax copied from
57
+ * an options:: list, which would otherwise render "[x]" beside a number;
58
+ * more labels than the default scale with no `scale::` at all — the most
59
+ * likely authoring slip for a ten-point intake question, which would
60
+ * otherwise ship as a bare 1-5 strip behind a warning. The error names the
61
+ * fix (`scale:: N`); the scale is never inferred from the list, because an
62
+ * inferred scale changes what every stored answer means.
63
+ * - warning, labels omitted (the numbered strip is the fallback the ask
64
+ * named): labels:: authored alongside low-label::/high-label:: (the
65
+ * endpoints keep rendering); a count that does not equal `scale`.
66
+ */
67
+ export declare function parseRatingLabels(raw: RawSegment, scale: number, scaleExplicit: boolean, hasEndpointLabels: boolean, file: string, errors: ContentError[]): string[] | undefined;
68
+ /**
69
+ * Parse `max-select::` — the cap on a "pick up to N" multi-choice.
70
+ *
71
+ * Returns the cap when it can apply, `undefined` otherwise. As with labels::,
72
+ * a cap problem NEVER drops the segment: an uncapped question is still a
73
+ * valid question, and a vanished intake question silently removes its
74
+ * mark-complete gate. The UI (ChoiceControl) and the server
75
+ * (core/response_segments.py) both ignore a cap that is not a positive
76
+ * integer or sits on a single choice; the parser reports those as warnings
77
+ * and omits the field so all three agree.
78
+ *
79
+ * - warning, cap omitted: not a positive integer; on a single-choice
80
+ * question.
81
+ * - warning, cap KEPT: at or above the option count (it can never bind, so
82
+ * it is passed through unchanged — the UI shows a harmless "Pick up to N"
83
+ * — rather than omitted, so the cache, the UI and the server really do
84
+ * hold the same value); `max-select:: 1` with multi:: true. Odd (a single
85
+ * choice wearing checkboxes) but it binds exactly as written.
86
+ * - error, cap omitted: fewer than the number of `[x]` options. Grading is an
87
+ * exact-set match, so a learner held under that cap could never produce
88
+ * the correct set and every answer would score 0. Beyond the original
89
+ * ask, kept as an error because it is a graded question nobody can pass;
90
+ * the cap is omitted so the question is at least answerable if the build
91
+ * were let through.
92
+ */
93
+ export declare function parseMaxSelect(raw: RawSegment, multi: boolean, options: string[], correct: number[], file: string, errors: ContentError[]): number | undefined;
40
94
  /**
41
95
  * Parse a `#### Question: <Subtype>` segment. Shared by lens parsing
42
96
  * (context "lens", also used for LO tests via convertSegment) and survey
@@ -129,7 +129,7 @@ function parseScale(raw, file, errors) {
129
129
  * named): labels:: authored alongside low-label::/high-label:: (the
130
130
  * endpoints keep rendering); a count that does not equal `scale`.
131
131
  */
132
- function parseRatingLabels(raw, scale, scaleExplicit, hasEndpointLabels, file, errors) {
132
+ export function parseRatingLabels(raw, scale, scaleExplicit, hasEndpointLabels, file, errors) {
133
133
  const value = raw.fields.labels;
134
134
  if (value === undefined)
135
135
  return undefined;
@@ -232,7 +232,7 @@ function parseRatingLabels(raw, scale, scaleExplicit, hasEndpointLabels, file, e
232
232
  * the cap is omitted so the question is at least answerable if the build
233
233
  * were let through.
234
234
  */
235
- function parseMaxSelect(raw, multi, options, correct, file, errors) {
235
+ export function parseMaxSelect(raw, multi, options, correct, file, errors) {
236
236
  if (raw.fields["max-select"] === undefined)
237
237
  return undefined;
238
238
  const warn = (message, suggestion) => errors.push({