lens-content-processor 0.50.0 → 0.54.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/bundler/article.d.ts +5 -0
- package/dist/bundler/article.js +23 -1
- package/dist/bundler/article.js.map +1 -1
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -1
- package/dist/content-schema.js +21 -6
- package/dist/content-schema.js.map +1 -1
- package/dist/course-graph.d.ts +2 -0
- package/dist/course-graph.js +190 -0
- package/dist/course-graph.js.map +1 -0
- package/dist/flattener/index.js +18 -4
- package/dist/flattener/index.js.map +1 -1
- package/dist/glossary.d.ts +38 -0
- package/dist/glossary.js +365 -0
- package/dist/glossary.js.map +1 -0
- package/dist/index.d.ts +21 -2
- package/dist/index.js +64 -94
- package/dist/index.js.map +1 -1
- package/dist/markdown-parse.d.ts +5 -0
- package/dist/markdown-parse.js +33 -0
- package/dist/markdown-parse.js.map +1 -0
- package/dist/parser/course.js +54 -3
- package/dist/parser/course.js.map +1 -1
- package/dist/parser/lens.d.ts +3 -1
- package/dist/parser/lens.js +4 -1
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/meeting-doc.d.ts +14 -0
- package/dist/parser/meeting-doc.js +230 -0
- package/dist/parser/meeting-doc.js.map +1 -0
- package/dist/parser/response-segments.d.ts +2 -2
- package/dist/parser/response-segments.js +39 -4
- package/dist/parser/response-segments.js.map +1 -1
- package/dist/parser/survey.js +9 -0
- package/dist/parser/survey.js.map +1 -1
- package/dist/reference-graph.d.ts +3 -0
- package/dist/reference-graph.js +11 -7
- package/dist/reference-graph.js.map +1 -1
- package/dist/same-page-links.js +3 -18
- package/dist/same-page-links.js.map +1 -1
- package/dist/validator/article-structure.js +1 -1
- package/dist/validator/article-structure.js.map +1 -1
- package/dist/validator/emphasis.js +1 -1
- package/dist/validator/emphasis.js.map +1 -1
- package/dist/validator/same-lens-links.js +3 -15
- package/dist/validator/same-lens-links.js.map +1 -1
- package/dist/validator/test-segments.js +1 -1
- package/package.json +1 -1
- package/dist/validator/markdown-parse.d.ts +0 -3
- package/dist/validator/markdown-parse.js +0 -22
- package/dist/validator/markdown-parse.js.map +0 -1
package/dist/parser/lens.d.ts
CHANGED
|
@@ -41,12 +41,13 @@ export interface ParsedQuestionSegment {
|
|
|
41
41
|
questionType: ResponseQuestionSubtype;
|
|
42
42
|
responseId: string;
|
|
43
43
|
content: string;
|
|
44
|
+
description?: string;
|
|
44
45
|
graded: boolean;
|
|
45
46
|
assessmentInstructions?: string;
|
|
46
47
|
feedbackInstructions?: string;
|
|
47
48
|
optional?: boolean;
|
|
48
49
|
feedback?: boolean;
|
|
49
|
-
forceFeedback?:
|
|
50
|
+
forceFeedback?: true | "first";
|
|
50
51
|
maxTime?: string;
|
|
51
52
|
maxChars?: number;
|
|
52
53
|
enforceVoice?: boolean;
|
|
@@ -109,6 +110,7 @@ export interface ParsedLens {
|
|
|
109
110
|
tldr?: string;
|
|
110
111
|
summaryForTutor?: string;
|
|
111
112
|
addToAiContext?: string[] | null;
|
|
113
|
+
glossaryTerms?: unknown;
|
|
112
114
|
minChatMessages?: number;
|
|
113
115
|
durationMinutes?: number;
|
|
114
116
|
readingMinutes?: number;
|
package/dist/parser/lens.js
CHANGED
|
@@ -464,7 +464,7 @@ export function convertSegment(raw, sectionType, file) {
|
|
|
464
464
|
result.errors.push({
|
|
465
465
|
file,
|
|
466
466
|
line: raw.line,
|
|
467
|
-
message: "force-feedback::
|
|
467
|
+
message: "force-feedback:: with feedback:: false has no feedback to send",
|
|
468
468
|
suggestion: "Remove feedback:: false, or remove force-feedback::",
|
|
469
469
|
severity: "warning",
|
|
470
470
|
});
|
|
@@ -930,6 +930,9 @@ function parseLensPrepared(content, file, validationSource) {
|
|
|
930
930
|
tldr,
|
|
931
931
|
summaryForTutor,
|
|
932
932
|
addToAiContext,
|
|
933
|
+
...("glossary_terms" in frontmatter && {
|
|
934
|
+
glossaryTerms: frontmatter.glossary_terms,
|
|
935
|
+
}),
|
|
933
936
|
minChatMessages,
|
|
934
937
|
durationMinutes,
|
|
935
938
|
readingMinutes,
|
package/dist/parser/lens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lens.js","sourceRoot":"","sources":["../../src/parser/lens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
|
+
/** Files that meeting docs include; they are not meeting docs themselves. */
|
|
3
|
+
export declare const MEETING_DOC_SHARED_DIR = "meetings/shared/";
|
|
4
|
+
/**
|
|
5
|
+
* The tab looks core/meeting_docs/styles.py defines. Kept in step by hand:
|
|
6
|
+
* a name missing here is an error an author sees in the validator instead of
|
|
7
|
+
* a failed render the next time a cohort's documents are made.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MEETING_DOC_STYLES: Set<string>;
|
|
10
|
+
export interface MeetingDocParseResult {
|
|
11
|
+
markdown: string | null;
|
|
12
|
+
errors: ContentError[];
|
|
13
|
+
}
|
|
14
|
+
export declare function parseMeetingDoc(content: string, file: string, files?: Map<string, string>): MeetingDocParseResult;
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
// src/parser/meeting-doc.ts
|
|
2
|
+
//
|
|
3
|
+
// Meeting docs (meetings/ folder): the Markdown source of a course meeting's
|
|
4
|
+
// session document, attached to a `# Meeting:` marker with
|
|
5
|
+
// `meeting-doc:: [[../meetings/<course>/Meeting N]]`. The platform renders it
|
|
6
|
+
// into the Google Doc template that each group's copy is made from
|
|
7
|
+
// (core/meeting_docs in lens-platform; its markdown.py documents the format).
|
|
8
|
+
//
|
|
9
|
+
// A line `source:: [[../shared/<name>]]` includes a whole file from
|
|
10
|
+
// meetings/shared/ at that point, the way a lens includes an article. After
|
|
11
|
+
// `# Tab: <title>` it can supply the whole tab, `style::` line included.
|
|
12
|
+
// Includes are resolved here, so the platform receives one finished text.
|
|
13
|
+
//
|
|
14
|
+
// This file checks what an author can get wrong in a way the platform would
|
|
15
|
+
// only discover at provisioning time: the includes, the tabs, their styles,
|
|
16
|
+
// the links between them, Markdown the renderer does not support, and the
|
|
17
|
+
// label provisioning fills. It returns the PUBLISHED text (CriticMarkup
|
|
18
|
+
// rejected, %% comments removed, includes resolved), which is what the
|
|
19
|
+
// platform renders.
|
|
20
|
+
import { visit } from "unist-util-visit";
|
|
21
|
+
import { stripAuthoringMarkup, stripAuthoringMarkupForValidation, } from "../authoring-markup.js";
|
|
22
|
+
import { parseMarkdown } from "../markdown-parse.js";
|
|
23
|
+
import { parseFrontmatter } from "./frontmatter.js";
|
|
24
|
+
import { findFileWithExtension, resolveWikilinkPath } from "./wikilink.js";
|
|
25
|
+
import { validateFrontmatter } from "../validator/validate-frontmatter.js";
|
|
26
|
+
/** Files that meeting docs include; they are not meeting docs themselves. */
|
|
27
|
+
export const MEETING_DOC_SHARED_DIR = "meetings/shared/";
|
|
28
|
+
/**
|
|
29
|
+
* The tab looks core/meeting_docs/styles.py defines. Kept in step by hand:
|
|
30
|
+
* a name missing here is an error an author sees in the validator instead of
|
|
31
|
+
* a failed render the next time a cohort's documents are made.
|
|
32
|
+
*/
|
|
33
|
+
export const MEETING_DOC_STYLES = new Set([
|
|
34
|
+
"session",
|
|
35
|
+
"faq",
|
|
36
|
+
"glossary",
|
|
37
|
+
"plain",
|
|
38
|
+
]);
|
|
39
|
+
const TAB_LINE = /^# Tab:\s*(.+?)\s*$/;
|
|
40
|
+
// Any line that starts like an include; one that is not exactly an include
|
|
41
|
+
// would reach the renderer unresolved, so it is reported.
|
|
42
|
+
const ANY_INCLUDE = /^\s*source::\s*\[\[/;
|
|
43
|
+
const INCLUDE_LINE = /^source::\s*\[\[\s*([^\]|#]+?)\s*(?:\|[^\]]*)?\]\]\s*$/;
|
|
44
|
+
const STYLE_LINE = /^style::\s*(.*?)\s*$/;
|
|
45
|
+
const TAB_LINK = /\]\(<?#tab:([^)>]+)>?\)/g;
|
|
46
|
+
// Provisioning fills this line with the group's meeting link, and makes no
|
|
47
|
+
// group docs from a template without it (session_doc_provisioning.py).
|
|
48
|
+
const MEETING_LINK_LABEL = "Meeting link:";
|
|
49
|
+
// Markdown that core/meeting_docs/markdown.py refuses, by mdast node type.
|
|
50
|
+
const UNSUPPORTED = {
|
|
51
|
+
code: "a code block (a fenced block, or a line indented 4 spaces outside a list)",
|
|
52
|
+
delete: "strikethrough (~~)",
|
|
53
|
+
footnoteReference: "a footnote",
|
|
54
|
+
footnoteDefinition: "a footnote",
|
|
55
|
+
};
|
|
56
|
+
export function parseMeetingDoc(content, file, files = new Map()) {
|
|
57
|
+
const errors = [];
|
|
58
|
+
// Front matter is optional: only a Drive file name lives there.
|
|
59
|
+
if (content.startsWith("---\n")) {
|
|
60
|
+
const parsed = parseFrontmatter(content, file);
|
|
61
|
+
if (parsed.error)
|
|
62
|
+
return { markdown: null, errors: [parsed.error] };
|
|
63
|
+
errors.push(...validateFrontmatter(parsed.frontmatter, "meeting-doc", file));
|
|
64
|
+
}
|
|
65
|
+
// Checked on the view that keeps every line where the author wrote it;
|
|
66
|
+
// published from the view with authoring markup removed.
|
|
67
|
+
const lines = resolve(stripAuthoringMarkupForValidation, content, file, files, [], errors);
|
|
68
|
+
const published = resolve(stripAuthoringMarkup, content, file, files, [], []);
|
|
69
|
+
const at = (i) => ({ file: lines[i].file, line: lines[i].line });
|
|
70
|
+
const tabs = new Map();
|
|
71
|
+
const links = [];
|
|
72
|
+
let afterTab = false;
|
|
73
|
+
lines.forEach(({ text }, i) => {
|
|
74
|
+
const tab = text.match(TAB_LINE);
|
|
75
|
+
if (tab) {
|
|
76
|
+
if (tabs.has(tab[1])) {
|
|
77
|
+
errors.push({
|
|
78
|
+
...at(i),
|
|
79
|
+
message: `Two tabs are named "${tab[1]}"`,
|
|
80
|
+
suggestion: "Give every # Tab: its own title; tab links find tabs by title",
|
|
81
|
+
severity: "error",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
tabs.set(tab[1], i);
|
|
85
|
+
afterTab = true;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const style = text.match(STYLE_LINE);
|
|
89
|
+
if (style && afterTab && !MEETING_DOC_STYLES.has(style[1])) {
|
|
90
|
+
errors.push({
|
|
91
|
+
...at(i),
|
|
92
|
+
message: `Unknown tab style "${style[1]}"`,
|
|
93
|
+
suggestion: `Use one of: ${[...MEETING_DOC_STYLES].join(", ")}`,
|
|
94
|
+
severity: "error",
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (text.trim())
|
|
98
|
+
afterTab = false;
|
|
99
|
+
for (const m of text.matchAll(TAB_LINK)) {
|
|
100
|
+
links.push({ target: decodeURIComponent(m[1]), i });
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
const firstLine = lines.length ? at(0) : { file, line: 1 };
|
|
104
|
+
if (tabs.size === 0) {
|
|
105
|
+
errors.push({
|
|
106
|
+
...firstLine,
|
|
107
|
+
message: "A meeting doc needs at least one tab",
|
|
108
|
+
suggestion: 'Start each tab with a line like "# Tab: Session Doc"',
|
|
109
|
+
severity: "error",
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
for (const { target, i } of links) {
|
|
113
|
+
if (!tabs.has(target)) {
|
|
114
|
+
errors.push({
|
|
115
|
+
...at(i),
|
|
116
|
+
message: `Link to a tab that does not exist: "${target}"`,
|
|
117
|
+
suggestion: `Tabs in this doc: ${[...tabs.keys()].join(", ") || "none"}`,
|
|
118
|
+
severity: "error",
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const body = lines.map((l) => l.text).join("\n");
|
|
123
|
+
errors.push(...unsupportedMarkdown(body, at));
|
|
124
|
+
if (tabs.size > 0 && !body.includes(MEETING_LINK_LABEL)) {
|
|
125
|
+
errors.push({
|
|
126
|
+
...firstLine,
|
|
127
|
+
message: `No "${MEETING_LINK_LABEL}" line, so no group docs are made from this doc`,
|
|
128
|
+
suggestion: `Keep the "### ${MEETING_LINK_LABEL}" heading from the master template`,
|
|
129
|
+
severity: "warning",
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
const failed = errors.some((e) => e.severity === "error");
|
|
133
|
+
const text = published.map((l) => l.text).join("\n");
|
|
134
|
+
return { markdown: failed ? null : text, errors };
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The body of ``content`` (front matter dropped), cleaned by ``strip``, with
|
|
138
|
+
* every include line replaced by the included file's body, recursively.
|
|
139
|
+
* Each line remembers the file and line it came from.
|
|
140
|
+
*/
|
|
141
|
+
function resolve(strip, content, file, files, including, errors) {
|
|
142
|
+
const stripped = strip(content);
|
|
143
|
+
let body = stripped;
|
|
144
|
+
let start = 1;
|
|
145
|
+
if (stripped.startsWith("---\n")) {
|
|
146
|
+
const parsed = parseFrontmatter(stripped, file);
|
|
147
|
+
if (parsed.error)
|
|
148
|
+
errors.push(parsed.error);
|
|
149
|
+
else
|
|
150
|
+
[body, start] = [parsed.body, parsed.bodyStartLine];
|
|
151
|
+
}
|
|
152
|
+
const out = [];
|
|
153
|
+
body.split("\n").forEach((text, i) => {
|
|
154
|
+
const line = start + i;
|
|
155
|
+
const include = text.match(INCLUDE_LINE);
|
|
156
|
+
if (!include) {
|
|
157
|
+
if (ANY_INCLUDE.test(text)) {
|
|
158
|
+
errors.push({
|
|
159
|
+
file,
|
|
160
|
+
line,
|
|
161
|
+
message: "An include must be a line of its own, starting at the margin",
|
|
162
|
+
suggestion: "Write exactly: source:: [[../shared/<name>]]",
|
|
163
|
+
severity: "error",
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
out.push({ text, file, line });
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const target = findFileWithExtension(resolveWikilinkPath(include[1], file), files);
|
|
170
|
+
const problem = !target
|
|
171
|
+
? `Included file not found: "${include[1]}"`
|
|
172
|
+
: !target.startsWith(MEETING_DOC_SHARED_DIR)
|
|
173
|
+
? `Only files in ${MEETING_DOC_SHARED_DIR} can be included: "${include[1]}"`
|
|
174
|
+
: including.includes(target) || target === file
|
|
175
|
+
? `A file includes itself: ${[...including, file, target].join(" -> ")}`
|
|
176
|
+
: null;
|
|
177
|
+
if (problem !== null || target === null) {
|
|
178
|
+
errors.push({
|
|
179
|
+
file,
|
|
180
|
+
line,
|
|
181
|
+
message: problem ?? "",
|
|
182
|
+
suggestion: `Include a file from ${MEETING_DOC_SHARED_DIR}: source:: [[../shared/<name>]]`,
|
|
183
|
+
severity: "error",
|
|
184
|
+
});
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const inner = resolve(strip, files.get(target), target, files, [...including, file], errors);
|
|
188
|
+
// The including file's own blank lines around the include set the spacing.
|
|
189
|
+
let first = 0;
|
|
190
|
+
let end = inner.length;
|
|
191
|
+
while (first < end && !inner[first].text.trim())
|
|
192
|
+
first++;
|
|
193
|
+
while (end > first && !inner[end - 1].text.trim())
|
|
194
|
+
end--;
|
|
195
|
+
out.push(...inner.slice(first, end));
|
|
196
|
+
});
|
|
197
|
+
return out;
|
|
198
|
+
}
|
|
199
|
+
function unsupportedMarkdown(body, at) {
|
|
200
|
+
const errors = [];
|
|
201
|
+
const report = (node, what) => errors.push({
|
|
202
|
+
...at((node.position?.start.line ?? 1) - 1),
|
|
203
|
+
message: `Meeting docs cannot hold ${what}`,
|
|
204
|
+
suggestion: "Write it as plain paragraphs, lists or a table",
|
|
205
|
+
severity: "error",
|
|
206
|
+
});
|
|
207
|
+
visit(parseMarkdown(body, "gfm"), (node, _index, parent) => {
|
|
208
|
+
if (node.type in UNSUPPORTED)
|
|
209
|
+
report(node, UNSUPPORTED[node.type]);
|
|
210
|
+
// A quote holds only paragraphs; a list item only paragraphs and lists.
|
|
211
|
+
if (parent?.type === "blockquote" && node.type !== "paragraph") {
|
|
212
|
+
report(node, `a ${node.type} inside a quote (>)`);
|
|
213
|
+
}
|
|
214
|
+
if (parent?.type === "listItem" &&
|
|
215
|
+
!["paragraph", "list", "html", "code"].includes(node.type)) {
|
|
216
|
+
report(node, `a ${node.type} inside a list item`);
|
|
217
|
+
}
|
|
218
|
+
if (node.type !== "html")
|
|
219
|
+
return;
|
|
220
|
+
// A comment may stand between blocks; inside a paragraph only <br> may.
|
|
221
|
+
const inline = parent?.type !== "root" && parent?.type !== "listItem";
|
|
222
|
+
const ok = inline
|
|
223
|
+
? /^<br\s*\/?>$/i.test(node.value.trim())
|
|
224
|
+
: node.value.trimStart().startsWith("<!--");
|
|
225
|
+
if (!ok)
|
|
226
|
+
report(node, `the HTML ${JSON.stringify(node.value.trim())}`);
|
|
227
|
+
});
|
|
228
|
+
return errors;
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=meeting-doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meeting-doc.js","sourceRoot":"","sources":["../../src/parser/meeting-doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ export type ResponseQuestionSubtype = (typeof RESPONSE_QUESTION_SUBTYPES)[number
|
|
|
6
6
|
export declare const SUBTYPE_DISPLAY: Record<ResponseQuestionSubtype, string>;
|
|
7
7
|
/** Where the segment lives. Surveys never grade. */
|
|
8
8
|
export type ResponseContext = "lens" | "survey";
|
|
9
|
-
/** Warning for force-feedback::
|
|
9
|
+
/** Warning for force-feedback:: on a question with nothing to send.
|
|
10
10
|
* lens.ts drops it for a bare `#### Question`, whose feedback:: chat is the
|
|
11
11
|
* channel the forced feedback goes through. */
|
|
12
|
-
export declare const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback::
|
|
12
|
+
export declare const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: without feedback-instructions:: has no feedback to send";
|
|
13
13
|
/**
|
|
14
14
|
* Resolve a raw segment to its "question:<subtype>" schema key, for field
|
|
15
15
|
* validation against QUESTION_SUBTYPE_SCHEMAS. Returns null for anything
|
|
@@ -26,10 +26,10 @@ export const SUBTYPE_DISPLAY = {
|
|
|
26
26
|
ranking: "Ranking",
|
|
27
27
|
};
|
|
28
28
|
const VALID_SUBTYPES_HINT = RESPONSE_QUESTION_SUBTYPES.map((s) => SUBTYPE_DISPLAY[s]).join(", ");
|
|
29
|
-
/** Warning for force-feedback::
|
|
29
|
+
/** Warning for force-feedback:: on a question with nothing to send.
|
|
30
30
|
* lens.ts drops it for a bare `#### Question`, whose feedback:: chat is the
|
|
31
31
|
* channel the forced feedback goes through. */
|
|
32
|
-
export const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback::
|
|
32
|
+
export const FORCE_FEEDBACK_WITHOUT_INSTRUCTIONS = "force-feedback:: without feedback-instructions:: has no feedback to send";
|
|
33
33
|
const DEFAULT_RATING_SCALE = 5;
|
|
34
34
|
const MIN_RATING_SCALE = 2;
|
|
35
35
|
const MAX_RATING_SCALE = 10;
|
|
@@ -51,6 +51,26 @@ export function responseSegmentSchemaKey(raw) {
|
|
|
51
51
|
export function parseBool(raw, field) {
|
|
52
52
|
return raw.fields[field]?.toLowerCase() === "true" ? true : undefined;
|
|
53
53
|
}
|
|
54
|
+
/** force-feedback:: `true` (every submit) or `first` (the first submit
|
|
55
|
+
* only); `false` or absent means the learner asks. Anything else warns and
|
|
56
|
+
* is ignored, like a non-boolean value in a boolean field. */
|
|
57
|
+
function parseForceFeedback(raw, file, errors) {
|
|
58
|
+
const value = raw.fields["force-feedback"];
|
|
59
|
+
if (value === undefined)
|
|
60
|
+
return undefined;
|
|
61
|
+
const normalized = value.trim().toLowerCase();
|
|
62
|
+
if (normalized === "true" || normalized === "first")
|
|
63
|
+
return normalized === "true" ? true : "first";
|
|
64
|
+
if (normalized !== "false")
|
|
65
|
+
errors.push({
|
|
66
|
+
file,
|
|
67
|
+
line: raw.line,
|
|
68
|
+
message: `Field 'force-feedback' has invalid value '${value}'`,
|
|
69
|
+
suggestion: "Expected 'true', 'first' or 'false'",
|
|
70
|
+
severity: "warning",
|
|
71
|
+
});
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
54
74
|
/** Example values for parsePositiveInt's suggestion, per field: a cap of 500
|
|
55
75
|
* makes sense for max-chars:: and none at all for max-select::. */
|
|
56
76
|
const POSITIVE_INT_EXAMPLES = {
|
|
@@ -589,6 +609,18 @@ export function parseResponseSegment(raw, context, file) {
|
|
|
589
609
|
if (feedbackInstructions) {
|
|
590
610
|
errors.push(...validatePromptImportSyntax(feedbackInstructions, "feedback-instructions", file, raw.line));
|
|
591
611
|
}
|
|
612
|
+
// description:: is a survey help line; a lens has nowhere to show it.
|
|
613
|
+
let description = raw.fields.description?.trim() || undefined;
|
|
614
|
+
if (description && context === "lens") {
|
|
615
|
+
errors.push({
|
|
616
|
+
file,
|
|
617
|
+
line: raw.line,
|
|
618
|
+
message: "description:: on a lens question — descriptions show only in surveys, so this field will be ignored",
|
|
619
|
+
suggestion: "Put the extra guidance in content::, or remove the field",
|
|
620
|
+
severity: "warning",
|
|
621
|
+
});
|
|
622
|
+
description = undefined;
|
|
623
|
+
}
|
|
592
624
|
const segment = {
|
|
593
625
|
type: "question",
|
|
594
626
|
questionType,
|
|
@@ -597,10 +629,11 @@ export function parseResponseSegment(raw, context, file) {
|
|
|
597
629
|
// uppercase-authored id.
|
|
598
630
|
responseId: responseId.toLowerCase(),
|
|
599
631
|
content,
|
|
632
|
+
...(description ? { description } : {}),
|
|
600
633
|
graded: false, // derived per subtype below; always false in surveys
|
|
601
634
|
assessmentInstructions,
|
|
602
635
|
feedbackInstructions,
|
|
603
|
-
forceFeedback:
|
|
636
|
+
forceFeedback: parseForceFeedback(raw, file, errors),
|
|
604
637
|
optional: parseBool(raw, "optional"),
|
|
605
638
|
};
|
|
606
639
|
if (segment.forceFeedback && !feedbackInstructions) {
|
|
@@ -712,7 +745,7 @@ export function toFlattenedResponseSegment(parsed) {
|
|
|
712
745
|
if (parsed.feedbackInstructions)
|
|
713
746
|
segment.feedbackInstructions = parsed.feedbackInstructions;
|
|
714
747
|
if (parsed.forceFeedback)
|
|
715
|
-
segment.forceFeedback =
|
|
748
|
+
segment.forceFeedback = parsed.forceFeedback;
|
|
716
749
|
if (parsed.optional)
|
|
717
750
|
segment.optional = true;
|
|
718
751
|
// Bare `#### Question` only: always emitted there (the parser defaults it
|
|
@@ -729,6 +762,8 @@ export function toFlattenedResponseSegment(parsed) {
|
|
|
729
762
|
segment.enforceVoice = true;
|
|
730
763
|
if (parsed.placeholder)
|
|
731
764
|
segment.placeholder = parsed.placeholder;
|
|
765
|
+
if (parsed.description)
|
|
766
|
+
segment.description = parsed.description;
|
|
732
767
|
// rating:
|
|
733
768
|
if (parsed.scale !== undefined)
|
|
734
769
|
segment.scale = parsed.scale;
|