@memoarchitect/tools 0.13.0 → 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 -267
- 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 +129 -30
- 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 -3565
- package/packages/tools/lib/language/generated/ast.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/ast.js +0 -2975
- 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 -10643
- 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 -2103
- package/packages/tools/lib/model/builder.js.map +0 -1
- package/packages/tools/lib/model/package-registry.d.ts +0 -62
- package/packages/tools/lib/model/package-registry.d.ts.map +0 -1
- package/packages/tools/lib/model/package-registry.js +0 -175
- 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 -1056
|
@@ -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,228 +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, -3) : path.split('::').slice(0, -1).join('::') || path;
|
|
387
|
-
if (pkgName)
|
|
388
|
-
entry.imports.add(pkgName);
|
|
389
|
-
}
|
|
390
|
-
else {
|
|
391
|
-
walk(member);
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
};
|
|
395
|
-
for (const member of model.members ?? [])
|
|
396
|
-
walk(member);
|
|
397
|
-
}
|
|
398
|
-
return index;
|
|
399
|
-
}
|
|
400
229
|
function collectSysmlFiles(dir, out = []) {
|
|
401
230
|
let entries = [];
|
|
402
231
|
try {
|
|
@@ -432,24 +261,51 @@ function collectSysmlFiles(dir, out = []) {
|
|
|
432
261
|
* Before the flip this read `type:` out of the package manifest; that field is
|
|
433
262
|
* gone, so a reusable root is classified by whether it supplies a methodology.
|
|
434
263
|
*/
|
|
435
|
-
function originFor(root, suppliesMethodology) {
|
|
264
|
+
function originFor(root, suppliesMethodology, dependencyDirs = new Set()) {
|
|
436
265
|
if (!root)
|
|
437
266
|
return 'project';
|
|
438
267
|
if (suppliesMethodology)
|
|
439
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';
|
|
440
274
|
return 'ontology';
|
|
441
275
|
}
|
|
442
|
-
// ─── Resolution ───────────────────────────────────────────────────────────────
|
|
443
276
|
/**
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
* Anything it does not reach is not part of the model, however many manifests
|
|
448
|
-
* 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.
|
|
449
280
|
*/
|
|
450
|
-
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) {
|
|
451
307
|
const diagnostics = [];
|
|
452
|
-
const root =
|
|
308
|
+
const root = canonicalPath(projectRoot);
|
|
453
309
|
const entrypointPath = projectEntrypoint(root);
|
|
454
310
|
const entrypoint = entrypointPath ? resolve(root, entrypointPath) : undefined;
|
|
455
311
|
const includes = readPackageManifest(root).manifest.include ?? [];
|
|
@@ -473,9 +329,20 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
473
329
|
});
|
|
474
330
|
}
|
|
475
331
|
}
|
|
476
|
-
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
|
+
}
|
|
477
344
|
const fileToRoot = new Map();
|
|
478
|
-
// Match
|
|
345
|
+
// Match the `include` source-root contract exactly: only explicitly included
|
|
479
346
|
// directories are project model source. Includes may name a sibling OTS
|
|
480
347
|
// repository; imports, rather than physical location, decide scope.
|
|
481
348
|
const projectFiles = [...new Set(includes.filter(include => extname(include).toLowerCase() !== '.kpar').flatMap(include => {
|
|
@@ -493,8 +360,16 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
493
360
|
libraryFiles.push(f);
|
|
494
361
|
}
|
|
495
362
|
}
|
|
496
|
-
|
|
497
|
-
|
|
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];
|
|
498
373
|
if (!entrypoint || !existsSync(entrypoint)) {
|
|
499
374
|
diagnostics.push({
|
|
500
375
|
code: 'no-entrypoint',
|
|
@@ -503,11 +378,12 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
503
378
|
file: entrypoint,
|
|
504
379
|
});
|
|
505
380
|
}
|
|
506
|
-
const index = indexPackages(documents, fileToRoot);
|
|
507
381
|
const filePackages = new Map();
|
|
382
|
+
const publicImports = new Map();
|
|
508
383
|
for (const entry of index.values()) {
|
|
509
384
|
for (const file of entry.files)
|
|
510
385
|
filePackages.set(file, entry.qualifiedName);
|
|
386
|
+
publicImports.set(entry.qualifiedName, entry.publicImports);
|
|
511
387
|
}
|
|
512
388
|
// The entrypoint, not every source file on disk, starts the closure. This
|
|
513
389
|
// keeps an unimported source area out of explicit scope and makes the same
|
|
@@ -518,17 +394,24 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
518
394
|
if (entrypoint && entry.files.has(entrypoint))
|
|
519
395
|
queue.push({ name: entry.qualifiedName, depth: 0 });
|
|
520
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] : []));
|
|
521
409
|
const methodologyPackages = new Set();
|
|
522
|
-
const bindings = [];
|
|
523
410
|
const methodologies = new Map();
|
|
524
|
-
for (const
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
methodologies.set(meth.usageName, meth);
|
|
529
|
-
if (meth.packageQualifiedName)
|
|
530
|
-
methodologyPackages.add(meth.packageQualifiedName);
|
|
531
|
-
}
|
|
411
|
+
for (const meth of methodologyList) {
|
|
412
|
+
methodologies.set(meth.usageName, meth);
|
|
413
|
+
if (meth.packageQualifiedName)
|
|
414
|
+
methodologyPackages.add(meth.packageQualifiedName);
|
|
532
415
|
}
|
|
533
416
|
while (queue.length > 0) {
|
|
534
417
|
const { name, depth, via } = queue.shift();
|
|
@@ -554,7 +437,7 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
554
437
|
qualifiedName: name,
|
|
555
438
|
files: [...entry.files],
|
|
556
439
|
root: entry.root,
|
|
557
|
-
origin: originFor(entry.root, methodologyPackages.has(name)),
|
|
440
|
+
origin: originFor(entry.root, methodologyPackages.has(name), dependencyDirs),
|
|
558
441
|
importDepth: depth,
|
|
559
442
|
importedBy: via ? [via] : [],
|
|
560
443
|
});
|
|
@@ -572,8 +455,8 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
572
455
|
if (entrypoint && existsSync(entrypoint)) {
|
|
573
456
|
diagnostics.push({
|
|
574
457
|
code: 'no-binding',
|
|
575
|
-
message: `No
|
|
576
|
-
+ `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.`,
|
|
577
460
|
file: entrypoint,
|
|
578
461
|
});
|
|
579
462
|
}
|
|
@@ -581,15 +464,24 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
581
464
|
else if (projectBindings.length > 1) {
|
|
582
465
|
diagnostics.push({
|
|
583
466
|
code: 'multiple-bindings',
|
|
584
|
-
message: `${projectBindings.length}
|
|
467
|
+
message: `${projectBindings.length} ModelMethodBinding usages found (`
|
|
585
468
|
+ projectBindings.map(b => `${b.usageName} in ${relative(root, b.sourceFile)}`).join(', ')
|
|
586
|
-
+ `). A
|
|
469
|
+
+ `). A model binds exactly one methodology; which one applied would otherwise depend on load order.`,
|
|
587
470
|
});
|
|
588
471
|
binding = projectBindings[0];
|
|
589
472
|
}
|
|
590
473
|
else {
|
|
591
474
|
binding = projectBindings[0];
|
|
592
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
|
+
}
|
|
593
485
|
if (binding) {
|
|
594
486
|
if (!binding.selectedMethodologyName) {
|
|
595
487
|
diagnostics.push({
|
|
@@ -606,11 +498,14 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
606
498
|
file: binding.sourceFile,
|
|
607
499
|
});
|
|
608
500
|
}
|
|
609
|
-
|
|
501
|
+
const imported = binding.packageQualifiedName
|
|
502
|
+
? [...(publicImports.get(binding.packageQualifiedName) ?? [])] : [];
|
|
503
|
+
if (binding.scopeMode === 'allAvailable' && imported.length > 0) {
|
|
610
504
|
diagnostics.push({
|
|
611
505
|
code: 'scope-mode-conflict',
|
|
612
|
-
message: `${binding.usageName} sets scopeMode = allAvailable and also
|
|
613
|
-
+
|
|
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.`,
|
|
614
509
|
file: binding.sourceFile,
|
|
615
510
|
});
|
|
616
511
|
}
|
|
@@ -623,8 +518,9 @@ export async function resolveNativeProject(projectRoot) {
|
|
|
623
518
|
closure,
|
|
624
519
|
selectedRoots,
|
|
625
520
|
unusedRoots,
|
|
626
|
-
|
|
521
|
+
dependencies,
|
|
627
522
|
filePackages,
|
|
523
|
+
publicImports,
|
|
628
524
|
diagnostics,
|
|
629
525
|
};
|
|
630
526
|
}
|