@blockml/framework 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 (79) hide show
  1. package/blocks/org/blockml/bml/framework/FrameworkType.bml +4 -1
  2. package/blocks/org/blockml/bml/framework/Library.bml +18 -3
  3. package/blocks/org/blockml/bml/framework/README.bml +1 -1
  4. package/blocks/org/blockml/bml/framework/capability/BootstrapFullProjectRegistry.bml +62 -0
  5. package/blocks/org/blockml/bml/framework/capability/BootstrapTypeRegistry.bml +5 -1
  6. package/blocks/org/blockml/bml/framework/capability/CollectBaseTypeChain.bml +4 -1
  7. package/blocks/org/blockml/bml/framework/capability/DefaultBootstrapPaths.bml +6 -3
  8. package/blocks/org/blockml/bml/framework/capability/ForkBom.bml +4 -1
  9. package/blocks/org/blockml/bml/framework/capability/GetExportedFqns.bml +22 -3
  10. package/blocks/org/blockml/bml/framework/capability/GetPropertyNumericValue.bml +4 -1
  11. package/blocks/org/blockml/bml/framework/capability/IsLiteralValue.bml +4 -1
  12. package/blocks/org/blockml/bml/framework/capability/MemberIdentityKey.bml +4 -1
  13. package/blocks/org/blockml/bml/framework/capability/ParseExpression.bml +4 -1
  14. package/blocks/org/blockml/bml/framework/capability/PeekLibraryTypeFqn.bml +54 -0
  15. package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageDirs.bml +50 -0
  16. package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageRoots.bml +50 -0
  17. package/blocks/org/blockml/bml/framework/capability/ProjectSourceRoots.bml +53 -0
  18. package/blocks/org/blockml/bml/framework/capability/RegistryFilesUnderRoots.bml +53 -0
  19. package/blocks/org/blockml/bml/framework/capability/ResolveContracts.bml +4 -1
  20. package/blocks/org/blockml/bml/framework/capability/ResolveEffectiveMembers.bml +4 -1
  21. package/blocks/org/blockml/bml/framework/capability/ResolveLibrarySeeds.bml +57 -0
  22. package/blocks/org/blockml/bml/framework/capability/RootFqnByFilePath.bml +18 -1
  23. package/blocks/org/blockml/bml/framework/capability/RootFqns.bml +23 -3
  24. package/blocks/org/blockml/bml/framework/capability/TypeRegistry.bml +4 -1
  25. package/blocks/org/blockml/bml/framework/capability/ValidateConstraints.bml +4 -1
  26. package/blocks/org/blockml/bml/framework/capability/ValidateEmbeddedBlocks.bml +22 -3
  27. package/blocks/org/blockml/bml/framework/capability/ValidateInstances.bml +23 -7
  28. package/blocks/org/blockml/bml/framework/capability/ValidatePresets.bml +24 -5
  29. package/blocks/org/blockml/bml/framework/capability/ValidateReadOnly.bml +24 -5
  30. package/blocks/org/blockml/bml/framework/capability/ValidateTypes.bml +4 -1
  31. package/blocks/org/blockml/bml/framework/capability/ValidateVersions.bml +4 -1
  32. package/blocks/org/blockml/bml/framework/capability/ValidateVisibility.bml +24 -5
  33. package/blocks/org/blockml/bml/framework/config/FrameworkDiagnosticCodes.bml +5 -2
  34. package/blocks/org/blockml/bml/framework/documentation/ArchitectureOverview.bml +7 -3
  35. package/blocks/org/blockml/bml/framework/documentation/ConstraintValidation.bml +7 -10
  36. package/blocks/org/blockml/bml/framework/documentation/Diagnostics.bml +5 -2
  37. package/blocks/org/blockml/bml/framework/documentation/EffectiveMembers.bml +6 -3
  38. package/blocks/org/blockml/bml/framework/documentation/ExpressionParsing.bml +5 -2
  39. package/blocks/org/blockml/bml/framework/documentation/Introduction.bml +5 -2
  40. package/blocks/org/blockml/bml/framework/documentation/LayerSeparation.bml +5 -2
  41. package/blocks/org/blockml/bml/framework/documentation/PackageOwnership.bml +5 -2
  42. package/blocks/org/blockml/bml/framework/documentation/PublicApi.bml +18 -13
  43. package/blocks/org/blockml/bml/framework/documentation/ScopeExclusions.bml +4 -1
  44. package/blocks/org/blockml/bml/framework/documentation/TypeRegistryBootstrap.bml +38 -11
  45. package/blocks/org/blockml/bml/framework/expression/ArrayExpressionNode.bml +4 -1
  46. package/blocks/org/blockml/bml/framework/expression/BinaryExpressionNode.bml +4 -1
  47. package/blocks/org/blockml/bml/framework/expression/CallExpressionNode.bml +4 -1
  48. package/blocks/org/blockml/bml/framework/expression/ExpressionNode.bml +4 -1
  49. package/blocks/org/blockml/bml/framework/expression/LiteralExpressionNode.bml +7 -4
  50. package/blocks/org/blockml/bml/framework/expression/ObjectExpressionEntry.bml +50 -0
  51. package/blocks/org/blockml/bml/framework/expression/ObjectExpressionNode.bml +7 -4
  52. package/blocks/org/blockml/bml/framework/expression/ParseExpressionError.bml +4 -1
  53. package/blocks/org/blockml/bml/framework/expression/ParseExpressionOutcome.bml +4 -1
  54. package/blocks/org/blockml/bml/framework/expression/ParseExpressionResult.bml +4 -1
  55. package/blocks/org/blockml/bml/framework/expression/PropertyExpressionNode.bml +4 -1
  56. package/blocks/org/blockml/bml/framework/registry/BootstrapOptions.bml +4 -1
  57. package/blocks/org/blockml/bml/framework/registry/BootstrapResult.bml +8 -5
  58. package/blocks/org/blockml/bml/framework/registry/BootstrapTrace.bml +59 -0
  59. package/dist/index.d.ts +3 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +3 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/registry/bootstrap.d.ts +26 -0
  64. package/dist/registry/bootstrap.d.ts.map +1 -1
  65. package/dist/registry/bootstrap.js +209 -9
  66. package/dist/registry/bootstrap.js.map +1 -1
  67. package/dist/registry/library-bootstrap.d.ts +5 -1
  68. package/dist/registry/library-bootstrap.d.ts.map +1 -1
  69. package/dist/registry/library-bootstrap.js +148 -25
  70. package/dist/registry/library-bootstrap.js.map +1 -1
  71. package/dist/registry/package-paths.d.ts +10 -0
  72. package/dist/registry/package-paths.d.ts.map +1 -0
  73. package/dist/registry/package-paths.js +47 -0
  74. package/dist/registry/package-paths.js.map +1 -0
  75. package/dist/registry/project-sources.d.ts +23 -0
  76. package/dist/registry/project-sources.d.ts.map +1 -0
  77. package/dist/registry/project-sources.js +100 -0
  78. package/dist/registry/project-sources.js.map +1 -0
  79. package/package.json +4 -4
