lens-content-processor 0.2.1 → 0.3.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 (75) hide show
  1. package/dist/bundler/video.js +4 -4
  2. package/dist/bundler/video.js.map +1 -1
  3. package/dist/cli.d.ts +1 -2
  4. package/dist/cli.js +11 -9
  5. package/dist/cli.js.map +1 -1
  6. package/dist/content-schema.d.ts +34 -0
  7. package/dist/content-schema.js +62 -0
  8. package/dist/content-schema.js.map +1 -0
  9. package/dist/flattener/index.d.ts +21 -1
  10. package/dist/flattener/index.js +316 -33
  11. package/dist/flattener/index.js.map +1 -1
  12. package/dist/fs/read-vault.d.ts +1 -4
  13. package/dist/fs/read-vault.js +4 -8
  14. package/dist/fs/read-vault.js.map +1 -1
  15. package/dist/index.d.ts +25 -2
  16. package/dist/index.js +231 -6
  17. package/dist/index.js.map +1 -1
  18. package/dist/parser/article.d.ts +16 -0
  19. package/dist/parser/article.js +70 -0
  20. package/dist/parser/article.js.map +1 -0
  21. package/dist/parser/course.d.ts +2 -2
  22. package/dist/parser/course.js +18 -35
  23. package/dist/parser/course.js.map +1 -1
  24. package/dist/parser/frontmatter.js +2 -0
  25. package/dist/parser/frontmatter.js.map +1 -1
  26. package/dist/parser/learning-outcome.d.ts +4 -2
  27. package/dist/parser/learning-outcome.js +65 -23
  28. package/dist/parser/learning-outcome.js.map +1 -1
  29. package/dist/parser/lens.d.ts +38 -1
  30. package/dist/parser/lens.js +173 -18
  31. package/dist/parser/lens.js.map +1 -1
  32. package/dist/parser/module.d.ts +11 -5
  33. package/dist/parser/module.js +172 -76
  34. package/dist/parser/module.js.map +1 -1
  35. package/dist/parser/sections.js +116 -13
  36. package/dist/parser/sections.js.map +1 -1
  37. package/dist/parser/video-transcript.d.ts +11 -0
  38. package/dist/parser/video-transcript.js +39 -0
  39. package/dist/parser/video-transcript.js.map +1 -0
  40. package/dist/parser/wikilink.d.ts +2 -0
  41. package/dist/parser/wikilink.js +88 -24
  42. package/dist/parser/wikilink.js.map +1 -1
  43. package/dist/utils/slug.d.ts +5 -0
  44. package/dist/utils/slug.js +16 -0
  45. package/dist/utils/slug.js.map +1 -0
  46. package/dist/validator/chat-precedence.d.ts +9 -0
  47. package/dist/validator/chat-precedence.js +32 -0
  48. package/dist/validator/chat-precedence.js.map +1 -0
  49. package/dist/validator/duplicates.d.ts +13 -0
  50. package/dist/validator/duplicates.js +27 -0
  51. package/dist/validator/duplicates.js.map +1 -0
  52. package/dist/validator/field-typos.d.ts +11 -0
  53. package/dist/validator/field-typos.js +36 -28
  54. package/dist/validator/field-typos.js.map +1 -1
  55. package/dist/validator/field-values.d.ts +14 -0
  56. package/dist/validator/field-values.js +61 -7
  57. package/dist/validator/field-values.js.map +1 -1
  58. package/dist/validator/output-integrity.d.ts +7 -0
  59. package/dist/validator/output-integrity.js +57 -0
  60. package/dist/validator/output-integrity.js.map +1 -0
  61. package/dist/validator/segment-fields.js +1 -15
  62. package/dist/validator/segment-fields.js.map +1 -1
  63. package/dist/validator/tier.d.ts +18 -0
  64. package/dist/validator/tier.js +74 -0
  65. package/dist/validator/tier.js.map +1 -0
  66. package/dist/validator/timestamps.d.ts +2 -0
  67. package/dist/validator/timestamps.js +91 -0
  68. package/dist/validator/timestamps.js.map +1 -0
  69. package/dist/validator/url-reachability.d.ts +8 -0
  70. package/dist/validator/url-reachability.js +60 -0
  71. package/dist/validator/url-reachability.js.map +1 -0
  72. package/dist/validator/validate-frontmatter.d.ts +9 -0
  73. package/dist/validator/validate-frontmatter.js +53 -0
  74. package/dist/validator/validate-frontmatter.js.map +1 -0
  75. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flattener/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flattener/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1 @@
