@aruzone/aze-forge 0.1.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/LICENSE +21 -0
- package/README.md +408 -0
- package/dist/acceptance.d.ts +48 -0
- package/dist/acceptance.js +180 -0
- package/dist/acceptance.js.map +1 -0
- package/dist/assets.d.ts +19 -0
- package/dist/assets.js +509 -0
- package/dist/assets.js.map +1 -0
- package/dist/atomic-write.d.ts +1 -0
- package/dist/atomic-write.js +23 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/callout.d.ts +27 -0
- package/dist/callout.js +78 -0
- package/dist/callout.js.map +1 -0
- package/dist/capabilities-json.d.ts +4 -0
- package/dist/capabilities-json.js +225 -0
- package/dist/capabilities-json.js.map +1 -0
- package/dist/capabilities.d.ts +110 -0
- package/dist/capabilities.js +270 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +1096 -0
- package/dist/cli.js.map +1 -0
- package/dist/compiler.d.ts +3 -0
- package/dist/compiler.js +1034 -0
- package/dist/compiler.js.map +1 -0
- package/dist/configuration-error.d.ts +4 -0
- package/dist/configuration-error.js +9 -0
- package/dist/configuration-error.js.map +1 -0
- package/dist/diagnostics-json.d.ts +23 -0
- package/dist/diagnostics-json.js +143 -0
- package/dist/diagnostics-json.js.map +1 -0
- package/dist/diagnostics.d.ts +16 -0
- package/dist/diagnostics.js +154 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/equation.d.ts +74 -0
- package/dist/equation.js +485 -0
- package/dist/equation.js.map +1 -0
- package/dist/font.d.ts +19 -0
- package/dist/font.js +75 -0
- package/dist/font.js.map +1 -0
- package/dist/format.d.ts +2 -0
- package/dist/format.js +308 -0
- package/dist/format.js.map +1 -0
- package/dist/hash.d.ts +5 -0
- package/dist/hash.js +189 -0
- package/dist/hash.js.map +1 -0
- package/dist/help.d.ts +9 -0
- package/dist/help.js +102 -0
- package/dist/help.js.map +1 -0
- package/dist/html-fragment.d.ts +7 -0
- package/dist/html-fragment.js +70 -0
- package/dist/html-fragment.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +14 -0
- package/dist/markdown.js +425 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mermaid-browser.d.ts +43 -0
- package/dist/mermaid-browser.js +358 -0
- package/dist/mermaid-browser.js.map +1 -0
- package/dist/mermaid.d.ts +84 -0
- package/dist/mermaid.js +740 -0
- package/dist/mermaid.js.map +1 -0
- package/dist/model.d.ts +406 -0
- package/dist/model.js +2 -0
- package/dist/model.js.map +1 -0
- package/dist/parse.d.ts +3 -0
- package/dist/parse.js +1374 -0
- package/dist/parse.js.map +1 -0
- package/dist/preview-server.d.ts +39 -0
- package/dist/preview-server.js +156 -0
- package/dist/preview-server.js.map +1 -0
- package/dist/preview-shell.d.ts +29 -0
- package/dist/preview-shell.js +102 -0
- package/dist/preview-shell.js.map +1 -0
- package/dist/reference-validation.d.ts +7 -0
- package/dist/reference-validation.js +42 -0
- package/dist/reference-validation.js.map +1 -0
- package/dist/registry.d.ts +29 -0
- package/dist/registry.js +384 -0
- package/dist/registry.js.map +1 -0
- package/dist/render-html.d.ts +24 -0
- package/dist/render-html.js +149 -0
- package/dist/render-html.js.map +1 -0
- package/dist/render-pdf.d.ts +64 -0
- package/dist/render-pdf.js +503 -0
- package/dist/render-pdf.js.map +1 -0
- package/dist/render-png.d.ts +32 -0
- package/dist/render-png.js +427 -0
- package/dist/render-png.js.map +1 -0
- package/dist/render-svg.d.ts +23 -0
- package/dist/render-svg.js +243 -0
- package/dist/render-svg.js.map +1 -0
- package/dist/runtime-support.d.ts +26 -0
- package/dist/runtime-support.js +62 -0
- package/dist/runtime-support.js.map +1 -0
- package/dist/source-map.d.ts +12 -0
- package/dist/source-map.js +75 -0
- package/dist/source-map.js.map +1 -0
- package/dist/table.d.ts +22 -0
- package/dist/table.js +90 -0
- package/dist/table.js.map +1 -0
- package/dist/theme.d.ts +6 -0
- package/dist/theme.js +89 -0
- package/dist/theme.js.map +1 -0
- package/dist/tool-version.d.ts +3 -0
- package/dist/tool-version.js +3 -0
- package/dist/tool-version.js.map +1 -0
- package/dist/type-guards.d.ts +1 -0
- package/dist/type-guards.js +4 -0
- package/dist/type-guards.js.map +1 -0
- package/dist/validate-document.d.ts +2 -0
- package/dist/validate-document.js +248 -0
- package/dist/validate-document.js.map +1 -0
- package/dist/version.d.ts +37 -0
- package/dist/version.js +111 -0
- package/dist/version.js.map +1 -0
- package/dist/watch-dependencies.d.ts +15 -0
- package/dist/watch-dependencies.js +93 -0
- package/dist/watch-dependencies.js.map +1 -0
- package/dist/watch-events.d.ts +51 -0
- package/dist/watch-events.js +27 -0
- package/dist/watch-events.js.map +1 -0
- package/dist/watch-loop.d.ts +39 -0
- package/dist/watch-loop.js +117 -0
- package/dist/watch-loop.js.map +1 -0
- package/package.json +70 -0
- package/schemas/acceptance.json +104 -0
- package/schemas/capabilities.json +491 -0
- package/schemas/diagnostics.json +219 -0
- package/schemas/version.json +167 -0
package/dist/theme.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export const defaultTheme = Object.freeze({
|
|
2
|
+
id: "default",
|
|
3
|
+
version: "1.0.0",
|
|
4
|
+
title: "Default",
|
|
5
|
+
colorScheme: "light",
|
|
6
|
+
colors: Object.freeze({
|
|
7
|
+
background: "#ffffff",
|
|
8
|
+
foreground: "#171717",
|
|
9
|
+
muted: "#5f6368",
|
|
10
|
+
}),
|
|
11
|
+
typography: Object.freeze({
|
|
12
|
+
proseFontFamily: "Inter",
|
|
13
|
+
bodyFontWeight: 400,
|
|
14
|
+
headingFontWeight: 700,
|
|
15
|
+
lineHeight: 1.6,
|
|
16
|
+
headingLineHeight: 1.2,
|
|
17
|
+
paragraphSpacingEm: 1,
|
|
18
|
+
}),
|
|
19
|
+
geometry: Object.freeze({
|
|
20
|
+
canvasWidthPx: 960,
|
|
21
|
+
contentWidthPx: 800,
|
|
22
|
+
paddingPx: 48,
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
export const academicTheme = Object.freeze({
|
|
26
|
+
id: "academic",
|
|
27
|
+
version: "1.0.0",
|
|
28
|
+
title: "Academic",
|
|
29
|
+
colorScheme: "light",
|
|
30
|
+
colors: Object.freeze({
|
|
31
|
+
background: "#fdfcf9",
|
|
32
|
+
foreground: "#1c1917",
|
|
33
|
+
muted: "#78716c",
|
|
34
|
+
}),
|
|
35
|
+
typography: Object.freeze({
|
|
36
|
+
proseFontFamily: "Inter",
|
|
37
|
+
bodyFontWeight: 400,
|
|
38
|
+
headingFontWeight: 700,
|
|
39
|
+
lineHeight: 1.7,
|
|
40
|
+
headingLineHeight: 1.3,
|
|
41
|
+
paragraphSpacingEm: 1.1,
|
|
42
|
+
}),
|
|
43
|
+
geometry: Object.freeze({
|
|
44
|
+
canvasWidthPx: 880,
|
|
45
|
+
contentWidthPx: 700,
|
|
46
|
+
paddingPx: 56,
|
|
47
|
+
}),
|
|
48
|
+
});
|
|
49
|
+
export const darkPresentationTheme = Object.freeze({
|
|
50
|
+
id: "dark-presentation",
|
|
51
|
+
version: "1.0.0",
|
|
52
|
+
title: "Dark Presentation",
|
|
53
|
+
colorScheme: "dark",
|
|
54
|
+
colors: Object.freeze({
|
|
55
|
+
background: "#0f172a",
|
|
56
|
+
foreground: "#e2e8f0",
|
|
57
|
+
muted: "#94a3b8",
|
|
58
|
+
}),
|
|
59
|
+
typography: Object.freeze({
|
|
60
|
+
proseFontFamily: "Inter",
|
|
61
|
+
bodyFontWeight: 400,
|
|
62
|
+
headingFontWeight: 700,
|
|
63
|
+
lineHeight: 1.5,
|
|
64
|
+
headingLineHeight: 1.2,
|
|
65
|
+
paragraphSpacingEm: 1,
|
|
66
|
+
}),
|
|
67
|
+
geometry: Object.freeze({
|
|
68
|
+
canvasWidthPx: 1280,
|
|
69
|
+
contentWidthPx: 1024,
|
|
70
|
+
paddingPx: 64,
|
|
71
|
+
}),
|
|
72
|
+
});
|
|
73
|
+
export const builtInThemes = Object.freeze([
|
|
74
|
+
defaultTheme,
|
|
75
|
+
academicTheme,
|
|
76
|
+
darkPresentationTheme,
|
|
77
|
+
]);
|
|
78
|
+
export function copyAndFreezeTheme(theme) {
|
|
79
|
+
return Object.freeze({
|
|
80
|
+
id: theme.id,
|
|
81
|
+
version: theme.version,
|
|
82
|
+
title: theme.title,
|
|
83
|
+
colorScheme: theme.colorScheme,
|
|
84
|
+
colors: Object.freeze({ ...theme.colors }),
|
|
85
|
+
typography: Object.freeze({ ...theme.typography }),
|
|
86
|
+
geometry: Object.freeze({ ...theme.geometry }),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-version.js","sourceRoot":"","sources":["../src/tool-version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isObjectRecord(value: unknown): value is Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { isObjectRecord } from "./type-guards.js";
|
|
2
|
+
import { createDiagnostic } from "./diagnostics.js";
|
|
3
|
+
const OUTPUT_FORMATS = {
|
|
4
|
+
html: true,
|
|
5
|
+
svg: true,
|
|
6
|
+
png: true,
|
|
7
|
+
pdf: true,
|
|
8
|
+
};
|
|
9
|
+
function hasOnlyKeys(record, allowed) {
|
|
10
|
+
return Object.keys(record).every((key) => allowed.includes(key));
|
|
11
|
+
}
|
|
12
|
+
function isJsonValue(value) {
|
|
13
|
+
if (value === null ||
|
|
14
|
+
typeof value === "string" ||
|
|
15
|
+
typeof value === "boolean") {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === "number")
|
|
19
|
+
return Number.isFinite(value);
|
|
20
|
+
if (Array.isArray(value))
|
|
21
|
+
return value.every((item) => isJsonValue(item));
|
|
22
|
+
return (isObjectRecord(value) &&
|
|
23
|
+
Object.values(value).every((item) => isJsonValue(item)));
|
|
24
|
+
}
|
|
25
|
+
function isSourcePosition(value) {
|
|
26
|
+
if (!isObjectRecord(value) || !hasOnlyKeys(value, ["line", "column", "offset"])) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return (Number.isInteger(value.line) &&
|
|
30
|
+
value.line >= 1 &&
|
|
31
|
+
Number.isInteger(value.column) &&
|
|
32
|
+
value.column >= 1 &&
|
|
33
|
+
Number.isInteger(value.offset) &&
|
|
34
|
+
value.offset >= 0);
|
|
35
|
+
}
|
|
36
|
+
function isSourceRange(value) {
|
|
37
|
+
if (!isObjectRecord(value) || !hasOnlyKeys(value, ["start", "end"]))
|
|
38
|
+
return false;
|
|
39
|
+
if (!isSourcePosition(value.start) || !isSourcePosition(value.end))
|
|
40
|
+
return false;
|
|
41
|
+
return (value.start.offset <= value.end.offset &&
|
|
42
|
+
(value.start.line < value.end.line ||
|
|
43
|
+
(value.start.line === value.end.line &&
|
|
44
|
+
value.start.column <= value.end.column)));
|
|
45
|
+
}
|
|
46
|
+
function hasValidCommonBlockFields(value, allowed) {
|
|
47
|
+
return (hasOnlyKeys(value, allowed) &&
|
|
48
|
+
isSourceRange(value.range) &&
|
|
49
|
+
(value.id === undefined || typeof value.id === "string"));
|
|
50
|
+
}
|
|
51
|
+
function isInlineNode(value) {
|
|
52
|
+
if (!isObjectRecord(value))
|
|
53
|
+
return false;
|
|
54
|
+
if (value.kind === "text" || value.kind === "code") {
|
|
55
|
+
return (hasOnlyKeys(value, ["kind", "value"]) && typeof value.value === "string");
|
|
56
|
+
}
|
|
57
|
+
if (value.kind === "emphasis" || value.kind === "strong") {
|
|
58
|
+
return (hasOnlyKeys(value, ["kind", "children"]) &&
|
|
59
|
+
Array.isArray(value.children) &&
|
|
60
|
+
value.children.every((child) => isInlineNode(child)));
|
|
61
|
+
}
|
|
62
|
+
if (value.kind === "break") {
|
|
63
|
+
return hasOnlyKeys(value, ["kind"]);
|
|
64
|
+
}
|
|
65
|
+
if (value.kind === "link") {
|
|
66
|
+
return (hasOnlyKeys(value, ["kind", "href", "children", "title", "range"]) &&
|
|
67
|
+
typeof value.href === "string" &&
|
|
68
|
+
value.href.length > 0 &&
|
|
69
|
+
Array.isArray(value.children) &&
|
|
70
|
+
value.children.every((child) => isInlineNode(child)) &&
|
|
71
|
+
(value.title === undefined || typeof value.title === "string") &&
|
|
72
|
+
(value.range === undefined || isSourceRange(value.range)));
|
|
73
|
+
}
|
|
74
|
+
if (value.kind === "image") {
|
|
75
|
+
return (hasOnlyKeys(value, ["kind", "src", "alt", "title", "range"]) &&
|
|
76
|
+
typeof value.src === "string" &&
|
|
77
|
+
value.src.length > 0 &&
|
|
78
|
+
typeof value.alt === "string" &&
|
|
79
|
+
(value.title === undefined || typeof value.title === "string") &&
|
|
80
|
+
(value.range === undefined || isSourceRange(value.range)));
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
function hasInlineChildren(value) {
|
|
85
|
+
return Array.isArray(value) && value.every((child) => isInlineNode(child));
|
|
86
|
+
}
|
|
87
|
+
function isParsedBlock(value) {
|
|
88
|
+
if (!isObjectRecord(value))
|
|
89
|
+
return false;
|
|
90
|
+
if (value.kind === "heading") {
|
|
91
|
+
return (hasValidCommonBlockFields(value, ["kind", "level", "children", "range", "id"]) &&
|
|
92
|
+
Number.isInteger(value.level) &&
|
|
93
|
+
value.level >= 1 &&
|
|
94
|
+
value.level <= 6 &&
|
|
95
|
+
hasInlineChildren(value.children));
|
|
96
|
+
}
|
|
97
|
+
if (value.kind === "paragraph") {
|
|
98
|
+
return (hasValidCommonBlockFields(value, ["kind", "children", "range", "id"]) &&
|
|
99
|
+
hasInlineChildren(value.children));
|
|
100
|
+
}
|
|
101
|
+
if (value.kind === "thematicBreak") {
|
|
102
|
+
return hasValidCommonBlockFields(value, ["kind", "range", "id"]);
|
|
103
|
+
}
|
|
104
|
+
if (value.kind === "blockquote") {
|
|
105
|
+
return (hasValidCommonBlockFields(value, ["kind", "children", "range", "id"]) &&
|
|
106
|
+
Array.isArray(value.children) &&
|
|
107
|
+
value.children.every((child) => isParsedBlock(child)));
|
|
108
|
+
}
|
|
109
|
+
if (value.kind === "list") {
|
|
110
|
+
return (hasValidCommonBlockFields(value, ["kind", "ordered", "items", "range", "id", "start"]) &&
|
|
111
|
+
typeof value.ordered === "boolean" &&
|
|
112
|
+
Array.isArray(value.items) &&
|
|
113
|
+
value.items.every((item) => isObjectRecord(item) &&
|
|
114
|
+
hasOnlyKeys(item, ["blocks", "range"]) &&
|
|
115
|
+
Array.isArray(item.blocks) &&
|
|
116
|
+
item.blocks.every((child) => isParsedBlock(child)) &&
|
|
117
|
+
isSourceRange(item.range)) &&
|
|
118
|
+
(value.start === undefined ||
|
|
119
|
+
(Number.isInteger(value.start) && value.start >= 0)));
|
|
120
|
+
}
|
|
121
|
+
if (value.kind === "code") {
|
|
122
|
+
return (hasValidCommonBlockFields(value, ["kind", "value", "range", "id", "language"]) &&
|
|
123
|
+
typeof value.value === "string" &&
|
|
124
|
+
(value.language === undefined || typeof value.language === "string"));
|
|
125
|
+
}
|
|
126
|
+
if (value.kind === "table") {
|
|
127
|
+
return (hasValidCommonBlockFields(value, ["kind", "data", "range", "id", "caption", "pluginVersion"]) &&
|
|
128
|
+
isObjectRecord(value.data) &&
|
|
129
|
+
hasOnlyKeys(value.data, ["align", "header", "rows"]) &&
|
|
130
|
+
Array.isArray(value.data.align) &&
|
|
131
|
+
value.data.align.every((entry) => entry === null || entry === "left" || entry === "center" || entry === "right") &&
|
|
132
|
+
Array.isArray(value.data.header) &&
|
|
133
|
+
value.data.header.every((cell) => Array.isArray(cell) && cell.every((node) => isInlineNode(node))) &&
|
|
134
|
+
Array.isArray(value.data.rows) &&
|
|
135
|
+
value.data.rows.every((row) => Array.isArray(row) &&
|
|
136
|
+
row.every((cell) => Array.isArray(cell) && cell.every((node) => isInlineNode(node)))) &&
|
|
137
|
+
value.data.header.length === value.data.align.length &&
|
|
138
|
+
(value.caption === undefined ||
|
|
139
|
+
(Array.isArray(value.caption) &&
|
|
140
|
+
value.caption.every((node) => isInlineNode(node)))) &&
|
|
141
|
+
(value.pluginVersion === undefined || value.pluginVersion === "1.0.0"));
|
|
142
|
+
}
|
|
143
|
+
if (value.kind === "callout") {
|
|
144
|
+
return (hasValidCommonBlockFields(value, ["kind", "variant", "children", "range", "id", "title", "pluginVersion"]) &&
|
|
145
|
+
typeof value.variant === "string" &&
|
|
146
|
+
value.variant.length > 0 &&
|
|
147
|
+
Array.isArray(value.children) &&
|
|
148
|
+
value.children.every((child) => isParsedBlock(child)) &&
|
|
149
|
+
(value.title === undefined ||
|
|
150
|
+
(Array.isArray(value.title) &&
|
|
151
|
+
value.title.every((node) => isInlineNode(node)))) &&
|
|
152
|
+
value.pluginVersion === "1.0.0");
|
|
153
|
+
}
|
|
154
|
+
if (value.kind === "equation") {
|
|
155
|
+
return (hasOnlyKeys(value, [
|
|
156
|
+
"kind",
|
|
157
|
+
"range",
|
|
158
|
+
"id",
|
|
159
|
+
"pluginVersion",
|
|
160
|
+
"syntax",
|
|
161
|
+
"source",
|
|
162
|
+
"tex",
|
|
163
|
+
"number",
|
|
164
|
+
"align",
|
|
165
|
+
]) &&
|
|
166
|
+
isSourceRange(value.range) &&
|
|
167
|
+
(value.id === undefined || typeof value.id === "string") &&
|
|
168
|
+
value.pluginVersion === "1.0.0" &&
|
|
169
|
+
(value.syntax === "readable" || value.syntax === "latex") &&
|
|
170
|
+
typeof value.source === "string" &&
|
|
171
|
+
value.source.length > 0 &&
|
|
172
|
+
typeof value.tex === "string" &&
|
|
173
|
+
value.tex.length > 0 &&
|
|
174
|
+
(value.number === undefined || typeof value.number === "boolean") &&
|
|
175
|
+
(value.align === undefined ||
|
|
176
|
+
value.align === "left" ||
|
|
177
|
+
value.align === "center" ||
|
|
178
|
+
value.align === "right"));
|
|
179
|
+
}
|
|
180
|
+
if (value.kind === "mermaid") {
|
|
181
|
+
return (hasOnlyKeys(value, [
|
|
182
|
+
"kind",
|
|
183
|
+
"range",
|
|
184
|
+
"id",
|
|
185
|
+
"pluginVersion",
|
|
186
|
+
"diagramType",
|
|
187
|
+
"source",
|
|
188
|
+
"title",
|
|
189
|
+
"description",
|
|
190
|
+
]) &&
|
|
191
|
+
isSourceRange(value.range) &&
|
|
192
|
+
(value.id === undefined || typeof value.id === "string") &&
|
|
193
|
+
value.pluginVersion === "1.0.0" &&
|
|
194
|
+
typeof value.diagramType === "string" &&
|
|
195
|
+
value.diagramType.length > 0 &&
|
|
196
|
+
typeof value.source === "string" &&
|
|
197
|
+
value.source.length > 0 &&
|
|
198
|
+
(value.title === undefined || typeof value.title === "string") &&
|
|
199
|
+
(value.description === undefined || typeof value.description === "string"));
|
|
200
|
+
}
|
|
201
|
+
if (value.kind === "invalid") {
|
|
202
|
+
return (hasOnlyKeys(value, [
|
|
203
|
+
"kind",
|
|
204
|
+
"raw",
|
|
205
|
+
"range",
|
|
206
|
+
"diagnosticIndexes",
|
|
207
|
+
"originalType",
|
|
208
|
+
]) &&
|
|
209
|
+
typeof value.raw === "string" &&
|
|
210
|
+
isSourceRange(value.range) &&
|
|
211
|
+
Array.isArray(value.diagnosticIndexes) &&
|
|
212
|
+
value.diagnosticIndexes.every((index) => Number.isInteger(index) && index >= 0) &&
|
|
213
|
+
(value.originalType === undefined || typeof value.originalType === "string"));
|
|
214
|
+
}
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
function isMetadata(value) {
|
|
218
|
+
if (!isObjectRecord(value) ||
|
|
219
|
+
!hasOnlyKeys(value, ["authors", "extensions", "title", "theme", "outputs"]) ||
|
|
220
|
+
!Array.isArray(value.authors) ||
|
|
221
|
+
!value.authors.every((author) => typeof author === "string") ||
|
|
222
|
+
!isObjectRecord(value.extensions) ||
|
|
223
|
+
!Object.entries(value.extensions).every(([key, extension]) => /^x-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(key) && isJsonValue(extension)) ||
|
|
224
|
+
(value.title !== undefined && typeof value.title !== "string") ||
|
|
225
|
+
(value.theme !== undefined && typeof value.theme !== "string")) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
if (value.outputs === undefined)
|
|
229
|
+
return true;
|
|
230
|
+
return (Array.isArray(value.outputs) &&
|
|
231
|
+
value.outputs.every((output) => typeof output === "string" && OUTPUT_FORMATS[output] === true) &&
|
|
232
|
+
new Set(value.outputs).size === value.outputs.length);
|
|
233
|
+
}
|
|
234
|
+
export function validateDocumentSchema(document) {
|
|
235
|
+
const valid = isObjectRecord(document) &&
|
|
236
|
+
hasOnlyKeys(document, ["azemarkVersion", "schemaVersion", "metadata", "blocks"]) &&
|
|
237
|
+
document.azemarkVersion === 1 &&
|
|
238
|
+
document.schemaVersion === 1 &&
|
|
239
|
+
isMetadata(document.metadata) &&
|
|
240
|
+
Array.isArray(document.blocks) &&
|
|
241
|
+
document.blocks.every((block) => isParsedBlock(block));
|
|
242
|
+
if (valid)
|
|
243
|
+
return [];
|
|
244
|
+
return [
|
|
245
|
+
createDiagnostic("azeforge.document#schema-invalid", "error", "ParsedDocument does not conform to AzeMark Document schema v1."),
|
|
246
|
+
];
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=validate-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-document.js","sourceRoot":"","sources":["../src/validate-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { JsonValue } from "./model.js";
|
|
2
|
+
import { TOOL_VERSION } from "./tool-version.js";
|
|
3
|
+
import { type RuntimeSupport } from "./runtime-support.js";
|
|
4
|
+
export declare const VERSION_SCHEMA_ID: "azeforge.version/v1";
|
|
5
|
+
export declare const VERSION_SCHEMA_VERSION: 1;
|
|
6
|
+
export interface VersionedSchema {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly version: number | string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Every public machine document schema in canonical order. Source/data
|
|
12
|
+
* schema versions track their owning Plugin version; envelope schemas
|
|
13
|
+
* carry their own schemaVersion.
|
|
14
|
+
*/
|
|
15
|
+
export declare function publicSchemaVersions(): readonly VersionedSchema[];
|
|
16
|
+
export interface VersionReport {
|
|
17
|
+
readonly schema: typeof VERSION_SCHEMA_ID;
|
|
18
|
+
readonly schemaVersion: typeof VERSION_SCHEMA_VERSION;
|
|
19
|
+
readonly tool: Readonly<{
|
|
20
|
+
name: "azeforge";
|
|
21
|
+
version: typeof TOOL_VERSION;
|
|
22
|
+
}>;
|
|
23
|
+
readonly runtime: RuntimeSupport;
|
|
24
|
+
readonly source: Readonly<{
|
|
25
|
+
azemarkVersions: readonly [1];
|
|
26
|
+
}>;
|
|
27
|
+
readonly document: Readonly<{
|
|
28
|
+
schemaVersions: readonly [1];
|
|
29
|
+
}>;
|
|
30
|
+
readonly schemas: readonly VersionedSchema[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Canonical version document. Contains only release versions — never
|
|
34
|
+
* workstation facts such as paths, platforms, or dependency state.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createVersionReport(): VersionReport;
|
|
37
|
+
export declare const versionJsonSchema: JsonValue;
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ACCEPTANCE_SCHEMA_ID, ACCEPTANCE_SCHEMA_VERSION, } from "./acceptance.js";
|
|
2
|
+
import { CALLOUT_PLUGIN_VERSION, calloutDataSchema, calloutSourceSchema, } from "./callout.js";
|
|
3
|
+
import { DIAGNOSTICS_SCHEMA_ID } from "./diagnostics-json.js";
|
|
4
|
+
import { EQUATION_PLUGIN_VERSION, equationDataSchema, equationSourceSchema, } from "./equation.js";
|
|
5
|
+
import { MERMAID_PLUGIN_VERSION, mermaidDataSchema, mermaidSourceSchema, } from "./mermaid.js";
|
|
6
|
+
import { TABLE_PLUGIN_VERSION, tableDataSchema, tableSourceSchema, } from "./table.js";
|
|
7
|
+
import { TOOL_VERSION } from "./tool-version.js";
|
|
8
|
+
import { WATCH_EVENT_SCHEMA_ID } from "./watch-events.js";
|
|
9
|
+
import { CAPABILITIES_SCHEMA_ID } from "./capabilities-json.js";
|
|
10
|
+
import { RUNTIME_SUPPORT, runtimeSupportJsonSchema, } from "./runtime-support.js";
|
|
11
|
+
export const VERSION_SCHEMA_ID = "azeforge.version/v1";
|
|
12
|
+
export const VERSION_SCHEMA_VERSION = 1;
|
|
13
|
+
function schemaId(schema) {
|
|
14
|
+
return schema.$id;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Every public machine document schema in canonical order. Source/data
|
|
18
|
+
* schema versions track their owning Plugin version; envelope schemas
|
|
19
|
+
* carry their own schemaVersion.
|
|
20
|
+
*/
|
|
21
|
+
export function publicSchemaVersions() {
|
|
22
|
+
return Object.freeze([
|
|
23
|
+
{ id: DIAGNOSTICS_SCHEMA_ID, version: 1 },
|
|
24
|
+
{ id: CAPABILITIES_SCHEMA_ID, version: 1 },
|
|
25
|
+
{ id: VERSION_SCHEMA_ID, version: 1 },
|
|
26
|
+
{ id: ACCEPTANCE_SCHEMA_ID, version: ACCEPTANCE_SCHEMA_VERSION },
|
|
27
|
+
{ id: WATCH_EVENT_SCHEMA_ID, version: 1 },
|
|
28
|
+
{ id: schemaId(equationSourceSchema), version: EQUATION_PLUGIN_VERSION },
|
|
29
|
+
{ id: schemaId(equationDataSchema), version: EQUATION_PLUGIN_VERSION },
|
|
30
|
+
{ id: schemaId(mermaidSourceSchema), version: MERMAID_PLUGIN_VERSION },
|
|
31
|
+
{ id: schemaId(mermaidDataSchema), version: MERMAID_PLUGIN_VERSION },
|
|
32
|
+
{ id: schemaId(tableSourceSchema), version: TABLE_PLUGIN_VERSION },
|
|
33
|
+
{ id: schemaId(tableDataSchema), version: TABLE_PLUGIN_VERSION },
|
|
34
|
+
{ id: schemaId(calloutSourceSchema), version: CALLOUT_PLUGIN_VERSION },
|
|
35
|
+
{ id: schemaId(calloutDataSchema), version: CALLOUT_PLUGIN_VERSION },
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Canonical version document. Contains only release versions — never
|
|
40
|
+
* workstation facts such as paths, platforms, or dependency state.
|
|
41
|
+
*/
|
|
42
|
+
export function createVersionReport() {
|
|
43
|
+
return {
|
|
44
|
+
schema: VERSION_SCHEMA_ID,
|
|
45
|
+
schemaVersion: VERSION_SCHEMA_VERSION,
|
|
46
|
+
tool: { name: "azeforge", version: TOOL_VERSION },
|
|
47
|
+
runtime: RUNTIME_SUPPORT,
|
|
48
|
+
source: { azemarkVersions: [1] },
|
|
49
|
+
document: { schemaVersions: [1] },
|
|
50
|
+
schemas: publicSchemaVersions(),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export const versionJsonSchema = Object.freeze({
|
|
54
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
55
|
+
$id: VERSION_SCHEMA_ID,
|
|
56
|
+
type: "object",
|
|
57
|
+
required: ["schema", "schemaVersion", "tool", "runtime", "source", "document", "schemas"],
|
|
58
|
+
additionalProperties: false,
|
|
59
|
+
properties: {
|
|
60
|
+
schema: { const: VERSION_SCHEMA_ID },
|
|
61
|
+
schemaVersion: { const: 1 },
|
|
62
|
+
tool: {
|
|
63
|
+
type: "object",
|
|
64
|
+
required: ["name", "version"],
|
|
65
|
+
additionalProperties: false,
|
|
66
|
+
properties: {
|
|
67
|
+
name: { const: "azeforge" },
|
|
68
|
+
version: { type: "string", pattern: "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" },
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
runtime: runtimeSupportJsonSchema,
|
|
72
|
+
source: {
|
|
73
|
+
type: "object",
|
|
74
|
+
required: ["azemarkVersions"],
|
|
75
|
+
additionalProperties: false,
|
|
76
|
+
properties: {
|
|
77
|
+
azemarkVersions: {
|
|
78
|
+
type: "array",
|
|
79
|
+
minItems: 1,
|
|
80
|
+
items: { type: "integer", minimum: 1 },
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
document: {
|
|
85
|
+
type: "object",
|
|
86
|
+
required: ["schemaVersions"],
|
|
87
|
+
additionalProperties: false,
|
|
88
|
+
properties: {
|
|
89
|
+
schemaVersions: {
|
|
90
|
+
type: "array",
|
|
91
|
+
minItems: 1,
|
|
92
|
+
items: { type: "integer", minimum: 1 },
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
schemas: {
|
|
97
|
+
type: "array",
|
|
98
|
+
minItems: 1,
|
|
99
|
+
items: {
|
|
100
|
+
type: "object",
|
|
101
|
+
required: ["id", "version"],
|
|
102
|
+
additionalProperties: false,
|
|
103
|
+
properties: {
|
|
104
|
+
id: { type: "string", minLength: 1 },
|
|
105
|
+
version: { type: ["string", "number"] },
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AzeDocument } from "./model.js";
|
|
2
|
+
/** Every image `src` referenced by a Document, in Source order. */
|
|
3
|
+
export declare function collectImageSources(document: AzeDocument): string[];
|
|
4
|
+
export interface WatchPaths {
|
|
5
|
+
/** Existing root-confined files to watch directly. */
|
|
6
|
+
readonly files: readonly string[];
|
|
7
|
+
/** Root-confined candidate paths that do not exist yet. */
|
|
8
|
+
readonly missing: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Partition image references into existing files and missing root-confined
|
|
12
|
+
* candidates. Remote, absolute, escaping, and unsupported-type references are
|
|
13
|
+
* compile errors, not watch targets, so they are skipped here.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveWatchPaths(projectRoot: string, imageSources: readonly string[]): Promise<WatchPaths>;
|