@@ -0,0 +1,57 @@
1
+ <!--
2
+ Framework Capability — ResolveLibrarySeeds
3
+ FQN: org.blockml.bml.framework.capability.ResolveLibrarySeeds
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:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
16
+ xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
20
+ xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
22
+ xmlns:framework="org.blockml.bml.framework"
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
+
34
+ <name>ResolveLibrarySeeds</name>
35
+ <type>fwcap:ResolveLibrarySeeds</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Merge package.json blockml.library with extra Library.bml paths</is>
38
+
39
+ <documentation>Identity seed from package.json blockml.library first, then extras (config.libraries or --libraries). Absolute paths, deduped by realpath. Missing files keep resolve().</documentation>
40
+
41
+ <references>
42
+ <see type="fwcap:BootstrapTypeRegistry" relation="SeeAlso" />
43
+ </references>
44
+
45
+ <properties>
46
+ <rootDir type="type:Text">
47
+ <documentation>Package directory. Default process.cwd(). (optional)</documentation>
48
+ </rootDir>
49
+ <extras type="type:Text[]">
50
+ <documentation>Additional Library.bml paths. (optional)</documentation>
51
+ </extras>
52
+ <seeds type="type:Text[]">
53
+ <documentation>seeds. TS type: type:Text[]. (required)</documentation>
54
+ </seeds>
55
+ </properties>
56
+
57
+ </block>
@@ -9,18 +9,35 @@
9
9
  "
