@memoarchitect/tools 0.13.2 → 0.15.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.
- package/README.md +40 -26
- package/corpus/README.md +20 -36
- package/package.json +9 -10
- package/packages/tools/lib/analysis/impact.d.ts +30 -0
- package/packages/tools/lib/analysis/impact.d.ts.map +1 -1
- package/packages/tools/lib/analysis/impact.js +47 -74
- package/packages/tools/lib/analysis/impact.js.map +1 -1
- package/packages/tools/lib/analysis/interfaces-between.d.ts +36 -0
- package/packages/tools/lib/analysis/interfaces-between.d.ts.map +1 -0
- package/packages/tools/lib/analysis/interfaces-between.js +66 -0
- package/packages/tools/lib/analysis/interfaces-between.js.map +1 -0
- package/packages/tools/lib/analysis/suspect-links.d.ts +45 -0
- package/packages/tools/lib/analysis/suspect-links.d.ts.map +1 -0
- package/packages/tools/lib/analysis/suspect-links.js +66 -0
- package/packages/tools/lib/analysis/suspect-links.js.map +1 -0
- package/packages/tools/lib/analysis-starters.d.ts +2 -0
- package/packages/tools/lib/analysis-starters.d.ts.map +1 -1
- package/packages/tools/lib/analysis-starters.js +73 -68
- package/packages/tools/lib/analysis-starters.js.map +1 -1
- package/packages/tools/lib/authoring/outline-identity.d.ts +34 -0
- package/packages/tools/lib/authoring/outline-identity.d.ts.map +1 -0
- package/packages/tools/lib/authoring/outline-identity.js +95 -0
- package/packages/tools/lib/authoring/outline-identity.js.map +1 -0
- package/packages/tools/lib/authoring/outline-source.d.ts +57 -0
- package/packages/tools/lib/authoring/outline-source.d.ts.map +1 -0
- package/packages/tools/lib/authoring/outline-source.js +203 -0
- package/packages/tools/lib/authoring/outline-source.js.map +1 -0
- package/packages/tools/lib/authoring/source-outline.d.ts +82 -0
- package/packages/tools/lib/authoring/source-outline.d.ts.map +1 -0
- package/packages/tools/lib/authoring/source-outline.js +267 -0
- package/packages/tools/lib/authoring/source-outline.js.map +1 -0
- package/packages/tools/lib/bin/memo.js +181 -632
- package/packages/tools/lib/bin/memo.js.map +1 -1
- package/packages/tools/lib/browser/index.d.ts +12 -0
- package/packages/tools/lib/browser/index.d.ts.map +1 -1
- package/packages/tools/lib/browser/index.js +8 -0
- package/packages/tools/lib/browser/index.js.map +1 -1
- package/packages/tools/lib/cli/project-commands.d.ts +3 -0
- package/packages/tools/lib/cli/project-commands.d.ts.map +1 -0
- package/packages/tools/lib/cli/project-commands.js +577 -0
- package/packages/tools/lib/cli/project-commands.js.map +1 -0
- package/packages/tools/lib/commands/ask.d.ts.map +1 -1
- package/packages/tools/lib/commands/ask.js +10 -18
- package/packages/tools/lib/commands/ask.js.map +1 -1
- package/packages/tools/lib/commands/compile.d.ts +18 -0
- package/packages/tools/lib/commands/compile.d.ts.map +1 -0
- package/packages/tools/lib/commands/compile.js +122 -0
- package/packages/tools/lib/commands/compile.js.map +1 -0
- package/packages/tools/lib/commands/convert.js +2 -2
- package/packages/tools/lib/commands/convert.js.map +1 -1
- package/packages/tools/lib/commands/create-package.js +4 -4
- package/packages/tools/lib/commands/create-package.js.map +1 -1
- package/packages/tools/lib/commands/dev.d.ts +20 -2
- package/packages/tools/lib/commands/dev.d.ts.map +1 -1
- package/packages/tools/lib/commands/dev.js +386 -97
- package/packages/tools/lib/commands/dev.js.map +1 -1
- package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-draft.js +7 -16
- package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
- package/packages/tools/lib/commands/dhf-init.js +3 -3
- package/packages/tools/lib/commands/dhf-init.js.map +1 -1
- package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-lint.js +4 -3
- package/packages/tools/lib/commands/dhf-lint.js.map +1 -1
- package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-preview.js +5 -26
- package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
- package/packages/tools/lib/commands/dhf.d.ts +4 -0
- package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf.js +77 -31
- package/packages/tools/lib/commands/dhf.js.map +1 -1
- package/packages/tools/lib/commands/element.d.ts.map +1 -1
- package/packages/tools/lib/commands/element.js +44 -6
- package/packages/tools/lib/commands/element.js.map +1 -1
- package/packages/tools/lib/commands/export.d.ts +1 -1
- package/packages/tools/lib/commands/export.d.ts.map +1 -1
- package/packages/tools/lib/commands/export.js +25 -18
- package/packages/tools/lib/commands/export.js.map +1 -1
- package/packages/tools/lib/commands/generate.d.ts.map +1 -1
- package/packages/tools/lib/commands/generate.js +10 -30
- package/packages/tools/lib/commands/generate.js.map +1 -1
- package/packages/tools/lib/commands/ids-rebase.d.ts +15 -0
- package/packages/tools/lib/commands/ids-rebase.d.ts.map +1 -0
- package/packages/tools/lib/commands/ids-rebase.js +133 -0
- package/packages/tools/lib/commands/ids-rebase.js.map +1 -0
- package/packages/tools/lib/commands/import-ea.d.ts +3 -3
- package/packages/tools/lib/commands/import-ea.d.ts.map +1 -1
- package/packages/tools/lib/commands/import-ea.js +12 -9
- package/packages/tools/lib/commands/import-ea.js.map +1 -1
- package/packages/tools/lib/commands/import-owl.d.ts +1 -1
- package/packages/tools/lib/commands/import-owl.js +2 -2
- package/packages/tools/lib/commands/import-owl.js.map +1 -1
- package/packages/tools/lib/commands/import-sysand.d.ts +1 -1
- package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -1
- package/packages/tools/lib/commands/import-sysand.js +15 -6
- package/packages/tools/lib/commands/import-sysand.js.map +1 -1
- package/packages/tools/lib/commands/import.d.ts +13 -0
- package/packages/tools/lib/commands/import.d.ts.map +1 -1
- package/packages/tools/lib/commands/import.js +89 -29
- package/packages/tools/lib/commands/import.js.map +1 -1
- package/packages/tools/lib/commands/init.d.ts +0 -8
- package/packages/tools/lib/commands/init.d.ts.map +1 -1
- package/packages/tools/lib/commands/init.js +56 -51
- package/packages/tools/lib/commands/init.js.map +1 -1
- package/packages/tools/lib/commands/inspect.d.ts.map +1 -1
- package/packages/tools/lib/commands/inspect.js +22 -15
- package/packages/tools/lib/commands/inspect.js.map +1 -1
- package/packages/tools/lib/commands/install.d.ts.map +1 -1
- package/packages/tools/lib/commands/install.js +9 -6
- package/packages/tools/lib/commands/install.js.map +1 -1
- package/packages/tools/lib/commands/interfaces.d.ts +8 -0
- package/packages/tools/lib/commands/interfaces.d.ts.map +1 -0
- package/packages/tools/lib/commands/interfaces.js +71 -0
- package/packages/tools/lib/commands/interfaces.js.map +1 -0
- package/packages/tools/lib/commands/lock.d.ts.map +1 -1
- package/packages/tools/lib/commands/lock.js +13 -6
- package/packages/tools/lib/commands/lock.js.map +1 -1
- package/packages/tools/lib/commands/mcp.js +7 -7
- package/packages/tools/lib/commands/mcp.js.map +1 -1
- package/packages/tools/lib/commands/migrate-layout.d.ts +5 -0
- package/packages/tools/lib/commands/migrate-layout.d.ts.map +1 -0
- package/packages/tools/lib/commands/migrate-layout.js +90 -0
- package/packages/tools/lib/commands/migrate-layout.js.map +1 -0
- package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
- package/packages/tools/lib/commands/ontology.js +26 -22
- package/packages/tools/lib/commands/ontology.js.map +1 -1
- package/packages/tools/lib/commands/pack.d.ts.map +1 -1
- package/packages/tools/lib/commands/pack.js +14 -9
- package/packages/tools/lib/commands/pack.js.map +1 -1
- package/packages/tools/lib/commands/pinned-target.d.ts +12 -0
- package/packages/tools/lib/commands/pinned-target.d.ts.map +1 -0
- package/packages/tools/lib/commands/pinned-target.js +74 -0
- package/packages/tools/lib/commands/pinned-target.js.map +1 -0
- package/packages/tools/lib/commands/plugin.d.ts.map +1 -1
- package/packages/tools/lib/commands/plugin.js +13 -22
- package/packages/tools/lib/commands/plugin.js.map +1 -1
- package/packages/tools/lib/commands/prune.d.ts +5 -0
- package/packages/tools/lib/commands/prune.d.ts.map +1 -0
- package/packages/tools/lib/commands/prune.js +27 -0
- package/packages/tools/lib/commands/prune.js.map +1 -0
- package/packages/tools/lib/commands/retired.d.ts +10 -0
- package/packages/tools/lib/commands/retired.d.ts.map +1 -0
- package/packages/tools/lib/commands/retired.js +35 -0
- package/packages/tools/lib/commands/retired.js.map +1 -0
- package/packages/tools/lib/commands/rules.d.ts +49 -5
- package/packages/tools/lib/commands/rules.d.ts.map +1 -1
- package/packages/tools/lib/commands/rules.js +340 -172
- package/packages/tools/lib/commands/rules.js.map +1 -1
- package/packages/tools/lib/commands/ship-library.d.ts +4 -0
- package/packages/tools/lib/commands/ship-library.d.ts.map +1 -0
- package/packages/tools/lib/commands/ship-library.js +45 -0
- package/packages/tools/lib/commands/ship-library.js.map +1 -0
- package/packages/tools/lib/commands/standards.d.ts +2 -2
- package/packages/tools/lib/commands/standards.d.ts.map +1 -1
- package/packages/tools/lib/commands/standards.js +78 -33
- package/packages/tools/lib/commands/standards.js.map +1 -1
- package/packages/tools/lib/commands/sysand-publish.d.ts +16 -1
- package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
- package/packages/tools/lib/commands/sysand-publish.js +75 -193
- package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
- package/packages/tools/lib/commands/toolchain.d.ts +5 -0
- package/packages/tools/lib/commands/toolchain.d.ts.map +1 -1
- package/packages/tools/lib/commands/toolchain.js +50 -1
- package/packages/tools/lib/commands/toolchain.js.map +1 -1
- package/packages/tools/lib/commands/validate-client.d.ts +11 -0
- package/packages/tools/lib/commands/validate-client.d.ts.map +1 -0
- package/packages/tools/lib/commands/validate-client.js +54 -0
- package/packages/tools/lib/commands/validate-client.js.map +1 -0
- package/packages/tools/lib/commands/validate.d.ts +33 -2
- package/packages/tools/lib/commands/validate.d.ts.map +1 -1
- package/packages/tools/lib/commands/validate.js +432 -186
- package/packages/tools/lib/commands/validate.js.map +1 -1
- package/packages/tools/lib/dhf/device-dhf.d.ts +57 -0
- package/packages/tools/lib/dhf/device-dhf.d.ts.map +1 -0
- package/packages/tools/lib/dhf/device-dhf.js +152 -0
- package/packages/tools/lib/dhf/device-dhf.js.map +1 -0
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts +1 -1
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-engine.d.ts +9 -2
- package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-engine.js +29 -25
- package/packages/tools/lib/dhf/query-engine.js.map +1 -1
- package/packages/tools/lib/dhf/query-executor.d.ts +1 -1
- package/packages/tools/lib/dhf/query-executor.js +1 -1
- package/packages/tools/lib/dhf/query-executor.js.map +1 -1
- package/packages/tools/lib/dhf/standards-block.js +1 -1
- package/packages/tools/lib/dhf/standards-block.js.map +1 -1
- package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -1
- package/packages/tools/lib/dhf/standards-library.js +16 -9
- package/packages/tools/lib/dhf/standards-library.js.map +1 -1
- package/packages/tools/lib/dhf/standards-report.d.ts +11 -3
- package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -1
- package/packages/tools/lib/dhf/standards-report.js +43 -13
- package/packages/tools/lib/dhf/standards-report.js.map +1 -1
- package/packages/tools/lib/dhf/template-engine.d.ts +2 -0
- package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -1
- package/packages/tools/lib/dhf/template-engine.js +5 -5
- package/packages/tools/lib/dhf/template-engine.js.map +1 -1
- package/packages/tools/lib/import/import-diff.d.ts +31 -1
- package/packages/tools/lib/import/import-diff.d.ts.map +1 -1
- package/packages/tools/lib/import/import-diff.js +91 -19
- package/packages/tools/lib/import/import-diff.js.map +1 -1
- package/packages/tools/lib/import/import-sources.d.ts +21 -0
- package/packages/tools/lib/import/import-sources.d.ts.map +1 -0
- package/packages/tools/lib/import/import-sources.js +36 -0
- package/packages/tools/lib/import/import-sources.js.map +1 -0
- package/packages/tools/lib/import/reqif.d.ts +23 -0
- package/packages/tools/lib/import/reqif.d.ts.map +1 -0
- package/packages/tools/lib/import/reqif.js +151 -0
- package/packages/tools/lib/import/reqif.js.map +1 -0
- package/packages/tools/lib/import/source-import.d.ts +128 -0
- package/packages/tools/lib/import/source-import.d.ts.map +1 -0
- package/packages/tools/lib/import/source-import.js +305 -0
- package/packages/tools/lib/import/source-import.js.map +1 -0
- package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/cameo-importer.js +4 -1
- package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
- package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/ea-importer.js +4 -1
- package/packages/tools/lib/importer/ea-importer.js.map +1 -1
- package/packages/tools/lib/importer/sysand-importer.d.ts +2 -1
- package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/sysand-importer.js +27 -10
- package/packages/tools/lib/importer/sysand-importer.js.map +1 -1
- package/packages/tools/lib/index.d.ts +20 -6
- package/packages/tools/lib/index.d.ts.map +1 -1
- package/packages/tools/lib/index.js +22 -8
- package/packages/tools/lib/index.js.map +1 -1
- package/packages/tools/lib/llm/draft-engine.js +1 -1
- package/packages/tools/lib/llm/draft-engine.js.map +1 -1
- package/packages/tools/lib/llm/model-context.js +1 -1
- package/packages/tools/lib/llm/model-context.js.map +1 -1
- package/packages/tools/lib/lock.d.ts +37 -2
- package/packages/tools/lib/lock.d.ts.map +1 -1
- package/packages/tools/lib/lock.js +93 -8
- package/packages/tools/lib/lock.js.map +1 -1
- package/packages/tools/lib/mcp/index.js +1 -1
- package/packages/tools/lib/mcp/index.js.map +1 -1
- package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
- package/packages/tools/lib/mcp/model-loader.js +6 -18
- package/packages/tools/lib/mcp/model-loader.js.map +1 -1
- package/packages/tools/lib/mcp/server.js +2 -2
- package/packages/tools/lib/mcp/server.js.map +1 -1
- package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
- package/packages/tools/lib/mcp/tools.js +5 -4
- package/packages/tools/lib/mcp/tools.js.map +1 -1
- package/packages/tools/lib/methodology/guide-service.d.ts +28 -0
- package/packages/tools/lib/methodology/guide-service.d.ts.map +1 -0
- package/packages/tools/lib/methodology/guide-service.js +32 -0
- package/packages/tools/lib/methodology/guide-service.js.map +1 -0
- package/packages/tools/lib/methodology/guide.d.ts +56 -0
- package/packages/tools/lib/methodology/guide.d.ts.map +1 -0
- package/packages/tools/lib/methodology/guide.js +80 -0
- package/packages/tools/lib/methodology/guide.js.map +1 -0
- package/packages/tools/lib/model/census-projects.d.ts +26 -0
- package/packages/tools/lib/model/census-projects.d.ts.map +1 -0
- package/packages/tools/lib/model/census-projects.js +53 -0
- package/packages/tools/lib/model/census-projects.js.map +1 -0
- package/packages/tools/lib/model/census.d.ts +103 -0
- package/packages/tools/lib/model/census.d.ts.map +1 -0
- package/packages/tools/lib/model/census.js +229 -0
- package/packages/tools/lib/model/census.js.map +1 -0
- package/packages/tools/lib/model/complete-model.d.ts +52 -0
- package/packages/tools/lib/model/complete-model.d.ts.map +1 -0
- package/packages/tools/lib/model/complete-model.js +287 -0
- package/packages/tools/lib/model/complete-model.js.map +1 -0
- package/packages/tools/lib/model/config-loader.d.ts +8 -3
- package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/config-loader.js +37 -6
- package/packages/tools/lib/model/config-loader.js.map +1 -1
- package/packages/tools/lib/model/config.d.ts +21 -7
- package/packages/tools/lib/model/config.d.ts.map +1 -1
- package/packages/tools/lib/model/effective-scope.d.ts +55 -28
- package/packages/tools/lib/model/effective-scope.d.ts.map +1 -1
- package/packages/tools/lib/model/effective-scope.js +96 -35
- package/packages/tools/lib/model/effective-scope.js.map +1 -1
- package/packages/tools/lib/model/element-index.d.ts +207 -0
- package/packages/tools/lib/model/element-index.d.ts.map +1 -0
- package/packages/tools/lib/model/element-index.js +316 -0
- package/packages/tools/lib/model/element-index.js.map +1 -0
- package/packages/tools/lib/model/id-rebase.d.ts +35 -0
- package/packages/tools/lib/model/id-rebase.d.ts.map +1 -0
- package/packages/tools/lib/model/id-rebase.js +199 -0
- package/packages/tools/lib/model/id-rebase.js.map +1 -0
- package/packages/tools/lib/model/identity-registry.d.ts +34 -3
- package/packages/tools/lib/model/identity-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/identity-registry.js +40 -7
- package/packages/tools/lib/model/identity-registry.js.map +1 -1
- package/packages/tools/lib/model/impact.d.ts +75 -0
- package/packages/tools/lib/model/impact.d.ts.map +1 -0
- package/packages/tools/lib/model/impact.js +167 -0
- package/packages/tools/lib/model/impact.js.map +1 -0
- package/packages/tools/lib/model/ir-identity.d.ts +3 -51
- package/packages/tools/lib/model/ir-identity.d.ts.map +1 -1
- package/packages/tools/lib/model/ir-identity.js +14 -121
- package/packages/tools/lib/model/ir-identity.js.map +1 -1
- package/packages/tools/lib/model/kind-registry.d.ts +66 -22
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.js +104 -145
- package/packages/tools/lib/model/kind-registry.js.map +1 -1
- package/packages/tools/lib/model/manifest.d.ts +2 -2
- package/packages/tools/lib/model/manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/manifest.js +5 -4
- package/packages/tools/lib/model/manifest.js.map +1 -1
- package/packages/tools/lib/model/methodology-loader.d.ts +11 -2
- package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/methodology-loader.js +24 -130
- package/packages/tools/lib/model/methodology-loader.js.map +1 -1
- package/packages/tools/lib/model/methodology-resolver.d.ts +71 -6
- package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -1
- package/packages/tools/lib/model/methodology-resolver.js +210 -24
- package/packages/tools/lib/model/methodology-resolver.js.map +1 -1
- package/packages/tools/lib/model/model-diff.d.ts +73 -0
- package/packages/tools/lib/model/model-diff.d.ts.map +1 -0
- package/packages/tools/lib/model/model-diff.js +91 -0
- package/packages/tools/lib/model/model-diff.js.map +1 -0
- package/packages/tools/lib/model/narrow-model.d.ts +9 -0
- package/packages/tools/lib/model/narrow-model.d.ts.map +1 -0
- package/packages/tools/lib/model/narrow-model.js +54 -0
- package/packages/tools/lib/model/narrow-model.js.map +1 -0
- package/packages/tools/lib/model/native-project.d.ts +92 -11
- package/packages/tools/lib/model/native-project.d.ts.map +1 -1
- package/packages/tools/lib/model/native-project.js +163 -269
- package/packages/tools/lib/model/native-project.js.map +1 -1
- package/packages/tools/lib/model/ontology-loader.d.ts +10 -61
- package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/ontology-loader.js +11 -512
- package/packages/tools/lib/model/ontology-loader.js.map +1 -1
- package/packages/tools/lib/model/package-manifest.d.ts +8 -2
- package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/package-manifest.js +14 -2
- package/packages/tools/lib/model/package-manifest.js.map +1 -1
- package/packages/tools/lib/model/pinned.d.ts +216 -0
- package/packages/tools/lib/model/pinned.d.ts.map +1 -0
- package/packages/tools/lib/model/pinned.js +481 -0
- package/packages/tools/lib/model/pinned.js.map +1 -0
- package/packages/tools/lib/model/project-conversion.d.ts +3 -2
- package/packages/tools/lib/model/project-conversion.d.ts.map +1 -1
- package/packages/tools/lib/model/project-conversion.js +55 -10
- package/packages/tools/lib/model/project-conversion.js.map +1 -1
- package/packages/tools/lib/model/project-settings.d.ts +10 -0
- package/packages/tools/lib/model/project-settings.d.ts.map +1 -0
- package/packages/tools/lib/model/project-settings.js +48 -0
- package/packages/tools/lib/model/project-settings.js.map +1 -0
- package/packages/tools/lib/model/relation-selection.d.ts +25 -0
- package/packages/tools/lib/model/relation-selection.d.ts.map +1 -0
- package/packages/tools/lib/model/relation-selection.js +65 -0
- package/packages/tools/lib/model/relation-selection.js.map +1 -0
- package/packages/tools/lib/model/relationship-legality.d.ts +6 -0
- package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-legality.js.map +1 -1
- package/packages/tools/lib/model/relationship-registry.d.ts +21 -8
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js +77 -129
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/relationship-subjects.d.ts +28 -0
- package/packages/tools/lib/model/relationship-subjects.d.ts.map +1 -0
- package/packages/tools/lib/model/relationship-subjects.js +126 -0
- package/packages/tools/lib/model/relationship-subjects.js.map +1 -0
- package/packages/tools/lib/model/release-target.d.ts +12 -0
- package/packages/tools/lib/model/release-target.d.ts.map +1 -0
- package/packages/tools/lib/model/release-target.js +35 -0
- package/packages/tools/lib/model/release-target.js.map +1 -0
- package/packages/tools/lib/model/selector-vocabulary.d.ts +47 -0
- package/packages/tools/lib/model/selector-vocabulary.d.ts.map +1 -0
- package/packages/tools/lib/model/selector-vocabulary.js +181 -0
- package/packages/tools/lib/model/selector-vocabulary.js.map +1 -0
- package/packages/tools/lib/model/semantic.d.ts +99 -7
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +13 -1
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -1
- package/packages/tools/lib/model/settings-boundary.js +9 -8
- package/packages/tools/lib/model/settings-boundary.js.map +1 -1
- package/packages/tools/lib/model/short-id.d.ts.map +1 -1
- package/packages/tools/lib/model/short-id.js +4 -0
- package/packages/tools/lib/model/short-id.js.map +1 -1
- package/packages/tools/lib/model/source-graph.d.ts +9 -7
- package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
- package/packages/tools/lib/model/source-graph.js +19 -24
- package/packages/tools/lib/model/source-graph.js.map +1 -1
- package/packages/tools/lib/model/source-provenance.d.ts +5 -1
- package/packages/tools/lib/model/source-provenance.d.ts.map +1 -1
- package/packages/tools/lib/model/source-provenance.js.map +1 -1
- package/packages/tools/lib/model/sysml-files.js +1 -1
- package/packages/tools/lib/model/sysml-ir.d.ts +2 -5
- package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -1
- package/packages/tools/lib/model/sysml-ir.js +1 -100
- package/packages/tools/lib/model/sysml-ir.js.map +1 -1
- package/packages/tools/lib/model/toolchain-merge.d.ts +4 -0
- package/packages/tools/lib/model/toolchain-merge.d.ts.map +1 -0
- package/packages/tools/lib/model/toolchain-merge.js +34 -0
- package/packages/tools/lib/model/toolchain-merge.js.map +1 -0
- package/packages/tools/lib/model/user-settings.d.ts +13 -0
- package/packages/tools/lib/model/user-settings.d.ts.map +1 -0
- package/packages/tools/lib/model/user-settings.js +83 -0
- package/packages/tools/lib/model/user-settings.js.map +1 -0
- package/packages/tools/lib/model/variability.d.ts +56 -0
- package/packages/tools/lib/model/variability.d.ts.map +1 -0
- package/packages/tools/lib/model/variability.js +116 -0
- package/packages/tools/lib/model/variability.js.map +1 -0
- package/packages/tools/lib/model/version-range.d.ts +2 -0
- package/packages/tools/lib/model/version-range.d.ts.map +1 -0
- package/packages/tools/lib/model/version-range.js +37 -0
- package/packages/tools/lib/model/version-range.js.map +1 -0
- package/packages/tools/lib/model/view-deriver.d.ts +16 -0
- package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
- package/packages/tools/lib/model/view-deriver.js +100 -26
- package/packages/tools/lib/model/view-deriver.js.map +1 -1
- package/packages/tools/lib/model/view-layout-block.d.ts +81 -0
- package/packages/tools/lib/model/view-layout-block.d.ts.map +1 -0
- package/packages/tools/lib/model/view-layout-block.js +525 -0
- package/packages/tools/lib/model/view-layout-block.js.map +1 -0
- package/packages/tools/lib/model/view-layout-migration.d.ts +54 -0
- package/packages/tools/lib/model/view-layout-migration.d.ts.map +1 -0
- package/packages/tools/lib/model/view-layout-migration.js +156 -0
- package/packages/tools/lib/model/view-layout-migration.js.map +1 -0
- package/packages/tools/lib/model/workspace-membership.d.ts +99 -0
- package/packages/tools/lib/model/workspace-membership.d.ts.map +1 -0
- package/packages/tools/lib/model/workspace-membership.js +281 -0
- package/packages/tools/lib/model/workspace-membership.js.map +1 -0
- package/packages/tools/lib/ontology/owl-exporter.d.ts +1 -1
- package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
- package/packages/tools/lib/ontology/owl-exporter.js +1 -1
- package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
- package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -1
- package/packages/tools/lib/operations/ai-authoring.js +7 -5
- package/packages/tools/lib/operations/ai-authoring.js.map +1 -1
- package/packages/tools/lib/operations/authoring.d.ts +10 -4
- package/packages/tools/lib/operations/authoring.d.ts.map +1 -1
- package/packages/tools/lib/operations/authoring.js +27 -11
- package/packages/tools/lib/operations/authoring.js.map +1 -1
- package/packages/tools/lib/operations/index.d.ts +2 -0
- package/packages/tools/lib/operations/index.d.ts.map +1 -1
- package/packages/tools/lib/operations/index.js +1 -0
- package/packages/tools/lib/operations/index.js.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.js +7 -13
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
- package/packages/tools/lib/plugin/plugin-scaffold.js +2 -2
- package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -1
- package/packages/tools/lib/protocol/messages.d.ts +375 -7
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.d.ts +37 -29
- package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.js +64 -31
- package/packages/tools/lib/serializer/csv-io.js.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.d.ts +15 -2
- package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.js +45 -17
- package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
- package/packages/tools/lib/server/conflict-policy.js +1 -1
- package/packages/tools/lib/server/conflict-policy.js.map +1 -1
- package/packages/tools/lib/server/dashboard-store.d.ts +1 -7
- package/packages/tools/lib/server/dashboard-store.d.ts.map +1 -1
- package/packages/tools/lib/server/dashboard-store.js +3 -14
- package/packages/tools/lib/server/dashboard-store.js.map +1 -1
- package/packages/tools/lib/server/dev-server.d.ts +48 -1
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.js +529 -80
- package/packages/tools/lib/server/dev-server.js.map +1 -1
- package/packages/tools/lib/server/dev-validate.d.ts +30 -0
- package/packages/tools/lib/server/dev-validate.d.ts.map +1 -0
- package/packages/tools/lib/server/dev-validate.js +82 -0
- package/packages/tools/lib/server/dev-validate.js.map +1 -0
- package/packages/tools/lib/server/element-writer.d.ts +4 -1
- package/packages/tools/lib/server/element-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/element-writer.js +56 -35
- package/packages/tools/lib/server/element-writer.js.map +1 -1
- package/packages/tools/lib/server/mutation-domain.d.ts +10 -0
- package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -1
- package/packages/tools/lib/server/mutation-domain.js +45 -8
- package/packages/tools/lib/server/mutation-domain.js.map +1 -1
- package/packages/tools/lib/server/package-source.d.ts +13 -3
- package/packages/tools/lib/server/package-source.d.ts.map +1 -1
- package/packages/tools/lib/server/package-source.js +31 -39
- package/packages/tools/lib/server/package-source.js.map +1 -1
- package/packages/tools/lib/server/package-writer.d.ts +19 -6
- package/packages/tools/lib/server/package-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/package-writer.js +90 -39
- package/packages/tools/lib/server/package-writer.js.map +1 -1
- package/packages/tools/lib/server/persistor.d.ts +33 -7
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +63 -48
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/project-gitignore.d.ts +9 -0
- package/packages/tools/lib/server/project-gitignore.d.ts.map +1 -0
- package/packages/tools/lib/server/project-gitignore.js +27 -0
- package/packages/tools/lib/server/project-gitignore.js.map +1 -0
- package/packages/tools/lib/server/relationship-writer.d.ts +31 -2
- package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/relationship-writer.js +255 -95
- package/packages/tools/lib/server/relationship-writer.js.map +1 -1
- package/packages/tools/lib/server/release-writer.d.ts +46 -0
- package/packages/tools/lib/server/release-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/release-writer.js +133 -0
- package/packages/tools/lib/server/release-writer.js.map +1 -0
- package/packages/tools/lib/server/rule-policy-writer.d.ts +17 -4
- package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/rule-policy-writer.js +92 -7
- package/packages/tools/lib/server/rule-policy-writer.js.map +1 -1
- package/packages/tools/lib/server/rule-service.d.ts +50 -0
- package/packages/tools/lib/server/rule-service.d.ts.map +1 -0
- package/packages/tools/lib/server/rule-service.js +89 -0
- package/packages/tools/lib/server/rule-service.js.map +1 -0
- package/packages/tools/lib/server/rule-writer.d.ts +87 -0
- package/packages/tools/lib/server/rule-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/rule-writer.js +165 -0
- package/packages/tools/lib/server/rule-writer.js.map +1 -0
- package/packages/tools/lib/server/suspect-review.d.ts +11 -0
- package/packages/tools/lib/server/suspect-review.d.ts.map +1 -0
- package/packages/tools/lib/server/suspect-review.js +28 -0
- package/packages/tools/lib/server/suspect-review.js.map +1 -0
- package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
- package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
- package/packages/tools/lib/server/sysml-notation.js +5 -0
- package/packages/tools/lib/server/sysml-notation.js.map +1 -1
- package/packages/tools/lib/server/user-preferences.d.ts +8 -0
- package/packages/tools/lib/server/user-preferences.d.ts.map +1 -0
- package/packages/tools/lib/server/user-preferences.js +47 -0
- package/packages/tools/lib/server/user-preferences.js.map +1 -0
- package/packages/tools/lib/server/version-servers.d.ts +60 -0
- package/packages/tools/lib/server/version-servers.d.ts.map +1 -0
- package/packages/tools/lib/server/version-servers.js +106 -0
- package/packages/tools/lib/server/version-servers.js.map +1 -0
- package/packages/tools/lib/server/view-layout-store.d.ts +28 -13
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
- package/packages/tools/lib/server/view-layout-store.js +106 -106
- package/packages/tools/lib/server/view-layout-store.js.map +1 -1
- package/packages/tools/lib/server/view-writer.d.ts +22 -2
- package/packages/tools/lib/server/view-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/view-writer.js +99 -44
- package/packages/tools/lib/server/view-writer.js.map +1 -1
- package/packages/tools/lib/server/write-guard.d.ts +7 -0
- package/packages/tools/lib/server/write-guard.d.ts.map +1 -0
- package/packages/tools/lib/server/write-guard.js +77 -0
- package/packages/tools/lib/server/write-guard.js.map +1 -0
- package/packages/tools/lib/stage2/api-model.d.ts +160 -0
- package/packages/tools/lib/stage2/api-model.d.ts.map +1 -0
- package/packages/tools/lib/stage2/api-model.js +341 -0
- package/packages/tools/lib/stage2/api-model.js.map +1 -0
- package/packages/tools/lib/stage2/build-from-api.d.ts +47 -0
- package/packages/tools/lib/stage2/build-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/build-from-api.js +1462 -0
- package/packages/tools/lib/stage2/build-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/guide-from-api.d.ts +38 -0
- package/packages/tools/lib/stage2/guide-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/guide-from-api.js +97 -0
- package/packages/tools/lib/stage2/guide-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/handoff-files.d.ts +13 -0
- package/packages/tools/lib/stage2/handoff-files.d.ts.map +1 -0
- package/packages/tools/lib/stage2/handoff-files.js +32 -0
- package/packages/tools/lib/stage2/handoff-files.js.map +1 -0
- package/packages/tools/lib/stage2/methodology-from-api.d.ts +10 -0
- package/packages/tools/lib/stage2/methodology-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/methodology-from-api.js +109 -0
- package/packages/tools/lib/stage2/methodology-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.d.ts +15 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.js +238 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/project-from-api.d.ts +60 -0
- package/packages/tools/lib/stage2/project-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/project-from-api.js +328 -0
- package/packages/tools/lib/stage2/project-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/registries-from-api.d.ts +68 -0
- package/packages/tools/lib/stage2/registries-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/registries-from-api.js +313 -0
- package/packages/tools/lib/stage2/registries-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.d.ts +26 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.d.ts.map +1 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.js +34 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.js.map +1 -0
- package/packages/tools/lib/stage2/sysml-names.d.ts +9 -0
- package/packages/tools/lib/stage2/sysml-names.d.ts.map +1 -0
- package/packages/tools/lib/stage2/sysml-names.js +39 -0
- package/packages/tools/lib/stage2/sysml-names.js.map +1 -0
- package/packages/tools/lib/toolchain/default-registry.d.ts +2 -2
- package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/default-registry.js +9 -5
- package/packages/tools/lib/toolchain/default-registry.js.map +1 -1
- package/packages/tools/lib/toolchain/diagnostic.d.ts +2 -2
- package/packages/tools/lib/toolchain/diagnostic.js +1 -1
- package/packages/tools/lib/toolchain/diagnostic.js.map +1 -1
- package/packages/tools/lib/toolchain/effective.d.ts +25 -17
- package/packages/tools/lib/toolchain/effective.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/effective.js +45 -40
- package/packages/tools/lib/toolchain/effective.js.map +1 -1
- package/packages/tools/lib/toolchain/exceptions.d.ts +27 -0
- package/packages/tools/lib/toolchain/exceptions.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/exceptions.js +77 -0
- package/packages/tools/lib/toolchain/exceptions.js.map +1 -0
- package/packages/tools/lib/toolchain/index.d.ts +2 -2
- package/packages/tools/lib/toolchain/index.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/index.js +2 -2
- package/packages/tools/lib/toolchain/index.js.map +1 -1
- package/packages/tools/lib/toolchain/operations.d.ts +45 -10
- package/packages/tools/lib/toolchain/operations.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/operations.js +107 -8
- package/packages/tools/lib/toolchain/operations.js.map +1 -1
- package/packages/tools/lib/toolchain/ownership.d.ts +13 -0
- package/packages/tools/lib/toolchain/ownership.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/ownership.js +57 -0
- package/packages/tools/lib/toolchain/ownership.js.map +1 -0
- package/packages/tools/lib/toolchain/process.d.ts +2 -2
- package/packages/tools/lib/toolchain/process.js +2 -2
- package/packages/tools/lib/toolchain/project-config.d.ts +4 -0
- package/packages/tools/lib/toolchain/project-config.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/project-config.js +13 -0
- package/packages/tools/lib/toolchain/project-config.js.map +1 -0
- package/packages/tools/lib/toolchain/project-model.d.ts +75 -0
- package/packages/tools/lib/toolchain/project-model.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/project-model.js +92 -0
- package/packages/tools/lib/toolchain/project-model.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-package.d.ts +6 -0
- package/packages/tools/lib/toolchain/providers/internal-package.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-package.js +47 -0
- package/packages/tools/lib/toolchain/providers/internal-package.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts +20 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.js +95 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts +17 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.js +69 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts +50 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.js +646 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts +16 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.js +37 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml.d.ts +88 -0
- package/packages/tools/lib/toolchain/providers/opensysml.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml.js +178 -0
- package/packages/tools/lib/toolchain/providers/opensysml.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/recommended.d.ts +2 -0
- package/packages/tools/lib/toolchain/providers/recommended.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/recommended.js +13 -0
- package/packages/tools/lib/toolchain/providers/recommended.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.d.ts +60 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.js +160 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/providers/sysand.js +26 -2
- package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -1
- package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts +29 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.js +497 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-python.d.ts +9 -0
- package/packages/tools/lib/toolchain/providers/syside-python.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-python.js +69 -0
- package/packages/tools/lib/toolchain/providers/syside-python.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/providers/syside.js +2 -0
- package/packages/tools/lib/toolchain/providers/syside.js.map +1 -1
- package/packages/tools/lib/toolchain/registry.d.ts +118 -21
- package/packages/tools/lib/toolchain/registry.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/registry.js +18 -24
- package/packages/tools/lib/toolchain/registry.js.map +1 -1
- package/packages/tools/lib/toolchain/schema.d.ts +6 -5
- package/packages/tools/lib/toolchain/schema.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/schema.js +8 -13
- package/packages/tools/lib/toolchain/schema.js.map +1 -1
- package/packages/tools/lib/toolchain/shipped-library.d.ts +28 -0
- package/packages/tools/lib/toolchain/shipped-library.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/shipped-library.js +120 -0
- package/packages/tools/lib/toolchain/shipped-library.js.map +1 -0
- package/packages/tools/lib/toolchain/source-fingerprint.d.ts +2 -0
- package/packages/tools/lib/toolchain/source-fingerprint.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/source-fingerprint.js +30 -0
- package/packages/tools/lib/toolchain/source-fingerprint.js.map +1 -0
- package/packages/tools/lib/toolchain/user-settings-status.d.ts +51 -0
- package/packages/tools/lib/toolchain/user-settings-status.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/user-settings-status.js +104 -0
- package/packages/tools/lib/toolchain/user-settings-status.js.map +1 -0
- package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
- package/packages/tools/lib/validator/architecture-validator.js +2 -1
- package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
- package/packages/tools/lib/validator/behavior-validator.js +1 -1
- package/packages/tools/lib/validator/behavior-validator.js.map +1 -1
- package/packages/tools/lib/validator/builtin-rules.js +1 -1
- package/packages/tools/lib/validator/builtin-rules.js.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.d.ts +30 -4
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.js +101 -59
- package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
- package/packages/tools/lib/validator/constraint-loader-api.d.ts +22 -0
- package/packages/tools/lib/validator/constraint-loader-api.d.ts.map +1 -0
- package/packages/tools/lib/validator/constraint-loader-api.js +160 -0
- package/packages/tools/lib/validator/constraint-loader-api.js.map +1 -0
- package/packages/tools/lib/validator/constraint-loader.d.ts +22 -18
- package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-loader.js +33 -141
- package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
- package/packages/tools/lib/validator/rule-clauses.d.ts +51 -0
- package/packages/tools/lib/validator/rule-clauses.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-clauses.js +87 -0
- package/packages/tools/lib/validator/rule-clauses.js.map +1 -0
- package/packages/tools/lib/validator/rule-engine.d.ts +9 -1
- package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-engine.js +50 -6
- package/packages/tools/lib/validator/rule-engine.js.map +1 -1
- package/packages/tools/lib/validator/rule-registry.d.ts +4 -8
- package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-registry.js +42 -79
- package/packages/tools/lib/validator/rule-registry.js.map +1 -1
- package/packages/tools/lib/validator/rule-tailoring.d.ts +62 -0
- package/packages/tools/lib/validator/rule-tailoring.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-tailoring.js +85 -0
- package/packages/tools/lib/validator/rule-tailoring.js.map +1 -0
- package/packages/tools/lib/validator/types.d.ts +12 -1
- package/packages/tools/lib/validator/types.d.ts.map +1 -1
- package/packages/tools/lib/validator/workspace-boundary-validator.d.ts +9 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.d.ts.map +1 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.js +28 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.js.map +1 -0
- package/packages/tools/python/memo_model.py +243 -0
- package/packages/tools/python/memo_stage1_syside.py +389 -0
- package/packages/tools/lib/commands/check.d.ts +0 -6
- package/packages/tools/lib/commands/check.d.ts.map +0 -1
- package/packages/tools/lib/commands/check.js +0 -191
- package/packages/tools/lib/commands/check.js.map +0 -1
- package/packages/tools/lib/commands/conformance.d.ts +0 -36
- package/packages/tools/lib/commands/conformance.d.ts.map +0 -1
- package/packages/tools/lib/commands/conformance.js +0 -212
- package/packages/tools/lib/commands/conformance.js.map +0 -1
- package/packages/tools/lib/commands/roundtrip.d.ts +0 -6
- package/packages/tools/lib/commands/roundtrip.d.ts.map +0 -1
- package/packages/tools/lib/commands/roundtrip.js +0 -145
- package/packages/tools/lib/commands/roundtrip.js.map +0 -1
- package/packages/tools/lib/conformance/baseline.d.ts +0 -26
- package/packages/tools/lib/conformance/baseline.d.ts.map +0 -1
- package/packages/tools/lib/conformance/baseline.js +0 -170
- package/packages/tools/lib/conformance/baseline.js.map +0 -1
- package/packages/tools/lib/conformance/bnf.d.ts +0 -84
- package/packages/tools/lib/conformance/bnf.d.ts.map +0 -1
- package/packages/tools/lib/conformance/bnf.js +0 -166
- package/packages/tools/lib/conformance/bnf.js.map +0 -1
- package/packages/tools/lib/conformance/corpus.d.ts +0 -125
- package/packages/tools/lib/conformance/corpus.d.ts.map +0 -1
- package/packages/tools/lib/conformance/corpus.js +0 -190
- package/packages/tools/lib/conformance/corpus.js.map +0 -1
- package/packages/tools/lib/conformance/diff-xmi.d.ts +0 -118
- package/packages/tools/lib/conformance/diff-xmi.d.ts.map +0 -1
- package/packages/tools/lib/conformance/diff-xmi.js +0 -276
- package/packages/tools/lib/conformance/diff-xmi.js.map +0 -1
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts +0 -10
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +0 -1
- package/packages/tools/lib/conformance/generated/syside-rules.js +0 -1142
- package/packages/tools/lib/conformance/generated/syside-rules.js.map +0 -1
- package/packages/tools/lib/conformance/index.d.ts +0 -7
- package/packages/tools/lib/conformance/index.d.ts.map +0 -1
- package/packages/tools/lib/conformance/index.js +0 -19
- package/packages/tools/lib/conformance/index.js.map +0 -1
- package/packages/tools/lib/conformance/run.d.ts +0 -117
- package/packages/tools/lib/conformance/run.d.ts.map +0 -1
- package/packages/tools/lib/conformance/run.js +0 -0
- package/packages/tools/lib/conformance/run.js.map +0 -1
- package/packages/tools/lib/conformance/xmi.d.ts +0 -45
- package/packages/tools/lib/conformance/xmi.d.ts.map +0 -1
- package/packages/tools/lib/conformance/xmi.js +0 -148
- package/packages/tools/lib/conformance/xmi.js.map +0 -1
- package/packages/tools/lib/language/generated/ast.d.ts +0 -3571
- package/packages/tools/lib/language/generated/ast.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/ast.js +0 -2980
- package/packages/tools/lib/language/generated/ast.js.map +0 -1
- package/packages/tools/lib/language/generated/grammar.d.ts +0 -7
- package/packages/tools/lib/language/generated/grammar.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/grammar.js +0 -10687
- package/packages/tools/lib/language/generated/grammar.js.map +0 -1
- package/packages/tools/lib/language/generated/module.d.ts +0 -14
- package/packages/tools/lib/language/generated/module.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/module.js +0 -21
- package/packages/tools/lib/language/generated/module.js.map +0 -1
- package/packages/tools/lib/language/memo-sysml-module.d.ts +0 -24
- package/packages/tools/lib/language/memo-sysml-module.d.ts.map +0 -1
- package/packages/tools/lib/language/memo-sysml-module.js +0 -20
- package/packages/tools/lib/language/memo-sysml-module.js.map +0 -1
- package/packages/tools/lib/model/builder.d.ts +0 -27
- package/packages/tools/lib/model/builder.d.ts.map +0 -1
- package/packages/tools/lib/model/builder.js +0 -2112
- package/packages/tools/lib/model/builder.js.map +0 -1
- package/packages/tools/lib/model/package-registry.d.ts +0 -64
- package/packages/tools/lib/model/package-registry.d.ts.map +0 -1
- package/packages/tools/lib/model/package-registry.js +0 -184
- package/packages/tools/lib/model/package-registry.js.map +0 -1
- package/packages/tools/lib/model/parser-utils.d.ts +0 -65
- package/packages/tools/lib/model/parser-utils.d.ts.map +0 -1
- package/packages/tools/lib/model/parser-utils.js +0 -201
- package/packages/tools/lib/model/parser-utils.js.map +0 -1
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +0 -3
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +0 -97
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +0 -1
- package/packages/tools/lib/sysmlc/index.d.ts +0 -2
- package/packages/tools/lib/sysmlc/index.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/index.js +0 -7
- package/packages/tools/lib/sysmlc/index.js.map +0 -1
- package/packages/tools/lib/sysmlc/server.d.ts +0 -29
- package/packages/tools/lib/sysmlc/server.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/server.js +0 -168
- package/packages/tools/lib/sysmlc/server.js.map +0 -1
- package/packages/tools/lib/toolchain/lowering.d.ts +0 -63
- package/packages/tools/lib/toolchain/lowering.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/lowering.js +0 -100
- package/packages/tools/lib/toolchain/lowering.js.map +0 -1
- package/packages/tools/lib/toolchain/providers/internal.d.ts +0 -33
- package/packages/tools/lib/toolchain/providers/internal.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/providers/internal.js +0 -286
- package/packages/tools/lib/toolchain/providers/internal.js.map +0 -1
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts +0 -77
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
- package/packages/tools/lib/toolchain/sysmlc-client.js.map +0 -1
- package/packages/tools/lib/validator/sysml-constraints.d.ts +0 -64
- package/packages/tools/lib/validator/sysml-constraints.d.ts.map +0 -1
- package/packages/tools/lib/validator/sysml-constraints.js +0 -251
- package/packages/tools/lib/validator/sysml-constraints.js.map +0 -1
- package/packages/tools/src/grammar/memo-sysml.langium +0 -1064
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
// server protocol. Callers pass settings and a project directory and get
|
|
5
5
|
// normalized `Diagnostic`s back. Nothing here branches on a provider name.
|
|
6
6
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
|
-
import { discoverLibraryRoots } from '../model/native-project.js';
|
|
8
|
-
import {
|
|
7
|
+
import { canonicalPath, discoverLibraryRoots, discoverProjectSources } from '../model/native-project.js';
|
|
8
|
+
import { relative } from 'node:path';
|
|
9
|
+
import { resolveToolchain, ToolchainNotConfiguredError } from './effective.js';
|
|
9
10
|
import { PROVIDER_ROLES, ROLE_SETTING, } from './registry.js';
|
|
10
11
|
import { defaultRegistry } from './default-registry.js';
|
|
11
12
|
function context(options) {
|
|
@@ -30,6 +31,92 @@ export async function runLowering(options) {
|
|
|
30
31
|
const effective = resolveToolchain(options.config, registry);
|
|
31
32
|
return registry.resolveLowering(effective.lowering, context(options)).run();
|
|
32
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The MEMO model from the selected stage 1 compiler: its check, then stage 2
|
|
36
|
+
* over its API JSON. Every command that needs a model asks here, so
|
|
37
|
+
* `toolchain.compiler` means the same thing to all of them. MEMO has no compiler
|
|
38
|
+
* of its own: a lowering provider that cannot build the model is an error.
|
|
39
|
+
*/
|
|
40
|
+
export async function compileModelWithSelected(options) {
|
|
41
|
+
const registry = options.registry ?? defaultRegistry;
|
|
42
|
+
const effective = resolveToolchain(options.config, registry);
|
|
43
|
+
const compile = registry.descriptor('lowering', effective.lowering).compileModel;
|
|
44
|
+
if (!compile) {
|
|
45
|
+
throw new Error(`The compiler "${effective.lowering}" does not build a model, so it cannot be selected as \`toolchain.compiler\`.`);
|
|
46
|
+
}
|
|
47
|
+
// The compiler names files by their real paths, so the project and its
|
|
48
|
+
// libraries are given by them: through a symbolic link nothing would match.
|
|
49
|
+
const result = await compile({
|
|
50
|
+
...options,
|
|
51
|
+
projectDir: canonicalPath(options.projectDir),
|
|
52
|
+
libraryDirs: options.libraryDirs.map(canonicalPath),
|
|
53
|
+
});
|
|
54
|
+
// A compile that accepted the project but resolved nothing from it is not a
|
|
55
|
+
// valid empty model, it is a failure to say so: either none of the project's
|
|
56
|
+
// own files was compiled, or the project imports a package no library root
|
|
57
|
+
// supplied and so has no kinds, which Architect would show as an empty model
|
|
58
|
+
// with no error.
|
|
59
|
+
const unresolved = result.resolution?.diagnostics.find(d => d.code === 'entrypoint-not-compiled');
|
|
60
|
+
const kinds = result.registries?.kindRegistry?.kindNames().length;
|
|
61
|
+
// (A project that imports nothing, a scratch fixture or an empty one, has no
|
|
62
|
+
// library to reach and is reported by its own resolution diagnostics.)
|
|
63
|
+
const missingImport = result.resolution?.diagnostics.find(d => d.code === 'unresolved-import');
|
|
64
|
+
const empty = result.resolution && missingImport && result.resolution.selectedRoots.length === 0 && kinds === 0
|
|
65
|
+
? `The compile selected no library root and no kinds from ${result.resolution.projectRoot}, so the model is empty. ${missingImport.message}`
|
|
66
|
+
: undefined;
|
|
67
|
+
// A dependency the project lists and cannot use is an error: its elements would
|
|
68
|
+
// be missing or the wrong ones, and a reference into it would not resolve.
|
|
69
|
+
const dependency = result.resolution?.diagnostics.find(d => d.code === 'dependency-missing' || d.code === 'dependency-version');
|
|
70
|
+
const message = unresolved?.message ?? empty ?? dependency?.message;
|
|
71
|
+
if (result.accepted && message) {
|
|
72
|
+
const { model: _model, ...rest } = result;
|
|
73
|
+
return {
|
|
74
|
+
...rest,
|
|
75
|
+
accepted: false,
|
|
76
|
+
diagnostics: [...result.diagnostics, {
|
|
77
|
+
domain: 'sysml', provider: effective.lowering, severity: 'error', message,
|
|
78
|
+
...(unresolved?.file ? { file: unresolved.file } : {}),
|
|
79
|
+
}],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Stage 1 over every library root a locator offers, with the project resolved
|
|
86
|
+
* from what it compiled (`resolveProject`): what a command loads, so MEMO parses
|
|
87
|
+
* nothing. `projectFiles` defaults to the project's own sources, its library
|
|
88
|
+
* roots excluded.
|
|
89
|
+
*/
|
|
90
|
+
export async function compileResolvedProject(options) {
|
|
91
|
+
const registry = options.registry ?? defaultRegistry;
|
|
92
|
+
const projectDir = canonicalPath(options.projectDir);
|
|
93
|
+
const sources = discoverProjectSources(projectDir);
|
|
94
|
+
return compileModelWithSelected({
|
|
95
|
+
config: options.config,
|
|
96
|
+
projectDir,
|
|
97
|
+
libraryDirs: [...new Set(sources.libraryRoots.map(root => root.sysmlDir))],
|
|
98
|
+
projectFiles: options.projectFiles
|
|
99
|
+
?? new Set(sources.projectFiles.map(file => relative(projectDir, file))),
|
|
100
|
+
resolveProject: true,
|
|
101
|
+
provenance: options.provenance,
|
|
102
|
+
cacheDir: options.cacheDir,
|
|
103
|
+
force: options.force,
|
|
104
|
+
registry,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Whether the selected compiler's stage 1 diagnostics stand in for the
|
|
109
|
+
* validator: one provider fills both roles and says its compile is the check
|
|
110
|
+
* its validator would run. A command that compiles then runs that provider
|
|
111
|
+
* once, not twice.
|
|
112
|
+
*/
|
|
113
|
+
export function compileServesValidator(config, registry = defaultRegistry) {
|
|
114
|
+
const effective = resolveToolchain(config, registry);
|
|
115
|
+
if (effective.validator !== effective.lowering)
|
|
116
|
+
return false;
|
|
117
|
+
const descriptor = registry.descriptor('lowering', effective.lowering);
|
|
118
|
+
return Boolean(descriptor.compileModel && descriptor.compileServesValidator?.(config));
|
|
119
|
+
}
|
|
33
120
|
/** Run the selected packager against `outputPath`. */
|
|
34
121
|
export async function runPackager(options) {
|
|
35
122
|
const registry = options.registry ?? defaultRegistry;
|
|
@@ -57,7 +144,7 @@ function fingerprint(diagnostic) {
|
|
|
57
144
|
* Resolve every role and ask each selected provider whether it can run here,
|
|
58
145
|
* without running it.
|
|
59
146
|
*
|
|
60
|
-
* This is what answers "which
|
|
147
|
+
* This is what answers "which compiler am I actually using?" — a question that
|
|
61
148
|
* costs an afternoon when the only way to ask it is to run a build and read
|
|
62
149
|
* the errors.
|
|
63
150
|
*/
|
|
@@ -67,6 +154,20 @@ export function probeToolchain(options) {
|
|
|
67
154
|
const providerContext = { config: options.config, projectDir: options.projectDir };
|
|
68
155
|
const roles = PROVIDER_ROLES.map(role => {
|
|
69
156
|
const selection = effective.selections.find(s => s.role === role);
|
|
157
|
+
// A role the settings leave unset is reported, not given a provider.
|
|
158
|
+
if (!selection) {
|
|
159
|
+
return {
|
|
160
|
+
role,
|
|
161
|
+
setting: ROLE_SETTING[role],
|
|
162
|
+
provider: '(not configured)',
|
|
163
|
+
source: 'unset',
|
|
164
|
+
availability: {
|
|
165
|
+
available: false,
|
|
166
|
+
transport: 'in-process',
|
|
167
|
+
detail: new ToolchainNotConfiguredError(role, registry).message,
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
70
171
|
return {
|
|
71
172
|
role,
|
|
72
173
|
setting: ROLE_SETTING[role],
|
|
@@ -77,7 +178,7 @@ export function probeToolchain(options) {
|
|
|
77
178
|
});
|
|
78
179
|
return { projectDir: options.projectDir, effective, roles };
|
|
79
180
|
}
|
|
80
|
-
/** One `role provider path version` line per role, for `memo
|
|
181
|
+
/** One `role provider path version` line per role, for `memo compile --probe`. */
|
|
81
182
|
export function formatProbeLine(probe) {
|
|
82
183
|
const { availability } = probe;
|
|
83
184
|
const where = availability.executable ?? `(${availability.transport})`;
|
|
@@ -95,13 +196,11 @@ export function effectiveConfigReport(options) {
|
|
|
95
196
|
providers[id] = settings;
|
|
96
197
|
}
|
|
97
198
|
return {
|
|
98
|
-
|
|
199
|
+
modelName: options.config.modelName,
|
|
99
200
|
projectRoot: options.projectDir,
|
|
100
201
|
settingsFile: options.settingsFile,
|
|
101
202
|
toolchain: {
|
|
102
|
-
|
|
103
|
-
lowering: effective.lowering,
|
|
104
|
-
packager: effective.packager,
|
|
203
|
+
...Object.fromEntries(effective.selections.map(s => [s.role === 'package' ? 'packager' : s.role, s.provider])),
|
|
105
204
|
selections: effective.selections,
|
|
106
205
|
providers,
|
|
107
206
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/toolchain/operations.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,gFAAgF;AAIhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/toolchain/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MEMOConfig, ToolchainConfig } from '../model/config.js';
|
|
2
|
+
import type { ProviderRegistry } from './registry.js';
|
|
3
|
+
/** The user-scoped settings a project's own settings file wrote, by dotted path. */
|
|
4
|
+
export declare function userSettingsInProject(toolchain: ToolchainConfig | undefined, registry: ProviderRegistry): string[];
|
|
5
|
+
/** A project's settings file names a tool's place on one machine. */
|
|
6
|
+
export declare class ProjectNamesUserSettingError extends Error {
|
|
7
|
+
readonly file: string | undefined;
|
|
8
|
+
readonly paths: readonly string[];
|
|
9
|
+
constructor(file: string | undefined, paths: readonly string[]);
|
|
10
|
+
}
|
|
11
|
+
/** Refuse a project whose settings file names a user's setting. */
|
|
12
|
+
export declare function rejectUserSettingsInProject(config: MEMOConfig | undefined, registry: ProviderRegistry): void;
|
|
13
|
+
//# sourceMappingURL=ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../src/toolchain/ownership.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAKlH;AAWD,qEAAqE;AACrE,qBAAa,4BAA6B,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;gBAA3D,IAAI,EAAE,MAAM,GAAG,SAAS,EAAW,KAAK,EAAE,SAAS,MAAM,EAAE;CAWnF;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAG5G"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// ─── Whose setting it is ─────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Where a tool is on this machine (its binary, its Python) belongs to whoever
|
|
4
|
+
// runs it: two people on one project have different machines. A project's
|
|
5
|
+
// settings file is checked in and shared, so a path in it is wrong for everyone
|
|
6
|
+
// else, and it may not carry one. It is set in the user's own settings, the
|
|
7
|
+
// environment or on the command line (`model/user-settings.ts`). The registry
|
|
8
|
+
// says which settings these are (`scope: 'user'`), so a provider that adds one
|
|
9
|
+
// gets the rule without anyone remembering to.
|
|
10
|
+
//
|
|
11
|
+
// Which compiler runs is different: the project names it (`scope: 'shared'`),
|
|
12
|
+
// and each user may override it for themselves without editing the project.
|
|
13
|
+
//
|
|
14
|
+
// A rejected setting is rejected, never read as a fallback or compared against
|
|
15
|
+
// the user's: the same rule `model/settings-boundary.ts` holds for semantic fields.
|
|
16
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
import { userSettingsPath } from '../model/user-settings.js';
|
|
18
|
+
/** The user-scoped settings a project's own settings file wrote, by dotted path. */
|
|
19
|
+
export function userSettingsInProject(toolchain, registry) {
|
|
20
|
+
if (!toolchain || typeof toolchain !== 'object')
|
|
21
|
+
return [];
|
|
22
|
+
return registry.schema()
|
|
23
|
+
.filter(leaf => leaf.scope === 'user' && valueAt(toolchain, leaf.path) !== undefined)
|
|
24
|
+
.map(leaf => leaf.path);
|
|
25
|
+
}
|
|
26
|
+
function valueAt(toolchain, path) {
|
|
27
|
+
let value = toolchain;
|
|
28
|
+
for (const step of path.split('.')) {
|
|
29
|
+
if (!value || typeof value !== 'object')
|
|
30
|
+
return undefined;
|
|
31
|
+
value = value[step];
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
/** A project's settings file names a tool's place on one machine. */
|
|
36
|
+
export class ProjectNamesUserSettingError extends Error {
|
|
37
|
+
file;
|
|
38
|
+
paths;
|
|
39
|
+
constructor(file, paths) {
|
|
40
|
+
const where = file ?? "the project's settings file";
|
|
41
|
+
const names = paths.map(path => `toolchain.${path}`).join(', ');
|
|
42
|
+
super(`${where} sets ${names}. Where a tool is on this machine belongs to the person running MEMO, `
|
|
43
|
+
+ `so a project's checked-in settings do not carry it: it would be wrong for everyone else. Remove ${paths.length === 1 ? 'it' : 'them'} from the file `
|
|
44
|
+
+ `and set ${paths.length === 1 ? 'it' : 'each'} for yourself in your own settings file, ${userSettingsPath()} `
|
|
45
|
+
+ `(under toolchain: ${paths.join(', ')}; \`memo-architect config set ${paths[0]} <value>\` writes it), or with an environment variable or a --toolchain.<setting> flag.`);
|
|
46
|
+
this.file = file;
|
|
47
|
+
this.paths = paths;
|
|
48
|
+
this.name = 'ProjectNamesUserSettingError';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Refuse a project whose settings file names a user's setting. */
|
|
52
|
+
export function rejectUserSettingsInProject(config, registry) {
|
|
53
|
+
const paths = userSettingsInProject(config?.projectToolchain, registry);
|
|
54
|
+
if (paths.length > 0)
|
|
55
|
+
throw new ProjectNamesUserSettingError(config?.projectSettingsFile, paths);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownership.js","sourceRoot":"","sources":["../../src/toolchain/ownership.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,gFAAgF;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,SAAsC,EAAE,QAA0B;IACpG,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,MAAM,EAAE;SACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;SACpF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,SAA0B,EAAE,IAAY;IACrD,IAAI,KAAK,GAAY,SAAS,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC1D,KAAK,GAAI,KAAiC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC9B;IAAmC;IAAxD,YAAqB,IAAwB,EAAW,KAAwB;QAC5E,MAAM,KAAK,GAAG,IAAI,IAAI,6BAA6B,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,CACD,GAAG,KAAK,SAAS,KAAK,wEAAwE;cAC5F,mGAAmG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB;cACtJ,WAAW,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,4CAA4C,gBAAgB,EAAE,GAAG;cAC9G,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,CAAC,CAAC,yFAAyF,CAC5K,CAAC;QARe,SAAI,GAAJ,IAAI,CAAoB;QAAW,UAAK,GAAL,KAAK,CAAmB;QAS5E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC/C,CAAC;CACJ;AAED,mEAAmE;AACnE,MAAM,UAAU,2BAA2B,CAAC,MAA8B,EAAE,QAA0B;IAClG,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACrG,CAAC"}
|
|
@@ -3,14 +3,14 @@ import { type ToolInvocation } from './registry.js';
|
|
|
3
3
|
export declare function resolveProjectPath(value: string, projectDir: string): string;
|
|
4
4
|
/**
|
|
5
5
|
* A configured executable is a path when it looks like one, and a PATH lookup
|
|
6
|
-
* otherwise. `
|
|
6
|
+
* otherwise. `sysml` means "whatever is on PATH"; `./bin/sysml` means that
|
|
7
7
|
* file.
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveExecutable(value: string | undefined, fallback: string, projectDir: string): string;
|
|
10
10
|
/**
|
|
11
11
|
* Absolute path of a command, resolved the way the shell would.
|
|
12
12
|
*
|
|
13
|
-
* `memo
|
|
13
|
+
* `memo compile --probe` prints this: knowing *which* executable ran matters as
|
|
14
14
|
* much as knowing that one did.
|
|
15
15
|
*/
|
|
16
16
|
export declare function whichExecutable(command: string, env?: NodeJS.ProcessEnv): string | undefined;
|
|
@@ -19,7 +19,7 @@ export function resolveProjectPath(value, projectDir) {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* A configured executable is a path when it looks like one, and a PATH lookup
|
|
22
|
-
* otherwise. `
|
|
22
|
+
* otherwise. `sysml` means "whatever is on PATH"; `./bin/sysml` means that
|
|
23
23
|
* file.
|
|
24
24
|
*/
|
|
25
25
|
export function resolveExecutable(value, fallback, projectDir) {
|
|
@@ -43,7 +43,7 @@ function isExecutableFile(candidate) {
|
|
|
43
43
|
/**
|
|
44
44
|
* Absolute path of a command, resolved the way the shell would.
|
|
45
45
|
*
|
|
46
|
-
* `memo
|
|
46
|
+
* `memo compile --probe` prints this: knowing *which* executable ran matters as
|
|
47
47
|
* much as knowing that one did.
|
|
48
48
|
*/
|
|
49
49
|
export function whichExecutable(command, env = process.env) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/toolchain/project-config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGhE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// ─── A project's settings ────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Settings are optional: a project with none is complete, because a MEMO project
|
|
4
|
+
// declares its identity in SysML, not in YAML.
|
|
5
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
import { findConfigFile, loadProjectSettings } from '../model/config-loader.js';
|
|
7
|
+
import { loadAndResolveConfig } from '../server/config-resolver.js';
|
|
8
|
+
/** The project's effective settings. */
|
|
9
|
+
export function loadProjectConfig(projectDir) {
|
|
10
|
+
const configPath = findConfigFile(projectDir);
|
|
11
|
+
return configPath ? loadAndResolveConfig(configPath) : loadProjectSettings(projectDir);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/toolchain/project-config.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,iFAAiF;AACjF,+CAA+C;AAC/C,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAChD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { BuilderRegistries } from '../model/complete-model.js';
|
|
2
|
+
import type { MEMOConfig } from '../model/config.js';
|
|
3
|
+
import type { NativeProjectResolution } from '../model/native-project.js';
|
|
4
|
+
import type { MemoModel } from '../model/semantic.js';
|
|
5
|
+
import type { ApiModel } from '../stage2/api-model.js';
|
|
6
|
+
import type { ConstraintDiagnostic } from '../validator/constraint-loader.js';
|
|
7
|
+
import type { CompiledConstraint } from '../validator/constraint-eval.js';
|
|
8
|
+
import type { Diagnostic } from './diagnostic.js';
|
|
9
|
+
import type { ProviderRegistry } from './registry.js';
|
|
10
|
+
export interface ProjectModel {
|
|
11
|
+
model: MemoModel;
|
|
12
|
+
/** The kinds, relationship types and provenance the model was built with. */
|
|
13
|
+
registries?: BuilderRegistries;
|
|
14
|
+
resolution?: NativeProjectResolution;
|
|
15
|
+
/** The selected compiler (`toolchain.compiler`). */
|
|
16
|
+
compiler: string;
|
|
17
|
+
/** The compiler's version. */
|
|
18
|
+
providerVersion?: string;
|
|
19
|
+
/** Stage 1's diagnostics. */
|
|
20
|
+
diagnostics: Diagnostic[];
|
|
21
|
+
/** Messages from resolving the project and loading its ontology. */
|
|
22
|
+
loadWarnings: string[];
|
|
23
|
+
/** The handoff the model was built from, library included. */
|
|
24
|
+
api: ApiModel;
|
|
25
|
+
/** Whether stage 1 was reused from the project's `.memo/stage1`. */
|
|
26
|
+
cached?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Stage 1 reported an error: no model, since it is not valid SysML. */
|
|
29
|
+
export declare class Stage1RejectedError extends Error {
|
|
30
|
+
readonly compiler: string;
|
|
31
|
+
readonly diagnostics: Diagnostic[];
|
|
32
|
+
constructor(compiler: string, diagnostics: Diagnostic[]);
|
|
33
|
+
}
|
|
34
|
+
/** Where compilers keep stage 1 output between runs: tool state, never authored content. */
|
|
35
|
+
export declare function stage1CacheDir(projectRoot: string): string;
|
|
36
|
+
export interface LoadProjectModelOptions {
|
|
37
|
+
projectRoot: string;
|
|
38
|
+
config: MEMOConfig;
|
|
39
|
+
/**
|
|
40
|
+
* The project files the model is built from, absolute. Defaults to the
|
|
41
|
+
* project's own sources: every file under no library root.
|
|
42
|
+
*/
|
|
43
|
+
files?: readonly string[];
|
|
44
|
+
/** Reuse and refresh `.memo/stage1`. Default true. */
|
|
45
|
+
cache?: boolean;
|
|
46
|
+
registry?: ProviderRegistry;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The project's model from the selected compiler.
|
|
50
|
+
*
|
|
51
|
+
* Throws {@link Stage1RejectedError} when stage 1 reports an error: a command
|
|
52
|
+
* never works on a model that is not valid SysML.
|
|
53
|
+
*/
|
|
54
|
+
export declare function loadProjectModel(options: LoadProjectModelOptions): Promise<ProjectModel>;
|
|
55
|
+
/**
|
|
56
|
+
* The rule definitions a loaded project declares, from the handoff, restricted
|
|
57
|
+
* to what resolution loads, as `memo validate` restricts it.
|
|
58
|
+
*/
|
|
59
|
+
export declare function projectConstraints(project: ProjectModel, diagnostics?: ConstraintDiagnostic[],
|
|
60
|
+
/** Files that are the project's own; by default, every file under no library root. */
|
|
61
|
+
isProjectFile?: (file: string) => boolean): CompiledConstraint[];
|
|
62
|
+
export interface ProjectOntology {
|
|
63
|
+
registries: BuilderRegistries;
|
|
64
|
+
resolution?: NativeProjectResolution;
|
|
65
|
+
/** Ontology files resolution loaded; 0 when nothing resolved. */
|
|
66
|
+
fileCount: number;
|
|
67
|
+
loadWarnings: string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The ontology a project resolves — its kinds, relationship types and the
|
|
71
|
+
* resolution itself — for a command that needs no model, from the selected
|
|
72
|
+
* compiler's handoff.
|
|
73
|
+
*/
|
|
74
|
+
export declare function loadProjectOntology(options: LoadProjectModelOptions): Promise<ProjectOntology>;
|
|
75
|
+
//# sourceMappingURL=project-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-model.d.ts","sourceRoot":"","sources":["../../src/toolchain/project-model.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,oEAAoE;IACpE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,GAAG,EAAE,QAAQ,CAAC;IACd,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wEAAwE;AACxE,qBAAa,mBAAoB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE;gBAApD,QAAQ,EAAE,MAAM,EAAW,WAAW,EAAE,UAAU,EAAE;CAK5E;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAuB9F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,YAAY,EACrB,WAAW,GAAE,oBAAoB,EAAO;AACxC,sFAAsF;AACtF,aAAa,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAgF,GAClH,kBAAkB,EAAE,CAItB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQpG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// ─── A project's model, from the selected compiler ───────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Every command that needs a MEMO model asks here, so `toolchain.compiler`
|
|
4
|
+
// means the same thing to all of them. The compiler compiles every library root
|
|
5
|
+
// a locator offers and states the project's resolution, registries and rules in
|
|
6
|
+
// its handoff, so MEMO parses nothing: it reads the handoff.
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
import { join, relative } from 'node:path';
|
|
9
|
+
import { isProjectSource, resolutionLoads } from '../stage2/project-from-api.js';
|
|
10
|
+
import { collectApiConstraints } from '../validator/constraint-loader-api.js';
|
|
11
|
+
import { defaultRegistry } from './default-registry.js';
|
|
12
|
+
import { resolveToolchain } from './effective.js';
|
|
13
|
+
import { compileResolvedProject } from './operations.js';
|
|
14
|
+
/** Stage 1 reported an error: no model, since it is not valid SysML. */
|
|
15
|
+
export class Stage1RejectedError extends Error {
|
|
16
|
+
compiler;
|
|
17
|
+
diagnostics;
|
|
18
|
+
constructor(compiler, diagnostics) {
|
|
19
|
+
const errors = diagnostics.filter(d => d.severity === 'error');
|
|
20
|
+
super(`Stage 1 (${compiler}) reported ${errors.length} error(s):\n`
|
|
21
|
+
+ errors.map(d => ` ${d.file}:${d.range?.start.line ?? '?'}:${d.range?.start.column ?? '?'} ${d.code ?? ''} ${d.message}`).join('\n'));
|
|
22
|
+
this.compiler = compiler;
|
|
23
|
+
this.diagnostics = diagnostics;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Where compilers keep stage 1 output between runs: tool state, never authored content. */
|
|
27
|
+
export function stage1CacheDir(projectRoot) {
|
|
28
|
+
return join(projectRoot, '.memo', 'stage1');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The project's model from the selected compiler.
|
|
32
|
+
*
|
|
33
|
+
* Throws {@link Stage1RejectedError} when stage 1 reports an error: a command
|
|
34
|
+
* never works on a model that is not valid SysML.
|
|
35
|
+
*/
|
|
36
|
+
export async function loadProjectModel(options) {
|
|
37
|
+
const { projectRoot, config } = options;
|
|
38
|
+
const registry = options.registry ?? defaultRegistry;
|
|
39
|
+
const compiler = resolveToolchain(config, registry).lowering;
|
|
40
|
+
const stage1 = await compileResolvedProject({
|
|
41
|
+
config,
|
|
42
|
+
projectDir: projectRoot,
|
|
43
|
+
projectFiles: options.files ? new Set(options.files.map(file => relative(projectRoot, file))) : undefined,
|
|
44
|
+
cacheDir: options.cache === false ? undefined : stage1CacheDir(projectRoot),
|
|
45
|
+
registry,
|
|
46
|
+
});
|
|
47
|
+
if (!stage1.accepted || !stage1.model || !stage1.api)
|
|
48
|
+
throw new Stage1RejectedError(compiler, stage1.diagnostics);
|
|
49
|
+
return {
|
|
50
|
+
model: stage1.model,
|
|
51
|
+
registries: stage1.registries,
|
|
52
|
+
resolution: stage1.resolution,
|
|
53
|
+
compiler,
|
|
54
|
+
providerVersion: stage1.providerVersion,
|
|
55
|
+
diagnostics: stage1.diagnostics,
|
|
56
|
+
loadWarnings: (stage1.resolution?.diagnostics ?? []).map(d => `${d.code}: ${d.message}`),
|
|
57
|
+
api: stage1.api,
|
|
58
|
+
cached: stage1.cached,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The rule definitions a loaded project declares, from the handoff, restricted
|
|
63
|
+
* to what resolution loads, as `memo validate` restricts it.
|
|
64
|
+
*/
|
|
65
|
+
export function projectConstraints(project, diagnostics = [],
|
|
66
|
+
/** Files that are the project's own; by default, every file under no library root. */
|
|
67
|
+
isProjectFile = project.resolution ? isProjectSource(project.resolution) : () => false) {
|
|
68
|
+
const loaded = project.resolution ? resolutionLoads(project.resolution) : () => true;
|
|
69
|
+
return collectApiConstraints(project.api, diagnostics, project.resolution?.filePackages, file => loaded(file) || isProjectFile(file));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The ontology a project resolves — its kinds, relationship types and the
|
|
73
|
+
* resolution itself — for a command that needs no model, from the selected
|
|
74
|
+
* compiler's handoff.
|
|
75
|
+
*/
|
|
76
|
+
export async function loadProjectOntology(options) {
|
|
77
|
+
const project = await loadProjectModel(options);
|
|
78
|
+
return {
|
|
79
|
+
registries: project.registries ?? {},
|
|
80
|
+
resolution: project.resolution,
|
|
81
|
+
fileCount: project.resolution ? resolutionFileCount(project.resolution) : 0,
|
|
82
|
+
loadWarnings: project.loadWarnings,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function resolutionFileCount(resolution) {
|
|
86
|
+
const files = new Set();
|
|
87
|
+
for (const pkg of resolution.closure.values())
|
|
88
|
+
for (const file of pkg.files)
|
|
89
|
+
files.add(file);
|
|
90
|
+
return files.size;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=project-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-model.js","sourceRoot":"","sources":["../../src/toolchain/project-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PackageDescriptor } from '../registry.js';
|
|
2
|
+
/** The one place this string is written. Everything else reads it from here. */
|
|
3
|
+
export declare const INTERNAL_PROVIDER_ID = "internal";
|
|
4
|
+
/** Package role — the built-in gzip-tar MEMO bundle writer. */
|
|
5
|
+
export declare const internalPackageDescriptor: PackageDescriptor;
|
|
6
|
+
//# sourceMappingURL=internal-package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-package.d.ts","sourceRoot":"","sources":["../../../src/toolchain/providers/internal-package.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAsC,MAAM,gBAAgB,CAAC;AAE5F,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAO/C,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,EAAE,iBA8BvC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// ─── MEMO's own packager ─────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// The built-in gzip-tar MEMO bundle writer, selected as `toolchain.packager:
|
|
4
|
+
// internal`. It is a packager, not a compiler: it reads the project's files and
|
|
5
|
+
// writes an archive, and needs no SysML compiler to do it.
|
|
6
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
|
+
import { existsSync } from 'node:fs';
|
|
8
|
+
import { writeInternalMemoBundle } from './internal-kpar.js';
|
|
9
|
+
/** The one place this string is written. Everything else reads it from here. */
|
|
10
|
+
export const INTERNAL_PROVIDER_ID = 'internal';
|
|
11
|
+
/** MEMO's own version, reported the way an external tool reports `--version`. */
|
|
12
|
+
function internalVersion() {
|
|
13
|
+
return process.env.MEMO_VERSION;
|
|
14
|
+
}
|
|
15
|
+
/** Package role — the built-in gzip-tar MEMO bundle writer. */
|
|
16
|
+
export const internalPackageDescriptor = {
|
|
17
|
+
id: INTERNAL_PROVIDER_ID,
|
|
18
|
+
role: 'package',
|
|
19
|
+
capabilities: ['pack'],
|
|
20
|
+
defaultOutputName: context => `${(context.config.modelName || 'memo-project').replace(/[^a-zA-Z0-9_-]/g, '-')}.memo-bundle`,
|
|
21
|
+
probe: () => ({ available: true, transport: 'in-process', version: internalVersion() }),
|
|
22
|
+
create(context) {
|
|
23
|
+
return {
|
|
24
|
+
id: INTERNAL_PROVIDER_ID,
|
|
25
|
+
role: 'package',
|
|
26
|
+
transport: 'in-process',
|
|
27
|
+
invocation: () => undefined,
|
|
28
|
+
async run() {
|
|
29
|
+
const outputPath = context.outputPath;
|
|
30
|
+
if (!outputPath)
|
|
31
|
+
throw new Error('Packaging requires an output path.');
|
|
32
|
+
await writeInternalMemoBundle(context.projectDir, outputPath, context.config.modelName || 'memo-project');
|
|
33
|
+
if (!existsSync(outputPath)) {
|
|
34
|
+
throw new Error(`${INTERNAL_PROVIDER_ID} completed but did not create ${outputPath}.`);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
provider: INTERNAL_PROVIDER_ID,
|
|
38
|
+
providerVersion: internalVersion(),
|
|
39
|
+
transport: 'in-process',
|
|
40
|
+
accepted: true,
|
|
41
|
+
diagnostics: [],
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=internal-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-package.js","sourceRoot":"","sources":["../../../src/toolchain/providers/internal-package.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,iFAAiF;AACjF,SAAS,eAAe;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACpC,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IACxD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,CAAC,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,cAAc;IAC3H,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC;IACvF,MAAM,CAAC,OAAwB;QAC3B,OAAO;YACH,EAAE,EAAE,oBAAoB;YACxB,IAAI,EAAE,SAAkB;YACxB,SAAS,EAAE,YAAqB;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;YAC3B,KAAK,CAAC,GAAG;gBACL,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACtC,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACvE,MAAM,uBAAuB,CACzB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC;gBAChF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,oBAAoB,iCAAiC,UAAU,GAAG,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO;oBACH,QAAQ,EAAE,oBAAoB;oBAC9B,eAAe,EAAE,eAAe,EAAE;oBAClC,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,EAAE;iBAClB,CAAC;YACN,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MEMOConfig } from '../../model/config.js';
|
|
2
|
+
import type { Diagnostic } from '../diagnostic.js';
|
|
3
|
+
import { type OpenSysMLConnection } from './opensysml.js';
|
|
4
|
+
/** The session's OpenSysML service, started on first use and closed once idle. */
|
|
5
|
+
export declare function sharedOpenSysMLConnection(config: MEMOConfig): Promise<OpenSysMLConnection>;
|
|
6
|
+
/** Close the session's service; the next call starts another. */
|
|
7
|
+
export declare function closeSharedOpenSysMLConnection(): void;
|
|
8
|
+
/**
|
|
9
|
+
* The documents a resolved compile reads: every library root a locator
|
|
10
|
+
* offers, and the project's own files — the set `compileResolvedProject`
|
|
11
|
+
* gives stage 1.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolvedCompileDocuments(projectRoot: string): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Stage 1's verdict on the project with some files' text replaced: the error
|
|
16
|
+
* diagnostics, empty when OpenSysML accepts it. `content` is keyed by
|
|
17
|
+
* absolute path; a path the project does not have yet is added.
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkWithOpenSysML(config: MEMOConfig, projectRoot: string, content: ReadonlyMap<string, string>): Promise<Diagnostic[]>;
|
|
20
|
+
//# sourceMappingURL=opensysml-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opensysml-check.d.ts","sourceRoot":"","sources":["../../../src/toolchain/providers/opensysml-check.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAwD,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOhH,kFAAkF;AAClF,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAahG;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9E,OAAO,CAAC,UAAU,EAAE,CAAC,CAyBvB"}
|