@memoarchitect/tools 0.4.4
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/LICENSE +21 -0
- package/README.md +171 -0
- package/package.json +86 -0
- package/packages/tools/lib/__tests__/archetype-parsing.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/archetype-parsing.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/archetype-parsing.test.js +42 -0
- package/packages/tools/lib/__tests__/archetype-parsing.test.js.map +1 -0
- package/packages/tools/lib/__tests__/architecture-discovery.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/architecture-discovery.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/architecture-discovery.test.js +82 -0
- package/packages/tools/lib/__tests__/architecture-discovery.test.js.map +1 -0
- package/packages/tools/lib/__tests__/behavior.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/behavior.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/behavior.test.js +766 -0
- package/packages/tools/lib/__tests__/behavior.test.js.map +1 -0
- package/packages/tools/lib/__tests__/builder.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/builder.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/builder.test.js +728 -0
- package/packages/tools/lib/__tests__/builder.test.js.map +1 -0
- package/packages/tools/lib/__tests__/config-loader.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/config-loader.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/config-loader.test.js +196 -0
- package/packages/tools/lib/__tests__/config-loader.test.js.map +1 -0
- package/packages/tools/lib/__tests__/conformance.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/conformance.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/conformance.test.js +467 -0
- package/packages/tools/lib/__tests__/conformance.test.js.map +1 -0
- package/packages/tools/lib/__tests__/constraint-eval.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/constraint-eval.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/constraint-eval.test.js +195 -0
- package/packages/tools/lib/__tests__/constraint-eval.test.js.map +1 -0
- package/packages/tools/lib/__tests__/constraint-grammar.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/constraint-grammar.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/constraint-grammar.test.js +163 -0
- package/packages/tools/lib/__tests__/constraint-grammar.test.js.map +1 -0
- package/packages/tools/lib/__tests__/constraint-loader.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/constraint-loader.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/constraint-loader.test.js +150 -0
- package/packages/tools/lib/__tests__/constraint-loader.test.js.map +1 -0
- package/packages/tools/lib/__tests__/csv-io.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/csv-io.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/csv-io.test.js +317 -0
- package/packages/tools/lib/__tests__/csv-io.test.js.map +1 -0
- package/packages/tools/lib/__tests__/dhf-doc-store.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/dhf-doc-store.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/dhf-doc-store.test.js +94 -0
- package/packages/tools/lib/__tests__/dhf-doc-store.test.js.map +1 -0
- package/packages/tools/lib/__tests__/dhf-template-resolver.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/dhf-template-resolver.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/dhf-template-resolver.test.js +39 -0
- package/packages/tools/lib/__tests__/dhf-template-resolver.test.js.map +1 -0
- package/packages/tools/lib/__tests__/dhf.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/dhf.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/dhf.test.js +393 -0
- package/packages/tools/lib/__tests__/dhf.test.js.map +1 -0
- package/packages/tools/lib/__tests__/dimension-filter.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/dimension-filter.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/dimension-filter.test.js +85 -0
- package/packages/tools/lib/__tests__/dimension-filter.test.js.map +1 -0
- package/packages/tools/lib/__tests__/dsm.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/dsm.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/dsm.test.js +112 -0
- package/packages/tools/lib/__tests__/dsm.test.js.map +1 -0
- package/packages/tools/lib/__tests__/e2e-workflow.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/e2e-workflow.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/e2e-workflow.test.js +707 -0
- package/packages/tools/lib/__tests__/e2e-workflow.test.js.map +1 -0
- package/packages/tools/lib/__tests__/file-watcher.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/file-watcher.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/file-watcher.test.js +31 -0
- package/packages/tools/lib/__tests__/file-watcher.test.js.map +1 -0
- package/packages/tools/lib/__tests__/impact.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/impact.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/impact.test.js +82 -0
- package/packages/tools/lib/__tests__/impact.test.js.map +1 -0
- package/packages/tools/lib/__tests__/importer.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/importer.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/importer.test.js +336 -0
- package/packages/tools/lib/__tests__/importer.test.js.map +1 -0
- package/packages/tools/lib/__tests__/kind-registry.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/kind-registry.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/kind-registry.test.js +132 -0
- package/packages/tools/lib/__tests__/kind-registry.test.js.map +1 -0
- package/packages/tools/lib/__tests__/llm.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/llm.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/llm.test.js +275 -0
- package/packages/tools/lib/__tests__/llm.test.js.map +1 -0
- package/packages/tools/lib/__tests__/manifest-resolver.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/manifest-resolver.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/manifest-resolver.test.js +97 -0
- package/packages/tools/lib/__tests__/manifest-resolver.test.js.map +1 -0
- package/packages/tools/lib/__tests__/markdown-to-ir.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/markdown-to-ir.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/markdown-to-ir.test.js +74 -0
- package/packages/tools/lib/__tests__/markdown-to-ir.test.js.map +1 -0
- package/packages/tools/lib/__tests__/methodology-scope.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/methodology-scope.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/methodology-scope.test.js +59 -0
- package/packages/tools/lib/__tests__/methodology-scope.test.js.map +1 -0
- package/packages/tools/lib/__tests__/parser.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/parser.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/parser.test.js +938 -0
- package/packages/tools/lib/__tests__/parser.test.js.map +1 -0
- package/packages/tools/lib/__tests__/plugin.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/plugin.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/plugin.test.js +308 -0
- package/packages/tools/lib/__tests__/plugin.test.js.map +1 -0
- package/packages/tools/lib/__tests__/relationship-registry.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/relationship-registry.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/relationship-registry.test.js +96 -0
- package/packages/tools/lib/__tests__/relationship-registry.test.js.map +1 -0
- package/packages/tools/lib/__tests__/rule-registry.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/rule-registry.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/rule-registry.test.js +53 -0
- package/packages/tools/lib/__tests__/rule-registry.test.js.map +1 -0
- package/packages/tools/lib/__tests__/toolchain.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/toolchain.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/toolchain.test.js +94 -0
- package/packages/tools/lib/__tests__/toolchain.test.js.map +1 -0
- package/packages/tools/lib/__tests__/view-deriver-samples.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/view-deriver-samples.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/view-deriver-samples.test.js +39 -0
- package/packages/tools/lib/__tests__/view-deriver-samples.test.js.map +1 -0
- package/packages/tools/lib/__tests__/view-kinds.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/view-kinds.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/view-kinds.test.js +263 -0
- package/packages/tools/lib/__tests__/view-kinds.test.js.map +1 -0
- package/packages/tools/lib/__tests__/view-layout-store.test.d.ts +2 -0
- package/packages/tools/lib/__tests__/view-layout-store.test.d.ts.map +1 -0
- package/packages/tools/lib/__tests__/view-layout-store.test.js +61 -0
- package/packages/tools/lib/__tests__/view-layout-store.test.js.map +1 -0
- package/packages/tools/lib/analysis/dsm.d.ts +47 -0
- package/packages/tools/lib/analysis/dsm.d.ts.map +1 -0
- package/packages/tools/lib/analysis/dsm.js +172 -0
- package/packages/tools/lib/analysis/dsm.js.map +1 -0
- package/packages/tools/lib/analysis/impact.d.ts +35 -0
- package/packages/tools/lib/analysis/impact.d.ts.map +1 -0
- package/packages/tools/lib/analysis/impact.js +97 -0
- package/packages/tools/lib/analysis/impact.js.map +1 -0
- package/packages/tools/lib/bin/memo.d.ts +3 -0
- package/packages/tools/lib/bin/memo.d.ts.map +1 -0
- package/packages/tools/lib/bin/memo.js +461 -0
- package/packages/tools/lib/bin/memo.js.map +1 -0
- package/packages/tools/lib/browser/index.d.ts +13 -0
- package/packages/tools/lib/browser/index.d.ts.map +1 -0
- package/packages/tools/lib/browser/index.js +11 -0
- package/packages/tools/lib/browser/index.js.map +1 -0
- package/packages/tools/lib/commands/archetype-loader.d.ts +15 -0
- package/packages/tools/lib/commands/archetype-loader.d.ts.map +1 -0
- package/packages/tools/lib/commands/archetype-loader.js +31 -0
- package/packages/tools/lib/commands/archetype-loader.js.map +1 -0
- package/packages/tools/lib/commands/ask.d.ts +6 -0
- package/packages/tools/lib/commands/ask.d.ts.map +1 -0
- package/packages/tools/lib/commands/ask.js +79 -0
- package/packages/tools/lib/commands/ask.js.map +1 -0
- package/packages/tools/lib/commands/check.d.ts +6 -0
- package/packages/tools/lib/commands/check.d.ts.map +1 -0
- package/packages/tools/lib/commands/check.js +214 -0
- package/packages/tools/lib/commands/check.js.map +1 -0
- package/packages/tools/lib/commands/create-package.d.ts +12 -0
- package/packages/tools/lib/commands/create-package.d.ts.map +1 -0
- package/packages/tools/lib/commands/create-package.js +293 -0
- package/packages/tools/lib/commands/create-package.js.map +1 -0
- package/packages/tools/lib/commands/dev.d.ts +6 -0
- package/packages/tools/lib/commands/dev.d.ts.map +1 -0
- package/packages/tools/lib/commands/dev.js +316 -0
- package/packages/tools/lib/commands/dev.js.map +1 -0
- package/packages/tools/lib/commands/dhf-draft.d.ts +8 -0
- package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -0
- package/packages/tools/lib/commands/dhf-draft.js +115 -0
- package/packages/tools/lib/commands/dhf-draft.js.map +1 -0
- package/packages/tools/lib/commands/dhf-init.d.ts +4 -0
- package/packages/tools/lib/commands/dhf-init.d.ts.map +1 -0
- package/packages/tools/lib/commands/dhf-init.js +270 -0
- package/packages/tools/lib/commands/dhf-init.js.map +1 -0
- package/packages/tools/lib/commands/dhf-preview.d.ts +4 -0
- package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -0
- package/packages/tools/lib/commands/dhf-preview.js +285 -0
- package/packages/tools/lib/commands/dhf-preview.js.map +1 -0
- package/packages/tools/lib/commands/dhf.d.ts +27 -0
- package/packages/tools/lib/commands/dhf.d.ts.map +1 -0
- package/packages/tools/lib/commands/dhf.js +334 -0
- package/packages/tools/lib/commands/dhf.js.map +1 -0
- package/packages/tools/lib/commands/export.d.ts +9 -0
- package/packages/tools/lib/commands/export.d.ts.map +1 -0
- package/packages/tools/lib/commands/export.js +136 -0
- package/packages/tools/lib/commands/export.js.map +1 -0
- package/packages/tools/lib/commands/generate.d.ts +6 -0
- package/packages/tools/lib/commands/generate.d.ts.map +1 -0
- package/packages/tools/lib/commands/generate.js +80 -0
- package/packages/tools/lib/commands/generate.js.map +1 -0
- package/packages/tools/lib/commands/import-ea.d.ts +32 -0
- package/packages/tools/lib/commands/import-ea.d.ts.map +1 -0
- package/packages/tools/lib/commands/import-ea.js +156 -0
- package/packages/tools/lib/commands/import-ea.js.map +1 -0
- package/packages/tools/lib/commands/import-owl.d.ts +19 -0
- package/packages/tools/lib/commands/import-owl.d.ts.map +1 -0
- package/packages/tools/lib/commands/import-owl.js +103 -0
- package/packages/tools/lib/commands/import-owl.js.map +1 -0
- package/packages/tools/lib/commands/import-sysand.d.ts +11 -0
- package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -0
- package/packages/tools/lib/commands/import-sysand.js +87 -0
- package/packages/tools/lib/commands/import-sysand.js.map +1 -0
- package/packages/tools/lib/commands/import.d.ts +30 -0
- package/packages/tools/lib/commands/import.d.ts.map +1 -0
- package/packages/tools/lib/commands/import.js +250 -0
- package/packages/tools/lib/commands/import.js.map +1 -0
- package/packages/tools/lib/commands/init-wizard.d.ts +10 -0
- package/packages/tools/lib/commands/init-wizard.d.ts.map +1 -0
- package/packages/tools/lib/commands/init-wizard.js +69 -0
- package/packages/tools/lib/commands/init-wizard.js.map +1 -0
- package/packages/tools/lib/commands/init.d.ts +30 -0
- package/packages/tools/lib/commands/init.d.ts.map +1 -0
- package/packages/tools/lib/commands/init.js +238 -0
- package/packages/tools/lib/commands/init.js.map +1 -0
- package/packages/tools/lib/commands/install.d.ts +8 -0
- package/packages/tools/lib/commands/install.d.ts.map +1 -0
- package/packages/tools/lib/commands/install.js +238 -0
- package/packages/tools/lib/commands/install.js.map +1 -0
- package/packages/tools/lib/commands/lock.d.ts +2 -0
- package/packages/tools/lib/commands/lock.d.ts.map +1 -0
- package/packages/tools/lib/commands/lock.js +29 -0
- package/packages/tools/lib/commands/lock.js.map +1 -0
- package/packages/tools/lib/commands/ontology.d.ts +14 -0
- package/packages/tools/lib/commands/ontology.d.ts.map +1 -0
- package/packages/tools/lib/commands/ontology.js +464 -0
- package/packages/tools/lib/commands/ontology.js.map +1 -0
- package/packages/tools/lib/commands/pack.d.ts +4 -0
- package/packages/tools/lib/commands/pack.d.ts.map +1 -0
- package/packages/tools/lib/commands/pack.js +89 -0
- package/packages/tools/lib/commands/pack.js.map +1 -0
- package/packages/tools/lib/commands/plugin.d.ts +10 -0
- package/packages/tools/lib/commands/plugin.d.ts.map +1 -0
- package/packages/tools/lib/commands/plugin.js +195 -0
- package/packages/tools/lib/commands/plugin.js.map +1 -0
- package/packages/tools/lib/commands/req.d.ts +10 -0
- package/packages/tools/lib/commands/req.d.ts.map +1 -0
- package/packages/tools/lib/commands/req.js +64 -0
- package/packages/tools/lib/commands/req.js.map +1 -0
- package/packages/tools/lib/commands/roundtrip.d.ts +6 -0
- package/packages/tools/lib/commands/roundtrip.d.ts.map +1 -0
- package/packages/tools/lib/commands/roundtrip.js +162 -0
- package/packages/tools/lib/commands/roundtrip.js.map +1 -0
- package/packages/tools/lib/commands/rules.d.ts +15 -0
- package/packages/tools/lib/commands/rules.d.ts.map +1 -0
- package/packages/tools/lib/commands/rules.js +282 -0
- package/packages/tools/lib/commands/rules.js.map +1 -0
- package/packages/tools/lib/commands/sysand-publish.d.ts +6 -0
- package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -0
- package/packages/tools/lib/commands/sysand-publish.js +231 -0
- package/packages/tools/lib/commands/sysand-publish.js.map +1 -0
- package/packages/tools/lib/commands/validate.d.ts +6 -0
- package/packages/tools/lib/commands/validate.d.ts.map +1 -0
- package/packages/tools/lib/commands/validate.js +269 -0
- package/packages/tools/lib/commands/validate.js.map +1 -0
- package/packages/tools/lib/completeness/tracker.d.ts +11 -0
- package/packages/tools/lib/completeness/tracker.d.ts.map +1 -0
- package/packages/tools/lib/completeness/tracker.js +86 -0
- package/packages/tools/lib/completeness/tracker.js.map +1 -0
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts +102 -0
- package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -0
- package/packages/tools/lib/dhf/dhf-config-v2.js +82 -0
- package/packages/tools/lib/dhf/dhf-config-v2.js.map +1 -0
- package/packages/tools/lib/dhf/dhf-config.d.ts +53 -0
- package/packages/tools/lib/dhf/dhf-config.d.ts.map +1 -0
- package/packages/tools/lib/dhf/dhf-config.js +44 -0
- package/packages/tools/lib/dhf/dhf-config.js.map +1 -0
- package/packages/tools/lib/dhf/directive-parser.d.ts +31 -0
- package/packages/tools/lib/dhf/directive-parser.d.ts.map +1 -0
- package/packages/tools/lib/dhf/directive-parser.js +83 -0
- package/packages/tools/lib/dhf/directive-parser.js.map +1 -0
- package/packages/tools/lib/dhf/document-compiler.d.ts +68 -0
- package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -0
- package/packages/tools/lib/dhf/document-compiler.js +209 -0
- package/packages/tools/lib/dhf/document-compiler.js.map +1 -0
- package/packages/tools/lib/dhf/document-ir.d.ts +170 -0
- package/packages/tools/lib/dhf/document-ir.d.ts.map +1 -0
- package/packages/tools/lib/dhf/document-ir.js +47 -0
- package/packages/tools/lib/dhf/document-ir.js.map +1 -0
- package/packages/tools/lib/dhf/document-registry.d.ts +45 -0
- package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -0
- package/packages/tools/lib/dhf/document-registry.js +342 -0
- package/packages/tools/lib/dhf/document-registry.js.map +1 -0
- package/packages/tools/lib/dhf/export-plugin.d.ts +24 -0
- package/packages/tools/lib/dhf/export-plugin.d.ts.map +1 -0
- package/packages/tools/lib/dhf/export-plugin.js +24 -0
- package/packages/tools/lib/dhf/export-plugin.js.map +1 -0
- package/packages/tools/lib/dhf/exporters/docx-exporter.d.ts +15 -0
- package/packages/tools/lib/dhf/exporters/docx-exporter.d.ts.map +1 -0
- package/packages/tools/lib/dhf/exporters/docx-exporter.js +159 -0
- package/packages/tools/lib/dhf/exporters/docx-exporter.js.map +1 -0
- package/packages/tools/lib/dhf/exporters/html-exporter.d.ts +9 -0
- package/packages/tools/lib/dhf/exporters/html-exporter.d.ts.map +1 -0
- package/packages/tools/lib/dhf/exporters/html-exporter.js +248 -0
- package/packages/tools/lib/dhf/exporters/html-exporter.js.map +1 -0
- package/packages/tools/lib/dhf/exporters/markdown-exporter.d.ts +9 -0
- package/packages/tools/lib/dhf/exporters/markdown-exporter.d.ts.map +1 -0
- package/packages/tools/lib/dhf/exporters/markdown-exporter.js +147 -0
- package/packages/tools/lib/dhf/exporters/markdown-exporter.js.map +1 -0
- package/packages/tools/lib/dhf/index.d.ts +15 -0
- package/packages/tools/lib/dhf/index.d.ts.map +1 -0
- package/packages/tools/lib/dhf/index.js +21 -0
- package/packages/tools/lib/dhf/index.js.map +1 -0
- package/packages/tools/lib/dhf/markdown-to-ir.d.ts +19 -0
- package/packages/tools/lib/dhf/markdown-to-ir.d.ts.map +1 -0
- package/packages/tools/lib/dhf/markdown-to-ir.js +193 -0
- package/packages/tools/lib/dhf/markdown-to-ir.js.map +1 -0
- package/packages/tools/lib/dhf/query-engine.d.ts +61 -0
- package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -0
- package/packages/tools/lib/dhf/query-engine.js +109 -0
- package/packages/tools/lib/dhf/query-engine.js.map +1 -0
- package/packages/tools/lib/dhf/query-executor.d.ts +33 -0
- package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -0
- package/packages/tools/lib/dhf/query-executor.js +222 -0
- package/packages/tools/lib/dhf/query-executor.js.map +1 -0
- package/packages/tools/lib/dhf/script-runner.d.ts +4 -0
- package/packages/tools/lib/dhf/script-runner.d.ts.map +1 -0
- package/packages/tools/lib/dhf/script-runner.js +62 -0
- package/packages/tools/lib/dhf/script-runner.js.map +1 -0
- package/packages/tools/lib/dhf/snapshot.d.ts +60 -0
- package/packages/tools/lib/dhf/snapshot.d.ts.map +1 -0
- package/packages/tools/lib/dhf/snapshot.js +185 -0
- package/packages/tools/lib/dhf/snapshot.js.map +1 -0
- package/packages/tools/lib/dhf/template-engine.d.ts +18 -0
- package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -0
- package/packages/tools/lib/dhf/template-engine.js +339 -0
- package/packages/tools/lib/dhf/template-engine.js.map +1 -0
- package/packages/tools/lib/dhf/template-resolver.d.ts +42 -0
- package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -0
- package/packages/tools/lib/dhf/template-resolver.js +196 -0
- package/packages/tools/lib/dhf/template-resolver.js.map +1 -0
- package/packages/tools/lib/import/column-mapper.d.ts +35 -0
- package/packages/tools/lib/import/column-mapper.d.ts.map +1 -0
- package/packages/tools/lib/import/column-mapper.js +171 -0
- package/packages/tools/lib/import/column-mapper.js.map +1 -0
- package/packages/tools/lib/import/import-diff.d.ts +49 -0
- package/packages/tools/lib/import/import-diff.d.ts.map +1 -0
- package/packages/tools/lib/import/import-diff.js +102 -0
- package/packages/tools/lib/import/import-diff.js.map +1 -0
- package/packages/tools/lib/import/recipes.d.ts +43 -0
- package/packages/tools/lib/import/recipes.d.ts.map +1 -0
- package/packages/tools/lib/import/recipes.js +133 -0
- package/packages/tools/lib/import/recipes.js.map +1 -0
- package/packages/tools/lib/importer/cameo-importer.d.ts +103 -0
- package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -0
- package/packages/tools/lib/importer/cameo-importer.js +384 -0
- package/packages/tools/lib/importer/cameo-importer.js.map +1 -0
- package/packages/tools/lib/importer/ea-importer.d.ts +115 -0
- package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -0
- package/packages/tools/lib/importer/ea-importer.js +325 -0
- package/packages/tools/lib/importer/ea-importer.js.map +1 -0
- package/packages/tools/lib/importer/index.d.ts +5 -0
- package/packages/tools/lib/importer/index.d.ts.map +1 -0
- package/packages/tools/lib/importer/index.js +15 -0
- package/packages/tools/lib/importer/index.js.map +1 -0
- package/packages/tools/lib/importer/owl-importer.d.ts +91 -0
- package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -0
- package/packages/tools/lib/importer/owl-importer.js +429 -0
- package/packages/tools/lib/importer/owl-importer.js.map +1 -0
- package/packages/tools/lib/importer/sysand-importer.d.ts +78 -0
- package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -0
- package/packages/tools/lib/importer/sysand-importer.js +188 -0
- package/packages/tools/lib/importer/sysand-importer.js.map +1 -0
- package/packages/tools/lib/index.d.ts +44 -0
- package/packages/tools/lib/index.d.ts.map +1 -0
- package/packages/tools/lib/index.js +56 -0
- package/packages/tools/lib/index.js.map +1 -0
- package/packages/tools/lib/language/generated/ast.d.ts +629 -0
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -0
- package/packages/tools/lib/language/generated/ast.js +961 -0
- package/packages/tools/lib/language/generated/ast.js.map +1 -0
- package/packages/tools/lib/language/generated/grammar.d.ts +7 -0
- package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -0
- package/packages/tools/lib/language/generated/grammar.js +5676 -0
- package/packages/tools/lib/language/generated/grammar.js.map +1 -0
- package/packages/tools/lib/language/generated/module.d.ts +14 -0
- package/packages/tools/lib/language/generated/module.d.ts.map +1 -0
- package/packages/tools/lib/language/generated/module.js +21 -0
- package/packages/tools/lib/language/generated/module.js.map +1 -0
- package/packages/tools/lib/language/memo-sysml-module.d.ts +24 -0
- package/packages/tools/lib/language/memo-sysml-module.d.ts.map +1 -0
- package/packages/tools/lib/language/memo-sysml-module.js +20 -0
- package/packages/tools/lib/language/memo-sysml-module.js.map +1 -0
- package/packages/tools/lib/llm/ask-engine.d.ts +17 -0
- package/packages/tools/lib/llm/ask-engine.d.ts.map +1 -0
- package/packages/tools/lib/llm/ask-engine.js +43 -0
- package/packages/tools/lib/llm/ask-engine.js.map +1 -0
- package/packages/tools/lib/llm/draft-engine.d.ts +32 -0
- package/packages/tools/lib/llm/draft-engine.d.ts.map +1 -0
- package/packages/tools/lib/llm/draft-engine.js +270 -0
- package/packages/tools/lib/llm/draft-engine.js.map +1 -0
- package/packages/tools/lib/llm/generate-engine.d.ts +21 -0
- package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -0
- package/packages/tools/lib/llm/generate-engine.js +83 -0
- package/packages/tools/lib/llm/generate-engine.js.map +1 -0
- package/packages/tools/lib/llm/index.d.ts +6 -0
- package/packages/tools/lib/llm/index.d.ts.map +1 -0
- package/packages/tools/lib/llm/index.js +11 -0
- package/packages/tools/lib/llm/index.js.map +1 -0
- package/packages/tools/lib/llm/llm-provider.d.ts +40 -0
- package/packages/tools/lib/llm/llm-provider.d.ts.map +1 -0
- package/packages/tools/lib/llm/llm-provider.js +121 -0
- package/packages/tools/lib/llm/llm-provider.js.map +1 -0
- package/packages/tools/lib/llm/model-context.d.ts +28 -0
- package/packages/tools/lib/llm/model-context.d.ts.map +1 -0
- package/packages/tools/lib/llm/model-context.js +162 -0
- package/packages/tools/lib/llm/model-context.js.map +1 -0
- package/packages/tools/lib/lock.d.ts +43 -0
- package/packages/tools/lib/lock.d.ts.map +1 -0
- package/packages/tools/lib/lock.js +225 -0
- package/packages/tools/lib/lock.js.map +1 -0
- package/packages/tools/lib/model/builder.d.ts +22 -0
- package/packages/tools/lib/model/builder.d.ts.map +1 -0
- package/packages/tools/lib/model/builder.js +708 -0
- package/packages/tools/lib/model/builder.js.map +1 -0
- package/packages/tools/lib/model/config-loader.d.ts +34 -0
- package/packages/tools/lib/model/config-loader.d.ts.map +1 -0
- package/packages/tools/lib/model/config-loader.js +257 -0
- package/packages/tools/lib/model/config-loader.js.map +1 -0
- package/packages/tools/lib/model/config.d.ts +220 -0
- package/packages/tools/lib/model/config.d.ts.map +1 -0
- package/packages/tools/lib/model/config.js +14 -0
- package/packages/tools/lib/model/config.js.map +1 -0
- package/packages/tools/lib/model/content-store.d.ts +8 -0
- package/packages/tools/lib/model/content-store.d.ts.map +1 -0
- package/packages/tools/lib/model/content-store.js +59 -0
- package/packages/tools/lib/model/content-store.js.map +1 -0
- package/packages/tools/lib/model/dimension-filter.d.ts +33 -0
- package/packages/tools/lib/model/dimension-filter.d.ts.map +1 -0
- package/packages/tools/lib/model/dimension-filter.js +57 -0
- package/packages/tools/lib/model/dimension-filter.js.map +1 -0
- package/packages/tools/lib/model/kind-registry.d.ts +72 -0
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -0
- package/packages/tools/lib/model/kind-registry.js +178 -0
- package/packages/tools/lib/model/kind-registry.js.map +1 -0
- package/packages/tools/lib/model/layer-resolver.d.ts +25 -0
- package/packages/tools/lib/model/layer-resolver.d.ts.map +1 -0
- package/packages/tools/lib/model/layer-resolver.js +82 -0
- package/packages/tools/lib/model/layer-resolver.js.map +1 -0
- package/packages/tools/lib/model/manifest.d.ts +23 -0
- package/packages/tools/lib/model/manifest.d.ts.map +1 -0
- package/packages/tools/lib/model/manifest.js +117 -0
- package/packages/tools/lib/model/manifest.js.map +1 -0
- package/packages/tools/lib/model/methodology-loader.d.ts +56 -0
- package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -0
- package/packages/tools/lib/model/methodology-loader.js +203 -0
- package/packages/tools/lib/model/methodology-loader.js.map +1 -0
- package/packages/tools/lib/model/ontology-loader.d.ts +113 -0
- package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -0
- package/packages/tools/lib/model/ontology-loader.js +901 -0
- package/packages/tools/lib/model/ontology-loader.js.map +1 -0
- package/packages/tools/lib/model/package-registry.d.ts +62 -0
- package/packages/tools/lib/model/package-registry.d.ts.map +1 -0
- package/packages/tools/lib/model/package-registry.js +164 -0
- package/packages/tools/lib/model/package-registry.js.map +1 -0
- package/packages/tools/lib/model/parser-utils.d.ts +23 -0
- package/packages/tools/lib/model/parser-utils.d.ts.map +1 -0
- package/packages/tools/lib/model/parser-utils.js +63 -0
- package/packages/tools/lib/model/parser-utils.js.map +1 -0
- package/packages/tools/lib/model/paths.d.ts +18 -0
- package/packages/tools/lib/model/paths.d.ts.map +1 -0
- package/packages/tools/lib/model/paths.js +26 -0
- package/packages/tools/lib/model/paths.js.map +1 -0
- package/packages/tools/lib/model/relationship-registry.d.ts +64 -0
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -0
- package/packages/tools/lib/model/relationship-registry.js +141 -0
- package/packages/tools/lib/model/relationship-registry.js.map +1 -0
- package/packages/tools/lib/model/semantic.d.ts +175 -0
- package/packages/tools/lib/model/semantic.d.ts.map +1 -0
- package/packages/tools/lib/model/semantic.js +61 -0
- package/packages/tools/lib/model/semantic.js.map +1 -0
- package/packages/tools/lib/model/short-id.d.ts +32 -0
- package/packages/tools/lib/model/short-id.d.ts.map +1 -0
- package/packages/tools/lib/model/short-id.js +136 -0
- package/packages/tools/lib/model/short-id.js.map +1 -0
- package/packages/tools/lib/model/toolchain.d.ts +12 -0
- package/packages/tools/lib/model/toolchain.d.ts.map +1 -0
- package/packages/tools/lib/model/toolchain.js +92 -0
- package/packages/tools/lib/model/toolchain.js.map +1 -0
- package/packages/tools/lib/model/view-deriver.d.ts +22 -0
- package/packages/tools/lib/model/view-deriver.d.ts.map +1 -0
- package/packages/tools/lib/model/view-deriver.js +160 -0
- package/packages/tools/lib/model/view-deriver.js.map +1 -0
- package/packages/tools/lib/model/view-kinds.d.ts +29 -0
- package/packages/tools/lib/model/view-kinds.d.ts.map +1 -0
- package/packages/tools/lib/model/view-kinds.js +80 -0
- package/packages/tools/lib/model/view-kinds.js.map +1 -0
- package/packages/tools/lib/ontology/owl-exporter.d.ts +43 -0
- package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -0
- package/packages/tools/lib/ontology/owl-exporter.js +70 -0
- package/packages/tools/lib/ontology/owl-exporter.js.map +1 -0
- package/packages/tools/lib/operations/index.d.ts +8 -0
- package/packages/tools/lib/operations/index.d.ts.map +1 -0
- package/packages/tools/lib/operations/index.js +8 -0
- package/packages/tools/lib/operations/index.js.map +1 -0
- package/packages/tools/lib/operations/project-snapshot.d.ts +17 -0
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -0
- package/packages/tools/lib/operations/project-snapshot.js +103 -0
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -0
- package/packages/tools/lib/plugin/index.d.ts +5 -0
- package/packages/tools/lib/plugin/index.d.ts.map +1 -0
- package/packages/tools/lib/plugin/index.js +10 -0
- package/packages/tools/lib/plugin/index.js.map +1 -0
- package/packages/tools/lib/plugin/plugin-loader.d.ts +26 -0
- package/packages/tools/lib/plugin/plugin-loader.d.ts.map +1 -0
- package/packages/tools/lib/plugin/plugin-loader.js +216 -0
- package/packages/tools/lib/plugin/plugin-loader.js.map +1 -0
- package/packages/tools/lib/plugin/plugin-registry.d.ts +49 -0
- package/packages/tools/lib/plugin/plugin-registry.d.ts.map +1 -0
- package/packages/tools/lib/plugin/plugin-registry.js +121 -0
- package/packages/tools/lib/plugin/plugin-registry.js.map +1 -0
- package/packages/tools/lib/plugin/plugin-scaffold.d.ts +17 -0
- package/packages/tools/lib/plugin/plugin-scaffold.d.ts.map +1 -0
- package/packages/tools/lib/plugin/plugin-scaffold.js +223 -0
- package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -0
- package/packages/tools/lib/plugin/plugin-types.d.ts +115 -0
- package/packages/tools/lib/plugin/plugin-types.d.ts.map +1 -0
- package/packages/tools/lib/plugin/plugin-types.js +11 -0
- package/packages/tools/lib/plugin/plugin-types.js.map +1 -0
- package/packages/tools/lib/protocol/messages.d.ts +470 -0
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -0
- package/packages/tools/lib/protocol/messages.js +6 -0
- package/packages/tools/lib/protocol/messages.js.map +1 -0
- package/packages/tools/lib/serializer/csv-io.d.ts +113 -0
- package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -0
- package/packages/tools/lib/serializer/csv-io.js +394 -0
- package/packages/tools/lib/serializer/csv-io.js.map +1 -0
- package/packages/tools/lib/serializer/sysml-generator.d.ts +32 -0
- package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -0
- package/packages/tools/lib/serializer/sysml-generator.js +120 -0
- package/packages/tools/lib/serializer/sysml-generator.js.map +1 -0
- package/packages/tools/lib/server/config-resolver.d.ts +14 -0
- package/packages/tools/lib/server/config-resolver.d.ts.map +1 -0
- package/packages/tools/lib/server/config-resolver.js +54 -0
- package/packages/tools/lib/server/config-resolver.js.map +1 -0
- package/packages/tools/lib/server/dev-server.d.ts +17 -0
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -0
- package/packages/tools/lib/server/dev-server.js +939 -0
- package/packages/tools/lib/server/dev-server.js.map +1 -0
- package/packages/tools/lib/server/dhf-doc-store.d.ts +11 -0
- package/packages/tools/lib/server/dhf-doc-store.d.ts.map +1 -0
- package/packages/tools/lib/server/dhf-doc-store.js +181 -0
- package/packages/tools/lib/server/dhf-doc-store.js.map +1 -0
- package/packages/tools/lib/server/file-watcher.d.ts +20 -0
- package/packages/tools/lib/server/file-watcher.d.ts.map +1 -0
- package/packages/tools/lib/server/file-watcher.js +140 -0
- package/packages/tools/lib/server/file-watcher.js.map +1 -0
- package/packages/tools/lib/server/persistor.d.ts +25 -0
- package/packages/tools/lib/server/persistor.d.ts.map +1 -0
- package/packages/tools/lib/server/persistor.js +100 -0
- package/packages/tools/lib/server/persistor.js.map +1 -0
- package/packages/tools/lib/server/view-layout-store.d.ts +8 -0
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -0
- package/packages/tools/lib/server/view-layout-store.js +73 -0
- package/packages/tools/lib/server/view-layout-store.js.map +1 -0
- package/packages/tools/lib/types/index.d.ts +4 -0
- package/packages/tools/lib/types/index.d.ts.map +1 -0
- package/packages/tools/lib/types/index.js +6 -0
- package/packages/tools/lib/types/index.js.map +1 -0
- package/packages/tools/lib/validator/behavior-validator.d.ts +12 -0
- package/packages/tools/lib/validator/behavior-validator.d.ts.map +1 -0
- package/packages/tools/lib/validator/behavior-validator.js +124 -0
- package/packages/tools/lib/validator/behavior-validator.js.map +1 -0
- package/packages/tools/lib/validator/constraint-eval.d.ts +90 -0
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -0
- package/packages/tools/lib/validator/constraint-eval.js +478 -0
- package/packages/tools/lib/validator/constraint-eval.js.map +1 -0
- package/packages/tools/lib/validator/constraint-loader.d.ts +10 -0
- package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -0
- package/packages/tools/lib/validator/constraint-loader.js +113 -0
- package/packages/tools/lib/validator/constraint-loader.js.map +1 -0
- package/packages/tools/lib/validator/rule-engine.d.ts +13 -0
- package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-engine.js +38 -0
- package/packages/tools/lib/validator/rule-engine.js.map +1 -0
- package/packages/tools/lib/validator/rule-registry.d.ts +61 -0
- package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -0
- package/packages/tools/lib/validator/rule-registry.js +142 -0
- package/packages/tools/lib/validator/rule-registry.js.map +1 -0
- package/packages/tools/lib/validator/types.d.ts +59 -0
- package/packages/tools/lib/validator/types.d.ts.map +1 -0
- package/packages/tools/lib/validator/types.js +3 -0
- package/packages/tools/lib/validator/types.js.map +1 -0
- package/packages/tools/lib/validator/view-validator.d.ts +11 -0
- package/packages/tools/lib/validator/view-validator.d.ts.map +1 -0
- package/packages/tools/lib/validator/view-validator.js +48 -0
- package/packages/tools/lib/validator/view-validator.js.map +1 -0
- package/packages/tools/src/grammar/memo-sysml.langium +450 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { isAbsolute, resolve } from 'node:path';
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
import { findOntologyPackageDirs, resolvePackageSysmlDir } from './ontology-loader.js';
|
|
6
|
+
function resolveProjectPath(value, projectDir) {
|
|
7
|
+
if (value === '~')
|
|
8
|
+
return homedir();
|
|
9
|
+
if (value.startsWith('~/'))
|
|
10
|
+
return resolve(homedir(), value.slice(2));
|
|
11
|
+
return isAbsolute(value) ? value : resolve(projectDir, value);
|
|
12
|
+
}
|
|
13
|
+
function resolveExecutable(value, fallback, projectDir) {
|
|
14
|
+
if (!value)
|
|
15
|
+
return fallback;
|
|
16
|
+
return value.includes('/') || value.includes('\\') || value.startsWith('~')
|
|
17
|
+
? resolveProjectPath(value, projectDir)
|
|
18
|
+
: value;
|
|
19
|
+
}
|
|
20
|
+
export function buildCompilerInvocation(config, projectDir, includeDirs = []) {
|
|
21
|
+
const provider = config.toolchain?.compiler ?? 'internal';
|
|
22
|
+
if (provider === 'internal')
|
|
23
|
+
return undefined;
|
|
24
|
+
if (provider !== 'syside') {
|
|
25
|
+
throw new Error(`Unsupported compiler "${String(provider)}". Choose "internal" or "syside".`);
|
|
26
|
+
}
|
|
27
|
+
const tool = config.toolchain?.syside;
|
|
28
|
+
const args = ['check', '--colour', 'no', '--diagnose', tool?.diagnose ?? 'all'];
|
|
29
|
+
if (tool?.configFile)
|
|
30
|
+
args.push('--config', resolveProjectPath(tool.configFile, projectDir));
|
|
31
|
+
if (tool?.warningsAsErrors ?? true)
|
|
32
|
+
args.push('--warnings-as-errors');
|
|
33
|
+
for (const includeDir of [...new Set(includeDirs)])
|
|
34
|
+
args.push('--include', includeDir);
|
|
35
|
+
args.push(projectDir);
|
|
36
|
+
return {
|
|
37
|
+
command: resolveExecutable(tool?.executable, 'syside', projectDir),
|
|
38
|
+
args,
|
|
39
|
+
provider,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function buildPackagerInvocation(config, projectDir, outputPath) {
|
|
43
|
+
const provider = config.toolchain?.packager ?? 'internal';
|
|
44
|
+
if (provider === 'internal')
|
|
45
|
+
return undefined;
|
|
46
|
+
if (provider !== 'sysand') {
|
|
47
|
+
throw new Error(`Unsupported packager "${String(provider)}". Choose "internal" or "sysand".`);
|
|
48
|
+
}
|
|
49
|
+
const tool = config.toolchain?.sysand;
|
|
50
|
+
const args = [];
|
|
51
|
+
if (tool?.configFile)
|
|
52
|
+
args.push('--config-file', resolveProjectPath(tool.configFile, projectDir));
|
|
53
|
+
args.push('build', outputPath);
|
|
54
|
+
return {
|
|
55
|
+
command: resolveExecutable(tool?.executable, 'sysand', projectDir),
|
|
56
|
+
args,
|
|
57
|
+
provider,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function runToolInvocation(invocation, cwd) {
|
|
61
|
+
const result = spawnSync(invocation.command, invocation.args, { cwd, stdio: 'inherit' });
|
|
62
|
+
if (result.error) {
|
|
63
|
+
const hint = result.error.message.includes('ENOENT')
|
|
64
|
+
? ` Configure toolchain.${invocation.provider}.executable or add it to PATH.`
|
|
65
|
+
: '';
|
|
66
|
+
throw new Error(`Could not run ${invocation.provider}: ${result.error.message}.${hint}`);
|
|
67
|
+
}
|
|
68
|
+
if (result.status !== 0) {
|
|
69
|
+
throw new Error(`${invocation.provider} exited with status ${result.status ?? 'unknown'}.`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export function compileWithConfiguredTool(config, projectDir, configPath) {
|
|
73
|
+
const includeDirs = configPath
|
|
74
|
+
? findOntologyPackageDirs(configPath).map(resolvePackageSysmlDir)
|
|
75
|
+
: [];
|
|
76
|
+
const invocation = buildCompilerInvocation(config, projectDir, includeDirs);
|
|
77
|
+
if (!invocation)
|
|
78
|
+
return 'internal';
|
|
79
|
+
runToolInvocation(invocation, projectDir);
|
|
80
|
+
return 'syside';
|
|
81
|
+
}
|
|
82
|
+
export function packageWithConfiguredTool(config, projectDir, outputPath) {
|
|
83
|
+
const invocation = buildPackagerInvocation(config, projectDir, outputPath);
|
|
84
|
+
if (!invocation)
|
|
85
|
+
return 'internal';
|
|
86
|
+
runToolInvocation(invocation, projectDir);
|
|
87
|
+
if (!existsSync(outputPath)) {
|
|
88
|
+
throw new Error(`${invocation.provider} completed but did not create ${outputPath}.`);
|
|
89
|
+
}
|
|
90
|
+
return 'sysand';
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=toolchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../src/model/toolchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MemoModel, MemoElement, ViewpointDTO, DiagramDTO } from './semantic.js';
|
|
2
|
+
import type { KindRegistry } from './kind-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the element ids a view selects.
|
|
5
|
+
*
|
|
6
|
+
* Membership comes from two declared sources, both owned by the model:
|
|
7
|
+
* 1. `selectionQuery.includeElementKinds` (specializations included); when no
|
|
8
|
+
* kinds are given, `includeLayers` selects whole layers instead
|
|
9
|
+
* 2. explicit `IncludedIn` relationships targeting the view
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveViewElementIds(view: MemoElement, model: MemoModel, kindRegistry?: KindRegistry): string[];
|
|
12
|
+
export interface DerivedViews {
|
|
13
|
+
viewpoints: ViewpointDTO[];
|
|
14
|
+
diagrams: DiagramDTO[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Derive viewpoint and diagram DTOs from view elements modelled in SysML.
|
|
18
|
+
* Views are grouped by their `viewpoint :>` binding; views without one are
|
|
19
|
+
* grouped under a generic "Model Views" viewpoint.
|
|
20
|
+
*/
|
|
21
|
+
export declare function deriveModelViews(model: MemoModel, kindRegistry?: KindRegistry): DerivedViews;
|
|
22
|
+
//# sourceMappingURL=view-deriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-deriver.d.ts","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkCvD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,SAAS,EAChB,YAAY,CAAC,EAAE,YAAY,GAC5B,MAAM,EAAE,CAoBV;AASD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,CAsE5F"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// ─── View Deriver ────────────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Derives ViewpointDTO / DiagramDTO entries from views modelled in SysML.
|
|
4
|
+
//
|
|
5
|
+
// A product model can declare views as part usages of the ontology view kinds
|
|
6
|
+
// (DiagramView, DocumentView, and their specializations). Each view carries:
|
|
7
|
+
// - `part viewpoint :> <ontologyViewpoint>;` → grouping viewpoint
|
|
8
|
+
// - `part selectionQuery { attribute includeElementKinds = {...}; ... }`
|
|
9
|
+
// → captured by the builder as `selectionQuery.*` prefixed attributes
|
|
10
|
+
//
|
|
11
|
+
// This module projects those elements into the same DTO shapes the web app
|
|
12
|
+
// already consumes for config-defined viewpoints, so SysML-modelled views
|
|
13
|
+
// appear in the Diagrams browser with an auto-populated element selection.
|
|
14
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
15
|
+
import { resolveViewKind } from './view-kinds.js';
|
|
16
|
+
/** Kinds whose instances are treated as model-defined views. */
|
|
17
|
+
function isViewElement(el, kindRegistry) {
|
|
18
|
+
if (el.kind === 'Viewpoint' || el.kind === 'ViewSelectionQuery' || el.kind === 'ViewInclusionRule')
|
|
19
|
+
return false;
|
|
20
|
+
if (!el.kind.endsWith('View'))
|
|
21
|
+
return false;
|
|
22
|
+
// Views are declared in the viewpoints group of the ontology; when the
|
|
23
|
+
// registry knows the kind, require that so product kinds named *View
|
|
24
|
+
// (unrelated to the view mechanism) are not swept in.
|
|
25
|
+
const entry = kindRegistry?.getKind(el.kind);
|
|
26
|
+
if (entry && entry.layer !== 'unknown')
|
|
27
|
+
return entry.layer === 'viewpoints';
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
/** Expand a set of kind names with all transitive specializations. */
|
|
31
|
+
function expandKinds(kinds, kindRegistry) {
|
|
32
|
+
const expanded = new Set();
|
|
33
|
+
const queue = [...kinds];
|
|
34
|
+
while (queue.length > 0) {
|
|
35
|
+
const k = queue.pop();
|
|
36
|
+
if (expanded.has(k))
|
|
37
|
+
continue;
|
|
38
|
+
expanded.add(k);
|
|
39
|
+
const entry = kindRegistry?.getKind(k);
|
|
40
|
+
for (const sub of entry?.derivedBy ?? [])
|
|
41
|
+
queue.push(sub);
|
|
42
|
+
}
|
|
43
|
+
return expanded;
|
|
44
|
+
}
|
|
45
|
+
function splitList(raw) {
|
|
46
|
+
if (!raw)
|
|
47
|
+
return [];
|
|
48
|
+
return raw.split(',').map(s => s.trim()).filter(Boolean);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve the element ids a view selects.
|
|
52
|
+
*
|
|
53
|
+
* Membership comes from two declared sources, both owned by the model:
|
|
54
|
+
* 1. `selectionQuery.includeElementKinds` (specializations included); when no
|
|
55
|
+
* kinds are given, `includeLayers` selects whole layers instead
|
|
56
|
+
* 2. explicit `IncludedIn` relationships targeting the view
|
|
57
|
+
*/
|
|
58
|
+
export function resolveViewElementIds(view, model, kindRegistry) {
|
|
59
|
+
const kindList = splitList(view.attributes['selectionQuery.includeElementKinds']);
|
|
60
|
+
const layerList = splitList(view.attributes['selectionQuery.includeLayers']);
|
|
61
|
+
const kinds = expandKinds(kindList, kindRegistry);
|
|
62
|
+
const layers = new Set(layerList);
|
|
63
|
+
const ids = new Set();
|
|
64
|
+
if (kindList.length > 0 || layerList.length > 0) {
|
|
65
|
+
for (const el of model.elements.values()) {
|
|
66
|
+
if (el.id === view.id)
|
|
67
|
+
continue;
|
|
68
|
+
if (kinds.size > 0 && !kinds.has(el.kind))
|
|
69
|
+
continue;
|
|
70
|
+
if (kinds.size === 0 && layers.size > 0 && !layers.has(el.layer))
|
|
71
|
+
continue;
|
|
72
|
+
ids.add(el.id);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const rel of model.incoming.get(view.id) ?? []) {
|
|
76
|
+
if (rel.type.toLowerCase() === 'includedin' && rel.sourceId !== view.id)
|
|
77
|
+
ids.add(rel.sourceId);
|
|
78
|
+
}
|
|
79
|
+
return [...ids];
|
|
80
|
+
}
|
|
81
|
+
/** Human label from a viewpoint reference like "riskViewpoint" → "Risk". */
|
|
82
|
+
function viewpointLabel(ref) {
|
|
83
|
+
const base = ref.replace(/Viewpoint$/, '');
|
|
84
|
+
const spaced = base.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
85
|
+
return spaced.charAt(0).toUpperCase() + spaced.slice(1);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Derive viewpoint and diagram DTOs from view elements modelled in SysML.
|
|
89
|
+
* Views are grouped by their `viewpoint :>` binding; views without one are
|
|
90
|
+
* grouped under a generic "Model Views" viewpoint.
|
|
91
|
+
*/
|
|
92
|
+
export function deriveModelViews(model, kindRegistry) {
|
|
93
|
+
const viewpointsById = new Map();
|
|
94
|
+
const diagrams = [];
|
|
95
|
+
for (const el of model.elements.values()) {
|
|
96
|
+
if (!isViewElement(el, kindRegistry))
|
|
97
|
+
continue;
|
|
98
|
+
// Explicit renderer samples live in path-derived packages containing
|
|
99
|
+
// a `samples` segment and are surfaced under Model Viewpoint > Samples.
|
|
100
|
+
const isRendererSample = el.package
|
|
101
|
+
? el.package.split('::').some(segment => /(?:^|_)samples(?:_|$)/.test(segment))
|
|
102
|
+
: false;
|
|
103
|
+
// Views without a viewpoint binding are typically document-backed
|
|
104
|
+
// (RMF, SDD, DHF index, ...) — group them under "Document Views".
|
|
105
|
+
const vpRef = el.attributes['viewpoint'] || 'documentViewsViewpoint';
|
|
106
|
+
const vpId = isRendererSample ? '__model' : `vp-${vpRef}`;
|
|
107
|
+
if (!isRendererSample && !viewpointsById.has(vpId)) {
|
|
108
|
+
viewpointsById.set(vpId, {
|
|
109
|
+
id: vpId,
|
|
110
|
+
label: vpRef === 'documentViewsViewpoint' ? 'Document Views' : `${viewpointLabel(vpRef)} Viewpoint`,
|
|
111
|
+
visibleKinds: [],
|
|
112
|
+
visibleRelationships: [],
|
|
113
|
+
visibleLayers: [],
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const vp = viewpointsById.get(vpId);
|
|
117
|
+
const queryKinds = splitList(el.attributes['selectionQuery.includeElementKinds']);
|
|
118
|
+
const queryRels = splitList(el.attributes['selectionQuery.includeRelationshipKinds']);
|
|
119
|
+
if (vp) {
|
|
120
|
+
for (const k of queryKinds) {
|
|
121
|
+
if (!vp.visibleKinds.includes(k))
|
|
122
|
+
vp.visibleKinds.push(k);
|
|
123
|
+
}
|
|
124
|
+
for (const l of splitList(el.attributes['selectionQuery.includeLayers'])) {
|
|
125
|
+
if (!vp.visibleLayers.includes(l))
|
|
126
|
+
vp.visibleLayers.push(l);
|
|
127
|
+
}
|
|
128
|
+
for (const r of queryRels) {
|
|
129
|
+
if (!vp.visibleRelationships.includes(r))
|
|
130
|
+
vp.visibleRelationships.push(r);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Presentation hints declared on the view — the renderer stays dumb and
|
|
134
|
+
// just honors them
|
|
135
|
+
const properties = {};
|
|
136
|
+
for (const hint of ['layoutHint', 'styleHint', 'presentationKind']) {
|
|
137
|
+
if (el.attributes[hint])
|
|
138
|
+
properties[hint] = el.attributes[hint];
|
|
139
|
+
}
|
|
140
|
+
// Every view resolves to exactly one of the 8 spec view kinds: an
|
|
141
|
+
// explicit `viewKind` declaration wins, else the legacy diagramType
|
|
142
|
+
// key maps; document-backed views (no diagramType) become browser.
|
|
143
|
+
const viewKind = resolveViewKind(el.attributes['viewKind'], el.attributes['diagramType']);
|
|
144
|
+
diagrams.push({
|
|
145
|
+
id: isRendererSample ? `diag-sample-${el.id}` : `view-${el.id}`,
|
|
146
|
+
name: el.attributes['title'] || el.name,
|
|
147
|
+
diagramType: el.attributes['diagramType'] || 'bdd',
|
|
148
|
+
viewKind,
|
|
149
|
+
viewpointId: vpId,
|
|
150
|
+
auto: true,
|
|
151
|
+
description: el.attributes['shortDescription'] || el.doc,
|
|
152
|
+
...(Object.keys(properties).length > 0 ? { properties } : {}),
|
|
153
|
+
elementIds: resolveViewElementIds(el, model, kindRegistry),
|
|
154
|
+
relationshipTypes: queryRels,
|
|
155
|
+
sourceFile: el.file,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return { viewpoints: [...viewpointsById.values()], diagrams };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=view-deriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-deriver.js","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** The eight standard SysML v2 view kinds. */
|
|
2
|
+
export declare const VIEW_KINDS: readonly ["general", "interconnection", "actionflow", "statetransition", "sequence", "grid", "browser", "geometry"];
|
|
3
|
+
export type ViewKind = (typeof VIEW_KINDS)[number];
|
|
4
|
+
export declare function isViewKind(value: string): value is ViewKind;
|
|
5
|
+
/**
|
|
6
|
+
* Map every legacy `diagramType` key to its spec view kind.
|
|
7
|
+
*
|
|
8
|
+
* General subsumes definition/membership structure (bdd, pkg, req, ucd) and
|
|
9
|
+
* free-form relationship graphs (risk chains, threat models). Parametric
|
|
10
|
+
* diagrams render constraint networks as interconnection.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DIAGRAM_TYPE_TO_VIEW_KIND: Record<string, ViewKind>;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize a declared viewKind attribute value to a spec view kind.
|
|
15
|
+
* Enum references arrive from the parser as qualified names
|
|
16
|
+
* ("DiagramViewKind::general") — strip the qualifier and validate.
|
|
17
|
+
* Returns undefined for absent or non-taxonomy values (e.g. the
|
|
18
|
+
* DocumentViewKind values that DocumentView declares under the same
|
|
19
|
+
* attribute name).
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeViewKind(raw: string | undefined): ViewKind | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the view kind for a view element: an explicitly declared
|
|
24
|
+
* `viewKind` wins; otherwise the legacy `diagramType` key is mapped.
|
|
25
|
+
* Views with neither (document-backed views) resolve to `browser`,
|
|
26
|
+
* the hierarchical membership kind.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveViewKind(declaredViewKind: string | undefined, diagramType: string | undefined): ViewKind;
|
|
29
|
+
//# sourceMappingURL=view-kinds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-kinds.d.ts","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAYA,8CAA8C;AAC9C,eAAO,MAAM,UAAU,qHASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAInD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAiB9D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,QAAQ,CAKV"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// ─── SysML v2 View Kinds ─────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// The SysML v2 specification defines eight standard view kinds. Every diagram
|
|
4
|
+
// in MEMO resolves to exactly one of them (Epic KK). The ontology mirrors this
|
|
5
|
+
// as `enum def DiagramViewKind` in memo::core::enumerations, declared on
|
|
6
|
+
// DiagramView as `attribute viewKind : DiagramViewKind`.
|
|
7
|
+
//
|
|
8
|
+
// Legacy `diagramType` keys (v1-flavored: bdd/ibd/ucd/...) remain the storage
|
|
9
|
+
// and wire format; this module is the single source of truth for mapping them
|
|
10
|
+
// onto the spec taxonomy.
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
/** The eight standard SysML v2 view kinds. */
|
|
13
|
+
export const VIEW_KINDS = [
|
|
14
|
+
'general',
|
|
15
|
+
'interconnection',
|
|
16
|
+
'actionflow',
|
|
17
|
+
'statetransition',
|
|
18
|
+
'sequence',
|
|
19
|
+
'grid',
|
|
20
|
+
'browser',
|
|
21
|
+
'geometry',
|
|
22
|
+
];
|
|
23
|
+
const VIEW_KIND_SET = new Set(VIEW_KINDS);
|
|
24
|
+
export function isViewKind(value) {
|
|
25
|
+
return VIEW_KIND_SET.has(value);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Map every legacy `diagramType` key to its spec view kind.
|
|
29
|
+
*
|
|
30
|
+
* General subsumes definition/membership structure (bdd, pkg, req, ucd) and
|
|
31
|
+
* free-form relationship graphs (risk chains, threat models). Parametric
|
|
32
|
+
* diagrams render constraint networks as interconnection.
|
|
33
|
+
*/
|
|
34
|
+
export const DIAGRAM_TYPE_TO_VIEW_KIND = {
|
|
35
|
+
bdd: 'general',
|
|
36
|
+
pkg: 'general',
|
|
37
|
+
req: 'general',
|
|
38
|
+
ucd: 'general',
|
|
39
|
+
risk: 'general',
|
|
40
|
+
'threat-model': 'general',
|
|
41
|
+
ibd: 'interconnection',
|
|
42
|
+
par: 'interconnection',
|
|
43
|
+
act: 'actionflow',
|
|
44
|
+
afd: 'actionflow',
|
|
45
|
+
ofd: 'actionflow',
|
|
46
|
+
ffd: 'actionflow',
|
|
47
|
+
stm: 'statetransition',
|
|
48
|
+
seq: 'sequence',
|
|
49
|
+
fmea: 'grid',
|
|
50
|
+
alloc: 'grid',
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Normalize a declared viewKind attribute value to a spec view kind.
|
|
54
|
+
* Enum references arrive from the parser as qualified names
|
|
55
|
+
* ("DiagramViewKind::general") — strip the qualifier and validate.
|
|
56
|
+
* Returns undefined for absent or non-taxonomy values (e.g. the
|
|
57
|
+
* DocumentViewKind values that DocumentView declares under the same
|
|
58
|
+
* attribute name).
|
|
59
|
+
*/
|
|
60
|
+
export function normalizeViewKind(raw) {
|
|
61
|
+
if (!raw)
|
|
62
|
+
return undefined;
|
|
63
|
+
const unqualified = raw.split('::').pop().trim();
|
|
64
|
+
return isViewKind(unqualified) ? unqualified : undefined;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolve the view kind for a view element: an explicitly declared
|
|
68
|
+
* `viewKind` wins; otherwise the legacy `diagramType` key is mapped.
|
|
69
|
+
* Views with neither (document-backed views) resolve to `browser`,
|
|
70
|
+
* the hierarchical membership kind.
|
|
71
|
+
*/
|
|
72
|
+
export function resolveViewKind(declaredViewKind, diagramType) {
|
|
73
|
+
const declared = normalizeViewKind(declaredViewKind);
|
|
74
|
+
if (declared)
|
|
75
|
+
return declared;
|
|
76
|
+
if (diagramType)
|
|
77
|
+
return DIAGRAM_TYPE_TO_VIEW_KIND[diagramType] ?? 'general';
|
|
78
|
+
return 'browser';
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=view-kinds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-kinds.js","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yEAAyE;AACzE,yDAAyD;AACzD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,0BAA0B;AAC1B,gFAAgF;AAEhF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,SAAS;IACT,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,MAAM;IACN,SAAS;IACT,UAAU;CACJ,CAAC;AAIX,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAE/D,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IAC/D,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,SAAS;IACzB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC3B,gBAAoC,EACpC,WAA+B;IAE/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,WAAW;QAAE,OAAO,yBAAyB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;IAC5E,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface OntologyConfig {
|
|
2
|
+
projectName: string;
|
|
3
|
+
architectureLayers?: {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
color: string;
|
|
7
|
+
}[];
|
|
8
|
+
kinds: Record<string, {
|
|
9
|
+
label: string;
|
|
10
|
+
layer?: string;
|
|
11
|
+
sysmlConstruct: string;
|
|
12
|
+
defaultAttributes?: Record<string, string>;
|
|
13
|
+
}>;
|
|
14
|
+
relationshipTypes: {
|
|
15
|
+
name: string;
|
|
16
|
+
label: string;
|
|
17
|
+
layer: string;
|
|
18
|
+
color: string;
|
|
19
|
+
}[];
|
|
20
|
+
closureRules: {
|
|
21
|
+
id: string;
|
|
22
|
+
description: string;
|
|
23
|
+
entity: string;
|
|
24
|
+
rule: {
|
|
25
|
+
type: string;
|
|
26
|
+
relationship?: string;
|
|
27
|
+
min?: number;
|
|
28
|
+
max?: number;
|
|
29
|
+
attribute?: string;
|
|
30
|
+
};
|
|
31
|
+
severity: string;
|
|
32
|
+
}[];
|
|
33
|
+
ontologyMetadata?: {
|
|
34
|
+
id: string;
|
|
35
|
+
version: string;
|
|
36
|
+
description: string;
|
|
37
|
+
author?: string;
|
|
38
|
+
license?: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export declare function exportToOwlTurtle(config: OntologyConfig, namespace?: string): string;
|
|
42
|
+
export declare function exportToOwlXml(config: OntologyConfig, namespace?: string): string;
|
|
43
|
+
//# sourceMappingURL=owl-exporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-exporter.d.ts","sourceRoot":"","sources":["../../src/ontology/owl-exporter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9C,CAAC,CAAC;IACH,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnF,YAAY,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9F,QAAQ,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,gBAAgB,CAAC,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,cAAc,EACtB,SAAS,GAAE,MAAoD,GAChE,MAAM,CAyCR;AAED,wBAAgB,cAAc,CAC1B,MAAM,EAAE,cAAc,EACtB,SAAS,GAAE,MAAoD,GAChE,MAAM,CA6BR"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export function exportToOwlTurtle(config, namespace = 'https://sysand.dev/ontology/memo/medical#') {
|
|
2
|
+
const lines = [];
|
|
3
|
+
const prefix = 'memo';
|
|
4
|
+
lines.push(`@prefix ${prefix}: <${namespace}> .`);
|
|
5
|
+
lines.push('@prefix owl: <http://www.w3.org/2002/07/owl#> .');
|
|
6
|
+
lines.push('@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .');
|
|
7
|
+
lines.push('@prefix dcterms: <http://purl.org/dc/terms/> .');
|
|
8
|
+
lines.push('');
|
|
9
|
+
lines.push(`<${namespace.replace(/#$/, '')}> a owl:Ontology ;`);
|
|
10
|
+
if (config.ontologyMetadata) {
|
|
11
|
+
lines.push(` dcterms:title "${escape(config.ontologyMetadata.description)}" ;`);
|
|
12
|
+
lines.push(` owl:versionInfo "${config.ontologyMetadata.version}" ;`);
|
|
13
|
+
if (config.ontologyMetadata.author) {
|
|
14
|
+
lines.push(` dcterms:creator "${escape(config.ontologyMetadata.author)}" ;`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
lines.push(` dcterms:title "${escape(config.projectName)}" ;`);
|
|
19
|
+
}
|
|
20
|
+
lines.push(' .');
|
|
21
|
+
lines.push('');
|
|
22
|
+
for (const [kindName, kindDef] of Object.entries(config.kinds ?? {})) {
|
|
23
|
+
lines.push(`${prefix}:${kindName} a owl:Class ;`);
|
|
24
|
+
lines.push(` rdfs:label "${escape(kindDef.label)}" ;`);
|
|
25
|
+
if (kindDef.layer) {
|
|
26
|
+
lines.push(` ${prefix}:layer "${kindDef.layer}" ;`);
|
|
27
|
+
}
|
|
28
|
+
lines.push(` ${prefix}:sysmlConstruct "${kindDef.sysmlConstruct}" .`);
|
|
29
|
+
lines.push('');
|
|
30
|
+
}
|
|
31
|
+
for (const rel of (config.relationshipTypes ?? [])) {
|
|
32
|
+
lines.push(`${prefix}:${rel.name} a owl:ObjectProperty ;`);
|
|
33
|
+
lines.push(` rdfs:label "${escape(rel.label)}" ;`);
|
|
34
|
+
lines.push(` ${prefix}:layer "${rel.layer}" .`);
|
|
35
|
+
lines.push('');
|
|
36
|
+
}
|
|
37
|
+
return lines.join('\n');
|
|
38
|
+
}
|
|
39
|
+
export function exportToOwlXml(config, namespace = 'https://sysand.dev/ontology/memo/medical#') {
|
|
40
|
+
const lines = [];
|
|
41
|
+
const ns = namespace.replace(/#$/, '');
|
|
42
|
+
lines.push('<?xml version="1.0" encoding="UTF-8"?>');
|
|
43
|
+
lines.push('<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"');
|
|
44
|
+
lines.push(' xmlns:owl="http://www.w3.org/2002/07/owl#"');
|
|
45
|
+
lines.push(' xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"');
|
|
46
|
+
lines.push(` xmlns:memo="${namespace}">`);
|
|
47
|
+
lines.push('');
|
|
48
|
+
lines.push(` <owl:Ontology rdf:about="${ns}"/>`);
|
|
49
|
+
lines.push('');
|
|
50
|
+
for (const [kindName, kindDef] of Object.entries(config.kinds ?? {})) {
|
|
51
|
+
lines.push(` <owl:Class rdf:about="${namespace}${kindName}">`);
|
|
52
|
+
lines.push(` <rdfs:label>${escapeXml(kindDef.label)}</rdfs:label>`);
|
|
53
|
+
lines.push(' </owl:Class>');
|
|
54
|
+
}
|
|
55
|
+
for (const rel of (config.relationshipTypes ?? [])) {
|
|
56
|
+
lines.push(` <owl:ObjectProperty rdf:about="${namespace}${rel.name}">`);
|
|
57
|
+
lines.push(` <rdfs:label>${escapeXml(rel.label)}</rdfs:label>`);
|
|
58
|
+
lines.push(' </owl:ObjectProperty>');
|
|
59
|
+
}
|
|
60
|
+
lines.push('');
|
|
61
|
+
lines.push('</rdf:RDF>');
|
|
62
|
+
return lines.join('\n');
|
|
63
|
+
}
|
|
64
|
+
function escape(s) {
|
|
65
|
+
return s.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
66
|
+
}
|
|
67
|
+
function escapeXml(s) {
|
|
68
|
+
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=owl-exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-exporter.js","sourceRoot":"","sources":["../../src/ontology/owl-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Shared Node project operations used by the CLI and server integrations. */
|
|
2
|
+
export { initCommand as initializeProject } from '../commands/init.js';
|
|
3
|
+
export { validateCommand as validateProject } from '../commands/validate.js';
|
|
4
|
+
export { saveElementToFile as createElement } from '../server/persistor.js';
|
|
5
|
+
export { compileMarkdownDocument as generateDocument } from '../dhf/document-compiler.js';
|
|
6
|
+
export { buildProjectSnapshot, serializeForInlineScript } from './project-snapshot.js';
|
|
7
|
+
export { devCommand as startProjectServer } from '../commands/dev.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Shared Node project operations used by the CLI and server integrations. */
|
|
2
|
+
export { initCommand as initializeProject } from '../commands/init.js';
|
|
3
|
+
export { validateCommand as validateProject } from '../commands/validate.js';
|
|
4
|
+
export { saveElementToFile as createElement } from '../server/persistor.js';
|
|
5
|
+
export { compileMarkdownDocument as generateDocument } from '../dhf/document-compiler.js';
|
|
6
|
+
export { buildProjectSnapshot, serializeForInlineScript } from './project-snapshot.js';
|
|
7
|
+
export { devCommand as startProjectServer } from '../commands/dev.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MEMOConfig } from '../model/config.js';
|
|
2
|
+
import type { MemoModelDTO } from '../model/semantic.js';
|
|
3
|
+
import type { CompletenessReport, ValidationResult } from '../validator/types.js';
|
|
4
|
+
export interface ProjectSnapshot {
|
|
5
|
+
projectRoot: string;
|
|
6
|
+
configPath: string;
|
|
7
|
+
config: MEMOConfig;
|
|
8
|
+
model: MemoModelDTO;
|
|
9
|
+
validation: ValidationResult;
|
|
10
|
+
completeness: CompletenessReport;
|
|
11
|
+
compiler: 'internal' | 'syside';
|
|
12
|
+
}
|
|
13
|
+
/** Build the immutable data payload consumed by exports and Architect. */
|
|
14
|
+
export declare function buildProjectSnapshot(projectRoot?: string): Promise<ProjectSnapshot>;
|
|
15
|
+
/** Serialize data for an inline script without permitting script termination. */
|
|
16
|
+
export declare function serializeForInlineScript(value: unknown): string;
|
|
17
|
+
//# sourceMappingURL=project-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-snapshot.d.ts","sourceRoot":"","sources":["../../src/operations/project-snapshot.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAA4B,YAAY,EAAgB,MAAM,sBAAsB,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoBlF,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC;AAED,0EAA0E;AAC1E,wBAAsB,oBAAoB,CAAC,WAAW,SAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA8DhG;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/D"}
|