@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,53 @@
|
|
|
1
|
+
/** Per-document configuration override */
|
|
2
|
+
export interface DhfDocOverride {
|
|
3
|
+
/** Enable/disable this document */
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
/** Custom section overrides */
|
|
6
|
+
customSections?: Array<{
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
content?: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
/** DHF configuration from memo.dhf.yaml */
|
|
13
|
+
export interface DhfConfig {
|
|
14
|
+
/** Organization name */
|
|
15
|
+
organization?: string;
|
|
16
|
+
/** Document version */
|
|
17
|
+
version?: string;
|
|
18
|
+
/** Development phase (e.g., "Design", "Verification", "Production") */
|
|
19
|
+
phase?: string;
|
|
20
|
+
/** Applicable standards */
|
|
21
|
+
standards?: string[];
|
|
22
|
+
/** Author names */
|
|
23
|
+
authors?: string[];
|
|
24
|
+
/** Approvers with roles */
|
|
25
|
+
approvers?: Array<{
|
|
26
|
+
name: string;
|
|
27
|
+
role: string;
|
|
28
|
+
date?: string;
|
|
29
|
+
}>;
|
|
30
|
+
/** Per-document overrides keyed by document ID */
|
|
31
|
+
documents?: Record<string, DhfDocOverride>;
|
|
32
|
+
/** Custom template directory (overrides built-in templates) */
|
|
33
|
+
templateDir?: string;
|
|
34
|
+
/** Risk matrix configuration */
|
|
35
|
+
riskMatrix?: {
|
|
36
|
+
severityLevels?: string[];
|
|
37
|
+
probabilityLevels?: string[];
|
|
38
|
+
acceptabilityThreshold?: number;
|
|
39
|
+
};
|
|
40
|
+
/** Default export format */
|
|
41
|
+
defaultFormat?: 'html' | 'md' | 'docx';
|
|
42
|
+
}
|
|
43
|
+
/** Load DHF config from a project directory */
|
|
44
|
+
export declare function loadDhfConfig(projectDir: string): DhfConfig | undefined;
|
|
45
|
+
/** Check if a document type is enabled given DHF config */
|
|
46
|
+
export declare function isDocumentEnabled(docId: string, dhfConfig?: DhfConfig): boolean;
|
|
47
|
+
/** Get custom sections for a document type */
|
|
48
|
+
export declare function getCustomSections(docId: string, dhfConfig?: DhfConfig): Array<{
|
|
49
|
+
id: string;
|
|
50
|
+
title: string;
|
|
51
|
+
content?: string;
|
|
52
|
+
}>;
|
|
53
|
+
//# sourceMappingURL=dhf-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dhf-config.d.ts","sourceRoot":"","sources":["../../src/dhf/dhf-config.ts"],"names":[],"mappings":"AAUA,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC3B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED,2CAA2C;AAC3C,MAAM,WAAW,SAAS;IACtB,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,UAAU,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;CAC1C;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAmBvE;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAK/E;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG9H"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// ─── DHF Configuration ───────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Reads memo.dhf.yaml for per-project DHF customization: org info, phase,
|
|
4
|
+
// per-doc enable/disable, custom sections, approvers, template overrides.
|
|
5
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
7
|
+
import { resolve } from 'node:path';
|
|
8
|
+
import * as yaml from 'yaml';
|
|
9
|
+
/** Load DHF config from a project directory */
|
|
10
|
+
export function loadDhfConfig(projectDir) {
|
|
11
|
+
const candidates = [
|
|
12
|
+
resolve(projectDir, 'memo.dhf.yaml'),
|
|
13
|
+
resolve(projectDir, 'memo.dhf.yml'),
|
|
14
|
+
];
|
|
15
|
+
for (const path of candidates) {
|
|
16
|
+
if (existsSync(path)) {
|
|
17
|
+
try {
|
|
18
|
+
const raw = readFileSync(path, 'utf-8');
|
|
19
|
+
const parsed = yaml.parse(raw);
|
|
20
|
+
return parsed || {};
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
/** Check if a document type is enabled given DHF config */
|
|
30
|
+
export function isDocumentEnabled(docId, dhfConfig) {
|
|
31
|
+
if (!dhfConfig?.documents)
|
|
32
|
+
return true;
|
|
33
|
+
const override = dhfConfig.documents[docId];
|
|
34
|
+
if (!override)
|
|
35
|
+
return true;
|
|
36
|
+
return override.enabled !== false;
|
|
37
|
+
}
|
|
38
|
+
/** Get custom sections for a document type */
|
|
39
|
+
export function getCustomSections(docId, dhfConfig) {
|
|
40
|
+
if (!dhfConfig?.documents)
|
|
41
|
+
return [];
|
|
42
|
+
return dhfConfig.documents[docId]?.customSections || [];
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=dhf-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dhf-config.js","sourceRoot":"","sources":["../../src/dhf/dhf-config.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAsC7B,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC5C,MAAM,UAAU,GAAG;QACf,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;QACpC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;KACtC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;gBAC5C,OAAO,MAAM,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,SAAqB;IAClE,IAAI,CAAC,SAAS,EAAE,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC;AACtC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,SAAqB;IAClE,IAAI,CAAC,SAAS,EAAE,SAAS;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** All recognized directive types */
|
|
2
|
+
export type DirectiveKind = 'ref' | 'project' | 'diagram' | 'include' | 'toc' | 'glossary';
|
|
3
|
+
export interface Directive {
|
|
4
|
+
/** Raw matched text, e.g. "{{ref:HAZ-001.name}}" */
|
|
5
|
+
raw: string;
|
|
6
|
+
/** Character offset in the source string */
|
|
7
|
+
offset: number;
|
|
8
|
+
kind: DirectiveKind;
|
|
9
|
+
/** For ref: the element ID */
|
|
10
|
+
elementId?: string;
|
|
11
|
+
/** For ref: the attribute name (name, id, layer, kind, doc, etc.) */
|
|
12
|
+
attribute?: string;
|
|
13
|
+
/** For project: the dot-separated key (company, product, version, …) */
|
|
14
|
+
projectKey?: string;
|
|
15
|
+
/** For diagram: the diagram/view ID */
|
|
16
|
+
diagramId?: string;
|
|
17
|
+
/** For include: the relative file path */
|
|
18
|
+
includePath?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse all directives found in a markdown string.
|
|
22
|
+
* Returns directives in document order.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseDirectives(content: string): Directive[];
|
|
25
|
+
/**
|
|
26
|
+
* Replace all resolved directives in a content string.
|
|
27
|
+
* `resolver` receives each Directive and returns its replacement string (or the
|
|
28
|
+
* original raw text if it should be left as-is).
|
|
29
|
+
*/
|
|
30
|
+
export declare function applyDirectives(content: string, resolver: (d: Directive) => string): string;
|
|
31
|
+
//# sourceMappingURL=directive-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-parser.d.ts","sourceRoot":"","sources":["../../src/dhf/directive-parser.ts"],"names":[],"mappings":"AAWA,qCAAqC;AACrC,MAAM,MAAM,aAAa,GACnB,KAAK,GACL,SAAS,GACT,SAAS,GACT,SAAS,GACT,KAAK,GACL,UAAU,CAAC;AAEjB,MAAM,WAAW,SAAS;IACtB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAe5D;AAuCD;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,MAAM,GACnC,MAAM,CAeR"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// ─── DHF Directive Parser ─────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Parses MEMO directives from markdown content:
|
|
4
|
+
// {{ref:ID.attr}} — inline element attribute reference
|
|
5
|
+
// {{project.key}} — project metadata from memo.dhf.yaml
|
|
6
|
+
// {{diagram:id}} — embed diagram by ID
|
|
7
|
+
// {{include:path}} — include partial template
|
|
8
|
+
// {{toc}} — generate table of contents
|
|
9
|
+
// {{glossary}} — generate glossary of model terms
|
|
10
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
11
|
+
// Match {{...}} tokens — greedy-safe (no nested braces)
|
|
12
|
+
const DIRECTIVE_RE = /\{\{([^{}]+)\}\}/g;
|
|
13
|
+
/**
|
|
14
|
+
* Parse all directives found in a markdown string.
|
|
15
|
+
* Returns directives in document order.
|
|
16
|
+
*/
|
|
17
|
+
export function parseDirectives(content) {
|
|
18
|
+
const results = [];
|
|
19
|
+
let match;
|
|
20
|
+
DIRECTIVE_RE.lastIndex = 0;
|
|
21
|
+
while ((match = DIRECTIVE_RE.exec(content)) !== null) {
|
|
22
|
+
const raw = match[0];
|
|
23
|
+
const inner = match[1].trim();
|
|
24
|
+
const offset = match.index;
|
|
25
|
+
const directive = parseInner(raw, inner, offset);
|
|
26
|
+
if (directive)
|
|
27
|
+
results.push(directive);
|
|
28
|
+
}
|
|
29
|
+
return results;
|
|
30
|
+
}
|
|
31
|
+
function parseInner(raw, inner, offset) {
|
|
32
|
+
// {{toc}} or {{glossary}} — keyword-only
|
|
33
|
+
if (inner === 'toc')
|
|
34
|
+
return { raw, offset, kind: 'toc' };
|
|
35
|
+
if (inner === 'glossary')
|
|
36
|
+
return { raw, offset, kind: 'glossary' };
|
|
37
|
+
// {{ref:ID.attr}} or {{ref:ID}} (attr defaults to 'name')
|
|
38
|
+
if (inner.startsWith('ref:')) {
|
|
39
|
+
const rest = inner.slice(4);
|
|
40
|
+
const dotIdx = rest.indexOf('.');
|
|
41
|
+
if (dotIdx === -1) {
|
|
42
|
+
return { raw, offset, kind: 'ref', elementId: rest, attribute: 'name' };
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
raw, offset, kind: 'ref',
|
|
46
|
+
elementId: rest.slice(0, dotIdx),
|
|
47
|
+
attribute: rest.slice(dotIdx + 1),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// {{diagram:id}}
|
|
51
|
+
if (inner.startsWith('diagram:')) {
|
|
52
|
+
return { raw, offset, kind: 'diagram', diagramId: inner.slice(8) };
|
|
53
|
+
}
|
|
54
|
+
// {{include:path}}
|
|
55
|
+
if (inner.startsWith('include:')) {
|
|
56
|
+
return { raw, offset, kind: 'include', includePath: inner.slice(8).trim() };
|
|
57
|
+
}
|
|
58
|
+
// {{project.key}} — dot-separated path into project config
|
|
59
|
+
if (inner.startsWith('project.')) {
|
|
60
|
+
return { raw, offset, kind: 'project', projectKey: inner.slice(8) };
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Replace all resolved directives in a content string.
|
|
66
|
+
* `resolver` receives each Directive and returns its replacement string (or the
|
|
67
|
+
* original raw text if it should be left as-is).
|
|
68
|
+
*/
|
|
69
|
+
export function applyDirectives(content, resolver) {
|
|
70
|
+
const directives = parseDirectives(content);
|
|
71
|
+
if (directives.length === 0)
|
|
72
|
+
return content;
|
|
73
|
+
let result = '';
|
|
74
|
+
let cursor = 0;
|
|
75
|
+
for (const d of directives) {
|
|
76
|
+
result += content.slice(cursor, d.offset);
|
|
77
|
+
result += resolver(d);
|
|
78
|
+
cursor = d.offset + d.raw.length;
|
|
79
|
+
}
|
|
80
|
+
result += content.slice(cursor);
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=directive-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-parser.js","sourceRoot":"","sources":["../../src/dhf/directive-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { QueryContext } from './query-engine.js';
|
|
2
|
+
import { type DhfConfigV2 } from './dhf-config-v2.js';
|
|
3
|
+
export interface CompileOptions {
|
|
4
|
+
/** Template ID or path (relative to template_dir or built-in) */
|
|
5
|
+
templateId: string;
|
|
6
|
+
/** Query context for model access */
|
|
7
|
+
ctx: QueryContext;
|
|
8
|
+
/** DHF config V2 */
|
|
9
|
+
config: DhfConfigV2;
|
|
10
|
+
/** Custom template base directory (absolute) */
|
|
11
|
+
customTemplateDir?: string;
|
|
12
|
+
/** Additional metadata injected into project scope */
|
|
13
|
+
extraMeta?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface CompileResult {
|
|
16
|
+
/** Fully resolved markdown content */
|
|
17
|
+
markdown: string;
|
|
18
|
+
/** Extracted frontmatter from the template */
|
|
19
|
+
frontmatter: Record<string, unknown>;
|
|
20
|
+
/** Template ID used */
|
|
21
|
+
templateId: string;
|
|
22
|
+
/** Resolved title (frontmatter.title or templateId) */
|
|
23
|
+
title: string;
|
|
24
|
+
/** List of warnings accumulated during compilation */
|
|
25
|
+
warnings: string[];
|
|
26
|
+
}
|
|
27
|
+
/** Options for compiling raw markdown content (a workbench document) */
|
|
28
|
+
export interface CompileContentOptions {
|
|
29
|
+
/** Markdown body — frontmatter, if any, is stripped */
|
|
30
|
+
content: string;
|
|
31
|
+
/** Base directory for relative {{include:...}} resolution */
|
|
32
|
+
baseDir?: string;
|
|
33
|
+
ctx: QueryContext;
|
|
34
|
+
config: DhfConfigV2;
|
|
35
|
+
customTemplateDir?: string;
|
|
36
|
+
extraMeta?: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Compile already-loaded markdown content (e.g. a workbench document from
|
|
40
|
+
* dhf/documents/) through the same pipeline as template compilation:
|
|
41
|
+
* includes → project directives → ref/diagram/toc/glossary → queries → scripts.
|
|
42
|
+
*/
|
|
43
|
+
export declare function compileMarkdownContent(options: CompileContentOptions): Promise<{
|
|
44
|
+
markdown: string;
|
|
45
|
+
warnings: string[];
|
|
46
|
+
}>;
|
|
47
|
+
export declare function compileMarkdownDocument(options: CompileOptions): Promise<CompileResult>;
|
|
48
|
+
export interface BatchCompileOptions {
|
|
49
|
+
templates: Array<{
|
|
50
|
+
id: string;
|
|
51
|
+
outputPath?: string;
|
|
52
|
+
}>;
|
|
53
|
+
ctx: QueryContext;
|
|
54
|
+
config: DhfConfigV2;
|
|
55
|
+
outputDir: string;
|
|
56
|
+
customTemplateDir?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface BatchCompileResult {
|
|
59
|
+
results: Map<string, CompileResult>;
|
|
60
|
+
failed: string[];
|
|
61
|
+
}
|
|
62
|
+
export declare function batchCompileMarkdown(options: BatchCompileOptions): Promise<BatchCompileResult>;
|
|
63
|
+
export declare function loadDhfMarkdownFile(filePath: string): {
|
|
64
|
+
content: string;
|
|
65
|
+
frontmatter: Record<string, unknown>;
|
|
66
|
+
body: string;
|
|
67
|
+
} | null;
|
|
68
|
+
//# sourceMappingURL=document-compiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-compiler.d.ts","sourceRoot":"","sources":["../../src/dhf/document-compiler.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI1E,MAAM,WAAW,cAAc;IAC3B,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,GAAG,EAAE,YAAY,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC1B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAgDD,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IAClC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO9H;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA+B7F;AA2ED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6BpG;AAgBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CASP"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
// ─── DHF Document Compiler ───────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Orchestrates the markdown-first DHF document compilation pipeline:
|
|
4
|
+
//
|
|
5
|
+
// 1. Load markdown template (built-in or custom)
|
|
6
|
+
// 2. Resolve {{include:path}} partials
|
|
7
|
+
// 3. Resolve {{project.*}} from DhfConfigV2
|
|
8
|
+
// 4. Resolve {{ref:ID.attr}} from model elements
|
|
9
|
+
// 5. Resolve {{diagram:id}} (SVG placeholder or embed)
|
|
10
|
+
// 6. Resolve {{toc}} / {{glossary}}
|
|
11
|
+
// 7. Execute ```memo-query``` blocks
|
|
12
|
+
// 8. Execute ```memo-script``` blocks
|
|
13
|
+
// 9. Return resolved markdown (+ export pipeline produces DOCX/PDF/HTML/MD)
|
|
14
|
+
//
|
|
15
|
+
// The existing snapshot/diff system operates on the resolved markdown files.
|
|
16
|
+
// The existing LLM draft engine produces markdown with directives.
|
|
17
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
18
|
+
import { writeFileSync, mkdirSync, existsSync, readFileSync } from 'node:fs';
|
|
19
|
+
import { resolve, dirname } from 'node:path';
|
|
20
|
+
import { applyDirectives } from './directive-parser.js';
|
|
21
|
+
import { processMemoQueryBlocks } from './query-executor.js';
|
|
22
|
+
import { processMemoScriptBlocks } from './script-runner.js';
|
|
23
|
+
import { loadTemplate, resolveIncludes, resolveProjectDirectives, parseFrontmatter } from './template-resolver.js';
|
|
24
|
+
import { extractProjectMeta } from './dhf-config-v2.js';
|
|
25
|
+
// ─── TOC generator ───────────────────────────────────────────────────────────
|
|
26
|
+
function generateToc(markdown) {
|
|
27
|
+
const headingRe = /^(#{2,4})\s+(.+)$/gm;
|
|
28
|
+
const items = [];
|
|
29
|
+
let match;
|
|
30
|
+
while ((match = headingRe.exec(markdown)) !== null) {
|
|
31
|
+
const level = match[1].length - 2; // ## = 0, ### = 1, #### = 2
|
|
32
|
+
const title = match[2].trim();
|
|
33
|
+
const anchor = title.toLowerCase().replace(/[^\w\s-]/g, '').replace(/\s+/g, '-');
|
|
34
|
+
const indent = ' '.repeat(level);
|
|
35
|
+
items.push(`${indent}- [${title}](#${anchor})`);
|
|
36
|
+
}
|
|
37
|
+
return items.length > 0 ? '\n## Table of Contents\n\n' + items.join('\n') + '\n' : '';
|
|
38
|
+
}
|
|
39
|
+
// ─── Glossary generator ──────────────────────────────────────────────────────
|
|
40
|
+
function generateGlossary(ctx) {
|
|
41
|
+
const elements = ctx.allElements();
|
|
42
|
+
if (elements.length === 0)
|
|
43
|
+
return '\n_No elements in model._\n';
|
|
44
|
+
const byKind = new Map();
|
|
45
|
+
for (const el of elements) {
|
|
46
|
+
if (!byKind.has(el.kind))
|
|
47
|
+
byKind.set(el.kind, []);
|
|
48
|
+
byKind.get(el.kind).push(el);
|
|
49
|
+
}
|
|
50
|
+
const sorted = [...byKind.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
51
|
+
const lines = ['\n## Glossary\n'];
|
|
52
|
+
for (const [kind, els] of sorted) {
|
|
53
|
+
lines.push(`\n### ${kind}\n`);
|
|
54
|
+
for (const el of els.sort((a, b) => a.name.localeCompare(b.name))) {
|
|
55
|
+
const doc = el.doc ? ` — ${el.doc}` : '';
|
|
56
|
+
lines.push(`- **${el.name}** \`${el.id}\`${doc}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return lines.join('\n');
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Compile already-loaded markdown content (e.g. a workbench document from
|
|
63
|
+
* dhf/documents/) through the same pipeline as template compilation:
|
|
64
|
+
* includes → project directives → ref/diagram/toc/glossary → queries → scripts.
|
|
65
|
+
*/
|
|
66
|
+
export async function compileMarkdownContent(options) {
|
|
67
|
+
const { content: rawContent, baseDir, ctx, config, customTemplateDir, extraMeta = {} } = options;
|
|
68
|
+
const warnings = [];
|
|
69
|
+
const body = rawContent.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, '');
|
|
70
|
+
const projectMeta = { ...extractProjectMeta(config), ...extraMeta };
|
|
71
|
+
const markdown = runCompilePipeline(body, baseDir ?? process.cwd(), ctx, config, customTemplateDir, projectMeta, warnings);
|
|
72
|
+
return { markdown, warnings };
|
|
73
|
+
}
|
|
74
|
+
export async function compileMarkdownDocument(options) {
|
|
75
|
+
const { templateId, ctx, config, customTemplateDir, extraMeta = {} } = options;
|
|
76
|
+
const warnings = [];
|
|
77
|
+
// 1. Load template
|
|
78
|
+
const tpl = loadTemplate(templateId, customTemplateDir ?? config.template_dir);
|
|
79
|
+
if (!tpl) {
|
|
80
|
+
warnings.push(`Template not found: ${templateId}`);
|
|
81
|
+
return {
|
|
82
|
+
markdown: `# ${templateId}\n\n_Template not found: ${templateId}_\n`,
|
|
83
|
+
frontmatter: {},
|
|
84
|
+
templateId,
|
|
85
|
+
title: templateId,
|
|
86
|
+
warnings,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const projectMeta = { ...extractProjectMeta(config), ...extraMeta };
|
|
90
|
+
const content = runCompilePipeline(tpl.body, dirname(tpl.sourcePath), ctx, config, customTemplateDir, projectMeta, warnings);
|
|
91
|
+
const title = String(tpl.frontmatter.title ?? templateId);
|
|
92
|
+
return {
|
|
93
|
+
markdown: content,
|
|
94
|
+
frontmatter: tpl.frontmatter,
|
|
95
|
+
templateId,
|
|
96
|
+
title,
|
|
97
|
+
warnings,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/** Steps 2–7 of the compile pipeline, shared by template and content compilation */
|
|
101
|
+
function runCompilePipeline(body, baseDir, ctx, config, customTemplateDir, projectMeta, warnings) {
|
|
102
|
+
// 2. Resolve {{include:path}} partials
|
|
103
|
+
let content = resolveIncludes(body, baseDir, customTemplateDir ?? config.template_dir);
|
|
104
|
+
// 3. Resolve {{project.*}} directives
|
|
105
|
+
content = resolveProjectDirectives(content, projectMeta);
|
|
106
|
+
// 4. Resolve {{ref:ID.attr}}, {{diagram:id}}, {{toc}}, {{glossary}}
|
|
107
|
+
content = applyDirectives(content, (directive) => {
|
|
108
|
+
switch (directive.kind) {
|
|
109
|
+
case 'ref': {
|
|
110
|
+
if (!directive.elementId)
|
|
111
|
+
return directive.raw;
|
|
112
|
+
const el = ctx.element(directive.elementId);
|
|
113
|
+
if (!el) {
|
|
114
|
+
warnings.push(`Element not found: ${directive.elementId}`);
|
|
115
|
+
return `_[ref: ${directive.elementId} not found]_`;
|
|
116
|
+
}
|
|
117
|
+
const attr = directive.attribute || 'name';
|
|
118
|
+
if (attr === 'name')
|
|
119
|
+
return el.name;
|
|
120
|
+
if (attr === 'id')
|
|
121
|
+
return el.id;
|
|
122
|
+
if (attr === 'kind')
|
|
123
|
+
return el.kind;
|
|
124
|
+
if (attr === 'layer')
|
|
125
|
+
return el.layer;
|
|
126
|
+
if (attr === 'doc' || attr === 'description')
|
|
127
|
+
return el.doc || '';
|
|
128
|
+
return el.attributes?.[attr] ? String(el.attributes[attr]) : `_[${attr} not found]_`;
|
|
129
|
+
}
|
|
130
|
+
case 'project': {
|
|
131
|
+
const val = getNestedValue(projectMeta, directive.projectKey ?? '');
|
|
132
|
+
return val !== undefined ? String(val) : directive.raw;
|
|
133
|
+
}
|
|
134
|
+
case 'diagram': {
|
|
135
|
+
const diagramId = directive.diagramId ?? '';
|
|
136
|
+
return `\n\n> **[Diagram: ${diagramId}]** _(diagram embed — run \`memo-architect dev\` to view)_\n\n`;
|
|
137
|
+
}
|
|
138
|
+
case 'toc': {
|
|
139
|
+
// TOC is resolved after all other directives, so we use a placeholder
|
|
140
|
+
return '{{__TOC_PLACEHOLDER__}}';
|
|
141
|
+
}
|
|
142
|
+
case 'glossary': {
|
|
143
|
+
return generateGlossary(ctx);
|
|
144
|
+
}
|
|
145
|
+
default:
|
|
146
|
+
return directive.raw;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
// 5. Execute memo-query blocks
|
|
150
|
+
content = processMemoQueryBlocks(content, ctx);
|
|
151
|
+
// 6. Execute memo-script blocks
|
|
152
|
+
content = processMemoScriptBlocks(content, ctx, projectMeta);
|
|
153
|
+
// 7. Replace TOC placeholder with actual TOC (after query/script blocks are rendered)
|
|
154
|
+
const toc = generateToc(content);
|
|
155
|
+
content = content.replace('{{__TOC_PLACEHOLDER__}}', toc);
|
|
156
|
+
return content;
|
|
157
|
+
}
|
|
158
|
+
export async function batchCompileMarkdown(options) {
|
|
159
|
+
const { templates, ctx, config, outputDir, customTemplateDir } = options;
|
|
160
|
+
if (!existsSync(outputDir))
|
|
161
|
+
mkdirSync(outputDir, { recursive: true });
|
|
162
|
+
const results = new Map();
|
|
163
|
+
const failed = [];
|
|
164
|
+
for (const tpl of templates) {
|
|
165
|
+
try {
|
|
166
|
+
const result = await compileMarkdownDocument({
|
|
167
|
+
templateId: tpl.id,
|
|
168
|
+
ctx,
|
|
169
|
+
config,
|
|
170
|
+
customTemplateDir,
|
|
171
|
+
});
|
|
172
|
+
results.set(tpl.id, result);
|
|
173
|
+
if (tpl.outputPath) {
|
|
174
|
+
const outputPath = resolve(outputDir, tpl.outputPath);
|
|
175
|
+
mkdirSync(dirname(outputPath), { recursive: true });
|
|
176
|
+
writeFileSync(outputPath, result.markdown, 'utf-8');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
failed.push(tpl.id);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return { results, failed };
|
|
184
|
+
}
|
|
185
|
+
// ─── Utility ─────────────────────────────────────────────────────────────────
|
|
186
|
+
function getNestedValue(obj, key) {
|
|
187
|
+
const parts = key.split('.');
|
|
188
|
+
let current = obj;
|
|
189
|
+
for (const part of parts) {
|
|
190
|
+
if (current === null || typeof current !== 'object')
|
|
191
|
+
return undefined;
|
|
192
|
+
current = current[part];
|
|
193
|
+
}
|
|
194
|
+
return current;
|
|
195
|
+
}
|
|
196
|
+
// ─── Load a raw DHF markdown file (for editing in the workbench) ─────────────
|
|
197
|
+
export function loadDhfMarkdownFile(filePath) {
|
|
198
|
+
try {
|
|
199
|
+
if (!existsSync(filePath))
|
|
200
|
+
return null;
|
|
201
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
202
|
+
const { frontmatter, body } = parseFrontmatter(content);
|
|
203
|
+
return { content, frontmatter, body };
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=document-compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-compiler.js","sourceRoot":"","sources":["../../src/dhf/document-compiler.ts"],"names":[],"mappings":"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"}
|