@memoarchitect/tools 0.6.7 → 0.8.7
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 +36 -11
- package/corpus/README.md +63 -0
- package/corpus/sysml-v2-release/bnf/SysML-graphical-bnf.kgbnf +2264 -0
- package/package.json +20 -7
- package/packages/tools/lib/analysis/dsm.d.ts +1 -1
- package/packages/tools/lib/analysis/dsm.d.ts.map +1 -1
- package/packages/tools/lib/analysis/dsm.js +1 -1
- package/packages/tools/lib/analysis/dsm.js.map +1 -1
- package/packages/tools/lib/bin/memo.js +186 -10
- package/packages/tools/lib/bin/memo.js.map +1 -1
- package/packages/tools/lib/browser/index.d.ts +3 -1
- package/packages/tools/lib/browser/index.d.ts.map +1 -1
- package/packages/tools/lib/browser/index.js +2 -1
- package/packages/tools/lib/browser/index.js.map +1 -1
- package/packages/tools/lib/commands/ask.js +1 -1
- package/packages/tools/lib/commands/ask.js.map +1 -1
- package/packages/tools/lib/commands/check.d.ts.map +1 -1
- package/packages/tools/lib/commands/check.js +3 -9
- package/packages/tools/lib/commands/check.js.map +1 -1
- package/packages/tools/lib/commands/conformance.d.ts +36 -0
- package/packages/tools/lib/commands/conformance.d.ts.map +1 -0
- package/packages/tools/lib/commands/conformance.js +212 -0
- package/packages/tools/lib/commands/conformance.js.map +1 -0
- package/packages/tools/lib/commands/convert.d.ts +12 -0
- package/packages/tools/lib/commands/convert.d.ts.map +1 -0
- package/packages/tools/lib/commands/convert.js +103 -0
- package/packages/tools/lib/commands/convert.js.map +1 -0
- package/packages/tools/lib/commands/create-package.d.ts +1 -2
- package/packages/tools/lib/commands/create-package.d.ts.map +1 -1
- package/packages/tools/lib/commands/create-package.js.map +1 -1
- package/packages/tools/lib/commands/dev.d.ts +13 -0
- package/packages/tools/lib/commands/dev.d.ts.map +1 -1
- package/packages/tools/lib/commands/dev.js +245 -89
- package/packages/tools/lib/commands/dev.js.map +1 -1
- package/packages/tools/lib/commands/dhf-draft.js +1 -1
- package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
- package/packages/tools/lib/commands/dhf-lint.d.ts +10 -0
- package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -0
- package/packages/tools/lib/commands/dhf-lint.js +72 -0
- package/packages/tools/lib/commands/dhf-lint.js.map +1 -0
- package/packages/tools/lib/commands/dhf-preview.js +1 -1
- package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
- package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf.js +8 -2
- package/packages/tools/lib/commands/dhf.js.map +1 -1
- package/packages/tools/lib/commands/element.d.ts +34 -0
- package/packages/tools/lib/commands/element.d.ts.map +1 -0
- package/packages/tools/lib/commands/element.js +174 -0
- package/packages/tools/lib/commands/element.js.map +1 -0
- package/packages/tools/lib/commands/export.d.ts.map +1 -1
- package/packages/tools/lib/commands/export.js +39 -40
- 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 -7
- package/packages/tools/lib/commands/generate.js.map +1 -1
- package/packages/tools/lib/commands/import.d.ts.map +1 -1
- package/packages/tools/lib/commands/import.js +25 -12
- package/packages/tools/lib/commands/import.js.map +1 -1
- package/packages/tools/lib/commands/init.d.ts.map +1 -1
- package/packages/tools/lib/commands/init.js +34 -14
- package/packages/tools/lib/commands/init.js.map +1 -1
- package/packages/tools/lib/commands/inspect.d.ts +5 -0
- package/packages/tools/lib/commands/inspect.d.ts.map +1 -0
- package/packages/tools/lib/commands/inspect.js +56 -0
- package/packages/tools/lib/commands/inspect.js.map +1 -0
- package/packages/tools/lib/commands/lock.d.ts.map +1 -1
- package/packages/tools/lib/commands/lock.js +7 -2
- package/packages/tools/lib/commands/lock.js.map +1 -1
- package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
- package/packages/tools/lib/commands/ontology.js +69 -116
- package/packages/tools/lib/commands/ontology.js.map +1 -1
- package/packages/tools/lib/commands/pack.d.ts +1 -1
- package/packages/tools/lib/commands/pack.d.ts.map +1 -1
- package/packages/tools/lib/commands/pack.js +20 -78
- package/packages/tools/lib/commands/pack.js.map +1 -1
- package/packages/tools/lib/commands/package.d.ts +10 -0
- package/packages/tools/lib/commands/package.d.ts.map +1 -0
- package/packages/tools/lib/commands/package.js +113 -0
- package/packages/tools/lib/commands/package.js.map +1 -0
- package/packages/tools/lib/commands/plugin.js +1 -1
- package/packages/tools/lib/commands/plugin.js.map +1 -1
- package/packages/tools/lib/commands/rules.d.ts.map +1 -1
- package/packages/tools/lib/commands/rules.js +120 -30
- package/packages/tools/lib/commands/rules.js.map +1 -1
- package/packages/tools/lib/commands/standards.d.ts +28 -0
- package/packages/tools/lib/commands/standards.d.ts.map +1 -0
- package/packages/tools/lib/commands/standards.js +203 -0
- package/packages/tools/lib/commands/standards.js.map +1 -0
- package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
- package/packages/tools/lib/commands/sysand-publish.js +14 -16
- package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
- package/packages/tools/lib/commands/toolchain.d.ts +8 -0
- package/packages/tools/lib/commands/toolchain.d.ts.map +1 -0
- package/packages/tools/lib/commands/toolchain.js +64 -0
- package/packages/tools/lib/commands/toolchain.js.map +1 -0
- package/packages/tools/lib/commands/validate.d.ts +1 -1
- package/packages/tools/lib/commands/validate.d.ts.map +1 -1
- package/packages/tools/lib/commands/validate.js +194 -56
- package/packages/tools/lib/commands/validate.js.map +1 -1
- package/packages/tools/lib/completeness/tracker.d.ts +10 -2
- package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
- package/packages/tools/lib/completeness/tracker.js +16 -21
- package/packages/tools/lib/completeness/tracker.js.map +1 -1
- package/packages/tools/lib/conformance/baseline.d.ts +26 -0
- package/packages/tools/lib/conformance/baseline.d.ts.map +1 -0
- package/packages/tools/lib/conformance/baseline.js +170 -0
- package/packages/tools/lib/conformance/baseline.js.map +1 -0
- package/packages/tools/lib/conformance/bnf.d.ts +84 -0
- package/packages/tools/lib/conformance/bnf.d.ts.map +1 -0
- package/packages/tools/lib/conformance/bnf.js +166 -0
- package/packages/tools/lib/conformance/bnf.js.map +1 -0
- package/packages/tools/lib/conformance/corpus.d.ts +125 -0
- package/packages/tools/lib/conformance/corpus.d.ts.map +1 -0
- package/packages/tools/lib/conformance/corpus.js +190 -0
- package/packages/tools/lib/conformance/corpus.js.map +1 -0
- package/packages/tools/lib/conformance/diff-xmi.d.ts +118 -0
- package/packages/tools/lib/conformance/diff-xmi.d.ts.map +1 -0
- package/packages/tools/lib/conformance/diff-xmi.js +276 -0
- package/packages/tools/lib/conformance/diff-xmi.js.map +1 -0
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts +10 -0
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +1 -0
- package/packages/tools/lib/conformance/generated/syside-rules.js +1142 -0
- package/packages/tools/lib/conformance/generated/syside-rules.js.map +1 -0
- package/packages/tools/lib/conformance/index.d.ts +7 -0
- package/packages/tools/lib/conformance/index.d.ts.map +1 -0
- package/packages/tools/lib/conformance/index.js +19 -0
- package/packages/tools/lib/conformance/index.js.map +1 -0
- package/packages/tools/lib/conformance/run.d.ts +117 -0
- package/packages/tools/lib/conformance/run.d.ts.map +1 -0
- package/packages/tools/lib/conformance/run.js +0 -0
- package/packages/tools/lib/conformance/run.js.map +1 -0
- package/packages/tools/lib/conformance/xmi.d.ts +45 -0
- package/packages/tools/lib/conformance/xmi.d.ts.map +1 -0
- package/packages/tools/lib/conformance/xmi.js +148 -0
- package/packages/tools/lib/conformance/xmi.js.map +1 -0
- package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -1
- package/packages/tools/lib/dhf/document-compiler.js +13 -8
- package/packages/tools/lib/dhf/document-compiler.js.map +1 -1
- package/packages/tools/lib/dhf/document-registry.d.ts +16 -2
- package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -1
- package/packages/tools/lib/dhf/document-registry.js +74 -23
- package/packages/tools/lib/dhf/document-registry.js.map +1 -1
- package/packages/tools/lib/dhf/index.d.ts +3 -0
- package/packages/tools/lib/dhf/index.d.ts.map +1 -1
- package/packages/tools/lib/dhf/index.js +4 -0
- package/packages/tools/lib/dhf/index.js.map +1 -1
- package/packages/tools/lib/dhf/query-engine.d.ts +12 -1
- package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-engine.js +2 -1
- package/packages/tools/lib/dhf/query-engine.js.map +1 -1
- package/packages/tools/lib/dhf/query-executor.d.ts +72 -5
- package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-executor.js +471 -81
- package/packages/tools/lib/dhf/query-executor.js.map +1 -1
- package/packages/tools/lib/dhf/script-runner.js +6 -6
- package/packages/tools/lib/dhf/script-runner.js.map +1 -1
- package/packages/tools/lib/dhf/standards-block.d.ts +40 -0
- package/packages/tools/lib/dhf/standards-block.d.ts.map +1 -0
- package/packages/tools/lib/dhf/standards-block.js +223 -0
- package/packages/tools/lib/dhf/standards-block.js.map +1 -0
- package/packages/tools/lib/dhf/standards-library.d.ts +123 -0
- package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -0
- package/packages/tools/lib/dhf/standards-library.js +295 -0
- package/packages/tools/lib/dhf/standards-library.js.map +1 -0
- package/packages/tools/lib/dhf/standards-report.d.ts +189 -0
- package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -0
- package/packages/tools/lib/dhf/standards-report.js +384 -0
- package/packages/tools/lib/dhf/standards-report.js.map +1 -0
- package/packages/tools/lib/dhf/template-lint.d.ts +42 -0
- package/packages/tools/lib/dhf/template-lint.d.ts.map +1 -0
- package/packages/tools/lib/dhf/template-lint.js +421 -0
- package/packages/tools/lib/dhf/template-lint.js.map +1 -0
- package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -1
- package/packages/tools/lib/dhf/template-resolver.js +18 -6
- package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
- package/packages/tools/lib/import/column-mapper.d.ts +2 -2
- package/packages/tools/lib/import/column-mapper.d.ts.map +1 -1
- package/packages/tools/lib/import/column-mapper.js +3 -3
- package/packages/tools/lib/import/column-mapper.js.map +1 -1
- package/packages/tools/lib/importer/cameo-importer.js +2 -2
- 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 -3
- package/packages/tools/lib/importer/ea-importer.js.map +1 -1
- package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/owl-importer.js +2 -3
- package/packages/tools/lib/importer/owl-importer.js.map +1 -1
- package/packages/tools/lib/index.d.ts +20 -3
- package/packages/tools/lib/index.d.ts.map +1 -1
- package/packages/tools/lib/index.js +19 -2
- package/packages/tools/lib/index.js.map +1 -1
- package/packages/tools/lib/language/generated/ast.d.ts +1344 -99
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/ast.js +1066 -32
- package/packages/tools/lib/language/generated/ast.js.map +1 -1
- package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/grammar.js +5242 -1454
- package/packages/tools/lib/language/generated/grammar.js.map +1 -1
- package/packages/tools/lib/llm/chat-engine.d.ts +4 -3
- package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -1
- package/packages/tools/lib/llm/chat-engine.js +15 -12
- package/packages/tools/lib/llm/chat-engine.js.map +1 -1
- package/packages/tools/lib/llm/generate-engine.d.ts +7 -2
- package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -1
- package/packages/tools/lib/llm/generate-engine.js +22 -4
- package/packages/tools/lib/llm/generate-engine.js.map +1 -1
- package/packages/tools/lib/llm/index.d.ts +1 -0
- package/packages/tools/lib/llm/index.d.ts.map +1 -1
- package/packages/tools/lib/llm/index.js +1 -0
- package/packages/tools/lib/llm/index.js.map +1 -1
- package/packages/tools/lib/llm/model-context.d.ts +2 -2
- package/packages/tools/lib/llm/model-context.d.ts.map +1 -1
- package/packages/tools/lib/llm/model-context.js +7 -13
- package/packages/tools/lib/llm/model-context.js.map +1 -1
- package/packages/tools/lib/llm/sysml-guidance.d.ts +8 -0
- package/packages/tools/lib/llm/sysml-guidance.d.ts.map +1 -0
- package/packages/tools/lib/llm/sysml-guidance.js +28 -0
- package/packages/tools/lib/llm/sysml-guidance.js.map +1 -0
- package/packages/tools/lib/lock.d.ts +14 -8
- package/packages/tools/lib/lock.d.ts.map +1 -1
- package/packages/tools/lib/lock.js +97 -108
- package/packages/tools/lib/lock.js.map +1 -1
- package/packages/tools/lib/mcp/model-loader.d.ts +3 -0
- package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
- package/packages/tools/lib/mcp/model-loader.js +9 -5
- package/packages/tools/lib/mcp/model-loader.js.map +1 -1
- package/packages/tools/lib/mcp/tools.d.ts +3 -0
- package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
- package/packages/tools/lib/mcp/tools.js +8 -9
- package/packages/tools/lib/mcp/tools.js.map +1 -1
- package/packages/tools/lib/model/activity-notation.d.ts +54 -0
- package/packages/tools/lib/model/activity-notation.d.ts.map +1 -0
- package/packages/tools/lib/model/activity-notation.js +208 -0
- package/packages/tools/lib/model/activity-notation.js.map +1 -0
- package/packages/tools/lib/model/builder.d.ts +3 -0
- package/packages/tools/lib/model/builder.d.ts.map +1 -1
- package/packages/tools/lib/model/builder.js +956 -62
- package/packages/tools/lib/model/builder.js.map +1 -1
- package/packages/tools/lib/model/config-loader.d.ts +19 -25
- package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/config-loader.js +51 -233
- package/packages/tools/lib/model/config-loader.js.map +1 -1
- package/packages/tools/lib/model/config.d.ts +42 -213
- package/packages/tools/lib/model/config.d.ts.map +1 -1
- package/packages/tools/lib/model/config.js +11 -9
- package/packages/tools/lib/model/config.js.map +1 -1
- package/packages/tools/lib/model/effective-scope.d.ts +74 -0
- package/packages/tools/lib/model/effective-scope.d.ts.map +1 -0
- package/packages/tools/lib/model/effective-scope.js +133 -0
- package/packages/tools/lib/model/effective-scope.js.map +1 -0
- package/packages/tools/lib/model/ir-identity.d.ts +94 -0
- package/packages/tools/lib/model/ir-identity.d.ts.map +1 -0
- package/packages/tools/lib/model/ir-identity.js +178 -0
- package/packages/tools/lib/model/ir-identity.js.map +1 -0
- package/packages/tools/lib/model/kind-registry.d.ts +134 -1
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.js +186 -4
- package/packages/tools/lib/model/kind-registry.js.map +1 -1
- package/packages/tools/lib/model/layer-resolver.js +1 -1
- package/packages/tools/lib/model/layer-resolver.js.map +1 -1
- package/packages/tools/lib/model/manifest.d.ts +8 -0
- package/packages/tools/lib/model/manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/manifest.js +3 -0
- package/packages/tools/lib/model/manifest.js.map +1 -1
- package/packages/tools/lib/model/methodology-loader.d.ts +19 -24
- package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/methodology-loader.js +179 -176
- package/packages/tools/lib/model/methodology-loader.js.map +1 -1
- package/packages/tools/lib/model/methodology-resolver.d.ts +115 -0
- package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -0
- package/packages/tools/lib/model/methodology-resolver.js +317 -0
- package/packages/tools/lib/model/methodology-resolver.js.map +1 -0
- package/packages/tools/lib/model/naming.d.ts +57 -0
- package/packages/tools/lib/model/naming.d.ts.map +1 -0
- package/packages/tools/lib/model/naming.js +69 -0
- package/packages/tools/lib/model/naming.js.map +1 -0
- package/packages/tools/lib/model/native-project.d.ts +130 -0
- package/packages/tools/lib/model/native-project.d.ts.map +1 -0
- package/packages/tools/lib/model/native-project.js +580 -0
- package/packages/tools/lib/model/native-project.js.map +1 -0
- package/packages/tools/lib/model/ontology-loader.d.ts +34 -21
- package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/ontology-loader.js +343 -614
- package/packages/tools/lib/model/ontology-loader.js.map +1 -1
- package/packages/tools/lib/model/package-manifest.d.ts +37 -0
- package/packages/tools/lib/model/package-manifest.d.ts.map +1 -0
- package/packages/tools/lib/model/package-manifest.js +96 -0
- package/packages/tools/lib/model/package-manifest.js.map +1 -0
- package/packages/tools/lib/model/parser-utils.d.ts +31 -0
- package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
- package/packages/tools/lib/model/parser-utils.js +89 -1
- package/packages/tools/lib/model/parser-utils.js.map +1 -1
- package/packages/tools/lib/model/paths.d.ts +10 -4
- package/packages/tools/lib/model/paths.d.ts.map +1 -1
- package/packages/tools/lib/model/paths.js +10 -4
- package/packages/tools/lib/model/paths.js.map +1 -1
- package/packages/tools/lib/model/project-conversion.d.ts +226 -0
- package/packages/tools/lib/model/project-conversion.d.ts.map +1 -0
- package/packages/tools/lib/model/project-conversion.js +946 -0
- package/packages/tools/lib/model/project-conversion.js.map +1 -0
- package/packages/tools/lib/model/relationship-legality.d.ts +27 -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 +93 -1
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js +217 -2
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/semantic.d.ts +73 -0
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +6 -0
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/settings-boundary.d.ts +19 -0
- package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -0
- package/packages/tools/lib/model/settings-boundary.js +118 -0
- package/packages/tools/lib/model/settings-boundary.js.map +1 -0
- package/packages/tools/lib/model/short-id.js +3 -3
- package/packages/tools/lib/model/short-id.js.map +1 -1
- package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
- package/packages/tools/lib/model/source-graph.js +5 -1
- package/packages/tools/lib/model/source-graph.js.map +1 -1
- package/packages/tools/lib/model/source-provenance.d.ts +112 -0
- package/packages/tools/lib/model/source-provenance.d.ts.map +1 -0
- package/packages/tools/lib/model/source-provenance.js +169 -0
- package/packages/tools/lib/model/source-provenance.js.map +1 -0
- package/packages/tools/lib/model/sysml-ir.d.ts +9 -0
- package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -0
- package/packages/tools/lib/model/sysml-ir.js +105 -0
- package/packages/tools/lib/model/sysml-ir.js.map +1 -0
- package/packages/tools/lib/model/view-deriver.d.ts +10 -1
- package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
- package/packages/tools/lib/model/view-deriver.js +139 -11
- package/packages/tools/lib/model/view-deriver.js.map +1 -1
- package/packages/tools/lib/model/view-kinds.d.ts +2 -0
- package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
- package/packages/tools/lib/model/view-kinds.js +11 -0
- package/packages/tools/lib/model/view-kinds.js.map +1 -1
- package/packages/tools/lib/ontology/owl-exporter.d.ts +2 -2
- package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
- package/packages/tools/lib/ontology/owl-exporter.js +12 -12
- package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
- package/packages/tools/lib/operations/ai-authoring.d.ts +24 -0
- package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -0
- package/packages/tools/lib/operations/ai-authoring.js +77 -0
- package/packages/tools/lib/operations/ai-authoring.js.map +1 -0
- package/packages/tools/lib/operations/authoring.d.ts +40 -0
- package/packages/tools/lib/operations/authoring.d.ts.map +1 -0
- package/packages/tools/lib/operations/authoring.js +56 -0
- package/packages/tools/lib/operations/authoring.js.map +1 -0
- 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 +2 -0
- package/packages/tools/lib/operations/index.js.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.d.ts +28 -3
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.js +79 -30
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
- package/packages/tools/lib/protocol/messages.d.ts +381 -12
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.d.ts +7 -7
- package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.js +11 -11
- package/packages/tools/lib/serializer/csv-io.js.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.js +34 -2
- package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
- package/packages/tools/lib/server/config-resolver.d.ts +8 -4
- package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
- package/packages/tools/lib/server/config-resolver.js +25 -44
- package/packages/tools/lib/server/config-resolver.js.map +1 -1
- package/packages/tools/lib/server/conflict-policy.d.ts +44 -0
- package/packages/tools/lib/server/conflict-policy.d.ts.map +1 -0
- package/packages/tools/lib/server/conflict-policy.js +94 -0
- package/packages/tools/lib/server/conflict-policy.js.map +1 -0
- package/packages/tools/lib/server/dev-server.d.ts +32 -2
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.js +875 -54
- package/packages/tools/lib/server/dev-server.js.map +1 -1
- package/packages/tools/lib/server/element-writer.d.ts +11 -0
- package/packages/tools/lib/server/element-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/element-writer.js +123 -0
- package/packages/tools/lib/server/element-writer.js.map +1 -0
- package/packages/tools/lib/server/file-watcher.d.ts +4 -1
- package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
- package/packages/tools/lib/server/file-watcher.js +17 -7
- package/packages/tools/lib/server/file-watcher.js.map +1 -1
- package/packages/tools/lib/server/mutation-domain.d.ts +22 -0
- package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -0
- package/packages/tools/lib/server/mutation-domain.js +87 -0
- package/packages/tools/lib/server/mutation-domain.js.map +1 -0
- package/packages/tools/lib/server/package-source.d.ts +26 -0
- package/packages/tools/lib/server/package-source.d.ts.map +1 -0
- package/packages/tools/lib/server/package-source.js +81 -0
- package/packages/tools/lib/server/package-source.js.map +1 -0
- package/packages/tools/lib/server/package-writer.d.ts +94 -0
- package/packages/tools/lib/server/package-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/package-writer.js +317 -0
- package/packages/tools/lib/server/package-writer.js.map +1 -0
- package/packages/tools/lib/server/persistor.d.ts +81 -6
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +173 -44
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/relationship-writer.d.ts +41 -5
- package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/relationship-writer.js +157 -13
- package/packages/tools/lib/server/relationship-writer.js.map +1 -1
- package/packages/tools/lib/server/rule-policy-writer.d.ts +40 -0
- package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/rule-policy-writer.js +124 -0
- package/packages/tools/lib/server/rule-policy-writer.js.map +1 -0
- package/packages/tools/lib/server/runtime-budget.d.ts +14 -0
- package/packages/tools/lib/server/runtime-budget.d.ts.map +1 -0
- package/packages/tools/lib/server/runtime-budget.js +15 -0
- package/packages/tools/lib/server/runtime-budget.js.map +1 -0
- package/packages/tools/lib/server/sysml-notation.d.ts +36 -0
- package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -0
- package/packages/tools/lib/server/sysml-notation.js +104 -0
- package/packages/tools/lib/server/sysml-notation.js.map +1 -0
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
- package/packages/tools/lib/server/view-layout-store.js +1 -0
- package/packages/tools/lib/server/view-layout-store.js.map +1 -1
- package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts +9 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts.map +1 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js +315 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js.map +1 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts +5206 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts.map +1 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js +1933 -0
- package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js.map +1 -0
- package/packages/tools/lib/sysml-ir/index.d.ts +3 -0
- package/packages/tools/lib/sysml-ir/index.d.ts.map +1 -0
- package/packages/tools/lib/sysml-ir/index.js +3 -0
- package/packages/tools/lib/sysml-ir/index.js.map +1 -0
- package/packages/tools/lib/sysml-ir/ir.d.ts +50 -0
- package/packages/tools/lib/sysml-ir/ir.d.ts.map +1 -0
- package/packages/tools/lib/sysml-ir/ir.js +2 -0
- package/packages/tools/lib/sysml-ir/ir.js.map +1 -0
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +3 -0
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +1 -0
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +97 -0
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +1 -0
- package/packages/tools/lib/sysmlc/index.d.ts +2 -0
- package/packages/tools/lib/sysmlc/index.d.ts.map +1 -0
- package/packages/tools/lib/sysmlc/index.js +7 -0
- package/packages/tools/lib/sysmlc/index.js.map +1 -0
- package/packages/tools/lib/sysmlc/server.d.ts +29 -0
- package/packages/tools/lib/sysmlc/server.d.ts.map +1 -0
- package/packages/tools/lib/sysmlc/server.js +168 -0
- package/packages/tools/lib/sysmlc/server.js.map +1 -0
- package/packages/tools/lib/toolchain/default-registry.d.ts +12 -0
- package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/default-registry.js +28 -0
- package/packages/tools/lib/toolchain/default-registry.js.map +1 -0
- package/packages/tools/lib/toolchain/diagnostic.d.ts +57 -0
- package/packages/tools/lib/toolchain/diagnostic.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/diagnostic.js +69 -0
- package/packages/tools/lib/toolchain/diagnostic.js.map +1 -0
- package/packages/tools/lib/toolchain/effective.d.ts +36 -0
- package/packages/tools/lib/toolchain/effective.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/effective.js +91 -0
- package/packages/tools/lib/toolchain/effective.js.map +1 -0
- package/packages/tools/lib/toolchain/index.d.ts +11 -0
- package/packages/tools/lib/toolchain/index.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/index.js +21 -0
- package/packages/tools/lib/toolchain/index.js.map +1 -0
- package/packages/tools/lib/toolchain/lowering.d.ts +63 -0
- package/packages/tools/lib/toolchain/lowering.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/lowering.js +100 -0
- package/packages/tools/lib/toolchain/lowering.js.map +1 -0
- package/packages/tools/lib/toolchain/operations.d.ts +87 -0
- package/packages/tools/lib/toolchain/operations.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/operations.js +111 -0
- package/packages/tools/lib/toolchain/operations.js.map +1 -0
- package/packages/tools/lib/toolchain/process.d.ts +45 -0
- package/packages/tools/lib/toolchain/process.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/process.js +125 -0
- package/packages/tools/lib/toolchain/process.js.map +1 -0
- package/packages/tools/lib/toolchain/protocol.d.ts +122 -0
- package/packages/tools/lib/toolchain/protocol.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/protocol.js +74 -0
- package/packages/tools/lib/toolchain/protocol.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts +9 -0
- package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-kpar.js +84 -0
- package/packages/tools/lib/toolchain/providers/internal-kpar.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal.d.ts +33 -0
- package/packages/tools/lib/toolchain/providers/internal.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal.js +286 -0
- package/packages/tools/lib/toolchain/providers/internal.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand.d.ts +12 -0
- package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand.js +110 -0
- package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside.d.ts +24 -0
- package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside.js +208 -0
- package/packages/tools/lib/toolchain/providers/syside.js.map +1 -0
- package/packages/tools/lib/toolchain/registry.d.ts +192 -0
- package/packages/tools/lib/toolchain/registry.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/registry.js +130 -0
- package/packages/tools/lib/toolchain/registry.js.map +1 -0
- package/packages/tools/lib/toolchain/schema.d.ts +30 -0
- package/packages/tools/lib/toolchain/schema.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/schema.js +112 -0
- package/packages/tools/lib/toolchain/schema.js.map +1 -0
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts +77 -0
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
- package/packages/tools/lib/toolchain/sysmlc-client.js.map +1 -0
- package/packages/tools/lib/validator/architecture-validator.d.ts +8 -1
- package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
- package/packages/tools/lib/validator/architecture-validator.js +25 -1
- package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
- package/packages/tools/lib/validator/behavior-validator.d.ts +1 -1
- package/packages/tools/lib/validator/behavior-validator.js +1 -1
- package/packages/tools/lib/validator/builtin-rules.d.ts +16 -0
- package/packages/tools/lib/validator/builtin-rules.d.ts.map +1 -0
- package/packages/tools/lib/validator/builtin-rules.js +62 -0
- package/packages/tools/lib/validator/builtin-rules.js.map +1 -0
- package/packages/tools/lib/validator/constraint-eval.d.ts +31 -0
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.js +164 -7
- package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
- package/packages/tools/lib/validator/constraint-loader.d.ts +22 -4
- package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-loader.js +100 -27
- package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
- package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
- package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-engine.js +56 -5
- package/packages/tools/lib/validator/rule-engine.js.map +1 -1
- package/packages/tools/lib/validator/sysml-constraints.d.ts +64 -0
- package/packages/tools/lib/validator/sysml-constraints.d.ts.map +1 -0
- package/packages/tools/lib/validator/sysml-constraints.js +251 -0
- package/packages/tools/lib/validator/sysml-constraints.js.map +1 -0
- package/packages/tools/lib/validator/types.d.ts +33 -0
- package/packages/tools/lib/validator/types.d.ts.map +1 -1
- package/packages/tools/lib/version.d.ts +2 -0
- package/packages/tools/lib/version.d.ts.map +1 -0
- package/packages/tools/lib/version.js +26 -0
- package/packages/tools/lib/version.js.map +1 -0
- package/packages/tools/src/grammar/memo-sysml.langium +517 -41
- package/packages/tools/lib/model/dimension-filter.d.ts +0 -33
- package/packages/tools/lib/model/dimension-filter.d.ts.map +0 -1
- package/packages/tools/lib/model/dimension-filter.js +0 -57
- package/packages/tools/lib/model/dimension-filter.js.map +0 -1
- package/packages/tools/lib/model/toolchain.d.ts +0 -12
- package/packages/tools/lib/model/toolchain.d.ts.map +0 -1
- package/packages/tools/lib/model/toolchain.js +0 -92
- package/packages/tools/lib/model/toolchain.js.map +0 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// ─── Source Provenance ────────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Where a piece of semantic content came from, and whether the user may edit it.
|
|
4
|
+
//
|
|
5
|
+
// The rule that makes this trustworthy is that origin is decided by the
|
|
6
|
+
// RESOLVED DEPENDENCY ROOT a file sits under — never by what kind of construct
|
|
7
|
+
// it declares, what the file is called, or where it sits in a directory tree.
|
|
8
|
+
// `action def LocalCalibration` written in the workspace is project content;
|
|
9
|
+
// the same declaration inside a resolved methodology package is methodology
|
|
10
|
+
// content. Nothing about the declaration itself is consulted.
|
|
11
|
+
//
|
|
12
|
+
// This matters because the previous behaviour inferred ownership from
|
|
13
|
+
// configured filesystem roots, which made a project-local definition look like
|
|
14
|
+
// ontology content whenever the roots overlapped, and left every DTO unable to
|
|
15
|
+
// say which package a name actually came from.
|
|
16
|
+
//
|
|
17
|
+
// Design reference: sections 7.1-7.3.
|
|
18
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
import { isAbsolute, resolve, sep } from 'node:path';
|
|
20
|
+
/**
|
|
21
|
+
* Map a package manifest `type:` to an authority category.
|
|
22
|
+
*
|
|
23
|
+
* `profile` is ontology content: it ships definitions that projects specialize,
|
|
24
|
+
* and is frozen for the session exactly as the ontology is. `device` is what a
|
|
25
|
+
* project declares about itself, so a device root is only ever the workspace.
|
|
26
|
+
*/
|
|
27
|
+
export function originForPackageType(type) {
|
|
28
|
+
switch ((type ?? '').trim()) {
|
|
29
|
+
case 'ontology':
|
|
30
|
+
case 'profile':
|
|
31
|
+
return 'ontology';
|
|
32
|
+
case 'methodology':
|
|
33
|
+
return 'methodology';
|
|
34
|
+
case 'extension':
|
|
35
|
+
return 'extension';
|
|
36
|
+
case 'device':
|
|
37
|
+
return 'project';
|
|
38
|
+
default:
|
|
39
|
+
// An unrecognized type is treated as ontology rather than project:
|
|
40
|
+
// it arrived through dependency resolution, so it is not writable,
|
|
41
|
+
// and calling it project content would wrongly offer edits on it.
|
|
42
|
+
return 'ontology';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Origins whose content is frozen for the lifetime of a runtime session. */
|
|
46
|
+
const REUSABLE_ORIGINS = new Set([
|
|
47
|
+
'standard-library', 'memo-core', 'ontology', 'extension', 'methodology',
|
|
48
|
+
]);
|
|
49
|
+
/** True when a change to this origin requires a runtime restart (section 13.3). */
|
|
50
|
+
export function isReusableOrigin(origin) {
|
|
51
|
+
return REUSABLE_ORIGINS.has(origin);
|
|
52
|
+
}
|
|
53
|
+
/** Classify a watched source path from the resolved provenance table. */
|
|
54
|
+
export function classifySourceChange(filePath, provenance) {
|
|
55
|
+
const source = provenance.lookup(filePath);
|
|
56
|
+
if (!source)
|
|
57
|
+
return 'unknown';
|
|
58
|
+
return isReusableOrigin(source.origin) ? 'reusable' : 'project';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Resolves any file path to its provenance.
|
|
62
|
+
*
|
|
63
|
+
* Roots may nest — a project can contain a vendored dependency under
|
|
64
|
+
* `node_modules/` — so the LONGEST matching root wins. A path under no
|
|
65
|
+
* dependency root but under the workspace is project content; a path under
|
|
66
|
+
* neither is reported as unknown rather than guessed at.
|
|
67
|
+
*/
|
|
68
|
+
export class ProvenanceTable {
|
|
69
|
+
roots;
|
|
70
|
+
projectRoot;
|
|
71
|
+
cache = new Map();
|
|
72
|
+
constructor(projectRoot, roots) {
|
|
73
|
+
this.projectRoot = normalizeDir(projectRoot);
|
|
74
|
+
// Longest first so nested roots resolve before their parents.
|
|
75
|
+
this.roots = [...roots]
|
|
76
|
+
.map(root => ({ ...root, dir: normalizeDir(root.dir) }))
|
|
77
|
+
.sort((a, b) => b.dir.length - a.dir.length);
|
|
78
|
+
}
|
|
79
|
+
/** All dependency roots, longest path first. */
|
|
80
|
+
getRoots() {
|
|
81
|
+
return this.roots;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Provenance for one file, or undefined when it belongs to no known root.
|
|
85
|
+
*
|
|
86
|
+
* Undefined is deliberate: a caller that cannot establish origin must say
|
|
87
|
+
* so rather than defaulting to project (which would offer edits on library
|
|
88
|
+
* content) or to ontology (which would hide a real project file).
|
|
89
|
+
*/
|
|
90
|
+
lookup(filePath) {
|
|
91
|
+
// Parsers retain project-relative paths for transport. Resolve those
|
|
92
|
+
// against the project that owns this table, never the CLI's own cwd.
|
|
93
|
+
const absolute = isAbsolute(filePath) ? resolve(filePath) : resolve(this.projectRoot, filePath);
|
|
94
|
+
if (this.cache.has(absolute))
|
|
95
|
+
return this.cache.get(absolute);
|
|
96
|
+
let provenance = this.compute(absolute);
|
|
97
|
+
// Registry entries originating from package scans may retain a path
|
|
98
|
+
// relative to their package root. Try every resolved root only after
|
|
99
|
+
// the project-relative interpretation, so authored project paths keep
|
|
100
|
+
// their normal meaning.
|
|
101
|
+
if (!provenance && !isAbsolute(filePath)) {
|
|
102
|
+
for (const root of this.roots) {
|
|
103
|
+
provenance = this.compute(resolve(root.dir, filePath));
|
|
104
|
+
if (provenance)
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
this.cache.set(absolute, provenance);
|
|
109
|
+
return provenance;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Provenance for a file that must have one.
|
|
113
|
+
*
|
|
114
|
+
* Falls back to project so that a caller in the middle of building a model
|
|
115
|
+
* is not forced to handle undefined; use `lookup` where the distinction
|
|
116
|
+
* between "project" and "unknown" carries meaning.
|
|
117
|
+
*/
|
|
118
|
+
lookupOrProject(filePath) {
|
|
119
|
+
const absolute = isAbsolute(filePath) ? resolve(filePath) : resolve(this.projectRoot, filePath);
|
|
120
|
+
return this.lookup(absolute) ?? this.projectProvenance(absolute);
|
|
121
|
+
}
|
|
122
|
+
compute(absolute) {
|
|
123
|
+
for (const root of this.roots) {
|
|
124
|
+
if (!isUnder(absolute, root.dir))
|
|
125
|
+
continue;
|
|
126
|
+
return {
|
|
127
|
+
origin: root.origin,
|
|
128
|
+
packageName: root.packageName,
|
|
129
|
+
packageVersion: root.packageVersion,
|
|
130
|
+
sourceUri: absolute,
|
|
131
|
+
sourceFile: relativeTo(root.dir, absolute),
|
|
132
|
+
writable: root.origin === 'project',
|
|
133
|
+
importDepth: root.importDepth,
|
|
134
|
+
selectedBy: root.selectedBy,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (isUnder(absolute, this.projectRoot))
|
|
138
|
+
return this.projectProvenance(absolute);
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
projectProvenance(absolute) {
|
|
142
|
+
return {
|
|
143
|
+
origin: 'project',
|
|
144
|
+
packageName: '(project)',
|
|
145
|
+
sourceUri: absolute,
|
|
146
|
+
sourceFile: relativeTo(this.projectRoot, absolute),
|
|
147
|
+
writable: true,
|
|
148
|
+
importDepth: 0,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function normalizeDir(dir) {
|
|
153
|
+
const resolved = resolve(dir);
|
|
154
|
+
return resolved.endsWith(sep) ? resolved.slice(0, -sep.length) : resolved;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Containment test on path segments.
|
|
158
|
+
*
|
|
159
|
+
* A plain `startsWith` would place `/a/project-old/x` under `/a/project`, so the
|
|
160
|
+
* boundary must land on a separator.
|
|
161
|
+
*/
|
|
162
|
+
function isUnder(absolute, dir) {
|
|
163
|
+
return absolute === dir || absolute.startsWith(dir + sep);
|
|
164
|
+
}
|
|
165
|
+
function relativeTo(dir, absolute) {
|
|
166
|
+
const rel = absolute === dir ? '' : absolute.slice(dir.length + sep.length);
|
|
167
|
+
return rel.split(sep).join('/');
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=source-provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-provenance.js","sourceRoot":"","sources":["../../src/model/source-provenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type SysmlIR } from '../sysml-ir/index.js';
|
|
2
|
+
import type { ParsedDocument } from './parser-utils.js';
|
|
3
|
+
import type { MemoModelDTO } from './semantic.js';
|
|
4
|
+
export declare const SYSML_IR_VERSION = "2.0.0";
|
|
5
|
+
/** Build the canonical record stream before exposing Memo's legacy projection. */
|
|
6
|
+
export declare function lowerAstToSysmlIr(documents: ParsedDocument[], model: MemoModelDTO, projectRoot?: string): SysmlIR;
|
|
7
|
+
/** Memo is now explicitly a projection of IR, rather than its ingestion boundary. */
|
|
8
|
+
export declare function projectSysmlIrToMemo(ir: SysmlIR, model: MemoModelDTO): MemoModelDTO;
|
|
9
|
+
//# sourceMappingURL=sysml-ir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sysml-ir.d.ts","sourceRoot":"","sources":["../../src/model/sysml-ir.ts"],"names":[],"mappings":"AAIA,OAAO,EAKH,KAAK,OAAO,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,SAAgB,GAAG,OAAO,CA8DxH;AA+BD,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAEnF"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// AST → canonical SysML IR → Memo projection. The builder remains the
|
|
2
|
+
// projection implementation while the IR owns ingestion completeness.
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { pathToFileURL } from 'node:url';
|
|
5
|
+
import { sysmlIdentity, } from '../sysml-ir/index.js';
|
|
6
|
+
export const SYSML_IR_VERSION = '2.0.0';
|
|
7
|
+
/** Build the canonical record stream before exposing Memo's legacy projection. */
|
|
8
|
+
export function lowerAstToSysmlIr(documents, model, projectRoot = process.cwd()) {
|
|
9
|
+
const elements = [];
|
|
10
|
+
const diagnostics = [];
|
|
11
|
+
const projected = new Set();
|
|
12
|
+
for (const document of documents) {
|
|
13
|
+
// Langium's EmptyFileSystem assigns ephemeral document URIs. Identity
|
|
14
|
+
// must instead name the authored file, identically in-process and over
|
|
15
|
+
// sysmlc's pipe.
|
|
16
|
+
const uri = pathToFileURL(resolve(projectRoot, document.filePath)).href;
|
|
17
|
+
const visitPackage = (pkg, path, packageName) => {
|
|
18
|
+
for (const [index, member] of (pkg.members ?? []).entries()) {
|
|
19
|
+
const memberPath = `${path}/members[${index}]`;
|
|
20
|
+
if (member.$type === 'PackageDeclaration') {
|
|
21
|
+
visitPackage(member, memberPath, packageName ? `${packageName}::${member.name}` : member.name);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
// Imports, metadata and constraints are declarations too. They
|
|
25
|
+
// cannot disappear merely because the current Memo projection
|
|
26
|
+
// has no shape for them.
|
|
27
|
+
const name = member.name ?? member.$type;
|
|
28
|
+
const range = sourceRange(document, member);
|
|
29
|
+
const identity = sysmlIdentity(uri, memberPath, member.$type);
|
|
30
|
+
const candidate = Object.entries(model.elements).find(([, element]) => element.file === document.filePath && element.id === name && element.package === (packageName || undefined));
|
|
31
|
+
if (candidate && !projected.has(candidate[0])) {
|
|
32
|
+
projected.add(candidate[0]);
|
|
33
|
+
const mapped = {
|
|
34
|
+
kind: 'mapped', identity, source: range,
|
|
35
|
+
standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], memoElementId: candidate[0],
|
|
36
|
+
};
|
|
37
|
+
elements.push(mapped);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const unmappable = `Memo has no projection for ${member.$type} '${name}'`;
|
|
41
|
+
const generic = {
|
|
42
|
+
kind: 'generic', identity, source: range,
|
|
43
|
+
standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], unmappable,
|
|
44
|
+
};
|
|
45
|
+
elements.push(generic);
|
|
46
|
+
diagnostics.push({ domain: 'memo-ingest', severity: 'warning', code: 'unmapped-sysml-element', message: unmappable, elementId: identity.id, file: document.filePath, range });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
for (const [index, member] of (document.document.parseResult.value.members ?? []).entries()) {
|
|
51
|
+
// The package's own name is where the qualified name starts. Passing
|
|
52
|
+
// '' here matched every element against `package === undefined`, so
|
|
53
|
+
// nothing inside a top-level package ever projected: conservation
|
|
54
|
+
// still held — every declaration was reported — but as a file full
|
|
55
|
+
// of unmapped generics rather than the elements MEMO does model.
|
|
56
|
+
if (member.$type === 'PackageDeclaration')
|
|
57
|
+
visitPackage(member, `members[${index}]`, member.name);
|
|
58
|
+
else {
|
|
59
|
+
// A top-level non-package declaration is rare but valid input;
|
|
60
|
+
// preserve it with the same guarantee.
|
|
61
|
+
const range = sourceRange(document, member);
|
|
62
|
+
const identity = sysmlIdentity(uri, `members[${index}]`, member.$type);
|
|
63
|
+
const message = `Memo has no projection for ${member.$type} '${member.name ?? member.$type}'`;
|
|
64
|
+
elements.push({ kind: 'generic', identity, source: range, standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], unmappable: message });
|
|
65
|
+
diagnostics.push({ domain: 'memo-ingest', severity: 'warning', code: 'unmapped-sysml-element', message, elementId: identity.id, file: document.filePath, range });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return { irVersion: SYSML_IR_VERSION, elements, diagnostics };
|
|
70
|
+
}
|
|
71
|
+
function declaredProperties(node) {
|
|
72
|
+
const properties = {};
|
|
73
|
+
for (const [key, value] of Object.entries(node)) {
|
|
74
|
+
if (!key.startsWith('$') && typeof value !== 'function' && value !== undefined)
|
|
75
|
+
properties[key] = jsonProperty(value);
|
|
76
|
+
}
|
|
77
|
+
return properties;
|
|
78
|
+
}
|
|
79
|
+
/** AST nodes contain parent links; retain their declared shape without leaking a cycle into IR JSON. */
|
|
80
|
+
function jsonProperty(value) {
|
|
81
|
+
if (value === null || ['string', 'number', 'boolean'].includes(typeof value))
|
|
82
|
+
return value;
|
|
83
|
+
if (Array.isArray(value))
|
|
84
|
+
return value.map(jsonProperty);
|
|
85
|
+
if (typeof value === 'object') {
|
|
86
|
+
const result = {};
|
|
87
|
+
for (const [key, child] of Object.entries(value)) {
|
|
88
|
+
if (!key.startsWith('$') && typeof child !== 'function' && child !== undefined)
|
|
89
|
+
result[key] = jsonProperty(child);
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
return String(value);
|
|
94
|
+
}
|
|
95
|
+
function sourceRange(document, node) {
|
|
96
|
+
const offset = node.$cstNode?.range?.start ?? 0;
|
|
97
|
+
const position = document.document.textDocument.positionAt(offset);
|
|
98
|
+
const start = { line: position.line + 1, ...(Number.isFinite(position.character) ? { column: position.character + 1 } : {}) };
|
|
99
|
+
return { file: document.filePath, start };
|
|
100
|
+
}
|
|
101
|
+
/** Memo is now explicitly a projection of IR, rather than its ingestion boundary. */
|
|
102
|
+
export function projectSysmlIrToMemo(ir, model) {
|
|
103
|
+
return { ...model, sysmlIr: ir };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=sysml-ir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sysml-ir.js","sourceRoot":"","sources":["../../src/model/sysml-ir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import type { MemoModel, MemoElement, ViewpointDTO, DiagramDTO } from './semantic.js';
|
|
2
2
|
import type { KindRegistry } from './kind-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve every `expose` path declared on a view to the element ids it
|
|
5
|
+
* selects. A view exposing its own enclosing package (`expose
|
|
6
|
+
* myPackage::*;`, e.g. a document view scoping to "everything declared
|
|
7
|
+
* alongside me") would otherwise select the view element itself — excluded
|
|
8
|
+
* here the same way the kind/layer selection above excludes it.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveExposeIds(view: MemoElement, model: MemoModel): string[];
|
|
3
11
|
/**
|
|
4
12
|
* Resolve the element ids a view selects.
|
|
5
13
|
*
|
|
6
14
|
* Membership comes from two declared sources, both owned by the model:
|
|
7
15
|
* 1. `selectionQuery.includeElementKinds` (specializations included); when no
|
|
8
16
|
* kinds are given, `includeLayers` selects whole layers instead
|
|
9
|
-
* 2.
|
|
17
|
+
* 2. native `expose` members (see `resolveExposeIds`) — the sole source of
|
|
18
|
+
* explicit per-element membership since R10-S4 retired `IncludedIn`
|
|
10
19
|
*/
|
|
11
20
|
export declare function resolveViewElementIds(view: MemoElement, model: MemoModel, kindRegistry?: KindRegistry): string[];
|
|
12
21
|
export interface DerivedViews {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-deriver.d.ts","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"view-deriver.d.ts","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA2GvD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,SAAS,EAChB,YAAY,CAAC,EAAE,YAAY,GAC5B,MAAM,EAAE,CAyBV;AAgDD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,CAuI5F"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// already consumes for config-defined viewpoints, so SysML-modelled views
|
|
13
13
|
// appear in the Diagrams browser with an auto-populated element selection.
|
|
14
14
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
15
|
-
import { resolveViewKind } from './view-kinds.js';
|
|
15
|
+
import { resolveViewKind, VIEW_KIND_SHORT_ID_PREFIX } from './view-kinds.js';
|
|
16
16
|
/** Kinds whose instances are treated as model-defined views. */
|
|
17
17
|
function isViewElement(el, kindRegistry) {
|
|
18
18
|
if (el.kind === 'Viewpoint' || el.kind === 'ViewSelectionQuery' || el.kind === 'ViewInclusionRule')
|
|
@@ -47,13 +47,106 @@ function splitList(raw) {
|
|
|
47
47
|
return [];
|
|
48
48
|
return raw.split(',').map(s => s.trim()).filter(Boolean);
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Push `ownerId`'s owned elements onto `out`; `deep` recurses through the
|
|
52
|
+
* whole subtree. Containment is split across two fields depending on
|
|
53
|
+
* construct — `owner` for nested ports and parts (`extractDefinitionPorts`,
|
|
54
|
+
* `extractNestedParts`), `parentAction` for nested actions
|
|
55
|
+
* (`extractActionUsage`) — so both are checked here or `expose foo::**` would
|
|
56
|
+
* silently drop an entire construct family from the selection.
|
|
57
|
+
*/
|
|
58
|
+
function collectOwned(ownerId, deep, model, out) {
|
|
59
|
+
for (const el of model.elements.values()) {
|
|
60
|
+
if (el.owner !== ownerId && el.parentAction !== ownerId)
|
|
61
|
+
continue;
|
|
62
|
+
out.push(el.id);
|
|
63
|
+
if (deep)
|
|
64
|
+
collectOwned(el.id, true, model, out);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolve one native `expose <path>;` member to the element ids it names.
|
|
69
|
+
*
|
|
70
|
+
* `ExposePath` has two shapes (`memo-sysml.langium`'s `ExposePath`):
|
|
71
|
+
* - a package-qualified name, optionally suffixed `::*` (direct members) or
|
|
72
|
+
* `::**` (members of the package and any nested package) — the form used
|
|
73
|
+
* to expose a whole model, e.g. `expose myExample::**;`
|
|
74
|
+
* - a dotted element reference, optionally suffixed the same way, walking
|
|
75
|
+
* owned children the way `bind`/`flow` endpoints do — the form used to
|
|
76
|
+
* expose one part and (with a suffix) its owned ports/nested parts, e.g.
|
|
77
|
+
* `expose coffeeMachine::**;`
|
|
78
|
+
* No suffix names exactly the one element or the one package member itself
|
|
79
|
+
* (a bare package name with no suffix selects nothing, since a package is not
|
|
80
|
+
* an element).
|
|
81
|
+
*/
|
|
82
|
+
function resolveExposePath(path, model) {
|
|
83
|
+
const suffixMatch = path.match(/::(\*\*|\*)$/);
|
|
84
|
+
const suffix = suffixMatch?.[1];
|
|
85
|
+
const base = suffixMatch ? path.slice(0, -suffixMatch[0].length) : path;
|
|
86
|
+
const pkg = model.packages.find(p => p.qualifiedName === base);
|
|
87
|
+
if (pkg) {
|
|
88
|
+
if (!suffix)
|
|
89
|
+
return [];
|
|
90
|
+
const ids = [];
|
|
91
|
+
for (const el of model.elements.values()) {
|
|
92
|
+
if (el.package === base || (suffix === '**' && el.package?.startsWith(`${base}::`))) {
|
|
93
|
+
ids.push(el.id);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return ids;
|
|
97
|
+
}
|
|
98
|
+
const segments = base.split(/::|\./).filter(Boolean);
|
|
99
|
+
if (segments.length === 0)
|
|
100
|
+
return [];
|
|
101
|
+
let id = segments[0];
|
|
102
|
+
if (!model.elements.has(id))
|
|
103
|
+
return [];
|
|
104
|
+
let i = 1;
|
|
105
|
+
while (i < segments.length) {
|
|
106
|
+
const child = model.elements.get(segments[i]);
|
|
107
|
+
if (!child || (child.owner !== id && child.parentAction !== id))
|
|
108
|
+
break;
|
|
109
|
+
id = segments[i];
|
|
110
|
+
i++;
|
|
111
|
+
}
|
|
112
|
+
// SysIDE rejects a bare `expose SomeDefinition;` — "Expected Feature
|
|
113
|
+
// element but found ActionDefinition" — because a definition is not
|
|
114
|
+
// itself a feature, only its members are. `X::**`/`X::*` on a definition
|
|
115
|
+
// is legal, and it means exactly that: the definition's owned features,
|
|
116
|
+
// never the definition itself. A usage, by contrast, IS a feature, so it
|
|
117
|
+
// belongs in its own exposed set the same way `coffeeMachine::**`
|
|
118
|
+
// includes `coffeeMachine`.
|
|
119
|
+
const baseEl = model.elements.get(id);
|
|
120
|
+
const ids = baseEl && !baseEl.kind.endsWith('Definition') ? [id] : [];
|
|
121
|
+
if (suffix)
|
|
122
|
+
collectOwned(id, suffix === '**', model, ids);
|
|
123
|
+
return ids;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Resolve every `expose` path declared on a view to the element ids it
|
|
127
|
+
* selects. A view exposing its own enclosing package (`expose
|
|
128
|
+
* myPackage::*;`, e.g. a document view scoping to "everything declared
|
|
129
|
+
* alongside me") would otherwise select the view element itself — excluded
|
|
130
|
+
* here the same way the kind/layer selection above excludes it.
|
|
131
|
+
*/
|
|
132
|
+
export function resolveExposeIds(view, model) {
|
|
133
|
+
const ids = new Set();
|
|
134
|
+
for (const path of splitList(view.attributes['expose'])) {
|
|
135
|
+
for (const id of resolveExposePath(path, model)) {
|
|
136
|
+
if (id !== view.id)
|
|
137
|
+
ids.add(id);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return [...ids];
|
|
141
|
+
}
|
|
50
142
|
/**
|
|
51
143
|
* Resolve the element ids a view selects.
|
|
52
144
|
*
|
|
53
145
|
* Membership comes from two declared sources, both owned by the model:
|
|
54
146
|
* 1. `selectionQuery.includeElementKinds` (specializations included); when no
|
|
55
147
|
* kinds are given, `includeLayers` selects whole layers instead
|
|
56
|
-
* 2.
|
|
148
|
+
* 2. native `expose` members (see `resolveExposeIds`) — the sole source of
|
|
149
|
+
* explicit per-element membership since R10-S4 retired `IncludedIn`
|
|
57
150
|
*/
|
|
58
151
|
export function resolveViewElementIds(view, model, kindRegistry) {
|
|
59
152
|
const kindList = splitList(view.attributes['selectionQuery.includeElementKinds']);
|
|
@@ -83,10 +176,8 @@ export function resolveViewElementIds(view, model, kindRegistry) {
|
|
|
83
176
|
if (authored)
|
|
84
177
|
ids.add(authored.id);
|
|
85
178
|
}
|
|
86
|
-
for (const
|
|
87
|
-
|
|
88
|
-
ids.add(rel.sourceId);
|
|
89
|
-
}
|
|
179
|
+
for (const id of resolveExposeIds(view, model))
|
|
180
|
+
ids.add(id);
|
|
90
181
|
return [...ids];
|
|
91
182
|
}
|
|
92
183
|
/** Human label from a viewpoint reference like "riskViewpoint" → "Risk". */
|
|
@@ -116,6 +207,10 @@ function resolveViewpoints(view, model) {
|
|
|
116
207
|
// that bind to it — a viewpoint states which layers it frames even
|
|
117
208
|
// before any view exists.
|
|
118
209
|
declaredLayers: splitList(authored?.attributes['includedLayers'] ?? ''),
|
|
210
|
+
explorerLane: authored?.attributes['explorerLane'],
|
|
211
|
+
explorerOrder: Number.isFinite(Number(authored?.attributes['explorerOrder']))
|
|
212
|
+
? Number(authored?.attributes['explorerOrder'])
|
|
213
|
+
: undefined,
|
|
119
214
|
ref,
|
|
120
215
|
};
|
|
121
216
|
});
|
|
@@ -143,10 +238,15 @@ export function deriveModelViews(model, kindRegistry) {
|
|
|
143
238
|
? el.package.split('::').some(segment => /(?:^|_)samples(?:_|$)/.test(segment))
|
|
144
239
|
: false;
|
|
145
240
|
const authoredViewpoints = resolveViewpoints(el, model);
|
|
241
|
+
// A renderer sample without a binding remains in Model > Samples, but
|
|
242
|
+
// an authored ISO 42010 binding is always authoritative. In
|
|
243
|
+
// particular, a real project may legitimately contain `samples` in
|
|
244
|
+
// its package name and still organize its views by viewpoint.
|
|
245
|
+
const usesRendererSampleFallback = isRendererSample && authoredViewpoints.length === 0;
|
|
146
246
|
// A view with no viewpoint binding is genuinely unassigned. Do not
|
|
147
247
|
// misclassify it as a "Document View" merely because its binding was
|
|
148
248
|
// absent or could not be resolved.
|
|
149
|
-
const vpIds =
|
|
249
|
+
const vpIds = usesRendererSampleFallback
|
|
150
250
|
? ['__model']
|
|
151
251
|
: authoredViewpoints.length > 0
|
|
152
252
|
? authoredViewpoints.map(vp => vp.id)
|
|
@@ -155,11 +255,13 @@ export function deriveModelViews(model, kindRegistry) {
|
|
|
155
255
|
for (const authoredViewpoint of authoredViewpoints.length > 0
|
|
156
256
|
? authoredViewpoints
|
|
157
257
|
: [{ id: '__unassigned', label: 'Unassigned Views', ref: '__unassigned' }]) {
|
|
158
|
-
if (!
|
|
258
|
+
if (!usesRendererSampleFallback && !viewpointsById.has(authoredViewpoint.id)) {
|
|
159
259
|
viewpointsById.set(authoredViewpoint.id, {
|
|
160
260
|
id: authoredViewpoint.id,
|
|
161
261
|
label: authoredViewpoint.label,
|
|
162
262
|
group: authoredViewpoint.group,
|
|
263
|
+
explorerLane: authoredViewpoint.explorerLane,
|
|
264
|
+
explorerOrder: authoredViewpoint.explorerOrder,
|
|
163
265
|
declaredLayers: authoredViewpoint.declaredLayers?.length
|
|
164
266
|
? authoredViewpoint.declaredLayers : undefined,
|
|
165
267
|
visibleKinds: [],
|
|
@@ -170,6 +272,13 @@ export function deriveModelViews(model, kindRegistry) {
|
|
|
170
272
|
}
|
|
171
273
|
const vps = vpIds.map(id => viewpointsById.get(id)).filter((vp) => Boolean(vp));
|
|
172
274
|
const queryKinds = splitList(el.attributes['selectionQuery.includeElementKinds']);
|
|
275
|
+
// Carried in the spelling SOURCE used — `Composes` for a MEMO
|
|
276
|
+
// `connection def`, `flow`/`bind` for a native keyword — because this
|
|
277
|
+
// list is a declaration, and a viewpoint that says "Composes" should
|
|
278
|
+
// read back as "Composes". A `MemoRelationship.type` is lowerCamelCase,
|
|
279
|
+
// so any consumer that MATCHES against the model must normalize first
|
|
280
|
+
// with `toModelType` / `toModelTypeSet` from `model/naming.ts`. Do not
|
|
281
|
+
// normalize here: it would lowercase what the UI displays.
|
|
173
282
|
const queryRels = splitList(el.attributes['selectionQuery.includeRelationshipKinds']);
|
|
174
283
|
for (const vp of vps) {
|
|
175
284
|
// Palette/filter eligibility follows the ontology specialization
|
|
@@ -188,17 +297,24 @@ export function deriveModelViews(model, kindRegistry) {
|
|
|
188
297
|
vp.visibleRelationships.push(r);
|
|
189
298
|
}
|
|
190
299
|
}
|
|
300
|
+
// A view usage inherits the attribute values its `view def` binds, and
|
|
301
|
+
// SysIDE forbids restating them on the usage, so the definition is the
|
|
302
|
+
// only place they can live. The usage's own values still win where it
|
|
303
|
+
// declares any.
|
|
304
|
+
const inherited = kindRegistry?.getViewDefaults(el.kind) ?? {};
|
|
305
|
+
const attr = (name) => el.attributes[name] || inherited[name];
|
|
191
306
|
// Presentation hints declared on the view — the renderer stays dumb and
|
|
192
307
|
// just honors them
|
|
193
308
|
const properties = {};
|
|
194
309
|
for (const hint of ['layoutHint', 'styleHint', 'presentationKind']) {
|
|
195
|
-
|
|
196
|
-
|
|
310
|
+
const value = attr(hint);
|
|
311
|
+
if (value)
|
|
312
|
+
properties[hint] = value;
|
|
197
313
|
}
|
|
198
314
|
// Every view resolves to exactly one of the 8 spec view kinds: an
|
|
199
315
|
// explicit `viewKind` declaration wins, else the legacy diagramType
|
|
200
316
|
// key maps; document-backed views (no diagramType) become browser.
|
|
201
|
-
const viewKind = resolveViewKind(
|
|
317
|
+
const viewKind = resolveViewKind(attr('viewKind'), el.attributes['diagramType']);
|
|
202
318
|
diagrams.push({
|
|
203
319
|
id: isRendererSample
|
|
204
320
|
? `diag-sample-${el.id}`
|
|
@@ -227,6 +343,18 @@ export function deriveModelViews(model, kindRegistry) {
|
|
|
227
343
|
sourceFile: el.file,
|
|
228
344
|
});
|
|
229
345
|
}
|
|
346
|
+
// Views use their standard SysML view-kind family, rather than the generic
|
|
347
|
+
// MemoDiagramView element family: GEN-1, ACT-1, STM-1, and so on.
|
|
348
|
+
const diagramsByPrefix = new Map();
|
|
349
|
+
for (const diagram of diagrams) {
|
|
350
|
+
const prefix = VIEW_KIND_SHORT_ID_PREFIX[diagram.viewKind] ?? 'BRW';
|
|
351
|
+
diagramsByPrefix.set(prefix, [...(diagramsByPrefix.get(prefix) ?? []), diagram]);
|
|
352
|
+
}
|
|
353
|
+
for (const [prefix, views] of diagramsByPrefix) {
|
|
354
|
+
views.sort((a, b) => a.id.localeCompare(b.id)).forEach((diagram, index) => {
|
|
355
|
+
diagram.shortId = `${prefix}-${index + 1}`;
|
|
356
|
+
});
|
|
357
|
+
}
|
|
230
358
|
return { viewpoints: [...viewpointsById.values()], diagrams };
|
|
231
359
|
}
|
|
232
360
|
//# sourceMappingURL=view-deriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-deriver.js","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view-deriver.js","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/** The eight standard SysML v2 view kinds. */
|
|
2
2
|
export declare const VIEW_KINDS: readonly ["general", "interconnection", "actionflow", "statetransition", "sequence", "grid", "browser", "geometry"];
|
|
3
3
|
export type ViewKind = (typeof VIEW_KINDS)[number];
|
|
4
|
+
/** Compact identifier prefix used by views of each standard SysML view kind. */
|
|
5
|
+
export declare const VIEW_KIND_SHORT_ID_PREFIX: Record<ViewKind, string>;
|
|
4
6
|
export declare function isViewKind(value: string): value is ViewKind;
|
|
5
7
|
/**
|
|
6
8
|
* Map every legacy `diagramType` key to its spec view kind.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-kinds.d.ts","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAYA,8CAA8C;AAC9C,eAAO,MAAM,UAAU,qHASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"view-kinds.d.ts","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAYA,8CAA8C;AAC9C,eAAO,MAAM,UAAU,qHASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAS9D,CAAC;AAIF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAkB9D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,QAAQ,CAKV"}
|