@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
@@ -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>FrameworkType</name>
32
35
  <type>framework:FrameworkType</type>
@@ -37,21 +37,26 @@
37
37
  <is>The BlockML Framework utilities package library catalog</is>
38
38
 
39
39
  <documentation>
40
+ # The BlockML Framework utilities package library catalog
41
+
40
42
  Canonical framework specification for BlockML Stage-2 utilities — TypeRegistry,
41
43
  bootstrap, fork/resolve, parseExpression, validateTypes/validateConstraints.
44
+
42
45
  TypeScript in packages/framework/src/ implements this library.
46
+
43
47
  Urmodell types live in org.blockml.bml.bom.* (@blockml/bom).
48
+
44
49
  Membership is defined exclusively by this blocks list.
45
50
  </documentation>
46
51
 
47
- <version>0.7.1</version>
52
+ <version>0.8.1</version>
48
53
 
49
54
  <language>
50
55
  <English />
51
56
  </language>
52
57
 
53
58
  <properties>
54
- <description>
59
+ <description override="true">
55
60
  <value>BlockML Framework utilities library</value>
56
61
  </description>
57
62
  </properties>
@@ -70,11 +75,14 @@
70
75
  </composition>
71
76
  </dependencies>
72
77
  <blocks>
73
- <composition><framework:FrameworkType />
78
+ <composition>
79
+ <framework:FrameworkType />
74
80
  <fwregistry:BootstrapResult />
81
+ <fwregistry:BootstrapTrace />
75
82
  <fwexpression:ExpressionNode />
76
83
  <fwexpression:LiteralExpressionNode />
77
84
  <fwexpression:ArrayExpressionNode />
85
+ <fwexpression:ObjectExpressionEntry />
78
86
  <fwexpression:ObjectExpressionNode />
79
87
  <fwexpression:PropertyExpressionNode />
80
88
  <fwexpression:CallExpressionNode />
@@ -86,7 +94,13 @@
86
94
  <fwconfig:FrameworkDiagnosticCodes />
87
95
  <fwcap:TypeRegistry />
88
96
  <fwcap:BootstrapTypeRegistry />
97
+ <fwcap:BootstrapFullProjectRegistry />
89
98
  <fwcap:DefaultBootstrapPaths />
99
+ <fwcap:ResolveLibrarySeeds />
100
+ <fwcap:ProjectSourceRoots />
101
+ <fwcap:ProjectLibraryPackageRoots />
102
+ <fwcap:ProjectLibraryPackageDirs />
103
+ <fwcap:RegistryFilesUnderRoots />
90
104
  <fwcap:ForkBom />
91
105
  <fwcap:ResolveContracts />
92
106
  <fwcap:ResolveEffectiveMembers />
@@ -99,6 +113,7 @@
99
113
  <fwcap:RootFqnByFilePath />
100
114
  <fwcap:RootFqns />
101
115
  <fwcap:GetExportedFqns />
116
+ <fwcap:PeekLibraryTypeFqn />
102
117
  <fwcap:ValidateEmbeddedBlocks />
103
118
  <fwcap:ValidateInstances />
104
119
  <fwcap:ValidatePresets />
@@ -32,7 +32,7 @@
32
32
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
33
 
34
34
  <name>README</name>
35
- <type>blockml:README</type>
35
+ <type>framework:README</type>
36
36
  <baseType>core:ReadMe</baseType>
37
37
  <is>Reading entry for the Framework utilities library</is>
38
38
 
@@ -0,0 +1,62 @@
1
+ <!--
2
+ Framework Capability — BootstrapFullProjectRegistry
3
+ FQN: org.blockml.bml.framework.capability.BootstrapFullProjectRegistry
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>BootstrapFullProjectRegistry</name>
35
+ <type>fwcap:BootstrapFullProjectRegistry</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Bootstrap the same corpus as blockml validate --all</is>
38
+
39
+ <documentation>projectSourceRoots plus resolveLibrarySeeds, then bootstrapTypeRegistry. Resulting registry includes local project BML and the library graph (npm BlockML packages). Search and validate --all must use this entry point.</documentation>
40
+
41
+ <references>
42
+ <see type="fwcap:ProjectSourceRoots" relation="SeeAlso" />
43
+ <see type="fwcap:BootstrapTypeRegistry" relation="SeeAlso" />
44
+ <see type="fwcap:ResolveLibrarySeeds" relation="SeeAlso" />
45
+ </references>
46
+
47
+ <properties>
48
+ <rootDir type="type:Text">
49
+ <documentation>Project root. (required)</documentation>
50
+ </rootDir>
51
+ <srcDir type="type:Text">
52
+ <documentation>Default blocks. (optional)</documentation>
53
+ </srcDir>
54
+ <libraries type="type:Text[]">
55
+ <documentation>Extra Library.bml seeds (config.libraries / --libraries). (optional)</documentation>
56
+ </libraries>
57
+ <result type="fwregistry:BootstrapResult">
58
+ <documentation>result. TS type: fwregistry:BootstrapResult. (required)</documentation>
59
+ </result>
60
+ </properties>
61
+
62
+ </block>
@@ -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>BootstrapTypeRegistry</name>
32
35
  <type>fwcap:BootstrapTypeRegistry</type>
