@blockml/bom 0.7.1 → 0.8.1

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 (34) hide show
  1. package/blocks/org/blockml/bml/bom/Library.bml +11 -4
  2. package/blocks/org/blockml/bml/bom/README.bml +1 -1
  3. package/blocks/org/blockml/bml/bom/api/ParseOptions.bml +1 -1
  4. package/blocks/org/blockml/bml/bom/block/BlockDefinition.bml +3 -3
  5. package/blocks/org/blockml/bml/bom/block/DocumentationReference.bml +3 -0
  6. package/blocks/org/blockml/bml/bom/capability/StripProvenance.bml +4 -4
  7. package/blocks/org/blockml/bml/bom/common/DiagnosticSeverity.bml +1 -1
  8. package/blocks/org/blockml/bml/bom/common/EmptyElementForm.bml +39 -0
  9. package/blocks/org/blockml/bml/bom/common/HostValue.bml +33 -0
  10. package/blocks/org/blockml/bml/bom/common/MetadataElementTrivia.bml +1 -1
  11. package/blocks/org/blockml/bml/bom/common/UnknownXmlNode.bml +3 -4
  12. package/blocks/org/blockml/bml/bom/common/XmlTrivia.bml +1 -1
  13. package/blocks/org/blockml/bml/bom/composition/BlockInstance.bml +1 -1
  14. package/blocks/org/blockml/bml/bom/documentation/AbstractionPrinciple.bml +1 -1
  15. package/blocks/org/blockml/bml/bom/documentation/ArchitectureOverview.bml +1 -1
  16. package/blocks/org/blockml/bml/bom/documentation/AuthoredSurfaceTable.bml +18 -14
  17. package/blocks/org/blockml/bml/bom/documentation/CalibratorExample.bml +1 -1
  18. package/blocks/org/blockml/bml/bom/documentation/CompositionDirectives.bml +1 -1
  19. package/blocks/org/blockml/bml/bom/documentation/Introduction.bml +2 -2
  20. package/blocks/org/blockml/bml/bom/documentation/LayerSeparation.bml +1 -1
  21. package/blocks/org/blockml/bml/bom/documentation/MemberValueSemantics.bml +1 -1
  22. package/blocks/org/blockml/bml/bom/documentation/PublicApi.bml +5 -5
  23. package/blocks/org/blockml/bml/bom/documentation/TypeExpressionsOverview.bml +1 -1
  24. package/blocks/org/blockml/bml/bom/documentation/ValidationResponsibilities.bml +3 -6
  25. package/blocks/org/blockml/bml/bom/member/MemberDefinitionBase.bml +1 -1
  26. package/blocks/org/blockml/bml/bom/value/LiteralValue.bml +3 -3
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/types/block-definition.d.ts +2 -1
  31. package/dist/types/block-definition.d.ts.map +1 -1
  32. package/dist/types/common.d.ts +3 -1
  33. package/dist/types/common.d.ts.map +1 -1
  34. package/package.json +2 -2
@@ -25,25 +25,29 @@
25
25
  xmlns:cap="org.blockml.bml.capability">
26
26
 
27
27
  <name>Library</name>
28
- <type>blockml:Library</type>
28
+ <type>bom:Library</type>
29
29
  <baseType>core:BlockLibrary</baseType>
30
30
  <is>The BlockML BOM Urmodell library catalog</is>
31
31
 
32
32
  <documentation>
33
+ # The BlockML BOM Urmodell library catalog
34
+
33
35
  Canonical BOM object model (Urmodell) for BlockML — TypeScript contracts in packages/bom/src/
34
36
  implement this library. Consumed by parser, serializer, validator, compiler, and LSP.
37
+
35
38
  Distinct from org.blockml.bml.definition.* (BML meta-model in @blockml/core).
39
+
36
40
  Membership is defined exclusively by this blocks list.
37
41
  </documentation>
38
42
 
39
- <version>0.7.1</version>
43
+ <version>0.8.1</version>
40
44
 
41
45
  <language>
42
46
  <English />
43
47
  </language>
44
48
 
45
49
  <properties>
46
- <description>
50
+ <description override="true">
47
51
  <value>BlockML BOM Urmodell library</value>
48
52
  </description>
49
53
  </properties>
@@ -60,7 +64,8 @@
60
64
  </composition>
