@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,64 @@
1
+ <!--
2
+ Framework Documentation — TypeRegistryBootstrap
3
+ FQN: org.blockml.bml.framework.documentation.TypeRegistryBootstrap
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:doc="org.blockml.bml.documentation">
31
+
32
+ <name>TypeRegistryBootstrap</name>
33
+ <type>fwdocumentation:TypeRegistryBootstrap</type>
34
+ <baseType>core:Documentation</baseType>
35
+ <is>defaultBootstrapPaths and bootstrapTypeRegistry</is>
36
+
37
+ <documentation>bootstrapTypeRegistry(options?) supports two modes:
38
+
39
+ corpus (default) — walks options.paths (or defaultBootstrapPaths()) for all .bml files,
40
+ parses via @blockml/parser parse(), registers each document root block.
41
+
42
+ library — when options.libraryPaths is set, resolves each Library.bml dependency graph
43
+ (dependencies, subLibraries) in order, then registers blocks from each library blocks root.
44
+ Missing Library path → BML_LIBRARY_RESOLVE_ERROR. Outer re-export of inner-only block →
45
+ BML_LIBRARY_NESTING_VIOLATION (minimal check).
46
+
47
+ defaultBootstrapPaths(rootDir?) returns:
48
+ • node_modules/@blockml/core/blocks
49
+ • node_modules/@machineblocks/core/blocks
50
+
51
+ BootstrapResult: { registry: TypeRegistry, diagnostics: Diagnostic[] }
52
+ Read errors emit BML_BOOTSTRAP_READ_ERROR (warning). Parse diagnostics are collected
53
+ but do not stop registration of successfully parsed documents.
54
+
55
+ Hosts (@blockml/cli, @blockml/validator) may inject a pre-built TypeRegistry via
56
+ ValidateOptions.typeRegistry instead of bootstrapping. ValidateOptions.libraryPaths
57
+ selects library mode when typeRegistry is omitted.</documentation>
58
+
59
+ <references>
60
+ <see type="fwdocumentation:EffectiveMembers" relation="ReadNext"></see>
61
+ <see type="fwcap:BootstrapTypeRegistry" relation="Defines"></see>
62
+ </references>
63
+
64
+ </block>
@@ -0,0 +1,48 @@
1
+ <!--
2
+ Framework — ArrayExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.ArrayExpressionNode
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>ArrayExpressionNode</name>
32
+ <type>fwexpression:ArrayExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Array expression AST node</is>
35
+
36
+ <documentation>kind: array. elements: ExpressionNode[].</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>array</value>
42
+ </kind>
43
+ <elements type="fwexpression:ExpressionNode[]">
44
+ <documentation>elements. TS type: fwexpression:ExpressionNode[]. (required)</documentation>
45
+ </elements>
46
+ </properties>
47
+
48
+ </block>
@@ -0,0 +1,54 @@
1
+ <!--
2
+ Framework — BinaryExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.BinaryExpressionNode
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>BinaryExpressionNode</name>
32
+ <type>fwexpression:BinaryExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Binary operator expression AST node</is>
35
+
36
+ <documentation>kind: binary. operator: + | - | * | /. left/right: ExpressionNode.</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>binary</value>
42
+ </kind>
43
+ <operator type="type:Text">
44
+ <documentation>operator. TS type: type:Text. (required)</documentation>
45
+ </operator>
46
+ <left type="fwexpression:ExpressionNode">
47
+ <documentation>left. TS type: fwexpression:ExpressionNode. (required)</documentation>
48
+ </left>
49
+ <right type="fwexpression:ExpressionNode">
50
+ <documentation>right. TS type: fwexpression:ExpressionNode. (required)</documentation>
51
+ </right>
52
+ </properties>
53
+
54
+ </block>
@@ -0,0 +1,51 @@
1
+ <!--
2
+ Framework — CallExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.CallExpressionNode
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>CallExpressionNode</name>
32
+ <type>fwexpression:CallExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Function call expression AST node</is>
35
+
36
+ <documentation>kind: call. callee: string. args: ExpressionNode[].</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>call</value>
42
+ </kind>
43
+ <callee type="type:Text">
44
+ <documentation>callee. TS type: type:Text. (required)</documentation>
45
+ </callee>
46
+ <args type="fwexpression:ExpressionNode[]">
47
+ <documentation>args. TS type: fwexpression:ExpressionNode[]. (required)</documentation>
48
+ </args>
49
+ </properties>
50
+
51
+ </block>
@@ -0,0 +1,44 @@
1
+ <!--
2
+ Framework — ExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.ExpressionNode
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>ExpressionNode</name>
32
+ <type>fwexpression:ExpressionNode</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Abstract union of expression AST node variants</is>
35
+
36
+ <documentation>Discriminated by kind: literal | array | object | property | call | binary.</documentation>
37
+
38
+ <references>
39
+ <see type="fwexpression:LiteralExpressionNode" relation="SeeAlso" />
40
+ </references>
41
+
42
+ <abstract>true</abstract>
43
+
44
+ </block>
@@ -0,0 +1,48 @@
1
+ <!--
2
+ Framework — LiteralExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.LiteralExpressionNode
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>LiteralExpressionNode</name>
32
+ <type>fwexpression:LiteralExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Literal expression AST node</is>
35
+
36
+ <documentation>kind: literal. value: string | number | boolean | null.</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>literal</value>
42
+ </kind>
43
+ <value type="core:Any">
44
+ <documentation>value. TS type: core:Any. (required)</documentation>
45
+ </value>
46
+ </properties>
47
+
48
+ </block>
@@ -0,0 +1,48 @@
1
+ <!--
2
+ Framework — ObjectExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.ObjectExpressionNode
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>ObjectExpressionNode</name>
32
+ <type>fwexpression:ObjectExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Object expression AST node</is>
35
+
36
+ <documentation>kind: object. entries: Record<string, ExpressionNode>.</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>object</value>
42
+ </kind>
43
+ <entries type="core:Any">
44
+ <documentation>Record<string, ExpressionNode>. (required)</documentation>
45
+ </entries>
46
+ </properties>
47
+
48
+ </block>
@@ -0,0 +1,47 @@
1
+ <!--
2
+ Framework — ParseExpressionError
3
+ FQN: org.blockml.bml.framework.expression.ParseExpressionError
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>ParseExpressionError</name>
32
+ <type>fwexpression:ParseExpressionError</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Failed parseExpression error detail</is>
35
+
36
+ <documentation>Returned when ParseExpressionOutcome.ok === false.</documentation>
37
+
38
+ <properties>
39
+ <message type="type:Text">
40
+ <documentation>message. TS type: type:Text. (required)</documentation>
41
+ </message>
42
+ <offset type="type:Integer">
43
+ <documentation>offset. TS type: type:Integer. (required)</documentation>
44
+ </offset>
45
+ </properties>
46
+
47
+ </block>
@@ -0,0 +1,50 @@
1
+ <!--
2
+ Framework — ParseExpressionOutcome
3
+ FQN: org.blockml.bml.framework.expression.ParseExpressionOutcome
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>ParseExpressionOutcome</name>
32
+ <type>fwexpression:ParseExpressionOutcome</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Discriminated union result of parseExpression</is>
35
+
36
+ <documentation>TS: { ok: true, result: ParseExpressionResult } | { ok: false, error: ParseExpressionError }.</documentation>
37
+
38
+ <properties>
39
+ <ok type="type:Boolean">
40
+ <documentation>ok. TS type: type:Boolean. (required)</documentation>
41
+ </ok>
42
+ <result type="fwexpression:ParseExpressionResult">
43
+ <documentation>Present when ok === true. (optional)</documentation>
44
+ </result>
45
+ <error type="fwexpression:ParseExpressionError">
46
+ <documentation>Present when ok === false. (optional)</documentation>
47
+ </error>
48
+ </properties>
49
+
50
+ </block>
@@ -0,0 +1,47 @@
1
+ <!--
2
+ Framework — ParseExpressionResult
3
+ FQN: org.blockml.bml.framework.expression.ParseExpressionResult
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>ParseExpressionResult</name>
32
+ <type>fwexpression:ParseExpressionResult</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Successful parseExpression result</is>
35
+
36
+ <documentation>Returned when ParseExpressionOutcome.ok === true.</documentation>
37
+
38
+ <properties>
39
+ <ast type="fwexpression:ExpressionNode">
40
+ <documentation>ast. TS type: fwexpression:ExpressionNode. (required)</documentation>
41
+ </ast>
42
+ <resultTypeFqn type="type:Text">
43
+ <documentation>Optional resolved result type FQN. (optional)</documentation>
44
+ </resultTypeFqn>
45
+ </properties>
46
+
47
+ </block>
@@ -0,0 +1,48 @@
1
+ <!--
2
+ Framework — PropertyExpressionNode
3
+ FQN: org.blockml.bml.framework.expression.PropertyExpressionNode
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>PropertyExpressionNode</name>
32
+ <type>fwexpression:PropertyExpressionNode</type>
33
+ <baseType>fwexpression:ExpressionNode</baseType>
34
+ <is>Property path expression AST node</is>
35
+
36
+ <documentation>kind: property. path: string[] (dot-separated property access).</documentation>
37
+
38
+ <properties>
39
+ <kind type="type:Text">
40
+ <documentation>kind. TS type: type:Text. (required)</documentation>
41
+ <value>property</value>
42
+ </kind>
43
+ <path type="type:Text[]">
44
+ <documentation>path. TS type: type:Text[]. (required)</documentation>
45
+ </path>
46
+ </properties>
47
+
48
+ </block>
@@ -0,0 +1,50 @@
1
+ <!--
2
+ Framework — BootstrapOptions
3
+ FQN: org.blockml.bml.framework.registry.BootstrapOptions
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>BootstrapOptions</name>
32
+ <type>fwregistry:BootstrapOptions</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Options for bootstrapTypeRegistry corpus or library graph modes</is>
35
+
36
+ <documentation>paths — flat corpus scan roots. libraryPaths — Library.bml entry points for dependency-ordered library mode. rootDir — relative path resolution base.</documentation>
37
+
38
+ <properties>
39
+ <paths type="type:Text[]">
40
+ <documentation>Corpus roots for flat scan mode. (optional)</documentation>
41
+ </paths>
42
+ <libraryPaths type="type:Text[]">
43
+ <documentation>Library.bml file paths for library graph mode. (optional)</documentation>
44
+ </libraryPaths>
45
+ <rootDir type="type:Text">
46
+ <documentation>Working directory for relative paths. (optional)</documentation>
47
+ </rootDir>
48
+ </properties>
49
+
50
+ </block>
@@ -0,0 +1,53 @@
1
+ <!--
2
+ Framework — BootstrapResult
3
+ FQN: org.blockml.bml.framework.registry.BootstrapResult
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>BootstrapResult</name>
32
+ <type>fwregistry:BootstrapResult</type>
33
+ <baseType>framework:FrameworkType</baseType>
34
+ <is>Result of bootstrapTypeRegistry corpus walk</is>
35
+
36
+ <documentation>Returned by fwcap:BootstrapTypeRegistry. Registry may be partially populated when diagnostics are present.
37
+
38
+ exportsByLibrary — optional Map from absolute Library.bml path to exported block FQNs;
39
+ present only when bootstrap used libraryPaths mode.</documentation>
40
+
41
+ <properties>
42
+ <registry type="fwcap:TypeRegistry">
43
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ </registry>
45
+ <diagnostics type="bomcommon:Diagnostic[]">
46
+ <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
47
+ </diagnostics>
48
+ <exportsByLibrary type="type:Text">
49
+ <documentation>exportsByLibrary — Map&lt;libraryPath, Set&lt;exportedFqn&gt;&gt; when libraryPaths bootstrap. (optional)</documentation>
50
+ </exportsByLibrary>
51
+ </properties>
52
+
53
+ </block>