lens-content-processor 0.33.0 → 0.35.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/authoring-markup.d.ts +26 -1
- package/dist/authoring-markup.js +67 -16
- package/dist/authoring-markup.js.map +1 -1
- package/dist/bundler/article.d.ts +69 -9
- package/dist/bundler/article.js +159 -58
- package/dist/bundler/article.js.map +1 -1
- package/dist/content-schema.d.ts +3 -1
- package/dist/content-schema.js +51 -12
- package/dist/content-schema.js.map +1 -1
- package/dist/dedupe-errors.js +1 -7
- package/dist/dedupe-errors.js.map +1 -1
- package/dist/flattener/index.d.ts +23 -0
- package/dist/flattener/index.js +379 -262
- package/dist/flattener/index.js.map +1 -1
- package/dist/index.d.ts +29 -2
- package/dist/index.js +84 -15
- package/dist/index.js.map +1 -1
- package/dist/parser/article.js +13 -5
- package/dist/parser/article.js.map +1 -1
- package/dist/parser/course.js +19 -6
- package/dist/parser/course.js.map +1 -1
- package/dist/parser/learning-outcome.d.ts +0 -1
- package/dist/parser/learning-outcome.js +55 -18
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/parser/lens.d.ts +6 -1
- package/dist/parser/lens.js +47 -41
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/module.js +9 -5
- package/dist/parser/module.js.map +1 -1
- package/dist/parser/response-segments.d.ts +54 -0
- package/dist/parser/response-segments.js +499 -0
- package/dist/parser/response-segments.js.map +1 -0
- package/dist/parser/survey.js +56 -15
- package/dist/parser/survey.js.map +1 -1
- package/dist/validator/article-structure.js +4 -18
- package/dist/validator/article-structure.js.map +1 -1
- package/dist/validator/directives.js +20 -42
- package/dist/validator/directives.js.map +1 -1
- package/dist/validator/emphasis.js +34 -55
- package/dist/validator/emphasis.js.map +1 -1
- package/dist/validator/html-tags.js +111 -103
- package/dist/validator/html-tags.js.map +1 -1
- package/dist/validator/markdown-parse.d.ts +3 -0
- package/dist/validator/markdown-parse.js +22 -0
- package/dist/validator/markdown-parse.js.map +1 -0
- package/dist/validator/output-integrity.d.ts +1 -1
- package/dist/validator/output-integrity.js +17 -23
- package/dist/validator/output-integrity.js.map +1 -1
- package/dist/validator/segment-fields.d.ts +4 -2
- package/dist/validator/segment-fields.js +27 -5
- package/dist/validator/segment-fields.js.map +1 -1
- package/dist/validator/test-segments.d.ts +11 -0
- package/dist/validator/test-segments.js +45 -0
- package/dist/validator/test-segments.js.map +1 -1
- package/dist/validator/uuid.d.ts +1 -2
- package/dist/validator/uuid.js +4 -6
- package/dist/validator/uuid.js.map +1 -1
- package/dist/validator/video-imports.d.ts +35 -0
- package/dist/validator/video-imports.js +183 -0
- package/dist/validator/video-imports.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emphasis.js","sourceRoot":"","sources":["../../src/validator/emphasis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emphasis.js","sourceRoot":"","sources":["../../src/validator/emphasis.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,102 +36,120 @@ const ALLOWED_TAGS = new Set([
|
|
|
36
36
|
// unambiguous and are flagged for ANY non-allowed name, which also catches
|
|
37
37
|
// XML tags and scrape artifacts like `</nbsp>`.
|
|
38
38
|
const KNOWN_HTML_TAGS = new Set([
|
|
39
|
-
"html",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
39
|
+
"html",
|
|
40
|
+
"head",
|
|
41
|
+
"body",
|
|
42
|
+
"title",
|
|
43
|
+
"meta",
|
|
44
|
+
"link",
|
|
45
|
+
"base",
|
|
46
|
+
"style",
|
|
47
|
+
"script",
|
|
48
|
+
"noscript",
|
|
49
|
+
"template",
|
|
50
|
+
"slot",
|
|
51
|
+
"div",
|
|
52
|
+
"span",
|
|
53
|
+
"p",
|
|
54
|
+
"hr",
|
|
55
|
+
"pre",
|
|
56
|
+
"blockquote",
|
|
57
|
+
"figure",
|
|
58
|
+
"figcaption",
|
|
59
|
+
"h1",
|
|
60
|
+
"h2",
|
|
61
|
+
"h3",
|
|
62
|
+
"h4",
|
|
63
|
+
"h5",
|
|
64
|
+
"h6",
|
|
65
|
+
"ul",
|
|
66
|
+
"ol",
|
|
67
|
+
"li",
|
|
68
|
+
"dl",
|
|
69
|
+
"dt",
|
|
70
|
+
"dd",
|
|
71
|
+
"menu",
|
|
72
|
+
"table",
|
|
73
|
+
"caption",
|
|
74
|
+
"thead",
|
|
75
|
+
"tbody",
|
|
76
|
+
"tfoot",
|
|
77
|
+
"tr",
|
|
78
|
+
"td",
|
|
79
|
+
"th",
|
|
80
|
+
"col",
|
|
81
|
+
"colgroup",
|
|
82
|
+
"em",
|
|
83
|
+
"i",
|
|
84
|
+
"b",
|
|
85
|
+
"strong",
|
|
86
|
+
"u",
|
|
87
|
+
"s",
|
|
88
|
+
"strike",
|
|
89
|
+
"small",
|
|
90
|
+
"big",
|
|
91
|
+
"mark",
|
|
92
|
+
"del",
|
|
93
|
+
"ins",
|
|
94
|
+
"q",
|
|
95
|
+
"cite",
|
|
96
|
+
"abbr",
|
|
97
|
+
"dfn",
|
|
98
|
+
"kbd",
|
|
99
|
+
"samp",
|
|
100
|
+
"var",
|
|
101
|
+
"code",
|
|
102
|
+
"wbr",
|
|
103
|
+
"bdi",
|
|
104
|
+
"bdo",
|
|
105
|
+
"ruby",
|
|
106
|
+
"rt",
|
|
107
|
+
"rp",
|
|
108
|
+
"data",
|
|
109
|
+
"time",
|
|
110
|
+
"address",
|
|
111
|
+
"section",
|
|
112
|
+
"article",
|
|
113
|
+
"header",
|
|
114
|
+
"footer",
|
|
115
|
+
"nav",
|
|
116
|
+
"aside",
|
|
117
|
+
"main",
|
|
118
|
+
"details",
|
|
119
|
+
"summary",
|
|
120
|
+
"dialog",
|
|
121
|
+
"img",
|
|
122
|
+
"picture",
|
|
123
|
+
"video",
|
|
124
|
+
"track",
|
|
125
|
+
"embed",
|
|
126
|
+
"object",
|
|
127
|
+
"param",
|
|
128
|
+
"iframe",
|
|
129
|
+
"map",
|
|
130
|
+
"area",
|
|
131
|
+
"canvas",
|
|
132
|
+
"form",
|
|
133
|
+
"input",
|
|
134
|
+
"button",
|
|
135
|
+
"select",
|
|
136
|
+
"option",
|
|
137
|
+
"optgroup",
|
|
138
|
+
"datalist",
|
|
139
|
+
"textarea",
|
|
140
|
+
"label",
|
|
141
|
+
"fieldset",
|
|
142
|
+
"legend",
|
|
143
|
+
"output",
|
|
144
|
+
"progress",
|
|
145
|
+
"meter",
|
|
146
|
+
"center",
|
|
147
|
+
"font",
|
|
55
148
|
]);
|
|
56
149
|
const CODE_FENCE = /^(?:```|~~~)/;
|
|
57
150
|
// <name ...>, <name/>, </name> — name must start with a letter.
|
|
58
151
|
const TAG_PATTERN = /<(\/?)([a-zA-Z][a-zA-Z0-9-]*)((?:\s[^<>]*)?)(\/?)>/g;
|
|
59
152
|
const XML_DECL_PATTERN = /<[?!](?:xml|doctype)/i;
|
|
60
|
-
const VIDEO_EMBED_HOSTS = new Set([
|
|
61
|
-
"youtube.com",
|
|
62
|
-
"www.youtube.com",
|
|
63
|
-
"m.youtube.com",
|
|
64
|
-
"youtube-nocookie.com",
|
|
65
|
-
"www.youtube-nocookie.com",
|
|
66
|
-
"youtu.be",
|
|
67
|
-
"www.youtu.be",
|
|
68
|
-
"vimeo.com",
|
|
69
|
-
"www.vimeo.com",
|
|
70
|
-
"player.vimeo.com",
|
|
71
|
-
]);
|
|
72
|
-
const VIDEO_IFRAME_ATTRIBUTES = new Set([
|
|
73
|
-
"src",
|
|
74
|
-
"width",
|
|
75
|
-
"height",
|
|
76
|
-
"frameborder",
|
|
77
|
-
"allow",
|
|
78
|
-
"referrerpolicy",
|
|
79
|
-
"allowfullscreen",
|
|
80
|
-
"title",
|
|
81
|
-
"loading",
|
|
82
|
-
]);
|
|
83
|
-
const HTML_ATTRIBUTE = /([A-Za-z_:][-A-Za-z0-9_:.]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/y;
|
|
84
|
-
function isSafeVideoIframeAttributes(source) {
|
|
85
|
-
const attributes = new Map();
|
|
86
|
-
let offset = 0;
|
|
87
|
-
while (offset < source.length) {
|
|
88
|
-
const whitespace = /^\s+/.exec(source.slice(offset));
|
|
89
|
-
if (!whitespace)
|
|
90
|
-
return false;
|
|
91
|
-
offset += whitespace[0].length;
|
|
92
|
-
if (offset === source.length)
|
|
93
|
-
break;
|
|
94
|
-
HTML_ATTRIBUTE.lastIndex = offset;
|
|
95
|
-
const match = HTML_ATTRIBUTE.exec(source);
|
|
96
|
-
if (!match)
|
|
97
|
-
return false;
|
|
98
|
-
offset = HTML_ATTRIBUTE.lastIndex;
|
|
99
|
-
const name = match[1].toLowerCase();
|
|
100
|
-
if (!VIDEO_IFRAME_ATTRIBUTES.has(name) || attributes.has(name))
|
|
101
|
-
return false;
|
|
102
|
-
attributes.set(name, match[2] ?? match[3] ?? match[4] ?? null);
|
|
103
|
-
}
|
|
104
|
-
const src = attributes.get("src");
|
|
105
|
-
if (!src)
|
|
106
|
-
return false;
|
|
107
|
-
try {
|
|
108
|
-
const url = new URL(src);
|
|
109
|
-
if ((url.protocol !== "https:" && url.protocol !== "http:") ||
|
|
110
|
-
!VIDEO_EMBED_HOSTS.has(url.hostname.toLowerCase()))
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
for (const dimension of ["width", "height"]) {
|
|
117
|
-
const value = attributes.get(dimension);
|
|
118
|
-
if (value !== undefined && (value === null || !/^\d+$/.test(value)))
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
const frameborder = attributes.get("frameborder");
|
|
122
|
-
if (frameborder !== undefined && frameborder !== "0")
|
|
123
|
-
return false;
|
|
124
|
-
const allowfullscreen = attributes.get("allowfullscreen");
|
|
125
|
-
if (allowfullscreen !== undefined && allowfullscreen !== null && allowfullscreen !== "")
|
|
126
|
-
return false;
|
|
127
|
-
const loading = attributes.get("loading");
|
|
128
|
-
if (loading !== undefined && loading !== "lazy" && loading !== "eager")
|
|
129
|
-
return false;
|
|
130
|
-
return true;
|
|
131
|
-
}
|
|
132
|
-
function stripSafeVideoIframes(line) {
|
|
133
|
-
return line.replace(/<iframe\b([^<>]*)>\s*<\/iframe>/gi, (whole, attributes) => isSafeVideoIframeAttributes(attributes) ? " ".repeat(whole.length) : whole);
|
|
134
|
-
}
|
|
135
153
|
/**
|
|
136
154
|
* Flag raw HTML/XML tags in article body content.
|
|
137
155
|
*
|
|
@@ -156,7 +174,7 @@ export function validateHtmlTags(body, file, bodyStartLine) {
|
|
|
156
174
|
if (inCodeBlock)
|
|
157
175
|
continue;
|
|
158
176
|
// Strip inline code spans so `<div>` in backticks is not flagged.
|
|
159
|
-
const line =
|
|
177
|
+
const line = rawLine.replace(/`[^`]*`/g, "");
|
|
160
178
|
if (XML_DECL_PATTERN.test(line)) {
|
|
161
179
|
errors.push({
|
|
162
180
|
file,
|
|
@@ -166,16 +184,6 @@ export function validateHtmlTags(body, file, bodyStartLine) {
|
|
|
166
184
|
severity: "error",
|
|
167
185
|
});
|
|
168
186
|
}
|
|
169
|
-
if (/<svg(?:\s|>)/i.test(line)) {
|
|
170
|
-
errors.push({
|
|
171
|
-
file,
|
|
172
|
-
line: absLine,
|
|
173
|
-
code: "article.inline-svg-unsupported",
|
|
174
|
-
message: "Inline SVG found in article content",
|
|
175
|
-
suggestion: "Replace the inline SVG with a standard Markdown image that references a portable SVG or PNG asset",
|
|
176
|
-
severity: "error",
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
187
|
for (const match of line.matchAll(TAG_PATTERN)) {
|
|
180
188
|
const isClosing = match[1] === "/";
|
|
181
189
|
const name = match[2].toLowerCase();
|
|
@@ -191,7 +199,7 @@ export function validateHtmlTags(body, file, bodyStartLine) {
|
|
|
191
199
|
line: absLine,
|
|
192
200
|
message: `HTML tag '${rendered}' in article content`,
|
|
193
201
|
suggestion: "Use markdown syntax instead of raw HTML tags (allowed exceptions: " +
|
|
194
|
-
"<sup>, <sub>, <a>, <br>, <audio>, and
|
|
202
|
+
"<sup>, <sub>, <a>, <br>, <audio>, and inline SVG elements)",
|
|
195
203
|
severity: "error",
|
|
196
204
|
});
|
|
197
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-tags.js","sourceRoot":"","sources":["../../src/validator/html-tags.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"html-tags.js","sourceRoot":"","sources":["../../src/validator/html-tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import remarkDirective from "remark-directive";
|
|
2
|
+
import remarkGfm from "remark-gfm";
|
|
3
|
+
import remarkMath from "remark-math";
|
|
4
|
+
import remarkParse from "remark-parse";
|
|
5
|
+
import { unified } from "unified";
|
|
6
|
+
const lastParse = {};
|
|
7
|
+
export function parseMarkdown(source, preset) {
|
|
8
|
+
const cached = lastParse[preset];
|
|
9
|
+
if (cached && cached.source === source)
|
|
10
|
+
return cached.tree;
|
|
11
|
+
const processor = preset === "gfm"
|
|
12
|
+
? unified().use(remarkParse).use(remarkGfm)
|
|
13
|
+
: unified()
|
|
14
|
+
.use(remarkParse)
|
|
15
|
+
.use(remarkGfm)
|
|
16
|
+
.use(remarkDirective)
|
|
17
|
+
.use(remarkMath, { singleDollarTextMath: false });
|
|
18
|
+
const tree = processor.parse(source);
|
|
19
|
+
lastParse[preset] = { source, tree };
|
|
20
|
+
return tree;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=markdown-parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-parse.js","sourceRoot":"","sources":["../../src/validator/markdown-parse.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOlC,MAAM,SAAS,GAEX,EAAE,CAAC;AAEP,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,MAAsB;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAC3D,MAAM,SAAS,GACb,MAAM,KAAK,KAAK;QACd,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QAC3C,CAAC,CAAC,OAAO,EAAE;aACN,GAAG,CAAC,WAAW,CAAC;aAChB,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,CAAC,eAAe,CAAC;aACpB,GAAG,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAS,CAAC;IAC7C,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSourceLine } from
|
|
1
|
+
import { getSourceLine } from "../source-location.js";
|
|
2
2
|
/**
|
|
3
3
|
* Broad safety-net validation on the flattened output.
|
|
4
4
|
* Catches empty sections (no segments) and empty segments (no content)
|
|
@@ -6,6 +6,7 @@ import { getSourceLine } from '../source-location.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function validateOutputIntegrity(modules, slugToPath) {
|
|
8
8
|
const errors = [];
|
|
9
|
+
const reportedEmptySegments = new Set();
|
|
9
10
|
for (const module of modules) {
|
|
10
11
|
const moduleFile = slugToPath?.get(module.slug) ?? module.slug;
|
|
11
12
|
for (const section of module.sections) {
|
|
@@ -16,41 +17,34 @@ export function validateOutputIntegrity(modules, slugToPath) {
|
|
|
16
17
|
file,
|
|
17
18
|
line: getSourceLine(section),
|
|
18
19
|
message: `Section "${sectionLabel}" has no segments`,
|
|
19
|
-
severity:
|
|
20
|
+
severity: "error",
|
|
20
21
|
});
|
|
21
22
|
continue;
|
|
22
23
|
}
|
|
23
24
|
for (let i = 0; i < section.segments.length; i++) {
|
|
24
25
|
const segment = section.segments[i];
|
|
26
|
+
const sourceLine = getSourceLine(segment) ?? getSourceLine(section);
|
|
27
|
+
const emptySegmentKey = `${file}\0${sourceLine ?? ""}\0${segment.type}`;
|
|
28
|
+
const reportEmpty = (message) => {
|
|
29
|
+
if (reportedEmptySegments.has(emptySegmentKey))
|
|
30
|
+
return;
|
|
31
|
+
reportedEmptySegments.add(emptySegmentKey);
|
|
32
|
+
errors.push({ file, line: sourceLine, message, severity: "error" });
|
|
33
|
+
};
|
|
25
34
|
switch (segment.type) {
|
|
26
|
-
case
|
|
35
|
+
case "text":
|
|
27
36
|
if (!segment.content?.trim()) {
|
|
28
|
-
|
|
29
|
-
file,
|
|
30
|
-
line: getSourceLine(segment) ?? getSourceLine(section),
|
|
31
|
-
message: `Empty text segment in "${sectionLabel}" (segment ${i + 1})`,
|
|
32
|
-
severity: 'error',
|
|
33
|
-
});
|
|
37
|
+
reportEmpty(`Empty text segment in "${sectionLabel}" (segment ${i + 1})`);
|
|
34
38
|
}
|
|
35
39
|
break;
|
|
36
|
-
case
|
|
40
|
+
case "article":
|
|
37
41
|
if (!segment.content?.trim()) {
|
|
38
|
-
|
|
39
|
-
file,
|
|
40
|
-
line: getSourceLine(segment) ?? getSourceLine(section),
|
|
41
|
-
message: `Empty article segment in "${sectionLabel}" (segment ${i + 1})`,
|
|
42
|
-
severity: 'error',
|
|
43
|
-
});
|
|
42
|
+
reportEmpty(`Empty article segment in "${sectionLabel}" (segment ${i + 1})`);
|
|
44
43
|
}
|
|
45
44
|
break;
|
|
46
|
-
case
|
|
45
|
+
case "video":
|
|
47
46
|
if (!segment.transcript?.length) {
|
|
48
|
-
|
|
49
|
-
file,
|
|
50
|
-
line: getSourceLine(segment) ?? getSourceLine(section),
|
|
51
|
-
message: `Empty video transcript in "${sectionLabel}" (segment ${i + 1})`,
|
|
52
|
-
severity: 'error',
|
|
53
|
-
});
|
|
47
|
+
reportEmpty(`Empty video transcript in "${sectionLabel}" (segment ${i + 1})`);
|
|
54
48
|
}
|
|
55
49
|
break;
|
|
56
50
|
// chat segments have no required content body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-integrity.js","sourceRoot":"","sources":["../../src/validator/output-integrity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA0B,EAC1B,UAAgC;IAEhC,MAAM,MAAM,GAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"output-integrity.js","sourceRoot":"","sources":["../../src/validator/output-integrity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA0B,EAC1B,UAAgC;IAEhC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;QAE/D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC;YAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAExD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;oBAC5B,OAAO,EAAE,YAAY,YAAY,mBAAmB;oBACpD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,GAAG,IAAI,KAAK,UAAU,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxE,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;oBACtC,IAAI,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC;wBAAE,OAAO;oBACvD,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC,CAAC;gBAEF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,MAAM;wBACT,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;4BAC7B,WAAW,CACT,0BAA0B,YAAY,cAAc,CAAC,GAAG,CAAC,GAAG,CAC7D,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,KAAK,SAAS;wBACZ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;4BAC7B,WAAW,CACT,6BAA6B,YAAY,cAAc,CAAC,GAAG,CAAC,GAAG,CAChE,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,KAAK,OAAO;wBACV,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;4BAChC,WAAW,CACT,8BAA8B,YAAY,cAAc,CAAC,GAAG,CAAC,GAAG,CACjE,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,8CAA8C;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { ContentError } from
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Validate that fields are appropriate for the segment type.
|
|
4
4
|
* Warns about fields that belong to different segment types.
|
|
5
5
|
*
|
|
6
|
-
* @param segmentType - The type of segment (text, chat, article, video,
|
|
6
|
+
* @param segmentType - The type of segment (text, chat, article, video,
|
|
7
|
+
* question, roleplay), or a "question:<subtype>" response-segment schema
|
|
8
|
+
* key (from responseSegmentSchemaKey)
|
|
7
9
|
* @param fields - Object mapping field names to their values
|
|
8
10
|
* @param file - File path for error reporting
|
|
9
11
|
* @param line - Line number for error reporting
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { VALID_FIELDS_BY_SEGMENT_TYPE } from
|
|
1
|
+
import { VALID_FIELDS_BY_SEGMENT_TYPE } from "../content-schema.js";
|
|
2
2
|
/**
|
|
3
3
|
* Fields that are specific to excerpt segments (not valid in text/chat).
|
|
4
4
|
*/
|
|
5
|
-
const EXCERPT_ONLY_FIELDS = new Set([
|
|
5
|
+
const EXCERPT_ONLY_FIELDS = new Set(["from", "to"]);
|
|
6
6
|
/**
|
|
7
7
|
* Validate that fields are appropriate for the segment type.
|
|
8
8
|
* Warns about fields that belong to different segment types.
|
|
9
9
|
*
|
|
10
|
-
* @param segmentType - The type of segment (text, chat, article, video,
|
|
10
|
+
* @param segmentType - The type of segment (text, chat, article, video,
|
|
11
|
+
* question, roleplay), or a "question:<subtype>" response-segment schema
|
|
12
|
+
* key (from responseSegmentSchemaKey)
|
|
11
13
|
* @param fields - Object mapping field names to their values
|
|
12
14
|
* @param file - File path for error reporting
|
|
13
15
|
* @param line - Line number for error reporting
|
|
@@ -20,6 +22,13 @@ export function validateSegmentFields(segmentType, fields, file, line) {
|
|
|
20
22
|
// Unknown segment type - validation handled elsewhere
|
|
21
23
|
return warnings;
|
|
22
24
|
}
|
|
25
|
+
// "question:open" → "Question: Open" for messages
|
|
26
|
+
const subtype = segmentType.startsWith("question:")
|
|
27
|
+
? segmentType.slice("question:".length)
|
|
28
|
+
: null;
|
|
29
|
+
const displayType = subtype
|
|
30
|
+
? `Question: ${subtype === "fillblank" ? "FillBlank" : subtype[0].toUpperCase() + subtype.slice(1)}`
|
|
31
|
+
: segmentType;
|
|
23
32
|
for (const fieldName of Object.keys(fields)) {
|
|
24
33
|
if (!validFields.has(fieldName)) {
|
|
25
34
|
// Check if this is a field that belongs to a different segment type
|
|
@@ -27,9 +36,22 @@ export function validateSegmentFields(segmentType, fields, file, line) {
|
|
|
27
36
|
warnings.push({
|
|
28
37
|
file,
|
|
29
38
|
line,
|
|
30
|
-
message: `Field '${fieldName}' is not valid in ${
|
|
39
|
+
message: `Field '${fieldName}' is not valid in ${displayType} segment`,
|
|
31
40
|
suggestion: `'${fieldName}' is only valid in article, video, or embed segments`,
|
|
32
|
-
severity:
|
|
41
|
+
severity: "warning",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else if (subtype) {
|
|
45
|
+
// Response subtypes each have a small, closed field set; a known
|
|
46
|
+
// field from another subtype (e.g. scale:: on a Choice) would
|
|
47
|
+
// otherwise be silently ignored — field-typos.ts only catches
|
|
48
|
+
// unknown names.
|
|
49
|
+
warnings.push({
|
|
50
|
+
file,
|
|
51
|
+
line,
|
|
52
|
+
message: `Field '${fieldName}' is not valid in a ${displayType} segment`,
|
|
53
|
+
suggestion: `Valid fields: ${[...validFields].join(", ")}`,
|
|
54
|
+
severity: "warning",
|
|
33
55
|
});
|
|
34
56
|
}
|
|
35
57
|
// Note: We don't warn about completely unknown fields here
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-fields.js","sourceRoot":"","sources":["../../src/validator/segment-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"segment-fields.js","sourceRoot":"","sources":["../../src/validator/segment-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,MAA8B,EAC9B,IAAY,EACZ,IAAY;IAEZ,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAE9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,sDAAsD;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;QACjD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,aAAa,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACpG,CAAC,CAAC,WAAW,CAAC;IAEhB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,oEAAoE;YACpE,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI;oBACJ,IAAI;oBACJ,OAAO,EAAE,UAAU,SAAS,qBAAqB,WAAW,UAAU;oBACtE,UAAU,EAAE,IAAI,SAAS,sDAAsD;oBAC/E,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,iEAAiE;gBACjE,8DAA8D;gBAC9D,8DAA8D;gBAC9D,iBAAiB;gBACjB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI;oBACJ,IAAI;oBACJ,OAAO,EAAE,UAAU,SAAS,uBAAuB,WAAW,UAAU;oBACxE,UAAU,EAAE,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC1D,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,2DAA2D;YAC3D,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ContentError } from "../index.js";
|
|
2
2
|
import type { ParsedSection } from "../parser/sections.js";
|
|
3
|
+
import type { ParsedLensSegment } from "../parser/lens.js";
|
|
3
4
|
/**
|
|
4
5
|
* Validate that an LO Test section contains only assessable segment types.
|
|
5
6
|
* Flags non-assessable segments (text/article/video/chat) as errors, since
|
|
@@ -10,3 +11,13 @@ import type { ParsedSection } from "../parser/sections.js";
|
|
|
10
11
|
* @returns Array of error ContentError objects for disallowed segments
|
|
11
12
|
*/
|
|
12
13
|
export declare function validateTestSegments(segments: ParsedSection[], file: string): ContentError[];
|
|
14
|
+
/**
|
|
15
|
+
* Validate that a converted Test segment is gradable. A Test is an
|
|
16
|
+
* assessment, so every item in it must produce a score: legacy questions and
|
|
17
|
+
* roleplays always do, but new-style response segments only when they are
|
|
18
|
+
* graded — a Rating never is, and the other subtypes only with a rubric or
|
|
19
|
+
* correct answers. Returns an error for anything ungradable; the line is
|
|
20
|
+
* relative to the Test section body (callers offset it like the other
|
|
21
|
+
* conversion errors).
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateTestSegmentGradability(segment: ParsedLensSegment, file: string, line: number): ContentError[];
|
|
@@ -37,4 +37,49 @@ export function validateTestSegments(segments, file) {
|
|
|
37
37
|
}
|
|
38
38
|
return errors;
|
|
39
39
|
}
|
|
40
|
+
/** How to make each response subtype gradable, for the errors below. */
|
|
41
|
+
const GRADABLE_HINTS = {
|
|
42
|
+
open: "add assessment-instructions:: with a scoring rubric",
|
|
43
|
+
choice: "mark at least one correct option with '- [x] Option text'",
|
|
44
|
+
fillblank: "make at least one blank graded ({{expected answer}} or {{number <reference>}}), or add assessment-instructions::",
|
|
45
|
+
ranking: "add assessment-instructions:: with a scoring rubric",
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Validate that a converted Test segment is gradable. A Test is an
|
|
49
|
+
* assessment, so every item in it must produce a score: legacy questions and
|
|
50
|
+
* roleplays always do, but new-style response segments only when they are
|
|
51
|
+
* graded — a Rating never is, and the other subtypes only with a rubric or
|
|
52
|
+
* correct answers. Returns an error for anything ungradable; the line is
|
|
53
|
+
* relative to the Test section body (callers offset it like the other
|
|
54
|
+
* conversion errors).
|
|
55
|
+
*/
|
|
56
|
+
export function validateTestSegmentGradability(segment, file, line) {
|
|
57
|
+
if (segment.type !== "question" || !("questionType" in segment))
|
|
58
|
+
return [];
|
|
59
|
+
if (segment.graded)
|
|
60
|
+
return [];
|
|
61
|
+
if (segment.questionType === "rating") {
|
|
62
|
+
return [
|
|
63
|
+
{
|
|
64
|
+
file,
|
|
65
|
+
line,
|
|
66
|
+
message: "Test section contains a 'Question: Rating' segment — ratings are never graded, so a rating cannot be part of an assessment.",
|
|
67
|
+
suggestion: "Remove the rating from the Test (move it into a lens or survey), or use a gradable subtype",
|
|
68
|
+
severity: "error",
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
const display = segment.questionType === "fillblank"
|
|
73
|
+
? "FillBlank"
|
|
74
|
+
: segment.questionType[0].toUpperCase() + segment.questionType.slice(1);
|
|
75
|
+
return [
|
|
76
|
+
{
|
|
77
|
+
file,
|
|
78
|
+
line,
|
|
79
|
+
message: `Test section contains an ungraded 'Question: ${display}' segment. Every segment in a Test must be gradable, because a Test is an assessment.`,
|
|
80
|
+
suggestion: `To make it gradable, ${GRADABLE_HINTS[segment.questionType]}`,
|
|
81
|
+
severity: "error",
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
}
|
|
40
85
|
//# sourceMappingURL=test-segments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-segments.js","sourceRoot":"","sources":["../../src/validator/test-segments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-segments.js","sourceRoot":"","sources":["../../src/validator/test-segments.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAE9D,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,uLAAuL;YACzL,CAAC,CAAC,wEAAwE,OAAO,CAAC,IAAI,oCAAoC,CAAC;QAE/H,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,4BAA4B,OAAO,CAAC,IAAI,0JAA0J;YAC3M,UAAU;YACV,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,qDAAqD;IAC3D,MAAM,EAAE,2DAA2D;IACnE,SAAS,EACP,kHAAkH;IACpH,OAAO,EAAE,qDAAqD;CAC/D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA0B,EAC1B,IAAY,EACZ,IAAY;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL;gBACE,IAAI;gBACJ,IAAI;gBACJ,OAAO,EACL,6HAA6H;gBAC/H,UAAU,EACR,4FAA4F;gBAC9F,QAAQ,EAAE,OAAO;aAClB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,KAAK,WAAW;QAClC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL;YACE,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,gDAAgD,OAAO,uFAAuF;YACvJ,UAAU,EAAE,wBAAwB,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC1E,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC;AACJ,CAAC"}
|
package/dist/validator/uuid.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContentError } from
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Validate that a string is a valid UUID format.
|
|
4
4
|
*/
|
|
@@ -7,7 +7,6 @@ export interface UuidEntry {
|
|
|
7
7
|
uuid: string;
|
|
8
8
|
file: string;
|
|
9
9
|
field: string;
|
|
10
|
-
line?: number;
|
|
11
10
|
}
|
|
12
11
|
export interface UuidValidationResult {
|
|
13
12
|
errors: ContentError[];
|