@openuji/speculator 0.5.3 → 0.5.4

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 (126) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/parse/__tests__/html-in-markdown.test.d.ts +2 -0
  6. package/dist/parse/__tests__/html-in-markdown.test.d.ts.map +1 -0
  7. package/dist/parse/__tests__/html-in-markdown.test.js +83 -0
  8. package/dist/parse/__tests__/html-in-markdown.test.js.map +1 -0
  9. package/dist/parse/__tests__/pipeline.test.js +1 -8
  10. package/dist/parse/__tests__/pipeline.test.js.map +1 -1
  11. package/dist/parse/__tests__/shorthands.test.d.ts +5 -0
  12. package/dist/parse/__tests__/shorthands.test.d.ts.map +1 -0
  13. package/dist/parse/__tests__/shorthands.test.js +96 -0
  14. package/dist/parse/__tests__/shorthands.test.js.map +1 -0
  15. package/dist/parse/assembler.d.ts.map +1 -1
  16. package/dist/parse/assembler.js +18 -0
  17. package/dist/parse/assembler.js.map +1 -1
  18. package/dist/parse/html/InlinesHtmlParser.d.ts.map +1 -1
  19. package/dist/parse/html/InlinesHtmlParser.js +11 -1
  20. package/dist/parse/html/InlinesHtmlParser.js.map +1 -1
  21. package/dist/parse/html/parser.d.ts +1 -12
  22. package/dist/parse/html/parser.d.ts.map +1 -1
  23. package/dist/parse/html/parser.js +15 -47
  24. package/dist/parse/html/parser.js.map +1 -1
  25. package/dist/parse/index.d.ts +1 -1
  26. package/dist/parse/index.d.ts.map +1 -1
  27. package/dist/parse/index.js.map +1 -1
  28. package/dist/parse/markdown/HtmlBlockMarkdownParser.d.ts +13 -0
  29. package/dist/parse/markdown/HtmlBlockMarkdownParser.d.ts.map +1 -0
  30. package/dist/parse/markdown/HtmlBlockMarkdownParser.js +61 -0
  31. package/dist/parse/markdown/HtmlBlockMarkdownParser.js.map +1 -0
  32. package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts +12 -0
  33. package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts.map +1 -0
  34. package/dist/parse/markdown/HtmlInlinesMarkdownParser.js +187 -0
  35. package/dist/parse/markdown/HtmlInlinesMarkdownParser.js.map +1 -0
  36. package/dist/parse/markdown/HtmlParagraphMarkdownParser.d.ts +15 -0
  37. package/dist/parse/markdown/HtmlParagraphMarkdownParser.d.ts.map +1 -0
  38. package/dist/parse/markdown/HtmlParagraphMarkdownParser.js +67 -0
  39. package/dist/parse/markdown/HtmlParagraphMarkdownParser.js.map +1 -0
  40. package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts +29 -0
  41. package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -0
  42. package/dist/parse/markdown/ShorthandsMarkdownParser.js +200 -0
  43. package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -0
  44. package/dist/parse/markdown/parser.d.ts +3 -14
  45. package/dist/parse/markdown/parser.d.ts.map +1 -1
  46. package/dist/parse/markdown/parser.js +72 -47
  47. package/dist/parse/markdown/parser.js.map +1 -1
  48. package/dist/parse/parsers.d.ts +3 -0
  49. package/dist/parse/parsers.d.ts.map +1 -1
  50. package/dist/parse/parsers.js +10 -0
  51. package/dist/parse/parsers.js.map +1 -1
  52. package/dist/parse/pipeline.d.ts.map +1 -1
  53. package/dist/parse/pipeline.js +8 -20
  54. package/dist/parse/pipeline.js.map +1 -1
  55. package/dist/parse/registry.d.ts +50 -91
  56. package/dist/parse/registry.d.ts.map +1 -1
  57. package/dist/parse/registry.js +39 -58
  58. package/dist/parse/registry.js.map +1 -1
  59. package/dist/parse/types.d.ts +1 -23
  60. package/dist/parse/types.d.ts.map +1 -1
  61. package/dist/parse/types.js.map +1 -1
  62. package/dist/parse/utils/hast-utils.d.ts +30 -0
  63. package/dist/parse/utils/hast-utils.d.ts.map +1 -0
  64. package/dist/parse/utils/hast-utils.js +94 -0
  65. package/dist/parse/utils/hast-utils.js.map +1 -0
  66. package/dist/pipeline/runner.d.ts.map +1 -1
  67. package/dist/pipeline/runner.js +16 -12
  68. package/dist/pipeline/runner.js.map +1 -1
  69. package/dist/postprocess/index.d.ts +1 -1
  70. package/dist/postprocess/index.d.ts.map +1 -1
  71. package/dist/postprocess/index.js +3 -3
  72. package/dist/postprocess/index.js.map +1 -1
  73. package/dist/postprocess/plugins/citation-resolve.d.ts +8 -0
  74. package/dist/postprocess/plugins/citation-resolve.d.ts.map +1 -0
  75. package/dist/postprocess/plugins/citation-resolve.js +33 -0
  76. package/dist/postprocess/plugins/citation-resolve.js.map +1 -0
  77. package/dist/preprocess/__tests__/pipeline.test.js +33 -45
  78. package/dist/preprocess/__tests__/pipeline.test.js.map +1 -1
  79. package/dist/preprocess/__tests__/resolver.test.js +38 -40
  80. package/dist/preprocess/__tests__/resolver.test.js.map +1 -1
  81. package/dist/preprocess/config/__tests__/rules.test.d.ts +2 -0
  82. package/dist/preprocess/config/__tests__/rules.test.d.ts.map +1 -0
  83. package/dist/preprocess/config/__tests__/rules.test.js +212 -0
  84. package/dist/preprocess/config/__tests__/rules.test.js.map +1 -0
  85. package/dist/preprocess/config/doc-config.js +1 -1
  86. package/dist/preprocess/config/doc-config.js.map +1 -1
  87. package/dist/preprocess/config/index.d.ts +3 -4
  88. package/dist/preprocess/config/index.d.ts.map +1 -1
  89. package/dist/preprocess/config/index.js +2 -2
  90. package/dist/preprocess/config/index.js.map +1 -1
  91. package/dist/preprocess/config/loader.d.ts +12 -48
  92. package/dist/preprocess/config/loader.d.ts.map +1 -1
  93. package/dist/preprocess/config/loader.js +23 -13
  94. package/dist/preprocess/config/loader.js.map +1 -1
  95. package/dist/preprocess/config/normalize.d.ts +11 -6
  96. package/dist/preprocess/config/normalize.d.ts.map +1 -1
  97. package/dist/preprocess/config/normalize.js +58 -8
  98. package/dist/preprocess/config/normalize.js.map +1 -1
  99. package/dist/preprocess/config/types.d.ts +57 -22
  100. package/dist/preprocess/config/types.d.ts.map +1 -1
  101. package/dist/preprocess/include/index.d.ts +1 -1
  102. package/dist/preprocess/include/index.d.ts.map +1 -1
  103. package/dist/preprocess/include/index.js +1 -1
  104. package/dist/preprocess/include/index.js.map +1 -1
  105. package/dist/preprocess/include/resolver.d.ts +14 -8
  106. package/dist/preprocess/include/resolver.d.ts.map +1 -1
  107. package/dist/preprocess/include/resolver.js +27 -18
  108. package/dist/preprocess/include/resolver.js.map +1 -1
  109. package/dist/preprocess/index.d.ts +6 -6
  110. package/dist/preprocess/index.d.ts.map +1 -1
  111. package/dist/preprocess/index.js +4 -4
  112. package/dist/preprocess/index.js.map +1 -1
  113. package/dist/preprocess/pipeline.d.ts +19 -16
  114. package/dist/preprocess/pipeline.d.ts.map +1 -1
  115. package/dist/preprocess/pipeline.js +43 -45
  116. package/dist/preprocess/pipeline.js.map +1 -1
  117. package/dist/preprocess/types.d.ts +21 -46
  118. package/dist/preprocess/types.d.ts.map +1 -1
  119. package/dist/preprocess/types.js +0 -6
  120. package/dist/preprocess/types.js.map +1 -1
  121. package/dist/types/ast.generated.d.ts +21 -2
  122. package/dist/types/ast.generated.d.ts.map +1 -1
  123. package/dist/types/ast.generated.js +1 -1
  124. package/dist/types/ast.generated.js.map +1 -1
  125. package/package.json +1 -1
  126. package/schema/spec-ast.schema.json +40 -0
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Shorthands Markdown Parser
3
+ *
4
+ * Detects ReSpec-like shorthands in text nodes and transforms them to Speculator AST nodes.
5
+ */
6
+ /**
7
+ * Registry of supported shorthands.
8
+ * This satisfies the requirement to track what shorthands are implemented.
9
+ */
10
+ export const SHORTHAND_REGISTRY = [
11
+ {
12
+ name: 'reference-expanded',
13
+ syntax: '[[[REF]]]',
14
+ description: 'Citation with full title',
15
+ pattern: /\[\[\[([^\]|]+)\]\]\]/g,
16
+ status: 'implemented',
17
+ handler: (match, ctx, node) => {
18
+ const result = {
19
+ type: 'cite',
20
+ key: match[1],
21
+ expanded: true,
22
+ };
23
+ const sourcePos = ctx.createSourcePos(node);
24
+ if (sourcePos)
25
+ result.sourcePos = sourcePos;
26
+ return result;
27
+ },
28
+ },
29
+ {
30
+ name: 'reference',
31
+ syntax: '[[REF]]',
32
+ description: 'Citation to a specification',
33
+ // Use a negative lookahead to ensure we don't match [[[ (which is reference-expanded)
34
+ pattern: /\[\[(?![[])(!|\?)?([^\]|]+)(?:\|([^\]]+))?\]\]/g,
35
+ status: 'implemented',
36
+ handler: (match, ctx, node) => {
37
+ const forced = match[1];
38
+ const key = match[2];
39
+ const result = {
40
+ type: 'cite',
41
+ key: key,
42
+ };
43
+ if (forced === '!')
44
+ result.forcedNormative = true;
45
+ if (forced === '?')
46
+ result.forcedInformative = true;
47
+ const sourcePos = ctx.createSourcePos(node);
48
+ if (sourcePos)
49
+ result.sourcePos = sourcePos;
50
+ return result;
51
+ },
52
+ },
53
+ {
54
+ name: 'concept',
55
+ syntax: '[=term=]',
56
+ description: 'Internal concept reference',
57
+ pattern: /\[=([^=|]+)(?:\|([^=]+))?=\]/g,
58
+ status: 'implemented',
59
+ handler: (match, ctx, node) => {
60
+ const term = match[1];
61
+ const alias = match[2];
62
+ const result = {
63
+ type: 'reference',
64
+ targetTerm: term,
65
+ children: alias
66
+ ? [{ type: 'text', value: alias }]
67
+ : [{ type: 'text', value: term }],
68
+ };
69
+ const sourcePos = ctx.createSourcePos(node);
70
+ if (sourcePos)
71
+ result.sourcePos = sourcePos;
72
+ return result;
73
+ },
74
+ },
75
+ {
76
+ name: 'variable',
77
+ syntax: '|variable|',
78
+ description: 'Algorithm variable',
79
+ pattern: /\|([^|:\s][^|:]*?)\|/g,
80
+ status: 'implemented',
81
+ handler: (match, ctx, node) => {
82
+ const name = match[1];
83
+ // const type = match[2]; // Type info could be added if schema supports it
84
+ const result = {
85
+ type: 'variable',
86
+ value: name,
87
+ };
88
+ const sourcePos = ctx.createSourcePos(node);
89
+ if (sourcePos)
90
+ result.sourcePos = sourcePos;
91
+ return result;
92
+ },
93
+ },
94
+ {
95
+ name: 'webidl',
96
+ syntax: '{{Identifier}}',
97
+ description: 'WebIDL interface reference',
98
+ pattern: /\{\{([^}]+)\}\}/g,
99
+ status: 'implemented',
100
+ handler: (match, ctx, node) => {
101
+ const result = {
102
+ type: 'reference',
103
+ targetTerm: match[1],
104
+ preferredType: 'idl',
105
+ children: [{ type: 'text', value: match[1] }],
106
+ };
107
+ const sourcePos = ctx.createSourcePos(node);
108
+ if (sourcePos)
109
+ result.sourcePos = sourcePos;
110
+ return result;
111
+ },
112
+ },
113
+ {
114
+ name: 'element',
115
+ syntax: '[^tag^]',
116
+ description: 'HTML/SVG element reference',
117
+ pattern: /\[\^([^\]]+)\^\]/g,
118
+ status: 'implemented',
119
+ handler: (match, ctx, node) => {
120
+ const result = {
121
+ type: 'reference',
122
+ targetTerm: match[1],
123
+ preferredType: 'element',
124
+ children: [{ type: 'text', value: match[1] }],
125
+ };
126
+ const sourcePos = ctx.createSourcePos(node);
127
+ if (sourcePos)
128
+ result.sourcePos = sourcePos;
129
+ return result;
130
+ },
131
+ },
132
+ ];
133
+ /**
134
+ * Markdown parser module for shorthands.
135
+ * Priority-based: it handles 'text' nodes and splits them into fragments.
136
+ */
137
+ export const ShorthandsMarkdownParser = {
138
+ name: 'ShorthandsMarkdownParser',
139
+ handles: ['text'],
140
+ order: 5, // High priority to catch shorthands before general text processing
141
+ handleInline(node, ctx) {
142
+ if (node.type !== 'text')
143
+ return null;
144
+ const textNode = node;
145
+ const content = textNode.value;
146
+ // Try to find the first shorthand match
147
+ let bestMatch = null;
148
+ for (const shorthand of SHORTHAND_REGISTRY) {
149
+ if (shorthand.status !== 'implemented')
150
+ continue;
151
+ shorthand.pattern.lastIndex = 0;
152
+ const match = shorthand.pattern.exec(content);
153
+ if (match) {
154
+ if (!bestMatch || match.index < bestMatch.start) {
155
+ bestMatch = {
156
+ start: match.index,
157
+ end: shorthand.pattern.lastIndex,
158
+ shorthand,
159
+ match,
160
+ };
161
+ }
162
+ }
163
+ }
164
+ // FALLBACK: If no shorthand matched, return standard text node
165
+ if (!bestMatch) {
166
+ const result = { type: 'text', value: content };
167
+ const sourcePos = ctx.createSourcePos(node);
168
+ if (sourcePos)
169
+ result.sourcePos = sourcePos;
170
+ return result;
171
+ }
172
+ // Split text into: [prefix] [shorthand] [suffix]
173
+ const prefix = content.substring(0, bestMatch.start);
174
+ const suffix = content.substring(bestMatch.end);
175
+ const nodes = [];
176
+ // 1. Prefix (if any)
177
+ if (prefix) {
178
+ const prefixNode = { type: 'text', value: prefix };
179
+ // Note: complex sourcePos mapping for fragments is omitted for simplicity
180
+ // in line with other parsers that don't do byte-perfect fragment tracking.
181
+ nodes.push(prefixNode);
182
+ }
183
+ // 2. Shorthand node
184
+ nodes.push(bestMatch.shorthand.handler(bestMatch.match, ctx, node));
185
+ // 3. Suffix (processed recursively to find more shorthands)
186
+ if (suffix) {
187
+ const suffixNode = { type: 'text', value: suffix };
188
+ const suffixResult = this.handleInline(suffixNode, ctx);
189
+ if (Array.isArray(suffixResult)) {
190
+ nodes.push(...suffixResult);
191
+ }
192
+ else if (suffixResult) {
193
+ nodes.push(suffixResult);
194
+ // No need to check for null here as we know we'd return a text node at least
195
+ }
196
+ }
197
+ return nodes;
198
+ },
199
+ };
200
+ //# sourceMappingURL=ShorthandsMarkdownParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShorthandsMarkdownParser.js","sourceRoot":"","sources":["../../../src/parse/markdown/ShorthandsMarkdownParser.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,9 @@
5
5
  * using the modular handler registry.
