@libar-dev/architect 1.0.0-pre.3 → 1.0.0-pre.5
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 +1 -1
- package/README.md +5 -5
- package/dist/api/arch-queries.d.ts.map +1 -1
- package/dist/api/context-assembler.d.ts.map +1 -1
- package/dist/api/handoff-generator.d.ts.map +1 -1
- package/dist/api/index.d.ts +8 -8
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +7 -7
- package/dist/api/index.js.map +1 -1
- package/dist/api/{process-state.d.ts → pattern-graph-api.d.ts} +15 -15
- package/dist/api/pattern-graph-api.d.ts.map +1 -0
- package/dist/api/{process-state.js → pattern-graph-api.js} +13 -13
- package/dist/api/pattern-graph-api.js.map +1 -0
- package/dist/api/rules-query.d.ts +6 -6
- package/dist/api/rules-query.d.ts.map +1 -1
- package/dist/api/rules-query.js +4 -4
- package/dist/api/rules-query.js.map +1 -1
- package/dist/api/scope-validator.d.ts.map +1 -1
- package/dist/api/types.d.ts +8 -8
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +5 -5
- package/dist/cli/cli-schema.d.ts +3 -4
- package/dist/cli/cli-schema.d.ts.map +1 -1
- package/dist/cli/cli-schema.js +13 -14
- package/dist/cli/cli-schema.js.map +1 -1
- package/dist/cli/output-pipeline.d.ts.map +1 -1
- package/dist/cli/pattern-graph-cli.d.ts.map +1 -0
- package/dist/cli/validate-patterns.d.ts.map +1 -1
- package/dist/generators/built-in/cli-recipe-generator.d.ts +3 -4
- package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -1
- package/dist/generators/built-in/cli-recipe-generator.js +6 -7
- package/dist/generators/built-in/cli-recipe-generator.js.map +1 -1
- package/dist/generators/built-in/cli-reference-generator.d.ts +18 -0
- package/dist/generators/built-in/cli-reference-generator.d.ts.map +1 -0
- package/dist/generators/built-in/{process-api-reference-generator.js → cli-reference-generator.js} +13 -13
- package/dist/generators/built-in/cli-reference-generator.js.map +1 -0
- package/dist/generators/built-in/codec-generators.js +12 -12
- package/dist/generators/built-in/codec-generators.js.map +1 -1
- package/dist/generators/built-in/design-review-generator.d.ts.map +1 -1
- package/dist/generators/built-in/reference-generators.d.ts.map +1 -1
- package/dist/generators/codec-based.d.ts.map +1 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/orchestrator.d.ts.map +1 -1
- package/dist/generators/pipeline/build-pipeline.d.ts +17 -14
- package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -1
- package/dist/generators/pipeline/build-pipeline.js +27 -21
- package/dist/generators/pipeline/build-pipeline.js.map +1 -1
- package/dist/generators/pipeline/index.d.ts.map +1 -1
- package/dist/generators/types.d.ts.map +1 -1
- package/dist/mcp/pipeline-session.d.ts.map +1 -1
- package/dist/renderable/codecs/index-codec.d.ts.map +1 -1
- package/dist/renderable/codecs/index-codec.js +54 -28
- package/dist/renderable/codecs/index-codec.js.map +1 -1
- package/docs/ANNOTATION-GUIDE.md +5 -5
- package/docs/ARCHITECTURE.md +79 -79
- package/docs/{PROCESS-API.md → CLI.md} +6 -6
- package/docs/CONFIGURATION.md +2 -2
- package/docs/DOCS-GAP-ANALYSIS.md +65 -65
- package/docs/INDEX.md +34 -34
- package/docs/MCP-SETUP.md +3 -3
- package/docs/METHODOLOGY.md +1 -1
- package/docs/SESSION-GUIDES.md +3 -3
- package/docs/VALIDATION.md +4 -4
- package/docs-live/ARCHITECTURE.md +48 -42
- package/docs-live/BUSINESS-RULES.md +3 -3
- package/docs-live/CHANGELOG-GENERATED.md +109 -103
- package/docs-live/INDEX.md +21 -21
- package/docs-live/PRODUCT-AREAS.md +7 -7
- package/docs-live/TAXONOMY.md +3 -5
- package/docs-live/_claude-md/annotation/annotation-overview.md +1 -1
- package/docs-live/_claude-md/annotation/annotation-reference.md +5 -5
- package/docs-live/_claude-md/architecture/architecture-types.md +4 -4
- package/docs-live/_claude-md/architecture/reference-sample.md +2 -2
- package/docs-live/_claude-md/data-api/data-api-overview.md +2 -2
- package/docs-live/_claude-md/generation/generation-overview.md +15 -15
- package/docs-live/_claude-md/process/process-overview.md +1 -1
- package/docs-live/_claude-md/validation/validation-overview.md +1 -1
- package/docs-live/business-rules/annotation.md +1 -2
- package/docs-live/business-rules/configuration.md +1 -1
- package/docs-live/business-rules/data-api.md +149 -136
- package/docs-live/business-rules/generation.md +172 -20
- package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +1 -1
- package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +5 -5
- package/docs-live/decisions/adr-006-single-read-model-architecture.md +24 -24
- package/docs-live/product-areas/ANNOTATION.md +19 -9
- package/docs-live/product-areas/CONFIGURATION.md +39 -19
- package/docs-live/product-areas/DATA-API.md +155 -151
- package/docs-live/product-areas/GENERATION.md +159 -144
- package/docs-live/product-areas/PROCESS.md +4 -4
- package/docs-live/product-areas/VALIDATION.md +35 -20
- package/docs-live/reference/ANNOTATION-REFERENCE.md +5 -5
- package/docs-live/reference/ARCHITECTURE-CODECS.md +11 -11
- package/docs-live/reference/ARCHITECTURE-TYPES.md +28 -25
- package/docs-live/reference/{PROCESS-API-RECIPES.md → CLI-RECIPES.md} +11 -11
- package/docs-live/reference/{PROCESS-API-REFERENCE.md → CLI-REFERENCE.md} +2 -2
- package/docs-live/reference/REFERENCE-SAMPLE.md +56 -56
- package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +3 -3
- package/docs-live/taxonomy/format-types.md +2 -2
- package/docs-live/taxonomy/metadata-tags.md +1 -23
- package/package.json +7 -7
- package/dist/api/arch-queries.d.ts +0 -95
- package/dist/api/arch-queries.js +0 -310
- package/dist/api/arch-queries.js.map +0 -1
- package/dist/api/context-assembler.d.ts +0 -124
- package/dist/api/context-assembler.js +0 -472
- package/dist/api/context-assembler.js.map +0 -1
- package/dist/api/context-formatter.d.ts +0 -26
- package/dist/api/context-formatter.js +0 -183
- package/dist/api/context-formatter.js.map +0 -1
- package/dist/api/coverage-analyzer.d.ts +0 -38
- package/dist/api/coverage-analyzer.d.ts.map +0 -1
- package/dist/api/coverage-analyzer.js +0 -117
- package/dist/api/coverage-analyzer.js.map +0 -1
- package/dist/api/fuzzy-match.d.ts +0 -75
- package/dist/api/fuzzy-match.d.ts.map +0 -1
- package/dist/api/fuzzy-match.js +0 -150
- package/dist/api/fuzzy-match.js.map +0 -1
- package/dist/api/handoff-generator.d.ts +0 -45
- package/dist/api/handoff-generator.js +0 -139
- package/dist/api/handoff-generator.js.map +0 -1
- package/dist/api/pattern-helpers.d.ts +0 -51
- package/dist/api/pattern-helpers.d.ts.map +0 -1
- package/dist/api/pattern-helpers.js +0 -84
- package/dist/api/pattern-helpers.js.map +0 -1
- package/dist/api/process-state.d.ts.map +0 -1
- package/dist/api/process-state.js.map +0 -1
- package/dist/api/scope-validator.d.ts +0 -56
- package/dist/api/scope-validator.js +0 -293
- package/dist/api/scope-validator.js.map +0 -1
- package/dist/api/stub-resolver.d.ts +0 -117
- package/dist/api/stub-resolver.d.ts.map +0 -1
- package/dist/api/stub-resolver.js +0 -154
- package/dist/api/stub-resolver.js.map +0 -1
- package/dist/api/summarize.d.ts +0 -75
- package/dist/api/summarize.d.ts.map +0 -1
- package/dist/api/summarize.js +0 -97
- package/dist/api/summarize.js.map +0 -1
- package/dist/cache/file-cache.d.ts +0 -72
- package/dist/cache/file-cache.d.ts.map +0 -1
- package/dist/cache/file-cache.js +0 -80
- package/dist/cache/file-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -5
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -5
- package/dist/cache/index.js.map +0 -1
- package/dist/cli/dataset-cache.d.ts +0 -66
- package/dist/cli/dataset-cache.js +0 -179
- package/dist/cli/dataset-cache.js.map +0 -1
- package/dist/cli/error-handler.d.ts +0 -84
- package/dist/cli/error-handler.d.ts.map +0 -1
- package/dist/cli/error-handler.js +0 -197
- package/dist/cli/error-handler.js.map +0 -1
- package/dist/cli/generate-docs.d.ts +0 -30
- package/dist/cli/generate-docs.js +0 -370
- package/dist/cli/generate-docs.js.map +0 -1
- package/dist/cli/lint-patterns.d.ts +0 -57
- package/dist/cli/lint-patterns.d.ts.map +0 -1
- package/dist/cli/lint-patterns.js +0 -257
- package/dist/cli/lint-patterns.js.map +0 -1
- package/dist/cli/lint-process.d.ts +0 -54
- package/dist/cli/lint-process.d.ts.map +0 -1
- package/dist/cli/lint-process.js +0 -319
- package/dist/cli/lint-process.js.map +0 -1
- package/dist/cli/lint-steps.d.ts +0 -32
- package/dist/cli/lint-steps.d.ts.map +0 -1
- package/dist/cli/lint-steps.js +0 -172
- package/dist/cli/lint-steps.js.map +0 -1
- package/dist/cli/mcp-server.d.ts +0 -22
- package/dist/cli/mcp-server.js +0 -57
- package/dist/cli/mcp-server.js.map +0 -1
- package/dist/cli/output-pipeline.d.ts +0 -130
- package/dist/cli/output-pipeline.js +0 -234
- package/dist/cli/output-pipeline.js.map +0 -1
- package/dist/cli/process-api.d.ts +0 -37
- package/dist/cli/process-api.d.ts.map +0 -1
- package/dist/cli/process-api.js +0 -1550
- package/dist/cli/process-api.js.map +0 -1
- package/dist/cli/repl.d.ts +0 -38
- package/dist/cli/repl.js +0 -239
- package/dist/cli/repl.js.map +0 -1
- package/dist/cli/validate-patterns.d.ts +0 -115
- package/dist/cli/validate-patterns.js +0 -707
- package/dist/cli/validate-patterns.js.map +0 -1
- package/dist/cli/version.d.ts +0 -35
- package/dist/cli/version.d.ts.map +0 -1
- package/dist/cli/version.js +0 -64
- package/dist/cli/version.js.map +0 -1
- package/dist/config/config-loader.d.ts +0 -167
- package/dist/config/config-loader.d.ts.map +0 -1
- package/dist/config/config-loader.js +0 -294
- package/dist/config/config-loader.js.map +0 -1
- package/dist/config/defaults.d.ts +0 -92
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -103
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/define-config.d.ts +0 -37
- package/dist/config/define-config.d.ts.map +0 -1
- package/dist/config/define-config.js +0 -38
- package/dist/config/define-config.js.map +0 -1
- package/dist/config/factory.d.ts +0 -79
- package/dist/config/factory.d.ts.map +0 -1
- package/dist/config/factory.js +0 -116
- package/dist/config/factory.js.map +0 -1
- package/dist/config/index.d.ts +0 -45
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -48
- package/dist/config/index.js.map +0 -1
- package/dist/config/merge-sources.d.ts +0 -47
- package/dist/config/merge-sources.d.ts.map +0 -1
- package/dist/config/merge-sources.js +0 -61
- package/dist/config/merge-sources.js.map +0 -1
- package/dist/config/presets.d.ts +0 -115
- package/dist/config/presets.d.ts.map +0 -1
- package/dist/config/presets.js +0 -119
- package/dist/config/presets.js.map +0 -1
- package/dist/config/project-config-schema.d.ts +0 -192
- package/dist/config/project-config-schema.d.ts.map +0 -1
- package/dist/config/project-config-schema.js +0 -231
- package/dist/config/project-config-schema.js.map +0 -1
- package/dist/config/project-config.d.ts +0 -229
- package/dist/config/project-config.d.ts.map +0 -1
- package/dist/config/project-config.js +0 -37
- package/dist/config/project-config.js.map +0 -1
- package/dist/config/regex-builders.d.ts +0 -49
- package/dist/config/regex-builders.d.ts.map +0 -1
- package/dist/config/regex-builders.js +0 -85
- package/dist/config/regex-builders.js.map +0 -1
- package/dist/config/resolve-config.d.ts +0 -65
- package/dist/config/resolve-config.d.ts.map +0 -1
- package/dist/config/resolve-config.js +0 -150
- package/dist/config/resolve-config.js.map +0 -1
- package/dist/config/types.d.ts +0 -81
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -22
- package/dist/config/types.js.map +0 -1
- package/dist/config/workflow-loader.d.ts +0 -90
- package/dist/config/workflow-loader.d.ts.map +0 -1
- package/dist/config/workflow-loader.js +0 -167
- package/dist/config/workflow-loader.js.map +0 -1
- package/dist/extractor/doc-extractor.d.ts +0 -233
- package/dist/extractor/doc-extractor.d.ts.map +0 -1
- package/dist/extractor/doc-extractor.js +0 -481
- package/dist/extractor/doc-extractor.js.map +0 -1
- package/dist/extractor/dual-source-extractor.d.ts +0 -161
- package/dist/extractor/dual-source-extractor.d.ts.map +0 -1
- package/dist/extractor/dual-source-extractor.js +0 -407
- package/dist/extractor/dual-source-extractor.js.map +0 -1
- package/dist/extractor/gherkin-extractor.d.ts +0 -170
- package/dist/extractor/gherkin-extractor.d.ts.map +0 -1
- package/dist/extractor/gherkin-extractor.js +0 -543
- package/dist/extractor/gherkin-extractor.js.map +0 -1
- package/dist/extractor/index.d.ts +0 -7
- package/dist/extractor/index.d.ts.map +0 -1
- package/dist/extractor/index.js +0 -11
- package/dist/extractor/index.js.map +0 -1
- package/dist/extractor/layer-inference.d.ts +0 -66
- package/dist/extractor/layer-inference.d.ts.map +0 -1
- package/dist/extractor/layer-inference.js +0 -93
- package/dist/extractor/layer-inference.js.map +0 -1
- package/dist/extractor/shape-extractor.d.ts +0 -79
- package/dist/extractor/shape-extractor.d.ts.map +0 -1
- package/dist/extractor/shape-extractor.js +0 -966
- package/dist/extractor/shape-extractor.js.map +0 -1
- package/dist/generators/built-in/codec-generators.d.ts +0 -29
- package/dist/generators/built-in/decision-doc-generator.d.ts +0 -204
- package/dist/generators/built-in/decision-doc-generator.js +0 -654
- package/dist/generators/built-in/decision-doc-generator.js.map +0 -1
- package/dist/generators/built-in/design-review-generator.d.ts +0 -26
- package/dist/generators/built-in/design-review-generator.js +0 -94
- package/dist/generators/built-in/design-review-generator.js.map +0 -1
- package/dist/generators/built-in/index.d.ts +0 -22
- package/dist/generators/built-in/index.js +0 -23
- package/dist/generators/built-in/index.js.map +0 -1
- package/dist/generators/built-in/process-api-reference-generator.d.ts +0 -18
- package/dist/generators/built-in/process-api-reference-generator.d.ts.map +0 -1
- package/dist/generators/built-in/process-api-reference-generator.js.map +0 -1
- package/dist/generators/built-in/reference-generators.d.ts +0 -51
- package/dist/generators/built-in/reference-generators.js +0 -320
- package/dist/generators/built-in/reference-generators.js.map +0 -1
- package/dist/generators/codec-based.d.ts +0 -63
- package/dist/generators/codec-based.js +0 -88
- package/dist/generators/codec-based.js.map +0 -1
- package/dist/generators/content-deduplicator.d.ts +0 -114
- package/dist/generators/content-deduplicator.d.ts.map +0 -1
- package/dist/generators/content-deduplicator.js +0 -356
- package/dist/generators/content-deduplicator.js.map +0 -1
- package/dist/generators/index.d.ts +0 -50
- package/dist/generators/index.js +0 -54
- package/dist/generators/index.js.map +0 -1
- package/dist/generators/orchestrator.d.ts +0 -265
- package/dist/generators/orchestrator.js +0 -570
- package/dist/generators/orchestrator.js.map +0 -1
- package/dist/generators/pipeline/context-inference.d.ts +0 -55
- package/dist/generators/pipeline/context-inference.d.ts.map +0 -1
- package/dist/generators/pipeline/context-inference.js +0 -76
- package/dist/generators/pipeline/context-inference.js.map +0 -1
- package/dist/generators/pipeline/index.d.ts +0 -27
- package/dist/generators/pipeline/index.js +0 -34
- package/dist/generators/pipeline/index.js.map +0 -1
- package/dist/generators/pipeline/merge-patterns.d.ts +0 -33
- package/dist/generators/pipeline/merge-patterns.d.ts.map +0 -1
- package/dist/generators/pipeline/merge-patterns.js +0 -50
- package/dist/generators/pipeline/merge-patterns.js.map +0 -1
- package/dist/generators/pipeline/relationship-resolver.d.ts +0 -47
- package/dist/generators/pipeline/relationship-resolver.d.ts.map +0 -1
- package/dist/generators/pipeline/relationship-resolver.js +0 -132
- package/dist/generators/pipeline/relationship-resolver.js.map +0 -1
- package/dist/generators/pipeline/sequence-utils.d.ts +0 -49
- package/dist/generators/pipeline/sequence-utils.d.ts.map +0 -1
- package/dist/generators/pipeline/sequence-utils.js +0 -235
- package/dist/generators/pipeline/sequence-utils.js.map +0 -1
- package/dist/generators/pipeline/transform-dataset.d.ts +0 -82
- package/dist/generators/pipeline/transform-dataset.d.ts.map +0 -1
- package/dist/generators/pipeline/transform-dataset.js +0 -355
- package/dist/generators/pipeline/transform-dataset.js.map +0 -1
- package/dist/generators/pipeline/transform-types.d.ts +0 -96
- package/dist/generators/pipeline/transform-types.d.ts.map +0 -1
- package/dist/generators/pipeline/transform-types.js +0 -18
- package/dist/generators/pipeline/transform-types.js.map +0 -1
- package/dist/generators/registry.d.ts +0 -64
- package/dist/generators/registry.js +0 -77
- package/dist/generators/registry.js.map +0 -1
- package/dist/generators/source-mapper.d.ts +0 -143
- package/dist/generators/source-mapper.d.ts.map +0 -1
- package/dist/generators/source-mapper.js +0 -602
- package/dist/generators/source-mapper.js.map +0 -1
- package/dist/generators/source-mapping-validator.d.ts +0 -118
- package/dist/generators/source-mapping-validator.d.ts.map +0 -1
- package/dist/generators/source-mapping-validator.js +0 -334
- package/dist/generators/source-mapping-validator.js.map +0 -1
- package/dist/generators/types.d.ts +0 -104
- package/dist/generators/types.js +0 -5
- package/dist/generators/types.js.map +0 -1
- package/dist/generators/warning-collector.d.ts +0 -144
- package/dist/generators/warning-collector.d.ts.map +0 -1
- package/dist/generators/warning-collector.js +0 -166
- package/dist/generators/warning-collector.js.map +0 -1
- package/dist/git/branch-diff.d.ts +0 -44
- package/dist/git/branch-diff.d.ts.map +0 -1
- package/dist/git/branch-diff.js +0 -57
- package/dist/git/branch-diff.js.map +0 -1
- package/dist/git/helpers.d.ts +0 -46
- package/dist/git/helpers.d.ts.map +0 -1
- package/dist/git/helpers.js +0 -67
- package/dist/git/helpers.js.map +0 -1
- package/dist/git/index.d.ts +0 -18
- package/dist/git/index.d.ts.map +0 -1
- package/dist/git/index.js +0 -18
- package/dist/git/index.js.map +0 -1
- package/dist/git/name-status.d.ts +0 -32
- package/dist/git/name-status.d.ts.map +0 -1
- package/dist/git/name-status.js +0 -66
- package/dist/git/name-status.js.map +0 -1
- package/dist/index.d.ts +0 -107
- package/dist/index.js +0 -122
- package/dist/index.js.map +0 -1
- package/dist/lint/engine.d.ts +0 -113
- package/dist/lint/engine.d.ts.map +0 -1
- package/dist/lint/engine.js +0 -228
- package/dist/lint/engine.js.map +0 -1
- package/dist/lint/index.d.ts +0 -26
- package/dist/lint/index.d.ts.map +0 -1
- package/dist/lint/index.js +0 -24
- package/dist/lint/index.js.map +0 -1
- package/dist/lint/process-guard/decider.d.ts +0 -166
- package/dist/lint/process-guard/decider.d.ts.map +0 -1
- package/dist/lint/process-guard/decider.js +0 -412
- package/dist/lint/process-guard/decider.js.map +0 -1
- package/dist/lint/process-guard/derive-state.d.ts +0 -96
- package/dist/lint/process-guard/derive-state.d.ts.map +0 -1
- package/dist/lint/process-guard/derive-state.js +0 -368
- package/dist/lint/process-guard/derive-state.js.map +0 -1
- package/dist/lint/process-guard/detect-changes.d.ts +0 -109
- package/dist/lint/process-guard/detect-changes.d.ts.map +0 -1
- package/dist/lint/process-guard/detect-changes.js +0 -487
- package/dist/lint/process-guard/detect-changes.js.map +0 -1
- package/dist/lint/process-guard/index.d.ts +0 -35
- package/dist/lint/process-guard/index.d.ts.map +0 -1
- package/dist/lint/process-guard/index.js +0 -39
- package/dist/lint/process-guard/index.js.map +0 -1
- package/dist/lint/process-guard/types.d.ts +0 -255
- package/dist/lint/process-guard/types.d.ts.map +0 -1
- package/dist/lint/process-guard/types.js +0 -31
- package/dist/lint/process-guard/types.js.map +0 -1
- package/dist/lint/rules.d.ts +0 -147
- package/dist/lint/rules.d.ts.map +0 -1
- package/dist/lint/rules.js +0 -289
- package/dist/lint/rules.js.map +0 -1
- package/dist/lint/steps/cross-checks.d.ts +0 -66
- package/dist/lint/steps/cross-checks.d.ts.map +0 -1
- package/dist/lint/steps/cross-checks.js +0 -290
- package/dist/lint/steps/cross-checks.js.map +0 -1
- package/dist/lint/steps/feature-checks.d.ts +0 -78
- package/dist/lint/steps/feature-checks.d.ts.map +0 -1
- package/dist/lint/steps/feature-checks.js +0 -279
- package/dist/lint/steps/feature-checks.js.map +0 -1
- package/dist/lint/steps/index.d.ts +0 -22
- package/dist/lint/steps/index.d.ts.map +0 -1
- package/dist/lint/steps/index.js +0 -26
- package/dist/lint/steps/index.js.map +0 -1
- package/dist/lint/steps/pair-resolver.d.ts +0 -29
- package/dist/lint/steps/pair-resolver.d.ts.map +0 -1
- package/dist/lint/steps/pair-resolver.js +0 -76
- package/dist/lint/steps/pair-resolver.js.map +0 -1
- package/dist/lint/steps/runner.d.ts +0 -28
- package/dist/lint/steps/runner.d.ts.map +0 -1
- package/dist/lint/steps/runner.js +0 -143
- package/dist/lint/steps/runner.js.map +0 -1
- package/dist/lint/steps/step-checks.d.ts +0 -41
- package/dist/lint/steps/step-checks.d.ts.map +0 -1
- package/dist/lint/steps/step-checks.js +0 -164
- package/dist/lint/steps/step-checks.js.map +0 -1
- package/dist/lint/steps/types.d.ts +0 -95
- package/dist/lint/steps/types.d.ts.map +0 -1
- package/dist/lint/steps/types.js +0 -79
- package/dist/lint/steps/types.js.map +0 -1
- package/dist/lint/steps/utils.d.ts +0 -22
- package/dist/lint/steps/utils.d.ts.map +0 -1
- package/dist/lint/steps/utils.js +0 -57
- package/dist/lint/steps/utils.js.map +0 -1
- package/dist/mcp/file-watcher.d.ts +0 -24
- package/dist/mcp/file-watcher.js +0 -75
- package/dist/mcp/file-watcher.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -19
- package/dist/mcp/index.js +0 -21
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/pipeline-session.d.ts +0 -33
- package/dist/mcp/pipeline-session.js +0 -149
- package/dist/mcp/pipeline-session.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -28
- package/dist/mcp/server.js +0 -197
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/tool-registry.d.ts +0 -4
- package/dist/mcp/tool-registry.js +0 -525
- package/dist/mcp/tool-registry.js.map +0 -1
- package/dist/renderable/codecs/adr.d.ts +0 -4730
- package/dist/renderable/codecs/adr.d.ts.map +0 -1
- package/dist/renderable/codecs/adr.js +0 -590
- package/dist/renderable/codecs/adr.js.map +0 -1
- package/dist/renderable/codecs/architecture.d.ts +0 -4760
- package/dist/renderable/codecs/architecture.d.ts.map +0 -1
- package/dist/renderable/codecs/architecture.js +0 -524
- package/dist/renderable/codecs/architecture.js.map +0 -1
- package/dist/renderable/codecs/business-rules.d.ts +0 -4777
- package/dist/renderable/codecs/business-rules.d.ts.map +0 -1
- package/dist/renderable/codecs/business-rules.js +0 -648
- package/dist/renderable/codecs/business-rules.js.map +0 -1
- package/dist/renderable/codecs/claude-module.d.ts +0 -4710
- package/dist/renderable/codecs/claude-module.d.ts.map +0 -1
- package/dist/renderable/codecs/claude-module.js +0 -214
- package/dist/renderable/codecs/claude-module.js.map +0 -1
- package/dist/renderable/codecs/composite.d.ts +0 -84
- package/dist/renderable/codecs/composite.d.ts.map +0 -1
- package/dist/renderable/codecs/composite.js +0 -124
- package/dist/renderable/codecs/composite.js.map +0 -1
- package/dist/renderable/codecs/convention-extractor.d.ts +0 -105
- package/dist/renderable/codecs/convention-extractor.d.ts.map +0 -1
- package/dist/renderable/codecs/convention-extractor.js +0 -353
- package/dist/renderable/codecs/convention-extractor.js.map +0 -1
- package/dist/renderable/codecs/decision-doc.d.ts +0 -308
- package/dist/renderable/codecs/decision-doc.d.ts.map +0 -1
- package/dist/renderable/codecs/decision-doc.js +0 -485
- package/dist/renderable/codecs/decision-doc.js.map +0 -1
- package/dist/renderable/codecs/design-review.d.ts +0 -55
- package/dist/renderable/codecs/design-review.d.ts.map +0 -1
- package/dist/renderable/codecs/design-review.js +0 -532
- package/dist/renderable/codecs/design-review.js.map +0 -1
- package/dist/renderable/codecs/diagram-utils.d.ts +0 -62
- package/dist/renderable/codecs/diagram-utils.d.ts.map +0 -1
- package/dist/renderable/codecs/diagram-utils.js +0 -70
- package/dist/renderable/codecs/diagram-utils.js.map +0 -1
- package/dist/renderable/codecs/helpers.d.ts +0 -553
- package/dist/renderable/codecs/helpers.d.ts.map +0 -1
- package/dist/renderable/codecs/helpers.js +0 -913
- package/dist/renderable/codecs/helpers.js.map +0 -1
- package/dist/renderable/codecs/index-codec.d.ts +0 -4714
- package/dist/renderable/codecs/index.d.ts +0 -46
- package/dist/renderable/codecs/index.d.ts.map +0 -1
- package/dist/renderable/codecs/index.js +0 -70
- package/dist/renderable/codecs/index.js.map +0 -1
- package/dist/renderable/codecs/patterns.d.ts +0 -4757
- package/dist/renderable/codecs/patterns.d.ts.map +0 -1
- package/dist/renderable/codecs/patterns.js +0 -462
- package/dist/renderable/codecs/patterns.js.map +0 -1
- package/dist/renderable/codecs/planning.d.ts +0 -14055
- package/dist/renderable/codecs/planning.d.ts.map +0 -1
- package/dist/renderable/codecs/planning.js +0 -449
- package/dist/renderable/codecs/planning.js.map +0 -1
- package/dist/renderable/codecs/pr-changes.d.ts +0 -4742
- package/dist/renderable/codecs/pr-changes.d.ts.map +0 -1
- package/dist/renderable/codecs/pr-changes.js +0 -425
- package/dist/renderable/codecs/pr-changes.js.map +0 -1
- package/dist/renderable/codecs/reference.d.ts +0 -215
- package/dist/renderable/codecs/reference.d.ts.map +0 -1
- package/dist/renderable/codecs/reference.js +0 -1578
- package/dist/renderable/codecs/reference.js.map +0 -1
- package/dist/renderable/codecs/reporting.d.ts +0 -14026
- package/dist/renderable/codecs/reporting.d.ts.map +0 -1
- package/dist/renderable/codecs/reporting.js +0 -365
- package/dist/renderable/codecs/reporting.js.map +0 -1
- package/dist/renderable/codecs/requirements.d.ts +0 -4743
- package/dist/renderable/codecs/requirements.d.ts.map +0 -1
- package/dist/renderable/codecs/requirements.js +0 -428
- package/dist/renderable/codecs/requirements.js.map +0 -1
- package/dist/renderable/codecs/session.d.ts +0 -9410
- package/dist/renderable/codecs/session.d.ts.map +0 -1
- package/dist/renderable/codecs/session.js +0 -848
- package/dist/renderable/codecs/session.js.map +0 -1
- package/dist/renderable/codecs/shape-matcher.d.ts +0 -54
- package/dist/renderable/codecs/shape-matcher.d.ts.map +0 -1
- package/dist/renderable/codecs/shape-matcher.js +0 -106
- package/dist/renderable/codecs/shape-matcher.js.map +0 -1
- package/dist/renderable/codecs/shared-schema.d.ts +0 -44
- package/dist/renderable/codecs/shared-schema.d.ts.map +0 -1
- package/dist/renderable/codecs/shared-schema.js +0 -43
- package/dist/renderable/codecs/shared-schema.js.map +0 -1
- package/dist/renderable/codecs/taxonomy.d.ts +0 -4733
- package/dist/renderable/codecs/taxonomy.d.ts.map +0 -1
- package/dist/renderable/codecs/taxonomy.js +0 -570
- package/dist/renderable/codecs/taxonomy.js.map +0 -1
- package/dist/renderable/codecs/timeline.d.ts +0 -14094
- package/dist/renderable/codecs/timeline.d.ts.map +0 -1
- package/dist/renderable/codecs/timeline.js +0 -906
- package/dist/renderable/codecs/timeline.js.map +0 -1
- package/dist/renderable/codecs/types/base.d.ts +0 -81
- package/dist/renderable/codecs/types/base.d.ts.map +0 -1
- package/dist/renderable/codecs/types/base.js +0 -56
- package/dist/renderable/codecs/types/base.js.map +0 -1
- package/dist/renderable/codecs/types/index.d.ts +0 -5
- package/dist/renderable/codecs/types/index.d.ts.map +0 -1
- package/dist/renderable/codecs/types/index.js +0 -5
- package/dist/renderable/codecs/types/index.js.map +0 -1
- package/dist/renderable/codecs/validation-rules.d.ts +0 -4773
- package/dist/renderable/codecs/validation-rules.d.ts.map +0 -1
- package/dist/renderable/codecs/validation-rules.js +0 -537
- package/dist/renderable/codecs/validation-rules.js.map +0 -1
- package/dist/renderable/generate.d.ts +0 -338
- package/dist/renderable/generate.d.ts.map +0 -1
- package/dist/renderable/generate.js +0 -437
- package/dist/renderable/generate.js.map +0 -1
- package/dist/renderable/index.d.ts +0 -36
- package/dist/renderable/index.d.ts.map +0 -1
- package/dist/renderable/index.js +0 -58
- package/dist/renderable/index.js.map +0 -1
- package/dist/renderable/load-preamble.d.ts +0 -56
- package/dist/renderable/load-preamble.d.ts.map +0 -1
- package/dist/renderable/load-preamble.js +0 -298
- package/dist/renderable/load-preamble.js.map +0 -1
- package/dist/renderable/render.d.ts +0 -61
- package/dist/renderable/render.d.ts.map +0 -1
- package/dist/renderable/render.js +0 -346
- package/dist/renderable/render.js.map +0 -1
- package/dist/renderable/schema.d.ts +0 -194
- package/dist/renderable/schema.d.ts.map +0 -1
- package/dist/renderable/schema.js +0 -197
- package/dist/renderable/schema.js.map +0 -1
- package/dist/renderable/utils.d.ts +0 -146
- package/dist/renderable/utils.d.ts.map +0 -1
- package/dist/renderable/utils.js +0 -362
- package/dist/renderable/utils.js.map +0 -1
- package/dist/scanner/ast-parser.d.ts +0 -75
- package/dist/scanner/ast-parser.d.ts.map +0 -1
- package/dist/scanner/ast-parser.js +0 -835
- package/dist/scanner/ast-parser.js.map +0 -1
- package/dist/scanner/gherkin-ast-parser.d.ts +0 -166
- package/dist/scanner/gherkin-ast-parser.d.ts.map +0 -1
- package/dist/scanner/gherkin-ast-parser.js +0 -507
- package/dist/scanner/gherkin-ast-parser.js.map +0 -1
- package/dist/scanner/gherkin-scanner.d.ts +0 -106
- package/dist/scanner/gherkin-scanner.d.ts.map +0 -1
- package/dist/scanner/gherkin-scanner.js +0 -149
- package/dist/scanner/gherkin-scanner.js.map +0 -1
- package/dist/scanner/index.d.ts +0 -85
- package/dist/scanner/index.d.ts.map +0 -1
- package/dist/scanner/index.js +0 -102
- package/dist/scanner/index.js.map +0 -1
- package/dist/scanner/pattern-scanner.d.ts +0 -83
- package/dist/scanner/pattern-scanner.d.ts.map +0 -1
- package/dist/scanner/pattern-scanner.js +0 -110
- package/dist/scanner/pattern-scanner.js.map +0 -1
- package/dist/taxonomy/categories.d.ts +0 -47
- package/dist/taxonomy/categories.d.ts.map +0 -1
- package/dist/taxonomy/categories.js +0 -175
- package/dist/taxonomy/categories.js.map +0 -1
- package/dist/taxonomy/claude-section-values.d.ts +0 -12
- package/dist/taxonomy/claude-section-values.d.ts.map +0 -1
- package/dist/taxonomy/claude-section-values.js +0 -17
- package/dist/taxonomy/claude-section-values.js.map +0 -1
- package/dist/taxonomy/conventions.d.ts +0 -13
- package/dist/taxonomy/conventions.d.ts.map +0 -1
- package/dist/taxonomy/conventions.js +0 -27
- package/dist/taxonomy/conventions.js.map +0 -1
- package/dist/taxonomy/deliverable-status.d.ts +0 -99
- package/dist/taxonomy/deliverable-status.d.ts.map +0 -1
- package/dist/taxonomy/deliverable-status.js +0 -131
- package/dist/taxonomy/deliverable-status.js.map +0 -1
- package/dist/taxonomy/format-types.d.ts +0 -17
- package/dist/taxonomy/format-types.d.ts.map +0 -1
- package/dist/taxonomy/format-types.js +0 -23
- package/dist/taxonomy/format-types.js.map +0 -1
- package/dist/taxonomy/generator-options.d.ts +0 -67
- package/dist/taxonomy/generator-options.d.ts.map +0 -1
- package/dist/taxonomy/generator-options.js +0 -75
- package/dist/taxonomy/generator-options.js.map +0 -1
- package/dist/taxonomy/hierarchy-levels.d.ts +0 -23
- package/dist/taxonomy/hierarchy-levels.d.ts.map +0 -1
- package/dist/taxonomy/hierarchy-levels.js +0 -22
- package/dist/taxonomy/hierarchy-levels.js.map +0 -1
- package/dist/taxonomy/index.d.ts +0 -35
- package/dist/taxonomy/index.d.ts.map +0 -1
- package/dist/taxonomy/index.js +0 -56
- package/dist/taxonomy/index.js.map +0 -1
- package/dist/taxonomy/layer-types.d.ts +0 -22
- package/dist/taxonomy/layer-types.d.ts.map +0 -1
- package/dist/taxonomy/layer-types.js +0 -28
- package/dist/taxonomy/layer-types.js.map +0 -1
- package/dist/taxonomy/normalized-status.d.ts +0 -99
- package/dist/taxonomy/normalized-status.d.ts.map +0 -1
- package/dist/taxonomy/normalized-status.js +0 -113
- package/dist/taxonomy/normalized-status.js.map +0 -1
- package/dist/taxonomy/registry-builder.d.ts +0 -104
- package/dist/taxonomy/registry-builder.d.ts.map +0 -1
- package/dist/taxonomy/registry-builder.js +0 -561
- package/dist/taxonomy/registry-builder.js.map +0 -1
- package/dist/taxonomy/risk-levels.d.ts +0 -16
- package/dist/taxonomy/risk-levels.d.ts.map +0 -1
- package/dist/taxonomy/risk-levels.js +0 -15
- package/dist/taxonomy/risk-levels.js.map +0 -1
- package/dist/taxonomy/severity-types.d.ts +0 -6
- package/dist/taxonomy/severity-types.d.ts.map +0 -1
- package/dist/taxonomy/severity-types.js +0 -5
- package/dist/taxonomy/severity-types.js.map +0 -1
- package/dist/taxonomy/status-values.d.ts +0 -39
- package/dist/taxonomy/status-values.d.ts.map +0 -1
- package/dist/taxonomy/status-values.js +0 -42
- package/dist/taxonomy/status-values.js.map +0 -1
- package/dist/types/branded.d.ts +0 -89
- package/dist/types/branded.d.ts.map +0 -1
- package/dist/types/branded.js +0 -57
- package/dist/types/branded.js.map +0 -1
- package/dist/types/errors.d.ts +0 -342
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -251
- package/dist/types/errors.js.map +0 -1
- package/dist/types/index.d.ts +0 -41
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -5
- package/dist/types/index.js.map +0 -1
- package/dist/types/result.d.ts +0 -78
- package/dist/types/result.d.ts.map +0 -1
- package/dist/types/result.js +0 -78
- package/dist/types/result.js.map +0 -1
- package/dist/utils/collection-utils.d.ts +0 -49
- package/dist/utils/collection-utils.d.ts.map +0 -1
- package/dist/utils/collection-utils.js +0 -58
- package/dist/utils/collection-utils.js.map +0 -1
- package/dist/utils/id-utils.d.ts +0 -46
- package/dist/utils/id-utils.d.ts.map +0 -1
- package/dist/utils/id-utils.js +0 -51
- package/dist/utils/id-utils.js.map +0 -1
- package/dist/utils/index.d.ts +0 -21
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -21
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -150
- package/dist/utils/string-utils.d.ts.map +0 -1
- package/dist/utils/string-utils.js +0 -281
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/validation/anti-patterns.d.ts +0 -134
- package/dist/validation/anti-patterns.d.ts.map +0 -1
- package/dist/validation/anti-patterns.js +0 -307
- package/dist/validation/anti-patterns.js.map +0 -1
- package/dist/validation/dod-validator.d.ts +0 -94
- package/dist/validation/dod-validator.d.ts.map +0 -1
- package/dist/validation/dod-validator.js +0 -198
- package/dist/validation/dod-validator.js.map +0 -1
- package/dist/validation/fsm/index.d.ts +0 -59
- package/dist/validation/fsm/index.d.ts.map +0 -1
- package/dist/validation/fsm/index.js +0 -64
- package/dist/validation/fsm/index.js.map +0 -1
- package/dist/validation/fsm/states.d.ts +0 -93
- package/dist/validation/fsm/states.d.ts.map +0 -1
- package/dist/validation/fsm/states.js +0 -98
- package/dist/validation/fsm/states.js.map +0 -1
- package/dist/validation/fsm/transitions.d.ts +0 -100
- package/dist/validation/fsm/transitions.d.ts.map +0 -1
- package/dist/validation/fsm/transitions.js +0 -122
- package/dist/validation/fsm/transitions.js.map +0 -1
- package/dist/validation/fsm/validator.d.ts +0 -163
- package/dist/validation/fsm/validator.d.ts.map +0 -1
- package/dist/validation/fsm/validator.js +0 -205
- package/dist/validation/fsm/validator.js.map +0 -1
- package/dist/validation/index.d.ts +0 -23
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -25
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/types.d.ts +0 -136
- package/dist/validation/types.d.ts.map +0 -1
- package/dist/validation/types.js +0 -56
- package/dist/validation/types.js.map +0 -1
- package/dist/validation-schemas/codec-utils.d.ts +0 -188
- package/dist/validation-schemas/codec-utils.d.ts.map +0 -1
- package/dist/validation-schemas/codec-utils.js +0 -258
- package/dist/validation-schemas/codec-utils.js.map +0 -1
- package/dist/validation-schemas/config.d.ts +0 -99
- package/dist/validation-schemas/config.d.ts.map +0 -1
- package/dist/validation-schemas/config.js +0 -178
- package/dist/validation-schemas/config.js.map +0 -1
- package/dist/validation-schemas/doc-directive.d.ts +0 -195
- package/dist/validation-schemas/doc-directive.d.ts.map +0 -1
- package/dist/validation-schemas/doc-directive.js +0 -239
- package/dist/validation-schemas/doc-directive.js.map +0 -1
- package/dist/validation-schemas/dual-source.d.ts +0 -167
- package/dist/validation-schemas/dual-source.d.ts.map +0 -1
- package/dist/validation-schemas/dual-source.js +0 -168
- package/dist/validation-schemas/dual-source.js.map +0 -1
- package/dist/validation-schemas/export-info.d.ts +0 -53
- package/dist/validation-schemas/export-info.d.ts.map +0 -1
- package/dist/validation-schemas/export-info.js +0 -101
- package/dist/validation-schemas/export-info.js.map +0 -1
- package/dist/validation-schemas/extracted-pattern.d.ts +0 -351
- package/dist/validation-schemas/extracted-pattern.d.ts.map +0 -1
- package/dist/validation-schemas/extracted-pattern.js +0 -459
- package/dist/validation-schemas/extracted-pattern.js.map +0 -1
- package/dist/validation-schemas/extracted-shape.d.ts +0 -200
- package/dist/validation-schemas/extracted-shape.d.ts.map +0 -1
- package/dist/validation-schemas/extracted-shape.js +0 -182
- package/dist/validation-schemas/extracted-shape.js.map +0 -1
- package/dist/validation-schemas/feature.d.ts +0 -554
- package/dist/validation-schemas/feature.d.ts.map +0 -1
- package/dist/validation-schemas/feature.js +0 -262
- package/dist/validation-schemas/feature.js.map +0 -1
- package/dist/validation-schemas/index.d.ts +0 -15
- package/dist/validation-schemas/index.d.ts.map +0 -1
- package/dist/validation-schemas/index.js +0 -32
- package/dist/validation-schemas/index.js.map +0 -1
- package/dist/validation-schemas/lint.d.ts +0 -46
- package/dist/validation-schemas/lint.d.ts.map +0 -1
- package/dist/validation-schemas/lint.js +0 -45
- package/dist/validation-schemas/lint.js.map +0 -1
- package/dist/validation-schemas/master-dataset.d.ts +0 -8299
- package/dist/validation-schemas/master-dataset.d.ts.map +0 -1
- package/dist/validation-schemas/master-dataset.js +0 -275
- package/dist/validation-schemas/master-dataset.js.map +0 -1
- package/dist/validation-schemas/output-schemas.d.ts +0 -183
- package/dist/validation-schemas/output-schemas.d.ts.map +0 -1
- package/dist/validation-schemas/output-schemas.js +0 -149
- package/dist/validation-schemas/output-schemas.js.map +0 -1
- package/dist/validation-schemas/scenario-ref.d.ts +0 -80
- package/dist/validation-schemas/scenario-ref.d.ts.map +0 -1
- package/dist/validation-schemas/scenario-ref.js +0 -73
- package/dist/validation-schemas/scenario-ref.js.map +0 -1
- package/dist/validation-schemas/tag-registry.d.ts +0 -210
- package/dist/validation-schemas/tag-registry.d.ts.map +0 -1
- package/dist/validation-schemas/tag-registry.js +0 -248
- package/dist/validation-schemas/tag-registry.js.map +0 -1
- package/dist/validation-schemas/workflow-config.d.ts +0 -125
- package/dist/validation-schemas/workflow-config.d.ts.map +0 -1
- package/dist/validation-schemas/workflow-config.js +0 -138
- package/dist/validation-schemas/workflow-config.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-validation
|
|
4
|
-
* @architect-pattern DoDValidationTypes
|
|
5
|
-
* @architect-status completed
|
|
6
|
-
* @architect-used-by DoDValidator, AntiPatternDetector
|
|
7
|
-
* @architect-extract-shapes AntiPatternId, AntiPatternViolation, AntiPatternThresholds, AntiPatternThresholdsSchema, DEFAULT_THRESHOLDS, DoDValidationResult, DoDValidationSummary, getPhaseStatusEmoji, WithTagRegistry
|
|
8
|
-
*
|
|
9
|
-
* ## DoDValidationTypes - Type Definitions for DoD Validation
|
|
10
|
-
*
|
|
11
|
-
* Types and schemas for Definition of Done (DoD) validation and anti-pattern detection.
|
|
12
|
-
* Follows the project's schema-first pattern with Zod for runtime validation.
|
|
13
|
-
*
|
|
14
|
-
* ### When to Use
|
|
15
|
-
*
|
|
16
|
-
* - When implementing DoD validation logic
|
|
17
|
-
* - When extending anti-pattern detection rules
|
|
18
|
-
* - When consuming validation results in CLI or reports
|
|
19
|
-
*/
|
|
20
|
-
import { z } from 'zod';
|
|
21
|
-
import type { Deliverable } from '../validation-schemas/dual-source.js';
|
|
22
|
-
import type { TagRegistry } from '../validation-schemas/tag-registry.js';
|
|
23
|
-
/**
|
|
24
|
-
* Base interface for options that accept a TagRegistry for prefix-aware behavior.
|
|
25
|
-
*
|
|
26
|
-
* Many validation functions need to be aware of the configured tag prefix
|
|
27
|
-
* (e.g., "@architect-" vs "@acme-"). This interface provides a consistent
|
|
28
|
-
* way to pass that configuration.
|
|
29
|
-
*
|
|
30
|
-
* ### When to Use
|
|
31
|
-
*
|
|
32
|
-
* Extend this interface when creating options for functions that:
|
|
33
|
-
* - Generate error messages referencing tag names
|
|
34
|
-
* - Detect tags in source code
|
|
35
|
-
* - Validate tag formats
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* export interface MyValidationOptions extends WithTagRegistry {
|
|
40
|
-
* readonly strict?: boolean;
|
|
41
|
-
* }
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export interface WithTagRegistry {
|
|
45
|
-
/** Tag registry for prefix-aware behavior (defaults to @architect- if not provided) */
|
|
46
|
-
readonly registry?: TagRegistry;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Anti-pattern rule identifiers
|
|
50
|
-
*
|
|
51
|
-
* Each ID corresponds to a specific violation of the dual-source
|
|
52
|
-
* documentation architecture or process hygiene.
|
|
53
|
-
*/
|
|
54
|
-
export type AntiPatternId = 'tag-duplication' | 'process-in-code' | 'magic-comments' | 'scenario-bloat' | 'mega-feature';
|
|
55
|
-
/**
|
|
56
|
-
* Zod schema for anti-pattern thresholds
|
|
57
|
-
*
|
|
58
|
-
* Configurable limits for detecting anti-patterns.
|
|
59
|
-
*/
|
|
60
|
-
export declare const AntiPatternThresholdsSchema: z.ZodObject<{
|
|
61
|
-
scenarioBloatThreshold: z.ZodDefault<z.ZodNumber>;
|
|
62
|
-
megaFeatureLineThreshold: z.ZodDefault<z.ZodNumber>;
|
|
63
|
-
magicCommentThreshold: z.ZodDefault<z.ZodNumber>;
|
|
64
|
-
}, z.core.$strip>;
|
|
65
|
-
export type AntiPatternThresholds = z.infer<typeof AntiPatternThresholdsSchema>;
|
|
66
|
-
/**
|
|
67
|
-
* Default thresholds for anti-pattern detection
|
|
68
|
-
*/
|
|
69
|
-
export declare const DEFAULT_THRESHOLDS: AntiPatternThresholds;
|
|
70
|
-
/**
|
|
71
|
-
* Anti-pattern detection result
|
|
72
|
-
*
|
|
73
|
-
* Reports a specific anti-pattern violation with context
|
|
74
|
-
* for remediation.
|
|
75
|
-
*/
|
|
76
|
-
export interface AntiPatternViolation {
|
|
77
|
-
/** Anti-pattern identifier */
|
|
78
|
-
readonly id: AntiPatternId;
|
|
79
|
-
/** Human-readable description */
|
|
80
|
-
readonly message: string;
|
|
81
|
-
/** File where violation was found */
|
|
82
|
-
readonly file: string;
|
|
83
|
-
/** Line number (if applicable) */
|
|
84
|
-
readonly line?: number;
|
|
85
|
-
/** Severity (error = architectural violation, warning = hygiene issue) */
|
|
86
|
-
readonly severity: 'error' | 'warning';
|
|
87
|
-
/** Fix guidance */
|
|
88
|
-
readonly fix?: string;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* DoD validation result for a single phase/pattern
|
|
92
|
-
*
|
|
93
|
-
* Reports whether a completed phase meets Definition of Done criteria:
|
|
94
|
-
* 1. All deliverables must have "complete" status
|
|
95
|
-
* 2. At least one @acceptance-criteria scenario must exist
|
|
96
|
-
*/
|
|
97
|
-
export interface DoDValidationResult {
|
|
98
|
-
/** Pattern name being validated */
|
|
99
|
-
readonly patternName: string;
|
|
100
|
-
/** Phase number being validated */
|
|
101
|
-
readonly phase: number;
|
|
102
|
-
/** True if all DoD criteria are met */
|
|
103
|
-
readonly isDoDMet: boolean;
|
|
104
|
-
/** All deliverables from Background table */
|
|
105
|
-
readonly deliverables: readonly Deliverable[];
|
|
106
|
-
/** Deliverables that are not yet complete */
|
|
107
|
-
readonly incompleteDeliverables: readonly Deliverable[];
|
|
108
|
-
/** True if no @acceptance-criteria scenarios found */
|
|
109
|
-
readonly missingAcceptanceCriteria: boolean;
|
|
110
|
-
/** Human-readable validation messages */
|
|
111
|
-
readonly messages: readonly string[];
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Aggregate DoD validation summary
|
|
115
|
-
*
|
|
116
|
-
* Summarizes validation across multiple phases for CLI output.
|
|
117
|
-
*/
|
|
118
|
-
export interface DoDValidationSummary {
|
|
119
|
-
/** Per-phase validation results */
|
|
120
|
-
readonly results: readonly DoDValidationResult[];
|
|
121
|
-
/** Total phases validated */
|
|
122
|
-
readonly totalPhases: number;
|
|
123
|
-
/** Phases that passed DoD */
|
|
124
|
-
readonly passedPhases: number;
|
|
125
|
-
/** Phases that failed DoD */
|
|
126
|
-
readonly failedPhases: number;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get status emoji for phase-level aggregates.
|
|
130
|
-
*
|
|
131
|
-
* @param allComplete - Whether all patterns in the phase are complete
|
|
132
|
-
* @param anyActive - Whether any patterns in the phase are active/in-progress
|
|
133
|
-
* @returns Status emoji: ✅ if all complete, 🚧 if any active, 📋 otherwise
|
|
134
|
-
*/
|
|
135
|
-
export declare function getPhaseStatusEmoji(allComplete: boolean, anyActive: boolean): string;
|
|
136
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAMzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;CACjC;AAMD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,qBAIhC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,mBAAmB;IACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,6CAA6C;IAC7C,QAAQ,CAAC,sBAAsB,EAAE,SAAS,WAAW,EAAE,CAAC;IACxD,sDAAsD;IACtD,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,6BAA6B;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAIpF"}
|
package/dist/validation/types.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-validation
|
|
4
|
-
* @architect-pattern DoDValidationTypes
|
|
5
|
-
* @architect-status completed
|
|
6
|
-
* @architect-used-by DoDValidator, AntiPatternDetector
|
|
7
|
-
* @architect-extract-shapes AntiPatternId, AntiPatternViolation, AntiPatternThresholds, AntiPatternThresholdsSchema, DEFAULT_THRESHOLDS, DoDValidationResult, DoDValidationSummary, getPhaseStatusEmoji, WithTagRegistry
|
|
8
|
-
*
|
|
9
|
-
* ## DoDValidationTypes - Type Definitions for DoD Validation
|
|
10
|
-
*
|
|
11
|
-
* Types and schemas for Definition of Done (DoD) validation and anti-pattern detection.
|
|
12
|
-
* Follows the project's schema-first pattern with Zod for runtime validation.
|
|
13
|
-
*
|
|
14
|
-
* ### When to Use
|
|
15
|
-
*
|
|
16
|
-
* - When implementing DoD validation logic
|
|
17
|
-
* - When extending anti-pattern detection rules
|
|
18
|
-
* - When consuming validation results in CLI or reports
|
|
19
|
-
*/
|
|
20
|
-
import { z } from 'zod';
|
|
21
|
-
/**
|
|
22
|
-
* Zod schema for anti-pattern thresholds
|
|
23
|
-
*
|
|
24
|
-
* Configurable limits for detecting anti-patterns.
|
|
25
|
-
*/
|
|
26
|
-
export const AntiPatternThresholdsSchema = z.object({
|
|
27
|
-
/** Maximum scenarios per feature file before warning */
|
|
28
|
-
scenarioBloatThreshold: z.number().int().positive().default(30),
|
|
29
|
-
/** Maximum lines per feature file before warning */
|
|
30
|
-
megaFeatureLineThreshold: z.number().int().positive().default(750),
|
|
31
|
-
/** Maximum magic comments before warning */
|
|
32
|
-
magicCommentThreshold: z.number().int().positive().default(5),
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Default thresholds for anti-pattern detection
|
|
36
|
-
*/
|
|
37
|
-
export const DEFAULT_THRESHOLDS = {
|
|
38
|
-
scenarioBloatThreshold: 30,
|
|
39
|
-
megaFeatureLineThreshold: 750,
|
|
40
|
-
magicCommentThreshold: 5,
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Get status emoji for phase-level aggregates.
|
|
44
|
-
*
|
|
45
|
-
* @param allComplete - Whether all patterns in the phase are complete
|
|
46
|
-
* @param anyActive - Whether any patterns in the phase are active/in-progress
|
|
47
|
-
* @returns Status emoji: ✅ if all complete, 🚧 if any active, 📋 otherwise
|
|
48
|
-
*/
|
|
49
|
-
export function getPhaseStatusEmoji(allComplete, anyActive) {
|
|
50
|
-
if (allComplete)
|
|
51
|
-
return '✅';
|
|
52
|
-
if (anyActive)
|
|
53
|
-
return '🚧';
|
|
54
|
-
return '📋';
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmDxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,wDAAwD;IACxD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,oDAAoD;IACpD,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,4CAA4C;IAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CAC9D,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,sBAAsB,EAAE,EAAE;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AA+DF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAoB,EAAE,SAAkB;IAC1E,IAAI,WAAW;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-validation @architect-core
|
|
4
|
-
* @architect-pattern CodecUtils
|
|
5
|
-
* @architect-status completed
|
|
6
|
-
* @architect-uses Zod
|
|
7
|
-
* @architect-used-by WorkflowLoader, Orchestrator
|
|
8
|
-
* @architect-usecase "When loading JSON config files with type-safe validation"
|
|
9
|
-
* @architect-usecase "When serializing typed objects to formatted JSON"
|
|
10
|
-
*
|
|
11
|
-
* ## CodecUtils - Type-Safe JSON Codec Factories
|
|
12
|
-
*
|
|
13
|
-
* Provides factory functions for creating type-safe JSON parsing and serialization
|
|
14
|
-
* pipelines using Zod schemas. Replaces manual JSON.parse/stringify with single-step
|
|
15
|
-
* validated operations.
|
|
16
|
-
*
|
|
17
|
-
* ### When to Use
|
|
18
|
-
*
|
|
19
|
-
* - Use when loading JSON configuration files
|
|
20
|
-
* - Use when writing JSON output files with schema validation
|
|
21
|
-
* - Use when you want better error messages with file path context
|
|
22
|
-
*
|
|
23
|
-
* ### Key Concepts
|
|
24
|
-
*
|
|
25
|
-
* - **Input Codec**: Parses JSON string → validates → returns typed object
|
|
26
|
-
* - **Output Codec**: Validates object → serializes → returns formatted JSON string
|
|
27
|
-
* - **Error Context**: Adds file path and validation details to error messages
|
|
28
|
-
*/
|
|
29
|
-
import type { ZodType } from 'zod';
|
|
30
|
-
import type { Result } from '../types/index.js';
|
|
31
|
-
/**
|
|
32
|
-
* Error details for codec operations
|
|
33
|
-
*/
|
|
34
|
-
export interface CodecError {
|
|
35
|
-
/** Error type identifier */
|
|
36
|
-
type: 'codec-error';
|
|
37
|
-
/** Operation that failed: 'parse' or 'serialize' */
|
|
38
|
-
operation: 'parse' | 'serialize';
|
|
39
|
-
/** Optional source identifier (file path, URL, etc.) */
|
|
40
|
-
source?: string | undefined;
|
|
41
|
-
/** Human-readable error message */
|
|
42
|
-
message: string;
|
|
43
|
-
/** Detailed validation errors if schema validation failed */
|
|
44
|
-
validationErrors?: string[] | undefined;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* JSON Input Codec - parses and validates JSON strings
|
|
48
|
-
*
|
|
49
|
-
* Combines JSON.parse and Zod schema validation into a single operation.
|
|
50
|
-
*/
|
|
51
|
-
export interface JsonInputCodec<T> {
|
|
52
|
-
/**
|
|
53
|
-
* Parse JSON string to typed object
|
|
54
|
-
*
|
|
55
|
-
* @param content - JSON string to parse
|
|
56
|
-
* @param source - Optional source identifier for error messages
|
|
57
|
-
* @returns Result with typed value or error
|
|
58
|
-
*/
|
|
59
|
-
parse(content: string, source?: string): Result<T, CodecError>;
|
|
60
|
-
/**
|
|
61
|
-
* Safely parse JSON, returning undefined on failure
|
|
62
|
-
*
|
|
63
|
-
* @param content - JSON string to parse
|
|
64
|
-
* @returns Typed value or undefined
|
|
65
|
-
*/
|
|
66
|
-
safeParse(content: string): T | undefined;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* JSON Output Codec - validates and serializes objects to JSON
|
|
70
|
-
*
|
|
71
|
-
* Combines Zod validation and JSON.stringify into a single operation.
|
|
72
|
-
*/
|
|
73
|
-
export interface JsonOutputCodec<T> {
|
|
74
|
-
/**
|
|
75
|
-
* Serialize typed object to JSON string
|
|
76
|
-
*
|
|
77
|
-
* @param data - Object to serialize
|
|
78
|
-
* @param source - Optional source identifier for error messages
|
|
79
|
-
* @returns Result with JSON string or error
|
|
80
|
-
*/
|
|
81
|
-
serialize(data: T, source?: string): Result<string, CodecError>;
|
|
82
|
-
/**
|
|
83
|
-
* Serialize with options
|
|
84
|
-
*
|
|
85
|
-
* @param data - Object to serialize
|
|
86
|
-
* @param options - Serialization options
|
|
87
|
-
* @returns Result with JSON string or error
|
|
88
|
-
*/
|
|
89
|
-
serializeWithOptions(data: T, options: {
|
|
90
|
-
indent?: number | undefined;
|
|
91
|
-
source?: string | undefined;
|
|
92
|
-
}): Result<string, CodecError>;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create a JSON input codec from a Zod schema
|
|
96
|
-
*
|
|
97
|
-
* The codec handles:
|
|
98
|
-
* - JSON parsing with syntax error handling
|
|
99
|
-
* - Zod schema validation
|
|
100
|
-
* - $schema field stripping (for JSON Schema references)
|
|
101
|
-
* - Detailed error messages with source context
|
|
102
|
-
*
|
|
103
|
-
* @param schema - Zod schema to validate against
|
|
104
|
-
* @returns JsonInputCodec instance
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* ```typescript
|
|
108
|
-
* const WorkflowCodec = createJsonInputCodec(WorkflowConfigSchema);
|
|
109
|
-
*
|
|
110
|
-
* // Load and validate in one step
|
|
111
|
-
* const content = await fs.readFile("workflow.json", "utf-8");
|
|
112
|
-
* const result = WorkflowCodec.parse(content, "workflow.json");
|
|
113
|
-
*
|
|
114
|
-
* if (result.ok) {
|
|
115
|
-
* // result.value is typed as WorkflowConfig
|
|
116
|
-
* console.log(result.value.name);
|
|
117
|
-
* } else {
|
|
118
|
-
* console.error(result.error.message);
|
|
119
|
-
* }
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
export declare function createJsonInputCodec<T>(schema: ZodType<T>): JsonInputCodec<T>;
|
|
123
|
-
/**
|
|
124
|
-
* Create a JSON output codec from a Zod schema
|
|
125
|
-
*
|
|
126
|
-
* The codec handles:
|
|
127
|
-
* - Zod schema validation before serialization
|
|
128
|
-
* - Formatted JSON output with configurable indentation
|
|
129
|
-
* - Detailed error messages with source context
|
|
130
|
-
*
|
|
131
|
-
* @param schema - Zod schema to validate against
|
|
132
|
-
* @param defaultIndent - Default indentation spaces (default: 2)
|
|
133
|
-
* @returns JsonOutputCodec instance
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* ```typescript
|
|
137
|
-
* const RegistryCodec = createJsonOutputCodec(PatternRegistrySchema);
|
|
138
|
-
*
|
|
139
|
-
* const registry = { patterns: [...], metadata: {...} };
|
|
140
|
-
* const result = RegistryCodec.serialize(registry, "registry.json");
|
|
141
|
-
*
|
|
142
|
-
* if (result.ok) {
|
|
143
|
-
* await fs.writeFile("registry.json", result.value, "utf-8");
|
|
144
|
-
* }
|
|
145
|
-
* ```
|
|
146
|
-
*/
|
|
147
|
-
export declare function createJsonOutputCodec<T>(schema: ZodType<T>, defaultIndent?: number): JsonOutputCodec<T>;
|
|
148
|
-
/**
|
|
149
|
-
* Format codec error for console display
|
|
150
|
-
*
|
|
151
|
-
* @param error - Codec error
|
|
152
|
-
* @returns Formatted error message
|
|
153
|
-
*
|
|
154
|
-
* @example
|
|
155
|
-
* ```typescript
|
|
156
|
-
* const result = codec.parse(content, "config.json");
|
|
157
|
-
* if (!result.ok) {
|
|
158
|
-
* console.error(formatCodecError(result.error));
|
|
159
|
-
* process.exit(1);
|
|
160
|
-
* }
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
export declare function formatCodecError(error: CodecError): string;
|
|
164
|
-
/**
|
|
165
|
-
* Create a file loader that uses a codec for validation
|
|
166
|
-
*
|
|
167
|
-
* Combines file reading with codec parsing for a complete loading pipeline.
|
|
168
|
-
* This is a helper for the common pattern of reading a file and parsing it.
|
|
169
|
-
*
|
|
170
|
-
* @param codec - JsonInputCodec to use for parsing
|
|
171
|
-
* @param readFile - File reading function (e.g., fs.readFile)
|
|
172
|
-
* @returns Async function that loads and parses a file
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* import * as fs from "fs/promises";
|
|
177
|
-
*
|
|
178
|
-
* const WorkflowCodec = createJsonInputCodec(WorkflowConfigSchema);
|
|
179
|
-
* const loadWorkflow = createFileLoader(WorkflowCodec, (p) => fs.readFile(p, "utf-8"));
|
|
180
|
-
*
|
|
181
|
-
* const result = await loadWorkflow("config/workflow.json");
|
|
182
|
-
* if (result.ok) {
|
|
183
|
-
* console.log(result.value.phases);
|
|
184
|
-
* }
|
|
185
|
-
* ```
|
|
186
|
-
*/
|
|
187
|
-
export declare function createFileLoader<T>(codec: JsonInputCodec<T>, readFile: (path: string) => Promise<string>): (path: string) => Promise<Result<T, CodecError>>;
|
|
188
|
-
//# sourceMappingURL=codec-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-utils.d.ts","sourceRoot":"","sources":["../../src/validation-schemas/codec-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,KAAK,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEhE;;;;;;OAMG;IACH,oBAAoB,CAClB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACpE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC/B;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CA6C7E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,aAAa,SAAI,GAChB,eAAe,CAAC,CAAC,CAAC,CA6CpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAS1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC1C,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAqClD"}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-validation @architect-core
|
|
4
|
-
* @architect-pattern CodecUtils
|
|
5
|
-
* @architect-status completed
|
|
6
|
-
* @architect-uses Zod
|
|
7
|
-
* @architect-used-by WorkflowLoader, Orchestrator
|
|
8
|
-
* @architect-usecase "When loading JSON config files with type-safe validation"
|
|
9
|
-
* @architect-usecase "When serializing typed objects to formatted JSON"
|
|
10
|
-
*
|
|
11
|
-
* ## CodecUtils - Type-Safe JSON Codec Factories
|
|
12
|
-
*
|
|
13
|
-
* Provides factory functions for creating type-safe JSON parsing and serialization
|
|
14
|
-
* pipelines using Zod schemas. Replaces manual JSON.parse/stringify with single-step
|
|
15
|
-
* validated operations.
|
|
16
|
-
*
|
|
17
|
-
* ### When to Use
|
|
18
|
-
*
|
|
19
|
-
* - Use when loading JSON configuration files
|
|
20
|
-
* - Use when writing JSON output files with schema validation
|
|
21
|
-
* - Use when you want better error messages with file path context
|
|
22
|
-
*
|
|
23
|
-
* ### Key Concepts
|
|
24
|
-
*
|
|
25
|
-
* - **Input Codec**: Parses JSON string → validates → returns typed object
|
|
26
|
-
* - **Output Codec**: Validates object → serializes → returns formatted JSON string
|
|
27
|
-
* - **Error Context**: Adds file path and validation details to error messages
|
|
28
|
-
*/
|
|
29
|
-
import { Result as R } from '../types/index.js';
|
|
30
|
-
/**
|
|
31
|
-
* Format Zod validation errors for display
|
|
32
|
-
*
|
|
33
|
-
* @param error - Zod error object
|
|
34
|
-
* @returns Array of formatted error strings
|
|
35
|
-
*/
|
|
36
|
-
function formatZodErrors(error) {
|
|
37
|
-
return error.issues.map((issue) => {
|
|
38
|
-
const pathStr = issue.path.length > 0 ? issue.path.join('.') : '(root)';
|
|
39
|
-
return ` - ${pathStr}: ${issue.message}`;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Create a JSON input codec from a Zod schema
|
|
44
|
-
*
|
|
45
|
-
* The codec handles:
|
|
46
|
-
* - JSON parsing with syntax error handling
|
|
47
|
-
* - Zod schema validation
|
|
48
|
-
* - $schema field stripping (for JSON Schema references)
|
|
49
|
-
* - Detailed error messages with source context
|
|
50
|
-
*
|
|
51
|
-
* @param schema - Zod schema to validate against
|
|
52
|
-
* @returns JsonInputCodec instance
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
|
-
* ```typescript
|
|
56
|
-
* const WorkflowCodec = createJsonInputCodec(WorkflowConfigSchema);
|
|
57
|
-
*
|
|
58
|
-
* // Load and validate in one step
|
|
59
|
-
* const content = await fs.readFile("workflow.json", "utf-8");
|
|
60
|
-
* const result = WorkflowCodec.parse(content, "workflow.json");
|
|
61
|
-
*
|
|
62
|
-
* if (result.ok) {
|
|
63
|
-
* // result.value is typed as WorkflowConfig
|
|
64
|
-
* console.log(result.value.name);
|
|
65
|
-
* } else {
|
|
66
|
-
* console.error(result.error.message);
|
|
67
|
-
* }
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
export function createJsonInputCodec(schema) {
|
|
71
|
-
return {
|
|
72
|
-
parse(content, source) {
|
|
73
|
-
// Step 1: Parse JSON
|
|
74
|
-
let data;
|
|
75
|
-
try {
|
|
76
|
-
data = JSON.parse(content);
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
const message = e instanceof Error ? e.message : String(e);
|
|
80
|
-
return R.err({
|
|
81
|
-
type: 'codec-error',
|
|
82
|
-
operation: 'parse',
|
|
83
|
-
source,
|
|
84
|
-
message: source ? `Invalid JSON in ${source}: ${message}` : `Invalid JSON: ${message}`,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
// Step 2: Strip $schema field if present (JSON Schema references)
|
|
88
|
-
const configData = typeof data === 'object' && data !== null && '$schema' in data
|
|
89
|
-
? (({ $schema: _, ...rest }) => rest)(data)
|
|
90
|
-
: data;
|
|
91
|
-
// Step 3: Validate with Zod
|
|
92
|
-
const parseResult = schema.safeParse(configData);
|
|
93
|
-
if (!parseResult.success) {
|
|
94
|
-
const validationErrors = formatZodErrors(parseResult.error);
|
|
95
|
-
return R.err({
|
|
96
|
-
type: 'codec-error',
|
|
97
|
-
operation: 'parse',
|
|
98
|
-
source,
|
|
99
|
-
message: source ? `Schema validation failed for ${source}` : 'Schema validation failed',
|
|
100
|
-
validationErrors,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
return R.ok(parseResult.data);
|
|
104
|
-
},
|
|
105
|
-
safeParse(content) {
|
|
106
|
-
const result = this.parse(content);
|
|
107
|
-
return result.ok ? result.value : undefined;
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Create a JSON output codec from a Zod schema
|
|
113
|
-
*
|
|
114
|
-
* The codec handles:
|
|
115
|
-
* - Zod schema validation before serialization
|
|
116
|
-
* - Formatted JSON output with configurable indentation
|
|
117
|
-
* - Detailed error messages with source context
|
|
118
|
-
*
|
|
119
|
-
* @param schema - Zod schema to validate against
|
|
120
|
-
* @param defaultIndent - Default indentation spaces (default: 2)
|
|
121
|
-
* @returns JsonOutputCodec instance
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```typescript
|
|
125
|
-
* const RegistryCodec = createJsonOutputCodec(PatternRegistrySchema);
|
|
126
|
-
*
|
|
127
|
-
* const registry = { patterns: [...], metadata: {...} };
|
|
128
|
-
* const result = RegistryCodec.serialize(registry, "registry.json");
|
|
129
|
-
*
|
|
130
|
-
* if (result.ok) {
|
|
131
|
-
* await fs.writeFile("registry.json", result.value, "utf-8");
|
|
132
|
-
* }
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
export function createJsonOutputCodec(schema, defaultIndent = 2) {
|
|
136
|
-
return {
|
|
137
|
-
serialize(data, source) {
|
|
138
|
-
return this.serializeWithOptions(data, { source, indent: defaultIndent });
|
|
139
|
-
},
|
|
140
|
-
serializeWithOptions(data, options = {}) {
|
|
141
|
-
const { indent = defaultIndent, source } = options;
|
|
142
|
-
// Validate before serialization
|
|
143
|
-
const parseResult = schema.safeParse(data);
|
|
144
|
-
if (!parseResult.success) {
|
|
145
|
-
const validationErrors = formatZodErrors(parseResult.error);
|
|
146
|
-
return R.err({
|
|
147
|
-
type: 'codec-error',
|
|
148
|
-
operation: 'serialize',
|
|
149
|
-
source,
|
|
150
|
-
message: source
|
|
151
|
-
? `Schema validation failed before serializing ${source}`
|
|
152
|
-
: 'Schema validation failed before serialization',
|
|
153
|
-
validationErrors,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
// Serialize to JSON
|
|
157
|
-
try {
|
|
158
|
-
const jsonString = JSON.stringify(parseResult.data, null, indent);
|
|
159
|
-
return R.ok(jsonString);
|
|
160
|
-
}
|
|
161
|
-
catch (e) {
|
|
162
|
-
const message = e instanceof Error ? e.message : String(e);
|
|
163
|
-
return R.err({
|
|
164
|
-
type: 'codec-error',
|
|
165
|
-
operation: 'serialize',
|
|
166
|
-
source,
|
|
167
|
-
message: source
|
|
168
|
-
? `JSON serialization failed for ${source}: ${message}`
|
|
169
|
-
: `JSON serialization failed: ${message}`,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Format codec error for console display
|
|
177
|
-
*
|
|
178
|
-
* @param error - Codec error
|
|
179
|
-
* @returns Formatted error message
|
|
180
|
-
*
|
|
181
|
-
* @example
|
|
182
|
-
* ```typescript
|
|
183
|
-
* const result = codec.parse(content, "config.json");
|
|
184
|
-
* if (!result.ok) {
|
|
185
|
-
* console.error(formatCodecError(result.error));
|
|
186
|
-
* process.exit(1);
|
|
187
|
-
* }
|
|
188
|
-
* ```
|
|
189
|
-
*/
|
|
190
|
-
export function formatCodecError(error) {
|
|
191
|
-
const lines = [`Codec error (${error.operation}): ${error.message}`];
|
|
192
|
-
if (error.validationErrors && error.validationErrors.length > 0) {
|
|
193
|
-
lines.push('Validation errors:');
|
|
194
|
-
lines.push(...error.validationErrors);
|
|
195
|
-
}
|
|
196
|
-
return lines.join('\n');
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Create a file loader that uses a codec for validation
|
|
200
|
-
*
|
|
201
|
-
* Combines file reading with codec parsing for a complete loading pipeline.
|
|
202
|
-
* This is a helper for the common pattern of reading a file and parsing it.
|
|
203
|
-
*
|
|
204
|
-
* @param codec - JsonInputCodec to use for parsing
|
|
205
|
-
* @param readFile - File reading function (e.g., fs.readFile)
|
|
206
|
-
* @returns Async function that loads and parses a file
|
|
207
|
-
*
|
|
208
|
-
* @example
|
|
209
|
-
* ```typescript
|
|
210
|
-
* import * as fs from "fs/promises";
|
|
211
|
-
*
|
|
212
|
-
* const WorkflowCodec = createJsonInputCodec(WorkflowConfigSchema);
|
|
213
|
-
* const loadWorkflow = createFileLoader(WorkflowCodec, (p) => fs.readFile(p, "utf-8"));
|
|
214
|
-
*
|
|
215
|
-
* const result = await loadWorkflow("config/workflow.json");
|
|
216
|
-
* if (result.ok) {
|
|
217
|
-
* console.log(result.value.phases);
|
|
218
|
-
* }
|
|
219
|
-
* ```
|
|
220
|
-
*/
|
|
221
|
-
export function createFileLoader(codec, readFile) {
|
|
222
|
-
return async (path) => {
|
|
223
|
-
try {
|
|
224
|
-
const content = await readFile(path);
|
|
225
|
-
return codec.parse(content, path);
|
|
226
|
-
}
|
|
227
|
-
catch (e) {
|
|
228
|
-
const message = e instanceof Error ? e.message : String(e);
|
|
229
|
-
// Check for common file errors
|
|
230
|
-
if (e instanceof Error && 'code' in e) {
|
|
231
|
-
const nodeError = e;
|
|
232
|
-
if (nodeError.code === 'ENOENT') {
|
|
233
|
-
return R.err({
|
|
234
|
-
type: 'codec-error',
|
|
235
|
-
operation: 'parse',
|
|
236
|
-
source: path,
|
|
237
|
-
message: `File not found: ${path}`,
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
if (nodeError.code === 'EACCES') {
|
|
241
|
-
return R.err({
|
|
242
|
-
type: 'codec-error',
|
|
243
|
-
operation: 'parse',
|
|
244
|
-
source: path,
|
|
245
|
-
message: `Permission denied: ${path}`,
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
return R.err({
|
|
250
|
-
type: 'codec-error',
|
|
251
|
-
operation: 'parse',
|
|
252
|
-
source: path,
|
|
253
|
-
message: `Failed to read file ${path}: ${message}`,
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
//# sourceMappingURL=codec-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-utils.js","sourceRoot":"","sources":["../../src/validation-schemas/codec-utils.ts"],"names":[],"mappings":"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"}
|