61
65
  </dependencies>
62
66
  <blocks>
63
- <composition><bom:UrmodellType />
67
+ <composition>
68
+ <bom:UrmodellType />
64
69
  <bomcommon:SourceLocation />
65
70
  <bomcommon:SourceInfo />
66
71
  <bomcommon:XmlTrivia />
@@ -69,10 +74,12 @@
69
74
  <bomcommon:MetadataElementTrivia />
70
75
  <bomcommon:XmlNodeKind />
71
76
  <bomcommon:CharacterDataForm />
77
+ <bomcommon:EmptyElementForm />
72
78
  <bomcommon:XmlRenderingBlock />
73
79
  <bomcommon:XmlRenderingMember />
74
80
  <bomcommon:DiagnosticSeverity />
75
81
  <bomcommon:Diagnostic />
82
+ <bomcommon:HostValue />
76
83
  <bomvalue:Address />
77
84
  <bomvalue:MemberValue />
78
85
  <bomvalue:LiteralValue />
@@ -24,7 +24,7 @@
24
24
  xmlns:type="org.blockml.bml.type">
25
25
 
26
26
  <name>README</name>
27
- <type>blockml:README</type>
27
+ <type>bom:README</type>
28
28
  <baseType>core:ReadMe</baseType>
29
29
  <is>Reading entry for the BOM Urmodell library</is>
30
30
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  <properties>
34
34
  <filePath type="type:Text">
35
- <documentation>Default: "<memory>". (optional)</documentation>
35
+ <documentation>Default: "&lt;memory>". (optional)</documentation>
36
36
  </filePath>
37
37
  <continueOnError type="type:Boolean">
38
38
  <documentation>Default: true. (optional)</documentation>
@@ -126,7 +126,7 @@
126
126
  <documentation>xmlTrivia (optional). TS type: bomcommon:XmlTrivia.</documentation>
127
127
  </xmlTrivia>
128
128
  <memberSectionTrivia type="type:Text">
129
- <documentation>Partial<Record<MemberSectionName, XmlTrivia>>. (optional)</documentation>
129
+ <documentation>Partial&lt;Record&lt;MemberSectionName, XmlTrivia>>. (optional)</documentation>
130
130
  </memberSectionTrivia>
131
131
  <metadataTrivia type="bomcommon:MetadataElementTrivia">
132
132
  <documentation>metadataTrivia (optional). TS type: bomcommon:MetadataElementTrivia.</documentation>
@@ -135,13 +135,13 @@
135
135
  <documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
136
136
  </source>
137
137
  <typeSource type="bomcommon:SourceLocation">
138
- <documentation>Span of the type= attribute or <type> element value. (optional)</documentation>
138
+ <documentation>Span of the type= attribute or &lt;type> element value. (optional)</documentation>
139
139
  </typeSource>
140
140
  <baseTypeSource type="bomcommon:SourceLocation">
141
141
  <documentation>baseTypeSource (optional). TS type: bomcommon:SourceLocation.</documentation>
142
142
  </baseTypeSource>
143
143
  <unknownElements type="bomcommon:UnknownXmlNode[]">
144
- <documentation>Preserve-on-error unknown root children. (optional)</documentation>
144
+ <documentation>unknownElements (optional). TS type: bomcommon:UnknownXmlNode[].</documentation>
145
145
  </unknownElements>
146
146
  <unknownAttributes type="type:Text">
147
147
  <documentation>Record of unknown attributes on the grammar node. (optional)</documentation>
@@ -64,6 +64,9 @@
64
64
  <languageFqn type="type:Text">
65
65
  <documentation>languageFqn (optional). TS type: type:Text.</documentation>
66
66
  </languageFqn>
67
+ <authoredEmptyElementForm type="bomcommon:EmptyElementForm">
68
+ <documentation>authoredEmptyElementForm (optional). TS type: bomcommon:EmptyElementForm.</documentation>
69
+ </authoredEmptyElementForm>
67
70
  <source type="bomcommon:SourceLocation">
68
71
  <documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
69
72
  </source>
@@ -31,11 +31,11 @@
31
31
  <documentation>Removes sourceLocation, endLine, endColumn, SourceLocation-shaped fields (source, typeSource, baseTypeSource), and SourceInfo recursively. Preserves ImplementationBlock.source (implementation code body). Reference: packages/bom/src/equals.ts.</documentation>
