@libar-dev/architect 1.0.0-pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/LICENSE +25 -0
- package/LICENSE-MCP +62 -0
- package/README.md +147 -0
- package/dist/api/arch-queries.d.ts +95 -0
- package/dist/api/arch-queries.d.ts.map +1 -0
- package/dist/api/arch-queries.js +310 -0
- package/dist/api/arch-queries.js.map +1 -0
- package/dist/api/context-assembler.d.ts +124 -0
- package/dist/api/context-assembler.d.ts.map +1 -0
- package/dist/api/context-assembler.js +472 -0
- package/dist/api/context-assembler.js.map +1 -0
- package/dist/api/context-formatter.d.ts +26 -0
- package/dist/api/context-formatter.d.ts.map +1 -0
- package/dist/api/context-formatter.js +183 -0
- package/dist/api/context-formatter.js.map +1 -0
- package/dist/api/coverage-analyzer.d.ts +38 -0
- package/dist/api/coverage-analyzer.d.ts.map +1 -0
- package/dist/api/coverage-analyzer.js +117 -0
- package/dist/api/coverage-analyzer.js.map +1 -0
- package/dist/api/fuzzy-match.d.ts +75 -0
- package/dist/api/fuzzy-match.d.ts.map +1 -0
- package/dist/api/fuzzy-match.js +150 -0
- package/dist/api/fuzzy-match.js.map +1 -0
- package/dist/api/handoff-generator.d.ts +45 -0
- package/dist/api/handoff-generator.d.ts.map +1 -0
- package/dist/api/handoff-generator.js +139 -0
- package/dist/api/handoff-generator.js.map +1 -0
- package/dist/api/index.d.ts +61 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +54 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/pattern-helpers.d.ts +51 -0
- package/dist/api/pattern-helpers.d.ts.map +1 -0
- package/dist/api/pattern-helpers.js +84 -0
- package/dist/api/pattern-helpers.js.map +1 -0
- package/dist/api/process-state.d.ts +224 -0
- package/dist/api/process-state.d.ts.map +1 -0
- package/dist/api/process-state.js +308 -0
- package/dist/api/process-state.js.map +1 -0
- package/dist/api/rules-query.d.ts +60 -0
- package/dist/api/rules-query.d.ts.map +1 -0
- package/dist/api/rules-query.js +154 -0
- package/dist/api/rules-query.js.map +1 -0
- package/dist/api/scope-validator.d.ts +56 -0
- package/dist/api/scope-validator.d.ts.map +1 -0
- package/dist/api/scope-validator.js +293 -0
- package/dist/api/scope-validator.js.map +1 -0
- package/dist/api/stub-resolver.d.ts +117 -0
- package/dist/api/stub-resolver.d.ts.map +1 -0
- package/dist/api/stub-resolver.js +154 -0
- package/dist/api/stub-resolver.js.map +1 -0
- package/dist/api/summarize.d.ts +75 -0
- package/dist/api/summarize.d.ts.map +1 -0
- package/dist/api/summarize.js +97 -0
- package/dist/api/summarize.js.map +1 -0
- package/dist/api/types.d.ts +221 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +57 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cache/file-cache.d.ts +72 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +80 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/cli-schema.d.ts +83 -0
- package/dist/cli/cli-schema.d.ts.map +1 -0
- package/dist/cli/cli-schema.js +505 -0
- package/dist/cli/cli-schema.js.map +1 -0
- package/dist/cli/dataset-cache.d.ts +66 -0
- package/dist/cli/dataset-cache.d.ts.map +1 -0
- package/dist/cli/dataset-cache.js +179 -0
- package/dist/cli/dataset-cache.js.map +1 -0
- package/dist/cli/error-handler.d.ts +84 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +197 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/generate-docs.d.ts +30 -0
- package/dist/cli/generate-docs.d.ts.map +1 -0
- package/dist/cli/generate-docs.js +370 -0
- package/dist/cli/generate-docs.js.map +1 -0
- package/dist/cli/lint-patterns.d.ts +57 -0
- package/dist/cli/lint-patterns.d.ts.map +1 -0
- package/dist/cli/lint-patterns.js +257 -0
- package/dist/cli/lint-patterns.js.map +1 -0
- package/dist/cli/lint-process.d.ts +54 -0
- package/dist/cli/lint-process.d.ts.map +1 -0
- package/dist/cli/lint-process.js +319 -0
- package/dist/cli/lint-process.js.map +1 -0
- package/dist/cli/lint-steps.d.ts +32 -0
- package/dist/cli/lint-steps.d.ts.map +1 -0
- package/dist/cli/lint-steps.js +172 -0
- package/dist/cli/lint-steps.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +22 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +57 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/output-pipeline.d.ts +130 -0
- package/dist/cli/output-pipeline.d.ts.map +1 -0
- package/dist/cli/output-pipeline.js +234 -0
- package/dist/cli/output-pipeline.js.map +1 -0
- package/dist/cli/process-api.d.ts +37 -0
- package/dist/cli/process-api.d.ts.map +1 -0
- package/dist/cli/process-api.js +1550 -0
- package/dist/cli/process-api.js.map +1 -0
- package/dist/cli/repl.d.ts +38 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +239 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/validate-patterns.d.ts +115 -0
- package/dist/cli/validate-patterns.d.ts.map +1 -0
- package/dist/cli/validate-patterns.js +707 -0
- package/dist/cli/validate-patterns.js.map +1 -0
- package/dist/cli/version.d.ts +35 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +64 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/config-loader.d.ts +167 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +294 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/defaults.d.ts +92 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +103 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-config.d.ts +37 -0
- package/dist/config/define-config.d.ts.map +1 -0
- package/dist/config/define-config.js +38 -0
- package/dist/config/define-config.js.map +1 -0
- package/dist/config/factory.d.ts +79 -0
- package/dist/config/factory.d.ts.map +1 -0
- package/dist/config/factory.js +116 -0
- package/dist/config/factory.js.map +1 -0
- package/dist/config/index.d.ts +45 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +48 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge-sources.d.ts +47 -0
- package/dist/config/merge-sources.d.ts.map +1 -0
- package/dist/config/merge-sources.js +61 -0
- package/dist/config/merge-sources.js.map +1 -0
- package/dist/config/presets.d.ts +115 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +119 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/project-config-schema.d.ts +192 -0
- package/dist/config/project-config-schema.d.ts.map +1 -0
- package/dist/config/project-config-schema.js +231 -0
- package/dist/config/project-config-schema.js.map +1 -0
- package/dist/config/project-config.d.ts +229 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +37 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/config/regex-builders.d.ts +49 -0
- package/dist/config/regex-builders.d.ts.map +1 -0
- package/dist/config/regex-builders.js +85 -0
- package/dist/config/regex-builders.js.map +1 -0
- package/dist/config/resolve-config.d.ts +65 -0
- package/dist/config/resolve-config.d.ts.map +1 -0
- package/dist/config/resolve-config.js +150 -0
- package/dist/config/resolve-config.js.map +1 -0
- package/dist/config/types.d.ts +81 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +22 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/workflow-loader.d.ts +90 -0
- package/dist/config/workflow-loader.d.ts.map +1 -0
- package/dist/config/workflow-loader.js +167 -0
- package/dist/config/workflow-loader.js.map +1 -0
- package/dist/extractor/doc-extractor.d.ts +233 -0
- package/dist/extractor/doc-extractor.d.ts.map +1 -0
- package/dist/extractor/doc-extractor.js +481 -0
- package/dist/extractor/doc-extractor.js.map +1 -0
- package/dist/extractor/dual-source-extractor.d.ts +161 -0
- package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
- package/dist/extractor/dual-source-extractor.js +407 -0
- package/dist/extractor/dual-source-extractor.js.map +1 -0
- package/dist/extractor/gherkin-extractor.d.ts +170 -0
- package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
- package/dist/extractor/gherkin-extractor.js +543 -0
- package/dist/extractor/gherkin-extractor.js.map +1 -0
- package/dist/extractor/index.d.ts +7 -0
- package/dist/extractor/index.d.ts.map +1 -0
- package/dist/extractor/index.js +11 -0
- package/dist/extractor/index.js.map +1 -0
- package/dist/extractor/layer-inference.d.ts +66 -0
- package/dist/extractor/layer-inference.d.ts.map +1 -0
- package/dist/extractor/layer-inference.js +93 -0
- package/dist/extractor/layer-inference.js.map +1 -0
- package/dist/extractor/shape-extractor.d.ts +79 -0
- package/dist/extractor/shape-extractor.d.ts.map +1 -0
- package/dist/extractor/shape-extractor.js +966 -0
- package/dist/extractor/shape-extractor.js.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.js +155 -0
- package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
- package/dist/generators/built-in/codec-generators.d.ts +29 -0
- package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
- package/dist/generators/built-in/codec-generators.js +195 -0
- package/dist/generators/built-in/codec-generators.js.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.js +654 -0
- package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
- package/dist/generators/built-in/design-review-generator.d.ts +26 -0
- package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
- package/dist/generators/built-in/design-review-generator.js +94 -0
- package/dist/generators/built-in/design-review-generator.js.map +1 -0
- package/dist/generators/built-in/index.d.ts +22 -0
- package/dist/generators/built-in/index.d.ts.map +1 -0
- package/dist/generators/built-in/index.js +23 -0
- package/dist/generators/built-in/index.js.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.js +85 -0
- package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
- package/dist/generators/built-in/reference-generators.d.ts +51 -0
- package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
- package/dist/generators/built-in/reference-generators.js +320 -0
- package/dist/generators/built-in/reference-generators.js.map +1 -0
- package/dist/generators/codec-based.d.ts +63 -0
- package/dist/generators/codec-based.d.ts.map +1 -0
- package/dist/generators/codec-based.js +88 -0
- package/dist/generators/codec-based.js.map +1 -0
- package/dist/generators/content-deduplicator.d.ts +114 -0
- package/dist/generators/content-deduplicator.d.ts.map +1 -0
- package/dist/generators/content-deduplicator.js +356 -0
- package/dist/generators/content-deduplicator.js.map +1 -0
- package/dist/generators/index.d.ts +50 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +54 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/orchestrator.d.ts +265 -0
- package/dist/generators/orchestrator.d.ts.map +1 -0
- package/dist/generators/orchestrator.js +570 -0
- package/dist/generators/orchestrator.js.map +1 -0
- package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
- package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
- package/dist/generators/pipeline/build-pipeline.js +248 -0
- package/dist/generators/pipeline/build-pipeline.js.map +1 -0
- package/dist/generators/pipeline/context-inference.d.ts +55 -0
- package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
- package/dist/generators/pipeline/context-inference.js +76 -0
- package/dist/generators/pipeline/context-inference.js.map +1 -0
- package/dist/generators/pipeline/index.d.ts +27 -0
- package/dist/generators/pipeline/index.d.ts.map +1 -0
- package/dist/generators/pipeline/index.js +34 -0
- package/dist/generators/pipeline/index.js.map +1 -0
- package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
- package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
- package/dist/generators/pipeline/merge-patterns.js +50 -0
- package/dist/generators/pipeline/merge-patterns.js.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.js +132 -0
- package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
- package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
- package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
- package/dist/generators/pipeline/sequence-utils.js +235 -0
- package/dist/generators/pipeline/sequence-utils.js.map +1 -0
- package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
- package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-dataset.js +355 -0
- package/dist/generators/pipeline/transform-dataset.js.map +1 -0
- package/dist/generators/pipeline/transform-types.d.ts +96 -0
- package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-types.js +18 -0
- package/dist/generators/pipeline/transform-types.js.map +1 -0
- package/dist/generators/registry.d.ts +64 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +77 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/source-mapper.d.ts +143 -0
- package/dist/generators/source-mapper.d.ts.map +1 -0
- package/dist/generators/source-mapper.js +602 -0
- package/dist/generators/source-mapper.js.map +1 -0
- package/dist/generators/source-mapping-validator.d.ts +118 -0
- package/dist/generators/source-mapping-validator.d.ts.map +1 -0
- package/dist/generators/source-mapping-validator.js +334 -0
- package/dist/generators/source-mapping-validator.js.map +1 -0
- package/dist/generators/types.d.ts +104 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +5 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/generators/warning-collector.d.ts +144 -0
- package/dist/generators/warning-collector.d.ts.map +1 -0
- package/dist/generators/warning-collector.js +166 -0
- package/dist/generators/warning-collector.js.map +1 -0
- package/dist/git/branch-diff.d.ts +44 -0
- package/dist/git/branch-diff.d.ts.map +1 -0
- package/dist/git/branch-diff.js +57 -0
- package/dist/git/branch-diff.js.map +1 -0
- package/dist/git/helpers.d.ts +46 -0
- package/dist/git/helpers.d.ts.map +1 -0
- package/dist/git/helpers.js +67 -0
- package/dist/git/helpers.js.map +1 -0
- package/dist/git/index.d.ts +18 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +18 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/name-status.d.ts +32 -0
- package/dist/git/name-status.d.ts.map +1 -0
- package/dist/git/name-status.js +66 -0
- package/dist/git/name-status.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/engine.d.ts +113 -0
- package/dist/lint/engine.d.ts.map +1 -0
- package/dist/lint/engine.js +228 -0
- package/dist/lint/engine.js.map +1 -0
- package/dist/lint/index.d.ts +26 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +24 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/process-guard/decider.d.ts +166 -0
- package/dist/lint/process-guard/decider.d.ts.map +1 -0
- package/dist/lint/process-guard/decider.js +412 -0
- package/dist/lint/process-guard/decider.js.map +1 -0
- package/dist/lint/process-guard/derive-state.d.ts +96 -0
- package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
- package/dist/lint/process-guard/derive-state.js +368 -0
- package/dist/lint/process-guard/derive-state.js.map +1 -0
- package/dist/lint/process-guard/detect-changes.d.ts +109 -0
- package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
- package/dist/lint/process-guard/detect-changes.js +487 -0
- package/dist/lint/process-guard/detect-changes.js.map +1 -0
- package/dist/lint/process-guard/index.d.ts +35 -0
- package/dist/lint/process-guard/index.d.ts.map +1 -0
- package/dist/lint/process-guard/index.js +39 -0
- package/dist/lint/process-guard/index.js.map +1 -0
- package/dist/lint/process-guard/types.d.ts +255 -0
- package/dist/lint/process-guard/types.d.ts.map +1 -0
- package/dist/lint/process-guard/types.js +31 -0
- package/dist/lint/process-guard/types.js.map +1 -0
- package/dist/lint/rules.d.ts +147 -0
- package/dist/lint/rules.d.ts.map +1 -0
- package/dist/lint/rules.js +289 -0
- package/dist/lint/rules.js.map +1 -0
- package/dist/lint/steps/cross-checks.d.ts +66 -0
- package/dist/lint/steps/cross-checks.d.ts.map +1 -0
- package/dist/lint/steps/cross-checks.js +290 -0
- package/dist/lint/steps/cross-checks.js.map +1 -0
- package/dist/lint/steps/feature-checks.d.ts +78 -0
- package/dist/lint/steps/feature-checks.d.ts.map +1 -0
- package/dist/lint/steps/feature-checks.js +279 -0
- package/dist/lint/steps/feature-checks.js.map +1 -0
- package/dist/lint/steps/index.d.ts +22 -0
- package/dist/lint/steps/index.d.ts.map +1 -0
- package/dist/lint/steps/index.js +26 -0
- package/dist/lint/steps/index.js.map +1 -0
- package/dist/lint/steps/pair-resolver.d.ts +29 -0
- package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
- package/dist/lint/steps/pair-resolver.js +76 -0
- package/dist/lint/steps/pair-resolver.js.map +1 -0
- package/dist/lint/steps/runner.d.ts +28 -0
- package/dist/lint/steps/runner.d.ts.map +1 -0
- package/dist/lint/steps/runner.js +143 -0
- package/dist/lint/steps/runner.js.map +1 -0
- package/dist/lint/steps/step-checks.d.ts +41 -0
- package/dist/lint/steps/step-checks.d.ts.map +1 -0
- package/dist/lint/steps/step-checks.js +164 -0
- package/dist/lint/steps/step-checks.js.map +1 -0
- package/dist/lint/steps/types.d.ts +95 -0
- package/dist/lint/steps/types.d.ts.map +1 -0
- package/dist/lint/steps/types.js +79 -0
- package/dist/lint/steps/types.js.map +1 -0
- package/dist/lint/steps/utils.d.ts +22 -0
- package/dist/lint/steps/utils.d.ts.map +1 -0
- package/dist/lint/steps/utils.js +57 -0
- package/dist/lint/steps/utils.js.map +1 -0
- package/dist/mcp/file-watcher.d.ts +24 -0
- package/dist/mcp/file-watcher.d.ts.map +1 -0
- package/dist/mcp/file-watcher.js +75 -0
- package/dist/mcp/file-watcher.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +21 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/pipeline-session.d.ts +33 -0
- package/dist/mcp/pipeline-session.d.ts.map +1 -0
- package/dist/mcp/pipeline-session.js +149 -0
- package/dist/mcp/pipeline-session.js.map +1 -0
- package/dist/mcp/server.d.ts +28 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +197 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +4 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +525 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/renderable/codecs/adr.d.ts +4730 -0
- package/dist/renderable/codecs/adr.d.ts.map +1 -0
- package/dist/renderable/codecs/adr.js +590 -0
- package/dist/renderable/codecs/adr.js.map +1 -0
- package/dist/renderable/codecs/architecture.d.ts +4760 -0
- package/dist/renderable/codecs/architecture.d.ts.map +1 -0
- package/dist/renderable/codecs/architecture.js +524 -0
- package/dist/renderable/codecs/architecture.js.map +1 -0
- package/dist/renderable/codecs/business-rules.d.ts +4777 -0
- package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/business-rules.js +648 -0
- package/dist/renderable/codecs/business-rules.js.map +1 -0
- package/dist/renderable/codecs/claude-module.d.ts +4710 -0
- package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
- package/dist/renderable/codecs/claude-module.js +214 -0
- package/dist/renderable/codecs/claude-module.js.map +1 -0
- package/dist/renderable/codecs/composite.d.ts +84 -0
- package/dist/renderable/codecs/composite.d.ts.map +1 -0
- package/dist/renderable/codecs/composite.js +124 -0
- package/dist/renderable/codecs/composite.js.map +1 -0
- package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
- package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
- package/dist/renderable/codecs/convention-extractor.js +353 -0
- package/dist/renderable/codecs/convention-extractor.js.map +1 -0
- package/dist/renderable/codecs/decision-doc.d.ts +308 -0
- package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
- package/dist/renderable/codecs/decision-doc.js +485 -0
- package/dist/renderable/codecs/decision-doc.js.map +1 -0
- package/dist/renderable/codecs/design-review.d.ts +55 -0
- package/dist/renderable/codecs/design-review.d.ts.map +1 -0
- package/dist/renderable/codecs/design-review.js +532 -0
- package/dist/renderable/codecs/design-review.js.map +1 -0
- package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
- package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
- package/dist/renderable/codecs/diagram-utils.js +70 -0
- package/dist/renderable/codecs/diagram-utils.js.map +1 -0
- package/dist/renderable/codecs/helpers.d.ts +553 -0
- package/dist/renderable/codecs/helpers.d.ts.map +1 -0
- package/dist/renderable/codecs/helpers.js +913 -0
- package/dist/renderable/codecs/helpers.js.map +1 -0
- package/dist/renderable/codecs/index-codec.d.ts +4714 -0
- package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
- package/dist/renderable/codecs/index-codec.js +250 -0
- package/dist/renderable/codecs/index-codec.js.map +1 -0
- package/dist/renderable/codecs/index.d.ts +46 -0
- package/dist/renderable/codecs/index.d.ts.map +1 -0
- package/dist/renderable/codecs/index.js +70 -0
- package/dist/renderable/codecs/index.js.map +1 -0
- package/dist/renderable/codecs/patterns.d.ts +4757 -0
- package/dist/renderable/codecs/patterns.d.ts.map +1 -0
- package/dist/renderable/codecs/patterns.js +462 -0
- package/dist/renderable/codecs/patterns.js.map +1 -0
- package/dist/renderable/codecs/planning.d.ts +14055 -0
- package/dist/renderable/codecs/planning.d.ts.map +1 -0
- package/dist/renderable/codecs/planning.js +449 -0
- package/dist/renderable/codecs/planning.js.map +1 -0
- package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
- package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
- package/dist/renderable/codecs/pr-changes.js +425 -0
- package/dist/renderable/codecs/pr-changes.js.map +1 -0
- package/dist/renderable/codecs/reference.d.ts +215 -0
- package/dist/renderable/codecs/reference.d.ts.map +1 -0
- package/dist/renderable/codecs/reference.js +1578 -0
- package/dist/renderable/codecs/reference.js.map +1 -0
- package/dist/renderable/codecs/reporting.d.ts +14026 -0
- package/dist/renderable/codecs/reporting.d.ts.map +1 -0
- package/dist/renderable/codecs/reporting.js +365 -0
- package/dist/renderable/codecs/reporting.js.map +1 -0
- package/dist/renderable/codecs/requirements.d.ts +4743 -0
- package/dist/renderable/codecs/requirements.d.ts.map +1 -0
- package/dist/renderable/codecs/requirements.js +428 -0
- package/dist/renderable/codecs/requirements.js.map +1 -0
- package/dist/renderable/codecs/session.d.ts +9410 -0
- package/dist/renderable/codecs/session.d.ts.map +1 -0
- package/dist/renderable/codecs/session.js +848 -0
- package/dist/renderable/codecs/session.js.map +1 -0
- package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
- package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
- package/dist/renderable/codecs/shape-matcher.js +106 -0
- package/dist/renderable/codecs/shape-matcher.js.map +1 -0
- package/dist/renderable/codecs/shared-schema.d.ts +44 -0
- package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
- package/dist/renderable/codecs/shared-schema.js +43 -0
- package/dist/renderable/codecs/shared-schema.js.map +1 -0
- package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
- package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
- package/dist/renderable/codecs/taxonomy.js +570 -0
- package/dist/renderable/codecs/taxonomy.js.map +1 -0
- package/dist/renderable/codecs/timeline.d.ts +14094 -0
- package/dist/renderable/codecs/timeline.d.ts.map +1 -0
- package/dist/renderable/codecs/timeline.js +906 -0
- package/dist/renderable/codecs/timeline.js.map +1 -0
- package/dist/renderable/codecs/types/base.d.ts +81 -0
- package/dist/renderable/codecs/types/base.d.ts.map +1 -0
- package/dist/renderable/codecs/types/base.js +56 -0
- package/dist/renderable/codecs/types/base.js.map +1 -0
- package/dist/renderable/codecs/types/index.d.ts +5 -0
- package/dist/renderable/codecs/types/index.d.ts.map +1 -0
- package/dist/renderable/codecs/types/index.js +5 -0
- package/dist/renderable/codecs/types/index.js.map +1 -0
- package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
- package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/validation-rules.js +537 -0
- package/dist/renderable/codecs/validation-rules.js.map +1 -0
- package/dist/renderable/generate.d.ts +338 -0
- package/dist/renderable/generate.d.ts.map +1 -0
- package/dist/renderable/generate.js +437 -0
- package/dist/renderable/generate.js.map +1 -0
- package/dist/renderable/index.d.ts +36 -0
- package/dist/renderable/index.d.ts.map +1 -0
- package/dist/renderable/index.js +58 -0
- package/dist/renderable/index.js.map +1 -0
- package/dist/renderable/load-preamble.d.ts +56 -0
- package/dist/renderable/load-preamble.d.ts.map +1 -0
- package/dist/renderable/load-preamble.js +298 -0
- package/dist/renderable/load-preamble.js.map +1 -0
- package/dist/renderable/render.d.ts +61 -0
- package/dist/renderable/render.d.ts.map +1 -0
- package/dist/renderable/render.js +346 -0
- package/dist/renderable/render.js.map +1 -0
- package/dist/renderable/schema.d.ts +194 -0
- package/dist/renderable/schema.d.ts.map +1 -0
- package/dist/renderable/schema.js +197 -0
- package/dist/renderable/schema.js.map +1 -0
- package/dist/renderable/utils.d.ts +146 -0
- package/dist/renderable/utils.d.ts.map +1 -0
- package/dist/renderable/utils.js +362 -0
- package/dist/renderable/utils.js.map +1 -0
- package/dist/scanner/ast-parser.d.ts +75 -0
- package/dist/scanner/ast-parser.d.ts.map +1 -0
- package/dist/scanner/ast-parser.js +835 -0
- package/dist/scanner/ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
- package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
- package/dist/scanner/gherkin-ast-parser.js +507 -0
- package/dist/scanner/gherkin-ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-scanner.d.ts +106 -0
- package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
- package/dist/scanner/gherkin-scanner.js +149 -0
- package/dist/scanner/gherkin-scanner.js.map +1 -0
- package/dist/scanner/index.d.ts +85 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +102 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/pattern-scanner.d.ts +83 -0
- package/dist/scanner/pattern-scanner.d.ts.map +1 -0
- package/dist/scanner/pattern-scanner.js +110 -0
- package/dist/scanner/pattern-scanner.js.map +1 -0
- package/dist/taxonomy/categories.d.ts +47 -0
- package/dist/taxonomy/categories.d.ts.map +1 -0
- package/dist/taxonomy/categories.js +175 -0
- package/dist/taxonomy/categories.js.map +1 -0
- package/dist/taxonomy/claude-section-values.d.ts +12 -0
- package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
- package/dist/taxonomy/claude-section-values.js +17 -0
- package/dist/taxonomy/claude-section-values.js.map +1 -0
- package/dist/taxonomy/conventions.d.ts +13 -0
- package/dist/taxonomy/conventions.d.ts.map +1 -0
- package/dist/taxonomy/conventions.js +27 -0
- package/dist/taxonomy/conventions.js.map +1 -0
- package/dist/taxonomy/deliverable-status.d.ts +99 -0
- package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
- package/dist/taxonomy/deliverable-status.js +131 -0
- package/dist/taxonomy/deliverable-status.js.map +1 -0
- package/dist/taxonomy/format-types.d.ts +17 -0
- package/dist/taxonomy/format-types.d.ts.map +1 -0
- package/dist/taxonomy/format-types.js +23 -0
- package/dist/taxonomy/format-types.js.map +1 -0
- package/dist/taxonomy/generator-options.d.ts +67 -0
- package/dist/taxonomy/generator-options.d.ts.map +1 -0
- package/dist/taxonomy/generator-options.js +75 -0
- package/dist/taxonomy/generator-options.js.map +1 -0
- package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
- package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
- package/dist/taxonomy/hierarchy-levels.js +22 -0
- package/dist/taxonomy/hierarchy-levels.js.map +1 -0
- package/dist/taxonomy/index.d.ts +35 -0
- package/dist/taxonomy/index.d.ts.map +1 -0
- package/dist/taxonomy/index.js +56 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/layer-types.d.ts +22 -0
- package/dist/taxonomy/layer-types.d.ts.map +1 -0
- package/dist/taxonomy/layer-types.js +28 -0
- package/dist/taxonomy/layer-types.js.map +1 -0
- package/dist/taxonomy/normalized-status.d.ts +99 -0
- package/dist/taxonomy/normalized-status.d.ts.map +1 -0
- package/dist/taxonomy/normalized-status.js +113 -0
- package/dist/taxonomy/normalized-status.js.map +1 -0
- package/dist/taxonomy/registry-builder.d.ts +104 -0
- package/dist/taxonomy/registry-builder.d.ts.map +1 -0
- package/dist/taxonomy/registry-builder.js +561 -0
- package/dist/taxonomy/registry-builder.js.map +1 -0
- package/dist/taxonomy/risk-levels.d.ts +16 -0
- package/dist/taxonomy/risk-levels.d.ts.map +1 -0
- package/dist/taxonomy/risk-levels.js +15 -0
- package/dist/taxonomy/risk-levels.js.map +1 -0
- package/dist/taxonomy/severity-types.d.ts +6 -0
- package/dist/taxonomy/severity-types.d.ts.map +1 -0
- package/dist/taxonomy/severity-types.js +5 -0
- package/dist/taxonomy/severity-types.js.map +1 -0
- package/dist/taxonomy/status-values.d.ts +39 -0
- package/dist/taxonomy/status-values.d.ts.map +1 -0
- package/dist/taxonomy/status-values.js +42 -0
- package/dist/taxonomy/status-values.js.map +1 -0
- package/dist/types/branded.d.ts +89 -0
- package/dist/types/branded.d.ts.map +1 -0
- package/dist/types/branded.js +57 -0
- package/dist/types/branded.js.map +1 -0
- package/dist/types/errors.d.ts +342 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +251 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +78 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +78 -0
- package/dist/types/result.js.map +1 -0
- package/dist/utils/collection-utils.d.ts +49 -0
- package/dist/utils/collection-utils.d.ts.map +1 -0
- package/dist/utils/collection-utils.js +58 -0
- package/dist/utils/collection-utils.js.map +1 -0
- package/dist/utils/id-utils.d.ts +46 -0
- package/dist/utils/id-utils.d.ts.map +1 -0
- package/dist/utils/id-utils.js +51 -0
- package/dist/utils/id-utils.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/string-utils.d.ts +150 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +281 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/validation/anti-patterns.d.ts +134 -0
- package/dist/validation/anti-patterns.d.ts.map +1 -0
- package/dist/validation/anti-patterns.js +307 -0
- package/dist/validation/anti-patterns.js.map +1 -0
- package/dist/validation/dod-validator.d.ts +94 -0
- package/dist/validation/dod-validator.d.ts.map +1 -0
- package/dist/validation/dod-validator.js +198 -0
- package/dist/validation/dod-validator.js.map +1 -0
- package/dist/validation/fsm/index.d.ts +59 -0
- package/dist/validation/fsm/index.d.ts.map +1 -0
- package/dist/validation/fsm/index.js +64 -0
- package/dist/validation/fsm/index.js.map +1 -0
- package/dist/validation/fsm/states.d.ts +93 -0
- package/dist/validation/fsm/states.d.ts.map +1 -0
- package/dist/validation/fsm/states.js +98 -0
- package/dist/validation/fsm/states.js.map +1 -0
- package/dist/validation/fsm/transitions.d.ts +100 -0
- package/dist/validation/fsm/transitions.d.ts.map +1 -0
- package/dist/validation/fsm/transitions.js +122 -0
- package/dist/validation/fsm/transitions.js.map +1 -0
- package/dist/validation/fsm/validator.d.ts +163 -0
- package/dist/validation/fsm/validator.d.ts.map +1 -0
- package/dist/validation/fsm/validator.js +205 -0
- package/dist/validation/fsm/validator.js.map +1 -0
- package/dist/validation/index.d.ts +23 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +25 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +136 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +56 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation-schemas/codec-utils.d.ts +188 -0
- package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
- package/dist/validation-schemas/codec-utils.js +258 -0
- package/dist/validation-schemas/codec-utils.js.map +1 -0
- package/dist/validation-schemas/config.d.ts +99 -0
- package/dist/validation-schemas/config.d.ts.map +1 -0
- package/dist/validation-schemas/config.js +178 -0
- package/dist/validation-schemas/config.js.map +1 -0
- package/dist/validation-schemas/doc-directive.d.ts +195 -0
- package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
- package/dist/validation-schemas/doc-directive.js +239 -0
- package/dist/validation-schemas/doc-directive.js.map +1 -0
- package/dist/validation-schemas/dual-source.d.ts +167 -0
- package/dist/validation-schemas/dual-source.d.ts.map +1 -0
- package/dist/validation-schemas/dual-source.js +168 -0
- package/dist/validation-schemas/dual-source.js.map +1 -0
- package/dist/validation-schemas/export-info.d.ts +53 -0
- package/dist/validation-schemas/export-info.d.ts.map +1 -0
- package/dist/validation-schemas/export-info.js +101 -0
- package/dist/validation-schemas/export-info.js.map +1 -0
- package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
- package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-pattern.js +459 -0
- package/dist/validation-schemas/extracted-pattern.js.map +1 -0
- package/dist/validation-schemas/extracted-shape.d.ts +200 -0
- package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-shape.js +182 -0
- package/dist/validation-schemas/extracted-shape.js.map +1 -0
- package/dist/validation-schemas/feature.d.ts +554 -0
- package/dist/validation-schemas/feature.d.ts.map +1 -0
- package/dist/validation-schemas/feature.js +262 -0
- package/dist/validation-schemas/feature.js.map +1 -0
- package/dist/validation-schemas/index.d.ts +15 -0
- package/dist/validation-schemas/index.d.ts.map +1 -0
- package/dist/validation-schemas/index.js +32 -0
- package/dist/validation-schemas/index.js.map +1 -0
- package/dist/validation-schemas/lint.d.ts +46 -0
- package/dist/validation-schemas/lint.d.ts.map +1 -0
- package/dist/validation-schemas/lint.js +45 -0
- package/dist/validation-schemas/lint.js.map +1 -0
- package/dist/validation-schemas/master-dataset.d.ts +8299 -0
- package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
- package/dist/validation-schemas/master-dataset.js +275 -0
- package/dist/validation-schemas/master-dataset.js.map +1 -0
- package/dist/validation-schemas/output-schemas.d.ts +183 -0
- package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
- package/dist/validation-schemas/output-schemas.js +149 -0
- package/dist/validation-schemas/output-schemas.js.map +1 -0
- package/dist/validation-schemas/scenario-ref.d.ts +80 -0
- package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
- package/dist/validation-schemas/scenario-ref.js +73 -0
- package/dist/validation-schemas/scenario-ref.js.map +1 -0
- package/dist/validation-schemas/tag-registry.d.ts +210 -0
- package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
- package/dist/validation-schemas/tag-registry.js +248 -0
- package/dist/validation-schemas/tag-registry.js.map +1 -0
- package/dist/validation-schemas/workflow-config.d.ts +125 -0
- package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
- package/dist/validation-schemas/workflow-config.js +138 -0
- package/dist/validation-schemas/workflow-config.js.map +1 -0
- package/docs/ANNOTATION-GUIDE.md +271 -0
- package/docs/ARCHITECTURE.md +1636 -0
- package/docs/CONFIGURATION.md +337 -0
- package/docs/DOCS-GAP-ANALYSIS.md +811 -0
- package/docs/GHERKIN-PATTERNS.md +366 -0
- package/docs/INDEX.md +345 -0
- package/docs/MCP-SETUP.md +140 -0
- package/docs/METHODOLOGY.md +240 -0
- package/docs/PROCESS-API.md +65 -0
- package/docs/PROCESS-GUARD.md +341 -0
- package/docs/SESSION-GUIDES.md +391 -0
- package/docs/TAXONOMY.md +106 -0
- package/docs/VALIDATION.md +418 -0
- package/docs-live/ARCHITECTURE.md +362 -0
- package/docs-live/BUSINESS-RULES.md +24 -0
- package/docs-live/CHANGELOG-GENERATED.md +375 -0
- package/docs-live/DECISIONS.md +78 -0
- package/docs-live/INDEX.md +231 -0
- package/docs-live/PRODUCT-AREAS.md +255 -0
- package/docs-live/TAXONOMY.md +202 -0
- package/docs-live/VALIDATION-RULES.md +119 -0
- package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
- package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
- package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
- package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
- package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
- package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
- package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
- package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
- package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
- package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
- package/docs-live/_claude-md/generation/generation-overview.md +30 -0
- package/docs-live/_claude-md/process/process-overview.md +127 -0
- package/docs-live/_claude-md/validation/process-guard.md +185 -0
- package/docs-live/_claude-md/validation/validation-overview.md +37 -0
- package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
- package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
- package/docs-live/business-rules/annotation.md +1462 -0
- package/docs-live/business-rules/configuration.md +465 -0
- package/docs-live/business-rules/core-types.md +531 -0
- package/docs-live/business-rules/data-api.md +1403 -0
- package/docs-live/business-rules/generation.md +4726 -0
- package/docs-live/business-rules/process.md +122 -0
- package/docs-live/business-rules/validation.md +998 -0
- package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
- package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
- package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
- package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
- package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
- package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
- package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
- package/docs-live/product-areas/ANNOTATION.md +591 -0
- package/docs-live/product-areas/CONFIGURATION.md +1048 -0
- package/docs-live/product-areas/CORE-TYPES.md +221 -0
- package/docs-live/product-areas/DATA-API.md +850 -0
- package/docs-live/product-areas/GENERATION.md +1200 -0
- package/docs-live/product-areas/PROCESS.md +351 -0
- package/docs-live/product-areas/VALIDATION.md +1135 -0
- package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
- package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
- package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
- package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
- package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
- package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
- package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
- package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
- package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
- package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
- package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
- package/docs-live/taxonomy/categories.md +33 -0
- package/docs-live/taxonomy/format-types.md +67 -0
- package/docs-live/taxonomy/metadata-tags.md +693 -0
- package/docs-live/validation/error-catalog.md +78 -0
- package/docs-live/validation/fsm-transitions.md +50 -0
- package/docs-live/validation/protection-levels.md +51 -0
- package/package.json +233 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @architect
|
|
4
|
+
* @architect-cli
|
|
5
|
+
* @architect-pattern LintPatternsCLI
|
|
6
|
+
* @architect-status completed
|
|
7
|
+
* @architect-uses LintEngine, LintRules, PatternScanner
|
|
8
|
+
* @architect-extract-shapes LintCLIConfig
|
|
9
|
+
*
|
|
10
|
+
* ## LintPatternsCLI - Pattern Annotation Quality Checker
|
|
11
|
+
*
|
|
12
|
+
* Validates pattern annotations for quality and completeness.
|
|
13
|
+
* Use in CI to enforce documentation standards.
|
|
14
|
+
*
|
|
15
|
+
* ### When to Use
|
|
16
|
+
*
|
|
17
|
+
* - Use in CI pipelines to enforce annotation quality
|
|
18
|
+
* - Use locally to check annotations before committing
|
|
19
|
+
* - Use with `--strict` flag to treat warnings as errors
|
|
20
|
+
*/
|
|
21
|
+
// ─── Error Convention ───────────────────────────────────────────────────
|
|
22
|
+
// CLI modules use throw/catch + process.exit(). Pipeline modules use Result<T,E>.
|
|
23
|
+
// See src/cli/error-handler.ts for the unified handler.
|
|
24
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
25
|
+
import { printVersionAndExit } from './version.js';
|
|
26
|
+
import { handleCliError } from './error-handler.js';
|
|
27
|
+
import { scanPatterns } from '../scanner/index.js';
|
|
28
|
+
import { ScannerConfigSchema } from '../validation-schemas/index.js';
|
|
29
|
+
import { loadConfig, formatConfigError } from '../config/config-loader.js';
|
|
30
|
+
import { defaultRules, filterRulesBySeverity, lintFiles, hasFailures, formatPretty, formatJson, } from '../lint/index.js';
|
|
31
|
+
/**
|
|
32
|
+
* Parse command line arguments
|
|
33
|
+
*
|
|
34
|
+
* @param argv - Command line arguments (defaults to process.argv.slice(2))
|
|
35
|
+
* @returns Parsed CLI configuration
|
|
36
|
+
* @throws Error if required flags are missing values
|
|
37
|
+
*/
|
|
38
|
+
export function parseArgs(argv = process.argv.slice(2)) {
|
|
39
|
+
const config = {
|
|
40
|
+
input: [],
|
|
41
|
+
exclude: [],
|
|
42
|
+
baseDir: process.cwd(),
|
|
43
|
+
strict: false,
|
|
44
|
+
format: 'pretty',
|
|
45
|
+
quiet: false,
|
|
46
|
+
minSeverity: 'info',
|
|
47
|
+
help: false,
|
|
48
|
+
version: false,
|
|
49
|
+
};
|
|
50
|
+
for (let i = 0; i < argv.length; i++) {
|
|
51
|
+
const arg = argv[i];
|
|
52
|
+
if (arg === '--help' || arg === '-h') {
|
|
53
|
+
config.help = true;
|
|
54
|
+
}
|
|
55
|
+
else if (arg === '--input' || arg === '-i') {
|
|
56
|
+
const nextArg = argv[++i];
|
|
57
|
+
if (!nextArg) {
|
|
58
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
59
|
+
}
|
|
60
|
+
config.input.push(nextArg);
|
|
61
|
+
}
|
|
62
|
+
else if (arg === '--exclude' || arg === '-e') {
|
|
63
|
+
const nextArg = argv[++i];
|
|
64
|
+
if (!nextArg) {
|
|
65
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
66
|
+
}
|
|
67
|
+
config.exclude.push(nextArg);
|
|
68
|
+
}
|
|
69
|
+
else if (arg === '--base-dir' || arg === '-b') {
|
|
70
|
+
const nextArg = argv[++i];
|
|
71
|
+
if (!nextArg) {
|
|
72
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
73
|
+
}
|
|
74
|
+
config.baseDir = nextArg;
|
|
75
|
+
}
|
|
76
|
+
else if (arg === '--strict') {
|
|
77
|
+
config.strict = true;
|
|
78
|
+
}
|
|
79
|
+
else if (arg === '--format' || arg === '-f') {
|
|
80
|
+
const nextArg = argv[++i];
|
|
81
|
+
if (!nextArg) {
|
|
82
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
83
|
+
}
|
|
84
|
+
if (nextArg !== 'pretty' && nextArg !== 'json') {
|
|
85
|
+
throw new Error(`Invalid format: ${nextArg}. Use "pretty" or "json"`);
|
|
86
|
+
}
|
|
87
|
+
config.format = nextArg;
|
|
88
|
+
}
|
|
89
|
+
else if (arg === '--quiet' || arg === '-q') {
|
|
90
|
+
config.quiet = true;
|
|
91
|
+
}
|
|
92
|
+
else if (arg === '--min-severity') {
|
|
93
|
+
const nextArg = argv[++i];
|
|
94
|
+
if (!nextArg) {
|
|
95
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
96
|
+
}
|
|
97
|
+
if (nextArg !== 'error' && nextArg !== 'warning' && nextArg !== 'info') {
|
|
98
|
+
throw new Error(`Invalid severity: ${nextArg}. Use "error", "warning", or "info"`);
|
|
99
|
+
}
|
|
100
|
+
config.minSeverity = nextArg;
|
|
101
|
+
}
|
|
102
|
+
else if (arg === '--version' || arg === '-v') {
|
|
103
|
+
config.version = true;
|
|
104
|
+
}
|
|
105
|
+
else if (arg?.startsWith('-') === true) {
|
|
106
|
+
console.warn(`Warning: Unknown flag '${arg}' ignored`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return config;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Print usage information
|
|
113
|
+
*/
|
|
114
|
+
export function printHelp() {
|
|
115
|
+
console.log(`
|
|
116
|
+
architect-lint-patterns - Validate pattern annotation quality
|
|
117
|
+
|
|
118
|
+
Usage:
|
|
119
|
+
architect-lint-patterns [options]
|
|
120
|
+
|
|
121
|
+
Options:
|
|
122
|
+
-i, --input <pattern> Glob pattern for TypeScript files (required, repeatable)
|
|
123
|
+
-e, --exclude <pattern> Glob pattern to exclude (repeatable)
|
|
124
|
+
-b, --base-dir <dir> Base directory for paths (default: cwd)
|
|
125
|
+
--strict Treat warnings as errors (exit 1 on warnings)
|
|
126
|
+
-f, --format <type> Output format: "pretty" (default) or "json"
|
|
127
|
+
-q, --quiet Only show errors (suppress warnings/info)
|
|
128
|
+
--min-severity <level> Minimum severity to report: error|warning|info (default: info)
|
|
129
|
+
-h, --help Show this help message
|
|
130
|
+
-v, --version Show version number
|
|
131
|
+
|
|
132
|
+
Exit Codes:
|
|
133
|
+
0 No errors (warnings allowed unless --strict)
|
|
134
|
+
1 Errors found (or warnings with --strict)
|
|
135
|
+
|
|
136
|
+
Lint Rules:
|
|
137
|
+
error missing-pattern-name Pattern must have @architect-pattern name
|
|
138
|
+
error tautological-description Description should not repeat pattern name
|
|
139
|
+
warning missing-status Pattern should have @architect-status
|
|
140
|
+
warning missing-when-to-use Pattern should have "When to Use" section
|
|
141
|
+
info missing-relationships Consider adding @architect-uses/used-by
|
|
142
|
+
|
|
143
|
+
Examples:
|
|
144
|
+
# Lint all @libar-dev/platform-* patterns
|
|
145
|
+
architect-lint-patterns -i "packages/@libar-dev/platform-*/src/**/*.ts"
|
|
146
|
+
|
|
147
|
+
# Strict mode for CI (fail on warnings)
|
|
148
|
+
architect-lint-patterns -i "packages/@libar-dev/platform-*/src/**/*.ts" --strict
|
|
149
|
+
|
|
150
|
+
# JSON output for tooling
|
|
151
|
+
architect-lint-patterns -i "src/**/*.ts" --format json
|
|
152
|
+
|
|
153
|
+
# Only show errors
|
|
154
|
+
architect-lint-patterns -i "src/**/*.ts" --quiet
|
|
155
|
+
`);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Main CLI function
|
|
159
|
+
*/
|
|
160
|
+
async function main() {
|
|
161
|
+
const config = parseArgs();
|
|
162
|
+
if (config.version) {
|
|
163
|
+
printVersionAndExit('architect-lint-patterns');
|
|
164
|
+
}
|
|
165
|
+
if (config.help) {
|
|
166
|
+
printHelp();
|
|
167
|
+
process.exit(0);
|
|
168
|
+
}
|
|
169
|
+
if (config.input.length === 0) {
|
|
170
|
+
console.error('Error: No input patterns specified. Use --input <pattern>');
|
|
171
|
+
printHelp();
|
|
172
|
+
process.exit(1);
|
|
173
|
+
}
|
|
174
|
+
try {
|
|
175
|
+
// Load configuration (discovers architect.config.ts)
|
|
176
|
+
const configResult = await loadConfig(config.baseDir);
|
|
177
|
+
if (!configResult.ok) {
|
|
178
|
+
console.error(formatConfigError(configResult.error));
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
181
|
+
const { instance: dpInstance, isDefault, path: configPath } = configResult.value;
|
|
182
|
+
// Log configuration source (for transparency)
|
|
183
|
+
if (!isDefault && configPath) {
|
|
184
|
+
console.log(` Config: ${configPath}`);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
console.log(' Config: (default libar-generic preset)');
|
|
188
|
+
}
|
|
189
|
+
// Scan files for directives
|
|
190
|
+
const scannerConfig = ScannerConfigSchema.parse({
|
|
191
|
+
patterns: config.input,
|
|
192
|
+
exclude: config.exclude.length > 0 ? config.exclude : undefined,
|
|
193
|
+
baseDir: config.baseDir,
|
|
194
|
+
});
|
|
195
|
+
const scanResult = await scanPatterns(scannerConfig, dpInstance.registry);
|
|
196
|
+
// scanPatterns returns Result<ScanResults, never> - it always succeeds
|
|
197
|
+
// with errors collected in scanResult.value.errors.
|
|
198
|
+
// The `ok` check narrows the type to access `.value`
|
|
199
|
+
if (!scanResult.ok) {
|
|
200
|
+
// This branch is unreachable (never type), but satisfies TypeScript
|
|
201
|
+
throw new Error('Unexpected scan failure');
|
|
202
|
+
}
|
|
203
|
+
const { files: scanned, errors: scanErrors, skippedDirectives } = scanResult.value;
|
|
204
|
+
// Report scan errors
|
|
205
|
+
if (scanErrors.length > 0 && config.format === 'pretty') {
|
|
206
|
+
console.log(`Warning: ${scanErrors.length} files failed to scan:`);
|
|
207
|
+
for (const { file, error } of scanErrors) {
|
|
208
|
+
console.log(` - ${file}: ${error.reason}`);
|
|
209
|
+
}
|
|
210
|
+
console.log('');
|
|
211
|
+
}
|
|
212
|
+
// Report skipped directives (these are already validation failures)
|
|
213
|
+
if (skippedDirectives.length > 0 && config.format === 'pretty') {
|
|
214
|
+
console.log(`Warning: ${skippedDirectives.length} directives skipped due to validation:`);
|
|
215
|
+
for (const { file, error } of skippedDirectives) {
|
|
216
|
+
console.log(` - ${file}:${error.line}: ${error.reason}`);
|
|
217
|
+
}
|
|
218
|
+
console.log('');
|
|
219
|
+
}
|
|
220
|
+
// Build map of files to directives
|
|
221
|
+
const fileDirectives = new Map();
|
|
222
|
+
for (const file of scanned) {
|
|
223
|
+
const directives = file.directives.map((d) => ({
|
|
224
|
+
directive: d.directive,
|
|
225
|
+
line: d.directive.position.startLine,
|
|
226
|
+
}));
|
|
227
|
+
if (directives.length > 0) {
|
|
228
|
+
fileDirectives.set(file.filePath, directives);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// Get rules filtered by minimum severity
|
|
232
|
+
const rules = filterRulesBySeverity(defaultRules, config.minSeverity);
|
|
233
|
+
// Run lint
|
|
234
|
+
const summary = lintFiles(fileDirectives, rules);
|
|
235
|
+
// Format and output results
|
|
236
|
+
if (config.format === 'json') {
|
|
237
|
+
const jsonResult = formatJson(summary);
|
|
238
|
+
if (!jsonResult.ok) {
|
|
239
|
+
handleCliError(jsonResult.error, 1);
|
|
240
|
+
return; // Ensure we don't access .value on error
|
|
241
|
+
}
|
|
242
|
+
console.log(jsonResult.value);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
const output = formatPretty(summary, { quiet: config.quiet });
|
|
246
|
+
console.log(output);
|
|
247
|
+
}
|
|
248
|
+
// Determine exit code
|
|
249
|
+
process.exit(hasFailures(summary, config.strict) ? 1 : 0);
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
handleCliError(error, 1);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// Entry point
|
|
256
|
+
void main();
|
|
257
|
+
//# sourceMappingURL=lint-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint-patterns.js","sourceRoot":"","sources":["../../src/cli/lint-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @architect
|
|
4
|
+
* @architect-cli
|
|
5
|
+
* @architect-lint
|
|
6
|
+
* @architect-pattern LintProcessCLI
|
|
7
|
+
* @architect-status active
|
|
8
|
+
* @architect-uses ProcessGuardModule
|
|
9
|
+
* @architect-extract-shapes ProcessGuardCLIConfig
|
|
10
|
+
*
|
|
11
|
+
* ## LintProcessCLI - Process Guard Linter CLI
|
|
12
|
+
*
|
|
13
|
+
* Validates git changes against workflow rules.
|
|
14
|
+
* Enforces protection levels, status transitions, and session scope.
|
|
15
|
+
*
|
|
16
|
+
* ### When to Use
|
|
17
|
+
*
|
|
18
|
+
* - Pre-commit hook to validate staged changes
|
|
19
|
+
* - CI/CD to validate all changes against main branch
|
|
20
|
+
* - Development to check specific files
|
|
21
|
+
*/
|
|
22
|
+
import { type ValidationMode } from '../lint/process-guard/index.js';
|
|
23
|
+
/**
|
|
24
|
+
* CLI configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface ProcessGuardCLIConfig {
|
|
27
|
+
/** Validation mode */
|
|
28
|
+
mode: ValidationMode;
|
|
29
|
+
/** Specific files to validate (when mode is 'files') */
|
|
30
|
+
files: string[];
|
|
31
|
+
/** Treat warnings as errors */
|
|
32
|
+
strict: boolean;
|
|
33
|
+
/** Ignore session scope rules */
|
|
34
|
+
ignoreSession: boolean;
|
|
35
|
+
/** Show derived process state (debugging) */
|
|
36
|
+
showState: boolean;
|
|
37
|
+
/** Base directory for relative paths */
|
|
38
|
+
baseDir: string;
|
|
39
|
+
/** Output format */
|
|
40
|
+
format: 'pretty' | 'json';
|
|
41
|
+
/** Show help */
|
|
42
|
+
help: boolean;
|
|
43
|
+
/** Show version */
|
|
44
|
+
version: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Parse command line arguments
|
|
48
|
+
*/
|
|
49
|
+
export declare function parseArgs(argv?: string[]): ProcessGuardCLIConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Print usage information
|
|
52
|
+
*/
|
|
53
|
+
export declare function printHelp(): void;
|
|
54
|
+
//# sourceMappingURL=lint-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint-process.d.ts","sourceRoot":"","sources":["../../src/cli/lint-process.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,EAUL,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,wDAAwD;IACxD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,gBAAgB;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,qBAAqB,CAgEvF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CA+ChC"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @architect
|
|
4
|
+
* @architect-cli
|
|
5
|
+
* @architect-lint
|
|
6
|
+
* @architect-pattern LintProcessCLI
|
|
7
|
+
* @architect-status active
|
|
8
|
+
* @architect-uses ProcessGuardModule
|
|
9
|
+
* @architect-extract-shapes ProcessGuardCLIConfig
|
|
10
|
+
*
|
|
11
|
+
* ## LintProcessCLI - Process Guard Linter CLI
|
|
12
|
+
*
|
|
13
|
+
* Validates git changes against workflow rules.
|
|
14
|
+
* Enforces protection levels, status transitions, and session scope.
|
|
15
|
+
*
|
|
16
|
+
* ### When to Use
|
|
17
|
+
*
|
|
18
|
+
* - Pre-commit hook to validate staged changes
|
|
19
|
+
* - CI/CD to validate all changes against main branch
|
|
20
|
+
* - Development to check specific files
|
|
21
|
+
*/
|
|
22
|
+
// ─── Error Convention ───────────────────────────────────────────────────
|
|
23
|
+
// CLI modules use throw/catch + process.exit(). Pipeline modules use Result<T,E>.
|
|
24
|
+
// See src/cli/error-handler.ts for the unified handler.
|
|
25
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
26
|
+
import { printVersionAndExit } from './version.js';
|
|
27
|
+
import { handleCliError } from './error-handler.js';
|
|
28
|
+
import { formatConfigError, loadProjectConfig } from '../config/config-loader.js';
|
|
29
|
+
import { deriveProcessState, detectStagedChanges, detectBranchChanges, detectFileChanges, validateChanges, hasChanges, hasErrors, hasWarnings, summarizeResult, } from '../lint/process-guard/index.js';
|
|
30
|
+
/**
|
|
31
|
+
* Parse command line arguments
|
|
32
|
+
*/
|
|
33
|
+
export function parseArgs(argv = process.argv.slice(2)) {
|
|
34
|
+
const config = {
|
|
35
|
+
mode: 'staged',
|
|
36
|
+
files: [],
|
|
37
|
+
strict: false,
|
|
38
|
+
ignoreSession: false,
|
|
39
|
+
showState: false,
|
|
40
|
+
baseDir: process.cwd(),
|
|
41
|
+
format: 'pretty',
|
|
42
|
+
help: false,
|
|
43
|
+
version: false,
|
|
44
|
+
};
|
|
45
|
+
for (let i = 0; i < argv.length; i++) {
|
|
46
|
+
const arg = argv[i];
|
|
47
|
+
if (arg === '--help' || arg === '-h') {
|
|
48
|
+
config.help = true;
|
|
49
|
+
}
|
|
50
|
+
else if (arg === '--staged') {
|
|
51
|
+
config.mode = 'staged';
|
|
52
|
+
}
|
|
53
|
+
else if (arg === '--all') {
|
|
54
|
+
config.mode = 'all';
|
|
55
|
+
}
|
|
56
|
+
else if (arg === '--files') {
|
|
57
|
+
config.mode = 'files';
|
|
58
|
+
}
|
|
59
|
+
else if (arg === '--file' || arg === '-f') {
|
|
60
|
+
const nextArg = argv[++i];
|
|
61
|
+
if (nextArg === undefined) {
|
|
62
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
63
|
+
}
|
|
64
|
+
config.files.push(nextArg);
|
|
65
|
+
config.mode = 'files';
|
|
66
|
+
}
|
|
67
|
+
else if (arg === '--strict') {
|
|
68
|
+
config.strict = true;
|
|
69
|
+
}
|
|
70
|
+
else if (arg === '--ignore-session') {
|
|
71
|
+
config.ignoreSession = true;
|
|
72
|
+
}
|
|
73
|
+
else if (arg === '--show-state') {
|
|
74
|
+
config.showState = true;
|
|
75
|
+
}
|
|
76
|
+
else if (arg === '--base-dir' || arg === '-b') {
|
|
77
|
+
const nextArg = argv[++i];
|
|
78
|
+
if (nextArg === undefined) {
|
|
79
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
80
|
+
}
|
|
81
|
+
config.baseDir = nextArg;
|
|
82
|
+
}
|
|
83
|
+
else if (arg === '--format') {
|
|
84
|
+
const nextArg = argv[++i];
|
|
85
|
+
if (nextArg === undefined) {
|
|
86
|
+
throw new Error(`Missing value for ${arg} flag`);
|
|
87
|
+
}
|
|
88
|
+
if (nextArg !== 'pretty' && nextArg !== 'json') {
|
|
89
|
+
throw new Error(`Invalid format: ${nextArg}. Use "pretty" or "json"`);
|
|
90
|
+
}
|
|
91
|
+
config.format = nextArg;
|
|
92
|
+
}
|
|
93
|
+
else if (arg === '--version' || arg === '-v') {
|
|
94
|
+
config.version = true;
|
|
95
|
+
}
|
|
96
|
+
else if (arg?.startsWith('-') === true) {
|
|
97
|
+
console.warn(`Warning: Unknown flag '${arg}' ignored`);
|
|
98
|
+
}
|
|
99
|
+
else if (arg !== undefined) {
|
|
100
|
+
// Positional argument treated as file
|
|
101
|
+
config.files.push(arg);
|
|
102
|
+
config.mode = 'files';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return config;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Print usage information
|
|
109
|
+
*/
|
|
110
|
+
export function printHelp() {
|
|
111
|
+
console.log(`
|
|
112
|
+
architect-guard - Validate changes against workflow rules
|
|
113
|
+
|
|
114
|
+
Usage:
|
|
115
|
+
architect-guard [options] [files...]
|
|
116
|
+
|
|
117
|
+
Modes:
|
|
118
|
+
--staged Validate staged changes (default, for pre-commit)
|
|
119
|
+
--all Validate all changes compared to main branch
|
|
120
|
+
--files Validate specific files (use with --file or positional args)
|
|
121
|
+
|
|
122
|
+
Options:
|
|
123
|
+
-f, --file <path> File to validate (repeatable, implies --files mode)
|
|
124
|
+
-b, --base-dir <dir> Base directory for paths (default: cwd)
|
|
125
|
+
--strict Treat warnings as errors (exit 1 on warnings)
|
|
126
|
+
--ignore-session Ignore session scope rules
|
|
127
|
+
--show-state Show derived process state (debugging)
|
|
128
|
+
--format <type> Output format: "pretty" (default) or "json"
|
|
129
|
+
-h, --help Show this help message
|
|
130
|
+
-v, --version Show version number
|
|
131
|
+
|
|
132
|
+
Exit Codes:
|
|
133
|
+
0 No errors (warnings allowed unless --strict)
|
|
134
|
+
1 Errors found (or warnings with --strict)
|
|
135
|
+
|
|
136
|
+
Rules Checked:
|
|
137
|
+
error completed-protection Cannot modify completed specs without unlock-reason
|
|
138
|
+
error invalid-status-transition Status transition must follow PDR-005 FSM
|
|
139
|
+
error scope-creep Cannot add deliverables to active specs
|
|
140
|
+
error session-excluded Cannot modify files excluded from session
|
|
141
|
+
warning session-scope File not in active session scope
|
|
142
|
+
warning deliverable-removed Deliverable was removed (informational)
|
|
143
|
+
|
|
144
|
+
Examples:
|
|
145
|
+
# Pre-commit hook (default)
|
|
146
|
+
architect-guard --staged
|
|
147
|
+
|
|
148
|
+
# CI/CD pipeline
|
|
149
|
+
architect-guard --all --strict
|
|
150
|
+
|
|
151
|
+
# Check specific files
|
|
152
|
+
architect-guard --file path/to/spec.feature
|
|
153
|
+
|
|
154
|
+
# Debugging - show derived state
|
|
155
|
+
architect-guard --staged --show-state
|
|
156
|
+
`);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Format validation result for pretty output
|
|
160
|
+
*/
|
|
161
|
+
function formatPretty(output) {
|
|
162
|
+
const { result } = output;
|
|
163
|
+
const lines = [];
|
|
164
|
+
lines.push(summarizeResult(result));
|
|
165
|
+
lines.push('');
|
|
166
|
+
if (result.violations.length > 0) {
|
|
167
|
+
lines.push('Errors:');
|
|
168
|
+
for (const v of result.violations) {
|
|
169
|
+
lines.push(` [${v.rule}] ${v.file}`);
|
|
170
|
+
lines.push(` ${v.message}`);
|
|
171
|
+
if (v.suggestion !== undefined) {
|
|
172
|
+
lines.push(` Fix: ${v.suggestion}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
lines.push('');
|
|
176
|
+
}
|
|
177
|
+
if (result.warnings.length > 0) {
|
|
178
|
+
lines.push('Warnings:');
|
|
179
|
+
for (const w of result.warnings) {
|
|
180
|
+
lines.push(` [${w.rule}] ${w.file}`);
|
|
181
|
+
lines.push(` ${w.message}`);
|
|
182
|
+
if (w.suggestion !== undefined) {
|
|
183
|
+
lines.push(` Fix: ${w.suggestion}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
lines.push('');
|
|
187
|
+
}
|
|
188
|
+
return lines.join('\n');
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Format validation result for JSON output
|
|
192
|
+
*/
|
|
193
|
+
function formatJson(output) {
|
|
194
|
+
const { result, events } = output;
|
|
195
|
+
return JSON.stringify({
|
|
196
|
+
valid: result.valid,
|
|
197
|
+
violations: result.violations,
|
|
198
|
+
warnings: result.warnings,
|
|
199
|
+
events,
|
|
200
|
+
}, null, 2);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Main CLI function
|
|
204
|
+
*/
|
|
205
|
+
async function main() {
|
|
206
|
+
const config = parseArgs();
|
|
207
|
+
if (config.version) {
|
|
208
|
+
printVersionAndExit('architect-guard');
|
|
209
|
+
}
|
|
210
|
+
if (config.help) {
|
|
211
|
+
printHelp();
|
|
212
|
+
process.exit(0);
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
console.log(`Process Guard: validating ${config.mode} changes...`);
|
|
216
|
+
console.log(` Base directory: ${config.baseDir}`);
|
|
217
|
+
const configResult = await loadProjectConfig(config.baseDir);
|
|
218
|
+
if (!configResult.ok) {
|
|
219
|
+
throw new Error(formatConfigError(configResult.error));
|
|
220
|
+
}
|
|
221
|
+
const projectConfig = configResult.value;
|
|
222
|
+
const featurePatterns = projectConfig.project.sources.features.length > 0
|
|
223
|
+
? projectConfig.project.sources.features
|
|
224
|
+
: undefined;
|
|
225
|
+
// Derive process state
|
|
226
|
+
const stateResult = await deriveProcessState({
|
|
227
|
+
baseDir: config.baseDir,
|
|
228
|
+
...(featurePatterns ? { specPatterns: featurePatterns } : {}),
|
|
229
|
+
});
|
|
230
|
+
if (!stateResult.ok) {
|
|
231
|
+
throw stateResult.error;
|
|
232
|
+
}
|
|
233
|
+
const state = stateResult.value;
|
|
234
|
+
if (config.showState) {
|
|
235
|
+
console.log('\nDerived Process State:');
|
|
236
|
+
console.log(` Files: ${state.files.size}`);
|
|
237
|
+
console.log(` Active Session: ${state.activeSession?.id ?? 'none'}`);
|
|
238
|
+
console.log('');
|
|
239
|
+
// Show file states
|
|
240
|
+
for (const [path, fileState] of state.files) {
|
|
241
|
+
console.log(` ${path}`);
|
|
242
|
+
console.log(` Status: ${fileState.status} (${fileState.protection} protection)`);
|
|
243
|
+
if (fileState.deliverables.length > 0) {
|
|
244
|
+
console.log(` Deliverables: ${fileState.deliverables.length}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
console.log('');
|
|
248
|
+
}
|
|
249
|
+
// Detect changes based on mode
|
|
250
|
+
let changesResult;
|
|
251
|
+
switch (config.mode) {
|
|
252
|
+
case 'staged':
|
|
253
|
+
changesResult = detectStagedChanges(config.baseDir, {
|
|
254
|
+
registry: projectConfig.instance.registry,
|
|
255
|
+
...(featurePatterns ? { featurePatterns } : {}),
|
|
256
|
+
});
|
|
257
|
+
break;
|
|
258
|
+
case 'all':
|
|
259
|
+
changesResult = detectBranchChanges(config.baseDir, 'main', {
|
|
260
|
+
registry: projectConfig.instance.registry,
|
|
261
|
+
...(featurePatterns ? { featurePatterns } : {}),
|
|
262
|
+
});
|
|
263
|
+
break;
|
|
264
|
+
case 'files':
|
|
265
|
+
if (config.files.length === 0) {
|
|
266
|
+
console.error('Error: No files specified with --files mode');
|
|
267
|
+
printHelp();
|
|
268
|
+
process.exit(1);
|
|
269
|
+
}
|
|
270
|
+
changesResult = detectFileChanges(config.baseDir, config.files, {
|
|
271
|
+
registry: projectConfig.instance.registry,
|
|
272
|
+
...(featurePatterns ? { featurePatterns } : {}),
|
|
273
|
+
});
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
if (!changesResult.ok) {
|
|
277
|
+
throw changesResult.error;
|
|
278
|
+
}
|
|
279
|
+
const changes = changesResult.value;
|
|
280
|
+
// Check if there are any changes
|
|
281
|
+
if (!hasChanges(changes)) {
|
|
282
|
+
console.log('No changes detected.');
|
|
283
|
+
process.exit(0);
|
|
284
|
+
}
|
|
285
|
+
console.log(` Modified files: ${changes.modifiedFiles.length}`);
|
|
286
|
+
console.log(` Added files: ${changes.addedFiles.length}`);
|
|
287
|
+
console.log(` Deleted files: ${changes.deletedFiles.length}`);
|
|
288
|
+
console.log(` Status transitions: ${changes.statusTransitions.size}`);
|
|
289
|
+
console.log(` Deliverable changes: ${changes.deliverableChanges.size}`);
|
|
290
|
+
console.log('');
|
|
291
|
+
// Validate changes
|
|
292
|
+
const output = validateChanges({
|
|
293
|
+
state,
|
|
294
|
+
changes,
|
|
295
|
+
options: {
|
|
296
|
+
strict: config.strict,
|
|
297
|
+
ignoreSession: config.ignoreSession,
|
|
298
|
+
},
|
|
299
|
+
});
|
|
300
|
+
// Format and output results
|
|
301
|
+
if (config.format === 'json') {
|
|
302
|
+
console.log(formatJson(output));
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
console.log(formatPretty(output));
|
|
306
|
+
}
|
|
307
|
+
// Determine exit code
|
|
308
|
+
const failed = config.strict
|
|
309
|
+
? hasErrors(output.result) || hasWarnings(output.result)
|
|
310
|
+
: hasErrors(output.result);
|
|
311
|
+
process.exit(failed ? 1 : 0);
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
handleCliError(error, 1);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Entry point
|
|
318
|
+
void main();
|
|
319
|
+
//# sourceMappingURL=lint-process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint-process.js","sourceRoot":"","sources":["../../src/cli/lint-process.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,2EAA2E;AAC3E,kFAAkF;AAClF,wDAAwD;AACxD,2EAA2E;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,GAEhB,MAAM,gCAAgC,CAAC;AA0BxC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAA0B;QACpC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,0BAA0B,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,sCAAsC;YACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CX,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAA0C;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,MAA0C;IAC5D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClC,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM;KACP,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;QACzC,MAAM,eAAe,GACnB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ;YACxC,CAAC,CAAC,SAAS,CAAC;QAEhB,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,WAAW,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAEhC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,aAAa,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,mBAAmB;YACnB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,UAAU,cAAc,CAAC,CAAC;gBACpF,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,+BAA+B;QAC/B,IAAI,aAAa,CAAC;QAClB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE;oBAClD,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ;oBACzC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,KAAK;gBACR,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;oBAC1D,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ;oBACzC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,SAAS,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC9D,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ;oBACzC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;QAEpC,iCAAiC;QACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,mBAAmB;QACnB,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,KAAK;YACL,OAAO;YACP,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC;SACF,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;YAC1B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,cAAc;AACd,KAAK,IAAI,EAAE,CAAC"}
|