10
10
  xmlns:blockml="org.blockml.bml"
11
11
  xmlns:bom="org.blockml.bml.bom"
12
+ xmlns:bomapi="org.blockml.bml.bom.api"
13
+ xmlns:bomblock="org.blockml.bml.bom.block"
12
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
16
+ xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
23
  xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
16
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
17
- xmlns:type="org.blockml.bml.type">
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
18
33
 
19
34
  <name>RootFqnByFilePath</name>
20
35
  <type>fwcap:RootFqnByFilePath</type>
21
36
  <baseType>core:Capability</baseType>
22
37
  <is>Map file path to document-root block FQN from TypeRegistry</is>
23
38
 
39
+ <documentation>Map file path to document-root block FQN from TypeRegistry</documentation>
40
+
24
41
  <properties>
25
42
  <registry type="fwcap:TypeRegistry">
26
43
  <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
@@ -8,22 +8,42 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
16
+ xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
11
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
12
22
  xmlns:framework="org.blockml.bml.framework"
13
23
  xmlns:fwcap="org.blockml.bml.framework.capability"
14
- xmlns:type="org.blockml.bml.type">
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
15
33
 
16
34
  <name>RootFqns</name>
17
35
  <type>fwcap:RootFqns</type>
18
36
  <baseType>core:Capability</baseType>
19
- <is>Sorted root FQNs from TypeRegistry index</is>
37
+ <is>Root block FQNs from TypeRegistry</is>
38
+
39
+ <documentation>Root block FQNs from TypeRegistry</documentation>
20
40
 
21
41
  <properties>
22
42
  <registry type="fwcap:TypeRegistry">
23
43
  <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
24
44
  </registry>
25
45
  <fqns type="type:Text[]">
26
- <documentation>root FQNs sorted. (required)</documentation>
46
+ <documentation>fqns. TS type: type:Text[]. (required)</documentation>
27
47
  </fqns>
28
48
  </properties>
29
49
 
@@ -26,7 +26,10 @@
26
26
  xmlns:fwexpression="org.blockml.bml.framework.expression"
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
- xmlns:type="org.blockml.bml.type">
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
30
33
 
31
34
  <name>TypeRegistry</name>
32
35
  <type>fwcap:TypeRegistry</type>
@@ -26,7 +26,10 @@
26
26
  xmlns:fwexpression="org.blockml.bml.framework.expression"
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
- xmlns:type="org.blockml.bml.type">
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
30
33
 
31
34
  <name>ValidateConstraints</name>
32
35
  <type>fwcap:ValidateConstraints</type>
@@ -8,23 +8,42 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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"
11
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
12
16
  xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
- xmlns:fwcap="org.blockml.bml.framework.capability">
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
16
33
 
17
34
  <name>ValidateEmbeddedBlocks</name>
18
35
  <type>fwcap:ValidateEmbeddedBlocks</type>
19
36
  <baseType>core:Capability</baseType>
20
37
  <is>Embedded block and sub-block placement rules</is>
21
38
 
39
+ <documentation>Embedded block and sub-block placement rules</documentation>
40
+
22
41
  <properties>