32
32
 
33
33
  <properties>
34
- <input type="core:Any">
35
- <documentation>input (required). TS type: core:Any.</documentation>
34
+ <input type="bomcommon:HostValue">
35
+ <documentation>BML type gap: TS generic T. Deep-clone input. (required)</documentation>
36
36
  </input>
37
- <output type="core:Any">
38
- <documentation>output (required). TS type: core:Any.</documentation>
37
+ <output type="bomcommon:HostValue">
38
+ <documentation>BML type gap: TS generic T. Deep-clone without provenance. (required)</documentation>
39
39
  </output>
40
40
  </properties>
41
41
 
@@ -28,7 +28,7 @@
28
28
  <baseType>bom:UrmodellType</baseType>
29
29
  <is>Compiler diagnostic severity</is>
30
30
 
31
- <documentation>String-literal union: "error" | "warning" | "info". Distinct from org.blockml.bml.core.Diagnostic BML branch.</documentation>
31
+ <documentation>String-literal union: "error" | "warning" | "info" | "recommendation". Distinct from org.blockml.bml.core.Diagnostic BML branch.</documentation>
32
32
 
33
33
  <properties>
34
34
  <value type="type:Text">
@@ -0,0 +1,39 @@
1
+ <!--
2
+ BOM Urmodell — EmptyElementForm
3
+ FQN: org.blockml.bml.bom.common.EmptyElementForm
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>EmptyElementForm</name>
27
+ <type>bomcommon:EmptyElementForm</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>Authored empty-element form (paired vs self-closing)</is>
30
+
31
+ <documentation>String-literal union: "selfClosing" | "paired". Recorded on empty elements such as documentation see references.</documentation>
32
+
33
+ <properties>
34
+ <value type="type:Text">
35
+ <documentation>value (required). TS type: type:Text.</documentation>
36
+ </value>
37
+ </properties>
38
+
39
+ </block>
@@ -0,0 +1,33 @@
1
+ <!--
2
+ BOM Urmodell — HostValue
3
+ FQN: org.blockml.bml.bom.common.HostValue
4
+ -->
5
+ <block
6
+ xmlns="http://blockml.org/bml"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
+ "
10
+ xmlns:blockml="org.blockml.bml"
11
+ xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
14
+ xmlns:bomcap="org.blockml.bml.bom.capability"
15
+ xmlns:bomcommon="org.blockml.bml.bom.common"
16
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
17
+ xmlns:bomdoc="org.blockml.bml.bom.document"
18
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
19
+ xmlns:bommember="org.blockml.bml.bom.member"
20
+ xmlns:bomtype="org.blockml.bml.bom.type"
21
+ xmlns:bomvalue="org.blockml.bml.bom.value"
22
+ xmlns:core="org.blockml.bml.core"
23
+ xmlns:def="org.blockml.bml.definition"
24
+ xmlns:type="org.blockml.bml.type">
25
+
26
+ <name>HostValue</name>
27
+ <type>bomcommon:HostValue</type>
28
+ <baseType>bom:UrmodellType</baseType>
29
+ <is>Opaque host value for provenance-stripping</is>
30
+
31
+ <documentation>BML type gap: stands for TypeScript generic T / unknown. Deep-clone of any BOM-shaped graph; Core has no host-value type.</documentation>
32
+
33
+ </block>
@@ -32,7 +32,7 @@
32
32
 
33
33
  <properties>
34
34
  <entries type="bomcommon:XmlTrivia">
35
- <documentation>Record<string, XmlTrivia>. (optional)</documentation>
35
+ <documentation>Record&lt;string, XmlTrivia>. (optional)</documentation>
36
36
  </entries>
37
37
  </properties>
38
38
 
@@ -28,21 +28,20 @@
28
28
  <baseType>bom:UrmodellType</baseType>
29
29
  <is>Preserve-on-error residual for an unknown authored XML element</is>
30
30
 
31
- <documentation>Stored when a structural BML error is reported so Format/LSP/serialize
32
- can roundtrip the authored construct instead of dropping it.</documentation>
31
+ <documentation>Stored when a structural BML error is reported so Format/LSP/serialize can roundtrip the authored construct.</documentation>
33
32
 
