lens-content-processor 0.44.0 → 0.46.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/content-schema.js +16 -9
- package/dist/content-schema.js.map +1 -1
- package/dist/flattener/index.d.ts +1 -0
- package/dist/flattener/index.js +102 -32
- package/dist/flattener/index.js.map +1 -1
- package/dist/index.d.ts +24 -3
- package/dist/index.js +108 -46
- package/dist/index.js.map +1 -1
- package/dist/parser/domain.d.ts +49 -0
- package/dist/parser/domain.js +212 -0
- package/dist/parser/domain.js.map +1 -0
- package/dist/parser/learning-outcome.d.ts +5 -4
- package/dist/parser/learning-outcome.js +42 -21
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/parser/lens.d.ts +1 -0
- package/dist/parser/lens.js +11 -1
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/response-segments.d.ts +2 -0
- package/dist/parser/response-segments.js +13 -1
- package/dist/parser/response-segments.js.map +1 -1
- package/dist/skill-tree.d.ts +95 -23
- package/dist/skill-tree.js +146 -82
- package/dist/skill-tree.js.map +1 -1
- package/dist/validator/tier.d.ts +11 -6
- package/dist/validator/tier.js +24 -18
- package/dist/validator/tier.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -92,6 +92,26 @@ export interface Course {
|
|
|
92
92
|
applicationSurveyId?: string;
|
|
93
93
|
error?: string;
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* A Learning Outcome a section serves. A test section carries exactly the
|
|
97
|
+
* outcome whose test it is. A lens section carries every outcome imported in
|
|
98
|
+
* the same submodule (or at module level) whose suggested lenses include it —
|
|
99
|
+
* zero or many.
|
|
100
|
+
*/
|
|
101
|
+
export interface LearningOutcomeRef {
|
|
102
|
+
id: string;
|
|
103
|
+
/** The outcome file's stem, which is its display name everywhere. */
|
|
104
|
+
title: string;
|
|
105
|
+
/** The `learning-outcome:` frontmatter text, when the file has one. */
|
|
106
|
+
outcome?: string;
|
|
107
|
+
/** The outcome's primary skill-tree topic (its first `topic:` entry), so a
|
|
108
|
+
* section can name "Topic › Outcome". Absent for an untriaged or excluded
|
|
109
|
+
* outcome. */
|
|
110
|
+
topic?: {
|
|
111
|
+
slug: string;
|
|
112
|
+
title: string;
|
|
113
|
+
};
|
|
114
|
+
}
|
|
95
115
|
export interface Section {
|
|
96
116
|
type: "lens" | "test";
|
|
97
117
|
displayType?: "lens-article" | "lens-video" | "lens-mixed";
|
|
@@ -101,9 +121,9 @@ export interface Section {
|
|
|
101
121
|
optional?: boolean;
|
|
102
122
|
hide?: boolean;
|
|
103
123
|
feedback?: boolean;
|
|
124
|
+
forceFeedback?: boolean;
|
|
104
125
|
contentId: string | null;
|
|
105
|
-
|
|
106
|
-
learningOutcomeName: string | null;
|
|
126
|
+
learningOutcomes: LearningOutcomeRef[];
|
|
107
127
|
wordCount?: number;
|
|
108
128
|
videoDurationSeconds?: number;
|
|
109
129
|
tldr?: string;
|
|
@@ -205,6 +225,7 @@ export interface QuestionSegment {
|
|
|
205
225
|
placeholder?: string;
|
|
206
226
|
optional?: boolean;
|
|
207
227
|
feedback?: boolean;
|
|
228
|
+
forceFeedback?: boolean;
|
|
208
229
|
scale?: number;
|
|
209
230
|
lowLabel?: string;
|
|
210
231
|
highLabel?: string;
|
|
@@ -268,7 +289,7 @@ export { parseWidget, isWidgetPath } from "./parser/widget.js";
|
|
|
268
289
|
export type { ContentTier } from "./validator/tier.js";
|
|
269
290
|
export { checkTierViolation } from "./validator/tier.js";
|
|
270
291
|
import { type SkillTree } from "./skill-tree.js";
|
|
271
|
-
export type { SkillTree, SkillTreeCard, SkillTreeDomain, TaughtByCourse, TaughtByModule, } from "./skill-tree.js";
|
|
292
|
+
export type { SkillTree, SkillTreeCard, SkillTreeDomain, SkillTreeTopic, TaughtByCourse, TaughtByModule, } from "./skill-tree.js";
|
|
272
293
|
import { FileResultCache } from "./cache.js";
|
|
273
294
|
export { FileResultCache } from "./cache.js";
|
|
274
295
|
export declare function processContent(files: Map<string, string>, cache?: FileResultCache): ProcessResult;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { flattenModule, flattenLens, flattenStandaloneArticle, expandPromptImports, } from "./flattener/index.js";
|
|
1
|
+
import { flattenModule, flattenLens, flattenStandaloneArticle, expandPromptImports, toKebabCase, } from "./flattener/index.js";
|
|
2
2
|
import { dedupeErrors } from "./dedupe-errors.js";
|
|
3
3
|
import { populateCardModuleSlugs, resolveInlineLensModuleSlugs, } from "./flattener/resolve-text-links.js";
|
|
4
4
|
import { parseModule } from "./parser/module.js";
|
|
@@ -20,7 +20,7 @@ import { parseVideoTranscript } from "./parser/video-transcript.js";
|
|
|
20
20
|
import { parsePrompt, isPromptPath } from "./parser/prompt.js";
|
|
21
21
|
import { validateTimestamps } from "./validator/timestamps.js";
|
|
22
22
|
import { levenshtein } from "./validator/field-typos.js";
|
|
23
|
-
import { buildTierMap, checkTierViolation, } from "./validator/tier.js";
|
|
23
|
+
import { buildTagMap, buildTierMap, checkTierViolation, } from "./validator/tier.js";
|
|
24
24
|
import { validateCardModuleMembership } from "./validator/card-module-membership.js";
|
|
25
25
|
import { detectPendingCriticMarkup, isCriticMarkupCheckedPath, } from "./validator/criticmarkup.js";
|
|
26
26
|
import { validateMath } from "./validator/math.js";
|
|
@@ -28,7 +28,8 @@ import { validateArticleStructure } from "./validator/article-structure.js";
|
|
|
28
28
|
import { validateArticleReviewProvenance } from "./validator/article-review-provenance.js";
|
|
29
29
|
import { stripAuthoringMarkup } from "./authoring-markup.js";
|
|
30
30
|
export { checkTierViolation } from "./validator/tier.js";
|
|
31
|
-
import { buildSkillTree,
|
|
31
|
+
import { buildSkillTree, } from "./skill-tree.js";
|
|
32
|
+
import { DOMAIN_METADATA_FILE, parseDomainMetadata, parseDomainPath, parseTopicFile, } from "./parser/domain.js";
|
|
32
33
|
export { FileResultCache } from "./cache.js";
|
|
33
34
|
/**
|
|
34
35
|
* Collect the stable id:: of every new-style response segment (from lenses,
|
|
@@ -241,34 +242,56 @@ export function processContent(files, cache) {
|
|
|
241
242
|
const filePathToSlug = new Map(); // Reverse: file path → slug (survives duplicate slugs)
|
|
242
243
|
const courseSlugToFile = new Map();
|
|
243
244
|
const parentSlugToChildren = new Map();
|
|
244
|
-
// Pre-scan:
|
|
245
|
-
const
|
|
245
|
+
// Pre-scan: frontmatter tags of every file, and the tier they imply
|
|
246
|
+
const tagMap = buildTagMap(files);
|
|
247
|
+
const tierMap = buildTierMap(tagMap);
|
|
246
248
|
// --- Skill-tree collections (assembled after the main loop) ---
|
|
247
|
-
|
|
249
|
+
// Domain folder path → folder; topic file path → topic (+ its folder).
|
|
250
|
+
const domainFolders = new Map();
|
|
251
|
+
const topicFiles = new Map();
|
|
248
252
|
const learningOutcomesByPath = new Map();
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
|
|
253
|
+
// LO path → module path → the submodules (local slug → title) that
|
|
254
|
+
// reference it; empty when the module is not split or the LO is module-level.
|
|
255
|
+
const moduleLoRefs = new Map();
|
|
256
|
+
const skillTreeModules = new Map();
|
|
257
|
+
// Record that `modulePath` references each LO reachable from `sections`,
|
|
258
|
+
// remembering which submodule it sits in. A "# Submodule:" heading opens a
|
|
259
|
+
// group that runs until the next one (its siblings belong to it, as in
|
|
260
|
+
// splitAtBoundaries), and any children nest under it too. Works off the raw
|
|
261
|
+
// module parse, so an LO counts as "taught by" the module even when it
|
|
262
|
+
// contributes no flattened sections (e.g. it has no test yet).
|
|
263
|
+
function collectModuleLoRefs(sections, modulePath, submodule = null) {
|
|
256
264
|
for (const section of sections) {
|
|
265
|
+
if (section.type === "submodule") {
|
|
266
|
+
// Same slug rule as splitAtBoundaries, so the link lands on the page.
|
|
267
|
+
submodule = {
|
|
268
|
+
slug: section.fields.slug ?? toKebabCase(section.title),
|
|
269
|
+
title: section.title,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
257
272
|
if (section.type === "learning-outcome" && section.fields.source) {
|
|
258
273
|
const wikilink = parseWikilink(section.fields.source);
|
|
259
274
|
if (wikilink && !wikilink.error) {
|
|
260
275
|
const resolved = resolveWikilinkPath(wikilink.path, modulePath);
|
|
261
276
|
const actualPath = findFileWithExtension(resolved, files);
|
|
262
277
|
if (actualPath) {
|
|
263
|
-
|
|
264
|
-
|
|
278
|
+
let byModule = moduleLoRefs.get(actualPath);
|
|
279
|
+
if (!byModule) {
|
|
280
|
+
byModule = new Map();
|
|
281
|
+
moduleLoRefs.set(actualPath, byModule);
|
|
282
|
+
}
|
|
283
|
+
let submodules = byModule.get(modulePath);
|
|
284
|
+
if (!submodules) {
|
|
285
|
+
submodules = new Map();
|
|
286
|
+
byModule.set(modulePath, submodules);
|
|
265
287
|
}
|
|
266
|
-
|
|
288
|
+
if (submodule)
|
|
289
|
+
submodules.set(submodule.slug, submodule.title);
|
|
267
290
|
}
|
|
268
291
|
}
|
|
269
292
|
}
|
|
270
293
|
if (section.children) {
|
|
271
|
-
collectModuleLoRefs(section.children, modulePath);
|
|
294
|
+
collectModuleLoRefs(section.children, modulePath, submodule);
|
|
272
295
|
}
|
|
273
296
|
}
|
|
274
297
|
}
|
|
@@ -344,9 +367,10 @@ export function processContent(files, cache) {
|
|
|
344
367
|
// Skill tree points at the user-visible module page: the primary
|
|
345
368
|
// (parent) module for split modules.
|
|
346
369
|
const primary = result.modules[0];
|
|
347
|
-
|
|
370
|
+
skillTreeModules.set(path, {
|
|
348
371
|
slug: primary.parentSlug ?? primary.slug,
|
|
349
372
|
title: primary.parentTitle ?? primary.title,
|
|
373
|
+
tags: tagMap.get(path) ?? [],
|
|
350
374
|
});
|
|
351
375
|
}
|
|
352
376
|
errors.push(...result.errors);
|
|
@@ -448,12 +472,37 @@ export function processContent(files, cache) {
|
|
|
448
472
|
learningOutcomesByPath.set(path, result.learningOutcome);
|
|
449
473
|
}
|
|
450
474
|
}
|
|
451
|
-
else if (path.startsWith("Domains
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
475
|
+
else if (path.startsWith("Domains and Topics/") ||
|
|
476
|
+
path.includes("/Domains and Topics/")) {
|
|
477
|
+
// Skill-tree domain folders: `Domains and Topics/<N> <Title>/` holds the
|
|
478
|
+
// domain's topic files and an optional _domain_metadata.md. The folder
|
|
479
|
+
// exists as soon as any file inside it does.
|
|
480
|
+
if (!path.endsWith(".md"))
|
|
481
|
+
continue;
|
|
482
|
+
const located = parseDomainPath(path);
|
|
483
|
+
if (!located.location) {
|
|
484
|
+
errors.push(located.error);
|
|
485
|
+
continue;
|
|
486
|
+
}
|
|
487
|
+
const { dir, number, title, fileName } = located.location;
|
|
488
|
+
let folder = domainFolders.get(dir);
|
|
489
|
+
if (!folder) {
|
|
490
|
+
folder = { number, title, declaredBy: path };
|
|
491
|
+
domainFolders.set(dir, folder);
|
|
492
|
+
}
|
|
493
|
+
if (fileName === DOMAIN_METADATA_FILE) {
|
|
494
|
+
const result = parseDomainMetadata(content, path);
|
|
495
|
+
errors.push(...result.errors);
|
|
496
|
+
if (result.metadata)
|
|
497
|
+
folder.metadata = result.metadata;
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
const result = parseTopicFile(content, path);
|
|
501
|
+
errors.push(...result.errors);
|
|
502
|
+
if (result.topic) {
|
|
503
|
+
topicFiles.set(path, { ...result.topic, domainDir: dir });
|
|
504
|
+
uuidEntries.push({ uuid: result.topic.id, file: path, field: "id" });
|
|
505
|
+
}
|
|
457
506
|
}
|
|
458
507
|
}
|
|
459
508
|
else if (path.startsWith("Lenses/") || path.includes("/Lenses/")) {
|
|
@@ -596,7 +645,7 @@ export function processContent(files, cache) {
|
|
|
596
645
|
"Lenses",
|
|
597
646
|
"video_transcripts",
|
|
598
647
|
"Learning Outcomes",
|
|
599
|
-
"Domains",
|
|
648
|
+
"Domains and Topics",
|
|
600
649
|
"prompts",
|
|
601
650
|
"widgets",
|
|
602
651
|
];
|
|
@@ -863,37 +912,50 @@ export function processContent(files, cache) {
|
|
|
863
912
|
childToParentSlug.set(child, parent);
|
|
864
913
|
}
|
|
865
914
|
}
|
|
866
|
-
const
|
|
867
|
-
|
|
868
|
-
const seen = new Set();
|
|
915
|
+
const skillTreeCourses = courses.map((course) => {
|
|
916
|
+
const moduleSlugs = new Set();
|
|
869
917
|
for (const item of course.progression) {
|
|
870
918
|
if (item.type !== "module" || !item.slug)
|
|
871
919
|
continue;
|
|
872
|
-
|
|
873
|
-
if (seen.has(moduleSlug))
|
|
874
|
-
continue;
|
|
875
|
-
seen.add(moduleSlug);
|
|
876
|
-
if (!moduleCourses.has(moduleSlug)) {
|
|
877
|
-
moduleCourses.set(moduleSlug, []);
|
|
878
|
-
}
|
|
879
|
-
moduleCourses.get(moduleSlug).push({
|
|
880
|
-
slug: course.slug,
|
|
881
|
-
title: course.title,
|
|
882
|
-
});
|
|
920
|
+
moduleSlugs.add(childToParentSlug.get(item.slug) ?? item.slug);
|
|
883
921
|
}
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
922
|
+
const coursePath = courseSlugToFile.get(course.slug);
|
|
923
|
+
return {
|
|
924
|
+
slug: course.slug,
|
|
925
|
+
title: course.title,
|
|
926
|
+
tags: (coursePath && tagMap.get(coursePath)) || [],
|
|
927
|
+
moduleSlugs: [...moduleSlugs],
|
|
928
|
+
};
|
|
929
|
+
});
|
|
888
930
|
const skillTreeResult = buildSkillTree({
|
|
889
|
-
|
|
931
|
+
domainFolders,
|
|
932
|
+
topicFiles,
|
|
890
933
|
learningOutcomes: learningOutcomesByPath,
|
|
891
934
|
moduleLoRefs,
|
|
892
|
-
|
|
893
|
-
|
|
935
|
+
modules: skillTreeModules,
|
|
936
|
+
courses: skillTreeCourses,
|
|
894
937
|
files,
|
|
895
938
|
});
|
|
896
939
|
errors.push(...skillTreeResult.errors);
|
|
940
|
+
// Sections learned their outcomes before topics were resolved; name each
|
|
941
|
+
// outcome's primary topic now that the tree knows it.
|
|
942
|
+
const topicByOutcomeId = new Map();
|
|
943
|
+
const topicBySlug = new Map(skillTreeResult.skillTree.topics.map((t) => [t.slug, t]));
|
|
944
|
+
for (const card of skillTreeResult.skillTree.cards) {
|
|
945
|
+
const topic = topicBySlug.get(card.topic);
|
|
946
|
+
if (topic) {
|
|
947
|
+
topicByOutcomeId.set(card.id, { slug: topic.slug, title: topic.title });
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
for (const module of modules) {
|
|
951
|
+
for (const section of module.sections) {
|
|
952
|
+
for (const ref of section.learningOutcomes) {
|
|
953
|
+
const topic = topicByOutcomeId.get(ref.id);
|
|
954
|
+
if (topic)
|
|
955
|
+
ref.topic = topic;
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
}
|
|
897
959
|
// Post-process: assign category to errors that don't already have one
|
|
898
960
|
for (const error of errors) {
|
|
899
961
|
if (!error.category) {
|
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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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
|
+
export declare const DOMAIN_METADATA_FILE = "_domain_metadata.md";
|
|
3
|
+
export declare const DOMAIN_STAGES: readonly ["beginner", "intermediate", "advanced"];
|
|
4
|
+
export interface DomainLocation {
|
|
5
|
+
/** Folder path up to and including `<N> <Title>`, e.g. `Domains and Topics/3 Alignment`. */
|
|
6
|
+
dir: string;
|
|
7
|
+
number: number;
|
|
8
|
+
title: string;
|
|
9
|
+
/** The file's own name inside the folder. */
|
|
10
|
+
fileName: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Locate a file inside the Domains and Topics/ tree. The relay folder may be
|
|
14
|
+
* prefixed (`<prefix>/Domains and Topics/...`), so the tree starts at the
|
|
15
|
+
* first `Domains and Topics` segment. Anything that is not exactly
|
|
16
|
+
* `Domains and Topics/<N> <Title>/<file>` is a layout error.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDomainPath(path: string): {
|
|
19
|
+
location: DomainLocation | null;
|
|
20
|
+
error?: ContentError;
|
|
21
|
+
};
|
|
22
|
+
export interface ParsedDomainMetadata {
|
|
23
|
+
startStage?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse `_domain_metadata.md`. Every field is optional and the body is
|
|
28
|
+
* ignored; a file with no frontmatter at all is an empty metadata file.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseDomainMetadata(content: string, file: string): {
|
|
31
|
+
metadata: ParsedDomainMetadata | null;
|
|
32
|
+
errors: ContentError[];
|
|
33
|
+
};
|
|
34
|
+
export interface ParsedTopicFile {
|
|
35
|
+
/** Stable topic id (uuid) from frontmatter. */
|
|
36
|
+
id: string;
|
|
37
|
+
/** File stem; the topic title is the file name by convention. */
|
|
38
|
+
title: string;
|
|
39
|
+
/** Display priority inside the domain: lower first, ties alphabetical. */
|
|
40
|
+
order?: number;
|
|
41
|
+
description?: string;
|
|
42
|
+
}
|
|
43
|
+
/** Parse a topic file: `id` is required, `order`/`description` optional,
|
|
44
|
+
* the body is ignored. */
|
|
45
|
+
export declare function parseTopicFile(content: string, file: string): {
|
|
46
|
+
topic: ParsedTopicFile | null;
|
|
47
|
+
errors: ContentError[];
|
|
48
|
+
};
|
|
49
|
+
export declare function fileStem(path: string): string;
|