lens-content-processor 0.48.0 → 0.50.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 +51 -45
- package/dist/bundler/article.js +106 -50
- package/dist/bundler/article.js.map +1 -1
- package/dist/content-schema.d.ts +22 -0
- package/dist/content-schema.js +58 -29
- package/dist/content-schema.js.map +1 -1
- package/dist/flattener/index.js +69 -77
- package/dist/flattener/index.js.map +1 -1
- package/dist/flattener/test-helpers.js +1 -0
- package/dist/flattener/test-helpers.js.map +1 -1
- package/dist/index.d.ts +24 -5
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/parser/article-elements.d.ts +139 -0
- package/dist/parser/article-elements.js +489 -0
- package/dist/parser/article-elements.js.map +1 -0
- package/dist/parser/article.d.ts +4 -0
- package/dist/parser/article.js +7 -4
- package/dist/parser/article.js.map +1 -1
- package/dist/parser/code-fence.d.ts +7 -0
- package/dist/parser/code-fence.js +34 -0
- package/dist/parser/code-fence.js.map +1 -0
- package/dist/parser/frames.d.ts +51 -0
- package/dist/parser/frames.js +116 -0
- package/dist/parser/frames.js.map +1 -0
- package/dist/parser/learning-outcome.js +4 -2
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/parser/lens.d.ts +40 -6
- package/dist/parser/lens.js +56 -72
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/module.js +7 -27
- package/dist/parser/module.js.map +1 -1
- package/dist/parser/response-segments.d.ts +16 -32
- package/dist/parser/response-segments.js +24 -11
- package/dist/parser/response-segments.js.map +1 -1
- package/dist/parser/sections.d.ts +21 -1
- package/dist/parser/sections.js +94 -14
- package/dist/parser/sections.js.map +1 -1
- package/dist/parser/survey.js +9 -5
- package/dist/parser/survey.js.map +1 -1
- package/dist/source-location.js +6 -1
- package/dist/source-location.js.map +1 -1
- package/dist/validator/article-structure.js +24 -4
- package/dist/validator/article-structure.js.map +1 -1
- package/dist/validator/directives.js +61 -58
- package/dist/validator/directives.js.map +1 -1
- package/dist/validator/test-segments.d.ts +6 -6
- package/dist/validator/test-segments.js +7 -7
- package/dist/validator/test-segments.js.map +1 -1
- package/dist/validator/tier.d.ts +2 -2
- package/dist/validator/tier.js +20 -18
- package/dist/validator/tier.js.map +1 -1
- package/package.json +1 -1
- package/dist/validator/article-imports.d.ts +0 -68
- package/dist/validator/article-imports.js +0 -265
- package/dist/validator/article-imports.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ContentError } from "../index.js";
|
|
2
|
-
import { type
|
|
1
|
+
import type { ContentError, Frame } from "../index.js";
|
|
2
|
+
import { type ArticleElement } from "../parser/article-elements.js";
|
|
3
3
|
export interface ArticleExcerptResult {
|
|
4
4
|
content?: string;
|
|
5
5
|
startIndex?: number;
|
|
@@ -11,41 +11,41 @@ export interface ExcerptInput {
|
|
|
11
11
|
to?: string;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* A point in the cleaned body where the prose is interrupted: an inline
|
|
15
|
+
* element (`::video[[...]]`, `![[../widgets/...]]`, `:::question` block) or
|
|
16
|
+
* the edge of a lifted callout (a `:::callout` that holds an element; one
|
|
17
|
+
* holding only prose stays markdown and leaves no marker).
|
|
16
18
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
type ArticleMarkerBody = ({
|
|
20
|
+
kind: "element";
|
|
21
|
+
} & ArticleElement) | {
|
|
22
|
+
kind: "open";
|
|
23
|
+
frame: Frame;
|
|
24
|
+
} | {
|
|
25
|
+
kind: "close";
|
|
22
26
|
};
|
|
27
|
+
export type ArticleMarker = {
|
|
28
|
+
offset: number;
|
|
29
|
+
} & ArticleMarkerBody;
|
|
23
30
|
export interface ParsedArticleBody {
|
|
24
|
-
/** Publishable body with
|
|
31
|
+
/** Publishable body with element lines and lifted callout fences removed. */
|
|
25
32
|
body: string;
|
|
26
|
-
/**
|
|
27
|
-
|
|
33
|
+
/** Markers in document order, with offsets into the cleaned body. */
|
|
34
|
+
markers: ArticleMarker[];
|
|
28
35
|
}
|
|
29
|
-
/** A piece of an excerpt that contains
|
|
36
|
+
/** A piece of an excerpt that contains markers. */
|
|
30
37
|
export type ArticlePart = {
|
|
38
|
+
frames?: Frame[];
|
|
39
|
+
} & ({
|
|
31
40
|
kind: "prose";
|
|
32
41
|
content: string;
|
|
33
|
-
/** Prose continues contiguously after the following
|
|
42
|
+
/** Prose continues contiguously after the following element/edge. */
|
|
34
43
|
contiguousWithNext?: boolean;
|
|
35
|
-
/** Prose contiguously continues the part before the preceding
|
|
44
|
+
/** Prose contiguously continues the part before the preceding element/edge. */
|
|
36
45
|
contiguousWithPrev?: boolean;
|
|
37
|
-
} | {
|
|
38
|
-
kind: "
|
|
39
|
-
|
|
40
|
-
from?: string;
|
|
41
|
-
to?: string;
|
|
42
|
-
rawLine: string;
|
|
43
|
-
} | {
|
|
44
|
-
kind: "widgetRef";
|
|
45
|
-
target: string;
|
|
46
|
-
height?: string;
|
|
47
|
-
rawLine: string;
|
|
48
|
-
};
|
|
46
|
+
} | ({
|
|
47
|
+
kind: "element";
|
|
48
|
+
} & ArticleElement));
|
|
49
49
|
/** One lens excerpt of an article, fully resolved against the source body. */
|
|
50
50
|
export interface ResolvedExcerpt {
|
|
51
51
|
/** Full excerpt content (import lines removed). Absent on error. */
|
|
@@ -53,10 +53,11 @@ export interface ResolvedExcerpt {
|
|
|
53
53
|
collapsed_before?: string;
|
|
54
54
|
collapsed_after?: string;
|
|
55
55
|
/**
|
|
56
|
-
* Present when
|
|
57
|
-
* ordered prose/
|
|
58
|
-
*
|
|
59
|
-
*
|
|
56
|
+
* Present when a marker falls inside the excerpt: the excerpt split into
|
|
57
|
+
* ordered prose/element parts, each carrying the callouts it sits in as
|
|
58
|
+
* frames. Prose parts carry only content, frames and contiguity;
|
|
59
|
+
* collapsed_* stay on this excerpt (they belong to its outer boundaries,
|
|
60
|
+
* never to a seam).
|
|
60
61
|
*/
|
|
61
62
|
parts?: ArticlePart[];
|
|
62
63
|
error?: ContentError;
|
|
@@ -68,18 +69,19 @@ export interface ResolvedExcerpt {
|
|
|
68
69
|
export declare function stripFrontmatter(article: string): string;
|
|
69
70
|
/**
|
|
70
71
|
* Produce the renderable body of an article: frontmatter and authoring markup
|
|
71
|
-
* stripped,
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
72
|
+
* stripped, every valid element removed and recorded as a marker with its
|
|
73
|
+
* character offset into the cleaned body, and every callout that holds an
|
|
74
|
+
* element lifted: its fences are removed too and recorded as open/close
|
|
75
|
+
* markers, so the prose and elements inside carry it as a frame. All
|
|
76
|
+
* downstream work (anchor search, excerpt slicing, collapsed text, word
|
|
77
|
+
* counts) uses this cleaned body, so element lines can never leak into
|
|
78
|
+
* reader-visible text and anchors can never collide with element syntax.
|
|
77
79
|
*
|
|
78
|
-
* Malformed
|
|
80
|
+
* Malformed element lines, and elements inside hide/collapse containers, are
|
|
79
81
|
* left in place as inert prose — parse-time validation
|
|
80
|
-
* (
|
|
82
|
+
* (parser/article-elements.ts) reports them.
|
|
81
83
|
*/
|
|
82
|
-
export declare function parseArticleBody(article: string): ParsedArticleBody;
|
|
84
|
+
export declare function parseArticleBody(article: string, file?: string): ParsedArticleBody;
|
|
83
85
|
/**
|
|
84
86
|
* Extract content from an article between two anchor texts.
|
|
85
87
|
*
|
|
@@ -98,16 +100,20 @@ export declare function extractArticleExcerpt(article: string, fromAnchor: strin
|
|
|
98
100
|
/**
|
|
99
101
|
* Resolve every excerpt a lens takes from one article source, in one pass:
|
|
100
102
|
* extract each excerpt, compute the collapsed (elided) text at its outer
|
|
101
|
-
* boundaries, and split it into prose/
|
|
102
|
-
*
|
|
103
|
+
* boundaries, and split it into prose/element parts around any markers that
|
|
104
|
+
* fall inside its range, each part carrying the lifted callouts open at its
|
|
105
|
+
* position as frames.
|
|
103
106
|
*
|
|
104
|
-
* Excerpts are expected in document order (as authored in the lens).
|
|
105
|
-
*
|
|
107
|
+
* Excerpts are expected in document order (as authored in the lens). A
|
|
108
|
+
* marker's offset points at the text that follows it, so an element between
|
|
106
109
|
* two excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
107
|
-
* keeps overlapping excerpt ranges from emitting the same
|
|
110
|
+
* keeps overlapping excerpt ranges from emitting the same element twice.
|
|
111
|
+
* Callout edges are never consumed: every excerpt replays them to know
|
|
112
|
+
* which callouts are open where it starts.
|
|
108
113
|
*
|
|
109
114
|
* @param article - The full article content
|
|
110
115
|
* @param excerpts - Excerpt specifications { from, to } in lens order
|
|
111
116
|
* @param file - Source file path for error reporting
|
|
112
117
|
*/
|
|
113
118
|
export declare function resolveArticleSource(article: string, excerpts: ExcerptInput[], file: string): ResolvedExcerpt[];
|
|
119
|
+
export {};
|
package/dist/bundler/article.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { stripAuthoringMarkup } from "../authoring-markup.js";
|
|
2
|
-
import {
|
|
2
|
+
import { calloutFrameFromAttributes, scanArticleBody, } from "../parser/article-elements.js";
|
|
3
3
|
/**
|
|
4
4
|
* Find all occurrences of a substring in text (case-insensitive).
|
|
5
5
|
* Returns array of start indices.
|
|
@@ -31,40 +31,71 @@ function publishableArticleBody(article) {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Produce the renderable body of an article: frontmatter and authoring markup
|
|
34
|
-
* stripped,
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
34
|
+
* stripped, every valid element removed and recorded as a marker with its
|
|
35
|
+
* character offset into the cleaned body, and every callout that holds an
|
|
36
|
+
* element lifted: its fences are removed too and recorded as open/close
|
|
37
|
+
* markers, so the prose and elements inside carry it as a frame. All
|
|
38
|
+
* downstream work (anchor search, excerpt slicing, collapsed text, word
|
|
39
|
+
* counts) uses this cleaned body, so element lines can never leak into
|
|
40
|
+
* reader-visible text and anchors can never collide with element syntax.
|
|
40
41
|
*
|
|
41
|
-
* Malformed
|
|
42
|
+
* Malformed element lines, and elements inside hide/collapse containers, are
|
|
42
43
|
* left in place as inert prose — parse-time validation
|
|
43
|
-
* (
|
|
44
|
+
* (parser/article-elements.ts) reports them.
|
|
44
45
|
*/
|
|
45
|
-
export function parseArticleBody(article) {
|
|
46
|
-
const scanned =
|
|
46
|
+
export function parseArticleBody(article, file = "") {
|
|
47
|
+
const scanned = scanArticleBody(publishableArticleBody(article));
|
|
48
|
+
// A callout is lifted when an element sits inside it (at any depth).
|
|
49
|
+
const lifted = new Set();
|
|
50
|
+
for (const { element, hiddenIn, callouts } of scanned) {
|
|
51
|
+
if (element && !hiddenIn)
|
|
52
|
+
for (const index of callouts ?? [])
|
|
53
|
+
lifted.add(index);
|
|
54
|
+
}
|
|
47
55
|
const outLines = [];
|
|
48
56
|
const pending = [];
|
|
57
|
+
const swallowBlankAround = (i, endIndex) => {
|
|
58
|
+
// Removing the line(s) would leave the blank lines around them doubled
|
|
59
|
+
// up; swallow one so the prose keeps a single paragraph break.
|
|
60
|
+
return (outLines.length > 0 &&
|
|
61
|
+
outLines[outLines.length - 1].trim() === "" &&
|
|
62
|
+
endIndex + 1 < scanned.length &&
|
|
63
|
+
scanned[endIndex + 1].line.trim() === "");
|
|
64
|
+
};
|
|
49
65
|
for (let i = 0; i < scanned.length; i++) {
|
|
50
|
-
const { line,
|
|
51
|
-
// Inside hide/collapse an
|
|
66
|
+
const { line, element, hiddenIn, marker } = scanned[i];
|
|
67
|
+
// Inside hide/collapse an element stays inert prose: splitting there would
|
|
52
68
|
// tear the container apart (validation rejects the placement anyway).
|
|
53
|
-
|
|
54
|
-
|
|
69
|
+
if (element && !hiddenIn) {
|
|
70
|
+
pending.push({
|
|
71
|
+
kind: "element",
|
|
72
|
+
raw: element.raw,
|
|
73
|
+
rawLine: element.rawLine,
|
|
74
|
+
outLineIndex: outLines.length,
|
|
75
|
+
});
|
|
76
|
+
const end = element.endIndex;
|
|
77
|
+
if (swallowBlankAround(i, end))
|
|
78
|
+
i = end + 1;
|
|
79
|
+
else
|
|
80
|
+
i = end;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (marker?.kind === "open" && marker.name === "callout" && lifted.has(i)) {
|
|
55
84
|
pending.push({
|
|
56
|
-
|
|
85
|
+
kind: "open",
|
|
86
|
+
// Keyed by file and line: boxes from different articles in one lens
|
|
87
|
+
// must never merge into one.
|
|
88
|
+
frame: calloutFrameFromAttributes(file, i + 1, marker.attrs),
|
|
57
89
|
outLineIndex: outLines.length,
|
|
58
|
-
rawLine: line.trim(),
|
|
59
90
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
91
|
+
if (swallowBlankAround(i, i))
|
|
92
|
+
i++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (marker?.kind === "close" && lifted.has(marker.opener)) {
|
|
96
|
+
pending.push({ kind: "close", outLineIndex: outLines.length });
|
|
97
|
+
if (swallowBlankAround(i, i))
|
|
66
98
|
i++;
|
|
67
|
-
}
|
|
68
99
|
continue;
|
|
69
100
|
}
|
|
70
101
|
outLines.push(line);
|
|
@@ -77,10 +108,10 @@ export function parseArticleBody(article) {
|
|
|
77
108
|
acc += line.length + 1;
|
|
78
109
|
}
|
|
79
110
|
const joined = outLines.join("\n");
|
|
80
|
-
//
|
|
111
|
+
// Markers at the very start/end leave blank edges behind — trim and shift
|
|
81
112
|
const leading = joined.length - joined.trimStart().length;
|
|
82
113
|
const body = joined.trim();
|
|
83
|
-
const
|
|
114
|
+
const markers = pending.map((p) => {
|
|
84
115
|
const rawOffset = p.outLineIndex < lineStartOffsets.length
|
|
85
116
|
? lineStartOffsets[p.outLineIndex]
|
|
86
117
|
: joined.length;
|
|
@@ -90,7 +121,7 @@ export function parseArticleBody(article) {
|
|
|
90
121
|
offset: Math.min(Math.max(rawOffset - leading, 0), body.length),
|
|
91
122
|
};
|
|
92
123
|
});
|
|
93
|
-
return { body,
|
|
124
|
+
return { body, markers };
|
|
94
125
|
}
|
|
95
126
|
/**
|
|
96
127
|
* Extract content from an article between two anchor texts.
|
|
@@ -107,7 +138,7 @@ export function parseArticleBody(article) {
|
|
|
107
138
|
* @returns Extracted content or error
|
|
108
139
|
*/
|
|
109
140
|
export function extractArticleExcerpt(article, fromAnchor, toAnchor, file) {
|
|
110
|
-
return extractExcerptFromBody(parseArticleBody(article).body, fromAnchor, toAnchor, file);
|
|
141
|
+
return extractExcerptFromBody(parseArticleBody(article, file).body, fromAnchor, toAnchor, file);
|
|
111
142
|
}
|
|
112
143
|
/** Core anchor-search extraction over an already-cleaned body. */
|
|
113
144
|
function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
@@ -244,20 +275,23 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
244
275
|
/**
|
|
245
276
|
* Resolve every excerpt a lens takes from one article source, in one pass:
|
|
246
277
|
* extract each excerpt, compute the collapsed (elided) text at its outer
|
|
247
|
-
* boundaries, and split it into prose/
|
|
248
|
-
*
|
|
278
|
+
* boundaries, and split it into prose/element parts around any markers that
|
|
279
|
+
* fall inside its range, each part carrying the lifted callouts open at its
|
|
280
|
+
* position as frames.
|
|
249
281
|
*
|
|
250
|
-
* Excerpts are expected in document order (as authored in the lens).
|
|
251
|
-
*
|
|
282
|
+
* Excerpts are expected in document order (as authored in the lens). A
|
|
283
|
+
* marker's offset points at the text that follows it, so an element between
|
|
252
284
|
* two excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
253
|
-
* keeps overlapping excerpt ranges from emitting the same
|
|
285
|
+
* keeps overlapping excerpt ranges from emitting the same element twice.
|
|
286
|
+
* Callout edges are never consumed: every excerpt replays them to know
|
|
287
|
+
* which callouts are open where it starts.
|
|
254
288
|
*
|
|
255
289
|
* @param article - The full article content
|
|
256
290
|
* @param excerpts - Excerpt specifications { from, to } in lens order
|
|
257
291
|
* @param file - Source file path for error reporting
|
|
258
292
|
*/
|
|
259
293
|
export function resolveArticleSource(article, excerpts, file) {
|
|
260
|
-
const { body,
|
|
294
|
+
const { body, markers } = parseArticleBody(article, file);
|
|
261
295
|
const extracted = excerpts.map((excerpt) => extractExcerptFromBody(body, excerpt.from, excerpt.to, file));
|
|
262
296
|
// Whole-article embeds (no anchors anywhere in the group) get no collapsed
|
|
263
297
|
// fields — there is nothing elided to show.
|
|
@@ -299,28 +333,50 @@ export function resolveArticleSource(article, excerpts, file) {
|
|
|
299
333
|
result.collapsed_after = collapsedAfter;
|
|
300
334
|
}
|
|
301
335
|
}
|
|
302
|
-
const inRange =
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
336
|
+
const inRange = markers.filter((m) => m.offset >= start &&
|
|
337
|
+
m.offset <= end &&
|
|
338
|
+
(m.kind !== "element" || !consumed.has(m)));
|
|
339
|
+
// Callouts open where the excerpt starts: replay the edges before it. An
|
|
340
|
+
// excerpt lying wholly inside a lifted callout has no marker of its own
|
|
341
|
+
// but still belongs in the box.
|
|
342
|
+
const frames = [];
|
|
343
|
+
for (const m of markers) {
|
|
344
|
+
if (m.offset >= start)
|
|
345
|
+
break;
|
|
346
|
+
if (m.kind === "open")
|
|
347
|
+
frames.push(m.frame);
|
|
348
|
+
else if (m.kind === "close")
|
|
349
|
+
frames.pop();
|
|
350
|
+
}
|
|
351
|
+
if (inRange.length > 0 || frames.length > 0) {
|
|
306
352
|
const parts = [];
|
|
353
|
+
const framed = (part) => frames.length > 0 ? { ...part, frames: [...frames] } : part;
|
|
307
354
|
let cursor = start;
|
|
308
|
-
for (const
|
|
309
|
-
const prose = body.slice(cursor,
|
|
310
|
-
if (prose.length > 0)
|
|
311
|
-
parts.push({ kind: "prose", content: prose });
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
355
|
+
for (const m of inRange) {
|
|
356
|
+
const prose = body.slice(cursor, m.offset).trim();
|
|
357
|
+
if (prose.length > 0) {
|
|
358
|
+
parts.push(framed({ kind: "prose", content: prose }));
|
|
359
|
+
}
|
|
360
|
+
if (m.kind === "element") {
|
|
361
|
+
consumed.add(m);
|
|
362
|
+
const { offset: _offset, kind: _kind, ...element } = m;
|
|
363
|
+
parts.push(framed({ kind: "element", ...element }));
|
|
364
|
+
}
|
|
365
|
+
else if (m.kind === "open") {
|
|
366
|
+
frames.push(m.frame);
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
frames.pop();
|
|
370
|
+
}
|
|
371
|
+
cursor = m.offset;
|
|
317
372
|
}
|
|
318
373
|
const tail = body.slice(cursor, end).trim();
|
|
319
374
|
if (tail.length > 0)
|
|
320
|
-
parts.push({ kind: "prose", content: tail });
|
|
375
|
+
parts.push(framed({ kind: "prose", content: tail }));
|
|
321
376
|
// Contiguity: a prose part separated from another prose part only by
|
|
322
|
-
//
|
|
323
|
-
// excerpt edge (no prose on one side) sets no flag on
|
|
377
|
+
// elements or callout edges is one continuous stretch of source text.
|
|
378
|
+
// A marker at an excerpt edge (no prose on one side) sets no flag on
|
|
379
|
+
// that side.
|
|
324
380
|
for (let p = 0; p < parts.length; p++) {
|
|
325
381
|
const part = parts[p];
|
|
326
382
|
if (part.kind !== "prose")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/bundler/article.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/bundler/article.ts"],"names":[],"mappings":"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"}
|
package/dist/content-schema.d.ts
CHANGED
|
@@ -26,6 +26,28 @@ export declare const CONTENT_SCHEMAS: Record<string, ContentTypeSchema>;
|
|
|
26
26
|
*/
|
|
27
27
|
export declare const SURVEY_SEGMENT_SCHEMAS: Record<string, SegmentTypeSchema>;
|
|
28
28
|
export declare const SEGMENT_SCHEMAS: Record<string, SegmentTypeSchema>;
|
|
29
|
+
export declare const CALLOUT_TONES: readonly ["neutral", "blue", "green", "amber", "red", "purple"];
|
|
30
|
+
export declare const CALLOUT_COLLAPSE: readonly ["closed", "open"];
|
|
31
|
+
/**
|
|
32
|
+
* Segment types that open a container in heading notation. Each is closed by
|
|
33
|
+
* a `#### End <Type>` header (containerCloser), which is a valid segment
|
|
34
|
+
* header type wherever the container itself is.
|
|
35
|
+
*/
|
|
36
|
+
export declare const CONTAINER_SEGMENT_TYPES: readonly ["callout"];
|
|
37
|
+
export type ContainerSegmentType = (typeof CONTAINER_SEGMENT_TYPES)[number];
|
|
38
|
+
export declare function isContainerSegmentType(type: string): type is ContainerSegmentType;
|
|
39
|
+
/** Header type that closes a container, e.g. "end callout". */
|
|
40
|
+
export declare function containerCloser(type: ContainerSegmentType): string;
|
|
41
|
+
/** Segment-type form of a closer as parseSections emits it ("end-callout"). */
|
|
42
|
+
export declare function containerCloserSegmentType(type: ContainerSegmentType): string;
|
|
43
|
+
/**
|
|
44
|
+
* Response (subtyped) question segment schemas, keyed "question:<subtype>".
|
|
45
|
+
* `#### Question: Open` etc. — the same segment family in lenses, LO tests,
|
|
46
|
+
* and surveys. Kept out of SEGMENT_SCHEMAS because a bare `#### Question`
|
|
47
|
+
* (the "question" key there) is Open plus two extra fields;
|
|
48
|
+
* responseSegmentSchemaKey (parser) resolves a titled question header to
|
|
49
|
+
* one of these keys for field validation.
|
|
50
|
+
*/
|
|
29
51
|
export declare const QUESTION_SUBTYPE_SCHEMAS: Record<string, SegmentTypeSchema>;
|
|
30
52
|
/**
|
|
31
53
|
* Valid fields per segment type, derived from SEGMENT_SCHEMAS (plus the
|
package/dist/content-schema.js
CHANGED
|
@@ -89,6 +89,23 @@ export const SURVEY_SEGMENT_SCHEMAS = {
|
|
|
89
89
|
// segment.
|
|
90
90
|
interview: segmentSchema(["id", "content", "questions", "assessment-instructions"], ["optional"], ["optional"]),
|
|
91
91
|
};
|
|
92
|
+
const RESPONSE_REQUIRED = ["id", "content"];
|
|
93
|
+
// force-feedback:: true sends the tutor feedback automatically on submit;
|
|
94
|
+
// by default the learner asks for it with the "Get feedback" button.
|
|
95
|
+
const RESPONSE_OPTIONAL = [
|
|
96
|
+
"optional",
|
|
97
|
+
"feedback-instructions",
|
|
98
|
+
"force-feedback",
|
|
99
|
+
];
|
|
100
|
+
const RESPONSE_BOOLEAN = ["optional", "force-feedback"];
|
|
101
|
+
const QUESTION_OPEN_SCHEMA = segmentSchema(RESPONSE_REQUIRED, [
|
|
102
|
+
...RESPONSE_OPTIONAL,
|
|
103
|
+
"assessment-instructions",
|
|
104
|
+
"max-chars",
|
|
105
|
+
"max-time",
|
|
106
|
+
"placeholder",
|
|
107
|
+
"enforce-voice",
|
|
108
|
+
], [...RESPONSE_BOOLEAN, "enforce-voice"]);
|
|
92
109
|
export const SEGMENT_SCHEMAS = {
|
|
93
110
|
text: segmentSchema(["content"], ["optional"], ["optional"]),
|
|
94
111
|
// Note: segment-level min-chat-messages is accepted but IGNORED (kept in
|
|
@@ -106,16 +123,10 @@ export const SEGMENT_SCHEMAS = {
|
|
|
106
123
|
// normal unknown-field treatment.
|
|
107
124
|
article: segmentSchema([], ["source", "from", "to", "optional"], ["optional"]),
|
|
108
125
|
video: segmentSchema([], ["source", "from", "to", "optional"], ["optional"]),
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
"min-chat-messages",
|
|
114
|
-
"enforce-voice",
|
|
115
|
-
"feedback",
|
|
116
|
-
"force-feedback",
|
|
117
|
-
"optional",
|
|
118
|
-
], ["enforce-voice", "feedback", "force-feedback", "optional"]),
|
|
126
|
+
// A bare `#### Question` is an alias of `#### Question: Open`. It keeps
|
|
127
|
+
// two extras from before subtypes existed: the `feedback::` bool (default
|
|
128
|
+
// true) and `min-chat-messages::` (accepted but ignored, like on chat).
|
|
129
|
+
question: segmentSchema(QUESTION_OPEN_SCHEMA.requiredFields, [...QUESTION_OPEN_SCHEMA.optionalFields, "feedback", "min-chat-messages"], [...QUESTION_OPEN_SCHEMA.booleanFields, "feedback"]),
|
|
119
130
|
roleplay: segmentSchema(["id", "content", "ai-instructions"], [
|
|
120
131
|
"opening-message",
|
|
121
132
|
"assessment-instructions",
|
|
@@ -141,32 +152,50 @@ export const SEGMENT_SCHEMAS = {
|
|
|
141
152
|
// required:: true makes the lens wait for the widget's Lens.complete()
|
|
142
153
|
// before it can be marked complete (widgets gate nothing by default).
|
|
143
154
|
widget: segmentSchema(["source"], ["height", "required"], ["required"]),
|
|
155
|
+
// Container. `#### Callout: Title` … `#### End Callout` in segment bodies
|
|
156
|
+
// (lenses, LO tests, surveys); `:::callout{title="…" tone="…"}` … `:::` in
|
|
157
|
+
// prose (text fields, article bodies). The title is the header title or
|
|
158
|
+
// attribute; tone:: and collapse:: are its only fields (values below). A
|
|
159
|
+
// callout never becomes a segment of its own: the segments inside carry it
|
|
160
|
+
// as a frame (parser/frames.ts), nested to any depth.
|
|
161
|
+
callout: segmentSchema([], ["tone", "collapse"], []),
|
|
144
162
|
};
|
|
163
|
+
export const CALLOUT_TONES = [
|
|
164
|
+
"neutral",
|
|
165
|
+
"blue",
|
|
166
|
+
"green",
|
|
167
|
+
"amber",
|
|
168
|
+
"red",
|
|
169
|
+
"purple",
|
|
170
|
+
];
|
|
171
|
+
export const CALLOUT_COLLAPSE = ["closed", "open"];
|
|
172
|
+
/**
|
|
173
|
+
* Segment types that open a container in heading notation. Each is closed by
|
|
174
|
+
* a `#### End <Type>` header (containerCloser), which is a valid segment
|
|
175
|
+
* header type wherever the container itself is.
|
|
176
|
+
*/
|
|
177
|
+
export const CONTAINER_SEGMENT_TYPES = ["callout"];
|
|
178
|
+
export function isContainerSegmentType(type) {
|
|
179
|
+
return CONTAINER_SEGMENT_TYPES.includes(type);
|
|
180
|
+
}
|
|
181
|
+
/** Header type that closes a container, e.g. "end callout". */
|
|
182
|
+
export function containerCloser(type) {
|
|
183
|
+
return `end ${type}`;
|
|
184
|
+
}
|
|
185
|
+
/** Segment-type form of a closer as parseSections emits it ("end-callout"). */
|
|
186
|
+
export function containerCloserSegmentType(type) {
|
|
187
|
+
return `end-${type}`;
|
|
188
|
+
}
|
|
145
189
|
/**
|
|
146
190
|
* Response (subtyped) question segment schemas, keyed "question:<subtype>".
|
|
147
191
|
* `#### Question: Open` etc. — the same segment family in lenses, LO tests,
|
|
148
192
|
* and surveys. Kept out of SEGMENT_SCHEMAS because a bare `#### Question`
|
|
149
|
-
*
|
|
150
|
-
* a titled question header to
|
|
193
|
+
* (the "question" key there) is Open plus two extra fields;
|
|
194
|
+
* responseSegmentSchemaKey (parser) resolves a titled question header to
|
|
195
|
+
* one of these keys for field validation.
|
|
151
196
|
*/
|
|
152
|
-
const RESPONSE_REQUIRED = ["id", "content"];
|
|
153
|
-
// force-feedback:: true sends the tutor feedback automatically on submit;
|
|
154
|
-
// by default the learner asks for it with the "Get feedback" button.
|
|
155
|
-
const RESPONSE_OPTIONAL = [
|
|
156
|
-
"optional",
|
|
157
|
-
"feedback-instructions",
|
|
158
|
-
"force-feedback",
|
|
159
|
-
];
|
|
160
|
-
const RESPONSE_BOOLEAN = ["optional", "force-feedback"];
|
|
161
197
|
export const QUESTION_SUBTYPE_SCHEMAS = {
|
|
162
|
-
"question:open":
|
|
163
|
-
...RESPONSE_OPTIONAL,
|
|
164
|
-
"assessment-instructions",
|
|
165
|
-
"max-chars",
|
|
166
|
-
"max-time",
|
|
167
|
-
"placeholder",
|
|
168
|
-
"enforce-voice",
|
|
169
|
-
], [...RESPONSE_BOOLEAN, "enforce-voice"]),
|
|
198
|
+
"question:open": QUESTION_OPEN_SCHEMA,
|
|
170
199
|
// assessment-instructions is listed so the only message an author gets is
|
|
171
200
|
// the parser's targeted "ratings are never graded" error, not a generic
|
|
172
201
|
// unknown-field warning on top of it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-schema.js","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"content-schema.js","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"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"}
|