@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
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>LayerSeparation</name>
@@ -52,8 +55,8 @@
52
55
  Framework reads Definition types via TypeRegistry; does not duplicate grammar blocks.</documentation>
53
56
 
54
57
  <references>
55
- <see type="fwdocumentation:ArchitectureOverview" relation="ReadNext"></see>
56
- <see type="bomdocumentation:LayerSeparation" relation="SeeAlso"></see>
58
+ <see type="fwdocumentation:ArchitectureOverview" relation="ReadNext" />
59
+ <see type="bomdocumentation:LayerSeparation" relation="SeeAlso" />
57
60
  </references>
58
61
 
59
62
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>PackageOwnership</name>
@@ -49,8 +52,8 @@
49
52
  @blockml/cli — TypeRegistry bootstrap host and validate/compile orchestration.</documentation>
50
53
 
51
54
  <references>
52
- <see type="fwdocumentation:ScopeExclusions" relation="ReadNext"></see>
53
- <see type="bomdocumentation:PackageOwnership" relation="SeeAlso"></see>
55
+ <see type="fwdocumentation:ScopeExclusions" relation="ReadNext" />
56
+ <see type="bomdocumentation:PackageOwnership" relation="SeeAlso" />
54
57
  </references>
55
58
 
56
59
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>PublicApi</name>
@@ -34,15 +37,22 @@
34
37
  <baseType>core:Documentation</baseType>
35
38
  <is>Framework public exports from index.ts</is>
36
39
 
37
- <documentation>Public exports from @blockml/framework (packages/framework/src/index.ts):
40
+ <documentation><![CDATA[Public exports from @blockml/framework (packages/framework/src/index.ts):
38
41
 
39
42
  TypeRegistry — class; register/get/has/keys/size on BomDocument index
40
43
  bootstrapTypeRegistry(options?) → BootstrapResult
44
+ bootstrapFullProjectRegistry({ rootDir, srcDir?, libraries? }) → BootstrapResult
41
45
  defaultBootstrapPaths(rootDir?) → string[]
46
+ resolveLibrarySeeds(rootDir?, extras?) → string[]
47
+ projectSourceRoots(rootDir, srcDir?) → string[]
48
+ projectLibraryPackageRoots(rootDir) → string[]
49
+ projectLibraryPackageDirs(rootDir) → string[]
50
+ registryFilesUnderRoots(registry, roots) → string[]
51
+ peekLibraryTypeFqn(libraryPath) → string | undefined
42
52
  BootstrapOptions — paths?, libraryPaths?, rootDir?
43
- rootFqnByFilePath(registry) Map&lt;filePath, rootFqn&gt;
44
- rootFqns(registry) string[]
45
- getExportedFqns(libraryPath, bootstrap, rootDir?) → Set&lt;string&gt; | undefined
53
+ BootstrapResult registry, diagnostics, exportsByLibrary?, trace?
54
+ BootstrapTrace corpusPaths, seeds, searchRoots, librariesVisited, skippedCoveredRoots
55
+ rootFqnByFilePath(registry) → Map<filePath, rootFqn>
46
56
  forkBom(document) → BomDocument
47
57
  resolveEffectiveMembers(block, registry) → MemberDefinition[]
48
58
  resolveContracts(block, registry) → MemberDefinition[] (contract slice; used by resolveEffectiveMembers)
@@ -50,23 +60,18 @@
50
60
  memberIdentityKey(member) → string
51
61
  parseExpression(source) → ParseExpressionOutcome
52
62
  validateTypes(document, registry) → Diagnostic[]
53
- validateEmbeddedBlocks(document) → Diagnostic[]
54
63
  validateVersions(document, registry) → Diagnostic[]
55
- validateInstances(document, registry) → Diagnostic[]
56
- validatePresets(document, registry) → Diagnostic[]
57
- validateVisibility(document, registry) → Diagnostic[]
58
- validateReadOnly(document, registry) → Diagnostic[]
59
64
  validateConstraints(document, registry) → Diagnostic[]
60
65
  getPropertyNumericValue(property) → number | undefined
61
66
  isLiteralValue(value) → boolean
62
67
 
63
- Types: BootstrapResult, BootstrapOptions, ExpressionNode, ParseExpressionResult, ParseExpressionOutcome
68
+ Types: BootstrapResult, BootstrapTrace, BootstrapOptions, ExpressionNode, ParseExpressionResult, ParseExpressionOutcome
64
69
 
65
- Not exported from index: getLiteralNumericValue (internal helper in validate-types.ts).</documentation>
70
+ Not exported from index: getLiteralNumericValue (internal helper in validate-types.ts).]]></documentation>
66
71
 
