@memoarchitect/tools 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -26
- package/corpus/README.md +20 -36
- package/package.json +9 -10
- package/packages/tools/lib/analysis/impact.d.ts +30 -0
- package/packages/tools/lib/analysis/impact.d.ts.map +1 -1
- package/packages/tools/lib/analysis/impact.js +47 -74
- package/packages/tools/lib/analysis/impact.js.map +1 -1
- package/packages/tools/lib/analysis/interfaces-between.d.ts +36 -0
- package/packages/tools/lib/analysis/interfaces-between.d.ts.map +1 -0
- package/packages/tools/lib/analysis/interfaces-between.js +66 -0
- package/packages/tools/lib/analysis/interfaces-between.js.map +1 -0
- package/packages/tools/lib/analysis/suspect-links.d.ts +45 -0
- package/packages/tools/lib/analysis/suspect-links.d.ts.map +1 -0
- package/packages/tools/lib/analysis/suspect-links.js +66 -0
- package/packages/tools/lib/analysis/suspect-links.js.map +1 -0
- package/packages/tools/lib/analysis-starters.d.ts +2 -0
- package/packages/tools/lib/analysis-starters.d.ts.map +1 -1
- package/packages/tools/lib/analysis-starters.js +73 -68
- package/packages/tools/lib/analysis-starters.js.map +1 -1
- package/packages/tools/lib/authoring/outline-identity.d.ts +34 -0
- package/packages/tools/lib/authoring/outline-identity.d.ts.map +1 -0
- package/packages/tools/lib/authoring/outline-identity.js +95 -0
- package/packages/tools/lib/authoring/outline-identity.js.map +1 -0
- package/packages/tools/lib/authoring/outline-source.d.ts +57 -0
- package/packages/tools/lib/authoring/outline-source.d.ts.map +1 -0
- package/packages/tools/lib/authoring/outline-source.js +203 -0
- package/packages/tools/lib/authoring/outline-source.js.map +1 -0
- package/packages/tools/lib/authoring/source-outline.d.ts +82 -0
- package/packages/tools/lib/authoring/source-outline.d.ts.map +1 -0
- package/packages/tools/lib/authoring/source-outline.js +267 -0
- package/packages/tools/lib/authoring/source-outline.js.map +1 -0
- package/packages/tools/lib/bin/memo.js +181 -632
- package/packages/tools/lib/bin/memo.js.map +1 -1
- package/packages/tools/lib/browser/index.d.ts +12 -0
- package/packages/tools/lib/browser/index.d.ts.map +1 -1
- package/packages/tools/lib/browser/index.js +8 -0
- package/packages/tools/lib/browser/index.js.map +1 -1
- package/packages/tools/lib/cli/project-commands.d.ts +3 -0
- package/packages/tools/lib/cli/project-commands.d.ts.map +1 -0
- package/packages/tools/lib/cli/project-commands.js +577 -0
- package/packages/tools/lib/cli/project-commands.js.map +1 -0
- package/packages/tools/lib/commands/ask.d.ts.map +1 -1
- package/packages/tools/lib/commands/ask.js +10 -18
- package/packages/tools/lib/commands/ask.js.map +1 -1
- package/packages/tools/lib/commands/compile.d.ts +18 -0
- package/packages/tools/lib/commands/compile.d.ts.map +1 -0
- package/packages/tools/lib/commands/compile.js +122 -0
- package/packages/tools/lib/commands/compile.js.map +1 -0
- package/packages/tools/lib/commands/convert.js +2 -2
- package/packages/tools/lib/commands/convert.js.map +1 -1
- package/packages/tools/lib/commands/create-package.js +4 -4
- package/packages/tools/lib/commands/create-package.js.map +1 -1
- package/packages/tools/lib/commands/dev.d.ts +20 -2
- package/packages/tools/lib/commands/dev.d.ts.map +1 -1
- package/packages/tools/lib/commands/dev.js +386 -97
- package/packages/tools/lib/commands/dev.js.map +1 -1
- package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-draft.js +7 -16
- package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
- package/packages/tools/lib/commands/dhf-init.js +3 -3
- package/packages/tools/lib/commands/dhf-init.js.map +1 -1
- package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-lint.js +4 -3
- package/packages/tools/lib/commands/dhf-lint.js.map +1 -1
- package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf-preview.js +5 -26
- package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
- package/packages/tools/lib/commands/dhf.d.ts +4 -0
- package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
- package/packages/tools/lib/commands/dhf.js +77 -31
- package/packages/tools/lib/commands/dhf.js.map +1 -1
- package/packages/tools/lib/commands/element.d.ts.map +1 -1
- package/packages/tools/lib/commands/element.js +44 -6
- package/packages/tools/lib/commands/element.js.map +1 -1
- package/packages/tools/lib/commands/export.d.ts +1 -1
- package/packages/tools/lib/commands/export.d.ts.map +1 -1
- package/packages/tools/lib/commands/export.js +25 -18
- package/packages/tools/lib/commands/export.js.map +1 -1
- package/packages/tools/lib/commands/generate.d.ts.map +1 -1
- package/packages/tools/lib/commands/generate.js +10 -30
- package/packages/tools/lib/commands/generate.js.map +1 -1
- package/packages/tools/lib/commands/ids-rebase.d.ts +15 -0
- package/packages/tools/lib/commands/ids-rebase.d.ts.map +1 -0
- package/packages/tools/lib/commands/ids-rebase.js +133 -0
- package/packages/tools/lib/commands/ids-rebase.js.map +1 -0
- package/packages/tools/lib/commands/import-ea.d.ts +3 -3
- package/packages/tools/lib/commands/import-ea.d.ts.map +1 -1
- package/packages/tools/lib/commands/import-ea.js +12 -9
- package/packages/tools/lib/commands/import-ea.js.map +1 -1
- package/packages/tools/lib/commands/import-owl.d.ts +1 -1
- package/packages/tools/lib/commands/import-owl.js +2 -2
- package/packages/tools/lib/commands/import-owl.js.map +1 -1
- package/packages/tools/lib/commands/import-sysand.d.ts +1 -1
- package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -1
- package/packages/tools/lib/commands/import-sysand.js +15 -6
- package/packages/tools/lib/commands/import-sysand.js.map +1 -1
- package/packages/tools/lib/commands/import.d.ts +13 -0
- package/packages/tools/lib/commands/import.d.ts.map +1 -1
- package/packages/tools/lib/commands/import.js +89 -29
- package/packages/tools/lib/commands/import.js.map +1 -1
- package/packages/tools/lib/commands/init.d.ts +0 -8
- package/packages/tools/lib/commands/init.d.ts.map +1 -1
- package/packages/tools/lib/commands/init.js +56 -51
- package/packages/tools/lib/commands/init.js.map +1 -1
- package/packages/tools/lib/commands/inspect.d.ts.map +1 -1
- package/packages/tools/lib/commands/inspect.js +22 -15
- package/packages/tools/lib/commands/inspect.js.map +1 -1
- package/packages/tools/lib/commands/install.d.ts.map +1 -1
- package/packages/tools/lib/commands/install.js +9 -6
- package/packages/tools/lib/commands/install.js.map +1 -1
- package/packages/tools/lib/commands/interfaces.d.ts +8 -0
- package/packages/tools/lib/commands/interfaces.d.ts.map +1 -0
- package/packages/tools/lib/commands/interfaces.js +71 -0
- package/packages/tools/lib/commands/interfaces.js.map +1 -0
- package/packages/tools/lib/commands/lock.d.ts.map +1 -1
- package/packages/tools/lib/commands/lock.js +13 -6
- package/packages/tools/lib/commands/lock.js.map +1 -1
- package/packages/tools/lib/commands/mcp.js +7 -7
- package/packages/tools/lib/commands/mcp.js.map +1 -1
- package/packages/tools/lib/commands/migrate-layout.d.ts +5 -0
- package/packages/tools/lib/commands/migrate-layout.d.ts.map +1 -0
- package/packages/tools/lib/commands/migrate-layout.js +90 -0
- package/packages/tools/lib/commands/migrate-layout.js.map +1 -0
- package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
- package/packages/tools/lib/commands/ontology.js +26 -22
- package/packages/tools/lib/commands/ontology.js.map +1 -1
- package/packages/tools/lib/commands/pack.d.ts.map +1 -1
- package/packages/tools/lib/commands/pack.js +14 -9
- package/packages/tools/lib/commands/pack.js.map +1 -1
- package/packages/tools/lib/commands/pinned-target.d.ts +12 -0
- package/packages/tools/lib/commands/pinned-target.d.ts.map +1 -0
- package/packages/tools/lib/commands/pinned-target.js +74 -0
- package/packages/tools/lib/commands/pinned-target.js.map +1 -0
- package/packages/tools/lib/commands/plugin.d.ts.map +1 -1
- package/packages/tools/lib/commands/plugin.js +13 -22
- package/packages/tools/lib/commands/plugin.js.map +1 -1
- package/packages/tools/lib/commands/prune.d.ts +5 -0
- package/packages/tools/lib/commands/prune.d.ts.map +1 -0
- package/packages/tools/lib/commands/prune.js +27 -0
- package/packages/tools/lib/commands/prune.js.map +1 -0
- package/packages/tools/lib/commands/retired.d.ts +10 -0
- package/packages/tools/lib/commands/retired.d.ts.map +1 -0
- package/packages/tools/lib/commands/retired.js +35 -0
- package/packages/tools/lib/commands/retired.js.map +1 -0
- package/packages/tools/lib/commands/rules.d.ts +49 -5
- package/packages/tools/lib/commands/rules.d.ts.map +1 -1
- package/packages/tools/lib/commands/rules.js +340 -172
- package/packages/tools/lib/commands/rules.js.map +1 -1
- package/packages/tools/lib/commands/ship-library.d.ts +4 -0
- package/packages/tools/lib/commands/ship-library.d.ts.map +1 -0
- package/packages/tools/lib/commands/ship-library.js +45 -0
- package/packages/tools/lib/commands/ship-library.js.map +1 -0
- package/packages/tools/lib/commands/standards.d.ts +2 -2
- package/packages/tools/lib/commands/standards.d.ts.map +1 -1
- package/packages/tools/lib/commands/standards.js +78 -33
- package/packages/tools/lib/commands/standards.js.map +1 -1
- package/packages/tools/lib/commands/sysand-publish.d.ts +16 -1
- package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
- package/packages/tools/lib/commands/sysand-publish.js +75 -193
- package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
- package/packages/tools/lib/commands/toolchain.d.ts +5 -0
- package/packages/tools/lib/commands/toolchain.d.ts.map +1 -1
- package/packages/tools/lib/commands/toolchain.js +50 -1
- package/packages/tools/lib/commands/toolchain.js.map +1 -1
- package/packages/tools/lib/commands/validate-client.d.ts +11 -0
- package/packages/tools/lib/commands/validate-client.d.ts.map +1 -0
- package/packages/tools/lib/commands/validate-client.js +54 -0
- package/packages/tools/lib/commands/validate-client.js.map +1 -0
- package/packages/tools/lib/commands/validate.d.ts +33 -2
- package/packages/tools/lib/commands/validate.d.ts.map +1 -1
- package/packages/tools/lib/commands/validate.js +432 -186
- package/packages/tools/lib/commands/validate.js.map +1 -1
- package/packages/tools/lib/dhf/device-dhf.d.ts +57 -0
- package/packages/tools/lib/dhf/device-dhf.d.ts.map +1 -0
- package/packages/tools/lib/dhf/device-dhf.js +152 -0
- package/packages/tools/lib/dhf/device-dhf.js.map +1 -0
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts +1 -1
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-engine.d.ts +9 -2
- package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-engine.js +29 -25
- package/packages/tools/lib/dhf/query-engine.js.map +1 -1
- package/packages/tools/lib/dhf/query-executor.d.ts +1 -1
- package/packages/tools/lib/dhf/query-executor.js +1 -1
- package/packages/tools/lib/dhf/query-executor.js.map +1 -1
- package/packages/tools/lib/dhf/standards-block.js +1 -1
- package/packages/tools/lib/dhf/standards-block.js.map +1 -1
- package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -1
- package/packages/tools/lib/dhf/standards-library.js +16 -9
- package/packages/tools/lib/dhf/standards-library.js.map +1 -1
- package/packages/tools/lib/dhf/standards-report.d.ts +11 -3
- package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -1
- package/packages/tools/lib/dhf/standards-report.js +43 -13
- package/packages/tools/lib/dhf/standards-report.js.map +1 -1
- package/packages/tools/lib/dhf/template-engine.d.ts +2 -0
- package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -1
- package/packages/tools/lib/dhf/template-engine.js +5 -5
- package/packages/tools/lib/dhf/template-engine.js.map +1 -1
- package/packages/tools/lib/import/import-diff.d.ts +31 -1
- package/packages/tools/lib/import/import-diff.d.ts.map +1 -1
- package/packages/tools/lib/import/import-diff.js +91 -19
- package/packages/tools/lib/import/import-diff.js.map +1 -1
- package/packages/tools/lib/import/import-sources.d.ts +21 -0
- package/packages/tools/lib/import/import-sources.d.ts.map +1 -0
- package/packages/tools/lib/import/import-sources.js +36 -0
- package/packages/tools/lib/import/import-sources.js.map +1 -0
- package/packages/tools/lib/import/reqif.d.ts +23 -0
- package/packages/tools/lib/import/reqif.d.ts.map +1 -0
- package/packages/tools/lib/import/reqif.js +151 -0
- package/packages/tools/lib/import/reqif.js.map +1 -0
- package/packages/tools/lib/import/source-import.d.ts +128 -0
- package/packages/tools/lib/import/source-import.d.ts.map +1 -0
- package/packages/tools/lib/import/source-import.js +305 -0
- package/packages/tools/lib/import/source-import.js.map +1 -0
- package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/cameo-importer.js +4 -1
- package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
- package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/ea-importer.js +4 -1
- package/packages/tools/lib/importer/ea-importer.js.map +1 -1
- package/packages/tools/lib/importer/sysand-importer.d.ts +2 -1
- package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/sysand-importer.js +27 -10
- package/packages/tools/lib/importer/sysand-importer.js.map +1 -1
- package/packages/tools/lib/index.d.ts +20 -6
- package/packages/tools/lib/index.d.ts.map +1 -1
- package/packages/tools/lib/index.js +22 -8
- package/packages/tools/lib/index.js.map +1 -1
- package/packages/tools/lib/llm/draft-engine.js +1 -1
- package/packages/tools/lib/llm/draft-engine.js.map +1 -1
- package/packages/tools/lib/llm/model-context.js +1 -1
- package/packages/tools/lib/llm/model-context.js.map +1 -1
- package/packages/tools/lib/lock.d.ts +37 -2
- package/packages/tools/lib/lock.d.ts.map +1 -1
- package/packages/tools/lib/lock.js +93 -8
- package/packages/tools/lib/lock.js.map +1 -1
- package/packages/tools/lib/mcp/index.js +1 -1
- package/packages/tools/lib/mcp/index.js.map +1 -1
- package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
- package/packages/tools/lib/mcp/model-loader.js +6 -18
- package/packages/tools/lib/mcp/model-loader.js.map +1 -1
- package/packages/tools/lib/mcp/server.js +2 -2
- package/packages/tools/lib/mcp/server.js.map +1 -1
- package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
- package/packages/tools/lib/mcp/tools.js +5 -4
- package/packages/tools/lib/mcp/tools.js.map +1 -1
- package/packages/tools/lib/methodology/guide-service.d.ts +28 -0
- package/packages/tools/lib/methodology/guide-service.d.ts.map +1 -0
- package/packages/tools/lib/methodology/guide-service.js +32 -0
- package/packages/tools/lib/methodology/guide-service.js.map +1 -0
- package/packages/tools/lib/methodology/guide.d.ts +56 -0
- package/packages/tools/lib/methodology/guide.d.ts.map +1 -0
- package/packages/tools/lib/methodology/guide.js +80 -0
- package/packages/tools/lib/methodology/guide.js.map +1 -0
- package/packages/tools/lib/model/census-projects.d.ts +26 -0
- package/packages/tools/lib/model/census-projects.d.ts.map +1 -0
- package/packages/tools/lib/model/census-projects.js +53 -0
- package/packages/tools/lib/model/census-projects.js.map +1 -0
- package/packages/tools/lib/model/census.d.ts +103 -0
- package/packages/tools/lib/model/census.d.ts.map +1 -0
- package/packages/tools/lib/model/census.js +229 -0
- package/packages/tools/lib/model/census.js.map +1 -0
- package/packages/tools/lib/model/complete-model.d.ts +52 -0
- package/packages/tools/lib/model/complete-model.d.ts.map +1 -0
- package/packages/tools/lib/model/complete-model.js +287 -0
- package/packages/tools/lib/model/complete-model.js.map +1 -0
- package/packages/tools/lib/model/config-loader.d.ts +8 -3
- package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/config-loader.js +37 -6
- package/packages/tools/lib/model/config-loader.js.map +1 -1
- package/packages/tools/lib/model/config.d.ts +21 -7
- package/packages/tools/lib/model/config.d.ts.map +1 -1
- package/packages/tools/lib/model/effective-scope.d.ts +55 -28
- package/packages/tools/lib/model/effective-scope.d.ts.map +1 -1
- package/packages/tools/lib/model/effective-scope.js +96 -35
- package/packages/tools/lib/model/effective-scope.js.map +1 -1
- package/packages/tools/lib/model/element-index.d.ts +207 -0
- package/packages/tools/lib/model/element-index.d.ts.map +1 -0
- package/packages/tools/lib/model/element-index.js +316 -0
- package/packages/tools/lib/model/element-index.js.map +1 -0
- package/packages/tools/lib/model/id-rebase.d.ts +35 -0
- package/packages/tools/lib/model/id-rebase.d.ts.map +1 -0
- package/packages/tools/lib/model/id-rebase.js +199 -0
- package/packages/tools/lib/model/id-rebase.js.map +1 -0
- package/packages/tools/lib/model/identity-registry.d.ts +34 -3
- package/packages/tools/lib/model/identity-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/identity-registry.js +40 -7
- package/packages/tools/lib/model/identity-registry.js.map +1 -1
- package/packages/tools/lib/model/impact.d.ts +75 -0
- package/packages/tools/lib/model/impact.d.ts.map +1 -0
- package/packages/tools/lib/model/impact.js +167 -0
- package/packages/tools/lib/model/impact.js.map +1 -0
- package/packages/tools/lib/model/ir-identity.d.ts +3 -51
- package/packages/tools/lib/model/ir-identity.d.ts.map +1 -1
- package/packages/tools/lib/model/ir-identity.js +14 -121
- package/packages/tools/lib/model/ir-identity.js.map +1 -1
- package/packages/tools/lib/model/kind-registry.d.ts +66 -22
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.js +104 -145
- package/packages/tools/lib/model/kind-registry.js.map +1 -1
- package/packages/tools/lib/model/manifest.d.ts +2 -2
- package/packages/tools/lib/model/manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/manifest.js +5 -4
- package/packages/tools/lib/model/manifest.js.map +1 -1
- package/packages/tools/lib/model/methodology-loader.d.ts +11 -2
- package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/methodology-loader.js +24 -130
- package/packages/tools/lib/model/methodology-loader.js.map +1 -1
- package/packages/tools/lib/model/methodology-resolver.d.ts +71 -6
- package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -1
- package/packages/tools/lib/model/methodology-resolver.js +210 -24
- package/packages/tools/lib/model/methodology-resolver.js.map +1 -1
- package/packages/tools/lib/model/model-diff.d.ts +73 -0
- package/packages/tools/lib/model/model-diff.d.ts.map +1 -0
- package/packages/tools/lib/model/model-diff.js +91 -0
- package/packages/tools/lib/model/model-diff.js.map +1 -0
- package/packages/tools/lib/model/narrow-model.d.ts +9 -0
- package/packages/tools/lib/model/narrow-model.d.ts.map +1 -0
- package/packages/tools/lib/model/narrow-model.js +54 -0
- package/packages/tools/lib/model/narrow-model.js.map +1 -0
- package/packages/tools/lib/model/native-project.d.ts +92 -11
- package/packages/tools/lib/model/native-project.d.ts.map +1 -1
- package/packages/tools/lib/model/native-project.js +163 -267
- package/packages/tools/lib/model/native-project.js.map +1 -1
- package/packages/tools/lib/model/ontology-loader.d.ts +10 -61
- package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/ontology-loader.js +11 -512
- package/packages/tools/lib/model/ontology-loader.js.map +1 -1
- package/packages/tools/lib/model/package-manifest.d.ts +8 -2
- package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/package-manifest.js +14 -2
- package/packages/tools/lib/model/package-manifest.js.map +1 -1
- package/packages/tools/lib/model/pinned.d.ts +216 -0
- package/packages/tools/lib/model/pinned.d.ts.map +1 -0
- package/packages/tools/lib/model/pinned.js +481 -0
- package/packages/tools/lib/model/pinned.js.map +1 -0
- package/packages/tools/lib/model/project-conversion.d.ts +3 -2
- package/packages/tools/lib/model/project-conversion.d.ts.map +1 -1
- package/packages/tools/lib/model/project-conversion.js +55 -10
- package/packages/tools/lib/model/project-conversion.js.map +1 -1
- package/packages/tools/lib/model/project-settings.d.ts +10 -0
- package/packages/tools/lib/model/project-settings.d.ts.map +1 -0
- package/packages/tools/lib/model/project-settings.js +48 -0
- package/packages/tools/lib/model/project-settings.js.map +1 -0
- package/packages/tools/lib/model/relation-selection.d.ts +25 -0
- package/packages/tools/lib/model/relation-selection.d.ts.map +1 -0
- package/packages/tools/lib/model/relation-selection.js +65 -0
- package/packages/tools/lib/model/relation-selection.js.map +1 -0
- package/packages/tools/lib/model/relationship-legality.d.ts +6 -0
- package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-legality.js.map +1 -1
- package/packages/tools/lib/model/relationship-registry.d.ts +21 -8
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js +77 -129
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/relationship-subjects.d.ts +28 -0
- package/packages/tools/lib/model/relationship-subjects.d.ts.map +1 -0
- package/packages/tools/lib/model/relationship-subjects.js +126 -0
- package/packages/tools/lib/model/relationship-subjects.js.map +1 -0
- package/packages/tools/lib/model/release-target.d.ts +12 -0
- package/packages/tools/lib/model/release-target.d.ts.map +1 -0
- package/packages/tools/lib/model/release-target.js +35 -0
- package/packages/tools/lib/model/release-target.js.map +1 -0
- package/packages/tools/lib/model/selector-vocabulary.d.ts +47 -0
- package/packages/tools/lib/model/selector-vocabulary.d.ts.map +1 -0
- package/packages/tools/lib/model/selector-vocabulary.js +181 -0
- package/packages/tools/lib/model/selector-vocabulary.js.map +1 -0
- package/packages/tools/lib/model/semantic.d.ts +99 -7
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +13 -1
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -1
- package/packages/tools/lib/model/settings-boundary.js +9 -8
- package/packages/tools/lib/model/settings-boundary.js.map +1 -1
- package/packages/tools/lib/model/short-id.d.ts.map +1 -1
- package/packages/tools/lib/model/short-id.js +4 -0
- package/packages/tools/lib/model/short-id.js.map +1 -1
- package/packages/tools/lib/model/source-graph.d.ts +9 -7
- package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
- package/packages/tools/lib/model/source-graph.js +19 -24
- package/packages/tools/lib/model/source-graph.js.map +1 -1
- package/packages/tools/lib/model/source-provenance.d.ts +5 -1
- package/packages/tools/lib/model/source-provenance.d.ts.map +1 -1
- package/packages/tools/lib/model/source-provenance.js.map +1 -1
- package/packages/tools/lib/model/sysml-files.js +1 -1
- package/packages/tools/lib/model/sysml-ir.d.ts +2 -5
- package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -1
- package/packages/tools/lib/model/sysml-ir.js +1 -100
- package/packages/tools/lib/model/sysml-ir.js.map +1 -1
- package/packages/tools/lib/model/toolchain-merge.d.ts +4 -0
- package/packages/tools/lib/model/toolchain-merge.d.ts.map +1 -0
- package/packages/tools/lib/model/toolchain-merge.js +34 -0
- package/packages/tools/lib/model/toolchain-merge.js.map +1 -0
- package/packages/tools/lib/model/user-settings.d.ts +13 -0
- package/packages/tools/lib/model/user-settings.d.ts.map +1 -0
- package/packages/tools/lib/model/user-settings.js +83 -0
- package/packages/tools/lib/model/user-settings.js.map +1 -0
- package/packages/tools/lib/model/variability.d.ts +56 -0
- package/packages/tools/lib/model/variability.d.ts.map +1 -0
- package/packages/tools/lib/model/variability.js +116 -0
- package/packages/tools/lib/model/variability.js.map +1 -0
- package/packages/tools/lib/model/version-range.d.ts +2 -0
- package/packages/tools/lib/model/version-range.d.ts.map +1 -0
- package/packages/tools/lib/model/version-range.js +37 -0
- package/packages/tools/lib/model/version-range.js.map +1 -0
- package/packages/tools/lib/model/view-deriver.d.ts +16 -0
- package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
- package/packages/tools/lib/model/view-deriver.js +129 -30
- package/packages/tools/lib/model/view-deriver.js.map +1 -1
- package/packages/tools/lib/model/view-layout-block.d.ts +81 -0
- package/packages/tools/lib/model/view-layout-block.d.ts.map +1 -0
- package/packages/tools/lib/model/view-layout-block.js +525 -0
- package/packages/tools/lib/model/view-layout-block.js.map +1 -0
- package/packages/tools/lib/model/view-layout-migration.d.ts +54 -0
- package/packages/tools/lib/model/view-layout-migration.d.ts.map +1 -0
- package/packages/tools/lib/model/view-layout-migration.js +156 -0
- package/packages/tools/lib/model/view-layout-migration.js.map +1 -0
- package/packages/tools/lib/model/workspace-membership.d.ts +99 -0
- package/packages/tools/lib/model/workspace-membership.d.ts.map +1 -0
- package/packages/tools/lib/model/workspace-membership.js +281 -0
- package/packages/tools/lib/model/workspace-membership.js.map +1 -0
- package/packages/tools/lib/ontology/owl-exporter.d.ts +1 -1
- package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
- package/packages/tools/lib/ontology/owl-exporter.js +1 -1
- package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
- package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -1
- package/packages/tools/lib/operations/ai-authoring.js +7 -5
- package/packages/tools/lib/operations/ai-authoring.js.map +1 -1
- package/packages/tools/lib/operations/authoring.d.ts +10 -4
- package/packages/tools/lib/operations/authoring.d.ts.map +1 -1
- package/packages/tools/lib/operations/authoring.js +27 -11
- package/packages/tools/lib/operations/authoring.js.map +1 -1
- package/packages/tools/lib/operations/index.d.ts +2 -0
- package/packages/tools/lib/operations/index.d.ts.map +1 -1
- package/packages/tools/lib/operations/index.js +1 -0
- package/packages/tools/lib/operations/index.js.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.js +7 -13
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
- package/packages/tools/lib/plugin/plugin-scaffold.js +2 -2
- package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -1
- package/packages/tools/lib/protocol/messages.d.ts +375 -7
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.d.ts +37 -29
- package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
- package/packages/tools/lib/serializer/csv-io.js +64 -31
- package/packages/tools/lib/serializer/csv-io.js.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.d.ts +15 -2
- package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
- package/packages/tools/lib/serializer/sysml-generator.js +45 -17
- package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
- package/packages/tools/lib/server/conflict-policy.js +1 -1
- package/packages/tools/lib/server/conflict-policy.js.map +1 -1
- package/packages/tools/lib/server/dashboard-store.d.ts +1 -7
- package/packages/tools/lib/server/dashboard-store.d.ts.map +1 -1
- package/packages/tools/lib/server/dashboard-store.js +3 -14
- package/packages/tools/lib/server/dashboard-store.js.map +1 -1
- package/packages/tools/lib/server/dev-server.d.ts +48 -1
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.js +529 -80
- package/packages/tools/lib/server/dev-server.js.map +1 -1
- package/packages/tools/lib/server/dev-validate.d.ts +30 -0
- package/packages/tools/lib/server/dev-validate.d.ts.map +1 -0
- package/packages/tools/lib/server/dev-validate.js +82 -0
- package/packages/tools/lib/server/dev-validate.js.map +1 -0
- package/packages/tools/lib/server/element-writer.d.ts +4 -1
- package/packages/tools/lib/server/element-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/element-writer.js +56 -35
- package/packages/tools/lib/server/element-writer.js.map +1 -1
- package/packages/tools/lib/server/mutation-domain.d.ts +10 -0
- package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -1
- package/packages/tools/lib/server/mutation-domain.js +45 -8
- package/packages/tools/lib/server/mutation-domain.js.map +1 -1
- package/packages/tools/lib/server/package-source.d.ts +13 -3
- package/packages/tools/lib/server/package-source.d.ts.map +1 -1
- package/packages/tools/lib/server/package-source.js +31 -39
- package/packages/tools/lib/server/package-source.js.map +1 -1
- package/packages/tools/lib/server/package-writer.d.ts +19 -6
- package/packages/tools/lib/server/package-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/package-writer.js +90 -39
- package/packages/tools/lib/server/package-writer.js.map +1 -1
- package/packages/tools/lib/server/persistor.d.ts +33 -7
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +63 -48
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/project-gitignore.d.ts +9 -0
- package/packages/tools/lib/server/project-gitignore.d.ts.map +1 -0
- package/packages/tools/lib/server/project-gitignore.js +27 -0
- package/packages/tools/lib/server/project-gitignore.js.map +1 -0
- package/packages/tools/lib/server/relationship-writer.d.ts +31 -2
- package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/relationship-writer.js +255 -95
- package/packages/tools/lib/server/relationship-writer.js.map +1 -1
- package/packages/tools/lib/server/release-writer.d.ts +46 -0
- package/packages/tools/lib/server/release-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/release-writer.js +133 -0
- package/packages/tools/lib/server/release-writer.js.map +1 -0
- package/packages/tools/lib/server/rule-policy-writer.d.ts +17 -4
- package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/rule-policy-writer.js +92 -7
- package/packages/tools/lib/server/rule-policy-writer.js.map +1 -1
- package/packages/tools/lib/server/rule-service.d.ts +50 -0
- package/packages/tools/lib/server/rule-service.d.ts.map +1 -0
- package/packages/tools/lib/server/rule-service.js +89 -0
- package/packages/tools/lib/server/rule-service.js.map +1 -0
- package/packages/tools/lib/server/rule-writer.d.ts +87 -0
- package/packages/tools/lib/server/rule-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/rule-writer.js +165 -0
- package/packages/tools/lib/server/rule-writer.js.map +1 -0
- package/packages/tools/lib/server/suspect-review.d.ts +11 -0
- package/packages/tools/lib/server/suspect-review.d.ts.map +1 -0
- package/packages/tools/lib/server/suspect-review.js +28 -0
- package/packages/tools/lib/server/suspect-review.js.map +1 -0
- package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
- package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
- package/packages/tools/lib/server/sysml-notation.js +5 -0
- package/packages/tools/lib/server/sysml-notation.js.map +1 -1
- package/packages/tools/lib/server/user-preferences.d.ts +8 -0
- package/packages/tools/lib/server/user-preferences.d.ts.map +1 -0
- package/packages/tools/lib/server/user-preferences.js +47 -0
- package/packages/tools/lib/server/user-preferences.js.map +1 -0
- package/packages/tools/lib/server/version-servers.d.ts +60 -0
- package/packages/tools/lib/server/version-servers.d.ts.map +1 -0
- package/packages/tools/lib/server/version-servers.js +106 -0
- package/packages/tools/lib/server/version-servers.js.map +1 -0
- package/packages/tools/lib/server/view-layout-store.d.ts +28 -13
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
- package/packages/tools/lib/server/view-layout-store.js +106 -106
- package/packages/tools/lib/server/view-layout-store.js.map +1 -1
- package/packages/tools/lib/server/view-writer.d.ts +22 -2
- package/packages/tools/lib/server/view-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/view-writer.js +99 -44
- package/packages/tools/lib/server/view-writer.js.map +1 -1
- package/packages/tools/lib/server/write-guard.d.ts +7 -0
- package/packages/tools/lib/server/write-guard.d.ts.map +1 -0
- package/packages/tools/lib/server/write-guard.js +77 -0
- package/packages/tools/lib/server/write-guard.js.map +1 -0
- package/packages/tools/lib/stage2/api-model.d.ts +160 -0
- package/packages/tools/lib/stage2/api-model.d.ts.map +1 -0
- package/packages/tools/lib/stage2/api-model.js +341 -0
- package/packages/tools/lib/stage2/api-model.js.map +1 -0
- package/packages/tools/lib/stage2/build-from-api.d.ts +47 -0
- package/packages/tools/lib/stage2/build-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/build-from-api.js +1462 -0
- package/packages/tools/lib/stage2/build-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/guide-from-api.d.ts +38 -0
- package/packages/tools/lib/stage2/guide-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/guide-from-api.js +97 -0
- package/packages/tools/lib/stage2/guide-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/handoff-files.d.ts +13 -0
- package/packages/tools/lib/stage2/handoff-files.d.ts.map +1 -0
- package/packages/tools/lib/stage2/handoff-files.js +32 -0
- package/packages/tools/lib/stage2/handoff-files.js.map +1 -0
- package/packages/tools/lib/stage2/methodology-from-api.d.ts +10 -0
- package/packages/tools/lib/stage2/methodology-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/methodology-from-api.js +109 -0
- package/packages/tools/lib/stage2/methodology-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.d.ts +15 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.js +238 -0
- package/packages/tools/lib/stage2/package-metadata-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/project-from-api.d.ts +60 -0
- package/packages/tools/lib/stage2/project-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/project-from-api.js +328 -0
- package/packages/tools/lib/stage2/project-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/registries-from-api.d.ts +68 -0
- package/packages/tools/lib/stage2/registries-from-api.d.ts.map +1 -0
- package/packages/tools/lib/stage2/registries-from-api.js +313 -0
- package/packages/tools/lib/stage2/registries-from-api.js.map +1 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.d.ts +26 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.d.ts.map +1 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.js +34 -0
- package/packages/tools/lib/stage2/stage2-from-handoff.js.map +1 -0
- package/packages/tools/lib/stage2/sysml-names.d.ts +9 -0
- package/packages/tools/lib/stage2/sysml-names.d.ts.map +1 -0
- package/packages/tools/lib/stage2/sysml-names.js +39 -0
- package/packages/tools/lib/stage2/sysml-names.js.map +1 -0
- package/packages/tools/lib/toolchain/default-registry.d.ts +2 -2
- package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/default-registry.js +9 -5
- package/packages/tools/lib/toolchain/default-registry.js.map +1 -1
- package/packages/tools/lib/toolchain/diagnostic.d.ts +2 -2
- package/packages/tools/lib/toolchain/diagnostic.js +1 -1
- package/packages/tools/lib/toolchain/diagnostic.js.map +1 -1
- package/packages/tools/lib/toolchain/effective.d.ts +25 -17
- package/packages/tools/lib/toolchain/effective.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/effective.js +45 -40
- package/packages/tools/lib/toolchain/effective.js.map +1 -1
- package/packages/tools/lib/toolchain/exceptions.d.ts +27 -0
- package/packages/tools/lib/toolchain/exceptions.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/exceptions.js +77 -0
- package/packages/tools/lib/toolchain/exceptions.js.map +1 -0
- package/packages/tools/lib/toolchain/index.d.ts +2 -2
- package/packages/tools/lib/toolchain/index.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/index.js +2 -2
- package/packages/tools/lib/toolchain/index.js.map +1 -1
- package/packages/tools/lib/toolchain/operations.d.ts +45 -10
- package/packages/tools/lib/toolchain/operations.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/operations.js +107 -8
- package/packages/tools/lib/toolchain/operations.js.map +1 -1
- package/packages/tools/lib/toolchain/ownership.d.ts +13 -0
- package/packages/tools/lib/toolchain/ownership.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/ownership.js +57 -0
- package/packages/tools/lib/toolchain/ownership.js.map +1 -0
- package/packages/tools/lib/toolchain/process.d.ts +2 -2
- package/packages/tools/lib/toolchain/process.js +2 -2
- package/packages/tools/lib/toolchain/project-config.d.ts +4 -0
- package/packages/tools/lib/toolchain/project-config.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/project-config.js +13 -0
- package/packages/tools/lib/toolchain/project-config.js.map +1 -0
- package/packages/tools/lib/toolchain/project-model.d.ts +75 -0
- package/packages/tools/lib/toolchain/project-model.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/project-model.js +92 -0
- package/packages/tools/lib/toolchain/project-model.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-package.d.ts +6 -0
- package/packages/tools/lib/toolchain/providers/internal-package.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/internal-package.js +47 -0
- package/packages/tools/lib/toolchain/providers/internal-package.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts +20 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.js +95 -0
- package/packages/tools/lib/toolchain/providers/opensysml-check.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts +17 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.js +69 -0
- package/packages/tools/lib/toolchain/providers/opensysml-compact.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts +50 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.js +646 -0
- package/packages/tools/lib/toolchain/providers/opensysml-lowering.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts +16 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.js +37 -0
- package/packages/tools/lib/toolchain/providers/opensysml-names.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml.d.ts +88 -0
- package/packages/tools/lib/toolchain/providers/opensysml.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/opensysml.js +178 -0
- package/packages/tools/lib/toolchain/providers/opensysml.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/recommended.d.ts +2 -0
- package/packages/tools/lib/toolchain/providers/recommended.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/recommended.js +13 -0
- package/packages/tools/lib/toolchain/providers/recommended.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.d.ts +60 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.js +160 -0
- package/packages/tools/lib/toolchain/providers/sysand-project.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/providers/sysand.js +26 -2
- package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -1
- package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts +29 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.js +497 -0
- package/packages/tools/lib/toolchain/providers/syside-lowering.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-python.d.ts +9 -0
- package/packages/tools/lib/toolchain/providers/syside-python.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside-python.js +69 -0
- package/packages/tools/lib/toolchain/providers/syside-python.js.map +1 -0
- package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/providers/syside.js +2 -0
- package/packages/tools/lib/toolchain/providers/syside.js.map +1 -1
- package/packages/tools/lib/toolchain/registry.d.ts +118 -21
- package/packages/tools/lib/toolchain/registry.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/registry.js +18 -24
- package/packages/tools/lib/toolchain/registry.js.map +1 -1
- package/packages/tools/lib/toolchain/schema.d.ts +6 -5
- package/packages/tools/lib/toolchain/schema.d.ts.map +1 -1
- package/packages/tools/lib/toolchain/schema.js +8 -13
- package/packages/tools/lib/toolchain/schema.js.map +1 -1
- package/packages/tools/lib/toolchain/shipped-library.d.ts +28 -0
- package/packages/tools/lib/toolchain/shipped-library.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/shipped-library.js +120 -0
- package/packages/tools/lib/toolchain/shipped-library.js.map +1 -0
- package/packages/tools/lib/toolchain/source-fingerprint.d.ts +2 -0
- package/packages/tools/lib/toolchain/source-fingerprint.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/source-fingerprint.js +30 -0
- package/packages/tools/lib/toolchain/source-fingerprint.js.map +1 -0
- package/packages/tools/lib/toolchain/user-settings-status.d.ts +51 -0
- package/packages/tools/lib/toolchain/user-settings-status.d.ts.map +1 -0
- package/packages/tools/lib/toolchain/user-settings-status.js +104 -0
- package/packages/tools/lib/toolchain/user-settings-status.js.map +1 -0
- package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
- package/packages/tools/lib/validator/architecture-validator.js +2 -1
- package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
- package/packages/tools/lib/validator/behavior-validator.js +1 -1
- package/packages/tools/lib/validator/behavior-validator.js.map +1 -1
- package/packages/tools/lib/validator/builtin-rules.js +1 -1
- package/packages/tools/lib/validator/builtin-rules.js.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.d.ts +30 -4
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.js +101 -59
- package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
- package/packages/tools/lib/validator/constraint-loader-api.d.ts +22 -0
- package/packages/tools/lib/validator/constraint-loader-api.d.ts.map +1 -0
- package/packages/tools/lib/validator/constraint-loader-api.js +160 -0
- package/packages/tools/lib/validator/constraint-loader-api.js.map +1 -0
- package/packages/tools/lib/validator/constraint-loader.d.ts +22 -18
- package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-loader.js +33 -141
- package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
- package/packages/tools/lib/validator/rule-clauses.d.ts +51 -0
- package/packages/tools/lib/validator/rule-clauses.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-clauses.js +87 -0
- package/packages/tools/lib/validator/rule-clauses.js.map +1 -0
- package/packages/tools/lib/validator/rule-engine.d.ts +9 -1
- package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-engine.js +50 -6
- package/packages/tools/lib/validator/rule-engine.js.map +1 -1
- package/packages/tools/lib/validator/rule-registry.d.ts +4 -8
- package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-registry.js +42 -79
- package/packages/tools/lib/validator/rule-registry.js.map +1 -1
- package/packages/tools/lib/validator/rule-tailoring.d.ts +62 -0
- package/packages/tools/lib/validator/rule-tailoring.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-tailoring.js +85 -0
- package/packages/tools/lib/validator/rule-tailoring.js.map +1 -0
- package/packages/tools/lib/validator/types.d.ts +12 -1
- package/packages/tools/lib/validator/types.d.ts.map +1 -1
- package/packages/tools/lib/validator/workspace-boundary-validator.d.ts +9 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.d.ts.map +1 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.js +28 -0
- package/packages/tools/lib/validator/workspace-boundary-validator.js.map +1 -0
- package/packages/tools/python/memo_model.py +243 -0
- package/packages/tools/python/memo_stage1_syside.py +389 -0
- package/packages/tools/lib/commands/check.d.ts +0 -6
- package/packages/tools/lib/commands/check.d.ts.map +0 -1
- package/packages/tools/lib/commands/check.js +0 -191
- package/packages/tools/lib/commands/check.js.map +0 -1
- package/packages/tools/lib/commands/conformance.d.ts +0 -36
- package/packages/tools/lib/commands/conformance.d.ts.map +0 -1
- package/packages/tools/lib/commands/conformance.js +0 -212
- package/packages/tools/lib/commands/conformance.js.map +0 -1
- package/packages/tools/lib/commands/roundtrip.d.ts +0 -6
- package/packages/tools/lib/commands/roundtrip.d.ts.map +0 -1
- package/packages/tools/lib/commands/roundtrip.js +0 -145
- package/packages/tools/lib/commands/roundtrip.js.map +0 -1
- package/packages/tools/lib/conformance/baseline.d.ts +0 -26
- package/packages/tools/lib/conformance/baseline.d.ts.map +0 -1
- package/packages/tools/lib/conformance/baseline.js +0 -170
- package/packages/tools/lib/conformance/baseline.js.map +0 -1
- package/packages/tools/lib/conformance/bnf.d.ts +0 -84
- package/packages/tools/lib/conformance/bnf.d.ts.map +0 -1
- package/packages/tools/lib/conformance/bnf.js +0 -166
- package/packages/tools/lib/conformance/bnf.js.map +0 -1
- package/packages/tools/lib/conformance/corpus.d.ts +0 -125
- package/packages/tools/lib/conformance/corpus.d.ts.map +0 -1
- package/packages/tools/lib/conformance/corpus.js +0 -190
- package/packages/tools/lib/conformance/corpus.js.map +0 -1
- package/packages/tools/lib/conformance/diff-xmi.d.ts +0 -118
- package/packages/tools/lib/conformance/diff-xmi.d.ts.map +0 -1
- package/packages/tools/lib/conformance/diff-xmi.js +0 -276
- package/packages/tools/lib/conformance/diff-xmi.js.map +0 -1
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts +0 -10
- package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +0 -1
- package/packages/tools/lib/conformance/generated/syside-rules.js +0 -1142
- package/packages/tools/lib/conformance/generated/syside-rules.js.map +0 -1
- package/packages/tools/lib/conformance/index.d.ts +0 -7
- package/packages/tools/lib/conformance/index.d.ts.map +0 -1
- package/packages/tools/lib/conformance/index.js +0 -19
- package/packages/tools/lib/conformance/index.js.map +0 -1
- package/packages/tools/lib/conformance/run.d.ts +0 -117
- package/packages/tools/lib/conformance/run.d.ts.map +0 -1
- package/packages/tools/lib/conformance/run.js +0 -0
- package/packages/tools/lib/conformance/run.js.map +0 -1
- package/packages/tools/lib/conformance/xmi.d.ts +0 -45
- package/packages/tools/lib/conformance/xmi.d.ts.map +0 -1
- package/packages/tools/lib/conformance/xmi.js +0 -148
- package/packages/tools/lib/conformance/xmi.js.map +0 -1
- package/packages/tools/lib/language/generated/ast.d.ts +0 -3565
- package/packages/tools/lib/language/generated/ast.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/ast.js +0 -2975
- package/packages/tools/lib/language/generated/ast.js.map +0 -1
- package/packages/tools/lib/language/generated/grammar.d.ts +0 -7
- package/packages/tools/lib/language/generated/grammar.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/grammar.js +0 -10643
- package/packages/tools/lib/language/generated/grammar.js.map +0 -1
- package/packages/tools/lib/language/generated/module.d.ts +0 -14
- package/packages/tools/lib/language/generated/module.d.ts.map +0 -1
- package/packages/tools/lib/language/generated/module.js +0 -21
- package/packages/tools/lib/language/generated/module.js.map +0 -1
- package/packages/tools/lib/language/memo-sysml-module.d.ts +0 -24
- package/packages/tools/lib/language/memo-sysml-module.d.ts.map +0 -1
- package/packages/tools/lib/language/memo-sysml-module.js +0 -20
- package/packages/tools/lib/language/memo-sysml-module.js.map +0 -1
- package/packages/tools/lib/model/builder.d.ts +0 -27
- package/packages/tools/lib/model/builder.d.ts.map +0 -1
- package/packages/tools/lib/model/builder.js +0 -2103
- package/packages/tools/lib/model/builder.js.map +0 -1
- package/packages/tools/lib/model/package-registry.d.ts +0 -62
- package/packages/tools/lib/model/package-registry.d.ts.map +0 -1
- package/packages/tools/lib/model/package-registry.js +0 -175
- package/packages/tools/lib/model/package-registry.js.map +0 -1
- package/packages/tools/lib/model/parser-utils.d.ts +0 -65
- package/packages/tools/lib/model/parser-utils.d.ts.map +0 -1
- package/packages/tools/lib/model/parser-utils.js +0 -201
- package/packages/tools/lib/model/parser-utils.js.map +0 -1
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +0 -3
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +0 -97
- package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +0 -1
- package/packages/tools/lib/sysmlc/index.d.ts +0 -2
- package/packages/tools/lib/sysmlc/index.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/index.js +0 -7
- package/packages/tools/lib/sysmlc/index.js.map +0 -1
- package/packages/tools/lib/sysmlc/server.d.ts +0 -29
- package/packages/tools/lib/sysmlc/server.d.ts.map +0 -1
- package/packages/tools/lib/sysmlc/server.js +0 -168
- package/packages/tools/lib/sysmlc/server.js.map +0 -1
- package/packages/tools/lib/toolchain/lowering.d.ts +0 -63
- package/packages/tools/lib/toolchain/lowering.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/lowering.js +0 -100
- package/packages/tools/lib/toolchain/lowering.js.map +0 -1
- package/packages/tools/lib/toolchain/providers/internal.d.ts +0 -33
- package/packages/tools/lib/toolchain/providers/internal.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/providers/internal.js +0 -286
- package/packages/tools/lib/toolchain/providers/internal.js.map +0 -1
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts +0 -77
- package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +0 -1
- package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
- package/packages/tools/lib/toolchain/sysmlc-client.js.map +0 -1
- package/packages/tools/lib/validator/sysml-constraints.d.ts +0 -64
- package/packages/tools/lib/validator/sysml-constraints.d.ts.map +0 -1
- package/packages/tools/lib/validator/sysml-constraints.js +0 -251
- package/packages/tools/lib/validator/sysml-constraints.js.map +0 -1
- package/packages/tools/src/grammar/memo-sysml.langium +0 -1056
|
@@ -1,53 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// ─── MEMO CLI
|
|
2
|
+
// ─── MEMO Tools CLI ────────────────────────────────────────────────────────
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
// memo
|
|
6
|
-
// memo
|
|
7
|
-
// memo
|
|
8
|
-
// memo
|
|
9
|
-
// memo
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
4
|
+
// Compile a model with the selected SysML compiler, validate it, and pack it.
|
|
5
|
+
// memo compile — is this valid SysML (stage 1)
|
|
6
|
+
// memo validate — the model against the rules, and completeness
|
|
7
|
+
// memo toolchain check — the validator over files that are not a model
|
|
8
|
+
// memo pack — package a model or package (a KPAR, or MEMO's own bundle)
|
|
9
|
+
// memo ship-library — a package's compiled library, for the package to carry
|
|
10
|
+
//
|
|
11
|
+
// Creating a model, authoring, packaging, exporting, settings and the rest
|
|
12
|
+
// are memo-architect's commands. The old names here fail loudly for one
|
|
13
|
+
// release and name where each went.
|
|
14
14
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
15
15
|
import { Command } from 'commander';
|
|
16
|
+
import { memoVersion } from '../version.js';
|
|
16
17
|
import { validateCommand } from '../commands/validate.js';
|
|
17
|
-
import { initCommand, listExamplesCommand, listTemplatesCommand } from '../commands/init.js';
|
|
18
18
|
import { packCommand } from '../commands/pack.js';
|
|
19
|
-
import { exportJsonCommand, exportDotCommand } from '../commands/export.js';
|
|
20
|
-
import { exportDhfCommand, dhfStatusCommand, dhfSnapshotCommand, dhfDiffCommand, dhfRedlineCommand, dhfReviewPacketCommand, } from '../commands/dhf.js';
|
|
21
|
-
import { ontologyShowCommand, ontologyExportOwlCommand, ontologyExportSysandCommand, ontologyAddKindCommand, } from '../commands/ontology.js';
|
|
22
|
-
import { importCsvCommand, importRelCsvCommand, importTemplateCommand, importDiffCommand } from '../commands/import.js';
|
|
23
|
-
import { importEaCommand, importCameoCommand } from '../commands/import-ea.js';
|
|
24
|
-
import { importSysandCommand } from '../commands/import-sysand.js';
|
|
25
|
-
import { importKpar, inspectKpar } from '../commands/package.js';
|
|
26
|
-
import { importOwlCommand } from '../commands/import-owl.js';
|
|
27
19
|
import { sysandPublishCommand } from '../commands/sysand-publish.js';
|
|
28
|
-
import { lockCommand } from '../commands/lock.js';
|
|
29
|
-
import { installCommand } from '../commands/install.js';
|
|
30
|
-
import { createPackageCommand } from '../commands/create-package.js';
|
|
31
|
-
import { askCommand } from '../commands/ask.js';
|
|
32
|
-
import { mcpCommand, mcpInitCommand } from '../commands/mcp.js';
|
|
33
|
-
import { generateCommand } from '../commands/generate.js';
|
|
34
|
-
import { dhfDraftCommand } from '../commands/dhf-draft.js';
|
|
35
|
-
import { dhfLintCommand } from '../commands/dhf-lint.js';
|
|
36
|
-
import { dhfInitCommand } from '../commands/dhf-init.js';
|
|
37
|
-
import { dhfPreviewCommand } from '../commands/dhf-preview.js';
|
|
38
|
-
import { standardsCheckCommand } from '../commands/standards.js';
|
|
39
|
-
import { pluginListCommand, pluginCreateCommand, pluginRunCommand } from '../commands/plugin.js';
|
|
40
|
-
import { reqNewCommand } from '../commands/req.js';
|
|
41
|
-
import { checkCommand } from '../commands/check.js';
|
|
42
|
-
import { roundTripCommand } from '../commands/roundtrip.js';
|
|
43
|
-
import { rulesListCommand, rulesCheckCommand, rulesExplainCommand, rulesCoverageCommand } from '../commands/rules.js';
|
|
44
20
|
import { inspectCommand } from '../commands/inspect.js';
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
21
|
+
import { rulesExplainCommand, rulesListCommand } from '../commands/rules.js';
|
|
22
|
+
import { standardsCheckCommand } from '../commands/standards.js';
|
|
23
|
+
import { retiredCommand } from '../commands/retired.js';
|
|
24
|
+
import { configEffectiveCommand, toolchainCheckCommand, toolchainProbeCommand, } from '../commands/toolchain.js';
|
|
49
25
|
import { applyToolchainCliOptions } from '../toolchain/schema.js';
|
|
26
|
+
import { compileCommand } from '../commands/compile.js';
|
|
27
|
+
import { pinnedTarget } from '../commands/pinned-target.js';
|
|
28
|
+
import { pruneCommand } from '../commands/prune.js';
|
|
29
|
+
import { shipLibraryCommand } from '../commands/ship-library.js';
|
|
50
30
|
import { defaultRegistry } from '../toolchain/default-registry.js';
|
|
31
|
+
import chalk from 'chalk';
|
|
32
|
+
import { Stage1RejectedError } from '../toolchain/project-model.js';
|
|
33
|
+
import { ToolchainNotConfiguredError } from '../toolchain/effective.js';
|
|
34
|
+
import { ProjectNamesUserSettingError } from '../toolchain/ownership.js';
|
|
35
|
+
import { setCommandLineToolchain } from '../model/config-loader.js';
|
|
36
|
+
import { toolchainOverridesFromCliOptions } from '../toolchain/schema.js';
|
|
51
37
|
const program = new Command();
|
|
52
38
|
/**
|
|
53
39
|
* Add the generated `--toolchain.*` options to a command.
|
|
@@ -60,613 +46,176 @@ const withToolchainOptions = (command) => applyToolchainCliOptions(command, defa
|
|
|
60
46
|
program
|
|
61
47
|
.name('memo')
|
|
62
48
|
.description('MEMO — Model-Based Systems Engineering for Medical Devices')
|
|
63
|
-
.version(
|
|
49
|
+
.version(memoVersion());
|
|
64
50
|
withToolchainOptions(program
|
|
65
|
-
.command('
|
|
66
|
-
.description('
|
|
67
|
-
.argument('[dir]', '
|
|
68
|
-
.option('--
|
|
69
|
-
|
|
70
|
-
await validateCommand(dir, { ...opts, format: opts.format, output: opts.output });
|
|
71
|
-
});
|
|
72
|
-
program
|
|
73
|
-
.command('inspect <id>')
|
|
74
|
-
.description('Inspect a model element or relationship')
|
|
75
|
-
.option('--provenance', 'Show declaration and classifier provenance only')
|
|
76
|
-
.option('-d, --dir <dir>', 'Project directory', '.')
|
|
77
|
-
.action(async (id, options) => {
|
|
78
|
-
await inspectCommand(id, options);
|
|
79
|
-
});
|
|
80
|
-
// ─── memo element ───────────────────────────────────────────────────────────
|
|
81
|
-
//
|
|
82
|
-
// The CLI surface for authoring write-back, so the operation Architect calls is
|
|
83
|
-
// scriptable too (§1.2.2 rule 2). Same implementation, same lowering provider.
|
|
84
|
-
const elementCmd = program
|
|
85
|
-
.command('element')
|
|
86
|
-
.description('Author project source through the toolchain');
|
|
87
|
-
withToolchainOptions(elementCmd
|
|
88
|
-
.command('identities')
|
|
89
|
-
.description('Print the IR identity to quote when writing to each element')
|
|
90
|
-
.argument('[dir]', 'Project directory', '.')
|
|
91
|
-
.option('--id <id>', 'Restrict output to one element')
|
|
92
|
-
.option('--format <format>', 'Output format: text, json', 'text')).action(async (dir, opts) => {
|
|
93
|
-
await elementIdentitiesCommand(dir, opts);
|
|
94
|
-
});
|
|
95
|
-
withToolchainOptions(elementCmd
|
|
96
|
-
.command('write')
|
|
97
|
-
.description('Write one element back to source and recompile')
|
|
98
|
-
.argument('[dir]', 'Project directory', '.')
|
|
99
|
-
.option('--id <id>', 'Element ID to create or update')
|
|
100
|
-
.option('--name <name>', 'Display name')
|
|
101
|
-
.option('--kind <kind>', 'Ontology kind')
|
|
102
|
-
.option('--construct <construct>', 'SysML construct, e.g. part, action, requirement')
|
|
103
|
-
.option('--layer <layer>', 'MEMO layer')
|
|
104
|
-
.option('--doc <text>', 'Documentation body')
|
|
105
|
-
.option('--attribute <key=value...>', 'Attribute assignment, repeatable')
|
|
106
|
-
.option('--file <path>', 'Project-relative source file to write into')
|
|
107
|
-
.option('--ir-identity <identity>', 'IR identity of the declaration being updated')
|
|
108
|
-
.option('--renamed-from <id>', 'Previous element ID, when this write renames the declaration')
|
|
109
|
-
.option('--by-id', 'Resolve the identity from --id instead of quoting one (cannot detect a stale view)')
|
|
110
|
-
.option('--request <file>', 'JSON file holding the whole write request')
|
|
111
|
-
.option('--format <format>', 'Output format: text, json', 'text')).action(async (dir, opts) => {
|
|
112
|
-
await elementWriteCommand(dir, opts);
|
|
113
|
-
});
|
|
114
|
-
program
|
|
115
|
-
.command('init')
|
|
116
|
-
.description('Scaffold a new MEMO project')
|
|
117
|
-
.argument('[name]', 'Project directory (omit or "." to initialize the current directory)')
|
|
118
|
-
.option('-t, --template <id>', 'Create from an ontology template')
|
|
119
|
-
.option('--ontology <package>', 'Logical ontology package to use (defaults from the content manifest)')
|
|
120
|
-
.option('--example <id>', 'Create from an example project (e.g. gpca)')
|
|
121
|
-
.option('--list', 'List installed ontology templates and examples')
|
|
122
|
-
.option('--no-install', 'Create the project without running npm install')
|
|
123
|
-
.action(async (name, options) => {
|
|
124
|
-
await initCommand(name, options);
|
|
51
|
+
.command('ship-library')
|
|
52
|
+
.description("Export a package's library set with the selected compiler, for the package to carry (stage1/)")
|
|
53
|
+
.argument('[dir]', 'Package directory whose manifest offers the library roots', '.')
|
|
54
|
+
.option('--out <dir>', 'Directory to write the shipped files to (default: <dir>/stage1)')).action(async (dir, opts) => {
|
|
55
|
+
await shipLibraryCommand(dir, opts);
|
|
125
56
|
});
|
|
126
|
-
program
|
|
127
|
-
.command('
|
|
128
|
-
.description('
|
|
129
|
-
.argument('[dir]', '
|
|
130
|
-
.option('--
|
|
131
|
-
.option('--
|
|
132
|
-
.option('--
|
|
133
|
-
.option('--
|
|
134
|
-
.
|
|
135
|
-
|
|
57
|
+
withToolchainOptions(program
|
|
58
|
+
.command('compile')
|
|
59
|
+
.description('Check the model is valid SysML with the selected compiler (stage 1); no MEMO rules')
|
|
60
|
+
.argument('[dir]', 'Model directory', '.')
|
|
61
|
+
.option('--at <ref>', 'Compile the model as it was at this commit, tag or branch (a cached worktree under .memo/pinned)')
|
|
62
|
+
.option('--release <record>', 'Compile the SoS version a release record names: the version\'s commit with each system from its own release\'s commit')
|
|
63
|
+
.option('--strict-ontology', 'With --at or --release: refuse when the commit was made with another ontology version than this run would use')
|
|
64
|
+
.option('--force', 'Compile even when the stage 1 output in .memo/stage1 is fresh')
|
|
65
|
+
.option('--out <file>', 'Write the compiled SysML v2 model (API JSON, diagnostics, element index) to this file')
|
|
66
|
+
.option('--inspect <id>', 'Instead of compiling, show a model element or relationship')
|
|
67
|
+
.option('--provenance', 'With --inspect: only the declaration and classifier provenance')
|
|
68
|
+
.option('--probe', 'Instead of compiling, show which provider fills each role, its executable and version')
|
|
69
|
+
.option('--effective', 'Instead of compiling, print the settings that are in effect, after flags and the environment')
|
|
70
|
+
.option('--format <format>', 'With --probe or --effective: text, json, yaml', undefined)).action(async (dir, opts) => {
|
|
71
|
+
// The read-only reports are flags of compile and validate, not commands of their own.
|
|
72
|
+
if (opts.inspect)
|
|
73
|
+
return inspectCommand(String(opts.inspect), { provenance: opts.provenance === true, dir });
|
|
74
|
+
if (opts.probe)
|
|
75
|
+
return toolchainProbeCommand(dir, { ...opts, format: opts.format });
|
|
76
|
+
if (opts.effective)
|
|
77
|
+
return configEffectiveCommand(dir, { ...opts, format: opts.format ?? 'yaml' });
|
|
78
|
+
const pinned = await pinnedTarget(dir, opts);
|
|
79
|
+
if (pinned)
|
|
80
|
+
console.error(chalk.gray(`(${pinned.label})`));
|
|
81
|
+
await compileCommand(pinned ? pinned.dir : dir, pinned ? { ...opts, at: undefined, release: undefined } : opts);
|
|
136
82
|
});
|
|
137
|
-
program
|
|
138
|
-
.command('examples')
|
|
139
|
-
.description('List installed worked examples and the IDs accepted by memo init --example')
|
|
140
|
-
.action(() => listExamplesCommand());
|
|
141
|
-
const packageCmd = program.command('package').description('Inspect and import interoperable KPAR libraries');
|
|
142
|
-
packageCmd.command('inspect').argument('<archive>').action((archive) => console.log(JSON.stringify(inspectKpar(archive), null, 2)));
|
|
143
|
-
packageCmd.command('import').argument('<archive>').option('-C, --project <dir>', 'Project directory', '.').action((archive, options) => console.log(JSON.stringify(importKpar(options.project, archive), null, 2)));
|
|
144
|
-
program
|
|
145
|
-
.command('templates')
|
|
146
|
-
.description('List installed project templates and the IDs accepted by memo init --template')
|
|
147
|
-
.action(() => listTemplatesCommand());
|
|
148
83
|
withToolchainOptions(program
|
|
149
84
|
.command('pack')
|
|
150
|
-
.description('Package the model
|
|
151
|
-
.option('-o, --output <file>', 'Output
|
|
85
|
+
.description('Package the model or package you are in, with toolchain.packager: a KPAR (sysand) or MEMO\'s own bundle (internal)')
|
|
86
|
+
.option('-o, --output <file>', 'Output file (default: <name>-<version>.kpar for sysand, <name>.memo-bundle otherwise)')).action(async (options) => {
|
|
152
87
|
await packCommand({ ...options, output: options.output });
|
|
153
88
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
.
|
|
157
|
-
.
|
|
158
|
-
|
|
159
|
-
.command('probe')
|
|
160
|
-
.description('Resolve each role to a provider and report its executable and version')
|
|
161
|
-
.argument('[dir]', 'Project directory', '.')
|
|
162
|
-
.option('--format <format>', 'Output format: text, json, yaml', 'text')).action(async (dir, opts) => {
|
|
163
|
-
await toolchainProbeCommand(dir, { ...opts, format: opts.format });
|
|
164
|
-
});
|
|
165
|
-
// ─── memo conformance ───────────────────────────────────────────────────────
|
|
166
|
-
//
|
|
167
|
-
// Its own command, reached no other way. Nothing in `validate`, `dev`, `build`
|
|
168
|
-
// or Architect's refresh calls into `conformance/`: a sweep grades MEMO against
|
|
169
|
-
// the OMG's published files, which is a question about MEMO and not about the
|
|
170
|
-
// project the user is working on.
|
|
171
|
-
const conformanceCmd = program
|
|
172
|
-
.command('conformance')
|
|
173
|
-
.description('Run the toolchain against the pinned SysML v2 Release corpus');
|
|
174
|
-
withToolchainOptions(conformanceCmd
|
|
175
|
-
.command('run')
|
|
176
|
-
.description('Validate and lower the corpus; report diagnostic counts by domain')
|
|
177
|
-
.argument('[dir]', 'Project whose toolchain settings select the providers', '.')
|
|
178
|
-
.option('--corpus <dir>', 'Corpus directory (defaults to the vendored one)')
|
|
179
|
-
.option('--unit <id...>', 'Corpus units to run; a prefix selects a group')
|
|
180
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
181
|
-
.option('-o, --output <file>', 'Write the report to a file instead of stdout')
|
|
182
|
-
.option('--verify <scope>', 'Checksum scope: sources, full, skipped', 'sources')
|
|
183
|
-
.option('--baseline [file]', 'Compare against a frozen baseline and fail on any change')
|
|
184
|
-
.option('--update-baseline', 'Re-freeze the baseline from this run')).action(async (dir, opts) => {
|
|
185
|
-
await conformanceRunCommand(dir, opts);
|
|
186
|
-
});
|
|
187
|
-
withToolchainOptions(conformanceCmd
|
|
188
|
-
.command('diff-xmi')
|
|
189
|
-
.description("Compare MEMO's computed semantics against the Release xmi.implied files")
|
|
190
|
-
.argument('[dir]', 'Project whose toolchain settings select the lowering provider', '.')
|
|
191
|
-
.option('--corpus <dir>', 'Corpus directory (defaults to the vendored one)')
|
|
192
|
-
.option('--library <path...>', 'Library sources to compare, e.g. Parts.sysml')
|
|
193
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
194
|
-
.option('-o, --output <file>', 'Write the report to a file instead of stdout')
|
|
195
|
-
.option('--verify <scope>', 'Checksum scope: sources, skipped', 'sources')
|
|
196
|
-
.option('--baseline [file]', 'Compare against a frozen baseline and fail on any change')
|
|
197
|
-
.option('--update-baseline', 'Re-freeze the baseline from this run')).action(async (dir, opts) => {
|
|
198
|
-
await conformanceDiffXmiCommand(dir, opts);
|
|
199
|
-
});
|
|
200
|
-
conformanceCmd
|
|
201
|
-
.command('bnf')
|
|
202
|
-
.description("Score the grammar's rule coverage against the normative textual BNF")
|
|
203
|
-
.argument('[dir]', 'Unused; accepted so every conformance subcommand takes the same shape', '.')
|
|
204
|
-
.option('--corpus <dir>', 'Corpus directory (defaults to the vendored one)')
|
|
205
|
-
.option('--grammar <file>', "Grammar to score (defaults to MEMO's)")
|
|
206
|
-
.option('--missing', 'List the syntactic productions with no rule')
|
|
207
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
208
|
-
.option('-o, --output <file>', 'Write the report to a file instead of stdout')
|
|
209
|
-
.option('--baseline [file]', 'Compare against a frozen baseline and fail on any change')
|
|
210
|
-
.option('--update-baseline', 'Re-freeze the baseline from this run')
|
|
211
|
-
.action(async (dir, opts) => {
|
|
212
|
-
await conformanceBnfCommand(dir, opts);
|
|
213
|
-
});
|
|
214
|
-
conformanceCmd
|
|
215
|
-
.command('rules')
|
|
216
|
-
.description("Score MEMO's well-formedness constraints against Syside's published rule codes")
|
|
217
|
-
.argument('[dir]', 'Unused; accepted so every conformance subcommand takes the same shape', '.')
|
|
218
|
-
.option('--missing', 'List the codes with no implementation, and why')
|
|
219
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
220
|
-
.option('-o, --output <file>', 'Write the report to a file instead of stdout')
|
|
221
|
-
.action(async (dir, opts) => {
|
|
222
|
-
await conformanceRulesCommand(dir, opts);
|
|
223
|
-
});
|
|
224
|
-
// ─── memo config ────────────────────────────────────────────────────────────
|
|
225
|
-
const configCmd = program
|
|
226
|
-
.command('config')
|
|
227
|
-
.description('Inspect resolved application settings');
|
|
228
|
-
withToolchainOptions(configCmd
|
|
229
|
-
.command('effective')
|
|
230
|
-
.description('Print settings after flags, the deprecated alias, and defaults are applied')
|
|
231
|
-
.argument('[dir]', 'Project directory', '.')
|
|
232
|
-
.option('--format <format>', 'Output format: yaml, json', 'yaml')).action(async (dir, opts) => {
|
|
233
|
-
await configEffectiveCommand(dir, { ...opts, format: opts.format });
|
|
234
|
-
});
|
|
235
|
-
const exportCmd = program
|
|
236
|
-
.command('export')
|
|
237
|
-
.description('Export model to various formats');
|
|
238
|
-
exportCmd
|
|
239
|
-
.command('json')
|
|
240
|
-
.description('Export full model as JSON')
|
|
241
|
-
.option('-o, --output <file>', 'Output file path', 'memo-model.json')
|
|
242
|
-
.option('--no-pretty', 'Minified JSON output')
|
|
243
|
-
.action(async (options) => {
|
|
244
|
-
await exportJsonCommand(options);
|
|
245
|
-
});
|
|
246
|
-
exportCmd
|
|
247
|
-
.command('dhf')
|
|
248
|
-
.description('Export DHF documents (HTML, Markdown, DOCX)')
|
|
249
|
-
.option('-o, --output <dir>', 'Output directory', 'dhf-output')
|
|
250
|
-
.option('-t, --target <id>', 'Target document ID (e.g., rmp, har, fmea)')
|
|
251
|
-
.option('-f, --format <fmt>', 'Output format: html, md, docx', 'html')
|
|
252
|
-
.option('-g, --group <group>', 'Document group: risk, design, verification, compliance, all')
|
|
253
|
-
.action(async (options) => {
|
|
254
|
-
await exportDhfCommand(options);
|
|
255
|
-
});
|
|
256
|
-
exportCmd
|
|
257
|
-
.command('dot')
|
|
258
|
-
.description('Export model as Graphviz DOT format')
|
|
259
|
-
.option('-o, --output <file>', 'Output file path', 'memo-model.dot')
|
|
260
|
-
.option('--viewpoint <id>', 'Filter by viewpoint ID')
|
|
261
|
-
.action(async (options) => {
|
|
262
|
-
await exportDotCommand(options);
|
|
263
|
-
});
|
|
264
|
-
program
|
|
265
|
-
.command('create-package')
|
|
266
|
-
.description('Scaffold a new MEMO package (ontology, profile, or library)')
|
|
267
|
-
.argument('<name>', 'Package name (e.g., @myorg/cardiac-ontology)')
|
|
268
|
-
.option('-t, --type <type>', 'Package type: ontology, profile, library, device', 'ontology')
|
|
269
|
-
.option('-e, --extends <package>', 'Package to extend (auto-set for profiles)')
|
|
270
|
-
.option('-d, --description <desc>', 'Package description')
|
|
271
|
-
.option('--author <author>', 'Package author')
|
|
272
|
-
.option('--license <license>', 'License', 'Apache-2.0')
|
|
273
|
-
.option('-o, --output <dir>', 'Output base directory', '.')
|
|
274
|
-
.action(async (name, options) => {
|
|
275
|
-
await createPackageCommand(name, options);
|
|
276
|
-
});
|
|
277
|
-
program
|
|
278
|
-
.command('install')
|
|
279
|
-
.description('Install locked MEMO content, or add a package from git, npm, or a local path')
|
|
280
|
-
.argument('[source]', 'Optional package source: git URL, npm package name, or local path')
|
|
281
|
-
.option('--mode <mode>', 'Force install mode: git, npm, or local')
|
|
282
|
-
.action(async (source, options) => {
|
|
283
|
-
await installCommand(source, options);
|
|
284
|
-
});
|
|
285
|
-
program
|
|
286
|
-
.command('lock')
|
|
287
|
-
.description('Regenerate memo.lock.yaml from the current ontology')
|
|
288
|
-
.action(async () => {
|
|
289
|
-
await lockCommand();
|
|
290
|
-
});
|
|
291
|
-
// ─── memo ontology ──────────────────────────────────────────────────────────
|
|
292
|
-
const ontologyCmd = program
|
|
293
|
-
.command('ontology')
|
|
294
|
-
.description('Ontology management commands');
|
|
295
|
-
ontologyCmd
|
|
296
|
-
.command('show')
|
|
297
|
-
.description('Show resolved ontology summary (kinds, relationships, rules)')
|
|
298
|
-
.action(async () => {
|
|
299
|
-
await ontologyShowCommand();
|
|
300
|
-
});
|
|
301
|
-
const ontologyExportCmd = ontologyCmd
|
|
302
|
-
.command('export')
|
|
303
|
-
.description('Export ontology to standard formats');
|
|
304
|
-
ontologyExportCmd
|
|
305
|
-
.command('owl')
|
|
306
|
-
.description('Export ontology as OWL/RDF (Turtle)')
|
|
307
|
-
.option('-o, --output <file>', 'Output file path')
|
|
308
|
-
.option('--namespace <uri>', 'Ontology namespace URI', 'https://sysand.dev/ontology/memo#')
|
|
309
|
-
.action(async (options) => {
|
|
310
|
-
await ontologyExportOwlCommand({ ...options, format: 'turtle' });
|
|
311
|
-
});
|
|
312
|
-
ontologyExportCmd
|
|
313
|
-
.command('xml')
|
|
314
|
-
.description('Export ontology as OWL/RDF (XML)')
|
|
315
|
-
.option('-o, --output <file>', 'Output file path')
|
|
316
|
-
.option('--namespace <uri>', 'Ontology namespace URI', 'https://sysand.dev/ontology/memo#')
|
|
317
|
-
.action(async (options) => {
|
|
318
|
-
await ontologyExportOwlCommand({ ...options, format: 'xml' });
|
|
319
|
-
});
|
|
320
|
-
ontologyExportCmd
|
|
321
|
-
.command('sysand')
|
|
322
|
-
.description('Export ontology dependency stack as a SysAnd project')
|
|
323
|
-
.option('-o, --output <dir>', 'Output directory path')
|
|
324
|
-
.action(async (options) => {
|
|
325
|
-
await ontologyExportSysandCommand(options);
|
|
326
|
-
});
|
|
327
|
-
ontologyCmd
|
|
328
|
-
.command('add-kind <name>')
|
|
329
|
-
.description('Write a new SysML kind definition file into the local ontology folder')
|
|
330
|
-
.requiredOption('-l, --layer <layer>', 'Ontology layer path (e.g. requirements, architecture/risk)')
|
|
331
|
-
.option('-o, --output <dir>', 'Override output directory (default: ontology/<layer>)')
|
|
332
|
-
.action((name, options) => {
|
|
333
|
-
ontologyAddKindCommand(name, options);
|
|
334
|
-
});
|
|
335
|
-
// ─── memo import ──────────────────────────────────────────────────────────
|
|
336
|
-
const importCmd = program
|
|
337
|
-
.command('import')
|
|
338
|
-
.description('Import models from CSV, Sparx EA, Cameo, SysAnd, or OWL/JSON-LD');
|
|
339
|
-
importCmd
|
|
340
|
-
.command('csv')
|
|
341
|
-
.description('Import elements from a CSV file (generates .sysml)')
|
|
342
|
-
.argument('<file>', 'CSV file path')
|
|
343
|
-
.option('-o, --output <file>', 'Output .sysml file path')
|
|
344
|
-
.option('--package <name>', 'SysML package name')
|
|
345
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
346
|
-
.action(async (file, options) => {
|
|
347
|
-
await importCsvCommand(file, options);
|
|
348
|
-
});
|
|
349
|
-
importCmd
|
|
350
|
-
.command('csv-rel')
|
|
351
|
-
.description('Import relationships from a CSV file (generates .sysml)')
|
|
352
|
-
.argument('<file>', 'CSV file path')
|
|
353
|
-
.option('-o, --output <file>', 'Output .sysml file path')
|
|
354
|
-
.option('--package <name>', 'SysML package name')
|
|
355
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
356
|
-
.action(async (file, options) => {
|
|
357
|
-
await importRelCsvCommand(file, options);
|
|
358
|
-
});
|
|
359
|
-
importCmd
|
|
360
|
-
.command('template')
|
|
361
|
-
.description('Generate a template CSV based on the ontology (elements or relationships)')
|
|
362
|
-
.argument('<type>', 'Template type: "elements" or "relationships"')
|
|
363
|
-
.option('-o, --output <file>', 'Output CSV file path')
|
|
364
|
-
.action(async (type, options) => {
|
|
365
|
-
await importTemplateCommand(type, options);
|
|
366
|
-
});
|
|
367
|
-
importCmd
|
|
368
|
-
.command('diff')
|
|
369
|
-
.description('Preview what a CSV import would change without modifying the model')
|
|
370
|
-
.argument('<file>', 'CSV file path')
|
|
371
|
-
.option('--detect-removals', 'Also report elements in the model missing from the CSV')
|
|
372
|
-
.action(async (file, options) => {
|
|
373
|
-
await importDiffCommand(file, options);
|
|
374
|
-
});
|
|
375
|
-
importCmd
|
|
376
|
-
.command('ea')
|
|
377
|
-
.description('Import from Sparx EA JSON export (.json)')
|
|
378
|
-
.argument('<file>', 'EA JSON export file')
|
|
379
|
-
.option('-o, --output <file>', 'Output .sysml file path')
|
|
380
|
-
.option('--package <name>', 'SysML package name')
|
|
381
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
382
|
-
.action(async (file, options) => {
|
|
383
|
-
await importEaCommand(file, options);
|
|
384
|
-
});
|
|
385
|
-
importCmd
|
|
386
|
-
.command('cameo')
|
|
387
|
-
.description('Import from MagicDraw/Cameo XMI or JSON (.xml/.json)')
|
|
388
|
-
.argument('<file>', 'Cameo XMI/XML or JSON file')
|
|
389
|
-
.option('-o, --output <file>', 'Output .sysml file path')
|
|
390
|
-
.option('--package <name>', 'SysML package name')
|
|
391
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
392
|
-
.action(async (file, options) => {
|
|
393
|
-
await importCameoCommand(file, options);
|
|
394
|
-
});
|
|
395
|
-
importCmd
|
|
396
|
-
.command('sysand')
|
|
397
|
-
.description('Import a SysAnd project directory (.project.json + SysML files)')
|
|
398
|
-
.argument('<dir>', 'SysAnd project directory')
|
|
399
|
-
.option('--verify', 'Verify round-trip against current ontology')
|
|
400
|
-
.action(async (dir, options) => {
|
|
401
|
-
await importSysandCommand(dir, options);
|
|
402
|
-
});
|
|
403
|
-
importCmd
|
|
404
|
-
.command('owl')
|
|
405
|
-
.description('Import an OWL/Turtle or JSON-LD ontology')
|
|
406
|
-
.argument('<file>', 'OWL/Turtle (.ttl/.owl) or JSON-LD (.jsonld/.json) file')
|
|
407
|
-
.option('-o, --output <file>', 'Output .sysml file path')
|
|
408
|
-
.option('--package <name>', 'SysML package name')
|
|
409
|
-
.option('--package-dir <dir>', 'Create full ontology package directory')
|
|
410
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
411
|
-
.action(async (file, options) => {
|
|
412
|
-
await importOwlCommand(file, options);
|
|
413
|
-
});
|
|
414
|
-
// ─── memo ask ────────────────────────────────────────────────────────────────
|
|
415
|
-
program
|
|
416
|
-
.command('ask')
|
|
417
|
-
.description('Ask a question about the model using LLM')
|
|
418
|
-
.argument('<question>', 'Natural language question about the model')
|
|
419
|
-
.option('--layer <layer>', 'Filter context to a specific layer')
|
|
420
|
-
.option('--kind <kind>', 'Filter context to a specific kind')
|
|
421
|
-
.action(async (question, options) => {
|
|
422
|
-
await askCommand(question, options);
|
|
89
|
+
withToolchainOptions(program
|
|
90
|
+
.command('publish')
|
|
91
|
+
.description('Dry run of publishing the package or model you are in: stages what `memo pack` stages and reports the artifact; writes and uploads nothing')
|
|
92
|
+
.option('-p, --package <name>', 'Check that this is the package named (by name or directory)')).action(async (options) => {
|
|
93
|
+
await sysandPublishCommand({ ...options, dryRun: true });
|
|
423
94
|
});
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
.
|
|
430
|
-
.
|
|
431
|
-
.
|
|
432
|
-
.option('--
|
|
433
|
-
.option('--
|
|
434
|
-
.option('--
|
|
435
|
-
.
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
95
|
+
withToolchainOptions(program
|
|
96
|
+
.command('validate')
|
|
97
|
+
.description('Validate the model against closure rules and show completeness')
|
|
98
|
+
.argument('[dir]', 'Model directory', '.')
|
|
99
|
+
.option('--format <format>', 'Output format: text, junit, json', 'text')
|
|
100
|
+
.option('-o, --output <file>', 'Write output to file instead of stdout')
|
|
101
|
+
.option('--no-server', 'Compile here even when `memo dev` is running for the model')
|
|
102
|
+
.option('--at <ref>', 'Validate the model as it was at this commit, tag or branch; writes nothing into the project')
|
|
103
|
+
.option('--release <record>', 'Validate the SoS version a release record names; writes nothing into the project')
|
|
104
|
+
.option('--strict-ontology', 'With --at or --release: refuse when the commit was made with another ontology version than this run would use')
|
|
105
|
+
.option('--workspace <name>', 'Validate one workspace: a System or the SystemOfSystems definition. Rules run on its elements over the whole model')
|
|
106
|
+
.option('--rules', 'Instead of validating, list the consistency rules in effect (--format text or json)')
|
|
107
|
+
.option('--rules-domain <domain>', 'With --rules: modelling, medicalDevice, organisation')
|
|
108
|
+
.option('--rules-obligation <obligation>', 'With --rules: required, recommended, bestPractice')
|
|
109
|
+
.option('--rules-category <category>', 'With --rules: invariant, assurance, methodology')
|
|
110
|
+
.option('--explain-rule <id>', 'Instead of validating, show one rule in detail (e.g. CR-MED-001)')
|
|
111
|
+
.option('--standards', 'Instead of validating, report clause coverage: required, claimed, evidenced')
|
|
112
|
+
.option('--standard <designation>', 'With --standards: only this standard (substring of the designation)')
|
|
113
|
+
.option('--regime <regime...>', 'With --standards: scope to these regimes, overriding what the model declares')
|
|
114
|
+
.option('--gaps-only', 'With --standards: only clauses nothing claims')).action(async (dir, opts) => {
|
|
115
|
+
// The read-only reports are flags of compile and validate, not commands of their own.
|
|
116
|
+
const reportFormat = opts.format === 'json' ? 'json' : 'text';
|
|
117
|
+
if (opts.format === 'junit' && (opts.rules || opts.explainRule || opts.standards)) {
|
|
118
|
+
console.error(chalk.red('✖ the rule and standards reports are text or json, not junit.'));
|
|
119
|
+
process.exitCode = 1;
|
|
442
120
|
return;
|
|
443
121
|
}
|
|
444
|
-
if (
|
|
445
|
-
|
|
446
|
-
|
|
122
|
+
if (opts.rules)
|
|
123
|
+
return rulesListCommand(dir, { format: reportFormat, category: opts.rulesCategory, domain: opts.rulesDomain, obligation: opts.rulesObligation });
|
|
124
|
+
if (opts.explainRule)
|
|
125
|
+
return rulesExplainCommand(String(opts.explainRule), dir, { format: reportFormat });
|
|
126
|
+
if (opts.standards) {
|
|
127
|
+
return standardsCheckCommand({
|
|
128
|
+
standard: opts.standard, regime: opts.regime,
|
|
129
|
+
gapsOnly: opts.gapsOnly === true, json: reportFormat === 'json',
|
|
130
|
+
});
|
|
447
131
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
});
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
.description('Generate SysML from a natural language description using LLM')
|
|
455
|
-
.argument('<description>', 'Natural language description of what to generate')
|
|
456
|
-
.option('-o, --output <file>', 'Output .sysml file path (preview if omitted)')
|
|
457
|
-
.option('--dry-run', 'Preview generated SysML without writing')
|
|
458
|
-
.action(async (description, options) => {
|
|
459
|
-
await generateCommand(description, options);
|
|
460
|
-
});
|
|
461
|
-
// ─── memo req ────────────────────────────────────────────────────────────────
|
|
462
|
-
const reqCmd = program
|
|
463
|
-
.command('req')
|
|
464
|
-
.description('Requirement authoring helpers');
|
|
465
|
-
reqCmd
|
|
466
|
-
.command('new')
|
|
467
|
-
.description('Generate a requirement stub from an EARS template')
|
|
468
|
-
.requiredOption('-t, --template <template>', 'Template: ubi, event, state, opt, unwanted')
|
|
469
|
-
.option('-o, --output <file>', 'Write stub to file (stdout if omitted)')
|
|
470
|
-
.option('--id <reqId>', 'Requirement ID', 'REQ-001')
|
|
471
|
-
.option('--title <title>', 'Requirement title', 'New Requirement')
|
|
472
|
-
.action(async (options) => {
|
|
473
|
-
await reqNewCommand({
|
|
474
|
-
template: options.template,
|
|
475
|
-
output: options.output,
|
|
476
|
-
id: options.id,
|
|
477
|
-
title: options.title,
|
|
132
|
+
const pinned = await pinnedTarget(dir, opts);
|
|
133
|
+
if (pinned)
|
|
134
|
+
console.error(chalk.gray(`(${pinned.label})`));
|
|
135
|
+
await validateCommand(pinned ? pinned.dir : dir, {
|
|
136
|
+
...opts, at: undefined, release: undefined, readOnly: pinned ? true : undefined,
|
|
137
|
+
format: opts.format, output: opts.output,
|
|
478
138
|
});
|
|
479
139
|
});
|
|
480
|
-
// ─── memo
|
|
481
|
-
const
|
|
482
|
-
.command('
|
|
483
|
-
.description('
|
|
484
|
-
|
|
485
|
-
.command('list')
|
|
486
|
-
.description('List configured plugins')
|
|
487
|
-
.action(async () => {
|
|
488
|
-
await pluginListCommand();
|
|
489
|
-
});
|
|
490
|
-
pluginCmd
|
|
491
|
-
.command('create')
|
|
492
|
-
.description('Scaffold a new plugin')
|
|
493
|
-
.argument('<name>', 'Plugin name')
|
|
494
|
-
.option('-t, --type <type>', 'Plugin type: export, analysis, validation, generator', 'export')
|
|
495
|
-
.option('-d, --description <desc>', 'Plugin description')
|
|
496
|
-
.option('-o, --output <dir>', 'Output directory')
|
|
497
|
-
.action(async (name, options) => {
|
|
498
|
-
await pluginCreateCommand(name, options);
|
|
499
|
-
});
|
|
500
|
-
pluginCmd
|
|
501
|
-
.command('run')
|
|
502
|
-
.description('Run a generator or analysis plugin')
|
|
503
|
-
.argument('<id>', 'Plugin ID')
|
|
504
|
-
.option('--json', 'Output results as JSON')
|
|
505
|
-
.action(async (id, options) => {
|
|
506
|
-
await pluginRunCommand(id, options);
|
|
507
|
-
});
|
|
508
|
-
// ─── memo dhf ────────────────────────────────────────────────────────────────
|
|
509
|
-
const dhfCmd = program
|
|
510
|
-
.command('dhf')
|
|
511
|
-
.description('Design History File workbench');
|
|
512
|
-
dhfCmd
|
|
513
|
-
.command('init')
|
|
514
|
-
.description('Scaffold DHF document set for your medical device project (interactive wizard)')
|
|
515
|
-
.option('-d, --dir <path>', 'Project directory', '.')
|
|
516
|
-
.action(async (options) => {
|
|
517
|
-
await dhfInitCommand({ projectDir: options.dir });
|
|
518
|
-
});
|
|
519
|
-
dhfCmd
|
|
520
|
-
.command('preview')
|
|
521
|
-
.description('Start local DHF preview server with live reload')
|
|
522
|
-
.option('-p, --port <port>', 'Server port', '3001')
|
|
523
|
-
.action(async (options) => {
|
|
524
|
-
await dhfPreviewCommand({ port: parseInt(options.port, 10) });
|
|
525
|
-
});
|
|
526
|
-
dhfCmd
|
|
527
|
-
.command('lint')
|
|
528
|
-
.description('Validate DHF templates against the ontology they query')
|
|
529
|
-
.option('-f, --filter <prefix>', 'Only lint templates whose id starts with this prefix')
|
|
530
|
-
.option('--structural-only', 'Skip ontology resolution; check frontmatter and query syntax only')
|
|
531
|
-
.option('--json', 'Emit JSON for CI')
|
|
532
|
-
.action(async (options) => {
|
|
533
|
-
await dhfLintCommand(options);
|
|
534
|
-
});
|
|
535
|
-
dhfCmd
|
|
536
|
-
.command('status')
|
|
537
|
-
.description('Show DHF document readiness status')
|
|
538
|
-
.option('-v, --verbose', 'Show section-level detail')
|
|
539
|
-
.option('-t, --target <id>', 'Target document ID')
|
|
540
|
-
.action(async (options) => {
|
|
541
|
-
await dhfStatusCommand(options);
|
|
542
|
-
});
|
|
543
|
-
dhfCmd
|
|
544
|
-
.command('snapshot')
|
|
545
|
-
.description('Create a snapshot of current DHF document state')
|
|
546
|
-
.option('-t, --target <id>', 'Target document ID (default: all)')
|
|
547
|
-
.option('-l, --label <label>', 'Snapshot label')
|
|
548
|
-
.action(async (options) => {
|
|
549
|
-
await dhfSnapshotCommand(options);
|
|
550
|
-
});
|
|
551
|
-
dhfCmd
|
|
552
|
-
.command('diff')
|
|
553
|
-
.description('Compare current state against latest snapshot')
|
|
554
|
-
.requiredOption('-t, --target <id>', 'Target document ID')
|
|
555
|
-
.action(async (options) => {
|
|
556
|
-
await dhfDiffCommand(options);
|
|
557
|
-
});
|
|
558
|
-
dhfCmd
|
|
559
|
-
.command('redline')
|
|
560
|
-
.description('Generate redline document showing changes from last snapshot')
|
|
561
|
-
.requiredOption('-t, --target <id>', 'Target document ID')
|
|
562
|
-
.option('-f, --format <fmt>', 'Output format: html, md, docx', 'html')
|
|
563
|
-
.option('-o, --output <file>', 'Output file path')
|
|
564
|
-
.action(async (options) => {
|
|
565
|
-
await dhfRedlineCommand(options);
|
|
566
|
-
});
|
|
567
|
-
dhfCmd
|
|
568
|
-
.command('draft')
|
|
569
|
-
.description('Use LLM to draft content for gap sections in a DHF document')
|
|
570
|
-
.requiredOption('-t, --target <id>', 'Target document ID (e.g., rmp, har, fmea)')
|
|
571
|
-
.option('-s, --section <id>', 'Draft only a specific section')
|
|
572
|
-
.option('-f, --format <fmt>', 'Output format: html, md, docx', 'html')
|
|
573
|
-
.option('-o, --output <dir>', 'Output directory', 'dhf-drafts')
|
|
574
|
-
.action(async (options) => {
|
|
575
|
-
await dhfDraftCommand(options);
|
|
576
|
-
});
|
|
577
|
-
dhfCmd
|
|
578
|
-
.command('review-packet')
|
|
579
|
-
.description('Generate a complete review packet of all DHF documents')
|
|
580
|
-
.option('-f, --format <fmt>', 'Output format: html, md, docx', 'html')
|
|
581
|
-
.option('-o, --output <dir>', 'Output directory')
|
|
582
|
-
.action(async (options) => {
|
|
583
|
-
await dhfReviewPacketCommand(options);
|
|
584
|
-
});
|
|
585
|
-
// ─── memo standards ─────────────────────────────────────────────────────────
|
|
586
|
-
const standardsCmd = program
|
|
587
|
-
.command('standards')
|
|
588
|
-
.description('Regulatory standards conformance');
|
|
589
|
-
standardsCmd
|
|
140
|
+
// ─── memo toolchain ─────────────────────────────────────────────────────────
|
|
141
|
+
const toolchainCmd = program
|
|
142
|
+
.command('toolchain')
|
|
143
|
+
.description('Inspect the configured SysML toolchain');
|
|
144
|
+
withToolchainOptions(toolchainCmd
|
|
590
145
|
.command('check')
|
|
591
|
-
.description('
|
|
592
|
-
.
|
|
593
|
-
.option('-
|
|
594
|
-
.option('--
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
146
|
+
.description('Run the selected validator over these SysML paths, less the listed exceptions')
|
|
147
|
+
.argument('[paths...]', 'Files or directories, relative to the model directory', [])
|
|
148
|
+
.option('-p, --project <dir>', 'Model directory: settings, exceptions and relative paths', '.')
|
|
149
|
+
.option('--exceptions <file>', 'Exceptions register, relative to the model (default validator-exceptions.json)')).action(async (paths, opts) => {
|
|
150
|
+
await toolchainCheckCommand(paths, opts);
|
|
151
|
+
});
|
|
152
|
+
retiredCommand(toolchainCmd, 'probe', 'memo compile --probe');
|
|
153
|
+
// ─── Retired: conformance ───────────────────────────────────────────────────
|
|
154
|
+
retiredCommand(program, 'conformance', {
|
|
155
|
+
reason: 'it graded MEMO\'s own SysML compiler against the OMG corpus, and that compiler is gone. '
|
|
156
|
+
+ 'The selected compiler is the authority on validity: `memo compile`.',
|
|
157
|
+
});
|
|
158
|
+
// ─── Retired: check, round-trip ──────────────────────────────────────────────
|
|
159
|
+
// Heuristic guesses at what external SysML tools accept, from before the
|
|
160
|
+
// selected compiler was the authority on validity; `memo compile` asks it.
|
|
161
|
+
retiredCommand(program, 'check', 'memo compile');
|
|
162
|
+
retiredCommand(program, 'round-trip', 'memo compile');
|
|
163
|
+
// ─── Moved to memo-architect ───────────────────────────────────────────────
|
|
164
|
+
// One way of doing a thing: these are `memo-architect <command>` now. The old
|
|
165
|
+
// names stay for one release, hidden, and fail naming the replacement.
|
|
166
|
+
retiredCommand(program, 'inspect', 'memo compile --inspect <id>');
|
|
167
|
+
retiredCommand(program, 'element', 'memo-architect element');
|
|
168
|
+
retiredCommand(program, 'init', 'memo-architect init');
|
|
169
|
+
retiredCommand(program, 'convert', 'memo-architect convert');
|
|
170
|
+
retiredCommand(program, 'package', 'memo-architect import kpar [--inspect] <archive>');
|
|
171
|
+
retiredCommand(program, 'config', 'memo compile --effective (what is in effect); memo-architect config (to change it)');
|
|
172
|
+
retiredCommand(program, 'export', 'memo-architect export');
|
|
173
|
+
retiredCommand(program, 'create-package', 'memo-architect new package');
|
|
174
|
+
retiredCommand(program, 'install', 'memo-architect install');
|
|
612
175
|
program
|
|
613
|
-
.command('
|
|
614
|
-
.description('
|
|
615
|
-
.argument('[dir]', '
|
|
616
|
-
.option('--
|
|
617
|
-
.option('--
|
|
618
|
-
.option('-o, --output <file>', 'Write report to file instead of stdout')
|
|
176
|
+
.command('prune')
|
|
177
|
+
.description('Remove the pinned worktrees (.memo/pinned) and assemblies (.memo/assembled) not used lately; both are rebuilt on demand')
|
|
178
|
+
.argument('[dir]', 'Model directory', '.')
|
|
179
|
+
.option('--keep <n>', 'How many of each to keep, most recently used first', '5')
|
|
180
|
+
.option('--dry-run', 'List what would be removed and remove nothing')
|
|
619
181
|
.action(async (dir, opts) => {
|
|
620
|
-
await
|
|
621
|
-
});
|
|
622
|
-
|
|
623
|
-
program
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
.
|
|
641
|
-
|
|
642
|
-
.option
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
.argument('[dir]', 'Project directory', '.')
|
|
659
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
660
|
-
.action(async (ruleId, dir, opts) => {
|
|
661
|
-
await rulesExplainCommand(ruleId, dir, { format: opts.format });
|
|
662
|
-
});
|
|
663
|
-
rulesCmd
|
|
664
|
-
.command('coverage')
|
|
665
|
-
.description('Show coverage rules grouped by regulatory standard')
|
|
666
|
-
.argument('[dir]', 'Project directory', '.')
|
|
667
|
-
.option('--format <format>', 'Output format: text, json', 'text')
|
|
668
|
-
.action(async (dir, opts) => {
|
|
669
|
-
await rulesCoverageCommand(dir, { format: opts.format });
|
|
182
|
+
await pruneCommand(dir, opts);
|
|
183
|
+
});
|
|
184
|
+
retiredCommand(program, 'lock', 'memo-architect lock');
|
|
185
|
+
retiredCommand(program, 'ontology', 'memo-architect ontology');
|
|
186
|
+
retiredCommand(program, 'import', 'memo-architect import');
|
|
187
|
+
retiredCommand(program, 'ask', 'memo-architect ask');
|
|
188
|
+
retiredCommand(program, 'mcp', 'memo-architect mcp');
|
|
189
|
+
retiredCommand(program, 'generate', 'memo-architect generate');
|
|
190
|
+
retiredCommand(program, 'req', 'memo-architect new requirement --pattern <pattern>');
|
|
191
|
+
retiredCommand(program, 'plugin', 'memo-architect plugin');
|
|
192
|
+
retiredCommand(program, 'dhf', 'memo-architect dhf');
|
|
193
|
+
retiredCommand(program, 'standards', 'memo validate --standards');
|
|
194
|
+
retiredCommand(program, 'sysand', 'memo publish');
|
|
195
|
+
retiredCommand(program, 'rules', 'memo validate --rules, --explain-rule <id> (to change them: memo-architect new rule, rules tailor|tailoring)');
|
|
196
|
+
retiredCommand(program, 'examples', 'memo-architect init --list');
|
|
197
|
+
retiredCommand(program, 'templates', 'memo-architect init --list');
|
|
198
|
+
// Every command takes the `--toolchain.*` flags, and the running command's
|
|
199
|
+
// flags apply to whatever settings it loads (model/config-loader.ts).
|
|
200
|
+
const allCommands = (command) => [command, ...command.commands.flatMap(allCommands)];
|
|
201
|
+
for (const command of allCommands(program)) {
|
|
202
|
+
if (command.commands.length > 0 || command === program)
|
|
203
|
+
continue;
|
|
204
|
+
if (!command.options.some(option => option.attributeName() === 'toolchain.compiler'))
|
|
205
|
+
withToolchainOptions(command);
|
|
206
|
+
}
|
|
207
|
+
program.hook('preAction', (_program, action) => {
|
|
208
|
+
setCommandLineToolchain(toolchainOverridesFromCliOptions(action.opts(), defaultRegistry));
|
|
209
|
+
});
|
|
210
|
+
// A stage 1 that rejects the source is a verdict on the model, not a crash:
|
|
211
|
+
// every command that loads one reports its diagnostics and fails, as
|
|
212
|
+
// `memo validate` does. Anything else is still a crash, with its stack.
|
|
213
|
+
program.parseAsync().catch((error) => {
|
|
214
|
+
// So is a project whose settings name no compiler: MEMO chooses none.
|
|
215
|
+
if (error instanceof Stage1RejectedError || error instanceof ToolchainNotConfiguredError || error instanceof ProjectNamesUserSettingError) {
|
|
216
|
+
console.error(chalk.red(`\n❌ ${error.message}\n`));
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
throw error;
|
|
670
220
|
});
|
|
671
|
-
program.parse();
|
|
672
221
|
//# sourceMappingURL=memo.js.map
|