@blockml/framework 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/blocks/org/blockml/bml/framework/FrameworkType.bml +44 -0
  2. package/blocks/org/blockml/bml/framework/Library.bml +127 -0
  3. package/blocks/org/blockml/bml/framework/README.bml +71 -0
  4. package/blocks/org/blockml/bml/framework/capability/BootstrapTypeRegistry.bml +53 -0
  5. package/blocks/org/blockml/bml/framework/capability/CollectBaseTypeChain.bml +50 -0
  6. package/blocks/org/blockml/bml/framework/capability/DefaultBootstrapPaths.bml +47 -0
  7. package/blocks/org/blockml/bml/framework/capability/ForkBom.bml +51 -0
  8. package/blocks/org/blockml/bml/framework/capability/GetExportedFqns.bml +37 -0
  9. package/blocks/org/blockml/bml/framework/capability/GetPropertyNumericValue.bml +47 -0
  10. package/blocks/org/blockml/bml/framework/capability/IsLiteralValue.bml +47 -0
  11. package/blocks/org/blockml/bml/framework/capability/MemberIdentityKey.bml +47 -0
  12. package/blocks/org/blockml/bml/framework/capability/ParseExpression.bml +51 -0
  13. package/blocks/org/blockml/bml/framework/capability/ResolveContracts.bml +55 -0
  14. package/blocks/org/blockml/bml/framework/capability/ResolveEffectiveMembers.bml +56 -0
  15. package/blocks/org/blockml/bml/framework/capability/RootFqnByFilePath.bml +33 -0
  16. package/blocks/org/blockml/bml/framework/capability/RootFqns.bml +30 -0
  17. package/blocks/org/blockml/bml/framework/capability/TypeRegistry.bml +43 -0
  18. package/blocks/org/blockml/bml/framework/capability/ValidateConstraints.bml +54 -0
  19. package/blocks/org/blockml/bml/framework/capability/ValidateEmbeddedBlocks.bml +31 -0
  20. package/blocks/org/blockml/bml/framework/capability/ValidateInstances.bml +34 -0
  21. package/blocks/org/blockml/bml/framework/capability/ValidatePresets.bml +34 -0
  22. package/blocks/org/blockml/bml/framework/capability/ValidateReadOnly.bml +34 -0
  23. package/blocks/org/blockml/bml/framework/capability/ValidateTypes.bml +55 -0
  24. package/blocks/org/blockml/bml/framework/capability/ValidateVersions.bml +54 -0
  25. package/blocks/org/blockml/bml/framework/capability/ValidateVisibility.bml +34 -0
  26. package/blocks/org/blockml/bml/framework/config/FrameworkDiagnosticCodes.bml +44 -0
  27. package/blocks/org/blockml/bml/framework/documentation/ArchitectureOverview.bml +60 -0
  28. package/blocks/org/blockml/bml/framework/documentation/ConstraintValidation.bml +59 -0
  29. package/blocks/org/blockml/bml/framework/documentation/Diagnostics.bml +68 -0
  30. package/blocks/org/blockml/bml/framework/documentation/EffectiveMembers.bml +61 -0
  31. package/blocks/org/blockml/bml/framework/documentation/ExpressionParsing.bml +53 -0
  32. package/blocks/org/blockml/bml/framework/documentation/Introduction.bml +56 -0
  33. package/blocks/org/blockml/bml/framework/documentation/LayerSeparation.bml +59 -0
  34. package/blocks/org/blockml/bml/framework/documentation/PackageOwnership.bml +56 -0
  35. package/blocks/org/blockml/bml/framework/documentation/PublicApi.bml +72 -0
  36. package/blocks/org/blockml/bml/framework/documentation/ScopeExclusions.bml +52 -0
  37. package/blocks/org/blockml/bml/framework/documentation/TypeRegistryBootstrap.bml +64 -0
  38. package/blocks/org/blockml/bml/framework/expression/ArrayExpressionNode.bml +48 -0
  39. package/blocks/org/blockml/bml/framework/expression/BinaryExpressionNode.bml +54 -0
  40. package/blocks/org/blockml/bml/framework/expression/CallExpressionNode.bml +51 -0
  41. package/blocks/org/blockml/bml/framework/expression/ExpressionNode.bml +44 -0
  42. package/blocks/org/blockml/bml/framework/expression/LiteralExpressionNode.bml +48 -0
  43. package/blocks/org/blockml/bml/framework/expression/ObjectExpressionNode.bml +48 -0
  44. package/blocks/org/blockml/bml/framework/expression/ParseExpressionError.bml +47 -0
  45. package/blocks/org/blockml/bml/framework/expression/ParseExpressionOutcome.bml +50 -0
  46. package/blocks/org/blockml/bml/framework/expression/ParseExpressionResult.bml +47 -0
  47. package/blocks/org/blockml/bml/framework/expression/PropertyExpressionNode.bml +48 -0
  48. package/blocks/org/blockml/bml/framework/registry/BootstrapOptions.bml +50 -0
  49. package/blocks/org/blockml/bml/framework/registry/BootstrapResult.bml +53 -0
  50. package/dist/expression/parse-expression.d.ts +3 -0
  51. package/dist/expression/parse-expression.d.ts.map +1 -0
  52. package/dist/expression/parse-expression.js +192 -0
  53. package/dist/expression/parse-expression.js.map +1 -0
  54. package/dist/expression/types.d.ts +44 -0
  55. package/dist/expression/types.d.ts.map +1 -0
  56. package/dist/expression/types.js +2 -0
  57. package/dist/expression/types.js.map +1 -0
  58. package/dist/fork/fork-bom.d.ts +4 -0
  59. package/dist/fork/fork-bom.d.ts.map +1 -0
  60. package/dist/fork/fork-bom.js +5 -0
  61. package/dist/fork/fork-bom.js.map +1 -0
  62. package/dist/index.d.ts +17 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +16 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/registry/bootstrap.d.ts +19 -0
  67. package/dist/registry/bootstrap.d.ts.map +1 -0
  68. package/dist/registry/bootstrap.js +49 -0
  69. package/dist/registry/bootstrap.js.map +1 -0
  70. package/dist/registry/library-bootstrap.d.ts +14 -0
  71. package/dist/registry/library-bootstrap.d.ts.map +1 -0
  72. package/dist/registry/library-bootstrap.js +231 -0
  73. package/dist/registry/library-bootstrap.js.map +1 -0
  74. package/dist/registry/library-exports.d.ts +4 -0
  75. package/dist/registry/library-exports.d.ts.map +1 -0
  76. package/dist/registry/library-exports.js +10 -0
  77. package/dist/registry/library-exports.js.map +1 -0
  78. package/dist/registry/root-fqn.d.ts +5 -0
  79. package/dist/registry/root-fqn.d.ts.map +1 -0
  80. package/dist/registry/root-fqn.js +26 -0
  81. package/dist/registry/root-fqn.js.map +1 -0
  82. package/dist/registry/type-registry.d.ts +11 -0
  83. package/dist/registry/type-registry.d.ts.map +1 -0
  84. package/dist/registry/type-registry.js +27 -0
  85. package/dist/registry/type-registry.js.map +1 -0
  86. package/dist/resolve/resolve-effective-members.d.ts +16 -0
  87. package/dist/resolve/resolve-effective-members.d.ts.map +1 -0
  88. package/dist/resolve/resolve-effective-members.js +104 -0
  89. package/dist/resolve/resolve-effective-members.js.map +1 -0
  90. package/dist/validate/validate-constraints.d.ts +4 -0
  91. package/dist/validate/validate-constraints.d.ts.map +1 -0
  92. package/dist/validate/validate-constraints.js +388 -0
  93. package/dist/validate/validate-constraints.js.map +1 -0
  94. package/dist/validate/validate-embedded-blocks.d.ts +3 -0
  95. package/dist/validate/validate-embedded-blocks.d.ts.map +1 -0
  96. package/dist/validate/validate-embedded-blocks.js +44 -0
  97. package/dist/validate/validate-embedded-blocks.js.map +1 -0
  98. package/dist/validate/validate-instances.d.ts +4 -0
  99. package/dist/validate/validate-instances.d.ts.map +1 -0
  100. package/dist/validate/validate-instances.js +107 -0
  101. package/dist/validate/validate-instances.js.map +1 -0
  102. package/dist/validate/validate-presets.d.ts +4 -0
  103. package/dist/validate/validate-presets.d.ts.map +1 -0
  104. package/dist/validate/validate-presets.js +86 -0
  105. package/dist/validate/validate-presets.js.map +1 -0
  106. package/dist/validate/validate-readonly.d.ts +4 -0
  107. package/dist/validate/validate-readonly.d.ts.map +1 -0
  108. package/dist/validate/validate-readonly.js +64 -0
  109. package/dist/validate/validate-readonly.js.map +1 -0
  110. package/dist/validate/validate-types.d.ts +7 -0
  111. package/dist/validate/validate-types.d.ts.map +1 -0
  112. package/dist/validate/validate-types.js +130 -0
  113. package/dist/validate/validate-types.js.map +1 -0
  114. package/dist/validate/validate-versions.d.ts +4 -0
  115. package/dist/validate/validate-versions.d.ts.map +1 -0
  116. package/dist/validate/validate-versions.js +69 -0
  117. package/dist/validate/validate-versions.js.map +1 -0
  118. package/dist/validate/validate-visibility.d.ts +4 -0
  119. package/dist/validate/validate-visibility.d.ts.map +1 -0
  120. package/dist/validate/validate-visibility.js +33 -0
  121. package/dist/validate/validate-visibility.js.map +1 -0
  122. package/package.json +42 -0
