@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
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
// ─── Short ID generation for MEMO elements ───────────────────────────────────
|
|
2
2
|
//
|
|
3
|
-
// Generates stable, human-readable short IDs in the form {
|
|
4
|
-
// e.g. "
|
|
3
|
+
// Generates stable, human-readable short IDs in the form {PREFIX}-{SEQ},
|
|
4
|
+
// where PREFIX is exactly three alphabetic characters, e.g. "REQ-1",
|
|
5
|
+
// "HZD-2", "OPR-3".
|
|
5
6
|
//
|
|
6
|
-
// The prefix is derived deterministically from the kind name
|
|
7
|
-
//
|
|
8
|
-
// rebuilds as long as the element name in the source file doesn't change.
|
|
7
|
+
// The prefix is derived deterministically from the kind name. The sequence
|
|
8
|
+
// number starts at 1 and increments within its prefix family.
|
|
9
9
|
//
|
|
10
|
-
// URL family
|
|
11
|
-
// This determines the grouping in /catalog/:family/ routes.
|
|
10
|
+
// URL family is the three-letter prefix.
|
|
12
11
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
13
12
|
/**
|
|
14
13
|
* Well-known overrides for common medical-device kinds.
|
|
@@ -41,13 +40,20 @@ const KIND_PREFIX_OVERRIDES = {
|
|
|
41
40
|
Module: 'MOD',
|
|
42
41
|
Interface: 'IF',
|
|
43
42
|
Port: 'PORT',
|
|
43
|
+
// User interface
|
|
44
|
+
UIElement: 'UIE',
|
|
44
45
|
// Actions / behavior
|
|
45
46
|
Action: 'ACT',
|
|
46
47
|
ActionDefinition: 'ACT-DEF',
|
|
47
48
|
UseCase: 'UC',
|
|
49
|
+
Workflow: 'WFL',
|
|
50
|
+
OperationalWorkflow: 'WFL',
|
|
48
51
|
// Operational
|
|
49
52
|
Stakeholder: 'STK',
|
|
50
|
-
OperationalScenario: '
|
|
53
|
+
OperationalScenario: 'SCN',
|
|
54
|
+
OperativeScenario: 'SCN',
|
|
55
|
+
FunctionalScenario: 'SCN',
|
|
56
|
+
UiScenario: 'SCN',
|
|
51
57
|
Mission: 'MSNS',
|
|
52
58
|
Capability: 'CAP',
|
|
53
59
|
// Compliance / DHF
|
|
@@ -89,32 +95,35 @@ function derivePrefix(kind) {
|
|
|
89
95
|
return words.map(abbreviateWord).join('-');
|
|
90
96
|
}
|
|
91
97
|
/**
|
|
92
|
-
* Get the
|
|
93
|
-
*
|
|
98
|
+
* Get the three-letter display prefix for an element kind. Multi-word type
|
|
99
|
+
* names intentionally use one shared family (OperationalWorkflow → OPR),
|
|
100
|
+
* leaving the numeric sequence to provide uniqueness.
|
|
94
101
|
*/
|
|
95
102
|
export function kindToPrefix(kind) {
|
|
96
|
-
|
|
103
|
+
const configured = KIND_PREFIX_OVERRIDES[kind]?.split('-')[0];
|
|
104
|
+
const derived = derivePrefix(kind).split('-')[0];
|
|
105
|
+
const candidate = configured?.length === 3 ? configured : derived;
|
|
106
|
+
return candidate.replace(/[^A-Za-z]/g, '').toUpperCase().padEnd(3, 'X').slice(0, 3);
|
|
97
107
|
}
|
|
98
108
|
/**
|
|
99
109
|
* The URL family segment — first hyphen-separated token of the prefix.
|
|
100
|
-
* e.g. "
|
|
110
|
+
* e.g. "REQ" → "REQ", "HZD" → "HZD", "OPR" → "OPR"
|
|
101
111
|
*/
|
|
102
112
|
export function prefixToFamily(prefix) {
|
|
103
113
|
return prefix.split('-')[0];
|
|
104
114
|
}
|
|
105
115
|
/**
|
|
106
|
-
* Assign sequential short IDs to a group of elements
|
|
116
|
+
* Assign sequential short IDs to a group of elements sharing one prefix.
|
|
107
117
|
*
|
|
108
118
|
* Elements are sorted by their SysML id (lexicographic) for a deterministic,
|
|
109
119
|
* stable order — adding a new element appends it at its sort position, and
|
|
110
120
|
* deleting one does not renumber the survivors.
|
|
111
121
|
*
|
|
112
|
-
* Format: {
|
|
122
|
+
* Format: {PREFIX}-{n} e.g. "HZD-1", "HZD-2", "OPR-1", "OPR-2"
|
|
113
123
|
*
|
|
114
124
|
* Returns a Map from element id → shortId.
|
|
115
125
|
*/
|
|
116
|
-
export function assignSequentialShortIds(
|
|
117
|
-
const prefix = kindToPrefix(kind);
|
|
126
|
+
export function assignSequentialShortIds(prefix, elementIds) {
|
|
118
127
|
const sorted = [...elementIds].sort((a, b) => a.localeCompare(b));
|
|
119
128
|
const out = new Map();
|
|
120
129
|
for (let i = 0; i < sorted.length; i++) {
|
|
@@ -124,7 +133,7 @@ export function assignSequentialShortIds(kind, elementIds) {
|
|
|
124
133
|
}
|
|
125
134
|
/**
|
|
126
135
|
* Parse a shortId back to its prefix and sequence number.
|
|
127
|
-
* e.g. "
|
|
136
|
+
* e.g. "OPR-3" → { prefix: "OPR", seq: 3 }
|
|
128
137
|
* Returns null if the format is unrecognised.
|
|
129
138
|
*/
|
|
130
139
|
export function parseShortId(shortId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-graph.d.ts","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,oDAAoD;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,CA2CzE;
|
|
1
|
+
{"version":3,"file":"source-graph.d.ts","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,oDAAoD;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,CA2CzE;AA2CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,EACtD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACxE,KAAK,EAAE,WAAW,GACnB,MAAM,EAAE,CAiBV;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAMnE;AAcD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -75,13 +75,15 @@ export function buildSourceGraph(documents) {
|
|
|
75
75
|
*/
|
|
76
76
|
function resolveImportFiles(packageName, packageFiles) {
|
|
77
77
|
const files = new Set();
|
|
78
|
+
if (!packageName)
|
|
79
|
+
return files;
|
|
78
80
|
const exact = packageFiles.get(packageName);
|
|
79
81
|
if (exact)
|
|
80
82
|
for (const file of exact)
|
|
81
83
|
files.add(file);
|
|
82
84
|
const prefix = `${packageName}::`;
|
|
83
85
|
for (const [name, owners] of packageFiles) {
|
|
84
|
-
if (name.startsWith(prefix)) {
|
|
86
|
+
if (name && name.startsWith(prefix)) {
|
|
85
87
|
for (const file of owners)
|
|
86
88
|
files.add(file);
|
|
87
89
|
}
|
|
@@ -141,6 +143,8 @@ export function sourceGraphToDTO(graph) {
|
|
|
141
143
|
return { dependsOn };
|
|
142
144
|
}
|
|
143
145
|
function addTo(index, key, value) {
|
|
146
|
+
if (!key)
|
|
147
|
+
return;
|
|
144
148
|
let bucket = index.get(key);
|
|
145
149
|
if (!bucket) {
|
|
146
150
|
bucket = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-graph.js","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,eAAe;AACf,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,sCAAsC;AACtC,gFAAgF;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAYxD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA2B;IACxD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEvC,2EAA2E;IAC3E,gDAAgD;IAChD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,mEAAmE;IACnE,kCAAkC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC1E,IAAI,MAAM,KAAK,IAAI;oBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IACD,sEAAsE;IACtE,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE;QAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC/D,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACvB,WAAmB,EACnB,YAAsC;IAEtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,KAAK;QAAE,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"source-graph.js","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authority category of a source unit.
|
|
3
|
+
*
|
|
4
|
+
* `memo-core` is listed by the design as distinct from `ontology`, but core
|
|
5
|
+
* currently ships INSIDE the ontology package rather than as its own resolved
|
|
6
|
+
* artifact. Origin is assigned from roots, so core is reported as `ontology`
|
|
7
|
+
* until it is separately resolvable — inferring it from the `memo::core::`
|
|
8
|
+
* package prefix would be exactly the path/name heuristic this module exists to
|
|
9
|
+
* avoid. The variant stays in the union so that the split needs no DTO change.
|
|
10
|
+
*/
|
|
11
|
+
export type SemanticOrigin = 'standard-library' | 'memo-core' | 'ontology' | 'extension' | 'methodology' | 'project';
|
|
12
|
+
/** Provenance of one source file. */
|
|
13
|
+
export interface SourceProvenance {
|
|
14
|
+
origin: SemanticOrigin;
|
|
15
|
+
/** Package name from the manifest, e.g. "@memoarchitect/ontology". */
|
|
16
|
+
packageName: string;
|
|
17
|
+
/** Declared SysML package qualified name, when the file declares one. */
|
|
18
|
+
packageQualifiedName?: string;
|
|
19
|
+
packageVersion?: string;
|
|
20
|
+
/** Absolute path of the file. */
|
|
21
|
+
sourceUri: string;
|
|
22
|
+
/** Path relative to the root that owns it — stable across checkouts. */
|
|
23
|
+
sourceFile: string;
|
|
24
|
+
/** Content hash, populated only where a caller needs change detection. */
|
|
25
|
+
sourceHash?: string;
|
|
26
|
+
/** False for anything under a resolved dependency root. */
|
|
27
|
+
writable: boolean;
|
|
28
|
+
/** Distance from the project in the resolved dependency graph; project is 0. */
|
|
29
|
+
importDepth: number;
|
|
30
|
+
importedBy?: string[];
|
|
31
|
+
/** What brought this root into the graph (methodology id, module name, …). */
|
|
32
|
+
selectedBy?: string;
|
|
33
|
+
}
|
|
34
|
+
/** A resolved dependency root: one package directory and what it contributes. */
|
|
35
|
+
export interface ResolvedRoot {
|
|
36
|
+
/** Absolute directory of the package. */
|
|
37
|
+
dir: string;
|
|
38
|
+
origin: SemanticOrigin;
|
|
39
|
+
packageName: string;
|
|
40
|
+
packageVersion?: string;
|
|
41
|
+
importDepth: number;
|
|
42
|
+
selectedBy?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Map a package manifest `type:` to an authority category.
|
|
46
|
+
*
|
|
47
|
+
* `profile` is ontology content: it ships definitions that projects specialize,
|
|
48
|
+
* and is frozen for the session exactly as the ontology is. `device` is what a
|
|
49
|
+
* project declares about itself, so a device root is only ever the workspace.
|
|
50
|
+
*/
|
|
51
|
+
export declare function originForPackageType(type: string | undefined): SemanticOrigin;
|
|
52
|
+
/** True when a change to this origin requires a runtime restart (section 13.3). */
|
|
53
|
+
export declare function isReusableOrigin(origin: SemanticOrigin): boolean;
|
|
54
|
+
/** Classify a watched source path from the resolved provenance table. */
|
|
55
|
+
export declare function classifySourceChange(filePath: string, provenance: ProvenanceTable): 'project' | 'reusable' | 'unknown';
|
|
56
|
+
/**
|
|
57
|
+
* Resolves any file path to its provenance.
|
|
58
|
+
*
|
|
59
|
+
* Roots may nest — a project can contain a vendored dependency under
|
|
60
|
+
* `node_modules/` — so the LONGEST matching root wins. A path under no
|
|
61
|
+
* dependency root but under the workspace is project content; a path under
|
|
62
|
+
* neither is reported as unknown rather than guessed at.
|
|
63
|
+
*/
|
|
64
|
+
export declare class ProvenanceTable {
|
|
65
|
+
private readonly roots;
|
|
66
|
+
private readonly projectRoot;
|
|
67
|
+
private readonly cache;
|
|
68
|
+
constructor(projectRoot: string, roots: readonly ResolvedRoot[]);
|
|
69
|
+
/** All dependency roots, longest path first. */
|
|
70
|
+
getRoots(): readonly ResolvedRoot[];
|
|
71
|
+
/**
|
|
72
|
+
* Provenance for one file, or undefined when it belongs to no known root.
|
|
73
|
+
*
|
|
74
|
+
* Undefined is deliberate: a caller that cannot establish origin must say
|
|
75
|
+
* so rather than defaulting to project (which would offer edits on library
|
|
76
|
+
* content) or to ontology (which would hide a real project file).
|
|
77
|
+
*/
|
|
78
|
+
lookup(filePath: string): SourceProvenance | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Provenance for a file that must have one.
|
|
81
|
+
*
|
|
82
|
+
* Falls back to project so that a caller in the middle of building a model
|
|
83
|
+
* is not forced to handle undefined; use `lookup` where the distinction
|
|
84
|
+
* between "project" and "unknown" carries meaning.
|
|
85
|
+
*/
|
|
86
|
+
lookupOrProject(filePath: string): SourceProvenance;
|
|
87
|
+
private compute;
|
|
88
|
+
private projectProvenance;
|
|
89
|
+
}
|
|
90
|
+
/** Identity of a definition, sufficient to name it unambiguously. */
|
|
91
|
+
export interface DefinitionIdentity {
|
|
92
|
+
qualifiedName: string;
|
|
93
|
+
shortName: string;
|
|
94
|
+
stableId?: string;
|
|
95
|
+
provenance?: SourceProvenance;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Provenance of a model element, keeping declaration and classification apart.
|
|
99
|
+
*
|
|
100
|
+
* A project usage typed by an ontology definition is project-owned content that
|
|
101
|
+
* happens to be classified by library content. Collapsing the two is what made
|
|
102
|
+
* Architect label project usages as read-only ontology elements.
|
|
103
|
+
*/
|
|
104
|
+
export interface SemanticElementProvenance {
|
|
105
|
+
/** Source that declares this definition or usage. */
|
|
106
|
+
declaration: SourceProvenance;
|
|
107
|
+
/** Definition that types the usage; absent for an untyped declaration. */
|
|
108
|
+
classifier?: DefinitionIdentity;
|
|
109
|
+
/** Full specialization chain, nearest definition first. */
|
|
110
|
+
classifierChain?: DefinitionIdentity[];
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=source-provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-provenance.d.ts","sourceRoot":"","sources":["../../src/model/source-provenance.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACpB,kBAAkB,GAClB,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEhB,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IACzB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAiB7E;AAOD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAC5B,SAAS,GAAG,UAAU,GAAG,SAAS,CAIpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;gBAE7D,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE;IAQ/D,gDAAgD;IAChD,QAAQ,IAAI,SAAS,YAAY,EAAE;IAInC;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAoBtD;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAKnD,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,iBAAiB;CAU5B;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACtC,qDAAqD;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,2DAA2D;IAC3D,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC1C"}
|
|
@@ -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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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a directory name is tool output or a vendored dependency, and so is
|
|
3
|
+
* never authored project content.
|
|
4
|
+
*
|
|
5
|
+
* Exported for the walkers that collect more than `.sysml` — packaging sweeps a
|
|
6
|
+
* project's manifests and config too — so that one list governs what "not
|
|
7
|
+
* project content" means instead of each collector keeping its own.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isIgnoredDirectory(name: string): boolean;
|
|
1
10
|
/** Every `.sysml` file under `dir`, skipping output and scratch directories. */
|
|
2
11
|
export declare function findSysmlFiles(dir: string): string[];
|
|
3
12
|
//# sourceMappingURL=sysml-files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sysml-files.d.ts","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sysml-files.d.ts","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AA6BA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAeD,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAepD"}
|
|
@@ -12,10 +12,29 @@ import { resolve } from 'node:path';
|
|
|
12
12
|
* `.venv`, `__pycache__`, `dist` and `.sysand` are build/tool output that can
|
|
13
13
|
* hold copies of model files — parsing those reports duplicate elements and
|
|
14
14
|
* phantom errors against files the author does not edit.
|
|
15
|
+
*
|
|
16
|
+
* A Python virtualenv is the sharpest case: SysIDE ships the entire SysML v2
|
|
17
|
+
* standard library inside `site-packages`, so a project with a notebook
|
|
18
|
+
* environment beside its model hands the walker several hundred library files
|
|
19
|
+
* the Langium grammar was never meant to parse. `venv` and `site-packages` are
|
|
20
|
+
* listed alongside `.venv` because `python -m venv venv` is just as common, and
|
|
21
|
+
* a vendored environment can be reached without its root directory in the path.
|
|
15
22
|
*/
|
|
16
23
|
const ALWAYS_SKIP = new Set([
|
|
17
|
-
'node_modules', '
|
|
24
|
+
'node_modules', 'memo_packages', '.memo', '.git', '.sysand',
|
|
25
|
+
'.venv', 'venv', 'site-packages', '__pycache__', 'dist', 'output', '.turbo',
|
|
18
26
|
]);
|
|
27
|
+
/**
|
|
28
|
+
* Whether a directory name is tool output or a vendored dependency, and so is
|
|
29
|
+
* never authored project content.
|
|
30
|
+
*
|
|
31
|
+
* Exported for the walkers that collect more than `.sysml` — packaging sweeps a
|
|
32
|
+
* project's manifests and config too — so that one list governs what "not
|
|
33
|
+
* project content" means instead of each collector keeping its own.
|
|
34
|
+
*/
|
|
35
|
+
export function isIgnoredDirectory(name) {
|
|
36
|
+
return ALWAYS_SKIP.has(name);
|
|
37
|
+
}
|
|
19
38
|
/**
|
|
20
39
|
* Whether to skip a directory during the walk.
|
|
21
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sysml-files.js","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yDAAyD;AACzD,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"sysml-files.js","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yDAAyD;AACzD,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACxB,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;IAC3D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAC9E,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,IAAY;IACxD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,8EAA8E;IAClF,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -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"}
|