@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
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
// if a project still carries them. Selection now comes from two native facts:
|
|
9
9
|
//
|
|
10
10
|
// 1. the project's own `.sysml` import graph, rooted at the entrypoint
|
|
11
|
-
// `model/
|
|
12
|
-
// 2. the `
|
|
11
|
+
// `model/methodology/project.sysml`, and
|
|
12
|
+
// 2. the `ModelMethodBinding` that entrypoint declares, whose
|
|
13
13
|
// `selectedMethodology` is a typed SysML reference.
|
|
14
14
|
//
|
|
15
15
|
// Application settings still say *where* a package's source sits on disk. That
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
//
|
|
22
22
|
// Design reference: sections 5.1, 5.3, 6.2, 9.
|
|
23
23
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
24
|
-
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
24
|
+
import { existsSync, readdirSync, realpathSync, lstatSync, statSync } from 'node:fs';
|
|
25
25
|
import { dirname, extname, join, relative, resolve, sep } from 'node:path';
|
|
26
|
-
import { parseFiles } from './parser-utils.js';
|
|
27
26
|
import { readPackageManifest } from './package-manifest.js';
|
|
27
|
+
import { satisfiesRange } from './version-range.js';
|
|
28
28
|
import { discoverMemoManifests, findMemoManifests, resolveManifestPath } from './manifest.js';
|
|
29
29
|
import { importKpar } from '../commands/package.js';
|
|
30
30
|
/**
|
|
31
31
|
* SysML v2 standard-library packages.
|
|
32
32
|
*
|
|
33
|
-
* These are supplied by the
|
|
33
|
+
* These are supplied by the selected compiler and the package manager, not by a MEMO
|
|
34
34
|
* package, so an import of one resolves to nothing on disk and that is correct.
|
|
35
35
|
* Reporting it as an unresolved import would bury the real diagnostics under
|
|
36
36
|
* one line per file.
|
|
@@ -45,7 +45,7 @@ const STANDARD_LIBRARY_PACKAGES = new Set([
|
|
|
45
45
|
'ISQ', 'SI', 'Quantities', 'MeasurementReferences', 'Time', 'SpatialFrames',
|
|
46
46
|
]);
|
|
47
47
|
/** Conventional template value for the required project root descriptor. */
|
|
48
|
-
export const PROJECT_ENTRYPOINT = join('model', '
|
|
48
|
+
export const PROJECT_ENTRYPOINT = join('model', 'methodology', 'project.sysml');
|
|
49
49
|
/**
|
|
50
50
|
* Resolve the project's required native entrypoint. `entrypoint` is a project locator:
|
|
51
51
|
* it names the SysML file from which project identity and import scope start;
|
|
@@ -53,7 +53,7 @@ export const PROJECT_ENTRYPOINT = join('model', 'catalog', 'project.sysml');
|
|
|
53
53
|
*
|
|
54
54
|
* There is NO conventional fallback. A project without an `entrypoint` in its
|
|
55
55
|
* `memo.package.yaml` is not a project, even if a file happens to sit at
|
|
56
|
-
* `model/
|
|
56
|
+
* `model/methodology/project.sysml` — that path is a scaffolding default, not a
|
|
57
57
|
* location the resolver assumes. Callers must report the missing locator
|
|
58
58
|
* rather than a missing file, because the file is usually there.
|
|
59
59
|
*/
|
|
@@ -69,13 +69,30 @@ export function projectEntrypoint(projectRoot) {
|
|
|
69
69
|
return configured;
|
|
70
70
|
return relative(root, candidate);
|
|
71
71
|
}
|
|
72
|
+
/** The project's method binding, read from SysML. */
|
|
73
|
+
/**
|
|
74
|
+
* The definitions a model's method binding is typed by. `ModelMethodBinding`
|
|
75
|
+
* is the name; `ProjectMethodBinding` is its deprecated former spelling (a
|
|
76
|
+
* specialization of it in the ontology), still read so an existing model binds,
|
|
77
|
+
* and reported by `deprecated-binding-spelling`. Every place that recognizes a
|
|
78
|
+
* binding asks this list, so the old spelling is named in one place.
|
|
79
|
+
* Delete `ProjectMethodBinding` in 0.15.0.
|
|
80
|
+
*/
|
|
81
|
+
export const METHOD_BINDING_KINDS = ['ModelMethodBinding', 'ProjectMethodBinding'];
|
|
82
|
+
/** The spellings of a binding that are deprecated: its old type and its old name attribute. */
|
|
83
|
+
export const DEPRECATED_BINDING_SPELLINGS = { kind: 'ProjectMethodBinding', name: 'projectName' };
|
|
84
|
+
export function isMethodBindingKind(kind) {
|
|
85
|
+
return METHOD_BINDING_KINDS.includes(kind ?? '');
|
|
86
|
+
}
|
|
72
87
|
// ─── Project root ─────────────────────────────────────────────────────────────
|
|
73
88
|
/**
|
|
74
89
|
* Find the project root by walking up for a root descriptor whose explicit
|
|
75
90
|
* `entrypoint` names an existing SysML root file.
|
|
76
91
|
*/
|
|
77
92
|
export function findProjectRoot(startDir) {
|
|
78
|
-
|
|
93
|
+
// A real path, so every caller that names files from the root names them as
|
|
94
|
+
// a compiler does (see `canonicalPath`).
|
|
95
|
+
let dir = canonicalPath(startDir);
|
|
79
96
|
while (true) {
|
|
80
97
|
const entrypoint = projectEntrypoint(dir);
|
|
81
98
|
if (entrypoint && existsSync(join(dir, entrypoint)))
|
|
@@ -86,6 +103,28 @@ export function findProjectRoot(startDir) {
|
|
|
86
103
|
dir = parent;
|
|
87
104
|
}
|
|
88
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The real path of a directory, symbolic links resolved. A compiler names the
|
|
108
|
+
* files it read by their real paths; a project reached through a symlink (macOS
|
|
109
|
+
* `/tmp` and `/var`, a linked home) would otherwise never match them, and
|
|
110
|
+
* resolve to nothing.
|
|
111
|
+
*/
|
|
112
|
+
function isSymlink(path) {
|
|
113
|
+
try {
|
|
114
|
+
return lstatSync(path).isSymbolicLink();
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function canonicalPath(path) {
|
|
121
|
+
try {
|
|
122
|
+
return realpathSync.native(resolve(path));
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return resolve(path);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
89
128
|
// ─── Library roots (locators only) ────────────────────────────────────────────
|
|
90
129
|
/**
|
|
91
130
|
* Collect the library roots a project could resolve packages from.
|
|
@@ -94,10 +133,13 @@ export function findProjectRoot(startDir) {
|
|
|
94
133
|
* closure decides what is *selected*. A root listed here and never imported
|
|
95
134
|
* contributes nothing to the model.
|
|
96
135
|
*/
|
|
97
|
-
export function discoverLibraryRoots(projectRoot) {
|
|
136
|
+
export function discoverLibraryRoots(projectRoot, onShadowed) {
|
|
98
137
|
const roots = new Map();
|
|
99
138
|
const add = (dir) => {
|
|
100
|
-
|
|
139
|
+
// The real path: a package installed by symlink (`memo install <path>`) is
|
|
140
|
+
// reported by the compiler at the directory the link points to, and the
|
|
141
|
+
// root must be known by that name for its files to be matched to it.
|
|
142
|
+
const abs = isSymlink(dir) ? canonicalPath(dir) : resolve(dir);
|
|
101
143
|
if (roots.has(abs))
|
|
102
144
|
return;
|
|
103
145
|
const { path, manifest } = readPackageManifest(abs);
|
|
@@ -106,12 +148,21 @@ export function discoverLibraryRoots(projectRoot) {
|
|
|
106
148
|
const sysmlDir = manifest.sysmlDir ? resolve(abs, manifest.sysmlDir) : abs;
|
|
107
149
|
if (!existsSync(sysmlDir))
|
|
108
150
|
return;
|
|
109
|
-
|
|
151
|
+
const root = {
|
|
110
152
|
dir: abs,
|
|
111
153
|
sysmlDir,
|
|
112
154
|
packageName: manifest.name ?? abs.split(sep).pop() ?? abs,
|
|
113
155
|
packageVersion: manifest.version,
|
|
114
|
-
}
|
|
156
|
+
};
|
|
157
|
+
// A package name resolves to one root. Two copies of one package declare every package in it twice,
|
|
158
|
+
// so the first found keeps the name: an explicit override, then the nearest repository, then the
|
|
159
|
+
// installation. The ones passed over are reported, never merged.
|
|
160
|
+
const kept = [...roots.values()].find(candidate => candidate.packageName === root.packageName);
|
|
161
|
+
if (kept) {
|
|
162
|
+
onShadowed?.(kept, root);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
roots.set(abs, root);
|
|
115
166
|
};
|
|
116
167
|
// Distribution manifests map a package name to a directory. They are an
|
|
117
168
|
// application/distribution setting: they make a package available, they do
|
|
@@ -123,7 +174,7 @@ export function discoverLibraryRoots(projectRoot) {
|
|
|
123
174
|
// Extensions are reusable ontology packages, so they are library roots
|
|
124
175
|
// on the same terms as any other package: available, not selected.
|
|
125
176
|
// They were reachable only as example directories before, which meant
|
|
126
|
-
// a project could import an extension, resolve it under
|
|
177
|
+
// a project could import an extension, resolve it under an external compiler, and
|
|
127
178
|
// still have every extension type come back unregistered — no layer,
|
|
128
179
|
// no supertype, no legality. Listing them here is what makes an
|
|
129
180
|
// extension mean something to the tools and not just to the compiler.
|
|
@@ -175,230 +226,6 @@ export function discoverLibraryRoots(projectRoot) {
|
|
|
175
226
|
}
|
|
176
227
|
return [...roots.values()];
|
|
177
228
|
}
|
|
178
|
-
// ─── AST reading ──────────────────────────────────────────────────────────────
|
|
179
|
-
function attrString(value) {
|
|
180
|
-
if (!value)
|
|
181
|
-
return undefined;
|
|
182
|
-
switch (value.$type) {
|
|
183
|
-
case 'StringValue':
|
|
184
|
-
try {
|
|
185
|
-
return JSON.parse(value.value ?? '""');
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
return value.value?.replace(/^"|"$/g, '');
|
|
189
|
-
}
|
|
190
|
-
case 'IntValue':
|
|
191
|
-
case 'RealValue':
|
|
192
|
-
case 'BooleanValue':
|
|
193
|
-
return String(value.value);
|
|
194
|
-
case 'EnumValue': {
|
|
195
|
-
const ref = value.enumRef ?? '';
|
|
196
|
-
const idx = ref.lastIndexOf('::');
|
|
197
|
-
return idx >= 0 ? ref.slice(idx + 2) : ref;
|
|
198
|
-
}
|
|
199
|
-
case 'SetLiteral':
|
|
200
|
-
return undefined; // handled by attrList
|
|
201
|
-
default:
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Read a list-valued attribute.
|
|
207
|
-
*
|
|
208
|
-
* SysML spells a multi-valued attribute either as a set literal
|
|
209
|
-
* (`= ("a", "b")`) or as repeated single assignments. Both are read here so the
|
|
210
|
-
* ontology's authoring style is not a semantic difference.
|
|
211
|
-
*/
|
|
212
|
-
function attrList(body, name) {
|
|
213
|
-
const out = [];
|
|
214
|
-
for (const member of body ?? []) {
|
|
215
|
-
if (member.$type !== 'AttributeMember' || member.name !== name || !member.value)
|
|
216
|
-
continue;
|
|
217
|
-
if (member.value.$type === 'SetLiteral') {
|
|
218
|
-
// A SetElement is either a quoted string or a qualified name; the
|
|
219
|
-
// grammar puts them in different properties.
|
|
220
|
-
for (const el of member.value.elements ?? []) {
|
|
221
|
-
const raw = el.stringValue ?? el.value;
|
|
222
|
-
if (typeof raw === 'string') {
|
|
223
|
-
try {
|
|
224
|
-
out.push(JSON.parse(raw));
|
|
225
|
-
}
|
|
226
|
-
catch {
|
|
227
|
-
out.push(stripQuotes(raw));
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
const v = attrString(member.value);
|
|
234
|
-
if (v !== undefined)
|
|
235
|
-
out.push(v);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return out;
|
|
239
|
-
}
|
|
240
|
-
function stripQuotes(s) {
|
|
241
|
-
return s.replace(/^"|"$/g, '');
|
|
242
|
-
}
|
|
243
|
-
function attr(body, name) {
|
|
244
|
-
for (const member of body ?? []) {
|
|
245
|
-
if (member.$type === 'AttributeMember' && member.name === name && member.value) {
|
|
246
|
-
const v = attrString(member.value);
|
|
247
|
-
if (v !== undefined)
|
|
248
|
-
return v;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return undefined;
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Read the type a `ref :>> <name> : <Type>;` member narrows to.
|
|
255
|
-
*
|
|
256
|
-
* This is the reference mechanism session 1 verified across the MEMO grammar,
|
|
257
|
-
* SysIDE, and Sysand: narrowing the reference's type names the rule, because
|
|
258
|
-
* each rule is its own `constraint def`. Binding a *value* to a definition is
|
|
259
|
-
* not portable — SysIDE rejects it, since a value must be a feature.
|
|
260
|
-
*/
|
|
261
|
-
function refType(body, name) {
|
|
262
|
-
for (const member of body ?? []) {
|
|
263
|
-
if (member.$type !== 'RefMember' || member.name !== name)
|
|
264
|
-
continue;
|
|
265
|
-
if (member.type)
|
|
266
|
-
return shortName(member.type);
|
|
267
|
-
if (member.value)
|
|
268
|
-
return attrString(member.value);
|
|
269
|
-
}
|
|
270
|
-
return undefined;
|
|
271
|
-
}
|
|
272
|
-
function shortName(qualified) {
|
|
273
|
-
const idx = qualified.lastIndexOf('::');
|
|
274
|
-
return idx >= 0 ? qualified.slice(idx + 2) : qualified;
|
|
275
|
-
}
|
|
276
|
-
function asScopeMode(raw) {
|
|
277
|
-
return raw === 'allAvailable' || raw === 'explicit' ? raw : undefined;
|
|
278
|
-
}
|
|
279
|
-
function readRulePolicy(node, file) {
|
|
280
|
-
const body = node.body ?? [];
|
|
281
|
-
const disposition = attr(body, 'disposition');
|
|
282
|
-
const severity = attr(body, 'severityOverride');
|
|
283
|
-
return {
|
|
284
|
-
usageName: node.name,
|
|
285
|
-
targetRuleType: refType(body, 'targetRule'),
|
|
286
|
-
replacementRuleType: refType(body, 'replacementRule'),
|
|
287
|
-
disposition: disposition === 'enabled' || disposition === 'disabled' || disposition === 'replaced'
|
|
288
|
-
? disposition
|
|
289
|
-
: undefined,
|
|
290
|
-
severityOverride: severity === 'error' || severity === 'warning' || severity === 'info' ? severity : undefined,
|
|
291
|
-
rationaleText: attr(body, 'rationaleText'),
|
|
292
|
-
authority: attr(body, 'authority'),
|
|
293
|
-
approvalReference: attr(body, 'approvalReference'),
|
|
294
|
-
approvedBy: attr(body, 'approvedBy'),
|
|
295
|
-
approvedOn: attr(body, 'approvedOn'),
|
|
296
|
-
sourceFile: file,
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
function nestedPolicies(node, file) {
|
|
300
|
-
const out = [];
|
|
301
|
-
for (const member of node.body ?? []) {
|
|
302
|
-
if (member.$type === 'PartMember' && member.type && shortName(member.type) === 'RulePolicy') {
|
|
303
|
-
out.push(readRulePolicy(member, file));
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
return out;
|
|
307
|
-
}
|
|
308
|
-
/** Walk one document for `ProjectMethodBinding` and `MethodologyDefinition` usages. */
|
|
309
|
-
function readNativeUsages(doc) {
|
|
310
|
-
const bindings = [];
|
|
311
|
-
const methodologies = [];
|
|
312
|
-
const model = doc.document.parseResult?.value;
|
|
313
|
-
if (!model)
|
|
314
|
-
return { bindings, methodologies };
|
|
315
|
-
const visit = (node, pkg) => {
|
|
316
|
-
if (!node)
|
|
317
|
-
return;
|
|
318
|
-
if (node.$type === 'PackageDeclaration') {
|
|
319
|
-
for (const m of node.members ?? [])
|
|
320
|
-
visit(m, node.name ?? pkg);
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
|
-
if (node.$type !== 'PartUsage' && node.$type !== 'PartMember')
|
|
324
|
-
return;
|
|
325
|
-
const type = node.type ? shortName(node.type) : undefined;
|
|
326
|
-
const body = node.body ?? [];
|
|
327
|
-
if (type === 'ProjectMethodBinding') {
|
|
328
|
-
bindings.push({
|
|
329
|
-
usageName: node.name,
|
|
330
|
-
bindingId: attr(body, 'id'),
|
|
331
|
-
projectName: attr(body, 'projectName'),
|
|
332
|
-
selectedMethodologyName: refType(body, 'selectedMethodology'),
|
|
333
|
-
scopeMode: asScopeMode(attr(body, 'scopeMode')),
|
|
334
|
-
includedModules: attrList(body, 'includedModule'),
|
|
335
|
-
rulePolicies: nestedPolicies(node, doc.filePath),
|
|
336
|
-
sourceFile: doc.filePath,
|
|
337
|
-
packageQualifiedName: pkg,
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
else if (type === 'MethodologyDefinition') {
|
|
341
|
-
methodologies.push({
|
|
342
|
-
usageName: node.name,
|
|
343
|
-
methodologyId: attr(body, 'id'),
|
|
344
|
-
displayName: attr(body, 'name'),
|
|
345
|
-
version: attr(body, 'version'),
|
|
346
|
-
baseMethodologyName: refType(body, 'baseMethodology'),
|
|
347
|
-
scopeMode: asScopeMode(attr(body, 'scopeMode')),
|
|
348
|
-
includedLayers: attrList(body, 'includedLayer'),
|
|
349
|
-
includedModules: attrList(body, 'includedModule'),
|
|
350
|
-
includedStandards: attrList(body, 'includedStandard'),
|
|
351
|
-
includedArtifactKinds: attrList(body, 'includedArtifactKind'),
|
|
352
|
-
includedViewpoints: attrList(body, 'includedViewpoint'),
|
|
353
|
-
rulePolicies: nestedPolicies(node, doc.filePath),
|
|
354
|
-
sourceFile: doc.filePath,
|
|
355
|
-
packageQualifiedName: pkg,
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
for (const m of body)
|
|
359
|
-
visit(m, pkg);
|
|
360
|
-
};
|
|
361
|
-
for (const member of model.members ?? [])
|
|
362
|
-
visit(member);
|
|
363
|
-
return { bindings, methodologies };
|
|
364
|
-
}
|
|
365
|
-
function indexPackages(documents, fileToRoot) {
|
|
366
|
-
const index = new Map();
|
|
367
|
-
for (const doc of documents) {
|
|
368
|
-
const model = doc.document.parseResult?.value;
|
|
369
|
-
if (!model)
|
|
370
|
-
continue;
|
|
371
|
-
const walk = (node) => {
|
|
372
|
-
if (!node || node.$type !== 'PackageDeclaration')
|
|
373
|
-
return;
|
|
374
|
-
const name = node.name;
|
|
375
|
-
let entry = index.get(name);
|
|
376
|
-
if (!entry) {
|
|
377
|
-
entry = { qualifiedName: name, files: new Set(), imports: new Set(), root: fileToRoot.get(doc.filePath) };
|
|
378
|
-
index.set(name, entry);
|
|
379
|
-
}
|
|
380
|
-
entry.files.add(doc.filePath);
|
|
381
|
-
if (!entry.root)
|
|
382
|
-
entry.root = fileToRoot.get(doc.filePath);
|
|
383
|
-
for (const member of node.members ?? []) {
|
|
384
|
-
if (member.$type === 'ImportDeclaration') {
|
|
385
|
-
const path = member.path ?? '';
|
|
386
|
-
const pkgName = path.endsWith('::**') ? path.slice(0, -4)
|
|
387
|
-
: path.endsWith('::*') ? path.slice(0, -3)
|
|
388
|
-
: path.split('::').slice(0, -1).join('::') || path;
|
|
389
|
-
if (pkgName)
|
|
390
|
-
entry.imports.add(pkgName);
|
|
391
|
-
}
|
|
392
|
-
else {
|
|
393
|
-
walk(member);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
};
|
|
397
|
-
for (const member of model.members ?? [])
|
|
398
|
-
walk(member);
|
|
399
|
-
}
|
|
400
|
-
return index;
|
|
401
|
-
}
|
|
402
229
|
function collectSysmlFiles(dir, out = []) {
|
|
403
230
|
let entries = [];
|
|
404
231
|
try {
|
|
@@ -434,24 +261,51 @@ function collectSysmlFiles(dir, out = []) {
|
|
|
434
261
|
* Before the flip this read `type:` out of the package manifest; that field is
|
|
435
262
|
* gone, so a reusable root is classified by whether it supplies a methodology.
|
|
436
263
|
*/
|
|
437
|
-
function originFor(root, suppliesMethodology) {
|
|
264
|
+
function originFor(root, suppliesMethodology, dependencyDirs = new Set()) {
|
|
438
265
|
if (!root)
|
|
439
266
|
return 'project';
|
|
440
267
|
if (suppliesMethodology)
|
|
441
268
|
return 'methodology';
|
|
269
|
+
// A root the project's `dependencies` name is a model it builds on, not the
|
|
270
|
+
// ontology: the consumer says which packages are models, and the import
|
|
271
|
+
// closure still decides which of their packages are used.
|
|
272
|
+
if (dependencyDirs.has(root.dir))
|
|
273
|
+
return 'dependency';
|
|
442
274
|
return 'ontology';
|
|
443
275
|
}
|
|
444
|
-
// ─── Resolution ───────────────────────────────────────────────────────────────
|
|
445
276
|
/**
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
* Anything it does not reach is not part of the model, however many manifests
|
|
450
|
-
* point at it.
|
|
277
|
+
* Match each `dependencies` entry to a library root by name (a scoped name also
|
|
278
|
+
* matches its bare form, the way `memo install` stores a directory), and say
|
|
279
|
+
* which are missing or at a version the range does not accept.
|
|
451
280
|
*/
|
|
452
|
-
export
|
|
281
|
+
export function resolveDependencies(projectRoot, libraryRoots, diagnostics) {
|
|
282
|
+
const declared = readPackageManifest(projectRoot).manifest.dependencies ?? {};
|
|
283
|
+
const bare = (name) => name.replace(/^@[^/]+\//, '');
|
|
284
|
+
const out = [];
|
|
285
|
+
for (const [name, range] of Object.entries(declared)) {
|
|
286
|
+
const root = libraryRoots.find(r => r.packageName === name)
|
|
287
|
+
?? libraryRoots.find(r => bare(r.packageName) === bare(name));
|
|
288
|
+
out.push({ name, range, root });
|
|
289
|
+
if (!root) {
|
|
290
|
+
diagnostics.push({
|
|
291
|
+
code: 'dependency-missing',
|
|
292
|
+
message: `The dependency "${name}" (${range}) is listed in memo.package.yaml but no package of that name was found. `
|
|
293
|
+
+ 'Install it with `memo-architect install`, or place it under memo_packages/.',
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
else if (!satisfiesRange(root.packageVersion, range)) {
|
|
297
|
+
diagnostics.push({
|
|
298
|
+
code: 'dependency-version',
|
|
299
|
+
message: `The dependency "${name}" asks for ${range} and ${root.dir} is ${root.packageVersion ?? 'unversioned'}.`,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return out;
|
|
304
|
+
}
|
|
305
|
+
/** Find a project's sources: no SysML is read. */
|
|
306
|
+
export function discoverProjectSources(projectRoot) {
|
|
453
307
|
const diagnostics = [];
|
|
454
|
-
const root =
|
|
308
|
+
const root = canonicalPath(projectRoot);
|
|
455
309
|
const entrypointPath = projectEntrypoint(root);
|
|
456
310
|
const entrypoint = entrypointPath ? resolve(root, entrypointPath) : undefined;
|
|
457
311
|
const includes = readPackageManifest(root).manifest.include ?? [];
|
|
@@ -475,9 +329,20 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
475
329
|
});
|
|
476
330
|
}
|
|
477
331
|
}
|
|
478
|
-
const
|
|
332
|
+
const shadowed = [];
|
|
333
|
+
const libraryRoots = discoverLibraryRoots(root, (kept, ignored) => shadowed.push({ kept, ignored }));
|
|
334
|
+
if (shadowed.length > 0) {
|
|
335
|
+
const names = shadowed.map(s => s.ignored.packageName);
|
|
336
|
+
diagnostics.push({
|
|
337
|
+
code: 'library-root-shadowed',
|
|
338
|
+
severity: 'warning',
|
|
339
|
+
message: `${names.length} package(s) were found in two places and the first is used: ${names.slice(0, 3).join(', ')}${names.length > 3 ? ', …' : ''}. `
|
|
340
|
+
+ `Using ${dirname(shadowed[0].kept.dir)}, not ${dirname(shadowed[0].ignored.dir)}. The order is MEMO_ONTOLOGY_PATH, then the nearest repository, then the installation; `
|
|
341
|
+
+ 'two copies would declare every package twice.',
|
|
342
|
+
});
|
|
343
|
+
}
|
|
479
344
|
const fileToRoot = new Map();
|
|
480
|
-
// Match
|
|
345
|
+
// Match the `include` source-root contract exactly: only explicitly included
|
|
481
346
|
// directories are project model source. Includes may name a sibling OTS
|
|
482
347
|
// repository; imports, rather than physical location, decide scope.
|
|
483
348
|
const projectFiles = [...new Set(includes.filter(include => extname(include).toLowerCase() !== '.kpar').flatMap(include => {
|
|
@@ -495,8 +360,16 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
495
360
|
libraryFiles.push(f);
|
|
496
361
|
}
|
|
497
362
|
}
|
|
498
|
-
|
|
499
|
-
|
|
363
|
+
return { projectRoot: root, entrypointPath, entrypoint, libraryRoots, projectFiles, libraryFiles, fileToRoot, diagnostics };
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Close a project's resolution over its package index and native usages,
|
|
367
|
+
* however they were read: the import closure from the entrypoint, the library
|
|
368
|
+
* roots it selects, and the method binding.
|
|
369
|
+
*/
|
|
370
|
+
export function finishResolution(sources, index, bindings, methodologyList) {
|
|
371
|
+
const { projectRoot: root, entrypointPath, entrypoint, libraryRoots } = sources;
|
|
372
|
+
const diagnostics = [...sources.diagnostics];
|
|
500
373
|
if (!entrypoint || !existsSync(entrypoint)) {
|
|
501
374
|
diagnostics.push({
|
|
502
375
|
code: 'no-entrypoint',
|
|
@@ -505,11 +378,12 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
505
378
|
file: entrypoint,
|
|
506
379
|
});
|
|
507
380
|
}
|
|
508
|
-
const index = indexPackages(documents, fileToRoot);
|
|
509
381
|
const filePackages = new Map();
|
|
382
|
+
const publicImports = new Map();
|
|
510
383
|
for (const entry of index.values()) {
|
|
511
384
|
for (const file of entry.files)
|
|
512
385
|
filePackages.set(file, entry.qualifiedName);
|
|
386
|
+
publicImports.set(entry.qualifiedName, entry.publicImports);
|
|
513
387
|
}
|
|
514
388
|
// The entrypoint, not every source file on disk, starts the closure. This
|
|
515
389
|
// keeps an unimported source area out of explicit scope and makes the same
|
|
@@ -520,17 +394,24 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
520
394
|
if (entrypoint && entry.files.has(entrypoint))
|
|
521
395
|
queue.push({ name: entry.qualifiedName, depth: 0 });
|
|
522
396
|
}
|
|
397
|
+
if (entrypoint && existsSync(entrypoint) && queue.length === 0) {
|
|
398
|
+
// The entrypoint is on disk and nothing that was compiled declares it, so
|
|
399
|
+
// the project resolves to nothing. Said, not left as an empty model.
|
|
400
|
+
diagnostics.push({
|
|
401
|
+
code: 'entrypoint-not-compiled',
|
|
402
|
+
message: `No compiled document declares the entrypoint ${entrypoint}, so nothing of the project could be resolved. `
|
|
403
|
+
+ 'A project reached through a symbolic link is the usual cause: open it by its real path.',
|
|
404
|
+
file: entrypoint,
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
const dependencies = resolveDependencies(root, libraryRoots, diagnostics);
|
|
408
|
+
const dependencyDirs = new Set(dependencies.flatMap(d => d.root ? [d.root.dir] : []));
|
|
523
409
|
const methodologyPackages = new Set();
|
|
524
|
-
const bindings = [];
|
|
525
410
|
const methodologies = new Map();
|
|
526
|
-
for (const
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
methodologies.set(meth.usageName, meth);
|
|
531
|
-
if (meth.packageQualifiedName)
|
|
532
|
-
methodologyPackages.add(meth.packageQualifiedName);
|
|
533
|
-
}
|
|
411
|
+
for (const meth of methodologyList) {
|
|
412
|
+
methodologies.set(meth.usageName, meth);
|
|
413
|
+
if (meth.packageQualifiedName)
|
|
414
|
+
methodologyPackages.add(meth.packageQualifiedName);
|
|
534
415
|
}
|
|
535
416
|
while (queue.length > 0) {
|
|
536
417
|
const { name, depth, via } = queue.shift();
|
|
@@ -556,7 +437,7 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
556
437
|
qualifiedName: name,
|
|
557
438
|
files: [...entry.files],
|
|
558
439
|
root: entry.root,
|
|
559
|
-
origin: originFor(entry.root, methodologyPackages.has(name)),
|
|
440
|
+
origin: originFor(entry.root, methodologyPackages.has(name), dependencyDirs),
|
|
560
441
|
importDepth: depth,
|
|
561
442
|
importedBy: via ? [via] : [],
|
|
562
443
|
});
|
|
@@ -574,8 +455,8 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
574
455
|
if (entrypoint && existsSync(entrypoint)) {
|
|
575
456
|
diagnostics.push({
|
|
576
457
|
code: 'no-binding',
|
|
577
|
-
message: `No
|
|
578
|
-
+ `it is what selects the
|
|
458
|
+
message: `No ModelMethodBinding found in ${entrypointPath}. It must declare one; `
|
|
459
|
+
+ `it is what selects the model's methodology.`,
|
|
579
460
|
file: entrypoint,
|
|
580
461
|
});
|
|
581
462
|
}
|
|
@@ -583,15 +464,24 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
583
464
|
else if (projectBindings.length > 1) {
|
|
584
465
|
diagnostics.push({
|
|
585
466
|
code: 'multiple-bindings',
|
|
586
|
-
message: `${projectBindings.length}
|
|
467
|
+
message: `${projectBindings.length} ModelMethodBinding usages found (`
|
|
587
468
|
+ projectBindings.map(b => `${b.usageName} in ${relative(root, b.sourceFile)}`).join(', ')
|
|
588
|
-
+ `). A
|
|
469
|
+
+ `). A model binds exactly one methodology; which one applied would otherwise depend on load order.`,
|
|
589
470
|
});
|
|
590
471
|
binding = projectBindings[0];
|
|
591
472
|
}
|
|
592
473
|
else {
|
|
593
474
|
binding = projectBindings[0];
|
|
594
475
|
}
|
|
476
|
+
if (binding?.deprecatedSpellings?.length) {
|
|
477
|
+
diagnostics.push({
|
|
478
|
+
code: 'deprecated-binding-spelling',
|
|
479
|
+
severity: 'warning',
|
|
480
|
+
message: `${binding.usageName} is written with ${binding.deprecatedSpellings.map(s => `\`${s}\``).join(' and ')}, `
|
|
481
|
+
+ 'which still work and are deleted in 0.15.0. Write `ModelMethodBinding` and `modelName` instead.',
|
|
482
|
+
file: binding.sourceFile,
|
|
483
|
+
});
|
|
484
|
+
}
|
|
595
485
|
if (binding) {
|
|
596
486
|
if (!binding.selectedMethodologyName) {
|
|
597
487
|
diagnostics.push({
|
|
@@ -608,11 +498,14 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
608
498
|
file: binding.sourceFile,
|
|
609
499
|
});
|
|
610
500
|
}
|
|
611
|
-
|
|
501
|
+
const imported = binding.packageQualifiedName
|
|
502
|
+
? [...(publicImports.get(binding.packageQualifiedName) ?? [])] : [];
|
|
503
|
+
if (binding.scopeMode === 'allAvailable' && imported.length > 0) {
|
|
612
504
|
diagnostics.push({
|
|
613
505
|
code: 'scope-mode-conflict',
|
|
614
|
-
message: `${binding.usageName} sets scopeMode = allAvailable and also
|
|
615
|
-
+
|
|
506
|
+
message: `${binding.usageName} sets scopeMode = allAvailable, and its package also publicly imports `
|
|
507
|
+
+ `${imported.join(', ')} to add to the selection. `
|
|
508
|
+
+ `Under allAvailable everything resolved is selected, so the binding states its scope twice.`,
|
|
616
509
|
file: binding.sourceFile,
|
|
617
510
|
});
|
|
618
511
|
}
|
|
@@ -625,8 +518,9 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
625
518
|
closure,
|
|
626
519
|
selectedRoots,
|
|
627
520
|
unusedRoots,
|
|
628
|
-
|
|
521
|
+
dependencies,
|
|
629
522
|
filePackages,
|
|
523
|
+
publicImports,
|
|
630
524
|
diagnostics,
|
|
631
525
|
};
|
|
632
526
|
}
|