34
33
  <properties>
35
34
  <localName type="type:Text">
36
35
  <documentation>localName (required). TS type: type:Text.</documentation>
37
36
  </localName>
38
37
  <prefix type="type:Text">
39
- <documentation>XML prefix when authored with a colon. (optional)</documentation>
38
+ <documentation>prefix (optional). TS type: type:Text.</documentation>
40
39
  </prefix>
41
40
  <attributes type="type:Text">
42
41
  <documentation>Record of authored attribute name → value. (required)</documentation>
43
42
  </attributes>
44
43
  <innerXml type="type:Text">
45
- <documentation>Serialized inner XML of the element when it has children or text. (optional)</documentation>
44
+ <documentation>innerXml (optional). TS type: type:Text.</documentation>
46
45
  </innerXml>
47
46
  <source type="bomcommon:SourceLocation">
48
47
  <documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
@@ -28,7 +28,7 @@
28
28
  <baseType>bom:UrmodellType</baseType>
29
29
  <is>XML comment trivia bound to an element (B11)</is>
30
30
 
31
- <documentation>Comment bodies only — without <!-- / -->. Bound to the following XML element.</documentation>
31
+ <documentation><![CDATA[Comment bodies only — without <!-- / -->. Bound to the following XML element.]]></documentation>
32
32
 
33
33
  <properties>
34
34
  <leadingComments type="type:Text[]">
@@ -56,7 +56,7 @@
56
56
  <documentation>namespace (optional). TS type: type:Text.</documentation>
57
57
  </namespace>
58
58
  <memberValues type="type:Text">
59
- <documentation>Record<string, MemberValue>. (required)</documentation>
59
+ <documentation>Record&lt;string, MemberValue>. (required)</documentation>
60
60
  </memberValues>
61
61
  <aggregationCompositions type="bomcomp:InstanceAggregationComposition[]">
62
62
  <documentation>aggregationCompositions (optional). TS type: bomcomp:InstanceAggregationComposition[].</documentation>
@@ -40,7 +40,7 @@
40
40
  BML → BOM → BML must always be possible.</documentation>
41
41
 
42
42
  <references>
43
- <see type="bomdocumentation:AuthoredSurfaceTable" relation="ReadNext"></see>
43
+ <see type="bomdocumentation:AuthoredSurfaceTable" relation="ReadNext" />
44
44
  </references>
45
45
 
46
46
  </block>
@@ -43,7 +43,7 @@
43
43
  representation after parse is implementation freedom.</documentation>
44
44
 
45
45
  <references>
46
- <see type="bomdocumentation:AbstractionPrinciple" relation="ReadNext"></see>
46
+ <see type="bomdocumentation:AbstractionPrinciple" relation="ReadNext" />
47
47
  </references>
48
48
 
49
49
  </block>
@@ -29,19 +29,23 @@
29
29
  <baseType>core:Documentation</baseType>
30
30
  <is>What BOM stores vs what downstream interprets</is>
31
31
 