@@ -37,6 +40,7 @@
37
40
 
38
41
  <references>
39
42
  <see type="fwcap:DefaultBootstrapPaths" relation="SeeAlso" />
43
+ <see type="fwcap:ResolveLibrarySeeds" relation="SeeAlso" />
40
44
  <see type="fwregistry:BootstrapOptions" relation="SeeAlso" />
41
45
  <see type="parser:Library" relation="SeeAlso" />
42
46
  </references>
@@ -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>CollectBaseTypeChain</name>
32
35
  <type>fwcap:CollectBaseTypeChain</type>
@@ -26,14 +26,17 @@
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>DefaultBootstrapPaths</name>
32
35
  <type>fwcap:DefaultBootstrapPaths</type>
33
36
  <baseType>core:Capability</baseType>
34
- <is>Default TypeRegistry corpus paths under node_modules</is>
37
+ <is>Corpus fallback paths from production BlockML npm dependencies</is>
35
38
 
36
- <documentation>Default TypeRegistry corpus paths under node_modules</documentation>
39
+ <documentation>Nearest package.json dependencies + optionalDependencies that have blockml.library or blockml.config.json. Resolve via node_modules walk-up. Package source root is srcDir (default blocks; foreign blockml.config.json may override srcDir only).</documentation>
37
40
 
38
41
  <properties>
39
42
  <rootDir type="type:Text">
@@ -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>ForkBom</name>
32
35
  <type>fwcap:ForkBom</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"
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"
24
+ xmlns:fwconfig="org.blockml.bml.framework.config"
25
+ xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
26
+ xmlns:fwexpression="org.blockml.bml.framework.expression"
14
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
15
- 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">
16
33
 
17
34
  <name>GetExportedFqns</name>
18
35
  <type>fwcap:GetExportedFqns</type>
19
36
  <baseType>core:Capability</baseType>
20
37
  <is>Exported block FQNs for a library path from BootstrapResult</is>
21
38
 
39
+ <documentation>Exported block FQNs for a library path from BootstrapResult</documentation>
40
+
22
41
  <properties>
23
42
  <libraryPath type="type:Text">
24
- <documentation>libraryPath. (required)</documentation>
43
+ <documentation>libraryPath. TS type: type:Text. (required)</documentation>
25
44
  </libraryPath>
26
45
  <bootstrap type="fwregistry:BootstrapResult">
27
- <documentation>bootstrap. (required)</documentation>
46
+ <documentation>bootstrap. TS type: fwregistry:BootstrapResult. (required)</documentation>
28
47
  </bootstrap>
29
48
  <rootDir type="type:Text">
30
49
  <documentation>rootDir — default process.cwd(). (optional)</documentation>
@@ -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>GetPropertyNumericValue</name>
32
35
  <type>fwcap:GetPropertyNumericValue</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>IsLiteralValue</name>
32
35
  <type>fwcap:IsLiteralValue</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>MemberIdentityKey</name>
32
35
  <type>fwcap:MemberIdentityKey</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>ParseExpression</name>
32
35
  <type>fwcap:ParseExpression</type>
