lens-content-processor 0.34.0 → 0.36.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 +36 -0
- package/dist/authoring-markup.js +103 -0
- 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/cache.d.ts +13 -0
- package/dist/cache.js +207 -0
- package/dist/cache.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +26 -4
- package/dist/cli.js.map +1 -1
- package/dist/content-schema.js +5 -0
- package/dist/content-schema.js.map +1 -1
- package/dist/flattener/index.js +381 -252
- package/dist/flattener/index.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +74 -30
- package/dist/index.js.map +1 -1
- package/dist/parser/article.js +42 -32
- package/dist/parser/article.js.map +1 -1
- package/dist/parser/course.d.ts +0 -10
- package/dist/parser/course.js +19 -4
- package/dist/parser/course.js.map +1 -1
- package/dist/parser/learning-outcome.js +20 -4
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/parser/lens.d.ts +1 -6
- package/dist/parser/lens.js +64 -18
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/module.js +28 -17
- package/dist/parser/module.js.map +1 -1
- package/dist/parser/sections.d.ts +2 -1
- package/dist/parser/sections.js +5 -3
- package/dist/parser/sections.js.map +1 -1
- package/dist/parser/survey.js +19 -4
- package/dist/parser/survey.js.map +1 -1
- package/dist/source-location.d.ts +6 -0
- package/dist/source-location.js +55 -0
- package/dist/source-location.js.map +1 -0
- package/dist/validator/article-review-provenance.d.ts +5 -0
- package/dist/validator/article-review-provenance.js +57 -0
- package/dist/validator/article-review-provenance.js.map +1 -0
- package/dist/validator/article-structure.d.ts +8 -0
- package/dist/validator/article-structure.js +660 -0
- package/dist/validator/article-structure.js.map +1 -0
- package/dist/validator/directives.js +20 -0
- package/dist/validator/directives.js.map +1 -1
- package/dist/validator/emphasis.js +104 -1
- package/dist/validator/emphasis.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/math.js +66 -9
- package/dist/validator/math.js.map +1 -1
- package/dist/validator/output-integrity.js +16 -16
- package/dist/validator/output-integrity.js.map +1 -1
- package/dist/validator/same-lens-links.d.ts +4 -0
- package/dist/validator/same-lens-links.js +297 -0
- package/dist/validator/same-lens-links.js.map +1 -0
- package/dist/validator/suppressions.d.ts +42 -0
- package/dist/validator/suppressions.js +97 -0
- package/dist/validator/suppressions.js.map +1 -0
- 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 +9 -1
package/dist/cache.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// Per-file result cache for processContent.
|
|
2
|
+
//
|
|
3
|
+
// >90% of a full processing run is spent re-parsing files that did not change
|
|
4
|
+
// since the previous run (article/lens markdown tokenization). Callers that
|
|
5
|
+
// process the same vault repeatedly (the platform backend re-processes all
|
|
6
|
+
// ~2,400 files on every content commit) pass a cache directory; results of the
|
|
7
|
+
// pure per-file steps are then reused when a file's content is unchanged.
|
|
8
|
+
//
|
|
9
|
+
// Correctness never depends on the cache: every entry is keyed by a hash of
|
|
10
|
+
// the processor's own code, the file path, and the full file content, so a hit
|
|
11
|
+
// can only return what recomputing would return. Any IO or decode failure is
|
|
12
|
+
// treated as a miss. With no cache directory (the default, and all CI/npm
|
|
13
|
+
// consumers today) behavior is byte-identical to the uncached pipeline.
|
|
14
|
+
import { mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, } from "fs";
|
|
15
|
+
import { createHash } from "crypto";
|
|
16
|
+
import { dirname, join } from "path";
|
|
17
|
+
import { fileURLToPath } from "url";
|
|
18
|
+
import { decodeSourceLines, encodeSourceLines } from "./source-location.js";
|
|
19
|
+
/** Entries untouched for this long are deleted by the startup prune. */
|
|
20
|
+
const MAX_ENTRY_AGE_MS = 14 * 24 * 60 * 60 * 1000;
|
|
21
|
+
/** Startup prune runs at most this often (tracked via a marker file). */
|
|
22
|
+
const PRUNE_INTERVAL_MS = 24 * 60 * 60 * 1000;
|
|
23
|
+
function sha256(data) {
|
|
24
|
+
return createHash("sha256").update(data).digest("hex");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Hash of every code file in the running processor's own directory tree
|
|
28
|
+
* (src/** under tsx; dist/** in the published package) plus the package
|
|
29
|
+
* manifest and lockfile one level up — parsing behavior lives in the
|
|
30
|
+
* dependencies as much as in this repo's code, so a dependency bump must
|
|
31
|
+
* invalidate entries too. Any such change therefore invalidates every cache
|
|
32
|
+
* entry, which is what makes a hit exactly as trustworthy as a recompute.
|
|
33
|
+
*/
|
|
34
|
+
function computeCodeFingerprint() {
|
|
35
|
+
const root = dirname(fileURLToPath(import.meta.url));
|
|
36
|
+
const hash = createHash("sha256");
|
|
37
|
+
const walk = (dir, rel) => {
|
|
38
|
+
const entries = readdirSync(dir, { withFileTypes: true })
|
|
39
|
+
.filter((e) => !e.name.startsWith("."))
|
|
40
|
+
.sort((a, b) => (a.name < b.name ? -1 : 1));
|
|
41
|
+
for (const entry of entries) {
|
|
42
|
+
const abs = join(dir, entry.name);
|
|
43
|
+
const relPath = rel ? `${rel}/${entry.name}` : entry.name;
|
|
44
|
+
if (entry.isDirectory()) {
|
|
45
|
+
if (entry.name !== "node_modules")
|
|
46
|
+
walk(abs, relPath);
|
|
47
|
+
}
|
|
48
|
+
else if (/\.(ts|js|cjs|mjs)$/.test(entry.name)) {
|
|
49
|
+
hash.update(relPath).update("\0").update(readFileSync(abs));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
walk(root, "");
|
|
54
|
+
for (const manifest of [
|
|
55
|
+
"package.json",
|
|
56
|
+
"package-lock.json",
|
|
57
|
+
"tsconfig.json",
|
|
58
|
+
]) {
|
|
59
|
+
try {
|
|
60
|
+
hash
|
|
61
|
+
.update(manifest)
|
|
62
|
+
.update("\0")
|
|
63
|
+
.update(readFileSync(join(root, "..", manifest)));
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
/* absent (e.g. no lockfile in the published package): hash what exists */
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// The JS runtime parses too (regex unicode tables, etc.).
|
|
70
|
+
hash.update(process.version);
|
|
71
|
+
return hash.digest("hex");
|
|
72
|
+
}
|
|
73
|
+
export class FileResultCache {
|
|
74
|
+
dir;
|
|
75
|
+
salt;
|
|
76
|
+
constructor(dir, salt) {
|
|
77
|
+
this.dir = dir;
|
|
78
|
+
this.salt = salt;
|
|
79
|
+
}
|
|
80
|
+
/** Returns undefined when the directory cannot be created or fingerprinted. */
|
|
81
|
+
static open(dir) {
|
|
82
|
+
try {
|
|
83
|
+
mkdirSync(dir, { recursive: true });
|
|
84
|
+
const cache = new FileResultCache(dir, computeCodeFingerprint());
|
|
85
|
+
cache.pruneIfDue();
|
|
86
|
+
return cache;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
// Degradable, but never silent: without this line an unusable cache dir
|
|
90
|
+
// just means slow runs forever with nothing in any log. Lands on stderr,
|
|
91
|
+
// which the backend already forwards as a warning.
|
|
92
|
+
console.error(`FileResultCache disabled (${dir}):`, error);
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
entryPath(kind, path, content) {
|
|
97
|
+
// Length-prefixed parts: a bare "\0" join would be ambiguous if a part
|
|
98
|
+
// could itself contain NUL (no real vault path can, but keys must not
|
|
99
|
+
// depend on that).
|
|
100
|
+
const key = [this.salt, kind, path, content]
|
|
101
|
+
.map((part) => `${part.length}:${part}`)
|
|
102
|
+
.join("\0");
|
|
103
|
+
return join(this.dir, `${sha256(key)}.json`);
|
|
104
|
+
}
|
|
105
|
+
get(kind, path, content) {
|
|
106
|
+
const file = this.entryPath(kind, path, content);
|
|
107
|
+
let raw;
|
|
108
|
+
try {
|
|
109
|
+
raw = readFileSync(file, "utf-8");
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
let value;
|
|
115
|
+
try {
|
|
116
|
+
// Entries are wrapped ({v, data}) so bytes that decode to SOME valid
|
|
117
|
+
// JSON — but not to something put() wrote — are still rejected, deleted,
|
|
118
|
+
// and recomputed, exactly like invalid JSON from a torn write. data
|
|
119
|
+
// carries symbol-keyed source lines encoded (see source-location.ts).
|
|
120
|
+
const entry = JSON.parse(raw);
|
|
121
|
+
if (entry === null ||
|
|
122
|
+
typeof entry !== "object" ||
|
|
123
|
+
Array.isArray(entry) ||
|
|
124
|
+
entry.v !== 1 ||
|
|
125
|
+
!("data" in entry)) {
|
|
126
|
+
throw new Error("not a cache entry");
|
|
127
|
+
}
|
|
128
|
+
value = decodeSourceLines(entry.data);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
try {
|
|
132
|
+
rmSync(file, { force: true });
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
/* miss is still correct */
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
// Touch so the prune's age measure is "unused for", not "written ago".
|
|
141
|
+
const now = new Date();
|
|
142
|
+
utimesSync(file, now, now);
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
/* best-effort: a failed touch must not discard a good hit */
|
|
146
|
+
}
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
put(kind, path, content, value) {
|
|
150
|
+
// Serialize immediately: the caller may mutate the value afterwards, and
|
|
151
|
+
// the entry must be the pre-mutation snapshot a recompute would return.
|
|
152
|
+
const file = this.entryPath(kind, path, content);
|
|
153
|
+
const tmp = `${file}.${process.pid}.tmp`;
|
|
154
|
+
try {
|
|
155
|
+
writeFileSync(tmp, JSON.stringify({ v: 1, data: encodeSourceLines(value) }), "utf-8");
|
|
156
|
+
renameSync(tmp, file); // atomic: concurrent readers see old-or-new, never partial
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
if (!FileResultCache.warnedWriteFailure) {
|
|
160
|
+
FileResultCache.warnedWriteFailure = true;
|
|
161
|
+
// Once, not per entry: a dir that becomes unwritable mid-lifetime
|
|
162
|
+
// otherwise degrades to slow-forever with nothing in any log.
|
|
163
|
+
console.error(`FileResultCache write failed (caching degraded):`, error);
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
rmSync(tmp, { force: true });
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
/* cache write is best-effort */
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
static warnedWriteFailure = false;
|
|
174
|
+
/** Delete entries unused for MAX_ENTRY_AGE_MS, at most once per PRUNE_INTERVAL_MS. */
|
|
175
|
+
pruneIfDue() {
|
|
176
|
+
const marker = join(this.dir, ".last-prune");
|
|
177
|
+
const now = Date.now();
|
|
178
|
+
try {
|
|
179
|
+
if (now - statSync(marker).mtimeMs < PRUNE_INTERVAL_MS)
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
/* no marker yet: prune */
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
writeFileSync(marker, "");
|
|
187
|
+
for (const name of readdirSync(this.dir)) {
|
|
188
|
+
// .tmp covers writes orphaned by a kill between write and rename.
|
|
189
|
+
if (!name.endsWith(".json") && !name.endsWith(".tmp"))
|
|
190
|
+
continue;
|
|
191
|
+
const file = join(this.dir, name);
|
|
192
|
+
try {
|
|
193
|
+
if (now - statSync(file).mtimeMs > MAX_ENTRY_AGE_MS) {
|
|
194
|
+
rmSync(file, { force: true });
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
/* entry vanished under us: fine */
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
/* prune is best-effort */
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export interface CliOptions {
|
|
|
6
6
|
stdin: boolean;
|
|
7
7
|
deferUrls: boolean;
|
|
8
8
|
checkUrlsOnly: boolean;
|
|
9
|
+
skipUrls: boolean;
|
|
10
|
+
/** Directory for the per-file result cache (see cache.ts). null = no caching. */
|
|
11
|
+
cacheDir: string | null;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
14
|
* The CLI's JSON output: the core ProcessResult plus a course-reachability map
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// src/cli.ts
|
|
3
3
|
import { readVaultFiles } from "./fs/read-vault.js";
|
|
4
|
-
import { processContent, } from "./index.js";
|
|
4
|
+
import { processContent, FileResultCache, } from "./index.js";
|
|
5
5
|
import { validateUrls, materializeUrlIssue, } from "./validator/url-reachability.js";
|
|
6
6
|
import { UrlCache } from "./validator/url-cache.js";
|
|
7
7
|
import { buildFileToCourses } from "./reference-graph.js";
|
|
@@ -14,11 +14,17 @@ export function parseArgs(argv) {
|
|
|
14
14
|
let stdin = false;
|
|
15
15
|
let deferUrls = false;
|
|
16
16
|
let checkUrlsOnly = false;
|
|
17
|
+
let skipUrls = false;
|
|
18
|
+
let cacheDir = null;
|
|
17
19
|
for (let i = 0; i < args.length; i++) {
|
|
18
20
|
if (args[i] === "--output" || args[i] === "-o") {
|
|
19
21
|
outputPath = args[i + 1] || null;
|
|
20
22
|
i++; // skip next arg
|
|
21
23
|
}
|
|
24
|
+
else if (args[i] === "--cache-dir") {
|
|
25
|
+
cacheDir = args[i + 1] || null;
|
|
26
|
+
i++; // skip next arg
|
|
27
|
+
}
|
|
22
28
|
else if (args[i] === "--stdin") {
|
|
23
29
|
stdin = true;
|
|
24
30
|
}
|
|
@@ -28,11 +34,22 @@ export function parseArgs(argv) {
|
|
|
28
34
|
else if (args[i] === "--check-urls-only") {
|
|
29
35
|
checkUrlsOnly = true;
|
|
30
36
|
}
|
|
37
|
+
else if (args[i] === "--skip-urls") {
|
|
38
|
+
skipUrls = true;
|
|
39
|
+
}
|
|
31
40
|
else if (!args[i].startsWith("-")) {
|
|
32
41
|
vaultPath = args[i];
|
|
33
42
|
}
|
|
34
43
|
}
|
|
35
|
-
return {
|
|
44
|
+
return {
|
|
45
|
+
vaultPath,
|
|
46
|
+
outputPath,
|
|
47
|
+
stdin,
|
|
48
|
+
deferUrls,
|
|
49
|
+
checkUrlsOnly,
|
|
50
|
+
skipUrls,
|
|
51
|
+
cacheDir,
|
|
52
|
+
};
|
|
36
53
|
}
|
|
37
54
|
async function readStdin() {
|
|
38
55
|
const chunks = [];
|
|
@@ -55,7 +72,12 @@ export async function run(options) {
|
|
|
55
72
|
}
|
|
56
73
|
files = await readVaultFiles(options.vaultPath);
|
|
57
74
|
}
|
|
58
|
-
|
|
75
|
+
// FileResultCache.open returns undefined on any failure — processing then
|
|
76
|
+
// simply runs uncached.
|
|
77
|
+
const cache = options.cacheDir
|
|
78
|
+
? FileResultCache.open(options.cacheDir)
|
|
79
|
+
: undefined;
|
|
80
|
+
const result = processContent(files, cache);
|
|
59
81
|
// Course-reachability map for the validator page. Computed here, not in
|
|
60
82
|
// processContent, so it stays out of the Python-parity / fixture output.
|
|
61
83
|
// Degradable (per AGENTS.md): this feeds only the validator page's course
|
|
@@ -121,7 +143,7 @@ async function main() {
|
|
|
121
143
|
staleUrlCount: cache.staleCount(result.urlsToValidate),
|
|
122
144
|
};
|
|
123
145
|
}
|
|
124
|
-
else if (result.urlsToValidate.length > 0) {
|
|
146
|
+
else if (!options.skipUrls && result.urlsToValidate.length > 0) {
|
|
125
147
|
const urlWarnings = await validateUrls(result.urlsToValidate, UrlCache.load());
|
|
126
148
|
// Re-dedupe: urlWarnings are appended after processContent already
|
|
127
149
|
// deduped, and can themselves repeat (same unreachable URL twice).
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/content-schema.js
CHANGED
|
@@ -79,6 +79,11 @@ export const SEGMENT_SCHEMAS = {
|
|
|
79
79
|
"hidePreviousContentFromUser",
|
|
80
80
|
"hidePreviousContentFromTutor",
|
|
81
81
|
], ["hidePreviousContentFromUser", "hidePreviousContentFromTutor"]),
|
|
82
|
+
// Deliberately NOT listed for article/video: skipEndMarker, skipStartMarker,
|
|
83
|
+
// partOfArticle. Those are processor OUTPUT fields (emitted when an article
|
|
84
|
+
// declares an inline ::video import, see src/index.ts) and must never be
|
|
85
|
+
// authorable — an author writing them as field:: config should get the
|
|
86
|
+
// normal unknown-field treatment.
|
|
82
87
|
article: segmentSchema([], ["source", "from", "to", "optional"], ["optional"]),
|
|
83
88
|
video: segmentSchema([], ["source", "from", "to", "optional"], ["optional"]),
|
|
84
89
|
question: segmentSchema(["content"], [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-schema.js","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAsBlG,SAAS,aAAa,CACpB,QAAkB,EAClB,QAAkB;IAElB,OAAO;QACL,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAAkB,EAClB,QAAkB,EAClB,aAAuB;IAEvB,OAAO;QACL,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;QACrC,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,MAAM,EAAE,aAAa,CACnB,CAAC,MAAM,EAAE,OAAO,CAAC,EACjB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAC1C;IACD,MAAM,EAAE,aAAa,CACnB,CAAC,MAAM,EAAE,OAAO,CAAC,EACjB;QACE,IAAI;QACJ,cAAc;QACd,MAAM;QACN,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,aAAa;KACd,CACF;IACD,IAAI,EAAE,aAAa,CACjB,CAAC,IAAI,CAAC,EACN;QACE,OAAO;QACP,MAAM;QACN,mBAAmB;QACnB,MAAM;QACN,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;QACjB,eAAe;KAChB,CACF;IACD,kBAAkB,EAAE,aAAa,CAC/B,CAAC,IAAI,CAAC,EACN,CAAC,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAC1E;IACD,OAAO,EAAE,aAAa,CACpB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,EAC9C;QACE,SAAS;QACT,aAAa;QACb,MAAM;QACN,KAAK;QACL,oBAAoB;QACpB,qBAAqB;KACtB,CACF;IACD,kBAAkB,EAAE,aAAa,CAC/B,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;IAC3B,sEAAsE;IACtE,oDAAoD;IACpD,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,CAC9C;IACD,wEAAwE;IACxE,sEAAsE;IACtE,qDAAqD;IACrD,MAAM,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsC;IACvE,IAAI,EAAE,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,aAAa,CACrB,CAAC,SAAS,EAAE,KAAK,CAAC,EAClB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,EACxC,CAAC,UAAU,CAAC,CACb;IACD,MAAM,EAAE,aAAa,CACnB,CAAC,SAAS,EAAE,KAAK,CAAC,EAClB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EAChD,CAAC,UAAU,CAAC,CACb;IACD,MAAM,EAAE,aAAa,CACnB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EAC7B,CAAC,OAAO,EAAE,UAAU,CAAC,EACrB,CAAC,OAAO,EAAE,UAAU,CAAC,CACtB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,IAAI,EAAE,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5D,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,EAAE,aAAa,CACjB,CAAC,cAAc,CAAC,EAChB;QACE,mBAAmB;QACnB,6BAA6B;QAC7B,8BAA8B;KAC/B,EACD,CAAC,6BAA6B,EAAE,8BAA8B,CAAC,CAChE;IACD,OAAO,EAAE,aAAa,CACpB,EAAE,EACF,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,EACpC,CAAC,UAAU,CAAC,CACb;IACD,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5E,QAAQ,EAAE,aAAa,CACrB,CAAC,SAAS,CAAC,EACX;QACE,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,UAAU;QACV,UAAU;KACX,EACD,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAC1C;IACD,QAAQ,EAAE,aAAa,CACrB,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,EACpC;QACE,iBAAiB;QACjB,yBAAyB;QACzB,mBAAmB;QACnB,UAAU;QACV,UAAU;KACX,EACD,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,CAAC,CAC9C;IACD,KAAK,EAAE,aAAa,CAClB,EAAE,EACF;QACE,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,cAAc;QACd,SAAS;QACT,UAAU;KACX,EACD,CAAC,UAAU,CAAC,CACb;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5C,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAsC;IACzE,eAAe,EAAE,aAAa,CAC5B,iBAAiB,EACjB;QACE,GAAG,iBAAiB;QACpB,yBAAyB;QACzB,WAAW;QACX,UAAU;QACV,aAAa;QACb,eAAe;KAChB,EACD,CAAC,UAAU,EAAE,eAAe,CAAC,CAC9B;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,sCAAsC;IACtC,iBAAiB,EAAE,aAAa,CAC9B,iBAAiB,EACjB;QACE,GAAG,iBAAiB;QACpB,yBAAyB;QACzB,OAAO;QACP,WAAW;QACX,YAAY;KACb,EACD,CAAC,UAAU,CAAC,CACb;IACD,iBAAiB,EAAE,aAAa,CAC9B,CAAC,GAAG,iBAAiB,EAAE,SAAS,CAAC,EACjC,CAAC,GAAG,iBAAiB,EAAE,OAAO,EAAE,SAAS,CAAC,EAC1C,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CACjC;IACD,oBAAoB,EAAE,aAAa,CACjC,iBAAiB,EACjB,CAAC,GAAG,iBAAiB,EAAE,yBAAyB,CAAC,EACjD,CAAC,UAAU,CAAC,CACb;IACD,kBAAkB,EAAE,aAAa,CAC/B,CAAC,GAAG,iBAAiB,EAAE,OAAO,CAAC,EAC/B,CAAC,GAAG,iBAAiB,EAAE,yBAAyB,CAAC,EACjD,CAAC,UAAU,CAAC,CACb;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAGrC,MAAM,CAAC,WAAW,CACpB;IACE,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IAClC,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC;CAC5C,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG;IAC3B,QAAQ;IACR,mBAAmB;IACnB,WAAW;IACX,MAAM;IACN,OAAO;IACP,mBAAmB,EAAE,8CAA8C;CACpE,CAAC;AACF,MAAM,4BAA4B,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAa,CAAC,GAAG,EAAE;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,oBAAoB;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,EAAE,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa,CAAC,GAAG,EAAE;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,4BAA4B;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"content-schema.js","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"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"}
|