67
72
  <references>
68
- <see type="fwdocumentation:TypeRegistryBootstrap" relation="ReadNext"></see>
69
- <see type="bomapi:TypeRegistryReader" relation="SeeAlso"></see>
73
+ <see type="fwdocumentation:TypeRegistryBootstrap" relation="ReadNext" />
74
+ <see type="bomapi:TypeRegistryReader" relation="SeeAlso" />
70
75
  </references>
71
76
 
72
77
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>ScopeExclusions</name>
@@ -46,7 +49,7 @@
46
49
  In scope: Stage-2 utilities on BomDocument with TypeRegistry-backed semantic checks.</documentation>
47
50
 
48
51
  <references>
49
- <see type="fwdocumentation:Introduction" relation="SeeAlso"></see>
52
+ <see type="fwdocumentation:Introduction" relation="SeeAlso" />
50
53
  </references>
51
54
 
52
55
  </block>
@@ -27,6 +27,9 @@
27
27
  xmlns:fwregistry="org.blockml.bml.framework.registry"
28
28
  xmlns:parser="org.blockml.bml.compiler.parser"
29
29
  xmlns:type="org.blockml.bml.type"
30
+ xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
31
+ xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
30
33
  xmlns:doc="org.blockml.bml.documentation">
31
34
 
32
35
  <name>TypeRegistryBootstrap</name>
@@ -40,25 +43,49 @@
40
43
  parses via @blockml/parser parse(), registers each document root block.
41
44
 
42
45
  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
+ (dependencies, subLibraries) in order, then registers blocks from each library blocks root
47
+ except trees already covered by options.paths (srcDir / corpus). Missing Library path
48
+ BML_LIBRARY_RESOLVE_ERROR. Outer re-export of a block listed in a nested inner library's
49
+ blocks (via subLibraries, including transitive nested inners) →
50
+ BML_LIBRARY_NESTING_VIOLATION. Duplicate files of the same library type FQN are not
51
+ compared and are not loaded.
46
52
 
