@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,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-pattern MermaidDiagramUtils
|
|
4
|
+
* @architect-status completed
|
|
5
|
+
* @architect-used-by Architecture Codec, Reference Codec
|
|
6
|
+
* @architect-arch-context renderer
|
|
7
|
+
*
|
|
8
|
+
* ## Shared Mermaid Diagram Utilities
|
|
9
|
+
*
|
|
10
|
+
* Sanitization and formatting helpers shared across architecture.ts and reference.ts
|
|
11
|
+
* diagram builders.
|
|
12
|
+
*
|
|
13
|
+
* **When to Use:** When building Mermaid diagram output in a codec — use
|
|
14
|
+
* `sanitizeNodeId()`, `EDGE_STYLES`, `NODE_SHAPES`, and `formatNodeDeclaration()`
|
|
15
|
+
* rather than inlining diagram syntax in the codec directly.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Sanitize pattern name for Mermaid node ID.
|
|
19
|
+
* Mermaid requires alphanumeric + underscore only.
|
|
20
|
+
*/
|
|
21
|
+
export function sanitizeNodeId(name) {
|
|
22
|
+
return name.replace(/[^a-zA-Z0-9]/g, '_');
|
|
23
|
+
}
|
|
24
|
+
/** Arrow styles per relationship type for Mermaid diagram generation */
|
|
25
|
+
export const EDGE_STYLES = {
|
|
26
|
+
uses: '-->',
|
|
27
|
+
dependsOn: '-.->',
|
|
28
|
+
implementsPatterns: '..->',
|
|
29
|
+
extendsPattern: '-->>',
|
|
30
|
+
};
|
|
31
|
+
/** Human-readable relationship labels for edge annotations (DD-4) */
|
|
32
|
+
export const EDGE_LABELS = {
|
|
33
|
+
uses: 'uses',
|
|
34
|
+
dependsOn: 'depends on',
|
|
35
|
+
implementsPatterns: 'implements',
|
|
36
|
+
extendsPattern: 'extends',
|
|
37
|
+
};
|
|
38
|
+
/** Arrow syntax for sequence diagram messages (DD-2) */
|
|
39
|
+
export const SEQUENCE_ARROWS = {
|
|
40
|
+
uses: '->>',
|
|
41
|
+
dependsOn: '-->>',
|
|
42
|
+
implementsPatterns: '--)',
|
|
43
|
+
extendsPattern: '-->>',
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Mermaid flowchart node shape brackets per archRole (DD-1).
|
|
47
|
+
* Maps archRole to [openBracket, closeBracket] pairs.
|
|
48
|
+
* Uses `satisfies` to ensure every canonical archRole has a mapping.
|
|
49
|
+
*/
|
|
50
|
+
export const NODE_SHAPES = {
|
|
51
|
+
'bounded-context': ['[["', '"]]'],
|
|
52
|
+
'command-handler': ['(["', '"])'],
|
|
53
|
+
projection: ['[("', '")]'],
|
|
54
|
+
saga: ['{{"', '"}}'],
|
|
55
|
+
'process-manager': ['{{"', '"}}'],
|
|
56
|
+
infrastructure: ['[/"', '"/]'],
|
|
57
|
+
repository: ['[("', '")]'],
|
|
58
|
+
decider: ['("', '")'],
|
|
59
|
+
'read-model': ['[/"', '"/]'],
|
|
60
|
+
service: ['("', '")'],
|
|
61
|
+
};
|
|
62
|
+
/** Format a Mermaid flowchart node declaration with shape based on archRole */
|
|
63
|
+
export function formatNodeDeclaration(nodeId, label, archRole) {
|
|
64
|
+
if (archRole !== undefined && archRole in NODE_SHAPES) {
|
|
65
|
+
const shape = NODE_SHAPES[archRole];
|
|
66
|
+
return `${nodeId}${shape[0]}${label}${shape[1]}`;
|
|
67
|
+
}
|
|
68
|
+
return `${nodeId}["${label}"]`;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=diagram-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagram-utils.js","sourceRoot":"","sources":["../../../src/renderable/codecs/diagram-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;CACd,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,kBAAkB,EAAE,YAAY;IAChC,cAAc,EAAE,SAAS;CAC0B,CAAC;AAEtD,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,KAAK;IACzB,cAAc,EAAE,MAAM;CAC6B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACyC,CAAC;AAEjE,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,KAAa,EAAE,QAAiB;IACpF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAoB,CAAC,CAAC;QAChD,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern RichContentHelpers
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
*
|
|
7
|
+
* ## Rich Content Rendering Helpers
|
|
8
|
+
*
|
|
9
|
+
* Shared helper functions for rendering Gherkin rich content in document codecs.
|
|
10
|
+
* Provides granular and composite helpers for DataTables, DocStrings, steps,
|
|
11
|
+
* scenarios, and business rules.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - When building custom codecs that need to render Gherkin content
|
|
16
|
+
* - When transforming DataTables, DocStrings, or scenarios into markdown
|
|
17
|
+
* - When implementing acceptance criteria or business rules sections
|
|
18
|
+
*
|
|
19
|
+
* ### Usage Pattern
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { renderAcceptanceCriteria, renderBusinessRulesSection } from "./helpers.js";
|
|
23
|
+
*
|
|
24
|
+
* // Composite helpers (most common use)
|
|
25
|
+
* sections.push(...renderAcceptanceCriteria(pattern.scenarios));
|
|
26
|
+
* sections.push(...renderBusinessRulesSection(pattern.rules));
|
|
27
|
+
*
|
|
28
|
+
* // Granular helpers (for custom rendering)
|
|
29
|
+
* const tableBlock = renderDataTable(step.dataTable);
|
|
30
|
+
* const codeBlock = renderDocString(step.docString, "markdown");
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import type { ScenarioDataTable, ScenarioStep, ScenarioRef } from '../../validation-schemas/scenario-ref.js';
|
|
34
|
+
import type { BusinessRule } from '../../validation-schemas/extracted-pattern.js';
|
|
35
|
+
import type { ExtractedShape, PropertyDoc } from '../../validation-schemas/extracted-shape.js';
|
|
36
|
+
import { type SectionBlock } from '../schema.js';
|
|
37
|
+
import type { WarningCollector } from '../../generators/warning-collector.js';
|
|
38
|
+
export type { BusinessRule };
|
|
39
|
+
/**
|
|
40
|
+
* Result of partitioning business rules by ADR-style prefixes.
|
|
41
|
+
*/
|
|
42
|
+
export interface PartitionedRules {
|
|
43
|
+
/** Rules with names starting with "Context" */
|
|
44
|
+
context: BusinessRule[];
|
|
45
|
+
/** Rules with names starting with "Decision" */
|
|
46
|
+
decision: BusinessRule[];
|
|
47
|
+
/** Rules with names starting with "Consequence" */
|
|
48
|
+
consequences: BusinessRule[];
|
|
49
|
+
/** Rules that don't match any expected prefix */
|
|
50
|
+
other: BusinessRule[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Options for partitioning business rules.
|
|
54
|
+
*/
|
|
55
|
+
export interface PartitionRulesOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Warn about rules that don't match expected prefixes (default: false).
|
|
58
|
+
* When true, emits a warning for non-matching rules via onWarning callback.
|
|
59
|
+
* ADR codec sets this to true; Decision Doc codec keeps false.
|
|
60
|
+
*/
|
|
61
|
+
warnOnOther?: boolean;
|
|
62
|
+
/** Pattern name for warning context (optional) */
|
|
63
|
+
patternName?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Callback for warnings (default: console.warn).
|
|
66
|
+
* Allows programmatic capture of warnings for testing or custom handling.
|
|
67
|
+
*/
|
|
68
|
+
onWarning?: (message: string) => void;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Partition business rules by ADR-style name prefixes.
|
|
72
|
+
*
|
|
73
|
+
* Rules are categorized based on their name prefix:
|
|
74
|
+
* - "Context..." → context section
|
|
75
|
+
* - "Decision..." → decision section
|
|
76
|
+
* - "Consequence..." → consequences section
|
|
77
|
+
* - Others → other (optionally logged as warning)
|
|
78
|
+
*
|
|
79
|
+
* This is a shared helper used by both ADR and Decision Doc codecs.
|
|
80
|
+
*
|
|
81
|
+
* @param rules - Business rules from the extracted pattern
|
|
82
|
+
* @param options - Partitioning options
|
|
83
|
+
* @returns Partitioned rules by category
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // ADR codec (warn about unmatched rules)
|
|
88
|
+
* const partitioned = partitionRulesByPrefix(pattern.rules, {
|
|
89
|
+
* warnOnOther: true,
|
|
90
|
+
* patternName: pattern.name
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* // Decision doc codec (no warning)
|
|
94
|
+
* const partitioned = partitionRulesByPrefix(pattern.rules);
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function partitionRulesByPrefix(rules: readonly BusinessRule[] | undefined, options?: PartitionRulesOptions): PartitionedRules;
|
|
98
|
+
/**
|
|
99
|
+
* Warning information emitted during rich content rendering
|
|
100
|
+
*/
|
|
101
|
+
export interface RichContentWarning {
|
|
102
|
+
/** Warning code for programmatic handling */
|
|
103
|
+
code: 'unclosed-docstring' | 'invalid-content';
|
|
104
|
+
/** Human-readable warning message */
|
|
105
|
+
message: string;
|
|
106
|
+
/** Additional context about the warning */
|
|
107
|
+
context?: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Configuration options for rich content rendering
|
|
111
|
+
*/
|
|
112
|
+
export interface RichContentOptions {
|
|
113
|
+
/** Include Given/When/Then steps (default: true) */
|
|
114
|
+
includeSteps?: boolean;
|
|
115
|
+
/** Include DataTables from steps (default: true) */
|
|
116
|
+
includeDataTables?: boolean;
|
|
117
|
+
/** Include DocStrings from steps (default: true) */
|
|
118
|
+
includeDocStrings?: boolean;
|
|
119
|
+
/** Include business rules section (default: true) */
|
|
120
|
+
includeRules?: boolean;
|
|
121
|
+
/** Default language for DocString code blocks (default: "markdown") */
|
|
122
|
+
docStringLanguage?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Base heading level for section headers (default: 4)
|
|
125
|
+
*
|
|
126
|
+
* Used by renderAcceptanceCriteria and renderBusinessRulesSection to set
|
|
127
|
+
* the heading level for "Acceptance Criteria" and "Business Rules" sections.
|
|
128
|
+
* Callers can override to maintain proper document hierarchy.
|
|
129
|
+
*
|
|
130
|
+
* - H2: Use when rendering as top-level section in detail documents
|
|
131
|
+
* - H3: Use when rendering under a parent H2 section
|
|
132
|
+
* - H4: Use when deeply nested (default)
|
|
133
|
+
*/
|
|
134
|
+
baseHeadingLevel?: 2 | 3 | 4;
|
|
135
|
+
/**
|
|
136
|
+
* Optional callback invoked when warnings are detected during rendering.
|
|
137
|
+
*
|
|
138
|
+
* If not provided or undefined, warnings are logged to stderr via console.warn.
|
|
139
|
+
* Provide this callback to capture warnings programmatically or suppress them.
|
|
140
|
+
*/
|
|
141
|
+
onWarning?: ((warning: RichContentWarning) => void) | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* Optional WarningCollector for structured warning capture.
|
|
144
|
+
*
|
|
145
|
+
* When provided, warnings are captured using the collector for aggregation
|
|
146
|
+
* and structured reporting. Takes precedence over `onWarning` callback.
|
|
147
|
+
* Use this for CI/CD pipelines that need machine-readable warning output.
|
|
148
|
+
*/
|
|
149
|
+
warningCollector?: WarningCollector | undefined;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Default options type - all fields are required values from RichContentOptions.
|
|
153
|
+
* Since RichContentOptions.onWarning explicitly allows undefined in its type definition,
|
|
154
|
+
* Required<RichContentOptions> correctly allows undefined for onWarning.
|
|
155
|
+
*/
|
|
156
|
+
export type ResolvedRichContentOptions = Required<RichContentOptions>;
|
|
157
|
+
/**
|
|
158
|
+
* Default rich content options
|
|
159
|
+
*
|
|
160
|
+
* Note: onWarning and warningCollector are intentionally undefined by default.
|
|
161
|
+
* When undefined, warnings fall back to console.warn via emitWarning().
|
|
162
|
+
*/
|
|
163
|
+
export declare const DEFAULT_RICH_CONTENT_OPTIONS: ResolvedRichContentOptions;
|
|
164
|
+
/**
|
|
165
|
+
* Merge user options with defaults
|
|
166
|
+
*/
|
|
167
|
+
export declare function mergeRichContentOptions(options?: RichContentOptions): ResolvedRichContentOptions;
|
|
168
|
+
/**
|
|
169
|
+
* Structured warning format for CI parsing.
|
|
170
|
+
*
|
|
171
|
+
* Format: `::warning file={file},code={code}::{message}`
|
|
172
|
+
*
|
|
173
|
+
* This format is compatible with GitHub Actions and other CI systems
|
|
174
|
+
* that support structured annotations.
|
|
175
|
+
*/
|
|
176
|
+
export interface StructuredWarning {
|
|
177
|
+
/** Warning code for categorization */
|
|
178
|
+
code: string;
|
|
179
|
+
/** Human-readable message */
|
|
180
|
+
message: string;
|
|
181
|
+
/** Source file (if available) */
|
|
182
|
+
file?: string;
|
|
183
|
+
/** Line number (if available) */
|
|
184
|
+
line?: number;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Format a warning for CI output (GitHub Actions compatible).
|
|
188
|
+
*
|
|
189
|
+
* @param warning - The warning to format
|
|
190
|
+
* @returns Formatted string for CI log parsing
|
|
191
|
+
*/
|
|
192
|
+
export declare function formatWarningForCI(warning: StructuredWarning): string;
|
|
193
|
+
/**
|
|
194
|
+
* Render a Gherkin DataTable as a markdown table block
|
|
195
|
+
*
|
|
196
|
+
* @param dt - The DataTable to render
|
|
197
|
+
* @returns A table SectionBlock
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const tableBlock = renderDataTable(step.dataTable);
|
|
202
|
+
* sections.push(tableBlock);
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
export declare function renderDataTable(dt: ScenarioDataTable): SectionBlock;
|
|
206
|
+
/**
|
|
207
|
+
* Render a DocString as a code block
|
|
208
|
+
*
|
|
209
|
+
* Accepts either a plain string or an object with content and optional mediaType.
|
|
210
|
+
* When mediaType is provided in the object, it takes precedence over the language parameter.
|
|
211
|
+
*
|
|
212
|
+
* @param docString - The DocString content (string or object with content/mediaType)
|
|
213
|
+
* @param language - Optional language hint fallback (default: "markdown")
|
|
214
|
+
* @returns A code SectionBlock
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```typescript
|
|
218
|
+
* // With plain string
|
|
219
|
+
* const codeBlock = renderDocString(step.docString, "json");
|
|
220
|
+
*
|
|
221
|
+
* // With object containing mediaType
|
|
222
|
+
* const codeBlock = renderDocString({ content: "code", mediaType: "typescript" });
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
export declare function renderDocString(docString: string | {
|
|
226
|
+
content: string;
|
|
227
|
+
mediaType?: string | undefined;
|
|
228
|
+
}, language?: string): SectionBlock;
|
|
229
|
+
/**
|
|
230
|
+
* Render scenario steps as a list
|
|
231
|
+
*
|
|
232
|
+
* @param steps - The scenario steps
|
|
233
|
+
* @returns A list SectionBlock
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* const stepsList = renderStepsList(scenario.steps);
|
|
238
|
+
* sections.push(stepsList);
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
export declare function renderStepsList(steps: readonly ScenarioStep[]): SectionBlock;
|
|
242
|
+
/**
|
|
243
|
+
* Remove common leading indentation from all lines in a code block.
|
|
244
|
+
*
|
|
245
|
+
* When DocStrings are embedded in Gherkin files, they often have consistent
|
|
246
|
+
* indentation to align with the surrounding scenario structure. This function
|
|
247
|
+
* normalizes that indentation by:
|
|
248
|
+
* 1. Normalizing tabs to spaces (default: 2 spaces per tab)
|
|
249
|
+
* 2. Finding the minimum indentation across all non-empty lines
|
|
250
|
+
* 3. Removing that common indentation from every line
|
|
251
|
+
* 4. Trimming trailing whitespace from each line
|
|
252
|
+
*
|
|
253
|
+
* @param text - The code block content to dedent
|
|
254
|
+
* @param tabWidth - Number of spaces per tab (default: 2)
|
|
255
|
+
* @returns The dedented text with normalized indentation
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* ```typescript
|
|
259
|
+
* // Input (indented to match Gherkin formatting):
|
|
260
|
+
* dedent(" const x = 1;\n const y = 2;")
|
|
261
|
+
* // Returns: "const x = 1;\nconst y = 2;"
|
|
262
|
+
*
|
|
263
|
+
* // Mixed indentation (preserves relative indentation):
|
|
264
|
+
* dedent(" function foo() {\n return 42;\n }")
|
|
265
|
+
* // Returns: "function foo() {\n return 42;\n}"
|
|
266
|
+
*
|
|
267
|
+
* // Tab-indented code (tabs normalized to spaces):
|
|
268
|
+
* dedent("\t\tconst x = 1;")
|
|
269
|
+
* // Returns: "const x = 1;"
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
export declare function dedent(text: string, tabWidth?: number): string;
|
|
273
|
+
/**
|
|
274
|
+
* Parse description text for embedded DocStrings and convert to mixed content
|
|
275
|
+
*
|
|
276
|
+
* DocStrings in Gherkin are identified by: """language\n...\n"""
|
|
277
|
+
* Text between DocStrings renders as paragraphs, DocStrings render as code blocks.
|
|
278
|
+
*
|
|
279
|
+
* **Defensive handling:**
|
|
280
|
+
* - Normalizes Windows line endings (CRLF → LF) before parsing
|
|
281
|
+
* - Detects unclosed DocStrings (odd count of """) and returns plain paragraph fallback
|
|
282
|
+
* - Handles empty input gracefully
|
|
283
|
+
* - Dedents code block content to normalize indentation from Gherkin formatting
|
|
284
|
+
*
|
|
285
|
+
* @param description - The description text that may contain DocStrings
|
|
286
|
+
* @param options - Optional rendering options (used for warning callback)
|
|
287
|
+
* @returns Array of SectionBlocks (paragraphs and code blocks)
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```typescript
|
|
291
|
+
* // Input with DocString:
|
|
292
|
+
* // "Some text\n\"\"\"typescript\nconst x = 1;\n\"\"\"\nMore text"
|
|
293
|
+
* // Output: [paragraph("Some text"), code("const x = 1;", "typescript"), paragraph("More text")]
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
export declare function parseDescriptionWithDocStrings(description: string, options?: RichContentOptions): SectionBlock[];
|
|
297
|
+
/**
|
|
298
|
+
* Protect backtick-quoted content from regex matching by replacing with placeholders.
|
|
299
|
+
*
|
|
300
|
+
* This is essential when parsing markdown-style content where `**bold**` patterns
|
|
301
|
+
* might appear inside inline code (e.g., `` `**Verified by:**` ``). Without protection,
|
|
302
|
+
* regexes that look for `**` boundaries will incorrectly match inside backticks.
|
|
303
|
+
*
|
|
304
|
+
* @param text - The text to process
|
|
305
|
+
* @returns Object with processed text and restore function
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* ```typescript
|
|
309
|
+
* const { processed, restore } = protectBacktickContent("Text `**inside**` more");
|
|
310
|
+
* // processed = "Text __BT0__ more"
|
|
311
|
+
* const result = "Extracted: __BT0__";
|
|
312
|
+
* restore(result); // "Extracted: `**inside**`"
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
export declare function protectBacktickContent(text: string): {
|
|
316
|
+
processed: string;
|
|
317
|
+
restore: (s: string) => string;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Parsed annotations from a business rule description.
|
|
321
|
+
*
|
|
322
|
+
* Business rules in feature files can include structured annotations:
|
|
323
|
+
* - `**Invariant:**` - What must always be true (business constraint)
|
|
324
|
+
* - `**Rationale:**` - Why this rule exists (business justification)
|
|
325
|
+
* - `**Verified by:**` - Comma-separated list of verifying scenario names
|
|
326
|
+
* - `**API:** See \`path\`` - Reference to implementation file/stub
|
|
327
|
+
*/
|
|
328
|
+
export interface BusinessRuleAnnotations {
|
|
329
|
+
/** The business constraint that must always be true */
|
|
330
|
+
invariant?: string;
|
|
331
|
+
/** Business justification for why this rule exists */
|
|
332
|
+
rationale?: string;
|
|
333
|
+
/** List of scenario names that verify this rule */
|
|
334
|
+
verifiedBy?: string[];
|
|
335
|
+
/** Code examples extracted from DocStrings in the description */
|
|
336
|
+
codeExamples?: SectionBlock[];
|
|
337
|
+
/** API implementation references extracted from **API:** See `path` patterns */
|
|
338
|
+
apiRefs?: readonly string[];
|
|
339
|
+
/** Input type annotation for sequence diagram steps (from **Input:** marker) */
|
|
340
|
+
input?: string;
|
|
341
|
+
/** Output type annotation for sequence diagram steps (from **Output:** marker) */
|
|
342
|
+
output?: string;
|
|
343
|
+
/** Remaining description content after annotation extraction */
|
|
344
|
+
remainingContent?: string;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Truncate text to a maximum length, adding ellipsis if truncated.
|
|
348
|
+
*
|
|
349
|
+
* Attempts to truncate at word boundaries for cleaner output.
|
|
350
|
+
* If the text is already shorter than maxLength, returns it unchanged.
|
|
351
|
+
*
|
|
352
|
+
* @param text - The text to truncate
|
|
353
|
+
* @param maxLength - Maximum length (0 or negative = no limit)
|
|
354
|
+
* @returns Truncated text with "..." suffix if truncated
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* truncateText("This is a long description", 15);
|
|
359
|
+
* // Returns: "This is a..."
|
|
360
|
+
*
|
|
361
|
+
* truncateText("Short", 100);
|
|
362
|
+
* // Returns: "Short"
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
export declare function truncateText(text: string, maxLength: number): string;
|
|
366
|
+
export { extractFirstSentenceRaw as extractFirstSentence } from '../../utils/string-utils.js';
|
|
367
|
+
/**
|
|
368
|
+
* Parse structured annotations from a business rule description.
|
|
369
|
+
*
|
|
370
|
+
* Extracts:
|
|
371
|
+
* - `**Invariant:** <text>` - until next `**` annotation or end
|
|
372
|
+
* - `**Rationale:** <text>` - until next `**` annotation or end
|
|
373
|
+
* - `**Verified by:** <comma,separated,list>`
|
|
374
|
+
* - DocStrings ("""language\n...\n""") as code blocks
|
|
375
|
+
*
|
|
376
|
+
* The remaining content after extraction is returned in `remainingContent`.
|
|
377
|
+
*
|
|
378
|
+
* @param description - The rule description text to parse
|
|
379
|
+
* @returns Parsed annotations with structured fields
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```typescript
|
|
383
|
+
* const annotations = parseBusinessRuleAnnotations(`
|
|
384
|
+
* **Invariant:** Only one reservation can exist for a given key.
|
|
385
|
+
*
|
|
386
|
+
* **Rationale:** Prevents TOCTOU race conditions.
|
|
387
|
+
*
|
|
388
|
+
* **Verified by:** Concurrent reservations, Expired cleanup
|
|
389
|
+
* `);
|
|
390
|
+
* // annotations.invariant === "Only one reservation can exist for a given key."
|
|
391
|
+
* // annotations.rationale === "Prevents TOCTOU race conditions."
|
|
392
|
+
* // annotations.verifiedBy === ["Concurrent reservations", "Expired cleanup"]
|
|
393
|
+
* ```
|
|
394
|
+
*/
|
|
395
|
+
export declare function parseBusinessRuleAnnotations(description: string): BusinessRuleAnnotations;
|
|
396
|
+
/**
|
|
397
|
+
* Strip markdown tables from text content.
|
|
398
|
+
*
|
|
399
|
+
* Tables are identified by lines starting and ending with | character.
|
|
400
|
+
* This removes header rows, separator rows, and data rows to prevent
|
|
401
|
+
* duplicate rendering when tables are extracted separately.
|
|
402
|
+
*
|
|
403
|
+
* @param text - Text that may contain markdown tables
|
|
404
|
+
* @returns Text with tables removed and excess newlines cleaned up
|
|
405
|
+
*
|
|
406
|
+
* @example
|
|
407
|
+
* ```typescript
|
|
408
|
+
* const text = "Intro\n| Col | Col |\n| --- | --- |\n| A | B |\nOutro";
|
|
409
|
+
* stripMarkdownTables(text); // "Intro\n\nOutro"
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
export declare function stripMarkdownTables(text: string): string;
|
|
413
|
+
/**
|
|
414
|
+
* Render a single business rule with its description and verification info
|
|
415
|
+
*
|
|
416
|
+
* Parses the description for embedded DocStrings and renders them as code blocks.
|
|
417
|
+
*
|
|
418
|
+
* @param rule - The business rule to render
|
|
419
|
+
* @returns Array of SectionBlocks for the rule
|
|
420
|
+
*
|
|
421
|
+
* @example
|
|
422
|
+
* ```typescript
|
|
423
|
+
* sections.push(...renderBusinessRule(rule));
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
export declare function renderBusinessRule(rule: BusinessRule): SectionBlock[];
|
|
427
|
+
/**
|
|
428
|
+
* Render a rule description using structured annotation parsing.
|
|
429
|
+
*
|
|
430
|
+
* Extracts `**Invariant:**`, `**Rationale:**`, `**Verified by:**`, tables, and
|
|
431
|
+
* code examples for polished output with proper table formatting and separator rows.
|
|
432
|
+
*
|
|
433
|
+
* IMPORTANT: Table lines are stripped BEFORE annotation regexes so that bold markers
|
|
434
|
+
* inside table cells (e.g. `| **Context:** ... |`) don't act as false annotation
|
|
435
|
+
* boundaries that truncate the lazy `[\s\S]*?` capture.
|
|
436
|
+
*
|
|
437
|
+
* @param description - Raw rule description text from Gherkin Rule: block
|
|
438
|
+
* @returns Array of SectionBlocks with structured content
|
|
439
|
+
*/
|
|
440
|
+
export declare function renderRuleDescription(description: string): SectionBlock[];
|
|
441
|
+
/**
|
|
442
|
+
* Render a scenario's content including steps, DataTables, and DocStrings
|
|
443
|
+
*
|
|
444
|
+
* @param scenario - The scenario to render
|
|
445
|
+
* @param options - Rendering options
|
|
446
|
+
* @returns Array of SectionBlocks for the scenario
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```typescript
|
|
450
|
+
* for (const scenario of pattern.scenarios) {
|
|
451
|
+
* sections.push(...renderScenarioContent(scenario));
|
|
452
|
+
* }
|
|
453
|
+
* ```
|
|
454
|
+
*/
|
|
455
|
+
export declare function renderScenarioContent(scenario: ScenarioRef, options?: RichContentOptions): SectionBlock[];
|
|
456
|
+
/**
|
|
457
|
+
* Render acceptance criteria from a list of scenarios
|
|
458
|
+
*
|
|
459
|
+
* Includes a "Acceptance Criteria" heading followed by all scenarios
|
|
460
|
+
* with their steps, DataTables, and DocStrings.
|
|
461
|
+
*
|
|
462
|
+
* @param scenarios - The scenarios to render as acceptance criteria
|
|
463
|
+
* @param options - Rendering options (including baseHeadingLevel for proper hierarchy)
|
|
464
|
+
* @returns Array of SectionBlocks, empty if no scenarios
|
|
465
|
+
*
|
|
466
|
+
* @example
|
|
467
|
+
* ```typescript
|
|
468
|
+
* if (pattern.scenarios && pattern.scenarios.length > 0) {
|
|
469
|
+
* // Default H4 heading
|
|
470
|
+
* sections.push(...renderAcceptanceCriteria(pattern.scenarios));
|
|
471
|
+
*
|
|
472
|
+
* // H2 heading for top-level section in detail documents
|
|
473
|
+
* sections.push(...renderAcceptanceCriteria(pattern.scenarios, { baseHeadingLevel: 2 }));
|
|
474
|
+
* }
|
|
475
|
+
* ```
|
|
476
|
+
*/
|
|
477
|
+
export declare function renderAcceptanceCriteria(scenarios: readonly ScenarioRef[] | undefined, options?: RichContentOptions): SectionBlock[];
|
|
478
|
+
/**
|
|
479
|
+
* Render a business rules section from a list of rules
|
|
480
|
+
*
|
|
481
|
+
* Includes a "Business Rules" heading followed by all rules
|
|
482
|
+
* with their descriptions and verification info.
|
|
483
|
+
*
|
|
484
|
+
* @param rules - The business rules to render
|
|
485
|
+
* @param options - Rendering options (including baseHeadingLevel for proper hierarchy)
|
|
486
|
+
* @returns Array of SectionBlocks, empty if no rules
|
|
487
|
+
*
|
|
488
|
+
* @example
|
|
489
|
+
* ```typescript
|
|
490
|
+
* if (pattern.rules && pattern.rules.length > 0) {
|
|
491
|
+
* // Default H4 heading
|
|
492
|
+
* sections.push(...renderBusinessRulesSection(pattern.rules));
|
|
493
|
+
*
|
|
494
|
+
* // H2 heading for top-level section in detail documents
|
|
495
|
+
* sections.push(...renderBusinessRulesSection(pattern.rules, { baseHeadingLevel: 2 }));
|
|
496
|
+
* }
|
|
497
|
+
* ```
|
|
498
|
+
*/
|
|
499
|
+
export declare function renderBusinessRulesSection(rules: readonly BusinessRule[] | undefined, options?: RichContentOptions): SectionBlock[];
|
|
500
|
+
/**
|
|
501
|
+
* Render all rich content for a pattern (scenarios + rules)
|
|
502
|
+
*
|
|
503
|
+
* Convenience function that combines acceptance criteria and business rules.
|
|
504
|
+
*
|
|
505
|
+
* @param pattern - Object with optional scenarios and rules arrays
|
|
506
|
+
* @param options - Rendering options
|
|
507
|
+
* @returns Array of SectionBlocks
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* ```typescript
|
|
511
|
+
* sections.push(...renderPatternRichContent(pattern));
|
|
512
|
+
* ```
|
|
513
|
+
*/
|
|
514
|
+
export declare function renderPatternRichContent(pattern: {
|
|
515
|
+
scenarios?: readonly ScenarioRef[];
|
|
516
|
+
rules?: readonly BusinessRule[];
|
|
517
|
+
}, options?: RichContentOptions): SectionBlock[];
|
|
518
|
+
/**
|
|
519
|
+
* Options for rendering extracted shapes as markdown.
|
|
520
|
+
*/
|
|
521
|
+
export interface RenderShapesOptions {
|
|
522
|
+
/** If true, combine all shapes into a single fenced code block (default: true) */
|
|
523
|
+
groupInSingleBlock?: boolean;
|
|
524
|
+
/** If true, include JSDoc comments with each shape (default: true) */
|
|
525
|
+
includeJsDoc?: boolean;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Render extracted TypeScript shapes as markdown code blocks.
|
|
529
|
+
*
|
|
530
|
+
* @param shapes - Shapes to render
|
|
531
|
+
* @param options - Rendering options
|
|
532
|
+
* @returns Markdown string with fenced code blocks
|
|
533
|
+
*/
|
|
534
|
+
export declare function renderShapesAsMarkdown(shapes: readonly ExtractedShape[], options?: RenderShapesOptions): string;
|
|
535
|
+
/**
|
|
536
|
+
* Render property documentation as a markdown table.
|
|
537
|
+
*
|
|
538
|
+
* Generates a two-column table with property names and their JSDoc descriptions.
|
|
539
|
+
* Returns empty string if no property docs exist.
|
|
540
|
+
*
|
|
541
|
+
* @param propertyDocs - Property documentation array from ExtractedShape
|
|
542
|
+
* @returns Markdown table string, or empty string if no docs
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* ```typescript
|
|
546
|
+
* const table = renderPropertyDocsTable(shape.propertyDocs);
|
|
547
|
+
* if (table) {
|
|
548
|
+
* sections.push(md(table));
|
|
549
|
+
* }
|
|
550
|
+
* ```
|
|
551
|
+
*/
|
|
552
|
+
export declare function renderPropertyDocsTable(propertyDocs: readonly PropertyDoc[] | undefined): string;
|
|
553
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/renderable/codecs/helpers.ts"],"names":[],"mappings":"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"}
|