@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,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern SourceMappingValidator
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
*
|
|
7
|
+
* ## Source Mapping Validator - Pre-flight Validation
|
|
8
|
+
*
|
|
9
|
+
* Performs pre-flight checks on source mapping tables before extraction begins.
|
|
10
|
+
* Validates file existence, extraction method validity, and format correctness
|
|
11
|
+
* to fail fast with clear errors rather than producing incomplete output.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - Before document generation from source mappings
|
|
16
|
+
* - When validating decision document source tables
|
|
17
|
+
* - When checking extraction method compatibility
|
|
18
|
+
*
|
|
19
|
+
* ### Validation Checks
|
|
20
|
+
*
|
|
21
|
+
* 1. **File existence**: Source files must exist and be files (not directories)
|
|
22
|
+
* 2. **Method validity**: Extraction methods must be recognized
|
|
23
|
+
* 3. **Compatibility**: Extraction methods must match file types
|
|
24
|
+
* 4. **Table format**: Required columns must be present
|
|
25
|
+
*/
|
|
26
|
+
import { Result } from '../types/result.js';
|
|
27
|
+
import { type SourceMappingEntry } from '../renderable/codecs/decision-doc.js';
|
|
28
|
+
import type { Warning, WarningCollector } from './warning-collector.js';
|
|
29
|
+
/**
|
|
30
|
+
* Validation error with context
|
|
31
|
+
*/
|
|
32
|
+
export interface ValidationError {
|
|
33
|
+
/** Error message describing the issue */
|
|
34
|
+
message: string;
|
|
35
|
+
/** The source mapping row that caused the error (if applicable) */
|
|
36
|
+
row?: SourceMappingEntry;
|
|
37
|
+
/** Suggested alternatives or fixes */
|
|
38
|
+
suggestions?: string[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Complete validation result
|
|
42
|
+
*/
|
|
43
|
+
export interface ValidationResult {
|
|
44
|
+
/** Whether validation passed (no errors) */
|
|
45
|
+
isValid: boolean;
|
|
46
|
+
/** Validation errors (validation fails if any exist) */
|
|
47
|
+
errors: ValidationError[];
|
|
48
|
+
/** Non-fatal warnings */
|
|
49
|
+
warnings: Warning[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Options for the validator
|
|
53
|
+
*/
|
|
54
|
+
export interface ValidatorOptions {
|
|
55
|
+
/** Base directory for resolving relative paths */
|
|
56
|
+
baseDir: string;
|
|
57
|
+
/** Optional warning collector for non-fatal issues (reserved for future use) */
|
|
58
|
+
warningCollector?: WarningCollector;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Valid extraction methods for reference
|
|
62
|
+
*/
|
|
63
|
+
export declare const VALID_EXTRACTION_METHODS: readonly string[];
|
|
64
|
+
/**
|
|
65
|
+
* Validate that a source file exists
|
|
66
|
+
*
|
|
67
|
+
* @param mapping - The source mapping entry to validate
|
|
68
|
+
* @param baseDir - Base directory for resolving relative paths
|
|
69
|
+
* @returns Result with void on success, ValidationError on failure
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateFileExists(mapping: SourceMappingEntry, baseDir: string): Result<void, ValidationError>;
|
|
72
|
+
/**
|
|
73
|
+
* Validate that an extraction method is valid
|
|
74
|
+
*
|
|
75
|
+
* @param method - The extraction method string
|
|
76
|
+
* @returns Result with normalized method on success, ValidationError on failure
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateExtractionMethod(method: string): Result<string, ValidationError>;
|
|
79
|
+
/**
|
|
80
|
+
* Validate that an extraction method is compatible with the file type
|
|
81
|
+
*
|
|
82
|
+
* @param mapping - The source mapping entry to validate
|
|
83
|
+
* @returns Result with void on success, ValidationError on failure
|
|
84
|
+
*/
|
|
85
|
+
export declare function validateMethodFileCompatibility(mapping: SourceMappingEntry): Result<void, ValidationError>;
|
|
86
|
+
/**
|
|
87
|
+
* Validate table format has required columns
|
|
88
|
+
*
|
|
89
|
+
* @param columns - Array of column names from the table header
|
|
90
|
+
* @returns Result with column mapping on success, ValidationError on failure
|
|
91
|
+
*/
|
|
92
|
+
export declare function validateTableFormat(columns: string[]): Result<Record<string, string>, ValidationError>;
|
|
93
|
+
/**
|
|
94
|
+
* Validate a complete source mapping table
|
|
95
|
+
*
|
|
96
|
+
* Performs all validation checks and collects all errors rather than
|
|
97
|
+
* stopping at the first one.
|
|
98
|
+
*
|
|
99
|
+
* @param mappings - Array of source mapping entries to validate
|
|
100
|
+
* @param options - Validation options including base directory
|
|
101
|
+
* @returns ValidationResult with all errors and warnings
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const result = validateSourceMappingTable(mappings, {
|
|
106
|
+
* baseDir: process.cwd(),
|
|
107
|
+
* warningCollector: createWarningCollector()
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* if (!result.isValid) {
|
|
111
|
+
* for (const error of result.errors) {
|
|
112
|
+
* console.error(error.message);
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare function validateSourceMappingTable(mappings: readonly SourceMappingEntry[], options: ValidatorOptions): ValidationResult;
|
|
118
|
+
//# sourceMappingURL=source-mapping-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-mapping-validator.d.ts","sourceRoot":"","sources":["../../src/generators/source-mapping-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAEzB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IAEjB,wDAAwD;IACxD,MAAM,EAAE,eAAe,EAAE,CAAC;IAE1B,yBAAyB;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAEhB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAMD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAsC,CAAC;AAuC7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAmC/B;AAiCD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAkCxF;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAoD/B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,CAsBjD;AA0CD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,OAAO,EAAE,gBAAgB,GACxB,gBAAgB,CAmClB"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern SourceMappingValidator
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
*
|
|
7
|
+
* ## Source Mapping Validator - Pre-flight Validation
|
|
8
|
+
*
|
|
9
|
+
* Performs pre-flight checks on source mapping tables before extraction begins.
|
|
10
|
+
* Validates file existence, extraction method validity, and format correctness
|
|
11
|
+
* to fail fast with clear errors rather than producing incomplete output.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - Before document generation from source mappings
|
|
16
|
+
* - When validating decision document source tables
|
|
17
|
+
* - When checking extraction method compatibility
|
|
18
|
+
*
|
|
19
|
+
* ### Validation Checks
|
|
20
|
+
*
|
|
21
|
+
* 1. **File existence**: Source files must exist and be files (not directories)
|
|
22
|
+
* 2. **Method validity**: Extraction methods must be recognized
|
|
23
|
+
* 3. **Compatibility**: Extraction methods must match file types
|
|
24
|
+
* 4. **Table format**: Required columns must be present
|
|
25
|
+
*/
|
|
26
|
+
import * as fs from 'node:fs';
|
|
27
|
+
import * as path from 'node:path';
|
|
28
|
+
import { Result } from '../types/result.js';
|
|
29
|
+
import { isSelfReference, normalizeExtractionMethod, EXTRACTION_METHODS, } from '../renderable/codecs/decision-doc.js';
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// Constants
|
|
32
|
+
// =============================================================================
|
|
33
|
+
/**
|
|
34
|
+
* Valid extraction methods for reference
|
|
35
|
+
*/
|
|
36
|
+
export const VALID_EXTRACTION_METHODS = Object.values(EXTRACTION_METHODS);
|
|
37
|
+
/**
|
|
38
|
+
* Methods that only work with TypeScript files
|
|
39
|
+
*/
|
|
40
|
+
const TYPESCRIPT_ONLY_METHODS = new Set([
|
|
41
|
+
'@extract-shapes tag',
|
|
42
|
+
'JSDoc section',
|
|
43
|
+
'createViolation() patterns',
|
|
44
|
+
]);
|
|
45
|
+
/**
|
|
46
|
+
* Methods that only work with Gherkin feature files
|
|
47
|
+
*/
|
|
48
|
+
const GHERKIN_ONLY_METHODS = new Set(['Rule blocks', 'Scenario Outline Examples']);
|
|
49
|
+
/**
|
|
50
|
+
* Methods that only work with self-reference (THIS DECISION)
|
|
51
|
+
*/
|
|
52
|
+
const SELF_REFERENCE_ONLY_METHODS = new Set(['Decision rule description', 'Fenced code block']);
|
|
53
|
+
/**
|
|
54
|
+
* Required columns for source mapping tables
|
|
55
|
+
*/
|
|
56
|
+
const REQUIRED_COLUMNS = ['Section', 'Source File', 'Extraction Method'];
|
|
57
|
+
/**
|
|
58
|
+
* Column name aliases
|
|
59
|
+
*/
|
|
60
|
+
const COLUMN_ALIASES = {
|
|
61
|
+
Source: 'Source File',
|
|
62
|
+
How: 'Extraction Method',
|
|
63
|
+
Extraction: 'Extraction Method',
|
|
64
|
+
};
|
|
65
|
+
// =============================================================================
|
|
66
|
+
// Individual Validators
|
|
67
|
+
// =============================================================================
|
|
68
|
+
/**
|
|
69
|
+
* Validate that a source file exists
|
|
70
|
+
*
|
|
71
|
+
* @param mapping - The source mapping entry to validate
|
|
72
|
+
* @param baseDir - Base directory for resolving relative paths
|
|
73
|
+
* @returns Result with void on success, ValidationError on failure
|
|
74
|
+
*/
|
|
75
|
+
export function validateFileExists(mapping, baseDir) {
|
|
76
|
+
// Skip validation for self-references (THIS DECISION markers)
|
|
77
|
+
if (isSelfReference(mapping.sourceFile)) {
|
|
78
|
+
return Result.ok(undefined);
|
|
79
|
+
}
|
|
80
|
+
const fullPath = path.resolve(baseDir, mapping.sourceFile);
|
|
81
|
+
// Check if path exists
|
|
82
|
+
if (!fs.existsSync(fullPath)) {
|
|
83
|
+
return Result.err({
|
|
84
|
+
message: `File not found: ${mapping.sourceFile}`,
|
|
85
|
+
row: mapping,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
// Check if it's a file (not a directory)
|
|
89
|
+
try {
|
|
90
|
+
const stats = fs.statSync(fullPath);
|
|
91
|
+
if (stats.isDirectory()) {
|
|
92
|
+
return Result.err({
|
|
93
|
+
message: `Expected file, got directory: ${mapping.sourceFile}`,
|
|
94
|
+
row: mapping,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
// Capture the actual error for better debugging (permission denied, etc.)
|
|
100
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
101
|
+
return Result.err({
|
|
102
|
+
message: `Unable to read file: ${mapping.sourceFile} (${errorMessage})`,
|
|
103
|
+
row: mapping,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return Result.ok(undefined);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Additional aliases for extraction methods
|
|
110
|
+
* Maps normalized (lowercase, underscore-to-space) forms to canonical method keys
|
|
111
|
+
*/
|
|
112
|
+
const METHOD_ALIASES = {
|
|
113
|
+
'rule blocks': 'RULE_BLOCKS',
|
|
114
|
+
rule_blocks: 'RULE_BLOCKS',
|
|
115
|
+
ruleblocks: 'RULE_BLOCKS',
|
|
116
|
+
'@extract-shapes tag': 'EXTRACT_SHAPES',
|
|
117
|
+
'extract-shapes': 'EXTRACT_SHAPES',
|
|
118
|
+
'extract shapes': 'EXTRACT_SHAPES',
|
|
119
|
+
'decision rule description': 'DECISION_RULE_DESCRIPTION',
|
|
120
|
+
decision_rule_description: 'DECISION_RULE_DESCRIPTION',
|
|
121
|
+
'jsdoc section': 'JSDOC_SECTION',
|
|
122
|
+
jsdoc_section: 'JSDOC_SECTION',
|
|
123
|
+
'createviolation() patterns': 'CREATE_VIOLATION_PATTERNS',
|
|
124
|
+
'createviolation patterns': 'CREATE_VIOLATION_PATTERNS',
|
|
125
|
+
create_violation_patterns: 'CREATE_VIOLATION_PATTERNS',
|
|
126
|
+
'fenced code block': 'FENCED_CODE_BLOCK',
|
|
127
|
+
fenced_code_block: 'FENCED_CODE_BLOCK',
|
|
128
|
+
'scenario outline examples': 'SCENARIO_OUTLINE_EXAMPLES',
|
|
129
|
+
scenario_outline_examples: 'SCENARIO_OUTLINE_EXAMPLES',
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Normalize a method string by lowercasing and replacing underscores with spaces
|
|
133
|
+
*/
|
|
134
|
+
function normalizeMethodString(method) {
|
|
135
|
+
return method.toLowerCase().trim().replace(/_/g, ' ');
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Validate that an extraction method is valid
|
|
139
|
+
*
|
|
140
|
+
* @param method - The extraction method string
|
|
141
|
+
* @returns Result with normalized method on success, ValidationError on failure
|
|
142
|
+
*/
|
|
143
|
+
export function validateExtractionMethod(method) {
|
|
144
|
+
// Trim whitespace before validation to handle leading/trailing spaces
|
|
145
|
+
const trimmedMethod = method.trim();
|
|
146
|
+
// Check for empty method
|
|
147
|
+
if (trimmedMethod.length === 0) {
|
|
148
|
+
return Result.err({
|
|
149
|
+
message: 'Extraction method is required',
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// First, try using the built-in normalization
|
|
153
|
+
const normalizedKey = normalizeExtractionMethod(trimmedMethod);
|
|
154
|
+
if (normalizedKey !== 'unknown') {
|
|
155
|
+
// Return the canonical form of the method
|
|
156
|
+
return Result.ok(EXTRACTION_METHODS[normalizedKey]);
|
|
157
|
+
}
|
|
158
|
+
// Try our extended aliases
|
|
159
|
+
const normalizedString = normalizeMethodString(trimmedMethod);
|
|
160
|
+
const aliasKey = METHOD_ALIASES[normalizedString];
|
|
161
|
+
if (aliasKey) {
|
|
162
|
+
return Result.ok(EXTRACTION_METHODS[aliasKey]);
|
|
163
|
+
}
|
|
164
|
+
// Check if it's close to a known method for suggestions
|
|
165
|
+
const suggestions = findSimilarMethods(trimmedMethod);
|
|
166
|
+
return Result.err({
|
|
167
|
+
message: `Unknown extraction method: ${trimmedMethod}`,
|
|
168
|
+
suggestions,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Validate that an extraction method is compatible with the file type
|
|
173
|
+
*
|
|
174
|
+
* @param mapping - The source mapping entry to validate
|
|
175
|
+
* @returns Result with void on success, ValidationError on failure
|
|
176
|
+
*/
|
|
177
|
+
export function validateMethodFileCompatibility(mapping) {
|
|
178
|
+
const { sourceFile, extractionMethod } = mapping;
|
|
179
|
+
// Skip compatibility check for self-references with self-reference-only methods
|
|
180
|
+
if (isSelfReference(sourceFile)) {
|
|
181
|
+
// Self-references can use any method, but primarily use self-reference methods
|
|
182
|
+
return Result.ok(undefined);
|
|
183
|
+
}
|
|
184
|
+
// Normalize the method for comparison
|
|
185
|
+
const normalizedKey = normalizeExtractionMethod(extractionMethod);
|
|
186
|
+
if (normalizedKey === 'unknown') {
|
|
187
|
+
// Method validation will catch this
|
|
188
|
+
return Result.ok(undefined);
|
|
189
|
+
}
|
|
190
|
+
const normalizedMethod = EXTRACTION_METHODS[normalizedKey];
|
|
191
|
+
const ext = path.extname(sourceFile).toLowerCase();
|
|
192
|
+
// Check TypeScript-only methods against feature files
|
|
193
|
+
if (TYPESCRIPT_ONLY_METHODS.has(normalizedMethod)) {
|
|
194
|
+
if (ext === '.feature') {
|
|
195
|
+
const alternatives = Array.from(GHERKIN_ONLY_METHODS);
|
|
196
|
+
return Result.err({
|
|
197
|
+
message: `Method "${normalizedMethod}" cannot be used with .feature files`,
|
|
198
|
+
row: mapping,
|
|
199
|
+
suggestions: alternatives,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Check Gherkin-only methods against TypeScript files
|
|
204
|
+
if (GHERKIN_ONLY_METHODS.has(normalizedMethod)) {
|
|
205
|
+
if (ext === '.ts' || ext === '.tsx' || ext === '.js' || ext === '.jsx') {
|
|
206
|
+
return Result.err({
|
|
207
|
+
message: `Method "${normalizedMethod}" requires .feature file`,
|
|
208
|
+
row: mapping,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// Check self-reference-only methods against actual files
|
|
213
|
+
if (SELF_REFERENCE_ONLY_METHODS.has(normalizedMethod)) {
|
|
214
|
+
if (!isSelfReference(sourceFile)) {
|
|
215
|
+
return Result.err({
|
|
216
|
+
message: `Method "${normalizedMethod}" can only be used with THIS DECISION`,
|
|
217
|
+
row: mapping,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return Result.ok(undefined);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Validate table format has required columns
|
|
225
|
+
*
|
|
226
|
+
* @param columns - Array of column names from the table header
|
|
227
|
+
* @returns Result with column mapping on success, ValidationError on failure
|
|
228
|
+
*/
|
|
229
|
+
export function validateTableFormat(columns) {
|
|
230
|
+
const columnMapping = {};
|
|
231
|
+
const normalizedColumns = new Set();
|
|
232
|
+
// Process each column, applying aliases
|
|
233
|
+
for (const col of columns) {
|
|
234
|
+
const trimmed = col.trim();
|
|
235
|
+
const mapped = COLUMN_ALIASES[trimmed] ?? trimmed;
|
|
236
|
+
columnMapping[trimmed] = mapped;
|
|
237
|
+
normalizedColumns.add(mapped);
|
|
238
|
+
}
|
|
239
|
+
// Check for required columns
|
|
240
|
+
for (const required of REQUIRED_COLUMNS) {
|
|
241
|
+
if (!normalizedColumns.has(required)) {
|
|
242
|
+
return Result.err({
|
|
243
|
+
message: `Missing required column: ${required}`,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return Result.ok(columnMapping);
|
|
248
|
+
}
|
|
249
|
+
// =============================================================================
|
|
250
|
+
// Helper Functions
|
|
251
|
+
// =============================================================================
|
|
252
|
+
/**
|
|
253
|
+
* Find extraction methods similar to the given string
|
|
254
|
+
*/
|
|
255
|
+
function findSimilarMethods(method) {
|
|
256
|
+
const methodLower = method.toLowerCase();
|
|
257
|
+
const suggestions = [];
|
|
258
|
+
// Check for partial matches
|
|
259
|
+
for (const validMethod of VALID_EXTRACTION_METHODS) {
|
|
260
|
+
const validLower = validMethod.toLowerCase();
|
|
261
|
+
// Check if any word in the valid method appears in the input
|
|
262
|
+
const validWords = validLower.split(/[\s-]+/);
|
|
263
|
+
const inputWords = methodLower.split(/[\s-]+/);
|
|
264
|
+
const hasCommonWord = validWords.some((vw) => inputWords.some((iw) => vw.includes(iw) || iw.includes(vw)) && vw.length > 2);
|
|
265
|
+
if (hasCommonWord) {
|
|
266
|
+
suggestions.push(validMethod);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// If no suggestions found, provide the most common ones
|
|
270
|
+
if (suggestions.length === 0) {
|
|
271
|
+
suggestions.push('@extract-shapes tag', 'Rule blocks');
|
|
272
|
+
}
|
|
273
|
+
return suggestions;
|
|
274
|
+
}
|
|
275
|
+
// =============================================================================
|
|
276
|
+
// Main Validation Function
|
|
277
|
+
// =============================================================================
|
|
278
|
+
/**
|
|
279
|
+
* Validate a complete source mapping table
|
|
280
|
+
*
|
|
281
|
+
* Performs all validation checks and collects all errors rather than
|
|
282
|
+
* stopping at the first one.
|
|
283
|
+
*
|
|
284
|
+
* @param mappings - Array of source mapping entries to validate
|
|
285
|
+
* @param options - Validation options including base directory
|
|
286
|
+
* @returns ValidationResult with all errors and warnings
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* const result = validateSourceMappingTable(mappings, {
|
|
291
|
+
* baseDir: process.cwd(),
|
|
292
|
+
* warningCollector: createWarningCollector()
|
|
293
|
+
* });
|
|
294
|
+
*
|
|
295
|
+
* if (!result.isValid) {
|
|
296
|
+
* for (const error of result.errors) {
|
|
297
|
+
* console.error(error.message);
|
|
298
|
+
* }
|
|
299
|
+
* }
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
export function validateSourceMappingTable(mappings, options) {
|
|
303
|
+
const errors = [];
|
|
304
|
+
for (const mapping of mappings) {
|
|
305
|
+
// 1. Validate file existence
|
|
306
|
+
const fileResult = validateFileExists(mapping, options.baseDir);
|
|
307
|
+
if (!fileResult.ok) {
|
|
308
|
+
errors.push(fileResult.error);
|
|
309
|
+
}
|
|
310
|
+
// 2. Validate extraction method
|
|
311
|
+
const methodResult = validateExtractionMethod(mapping.extractionMethod);
|
|
312
|
+
if (!methodResult.ok) {
|
|
313
|
+
errors.push({
|
|
314
|
+
...methodResult.error,
|
|
315
|
+
row: mapping,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
// 3. Validate method-file compatibility (only if method is valid)
|
|
319
|
+
if (methodResult.ok) {
|
|
320
|
+
const compatResult = validateMethodFileCompatibility(mapping);
|
|
321
|
+
if (!compatResult.ok) {
|
|
322
|
+
errors.push(compatResult.error);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// Note: Validation is pass/fail per row, no warnings are generated.
|
|
327
|
+
// The warnings array is kept in the interface for future extensibility.
|
|
328
|
+
return {
|
|
329
|
+
isValid: errors.length === 0,
|
|
330
|
+
errors,
|
|
331
|
+
warnings: [],
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=source-mapping-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-mapping-validator.js","sourceRoot":"","sources":["../../src/generators/source-mapping-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
*/
|
|
4
|
+
import type { ExtractedPattern, TagRegistry } from '../validation-schemas';
|
|
5
|
+
import type { LoadedWorkflow } from '../validation-schemas/workflow-config.js';
|
|
6
|
+
import type { RuntimeMasterDataset } from './pipeline/index.js';
|
|
7
|
+
import type { CodecOptions } from '../renderable/generate.js';
|
|
8
|
+
/**
|
|
9
|
+
* @architect-generator
|
|
10
|
+
* @architect-pattern GeneratorTypes
|
|
11
|
+
* @architect-status completed
|
|
12
|
+
* @architect-used-by GeneratorRegistry, GeneratorFactory, Orchestrator, SectionRegistry
|
|
13
|
+
* @architect-extract-shapes DocumentGenerator, GeneratorContext, GeneratorOutput
|
|
14
|
+
*
|
|
15
|
+
* ## GeneratorTypes - Pluggable Document Generation Interface
|
|
16
|
+
*
|
|
17
|
+
* Minimal interface for pluggable generators that produce documentation from patterns.
|
|
18
|
+
* Both JSON-configured built-in generators and TypeScript custom generators implement this.
|
|
19
|
+
*
|
|
20
|
+
* ### When to Use
|
|
21
|
+
*
|
|
22
|
+
* - Creating a new document format (ADRs, planning docs, API specs)
|
|
23
|
+
* - Building custom generators in TypeScript
|
|
24
|
+
* - Integrating with the unified CLI
|
|
25
|
+
*
|
|
26
|
+
* ### Key Concepts
|
|
27
|
+
*
|
|
28
|
+
* - **Generator:** Transforms patterns → document files
|
|
29
|
+
* - **Context:** Runtime environment (base paths, registries, scenarios)
|
|
30
|
+
* - **Output:** Map of file paths → content
|
|
31
|
+
*/
|
|
32
|
+
export interface DocumentGenerator {
|
|
33
|
+
/** Unique generator name (e.g., "patterns", "adrs", "planning") */
|
|
34
|
+
readonly name: string;
|
|
35
|
+
/** Optional description shown in --list-generators */
|
|
36
|
+
readonly description?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Generate documentation from extracted patterns.
|
|
39
|
+
*
|
|
40
|
+
* @param patterns - Extracted patterns from source code
|
|
41
|
+
* @param context - Runtime context (paths, registry, scenario map)
|
|
42
|
+
* @returns Generated files with paths relative to outputDir
|
|
43
|
+
*/
|
|
44
|
+
generate(patterns: readonly ExtractedPattern[], context: GeneratorContext): Promise<GeneratorOutput>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Runtime context provided to generators.
|
|
48
|
+
*/
|
|
49
|
+
export interface GeneratorContext {
|
|
50
|
+
/** Base directory for resolving relative paths */
|
|
51
|
+
readonly baseDir: string;
|
|
52
|
+
/** Output directory for generated files */
|
|
53
|
+
readonly outputDir: string;
|
|
54
|
+
/** Tag registry with category/aggregation definitions */
|
|
55
|
+
readonly registry: TagRegistry;
|
|
56
|
+
/** Optional workflow configuration for status handling */
|
|
57
|
+
readonly workflow?: LoadedWorkflow;
|
|
58
|
+
/**
|
|
59
|
+
* Pre-computed pattern views for efficient access.
|
|
60
|
+
*
|
|
61
|
+
* Contains patterns grouped by status, phase, quarter, category, and source,
|
|
62
|
+
* computed in a single pass. Sections should use these pre-computed views
|
|
63
|
+
* instead of filtering the raw patterns array.
|
|
64
|
+
*/
|
|
65
|
+
readonly masterDataset?: RuntimeMasterDataset;
|
|
66
|
+
/**
|
|
67
|
+
* Optional codec-specific options for document generation.
|
|
68
|
+
*
|
|
69
|
+
* Used to pass runtime configuration (e.g., changedFiles for PR changes)
|
|
70
|
+
* through the CLI → Orchestrator → Generator → Codec pipeline.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const context: GeneratorContext = {
|
|
75
|
+
* // ... other fields
|
|
76
|
+
* codecOptions: {
|
|
77
|
+
* "pr-changes": { changedFiles: ["src/foo.ts"], releaseFilter: "v0.2.0" }
|
|
78
|
+
* }
|
|
79
|
+
* };
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
readonly codecOptions?: CodecOptions;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Output from generator execution.
|
|
86
|
+
*/
|
|
87
|
+
export interface GeneratorOutput {
|
|
88
|
+
/** Files to write (path relative to outputDir) */
|
|
89
|
+
readonly files: readonly OutputFile[];
|
|
90
|
+
/** Files to delete for cleanup (path relative to outputDir) */
|
|
91
|
+
readonly filesToDelete?: readonly string[];
|
|
92
|
+
/** Optional metadata for registry.json or other purposes */
|
|
93
|
+
readonly metadata?: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Single output file.
|
|
97
|
+
*/
|
|
98
|
+
export interface OutputFile {
|
|
99
|
+
/** Path relative to outputDir (e.g., "PATTERNS.md", "patterns/core.md") */
|
|
100
|
+
readonly path: string;
|
|
101
|
+
/** File content as string */
|
|
102
|
+
readonly content: string;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,QAAQ,CACN,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAE9C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAEtC,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|