@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.
Files changed (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +408 -0
  3. package/dist/acceptance.d.ts +48 -0
  4. package/dist/acceptance.js +180 -0
  5. package/dist/acceptance.js.map +1 -0
  6. package/dist/assets.d.ts +19 -0
  7. package/dist/assets.js +509 -0
  8. package/dist/assets.js.map +1 -0
  9. package/dist/atomic-write.d.ts +1 -0
  10. package/dist/atomic-write.js +23 -0
  11. package/dist/atomic-write.js.map +1 -0
  12. package/dist/callout.d.ts +27 -0
  13. package/dist/callout.js +78 -0
  14. package/dist/callout.js.map +1 -0
  15. package/dist/capabilities-json.d.ts +4 -0
  16. package/dist/capabilities-json.js +225 -0
  17. package/dist/capabilities-json.js.map +1 -0
  18. package/dist/capabilities.d.ts +110 -0
  19. package/dist/capabilities.js +270 -0
  20. package/dist/capabilities.js.map +1 -0
  21. package/dist/cli.d.ts +2 -0
  22. package/dist/cli.js +1096 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/compiler.d.ts +3 -0
  25. package/dist/compiler.js +1034 -0
  26. package/dist/compiler.js.map +1 -0
  27. package/dist/configuration-error.d.ts +4 -0
  28. package/dist/configuration-error.js +9 -0
  29. package/dist/configuration-error.js.map +1 -0
  30. package/dist/diagnostics-json.d.ts +23 -0
  31. package/dist/diagnostics-json.js +143 -0
  32. package/dist/diagnostics-json.js.map +1 -0
  33. package/dist/diagnostics.d.ts +16 -0
  34. package/dist/diagnostics.js +154 -0
  35. package/dist/diagnostics.js.map +1 -0
  36. package/dist/equation.d.ts +74 -0
  37. package/dist/equation.js +485 -0
  38. package/dist/equation.js.map +1 -0
  39. package/dist/font.d.ts +19 -0
  40. package/dist/font.js +75 -0
  41. package/dist/font.js.map +1 -0
  42. package/dist/format.d.ts +2 -0
  43. package/dist/format.js +308 -0
  44. package/dist/format.js.map +1 -0
  45. package/dist/hash.d.ts +5 -0
  46. package/dist/hash.js +189 -0
  47. package/dist/hash.js.map +1 -0
  48. package/dist/help.d.ts +9 -0
  49. package/dist/help.js +102 -0
  50. package/dist/help.js.map +1 -0
  51. package/dist/html-fragment.d.ts +7 -0
  52. package/dist/html-fragment.js +70 -0
  53. package/dist/html-fragment.js.map +1 -0
  54. package/dist/index.d.ts +39 -0
  55. package/dist/index.js +32 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/markdown.d.ts +14 -0
  58. package/dist/markdown.js +425 -0
  59. package/dist/markdown.js.map +1 -0
  60. package/dist/mermaid-browser.d.ts +43 -0
  61. package/dist/mermaid-browser.js +358 -0
  62. package/dist/mermaid-browser.js.map +1 -0
  63. package/dist/mermaid.d.ts +84 -0
  64. package/dist/mermaid.js +740 -0
  65. package/dist/mermaid.js.map +1 -0
  66. package/dist/model.d.ts +406 -0
  67. package/dist/model.js +2 -0
  68. package/dist/model.js.map +1 -0
  69. package/dist/parse.d.ts +3 -0
  70. package/dist/parse.js +1374 -0
  71. package/dist/parse.js.map +1 -0
  72. package/dist/preview-server.d.ts +39 -0
  73. package/dist/preview-server.js +156 -0
  74. package/dist/preview-server.js.map +1 -0
  75. package/dist/preview-shell.d.ts +29 -0
  76. package/dist/preview-shell.js +102 -0
  77. package/dist/preview-shell.js.map +1 -0
  78. package/dist/reference-validation.d.ts +7 -0
  79. package/dist/reference-validation.js +42 -0
  80. package/dist/reference-validation.js.map +1 -0
  81. package/dist/registry.d.ts +29 -0
  82. package/dist/registry.js +384 -0
  83. package/dist/registry.js.map +1 -0
  84. package/dist/render-html.d.ts +24 -0
  85. package/dist/render-html.js +149 -0
  86. package/dist/render-html.js.map +1 -0
  87. package/dist/render-pdf.d.ts +64 -0
  88. package/dist/render-pdf.js +503 -0
  89. package/dist/render-pdf.js.map +1 -0
  90. package/dist/render-png.d.ts +32 -0
  91. package/dist/render-png.js +427 -0
  92. package/dist/render-png.js.map +1 -0
  93. package/dist/render-svg.d.ts +23 -0
  94. package/dist/render-svg.js +243 -0
  95. package/dist/render-svg.js.map +1 -0
  96. package/dist/runtime-support.d.ts +26 -0
  97. package/dist/runtime-support.js +62 -0
  98. package/dist/runtime-support.js.map +1 -0
  99. package/dist/source-map.d.ts +12 -0
  100. package/dist/source-map.js +75 -0
  101. package/dist/source-map.js.map +1 -0
  102. package/dist/table.d.ts +22 -0
  103. package/dist/table.js +90 -0
  104. package/dist/table.js.map +1 -0
  105. package/dist/theme.d.ts +6 -0
  106. package/dist/theme.js +89 -0
  107. package/dist/theme.js.map +1 -0
  108. package/dist/tool-version.d.ts +3 -0
  109. package/dist/tool-version.js +3 -0
  110. package/dist/tool-version.js.map +1 -0
  111. package/dist/type-guards.d.ts +1 -0
  112. package/dist/type-guards.js +4 -0
  113. package/dist/type-guards.js.map +1 -0
  114. package/dist/validate-document.d.ts +2 -0
  115. package/dist/validate-document.js +248 -0
  116. package/dist/validate-document.js.map +1 -0
  117. package/dist/version.d.ts +37 -0
  118. package/dist/version.js +111 -0
  119. package/dist/version.js.map +1 -0
  120. package/dist/watch-dependencies.d.ts +15 -0
  121. package/dist/watch-dependencies.js +93 -0
  122. package/dist/watch-dependencies.js.map +1 -0
  123. package/dist/watch-events.d.ts +51 -0
  124. package/dist/watch-events.js +27 -0
  125. package/dist/watch-events.js.map +1 -0
  126. package/dist/watch-loop.d.ts +39 -0
  127. package/dist/watch-loop.js +117 -0
  128. package/dist/watch-loop.js.map +1 -0
  129. package/package.json +70 -0
  130. package/schemas/acceptance.json +104 -0
  131. package/schemas/capabilities.json +491 -0
  132. package/schemas/diagnostics.json +219 -0
  133. package/schemas/version.json +167 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class CompilerConfigurationError extends Error {
2
+ readonly code: string;
3
+ constructor(code: string, message: string);
4
+ }
@@ -0,0 +1,9 @@
1
+ export class CompilerConfigurationError extends Error {
2
+ code;
3
+ constructor(code, message) {
4
+ super(message);
5
+ this.name = "CompilerConfigurationError";
6
+ this.code = code;
7
+ }
8
+ }
9
+ //# sourceMappingURL=configuration-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-error.js","sourceRoot":"","sources":["../src/configuration-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { ArtifactMetadata, ContentHash, Diagnostic, JsonValue } from "./model.js";
2
+ import { TOOL_VERSION } from "./tool-version.js";
3
+ export declare const DIAGNOSTICS_SCHEMA_ID: "azeforge.diagnostics/v1";
4
+ export interface DiagnosticsReport {
5
+ readonly schema: typeof DIAGNOSTICS_SCHEMA_ID;
6
+ readonly schemaVersion: 1;
7
+ readonly tool: Readonly<{
8
+ name: "azeforge";
9
+ version: typeof TOOL_VERSION;
10
+ }>;
11
+ readonly command: string;
12
+ readonly success: boolean;
13
+ readonly diagnostics: readonly Diagnostic[];
14
+ readonly contentHash?: ContentHash;
15
+ readonly artifact?: ArtifactMetadata;
16
+ }
17
+ interface DiagnosticsReportDetails {
18
+ readonly contentHash?: ContentHash;
19
+ readonly artifact?: ArtifactMetadata;
20
+ }
21
+ export declare function createDiagnosticsReport(command: string, success: boolean, diagnostics: readonly Diagnostic[], details?: DiagnosticsReportDetails): DiagnosticsReport;
22
+ export declare const diagnosticsJsonSchema: JsonValue;
23
+ export {};
@@ -0,0 +1,143 @@
1
+ import { TOOL_VERSION } from "./tool-version.js";
2
+ export const DIAGNOSTICS_SCHEMA_ID = "azeforge.diagnostics/v1";
3
+ export function createDiagnosticsReport(command, success, diagnostics, details = {}) {
4
+ return {
5
+ schema: DIAGNOSTICS_SCHEMA_ID,
6
+ schemaVersion: 1,
7
+ tool: { name: "azeforge", version: TOOL_VERSION },
8
+ command,
9
+ success,
10
+ diagnostics,
11
+ ...(details.contentHash === undefined
12
+ ? {}
13
+ : { contentHash: details.contentHash }),
14
+ ...(details.artifact === undefined ? {} : { artifact: details.artifact }),
15
+ };
16
+ }
17
+ export const diagnosticsJsonSchema = Object.freeze({
18
+ $schema: "https://json-schema.org/draft/2020-12/schema",
19
+ $id: DIAGNOSTICS_SCHEMA_ID,
20
+ type: "object",
21
+ required: [
22
+ "schema",
23
+ "schemaVersion",
24
+ "tool",
25
+ "command",
26
+ "success",
27
+ "diagnostics",
28
+ ],
29
+ additionalProperties: false,
30
+ properties: {
31
+ schema: { const: DIAGNOSTICS_SCHEMA_ID },
32
+ schemaVersion: { const: 1 },
33
+ tool: {
34
+ type: "object",
35
+ required: ["name", "version"],
36
+ additionalProperties: false,
37
+ properties: {
38
+ name: { const: "azeforge" },
39
+ version: { type: "string" },
40
+ },
41
+ },
42
+ command: { type: "string" },
43
+ success: { type: "boolean" },
44
+ diagnostics: {
45
+ type: "array",
46
+ items: { $ref: "#/$defs/diagnostic" },
47
+ },
48
+ contentHash: { type: "string", pattern: "^sha256:[0-9a-f]{64}$" },
49
+ artifact: { type: "object" },
50
+ },
51
+ $defs: {
52
+ position: {
53
+ type: "object",
54
+ required: ["line", "column", "offset"],
55
+ additionalProperties: false,
56
+ properties: {
57
+ line: { type: "integer", minimum: 1 },
58
+ column: { type: "integer", minimum: 1 },
59
+ offset: { type: "integer", minimum: 0 },
60
+ },
61
+ },
62
+ range: {
63
+ type: "object",
64
+ required: ["start", "end"],
65
+ additionalProperties: false,
66
+ properties: {
67
+ start: { $ref: "#/$defs/position" },
68
+ end: { $ref: "#/$defs/position" },
69
+ },
70
+ },
71
+ location: {
72
+ type: "object",
73
+ minProperties: 1,
74
+ additionalProperties: false,
75
+ properties: {
76
+ source: { type: "string" },
77
+ range: { $ref: "#/$defs/range" },
78
+ },
79
+ },
80
+ relatedLocation: {
81
+ type: "object",
82
+ required: ["range", "message"],
83
+ additionalProperties: false,
84
+ properties: {
85
+ source: { type: "string" },
86
+ range: { $ref: "#/$defs/range" },
87
+ message: { type: "string" },
88
+ },
89
+ },
90
+ fixEdit: {
91
+ type: "object",
92
+ required: ["range", "expectedText", "replacementText"],
93
+ additionalProperties: false,
94
+ properties: {
95
+ range: { $ref: "#/$defs/range" },
96
+ expectedText: { type: "string" },
97
+ replacementText: { type: "string" },
98
+ },
99
+ },
100
+ fix: {
101
+ type: "object",
102
+ required: ["title", "applicability", "edits"],
103
+ additionalProperties: false,
104
+ properties: {
105
+ title: { type: "string" },
106
+ applicability: { const: "safe" },
107
+ edits: {
108
+ type: "array",
109
+ minItems: 1,
110
+ items: { $ref: "#/$defs/fixEdit" },
111
+ },
112
+ },
113
+ },
114
+ diagnostic: {
115
+ type: "object",
116
+ required: [
117
+ "code",
118
+ "severity",
119
+ "message",
120
+ "data",
121
+ "relatedLocations",
122
+ ],
123
+ additionalProperties: false,
124
+ properties: {
125
+ code: {
126
+ type: "string",
127
+ pattern: "^[a-z0-9@/._-]+#[a-z0-9]+(?:-[a-z0-9]+)*$",
128
+ },
129
+ severity: { enum: ["error", "warning", "info"] },
130
+ message: { type: "string" },
131
+ data: { type: "object" },
132
+ location: { $ref: "#/$defs/location" },
133
+ suggestion: { type: "string" },
134
+ fix: { $ref: "#/$defs/fix" },
135
+ relatedLocations: {
136
+ type: "array",
137
+ items: { $ref: "#/$defs/relatedLocation" },
138
+ },
139
+ },
140
+ },
141
+ },
142
+ });
143
+ //# sourceMappingURL=diagnostics-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-json.js","sourceRoot":"","sources":["../src/diagnostics-json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Diagnostic, DiagnosticFix, DiagnosticLocation, DiagnosticSeverity, JsonValue, RelatedLocation, SourceRange } from "./model.js";
2
+ export interface DiagnosticLimits {
3
+ readonly perBlock: number;
4
+ readonly perDocument: number;
5
+ }
6
+ export declare const DEFAULT_DIAGNOSTIC_LIMITS: DiagnosticLimits;
7
+ interface DiagnosticDetails {
8
+ readonly data?: Readonly<Record<string, JsonValue>>;
9
+ readonly location?: DiagnosticLocation;
10
+ readonly suggestion?: string;
11
+ readonly fix?: DiagnosticFix;
12
+ readonly relatedLocations?: readonly RelatedLocation[];
13
+ }
14
+ export declare function createDiagnostic(code: string, severity: DiagnosticSeverity, message: string, details?: DiagnosticDetails): Diagnostic;
15
+ export declare function normalizeAndLimitDiagnostics(phases: readonly (readonly Diagnostic[])[], limits?: DiagnosticLimits, blockRanges?: readonly SourceRange[]): readonly Diagnostic[];
16
+ export {};
@@ -0,0 +1,154 @@
1
+ import { canonicalJson } from "./hash.js";
2
+ export const DEFAULT_DIAGNOSTIC_LIMITS = Object.freeze({
3
+ perBlock: 20,
4
+ perDocument: 200,
5
+ });
6
+ export function createDiagnostic(code, severity, message, details = {}) {
7
+ return {
8
+ code,
9
+ severity,
10
+ message,
11
+ data: details.data ?? {},
12
+ ...(details.location === undefined ? {} : { location: details.location }),
13
+ ...(details.suggestion === undefined ? {} : { suggestion: details.suggestion }),
14
+ ...(details.fix === undefined ? {} : { fix: details.fix }),
15
+ relatedLocations: details.relatedLocations ?? [],
16
+ };
17
+ }
18
+ const SEVERITY_ORDER = {
19
+ error: 0,
20
+ warning: 1,
21
+ info: 2,
22
+ };
23
+ function diagnosticIdentity(diagnostic) {
24
+ const range = diagnostic.location?.range;
25
+ return canonicalJson({
26
+ code: diagnostic.code,
27
+ range: range === undefined
28
+ ? null
29
+ : {
30
+ start: {
31
+ line: range.start.line,
32
+ column: range.start.column,
33
+ offset: range.start.offset,
34
+ },
35
+ end: {
36
+ line: range.end.line,
37
+ column: range.end.column,
38
+ offset: range.end.offset,
39
+ },
40
+ },
41
+ data: diagnostic.data,
42
+ });
43
+ }
44
+ function compareText(left, right) {
45
+ if (left === right)
46
+ return 0;
47
+ return left < right ? -1 : 1;
48
+ }
49
+ function locationOrder(left, right) {
50
+ const leftLocation = left.location;
51
+ const rightLocation = right.location;
52
+ if (leftLocation === undefined && rightLocation !== undefined)
53
+ return 1;
54
+ if (leftLocation !== undefined && rightLocation === undefined)
55
+ return -1;
56
+ if (leftLocation === undefined || rightLocation === undefined)
57
+ return 0;
58
+ const sourceOrder = compareText(leftLocation.source ?? "", rightLocation.source ?? "");
59
+ if (sourceOrder !== 0)
60
+ return sourceOrder;
61
+ const leftOffset = leftLocation.range?.start.offset;
62
+ const rightOffset = rightLocation.range?.start.offset;
63
+ if (leftOffset === undefined && rightOffset !== undefined)
64
+ return 1;
65
+ if (leftOffset !== undefined && rightOffset === undefined)
66
+ return -1;
67
+ if (leftOffset !== rightOffset)
68
+ return (leftOffset ?? 0) - (rightOffset ?? 0);
69
+ return 0;
70
+ }
71
+ function containingBlock(diagnostic, blockRanges) {
72
+ const range = diagnostic.location?.range;
73
+ if (range === undefined)
74
+ return undefined;
75
+ return blockRanges.find((blockRange) => blockRange.start.offset <= range.start.offset &&
76
+ blockRange.end.offset >= range.end.offset);
77
+ }
78
+ function highestSeverity(diagnostics) {
79
+ if (diagnostics.some(({ severity }) => severity === "error"))
80
+ return "error";
81
+ if (diagnostics.some(({ severity }) => severity === "warning"))
82
+ return "warning";
83
+ return "info";
84
+ }
85
+ export function normalizeAndLimitDiagnostics(phases, limits = DEFAULT_DIAGNOSTIC_LIMITS, blockRanges = []) {
86
+ const seen = new Set();
87
+ const retained = [];
88
+ const omitted = [];
89
+ const blockCounts = new Map();
90
+ for (const phase of phases) {
91
+ const ordered = phase
92
+ .map((diagnostic, index) => ({ diagnostic, index }))
93
+ .sort((left, right) => {
94
+ const location = locationOrder(left.diagnostic, right.diagnostic);
95
+ if (location !== 0)
96
+ return location;
97
+ const leftRange = left.diagnostic.location?.range;
98
+ const rightRange = right.diagnostic.location?.range;
99
+ if (leftRange?.start.offset === rightRange?.start.offset &&
100
+ leftRange?.end.offset === rightRange?.end.offset) {
101
+ const severity = SEVERITY_ORDER[left.diagnostic.severity] -
102
+ SEVERITY_ORDER[right.diagnostic.severity];
103
+ if (severity !== 0)
104
+ return severity;
105
+ const code = compareText(left.diagnostic.code, right.diagnostic.code);
106
+ if (code !== 0)
107
+ return code;
108
+ }
109
+ return left.index - right.index;
110
+ })
111
+ .map(({ diagnostic }) => diagnostic);
112
+ for (const diagnostic of ordered) {
113
+ const identity = diagnosticIdentity(diagnostic);
114
+ if (seen.has(identity))
115
+ continue;
116
+ seen.add(identity);
117
+ const block = containingBlock(diagnostic, blockRanges);
118
+ if (block !== undefined) {
119
+ const count = blockCounts.get(block) ?? 0;
120
+ if (count >= limits.perBlock) {
121
+ omitted.push(diagnostic);
122
+ continue;
123
+ }
124
+ blockCounts.set(block, count + 1);
125
+ }
126
+ retained.push(diagnostic);
127
+ }
128
+ }
129
+ const willTruncate = omitted.length > 0 || retained.length > limits.perDocument;
130
+ const documentCapacity = willTruncate
131
+ ? Math.max(0, limits.perDocument - 1)
132
+ : limits.perDocument;
133
+ if (retained.length > documentCapacity) {
134
+ omitted.push(...retained.splice(documentCapacity));
135
+ }
136
+ if (omitted.length === 0)
137
+ return retained;
138
+ const omittedBySeverity = { error: 0, warning: 0, info: 0 };
139
+ const omittedBlocks = new Set();
140
+ for (const diagnostic of omitted) {
141
+ omittedBySeverity[diagnostic.severity] += 1;
142
+ const block = containingBlock(diagnostic, blockRanges);
143
+ if (block !== undefined)
144
+ omittedBlocks.add(block);
145
+ }
146
+ retained.push(createDiagnostic("azeforge.diagnostics#truncated", highestSeverity(omitted), "Additional diagnostics were omitted because the configured limit was reached.", {
147
+ data: {
148
+ omittedBySeverity,
149
+ omittedBlocks: omittedBlocks.size,
150
+ },
151
+ }));
152
+ return retained;
153
+ }
154
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import type { AzeBlockPlugin, Diagnostic, EquationBlock, EquationBlockRenderer, JsonValue, RendererDescriptor, SourceRange } from "./model.js";
2
+ export declare const EQUATION_PLUGIN_TYPE: "equation";
3
+ export declare const EQUATION_PLUGIN_VERSION: "1.0.0";
4
+ export declare const EQUATION_BODY_SYNTAX_ID: "azeforge.readable-equation/v1";
5
+ export declare const EQUATION_BODY_SYNTAX_VERSION: "1.0.0";
6
+ export declare const EQUATION_LATEX_LANGUAGE_VERSION: "katex-0.18.5";
7
+ export declare const KATEX_VERSION: "0.18.5";
8
+ export declare const EQUATION_HTML_BLOCK_RENDERER_ID: "azeforge.equation.html/v1";
9
+ export declare const EQUATION_HTML_BLOCK_RENDERER_VERSION: "1.0.0";
10
+ export declare const HTML_RENDERER_ID: "html";
11
+ export declare const HTML_RENDERER_VERSION: "1.0.0";
12
+ export declare const MAX_EQUATION_TEX_LENGTH = 4000;
13
+ export declare const MAX_EQUATION_SOURCE_LENGTH = 4000;
14
+ export declare const equationSourceSchema: JsonValue;
15
+ export declare const equationDataSchema: JsonValue;
16
+ /**
17
+ * Translate readable §12 equation Source into pinned KaTeX TeX.
18
+ * Every alias maps to a KaTeX-native target; translation is pure
19
+ * string rewriting and KaTeX remains the final validator.
20
+ */
21
+ export declare function translateReadableToTex(source: string): string;
22
+ export interface EquationHeader {
23
+ readonly id?: string;
24
+ readonly number?: boolean;
25
+ readonly align?: "left" | "center" | "right";
26
+ readonly syntax: "readable" | "latex";
27
+ readonly diagnostics: readonly Diagnostic[];
28
+ }
29
+ export declare function parseEquationHeader(entries: readonly {
30
+ readonly key: string;
31
+ readonly value: string;
32
+ readonly range: SourceRange;
33
+ }[], _blockRange: SourceRange, sourceName: string | undefined): EquationHeader;
34
+ export declare class KatexCssError extends Error {
35
+ constructor(message?: string);
36
+ }
37
+ /**
38
+ * Pinned KaTeX stylesheet with every `@font-face` source replaced by an
39
+ * embedded woff2 data URI (OFL faces from the pinned KaTeX package).
40
+ * Operator glyphs such as the display integral only size correctly in
41
+ * their own faces; embedding keeps Artifacts self-contained with no
42
+ * font fetch while MathML stays screen-reader-only.
43
+ */
44
+ export declare function getKatexCss(): string;
45
+ export declare function renderEquationToHtml(tex: string): string;
46
+ export type EquationSanitizerFinding = "executable-markup" | "unsafe-url";
47
+ export declare class EquationSanitizerError extends Error {
48
+ readonly finding: EquationSanitizerFinding;
49
+ constructor(finding: EquationSanitizerFinding);
50
+ }
51
+ /**
52
+ * Final sanitization for KaTeX Fragments. KaTeX with trust:false never
53
+ * emits scripts or remote loads, so any executable markup or unsafe URL
54
+ * scheme is a compromise signal and fails closed instead of being
55
+ * rewritten. Clean output passes through byte-identical.
56
+ */
57
+ export declare function sanitizeKatexHtml(html: string): string;
58
+ export interface ValidatedEquation {
59
+ readonly block?: EquationBlock;
60
+ readonly diagnostics: readonly Diagnostic[];
61
+ }
62
+ export declare function validateEquationBody(options: {
63
+ readonly header: EquationHeader;
64
+ readonly body: string;
65
+ readonly bodyRanges: readonly SourceRange[];
66
+ readonly blockRange: SourceRange;
67
+ readonly sourceName: string | undefined;
68
+ readonly allowRawLatex: boolean;
69
+ readonly syntaxRange?: SourceRange;
70
+ }): ValidatedEquation;
71
+ export declare const equationPlugin: AzeBlockPlugin;
72
+ export declare const equationHtmlBlockRenderer: EquationBlockRenderer;
73
+ export declare const htmlRendererDescriptor: RendererDescriptor;
74
+ export declare function katexDependencyClosure(): Record<string, JsonValue>;