@libar-dev/architect 1.0.0-pre.3
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/CHANGELOG.md +50 -0
- package/LICENSE +25 -0
- package/LICENSE-MCP +62 -0
- package/README.md +147 -0
- package/dist/api/arch-queries.d.ts +95 -0
- package/dist/api/arch-queries.d.ts.map +1 -0
- package/dist/api/arch-queries.js +310 -0
- package/dist/api/arch-queries.js.map +1 -0
- package/dist/api/context-assembler.d.ts +124 -0
- package/dist/api/context-assembler.d.ts.map +1 -0
- package/dist/api/context-assembler.js +472 -0
- package/dist/api/context-assembler.js.map +1 -0
- package/dist/api/context-formatter.d.ts +26 -0
- package/dist/api/context-formatter.d.ts.map +1 -0
- package/dist/api/context-formatter.js +183 -0
- package/dist/api/context-formatter.js.map +1 -0
- package/dist/api/coverage-analyzer.d.ts +38 -0
- package/dist/api/coverage-analyzer.d.ts.map +1 -0
- package/dist/api/coverage-analyzer.js +117 -0
- package/dist/api/coverage-analyzer.js.map +1 -0
- package/dist/api/fuzzy-match.d.ts +75 -0
- package/dist/api/fuzzy-match.d.ts.map +1 -0
- package/dist/api/fuzzy-match.js +150 -0
- package/dist/api/fuzzy-match.js.map +1 -0
- package/dist/api/handoff-generator.d.ts +45 -0
- package/dist/api/handoff-generator.d.ts.map +1 -0
- package/dist/api/handoff-generator.js +139 -0
- package/dist/api/handoff-generator.js.map +1 -0
- package/dist/api/index.d.ts +61 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +54 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/pattern-helpers.d.ts +51 -0
- package/dist/api/pattern-helpers.d.ts.map +1 -0
- package/dist/api/pattern-helpers.js +84 -0
- package/dist/api/pattern-helpers.js.map +1 -0
- package/dist/api/process-state.d.ts +224 -0
- package/dist/api/process-state.d.ts.map +1 -0
- package/dist/api/process-state.js +308 -0
- package/dist/api/process-state.js.map +1 -0
- package/dist/api/rules-query.d.ts +60 -0
- package/dist/api/rules-query.d.ts.map +1 -0
- package/dist/api/rules-query.js +154 -0
- package/dist/api/rules-query.js.map +1 -0
- package/dist/api/scope-validator.d.ts +56 -0
- package/dist/api/scope-validator.d.ts.map +1 -0
- package/dist/api/scope-validator.js +293 -0
- package/dist/api/scope-validator.js.map +1 -0
- package/dist/api/stub-resolver.d.ts +117 -0
- package/dist/api/stub-resolver.d.ts.map +1 -0
- package/dist/api/stub-resolver.js +154 -0
- package/dist/api/stub-resolver.js.map +1 -0
- package/dist/api/summarize.d.ts +75 -0
- package/dist/api/summarize.d.ts.map +1 -0
- package/dist/api/summarize.js +97 -0
- package/dist/api/summarize.js.map +1 -0
- package/dist/api/types.d.ts +221 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +57 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cache/file-cache.d.ts +72 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +80 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/cli-schema.d.ts +83 -0
- package/dist/cli/cli-schema.d.ts.map +1 -0
- package/dist/cli/cli-schema.js +505 -0
- package/dist/cli/cli-schema.js.map +1 -0
- package/dist/cli/dataset-cache.d.ts +66 -0
- package/dist/cli/dataset-cache.d.ts.map +1 -0
- package/dist/cli/dataset-cache.js +179 -0
- package/dist/cli/dataset-cache.js.map +1 -0
- package/dist/cli/error-handler.d.ts +84 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +197 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/generate-docs.d.ts +30 -0
- package/dist/cli/generate-docs.d.ts.map +1 -0
- package/dist/cli/generate-docs.js +370 -0
- package/dist/cli/generate-docs.js.map +1 -0
- package/dist/cli/lint-patterns.d.ts +57 -0
- package/dist/cli/lint-patterns.d.ts.map +1 -0
- package/dist/cli/lint-patterns.js +257 -0
- package/dist/cli/lint-patterns.js.map +1 -0
- package/dist/cli/lint-process.d.ts +54 -0
- package/dist/cli/lint-process.d.ts.map +1 -0
- package/dist/cli/lint-process.js +319 -0
- package/dist/cli/lint-process.js.map +1 -0
- package/dist/cli/lint-steps.d.ts +32 -0
- package/dist/cli/lint-steps.d.ts.map +1 -0
- package/dist/cli/lint-steps.js +172 -0
- package/dist/cli/lint-steps.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +22 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +57 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/output-pipeline.d.ts +130 -0
- package/dist/cli/output-pipeline.d.ts.map +1 -0
- package/dist/cli/output-pipeline.js +234 -0
- package/dist/cli/output-pipeline.js.map +1 -0
- package/dist/cli/process-api.d.ts +37 -0
- package/dist/cli/process-api.d.ts.map +1 -0
- package/dist/cli/process-api.js +1550 -0
- package/dist/cli/process-api.js.map +1 -0
- package/dist/cli/repl.d.ts +38 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +239 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/validate-patterns.d.ts +115 -0
- package/dist/cli/validate-patterns.d.ts.map +1 -0
- package/dist/cli/validate-patterns.js +707 -0
- package/dist/cli/validate-patterns.js.map +1 -0
- package/dist/cli/version.d.ts +35 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +64 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/config-loader.d.ts +167 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +294 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/defaults.d.ts +92 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +103 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-config.d.ts +37 -0
- package/dist/config/define-config.d.ts.map +1 -0
- package/dist/config/define-config.js +38 -0
- package/dist/config/define-config.js.map +1 -0
- package/dist/config/factory.d.ts +79 -0
- package/dist/config/factory.d.ts.map +1 -0
- package/dist/config/factory.js +116 -0
- package/dist/config/factory.js.map +1 -0
- package/dist/config/index.d.ts +45 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +48 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge-sources.d.ts +47 -0
- package/dist/config/merge-sources.d.ts.map +1 -0
- package/dist/config/merge-sources.js +61 -0
- package/dist/config/merge-sources.js.map +1 -0
- package/dist/config/presets.d.ts +115 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +119 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/project-config-schema.d.ts +192 -0
- package/dist/config/project-config-schema.d.ts.map +1 -0
- package/dist/config/project-config-schema.js +231 -0
- package/dist/config/project-config-schema.js.map +1 -0
- package/dist/config/project-config.d.ts +229 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +37 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/config/regex-builders.d.ts +49 -0
- package/dist/config/regex-builders.d.ts.map +1 -0
- package/dist/config/regex-builders.js +85 -0
- package/dist/config/regex-builders.js.map +1 -0
- package/dist/config/resolve-config.d.ts +65 -0
- package/dist/config/resolve-config.d.ts.map +1 -0
- package/dist/config/resolve-config.js +150 -0
- package/dist/config/resolve-config.js.map +1 -0
- package/dist/config/types.d.ts +81 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +22 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/workflow-loader.d.ts +90 -0
- package/dist/config/workflow-loader.d.ts.map +1 -0
- package/dist/config/workflow-loader.js +167 -0
- package/dist/config/workflow-loader.js.map +1 -0
- package/dist/extractor/doc-extractor.d.ts +233 -0
- package/dist/extractor/doc-extractor.d.ts.map +1 -0
- package/dist/extractor/doc-extractor.js +481 -0
- package/dist/extractor/doc-extractor.js.map +1 -0
- package/dist/extractor/dual-source-extractor.d.ts +161 -0
- package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
- package/dist/extractor/dual-source-extractor.js +407 -0
- package/dist/extractor/dual-source-extractor.js.map +1 -0
- package/dist/extractor/gherkin-extractor.d.ts +170 -0
- package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
- package/dist/extractor/gherkin-extractor.js +543 -0
- package/dist/extractor/gherkin-extractor.js.map +1 -0
- package/dist/extractor/index.d.ts +7 -0
- package/dist/extractor/index.d.ts.map +1 -0
- package/dist/extractor/index.js +11 -0
- package/dist/extractor/index.js.map +1 -0
- package/dist/extractor/layer-inference.d.ts +66 -0
- package/dist/extractor/layer-inference.d.ts.map +1 -0
- package/dist/extractor/layer-inference.js +93 -0
- package/dist/extractor/layer-inference.js.map +1 -0
- package/dist/extractor/shape-extractor.d.ts +79 -0
- package/dist/extractor/shape-extractor.d.ts.map +1 -0
- package/dist/extractor/shape-extractor.js +966 -0
- package/dist/extractor/shape-extractor.js.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.js +155 -0
- package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
- package/dist/generators/built-in/codec-generators.d.ts +29 -0
- package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
- package/dist/generators/built-in/codec-generators.js +195 -0
- package/dist/generators/built-in/codec-generators.js.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.js +654 -0
- package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
- package/dist/generators/built-in/design-review-generator.d.ts +26 -0
- package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
- package/dist/generators/built-in/design-review-generator.js +94 -0
- package/dist/generators/built-in/design-review-generator.js.map +1 -0
- package/dist/generators/built-in/index.d.ts +22 -0
- package/dist/generators/built-in/index.d.ts.map +1 -0
- package/dist/generators/built-in/index.js +23 -0
- package/dist/generators/built-in/index.js.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.js +85 -0
- package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
- package/dist/generators/built-in/reference-generators.d.ts +51 -0
- package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
- package/dist/generators/built-in/reference-generators.js +320 -0
- package/dist/generators/built-in/reference-generators.js.map +1 -0
- package/dist/generators/codec-based.d.ts +63 -0
- package/dist/generators/codec-based.d.ts.map +1 -0
- package/dist/generators/codec-based.js +88 -0
- package/dist/generators/codec-based.js.map +1 -0
- package/dist/generators/content-deduplicator.d.ts +114 -0
- package/dist/generators/content-deduplicator.d.ts.map +1 -0
- package/dist/generators/content-deduplicator.js +356 -0
- package/dist/generators/content-deduplicator.js.map +1 -0
- package/dist/generators/index.d.ts +50 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +54 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/orchestrator.d.ts +265 -0
- package/dist/generators/orchestrator.d.ts.map +1 -0
- package/dist/generators/orchestrator.js +570 -0
- package/dist/generators/orchestrator.js.map +1 -0
- package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
- package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
- package/dist/generators/pipeline/build-pipeline.js +248 -0
- package/dist/generators/pipeline/build-pipeline.js.map +1 -0
- package/dist/generators/pipeline/context-inference.d.ts +55 -0
- package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
- package/dist/generators/pipeline/context-inference.js +76 -0
- package/dist/generators/pipeline/context-inference.js.map +1 -0
- package/dist/generators/pipeline/index.d.ts +27 -0
- package/dist/generators/pipeline/index.d.ts.map +1 -0
- package/dist/generators/pipeline/index.js +34 -0
- package/dist/generators/pipeline/index.js.map +1 -0
- package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
- package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
- package/dist/generators/pipeline/merge-patterns.js +50 -0
- package/dist/generators/pipeline/merge-patterns.js.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.js +132 -0
- package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
- package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
- package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
- package/dist/generators/pipeline/sequence-utils.js +235 -0
- package/dist/generators/pipeline/sequence-utils.js.map +1 -0
- package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
- package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-dataset.js +355 -0
- package/dist/generators/pipeline/transform-dataset.js.map +1 -0
- package/dist/generators/pipeline/transform-types.d.ts +96 -0
- package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-types.js +18 -0
- package/dist/generators/pipeline/transform-types.js.map +1 -0
- package/dist/generators/registry.d.ts +64 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +77 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/source-mapper.d.ts +143 -0
- package/dist/generators/source-mapper.d.ts.map +1 -0
- package/dist/generators/source-mapper.js +602 -0
- package/dist/generators/source-mapper.js.map +1 -0
- package/dist/generators/source-mapping-validator.d.ts +118 -0
- package/dist/generators/source-mapping-validator.d.ts.map +1 -0
- package/dist/generators/source-mapping-validator.js +334 -0
- package/dist/generators/source-mapping-validator.js.map +1 -0
- package/dist/generators/types.d.ts +104 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +5 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/generators/warning-collector.d.ts +144 -0
- package/dist/generators/warning-collector.d.ts.map +1 -0
- package/dist/generators/warning-collector.js +166 -0
- package/dist/generators/warning-collector.js.map +1 -0
- package/dist/git/branch-diff.d.ts +44 -0
- package/dist/git/branch-diff.d.ts.map +1 -0
- package/dist/git/branch-diff.js +57 -0
- package/dist/git/branch-diff.js.map +1 -0
- package/dist/git/helpers.d.ts +46 -0
- package/dist/git/helpers.d.ts.map +1 -0
- package/dist/git/helpers.js +67 -0
- package/dist/git/helpers.js.map +1 -0
- package/dist/git/index.d.ts +18 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +18 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/name-status.d.ts +32 -0
- package/dist/git/name-status.d.ts.map +1 -0
- package/dist/git/name-status.js +66 -0
- package/dist/git/name-status.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/engine.d.ts +113 -0
- package/dist/lint/engine.d.ts.map +1 -0
- package/dist/lint/engine.js +228 -0
- package/dist/lint/engine.js.map +1 -0
- package/dist/lint/index.d.ts +26 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +24 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/process-guard/decider.d.ts +166 -0
- package/dist/lint/process-guard/decider.d.ts.map +1 -0
- package/dist/lint/process-guard/decider.js +412 -0
- package/dist/lint/process-guard/decider.js.map +1 -0
- package/dist/lint/process-guard/derive-state.d.ts +96 -0
- package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
- package/dist/lint/process-guard/derive-state.js +368 -0
- package/dist/lint/process-guard/derive-state.js.map +1 -0
- package/dist/lint/process-guard/detect-changes.d.ts +109 -0
- package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
- package/dist/lint/process-guard/detect-changes.js +487 -0
- package/dist/lint/process-guard/detect-changes.js.map +1 -0
- package/dist/lint/process-guard/index.d.ts +35 -0
- package/dist/lint/process-guard/index.d.ts.map +1 -0
- package/dist/lint/process-guard/index.js +39 -0
- package/dist/lint/process-guard/index.js.map +1 -0
- package/dist/lint/process-guard/types.d.ts +255 -0
- package/dist/lint/process-guard/types.d.ts.map +1 -0
- package/dist/lint/process-guard/types.js +31 -0
- package/dist/lint/process-guard/types.js.map +1 -0
- package/dist/lint/rules.d.ts +147 -0
- package/dist/lint/rules.d.ts.map +1 -0
- package/dist/lint/rules.js +289 -0
- package/dist/lint/rules.js.map +1 -0
- package/dist/lint/steps/cross-checks.d.ts +66 -0
- package/dist/lint/steps/cross-checks.d.ts.map +1 -0
- package/dist/lint/steps/cross-checks.js +290 -0
- package/dist/lint/steps/cross-checks.js.map +1 -0
- package/dist/lint/steps/feature-checks.d.ts +78 -0
- package/dist/lint/steps/feature-checks.d.ts.map +1 -0
- package/dist/lint/steps/feature-checks.js +279 -0
- package/dist/lint/steps/feature-checks.js.map +1 -0
- package/dist/lint/steps/index.d.ts +22 -0
- package/dist/lint/steps/index.d.ts.map +1 -0
- package/dist/lint/steps/index.js +26 -0
- package/dist/lint/steps/index.js.map +1 -0
- package/dist/lint/steps/pair-resolver.d.ts +29 -0
- package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
- package/dist/lint/steps/pair-resolver.js +76 -0
- package/dist/lint/steps/pair-resolver.js.map +1 -0
- package/dist/lint/steps/runner.d.ts +28 -0
- package/dist/lint/steps/runner.d.ts.map +1 -0
- package/dist/lint/steps/runner.js +143 -0
- package/dist/lint/steps/runner.js.map +1 -0
- package/dist/lint/steps/step-checks.d.ts +41 -0
- package/dist/lint/steps/step-checks.d.ts.map +1 -0
- package/dist/lint/steps/step-checks.js +164 -0
- package/dist/lint/steps/step-checks.js.map +1 -0
- package/dist/lint/steps/types.d.ts +95 -0
- package/dist/lint/steps/types.d.ts.map +1 -0
- package/dist/lint/steps/types.js +79 -0
- package/dist/lint/steps/types.js.map +1 -0
- package/dist/lint/steps/utils.d.ts +22 -0
- package/dist/lint/steps/utils.d.ts.map +1 -0
- package/dist/lint/steps/utils.js +57 -0
- package/dist/lint/steps/utils.js.map +1 -0
- package/dist/mcp/file-watcher.d.ts +24 -0
- package/dist/mcp/file-watcher.d.ts.map +1 -0
- package/dist/mcp/file-watcher.js +75 -0
- package/dist/mcp/file-watcher.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +21 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/pipeline-session.d.ts +33 -0
- package/dist/mcp/pipeline-session.d.ts.map +1 -0
- package/dist/mcp/pipeline-session.js +149 -0
- package/dist/mcp/pipeline-session.js.map +1 -0
- package/dist/mcp/server.d.ts +28 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +197 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +4 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +525 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/renderable/codecs/adr.d.ts +4730 -0
- package/dist/renderable/codecs/adr.d.ts.map +1 -0
- package/dist/renderable/codecs/adr.js +590 -0
- package/dist/renderable/codecs/adr.js.map +1 -0
- package/dist/renderable/codecs/architecture.d.ts +4760 -0
- package/dist/renderable/codecs/architecture.d.ts.map +1 -0
- package/dist/renderable/codecs/architecture.js +524 -0
- package/dist/renderable/codecs/architecture.js.map +1 -0
- package/dist/renderable/codecs/business-rules.d.ts +4777 -0
- package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/business-rules.js +648 -0
- package/dist/renderable/codecs/business-rules.js.map +1 -0
- package/dist/renderable/codecs/claude-module.d.ts +4710 -0
- package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
- package/dist/renderable/codecs/claude-module.js +214 -0
- package/dist/renderable/codecs/claude-module.js.map +1 -0
- package/dist/renderable/codecs/composite.d.ts +84 -0
- package/dist/renderable/codecs/composite.d.ts.map +1 -0
- package/dist/renderable/codecs/composite.js +124 -0
- package/dist/renderable/codecs/composite.js.map +1 -0
- package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
- package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
- package/dist/renderable/codecs/convention-extractor.js +353 -0
- package/dist/renderable/codecs/convention-extractor.js.map +1 -0
- package/dist/renderable/codecs/decision-doc.d.ts +308 -0
- package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
- package/dist/renderable/codecs/decision-doc.js +485 -0
- package/dist/renderable/codecs/decision-doc.js.map +1 -0
- package/dist/renderable/codecs/design-review.d.ts +55 -0
- package/dist/renderable/codecs/design-review.d.ts.map +1 -0
- package/dist/renderable/codecs/design-review.js +532 -0
- package/dist/renderable/codecs/design-review.js.map +1 -0
- package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
- package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
- package/dist/renderable/codecs/diagram-utils.js +70 -0
- package/dist/renderable/codecs/diagram-utils.js.map +1 -0
- package/dist/renderable/codecs/helpers.d.ts +553 -0
- package/dist/renderable/codecs/helpers.d.ts.map +1 -0
- package/dist/renderable/codecs/helpers.js +913 -0
- package/dist/renderable/codecs/helpers.js.map +1 -0
- package/dist/renderable/codecs/index-codec.d.ts +4714 -0
- package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
- package/dist/renderable/codecs/index-codec.js +250 -0
- package/dist/renderable/codecs/index-codec.js.map +1 -0
- package/dist/renderable/codecs/index.d.ts +46 -0
- package/dist/renderable/codecs/index.d.ts.map +1 -0
- package/dist/renderable/codecs/index.js +70 -0
- package/dist/renderable/codecs/index.js.map +1 -0
- package/dist/renderable/codecs/patterns.d.ts +4757 -0
- package/dist/renderable/codecs/patterns.d.ts.map +1 -0
- package/dist/renderable/codecs/patterns.js +462 -0
- package/dist/renderable/codecs/patterns.js.map +1 -0
- package/dist/renderable/codecs/planning.d.ts +14055 -0
- package/dist/renderable/codecs/planning.d.ts.map +1 -0
- package/dist/renderable/codecs/planning.js +449 -0
- package/dist/renderable/codecs/planning.js.map +1 -0
- package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
- package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
- package/dist/renderable/codecs/pr-changes.js +425 -0
- package/dist/renderable/codecs/pr-changes.js.map +1 -0
- package/dist/renderable/codecs/reference.d.ts +215 -0
- package/dist/renderable/codecs/reference.d.ts.map +1 -0
- package/dist/renderable/codecs/reference.js +1578 -0
- package/dist/renderable/codecs/reference.js.map +1 -0
- package/dist/renderable/codecs/reporting.d.ts +14026 -0
- package/dist/renderable/codecs/reporting.d.ts.map +1 -0
- package/dist/renderable/codecs/reporting.js +365 -0
- package/dist/renderable/codecs/reporting.js.map +1 -0
- package/dist/renderable/codecs/requirements.d.ts +4743 -0
- package/dist/renderable/codecs/requirements.d.ts.map +1 -0
- package/dist/renderable/codecs/requirements.js +428 -0
- package/dist/renderable/codecs/requirements.js.map +1 -0
- package/dist/renderable/codecs/session.d.ts +9410 -0
- package/dist/renderable/codecs/session.d.ts.map +1 -0
- package/dist/renderable/codecs/session.js +848 -0
- package/dist/renderable/codecs/session.js.map +1 -0
- package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
- package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
- package/dist/renderable/codecs/shape-matcher.js +106 -0
- package/dist/renderable/codecs/shape-matcher.js.map +1 -0
- package/dist/renderable/codecs/shared-schema.d.ts +44 -0
- package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
- package/dist/renderable/codecs/shared-schema.js +43 -0
- package/dist/renderable/codecs/shared-schema.js.map +1 -0
- package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
- package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
- package/dist/renderable/codecs/taxonomy.js +570 -0
- package/dist/renderable/codecs/taxonomy.js.map +1 -0
- package/dist/renderable/codecs/timeline.d.ts +14094 -0
- package/dist/renderable/codecs/timeline.d.ts.map +1 -0
- package/dist/renderable/codecs/timeline.js +906 -0
- package/dist/renderable/codecs/timeline.js.map +1 -0
- package/dist/renderable/codecs/types/base.d.ts +81 -0
- package/dist/renderable/codecs/types/base.d.ts.map +1 -0
- package/dist/renderable/codecs/types/base.js +56 -0
- package/dist/renderable/codecs/types/base.js.map +1 -0
- package/dist/renderable/codecs/types/index.d.ts +5 -0
- package/dist/renderable/codecs/types/index.d.ts.map +1 -0
- package/dist/renderable/codecs/types/index.js +5 -0
- package/dist/renderable/codecs/types/index.js.map +1 -0
- package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
- package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/validation-rules.js +537 -0
- package/dist/renderable/codecs/validation-rules.js.map +1 -0
- package/dist/renderable/generate.d.ts +338 -0
- package/dist/renderable/generate.d.ts.map +1 -0
- package/dist/renderable/generate.js +437 -0
- package/dist/renderable/generate.js.map +1 -0
- package/dist/renderable/index.d.ts +36 -0
- package/dist/renderable/index.d.ts.map +1 -0
- package/dist/renderable/index.js +58 -0
- package/dist/renderable/index.js.map +1 -0
- package/dist/renderable/load-preamble.d.ts +56 -0
- package/dist/renderable/load-preamble.d.ts.map +1 -0
- package/dist/renderable/load-preamble.js +298 -0
- package/dist/renderable/load-preamble.js.map +1 -0
- package/dist/renderable/render.d.ts +61 -0
- package/dist/renderable/render.d.ts.map +1 -0
- package/dist/renderable/render.js +346 -0
- package/dist/renderable/render.js.map +1 -0
- package/dist/renderable/schema.d.ts +194 -0
- package/dist/renderable/schema.d.ts.map +1 -0
- package/dist/renderable/schema.js +197 -0
- package/dist/renderable/schema.js.map +1 -0
- package/dist/renderable/utils.d.ts +146 -0
- package/dist/renderable/utils.d.ts.map +1 -0
- package/dist/renderable/utils.js +362 -0
- package/dist/renderable/utils.js.map +1 -0
- package/dist/scanner/ast-parser.d.ts +75 -0
- package/dist/scanner/ast-parser.d.ts.map +1 -0
- package/dist/scanner/ast-parser.js +835 -0
- package/dist/scanner/ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
- package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
- package/dist/scanner/gherkin-ast-parser.js +507 -0
- package/dist/scanner/gherkin-ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-scanner.d.ts +106 -0
- package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
- package/dist/scanner/gherkin-scanner.js +149 -0
- package/dist/scanner/gherkin-scanner.js.map +1 -0
- package/dist/scanner/index.d.ts +85 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +102 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/pattern-scanner.d.ts +83 -0
- package/dist/scanner/pattern-scanner.d.ts.map +1 -0
- package/dist/scanner/pattern-scanner.js +110 -0
- package/dist/scanner/pattern-scanner.js.map +1 -0
- package/dist/taxonomy/categories.d.ts +47 -0
- package/dist/taxonomy/categories.d.ts.map +1 -0
- package/dist/taxonomy/categories.js +175 -0
- package/dist/taxonomy/categories.js.map +1 -0
- package/dist/taxonomy/claude-section-values.d.ts +12 -0
- package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
- package/dist/taxonomy/claude-section-values.js +17 -0
- package/dist/taxonomy/claude-section-values.js.map +1 -0
- package/dist/taxonomy/conventions.d.ts +13 -0
- package/dist/taxonomy/conventions.d.ts.map +1 -0
- package/dist/taxonomy/conventions.js +27 -0
- package/dist/taxonomy/conventions.js.map +1 -0
- package/dist/taxonomy/deliverable-status.d.ts +99 -0
- package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
- package/dist/taxonomy/deliverable-status.js +131 -0
- package/dist/taxonomy/deliverable-status.js.map +1 -0
- package/dist/taxonomy/format-types.d.ts +17 -0
- package/dist/taxonomy/format-types.d.ts.map +1 -0
- package/dist/taxonomy/format-types.js +23 -0
- package/dist/taxonomy/format-types.js.map +1 -0
- package/dist/taxonomy/generator-options.d.ts +67 -0
- package/dist/taxonomy/generator-options.d.ts.map +1 -0
- package/dist/taxonomy/generator-options.js +75 -0
- package/dist/taxonomy/generator-options.js.map +1 -0
- package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
- package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
- package/dist/taxonomy/hierarchy-levels.js +22 -0
- package/dist/taxonomy/hierarchy-levels.js.map +1 -0
- package/dist/taxonomy/index.d.ts +35 -0
- package/dist/taxonomy/index.d.ts.map +1 -0
- package/dist/taxonomy/index.js +56 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/layer-types.d.ts +22 -0
- package/dist/taxonomy/layer-types.d.ts.map +1 -0
- package/dist/taxonomy/layer-types.js +28 -0
- package/dist/taxonomy/layer-types.js.map +1 -0
- package/dist/taxonomy/normalized-status.d.ts +99 -0
- package/dist/taxonomy/normalized-status.d.ts.map +1 -0
- package/dist/taxonomy/normalized-status.js +113 -0
- package/dist/taxonomy/normalized-status.js.map +1 -0
- package/dist/taxonomy/registry-builder.d.ts +104 -0
- package/dist/taxonomy/registry-builder.d.ts.map +1 -0
- package/dist/taxonomy/registry-builder.js +561 -0
- package/dist/taxonomy/registry-builder.js.map +1 -0
- package/dist/taxonomy/risk-levels.d.ts +16 -0
- package/dist/taxonomy/risk-levels.d.ts.map +1 -0
- package/dist/taxonomy/risk-levels.js +15 -0
- package/dist/taxonomy/risk-levels.js.map +1 -0
- package/dist/taxonomy/severity-types.d.ts +6 -0
- package/dist/taxonomy/severity-types.d.ts.map +1 -0
- package/dist/taxonomy/severity-types.js +5 -0
- package/dist/taxonomy/severity-types.js.map +1 -0
- package/dist/taxonomy/status-values.d.ts +39 -0
- package/dist/taxonomy/status-values.d.ts.map +1 -0
- package/dist/taxonomy/status-values.js +42 -0
- package/dist/taxonomy/status-values.js.map +1 -0
- package/dist/types/branded.d.ts +89 -0
- package/dist/types/branded.d.ts.map +1 -0
- package/dist/types/branded.js +57 -0
- package/dist/types/branded.js.map +1 -0
- package/dist/types/errors.d.ts +342 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +251 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +78 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +78 -0
- package/dist/types/result.js.map +1 -0
- package/dist/utils/collection-utils.d.ts +49 -0
- package/dist/utils/collection-utils.d.ts.map +1 -0
- package/dist/utils/collection-utils.js +58 -0
- package/dist/utils/collection-utils.js.map +1 -0
- package/dist/utils/id-utils.d.ts +46 -0
- package/dist/utils/id-utils.d.ts.map +1 -0
- package/dist/utils/id-utils.js +51 -0
- package/dist/utils/id-utils.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/string-utils.d.ts +150 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +281 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/validation/anti-patterns.d.ts +134 -0
- package/dist/validation/anti-patterns.d.ts.map +1 -0
- package/dist/validation/anti-patterns.js +307 -0
- package/dist/validation/anti-patterns.js.map +1 -0
- package/dist/validation/dod-validator.d.ts +94 -0
- package/dist/validation/dod-validator.d.ts.map +1 -0
- package/dist/validation/dod-validator.js +198 -0
- package/dist/validation/dod-validator.js.map +1 -0
- package/dist/validation/fsm/index.d.ts +59 -0
- package/dist/validation/fsm/index.d.ts.map +1 -0
- package/dist/validation/fsm/index.js +64 -0
- package/dist/validation/fsm/index.js.map +1 -0
- package/dist/validation/fsm/states.d.ts +93 -0
- package/dist/validation/fsm/states.d.ts.map +1 -0
- package/dist/validation/fsm/states.js +98 -0
- package/dist/validation/fsm/states.js.map +1 -0
- package/dist/validation/fsm/transitions.d.ts +100 -0
- package/dist/validation/fsm/transitions.d.ts.map +1 -0
- package/dist/validation/fsm/transitions.js +122 -0
- package/dist/validation/fsm/transitions.js.map +1 -0
- package/dist/validation/fsm/validator.d.ts +163 -0
- package/dist/validation/fsm/validator.d.ts.map +1 -0
- package/dist/validation/fsm/validator.js +205 -0
- package/dist/validation/fsm/validator.js.map +1 -0
- package/dist/validation/index.d.ts +23 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +25 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +136 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +56 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation-schemas/codec-utils.d.ts +188 -0
- package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
- package/dist/validation-schemas/codec-utils.js +258 -0
- package/dist/validation-schemas/codec-utils.js.map +1 -0
- package/dist/validation-schemas/config.d.ts +99 -0
- package/dist/validation-schemas/config.d.ts.map +1 -0
- package/dist/validation-schemas/config.js +178 -0
- package/dist/validation-schemas/config.js.map +1 -0
- package/dist/validation-schemas/doc-directive.d.ts +195 -0
- package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
- package/dist/validation-schemas/doc-directive.js +239 -0
- package/dist/validation-schemas/doc-directive.js.map +1 -0
- package/dist/validation-schemas/dual-source.d.ts +167 -0
- package/dist/validation-schemas/dual-source.d.ts.map +1 -0
- package/dist/validation-schemas/dual-source.js +168 -0
- package/dist/validation-schemas/dual-source.js.map +1 -0
- package/dist/validation-schemas/export-info.d.ts +53 -0
- package/dist/validation-schemas/export-info.d.ts.map +1 -0
- package/dist/validation-schemas/export-info.js +101 -0
- package/dist/validation-schemas/export-info.js.map +1 -0
- package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
- package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-pattern.js +459 -0
- package/dist/validation-schemas/extracted-pattern.js.map +1 -0
- package/dist/validation-schemas/extracted-shape.d.ts +200 -0
- package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-shape.js +182 -0
- package/dist/validation-schemas/extracted-shape.js.map +1 -0
- package/dist/validation-schemas/feature.d.ts +554 -0
- package/dist/validation-schemas/feature.d.ts.map +1 -0
- package/dist/validation-schemas/feature.js +262 -0
- package/dist/validation-schemas/feature.js.map +1 -0
- package/dist/validation-schemas/index.d.ts +15 -0
- package/dist/validation-schemas/index.d.ts.map +1 -0
- package/dist/validation-schemas/index.js +32 -0
- package/dist/validation-schemas/index.js.map +1 -0
- package/dist/validation-schemas/lint.d.ts +46 -0
- package/dist/validation-schemas/lint.d.ts.map +1 -0
- package/dist/validation-schemas/lint.js +45 -0
- package/dist/validation-schemas/lint.js.map +1 -0
- package/dist/validation-schemas/master-dataset.d.ts +8299 -0
- package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
- package/dist/validation-schemas/master-dataset.js +275 -0
- package/dist/validation-schemas/master-dataset.js.map +1 -0
- package/dist/validation-schemas/output-schemas.d.ts +183 -0
- package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
- package/dist/validation-schemas/output-schemas.js +149 -0
- package/dist/validation-schemas/output-schemas.js.map +1 -0
- package/dist/validation-schemas/scenario-ref.d.ts +80 -0
- package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
- package/dist/validation-schemas/scenario-ref.js +73 -0
- package/dist/validation-schemas/scenario-ref.js.map +1 -0
- package/dist/validation-schemas/tag-registry.d.ts +210 -0
- package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
- package/dist/validation-schemas/tag-registry.js +248 -0
- package/dist/validation-schemas/tag-registry.js.map +1 -0
- package/dist/validation-schemas/workflow-config.d.ts +125 -0
- package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
- package/dist/validation-schemas/workflow-config.js +138 -0
- package/dist/validation-schemas/workflow-config.js.map +1 -0
- package/docs/ANNOTATION-GUIDE.md +271 -0
- package/docs/ARCHITECTURE.md +1636 -0
- package/docs/CONFIGURATION.md +337 -0
- package/docs/DOCS-GAP-ANALYSIS.md +811 -0
- package/docs/GHERKIN-PATTERNS.md +366 -0
- package/docs/INDEX.md +345 -0
- package/docs/MCP-SETUP.md +140 -0
- package/docs/METHODOLOGY.md +240 -0
- package/docs/PROCESS-API.md +65 -0
- package/docs/PROCESS-GUARD.md +341 -0
- package/docs/SESSION-GUIDES.md +391 -0
- package/docs/TAXONOMY.md +106 -0
- package/docs/VALIDATION.md +418 -0
- package/docs-live/ARCHITECTURE.md +362 -0
- package/docs-live/BUSINESS-RULES.md +24 -0
- package/docs-live/CHANGELOG-GENERATED.md +375 -0
- package/docs-live/DECISIONS.md +78 -0
- package/docs-live/INDEX.md +231 -0
- package/docs-live/PRODUCT-AREAS.md +255 -0
- package/docs-live/TAXONOMY.md +202 -0
- package/docs-live/VALIDATION-RULES.md +119 -0
- package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
- package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
- package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
- package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
- package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
- package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
- package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
- package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
- package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
- package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
- package/docs-live/_claude-md/generation/generation-overview.md +30 -0
- package/docs-live/_claude-md/process/process-overview.md +127 -0
- package/docs-live/_claude-md/validation/process-guard.md +185 -0
- package/docs-live/_claude-md/validation/validation-overview.md +37 -0
- package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
- package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
- package/docs-live/business-rules/annotation.md +1462 -0
- package/docs-live/business-rules/configuration.md +465 -0
- package/docs-live/business-rules/core-types.md +531 -0
- package/docs-live/business-rules/data-api.md +1403 -0
- package/docs-live/business-rules/generation.md +4726 -0
- package/docs-live/business-rules/process.md +122 -0
- package/docs-live/business-rules/validation.md +998 -0
- package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
- package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
- package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
- package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
- package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
- package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
- package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
- package/docs-live/product-areas/ANNOTATION.md +591 -0
- package/docs-live/product-areas/CONFIGURATION.md +1048 -0
- package/docs-live/product-areas/CORE-TYPES.md +221 -0
- package/docs-live/product-areas/DATA-API.md +850 -0
- package/docs-live/product-areas/GENERATION.md +1200 -0
- package/docs-live/product-areas/PROCESS.md +351 -0
- package/docs-live/product-areas/VALIDATION.md +1135 -0
- package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
- package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
- package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
- package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
- package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
- package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
- package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
- package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
- package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
- package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
- package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
- package/docs-live/taxonomy/categories.md +33 -0
- package/docs-live/taxonomy/format-types.md +67 -0
- package/docs-live/taxonomy/metadata-tags.md +693 -0
- package/docs-live/validation/error-catalog.md +78 -0
- package/docs-live/validation/fsm-transitions.md +50 -0
- package/docs-live/validation/protection-levels.md +51 -0
- package/package.json +233 -0
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern DecisionDocCodec
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-arch-role projection
|
|
7
|
+
* @architect-arch-context renderer
|
|
8
|
+
* @architect-arch-layer application
|
|
9
|
+
*
|
|
10
|
+
* ## Decision Doc Codec
|
|
11
|
+
*
|
|
12
|
+
* Parses decision documents (ADR/PDR in .feature format) and extracts content
|
|
13
|
+
* for documentation generation. Provides parsing utilities for source mapping
|
|
14
|
+
* tables, self-reference markers, and rule block extraction.
|
|
15
|
+
*
|
|
16
|
+
* ### When to Use
|
|
17
|
+
*
|
|
18
|
+
* - When extracting content from decision documents for doc generation
|
|
19
|
+
* - When parsing Rule: blocks for Context/Decision/Consequences sections
|
|
20
|
+
* - When extracting DocStrings (fenced code blocks) with language tags
|
|
21
|
+
* - When parsing source mapping tables from decision descriptions
|
|
22
|
+
*
|
|
23
|
+
* ### Source Mapping Table Format
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
* | Section | Source File | Extraction Method |
|
|
27
|
+
* | Intro & Context | THIS DECISION | Decision rule description |
|
|
28
|
+
* | API Types | src/types.ts | @extract-shapes tag |
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ### Self-Reference Markers
|
|
32
|
+
*
|
|
33
|
+
* - `THIS DECISION` - Extract from the current decision document
|
|
34
|
+
* - `THIS DECISION (Rule: X)` - Extract specific Rule: block
|
|
35
|
+
* - `THIS DECISION (DocString)` - Extract fenced code blocks
|
|
36
|
+
*/
|
|
37
|
+
import { parseDescriptionWithDocStrings, partitionRulesByPrefix, } from './helpers.js';
|
|
38
|
+
import { normalizeLineEndings } from '../../utils/string-utils.js';
|
|
39
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
40
|
+
// Self-Reference Constants
|
|
41
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
42
|
+
/**
|
|
43
|
+
* Self-reference marker indicating content should be extracted from current document
|
|
44
|
+
*/
|
|
45
|
+
export const SELF_REFERENCE_MARKER = 'THIS DECISION';
|
|
46
|
+
/**
|
|
47
|
+
* Pattern for self-reference with specific Rule: block
|
|
48
|
+
* Matches: "THIS DECISION (Rule: SomeName)"
|
|
49
|
+
*/
|
|
50
|
+
export const SELF_REFERENCE_RULE_PATTERN = /^THIS DECISION \(Rule:\s*([^)]+)\)$/i;
|
|
51
|
+
/**
|
|
52
|
+
* Pattern for self-reference to DocStrings
|
|
53
|
+
* Matches: "THIS DECISION (DocString)"
|
|
54
|
+
*/
|
|
55
|
+
export const SELF_REFERENCE_DOCSTRING_PATTERN = /^THIS DECISION \(DocString\)$/i;
|
|
56
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
57
|
+
// Rule Partitioning (Uses shared helper from helpers.ts)
|
|
58
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
59
|
+
/**
|
|
60
|
+
* Partition decision rules by semantic prefix
|
|
61
|
+
*
|
|
62
|
+
* Wrapper around shared partitionRulesByPrefix that doesn't warn about "other" rules.
|
|
63
|
+
* Decision docs may have additional rules like "Proof of Concept" or "Expected Output"
|
|
64
|
+
* that are valid but don't fit the standard ADR sections.
|
|
65
|
+
*
|
|
66
|
+
* @param rules - Business rules from the extracted pattern
|
|
67
|
+
* @param _patternName - Pattern name for context (unused, kept for API compatibility)
|
|
68
|
+
* @returns Partitioned rules by category
|
|
69
|
+
*/
|
|
70
|
+
export function partitionDecisionRules(rules, _patternName) {
|
|
71
|
+
// Note: Unlike ADR codec, we don't warn about "other" rules
|
|
72
|
+
return partitionRulesByPrefix(rules, { warnOnOther: false });
|
|
73
|
+
}
|
|
74
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
75
|
+
// DocString Extraction
|
|
76
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
77
|
+
/**
|
|
78
|
+
* Extract DocStrings (fenced code blocks) from text content
|
|
79
|
+
*
|
|
80
|
+
* Supports two formats:
|
|
81
|
+
* - Gherkin DocStrings: """language\ncontent\n"""
|
|
82
|
+
* - Markdown code fences: ```language\ncontent\n```
|
|
83
|
+
*
|
|
84
|
+
* @param text - Text content that may contain DocStrings
|
|
85
|
+
* @returns Array of extracted DocStrings with language tags
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const docStrings = extractDocStrings(`
|
|
90
|
+
* Some text...
|
|
91
|
+
*
|
|
92
|
+
* """bash
|
|
93
|
+
* npm install
|
|
94
|
+
* """
|
|
95
|
+
*
|
|
96
|
+
* More text...
|
|
97
|
+
*
|
|
98
|
+
* """typescript
|
|
99
|
+
* const x = 1;
|
|
100
|
+
* """
|
|
101
|
+
* `);
|
|
102
|
+
* // Returns: [
|
|
103
|
+
* // { language: 'bash', content: 'npm install' },
|
|
104
|
+
* // { language: 'typescript', content: 'const x = 1;' }
|
|
105
|
+
* // ]
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export function extractDocStrings(text) {
|
|
109
|
+
if (!text || text.trim().length === 0) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
// Normalize line endings (Windows CRLF -> LF)
|
|
113
|
+
const normalized = normalizeLineEndings(text);
|
|
114
|
+
const docStrings = [];
|
|
115
|
+
// Extract Gherkin DocStrings (""" format)
|
|
116
|
+
const gherkinDocStringPattern = /"""(\w*)\n([\s\S]*?)"""/g;
|
|
117
|
+
let match;
|
|
118
|
+
while ((match = gherkinDocStringPattern.exec(normalized)) !== null) {
|
|
119
|
+
const langMatch = match[1] ?? '';
|
|
120
|
+
const language = langMatch.length > 0 ? langMatch : 'text';
|
|
121
|
+
const content = (match[2] ?? '').trim();
|
|
122
|
+
if (content) {
|
|
123
|
+
docStrings.push({ language, content });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Extract markdown code fences (``` format)
|
|
127
|
+
const markdownCodePattern = /```(\w*)\n([\s\S]*?)```/g;
|
|
128
|
+
while ((match = markdownCodePattern.exec(normalized)) !== null) {
|
|
129
|
+
const langMatch = match[1] ?? '';
|
|
130
|
+
const language = langMatch.length > 0 ? langMatch : 'text';
|
|
131
|
+
const content = (match[2] ?? '').trim();
|
|
132
|
+
if (content) {
|
|
133
|
+
docStrings.push({ language, content });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return docStrings;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Extract DocStrings from business rules
|
|
140
|
+
*
|
|
141
|
+
* Iterates through rule descriptions and extracts all embedded DocStrings.
|
|
142
|
+
*
|
|
143
|
+
* @param rules - Business rules to extract DocStrings from
|
|
144
|
+
* @returns Array of extracted DocStrings with language tags
|
|
145
|
+
*/
|
|
146
|
+
export function extractDocStringsFromRules(rules) {
|
|
147
|
+
if (!rules || rules.length === 0) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
const docStrings = [];
|
|
151
|
+
for (const rule of rules) {
|
|
152
|
+
if (rule.description) {
|
|
153
|
+
docStrings.push(...extractDocStrings(rule.description));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return docStrings;
|
|
157
|
+
}
|
|
158
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
159
|
+
// Source Mapping Table Parsing
|
|
160
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
161
|
+
/**
|
|
162
|
+
* Parse a source mapping table from markdown text
|
|
163
|
+
*
|
|
164
|
+
* Expected format:
|
|
165
|
+
* ```
|
|
166
|
+
* | Section | Source File | Extraction Method |
|
|
167
|
+
* | Intro & Context | THIS DECISION (Rule: Context above) | Decision rule description |
|
|
168
|
+
* | API Types | src/types.ts | @extract-shapes tag |
|
|
169
|
+
* ```
|
|
170
|
+
*
|
|
171
|
+
* The table must have headers: Section, Source File (or Source), Extraction Method (or Extraction)
|
|
172
|
+
*
|
|
173
|
+
* @param text - Text content that may contain a source mapping table
|
|
174
|
+
* @returns Array of source mapping entries, empty if no table found
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const mappings = parseSourceMappingTable(`
|
|
179
|
+
* **Source Mapping for Process Guard:**
|
|
180
|
+
*
|
|
181
|
+
* | Section | Source File | Extraction Method |
|
|
182
|
+
* | Intro & Context | THIS DECISION | Decision rule description |
|
|
183
|
+
* | API Types | src/types.ts | @extract-shapes tag |
|
|
184
|
+
* `);
|
|
185
|
+
* // Returns: [
|
|
186
|
+
* // { section: 'Intro & Context', sourceFile: 'THIS DECISION', extractionMethod: 'Decision rule description' },
|
|
187
|
+
* // { section: 'API Types', sourceFile: 'src/types.ts', extractionMethod: '@extract-shapes tag' }
|
|
188
|
+
* // ]
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
export function parseSourceMappingTable(text) {
|
|
192
|
+
if (!text || text.trim().length === 0) {
|
|
193
|
+
return [];
|
|
194
|
+
}
|
|
195
|
+
// Normalize line endings
|
|
196
|
+
const normalized = normalizeLineEndings(text);
|
|
197
|
+
// Find all markdown tables in the text
|
|
198
|
+
const lines = normalized.split('\n');
|
|
199
|
+
const mappings = [];
|
|
200
|
+
let inTable = false;
|
|
201
|
+
let headerIndices = null;
|
|
202
|
+
for (const currentLine of lines) {
|
|
203
|
+
const line = currentLine.trim();
|
|
204
|
+
// Check if this line looks like a table row
|
|
205
|
+
if (line.startsWith('|') && line.endsWith('|')) {
|
|
206
|
+
const cells = line
|
|
207
|
+
.split('|')
|
|
208
|
+
.slice(1, -1) // Remove first and last empty strings from split
|
|
209
|
+
.map((cell) => cell.trim());
|
|
210
|
+
// Check if this is a header row
|
|
211
|
+
if (!inTable) {
|
|
212
|
+
// Look for header columns (case-insensitive)
|
|
213
|
+
const sectionIdx = cells.findIndex((c) => c.toLowerCase() === 'section');
|
|
214
|
+
const sourceIdx = cells.findIndex((c) => c.toLowerCase() === 'source file' || c.toLowerCase() === 'source');
|
|
215
|
+
const extractionIdx = cells.findIndex((c) => c.toLowerCase() === 'extraction method' ||
|
|
216
|
+
c.toLowerCase() === 'extraction' ||
|
|
217
|
+
c.toLowerCase() === 'how');
|
|
218
|
+
if (sectionIdx !== -1 && sourceIdx !== -1 && extractionIdx !== -1) {
|
|
219
|
+
headerIndices = {
|
|
220
|
+
section: sectionIdx,
|
|
221
|
+
sourceFile: sourceIdx,
|
|
222
|
+
extraction: extractionIdx,
|
|
223
|
+
};
|
|
224
|
+
inTable = true;
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
// Check if this is the separator row (contains only dashes and pipes)
|
|
230
|
+
if (cells.every((cell) => /^[-:]+$/.test(cell))) {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
// This is a data row - extract the mapping
|
|
234
|
+
if (headerIndices) {
|
|
235
|
+
const section = cells[headerIndices.section] ?? '';
|
|
236
|
+
const sourceFile = cells[headerIndices.sourceFile] ?? '';
|
|
237
|
+
const extractionMethod = cells[headerIndices.extraction] ?? '';
|
|
238
|
+
// Only add if we have valid data
|
|
239
|
+
if (section && sourceFile && extractionMethod) {
|
|
240
|
+
mappings.push({
|
|
241
|
+
section,
|
|
242
|
+
sourceFile,
|
|
243
|
+
extractionMethod,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else if (inTable) {
|
|
250
|
+
// End of table
|
|
251
|
+
inTable = false;
|
|
252
|
+
headerIndices = null;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return mappings;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Parse source mapping tables from business rules
|
|
259
|
+
*
|
|
260
|
+
* Searches through rule descriptions for source mapping tables.
|
|
261
|
+
*
|
|
262
|
+
* @param rules - Business rules to search for source mapping tables
|
|
263
|
+
* @returns Array of source mapping entries from all rules
|
|
264
|
+
*/
|
|
265
|
+
export function parseSourceMappingsFromRules(rules) {
|
|
266
|
+
if (!rules || rules.length === 0) {
|
|
267
|
+
return [];
|
|
268
|
+
}
|
|
269
|
+
const mappings = [];
|
|
270
|
+
for (const rule of rules) {
|
|
271
|
+
if (rule.description) {
|
|
272
|
+
mappings.push(...parseSourceMappingTable(rule.description));
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return mappings;
|
|
276
|
+
}
|
|
277
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
278
|
+
// Self-Reference Resolution
|
|
279
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
280
|
+
/**
|
|
281
|
+
* Check if a source file reference is a self-reference
|
|
282
|
+
*
|
|
283
|
+
* @param sourceFile - The source file path to check
|
|
284
|
+
* @returns True if the reference is to the current decision document, false for null/undefined
|
|
285
|
+
*/
|
|
286
|
+
export function isSelfReference(sourceFile) {
|
|
287
|
+
if (!sourceFile)
|
|
288
|
+
return false;
|
|
289
|
+
return (sourceFile === SELF_REFERENCE_MARKER ||
|
|
290
|
+
SELF_REFERENCE_RULE_PATTERN.test(sourceFile) ||
|
|
291
|
+
SELF_REFERENCE_DOCSTRING_PATTERN.test(sourceFile));
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Parse a self-reference to extract the referenced element
|
|
295
|
+
*
|
|
296
|
+
* @param sourceFile - The source file reference to parse
|
|
297
|
+
* @returns Object with type and optional name, or null if not a self-reference
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* ```typescript
|
|
301
|
+
* parseSelfReference('THIS DECISION');
|
|
302
|
+
* // Returns: { type: 'document' }
|
|
303
|
+
*
|
|
304
|
+
* parseSelfReference('THIS DECISION (Rule: Context above)');
|
|
305
|
+
* // Returns: { type: 'rule', name: 'Context above' }
|
|
306
|
+
*
|
|
307
|
+
* parseSelfReference('THIS DECISION (DocString)');
|
|
308
|
+
* // Returns: { type: 'docstring' }
|
|
309
|
+
*
|
|
310
|
+
* parseSelfReference('src/types.ts');
|
|
311
|
+
* // Returns: null
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
export function parseSelfReference(sourceFile) {
|
|
315
|
+
if (sourceFile === SELF_REFERENCE_MARKER) {
|
|
316
|
+
return { type: 'document' };
|
|
317
|
+
}
|
|
318
|
+
const ruleMatch = SELF_REFERENCE_RULE_PATTERN.exec(sourceFile);
|
|
319
|
+
if (ruleMatch?.[1]) {
|
|
320
|
+
return { type: 'rule', name: ruleMatch[1].trim() };
|
|
321
|
+
}
|
|
322
|
+
if (SELF_REFERENCE_DOCSTRING_PATTERN.test(sourceFile)) {
|
|
323
|
+
return { type: 'docstring' };
|
|
324
|
+
}
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
328
|
+
// Rule Block Content Extraction
|
|
329
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
330
|
+
/**
|
|
331
|
+
* Find a specific rule by name (flexible matching)
|
|
332
|
+
*
|
|
333
|
+
* Matching strategy (in order):
|
|
334
|
+
* 1. Exact match on full name
|
|
335
|
+
* 2. Rule name contains search term
|
|
336
|
+
* 3. Both start with the same word (e.g., "Context above" matches "Context - ...")
|
|
337
|
+
*
|
|
338
|
+
* @param rules - Rules to search
|
|
339
|
+
* @param ruleName - Name to search for (case-insensitive)
|
|
340
|
+
* @returns The matching rule or undefined
|
|
341
|
+
*/
|
|
342
|
+
export function findRuleByName(rules, ruleName) {
|
|
343
|
+
if (!rules || rules.length === 0) {
|
|
344
|
+
return undefined;
|
|
345
|
+
}
|
|
346
|
+
const nameLower = ruleName.toLowerCase().trim();
|
|
347
|
+
// First try exact match
|
|
348
|
+
const exactMatch = rules.find((r) => r.name.toLowerCase() === nameLower);
|
|
349
|
+
if (exactMatch) {
|
|
350
|
+
return exactMatch;
|
|
351
|
+
}
|
|
352
|
+
// Then try partial match (rule name contains search term)
|
|
353
|
+
const partialMatch = rules.find((r) => r.name.toLowerCase().includes(nameLower));
|
|
354
|
+
if (partialMatch) {
|
|
355
|
+
return partialMatch;
|
|
356
|
+
}
|
|
357
|
+
// Try prefix match - both start with the same word
|
|
358
|
+
// This handles cases like "Context above" matching "Context - Manual..."
|
|
359
|
+
const firstWord = nameLower.split(/[\s-]+/)[0];
|
|
360
|
+
if (firstWord && firstWord.length > 2) {
|
|
361
|
+
return rules.find((r) => r.name.toLowerCase().startsWith(firstWord));
|
|
362
|
+
}
|
|
363
|
+
return undefined;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Extract content from a rule's description
|
|
367
|
+
*
|
|
368
|
+
* Returns the description text with DocStrings parsed as code blocks.
|
|
369
|
+
*
|
|
370
|
+
* @param rule - The rule to extract content from
|
|
371
|
+
* @returns Array of SectionBlocks representing the rule content
|
|
372
|
+
*/
|
|
373
|
+
export function extractRuleContent(rule) {
|
|
374
|
+
if (!rule.description) {
|
|
375
|
+
return [];
|
|
376
|
+
}
|
|
377
|
+
return parseDescriptionWithDocStrings(rule.description);
|
|
378
|
+
}
|
|
379
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
380
|
+
// Full Decision Document Parsing
|
|
381
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
382
|
+
/**
|
|
383
|
+
* Parse a complete decision document
|
|
384
|
+
*
|
|
385
|
+
* Extracts all relevant content from an ADR/PDR pattern including:
|
|
386
|
+
* - Partitioned rules (Context/Decision/Consequences/Other)
|
|
387
|
+
* - DocStrings with language tags
|
|
388
|
+
* - Source mapping entries
|
|
389
|
+
*
|
|
390
|
+
* @param patternName - The pattern name
|
|
391
|
+
* @param description - The feature description
|
|
392
|
+
* @param rules - Business rules from the pattern
|
|
393
|
+
* @returns Parsed decision document content
|
|
394
|
+
*
|
|
395
|
+
* @example
|
|
396
|
+
* ```typescript
|
|
397
|
+
* const content = parseDecisionDocument(
|
|
398
|
+
* 'DocGenerationProofOfConcept',
|
|
399
|
+
* pattern.directive.description ?? '',
|
|
400
|
+
* pattern.rules
|
|
401
|
+
* );
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
export function parseDecisionDocument(patternName, description, rules) {
|
|
405
|
+
const partitionedRules = partitionDecisionRules(rules, patternName);
|
|
406
|
+
// Collect DocStrings from all sources
|
|
407
|
+
const docStrings = [];
|
|
408
|
+
// DocStrings from description
|
|
409
|
+
docStrings.push(...extractDocStrings(description));
|
|
410
|
+
// DocStrings from all rules
|
|
411
|
+
docStrings.push(...extractDocStringsFromRules(rules));
|
|
412
|
+
// Parse source mappings from description AND rules
|
|
413
|
+
// The description may contain a source mapping table (e.g., in decision documents)
|
|
414
|
+
const sourceMappings = [
|
|
415
|
+
...parseSourceMappingTable(description),
|
|
416
|
+
...parseSourceMappingsFromRules(rules),
|
|
417
|
+
];
|
|
418
|
+
return {
|
|
419
|
+
patternName,
|
|
420
|
+
description,
|
|
421
|
+
rules: partitionedRules,
|
|
422
|
+
docStrings,
|
|
423
|
+
sourceMappings,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
427
|
+
// Extraction Method Dispatch
|
|
428
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
429
|
+
/**
|
|
430
|
+
* Known extraction methods and their descriptions
|
|
431
|
+
*/
|
|
432
|
+
export const EXTRACTION_METHODS = {
|
|
433
|
+
DECISION_RULE_DESCRIPTION: 'Decision rule description',
|
|
434
|
+
EXTRACT_SHAPES: '@extract-shapes tag',
|
|
435
|
+
RULE_BLOCKS: 'Rule blocks',
|
|
436
|
+
SCENARIO_OUTLINE_EXAMPLES: 'Scenario Outline Examples',
|
|
437
|
+
JSDOC_SECTION: 'JSDoc section',
|
|
438
|
+
CREATE_VIOLATION_PATTERNS: 'createViolation() patterns',
|
|
439
|
+
FENCED_CODE_BLOCK: 'Fenced code block',
|
|
440
|
+
};
|
|
441
|
+
/**
|
|
442
|
+
* Normalize an extraction method string to a known type
|
|
443
|
+
*
|
|
444
|
+
* @param method - The extraction method string from the source mapping
|
|
445
|
+
* @returns Normalized method key or 'unknown'
|
|
446
|
+
*/
|
|
447
|
+
export function normalizeExtractionMethod(method) {
|
|
448
|
+
const methodLower = method.toLowerCase().trim();
|
|
449
|
+
if (methodLower.includes('decision rule') || methodLower.includes('rule description')) {
|
|
450
|
+
return 'DECISION_RULE_DESCRIPTION';
|
|
451
|
+
}
|
|
452
|
+
if (methodLower.includes('@extract-shapes') || methodLower.includes('extract-shapes')) {
|
|
453
|
+
return 'EXTRACT_SHAPES';
|
|
454
|
+
}
|
|
455
|
+
if (methodLower.includes('rule block')) {
|
|
456
|
+
return 'RULE_BLOCKS';
|
|
457
|
+
}
|
|
458
|
+
if (methodLower.includes('scenario outline') || methodLower.includes('examples')) {
|
|
459
|
+
return 'SCENARIO_OUTLINE_EXAMPLES';
|
|
460
|
+
}
|
|
461
|
+
if (methodLower.includes('jsdoc')) {
|
|
462
|
+
return 'JSDOC_SECTION';
|
|
463
|
+
}
|
|
464
|
+
if (methodLower.includes('createviolation') || methodLower.includes('violation')) {
|
|
465
|
+
return 'CREATE_VIOLATION_PATTERNS';
|
|
466
|
+
}
|
|
467
|
+
if (methodLower.includes('fenced') || methodLower.includes('code block')) {
|
|
468
|
+
return 'FENCED_CODE_BLOCK';
|
|
469
|
+
}
|
|
470
|
+
return 'unknown';
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Convert ExtractedDocStrings to CodeBlock SectionBlocks
|
|
474
|
+
*
|
|
475
|
+
* @param docStrings - Extracted DocStrings
|
|
476
|
+
* @returns Array of CodeBlock sections
|
|
477
|
+
*/
|
|
478
|
+
export function docStringsToCodeBlocks(docStrings) {
|
|
479
|
+
return docStrings.map((ds) => ({
|
|
480
|
+
type: 'code',
|
|
481
|
+
language: ds.language,
|
|
482
|
+
content: ds.content,
|
|
483
|
+
}));
|
|
484
|
+
}
|
|
485
|
+
//# sourceMappingURL=decision-doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-doc.js","sourceRoot":"","sources":["../../../src/renderable/codecs/decision-doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern DesignReviewCodec
|
|
5
|
+
* @architect-status active
|
|
6
|
+
* @architect-implements DesignReviewGeneration
|
|
7
|
+
* @architect-arch-role projection
|
|
8
|
+
* @architect-arch-context renderer
|
|
9
|
+
* @architect-arch-layer application
|
|
10
|
+
* @architect-include codec-transformation
|
|
11
|
+
* @architect-uses MasterDataset, SequenceIndex, MermaidDiagramUtils
|
|
12
|
+
* @architect-convention codec-registry
|
|
13
|
+
* @architect-product-area:Generation
|
|
14
|
+
*
|
|
15
|
+
* ## DesignReviewCodec
|
|
16
|
+
*
|
|
17
|
+
* Transforms MasterDataset into a RenderableDocument containing design review
|
|
18
|
+
* artifacts: sequence diagrams, component diagrams, type definition tables,
|
|
19
|
+
* and design question templates.
|
|
20
|
+
*
|
|
21
|
+
* **Purpose:** Auto-generate design review documents from sequence annotations
|
|
22
|
+
* on Gherkin specs. Diagrams stay synchronized with spec changes.
|
|
23
|
+
*
|
|
24
|
+
* **Output Files:** `architect/design-reviews/{pattern-name}.md`
|
|
25
|
+
*
|
|
26
|
+
* ### Factory Pattern
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const codec = createDesignReviewCodec({ patternName: 'SetupCommand' });
|
|
30
|
+
* const doc = codec.decode(dataset);
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import { z } from 'zod';
|
|
34
|
+
import { MasterDatasetSchema } from '../../validation-schemas/master-dataset.js';
|
|
35
|
+
import { type BaseCodecOptions } from './types/base.js';
|
|
36
|
+
import { RenderableDocumentOutputSchema } from './shared-schema.js';
|
|
37
|
+
/**
|
|
38
|
+
* Options for DesignReviewCodec
|
|
39
|
+
*/
|
|
40
|
+
export interface DesignReviewCodecOptions extends BaseCodecOptions {
|
|
41
|
+
/** Pattern name to generate the design review for (required) */
|
|
42
|
+
patternName: string;
|
|
43
|
+
/** Include the annotation convention section (default: true) */
|
|
44
|
+
includeAnnotationConvention?: boolean;
|
|
45
|
+
/** Include the component diagram (default: true) */
|
|
46
|
+
includeComponentDiagram?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create a DesignReviewCodec with the given options.
|
|
50
|
+
*
|
|
51
|
+
* @param options - Codec configuration (patternName is required)
|
|
52
|
+
* @returns Configured Zod codec that transforms MasterDataset → RenderableDocument
|
|
53
|
+
*/
|
|
54
|
+
export declare function createDesignReviewCodec(options: DesignReviewCodecOptions): z.ZodCodec<typeof MasterDatasetSchema, typeof RenderableDocumentOutputSchema>;
|
|
55
|
+
//# sourceMappingURL=design-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-review.d.ts","sourceRoot":"","sources":["../../../src/renderable/codecs/design-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EAIpB,MAAM,4CAA4C,CAAC;AAapD,OAAO,EAAE,KAAK,gBAAgB,EAAsC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAOpE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IAEpB,gEAAgE;IAChE,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,oDAAoD;IACpD,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAgBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,CAAC,QAAQ,CAAC,OAAO,mBAAmB,EAAE,OAAO,8BAA8B,CAAC,CAY/E"}
|