32
- <documentation>bml:each / bml:if / bml:with → directives[] unexpanded → Renderer expands
33
- xmlns / xmlns:prefix SourceInfo.namespaceBindings 1:1 authored → Serializer QName emit (B21)
34
- xsi:schemaLocation / xsi:noNamespaceSchemaLocation → SourceInfo (B25) → re-emit on root
35
- bml:xml xmlRendering block+member NOT directives[] → Serializer, FatBlock, XSD
36
- element|attribute dual placementauthoredPlacement (D9)MUST roundtrip authored form
37
- Text vs CDATAauthoredCharacterDataForm (D8) → emit CDATA when needed or authored
38
- Literal syntax [5,5,6] vs {x:5,…} LiteralValue authored form Renderer serializes
39
- ${ expr }ExpressionValue { raw } AST via parseExpression(), not evaluated
40
- aggregations declarationAggregationDefinition declared only TypeRegistry metadata
41
- composition childrenCompositionNode tree → Renderer assembly patterns
42
- baseType FQNstring reference TypeRegistry effective members
43
- Preset reference FQN::idunmerged stringRenderer preset merge
44
- CapabilitiesCapabilityDefinition in BOM → Renderer interprets (not invoked at parse)
45
- XML commentsXmlTrivia on following element (B11) → Serializer re-emits</documentation>
32
+ <documentation>
33
+ # What BOM stores vs what downstream interprets
34
+
35
+ - bml:each / bml:if / bml:with directives[] unexpanded Renderer expands
36
+ - xmlns / xmlns:prefix SourceInfo.namespaceBindings 1:1 authored Serializer QName emit (B21)
37
+ - xsi:schemaLocation / xsi:noNamespaceSchemaLocation SourceInfo (B25) → re-emit on root
38
+ - bml:xml xmlRendering block+member NOT directives[]Serializer, FatBlock, XSD
39
+ - element|attribute dual placement authoredPlacement (D9) MUST roundtrip authored form
40
+ - Text vs CDATA authoredCharacterDataForm (D8)emit CDATA when needed or authored
41
+ - Literal syntax [5,5,6] vs {x:5,…} LiteralValue authored form → Renderer serializes
42
+ - ${ expr } ExpressionValue { raw } AST via parseExpression(), not evaluated
43
+ - aggregations declarationAggregationDefinition declared only TypeRegistry metadata
44
+ - composition children CompositionNode tree → Renderer assembly patterns
45
+ - baseType FQN string reference TypeRegistry effective members
46
+ - Preset reference FQN::id → unmerged string → Renderer preset merge
47
+ - Capabilities → CapabilityDefinition in BOM → Renderer interprets (not invoked at parse)
48
+ - XML comments → XmlTrivia on following element (B11) → Serializer re-emits
49
+ </documentation>
46
50
 
47
51
  </block>
@@ -47,7 +47,7 @@
47
47
  Inherited native properties not in members[] — validator uses resolveEffectiveMembers().</documentation>
48
48
 
49
49
  <references>
50
- <see type="bomdoc:BomDocument" relation="ExampleOf"></see>
50
+ <see type="bomdoc:BomDocument" relation="ExampleOf" />
51
51
  </references>
52
52
 
53
53
  </block>
@@ -39,7 +39,7 @@
39
39
  Omitted bml:id stored absent — parser does not assign auto-IDs.</documentation>
40
40
 
41
41
  <references>
42
- <see type="bomcomp:DirectiveAttribute" relation="Defines"></see>
42
+ <see type="bomcomp:DirectiveAttribute" relation="Defines" />
43
43
  </references>
44
44
 
45
45
  </block>
@@ -43,8 +43,8 @@
43
43
  • Expression AST — 10_expression_language.md</documentation>
44
44
 
45
45
  <references>
46
- <see type="bomdocumentation:LayerSeparation" relation="ReadNext"></see>
47
- <see type="bomdocumentation:ArchitectureOverview" relation="SeeAlso"></see>
46
+ <see type="bomdocumentation:LayerSeparation" relation="ReadNext" />
47
+ <see type="bomdocumentation:ArchitectureOverview" relation="SeeAlso" />
48
48
  </references>
49
49
 
50
50
  </block>
@@ -41,7 +41,7 @@
41
41
  describes the parser output shape. See 19_definition_blocks_and_bml_xml.md.</documentation>
42
42
 
43
43
  <references>
44
- <see type="def:BlockDefinition" relation="SeeAlso"></see>
44
+ <see type="def:BlockDefinition" relation="SeeAlso" />
45
45
  </references>
46
46
 
47
47
  </block>
@@ -42,7 +42,7 @@
42
42
  Preset/config merge copies into render-time view — never writes references back to BomDocument.</documentation>
43
43
 
44
44
  <references>
45
- <see type="bomvalue:MemberValue" relation="Defines"></see>
45
+ <see type="bomvalue:MemberValue" relation="Defines" />
46
46
  </references>
47
47
 
48
48
  </block>
@@ -29,7 +29,7 @@
29
29
  <baseType>core:Documentation</baseType>
30
30
  <is>Shared parse/serialize/validate results (B26 + Stage 2)</is>
31
31
 
32
- <documentation>ParseResult: document (BomDocument | null), diagnostics[], success (false if any error).
32
+ <documentation><![CDATA[ParseResult: document (BomDocument | null), diagnostics[], success (false if any error).
33
33
 
34
34
  SerializeResult: text (string | null), diagnostics[], success.
35
35
 
@@ -48,12 +48,12 @@
48
48
  Drops SourceLocation-shaped fields such as typeSource/baseTypeSource.
49
49
  Preserves ImplementationBlock.source (code body).
50
50
 
51
- Sync only. No throw on recoverable diagnostics. Diagnostic distinct from org.blockml.bml.core.Diagnostic.</documentation>
51
+ Sync only. No throw on recoverable diagnostics. Diagnostic distinct from org.blockml.bml.core.Diagnostic.]]></documentation>
52
52
 
