@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,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-pattern HandoffGeneratorImpl
|
|
4
|
+
* @architect-status completed
|
|
5
|
+
* @architect-implements DataAPIDesignSessionSupport
|
|
6
|
+
* @architect-uses ProcessStateAPI, MasterDataset, ContextFormatterImpl
|
|
7
|
+
* @architect-used-by ProcessAPICLIImpl
|
|
8
|
+
* @architect-target src/api/handoff-generator.ts
|
|
9
|
+
* @architect-arch-role service
|
|
10
|
+
* @architect-arch-context api
|
|
11
|
+
* @architect-arch-layer application
|
|
12
|
+
*
|
|
13
|
+
* ## HandoffGenerator — Session-End State Summary
|
|
14
|
+
*
|
|
15
|
+
* Pure function that assembles a handoff document from ProcessStateAPI
|
|
16
|
+
* and MasterDataset. Captures everything the next session needs to
|
|
17
|
+
* continue work without context loss.
|
|
18
|
+
*
|
|
19
|
+
* **When to Use:** When ending a work session and capturing state for the next session via the `handoff` CLI subcommand.
|
|
20
|
+
*/
|
|
21
|
+
import { QueryApiError } from './types.js';
|
|
22
|
+
import { getPatternName } from './pattern-helpers.js';
|
|
23
|
+
import { isDeliverableStatusComplete, isDeliverableStatusPending, } from '../taxonomy/deliverable-status.js';
|
|
24
|
+
import { normalizeStatus, isPatternComplete } from '../taxonomy/normalized-status.js';
|
|
25
|
+
import { DEFAULT_STATUS } from '../taxonomy/status-values.js';
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Session Type Inference (DD-3)
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
function inferSessionType(status) {
|
|
30
|
+
const normalized = normalizeStatus(status ?? DEFAULT_STATUS);
|
|
31
|
+
switch (normalized) {
|
|
32
|
+
case 'active':
|
|
33
|
+
return 'implement';
|
|
34
|
+
case 'completed':
|
|
35
|
+
return 'review';
|
|
36
|
+
default:
|
|
37
|
+
return 'design';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Main Entry Point
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
export function generateHandoff(api, _dataset, // _dataset reserved for future use per design stub
|
|
44
|
+
options) {
|
|
45
|
+
const { patternName, modifiedFiles } = options;
|
|
46
|
+
const pattern = api.getPattern(patternName);
|
|
47
|
+
if (pattern === undefined) {
|
|
48
|
+
throw new QueryApiError('PATTERN_NOT_FOUND', `Pattern not found: "${patternName}"`);
|
|
49
|
+
}
|
|
50
|
+
const resolvedName = getPatternName(pattern);
|
|
51
|
+
const sessionType = options.sessionType ?? inferSessionType(pattern.status);
|
|
52
|
+
const date = new Date().toISOString().slice(0, 10);
|
|
53
|
+
const sections = [];
|
|
54
|
+
// Deliverables split
|
|
55
|
+
const deliverables = api.getPatternDeliverables(patternName);
|
|
56
|
+
const completed = deliverables.filter((d) => isDeliverableStatusComplete(d.status));
|
|
57
|
+
const inProgress = deliverables.filter((d) => !isDeliverableStatusComplete(d.status) && !isDeliverableStatusPending(d.status));
|
|
58
|
+
const remaining = deliverables.filter((d) => !isDeliverableStatusComplete(d.status));
|
|
59
|
+
// Completed deliverables
|
|
60
|
+
if (completed.length > 0) {
|
|
61
|
+
sections.push({
|
|
62
|
+
title: 'COMPLETED',
|
|
63
|
+
items: completed.map((d) => `[x] ${d.name} (${d.location})`),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
// In-progress deliverables
|
|
67
|
+
if (inProgress.length > 0) {
|
|
68
|
+
sections.push({
|
|
69
|
+
title: 'IN PROGRESS',
|
|
70
|
+
items: inProgress.map((d) => `[ ] ${d.name} (${d.location})`),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Files modified (DD-2: only when modifiedFiles provided)
|
|
74
|
+
if (modifiedFiles !== undefined && modifiedFiles.length > 0) {
|
|
75
|
+
sections.push({
|
|
76
|
+
title: 'FILES MODIFIED',
|
|
77
|
+
items: modifiedFiles,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// Discovered items
|
|
81
|
+
const gaps = pattern.discoveredGaps ?? [];
|
|
82
|
+
const improvements = pattern.discoveredImprovements ?? [];
|
|
83
|
+
const learnings = pattern.discoveredLearnings ?? [];
|
|
84
|
+
if (gaps.length > 0 || improvements.length > 0 || learnings.length > 0) {
|
|
85
|
+
const items = [];
|
|
86
|
+
if (gaps.length > 0) {
|
|
87
|
+
items.push(`Gaps: ${gaps.join(', ')}`);
|
|
88
|
+
}
|
|
89
|
+
if (improvements.length > 0) {
|
|
90
|
+
items.push(`Improvements: ${improvements.join(', ')}`);
|
|
91
|
+
}
|
|
92
|
+
if (learnings.length > 0) {
|
|
93
|
+
items.push(`Learnings: ${learnings.join(', ')}`);
|
|
94
|
+
}
|
|
95
|
+
sections.push({ title: 'DISCOVERED', items });
|
|
96
|
+
}
|
|
97
|
+
// Blockers (incomplete dependencies)
|
|
98
|
+
const deps = api.getPatternDependencies(patternName);
|
|
99
|
+
const incompleteDeps = [];
|
|
100
|
+
if (deps !== undefined) {
|
|
101
|
+
for (const depName of deps.dependsOn) {
|
|
102
|
+
const depPattern = api.getPattern(depName);
|
|
103
|
+
if (depPattern !== undefined && !isPatternComplete(depPattern.status)) {
|
|
104
|
+
incompleteDeps.push(`${depName} (${depPattern.status ?? 'unknown'})`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
sections.push({
|
|
109
|
+
title: 'BLOCKERS',
|
|
110
|
+
items: incompleteDeps.length > 0 ? incompleteDeps : ['None'],
|
|
111
|
+
});
|
|
112
|
+
// Next session priorities (remaining deliverables in order)
|
|
113
|
+
if (remaining.length > 0) {
|
|
114
|
+
sections.push({
|
|
115
|
+
title: 'NEXT SESSION',
|
|
116
|
+
items: remaining.map((d, i) => `${i + 1}. ${d.name} (${d.location})`),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
pattern: resolvedName,
|
|
121
|
+
sessionType,
|
|
122
|
+
date,
|
|
123
|
+
status: pattern.status,
|
|
124
|
+
sections,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// ---------------------------------------------------------------------------
|
|
128
|
+
// Text Formatter (co-located per PDR-002 DD-7)
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
export function formatHandoff(doc) {
|
|
131
|
+
const sections = [];
|
|
132
|
+
sections.push(`=== HANDOFF: ${doc.pattern} (${doc.sessionType}) ===\n` +
|
|
133
|
+
`Date: ${doc.date} | Status: ${doc.status ?? 'unknown'}`);
|
|
134
|
+
for (const section of doc.sections) {
|
|
135
|
+
sections.push(`=== ${section.title} ===\n` + section.items.join('\n'));
|
|
136
|
+
}
|
|
137
|
+
return sections.join('\n\n') + '\n';
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=handoff-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff-generator.js","sourceRoot":"","sources":["../../src/api/handoff-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern APIModule
|
|
5
|
+
* @architect-status active
|
|
6
|
+
*
|
|
7
|
+
* ## API Module - Programmatic Process State Interface
|
|
8
|
+
*
|
|
9
|
+
* Central export for the Process State API, providing a TypeScript
|
|
10
|
+
* interface for querying project state.
|
|
11
|
+
*
|
|
12
|
+
* ### When to Use
|
|
13
|
+
*
|
|
14
|
+
* - When building tools that need programmatic access to project state
|
|
15
|
+
* - When integrating with Claude Code for real-time process queries
|
|
16
|
+
* - When building CI/CD pipelines that validate delivery workflow
|
|
17
|
+
*
|
|
18
|
+
* ### Usage
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {
|
|
22
|
+
* createProcessStateAPI,
|
|
23
|
+
* type ProcessStateAPI,
|
|
24
|
+
* type QueryResult,
|
|
25
|
+
* } from "@libar-dev/architect/api";
|
|
26
|
+
*
|
|
27
|
+
* const api = createProcessStateAPI(masterDataset);
|
|
28
|
+
*
|
|
29
|
+
* // Query current work
|
|
30
|
+
* const activeWork = api.getCurrentWork();
|
|
31
|
+
*
|
|
32
|
+
* // Check FSM transition
|
|
33
|
+
* const check = api.checkTransition("roadmap", "active");
|
|
34
|
+
* if (check.valid) {
|
|
35
|
+
* console.log("Transition is valid");
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export type { QuerySuccess, QueryError, QueryErrorCode, QueryResult, StatusCounts, StatusDistribution, PhaseProgress, PhaseGroup, PatternDependencies, PatternRelationships, PatternDeliverable, QuarterGroup, TransitionCheck, ProtectionInfo, } from './types.js';
|
|
40
|
+
export { createSuccess, createError, QueryApiError } from './types.js';
|
|
41
|
+
export type { NeighborEntry } from './types.js';
|
|
42
|
+
export type { ProcessStateAPI } from './process-state.js';
|
|
43
|
+
export { createProcessStateAPI } from './process-state.js';
|
|
44
|
+
export type { PatternSummary } from './summarize.js';
|
|
45
|
+
export { PatternSummarySchema, SUMMARY_FIELDS, summarizePattern, summarizePatterns, } from './summarize.js';
|
|
46
|
+
export type { FuzzyMatch } from './fuzzy-match.js';
|
|
47
|
+
export { fuzzyMatchPatterns, findBestMatch } from './fuzzy-match.js';
|
|
48
|
+
export { getPatternName, findPatternByName, getRelationships, allPatternNames, suggestPattern, firstImplements, } from './pattern-helpers.js';
|
|
49
|
+
export type { StubResolution, StubSummary, DecisionItem, PdrReference } from './stub-resolver.js';
|
|
50
|
+
export { findStubPatterns, resolveStubs, groupStubsByPattern, extractDecisionItems, findPdrReferences, } from './stub-resolver.js';
|
|
51
|
+
export type { SessionType, ContextOptions, DepTreeOptions, PatternContextMeta, StubRef, DepEntry, DeliverableEntry, FsmContext, ContextBundle, DepTreeNode, FileReadingList, ProgressSummary, ActivePhaseSummary, BlockingEntry, OverviewSummary, } from './context-assembler.js';
|
|
52
|
+
export { isValidSessionType, assembleContext, buildDepTree, buildFileReadingList, buildOverview, } from './context-assembler.js';
|
|
53
|
+
export { formatContextBundle, formatDepTree, formatFileReadingList, formatOverview, } from './context-formatter.js';
|
|
54
|
+
export type { NeighborhoodResult, ContextComparison, TagUsageReport, SourceInventory, } from './arch-queries.js';
|
|
55
|
+
export { computeNeighborhood, compareContexts, aggregateTagUsage, buildSourceInventory, } from './arch-queries.js';
|
|
56
|
+
export type { CoverageReport } from './coverage-analyzer.js';
|
|
57
|
+
export { analyzeCoverage, findUnannotatedFiles, findUnusedTaxonomy } from './coverage-analyzer.js';
|
|
58
|
+
export type { RulesFilters, RuleOutput, RulesQueryResult } from './rules-query.js';
|
|
59
|
+
export { queryBusinessRules } from './rules-query.js';
|
|
60
|
+
export { deriveSource } from './summarize.js';
|
|
61
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,YAAY,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGnG,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern APIModule
|
|
5
|
+
* @architect-status active
|
|
6
|
+
*
|
|
7
|
+
* ## API Module - Programmatic Process State Interface
|
|
8
|
+
*
|
|
9
|
+
* Central export for the Process State API, providing a TypeScript
|
|
10
|
+
* interface for querying project state.
|
|
11
|
+
*
|
|
12
|
+
* ### When to Use
|
|
13
|
+
*
|
|
14
|
+
* - When building tools that need programmatic access to project state
|
|
15
|
+
* - When integrating with Claude Code for real-time process queries
|
|
16
|
+
* - When building CI/CD pipelines that validate delivery workflow
|
|
17
|
+
*
|
|
18
|
+
* ### Usage
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import {
|
|
22
|
+
* createProcessStateAPI,
|
|
23
|
+
* type ProcessStateAPI,
|
|
24
|
+
* type QueryResult,
|
|
25
|
+
* } from "@libar-dev/architect/api";
|
|
26
|
+
*
|
|
27
|
+
* const api = createProcessStateAPI(masterDataset);
|
|
28
|
+
*
|
|
29
|
+
* // Query current work
|
|
30
|
+
* const activeWork = api.getCurrentWork();
|
|
31
|
+
*
|
|
32
|
+
* // Check FSM transition
|
|
33
|
+
* const check = api.checkTransition("roadmap", "active");
|
|
34
|
+
* if (check.valid) {
|
|
35
|
+
* console.log("Transition is valid");
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export { createSuccess, createError, QueryApiError } from './types.js';
|
|
40
|
+
export { createProcessStateAPI } from './process-state.js';
|
|
41
|
+
export { PatternSummarySchema, SUMMARY_FIELDS, summarizePattern, summarizePatterns, } from './summarize.js';
|
|
42
|
+
export { fuzzyMatchPatterns, findBestMatch } from './fuzzy-match.js';
|
|
43
|
+
// Pattern Helpers
|
|
44
|
+
export { getPatternName, findPatternByName, getRelationships, allPatternNames, suggestPattern, firstImplements, } from './pattern-helpers.js';
|
|
45
|
+
export { findStubPatterns, resolveStubs, groupStubsByPattern, extractDecisionItems, findPdrReferences, } from './stub-resolver.js';
|
|
46
|
+
export { isValidSessionType, assembleContext, buildDepTree, buildFileReadingList, buildOverview, } from './context-assembler.js';
|
|
47
|
+
// Context Formatting
|
|
48
|
+
export { formatContextBundle, formatDepTree, formatFileReadingList, formatOverview, } from './context-formatter.js';
|
|
49
|
+
export { computeNeighborhood, compareContexts, aggregateTagUsage, buildSourceInventory, } from './arch-queries.js';
|
|
50
|
+
export { analyzeCoverage, findUnannotatedFiles, findUnusedTaxonomy } from './coverage-analyzer.js';
|
|
51
|
+
export { queryBusinessRules } from './rules-query.js';
|
|
52
|
+
// Pattern Summarization (extended)
|
|
53
|
+
export { deriveSource } from './summarize.js';
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAoBH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAoB5B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,qBAAqB;AACrB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAInG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-pattern PatternHelpers
|
|
4
|
+
* @architect-status active
|
|
5
|
+
* @architect-implements DataAPIOutputShaping
|
|
6
|
+
* @architect-arch-context api
|
|
7
|
+
* @architect-arch-layer domain
|
|
8
|
+
*
|
|
9
|
+
* ## Pattern Helpers — Shared Lookup Utilities
|
|
10
|
+
*
|
|
11
|
+
* Common helper functions used by context-assembler, arch-queries, and other
|
|
12
|
+
* API modules that need pattern name resolution and relationship lookups.
|
|
13
|
+
*
|
|
14
|
+
* **When to Use:** When resolving pattern names, looking up relationships, or finding patterns by name in API module code.
|
|
15
|
+
*/
|
|
16
|
+
import type { ExtractedPattern } from '../validation-schemas/extracted-pattern.js';
|
|
17
|
+
import type { MasterDataset, RelationshipEntry, SequenceIndexEntry } from '../validation-schemas/master-dataset.js';
|
|
18
|
+
/**
|
|
19
|
+
* Get the display name for a pattern: prefers explicit `patternName` tag,
|
|
20
|
+
* falls back to the extracted `name`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPatternName(p: ExtractedPattern): string;
|
|
23
|
+
/**
|
|
24
|
+
* Find a pattern by name using case-insensitive matching.
|
|
25
|
+
*/
|
|
26
|
+
export declare function findPatternByName(patterns: readonly ExtractedPattern[], name: string): ExtractedPattern | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Look up relationship entry by pattern name with case-insensitive fallback.
|
|
29
|
+
*
|
|
30
|
+
* Tries exact key match first for performance, then falls back to
|
|
31
|
+
* case-insensitive scan if the exact key is not found.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getRelationships(dataset: MasterDataset, name: string): RelationshipEntry | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Look up a sequenceIndex entry by pattern name with case-insensitive fallback.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getSequenceEntry(dataset: MasterDataset, name: string): SequenceIndexEntry | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Get all pattern display names from the dataset.
|
|
40
|
+
*/
|
|
41
|
+
export declare function allPatternNames(dataset: MasterDataset): readonly string[];
|
|
42
|
+
/**
|
|
43
|
+
* Build a "Did you mean: X?" suggestion string using fuzzy matching.
|
|
44
|
+
* Returns empty string if no good match is found.
|
|
45
|
+
*/
|
|
46
|
+
export declare function suggestPattern(query: string, candidates: readonly string[]): string;
|
|
47
|
+
/**
|
|
48
|
+
* Get the first implements-pattern name from a pattern, if any.
|
|
49
|
+
*/
|
|
50
|
+
export declare function firstImplements(pattern: ExtractedPattern): string | undefined;
|
|
51
|
+
//# sourceMappingURL=pattern-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-helpers.d.ts","sourceRoot":"","sources":["../../src/api/pattern-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,yCAAyC,CAAC;AAGjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,IAAI,EAAE,MAAM,GACX,gBAAgB,GAAG,SAAS,CAG9B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAS/B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,SAAS,CAShC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE7E"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-pattern PatternHelpers
|
|
4
|
+
* @architect-status active
|
|
5
|
+
* @architect-implements DataAPIOutputShaping
|
|
6
|
+
* @architect-arch-context api
|
|
7
|
+
* @architect-arch-layer domain
|
|
8
|
+
*
|
|
9
|
+
* ## Pattern Helpers — Shared Lookup Utilities
|
|
10
|
+
*
|
|
11
|
+
* Common helper functions used by context-assembler, arch-queries, and other
|
|
12
|
+
* API modules that need pattern name resolution and relationship lookups.
|
|
13
|
+
*
|
|
14
|
+
* **When to Use:** When resolving pattern names, looking up relationships, or finding patterns by name in API module code.
|
|
15
|
+
*/
|
|
16
|
+
import { findBestMatch } from './fuzzy-match.js';
|
|
17
|
+
/**
|
|
18
|
+
* Get the display name for a pattern: prefers explicit `patternName` tag,
|
|
19
|
+
* falls back to the extracted `name`.
|
|
20
|
+
*/
|
|
21
|
+
export function getPatternName(p) {
|
|
22
|
+
return p.patternName ?? p.name;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Find a pattern by name using case-insensitive matching.
|
|
26
|
+
*/
|
|
27
|
+
export function findPatternByName(patterns, name) {
|
|
28
|
+
const lower = name.toLowerCase();
|
|
29
|
+
return patterns.find((p) => getPatternName(p).toLowerCase() === lower);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Look up relationship entry by pattern name with case-insensitive fallback.
|
|
33
|
+
*
|
|
34
|
+
* Tries exact key match first for performance, then falls back to
|
|
35
|
+
* case-insensitive scan if the exact key is not found.
|
|
36
|
+
*/
|
|
37
|
+
export function getRelationships(dataset, name) {
|
|
38
|
+
if (dataset.relationshipIndex === undefined)
|
|
39
|
+
return undefined;
|
|
40
|
+
const entry = dataset.relationshipIndex[name];
|
|
41
|
+
if (entry !== undefined)
|
|
42
|
+
return entry;
|
|
43
|
+
const lower = name.toLowerCase();
|
|
44
|
+
for (const [key, value] of Object.entries(dataset.relationshipIndex)) {
|
|
45
|
+
if (key.toLowerCase() === lower)
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Look up a sequenceIndex entry by pattern name with case-insensitive fallback.
|
|
52
|
+
*/
|
|
53
|
+
export function getSequenceEntry(dataset, name) {
|
|
54
|
+
if (dataset.sequenceIndex === undefined)
|
|
55
|
+
return undefined;
|
|
56
|
+
const exact = dataset.sequenceIndex[name];
|
|
57
|
+
if (exact !== undefined)
|
|
58
|
+
return exact;
|
|
59
|
+
const pattern = findPatternByName(dataset.patterns, name);
|
|
60
|
+
if (pattern === undefined)
|
|
61
|
+
return undefined;
|
|
62
|
+
return dataset.sequenceIndex[getPatternName(pattern)];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get all pattern display names from the dataset.
|
|
66
|
+
*/
|
|
67
|
+
export function allPatternNames(dataset) {
|
|
68
|
+
return dataset.patterns.map((p) => getPatternName(p));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build a "Did you mean: X?" suggestion string using fuzzy matching.
|
|
72
|
+
* Returns empty string if no good match is found.
|
|
73
|
+
*/
|
|
74
|
+
export function suggestPattern(query, candidates) {
|
|
75
|
+
const best = findBestMatch(query, candidates);
|
|
76
|
+
return best !== undefined ? ` Did you mean: ${best.patternName}?` : '';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get the first implements-pattern name from a pattern, if any.
|
|
80
|
+
*/
|
|
81
|
+
export function firstImplements(pattern) {
|
|
82
|
+
return pattern.implementsPatterns?.[0];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=pattern-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-helpers.js","sourceRoot":"","sources":["../../src/api/pattern-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAmB;IAChD,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAqC,EACrC,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAsB,EACtB,IAAY;IAEZ,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAsB,EACtB,IAAY;IAEZ,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,OAAO,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAsB;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAA6B;IACzE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core
|
|
4
|
+
* @architect-pattern ProcessStateAPI
|
|
5
|
+
* @architect-status active
|
|
6
|
+
* @architect-implements PhaseStateMachineValidation
|
|
7
|
+
* @architect-arch-role service
|
|
8
|
+
* @architect-arch-context api
|
|
9
|
+
* @architect-arch-layer application
|
|
10
|
+
* @architect-uses MasterDataset, FSMValidator
|
|
11
|
+
*
|
|
12
|
+
* ## Process State API - Programmatic Query Interface
|
|
13
|
+
*
|
|
14
|
+
* TypeScript interface for querying project state.
|
|
15
|
+
* Designed for Claude Code integration and programmatic access.
|
|
16
|
+
*
|
|
17
|
+
* ### When to Use
|
|
18
|
+
*
|
|
19
|
+
* - When querying patterns by status, phase, or relationships
|
|
20
|
+
* - When validating FSM transitions before making changes
|
|
21
|
+
* - When building dashboards or reports on delivery progress
|
|
22
|
+
* - When Claude Code needs real-time delivery state (prefer over reading Markdown)
|
|
23
|
+
*
|
|
24
|
+
* ### Key Features
|
|
25
|
+
*
|
|
26
|
+
* - **Status Queries**: Get patterns by status, counts, distributions
|
|
27
|
+
* - **Phase Queries**: Get phase progress, active phases, patterns
|
|
28
|
+
* - **FSM Queries**: Validate transitions, check protection levels
|
|
29
|
+
* - **Pattern Queries**: Find patterns, get dependencies, deliverables
|
|
30
|
+
* - **Timeline Queries**: Group by quarter, get current work, roadmap
|
|
31
|
+
*
|
|
32
|
+
* ### Usage
|
|
33
|
+
*
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { createProcessStateAPI } from "@libar-dev/architect";
|
|
36
|
+
*
|
|
37
|
+
* const api = createProcessStateAPI(masterDataset);
|
|
38
|
+
*
|
|
39
|
+
* // Get current work
|
|
40
|
+
* const active = api.getCurrentWork();
|
|
41
|
+
*
|
|
42
|
+
* // Check transition
|
|
43
|
+
* if (api.isValidTransition("roadmap", "active")) {
|
|
44
|
+
* console.log("Can start work");
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
import type { MasterDataset, ExtractedPattern } from '../validation-schemas/index.js';
|
|
49
|
+
import type { ProcessStatusValue } from '../taxonomy/index.js';
|
|
50
|
+
import type { StatusCounts, StatusDistribution, PhaseProgress, PhaseGroup, PatternDependencies, PatternRelationships, PatternDeliverable, QuarterGroup, TransitionCheck, ProtectionInfo } from './types.js';
|
|
51
|
+
/**
|
|
52
|
+
* Programmatic API for querying project state
|
|
53
|
+
*/
|
|
54
|
+
export interface ProcessStateAPI {
|
|
55
|
+
/**
|
|
56
|
+
* Get all patterns with a specific normalized status
|
|
57
|
+
*
|
|
58
|
+
* @param status - "completed" | "active" | "planned"
|
|
59
|
+
* @returns Array of patterns with that status
|
|
60
|
+
*/
|
|
61
|
+
getPatternsByNormalizedStatus(status: 'completed' | 'active' | 'planned'): ExtractedPattern[];
|
|
62
|
+
/**
|
|
63
|
+
* Get all patterns with a specific FSM status value
|
|
64
|
+
*
|
|
65
|
+
* @param status - ProcessStatusValue (roadmap, active, completed, deferred)
|
|
66
|
+
* @returns Array of patterns with that exact status
|
|
67
|
+
*/
|
|
68
|
+
getPatternsByStatus(status: ProcessStatusValue): ExtractedPattern[];
|
|
69
|
+
/**
|
|
70
|
+
* Get status counts (completed, active, planned, total)
|
|
71
|
+
*/
|
|
72
|
+
getStatusCounts(): StatusCounts;
|
|
73
|
+
/**
|
|
74
|
+
* Get status distribution with percentages
|
|
75
|
+
*/
|
|
76
|
+
getStatusDistribution(): StatusDistribution;
|
|
77
|
+
/**
|
|
78
|
+
* Get overall completion percentage
|
|
79
|
+
*/
|
|
80
|
+
getCompletionPercentage(): number;
|
|
81
|
+
/**
|
|
82
|
+
* Get all patterns in a specific phase
|
|
83
|
+
*
|
|
84
|
+
* @param phase - Phase number
|
|
85
|
+
* @returns Array of patterns in that phase
|
|
86
|
+
*/
|
|
87
|
+
getPatternsByPhase(phase: number): ExtractedPattern[];
|
|
88
|
+
/**
|
|
89
|
+
* Get progress for a specific phase
|
|
90
|
+
*
|
|
91
|
+
* @param phase - Phase number
|
|
92
|
+
* @returns Phase progress with counts and completion percentage
|
|
93
|
+
*/
|
|
94
|
+
getPhaseProgress(phase: number): PhaseProgress | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Get all phases with active work
|
|
97
|
+
*/
|
|
98
|
+
getActivePhases(): PhaseGroup[];
|
|
99
|
+
/**
|
|
100
|
+
* Get all phase groups sorted by phase number
|
|
101
|
+
*/
|
|
102
|
+
getAllPhases(): PhaseGroup[];
|
|
103
|
+
/**
|
|
104
|
+
* Check if a status transition is valid
|
|
105
|
+
*
|
|
106
|
+
* @param from - Current status
|
|
107
|
+
* @param to - Target status
|
|
108
|
+
*/
|
|
109
|
+
isValidTransition(from: ProcessStatusValue, to: ProcessStatusValue): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Get detailed transition validation result
|
|
112
|
+
*
|
|
113
|
+
* @param from - Current status
|
|
114
|
+
* @param to - Target status
|
|
115
|
+
*/
|
|
116
|
+
checkTransition(from: string, to: string): TransitionCheck;
|
|
117
|
+
/**
|
|
118
|
+
* Get valid transition targets from a status
|
|
119
|
+
*
|
|
120
|
+
* @param status - Current status
|
|
121
|
+
*/
|
|
122
|
+
getValidTransitionsFrom(status: ProcessStatusValue): readonly ProcessStatusValue[];
|
|
123
|
+
/**
|
|
124
|
+
* Get protection level for a status
|
|
125
|
+
*
|
|
126
|
+
* @param status - Status to check
|
|
127
|
+
*/
|
|
128
|
+
getProtectionInfo(status: ProcessStatusValue): ProtectionInfo;
|
|
129
|
+
/**
|
|
130
|
+
* Find a pattern by name
|
|
131
|
+
*
|
|
132
|
+
* @param name - Pattern name (case-insensitive)
|
|
133
|
+
*/
|
|
134
|
+
getPattern(name: string): ExtractedPattern | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* Get pattern dependencies
|
|
137
|
+
*
|
|
138
|
+
* @param name - Pattern name
|
|
139
|
+
*/
|
|
140
|
+
getPatternDependencies(name: string): PatternDependencies | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* Get complete pattern relationships (all relationship types)
|
|
143
|
+
*
|
|
144
|
+
* Returns the full relationship data from the MasterDataset's relationshipIndex,
|
|
145
|
+
* including UML-inspired relationships (implements, extends) and cross-references
|
|
146
|
+
* (see-also, api-ref).
|
|
147
|
+
*
|
|
148
|
+
* @param name - Pattern name
|
|
149
|
+
*/
|
|
150
|
+
getPatternRelationships(name: string): PatternRelationships | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Get related patterns (from @architect-see-also tag)
|
|
153
|
+
*
|
|
154
|
+
* Returns patterns that are related for cross-reference without implying
|
|
155
|
+
* dependency. Used for planning session scoping.
|
|
156
|
+
*
|
|
157
|
+
* @param name - Pattern name
|
|
158
|
+
*/
|
|
159
|
+
getRelatedPatterns(name: string): readonly string[];
|
|
160
|
+
/**
|
|
161
|
+
* Get API references (from @architect-api-ref tag)
|
|
162
|
+
*
|
|
163
|
+
* Returns file paths to implementation APIs. Used for code navigation
|
|
164
|
+
* from spec to implementation.
|
|
165
|
+
*
|
|
166
|
+
* @param name - Pattern name
|
|
167
|
+
*/
|
|
168
|
+
getApiReferences(name: string): readonly string[];
|
|
169
|
+
/**
|
|
170
|
+
* Get pattern deliverables (from feature files)
|
|
171
|
+
*
|
|
172
|
+
* @param name - Pattern name
|
|
173
|
+
*/
|
|
174
|
+
getPatternDeliverables(name: string): PatternDeliverable[];
|
|
175
|
+
/**
|
|
176
|
+
* Get patterns by category
|
|
177
|
+
*
|
|
178
|
+
* @param category - Category name
|
|
179
|
+
*/
|
|
180
|
+
getPatternsByCategory(category: string): ExtractedPattern[];
|
|
181
|
+
/**
|
|
182
|
+
* Get all categories with pattern counts
|
|
183
|
+
*/
|
|
184
|
+
getCategories(): Array<{
|
|
185
|
+
category: string;
|
|
186
|
+
count: number;
|
|
187
|
+
}>;
|
|
188
|
+
/**
|
|
189
|
+
* Get patterns grouped by quarter
|
|
190
|
+
*
|
|
191
|
+
* @param quarter - Quarter string (e.g., "Q1-2026")
|
|
192
|
+
*/
|
|
193
|
+
getPatternsByQuarter(quarter: string): ExtractedPattern[];
|
|
194
|
+
/**
|
|
195
|
+
* Get all quarters with patterns
|
|
196
|
+
*/
|
|
197
|
+
getQuarters(): QuarterGroup[];
|
|
198
|
+
/**
|
|
199
|
+
* Get current work (active patterns)
|
|
200
|
+
*/
|
|
201
|
+
getCurrentWork(): ExtractedPattern[];
|
|
202
|
+
/**
|
|
203
|
+
* Get roadmap items (roadmap + deferred patterns)
|
|
204
|
+
*/
|
|
205
|
+
getRoadmapItems(): ExtractedPattern[];
|
|
206
|
+
/**
|
|
207
|
+
* Get recently completed patterns
|
|
208
|
+
*
|
|
209
|
+
* @param limit - Maximum number to return (default: 10)
|
|
210
|
+
*/
|
|
211
|
+
getRecentlyCompleted(limit?: number): ExtractedPattern[];
|
|
212
|
+
/**
|
|
213
|
+
* Get the underlying MasterDataset
|
|
214
|
+
*/
|
|
215
|
+
getMasterDataset(): MasterDataset;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Create a ProcessStateAPI instance from a MasterDataset
|
|
219
|
+
*
|
|
220
|
+
* @param dataset - The MasterDataset to wrap
|
|
221
|
+
* @returns ProcessStateAPI instance
|
|
222
|
+
*/
|
|
223
|
+
export declare function createProcessStateAPI(dataset: MasterDataset): ProcessStateAPI;
|
|
224
|
+
//# sourceMappingURL=process-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-state.d.ts","sourceRoot":"","sources":["../../src/api/process-state.ts"],"names":[],"mappings":"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"}
|