@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
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
// ─── Finishing a model ───────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// What stage 2 does once the elements and relationships of a compiled project
|
|
4
|
+
// exist: provenance, identities, end-kind checks, indexes, kinds inherited
|
|
5
|
+
// through local definitions, and unresolved qualified references.
|
|
6
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
8
|
+
import { assignSequentialShortIds, kindToPrefix } from './short-id.js';
|
|
9
|
+
import { priorIdentityFor, priorShortIds } from './identity-registry.js';
|
|
10
|
+
import { indexKinds, kindConformsTo } from './relationship-legality.js';
|
|
11
|
+
/**
|
|
12
|
+
* Finish a model once its elements and relationships exist: provenance,
|
|
13
|
+
* identities, end-kind checks, indexes, kinds inherited through local
|
|
14
|
+
* definitions. Stage 2's builder over API JSON (stage2/build-from-api.ts)
|
|
15
|
+
* calls it once it has extracted the elements and relationships.
|
|
16
|
+
*/
|
|
17
|
+
export function completeModel(input) {
|
|
18
|
+
const { elements, relationships, errors, config, registries } = input;
|
|
19
|
+
// Keep ownership of a declaration separate from ownership of the type that
|
|
20
|
+
// classifies it. A project usage of `Hazard` is editable project content;
|
|
21
|
+
// its classifier is a read-only ontology definition.
|
|
22
|
+
applySemanticProvenance(elements, relationships, registries);
|
|
23
|
+
// Build indexes
|
|
24
|
+
const elementsByKind = new Map();
|
|
25
|
+
const elementsByLayer = new Map();
|
|
26
|
+
for (const el of elements.values()) {
|
|
27
|
+
if (!elementsByKind.has(el.kind))
|
|
28
|
+
elementsByKind.set(el.kind, []);
|
|
29
|
+
elementsByKind.get(el.kind).push(el);
|
|
30
|
+
if (!elementsByLayer.has(el.layer))
|
|
31
|
+
elementsByLayer.set(el.layer, []);
|
|
32
|
+
elementsByLayer.get(el.layer).push(el);
|
|
33
|
+
}
|
|
34
|
+
// Assign each three-letter prefix one sequential display index. This is
|
|
35
|
+
// deliberately distinct from the technical UUID assigned below.
|
|
36
|
+
const elementsByPrefix = new Map();
|
|
37
|
+
for (const element of elements.values()) {
|
|
38
|
+
const prefix = kindToPrefix(element.kind);
|
|
39
|
+
const prefixElements = elementsByPrefix.get(prefix) ?? [];
|
|
40
|
+
prefixElements.push(element);
|
|
41
|
+
elementsByPrefix.set(prefix, prefixElements);
|
|
42
|
+
}
|
|
43
|
+
// Identities assigned on earlier builds win. Both of these are quoted
|
|
44
|
+
// outside the model, so recomputing them from current content — which is
|
|
45
|
+
// what happened before `memo.identity.yaml` — silently repointed every
|
|
46
|
+
// external reference whenever a file moved or an element was inserted.
|
|
47
|
+
const priorIdentities = config.priorIdentities ?? {};
|
|
48
|
+
const priorShortIdsByElement = priorShortIds(priorIdentities);
|
|
49
|
+
// Adopt the identity a NESTED element was keyed under before ids carried
|
|
50
|
+
// their owner chain. Without this every port and every nested action in
|
|
51
|
+
// every existing project would be a newcomer on the next build and take a
|
|
52
|
+
// fresh number, silently repointing whatever quotes the old one.
|
|
53
|
+
for (const el of elements.values()) {
|
|
54
|
+
if (priorShortIdsByElement.has(el.id))
|
|
55
|
+
continue;
|
|
56
|
+
const legacy = priorIdentityFor(priorIdentities, el);
|
|
57
|
+
if (legacy?.shortId)
|
|
58
|
+
priorShortIdsByElement.set(el.id, legacy.shortId);
|
|
59
|
+
}
|
|
60
|
+
for (const [prefix, prefixElements] of elementsByPrefix) {
|
|
61
|
+
// A dependency's elements keep the identity their own package gives them
|
|
62
|
+
// (its `providedId`), and take no display number here: it would be minted
|
|
63
|
+
// in this model's sequence, and be wrong the moment the dependency moved.
|
|
64
|
+
const idToShortId = assignSequentialShortIds(prefix, prefixElements.filter(e => e.provenance?.declaration.origin !== 'dependency').map(e => e.id), priorShortIdsByElement);
|
|
65
|
+
for (const el of prefixElements) {
|
|
66
|
+
el.shortId = idToShortId.get(el.id);
|
|
67
|
+
// `uuid` is part of the ontology's identification core, so a model
|
|
68
|
+
// may author it. An authored value wins: it is the whole point of
|
|
69
|
+
// writing one — the element keeps its identity across a file move
|
|
70
|
+
// or an id change, which the derived hash cannot survive.
|
|
71
|
+
// Precedence: an authored uuid, then the one this project already
|
|
72
|
+
// assigned, then a fresh derivation. The middle term is what makes a
|
|
73
|
+
// uuid survive a file move — the derivation hashes the file path, so
|
|
74
|
+
// without it the same element gets a new identity when it moves.
|
|
75
|
+
el.uuid = el.attributes.uuid?.trim()
|
|
76
|
+
|| priorIdentityFor(priorIdentities, el)?.uuid
|
|
77
|
+
|| stableElementUuid(el);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Phase 4: Validate relationship end types (warnings only).
|
|
81
|
+
// A kind conforms to an end type if it equals it or specializes it
|
|
82
|
+
// (transitively) — e.g. HardwareAssembly conforms to MemoPart.
|
|
83
|
+
if (registries?.relationshipRegistry) {
|
|
84
|
+
// Same resolver the authoring UI and the server persistence path use,
|
|
85
|
+
// so a link the panel offers is a link the builder accepts.
|
|
86
|
+
const kindIndex = indexKinds(registries.kindRegistry?.toDefinitionDTOs() ?? []);
|
|
87
|
+
// A project definition specializes an ontology kind, and the ontology
|
|
88
|
+
// registry has never heard of it: `AfferaStakeholder` is declared in
|
|
89
|
+
// this project, not in memo. So a chain like
|
|
90
|
+
// `AfferaHospitalEpLabStakeholder :> AfferaStakeholder :> MemoPart`
|
|
91
|
+
// broke at the first hop and fell through to guessing by name suffix,
|
|
92
|
+
// reporting a well-formed context diagram as malformed.
|
|
93
|
+
//
|
|
94
|
+
// A definition element records what it specializes in its own `kind`,
|
|
95
|
+
// so the model supplies the missing links. This is the same walk the
|
|
96
|
+
// explorer makes to file an element under its ontology kind.
|
|
97
|
+
const projectSuper = new Map();
|
|
98
|
+
for (const el of elements.values()) {
|
|
99
|
+
if (!el.isDefinition || !el.kind || el.kind === el.name)
|
|
100
|
+
continue;
|
|
101
|
+
const short = el.shortName ?? el.name;
|
|
102
|
+
if (!projectSuper.has(short))
|
|
103
|
+
projectSuper.set(short, el.kind);
|
|
104
|
+
if (el.name && !projectSuper.has(el.name))
|
|
105
|
+
projectSuper.set(el.name, el.kind);
|
|
106
|
+
if (!projectSuper.has(el.id))
|
|
107
|
+
projectSuper.set(el.id, el.kind);
|
|
108
|
+
}
|
|
109
|
+
const conformsTo = (kind, expected) => {
|
|
110
|
+
let current = kind;
|
|
111
|
+
const seen = new Set();
|
|
112
|
+
while (current && !seen.has(current)) {
|
|
113
|
+
if (current === expected)
|
|
114
|
+
return true;
|
|
115
|
+
if (kindConformsTo(current, expected, kindIndex))
|
|
116
|
+
return true;
|
|
117
|
+
seen.add(current);
|
|
118
|
+
current = kindIndex.get(current)?.superType ?? projectSuper.get(current);
|
|
119
|
+
}
|
|
120
|
+
// Legacy fallback when neither the ontology nor the project knows
|
|
121
|
+
// this kind's hierarchy at all.
|
|
122
|
+
return !kindIndex.has(kind) && !projectSuper.has(kind) && kind.endsWith(expected);
|
|
123
|
+
};
|
|
124
|
+
// A finding names the edge's own line. Every one of them used to point
|
|
125
|
+
// at 1:1 of its file, which in a trace file of six hundred lines is no
|
|
126
|
+
// location at all.
|
|
127
|
+
const lineOfRelationship = (rel) => input.lineOfRelationship?.(rel);
|
|
128
|
+
for (const rel of relationships) {
|
|
129
|
+
const regEntry = registries.relationshipRegistry.getRelType(rel.type);
|
|
130
|
+
if (!regEntry || regEntry.ends.length === 0)
|
|
131
|
+
continue;
|
|
132
|
+
const sourceEl = elements.get(rel.sourceId);
|
|
133
|
+
const targetEl = elements.get(rel.targetId);
|
|
134
|
+
// Check if the source/target kinds match the typed ends
|
|
135
|
+
for (const end of regEntry.ends) {
|
|
136
|
+
if (!end.type)
|
|
137
|
+
continue; // untyped ends allow any kind
|
|
138
|
+
// Match end to source or target by position (first end = source, second = target)
|
|
139
|
+
const endIndex = regEntry.ends.indexOf(end);
|
|
140
|
+
const el = endIndex === 0 ? sourceEl : targetEl;
|
|
141
|
+
if (!el)
|
|
142
|
+
continue;
|
|
143
|
+
if (!conformsTo(el.kind, end.type)) {
|
|
144
|
+
errors.push({
|
|
145
|
+
code: RELATIONSHIP_END_KIND,
|
|
146
|
+
message: `[well-formedness] Relationship "${rel.type}" expects ${end.name} to be ${end.type}, but found ${el.kind}`,
|
|
147
|
+
file: rel.file ?? '',
|
|
148
|
+
line: lineOfRelationship(rel),
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const relationshipsByType = new Map();
|
|
155
|
+
const outgoing = new Map();
|
|
156
|
+
const incoming = new Map();
|
|
157
|
+
for (const rel of relationships) {
|
|
158
|
+
if (!relationshipsByType.has(rel.type))
|
|
159
|
+
relationshipsByType.set(rel.type, []);
|
|
160
|
+
relationshipsByType.get(rel.type).push(rel);
|
|
161
|
+
if (!outgoing.has(rel.sourceId))
|
|
162
|
+
outgoing.set(rel.sourceId, []);
|
|
163
|
+
outgoing.get(rel.sourceId).push(rel);
|
|
164
|
+
if (!incoming.has(rel.targetId))
|
|
165
|
+
incoming.set(rel.targetId, []);
|
|
166
|
+
incoming.get(rel.targetId).push(rel);
|
|
167
|
+
}
|
|
168
|
+
// A local definition has already resolved its own ontology kind; usages
|
|
169
|
+
// typed by it inherit that kind, including through a local definition chain.
|
|
170
|
+
if (registries?.kindRegistry) {
|
|
171
|
+
const byName = new Map();
|
|
172
|
+
for (const [id, el] of elements) {
|
|
173
|
+
if (!byName.has(id))
|
|
174
|
+
byName.set(id, el);
|
|
175
|
+
// A usage names its type by the SHORT name the definition declares,
|
|
176
|
+
// never by the qualified id, so both spellings answer here.
|
|
177
|
+
if (el.shortName && !byName.has(el.shortName))
|
|
178
|
+
byName.set(el.shortName, el);
|
|
179
|
+
if (el.name && !byName.has(el.name))
|
|
180
|
+
byName.set(el.name, el);
|
|
181
|
+
}
|
|
182
|
+
const known = (kind) => Boolean(registries.kindRegistry?.getKind(kind));
|
|
183
|
+
for (let pass = 0; pass < 16; pass++) {
|
|
184
|
+
let progressed = false;
|
|
185
|
+
for (const el of elements.values()) {
|
|
186
|
+
if (!el.kind || known(el.kind))
|
|
187
|
+
continue;
|
|
188
|
+
const def = byName.get(el.kind.split('::').pop());
|
|
189
|
+
if (def && def !== el && def.kind && def.kind !== el.kind) {
|
|
190
|
+
el.kind = def.kind;
|
|
191
|
+
if (def.layer && (!el.layer || el.layer === 'unknown'))
|
|
192
|
+
el.layer = def.layer;
|
|
193
|
+
progressed = true;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (!progressed)
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// A reference that names nothing is a stage 1 error: the compiler rejects the
|
|
201
|
+
// project before a model is built, so none reaches here.
|
|
202
|
+
const unresolvedReferences = [];
|
|
203
|
+
return {
|
|
204
|
+
elements,
|
|
205
|
+
relationships,
|
|
206
|
+
errors,
|
|
207
|
+
packages: input.packages ?? [],
|
|
208
|
+
unresolvedReferences,
|
|
209
|
+
elementsByKind,
|
|
210
|
+
elementsByLayer,
|
|
211
|
+
relationshipsByType,
|
|
212
|
+
outgoing,
|
|
213
|
+
incoming,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
function applySemanticProvenance(elements, relationships, registries) {
|
|
217
|
+
const table = registries?.provenance;
|
|
218
|
+
if (!table)
|
|
219
|
+
return;
|
|
220
|
+
const entryFor = (kind) => registries?.kindRegistry?.getKind(kind)
|
|
221
|
+
?? registries?.kindRegistry?.getKind(kind.split('::').pop() ?? kind);
|
|
222
|
+
const classifierFor = (kind) => {
|
|
223
|
+
const entry = entryFor(kind);
|
|
224
|
+
if (!entry?.qualifiedName)
|
|
225
|
+
return undefined;
|
|
226
|
+
return {
|
|
227
|
+
qualifiedName: entry.qualifiedName,
|
|
228
|
+
shortName: entry.name,
|
|
229
|
+
provenance: entry.sourceFile ? table.lookup(entry.sourceFile) : undefined,
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
const classifierChainFor = (kind) => {
|
|
233
|
+
const chain = [];
|
|
234
|
+
const seen = new Set();
|
|
235
|
+
let entry = entryFor(kind);
|
|
236
|
+
while (entry?.qualifiedName && !seen.has(entry.qualifiedName)) {
|
|
237
|
+
seen.add(entry.qualifiedName);
|
|
238
|
+
chain.push({
|
|
239
|
+
qualifiedName: entry.qualifiedName,
|
|
240
|
+
shortName: entry.name,
|
|
241
|
+
provenance: entry.sourceFile ? table.lookup(entry.sourceFile) : undefined,
|
|
242
|
+
});
|
|
243
|
+
entry = entry.superType ? entryFor(entry.superType) : undefined;
|
|
244
|
+
}
|
|
245
|
+
return chain.length > 0 ? chain : undefined;
|
|
246
|
+
};
|
|
247
|
+
const declarationFor = (file, kind) => ({
|
|
248
|
+
declaration: table.lookupOrProject(file),
|
|
249
|
+
classifier: kind ? classifierFor(kind) : undefined,
|
|
250
|
+
classifierChain: kind ? classifierChainFor(kind) : undefined,
|
|
251
|
+
});
|
|
252
|
+
for (const element of elements.values()) {
|
|
253
|
+
element.provenance = declarationFor(element.file, element.kind);
|
|
254
|
+
}
|
|
255
|
+
for (const relationship of relationships) {
|
|
256
|
+
relationship.provenance = declarationFor(relationship.file, relationship.type);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Derive a UUID from source identity, rather than allocating a random value on
|
|
261
|
+
* every compilation. This is the machine identity; `shortId` is the compact
|
|
262
|
+
* human-facing PREFIX-1, PREFIX-2, … label used in explorers.
|
|
263
|
+
*/
|
|
264
|
+
function stableElementUuid(element) {
|
|
265
|
+
const bytes = createHash('sha256')
|
|
266
|
+
.update(`${element.file}\0${element.kind}\0${element.id}`)
|
|
267
|
+
.digest()
|
|
268
|
+
.subarray(0, 16);
|
|
269
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x50; // UUID v5 shape
|
|
270
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80; // RFC 4122 variant
|
|
271
|
+
const hex = bytes.toString('hex');
|
|
272
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
273
|
+
}
|
|
274
|
+
/** The kind a nested grouping package becomes, distinct from a namespace package. */
|
|
275
|
+
export const ELEMENT_PACKAGE_KIND = 'ElementPackage';
|
|
276
|
+
/**
|
|
277
|
+
* The `ParseError.code` a relationship carries when an end's element does not
|
|
278
|
+
* conform to the kind the relationship's definition types that end with.
|
|
279
|
+
*/
|
|
280
|
+
export const RELATIONSHIP_END_KIND = 'relationship-end-kind';
|
|
281
|
+
/** The `ParseError.code` an `interface … connect` with an end naming nothing carries. */
|
|
282
|
+
export const UNRESOLVED_INTERFACE_END = 'unresolved-interface-end';
|
|
283
|
+
/** The `ParseError.code` a `flow` or `message` with an end naming nothing carries. */
|
|
284
|
+
export const UNRESOLVED_FLOW_END = 'unresolved-flow-end';
|
|
285
|
+
/** The `ParseError.code` a `bind` with an end naming nothing carries. */
|
|
286
|
+
export const UNRESOLVED_BINDING_END = 'unresolved-binding-end';
|
|
287
|
+
//# sourceMappingURL=complete-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete-model.js","sourceRoot":"","sources":["../../src/model/complete-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MEMOConfig } from './config.js';
|
|
1
|
+
import type { MEMOConfig, ToolchainConfig } from './config.js';
|
|
2
2
|
/**
|
|
3
3
|
* Locate the nearest settings file by walking up from `startDir`.
|
|
4
4
|
*
|
|
@@ -15,8 +15,13 @@ export declare function findConfigFile(startDir: string): string | undefined;
|
|
|
15
15
|
* exactly the dual-read path the flip exists to remove.
|
|
16
16
|
*/
|
|
17
17
|
export declare function loadConfig(filePath: string): MEMOConfig;
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Settings for a project that has none. They name no compiler, so a command
|
|
20
|
+
* that needs one fails unless the command line names it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function defaultConfig(modelName: string): MEMOConfig;
|
|
23
|
+
/** Record the running command's `--toolchain.*` flags, as a partial `toolchain` block. */
|
|
24
|
+
export declare function setCommandLineToolchain(overrides: ToolchainConfig): void;
|
|
20
25
|
/**
|
|
21
26
|
* Load settings for a project directory, or defaults when there are none.
|
|
22
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ/D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYnE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAavD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAE3D;AAYD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAExE;AAcD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAQnE"}
|
|
@@ -17,6 +17,8 @@ import { existsSync } from 'node:fs';
|
|
|
17
17
|
import { basename, dirname, resolve } from 'node:path';
|
|
18
18
|
import { readIdentityRegistry } from './identity-registry.js';
|
|
19
19
|
import { CONFIG_SEARCH_ORDER, readManifest } from './package-manifest.js';
|
|
20
|
+
import { mergeToolchain } from './toolchain-merge.js';
|
|
21
|
+
import { userToolchain } from './user-settings.js';
|
|
20
22
|
/** Settings filenames, most product-scoped first. */
|
|
21
23
|
const SETTINGS_FILENAMES = ['memo.tools.yaml', 'memo.tools.yml', ...CONFIG_SEARCH_ORDER];
|
|
22
24
|
/**
|
|
@@ -51,16 +53,45 @@ export function findConfigFile(startDir) {
|
|
|
51
53
|
export function loadConfig(filePath) {
|
|
52
54
|
const manifest = readManifest(filePath);
|
|
53
55
|
const raw = manifest.raw;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
const modelName = manifest.name ?? basename(dirname(resolve(filePath)));
|
|
57
|
+
return withCommandLineToolchain({
|
|
58
|
+
modelName,
|
|
59
|
+
projectName: modelName, // deprecated alias, deleted in 0.15.0
|
|
56
60
|
relationshipFiles: raw.relationshipFiles,
|
|
57
61
|
canonicalRelationshipFile: raw.canonicalRelationshipFile,
|
|
58
62
|
toolchain: raw.toolchain,
|
|
59
|
-
|
|
63
|
+
projectToolchain: raw.toolchain,
|
|
64
|
+
projectSettingsFile: filePath,
|
|
65
|
+
});
|
|
60
66
|
}
|
|
61
|
-
/**
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Settings for a project that has none. They name no compiler, so a command
|
|
69
|
+
* that needs one fails unless the command line names it.
|
|
70
|
+
*/
|
|
71
|
+
export function defaultConfig(modelName) {
|
|
72
|
+
return withCommandLineToolchain({ modelName, projectName: modelName });
|
|
73
|
+
}
|
|
74
|
+
// ─── The command line's toolchain flags ──────────────────────────────────────
|
|
75
|
+
//
|
|
76
|
+
// `--toolchain.*` flags are accepted by every `memo` command and beat the
|
|
77
|
+
// project's settings and the user's, a `--toolchain.compiler` deciding both
|
|
78
|
+
// roles it fills. They are applied here, where every command reads
|
|
79
|
+
// its settings, so no command has to thread them through to whatever loads
|
|
80
|
+
// the project.
|
|
81
|
+
let commandLineToolchain = {};
|
|
82
|
+
/** Record the running command's `--toolchain.*` flags, as a partial `toolchain` block. */
|
|
83
|
+
export function setCommandLineToolchain(overrides) {
|
|
84
|
+
commandLineToolchain = overrides;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The toolchain every command sees: the project's settings, the user's on top
|
|
88
|
+
* of them (the project names a compiler, and a user may use another without
|
|
89
|
+
* editing the project), and the command line's on top of both
|
|
90
|
+
* (`toolchain-merge.ts`).
|
|
91
|
+
*/
|
|
92
|
+
function withCommandLineToolchain(config) {
|
|
93
|
+
const toolchain = mergeToolchain(mergeToolchain(config.toolchain, userToolchain()), commandLineToolchain);
|
|
94
|
+
return Object.keys(toolchain).length === 0 ? config : { ...config, toolchain };
|
|
64
95
|
}
|
|
65
96
|
/**
|
|
66
97
|
* Load settings for a project directory, or defaults when there are none.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iBAAiB;AACjB,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,uEAAuE;AACvE,2EAA2E;AAC3E,WAAW;AACX,EAAE;AACF,2CAA2C;AAC3C,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** SysML v2 constructs supported as entity base types */
|
|
2
|
-
export type SysMLConstruct = 'part def' | 'requirement def' | 'verification def' | 'state def' | 'use case def' | 'action def' | 'action usage' | 'item def' | 'port def' | 'interface def' | 'connection def' | 'attribute def' | 'enum def';
|
|
2
|
+
export type SysMLConstruct = 'part def' | 'requirement def' | 'verification def' | 'state def' | 'use case def' | 'action def' | 'action usage' | 'item def' | 'port def' | 'interface def' | 'connection def' | 'flow def' | 'attribute def' | 'enum def';
|
|
3
3
|
/** Legacy diagram type keys — each maps to exactly one SysML v2 view kind (see view-kinds.ts) */
|
|
4
4
|
export type DiagramType = 'bdd' | 'ibd' | 'req' | 'ucd' | 'act' | 'afd' | 'pkg' | 'par' | 'risk' | 'stm' | 'seq' | 'fmea' | 'alloc' | 'threat-model';
|
|
5
5
|
/**
|
|
@@ -10,8 +10,8 @@ export type DiagramType = 'bdd' | 'ibd' | 'req' | 'ucd' | 'act' | 'afd' | 'pkg'
|
|
|
10
10
|
* whatever is registered, checked at resolution time against the registry, and
|
|
11
11
|
* a third-party adapter must be selectable without editing this file.
|
|
12
12
|
*
|
|
13
|
-
* Per-provider settings live under the provider's own ID
|
|
14
|
-
*
|
|
13
|
+
* Per-provider settings live under the provider's own ID
|
|
14
|
+
* (`toolchain.<provider>`). They are typed as `unknown` here and read by that provider's adapter,
|
|
15
15
|
* which is the only module that knows the shape — see the index signature.
|
|
16
16
|
*/
|
|
17
17
|
export interface ToolchainConfig {
|
|
@@ -45,11 +45,17 @@ export interface MEMOConfig {
|
|
|
45
45
|
/**
|
|
46
46
|
* Display name for CLI output.
|
|
47
47
|
*
|
|
48
|
-
* The
|
|
49
|
-
* This is a convenience copy for log lines,
|
|
50
|
-
*
|
|
48
|
+
* The model's real name is `modelName` on its `ModelMethodBinding`.
|
|
49
|
+
* This is a convenience copy for log lines, taken from the package
|
|
50
|
+
* manifest's `name` and falling back to the directory name.
|
|
51
51
|
*/
|
|
52
|
-
|
|
52
|
+
modelName: string;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated 0.14.0: the former name of `modelName`, set to the same
|
|
55
|
+
* value so a plugin reading `ctx.config.projectName` keeps working.
|
|
56
|
+
* Deleted in 0.15.0.
|
|
57
|
+
*/
|
|
58
|
+
projectName?: string;
|
|
53
59
|
/**
|
|
54
60
|
* Where authored relationships are written, per model package.
|
|
55
61
|
* Keyed by package qualified name, valued by a project-relative .sysml
|
|
@@ -61,6 +67,14 @@ export interface MEMOConfig {
|
|
|
61
67
|
canonicalRelationshipFile?: string;
|
|
62
68
|
/** Validator, lowering and packager provider selection. */
|
|
63
69
|
toolchain?: ToolchainConfig;
|
|
70
|
+
/**
|
|
71
|
+
* The `toolchain` block the project's own settings file wrote, before the
|
|
72
|
+
* user's and the command line's layers were put over it, and the file it
|
|
73
|
+
* came from. Kept so a setting that belongs to the user can be refused where
|
|
74
|
+
* a project wrote it (`toolchain/ownership.ts`).
|
|
75
|
+
*/
|
|
76
|
+
projectToolchain?: ToolchainConfig;
|
|
77
|
+
projectSettingsFile?: string;
|
|
64
78
|
/**
|
|
65
79
|
* Identities assigned on earlier builds, from `memo.identity.yaml`.
|
|
66
80
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/model/config.ts"],"names":[],"mappings":"AAeA,yDAAyD;AACzD,MAAM,MAAM,cAAc,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,GAClB,WAAW,GACX,cAAc,GACd,YAAY,GACZ,cAAc,GACd,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,UAAU,CAAC;AAEjB,iGAAiG;AACjG,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GACtE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC5B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACvB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/model/config.ts"],"names":[],"mappings":"AAeA,yDAAyD;AACzD,MAAM,MAAM,cAAc,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,GAClB,WAAW,GACX,cAAc,GACd,YAAY,GACZ,cAAc,GACd,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,UAAU,CAAC;AAEjB,iGAAiG;AACjG,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GACtE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC5B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,wBAAwB,EAAE,gBAAgB,CAAC;CACvE"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
import type { EffectiveMethodology, RuleCandidate } from './methodology-resolver.js';
|
|
2
|
+
import { resolveEffectiveRules } from './methodology-resolver.js';
|
|
2
3
|
import type { CompiledConstraint } from '../validator/constraint-eval.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* `layer` is optional here even though the registry always fills it: a caller
|
|
7
|
-
* may be asking about a kind that did not resolve, and "unplaced" has to be a
|
|
8
|
-
* representable answer rather than a cast.
|
|
9
|
-
*/
|
|
10
|
-
export interface ScopedKind {
|
|
11
|
-
layer?: string;
|
|
12
|
-
}
|
|
13
|
-
export type ScopeDimension = 'layer' | 'module' | 'standard' | 'artifactKind' | 'viewpoint';
|
|
4
|
+
import type { MemoModel } from './semantic.js';
|
|
5
|
+
export type ScopeDimension = 'standard' | 'artifactKind' | 'viewpoint';
|
|
14
6
|
/** The resolved answer to "what is in scope", ready to be asked questions. */
|
|
15
7
|
export interface EffectiveScope {
|
|
16
8
|
mode: 'allAvailable' | 'explicit';
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
/** The packages the selection imports (`EffectiveMethodology.selectedPackages`). */
|
|
10
|
+
packages: ReadonlySet<string>;
|
|
19
11
|
standards: ReadonlySet<string>;
|
|
20
12
|
artifactKinds: ReadonlySet<string>;
|
|
21
13
|
viewpoints: ReadonlySet<string>;
|
|
@@ -31,21 +23,14 @@ export declare const UNRESTRICTED_SCOPE: EffectiveScope;
|
|
|
31
23
|
* scope — including when the list is empty, which selects nothing.
|
|
32
24
|
*/
|
|
33
25
|
export declare function isInScope(scope: EffectiveScope, dimension: ScopeDimension, value: string | undefined): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Is a kind in scope?
|
|
36
|
-
*
|
|
37
|
-
* A kind belongs to exactly one axis position, so it is in scope when its layer
|
|
38
|
-
* is selected. A kind with no layer is only in scope under `allAvailable`: an
|
|
39
|
-
* unplaced kind cannot be shown to satisfy an explicit selection.
|
|
40
|
-
*/
|
|
41
|
-
export declare function isKindInScope(scope: EffectiveScope, kind: ScopedKind): boolean;
|
|
42
|
-
/** Filter kinds to those in scope. Used by palettes and creation dialogs alike. */
|
|
43
|
-
export declare function filterKindsInScope<T extends ScopedKind>(kinds: readonly T[], scope: EffectiveScope): T[];
|
|
44
26
|
/**
|
|
45
27
|
* Is a package in scope?
|
|
46
28
|
*
|
|
47
|
-
* `
|
|
48
|
-
*
|
|
29
|
+
* Under `explicit`, a package is in scope when the selection imports it: the
|
|
30
|
+
* methodology's package, or the binding's, publicly imports it, directly or
|
|
31
|
+
* through packages it publicly imports (`publicImportClosure`). A layer is
|
|
32
|
+
* selected through its layer package and an extension through its facade, so
|
|
33
|
+
* there is no second, name-matching test here.
|
|
49
34
|
*/
|
|
50
35
|
export declare function isPackageInScope(scope: EffectiveScope, packageName: string): boolean;
|
|
51
36
|
/**
|
|
@@ -60,15 +45,57 @@ export declare function isRulePackageInScope(scope: EffectiveScope, declaringPac
|
|
|
60
45
|
* The rules a project's methodology actually activates.
|
|
61
46
|
*
|
|
62
47
|
* A rule is active when BOTH its declaring package and its subject kind are in
|
|
63
|
-
* scope. A rule whose subject the methodology never selected can only report on
|
|
48
|
+
* scope — unless it is classified `invariant`, which is active in every scope. A rule whose subject the methodology never selected can only report on
|
|
64
49
|
* content the project did not agree to model — which is how the GPCA prototype
|
|
65
50
|
* used to accumulate cybersecurity violations for a discipline it had excluded.
|
|
66
51
|
*
|
|
67
|
-
* This lives here, shared, because `memo validate` and `memo rules
|
|
52
|
+
* This lives here, shared, because `memo validate` and `memo validate --rules` are
|
|
68
53
|
* two views of one answer. They computed it separately, and inevitably
|
|
69
54
|
* disagreed: `validate` scope-filtered and `rules list` did not, so the same
|
|
70
55
|
* project reported 20 rules and 38 rules depending on which command you asked.
|
|
71
56
|
* A number that changes with the question is not an audit.
|
|
72
57
|
*/
|
|
73
|
-
export declare function activeRuleCandidates(constraints: readonly CompiledConstraint[], scope: EffectiveScope, filePackages: ReadonlyMap<string, string>, kindSourceFile: (kindName: string) => string | undefined
|
|
58
|
+
export declare function activeRuleCandidates(constraints: readonly CompiledConstraint[], scope: EffectiveScope, filePackages: ReadonlyMap<string, string>, kindSourceFile: (kindName: string) => string | undefined,
|
|
59
|
+
/** A rule in one of the project's own files is its authors': its package is always in scope. */
|
|
60
|
+
isOwnFile?: (file: string) => boolean): RuleCandidate[];
|
|
61
|
+
export interface InactiveRule {
|
|
62
|
+
id: string;
|
|
63
|
+
typeName?: string;
|
|
64
|
+
file?: string;
|
|
65
|
+
reason: 'package-not-selected' | 'subject-not-selected';
|
|
66
|
+
detail: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The rules a methodology does not activate, and why. A rule that does not run
|
|
70
|
+
* must say so: one that is silently absent reads as one that passed.
|
|
71
|
+
*/
|
|
72
|
+
export declare function inactiveRules(constraints: readonly CompiledConstraint[], scope: EffectiveScope, filePackages: ReadonlyMap<string, string>, kindSourceFile: (kindName: string) => string | undefined, isOwnFile?: (file: string) => boolean): InactiveRule[];
|
|
73
|
+
/**
|
|
74
|
+
* The project's effective rule set: the rules its methodology activates, with
|
|
75
|
+
* its policies applied. One answer, asked by `memo validate`, `memo validate --rules`
|
|
76
|
+
* and the Architect's dev server, so they report one rule set.
|
|
77
|
+
*/
|
|
78
|
+
export declare function resolveProjectRules(input: {
|
|
79
|
+
constraints: readonly CompiledConstraint[];
|
|
80
|
+
effective: EffectiveMethodology | undefined;
|
|
81
|
+
filePackages: ReadonlyMap<string, string>;
|
|
82
|
+
kindSourceFile: (kindName: string) => string | undefined;
|
|
83
|
+
isOwnFile?: (file: string) => boolean;
|
|
84
|
+
}): {
|
|
85
|
+
rules: ReturnType<typeof resolveEffectiveRules>;
|
|
86
|
+
scope: EffectiveScope | undefined;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* The ids rules may run ON under a methodology scope: every element whose kind
|
|
90
|
+
* the scope selects, and every named, typed edge whose declared kind it
|
|
91
|
+
* selects.
|
|
92
|
+
*
|
|
93
|
+
* The edges matter because a named `flow` or `interface` typed by a domain
|
|
94
|
+
* definition is a rule subject of that kind under the RELATIONSHIP's id
|
|
95
|
+
* (relationship-subjects.ts). A set built from elements alone dropped every
|
|
96
|
+
* such subject under any explicit scope, so a rule scoped to
|
|
97
|
+
* `FunctionalExchange` or `ComponentExchange` ran on nothing and reported a
|
|
98
|
+
* clean pass.
|
|
99
|
+
*/
|
|
100
|
+
export declare function scopedSubjectIds(model: MemoModel, selectsKind: (kind: string) => boolean): Set<string>;
|
|
74
101
|
//# sourceMappingURL=effective-scope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-scope.d.ts","sourceRoot":"","sources":["../../src/model/effective-scope.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"effective-scope.d.ts","sourceRoot":"","sources":["../../src/model/effective-scope.ts"],"names":[],"mappings":"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"}
|