6
6
  */
7
7
  import type { SourceUnit } from '#src/preprocess/types';
8
- import type { UnitParser, ParseDiagnostic } from '#src/parse/types';
8
+ import type { UnitParser } from '#src/parse/types';
9
9
  import type { Section, Block } from '#src/types/ast.generated';
10
10
  import { ParseHandlerRegistry } from '#src/parse/registry';
11
- /**
12
- * Parser result including diagnostics
13
- */
14
- export interface MarkdownParseResult {
15
- blocks: (Section | Block)[];
16
- diagnostics: ParseDiagnostic[];
17
- }
18
11
  /**
19
12
  * Markdown unit parser implementation using handler registry
20
13
  */
@@ -27,20 +20,16 @@ export declare class MarkdownUnitParser implements UnitParser {
27
20
  * Parse markdown unit to AST blocks
28
21
  */
29
22
  parse(unit: SourceUnit): (Section | Block)[];
30
- /**
31
- * Parse markdown unit to AST blocks with diagnostics
32
- */
33
- parseWithDiagnostics(unit: SourceUnit): MarkdownParseResult;
34
23
  /**
35
24
  * Create parse context for handlers
36
25
  */
37
26
  private createContext;
38
27
  /**
39
- * Transform mdast node to Speculator block
28
+ * Transform mdast node to Speculator block(s) or section(s)
40
29
  */
41
30
  private transformBlock;
42
31
  /**
43
- * Transform mdast inline node to Speculator inline
32
+ * Transform mdast inline node to Speculator inline(s)
44
33
  */
45
34
  private transformInline;
46
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/parse/markdown/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EAGR,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,oBAAoB,EAIvB,MAAM,qBAAqB,CAAC;AA6B7B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5B,WAAW,EAAE,eAAe,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACjD,QAAQ,CAAC,MAAM,EAAG,UAAU,CAAU;IAEtC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,QAAQ,GAAE,oBAAsC;IAI5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;IAI5C;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB;IAmB3D;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAKlC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/parse/markdown/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EAGR,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,oBAAoB,EAIvB,MAAM,qBAAqB,CAAC;AA8B7B;;GAEG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACjD,QAAQ,CAAC,MAAM,EAAG,UAAU,CAAU;IAEtC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,QAAQ,GAAE,oBAAsC;IAI5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;IAgB5C;;OAEG;IACH,OAAO,CAAC,aAAa;IA0CrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAgBlC"}
@@ -46,89 +46,114 @@ export class MarkdownUnitParser {
46
46
  * Parse markdown unit to AST blocks
47
47
  */
48
48
  parse(unit) {
49
- return this.parseWithDiagnostics(unit).blocks;
50
- }
51
- /**
52
- * Parse markdown unit to AST blocks with diagnostics
53
- */
54
- parseWithDiagnostics(unit) {
55
49
  const tree = this.processor.parse(unit.content);
56
- const diagnostics = [];
57
50
  // Create context for handlers
58
- const ctx = this.createContext(unit, diagnostics);
51
+ const ctx = this.createContext(unit);
59
52
  const blocks = [];
60
53
  for (const child of tree.children) {
61
- const block = this.transformBlock(child, ctx);
62
- if (block) {
63
- blocks.push(block);
64
- }
54
+ const blocksResult = this.transformBlock(child, ctx);
55
+ blocks.push(...blocksResult);
65
56
  }
66
- return { blocks, diagnostics };
57
+ return blocks;
67
58
  }
68
59
  /**
69
60
  * Create parse context for handlers
70
61
  */
71
- createContext(unit, diagnostics) {
62
+ createContext(unit) {
72
63
  // eslint-disable-next-line @typescript-eslint/no-this-alias
73
64
  const self = this;
74
65
  return {
75
66
  unit,
76
67
  createSourcePos: (node) => createSourcePos(unit, node),
77
- transformInlineChildren: (children) => self.transformInlineChildren(children, unit, diagnostics),
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ transformInlineChildren: (children) => self.transformInlineChildren(children, unit),
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
71
  transformBlockChildren: (children) => {
79
72
  const results = [];
80
- const ctx = self.createContext(unit, diagnostics);
73
+ const ctx = self.createContext(unit);
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
75
  for (const child of children) {
82
- const block = self.transformBlock(child, ctx);
83
- if (block) {
84
- results.push(block);
85
- }
76
+ const blocksResult = self.transformBlock(child, ctx);
77
+ results.push(...blocksResult);
86
78
  }
87
79
  return results;
88
80
  },
89
- emitDiagnostic: (diagnostic) => {
90
- diagnostics.push({ ...diagnostic, file: unit.file });
81
+ getTextContent: (element) => {
82
+ // Return text content logic (duplicated or imported)
83
+ let text = '';
84
+ for (const child of element.children) {
85
+ if (child.type === 'text') {
86
+ text += child.value;
87
+ }
88
+ else if (child.type === 'element') {
89
+ text += self.createContext(unit).getTextContent(child);
90
+ }
91
+ }
92
+ return text;
91
93
  },
92
- // HTML-specific methods - no-op for markdown
93
- getTextContent: (_element) => '',
94
- getAttr: (_element, _name) => undefined,
94
+ getAttr: (element, name) => {
95
+ const val = element.properties?.[name];
96
+ if (typeof val === 'string')
97
+ return val;
98
+ if (Array.isArray(val))
99
+ return val.join(' ');
100
+ return undefined;
101
+ },
102
+ registry: self.registry,
95
103
  };
96
104
  }
97
105
  /**
98
- * Transform mdast node to Speculator block
106
+ * Transform mdast node to Speculator block(s) or section(s)
99
107
  */
100
108
  transformBlock(node, ctx) {
101
- // Look up handler in registry
102
- const handler = this.registry.getMdBlockHandler(node.type);
103
- if (handler?.handleBlock) {
104
- return handler.handleBlock(node, ctx);
109
+ // Look up handlers in registry
110
+ const handlers = this.registry.getMdBlockHandlers(node.type);
111
+ for (const handler of handlers) {
112
+ if (handler.handleBlock) {
113
+ const result = handler.handleBlock(node, ctx);
114
+ if (result !== null) {
115
+ if (Array.isArray(result))
116
+ return result;
117
+ return [result];
118
+ }
119
+ }
105
120
  }
106
- return null;
121
+ return [];
107
122
  }
108
123
  /**
109
- * Transform mdast inline node to Speculator inline
124
+ * Transform mdast inline node to Speculator inline(s)
110
125
  */
111
- transformInline(node, unit, diagnostics) {
112
- const ctx = this.createContext(unit, diagnostics);
113
- // Look up handler in registry
114
- const handler = this.registry.getMdInlineHandler(node.type);
115
- if (handler?.handleInline) {
116
- const result = handler.handleInline(node, ctx);
117
- if (result === null)
118
- return null;
119
- if (Array.isArray(result))
120
- return result.length === 1 ? result[0] : null;
121
- return result;
126
+ transformInline(node, unit) {
127
+ const ctx = this.createContext(unit);
128
+ // Look up handlers in registry
129
+ const handlers = this.registry.getMdInlineHandlers(node.type);
130
+ for (const handler of handlers) {
131
+ if (handler.handleInline) {
132
+ const result = handler.handleInline(node, ctx);
133
+ if (result !== null) {
134
+ return result;
135
+ }
136
+ }
122
137
  }
123
138
  return null;
124
139
  }
125
140
  /**
126
141
  * Transform array of inline children
127
142
  */
128
- transformInlineChildren(children, unit, diagnostics) {
129
- return children
130
- .map(child => this.transformInline(child, unit, diagnostics))
131
- .filter((n) => n !== null);
143
+ transformInlineChildren(children, unit) {
144
+ const results = [];
145
+ for (const child of children) {
146
+ const result = this.transformInline(child, unit);
147
+ if (result === null)
148
+ continue;
149
+ if (Array.isArray(result)) {
150
+ results.push(...result);
151
+ }
152
+ else {
153
+ results.push(result);
154
+ }
155
+ }
156
+ return results;
132
157
  }
133
158
  }
134
159
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parse/markdown/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parse/markdown/parser.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ export { CodeMarkdownParser } from './markdown/CodeMarkdownParser.js';
22
22
  export { BlockquoteMarkdownParser } from './markdown/BlockquoteMarkdownParser.js';
23
23
  export { TablesMarkdownParser } from './markdown/TablesMarkdownParser.js';
24
24
  export { InlinesMarkdownParser } from './markdown/InlinesMarkdownParser.js';
25
+ export { ShorthandsMarkdownParser } from './markdown/ShorthandsMarkdownParser.js';
26
+ export { HtmlParagraphMarkdownParser } from './markdown/HtmlParagraphMarkdownParser.js';
27
+ export { HtmlBlockMarkdownParser } from './markdown/HtmlBlockMarkdownParser.js';
25
28
  export { MiscMarkdownParser } from './markdown/MiscMarkdownParser.js';
26
29
  import type { HtmlParserModule, MarkdownParserModule } from './registry.js';
27
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/parse/parsers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAyBtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAgB7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAAoB,EAWrD,CAAC"}
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/parse/parsers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AA4BtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAgB7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAAoB,EAerD,CAAC"}
@@ -24,6 +24,9 @@ export { CodeMarkdownParser } from './markdown/CodeMarkdownParser.js';
24
24
  export { BlockquoteMarkdownParser } from './markdown/BlockquoteMarkdownParser.js';
25
25
  export { TablesMarkdownParser } from './markdown/TablesMarkdownParser.js';
26
26
  export { InlinesMarkdownParser } from './markdown/InlinesMarkdownParser.js';
27
+ export { ShorthandsMarkdownParser } from './markdown/ShorthandsMarkdownParser.js';
28
+ export { HtmlParagraphMarkdownParser } from './markdown/HtmlParagraphMarkdownParser.js';
29
+ export { HtmlBlockMarkdownParser } from './markdown/HtmlBlockMarkdownParser.js';
27
30
  export { MiscMarkdownParser } from './markdown/MiscMarkdownParser.js';
28
31
  // Import for aggregation
29
32
  import { HeadingsHtmlParser } from './html/HeadingsHtmlParser.js';
@@ -45,6 +48,9 @@ import { CodeMarkdownParser } from './markdown/CodeMarkdownParser.js';
45
48
  import { BlockquoteMarkdownParser } from './markdown/BlockquoteMarkdownParser.js';
46
49
  import { TablesMarkdownParser } from './markdown/TablesMarkdownParser.js';
47
50
  import { InlinesMarkdownParser } from './markdown/InlinesMarkdownParser.js';
51
+ import { ShorthandsMarkdownParser } from './markdown/ShorthandsMarkdownParser.js';
52
+ import { HtmlParagraphMarkdownParser } from './markdown/HtmlParagraphMarkdownParser.js';
53
+ import { HtmlBlockMarkdownParser } from './markdown/HtmlBlockMarkdownParser.js';
48
54
  import { MiscMarkdownParser } from './markdown/MiscMarkdownParser.js';
49
55
  /**
50
56
  * All core HTML parser modules in recommended registration order.
@@ -72,6 +78,10 @@ export const coreHtmlParsers = [
72
78
  * Lower order numbers are registered first (higher priority).
73
79
  */
74
80
  export const coreMarkdownParsers = [
81
+ // Shorthands and HTML (highest priority)
82
+ ShorthandsMarkdownParser, // order: 5
83
+ HtmlParagraphMarkdownParser, // order: 4
84
+ HtmlBlockMarkdownParser, // order: 4
75
85
  // Standard parsers
76
86
  HeadingsMarkdownParser, // order: 10
77
87
  ParagraphsMarkdownParser, // order: 10
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/parse/parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/parse/parsers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,0BAA0B;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,yBAAyB;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAItE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,4CAA4C;IAC5C,aAAa,EAAQ,WAAW;IAChC,cAAc,EAAO,WAAW;IAChC,eAAe,EAAM,WAAW;IAChC,mBAAmB;IACnB,kBAAkB,EAAG,YAAY;IACjC,kBAAkB,EAAG,YAAY;IACjC,oBAAoB,EAAC,YAAY;IACjC,eAAe,EAAM,YAAY;IACjC,cAAc,EAAO,YAAY;IACjC,oBAAoB,EAAC,YAAY;IACjC,gBAAgB,EAAK,YAAY;IACjC,iBAAiB,EAAI,YAAY;IACjC,oCAAoC;IACpC,cAAc,EAAO,YAAY;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACvD,yCAAyC;IACzC,wBAAwB,EAAM,WAAW;IACzC,2BAA2B,EAAG,WAAW;IACzC,uBAAuB,EAAO,WAAW;IACzC,mBAAmB;IACnB,sBAAsB,EAAG,YAAY;IACrC,wBAAwB,EAAC,YAAY;IACrC,mBAAmB,EAAM,YAAY;IACrC,kBAAkB,EAAO,YAAY;IACrC,wBAAwB,EAAC,YAAY;IACrC,oBAAoB,EAAK,YAAY;IACrC,qBAAqB,EAAI,YAAY;IACrC,oCAAoC;IACpC,kBAAkB,EAAO,YAAY;CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/parse/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAExF,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAIjF,OAAO,EAAE,oBAAoB,EAAmB,MAAM,qBAAqB,CAAC;AA4F5E;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,WAAW,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,oBAAoB,GAC/B,WAAW,CAGb;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,MAAM,GAAE,gBAAgB,CAAC,QAAQ,CAAM,GACxC,WAAW,CAEb"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/parse/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAExF,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIhE,OAAO,EAAE,oBAAoB,EAAmB,MAAM,qBAAqB,CAAC;AA8E5E;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,WAAW,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,oBAAoB,GAC/B,WAAW,CAGb;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,MAAM,GAAE,gBAAgB,CAAC,QAAQ,CAAM,GACxC,WAAW,CAEb"}
@@ -33,38 +33,28 @@ function getParser(parsers, format) {
33
33
  * Parse a single source unit
34
34
  */
35
35
  function parseUnit(unit, parsers) {
36
- const diagnostics = [];
37
36
  try {
38
37
  const parser = getParser(parsers, unit.format);
39
- const blocks = parser.parse(unit);
40
- return { blocks, diagnostics };
38
+ return parser.parse(unit);
41
39
  }
42
40
  catch (error) {
43
- diagnostics.push({
44
- severity: 'error',
45
- code: 'parse-error',
46
- message: `Failed to parse ${unit.file}: ${error instanceof Error ? error.message : String(error)}`,
47
- file: unit.file,
48
- });
49
- return { blocks: [], diagnostics };
41
+ // Fallback or error handling if needed, but for now just returning empty if parser fails
42
+ console.error(`Failed to parse ${unit.file}: ${error instanceof Error ? error.message : String(error)}`);
43
+ return [];
50
44
  }
51
45
  }
52
46
  /**
53
47
  * Internal parse implementation
54
48
  */
55
49
  function parseInternal(preprocessed, parsers) {
56
- const diagnostics = [];
57
50
  const allBlocks = [];
58
51
  // Parse each unit in order
59
52
  for (const unit of preprocessed.source.units) {
60
- const unitResult = parseUnit(unit, parsers);
61
- diagnostics.push(...unitResult.diagnostics);
62
- allBlocks.push(...unitResult.blocks);
53
+ const blocks = parseUnit(unit, parsers);
54
+ allBlocks.push(...blocks);
63
55
  }
64
- // Check for errors
65
- const hasErrors = diagnostics.some(d => d.severity === 'error');
66
- if (hasErrors && allBlocks.length === 0) {
67
- return { diagnostics, hasErrors };
56
+ if (allBlocks.length === 0) {
57
+ return {};
68
58
  }
69
59
  // Assemble document
70
60
  const document = assembleDocument(allBlocks, preprocessed.config, preprocessed.source.entryFile);
@@ -73,8 +63,6 @@ function parseInternal(preprocessed, parsers) {
73
63
  config: preprocessed.config,
74
64
  document,
75
65
  },
76
- diagnostics,
77
- hasErrors,
78
66
  };
79
67
  }
80
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/parse/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/parse/pipeline.ts"],"names":[],"mappings":"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"}