@@ -0,0 +1,51 @@
1
+ <!--
2
+ Framework Capability — ParseExpression
3
+ FQN: org.blockml.bml.framework.capability.ParseExpression
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
+
31
+ <name>ParseExpression</name>
32
+ <type>fwcap:ParseExpression</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Parse expression source text into ExpressionNode AST</is>
35
+
36
+ <documentation>Parse expression source text into ExpressionNode AST</documentation>
37
+
38
+ <references>
39
+ <see type="fwdocumentation:ExpressionParsing" relation="SeeAlso" />
40
+ </references>
41
+
42
+ <properties>
43
+ <source type="type:Text">
44
+ <documentation>source. TS type: type:Text. (required)</documentation>
45
+ </source>
46
+ <outcome type="fwexpression:ParseExpressionOutcome">
47
+ <documentation>outcome. TS type: fwexpression:ParseExpressionOutcome. (required)</documentation>
48
+ </outcome>
49
+ </properties>
50
+
51
+ </block>
@@ -0,0 +1,55 @@
1
+ <!--
2
+ Framework Capability — ResolveContracts
3
+ FQN: org.blockml.bml.framework.capability.ResolveContracts
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
+
31
+ <name>ResolveContracts</name>
32
+ <type>fwcap:ResolveContracts</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Merge contract Block members into effective member slice</is>
35
+
36
+ <documentation>Resolves block.contracts[] in declaration order via TypeRegistry. Returns merged members from contract Blocks only (ignores contract subBlocks/compositions/embeddedBlocks). Unknown contract FQN → BML_UNKNOWN_CONTRACT in validateTypes.</documentation>
37
+
38
+ <references>
39
+ <see type="fwcap:ResolveEffectiveMembers" relation="SeeAlso" />
40
+ <see type="fwcap:MemberIdentityKey" relation="SeeAlso" />
41
+ </references>
42
+
43
+ <properties>
44
+ <block type="bomblock:BlockDefinition">
45
+ <documentation>block. TS type: bomblock:BlockDefinition. (required)</documentation>
46
+ </block>
47
+ <registry type="fwcap:TypeRegistry">
48
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
49
+ </registry>
50
+ <members type="bommember:MemberDefinition[]">
51
+ <documentation>members. TS type: bommember:MemberDefinition[]. (required)</documentation>
52
+ </members>
53
+ </properties>
54
+
55
+ </block>
@@ -0,0 +1,56 @@
1
+ <!--
2
+ Framework Capability — ResolveEffectiveMembers
3
+ FQN: org.blockml.bml.framework.capability.ResolveEffectiveMembers
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
+
31
+ <name>ResolveEffectiveMembers</name>
32
+ <type>fwcap:ResolveEffectiveMembers</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Merge members along baseType chain, contracts, and local declarations</is>
35
+
36
+ <documentation>Merge members along baseType chain, contracts, and local declarations</documentation>
37
+
38
+ <references>
39
+ <see type="fwcap:CollectBaseTypeChain" relation="SeeAlso" />
40
+ <see type="fwcap:MemberIdentityKey" relation="SeeAlso" />
41
+ <see type="fwcap:ResolveContracts" relation="SeeAlso" />
42
+ </references>
43
+
44
+ <properties>
45
+ <block type="bomblock:BlockDefinition">
46
+ <documentation>block. TS type: bomblock:BlockDefinition. (required)</documentation>
47
+ </block>
48
+ <registry type="fwcap:TypeRegistry">
49
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
50
+ </registry>
51
+ <members type="bommember:MemberDefinition[]">
52
+ <documentation>members. TS type: bommember:MemberDefinition[]. (required)</documentation>
53
+ </members>
54
+ </properties>
55
+
56
+ </block>
@@ -0,0 +1,33 @@
1
+ <!--
2
+ Framework Capability — RootFqnByFilePath
3
+ FQN: org.blockml.bml.framework.capability.RootFqnByFilePath
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:bomcommon="org.blockml.bml.bom.common"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability"
16
+ xmlns:fwregistry="org.blockml.bml.framework.registry"
17
+ xmlns:type="org.blockml.bml.type">
18
+
19
+ <name>RootFqnByFilePath</name>
20
+ <type>fwcap:RootFqnByFilePath</type>
21
+ <baseType>core:Capability</baseType>
22
+ <is>Map file path to document-root block FQN from TypeRegistry</is>
23
+
24
+ <properties>
25
+ <registry type="fwcap:TypeRegistry">
26
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
27
+ </registry>
28
+ <roots type="type:Text">
29
+ <documentation>Map&lt;filePath, rootFqn&gt;. (required)</documentation>
30
+ </roots>
31
+ </properties>
32
+
33
+ </block>
@@ -0,0 +1,30 @@
1
+ <!--
2
+ Framework Capability — RootFqns
3
+ FQN: org.blockml.bml.framework.capability.RootFqns
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:core="org.blockml.bml.core"
12
+ xmlns:framework="org.blockml.bml.framework"
13
+ xmlns:fwcap="org.blockml.bml.framework.capability"
14
+ xmlns:type="org.blockml.bml.type">
15
+
16
+ <name>RootFqns</name>
17
+ <type>fwcap:RootFqns</type>
18
+ <baseType>core:Capability</baseType>
19
+ <is>Sorted root FQNs from TypeRegistry index</is>
20
+
21
+ <properties>
22
+ <registry type="fwcap:TypeRegistry">
23
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
24
+ </registry>
25
+ <fqns type="type:Text[]">
26
+ <documentation>root FQNs sorted. (required)</documentation>
27
+ </fqns>
28
+ </properties>
29
+
30
+ </block>
@@ -0,0 +1,43 @@
1
+ <!--
2
+ Framework Capability — TypeRegistry
3
+ FQN: org.blockml.bml.framework.capability.TypeRegistry
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
+
31
+ <name>TypeRegistry</name>
32
+ <type>fwcap:TypeRegistry</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>In-memory index of BlockDefinition documents by type FQN</is>
35
+
36
+ <documentation>Class exported from registry/type-registry.ts. Implements bomapi:TypeRegistryReader (get/has).</documentation>
37
+
38
+ <references>
39
+ <see type="bomapi:TypeRegistryReader" relation="SeeAlso" />
40
+ <see type="fwdocumentation:TypeRegistryBootstrap" relation="SeeAlso" />
41
+ </references>
42
+
43
+ </block>
@@ -0,0 +1,54 @@
1
+ <!--
2
+ Framework Capability — ValidateConstraints
3
+ FQN: org.blockml.bml.framework.capability.ValidateConstraints
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
+
31
+ <name>ValidateConstraints</name>
32
+ <type>fwcap:ValidateConstraints</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Evaluate constraint BlockInstances in composition tree</is>
35
+
36
+ <documentation>Evaluate constraint BlockInstances in composition tree</documentation>
37
+
38
+ <references>
39
+ <see type="fwdocumentation:ConstraintValidation" relation="SeeAlso" />
40
+ </references>
41
+
42
+ <properties>
43
+ <document type="bomdoc:BomDocument">
44
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
45
+ </document>
46
+ <registry type="fwcap:TypeRegistry">
47
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
48
+ </registry>
49
+ <diagnostics type="bomcommon:Diagnostic[]">
50
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
51
+ </diagnostics>
52
+ </properties>
53
+
54
+ </block>
@@ -0,0 +1,31 @@
1
+ <!--
2
+ Framework Capability — ValidateEmbeddedBlocks
3
+ FQN: org.blockml.bml.framework.capability.ValidateEmbeddedBlocks
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:bomcommon="org.blockml.bml.bom.common"
12
+ xmlns:bomdoc="org.blockml.bml.bom.document"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability">
16
+
17
+ <name>ValidateEmbeddedBlocks</name>
18
+ <type>fwcap:ValidateEmbeddedBlocks</type>
19
+ <baseType>core:Capability</baseType>
20
+ <is>Embedded block and sub-block placement rules</is>
21
+
22
+ <properties>
23
+ <document type="bomdoc:BomDocument">
24
+ <documentation>document. (required)</documentation>
25
+ </document>
26
+ <diagnostics type="bomcommon:Diagnostic[]">
27
+ <documentation>diagnostics. (required)</documentation>
28
+ </diagnostics>
29
+ </properties>
30
+
31
+ </block>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Framework Capability — ValidateInstances
3
+ FQN: org.blockml.bml.framework.capability.ValidateInstances
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:bomcommon="org.blockml.bml.bom.common"
12
+ xmlns:bomdoc="org.blockml.bml.bom.document"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability">
16
+
17
+ <name>ValidateInstances</name>
18
+ <type>fwcap:ValidateInstances</type>
19
+ <baseType>core:Capability</baseType>
20
+ <is>Instance id and cross-reference rules</is>
21
+
22
+ <properties>
23
+ <document type="bomdoc:BomDocument">
24
+ <documentation>document. (required)</documentation>
25
+ </document>
26
+ <registry type="fwcap:TypeRegistry">
27
+ <documentation>registry. (required)</documentation>
28
+ </registry>
29
+ <diagnostics type="bomcommon:Diagnostic[]">
30
+ <documentation>diagnostics. (required)</documentation>
31
+ </diagnostics>
32
+ </properties>
33
+
34
+ </block>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Framework Capability — ValidatePresets
3
+ FQN: org.blockml.bml.framework.capability.ValidatePresets
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:bomcommon="org.blockml.bml.bom.common"
12
+ xmlns:bomdoc="org.blockml.bml.bom.document"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability">
16
+
17
+ <name>ValidatePresets</name>
18
+ <type>fwcap:ValidatePresets</type>
19
+ <baseType>core:Capability</baseType>
20
+ <is>Preset inheritance and property binding rules</is>
21
+
22
+ <properties>
23
+ <document type="bomdoc:BomDocument">
24
+ <documentation>document. (required)</documentation>
25
+ </document>
26
+ <registry type="fwcap:TypeRegistry">
27
+ <documentation>registry. (required)</documentation>
28
+ </registry>
29
+ <diagnostics type="bomcommon:Diagnostic[]">
30
+ <documentation>diagnostics. (required)</documentation>
31
+ </diagnostics>
32
+ </properties>
33
+
34
+ </block>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Framework Capability — ValidateReadOnly
3
+ FQN: org.blockml.bml.framework.capability.ValidateReadOnly
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:bomcommon="org.blockml.bml.bom.common"
12
+ xmlns:bomdoc="org.blockml.bml.bom.document"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability">
16
+
17
+ <name>ValidateReadOnly</name>
18
+ <type>fwcap:ValidateReadOnly</type>
19
+ <baseType>core:Capability</baseType>
20
+ <is>readOnly member write enforcement on block instances</is>
21
+
22
+ <properties>
23
+ <document type="bomdoc:BomDocument">
24
+ <documentation>document. (required)</documentation>
25
+ </document>
26
+ <registry type="fwcap:TypeRegistry">
27
+ <documentation>registry. (required)</documentation>
28
+ </registry>
29
+ <diagnostics type="bomcommon:Diagnostic[]">
30
+ <documentation>diagnostics. (required)</documentation>
31
+ </diagnostics>
32
+ </properties>
33
+
34
+ </block>
@@ -0,0 +1,55 @@
1
+ <!--
2
+ Framework Capability — ValidateTypes
3
+ FQN: org.blockml.bml.framework.capability.ValidateTypes
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
+
31
+ <name>ValidateTypes</name>
32
+ <type>fwcap:ValidateTypes</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Semantic type checks on BomDocument using TypeRegistry</is>
35
+
36
+ <documentation>Semantic type checks on BomDocument using TypeRegistry</documentation>
37
+
38
+ <references>
39
+ <see type="fwcap:ResolveEffectiveMembers" relation="SeeAlso" />
40
+ <see type="fwcap:ParseExpression" relation="SeeAlso" />
41
+ </references>
42
+
43
+ <properties>
44
+ <document type="bomdoc:BomDocument">
45
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
46
+ </document>
47
+ <registry type="fwcap:TypeRegistry">
48
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
49
+ </registry>
50
+ <diagnostics type="bomcommon:Diagnostic[]">
51
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
52
+ </diagnostics>
53
+ </properties>
54
+
55
+ </block>
@@ -0,0 +1,54 @@
1
+ <!--
2
+ Framework Capability — ValidateVersions
3
+ FQN: org.blockml.bml.framework.capability.ValidateVersions
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
+
31
+ <name>ValidateVersions</name>
32
+ <type>fwcap:ValidateVersions</type>
33
+ <baseType>core:Capability</baseType>
34
+ <is>Minimal effectiveBlockVersion and bml:version assert checks</is>
35
+
36
+ <documentation>BML_MISSING_VERSION on standalone root blocks outside framework library convention. BML_UNKNOWN_VERSION when bml:version pin does not match a registered block version.</documentation>
37
+
38
+ <references>
39
+ <see type="bomdocumentation:VersionRules" relation="SeeAlso" />
40
+ </references>
41
+
42
+ <properties>
43
+ <document type="bomdoc:BomDocument">
44
+ <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
45
+ </document>
46
+ <registry type="fwcap:TypeRegistry">
47
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
48
+ </registry>
49
+ <diagnostics type="bomcommon:Diagnostic[]">
50
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
51
+ </diagnostics>
52
+ </properties>
53
+
54
+ </block>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Framework Capability — ValidateVisibility
3
+ FQN: org.blockml.bml.framework.capability.ValidateVisibility
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:bomcommon="org.blockml.bml.bom.common"
12
+ xmlns:bomdoc="org.blockml.bml.bom.document"
13
+ xmlns:core="org.blockml.bml.core"
14
+ xmlns:framework="org.blockml.bml.framework"
15
+ xmlns:fwcap="org.blockml.bml.framework.capability">
16
+
17
+ <name>ValidateVisibility</name>
18
+ <type>fwcap:ValidateVisibility</type>
19
+ <baseType>core:Capability</baseType>
20
+ <is>Member visibility variant rules</is>
21
+
22
+ <properties>
23
+ <document type="bomdoc:BomDocument">
24
+ <documentation>document. (required)</documentation>
25
+ </document>
26
+ <registry type="fwcap:TypeRegistry">
27
+ <documentation>registry. (required)</documentation>
28
+ </registry>
29
+ <diagnostics type="bomcommon:Diagnostic[]">
30
+ <documentation>diagnostics. (required)</documentation>
31
+ </diagnostics>
32
+ </properties>
33
+
34
+ </block>
@@ -0,0 +1,44 @@
1
+ <!--
2
+ Framework — FrameworkDiagnosticCodes
3
+ FQN: org.blockml.bml.framework.config.FrameworkDiagnosticCodes
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
+
31
+ <name>FrameworkDiagnosticCodes</name>
32
+ <type>fwconfig:FrameworkDiagnosticCodes</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Diagnostic codes emitted by framework utilities</is>
35
+
36
+ <documentation>Used by validateTypes, validateConstraints, and bootstrapTypeRegistry.</documentation>
37
+
38
+ <properties>
39
+ <codes type="type:Text[]">
40
+ <documentation>Ordered: BML_UNKNOWN_BASE_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>
41
+ </codes>
42
+ </properties>
43
+
44
+ </block>