47
- defaultBootstrapPaths(rootDir?) returns:
48
- node_modules/@blockml/core/blocks
49
- node_modules/@machineblocks/core/blocks
53
+ defaultBootstrapPaths(rootDir?) returns BlockML srcDir roots for production
54
+ npm dependencies (package.json dependencies + optionalDependencies) of the nearest
55
+ package, resolved via node_modules walk-up. Used as corpus fallback when no paths
56
+ are given. A BlockML package is identified by blockml.library or blockml.config.json;
57
+ its source root is srcDir (default "blocks", override only in that package's
58
+ blockml.config.json).
50
59
 
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.
60
+ resolveLibrarySeeds(rootDir, extras?) prepends package.json blockml.library, then
61
+ extras (config.libraries / --libraries), deduped by realpath.
62
+
63
+ bootstrapFullProjectRegistry({ rootDir, srcDir?, libraries? }) is the shared
64
+ entry point for `blockml validate --all` and `@blockml/search`. It sets
65
+ corpus paths to projectSourceRoots (this package srcDir plus local packages/*
66
+ BlockML modules) and library seeds to resolveLibrarySeeds, then calls
67
+ bootstrapTypeRegistry. The resulting registry is the effective BML corpus:
68
+ local project files plus the library graph including npm BlockML packages.
69
+
70
+ bootstrapTypeRegistry also indexes Library.bml under all BlockML packages found in
71
+ node_modules and workspace packages/ along the directory walk (FQN search space).
72
+ First visited Library.bml wins per type FQN; a second file with the same type is not
73
+ loaded (workspace Core vs an installed copy). node_modules is indexed before
74
+ workspace packages.
75
+
76
+ BootstrapResult: { registry, diagnostics, exportsByLibrary?, trace? }
77
+ trace lists corpusPaths, seeds, searchRoots (index only), librariesVisited, and
78
+ skippedCoveredRoots. Read errors emit BML_BOOTSTRAP_READ_ERROR (warning). Parse
79
+ diagnostics are collected but do not stop registration of successfully parsed
80
+ documents.
54
81
 
55
82
  Hosts (@blockml/cli, @blockml/validator) may inject a pre-built TypeRegistry via
56
83
  ValidateOptions.typeRegistry instead of bootstrapping. ValidateOptions.libraryPaths
57
84
  selects library mode when typeRegistry is omitted.</documentation>
58
85
 
59
86
  <references>
60
- <see type="fwdocumentation:EffectiveMembers" relation="ReadNext"></see>
61
- <see type="fwcap:BootstrapTypeRegistry" relation="Defines"></see>
87
+ <see type="fwdocumentation:EffectiveMembers" relation="ReadNext" />
88
+ <see type="fwcap:BootstrapTypeRegistry" relation="Defines" />
62
89
  </references>
63
90
 
64
91
  </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>ArrayExpressionNode</name>
32
35
  <type>fwexpression:ArrayExpressionNode</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>BinaryExpressionNode</name>
32
35
  <type>fwexpression:BinaryExpressionNode</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>CallExpressionNode</name>
32
35
  <type>fwexpression:CallExpressionNode</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>ExpressionNode</name>
32
35
  <type>fwexpression:ExpressionNode</type>
@@ -26,22 +26,25 @@
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>LiteralExpressionNode</name>
32
35
  <type>fwexpression:LiteralExpressionNode</type>
33
36
  <baseType>fwexpression:ExpressionNode</baseType>
34
37
  <is>Literal expression AST node</is>
35
38
 
36
- <documentation>kind: literal. value: string | number | boolean | null.</documentation>
39
+ <documentation>kind: literal. value: string | number | boolean | null. BML union covers primitives; null is documented only.</documentation>
37
40
 
38
41
  <properties>
39
42
  <kind type="type:Text">
40
43
  <documentation>kind. TS type: type:Text. (required)</documentation>
41
44
  <value>literal</value>
42
45
  </kind>
43
- <value type="core:Any">
44
- <documentation>value. TS type: core:Any. (required)</documentation>
46
+ <value type="type:Text | type:Integer | type:Decimal | type:Boolean">
47
+ <documentation>BML type gap: TS string | number | boolean | null. Union covers primitive cases; null is documented only. (required)</documentation>
45
48
  </value>
46
49
  </properties>
47
50
 
@@ -0,0 +1,50 @@
1
+ <!--
2
+ Framework — ObjectExpressionEntry
3
+ FQN: org.blockml.bml.framework.expression.ObjectExpressionEntry
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>ObjectExpressionEntry</name>
35
+ <type>fwexpression:ObjectExpressionEntry</type>
36
+ <baseType>framework:FrameworkType</baseType>
37
+ <is>One key/value pair in an object expression</is>
38
+
39
+ <documentation><![CDATA[BML type gap: stands for TypeScript Record<string, ExpressionNode>. Core has no Map ValueType; this struct is the per-entry shape.]]></documentation>
40
+
41
+ <properties>
42
+ <key type="type:Text">
43
+ <documentation>key. TS type: type:Text. (required)</documentation>
44
+ </key>
45
+ <value type="fwexpression:ExpressionNode">
46
+ <documentation>value. TS type: fwexpression:ExpressionNode. (required)</documentation>
47
+ </value>
48
+ </properties>
49
+
50
+ </block>
@@ -26,22 +26,25 @@
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>ObjectExpressionNode</name>
32
35
  <type>fwexpression:ObjectExpressionNode</type>
33
36
  <baseType>fwexpression:ExpressionNode</baseType>
34
37
  <is>Object expression AST node</is>
35
38
 
36
- <documentation>kind: object. entries: Record<string, ExpressionNode>.</documentation>
39
+ <documentation><![CDATA[kind: object. entries: Record<string, ExpressionNode>.]]></documentation>
37
40
 
38
41
  <properties>
39
42
  <kind type="type:Text">
40
43
  <documentation>kind. TS type: type:Text. (required)</documentation>
41
44
  <value>object</value>
42
45
  </kind>
43
- <entries type="core:Any">
44
- <documentation>Record<string, ExpressionNode>. (required)</documentation>
46
+ <entries type="fwexpression:ObjectExpressionEntry[]">
47
+ <documentation>BML type gap: TS Record&lt;string, ExpressionNode&gt;. (required)</documentation>
45
48
  </entries>
46
49
  </properties>
47
50
 
@@ -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>ParseExpressionError</name>
32
35
  <type>fwexpression:ParseExpressionError</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>ParseExpressionOutcome</name>
32
35
  <type>fwexpression:ParseExpressionOutcome</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>ParseExpressionResult</name>
32
35
  <type>fwexpression:ParseExpressionResult</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>PropertyExpressionNode</name>
32
35
  <type>fwexpression:PropertyExpressionNode</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>BootstrapOptions</name>
32
35
  <type>fwregistry:BootstrapOptions</type>
@@ -26,17 +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>BootstrapResult</name>
32
35
  <type>fwregistry:BootstrapResult</type>
33
36
  <baseType>framework:FrameworkType</baseType>
34
37
  <is>Result of bootstrapTypeRegistry corpus walk</is>
35
38
 
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>
39
+ <documentation>Returned by fwcap:BootstrapTypeRegistry. Registry may be partially populated when diagnostics are present. exportsByLibrary is set in libraryPaths mode. trace lists corpus, seeds, search index, visited libraries, and skipped covered roots.</documentation>
40
40
 
41
41
  <properties>
42
42
  <registry type="fwcap:TypeRegistry">
@@ -48,6 +48,9 @@
48
48
  <exportsByLibrary type="type:Text">
49
49
  <documentation>exportsByLibrary — Map&lt;libraryPath, Set&lt;exportedFqn&gt;&gt; when libraryPaths bootstrap. (optional)</documentation>
50
50
  </exportsByLibrary>
51
+ <trace type="fwregistry:BootstrapTrace">
52
+ <documentation>Bootstrap source trace for hosts such as CLI --verbose. (optional)</documentation>
53
+ </trace>
51
54
  </properties>
52
55
 
53
56
  </block>
@@ -0,0 +1,59 @@
1
+ <!--
2
+ Framework — BootstrapTrace
3
+ FQN: org.blockml.bml.framework.registry.BootstrapTrace
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>BootstrapTrace</name>
35
+ <type>fwregistry:BootstrapTrace</type>
36
+ <baseType>framework:FrameworkType</baseType>
37
+ <is>Resolved bootstrap sources for tracing</is>
38
+
39
+ <documentation>corpusPaths — scanned corpus roots. seeds — libraryPaths used. searchRoots — discovery index (not a corpus dump). librariesVisited — graph order. skippedCoveredRoots — library trees skipped because they sit inside corpus srcDir.</documentation>
40
+
41
+ <properties>
42
+ <corpusPaths type="type:Text[]">
43
+ <documentation>corpusPaths. TS type: type:Text[]. (required)</documentation>
44
+ </corpusPaths>
45
+ <seeds type="type:Text[]">
46
+ <documentation>seeds. TS type: type:Text[]. (required)</documentation>
47
+ </seeds>
48
+ <searchRoots type="type:Text[]">
49
+ <documentation>searchRoots. TS type: type:Text[]. (required)</documentation>
50
+ </searchRoots>
51
+ <librariesVisited type="type:Text[]">
52
+ <documentation>librariesVisited. TS type: type:Text[]. (required)</documentation>
53
+ </librariesVisited>
54
+ <skippedCoveredRoots type="type:Text[]">
55
+ <documentation>skippedCoveredRoots. TS type: type:Text[]. (required)</documentation>
56
+ </skippedCoveredRoots>
57
+ </properties>
58
+
59
+ </block>
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export { TypeRegistry } from "./registry/type-registry.js";
2
- export { bootstrapTypeRegistry, defaultBootstrapPaths, type BootstrapResult, type BootstrapOptions, } from "./registry/bootstrap.js";
2
+ export { bootstrapTypeRegistry, bootstrapFullProjectRegistry, defaultBootstrapPaths, resolveLibrarySeeds, type BootstrapResult, type BootstrapOptions, type BootstrapTrace, } from "./registry/bootstrap.js";
3
+ export { projectSourceRoots, projectLibraryPackageRoots, projectLibraryPackageDirs, registryFilesUnderRoots, } from "./registry/project-sources.js";
3
4
  export { rootFqnByFilePath, rootFqns } from "./registry/root-fqn.js";
4
5
  export { getExportedFqns } from "./registry/library-exports.js";
6
+ export { peekLibraryTypeFqn } from "./registry/library-bootstrap.js";
5
7
  export { forkBom } from "./fork/fork-bom.js";
6
8
  export { resolveEffectiveMembers, resolveContracts, collectBaseTypeChain, memberIdentityKey, } from "./resolve/resolve-effective-members.js";
7
9
  export { parseExpression } from "./expression/parse-expression.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  export { TypeRegistry } from "./registry/type-registry.js";
2
- export { bootstrapTypeRegistry, defaultBootstrapPaths, } from "./registry/bootstrap.js";
2
+ export { bootstrapTypeRegistry, bootstrapFullProjectRegistry, defaultBootstrapPaths, resolveLibrarySeeds, } from "./registry/bootstrap.js";
3
+ export { projectSourceRoots, projectLibraryPackageRoots, projectLibraryPackageDirs, registryFilesUnderRoots, } from "./registry/project-sources.js";
3
4
  export { rootFqnByFilePath, rootFqns } from "./registry/root-fqn.js";
4
5
  export { getExportedFqns } from "./registry/library-exports.js";
6
+ export { peekLibraryTypeFqn } from "./registry/library-bootstrap.js";
5
7
  export { forkBom } from "./fork/fork-bom.js";
6
8
  export { resolveEffectiveMembers, resolveContracts, collectBaseTypeChain, memberIdentityKey, } from "./resolve/resolve-effective-members.js";
7
9
  export { parseExpression } from "./expression/parse-expression.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAGtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMnE,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMnE,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -8,12 +8,38 @@ export interface BootstrapOptions {
8
8
  /** Working directory for relative paths. */
9
9
  rootDir?: string;
10
10
  }