23
42
  <document type="bomdoc:BomDocument">
24
- <documentation>document. (required)</documentation>
43
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
25
44
  </document>
26
45
  <diagnostics type="bomcommon:Diagnostic[]">
27
- <documentation>diagnostics. (required)</documentation>
46
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
28
47
  </diagnostics>
29
48
  </properties>
30
49
 
@@ -8,29 +8,45 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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"
11
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
12
16
  xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
- xmlns:fwcap="org.blockml.bml.framework.capability">
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
16
33
 
17
34
  <name>ValidateInstances</name>
18
35
  <type>fwcap:ValidateInstances</type>
19
36
  <baseType>core:Capability</baseType>
20
- <is>Instance type, member, id, and cross-reference rules</is>
37
+ <is>Instance member rules against TypeRegistry</is>
21
38
 
22
- <documentation>Unknown instance typeFqn BML_UNKNOWN_TYPE. memberValues keys not in
23
- resolveEffectiveMembers → BML_UNKNOWN_PROPERTY. Unresolved refs and missing bml:id on bml:each remain.</documentation>
39
+ <documentation>Instance member rules against TypeRegistry</documentation>
24
40
 
25
41
  <properties>
26
42
  <document type="bomdoc:BomDocument">
27
- <documentation>document. (required)</documentation>
43
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
28
44
  </document>
29
45
  <registry type="fwcap:TypeRegistry">
30
- <documentation>registry. (required)</documentation>
46
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
31
47
  </registry>
32
48
  <diagnostics type="bomcommon:Diagnostic[]">
33
- <documentation>diagnostics. (required)</documentation>
49
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
34
50
  </diagnostics>
35
51
  </properties>
36
52
 
@@ -8,26 +8,45 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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"
11
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
12
16
  xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
- xmlns:fwcap="org.blockml.bml.framework.capability">
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
16
33
 
17
34
  <name>ValidatePresets</name>
18
35
  <type>fwcap:ValidatePresets</type>
19
36
  <baseType>core:Capability</baseType>
20
- <is>Preset inheritance and property binding rules</is>
37
+ <is>Preset member rules against TypeRegistry</is>
38
+
39
+ <documentation>Preset member rules against TypeRegistry</documentation>
21
40
 
22
41
  <properties>
23
42
  <document type="bomdoc:BomDocument">
24
- <documentation>document. (required)</documentation>
43
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
25
44
  </document>
26
45
  <registry type="fwcap:TypeRegistry">
27
- <documentation>registry. (required)</documentation>
46
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
28
47
  </registry>
29
48
  <diagnostics type="bomcommon:Diagnostic[]">
30
- <documentation>diagnostics. (required)</documentation>
49
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
31
50
  </diagnostics>
32
51
  </properties>
33
52
 
@@ -8,26 +8,45 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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"
11
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
12
16
  xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
- xmlns:fwcap="org.blockml.bml.framework.capability">
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
16
33
 
17
34
  <name>ValidateReadOnly</name>
18
35
  <type>fwcap:ValidateReadOnly</type>
19
36
  <baseType>core:Capability</baseType>
20
- <is>readOnly member write enforcement on block instances</is>
37
+ <is>Read-only member rules against TypeRegistry</is>
38
+
39
+ <documentation>Read-only member rules against TypeRegistry</documentation>
21
40
 
22
41
  <properties>
23
42
  <document type="bomdoc:BomDocument">
24
- <documentation>document. (required)</documentation>
43
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
25
44
  </document>
26
45
  <registry type="fwcap:TypeRegistry">
27
- <documentation>registry. (required)</documentation>
46
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
28
47
  </registry>
29
48
  <diagnostics type="bomcommon:Diagnostic[]">
30
- <documentation>diagnostics. (required)</documentation>
49
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
31
50
  </diagnostics>
32
51
  </properties>
33
52
 