53
53
  <references>
54
- <see type="bomapi:ParseResult" relation="Defines"></see>
55
- <see type="bomapi:ValidateResult" relation="Defines"></see>
56
- <see type="bomcap:BomEquals" relation="Defines"></see>
54
+ <see type="bomapi:ParseResult" relation="Defines" />
55
+ <see type="bomapi:ValidateResult" relation="Defines" />
56
+ <see type="bomcap:BomEquals" relation="Defines" />
57
57
  </references>
58
58
 
59
59
  </block>
@@ -42,7 +42,7 @@
42
42
  not stored in Canonical BOM.</documentation>
43
43
 
44
44
  <references>
45
- <see type="bomtype:TypeExpression" relation="Defines"></see>
45
+ <see type="bomtype:TypeExpression" relation="Defines" />
46
46
  </references>
47
47
 
48
48
  </block>
@@ -40,15 +40,12 @@
40
40
  preset properties exist; property value cycles; basePresets resolve without cycles;
41
41
  contracts merge order; validateConstraints after resolveEffectiveMembers;
42
42
  readOnly enforcement (BML_READONLY_MEMBER_WRITE); library blocks/deps resolve;
43
- no outer library re-export from inner library (BML_LIBRARY_NESTING_VIOLATION);
44
- every type FQN in the registry (BML_UNKNOWN_TYPE); instance memberValues keys
45
- exist on effective members (BML_UNKNOWN_PROPERTY error).
43
+ no outer library re-export from inner library (BML_LIBRARY_NESTING_VIOLATION).
46
44
 
47
- Validator does NOT expand directives, assign auto-IDs, or interpret aggregations.
48
- Structural unknown Gerüst tags are parser BML_UNKNOWN_ELEMENT, not this checklist.</documentation>
45
+ Validator does NOT expand directives, assign auto-IDs, or interpret aggregations.</documentation>
49
46
 
50
47
  <references>
51
- <see type="bomdocumentation:RelatedDiagnostics" relation="SeeAlso"></see>
48
+ <see type="bomdocumentation:RelatedDiagnostics" relation="SeeAlso" />
52
49
  </references>
53
50
 
54
51
  </block>
@@ -89,7 +89,7 @@
89
89
  <documentation>Span of the type= attribute value (use-site for type diagnostics). (optional)</documentation>
90
90
  </typeSource>
91
91
  <unknownElements type="bomcommon:UnknownXmlNode[]">
92
- <documentation>Preserve-on-error unknown children on this member. (optional)</documentation>
92
+ <documentation>unknownElements (optional). TS type: bomcommon:UnknownXmlNode[].</documentation>
93
93
  </unknownElements>
94
94
  <unknownAttributes type="type:Text">
95
95
  <documentation>Record of unknown attributes on this member. (optional)</documentation>
@@ -28,15 +28,15 @@
28
28
  <baseType>bomvalue:MemberValue</baseType>
29
29
  <is>Authored literal member value</is>
30
30
 
31
- <documentation>value field is opaque (unknown) — MUST NOT be normalized at parse time (lossless roundtrip).</documentation>
31
+ <documentation>value field is a primitive union approximation of TS unknown — MUST NOT be normalized at parse time (lossless roundtrip). Objects/arrays remain a BML type gap.</documentation>
32
32
 
33
33
  <properties>
34
34
  <kind type="type:Text">
35
35
  <documentation>kind (required). TS type: type:Text.</documentation>
36
36
  <value>literal</value>
37
37
  </kind>
38
- <value type="core:Any">
39
- <documentation>Authored value exactly as in BML opaque. (required)</documentation>
38
+ <value type="type:Text | type:Integer | type:Decimal | type:Boolean">
39
+ <documentation>BML type gap: TS unknown (authored literal, including objects/arrays). Union covers primitive cases only. (required)</documentation>
40
40
  </value>
41
41
  <typeFqn type="type:Text">