@@ -0,0 +1,54 @@
1
+ <!--
2
+ Framework Capability — PeekLibraryTypeFqn
3
+ FQN: org.blockml.bml.framework.capability.PeekLibraryTypeFqn
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>PeekLibraryTypeFqn</name>
35
+ <type>fwcap:PeekLibraryTypeFqn</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Root type FQN of a Library.bml file</is>
38
+
39
+ <documentation>Reads Library.bml and returns document.block.type, or undefined if the file is missing or invalid. Used to compare library identity across realpaths (workspace vs npm copy).</documentation>
40
+
41
+ <references>
42
+ <see type="fwcap:ResolveLibrarySeeds" relation="SeeAlso" />
43
+ </references>
44
+
45
+ <properties>
46
+ <libraryPath type="type:Text">
47
+ <documentation>libraryPath. TS type: type:Text. (required)</documentation>
48
+ </libraryPath>
49
+ <typeFqn type="type:Text">
50
+ <documentation>Library type FQN, or undefined. (optional)</documentation>
51
+ </typeFqn>
52
+ </properties>
53
+
54
+ </block>
@@ -0,0 +1,50 @@
1
+ <!--
2
+ Framework Capability — ProjectLibraryPackageDirs
3
+ FQN: org.blockml.bml.framework.capability.ProjectLibraryPackageDirs
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>ProjectLibraryPackageDirs</name>
35
+ <type>fwcap:ProjectLibraryPackageDirs</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Package directories that declare blockml.library</is>
38
+
39
+ <documentation>This package and local packages/* that declare package.json blockml.library. Sorted, canonical, no node_modules walk.</documentation>
40
+
41
+ <properties>
42
+ <rootDir type="type:Text">
43
+ <documentation>Project root. (required)</documentation>
44
+ </rootDir>
45
+ <dirs type="type:Text[]">
46
+ <documentation>dirs. TS type: type:Text[]. (required)</documentation>
47
+ </dirs>
48
+ </properties>
49
+
50
+ </block>
@@ -0,0 +1,50 @@
1
+ <!--
2
+ Framework Capability — ProjectLibraryPackageRoots
3
+ FQN: org.blockml.bml.framework.capability.ProjectLibraryPackageRoots
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>ProjectLibraryPackageRoots</name>
35
+ <type>fwcap:ProjectLibraryPackageRoots</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>srcDir roots of local packages that declare blockml.library</is>
38
+
39
+ <documentation>Stricter than projectSourceRoots: config-only packages are omitted. Does not walk parent workspaces or node_modules.</documentation>
40
+
41
+ <properties>
42
+ <rootDir type="type:Text">
43
+ <documentation>Project root. (required)</documentation>
44
+ </rootDir>
45
+ <roots type="type:Text[]">
46
+ <documentation>roots. TS type: type:Text[]. (required)</documentation>
47
+ </roots>
48
+ </properties>
49
+
50
+ </block>
@@ -0,0 +1,53 @@
1
+ <!--
2
+ Framework Capability — ProjectSourceRoots
3
+ FQN: org.blockml.bml.framework.capability.ProjectSourceRoots
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>ProjectSourceRoots</name>
35
+ <type>fwcap:ProjectSourceRoots</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Project-owned BML roots for this package plus local packages/*</is>
38
+
39
+ <documentation>This package's srcDir plus local packages/* BlockML modules (blockml.library or blockml.config.json). Does not walk parent workspaces or node_modules.</documentation>
40
+
41
+ <properties>
42
+ <rootDir type="type:Text">
43
+ <documentation>Project root. (required)</documentation>
44
+ </rootDir>
45
+ <srcDir type="type:Text">
46
+ <documentation>Default blocks. (optional)</documentation>
47
+ </srcDir>
48
+ <roots type="type:Text[]">
49
+ <documentation>roots. TS type: type:Text[]. (required)</documentation>
50
+ </roots>
51
+ </properties>
52
+
53
+ </block>
@@ -0,0 +1,53 @@
1
+ <!--
2
+ Framework Capability — RegistryFilesUnderRoots
3
+ FQN: org.blockml.bml.framework.capability.RegistryFilesUnderRoots
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>RegistryFilesUnderRoots</name>
35
+ <type>fwcap:RegistryFilesUnderRoots</type>
36
+ <baseType>core:Capability</baseType>
37
+ <is>Registry file paths whose realpath lies under given roots</is>
38
+
39
+ <documentation>Filters TypeRegistry document file paths to those under any of the given roots.</documentation>
40
+
41
+ <properties>
42
+ <registry type="fwcap:TypeRegistry">
43
+ <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ </registry>
45
+ <roots type="type:Text[]">
46
+ <documentation>roots. TS type: type:Text[]. (required)</documentation>
47
+ </roots>
48
+ <files type="type:Text[]">
49
+ <documentation>files. TS type: type:Text[]. (required)</documentation>
50
+ </files>
51
+ </properties>
52
+
53
+ </block>
@@ -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>ResolveContracts</name>
32
35
  <type>fwcap:ResolveContracts</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>ResolveEffectiveMembers</name>
32
35
  <type>fwcap:ResolveEffectiveMembers</type>