@@ -26,7 +26,10 @@
26
26
  xmlns:fwexpression="org.blockml.bml.framework.expression"
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
- xmlns:type="org.blockml.bml.type">
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
30
33
 
31
34
  <name>ValidateTypes</name>
32
35
  <type>fwcap:ValidateTypes</type>
@@ -26,7 +26,10 @@
26
26
  xmlns:fwexpression="org.blockml.bml.framework.expression"
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
- xmlns:type="org.blockml.bml.type">
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
30
33
 
31
34
  <name>ValidateVersions</name>
32
35
  <type>fwcap:ValidateVersions</type>
@@ -8,26 +8,45 @@
8
8
  xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
9
  "
10
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"
11
14
  xmlns:bomcommon="org.blockml.bml.bom.common"
15
+ xmlns:bomcomp="org.blockml.bml.bom.composition"
12
16
  xmlns:bomdoc="org.blockml.bml.bom.document"
17
+ xmlns:bommember="org.blockml.bml.bom.member"
18
+ xmlns:bomtype="org.blockml.bml.bom.type"
19
+ xmlns:bomvalue="org.blockml.bml.bom.value"
13
20
  xmlns:core="org.blockml.bml.core"
21
+ xmlns:def="org.blockml.bml.definition"
14
22
  xmlns:framework="org.blockml.bml.framework"
15
- xmlns:fwcap="org.blockml.bml.framework.capability">
23
+ xmlns:fwcap="org.blockml.bml.framework.capability"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
27
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
28
+ xmlns:parser="org.blockml.bml.compiler.parser"
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
16
33
 
17
34
  <name>ValidateVisibility</name>
18
35
  <type>fwcap:ValidateVisibility</type>
19
36
  <baseType>core:Capability</baseType>
20
- <is>Member visibility variant rules</is>
37
+ <is>Visibility member rules against TypeRegistry</is>
38
+
39
+ <documentation>Visibility member rules against TypeRegistry</documentation>
21
40
 
22
41
  <properties>
23
42
  <document type="bomdoc:BomDocument">
24
- <documentation>document. (required)</documentation>
43
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
25
44
  </document>
26
45
  <registry type="fwcap:TypeRegistry">
27
- <documentation>registry. (required)</documentation>
46
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
28
47
  </registry>
29
48
  <diagnostics type="bomcommon:Diagnostic[]">
30
- <documentation>diagnostics. (required)</documentation>
49
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
31
50
  </diagnostics>
32
51
  </properties>
33
52
 
@@ -26,7 +26,10 @@
26
26
  xmlns:fwexpression="org.blockml.bml.framework.expression"
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
- xmlns:type="org.blockml.bml.type">
29
+ xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
30
33
 
31
34
  <name>FrameworkDiagnosticCodes</name>
32
35
  <type>fwconfig:FrameworkDiagnosticCodes</type>
@@ -37,7 +40,7 @@
37
40
 
38
41
  <properties>
39
42
  <codes type="type:Text[]">