11
+ /**
12
+ * Corpus fallback: BlockML packages among the nearest package.json production
13
+ * dependencies (dependencies + optionalDependencies), resolved via node_modules.
14
+ */
11
15
  export declare function defaultBootstrapPaths(rootDir?: string): string[];
16
+ /**
17
+ * Library graph seeds for this package: package.json blockml.library first,
18
+ * then extras (config.libraries or --libraries). Deduped by realpath.
19
+ */
20
+ export declare function resolveLibrarySeeds(rootDir?: string, extras?: string[]): string[];
21
+ export interface BootstrapTrace {
22
+ corpusPaths: string[];
23
+ seeds: string[];
24
+ searchRoots: string[];
25
+ librariesVisited: string[];
26
+ skippedCoveredRoots: string[];
27
+ }
12
28
  export interface BootstrapResult {
13
29
  registry: TypeRegistry;
14
30
  diagnostics: Diagnostic[];
15
31
  /** Present when bootstrap used libraryPaths mode. */
16
32
  exportsByLibrary?: Map<string, Set<string>>;
33
+ trace?: BootstrapTrace;
17
34
  }
35
+ /**
36
+ * Same corpus as `blockml validate --all`: project source roots plus the
37
+ * resolved library graph (including npm BlockML packages).
38
+ */
39
+ export declare function bootstrapFullProjectRegistry(options: {
40
+ rootDir: string;
41
+ srcDir?: string;
42
+ libraries?: string[];
43
+ }): BootstrapResult;
18
44
  export declare function bootstrapTypeRegistry(optionsOrPaths?: BootstrapOptions | string[], rootDirArg?: string): BootstrapResult;
19
45
  //# sourceMappingURL=bootstrap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/registry/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAgB,GAAG,MAAM,EAAE,CAKvE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7C;AAeD,wBAAgB,qBAAqB,CACnC,cAAc,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,EAC5C,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,CAoCjB"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/registry/bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalD,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuHD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAgB,GAAG,MAAM,EAAE,CAwBvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAgB,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CA0B5F;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAeD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,eAAe,CAYlB;AAED,wBAAgB,qBAAqB,CACnC,cAAc,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,EAC5C,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,CA4DjB"}