1
- export interface ReadVaultOptions {
2
- includeWip?: boolean;
3
- }
4
- export declare function readVaultFiles(vaultPath: string, options?: ReadVaultOptions): Promise<Map<string, string>>;
1
+ export declare function readVaultFiles(vaultPath: string): Promise<Map<string, string>>;
@@ -1,22 +1,18 @@
1
1
  // src/fs/read-vault.ts
2
2
  import { readdir, readFile } from 'fs/promises';
3
3
  import { join } from 'path';
4
- export async function readVaultFiles(vaultPath, options = {}) {
4
+ export async function readVaultFiles(vaultPath) {
5
5
  const files = new Map();
6
- await readFilesRecursive(vaultPath, '', files, options);
6
+ await readFilesRecursive(vaultPath, '', files);
7
7
  return files;
8
8
  }
9
- async function readFilesRecursive(dir, prefix, result, options) {
9
+ async function readFilesRecursive(dir, prefix, result) {
10
10
  const entries = await readdir(dir, { withFileTypes: true });
11
11
  for (const entry of entries) {
12
12
  const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;
13
13
  const fullPath = join(dir, entry.name);
14
14
  if (entry.isDirectory()) {
15
- // Skip WIP directories unless includeWip is true
16
- if (!options.includeWip && entry.name.toLowerCase().includes('wip')) {
17
- continue;
18
- }
19
- await readFilesRecursive(fullPath, relativePath, result, options);
15
+ await readFilesRecursive(fullPath, relativePath, result);
20
16
  }
21
17
  else if (entry.name.endsWith('.md') || entry.name.endsWith('.timestamps.json')) {
22
18
  // Load both .md files and .timestamps.json files (for video transcript timing data)
@@ -1 +1 @@
1
- {"version":3,"file":"read-vault.js","sourceRoot":"","sources":["../../src/fs/read-vault.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,kBAAkB,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,MAAc,EACd,MAA2B,EAC3B,OAAyB;IAEzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,iDAAiD;YACjD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpE,SAAS;YACX,CAAC;YACD,MAAM,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjF,oFAAoF;YACpF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"read-vault.js","sourceRoot":"","sources":["../../src/fs/read-vault.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,kBAAkB,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,MAAc,EACd,MAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjF,oFAAoF;YACpF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,14 @@
1
+ export interface UrlToValidate {
2
+ url: string;
3
+ file: string;
4
+ line: number;
5
+ label: string;
6
+ }
1
7
  export interface ProcessResult {
2
8
  modules: FlattenedModule[];
3
9
  courses: Course[];
4
10
  errors: ContentError[];
11
+ urlsToValidate: UrlToValidate[];
5
12
  }
6
13
  export interface FlattenedModule {
7
14
  slug: string;
@@ -18,12 +25,14 @@ export interface Course {
18
25
  error?: string;
19
26
  }
20
27
  export interface Section {
21
- type: 'page' | 'lens-video' | 'lens-article';
28
+ type: 'page' | 'lens-video' | 'lens-article' | 'test';
22
29
  meta: SectionMeta;
23
30
  segments: Segment[];
24
31
  optional?: boolean;
32
+ feedback?: boolean;
25
33
  contentId: string | null;
26
34
  learningOutcomeId: string | null;
35
+ learningOutcomeName: string | null;
27
36
  videoId: string | null;
28
37
  }
29
38
  export interface SectionMeta {
@@ -35,6 +44,7 @@ export interface SectionMeta {
35
44
  export interface ProgressionItem {
36
45
  type: 'module' | 'meeting';
37
46
  slug?: string;
47
+ path?: string;
38
48
  number?: number;
39
49
  optional?: boolean;
40
50
  }
@@ -44,6 +54,7 @@ export interface ContentError {
44
54
  message: string;
45
55
  suggestion?: string;
46
56
  severity: 'error' | 'warning';
57
+ category?: 'production' | 'wip';
47
58
  }
48
59
  export interface TextSegment {
49
60
  type: 'text';
@@ -71,5 +82,17 @@ export interface VideoExcerptSegment {
71
82
  transcript: string;
72
83
  optional?: boolean;
73
84
  }
74
- export type Segment = TextSegment | ChatSegment | ArticleExcerptSegment | VideoExcerptSegment;
85
+ export interface QuestionSegment {
86
+ type: 'question';
87
+ content: string;
88
+ assessmentInstructions?: string;
89
+ maxTime?: string;
90
+ maxChars?: number;
91
+ enforceVoice?: boolean;
92
+ optional?: boolean;
93
+ feedback?: boolean;
94
+ }
95
+ export type Segment = TextSegment | ChatSegment | ArticleExcerptSegment | VideoExcerptSegment | QuestionSegment;
96
+ export type { ContentTier } from './validator/tier.js';
97
+ export { checkTierViolation } from './validator/tier.js';
75
98
  export declare function processContent(files: Map<string, string>): ProcessResult;
package/dist/index.js CHANGED
@@ -1,15 +1,24 @@
1
- import { flattenModule } from './flattener/index.js';
1
+ import { flattenModule, flattenLens } from './flattener/index.js';
2
+ import { parseModule } from './parser/module.js';
2
3
  import { parseCourse } from './parser/course.js';
3
4
  import { parseLearningOutcome } from './parser/learning-outcome.js';
4
5
  import { parseLens } from './parser/lens.js';
5
6
  import { parseWikilink, resolveWikilinkPath, findFileWithExtension, findSimilarFiles, formatSuggestion } from './parser/wikilink.js';
6
7
  import { validateUuids } from './validator/uuid.js';
8
+ import { detectDuplicateSlugs } from './validator/duplicates.js';
9
+ import { validateOutputIntegrity } from './validator/output-integrity.js';
7
10
  import { extractArticleExcerpt } from './bundler/article.js';
8
11
  import { extractVideoExcerpt } from './bundler/video.js';
12
+ import { parseArticle } from './parser/article.js';
13
+ import { parseVideoTranscript } from './parser/video-transcript.js';
14
+ import { validateTimestamps } from './validator/timestamps.js';
15
+ import { levenshtein } from './validator/field-typos.js';
16
+ import { buildTierMap, checkTierViolation } from './validator/tier.js';
17
+ export { checkTierViolation } from './validator/tier.js';
9
18
  /**
10
19
  * Validate lens excerpts by checking if source files exist and anchors/timestamps are valid.
11
20
  */
12
- function validateLensExcerpts(lens, lensPath, files) {
21
+ function validateLensExcerpts(lens, lensPath, files, tierMap) {
13
22
  const errors = [];
14
23
  for (const section of lens.sections) {
15
24
  // Skip sections without source (e.g., Text sections)
@@ -17,7 +26,7 @@ function validateLensExcerpts(lens, lensPath, files) {
17
26
  continue;
18
27
  // Resolve the source wikilink to get the actual file path
19
28
  const wikilink = parseWikilink(section.source);
20
- if (!wikilink)
29
+ if (!wikilink || wikilink.error)
21
30
  continue;
22
31
  const resolvedPath = resolveWikilinkPath(wikilink.path, lensPath);
23
32
  const actualPath = findFileWithExtension(resolvedPath, files);
@@ -35,6 +44,20 @@ function validateLensExcerpts(lens, lensPath, files) {
35
44
  });
36
45
  continue;
37
46
  }
47
+ // Check tier violation (Lens → Article/Video)
48
+ if (tierMap) {
49
+ const childLabel = section.type.includes('article') ? 'article' : 'video transcript';
50
+ const parentTier = tierMap.get(lensPath) ?? 'production';
51
+ const childTier = tierMap.get(actualPath) ?? 'production';
52
+ const violation = checkTierViolation(lensPath, parentTier, actualPath, childTier, childLabel, section.line);
53
+ if (violation) {
54
+ errors.push(violation);
55
+ continue;
56
+ }
57
+ if (childTier === 'ignored') {
58
+ continue;
59
+ }
60
+ }
38
61
  const sourceContent = files.get(actualPath);
39
62
  // Validate article excerpts
40
63
  if (section.type === 'article' || section.type === 'lens-article') {
@@ -76,13 +99,31 @@ export function processContent(files) {
76
99
  const modules = [];
77
100
  const courses = [];
78
101
  const errors = [];
102
+ const urlsToValidate = [];
79
103
  const uuidEntries = [];
104
+ const slugEntries = [];
105
+ const slugToPath = new Map();
106
+ const filePathToSlug = new Map(); // Reverse: file path → slug (survives duplicate slugs)
107
+ const courseSlugToFile = new Map();
108
+ // Pre-scan: build tier map from frontmatter tags
109
+ const tierMap = buildTierMap(files);
80
110
  // Identify file types by path
81
111
  for (const [path, content] of files.entries()) {
112
+ // Skip ignored files entirely
113
+ if (tierMap.get(path) === 'ignored') {
114
+ continue;
115
+ }
82
116
  if (path.startsWith('modules/')) {
83
- const result = flattenModule(path, files);
117
+ const result = flattenModule(path, files, new Set(), tierMap);
84
118
  if (result.module) {
85
119
  modules.push(result.module);
120
+ slugToPath.set(result.module.slug, path);
121
+ filePathToSlug.set(path, result.module.slug);
122
+ // Collect slug for duplicate detection
123
+ slugEntries.push({
124
+ slug: result.module.slug,
125
+ file: path,
126
+ });
86
127
  // Collect module contentId for UUID validation
87
128
  if (result.module.contentId) {
88
129
  uuidEntries.push({
@@ -91,6 +132,20 @@ export function processContent(files) {
91
132
  field: 'contentId',
92
133
  });
93
134
  }
135
+ // Collect section-level id:: fields from raw # Page: sections.
136
+ // (Lens-derived sections inherit lens.id which is validated separately.)
137
+ const rawParse = parseModule(content, path);
138
+ if (rawParse.module) {
139
+ for (const section of rawParse.module.sections) {
140
+ if (section.type === 'page' && section.fields.id) {
141
+ uuidEntries.push({
142
+ uuid: section.fields.id,
143
+ file: path,
144
+ field: 'section id',
145
+ });
146
+ }
147
+ }
148
+ }
94
149
  }
95
150
  errors.push(...result.errors);
96
151
  }
@@ -98,6 +153,7 @@ export function processContent(files) {
98
153
  const result = parseCourse(content, path);
99
154
  if (result.course) {
100
155
  courses.push(result.course);
156
+ courseSlugToFile.set(result.course.slug, path);
101
157
  }
102
158
  errors.push(...result.errors);
103
159
  }
@@ -119,6 +175,18 @@ export function processContent(files) {
119
175
  suggestion,
120
176
  severity: 'error',
121
177
  });
178
+ continue;
179
+ }
180
+ // Check tier violation (LO → Lens)
181
+ const parentTier = tierMap.get(path) ?? 'production';
182
+ const childTier = tierMap.get(lensPath) ?? 'production';
183
+ const violation = checkTierViolation(path, parentTier, lensPath, childTier, 'lens');
184
+ if (violation) {
185
+ errors.push(violation);
186
+ continue;
187
+ }
188
+ if (childTier === 'ignored') {
189
+ continue;
122
190
  }
123
191
  }
124
192
  }
@@ -137,7 +205,7 @@ export function processContent(files) {
137
205
  errors.push(...result.errors);
138
206
  // Validate excerpts (source files exist, anchors/timestamps valid)
139
207
  if (result.lens) {
140
- const excerptErrors = validateLensExcerpts(result.lens, path, files);
208
+ const excerptErrors = validateLensExcerpts(result.lens, path, files, tierMap);
141
209
  errors.push(...excerptErrors);
142
210
  }
143
211
  // Collect id for UUID validation
@@ -148,11 +216,168 @@ export function processContent(files) {
148
216
  field: 'id',
149
217
  });
150
218
  }
219
+ // Flatten lens as standalone module (pass pre-parsed lens to avoid re-parsing)
220
+ if (result.lens) {
221
+ const lensModuleResult = flattenLens(path, files, tierMap, result.lens);
222
+ if (lensModuleResult.module) {
223
+ modules.push(lensModuleResult.module);
224
+ slugEntries.push({ slug: lensModuleResult.module.slug, file: path });
225
+ slugToPath.set(lensModuleResult.module.slug, path);
226
+ }
227
+ errors.push(...lensModuleResult.errors);
228
+ }
229
+ }
230
+ else if (path.endsWith('.timestamps.json')) {
231
+ const tsErrors = validateTimestamps(content, path);
232
+ errors.push(...tsErrors);
233
+ }
234
+ else if (path.startsWith('articles/') || path.includes('/articles/')) {
235
+ const result = parseArticle(content, path);
236
+ errors.push(...result.errors);
237
+ if (result.article) {
238
+ urlsToValidate.push({ url: result.article.sourceUrl, file: path, line: 2, label: 'source_url' });
239
+ for (const img of result.article.imageUrls) {
240
+ urlsToValidate.push({ url: img.url, file: path, line: img.line, label: 'Image URL' });
241
+ }
242
+ }
243
+ }
244
+ else if (path.startsWith('video_transcripts/') || path.includes('/video_transcripts/')) {
245
+ const result = parseVideoTranscript(content, path);
246
+ errors.push(...result.errors);
247
+ if (result.transcript) {
248
+ urlsToValidate.push({ url: result.transcript.url, file: path, line: 2, label: 'url' });
249
+ }
250
+ }
251
+ else {
252
+ // File didn't match any known directory pattern — check for near-misses via Levenshtein distance
253
+ const dir = path.split('/')[0];
254
+ const VALID_DIRS = ['modules', 'courses', 'articles', 'Lenses', 'video_transcripts', 'Learning Outcomes'];
255
+ let closest = '';
256
+ let minDist = Infinity;
257
+ for (const valid of VALID_DIRS) {
258
+ const dist = levenshtein(dir.toLowerCase(), valid.toLowerCase());
259
+ if (dist < minDist) {
260
+ minDist = dist;
261
+ closest = valid;
262
+ }
263
+ }
264
+ // Threshold: distance <= 3 or <= 40% of the directory name length (whichever is smaller)
265
+ const threshold = Math.min(3, Math.ceil(dir.length * 0.4));
266
+ if (minDist > 0 && minDist <= threshold) {
267
+ errors.push({
268
+ file: path,
269
+ message: `File in directory '${dir}/' not recognized as content`,
270
+ suggestion: `Did you mean '${closest}/'?`,
271
+ severity: 'warning',
272
+ });
273
+ }
274
+ }
275
+ }
276
+ // Resolve course module paths to frontmatter slugs.
277
+ // Use filePathToSlug (built during module parsing) instead of inverting slugToPath,
278
+ // because slugToPath loses entries when duplicate slugs exist.
279
+ for (const course of courses) {
280
+ const courseFile = courseSlugToFile.get(course.slug) ?? 'courses/';
281
+ for (const item of course.progression) {
282
+ if (item.type === 'module' && item.path) {
283
+ // Resolve wikilink path relative to the course file
284
+ const resolved = resolveWikilinkPath(item.path, courseFile);
285
+ const actualFile = findFileWithExtension(resolved, files);
286
+ if (actualFile && filePathToSlug.has(actualFile)) {
287
+ item.slug = filePathToSlug.get(actualFile);
288
+ }
289
+ else {
290
+ // Try matching just the filename stem against module file stems
291
+ const stem = item.path.split('/').pop() ?? item.path;
292
+ let matched = false;
293
+ for (const [filePath, slug] of filePathToSlug.entries()) {
294
+ const fileStem = filePath.replace(/\.md$/, '').split('/').pop() ?? '';
295
+ if (fileStem === stem) {
296
+ item.slug = slug;
297
+ matched = true;
298
+ break;
299
+ }
300
+ }
301
+ if (!matched) {
302
+ errors.push({
303
+ file: courseFile,
304
+ message: `Module reference could not be resolved: "${item.path}"`,
305
+ suggestion: 'Check that the wikilink path points to an existing module file',
306
+ severity: 'error',
307
+ });
308
+ }
309
+ }
310
+ // Clean up internal path field from output
311
+ delete item.path;
312
+ }
313
+ }
314
+ // Remove unresolved module items (no slug after resolution)
315
+ course.progression = course.progression.filter(item => item.type !== 'module' || item.slug !== undefined);
316
+ }
317
+ // Check tier violations: Course → Module
318
+ for (const course of courses) {
319
+ const coursePath = courseSlugToFile.get(course.slug);
320
+ if (!coursePath)
321
+ continue;
322
+ for (const item of course.progression) {
323
+ if (item.type !== 'module' || !item.slug)
324
+ continue;
325
+ // Construct expected module path and find it in files
326
+ const expectedModulePath = `modules/${item.slug}.md`;
327
+ const modulePath = findFileWithExtension(expectedModulePath, files) ?? expectedModulePath;
328
+ if (tierMap.has(modulePath)) {
329
+ const parentTier = tierMap.get(coursePath) ?? 'production';
330
+ const childTier = tierMap.get(modulePath) ?? 'production';
331
+ const violation = checkTierViolation(coursePath, parentTier, modulePath, childTier, 'module');
332
+ if (violation) {
333
+ errors.push(violation);
334
+ }
335
+ }
151
336
  }
152
337
  }
153
338
  // Validate all collected UUIDs
154
339
  const uuidValidation = validateUuids(uuidEntries);
155
340
  errors.push(...uuidValidation.errors);
156
- return { modules, courses, errors };
341
+ // Validate for duplicate slugs
342
+ const duplicateSlugErrors = detectDuplicateSlugs(slugEntries);
343
+ errors.push(...duplicateSlugErrors);
344
+ // Validate video transcript / timestamps.json pairing
345
+ const transcriptPaths = [...files.keys()].filter(p => (p.startsWith('video_transcripts/') || p.includes('/video_transcripts/')) &&
346
+ p.endsWith('.md') &&
347
+ tierMap.get(p) !== 'ignored');
348
+ const timestampPaths = new Set([...files.keys()].filter(p => p.endsWith('.timestamps.json')));
349
+ for (const mdPath of transcriptPaths) {
350
+ const expectedTs = mdPath.replace(/\.md$/, '.timestamps.json');
351
+ if (!timestampPaths.has(expectedTs)) {
352
+ errors.push({
353
+ file: mdPath,
354
+ message: `Missing timestamps.json: expected ${expectedTs}`,
355
+ severity: 'error',
356
+ });
357
+ }
358
+ }
359
+ for (const tsPath of timestampPaths) {
360
+ const expectedMd = tsPath.replace(/\.timestamps\.json$/, '.md');
361
+ if (tierMap.get(expectedMd) === 'ignored')
362
+ continue;
363
+ if (!files.has(expectedMd)) {
364
+ errors.push({
365
+ file: tsPath,
366
+ message: `Orphaned timestamps file: no matching .md transcript found`,
367
+ severity: 'warning',
368
+ });
369
+ }
370
+ }
371
+ // Safety-net: catch empty sections/segments in final output
372
+ const integrityErrors = validateOutputIntegrity(modules, slugToPath);
373
+ errors.push(...integrityErrors);
374
+ // Post-process: assign category to errors that don't already have one
375
+ for (const error of errors) {
376
+ if (!error.category) {
377
+ const tier = tierMap.get(error.file);
378
+ error.category = tier === 'wip' ? 'wip' : 'production';
379
+ }
380
+ }
381
+ return { modules, courses, errors, urlsToValidate };
157
382
  }
158
383
  //# 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":"AAuFA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAuB,MAAM,oBAAoB,CAAC;AAE9E;;GAEG;AACH,SAAS,oBAAoB,CAC3B,IAAgB,EAChB,QAAgB,EAChB,KAA0B;IAE1B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,qDAAqD;QACrD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,SAAS;QAE9B,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,gCAAgC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACxF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,oDAAoD,CAAC;YAEpH,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,0BAA0B,YAAY,EAAE;gBACjD,UAAU;gBACV,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,qBAAqB,CAClC,aAAa,EACb,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,UAAU,CACX,CAAC;oBACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9D,+CAA+C;YAC/C,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACvE,IAAI,UAAwC,CAAC;YAC7C,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAE,CAAqB,CAAC;gBAC1E,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;gBAC3D,CAAC;YACH,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,mBAAmB,CAChC,aAAa,EACb,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,UAAU,EACV,UAAU,CACX,CAAC;oBACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,WAAW,GAAgB,EAAE,CAAC;IAEpC,8BAA8B;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE5B,+CAA+C;gBAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC5B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;wBAC7B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzF,uEAAuE;YACvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9B,yCAAyC;YACzC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBACpD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,gCAAgC;wBAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC7E,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,sCAAsC,CAAC;wBAElG,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,mCAAmC,OAAO,CAAC,YAAY,EAAE;4BAClE,UAAU;4BACV,QAAQ,EAAE,OAAO;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE;oBAC/B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,oDAAoD;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9B,mEAAmE;YACnE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAChC,CAAC;YAED,iCAAiC;YACjC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;oBACpB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ContentError } from '../index.js';
2
+ export interface ParsedArticle {
3
+ title: string;
4
+ author: string;
5
+ sourceUrl: string;
6
+ date?: string;
7
+ imageUrls: Array<{
8
+ url: string;
9
+ line: number;
10
+ }>;
11
+ }
12
+ export interface ArticleParseResult {
13
+ article: ParsedArticle | null;
14
+ errors: ContentError[];
15
+ }
16
+ export declare function parseArticle(content: string, file: string): ArticleParseResult;