@memoarchitect/tools 0.6.6 → 0.7.2
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 +54 -11
- package/package.json +19 -7
- package/packages/tools/lib/analysis-starters.d.ts +4 -0
- package/packages/tools/lib/analysis-starters.d.ts.map +1 -0
- package/packages/tools/lib/analysis-starters.js +425 -0
- package/packages/tools/lib/analysis-starters.js.map +1 -0
- package/packages/tools/lib/bin/memo.js +161 -10
- package/packages/tools/lib/bin/memo.js.map +1 -1
- package/packages/tools/lib/browser/index.d.ts +1 -1
- package/packages/tools/lib/browser/index.d.ts.map +1 -1
- package/packages/tools/lib/browser/index.js +1 -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 +208 -74
- 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-preview.js +1 -1
- package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
- package/packages/tools/lib/commands/dhf.js +1 -1
- 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 +37 -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 -75
- 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/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 +183 -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/template-resolver.js +1 -1
- 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/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 +196 -51
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/ast.js +136 -15
- 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 +867 -295
- 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 +5 -1
- package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
- package/packages/tools/lib/mcp/model-loader.js +16 -27
- 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 +264 -26
- 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 +114 -1
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.js +148 -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/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/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 +570 -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 +340 -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 +12 -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 +16 -1
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/semantic.d.ts +38 -0
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +3 -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.d.ts +8 -7
- package/packages/tools/lib/model/short-id.d.ts.map +1 -1
- package/packages/tools/lib/model/short-id.js +26 -17
- 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-files.d.ts +9 -0
- package/packages/tools/lib/model/sysml-files.d.ts.map +1 -1
- package/packages/tools/lib/model/sysml-files.js +20 -1
- package/packages/tools/lib/model/sysml-files.js.map +1 -1
- 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.map +1 -1
- package/packages/tools/lib/model/view-deriver.js +60 -6
- 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 +311 -11
- 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 +721 -53
- 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/persistor.d.ts +63 -8
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +152 -44
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/relationship-writer.d.ts +28 -4
- package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/relationship-writer.js +98 -9
- 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 +87 -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 +2 -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 +17 -0
- package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -0
- package/packages/tools/lib/validator/architecture-validator.js +101 -0
- package/packages/tools/lib/validator/architecture-validator.js.map +1 -0
- 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 +15 -0
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.js +62 -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 +57 -4
- 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 +104 -18
- 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
|
@@ -27,8 +27,20 @@ grammar MemoSysML
|
|
|
27
27
|
entry Model:
|
|
28
28
|
members+=NamespaceMember*;
|
|
29
29
|
|
|
30
|
+
// The root namespace accepts definitions, not only packages. SysML v2 permits
|
|
31
|
+
// members at the root of a file and SysIDE accepts `part def X;` standing alone,
|
|
32
|
+
// so rejecting it here was a MEMO-only restriction: valid source failed to
|
|
33
|
+
// parse, and the AST-based loaders then reported the file as contributing
|
|
34
|
+
// nothing. MEMO's own content still nests everything in packages — the
|
|
35
|
+
// portability gate requires that for qualified naming — but the grammar must
|
|
36
|
+
// not reject source the compiler of record accepts.
|
|
30
37
|
NamespaceMember:
|
|
31
|
-
PackageDeclaration
|
|
38
|
+
PackageDeclaration
|
|
39
|
+
| ImportDeclaration
|
|
40
|
+
| AliasDeclaration
|
|
41
|
+
| DefinitionMember
|
|
42
|
+
| UseCaseDeclaration
|
|
43
|
+
| DocComment;
|
|
32
44
|
|
|
33
45
|
// ─── Package ─────────────────────────────────────────────────────────────────
|
|
34
46
|
|
|
@@ -36,11 +48,19 @@ NamespaceMember:
|
|
|
36
48
|
// Qualified names (`::`) are for references only; deep namespaces are expressed by
|
|
37
49
|
// NESTING packages (`package memo { package arch { … } }`). The model builder
|
|
38
50
|
// reconstructs the full FQN from the nesting (builder.ts: parentPackage::pkg.name).
|
|
51
|
+
// `standard` comes from the normative `LibraryPackage` production
|
|
52
|
+
// (`bnf/KerML-textual-bnf.kebnf:1446`), where it is the flag that marks a
|
|
53
|
+
// library package as part of the standard library rather than a user one. Every
|
|
54
|
+
// one of the 94 vendored normative library files opens with `standard library
|
|
55
|
+
// package`, so without it the parser fails on line 1 of the entire corpus.
|
|
39
56
|
PackageDeclaration:
|
|
40
|
-
isLibrary?='library'? 'package' name=ID '{'
|
|
57
|
+
isStandard?='standard'? isLibrary?='library'? 'package' name=ID '{'
|
|
41
58
|
members+=PackageMember*
|
|
42
59
|
'}';
|
|
43
60
|
|
|
61
|
+
// Flows and successions are legal package members, not only usage-body members:
|
|
62
|
+
// a flow between two action usages declared side by side in a package has no
|
|
63
|
+
// enclosing action to sit inside. SysIDE accepts them here, so the grammar does.
|
|
44
64
|
PackageMember:
|
|
45
65
|
PackageDeclaration
|
|
46
66
|
| AliasDeclaration
|
|
@@ -50,6 +70,8 @@ PackageMember:
|
|
|
50
70
|
| ItemUsage
|
|
51
71
|
| AttributeMember
|
|
52
72
|
| UseCaseDeclaration
|
|
73
|
+
| FlowConnectionUsage
|
|
74
|
+
| SuccessionUsage
|
|
53
75
|
| ConnectionUsage
|
|
54
76
|
| AllocateUsage
|
|
55
77
|
| MetadataApplication
|
|
@@ -224,7 +246,7 @@ UseCaseDeclaration:
|
|
|
224
246
|
// Item usage: standalone (`item x : T { … }`), directioned port payload
|
|
225
247
|
// (`in item reading : T;` / `out item command : T;`), or a bound feature value.
|
|
226
248
|
ItemUsage:
|
|
227
|
-
direction=('in' | 'out' | 'inout')? 'item' name=MemberName
|
|
249
|
+
direction=('in' | 'out' | 'inout')? 'item' name=MemberName preMultiplicity=Multiplicity?
|
|
228
250
|
(':' type=QualifiedName multiplicity=Multiplicity?)?
|
|
229
251
|
('=' boundRef=QualifiedName)?
|
|
230
252
|
('{' body+=UsageBodyMember* '}' | ';');
|
|
@@ -251,9 +273,34 @@ InterfaceUsage:
|
|
|
251
273
|
// ActionUsage supports both typed (action name : Type;) and composite
|
|
252
274
|
// (action name { nested-actions, flows, successions }) forms.
|
|
253
275
|
ActionUsage:
|
|
254
|
-
behaviorKind=('action' | 'operator' | 'function') name=
|
|
276
|
+
behaviorKind=('action' | 'operator' | 'function') name=ActionName (':' type=QualifiedName)?
|
|
255
277
|
('{' body+=ActionUsageBodyMember* '}' | ';');
|
|
256
278
|
|
|
279
|
+
// Activity actions use their own concrete forms. Keep the payload and endpoint
|
|
280
|
+
// references structural: they are semantic inputs for lowering, not display text.
|
|
281
|
+
AcceptActionUsage:
|
|
282
|
+
'action' name=ActionName 'accept' payloadName=ID ':' payloadType=QualifiedName ';';
|
|
283
|
+
|
|
284
|
+
// `then` on a body member is a succession from the member before it, so it is
|
|
285
|
+
// captured rather than consumed — a discarded `then` leaves the node floating
|
|
286
|
+
// with no incoming control flow.
|
|
287
|
+
SendActionUsage:
|
|
288
|
+
followsPrevious?='then'? 'action' name=ActionName 'send' receiver=FeatureReference 'to' target=ReferenceName ';';
|
|
289
|
+
|
|
290
|
+
FeatureReference:
|
|
291
|
+
segments+=ID ('.' segments+=ID)*;
|
|
292
|
+
|
|
293
|
+
ActionName returns string:
|
|
294
|
+
ID | 'accept' | 'send' | 'terminate';
|
|
295
|
+
|
|
296
|
+
// SysML v2 terminate actions may be anonymous (`terminate;`, `then terminate;`)
|
|
297
|
+
// or named (`action rejected terminate;`). A name is important in diagrams
|
|
298
|
+
// with several distinct activity-final outcomes because it supplies the label
|
|
299
|
+
// and a stable identity for each final node.
|
|
300
|
+
TerminateUsage:
|
|
301
|
+
{infer TerminateUsage} followsPrevious?='then'?
|
|
302
|
+
(('action' name=ID)? 'terminate') ';';
|
|
303
|
+
|
|
257
304
|
PortUsage:
|
|
258
305
|
direction=('in' | 'out' | 'inout')? 'port' isConjugated?='~'? name=ID ':' type=QualifiedName
|
|
259
306
|
('{' body+=UsageBodyMember* '}' | ';');
|
|
@@ -293,7 +340,7 @@ ConnectionEnd:
|
|
|
293
340
|
// Action defs can have in/out/inout parameters plus regular body members
|
|
294
341
|
|
|
295
342
|
ActionDefBodyMember:
|
|
296
|
-
ActionParameterMember |
|
|
343
|
+
ActionParameterMember | TerminateUsage | ActionUsage | AcceptActionUsage | SendActionUsage | ControlNodeUsage | RequireConstraintMember | UsageBodyMember;
|
|
297
344
|
|
|
298
345
|
ActionParameterMember:
|
|
299
346
|
direction=('in' | 'out' | 'inout') name=ID ':' type=QualifiedName ';';
|
|
@@ -304,7 +351,7 @@ ActionParameterMember:
|
|
|
304
351
|
// FlowConnectionUsage / SuccessionUsage / ConnectionUsage are contributed by
|
|
305
352
|
// UsageBodyMember; listing them again here would make the alternatives ambiguous.
|
|
306
353
|
ActionUsageBodyMember:
|
|
307
|
-
ActionUsage | ControlNodeUsage | UsageBodyMember;
|
|
354
|
+
ActionParameterMember | TerminateUsage | ActionUsage | AcceptActionUsage | SendActionUsage | ControlNodeUsage | UsageBodyMember;
|
|
308
355
|
|
|
309
356
|
// ─── Behavior: Control nodes (fork / join) ──────────────────────────────────
|
|
310
357
|
// SysML v2 activity control nodes. A `fork` splits one incoming control flow
|
|
@@ -317,7 +364,7 @@ ActionUsageBodyMember:
|
|
|
317
364
|
// first parallelPrep then prime;
|
|
318
365
|
// first parallelPrep then selfTest;
|
|
319
366
|
ControlNodeUsage:
|
|
320
|
-
controlKind=('fork' | 'join') name=ID ';';
|
|
367
|
+
controlKind=('fork' | 'join' | 'decide' | 'merge') name=ID ';';
|
|
321
368
|
|
|
322
369
|
// ─── Behavior: Flow connection usage ────────────────────────────────────────
|
|
323
370
|
// Syntax: flow of ItemType from source.port to target.port ;
|
|
@@ -330,16 +377,19 @@ FlowEnd:
|
|
|
330
377
|
|
|
331
378
|
// Dot-separated qualified name for flow endpoints (e.g. receive.prescription)
|
|
332
379
|
DottedName returns string:
|
|
333
|
-
|
|
380
|
+
DottedNameSegment ('.' DottedNameSegment)*;
|
|
381
|
+
|
|
382
|
+
DottedNameSegment returns string:
|
|
383
|
+
ID | 'accept' | 'send' | 'terminate';
|
|
334
384
|
|
|
335
385
|
// ─── Behavior: Succession usage ─────────────────────────────────────────────
|
|
336
386
|
// Syntax: first start then action1 then action2 then done ;
|
|
337
387
|
|
|
338
388
|
SuccessionUsage:
|
|
339
|
-
'first' steps+=SuccessionStep ('then' steps+=SuccessionStep)+ ';';
|
|
389
|
+
'succession'? 'first' steps+=SuccessionStep ('then' steps+=SuccessionStep)+ ';';
|
|
340
390
|
|
|
341
391
|
SuccessionStep:
|
|
342
|
-
ref=SuccessionRef
|
|
392
|
+
ref=SuccessionRef ('if' guard=OrExpr)?;
|
|
343
393
|
|
|
344
394
|
SuccessionRef returns string:
|
|
345
395
|
'start' | 'done' | ID;
|
|
@@ -405,14 +455,32 @@ UsageBodyMember:
|
|
|
405
455
|
AttributeMember | PartMember | PortUsage | ItemUsage | RefMember | ViewUsage | FlowConnectionUsage | SuccessionUsage | ConnectionUsage | MetadataApplication | DocComment;
|
|
406
456
|
|
|
407
457
|
// ─── Attribute member ────────────────────────────────────────────────────────
|
|
408
|
-
//
|
|
458
|
+
// Three forms:
|
|
409
459
|
// attribute name : Type ; (type declaration)
|
|
410
460
|
// attribute redefines name = value ; (value assignment / redefinition)
|
|
461
|
+
// attribute redefines name { … } (structured value: nested redefinitions)
|
|
462
|
+
//
|
|
463
|
+
// The third form is how a value of an `attribute def` with several features is
|
|
464
|
+
// assigned — you cannot write it with `=`, because the value is not a literal.
|
|
465
|
+
// It is what SysIDE accepts for e.g. a RegionBounds:
|
|
466
|
+
//
|
|
467
|
+
// attribute :>> bounds { attribute :>> x = 0.1; attribute :>> width = 0.4; }
|
|
468
|
+
|
|
469
|
+
// A fourth form is a TYPED attribute carrying a default:
|
|
470
|
+
//
|
|
471
|
+
// attribute id : String = "CR-MED-040";
|
|
472
|
+
//
|
|
473
|
+
// SysIDE accepts it and MEMO rejected it, which session 1 logged as a grammar
|
|
474
|
+
// gap and section 18.2 deliverable 8 assigned to session 2. It stopped being
|
|
475
|
+
// theoretical once rules and policies started declaring typed attributes with
|
|
476
|
+
// defaults. SysIDE is the compiler of record, so the grammar follows it.
|
|
411
477
|
|
|
412
478
|
AttributeMember:
|
|
413
479
|
'attribute' redefines?=('redefines' | ':>>')? name=MemberName
|
|
414
|
-
(':' type=QualifiedName multiplicity=Multiplicity?
|
|
415
|
-
|
|
480
|
+
(':' type=QualifiedName multiplicity=Multiplicity?
|
|
481
|
+
('=' value=AttributeValue ';' | '{' body+=UsageBodyMember* '}' | ';')
|
|
482
|
+
| '=' value=AttributeValue ';'
|
|
483
|
+
| '{' body+=UsageBodyMember* '}');
|
|
416
484
|
|
|
417
485
|
AttributeValue:
|
|
418
486
|
StringValue | RealValue | IntValue | BooleanValue | SetLiteral | EnumValue;
|
|
@@ -443,19 +511,32 @@ EnumValue:
|
|
|
443
511
|
enumRef=QualifiedName;
|
|
444
512
|
|
|
445
513
|
// ─── Nested part member ──────────────────────────────────────────────────────
|
|
446
|
-
//
|
|
514
|
+
// Four forms:
|
|
447
515
|
// part subsystems : Subsystem[0..*]; (typed nested part)
|
|
448
516
|
// part requirement = reqSingleMode; (feature value binding to a reference)
|
|
449
517
|
// part protectedAsset :> therapyAsset; (subsetting an existing element)
|
|
518
|
+
// part vpLogical :> viewpointDefinition = logicalArchitectureViewpoint;
|
|
519
|
+
// (subsetting AND supplying a value)
|
|
450
520
|
// The binding forms carry the source/target ends of semantic *Link instances,
|
|
451
521
|
// which the model builder projects into navigable relationships.
|
|
522
|
+
//
|
|
523
|
+
// The fourth form is how a MULTI-VALUED feature takes several values. Repeating
|
|
524
|
+
// `part :>> viewpointDefinition = x;` redefines the same feature each time and
|
|
525
|
+
// SysIDE rejects it as shadowing, so each value has to subset the feature under
|
|
526
|
+
// its own member name. `viewpointDefinition : Viewpoint[1..*]` is exactly that
|
|
527
|
+
// case: a view governed by three viewpoints needs three members.
|
|
528
|
+
//
|
|
529
|
+
// SysIDE accepts this and the MEMO grammar did not, which is the wrong way
|
|
530
|
+
// round — SysIDE is the compiler of record, so the grammar follows it.
|
|
531
|
+
// `subsetValue` holds the value; `boundRef` keeps meaning the subsetted
|
|
532
|
+
// feature, so every existing `:>` consumer is unaffected.
|
|
452
533
|
|
|
453
534
|
PartMember:
|
|
454
535
|
'part'
|
|
455
536
|
(bindingOp=':>>' name=MemberName ('=' boundRef=QualifiedName)?
|
|
456
537
|
| name=MemberName
|
|
457
538
|
(':' type=QualifiedName multiplicity=Multiplicity?)?
|
|
458
|
-
(bindingOp=('=' | ':>') boundRef=QualifiedName)?)
|
|
539
|
+
(bindingOp=('=' | ':>') boundRef=QualifiedName ('=' subsetValue=QualifiedName)?)?)
|
|
459
540
|
('{' body+=UsageBodyMember* '}' | ';');
|
|
460
541
|
|
|
461
542
|
// ─── Reference member ───────────────────────────────────────────────────────
|
|
@@ -488,7 +569,7 @@ QualifiedName returns string:
|
|
|
488
569
|
QualifiedNameSegment ('::' QualifiedNameTailSegment)*;
|
|
489
570
|
|
|
490
571
|
QualifiedNameSegment returns string:
|
|
491
|
-
ID | 'library';
|
|
572
|
+
ID | 'library' | 'standard';
|
|
492
573
|
|
|
493
574
|
// Non-first segments may be keywords so enum literals declared via
|
|
494
575
|
// EnumLiteralName (e.g. DirectionKind::in, UseErrorCategoryKind::action)
|
|
@@ -503,14 +584,19 @@ QualifiedNameTailSegment returns string:
|
|
|
503
584
|
| 'use' | 'fork' | 'join';
|
|
504
585
|
|
|
505
586
|
// Allow keywords as identifiers in member/feature contexts
|
|
587
|
+
// `standard` joins these for the same reason the others are here: making it a
|
|
588
|
+
// keyword for `standard library package` would otherwise stop it being a name,
|
|
589
|
+
// and MEMO's compliance ontology declares `attribute standard : String`.
|
|
506
590
|
MemberName returns string:
|
|
507
591
|
ID | 'requirement' | 'action' | 'item' | 'port' | 'interface' | 'connection'
|
|
508
|
-
| 'attribute' | 'constraint' | 'view' | 'viewpoint' | 'ref' | 'part' | 'state' | 'verification'
|
|
592
|
+
| 'attribute' | 'constraint' | 'view' | 'viewpoint' | 'ref' | 'part' | 'state' | 'verification'
|
|
593
|
+
| 'standard';
|
|
509
594
|
|
|
510
595
|
FeatureName returns string:
|
|
511
596
|
ID | 'part' | 'requirement' | 'action' | 'item' | 'port' | 'interface'
|
|
512
597
|
| 'connection' | 'flow' | 'view' | 'viewpoint' | 'attribute' | 'constraint'
|
|
513
|
-
| 'ref' | 'allocate' | 'end' | 'enum' | 'function' | 'operator' | 'state' | 'verification'
|
|
598
|
+
| 'ref' | 'allocate' | 'end' | 'enum' | 'function' | 'operator' | 'state' | 'verification'
|
|
599
|
+
| 'standard';
|
|
514
600
|
|
|
515
601
|
// ─── Hidden terminals (skipped by lexer) ─────────────────────────────────────
|
|
516
602
|
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { OntologyKindInfo } from './ontology-loader.js';
|
|
2
|
-
/** Typed scope extracted from a MethodologyScope part instance. */
|
|
3
|
-
export interface MethodologyScopeInfo {
|
|
4
|
-
id: string;
|
|
5
|
-
scopeName: string;
|
|
6
|
-
includedArchLayers: string[];
|
|
7
|
-
includedStandards: string[];
|
|
8
|
-
includedArtifactKinds: string[];
|
|
9
|
-
includedViewpointTypes: string[];
|
|
10
|
-
excludedKinds: string[];
|
|
11
|
-
}
|
|
12
|
-
/** A minimal part-instance shape, matching MethodologyPart without importing it. */
|
|
13
|
-
interface ScopePartLike {
|
|
14
|
-
attributes: Record<string, unknown>;
|
|
15
|
-
multiAttributes: Record<string, unknown[]>;
|
|
16
|
-
}
|
|
17
|
-
/** Extract typed scope info from a MethodologyScope part instance. */
|
|
18
|
-
export declare function extractScopeInfo(part: ScopePartLike): MethodologyScopeInfo;
|
|
19
|
-
export type DimensionKey = 'archLayer' | 'standard' | 'artifactKind' | 'viewpointType';
|
|
20
|
-
/**
|
|
21
|
-
* Filter ontology kinds by a methodology scope dimension.
|
|
22
|
-
*
|
|
23
|
-
* Returns the subset of `kinds` whose dimension value appears in the scope's
|
|
24
|
-
* included set. If the scope is null or the included set for the dimension is
|
|
25
|
-
* empty, all kinds pass through (methodology does not restrict).
|
|
26
|
-
*/
|
|
27
|
-
export declare function filterKindsByDimension(kinds: OntologyKindInfo[], dimension: DimensionKey, scope: MethodologyScopeInfo | null): OntologyKindInfo[];
|
|
28
|
-
/**
|
|
29
|
-
* Check whether a single kind is excluded by methodology scope.
|
|
30
|
-
*/
|
|
31
|
-
export declare function isKindExcluded(kind: OntologyKindInfo, scope: MethodologyScopeInfo | null): boolean;
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=dimension-filter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dimension-filter.d.ts","sourceRoot":"","sources":["../../src/model/dimension-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,oFAAoF;AACpF,UAAU,aAAa;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CAC9C;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAa1E;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAkBvF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,gBAAgB,EAAE,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,oBAAoB,GAAG,IAAI,GACnC,gBAAgB,EAAE,CAcpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC1B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,oBAAoB,GAAG,IAAI,GACnC,OAAO,CAGT"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/** Extract typed scope info from a MethodologyScope part instance. */
|
|
2
|
-
export function extractScopeInfo(part) {
|
|
3
|
-
const strList = (key) => (part.multiAttributes[key] ?? [])
|
|
4
|
-
.filter((v) => typeof v === 'string' && v !== '');
|
|
5
|
-
return {
|
|
6
|
-
id: String(part.attributes.id ?? ''),
|
|
7
|
-
scopeName: String(part.attributes.scopeName ?? ''),
|
|
8
|
-
includedArchLayers: strList('includedArchLayer'),
|
|
9
|
-
includedStandards: strList('includedStandard'),
|
|
10
|
-
includedArtifactKinds: strList('includedArtifactKind'),
|
|
11
|
-
includedViewpointTypes: strList('includedViewpointType'),
|
|
12
|
-
excludedKinds: strList('excludedKind'),
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
const SCOPE_FIELD = {
|
|
16
|
-
archLayer: 'includedArchLayers',
|
|
17
|
-
standard: 'includedStandards',
|
|
18
|
-
artifactKind: 'includedArtifactKinds',
|
|
19
|
-
viewpointType: 'includedViewpointTypes',
|
|
20
|
-
};
|
|
21
|
-
function kindMatchesDimension(kind, dimension) {
|
|
22
|
-
switch (dimension) {
|
|
23
|
-
case 'archLayer': return kind.layer;
|
|
24
|
-
case 'standard': return kind.standard;
|
|
25
|
-
case 'artifactKind': return kind.name;
|
|
26
|
-
case 'viewpointType': return kind.viewpoints?.[0];
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Filter ontology kinds by a methodology scope dimension.
|
|
31
|
-
*
|
|
32
|
-
* Returns the subset of `kinds` whose dimension value appears in the scope's
|
|
33
|
-
* included set. If the scope is null or the included set for the dimension is
|
|
34
|
-
* empty, all kinds pass through (methodology does not restrict).
|
|
35
|
-
*/
|
|
36
|
-
export function filterKindsByDimension(kinds, dimension, scope) {
|
|
37
|
-
if (!scope)
|
|
38
|
-
return kinds;
|
|
39
|
-
const field = SCOPE_FIELD[dimension];
|
|
40
|
-
const included = scope[field];
|
|
41
|
-
if (included.length === 0)
|
|
42
|
-
return kinds;
|
|
43
|
-
const includedSet = new Set(included);
|
|
44
|
-
return kinds.filter(kind => {
|
|
45
|
-
const value = kindMatchesDimension(kind, dimension);
|
|
46
|
-
return value !== undefined && includedSet.has(value);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Check whether a single kind is excluded by methodology scope.
|
|
51
|
-
*/
|
|
52
|
-
export function isKindExcluded(kind, scope) {
|
|
53
|
-
if (!scope || scope.excludedKinds.length === 0)
|
|
54
|
-
return false;
|
|
55
|
-
return scope.excludedKinds.includes(kind.name);
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=dimension-filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dimension-filter.js","sourceRoot":"","sources":["../../src/model/dimension-filter.ts"],"names":[],"mappings":"AAmBA,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAChD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAY,EAAE,CACtC,CAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAA0B,IAAI,EAAE,CAAC;SACtD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,OAAO;QACH,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;QAClD,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC;QAChD,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC9C,qBAAqB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACtD,sBAAsB,EAAE,OAAO,CAAC,uBAAuB,CAAC;QACxD,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;KACzC,CAAC;AACN,CAAC;AAID,MAAM,WAAW,GAAqD;IAClE,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,wBAAwB;CAC1C,CAAC;AAEF,SAAS,oBAAoB,CAAC,IAAsB,EAAE,SAAuB;IACzE,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC;QACpC,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtC,KAAK,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;QACtC,KAAK,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAClC,KAAyB,EACzB,SAAuB,EACvB,KAAkC;IAElC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAa,CAAC;IAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC1B,IAAsB,EACtB,KAAkC;IAElC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { MEMOConfig } from './config.js';
|
|
2
|
-
export interface ToolInvocation {
|
|
3
|
-
command: string;
|
|
4
|
-
args: string[];
|
|
5
|
-
provider: 'syside' | 'sysand';
|
|
6
|
-
}
|
|
7
|
-
export declare function buildCompilerInvocation(config: MEMOConfig, projectDir: string, includeDirs?: string[]): ToolInvocation | undefined;
|
|
8
|
-
export declare function buildPackagerInvocation(config: MEMOConfig, projectDir: string, outputPath: string): ToolInvocation | undefined;
|
|
9
|
-
export declare function runToolInvocation(invocation: ToolInvocation, cwd: string): void;
|
|
10
|
-
export declare function compileWithConfiguredTool(config: MEMOConfig, projectDir: string, configPath?: string): 'internal' | 'syside';
|
|
11
|
-
export declare function packageWithConfiguredTool(config: MEMOConfig, projectDir: string, outputPath: string): 'internal' | 'sysand';
|
|
12
|
-
//# sourceMappingURL=toolchain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain.d.ts","sourceRoot":"","sources":["../../src/model/toolchain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAeD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,GAC3B,cAAc,GAAG,SAAS,CAiB5B;AAED,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAe5B;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW/E;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GACpB,UAAU,GAAG,QAAQ,CAQvB;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,UAAU,GAAG,QAAQ,CAQvB"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { homedir } from 'node:os';
|
|
3
|
-
import { isAbsolute, resolve } from 'node:path';
|
|
4
|
-
import { spawnSync } from 'node:child_process';
|
|
5
|
-
import { findOntologyPackageDirs, resolvePackageSysmlDir } from './ontology-loader.js';
|
|
6
|
-
function resolveProjectPath(value, projectDir) {
|
|
7
|
-
if (value === '~')
|
|
8
|
-
return homedir();
|
|
9
|
-
if (value.startsWith('~/'))
|
|
10
|
-
return resolve(homedir(), value.slice(2));
|
|
11
|
-
return isAbsolute(value) ? value : resolve(projectDir, value);
|
|
12
|
-
}
|
|
13
|
-
function resolveExecutable(value, fallback, projectDir) {
|
|
14
|
-
if (!value)
|
|
15
|
-
return fallback;
|
|
16
|
-
return value.includes('/') || value.includes('\\') || value.startsWith('~')
|
|
17
|
-
? resolveProjectPath(value, projectDir)
|
|
18
|
-
: value;
|
|
19
|
-
}
|
|
20
|
-
export function buildCompilerInvocation(config, projectDir, includeDirs = []) {
|
|
21
|
-
const provider = config.toolchain?.compiler ?? 'internal';
|
|
22
|
-
if (provider === 'internal')
|
|
23
|
-
return undefined;
|
|
24
|
-
if (provider !== 'syside') {
|
|
25
|
-
throw new Error(`Unsupported compiler "${String(provider)}". Choose "internal" or "syside".`);
|
|
26
|
-
}
|
|
27
|
-
const tool = config.toolchain?.syside;
|
|
28
|
-
const args = ['check', '--colour', 'no', '--diagnose', tool?.diagnose ?? 'all'];
|
|
29
|
-
if (tool?.configFile)
|
|
30
|
-
args.push('--config', resolveProjectPath(tool.configFile, projectDir));
|
|
31
|
-
if (tool?.warningsAsErrors ?? true)
|
|
32
|
-
args.push('--warnings-as-errors');
|
|
33
|
-
for (const includeDir of [...new Set(includeDirs)])
|
|
34
|
-
args.push('--include', includeDir);
|
|
35
|
-
args.push(projectDir);
|
|
36
|
-
return {
|
|
37
|
-
command: resolveExecutable(tool?.executable, 'syside', projectDir),
|
|
38
|
-
args,
|
|
39
|
-
provider,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export function buildPackagerInvocation(config, projectDir, outputPath) {
|
|
43
|
-
const provider = config.toolchain?.packager ?? 'internal';
|
|
44
|
-
if (provider === 'internal')
|
|
45
|
-
return undefined;
|
|
46
|
-
if (provider !== 'sysand') {
|
|
47
|
-
throw new Error(`Unsupported packager "${String(provider)}". Choose "internal" or "sysand".`);
|
|
48
|
-
}
|
|
49
|
-
const tool = config.toolchain?.sysand;
|
|
50
|
-
const args = [];
|
|
51
|
-
if (tool?.configFile)
|
|
52
|
-
args.push('--config-file', resolveProjectPath(tool.configFile, projectDir));
|
|
53
|
-
args.push('build', outputPath);
|
|
54
|
-
return {
|
|
55
|
-
command: resolveExecutable(tool?.executable, 'sysand', projectDir),
|
|
56
|
-
args,
|
|
57
|
-
provider,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export function runToolInvocation(invocation, cwd) {
|
|
61
|
-
const result = spawnSync(invocation.command, invocation.args, { cwd, stdio: 'inherit' });
|
|
62
|
-
if (result.error) {
|
|
63
|
-
const hint = result.error.message.includes('ENOENT')
|
|
64
|
-
? ` Configure toolchain.${invocation.provider}.executable or add it to PATH.`
|
|
65
|
-
: '';
|
|
66
|
-
throw new Error(`Could not run ${invocation.provider}: ${result.error.message}.${hint}`);
|
|
67
|
-
}
|
|
68
|
-
if (result.status !== 0) {
|
|
69
|
-
throw new Error(`${invocation.provider} exited with status ${result.status ?? 'unknown'}.`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export function compileWithConfiguredTool(config, projectDir, configPath) {
|
|
73
|
-
const includeDirs = configPath
|
|
74
|
-
? findOntologyPackageDirs(configPath).map(resolvePackageSysmlDir)
|
|
75
|
-
: [];
|
|
76
|
-
const invocation = buildCompilerInvocation(config, projectDir, includeDirs);
|
|
77
|
-
if (!invocation)
|
|
78
|
-
return 'internal';
|
|
79
|
-
runToolInvocation(invocation, projectDir);
|
|
80
|
-
return 'syside';
|
|
81
|
-
}
|
|
82
|
-
export function packageWithConfiguredTool(config, projectDir, outputPath) {
|
|
83
|
-
const invocation = buildPackagerInvocation(config, projectDir, outputPath);
|
|
84
|
-
if (!invocation)
|
|
85
|
-
return 'internal';
|
|
86
|
-
runToolInvocation(invocation, projectDir);
|
|
87
|
-
if (!existsSync(outputPath)) {
|
|
88
|
-
throw new Error(`${invocation.provider} completed but did not create ${outputPath}.`);
|
|
89
|
-
}
|
|
90
|
-
return 'sysand';
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=toolchain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../src/model/toolchain.ts"],"names":[],"mappings":"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"}
|