@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
package/dist/api/summarize.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-core
|
|
4
|
-
* @architect-pattern PatternSummarizerImpl
|
|
5
|
-
* @architect-status active
|
|
6
|
-
* @architect-implements DataAPIOutputShaping
|
|
7
|
-
* @architect-uses ProcessStateAPI
|
|
8
|
-
* @architect-used-by OutputPipeline, ProcessAPICLIImpl
|
|
9
|
-
* @architect-arch-role service
|
|
10
|
-
* @architect-arch-context api
|
|
11
|
-
* @architect-arch-layer application
|
|
12
|
-
*
|
|
13
|
-
* ## PatternSummarizer — Compact Pattern Projection
|
|
14
|
-
*
|
|
15
|
-
* Projects the full ExtractedPattern (~3.5KB per pattern) down to a
|
|
16
|
-
* PatternSummary (~100 bytes) for list queries. Reduces CLI output
|
|
17
|
-
* from ~594KB to ~4KB for typical codebases.
|
|
18
|
-
*
|
|
19
|
-
* Uses Zod schema-first pattern: PatternSummarySchema defines the type,
|
|
20
|
-
* and PatternSummary is inferred from it.
|
|
21
|
-
*
|
|
22
|
-
* **When to Use:** When projecting full ExtractedPattern data down to compact summaries for list and overview queries.
|
|
23
|
-
*/
|
|
24
|
-
import { z } from 'zod';
|
|
25
|
-
import { getPatternName } from './pattern-helpers.js';
|
|
26
|
-
// ---------------------------------------------------------------------------
|
|
27
|
-
// Schema
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
|
-
/**
|
|
30
|
-
* Compact projection of ExtractedPattern for list queries.
|
|
31
|
-
*
|
|
32
|
-
* Fields selected for maximum information density at minimum size:
|
|
33
|
-
* - patternName: identifies the pattern
|
|
34
|
-
* - status: FSM state (roadmap/active/completed/deferred)
|
|
35
|
-
* - category: domain classification
|
|
36
|
-
* - phase: roadmap phase number (for sequencing)
|
|
37
|
-
* - file: source file path (for navigation)
|
|
38
|
-
* - source: typescript or gherkin (for filtering)
|
|
39
|
-
*/
|
|
40
|
-
export const PatternSummarySchema = z.object({
|
|
41
|
-
patternName: z.string(),
|
|
42
|
-
status: z.string().optional(),
|
|
43
|
-
category: z.string(),
|
|
44
|
-
phase: z.number().int().optional(),
|
|
45
|
-
file: z.string(),
|
|
46
|
-
source: z.enum(['typescript', 'gherkin']),
|
|
47
|
-
});
|
|
48
|
-
/**
|
|
49
|
-
* Valid field names for PatternSummary, used by --fields validation.
|
|
50
|
-
*/
|
|
51
|
-
export const SUMMARY_FIELDS = new Set([
|
|
52
|
-
'patternName',
|
|
53
|
-
'status',
|
|
54
|
-
'category',
|
|
55
|
-
'phase',
|
|
56
|
-
'file',
|
|
57
|
-
'source',
|
|
58
|
-
]);
|
|
59
|
-
// ---------------------------------------------------------------------------
|
|
60
|
-
// Functions
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
/**
|
|
63
|
-
* Derive source type from file extension.
|
|
64
|
-
*/
|
|
65
|
-
export function deriveSource(filePath) {
|
|
66
|
-
return filePath.endsWith('.feature') ? 'gherkin' : 'typescript';
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Project an ExtractedPattern to a compact PatternSummary.
|
|
70
|
-
*
|
|
71
|
-
* - `patternName` prefers explicit @architect-pattern tag, falls back to `name`
|
|
72
|
-
* - `source` is derived from file extension (.feature -> gherkin, else typescript)
|
|
73
|
-
* - Optional fields (status, phase) are included when present, omitted when undefined
|
|
74
|
-
*
|
|
75
|
-
* @param pattern - Full ExtractedPattern from the pipeline
|
|
76
|
-
* @returns Compact PatternSummary (~100 bytes JSON)
|
|
77
|
-
*/
|
|
78
|
-
export function summarizePattern(pattern) {
|
|
79
|
-
return {
|
|
80
|
-
patternName: getPatternName(pattern),
|
|
81
|
-
category: pattern.category,
|
|
82
|
-
file: pattern.source.file,
|
|
83
|
-
source: deriveSource(pattern.source.file),
|
|
84
|
-
...(pattern.status !== undefined && { status: pattern.status }),
|
|
85
|
-
...(pattern.phase !== undefined && { phase: pattern.phase }),
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Project an array of ExtractedPatterns to compact summaries.
|
|
90
|
-
*
|
|
91
|
-
* @param patterns - Array of ExtractedPatterns
|
|
92
|
-
* @returns Array of PatternSummary objects
|
|
93
|
-
*/
|
|
94
|
-
export function summarizePatterns(patterns) {
|
|
95
|
-
return patterns.map(summarizePattern);
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=summarize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../src/api/summarize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;CAC1C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,aAAa;IACb,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;QACzB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAqC;IAErC,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-pattern FileCache
|
|
4
|
-
* @architect-status active
|
|
5
|
-
* @architect-arch-role infrastructure
|
|
6
|
-
* @architect-arch-context generator
|
|
7
|
-
* @architect-arch-layer infrastructure
|
|
8
|
-
*
|
|
9
|
-
* ## File Cache - Request-Scoped Content Caching
|
|
10
|
-
*
|
|
11
|
-
* Simple Map-based cache for file contents during a single generation run.
|
|
12
|
-
* Avoids repeated disk reads for files accessed multiple times during
|
|
13
|
-
* extraction and deduplication phases.
|
|
14
|
-
*
|
|
15
|
-
* ### Design Rationale
|
|
16
|
-
*
|
|
17
|
-
* - **Request-scoped**: Created fresh per orchestrator run, naturally cleared when done
|
|
18
|
-
* - **No eviction needed**: Generation runs are bounded in duration and file count
|
|
19
|
-
* - **Thread-safe**: Single-threaded Node.js, no locking required
|
|
20
|
-
* - **Stats tracking**: Optional hit/miss tracking for performance analysis
|
|
21
|
-
*
|
|
22
|
-
* **When to Use:** When a generation run reads the same file multiple times — create a cache instance per orchestrator run.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* File content cache interface
|
|
26
|
-
*/
|
|
27
|
-
export interface FileCache {
|
|
28
|
-
/** Get cached content by absolute path */
|
|
29
|
-
get(path: string): string | undefined;
|
|
30
|
-
/** Store content in cache */
|
|
31
|
-
set(path: string, content: string): void;
|
|
32
|
-
/** Check if path is cached */
|
|
33
|
-
has(path: string): boolean;
|
|
34
|
-
/** Clear all cached content */
|
|
35
|
-
clear(): void;
|
|
36
|
-
/** Get cache statistics */
|
|
37
|
-
getStats(): FileCacheStats;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Cache statistics for performance analysis
|
|
41
|
-
*/
|
|
42
|
-
export interface FileCacheStats {
|
|
43
|
-
/** Number of cache hits */
|
|
44
|
-
hits: number;
|
|
45
|
-
/** Number of cache misses */
|
|
46
|
-
misses: number;
|
|
47
|
-
/** Number of entries currently in cache */
|
|
48
|
-
size: number;
|
|
49
|
-
/** Hit rate as percentage (0-100) */
|
|
50
|
-
hitRate: number;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Create a new file content cache
|
|
54
|
-
*
|
|
55
|
-
* @returns Fresh FileCache instance
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const cache = createFileCache();
|
|
60
|
-
*
|
|
61
|
-
* // First access reads from disk
|
|
62
|
-
* const content = await readFile(path);
|
|
63
|
-
* cache.set(path, content);
|
|
64
|
-
*
|
|
65
|
-
* // Subsequent access uses cache
|
|
66
|
-
* if (cache.has(path)) {
|
|
67
|
-
* return cache.get(path);
|
|
68
|
-
* }
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
export declare function createFileCache(): FileCache;
|
|
72
|
-
//# sourceMappingURL=file-cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-cache.d.ts","sourceRoot":"","sources":["../../src/cache/file-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEtC,6BAA6B;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,8BAA8B;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3B,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;IAEd,2BAA2B;IAC3B,QAAQ,IAAI,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAwC3C"}
|
package/dist/cache/file-cache.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-pattern FileCache
|
|
4
|
-
* @architect-status active
|
|
5
|
-
* @architect-arch-role infrastructure
|
|
6
|
-
* @architect-arch-context generator
|
|
7
|
-
* @architect-arch-layer infrastructure
|
|
8
|
-
*
|
|
9
|
-
* ## File Cache - Request-Scoped Content Caching
|
|
10
|
-
*
|
|
11
|
-
* Simple Map-based cache for file contents during a single generation run.
|
|
12
|
-
* Avoids repeated disk reads for files accessed multiple times during
|
|
13
|
-
* extraction and deduplication phases.
|
|
14
|
-
*
|
|
15
|
-
* ### Design Rationale
|
|
16
|
-
*
|
|
17
|
-
* - **Request-scoped**: Created fresh per orchestrator run, naturally cleared when done
|
|
18
|
-
* - **No eviction needed**: Generation runs are bounded in duration and file count
|
|
19
|
-
* - **Thread-safe**: Single-threaded Node.js, no locking required
|
|
20
|
-
* - **Stats tracking**: Optional hit/miss tracking for performance analysis
|
|
21
|
-
*
|
|
22
|
-
* **When to Use:** When a generation run reads the same file multiple times — create a cache instance per orchestrator run.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Create a new file content cache
|
|
26
|
-
*
|
|
27
|
-
* @returns Fresh FileCache instance
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* const cache = createFileCache();
|
|
32
|
-
*
|
|
33
|
-
* // First access reads from disk
|
|
34
|
-
* const content = await readFile(path);
|
|
35
|
-
* cache.set(path, content);
|
|
36
|
-
*
|
|
37
|
-
* // Subsequent access uses cache
|
|
38
|
-
* if (cache.has(path)) {
|
|
39
|
-
* return cache.get(path);
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export function createFileCache() {
|
|
44
|
-
const store = new Map();
|
|
45
|
-
let hits = 0;
|
|
46
|
-
let misses = 0;
|
|
47
|
-
return {
|
|
48
|
-
get(path) {
|
|
49
|
-
const content = store.get(path);
|
|
50
|
-
if (content !== undefined) {
|
|
51
|
-
hits++;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
misses++;
|
|
55
|
-
}
|
|
56
|
-
return content;
|
|
57
|
-
},
|
|
58
|
-
set(path, content) {
|
|
59
|
-
store.set(path, content);
|
|
60
|
-
},
|
|
61
|
-
has(path) {
|
|
62
|
-
return store.has(path);
|
|
63
|
-
},
|
|
64
|
-
clear() {
|
|
65
|
-
store.clear();
|
|
66
|
-
hits = 0;
|
|
67
|
-
misses = 0;
|
|
68
|
-
},
|
|
69
|
-
getStats() {
|
|
70
|
-
const total = hits + misses;
|
|
71
|
-
return {
|
|
72
|
-
hits,
|
|
73
|
-
misses,
|
|
74
|
-
size: store.size,
|
|
75
|
-
hitRate: total > 0 ? (hits / total) * 100 : 0,
|
|
76
|
-
};
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=file-cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-cache.js","sourceRoot":"","sources":["../../src/cache/file-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuCH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO;QACL,GAAG,CAAC,IAAY;YACd,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;YACX,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,GAAG,CAAC,IAAY,EAAE,OAAe;YAC/B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,GAAG,CAAC,IAAY;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,KAAK;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QAED,QAAQ;YACN,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;YAC5B,OAAO;gBACL,IAAI;gBACJ,MAAM;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cache/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/cache/index.js
DELETED
package/dist/cache/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAuC,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-cli
|
|
4
|
-
* @architect-pattern DatasetCache
|
|
5
|
-
* @architect-status active
|
|
6
|
-
* @architect-implements DataAPICLIErgonomics
|
|
7
|
-
* @architect-arch-role infrastructure
|
|
8
|
-
* @architect-arch-context cli
|
|
9
|
-
* @architect-arch-layer infrastructure
|
|
10
|
-
* @architect-uses PipelineFactory, WorkflowConfigSchema
|
|
11
|
-
*
|
|
12
|
-
* ## Dataset Cache - MasterDataset Persistence with mtime Invalidation
|
|
13
|
-
*
|
|
14
|
-
* Caches the full PipelineResult (MasterDataset + ValidationSummary + warnings)
|
|
15
|
-
* to a JSON file. Subsequent CLI invocations skip the 2-5s pipeline rebuild
|
|
16
|
-
* when no source files have changed.
|
|
17
|
-
*
|
|
18
|
-
* ### Design Decisions
|
|
19
|
-
*
|
|
20
|
-
* - DD-1: Excludes LoadedWorkflow (contains Maps), reconstructs on load via createLoadedWorkflow()
|
|
21
|
-
* - DD-2: Cache at node_modules/.cache/architect/dataset.json
|
|
22
|
-
* - DD-3: Cache key = sha256(sorted file mtimes + pipeline options hash)
|
|
23
|
-
* - DD-4: All errors produce cache miss (never throw)
|
|
24
|
-
*/
|
|
25
|
-
import type { PipelineResult, PipelineOptions } from '../generators/pipeline/index.js';
|
|
26
|
-
/**
|
|
27
|
-
* Resolve the cache directory for a given base directory.
|
|
28
|
-
*/
|
|
29
|
-
export declare function getCacheDir(baseDir: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Compute a cache key from pipeline options and source file mtimes.
|
|
32
|
-
*
|
|
33
|
-
* The key captures:
|
|
34
|
-
* - Sorted list of source files with their modification times
|
|
35
|
-
* - Pipeline options that affect output (input patterns, features, baseDir, workflowPath)
|
|
36
|
-
*
|
|
37
|
-
* Any change to source files or pipeline config produces a different key.
|
|
38
|
-
*/
|
|
39
|
-
export declare function computeCacheKey(opts: PipelineOptions): Promise<string>;
|
|
40
|
-
/**
|
|
41
|
-
* Attempt to load a cached PipelineResult.
|
|
42
|
-
*
|
|
43
|
-
* Returns `undefined` on any error (corrupt cache, key mismatch, etc.).
|
|
44
|
-
* Never throws — the caller should fall back to running the full pipeline.
|
|
45
|
-
*/
|
|
46
|
-
export declare function tryLoadCache(cacheKey: string, cacheDir: string): Promise<{
|
|
47
|
-
result: PipelineResult;
|
|
48
|
-
ageMs: number;
|
|
49
|
-
} | undefined>;
|
|
50
|
-
/**
|
|
51
|
-
* Write a PipelineResult to the cache file.
|
|
52
|
-
*
|
|
53
|
-
* Strips the non-serializable `workflow` field and stores the `WorkflowConfig`
|
|
54
|
-
* separately for reconstruction on load. Uses atomic write (tmp + rename).
|
|
55
|
-
*
|
|
56
|
-
* Never throws — cache write failures are silently ignored.
|
|
57
|
-
*/
|
|
58
|
-
export declare function writeCache(result: PipelineResult, cacheKey: string, cacheDir: string): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Check whether a cache file exists (for dry-run reporting).
|
|
61
|
-
*/
|
|
62
|
-
export declare function cacheFileExists(cacheDir: string): {
|
|
63
|
-
exists: boolean;
|
|
64
|
-
sizeBytes?: number;
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=dataset-cache.d.ts.map
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @architect
|
|
3
|
-
* @architect-cli
|
|
4
|
-
* @architect-pattern DatasetCache
|
|
5
|
-
* @architect-status active
|
|
6
|
-
* @architect-implements DataAPICLIErgonomics
|
|
7
|
-
* @architect-arch-role infrastructure
|
|
8
|
-
* @architect-arch-context cli
|
|
9
|
-
* @architect-arch-layer infrastructure
|
|
10
|
-
* @architect-uses PipelineFactory, WorkflowConfigSchema
|
|
11
|
-
*
|
|
12
|
-
* ## Dataset Cache - MasterDataset Persistence with mtime Invalidation
|
|
13
|
-
*
|
|
14
|
-
* Caches the full PipelineResult (MasterDataset + ValidationSummary + warnings)
|
|
15
|
-
* to a JSON file. Subsequent CLI invocations skip the 2-5s pipeline rebuild
|
|
16
|
-
* when no source files have changed.
|
|
17
|
-
*
|
|
18
|
-
* ### Design Decisions
|
|
19
|
-
*
|
|
20
|
-
* - DD-1: Excludes LoadedWorkflow (contains Maps), reconstructs on load via createLoadedWorkflow()
|
|
21
|
-
* - DD-2: Cache at node_modules/.cache/architect/dataset.json
|
|
22
|
-
* - DD-3: Cache key = sha256(sorted file mtimes + pipeline options hash)
|
|
23
|
-
* - DD-4: All errors produce cache miss (never throw)
|
|
24
|
-
*/
|
|
25
|
-
import * as fs from 'fs';
|
|
26
|
-
import * as fsp from 'fs/promises';
|
|
27
|
-
import * as path from 'path';
|
|
28
|
-
import * as crypto from 'crypto';
|
|
29
|
-
import { glob } from 'glob';
|
|
30
|
-
import { createLoadedWorkflow } from '../validation-schemas/workflow-config.js';
|
|
31
|
-
/** Cache format version — bump when the serialization format changes. */
|
|
32
|
-
const CACHE_VERSION = '1';
|
|
33
|
-
// =============================================================================
|
|
34
|
-
// Public API
|
|
35
|
-
// =============================================================================
|
|
36
|
-
/**
|
|
37
|
-
* Resolve the cache directory for a given base directory.
|
|
38
|
-
*/
|
|
39
|
-
export function getCacheDir(baseDir) {
|
|
40
|
-
return path.join(path.resolve(baseDir), 'node_modules', '.cache', 'architect');
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Compute a cache key from pipeline options and source file mtimes.
|
|
44
|
-
*
|
|
45
|
-
* The key captures:
|
|
46
|
-
* - Sorted list of source files with their modification times
|
|
47
|
-
* - Pipeline options that affect output (input patterns, features, baseDir, workflowPath)
|
|
48
|
-
*
|
|
49
|
-
* Any change to source files or pipeline config produces a different key.
|
|
50
|
-
*/
|
|
51
|
-
export async function computeCacheKey(opts) {
|
|
52
|
-
const baseDir = path.resolve(opts.baseDir);
|
|
53
|
-
const hash = crypto.createHash('sha256');
|
|
54
|
-
// Hash pipeline options that affect dataset output
|
|
55
|
-
hash.update(JSON.stringify({
|
|
56
|
-
input: opts.input,
|
|
57
|
-
features: opts.features,
|
|
58
|
-
baseDir,
|
|
59
|
-
workflowPath: opts.workflowPath ?? null,
|
|
60
|
-
mergeConflictStrategy: opts.mergeConflictStrategy,
|
|
61
|
-
includeValidation: opts.includeValidation ?? true,
|
|
62
|
-
}));
|
|
63
|
-
// Resolve glob patterns to file lists and collect mtimes
|
|
64
|
-
const fileMtimes = [];
|
|
65
|
-
for (const pattern of [...opts.input, ...opts.features]) {
|
|
66
|
-
const files = await glob(pattern, { cwd: baseDir, absolute: true });
|
|
67
|
-
for (const file of files.sort()) {
|
|
68
|
-
try {
|
|
69
|
-
const stat = await fsp.stat(file);
|
|
70
|
-
fileMtimes.push(`${file}:${stat.mtimeMs}`);
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
// File disappeared between glob and stat — include as changed
|
|
74
|
-
fileMtimes.push(`${file}:missing`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Also include config file mtime if it exists (.ts or .js)
|
|
79
|
-
for (const configName of ['architect.config.ts', 'architect.config.js']) {
|
|
80
|
-
const configPath = path.join(baseDir, configName);
|
|
81
|
-
try {
|
|
82
|
-
const configStat = await fsp.stat(configPath);
|
|
83
|
-
fileMtimes.push(`${configPath}:${configStat.mtimeMs}`);
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
fileMtimes.push(`${configPath}:absent`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
hash.update(fileMtimes.join('\n'));
|
|
90
|
-
return hash.digest('hex');
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Attempt to load a cached PipelineResult.
|
|
94
|
-
*
|
|
95
|
-
* Returns `undefined` on any error (corrupt cache, key mismatch, etc.).
|
|
96
|
-
* Never throws — the caller should fall back to running the full pipeline.
|
|
97
|
-
*/
|
|
98
|
-
export async function tryLoadCache(cacheKey, cacheDir) {
|
|
99
|
-
try {
|
|
100
|
-
const cachePath = path.join(cacheDir, 'dataset.json');
|
|
101
|
-
const raw = await fsp.readFile(cachePath, 'utf-8');
|
|
102
|
-
const cached = JSON.parse(raw);
|
|
103
|
-
// Validate cache version and key
|
|
104
|
-
if (cached.metadata.version !== CACHE_VERSION)
|
|
105
|
-
return undefined;
|
|
106
|
-
if (cached.metadata.key !== cacheKey)
|
|
107
|
-
return undefined;
|
|
108
|
-
// Reconstruct RuntimeMasterDataset from plain MasterDataset + WorkflowConfig
|
|
109
|
-
const dataset = cached.dataset;
|
|
110
|
-
if (cached.workflowConfig !== null) {
|
|
111
|
-
const workflow = createLoadedWorkflow(cached.workflowConfig);
|
|
112
|
-
// Assign workflow back onto the deserialized dataset (Maps are not JSON-serializable)
|
|
113
|
-
Object.assign(dataset, { workflow });
|
|
114
|
-
}
|
|
115
|
-
const ageMs = Date.now() - new Date(cached.metadata.timestamp).getTime();
|
|
116
|
-
return {
|
|
117
|
-
result: {
|
|
118
|
-
dataset,
|
|
119
|
-
validation: cached.validation,
|
|
120
|
-
warnings: cached.warnings,
|
|
121
|
-
scanMetadata: cached.scanMetadata,
|
|
122
|
-
},
|
|
123
|
-
ageMs,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
return undefined;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Write a PipelineResult to the cache file.
|
|
132
|
-
*
|
|
133
|
-
* Strips the non-serializable `workflow` field and stores the `WorkflowConfig`
|
|
134
|
-
* separately for reconstruction on load. Uses atomic write (tmp + rename).
|
|
135
|
-
*
|
|
136
|
-
* Never throws — cache write failures are silently ignored.
|
|
137
|
-
*/
|
|
138
|
-
export async function writeCache(result, cacheKey, cacheDir) {
|
|
139
|
-
try {
|
|
140
|
-
await fsp.mkdir(cacheDir, { recursive: true });
|
|
141
|
-
// Extract WorkflowConfig (serializable) from LoadedWorkflow (has Maps)
|
|
142
|
-
const workflowConfig = result.dataset.workflow?.config ?? null;
|
|
143
|
-
// Strip the non-serializable workflow field from the dataset
|
|
144
|
-
const { workflow: _workflow, ...serializableDataset } = result.dataset;
|
|
145
|
-
const cacheData = {
|
|
146
|
-
metadata: {
|
|
147
|
-
key: cacheKey,
|
|
148
|
-
timestamp: new Date().toISOString(),
|
|
149
|
-
version: CACHE_VERSION,
|
|
150
|
-
},
|
|
151
|
-
dataset: serializableDataset,
|
|
152
|
-
workflowConfig,
|
|
153
|
-
validation: result.validation,
|
|
154
|
-
warnings: result.warnings,
|
|
155
|
-
scanMetadata: result.scanMetadata,
|
|
156
|
-
};
|
|
157
|
-
const cachePath = path.join(cacheDir, 'dataset.json');
|
|
158
|
-
const tmpPath = `${cachePath}.${process.pid}.${Date.now()}.tmp`;
|
|
159
|
-
await fsp.writeFile(tmpPath, JSON.stringify(cacheData), 'utf-8');
|
|
160
|
-
await fsp.rename(tmpPath, cachePath);
|
|
161
|
-
}
|
|
162
|
-
catch {
|
|
163
|
-
// Cache write failure is not fatal — next run will rebuild
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Check whether a cache file exists (for dry-run reporting).
|
|
168
|
-
*/
|
|
169
|
-
export function cacheFileExists(cacheDir) {
|
|
170
|
-
try {
|
|
171
|
-
const cachePath = path.join(cacheDir, 'dataset.json');
|
|
172
|
-
const stat = fs.statSync(cachePath);
|
|
173
|
-
return { exists: true, sizeBytes: stat.size };
|
|
174
|
-
}
|
|
175
|
-
catch {
|
|
176
|
-
return { exists: false };
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=dataset-cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-cache.js","sourceRoot":"","sources":["../../src/cli/dataset-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* @architect
|
|
4
|
-
* @architect-cli
|
|
5
|
-
* @architect-pattern CLIErrorHandler
|
|
6
|
-
* @architect-status completed
|
|
7
|
-
* @architect-uses DocError
|
|
8
|
-
* @architect-used-by LintPatternsCLI, ValidatePatternsCLI, DocumentationGeneratorCLI
|
|
9
|
-
*
|
|
10
|
-
* ## CLIErrorHandler - Unified CLI Error Handling Utilities
|
|
11
|
-
*
|
|
12
|
-
* Provides type-safe error handling for all CLI commands using the
|
|
13
|
-
* DocError discriminated union pattern. Ensures structured error
|
|
14
|
-
* context is preserved and formatted consistently.
|
|
15
|
-
*
|
|
16
|
-
* ### When to Use
|
|
17
|
-
*
|
|
18
|
-
* - In catch blocks of CLI main functions
|
|
19
|
-
* - When formatting DocError for console output
|
|
20
|
-
* - When checking if an unknown error is a DocError
|
|
21
|
-
*/
|
|
22
|
-
import type { DocError } from '../types/errors.js';
|
|
23
|
-
/**
|
|
24
|
-
* Type guard to check if an unknown value is a DocError
|
|
25
|
-
*
|
|
26
|
-
* Uses the discriminated union `type` property to identify DocError instances.
|
|
27
|
-
* All DocError variants have a `type` string property that uniquely identifies them.
|
|
28
|
-
*
|
|
29
|
-
* @param error - Unknown error value to check
|
|
30
|
-
* @returns True if the error is a DocError with recognized type
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* try {
|
|
35
|
-
* await scanPatterns(config);
|
|
36
|
-
* } catch (error) {
|
|
37
|
-
* if (isDocError(error)) {
|
|
38
|
-
* // TypeScript knows error is DocError here
|
|
39
|
-
* console.log(error.type, error.message);
|
|
40
|
-
* }
|
|
41
|
-
* }
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare function isDocError(error: unknown): error is DocError;
|
|
45
|
-
/**
|
|
46
|
-
* Format a DocError for console output with structured context
|
|
47
|
-
*
|
|
48
|
-
* Extracts file paths, line numbers, and validation errors from the
|
|
49
|
-
* DocError structure and formats them for human-readable output.
|
|
50
|
-
*
|
|
51
|
-
* @param error - DocError to format
|
|
52
|
-
* @returns Formatted error string with context
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
|
-
* ```typescript
|
|
56
|
-
* const error = createFileParseError('/path/to/file.ts', 'Syntax error', { line: 42 });
|
|
57
|
-
* console.error(formatDocError(error));
|
|
58
|
-
* // Output: "FILE_PARSE_ERROR: Failed to parse /path/to/file.ts at line 42: Syntax error"
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
export declare function formatDocError(error: DocError): string;
|
|
62
|
-
/**
|
|
63
|
-
* Unified CLI error handler that formats and exits
|
|
64
|
-
*
|
|
65
|
-
* Handles both DocError instances and generic Error/unknown values.
|
|
66
|
-
* Outputs structured error information and exits with specified code.
|
|
67
|
-
*
|
|
68
|
-
* @param error - Error to handle (DocError, Error, or unknown)
|
|
69
|
-
* @param exitCode - Process exit code (default: 1)
|
|
70
|
-
* @returns Never - always calls process.exit
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* async function main(): Promise<void> {
|
|
75
|
-
* try {
|
|
76
|
-
* await doWork();
|
|
77
|
-
* } catch (error) {
|
|
78
|
-
* handleCliError(error, 1);
|
|
79
|
-
* }
|
|
80
|
-
* }
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
export declare function handleCliError(error: unknown, exitCode?: number): never;
|
|
84
|
-
//# sourceMappingURL=error-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/cli/error-handler.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CA6B5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAqFtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,KAAK,CAgBlE"}
|