42
42
  <documentation>typeFqn (required). TS type: type:Text.</documentation>
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { SourceLocation, SourceInfo, XmlTrivia, UnknownXmlNode, MemberSectionName, MetadataElementTrivia, XmlNodeKind, CharacterDataForm, XmlRenderingBlock, XmlRenderingMember, DiagnosticSeverity, Diagnostic, } from "./types/common.js";
1
+ export type { SourceLocation, SourceInfo, XmlTrivia, UnknownXmlNode, MemberSectionName, MetadataElementTrivia, XmlNodeKind, CharacterDataForm, EmptyElementForm, XmlRenderingBlock, XmlRenderingMember, DiagnosticSeverity, Diagnostic, } from "./types/common.js";
2
2
  export type { BomDocument } from "./types/document.js";
3
3
  export type { TypeReferenceEntityInstance, GenericType, BlockDefinition, KeywordEntry, DocumentationProseEntry, AliasEntry, ChangelogEntry, DocumentationExample, DocumentationReference, } from "./types/block-definition.js";
4
4
  export type { TypeExpression, TypeDescriptor, Multiplicity, InstanceConfiguration, NamedTypeReference, UnionTypeExpression, GroupedTypeExpression, GenericParameterReference, SelfTypeReference, AnonymousStructType, StructField, } from "./types/type-expression.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EACV,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EACV,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyFA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0FA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CharacterDataForm, MetadataElementTrivia, MemberSectionName, SourceLocation, UnknownXmlNode, XmlRenderingBlock, XmlTrivia } from "./common.js";
1
+ import type { CharacterDataForm, EmptyElementForm, MetadataElementTrivia, MemberSectionName, SourceLocation, UnknownXmlNode, XmlRenderingBlock, XmlTrivia } from "./common.js";
2
2
  import type { BlockInstance } from "./composition.js";
3
3
  import type { MemberDefinition } from "./member-definition.js";
4
4
  import type { CompositionTemplate } from "./composition.js";
@@ -159,6 +159,7 @@ export interface DocumentationReference {
159
159
  relationFqn?: string;
160
160
  context: string;
161
161
  languageFqn?: string;
162
+ authoredEmptyElementForm?: EmptyElementForm;
162
163
  source?: SourceLocation;
163
164
  }
164
165
  //# sourceMappingURL=block-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-definition.d.ts","sourceRoot":"","sources":["../../src/types/block-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-definition.d.ts","sourceRoot":"","sources":["../../src/types/block-definition.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export type MetadataElementTrivia = Record<string, XmlTrivia>;
45
45
  export type XmlNodeKind = "attribute" | "element" | "text";
46
46
  /** How host-element character data appeared in source when placement is `text` (D8). */
47
47
  export type CharacterDataForm = "text" | "cdata";
48
+ /** How an empty XML element was authored (paired vs self-closing). */
49
+ export type EmptyElementForm = "selfClosing" | "paired";
48
50
  /** Block-level `<bml:xml>` body — lossless. */
49
51
  export interface XmlRenderingBlock {
50
52
  raw: string;
@@ -57,7 +59,7 @@ export interface XmlRenderingMember {
57
59
  authoredPlacement?: XmlNodeKind;
58
60
  authoredCharacterDataForm?: CharacterDataForm;
59
61
  }
60
- export type DiagnosticSeverity = "error" | "warning" | "info";
62
+ export type DiagnosticSeverity = "error" | "warning" | "info" | "recommendation";
61
63
  /** Compiler result diagnostic — distinct from org.blockml.bml.core.Diagnostic BML branch. */
62
64
  export interface Diagnostic {
63
65
  severity: DiagnosticSeverity;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,CAAC;AAEnB,8CAA8C;AAC9C,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,6FAA6F;AAC7F,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,CAAC;AAEnB,8CAA8C;AAC9C,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,QAAQ,CAAC;AAExD,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEjF,6FAA6F;AAC7F,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockml/bom",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "description": "BlockML BOM (Urmodell) TypeScript contracts — ParseResult, Diagnostic, bomEquals",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  "test": "vitest run packages/bom/test"
33
33
  },
34
34
  "dependencies": {
35
- "@blockml/core": "^1.0.5"
35
+ "@blockml/core": "^1.0.6"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=20"