@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,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern ErrorFactoryTypes
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-implements ErrorFactories
|
|
7
|
+
* @architect-product-area CoreTypes
|
|
8
|
+
*
|
|
9
|
+
* ## Error Factories - Type Definitions
|
|
10
|
+
*
|
|
11
|
+
* Structured, discriminated error types with factory functions.
|
|
12
|
+
* Each error type has a unique `type` discriminator for exhaustive pattern matching.
|
|
13
|
+
*
|
|
14
|
+
* **When to Use:** When creating or handling domain-specific errors — use these factory types instead of plain Error for exhaustive matching.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Create a FileSystemError
|
|
18
|
+
*
|
|
19
|
+
* @param file - File path that caused the error
|
|
20
|
+
* @param reason - Specific reason for the failure
|
|
21
|
+
* @param originalError - Optional underlying error
|
|
22
|
+
* @returns Structured FileSystemError
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const error = createFileSystemError(
|
|
27
|
+
* '/path/to/file.ts',
|
|
28
|
+
* 'NOT_FOUND',
|
|
29
|
+
* new Error('ENOENT')
|
|
30
|
+
* );
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function createFileSystemError(file, reason, originalError) {
|
|
34
|
+
const reasonMessages = {
|
|
35
|
+
NOT_FOUND: `File not found: ${file}`,
|
|
36
|
+
NO_PERMISSION: `Permission denied: ${file}`,
|
|
37
|
+
NOT_A_FILE: `Not a file: ${file}`,
|
|
38
|
+
OTHER: `File system error: ${file}`,
|
|
39
|
+
};
|
|
40
|
+
// Use spread to conditionally include optional fields
|
|
41
|
+
return {
|
|
42
|
+
type: 'FILE_SYSTEM_ERROR',
|
|
43
|
+
message: reasonMessages[reason],
|
|
44
|
+
file,
|
|
45
|
+
reason,
|
|
46
|
+
...(originalError !== undefined && { originalError }),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a FileParseError
|
|
51
|
+
*
|
|
52
|
+
* @param file - File path that failed to parse
|
|
53
|
+
* @param reason - Description of parsing failure
|
|
54
|
+
* @param location - Optional line/column information
|
|
55
|
+
* @param originalError - Optional underlying error
|
|
56
|
+
* @returns Structured FileParseError
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const error = createFileParseError(
|
|
61
|
+
* '/path/to/file.ts',
|
|
62
|
+
* 'Unexpected token',
|
|
63
|
+
* { line: 42, column: 10 },
|
|
64
|
+
* originalError
|
|
65
|
+
* );
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export function createFileParseError(file, reason, location, originalError) {
|
|
69
|
+
const locationStr = location ? ` at line ${location.line}, column ${location.column}` : '';
|
|
70
|
+
// Use spread to conditionally include optional fields
|
|
71
|
+
return {
|
|
72
|
+
type: 'FILE_PARSE_ERROR',
|
|
73
|
+
message: `Failed to parse ${file}${locationStr}: ${reason}`,
|
|
74
|
+
file,
|
|
75
|
+
reason,
|
|
76
|
+
...(location && { line: location.line, column: location.column }),
|
|
77
|
+
...(originalError !== undefined && { originalError }),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create a DirectiveValidationError
|
|
82
|
+
*
|
|
83
|
+
* @param file - Source file containing invalid directive
|
|
84
|
+
* @param line - Line number where directive was found
|
|
85
|
+
* @param reason - Why validation failed
|
|
86
|
+
* @param directive - Optional directive text snippet
|
|
87
|
+
* @returns Structured DirectiveValidationError
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const error = createDirectiveValidationError(
|
|
92
|
+
* 'src/utils.ts',
|
|
93
|
+
* 42,
|
|
94
|
+
* 'Missing required tags',
|
|
95
|
+
* '@architect-'
|
|
96
|
+
* );
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export function createDirectiveValidationError(file, line, reason, directive) {
|
|
100
|
+
// Use spread to conditionally include optional fields
|
|
101
|
+
return {
|
|
102
|
+
type: 'DIRECTIVE_VALIDATION_ERROR',
|
|
103
|
+
message: `Directive validation failed at ${file}:${line}: ${reason}`,
|
|
104
|
+
file,
|
|
105
|
+
line,
|
|
106
|
+
reason,
|
|
107
|
+
...(directive !== undefined && { directive }),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create a PatternValidationError
|
|
112
|
+
*
|
|
113
|
+
* @param file - Source file containing invalid pattern
|
|
114
|
+
* @param patternName - Name of the invalid pattern
|
|
115
|
+
* @param reason - Why validation failed
|
|
116
|
+
* @param validationErrors - Specific validation errors from schema
|
|
117
|
+
* @returns Structured PatternValidationError
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const error = createPatternValidationError(
|
|
122
|
+
* asSourceFilePath('src/types.ts'),
|
|
123
|
+
* 'User Schema',
|
|
124
|
+
* 'Invalid pattern structure',
|
|
125
|
+
* ['tags: Required', 'description: Must be non-empty']
|
|
126
|
+
* );
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export function createPatternValidationError(file, patternName, reason, validationErrors) {
|
|
130
|
+
// Use spread to conditionally include optional fields
|
|
131
|
+
return {
|
|
132
|
+
type: 'PATTERN_VALIDATION_ERROR',
|
|
133
|
+
message: `Pattern validation failed for "${patternName}" in ${file}: ${reason}`,
|
|
134
|
+
file,
|
|
135
|
+
patternName,
|
|
136
|
+
reason,
|
|
137
|
+
...(validationErrors !== undefined && { validationErrors }),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Create a FeatureParseError
|
|
142
|
+
*
|
|
143
|
+
* @param file - Feature file path that failed to parse
|
|
144
|
+
* @param reason - Description of parsing failure
|
|
145
|
+
* @param originalError - Optional underlying error
|
|
146
|
+
* @returns Structured FeatureParseError
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* const error = createFeatureParseError(
|
|
151
|
+
* '/path/to/test.feature',
|
|
152
|
+
* 'Invalid Gherkin syntax',
|
|
153
|
+
* originalError
|
|
154
|
+
* );
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
export function createFeatureParseError(file, reason, originalError) {
|
|
158
|
+
return {
|
|
159
|
+
type: 'FEATURE_PARSE_ERROR',
|
|
160
|
+
message: `Failed to parse feature file ${file}: ${reason}`,
|
|
161
|
+
file,
|
|
162
|
+
reason,
|
|
163
|
+
...(originalError !== undefined && { originalError }),
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Create a ProcessMetadataValidationError
|
|
168
|
+
*
|
|
169
|
+
* @param file - Feature file path containing invalid process metadata
|
|
170
|
+
* @param reason - Description of validation failure
|
|
171
|
+
* @param validationErrors - Specific Zod validation errors
|
|
172
|
+
* @returns Structured ProcessMetadataValidationError
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* const error = createProcessMetadataValidationError(
|
|
177
|
+
* '/path/to/test.feature',
|
|
178
|
+
* 'Schema validation failed',
|
|
179
|
+
* ['status: Invalid enum value', 'phase: Expected number']
|
|
180
|
+
* );
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export function createProcessMetadataValidationError(file, reason, validationErrors) {
|
|
184
|
+
return {
|
|
185
|
+
type: 'PROCESS_METADATA_VALIDATION_ERROR',
|
|
186
|
+
message: `Process metadata validation failed in ${file}: ${reason}`,
|
|
187
|
+
file,
|
|
188
|
+
reason,
|
|
189
|
+
...(validationErrors !== undefined && { validationErrors }),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Create a DeliverableValidationError
|
|
194
|
+
*
|
|
195
|
+
* @param file - Feature file path containing invalid deliverable
|
|
196
|
+
* @param reason - Description of validation failure
|
|
197
|
+
* @param deliverableName - Optional name of the invalid deliverable
|
|
198
|
+
* @param validationErrors - Specific Zod validation errors
|
|
199
|
+
* @returns Structured DeliverableValidationError
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* const error = createDeliverableValidationError(
|
|
204
|
+
* '/path/to/test.feature',
|
|
205
|
+
* 'Invalid deliverable data',
|
|
206
|
+
* 'MyDeliverable',
|
|
207
|
+
* ['name: Required', 'tests: Expected number']
|
|
208
|
+
* );
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
export function createDeliverableValidationError(file, reason, deliverableName, validationErrors) {
|
|
212
|
+
const nameStr = deliverableName ? ` "${deliverableName}"` : '';
|
|
213
|
+
return {
|
|
214
|
+
type: 'DELIVERABLE_VALIDATION_ERROR',
|
|
215
|
+
message: `Deliverable${nameStr} validation failed in ${file}: ${reason}`,
|
|
216
|
+
file,
|
|
217
|
+
reason,
|
|
218
|
+
...(deliverableName !== undefined && { deliverableName }),
|
|
219
|
+
...(validationErrors !== undefined && { validationErrors }),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Create a GherkinPatternValidationError
|
|
224
|
+
*
|
|
225
|
+
* @param file - Feature file path containing invalid pattern
|
|
226
|
+
* @param patternName - Name of the pattern that failed validation
|
|
227
|
+
* @param reason - Description of validation failure
|
|
228
|
+
* @param validationErrors - Specific Zod validation errors
|
|
229
|
+
* @returns Structured GherkinPatternValidationError
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* ```typescript
|
|
233
|
+
* const error = createGherkinPatternValidationError(
|
|
234
|
+
* '/path/to/test.feature',
|
|
235
|
+
* 'MyPattern',
|
|
236
|
+
* 'Pattern schema validation failed',
|
|
237
|
+
* ['id: Required', 'category: Invalid enum']
|
|
238
|
+
* );
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
export function createGherkinPatternValidationError(file, patternName, reason, validationErrors) {
|
|
242
|
+
return {
|
|
243
|
+
type: 'GHERKIN_PATTERN_VALIDATION_ERROR',
|
|
244
|
+
message: `Gherkin pattern "${patternName}" validation failed in ${file}: ${reason}`,
|
|
245
|
+
file,
|
|
246
|
+
patternName,
|
|
247
|
+
reason,
|
|
248
|
+
...(validationErrors !== undefined && { validationErrors }),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgNH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,MAAiC,EACjC,aAAuB;IAEvB,MAAM,cAAc,GAA8C;QAChE,SAAS,EAAE,mBAAmB,IAAI,EAAE;QACpC,aAAa,EAAE,sBAAsB,IAAI,EAAE;QAC3C,UAAU,EAAE,eAAe,IAAI,EAAE;QACjC,KAAK,EAAE,sBAAsB,IAAI,EAAE;KACpC,CAAC;IAEF,sDAAsD;IACtD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC;QAC/B,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,MAAc,EACd,QAA2C,EAC3C,aAAuB;IAEvB,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3F,sDAAsD;IACtD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,mBAAmB,IAAI,GAAG,WAAW,KAAK,MAAM,EAAE;QAC3D,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjE,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,SAAkB;IAElB,sDAAsD;IACtD,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,kCAAkC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;QACpE,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAoB,EACpB,WAAmB,EACnB,MAAc,EACd,gBAA2B;IAE3B,sDAAsD;IACtD,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,kCAAkC,WAAW,QAAQ,IAAI,KAAK,MAAM,EAAE;QAC/E,IAAI;QACJ,WAAW;QACX,MAAM;QACN,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,MAAc,EACd,aAAuB;IAEvB,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,gCAAgC,IAAI,KAAK,MAAM,EAAE;QAC1D,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oCAAoC,CAClD,IAAY,EACZ,MAAc,EACd,gBAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,yCAAyC,IAAI,KAAK,MAAM,EAAE;QACnE,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAY,EACZ,MAAc,EACd,eAAwB,EACxB,gBAAoC;IAEpC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,cAAc,OAAO,yBAAyB,IAAI,KAAK,MAAM,EAAE;QACxE,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;QACzD,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAAY,EACZ,WAAmB,EACnB,MAAc,EACd,gBAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,oBAAoB,WAAW,0BAA0B,IAAI,KAAK,MAAM,EAAE;QACnF,IAAI;QACJ,WAAW;QACX,MAAM;QACN,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export { Result, type Ok, type Err } from './result.js';
|
|
2
|
+
export type { PatternId, ModuleId, CategoryName, SourceFilePath, OutputFilePath, RegistryFilePath, DirectiveTag, } from './branded.js';
|
|
3
|
+
export { asPatternId, asModuleId, asCategoryName, asSourceFilePath, asOutputFilePath, asRegistryFilePath, asDirectiveTag, } from './branded.js';
|
|
4
|
+
export type { BaseDocError, DocError, ScanError, ExtractionError, GenerationError, BatchError, FileSystemError, FileParseError, DirectiveValidationError, PatternValidationError, RegistryValidationError, MarkdownGenerationError, FileWriteError, ConfigError, } from './errors.js';
|
|
5
|
+
export { createFileSystemError, createFileParseError, createDirectiveValidationError, createPatternValidationError, createFeatureParseError, } from './errors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Position information in source file
|
|
8
|
+
* Schema: validation-schemas/doc-directive.ts
|
|
9
|
+
*/
|
|
10
|
+
export type { Position } from '../validation-schemas/doc-directive.js';
|
|
11
|
+
/**
|
|
12
|
+
* Parsed @architect-* directive from JSDoc comment
|
|
13
|
+
* Schema: validation-schemas/doc-directive.ts
|
|
14
|
+
*/
|
|
15
|
+
export type { DocDirective } from '../validation-schemas/doc-directive.js';
|
|
16
|
+
/**
|
|
17
|
+
* Information about exported symbols (discriminated union)
|
|
18
|
+
* Schema: validation-schemas/export-info.ts
|
|
19
|
+
*/
|
|
20
|
+
export type { ExportInfo } from '../validation-schemas/export-info.js';
|
|
21
|
+
/**
|
|
22
|
+
* Source file information
|
|
23
|
+
* Schema: validation-schemas/extracted-pattern.ts
|
|
24
|
+
*/
|
|
25
|
+
export type { SourceInfo } from '../validation-schemas/extracted-pattern.js';
|
|
26
|
+
/**
|
|
27
|
+
* Complete extracted pattern with code and metadata
|
|
28
|
+
* Schema: validation-schemas/extracted-pattern.ts
|
|
29
|
+
*/
|
|
30
|
+
export type { ExtractedPattern } from '../validation-schemas/extracted-pattern.js';
|
|
31
|
+
/**
|
|
32
|
+
* Scanner configuration
|
|
33
|
+
* Schema: validation-schemas/config.ts
|
|
34
|
+
*/
|
|
35
|
+
export type { ScannerConfig } from '../validation-schemas/config.js';
|
|
36
|
+
/**
|
|
37
|
+
* Generator configuration
|
|
38
|
+
* Schema: validation-schemas/config.ts
|
|
39
|
+
*/
|
|
40
|
+
export type { GeneratorConfig } from '../validation-schemas/config.js';
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAGxD,YAAY,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAKrB;;;GAGG;AACH,YAAY,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;GAGG;AACH,YAAY,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E;;;GAGG;AACH,YAAY,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE;;;GAGG;AACH,YAAY,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;;GAGG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEnF;;;GAGG;AACH,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;;GAGG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Export Result monad - value export also provides the type
|
|
2
|
+
export { Result } from './result.js';
|
|
3
|
+
export { asPatternId, asModuleId, asCategoryName, asSourceFilePath, asOutputFilePath, asRegistryFilePath, asDirectiveTag, } from './branded.js';
|
|
4
|
+
export { createFileSystemError, createFileParseError, createDirectiveValidationError, createPatternValidationError, createFeatureParseError, } from './errors.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAaxD,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAoBtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern ResultMonadTypes
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-implements ResultMonad
|
|
7
|
+
* @architect-product-area CoreTypes
|
|
8
|
+
*
|
|
9
|
+
* ## Result Monad - Type Definitions
|
|
10
|
+
*
|
|
11
|
+
* Explicit error handling via discriminated union.
|
|
12
|
+
* Functions return `Result.ok(value)` or `Result.err(error)` instead of throwing.
|
|
13
|
+
*
|
|
14
|
+
* **When to Use:** When a function can fail with a recoverable error — return Result instead of throwing exceptions.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Success result containing a value
|
|
18
|
+
*/
|
|
19
|
+
export type Ok<T> = {
|
|
20
|
+
ok: true;
|
|
21
|
+
value: T;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Error result containing an error
|
|
25
|
+
*/
|
|
26
|
+
export type Err<E> = {
|
|
27
|
+
ok: false;
|
|
28
|
+
error: E;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Result type representing either success (Ok) or failure (Err)
|
|
32
|
+
*
|
|
33
|
+
* @architect-shape
|
|
34
|
+
* @architect-include core-types
|
|
35
|
+
* @typeParam T - The success value type
|
|
36
|
+
* @typeParam E - The error type (defaults to Error)
|
|
37
|
+
*/
|
|
38
|
+
export type Result<T, E = Error> = Ok<T> | Err<E>;
|
|
39
|
+
/**
|
|
40
|
+
* Result utilities for creating and inspecting Result values
|
|
41
|
+
*/
|
|
42
|
+
export declare const Result: {
|
|
43
|
+
/**
|
|
44
|
+
* Create a success result
|
|
45
|
+
*/
|
|
46
|
+
ok: <T>(value: T) => Result<T, never>;
|
|
47
|
+
/**
|
|
48
|
+
* Create an error result
|
|
49
|
+
*/
|
|
50
|
+
err: <E = Error>(error: E) => Result<never, E>;
|
|
51
|
+
/**
|
|
52
|
+
* Type guard for success results
|
|
53
|
+
*/
|
|
54
|
+
isOk: <T, E>(result: Result<T, E>) => result is Ok<T>;
|
|
55
|
+
/**
|
|
56
|
+
* Type guard for error results
|
|
57
|
+
*/
|
|
58
|
+
isErr: <T, E>(result: Result<T, E>) => result is Err<E>;
|
|
59
|
+
/**
|
|
60
|
+
* Extract value or throw error.
|
|
61
|
+
* If the error is not an Error instance, it will be wrapped in one
|
|
62
|
+
* to ensure proper stack traces and error handling.
|
|
63
|
+
*/
|
|
64
|
+
unwrap: <T, E>(result: Result<T, E>) => T;
|
|
65
|
+
/**
|
|
66
|
+
* Extract value or return default
|
|
67
|
+
*/
|
|
68
|
+
unwrapOr: <T, E>(result: Result<T, E>, defaultValue: T) => T;
|
|
69
|
+
/**
|
|
70
|
+
* Transform success value
|
|
71
|
+
*/
|
|
72
|
+
map: <T, U, E>(result: Result<T, E>, fn: (value: T) => U) => Result<U, E>;
|
|
73
|
+
/**
|
|
74
|
+
* Transform error value
|
|
75
|
+
*/
|
|
76
|
+
mapErr: <T, E, F>(result: Result<T, E>, fn: (error: E) => F) => Result<T, F>;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;SACE,CAAC,SAAS,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;IAEnC;;OAEG;UACG,CAAC,iBAAiB,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAE5C;;OAEG;WACI,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnD;;OAEG;YACK,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IAErD;;;;OAIG;aACM,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAAC;IAgBvC;;OAEG;eACQ,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,KAAG,CAAC;IAG1D;;OAEG;UACG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAOvE;;OAEG;aACM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAM3E,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern ResultMonadTypes
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-implements ResultMonad
|
|
7
|
+
* @architect-product-area CoreTypes
|
|
8
|
+
*
|
|
9
|
+
* ## Result Monad - Type Definitions
|
|
10
|
+
*
|
|
11
|
+
* Explicit error handling via discriminated union.
|
|
12
|
+
* Functions return `Result.ok(value)` or `Result.err(error)` instead of throwing.
|
|
13
|
+
*
|
|
14
|
+
* **When to Use:** When a function can fail with a recoverable error — return Result instead of throwing exceptions.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Result utilities for creating and inspecting Result values
|
|
18
|
+
*/
|
|
19
|
+
export const Result = {
|
|
20
|
+
/**
|
|
21
|
+
* Create a success result
|
|
22
|
+
*/
|
|
23
|
+
ok: (value) => ({ ok: true, value }),
|
|
24
|
+
/**
|
|
25
|
+
* Create an error result
|
|
26
|
+
*/
|
|
27
|
+
err: (error) => ({ ok: false, error }),
|
|
28
|
+
/**
|
|
29
|
+
* Type guard for success results
|
|
30
|
+
*/
|
|
31
|
+
isOk: (result) => result.ok,
|
|
32
|
+
/**
|
|
33
|
+
* Type guard for error results
|
|
34
|
+
*/
|
|
35
|
+
isErr: (result) => !result.ok,
|
|
36
|
+
/**
|
|
37
|
+
* Extract value or throw error.
|
|
38
|
+
* If the error is not an Error instance, it will be wrapped in one
|
|
39
|
+
* to ensure proper stack traces and error handling.
|
|
40
|
+
*/
|
|
41
|
+
unwrap: (result) => {
|
|
42
|
+
if (result.ok) {
|
|
43
|
+
return result.value;
|
|
44
|
+
}
|
|
45
|
+
// Ensure we always throw an Error instance for proper stack traces
|
|
46
|
+
if (result.error instanceof Error) {
|
|
47
|
+
throw result.error;
|
|
48
|
+
}
|
|
49
|
+
// Wrap non-Error objects to preserve information and provide stack trace
|
|
50
|
+
const errorMessage = typeof result.error === 'object' && result.error !== null
|
|
51
|
+
? JSON.stringify(result.error)
|
|
52
|
+
: String(result.error);
|
|
53
|
+
throw new Error(errorMessage);
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* Extract value or return default
|
|
57
|
+
*/
|
|
58
|
+
unwrapOr: (result, defaultValue) => result.ok ? result.value : defaultValue,
|
|
59
|
+
/**
|
|
60
|
+
* Transform success value
|
|
61
|
+
*/
|
|
62
|
+
map: (result, fn) => {
|
|
63
|
+
if (result.ok) {
|
|
64
|
+
return { ok: true, value: fn(result.value) };
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* Transform error value
|
|
70
|
+
*/
|
|
71
|
+
mapErr: (result, fn) => {
|
|
72
|
+
if (result.ok) {
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
return { ok: false, error: fn(result.error) };
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;OAEG;IACH,EAAE,EAAE,CAAI,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5D;;OAEG;IACH,GAAG,EAAE,CAAY,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEtE;;OAEG;IACH,IAAI,EAAE,CAAO,MAAoB,EAAmB,EAAE,CAAC,MAAM,CAAC,EAAE;IAEhE;;OAEG;IACH,KAAK,EAAE,CAAO,MAAoB,EAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;IAEnE;;;;OAIG;IACH,MAAM,EAAE,CAAO,MAAoB,EAAK,EAAE;QACxC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,mEAAmE;QACnE,IAAI,MAAM,CAAC,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,yEAAyE;QACzE,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;YACvD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAO,MAAoB,EAAE,YAAe,EAAK,EAAE,CAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;IAEzC;;OAEG;IACH,GAAG,EAAE,CAAU,MAAoB,EAAE,EAAmB,EAAgB,EAAE;QACxE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,EAAE,CAAU,MAAoB,EAAE,EAAmB,EAAgB,EAAE;QAC3E,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAChD,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern CollectionUtilities
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-used-by SectionRenderer, DocExtractor
|
|
7
|
+
*
|
|
8
|
+
* ## CollectionUtilities - Array and Map Operations
|
|
9
|
+
*
|
|
10
|
+
* Provides shared utilities for working with arrays and collections,
|
|
11
|
+
* such as grouping items by a key function.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - Use `groupBy()` when categorizing patterns by category, status, or other key
|
|
16
|
+
* - Use when aggregating items for section rendering (e.g., patterns by domain)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Group items by a key function
|
|
20
|
+
*
|
|
21
|
+
* Creates a Map where each key maps to an array of items that share that key.
|
|
22
|
+
* This is a generic utility that replaces duplicate groupByX implementations.
|
|
23
|
+
*
|
|
24
|
+
* @typeParam T - Type of items in the collection
|
|
25
|
+
* @typeParam K - Type of the grouping key (must be usable as Map key)
|
|
26
|
+
* @param items - Array of items to group
|
|
27
|
+
* @param keyFn - Function to extract the grouping key from each item
|
|
28
|
+
* @returns Map from keys to arrays of items
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* interface Pattern { name: string; category: string; status?: string; }
|
|
33
|
+
*
|
|
34
|
+
* const patterns: Pattern[] = [
|
|
35
|
+
* { name: 'Auth', category: 'core' },
|
|
36
|
+
* { name: 'Logger', category: 'core' },
|
|
37
|
+
* { name: 'Store', category: 'infra' }
|
|
38
|
+
* ];
|
|
39
|
+
*
|
|
40
|
+
* // Group by category
|
|
41
|
+
* const byCategory = groupBy(patterns, p => p.category);
|
|
42
|
+
* // Map { 'core' => [Auth, Logger], 'infra' => [Store] }
|
|
43
|
+
*
|
|
44
|
+
* // Group by status with default
|
|
45
|
+
* const byStatus = groupBy(patterns, p => p.status ?? 'implemented');
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function groupBy<T, K>(items: readonly T[], keyFn: (item: T) => K): Map<K, T[]>;
|
|
49
|
+
//# sourceMappingURL=collection-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-utils.d.ts","sourceRoot":"","sources":["../../src/utils/collection-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAWrF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern CollectionUtilities
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-used-by SectionRenderer, DocExtractor
|
|
7
|
+
*
|
|
8
|
+
* ## CollectionUtilities - Array and Map Operations
|
|
9
|
+
*
|
|
10
|
+
* Provides shared utilities for working with arrays and collections,
|
|
11
|
+
* such as grouping items by a key function.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - Use `groupBy()` when categorizing patterns by category, status, or other key
|
|
16
|
+
* - Use when aggregating items for section rendering (e.g., patterns by domain)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Group items by a key function
|
|
20
|
+
*
|
|
21
|
+
* Creates a Map where each key maps to an array of items that share that key.
|
|
22
|
+
* This is a generic utility that replaces duplicate groupByX implementations.
|
|
23
|
+
*
|
|
24
|
+
* @typeParam T - Type of items in the collection
|
|
25
|
+
* @typeParam K - Type of the grouping key (must be usable as Map key)
|
|
26
|
+
* @param items - Array of items to group
|
|
27
|
+
* @param keyFn - Function to extract the grouping key from each item
|
|
28
|
+
* @returns Map from keys to arrays of items
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* interface Pattern { name: string; category: string; status?: string; }
|
|
33
|
+
*
|
|
34
|
+
* const patterns: Pattern[] = [
|
|
35
|
+
* { name: 'Auth', category: 'core' },
|
|
36
|
+
* { name: 'Logger', category: 'core' },
|
|
37
|
+
* { name: 'Store', category: 'infra' }
|
|
38
|
+
* ];
|
|
39
|
+
*
|
|
40
|
+
* // Group by category
|
|
41
|
+
* const byCategory = groupBy(patterns, p => p.category);
|
|
42
|
+
* // Map { 'core' => [Auth, Logger], 'infra' => [Store] }
|
|
43
|
+
*
|
|
44
|
+
* // Group by status with default
|
|
45
|
+
* const byStatus = groupBy(patterns, p => p.status ?? 'implemented');
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export function groupBy(items, keyFn) {
|
|
49
|
+
const groups = new Map();
|
|
50
|
+
for (const item of items) {
|
|
51
|
+
const key = keyFn(item);
|
|
52
|
+
const existing = groups.get(key) ?? [];
|
|
53
|
+
existing.push(item);
|
|
54
|
+
groups.set(key, existing);
|
|
55
|
+
}
|
|
56
|
+
return groups;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=collection-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-utils.js","sourceRoot":"","sources":["../../src/utils/collection-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,OAAO,CAAO,KAAmB,EAAE,KAAqB;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern PatternIdGenerator
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-used-by DocExtractor, GherkinExtractor
|
|
7
|
+
*
|
|
8
|
+
* ## Pattern ID Generator - Deterministic ID Generation
|
|
9
|
+
*
|
|
10
|
+
* Generates unique, deterministic pattern IDs based on file path and line number.
|
|
11
|
+
* Uses MD5 hashing to produce stable 8-character identifiers.
|
|
12
|
+
*
|
|
13
|
+
* ### When to Use
|
|
14
|
+
*
|
|
15
|
+
* - When extracting patterns from TypeScript or Gherkin files
|
|
16
|
+
* - When needing stable IDs that survive re-extraction
|
|
17
|
+
* - When correlating patterns across multiple extraction runs
|
|
18
|
+
*
|
|
19
|
+
* ### Key Concepts
|
|
20
|
+
*
|
|
21
|
+
* - **Deterministic**: Same file + line always produces same ID
|
|
22
|
+
* - **Collision-resistant**: MD5 hash provides adequate uniqueness for pattern counts
|
|
23
|
+
* - **Human-friendly prefix**: `pattern-` prefix aids debugging and identification
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Generate a deterministic pattern ID from file path and line number
|
|
27
|
+
*
|
|
28
|
+
* Creates a unique identifier based on the combination of file path and
|
|
29
|
+
* starting line number. The same inputs will always produce the same output,
|
|
30
|
+
* making pattern IDs stable across multiple extraction runs.
|
|
31
|
+
*
|
|
32
|
+
* @param filePath - Relative file path (e.g., 'src/utils.ts')
|
|
33
|
+
* @param line - Line number where the pattern starts
|
|
34
|
+
* @returns Pattern ID in format 'pattern-{8-char-hash}'
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const id1 = generatePatternId('src/utils.ts', 42);
|
|
39
|
+
* const id2 = generatePatternId('src/utils.ts', 42);
|
|
40
|
+
*
|
|
41
|
+
* console.log(id1 === id2); // true (deterministic)
|
|
42
|
+
* console.log(id1); // 'pattern-a1b2c3d4'
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function generatePatternId(filePath: string, line: number): string;
|
|
46
|
+
//# sourceMappingURL=id-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-utils.d.ts","sourceRoot":"","sources":["../../src/utils/id-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxE"}
|