@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,203 +1,206 @@
|
|
|
1
|
-
// ─── Methodology
|
|
1
|
+
// ─── Methodology Descriptor ───────────────────────────────────────────────────
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
// a typed MethodologyDescriptor. Methodology in MEMO = a curated bundle that
|
|
5
|
-
// selects from the architecture/viewpoints/views/compliance ontologies and adds
|
|
6
|
-
// rules / gates / patterns / workflow / profile metadata.
|
|
3
|
+
// The methodology content a project resolved, as a DTO the server can publish.
|
|
7
4
|
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
// ...
|
|
15
|
-
// }
|
|
5
|
+
// Two things changed at the native flip. The scan is an AST walk over the
|
|
6
|
+
// documents the native resolver already parsed, not a regex pass over whatever
|
|
7
|
+
// `.sysml` files sat under a `methodology/` directory — a folder convention is
|
|
8
|
+
// not a selection mechanism. And the descriptor now carries the *effective*
|
|
9
|
+
// methodology and rule set, so a client can show the inheritance and policy
|
|
10
|
+
// chain rather than re-deriving it from raw parts.
|
|
16
11
|
//
|
|
17
|
-
//
|
|
18
|
-
// parseConstructsInFile) and is independent of the Langium grammar so that
|
|
19
|
-
// methodology files load even while grammar work is in flight.
|
|
12
|
+
// Design reference: sections 9.1, 10.3, 15.2 deliverables 4-5.
|
|
20
13
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
// ───
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
value
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
value = short;
|
|
46
|
-
attrs[`${key}__qualified`] = qualified;
|
|
14
|
+
import { basename, relative } from 'node:path';
|
|
15
|
+
import { resolveNativeProject, } from './native-project.js';
|
|
16
|
+
import { resolveEffectiveMethodology, } from './methodology-resolver.js';
|
|
17
|
+
// ─── AST reading ──────────────────────────────────────────────────────────────
|
|
18
|
+
function literal(value) {
|
|
19
|
+
if (!value)
|
|
20
|
+
return undefined;
|
|
21
|
+
switch (value.$type) {
|
|
22
|
+
case 'StringValue':
|
|
23
|
+
try {
|
|
24
|
+
return JSON.parse(value.value ?? '""');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return String(value.value ?? '').replace(/^"|"$/g, '');
|
|
28
|
+
}
|
|
29
|
+
case 'IntValue':
|
|
30
|
+
case 'RealValue':
|
|
31
|
+
return Number(value.value);
|
|
32
|
+
case 'BooleanValue':
|
|
33
|
+
return value.value === 'true' || value.value === true;
|
|
34
|
+
case 'EnumValue': {
|
|
35
|
+
const ref = value.enumRef ?? '';
|
|
36
|
+
const idx = ref.lastIndexOf('::');
|
|
37
|
+
return idx >= 0 ? ref.slice(idx + 2) : ref;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
default:
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function readBody(body) {
|
|
44
|
+
const attributes = {};
|
|
45
|
+
const multiAttributes = {};
|
|
46
|
+
const push = (key, v) => {
|
|
47
|
+
(multiAttributes[key] ??= []).push(v);
|
|
48
|
+
attributes[key] = v;
|
|
49
|
+
};
|
|
50
|
+
for (const member of body ?? []) {
|
|
51
|
+
if (member.$type !== 'AttributeMember' || !member.name || !member.value)
|
|
52
|
+
continue;
|
|
53
|
+
if (member.value.$type === 'SetLiteral') {
|
|
54
|
+
for (const el of member.value.elements ?? []) {
|
|
55
|
+
const raw = el.stringValue ?? el.value;
|
|
56
|
+
if (typeof raw !== 'string')
|
|
57
|
+
continue;
|
|
58
|
+
try {
|
|
59
|
+
push(member.name, JSON.parse(raw));
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
push(member.name, raw.replace(/^"|"$/g, ''));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
|
-
else if (
|
|
52
|
-
|
|
66
|
+
else if (member.value.$type === 'EnumValue') {
|
|
67
|
+
const ref = member.value.enumRef ?? '';
|
|
68
|
+
const v = literal(member.value);
|
|
69
|
+
if (v !== undefined)
|
|
70
|
+
push(member.name, v);
|
|
71
|
+
attributes[`${member.name}__qualified`] = ref;
|
|
53
72
|
}
|
|
54
73
|
else {
|
|
55
|
-
|
|
74
|
+
const v = literal(member.value);
|
|
75
|
+
if (v !== undefined)
|
|
76
|
+
push(member.name, v);
|
|
56
77
|
}
|
|
57
|
-
if (!multi[key])
|
|
58
|
-
multi[key] = [];
|
|
59
|
-
multi[key].push(value);
|
|
60
|
-
attrs[key] = value;
|
|
61
78
|
}
|
|
62
|
-
return {
|
|
79
|
+
return { attributes, multiAttributes };
|
|
63
80
|
}
|
|
64
|
-
function
|
|
81
|
+
function shortName(qualified) {
|
|
82
|
+
if (!qualified)
|
|
83
|
+
return undefined;
|
|
84
|
+
const idx = qualified.lastIndexOf('::');
|
|
85
|
+
return idx >= 0 ? qualified.slice(idx + 2) : qualified;
|
|
86
|
+
}
|
|
87
|
+
function walkDocument(doc, projectRoot) {
|
|
65
88
|
const partDefs = [];
|
|
66
89
|
const parts = [];
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
namespace,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return { partDefs, parts, namespace };
|
|
106
|
-
}
|
|
107
|
-
function listSysmlFiles(dir) {
|
|
108
|
-
const files = [];
|
|
109
|
-
try {
|
|
110
|
-
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
111
|
-
const full = join(dir, entry.name);
|
|
112
|
-
if (entry.isDirectory()) {
|
|
113
|
-
files.push(...listSysmlFiles(full));
|
|
114
|
-
}
|
|
115
|
-
else if (entry.name.endsWith('.sysml') && entry.name !== 'index.sysml') {
|
|
116
|
-
files.push(full);
|
|
90
|
+
const namespaces = [];
|
|
91
|
+
const model = doc.document.parseResult?.value;
|
|
92
|
+
if (!model)
|
|
93
|
+
return { partDefs, parts, namespaces };
|
|
94
|
+
const sourceFile = relative(projectRoot, doc.filePath) || basename(doc.filePath);
|
|
95
|
+
const visit = (node, ns) => {
|
|
96
|
+
if (!node)
|
|
97
|
+
return;
|
|
98
|
+
if (node.$type === 'PackageDeclaration') {
|
|
99
|
+
if (node.name && !namespaces.includes(node.name))
|
|
100
|
+
namespaces.push(node.name);
|
|
101
|
+
for (const m of node.members ?? [])
|
|
102
|
+
visit(m, node.name ?? ns);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (node.$type === 'PartDefinition') {
|
|
106
|
+
partDefs.push({
|
|
107
|
+
name: node.name,
|
|
108
|
+
superType: shortName(node.specialization?.superType),
|
|
109
|
+
sourceFile,
|
|
110
|
+
namespace: ns,
|
|
111
|
+
});
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// `action` usages carry workflow steps, so they are read alongside parts.
|
|
115
|
+
if (node.$type === 'PartUsage' || node.$type === 'PartMember' || node.$type === 'ActionUsage') {
|
|
116
|
+
const partType = shortName(node.type);
|
|
117
|
+
if (partType && node.name) {
|
|
118
|
+
parts.push({
|
|
119
|
+
partName: node.name,
|
|
120
|
+
partType,
|
|
121
|
+
...readBody(node.body ?? node.usageBody ?? []),
|
|
122
|
+
sourceFile,
|
|
123
|
+
namespace: ns,
|
|
124
|
+
});
|
|
117
125
|
}
|
|
126
|
+
for (const m of node.body ?? [])
|
|
127
|
+
visit(m, ns);
|
|
118
128
|
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
129
|
+
};
|
|
130
|
+
for (const member of model.members ?? [])
|
|
131
|
+
visit(member);
|
|
132
|
+
return { partDefs, parts, namespaces };
|
|
122
133
|
}
|
|
123
|
-
export { extractScopeInfo } from './dimension-filter.js';
|
|
124
134
|
/**
|
|
125
|
-
*
|
|
135
|
+
* Build the methodology descriptor for a project.
|
|
126
136
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
137
|
+
* A source unit appears here when it supplies methodology content the project
|
|
138
|
+
* resolved — that is, when a package in the import closure declares a
|
|
139
|
+
* methodology part. Discovery is not "a directory called `methodology/`":
|
|
140
|
+
* that convention meant a package could ship methodology content the project
|
|
141
|
+
* never imported and have it load anyway.
|
|
130
142
|
*/
|
|
131
|
-
export async function loadMethodologyDescriptor(
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
for (const
|
|
143
|
-
|
|
143
|
+
export async function loadMethodologyDescriptor(projectRoot, resolution) {
|
|
144
|
+
const resolved = resolution ?? await resolveNativeProject(projectRoot);
|
|
145
|
+
const errors = resolved.diagnostics.map(d => `${d.code}: ${d.message}`);
|
|
146
|
+
const METHODOLOGY_TYPES = new Set([
|
|
147
|
+
'MethodologyLibrary', 'MethodologyDefinition', 'ProjectMethodBinding', 'RulePolicy',
|
|
148
|
+
'ElementUsageRule', 'RelationUsageRule', 'ModelingPattern', 'MethodologyWorkflowStep',
|
|
149
|
+
'QualityGate', 'DhfDocumentBinding', 'Archetype', 'ResolvedMethodology',
|
|
150
|
+
]);
|
|
151
|
+
const byRoot = new Map();
|
|
152
|
+
const fileToPackage = new Map();
|
|
153
|
+
for (const pkg of resolved.closure.values()) {
|
|
154
|
+
for (const file of pkg.files)
|
|
155
|
+
fileToPackage.set(file, pkg.qualifiedName);
|
|
144
156
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
catch (e) {
|
|
155
|
-
errors.push(`methodology: failed to scan installed packages (${e instanceof Error ? e.message : e})`);
|
|
156
|
-
}
|
|
157
|
-
for (const pkgDir of pkgDirs) {
|
|
158
|
-
const sysmlDir = resolvePackageSysmlDir(pkgDir);
|
|
159
|
-
const methodologyRoot = join(sysmlDir, 'methodology');
|
|
160
|
-
if (!existsSync(methodologyRoot))
|
|
157
|
+
for (const doc of resolved.documents) {
|
|
158
|
+
const pkgName = fileToPackage.get(doc.filePath);
|
|
159
|
+
if (!pkgName)
|
|
160
|
+
continue; // outside the import closure
|
|
161
|
+
const pkg = resolved.closure.get(pkgName);
|
|
162
|
+
const { partDefs, parts, namespaces } = walkDocument(doc, resolved.projectRoot);
|
|
163
|
+
const relevant = parts.filter(p => METHODOLOGY_TYPES.has(p.partType));
|
|
164
|
+
if (relevant.length === 0 && partDefs.length === 0)
|
|
161
165
|
continue;
|
|
162
|
-
|
|
163
|
-
try {
|
|
164
|
-
entries = readdirSync(methodologyRoot, { withFileTypes: true })
|
|
165
|
-
.filter(e => e.isDirectory())
|
|
166
|
-
.map(e => e.name);
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
166
|
+
if (relevant.length === 0)
|
|
169
167
|
continue;
|
|
168
|
+
const key = pkg?.root?.dir ?? resolved.projectRoot;
|
|
169
|
+
let folder = byRoot.get(key);
|
|
170
|
+
if (!folder) {
|
|
171
|
+
folder = {
|
|
172
|
+
name: pkg?.root?.packageName ?? basename(resolved.projectRoot),
|
|
173
|
+
rootDir: key,
|
|
174
|
+
sourceFiles: [],
|
|
175
|
+
namespaces: [],
|
|
176
|
+
partDefs: [],
|
|
177
|
+
parts: {},
|
|
178
|
+
};
|
|
179
|
+
byRoot.set(key, folder);
|
|
170
180
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
for (const file of sysmlFiles) {
|
|
181
|
-
const { partDefs: pds, parts, namespace } = parseMethodologyFile(file, root);
|
|
182
|
-
if (namespace)
|
|
183
|
-
namespaceSet.add(namespace);
|
|
184
|
-
partDefs.push(...pds);
|
|
185
|
-
for (const part of parts) {
|
|
186
|
-
if (!partsByType[part.partType])
|
|
187
|
-
partsByType[part.partType] = [];
|
|
188
|
-
partsByType[part.partType].push(part);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
folders.push({
|
|
192
|
-
name,
|
|
193
|
-
rootDir: folderDir,
|
|
194
|
-
sourceFiles: sysmlFiles.map(f => relative(root, f) || basename(f)),
|
|
195
|
-
namespaces: [...namespaceSet].sort(),
|
|
196
|
-
partDefs,
|
|
197
|
-
parts: partsByType,
|
|
198
|
-
});
|
|
181
|
+
const rel = relative(resolved.projectRoot, doc.filePath) || basename(doc.filePath);
|
|
182
|
+
if (!folder.sourceFiles.includes(rel))
|
|
183
|
+
folder.sourceFiles.push(rel);
|
|
184
|
+
for (const ns of namespaces)
|
|
185
|
+
if (!folder.namespaces.includes(ns))
|
|
186
|
+
folder.namespaces.push(ns);
|
|
187
|
+
folder.partDefs.push(...partDefs);
|
|
188
|
+
for (const part of relevant) {
|
|
189
|
+
(folder.parts[part.partType] ??= []).push(part);
|
|
199
190
|
}
|
|
200
191
|
}
|
|
201
|
-
|
|
192
|
+
for (const folder of byRoot.values()) {
|
|
193
|
+
folder.namespaces.sort();
|
|
194
|
+
folder.sourceFiles.sort();
|
|
195
|
+
}
|
|
196
|
+
const effective = resolveEffectiveMethodology(resolved.binding, resolved.methodologies, new Set(resolved.filePackages.values()));
|
|
197
|
+
for (const d of effective.diagnostics)
|
|
198
|
+
errors.push(`${d.code}: ${d.message}`);
|
|
199
|
+
return {
|
|
200
|
+
folders: [...byRoot.values()],
|
|
201
|
+
errors,
|
|
202
|
+
effective,
|
|
203
|
+
available: [...resolved.methodologies.values()],
|
|
204
|
+
};
|
|
202
205
|
}
|
|
203
206
|
//# sourceMappingURL=methodology-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methodology-loader.js","sourceRoot":"","sources":["../../src/model/methodology-loader.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF
|
|
1
|
+
{"version":3,"file":"methodology-loader.js","sourceRoot":"","sources":["../../src/model/methodology-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { NativeMethodBinding, NativeMethodology, NativeRulePolicy, ScopeMode } from './native-project.js';
|
|
2
|
+
import type { CompiledConstraint } from '../validator/constraint-eval.js';
|
|
3
|
+
/** Severity as the ontology and policies spell it. */
|
|
4
|
+
export type RuleSeverity = 'error' | 'warning' | 'info';
|
|
5
|
+
/** How far a rule may be tailored, from the rule's own `tailoring` attribute. */
|
|
6
|
+
export type RuleTailoring = 'invariant' | 'assurance' | 'methodology';
|
|
7
|
+
/** One step in the chain that produced a rule's effective disposition. */
|
|
8
|
+
export interface PolicyChainEntry {
|
|
9
|
+
/** Methodology usage name, or the binding's usage name for a project policy. */
|
|
10
|
+
source: string;
|
|
11
|
+
/** 'methodology' or 'project' — which authority applied it. */
|
|
12
|
+
level: 'methodology' | 'project';
|
|
13
|
+
policy: NativeRulePolicy;
|
|
14
|
+
}
|
|
15
|
+
/** A rule and everything that happened to it. */
|
|
16
|
+
export interface EffectiveRule {
|
|
17
|
+
/** The rule as originally defined. */
|
|
18
|
+
sourceRuleId: string;
|
|
19
|
+
sourceRuleType: string;
|
|
20
|
+
/** The rule that actually evaluates; differs from the source when replaced. */
|
|
21
|
+
activeRuleId: string;
|
|
22
|
+
activeRuleType: string;
|
|
23
|
+
disposition: 'enabled' | 'disabled' | 'replaced';
|
|
24
|
+
/** Severity after any override. */
|
|
25
|
+
effectiveSeverity: RuleSeverity;
|
|
26
|
+
/** Severity as the ontology authored it. */
|
|
27
|
+
declaredSeverity: RuleSeverity;
|
|
28
|
+
tailoring: RuleTailoring;
|
|
29
|
+
/** Every policy that touched this rule, base-first. */
|
|
30
|
+
policyChain: PolicyChainEntry[];
|
|
31
|
+
/** Rationale and authority from the last policy that changed the rule. */
|
|
32
|
+
rationaleText?: string;
|
|
33
|
+
authority?: string;
|
|
34
|
+
approvalReference?: string;
|
|
35
|
+
/** Where the rule is declared. */
|
|
36
|
+
sourceFile?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface RuleResolutionDiagnostic {
|
|
39
|
+
code: 'missing-target' | 'missing-replacement' | 'duplicate-rule-id' | 'invariant-protected' | 'replacement-without-target' | 'missing-rationale' | 'ambiguous-target'
|
|
40
|
+
/** Resolution itself threw. Reported so the UI shows why the set is empty. */
|
|
41
|
+
| 'resolution-failed';
|
|
42
|
+
message: string;
|
|
43
|
+
ruleId?: string;
|
|
44
|
+
policy?: string;
|
|
45
|
+
file?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface MethodologyDiagnostic {
|
|
48
|
+
code: 'missing-base' | 'inheritance-cycle' | 'unavailable-module' | 'scope-mode-conflict';
|
|
49
|
+
message: string;
|
|
50
|
+
methodology?: string;
|
|
51
|
+
}
|
|
52
|
+
/** The methodology chain plus its merged selection. */
|
|
53
|
+
export interface EffectiveMethodology {
|
|
54
|
+
/** Base first, selected methodology last. */
|
|
55
|
+
chain: NativeMethodology[];
|
|
56
|
+
scopeMode: ScopeMode;
|
|
57
|
+
includedLayers: string[];
|
|
58
|
+
includedModules: string[];
|
|
59
|
+
includedStandards: string[];
|
|
60
|
+
includedArtifactKinds: string[];
|
|
61
|
+
includedViewpoints: string[];
|
|
62
|
+
/** Policies in application order: base methodology first, project binding last. */
|
|
63
|
+
policyChain: PolicyChainEntry[];
|
|
64
|
+
diagnostics: MethodologyDiagnostic[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Walk the methodology inheritance chain and merge its selection.
|
|
68
|
+
*
|
|
69
|
+
* Exactly one base per methodology, so the chain is a list. The resolver walks
|
|
70
|
+
* base-first and then applies the child, which is also the order policies are
|
|
71
|
+
* applied in: a child methodology may tailor what its base decided, and the
|
|
72
|
+
* project binding gets the last word.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveEffectiveMethodology(binding: NativeMethodBinding | undefined, methodologies: Map<string, NativeMethodology>, availablePackages: ReadonlySet<string>): EffectiveMethodology;
|
|
75
|
+
/** A rule as the constraint loader found it, plus the metadata policies need. */
|
|
76
|
+
export interface RuleCandidate {
|
|
77
|
+
/** Stable rule ID, e.g. "CR-MED-040". Durable identity for audit records. */
|
|
78
|
+
id: string;
|
|
79
|
+
/** The `constraint def` name, which is what a policy references. */
|
|
80
|
+
typeName: string;
|
|
81
|
+
severity: RuleSeverity;
|
|
82
|
+
tailoring: RuleTailoring;
|
|
83
|
+
file?: string;
|
|
84
|
+
constraint?: CompiledConstraint;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Map compiled native constraints onto rule candidates.
|
|
88
|
+
*
|
|
89
|
+
* One place, because both `memo rules` and the dev server need it and they got
|
|
90
|
+
* the field names wrong independently — `collectNativeConstraints` returns
|
|
91
|
+
* `id`/`typeName`/`sourceFile`, not `ruleId`/`ruleType`/`file`. A rule whose
|
|
92
|
+
* identity does not survive this mapping resolves as `undefined` and is
|
|
93
|
+
* unauditable, which is the opposite of what section 10.4 asks for.
|
|
94
|
+
*
|
|
95
|
+
* A constraint with no `typeName` is skipped: a policy references a rule by its
|
|
96
|
+
* `constraint def` name, so a rule without one cannot be tailored and does not
|
|
97
|
+
* belong in a set whose purpose is recording tailoring decisions.
|
|
98
|
+
*/
|
|
99
|
+
export declare function ruleCandidatesFromConstraints(constraints: readonly CompiledConstraint[]): RuleCandidate[];
|
|
100
|
+
export interface EffectiveRuleSet {
|
|
101
|
+
rules: EffectiveRule[];
|
|
102
|
+
diagnostics: RuleResolutionDiagnostic[];
|
|
103
|
+
/** The constraints that should actually be evaluated, in rule-ID order. */
|
|
104
|
+
activeConstraints: CompiledConstraint[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Produce the effective rule set.
|
|
108
|
+
*
|
|
109
|
+
* Steps 1-3 of section 10.3 (collecting rules from ontology, extension, and
|
|
110
|
+
* methodology packages) happen upstream: `collectNativeConstraints` walks the
|
|
111
|
+
* resolved closure, which is exactly the set of packages those steps describe.
|
|
112
|
+
* This function is steps 4-9 — apply policies base-first, validate, and emit.
|
|
113
|
+
*/
|
|
114
|
+
export declare function resolveEffectiveRules(candidates: RuleCandidate[], policyChain: PolicyChainEntry[]): EffectiveRuleSet;
|
|
115
|
+
//# sourceMappingURL=methodology-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodology-resolver.d.ts","sourceRoot":"","sources":["../../src/model/methodology-resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAExD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAEtE,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC7B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC1B,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,mCAAmC;IACnC,iBAAiB,EAAE,YAAY,CAAC;IAChC,4CAA4C;IAC5C,gBAAgB,EAAE,YAAY,CAAC;IAC/B,SAAS,EAAE,aAAa,CAAC;IACzB,uDAAuD;IACvD,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACrC,IAAI,EACE,gBAAgB,GAChB,qBAAqB,GACrB,mBAAmB,GACnB,qBAAqB,GACrB,4BAA4B,GAC5B,mBAAmB,GACnB,kBAAkB;IACpB,8EAA8E;OAC5E,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACjC,6CAA6C;IAC7C,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mFAAmF;IACnF,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,mBAAmB,GAAG,SAAS,EACxC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC7C,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,oBAAoB,CA0GtB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC1B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CACzC,WAAW,EAAE,SAAS,kBAAkB,EAAE,GAC3C,aAAa,EAAE,CAcjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxC,2EAA2E;IAC3E,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,aAAa,EAAE,EAC3B,WAAW,EAAE,gBAAgB,EAAE,GAChC,gBAAgB,CAwKlB"}
|