40
- <documentation>Ordered: BML_UNKNOWN_BASE_TYPE, BML_UNKNOWN_TYPE, BML_UNKNOWN_CONTRACT, BML_MEMBER_COLLISION, BML_OVERRIDE_WITHOUT_PARENT, BML_OVERRIDE_REQUIRED, BML_EXPRESSION_PARSE_ERROR, BML_CONSTRAINT_VIOLATION, BML_CONSTRAINT_WARNING, BML_CONSTRAINT_INFORMATION, BML_CONSTRAINT_UNKNOWN, BML_CONSTRAINT_TARGET_MISMATCH, BML_EMBEDDED_BLOCKS_ON_SUBBLOCK, BML_NESTED_EMBEDDED_BLOCKS, BML_DUPLICATE_EMBEDDED_BLOCK, BML_SUBBLOCK_TYPE_MISMATCH, BML_MISSING_ID, BML_UNRESOLVABLE_INSTANCE_REF, BML_PRESET_CYCLE, BML_UNKNOWN_PROPERTY, BML_DUPLICATE_MEMBER_VISIBILITY_VARIANT, BML_VISIBILITY_PRIVATE_OVERRIDE, BML_READONLY_MEMBER_WRITE, BML_MISSING_VERSION, BML_UNKNOWN_VERSION, BML_LIBRARY_RESOLVE_ERROR, BML_LIBRARY_NESTING_VIOLATION, BML_BOOTSTRAP_READ_ERROR (required)</documentation>
43
+ <documentation>Ordered: BML_BOOTSTRAP_READ_ERROR, BML_CONSTRAINT_INFORMATION, BML_CONSTRAINT_TARGET_MISMATCH, BML_CONSTRAINT_UNKNOWN, BML_CONSTRAINT_VIOLATION, BML_CONSTRAINT_WARNING, BML_DUPLICATE_EMBEDDED_BLOCK, BML_DUPLICATE_MEMBER_VISIBILITY_VARIANT, BML_EMBEDDED_BLOCKS_ON_SUBBLOCK, BML_EXPRESSION_PARSE_ERROR, BML_LIBRARY_NESTING_VIOLATION, BML_LIBRARY_RESOLVE_ERROR, BML_MEMBER_COLLISION, BML_MISSING_ID, BML_MISSING_VERSION, BML_NESTED_EMBEDDED_BLOCKS, BML_OVERRIDE_REQUIRED, BML_OVERRIDE_WITHOUT_PARENT, BML_PRESET_CYCLE, BML_READONLY_MEMBER_WRITE, BML_SUBBLOCK_TYPE_MISMATCH, BML_UNRESOLVABLE_INSTANCE_REF, BML_UNKNOWN_BASE_TYPE, BML_UNKNOWN_CONTRACT, BML_UNKNOWN_TYPE, BML_UNKNOWN_PROPERTY, BML_UNKNOWN_VERSION, BML_VISIBILITY_PRIVATE_OVERRIDE (required)</documentation>
41
44
  </codes>
42
45
  </properties>
43
46
 
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>ArchitectureOverview</name>
@@ -38,7 +41,8 @@
38
41
 
39
42
  registry/type-registry.ts — fwcap:TypeRegistry (register, get, has, keys, size)
40
43
  registry/bootstrap.ts — fwcap:BootstrapTypeRegistry, fwcap:DefaultBootstrapPaths
41
- registry/library-bootstrap.ts — library graph resolution (Library.bml dependencies)
44
+ registry/library-bootstrap.ts — library graph resolution (Library.bml dependencies),
45
+ fwcap:PeekLibraryTypeFqn
42
46
  fork/fork-bom.ts — fwcap:ForkBom (structuredClone pragmatic copy)
43
47
  resolve/resolve-effective-members.ts — fwcap:ResolveEffectiveMembers,
44
48
  fwcap:ResolveContracts, fwcap:CollectBaseTypeChain, fwcap:MemberIdentityKey
@@ -53,8 +57,8 @@
53
57
  Public operations are fwcap:* capabilities.</documentation>
54
58
 
55
59
  <references>
56
- <see type="fwdocumentation:PublicApi" relation="ReadNext"></see>
57
- <see type="fwcap:TypeRegistry" relation="Defines"></see>
60
+ <see type="fwdocumentation:PublicApi" relation="ReadNext" />
61
+ <see type="fwcap:TypeRegistry" relation="Defines" />
58
62
  </references>
59
63
 
60
64
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>ConstraintValidation</name>
@@ -35,14 +38,8 @@
35
38
  <is>validateConstraints branch dispatch and embed contexts</is>
36
39
 
37
40
  <documentation>validateConstraints evaluates constraints on the effective member set from
