@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
|
@@ -14,7 +14,8 @@ export interface RelationshipType {
|
|
|
14
14
|
/** Hex colour for relationship visualization */
|
|
15
15
|
color: string;
|
|
16
16
|
}
|
|
17
|
-
import type {
|
|
17
|
+
import type { ApiElement, ApiModel } from '../stage2/api-model.js';
|
|
18
|
+
import { type WorkspaceMembership } from '../stage2/registries-from-api.js';
|
|
18
19
|
import type { MultiplicityDTO, RelationshipDefinitionDTO } from './relationship-legality.js';
|
|
19
20
|
/** One `end` declaration on a connection definition */
|
|
20
21
|
export interface RelationshipEnd {
|
|
@@ -66,6 +67,8 @@ export interface RelationshipRegistryEntry {
|
|
|
66
67
|
* happens to still declare alongside it.
|
|
67
68
|
*/
|
|
68
69
|
nativeKeyword?: string;
|
|
70
|
+
/** Package-qualified name of the definition; set for a typed dependency, whose statement names it. */
|
|
71
|
+
qualifiedName?: string;
|
|
69
72
|
/** End names from the connection definition */
|
|
70
73
|
ends: RelationshipEnd[];
|
|
71
74
|
/**
|
|
@@ -117,9 +120,13 @@ export declare const REFINEMENT_METADATA = "refinement";
|
|
|
117
120
|
*/
|
|
118
121
|
export declare function pascalToCamelCase(name: string): string;
|
|
119
122
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
123
|
+
* Convert PascalCase to a human-readable label.
|
|
124
|
+
* "TraceTo" → "Trace To", "HasSubProcedure" → "Has Sub Procedure"
|
|
122
125
|
*/
|
|
126
|
+
export declare function pascalToLabel(name: string): string;
|
|
127
|
+
/** Strip the `doc /* … */` wrapper and per-line asterisks from a doc comment. */
|
|
128
|
+
export declare function cleanDocComment(content: string): string | undefined;
|
|
129
|
+
/** The relationship types a compiled project declares. */
|
|
123
130
|
export declare class RelationshipRegistry {
|
|
124
131
|
private readonly relTypes;
|
|
125
132
|
/** Number of registered relationship types */
|
|
@@ -144,6 +151,13 @@ export declare class RelationshipRegistry {
|
|
|
144
151
|
has(name: string): boolean;
|
|
145
152
|
/** Get all relationship type names (camelCase) */
|
|
146
153
|
relTypeNames(): string[];
|
|
154
|
+
/**
|
|
155
|
+
* The workspace-membership table the ontology declares (relation name to direction).
|
|
156
|
+
* Covers the registry's relations and the edges the builder synthesizes from SysML keywords,
|
|
157
|
+
* so it is keyed by edge type, not by registry entry.
|
|
158
|
+
*/
|
|
159
|
+
workspaceMembership(): ReadonlyMap<string, WorkspaceMembership>;
|
|
160
|
+
private membership;
|
|
147
161
|
/** Get all entries */
|
|
148
162
|
entries(): RelationshipRegistryEntry[];
|
|
149
163
|
/**
|
|
@@ -162,10 +176,11 @@ export declare class RelationshipRegistry {
|
|
|
162
176
|
/** Register a relationship type manually (for testing or config fallback) */
|
|
163
177
|
register(entry: RelationshipRegistryEntry): void;
|
|
164
178
|
/**
|
|
165
|
-
* Populate the registry from
|
|
166
|
-
*
|
|
179
|
+
* Populate the registry from a stage 1 handoff (`apiRelationshipEntries`):
|
|
180
|
+
* the `connection def` and `allocation def` declarations, then the
|
|
181
|
+
* language-native relations.
|
|
167
182
|
*/
|
|
168
|
-
|
|
183
|
+
populateFromApi(api: ApiModel, fileOf: (element: ApiElement) => string, include?: (namespace: ApiElement) => boolean, role?: 'library' | 'project'): void;
|
|
169
184
|
/**
|
|
170
185
|
* Record the three relations SysML v2 spells with a keyword.
|
|
171
186
|
*
|
|
@@ -184,7 +199,5 @@ export declare class RelationshipRegistry {
|
|
|
184
199
|
* not vanish from the registry along with its retired spelling.
|
|
185
200
|
*/
|
|
186
201
|
private registerLanguageNatives;
|
|
187
|
-
/** Walk a package declaration and register all ConnectionDefinition nodes */
|
|
188
|
-
private walkPackage;
|
|
189
202
|
}
|
|
190
203
|
//# sourceMappingURL=relationship-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-registry.d.ts","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relationship-registry.d.ts","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
// ─── Relationship Registry ──────────────────────────────────────────────────
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
3
|
+
// The relationship types a compiled project declares: its `connection def` and
|
|
4
|
+
// `allocation def` nodes, with the layer taken from the file's directory path.
|
|
5
|
+
// Populated from a stage 1 handoff (`populateFromApi`). Normalizes PascalCase
|
|
6
|
+
// SysML names to camelCase for matching.
|
|
7
7
|
//
|
|
8
8
|
// Usage:
|
|
9
9
|
// const registry = new RelationshipRegistry();
|
|
10
|
-
// registry.
|
|
10
|
+
// registry.populateFromApi(api, fileOf);
|
|
11
11
|
// const rel = registry.getRelType("mitigates");
|
|
12
12
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
13
|
-
import {
|
|
14
|
-
import { resolveLayerFromPath } from './layer-resolver.js';
|
|
13
|
+
import { apiRelationshipEntries, apiWorkspaceMembership } from '../stage2/registries-from-api.js';
|
|
15
14
|
/**
|
|
16
15
|
* The relations SysML v2 already writes with a keyword, and the MEMO trace edge
|
|
17
16
|
* each one produces.
|
|
@@ -94,14 +93,14 @@ export const LANGUAGE_NATIVE_RELATIONS = {
|
|
|
94
93
|
// Both ends are untyped, like `performs` above, because native
|
|
95
94
|
// `include` is owner-rooted and deliberately polymorphic:
|
|
96
95
|
// `resolveOwnerRootedUsage` is owner-type-agnostic, so it projects
|
|
97
|
-
// UseCase -> UseCase inclusion exactly as it projects
|
|
98
|
-
//
|
|
99
|
-
//
|
|
96
|
+
// UseCase -> UseCase inclusion exactly as it projects an action
|
|
97
|
+
// including another. That is why `connection def Includes` was deleted
|
|
98
|
+
// in R10-S6 and both spellings unified here. (A functional flow's steps
|
|
99
|
+
// are nested actions now, not included ones.)
|
|
100
100
|
//
|
|
101
101
|
// No single type can carry it: the kinds this relation joins sit in
|
|
102
|
-
// unrelated families — FunctionalFlow
|
|
103
|
-
//
|
|
104
|
-
// metaclasses. Naming two of them made every use-case `include` a
|
|
102
|
+
// unrelated families — a FunctionalFlow is a MemoAction, a UseCase a
|
|
103
|
+
// MemoUseCase, and MEMO has no root above the metaclasses. Naming two of them made every use-case `include` a
|
|
105
104
|
// well-formedness error: 132 of them in affera, on a construct the
|
|
106
105
|
// design intends.
|
|
107
106
|
ends: [
|
|
@@ -164,6 +163,50 @@ export const LANGUAGE_NATIVE_RELATIONS = {
|
|
|
164
163
|
{ name: 'framedConcern', type: 'MemoPart' },
|
|
165
164
|
],
|
|
166
165
|
},
|
|
166
|
+
// ── Requirement membership ──
|
|
167
|
+
//
|
|
168
|
+
// An assume/guarantee contract is a requirement whose subject is the
|
|
169
|
+
// component and whose assumptions and guarantees are `assume`/`require`
|
|
170
|
+
// members (AGREE's shape). All three are owner-rooted, like `perform`: the
|
|
171
|
+
// enclosing requirement is the source and the written reference the target.
|
|
172
|
+
hasSubject: {
|
|
173
|
+
keyword: 'subject',
|
|
174
|
+
sysmlName: 'HasSubject',
|
|
175
|
+
layer: 'core',
|
|
176
|
+
description: 'A requirement or a use case is about a subject — for a contract, the component it '
|
|
177
|
+
+ 'constrains; for a use case, the system or system of systems it is carried out with. '
|
|
178
|
+
+ 'Written natively as `subject <name> = <element>;` inside the requirement or use case. '
|
|
179
|
+
+ 'The same keyword inside a verification case is `verifiedBy`, not this.',
|
|
180
|
+
// The source is untyped for the reason `includesStep`'s is: a
|
|
181
|
+
// requirement and a use case sit in unrelated families
|
|
182
|
+
// (MemoRequirementElement, MemoUseCase) with no root above both.
|
|
183
|
+
ends: [
|
|
184
|
+
{ name: 'subjectOwner' },
|
|
185
|
+
{ name: 'subject' },
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
assumes: {
|
|
189
|
+
keyword: 'assume',
|
|
190
|
+
sysmlName: 'Assumes',
|
|
191
|
+
layer: 'core',
|
|
192
|
+
description: 'A requirement assumes another holds — a contract\'s assumption. '
|
|
193
|
+
+ 'Written natively as `assume <requirement>;` inside the requirement.',
|
|
194
|
+
ends: [
|
|
195
|
+
{ name: 'contract', type: 'MemoRequirementElement' },
|
|
196
|
+
{ name: 'assumption', type: 'MemoRequirementElement' },
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
requires: {
|
|
200
|
+
keyword: 'require',
|
|
201
|
+
sysmlName: 'Requires',
|
|
202
|
+
layer: 'core',
|
|
203
|
+
description: 'A requirement requires another — a contract\'s guarantee. '
|
|
204
|
+
+ 'Written natively as `require <requirement>;` inside the requirement.',
|
|
205
|
+
ends: [
|
|
206
|
+
{ name: 'contract', type: 'MemoRequirementElement' },
|
|
207
|
+
{ name: 'guarantee', type: 'MemoRequirementElement' },
|
|
208
|
+
],
|
|
209
|
+
},
|
|
167
210
|
// The one row whose native spelling is NOT a connection. A refinement is a
|
|
168
211
|
// `Dependency` — n clients, n suppliers, no ends to redefine, annotated by
|
|
169
212
|
// a PREFIX metadata rather than by a `metadata def` on a connection def. So
|
|
@@ -226,11 +269,11 @@ export function pascalToCamelCase(name) {
|
|
|
226
269
|
* Convert PascalCase to a human-readable label.
|
|
227
270
|
* "TraceTo" → "Trace To", "HasSubProcedure" → "Has Sub Procedure"
|
|
228
271
|
*/
|
|
229
|
-
function pascalToLabel(name) {
|
|
272
|
+
export function pascalToLabel(name) {
|
|
230
273
|
return name.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
231
274
|
}
|
|
232
275
|
/** Strip the `doc /* … */` wrapper and per-line asterisks from a doc comment. */
|
|
233
|
-
function cleanDocComment(content) {
|
|
276
|
+
export function cleanDocComment(content) {
|
|
234
277
|
const text = content
|
|
235
278
|
.replace(/^doc\s+\/\*\s*/, '')
|
|
236
279
|
.replace(/\s*\*\/$/, '')
|
|
@@ -238,47 +281,13 @@ function cleanDocComment(content) {
|
|
|
238
281
|
.trim();
|
|
239
282
|
return text || undefined;
|
|
240
283
|
}
|
|
241
|
-
/** Convert a parsed Multiplicity node into its serializable bounds. */
|
|
242
|
-
function toMultiplicityDTO(multiplicity) {
|
|
243
|
-
if (!multiplicity)
|
|
244
|
-
return undefined;
|
|
245
|
-
// `[3]` — an exact bound pins both ends.
|
|
246
|
-
if (multiplicity.exact !== undefined) {
|
|
247
|
-
const exact = Number(multiplicity.exact);
|
|
248
|
-
return { lower: exact, upper: exact };
|
|
249
|
-
}
|
|
250
|
-
// `[*]` — no lower bound was written, so it stays 0.
|
|
251
|
-
if (multiplicity.lower === undefined) {
|
|
252
|
-
return { lower: 0, upper: multiplicity.unbounded ? null : null };
|
|
253
|
-
}
|
|
254
|
-
// `[0..1]` / `[1..*]`
|
|
255
|
-
return {
|
|
256
|
-
lower: Number(multiplicity.lower),
|
|
257
|
-
upper: multiplicity.unbounded || multiplicity.upper === undefined
|
|
258
|
-
? null
|
|
259
|
-
: Number(multiplicity.upper),
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Read a Boolean attribute value, or undefined when the attribute declares a
|
|
264
|
-
* type rather than stating a value. Undefined is meaningful: it means the
|
|
265
|
-
* ontology is silent, and the caller applies the documented default.
|
|
266
|
-
*/
|
|
267
|
-
function booleanAttributeValue(value) {
|
|
268
|
-
if (!value || value.$type !== 'BooleanValue')
|
|
269
|
-
return undefined;
|
|
270
|
-
return value.value === 'true';
|
|
271
|
-
}
|
|
272
284
|
/** Project one registry end (possibly absent) into its DTO. */
|
|
273
285
|
function toEndDTO(end, fallbackName) {
|
|
274
286
|
if (!end)
|
|
275
287
|
return { name: fallbackName };
|
|
276
288
|
return { name: end.name || fallbackName, type: end.type, multiplicity: end.multiplicity };
|
|
277
289
|
}
|
|
278
|
-
/**
|
|
279
|
-
* Registry that discovers relationship types from SysML AST ConnectionDefinition nodes.
|
|
280
|
-
* Replaces config.relationshipTypes lookups in the builder.
|
|
281
|
-
*/
|
|
290
|
+
/** The relationship types a compiled project declares. */
|
|
282
291
|
export class RelationshipRegistry {
|
|
283
292
|
relTypes = new Map();
|
|
284
293
|
/** Number of registered relationship types */
|
|
@@ -328,6 +337,15 @@ export class RelationshipRegistry {
|
|
|
328
337
|
relTypeNames() {
|
|
329
338
|
return Array.from(this.relTypes.keys());
|
|
330
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* The workspace-membership table the ontology declares (relation name to direction).
|
|
342
|
+
* Covers the registry's relations and the edges the builder synthesizes from SysML keywords,
|
|
343
|
+
* so it is keyed by edge type, not by registry entry.
|
|
344
|
+
*/
|
|
345
|
+
workspaceMembership() {
|
|
346
|
+
return this.membership;
|
|
347
|
+
}
|
|
348
|
+
membership = new Map();
|
|
331
349
|
/** Get all entries */
|
|
332
350
|
entries() {
|
|
333
351
|
return Array.from(this.relTypes.values());
|
|
@@ -349,6 +367,7 @@ export class RelationshipRegistry {
|
|
|
349
367
|
isReflexive: this.inherited(entry, 'isReflexive'),
|
|
350
368
|
isUnique: this.inherited(entry, 'isUnique'),
|
|
351
369
|
nativeKeyword: entry.nativeKeyword,
|
|
370
|
+
...(entry.sysmlConstruct === 'metadata def' && entry.qualifiedName ? { typedDependency: entry.qualifiedName } : {}),
|
|
352
371
|
sourceEnd: toEndDTO(entry.ends[0], 'source'),
|
|
353
372
|
targetEnd: toEndDTO(entry.ends[1], 'target'),
|
|
354
373
|
}));
|
|
@@ -378,20 +397,16 @@ export class RelationshipRegistry {
|
|
|
378
397
|
this.relTypes.set(entry.name, entry);
|
|
379
398
|
}
|
|
380
399
|
/**
|
|
381
|
-
* Populate the registry from
|
|
382
|
-
*
|
|
400
|
+
* Populate the registry from a stage 1 handoff (`apiRelationshipEntries`):
|
|
401
|
+
* the `connection def` and `allocation def` declarations, then the
|
|
402
|
+
* language-native relations.
|
|
383
403
|
*/
|
|
384
|
-
|
|
385
|
-
for (const
|
|
386
|
-
|
|
387
|
-
const layer = resolveLayerFromPath(doc.filePath);
|
|
388
|
-
for (const member of model.members) {
|
|
389
|
-
if (isPackageDeclaration(member)) {
|
|
390
|
-
this.walkPackage(member, layer);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
}
|
|
404
|
+
populateFromApi(api, fileOf, include, role = 'library') {
|
|
405
|
+
for (const entry of apiRelationshipEntries(api, fileOf, include, role))
|
|
406
|
+
this.relTypes.set(entry.name, entry);
|
|
394
407
|
this.registerLanguageNatives();
|
|
408
|
+
for (const [relation, direction] of apiWorkspaceMembership(api))
|
|
409
|
+
this.membership.set(relation, direction);
|
|
395
410
|
}
|
|
396
411
|
/**
|
|
397
412
|
* Record the three relations SysML v2 spells with a keyword.
|
|
@@ -428,72 +443,5 @@ export class RelationshipRegistry {
|
|
|
428
443
|
});
|
|
429
444
|
}
|
|
430
445
|
}
|
|
431
|
-
/** Walk a package declaration and register all ConnectionDefinition nodes */
|
|
432
|
-
walkPackage(pkg, layer) {
|
|
433
|
-
for (const member of pkg.members) {
|
|
434
|
-
if (isPackageDeclaration(member)) {
|
|
435
|
-
this.walkPackage(member, layer);
|
|
436
|
-
continue;
|
|
437
|
-
}
|
|
438
|
-
// An `allocation def` is a relation with a different keyword, not a
|
|
439
|
-
// different thing: `Allocations::Allocation :> BinaryConnection`,
|
|
440
|
-
// it declares the same `end`s, and it produces the same links. The
|
|
441
|
-
// registry derived relations from `connection def` alone, so an
|
|
442
|
-
// allocation def would have been invisible to every tool that
|
|
443
|
-
// reads the registry — the authoring picker, the writer, the DSM,
|
|
444
|
-
// the legality check — while still being valid, checked ontology.
|
|
445
|
-
if (isConnectionDefinition(member) || isAllocationDefinition(member)) {
|
|
446
|
-
const sysmlName = member.name;
|
|
447
|
-
if (!sysmlName)
|
|
448
|
-
continue;
|
|
449
|
-
const name = pascalToCamelCase(sysmlName);
|
|
450
|
-
const label = pascalToLabel(sysmlName);
|
|
451
|
-
// Extract end declarations
|
|
452
|
-
const ends = [];
|
|
453
|
-
const attributes = [];
|
|
454
|
-
let description;
|
|
455
|
-
let isReflexive;
|
|
456
|
-
let isUnique;
|
|
457
|
-
for (const bodyMember of member.body) {
|
|
458
|
-
if (isEndDeclaration(bodyMember)) {
|
|
459
|
-
ends.push({
|
|
460
|
-
name: bodyMember.name || '',
|
|
461
|
-
type: bodyMember.type || undefined,
|
|
462
|
-
multiplicity: toMultiplicityDTO(bodyMember.multiplicity),
|
|
463
|
-
});
|
|
464
|
-
}
|
|
465
|
-
else if (isDocComment(bodyMember) && description === undefined) {
|
|
466
|
-
description = cleanDocComment(bodyMember.content);
|
|
467
|
-
}
|
|
468
|
-
else if (isAttributeMember(bodyMember)) {
|
|
469
|
-
if (bodyMember.name)
|
|
470
|
-
attributes.push(bodyMember.name);
|
|
471
|
-
// Only a valued attribute states anything — a bare
|
|
472
|
-
// `attribute isUnique : Boolean;` declares the slot.
|
|
473
|
-
if (bodyMember.name === 'isReflexive') {
|
|
474
|
-
isReflexive = booleanAttributeValue(bodyMember.value) ?? isReflexive;
|
|
475
|
-
}
|
|
476
|
-
else if (bodyMember.name === 'isUnique') {
|
|
477
|
-
isUnique = booleanAttributeValue(bodyMember.value) ?? isUnique;
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
this.relTypes.set(name, {
|
|
482
|
-
sysmlName,
|
|
483
|
-
name,
|
|
484
|
-
label,
|
|
485
|
-
layer,
|
|
486
|
-
sysmlConstruct: isAllocationDefinition(member) ? 'allocation def' : 'connection def',
|
|
487
|
-
description,
|
|
488
|
-
isAbstract: member.isAbstract || undefined,
|
|
489
|
-
superType: member.specialization?.superType || undefined,
|
|
490
|
-
isReflexive,
|
|
491
|
-
isUnique,
|
|
492
|
-
ends,
|
|
493
|
-
attributes,
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
446
|
}
|
|
499
447
|
//# sourceMappingURL=relationship-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-registry.js","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relationship-registry.js","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,yCAAyC;AACzC,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,2CAA2C;AAC3C,kDAAkD;AAClD,gFAAgF;AAmBhF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAA4B,MAAM,kCAAkC,CAAC;AAuE5H;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAMjC;IACD,WAAW,EAAE;QACT,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,yDAAyD;cAChE,4DAA4D;QAClE,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,wBAAwB,EAAE;YAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE;SAChC;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,iDAAiD;cACxD,8DAA8D;QACpE,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC9B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACJ;IACD,WAAW,EAAE;QACT,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,sDAAsD;cAC7D,uDAAuD;QAC7D,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB,EAAE,IAAI,EAAE,kBAAkB,EAAE;SAC/B;KACJ;IAED,kDAAkD;IAClD,EAAE;IACF,2EAA2E;IAC3E,iEAAiE;IACjE,4EAA4E;IAC5E,sEAAsE;IACtE,2EAA2E;IAC3E,yBAAyB;IACzB,QAAQ,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,6EAA6E;cACpF,gEAAgE;cAChE,6FAA6F;QACnG,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;SAC5C;KACJ;IACD,YAAY,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8CAA8C;cACrD,qEAAqE;QAC3E,+DAA+D;QAC/D,0DAA0D;QAC1D,mEAAmE;QACnE,gEAAgE;QAChE,uEAAuE;QACvE,wEAAwE;QACxE,8CAA8C;QAC9C,EAAE;QACF,oEAAoE;QACpE,qEAAqE;QACrE,8GAA8G;QAC9G,mEAAmE;QACnE,kBAAkB;QAClB,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC1B,EAAE,IAAI,EAAE,MAAM,EAAE;SACnB;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,wDAAwD;cAC/D,oEAAoE;cACpE,iEAAiE;cACjE,iEAAiE;cACjE,0DAA0D;cAC1D,wDAAwD;QAC9D,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,EAAE,IAAI,EAAE,UAAU,EAAE;SACvB;KACJ;IACD,cAAc,EAAE;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,0DAA0D;cACjE,kEAAkE;cAClE,oDAAoD;cACpD,0DAA0D;QAChE,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;YAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;KACJ;IACD,YAAY,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,wCAAwC;cAC/C,8DAA8D;QACpE,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;SACtC;KACJ;IACD,aAAa,EAAE;QACX,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,wDAAwD;cAC/D,8DAA8D;QACpE,IAAI,EAAE;YACF,mEAAmE;YACnE,iEAAiE;YACjE,gEAAgE;YAChE,oEAAoE;YACpE,kDAAkD;YAClD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9C;KACJ;IACD,+BAA+B;IAC/B,EAAE;IACF,qEAAqE;IACrE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,UAAU,EAAE;QACR,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,oFAAoF;cAC3F,sFAAsF;cACtF,wFAAwF;cACxF,wEAAwE;QAC9E,8DAA8D;QAC9D,uDAAuD;QACvD,iEAAiE;QACjE,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,SAAS,EAAE;SACtB;KACJ;IACD,OAAO,EAAE;QACL,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,kEAAkE;cACzE,qEAAqE;QAC3E,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACpD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,wBAAwB,EAAE;SACzD;KACJ;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,4DAA4D;cACnE,sEAAsE;QAC5E,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACpD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,wBAAwB,EAAE;SACxD;KACJ;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,mEAAmE;IACnE,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,iEAAiE;IACjE,oEAAoE;IACpE,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,QAAQ,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,iEAAiE;cACxE,8EAA8E;cAC9E,oDAAoD;QAC1D,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,EAAE,IAAI,EAAE,OAAO,EAAE;SACpB;KACJ;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,mDAAmD;cAC1D,2EAA2E;cAC3E,gFAAgF;QACtF,IAAI,EAAE;YACF,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,UAAU,EAAE;SACvB;KACJ;CACJ,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,MAAM,IAAI,GAAG,OAAO;SACf,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,IAAI,EAAE,CAAC;IACZ,OAAO,IAAI,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,GAAgC,EAAE,YAAoB;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;AAC9F,CAAC;AAED,0DAA0D;AAC1D,MAAM,OAAO,oBAAoB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAC;IAEzE,8CAA8C;IAC9C,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,wBAAwB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,EAAE;SACZ,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iDAAiD;IACjD,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,kDAAkD;IAClD,YAAY;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEO,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE5D,sBAAsB;IACtB,OAAO;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,gBAAgB;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;YACjD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;YAC3C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,cAAc,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnH,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC5C,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;SAC/C,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;OAIG;IACK,SAAS,CACb,KAAgC,EAChC,QAAoC;QAEpC,IAAI,OAAO,GAA0C,KAAK,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAuB,OAAO,CAAC,SAAS,CAAC;YACxD,iEAAiE;YACjE,OAAO,GAAG,SAAS;gBACf,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACjD,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CAAC,KAAgC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,eAAe,CACX,GAAa,EACb,MAAuC,EACvC,OAA4C,EAC5C,OAA8B,SAAS;QAEvC,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7G,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9G,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,uBAAuB;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;gBACxC,SAAS;YACb,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;gBACpB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI;gBACJ,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;gBACtC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,aAAa,EAAE,MAAM,CAAC,OAAO;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { KindRegistry } from './kind-registry.js';
|
|
2
|
+
import type { MemoElement, MemoModel } from './semantic.js';
|
|
3
|
+
/**
|
|
4
|
+
* Read-only `MemoElement` views of every named relationship that declares a
|
|
5
|
+
* domain kind.
|
|
6
|
+
*
|
|
7
|
+
* Anonymous edges are excluded: their id is a positional `rel-N` that
|
|
8
|
+
* addresses nothing and shifts on the next edit, so a violation reported
|
|
9
|
+
* against one would name a subject no reader could find. Untyped edges are
|
|
10
|
+
* excluded because they declare no kind, and a kind is what a rule selects on.
|
|
11
|
+
*/
|
|
12
|
+
export declare function relationshipSubjects(model: MemoModel, registry?: KindRegistry): MemoElement[];
|
|
13
|
+
/**
|
|
14
|
+
* The model a rule is evaluated against, with projected subjects merged into
|
|
15
|
+
* `elementsByKind` only.
|
|
16
|
+
*
|
|
17
|
+
* `elements` is deliberately left alone. It is the parts index — what
|
|
18
|
+
* `memo compile --inspect` resolves, what the census counts, what an export serializes —
|
|
19
|
+
* and an edge does not belong in it. `elementsByKind` is the SUBJECT SELECTOR,
|
|
20
|
+
* which is a different question: "what does this rule run on?".
|
|
21
|
+
*
|
|
22
|
+
* A projected subject never displaces an element. If an id collides — which it
|
|
23
|
+
* cannot today, since the relationship index rejects a flow competing with an
|
|
24
|
+
* element for one qualified name — the element wins and the projection is
|
|
25
|
+
* dropped, because the authored declaration is the one with a body to read.
|
|
26
|
+
*/
|
|
27
|
+
export declare function withRelationshipSubjects(model: MemoModel, registry?: KindRegistry): MemoModel;
|
|
28
|
+
//# sourceMappingURL=relationship-subjects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-subjects.d.ts","sourceRoot":"","sources":["../../src/model/relationship-subjects.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAiB,WAAW,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAC;AAoC7F;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,YAAY,GACxB,WAAW,EAAE,CAgCf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,YAAY,GACxB,SAAS,CAWX"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// ─── Rule subjects projected from named, typed relationships ─────────────────
|
|
2
|
+
//
|
|
3
|
+
// A named `flow` or `interface` usage that declares a domain type —
|
|
4
|
+
// `flow lfDose : FunctionalExchange from … to …` — is a first-class modelled
|
|
5
|
+
// thing: it carries a qualified identity, attributes of its own, and a kind an
|
|
6
|
+
// ontology declared. It is still an EDGE, so it is not in the elements map and
|
|
7
|
+
// nothing counting parts counts it as one.
|
|
8
|
+
//
|
|
9
|
+
// That left a gap. Rule subjects come from `elementsByKind`, so a rule written
|
|
10
|
+
// `appliesTo = "FunctionalExchange"` against a flow-def kind selected nothing
|
|
11
|
+
// at all — an empty subject set, reported as a clean pass. The architecture
|
|
12
|
+
// plan's §9.1 asks for "a single canonical identity for a named flow/interface
|
|
13
|
+
// that can also serve as a relationship target", implemented by "a unified
|
|
14
|
+
// entity index or a READ-ONLY FACADE over existing element/relationship
|
|
15
|
+
// indexes", and requires that it "must not require a second authored proxy
|
|
16
|
+
// part or independently mutable graph records".
|
|
17
|
+
//
|
|
18
|
+
// This module is that facade. It derives a `MemoElement` VIEW of each such
|
|
19
|
+
// relationship, on demand, from the relationship object itself. Nothing is
|
|
20
|
+
// stored, nothing is added to the canonical model, and the projection is
|
|
21
|
+
// recomputed from the edge every time — so the edge stays the one record and
|
|
22
|
+
// there is no second graph to keep in step. The canonical model that the
|
|
23
|
+
// census counts, the baselines freeze and the exports serialize is untouched.
|
|
24
|
+
import { MEMO_CONSTRUCTS, usageKeyword } from './semantic.js';
|
|
25
|
+
/**
|
|
26
|
+
* The construct a projected subject reports.
|
|
27
|
+
*
|
|
28
|
+
* Asked of the ontology first — a `flow def` projects `'flow'`, an
|
|
29
|
+
* `interface def` projects `'interface'` — because the DEFINITION is what says
|
|
30
|
+
* what the usage is, and the registry is where that is recorded. Without a
|
|
31
|
+
* registry, or for a kind no ontology declares, the native keyword is the next
|
|
32
|
+
* best answer: `flow`, `interface` and `connection` are all constructs in
|
|
33
|
+
* their own right, so a `type` naming one is already the truth.
|
|
34
|
+
*
|
|
35
|
+
* `'part'` is never inferred here. A relationship that cannot be classified
|
|
36
|
+
* projects nothing at all (see {@link relationshipSubjects}) rather than
|
|
37
|
+
* arriving in the elements vocabulary as a structural thing, which is the
|
|
38
|
+
* exact category mistake the native-exchange work exists to undo.
|
|
39
|
+
*/
|
|
40
|
+
function subjectConstruct(relationship, registry) {
|
|
41
|
+
const declared = relationship.kind
|
|
42
|
+
? registry?.getKind(relationship.kind)?.sysmlConstruct
|
|
43
|
+
: undefined;
|
|
44
|
+
if (declared)
|
|
45
|
+
return usageKeyword(declared);
|
|
46
|
+
return MEMO_CONSTRUCTS.includes(relationship.type)
|
|
47
|
+
? relationship.type
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
50
|
+
/** A subject's display name, by the precedence an element's has. */
|
|
51
|
+
function subjectName(relationship) {
|
|
52
|
+
const attributes = relationship.attributes ?? {};
|
|
53
|
+
return attributes['label'] || attributes['name'] || attributes['title'] || relationship.shortName || relationship.id;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Read-only `MemoElement` views of every named relationship that declares a
|
|
57
|
+
* domain kind.
|
|
58
|
+
*
|
|
59
|
+
* Anonymous edges are excluded: their id is a positional `rel-N` that
|
|
60
|
+
* addresses nothing and shifts on the next edit, so a violation reported
|
|
61
|
+
* against one would name a subject no reader could find. Untyped edges are
|
|
62
|
+
* excluded because they declare no kind, and a kind is what a rule selects on.
|
|
63
|
+
*/
|
|
64
|
+
export function relationshipSubjects(model, registry) {
|
|
65
|
+
const subjects = [];
|
|
66
|
+
for (const relationship of model.relationships) {
|
|
67
|
+
if (!relationship.named || !relationship.kind)
|
|
68
|
+
continue;
|
|
69
|
+
const construct = subjectConstruct(relationship, registry);
|
|
70
|
+
if (!construct)
|
|
71
|
+
continue;
|
|
72
|
+
subjects.push({
|
|
73
|
+
id: relationship.id,
|
|
74
|
+
...(relationship.shortName ? { shortName: relationship.shortName } : {}),
|
|
75
|
+
// Named as an element is: its `@MemoIdentity` label first, so a
|
|
76
|
+
// finding reads the same whether its subject is a part or an edge.
|
|
77
|
+
name: subjectName(relationship),
|
|
78
|
+
kind: relationship.kind,
|
|
79
|
+
construct,
|
|
80
|
+
layer: registry?.getKind(relationship.kind)?.layer ?? 'unknown',
|
|
81
|
+
file: relationship.file,
|
|
82
|
+
// The ends, under the names `linksOf` already gives them, so a
|
|
83
|
+
// rule can ask what an edge connects the same way it asks what a
|
|
84
|
+
// link connects: `allOfKind('MemoPort')->exists(id ==
|
|
85
|
+
// subject.attributes.sourceId)`. Read off the edge each time, like
|
|
86
|
+
// everything else here, so there is still one record. The ends
|
|
87
|
+
// are written last: a body attribute that happened to be called
|
|
88
|
+
// `sourceId` must not be able to move what the edge connects.
|
|
89
|
+
attributes: {
|
|
90
|
+
...(relationship.attributes ?? {}),
|
|
91
|
+
sourceId: relationship.sourceId,
|
|
92
|
+
targetId: relationship.targetId,
|
|
93
|
+
},
|
|
94
|
+
...(relationship.provenance ? { provenance: relationship.provenance } : {}),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return subjects;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The model a rule is evaluated against, with projected subjects merged into
|
|
101
|
+
* `elementsByKind` only.
|
|
102
|
+
*
|
|
103
|
+
* `elements` is deliberately left alone. It is the parts index — what
|
|
104
|
+
* `memo compile --inspect` resolves, what the census counts, what an export serializes —
|
|
105
|
+
* and an edge does not belong in it. `elementsByKind` is the SUBJECT SELECTOR,
|
|
106
|
+
* which is a different question: "what does this rule run on?".
|
|
107
|
+
*
|
|
108
|
+
* A projected subject never displaces an element. If an id collides — which it
|
|
109
|
+
* cannot today, since the relationship index rejects a flow competing with an
|
|
110
|
+
* element for one qualified name — the element wins and the projection is
|
|
111
|
+
* dropped, because the authored declaration is the one with a body to read.
|
|
112
|
+
*/
|
|
113
|
+
export function withRelationshipSubjects(model, registry) {
|
|
114
|
+
const projected = relationshipSubjects(model, registry);
|
|
115
|
+
if (projected.length === 0)
|
|
116
|
+
return model;
|
|
117
|
+
const elementsByKind = new Map(model.elementsByKind);
|
|
118
|
+
for (const subject of projected) {
|
|
119
|
+
if (model.elements.get(subject.id))
|
|
120
|
+
continue;
|
|
121
|
+
const extent = elementsByKind.get(subject.kind);
|
|
122
|
+
elementsByKind.set(subject.kind, extent ? [...extent, subject] : [subject]);
|
|
123
|
+
}
|
|
124
|
+
return { ...model, elementsByKind };
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=relationship-subjects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-subjects.js","sourceRoot":"","sources":["../../src/model/relationship-subjects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Whether a project-relative path is inside a system folder. */
|
|
2
|
+
export declare function isInSystemFolder(file: string): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* The file a new record is appended to: the one that already holds the most records outside
|
|
5
|
+
* `systems/`; failing that, `sos/releases.sysml` beside the systems folder of the item's file, or the
|
|
6
|
+
* item's own folder when it is not under one.
|
|
7
|
+
*/
|
|
8
|
+
export declare function defaultReleaseFile(input: {
|
|
9
|
+
recordFiles: readonly string[];
|
|
10
|
+
itemFile?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
//# sourceMappingURL=release-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-target.d.ts","sourceRoot":"","sources":["../../src/model/release-target.ts"],"names":[],"mappings":"AAUA,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAWvG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// ─── Where a release record is written ───────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// A record cannot hold the hash of the commit that adds it, so it is always written after the commit it
|
|
4
|
+
// pins. A system folder is checked out at that commit when the SoS version is assembled (plan section 9,
|
|
5
|
+
// decision 1), where the record does not exist yet: a record never goes under `<include>/systems/`.
|
|
6
|
+
// Pure and browser-safe, so the page names the same file the server writes.
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
const SYSTEM_FOLDER = /(^|\/)systems\/[^/]+\//;
|
|
9
|
+
/** Whether a project-relative path is inside a system folder. */
|
|
10
|
+
export function isInSystemFolder(file) {
|
|
11
|
+
return SYSTEM_FOLDER.test(file.replaceAll('\\', '/'));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The file a new record is appended to: the one that already holds the most records outside
|
|
15
|
+
* `systems/`; failing that, `sos/releases.sysml` beside the systems folder of the item's file, or the
|
|
16
|
+
* item's own folder when it is not under one.
|
|
17
|
+
*/
|
|
18
|
+
export function defaultReleaseFile(input) {
|
|
19
|
+
const counts = new Map();
|
|
20
|
+
for (const file of input.recordFiles)
|
|
21
|
+
if (!isInSystemFolder(file))
|
|
22
|
+
counts.set(file, (counts.get(file) ?? 0) + 1);
|
|
23
|
+
const best = [...counts].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))[0];
|
|
24
|
+
if (best)
|
|
25
|
+
return best[0];
|
|
26
|
+
const item = input.itemFile?.replaceAll('\\', '/');
|
|
27
|
+
if (!item)
|
|
28
|
+
return 'model/sos/releases.sysml';
|
|
29
|
+
const match = /^(.*?\/?)systems\/[^/]+\//.exec(item);
|
|
30
|
+
if (match)
|
|
31
|
+
return `${match[1]}sos/releases.sysml`;
|
|
32
|
+
const slash = item.lastIndexOf('/');
|
|
33
|
+
return `${slash < 0 ? '' : item.slice(0, slash + 1)}releases.sysml`;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=release-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-target.js","sourceRoot":"","sources":["../../src/model/release-target.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,wGAAwG;AACxG,yGAAyG;AACzG,oGAAoG;AACpG,4EAA4E;AAC5E,gFAAgF;AAEhF,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA4D;IAC3F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW;QAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,0BAA0B,CAAC;IAC7C,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK;QAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,gBAAgB,CAAC;AACxE,CAAC"}
|