38
- resolveEffectiveMembers (baseType + contracts + local), including baseType instance
39
- configuration bound onto inherited properties. ValuePresent is checked after that merge
40
- not against empty type-level slots. Abstract members, overrides without a local default,
41
- and properties whose type is a generic parameter (e.g. Constant.value : T) may be empty on
42
- the type definition; the value is required after instance binding. Constraint evaluation
43
- runs once on the effective member set (placement is checked on local declarations).
44
- Diagnostics use a source span in the validated document — not an ancestor property line
45
- mixed with the current file path.
41
+ resolveEffectiveMembers (baseType + contracts + local). Property ValuePresent and other
42
+ ValueConstraints on effective PropertyDefinition are checked against authored local values.
46
43
 
47
44
  Embed contexts for directly declared constraint BlockInstances:
48
45
  block — BlockConstraint (RequiresMember), ValueConstraint (Min/Max/ValuePresent)
@@ -58,8 +55,8 @@
58
55
  Fixtures: packages/framework/test/constraints/fixtures/*.bml</documentation>
59
56
 
60
57
  <references>
61
- <see type="fwdocumentation:Diagnostics" relation="ReadNext"></see>
62
- <see type="fwcap:ValidateConstraints" relation="Defines"></see>
58
+ <see type="fwdocumentation:Diagnostics" relation="ReadNext" />
59
+ <see type="fwcap:ValidateConstraints" relation="Defines" />
63
60
  </references>
64
61
 
65
62
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>Diagnostics</name>
@@ -66,8 +69,8 @@
66
69
  Diagnostic type: org.blockml.bml.bom.common.Diagnostic.</documentation>
67
70
 
68
71
  <references>
69
- <see type="fwconfig:FrameworkDiagnosticCodes" relation="Defines"></see>
70
- <see type="fwdocumentation:PackageOwnership" relation="ReadNext"></see>
72
+ <see type="fwconfig:FrameworkDiagnosticCodes" relation="Defines" />
73
+ <see type="fwdocumentation:PackageOwnership" relation="ReadNext" />
71
74
  </references>
72
75
 
73
76
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>EffectiveMembers</name>
@@ -53,9 +56,9 @@
53
56
  EffectiveMemberSet is a runtime view — not stored on Urmodell (BOM SSOT).</documentation>
54
57
 
55
58
  <references>
56
- <see type="fwdocumentation:ExpressionParsing" relation="ReadNext"></see>
57
- <see type="fwcap:ResolveEffectiveMembers" relation="Defines"></see>
58
- <see type="fwcap:ResolveContracts" relation="SeeAlso"></see>
59
+ <see type="fwdocumentation:ExpressionParsing" relation="ReadNext" />
60
+ <see type="fwcap:ResolveEffectiveMembers" relation="Defines" />
61
+ <see type="fwcap:ResolveContracts" relation="SeeAlso" />
59
62
  </references>
60
63
 
61
64
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>ExpressionParsing</name>
@@ -46,8 +49,8 @@
46
49
  Expression AST is a Stage-2 utility — never written back to Urmodell member values.</documentation>
47
50
 
48
51
  <references>
49
- <see type="fwdocumentation:ConstraintValidation" relation="ReadNext"></see>
50
- <see type="fwexpression:ExpressionNode" relation="Defines"></see>
52
+ <see type="fwdocumentation:ConstraintValidation" relation="ReadNext" />
53
+ <see type="fwexpression:ExpressionNode" relation="Defines" />
51
54
  </references>
52
55
 
53
56
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>Introduction</name>
@@ -49,8 +52,8 @@
49
52
  operate on BomDocument (Urmodell) from @blockml/bom — they do not redefine meta-model blocks.</documentation>
50
53
 
51
54
  <references>
52
- <see type="fwdocumentation:LayerSeparation" relation="ReadNext"></see>
53
- <see type="bomdocumentation:Introduction" relation="SeeAlso"></see>
55
+ <see type="fwdocumentation:LayerSeparation" relation="ReadNext" />
56
+ <see type="bomdocumentation:Introduction" relation="SeeAlso" />
54
57
  </references>
55
58
 
56
59
  </block>