@sdd-method/sdd-cli 1.42.0 → 1.44.0
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/NOTICE +1 -1
- package/README.md +16 -70
- package/dist/author-bin.d.ts +3 -0
- package/dist/author-bin.d.ts.map +1 -0
- package/dist/author-bin.js +8 -0
- package/dist/author-bin.js.map +1 -0
- package/dist/author-program.d.ts +8 -0
- package/dist/author-program.d.ts.map +1 -0
- package/dist/author-program.js +99 -0
- package/dist/author-program.js.map +1 -0
- package/dist/cli.js +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-harness.d.ts +11 -8
- package/dist/lib/agent-harness.d.ts.map +1 -1
- package/dist/lib/agent-harness.js +17 -8
- package/dist/lib/agent-harness.js.map +1 -1
- package/dist/lib/briefing/index.d.ts +1 -1
- package/dist/lib/briefing/index.d.ts.map +1 -1
- package/dist/lib/briefing/index.js +1 -1
- package/dist/lib/briefing/index.js.map +1 -1
- package/dist/lib/briefing/render.d.ts +18 -1
- package/dist/lib/briefing/render.d.ts.map +1 -1
- package/dist/lib/briefing/render.js +17 -8
- package/dist/lib/briefing/render.js.map +1 -1
- package/dist/lib/catalogue/aggregate.js +6 -6
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/aggregation-manifest-loader.js +4 -4
- package/dist/lib/catalogue/aggregation-manifest-loader.js.map +1 -1
- package/dist/lib/catalogue/build.js +1 -1
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/c4-components.js +1 -1
- package/dist/lib/catalogue/builders/c4-components.js.map +1 -1
- package/dist/lib/catalogue/builders/c4-containers.d.ts +1 -1
- package/dist/lib/catalogue/builders/c4-containers.js +1 -1
- package/dist/lib/catalogue/builders/c4-l1-candidates.js +1 -1
- package/dist/lib/catalogue/builders/c4-l1-candidates.js.map +1 -1
- package/dist/lib/catalogue/builders/container-dependency.d.ts +1 -1
- package/dist/lib/catalogue/builders/container-dependency.js +1 -1
- package/dist/lib/catalogue/builders/data-store-mapping.js +1 -1
- package/dist/lib/catalogue/builders/data-store-mapping.js.map +1 -1
- package/dist/lib/catalogue/builders/screen-tree.d.ts +1 -1
- package/dist/lib/catalogue/builders/screen-tree.js +1 -1
- package/dist/lib/catalogue/contract-path-resolution.d.ts +2 -2
- package/dist/lib/catalogue/contract-path-resolution.js +2 -2
- package/dist/lib/catalogue/dedupe-keyed-tables.d.ts +1 -1
- package/dist/lib/catalogue/dedupe-keyed-tables.js +0 -0
- package/dist/lib/catalogue/dedupe-keyed-tables.js.map +1 -1
- package/dist/lib/catalogue/freshness.d.ts +1 -0
- package/dist/lib/catalogue/freshness.d.ts.map +1 -1
- package/dist/lib/catalogue/freshness.js +4 -3
- package/dist/lib/catalogue/freshness.js.map +1 -1
- package/dist/lib/catalogue/scores-coverage.js +1 -1
- package/dist/lib/catalogue/scores-coverage.js.map +1 -1
- package/dist/lib/catalogue/service-contract-aliases-loader.d.ts +1 -1
- package/dist/lib/catalogue/service-contract-aliases-loader.js +1 -1
- package/dist/lib/ci-binding/index.d.ts.map +1 -1
- package/dist/lib/ci-binding/index.js +44 -5
- package/dist/lib/ci-binding/index.js.map +1 -1
- package/dist/lib/ci-binding/module.d.ts +10 -0
- package/dist/lib/ci-binding/module.d.ts.map +1 -1
- package/dist/lib/ci-binding/module.js +74 -2
- package/dist/lib/ci-binding/module.js.map +1 -1
- package/dist/lib/context-pull/index.d.ts +15 -9
- package/dist/lib/context-pull/index.d.ts.map +1 -1
- package/dist/lib/context-pull/index.js +79 -39
- package/dist/lib/context-pull/index.js.map +1 -1
- package/dist/lib/context-pull/retired-mcp-setup.d.ts +7 -0
- package/dist/lib/context-pull/retired-mcp-setup.d.ts.map +1 -0
- package/dist/lib/context-pull/retired-mcp-setup.js +7 -0
- package/dist/lib/context-pull/retired-mcp-setup.js.map +1 -0
- package/dist/lib/hooks-seed/entries.d.ts +41 -2
- package/dist/lib/hooks-seed/entries.d.ts.map +1 -1
- package/dist/lib/hooks-seed/entries.js +55 -4
- package/dist/lib/hooks-seed/entries.js.map +1 -1
- package/dist/lib/hooks-seed/index.d.ts +5 -9
- package/dist/lib/hooks-seed/index.d.ts.map +1 -1
- package/dist/lib/hooks-seed/index.js +4 -7
- package/dist/lib/hooks-seed/index.js.map +1 -1
- package/dist/lib/hooks-seed/merge.d.ts +7 -0
- package/dist/lib/hooks-seed/merge.d.ts.map +1 -1
- package/dist/lib/hooks-seed/merge.js +31 -0
- package/dist/lib/hooks-seed/merge.js.map +1 -1
- package/dist/lib/init/app.d.ts +0 -1
- package/dist/lib/init/app.d.ts.map +1 -1
- package/dist/lib/init/app.js +0 -7
- package/dist/lib/init/app.js.map +1 -1
- package/dist/lib/init/ci-workflow.js +26 -2
- package/dist/lib/init/ci-workflow.js.map +1 -1
- package/dist/lib/init/integration.d.ts +0 -1
- package/dist/lib/init/integration.d.ts.map +1 -1
- package/dist/lib/init/integration.js +0 -7
- package/dist/lib/init/integration.js.map +1 -1
- package/dist/lib/init/platform.d.ts +2 -10
- package/dist/lib/init/platform.d.ts.map +1 -1
- package/dist/lib/init/platform.js +7 -13
- package/dist/lib/init/platform.js.map +1 -1
- package/dist/lib/lock-file.d.ts +7 -0
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +10 -0
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/pack/builder.d.ts +14 -0
- package/dist/lib/pack/builder.d.ts.map +1 -1
- package/dist/lib/pack/builder.js +56 -4
- package/dist/lib/pack/builder.js.map +1 -1
- package/dist/lib/pack/index.d.ts +3 -1
- package/dist/lib/pack/index.d.ts.map +1 -1
- package/dist/lib/pack/index.js +1 -0
- package/dist/lib/pack/index.js.map +1 -1
- package/dist/lib/pack/publish-transform.js +1 -1
- package/dist/lib/pack/publish-transform.js.map +1 -1
- package/dist/lib/plan/index.d.ts.map +1 -1
- package/dist/lib/plan/index.js +4 -4
- package/dist/lib/plan/index.js.map +1 -1
- package/dist/lib/plan/read-sdd.js +1 -1
- package/dist/lib/plan/render-template.d.ts +8 -0
- package/dist/lib/plan/render-template.d.ts.map +1 -1
- package/dist/lib/plan/render-template.js +27 -3
- package/dist/lib/plan/render-template.js.map +1 -1
- package/dist/lib/sdd-index/repo-config.d.ts +1 -1
- package/dist/lib/sdd-index/repo-config.js +1 -1
- package/dist/lib/{mcp/reader.d.ts → sdd-reader.d.ts} +3 -5
- package/dist/lib/sdd-reader.d.ts.map +1 -0
- package/dist/lib/{mcp/reader.js → sdd-reader.js} +3 -5
- package/dist/lib/sdd-reader.js.map +1 -0
- package/dist/lib/snapshot/targets.js +1 -1
- package/dist/lib/snapshot/targets.js.map +1 -1
- package/dist/lib/sync/briefing-merge.d.ts +1 -1
- package/dist/lib/sync/briefing-merge.d.ts.map +1 -1
- package/dist/lib/sync/briefing-merge.js +50 -34
- package/dist/lib/sync/briefing-merge.js.map +1 -1
- package/dist/lib/sync/diff.js +1 -1
- package/dist/lib/sync/diff.js.map +1 -1
- package/dist/lib/sync/index.d.ts +14 -6
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +46 -72
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/lib/sync/settings-merge.d.ts +29 -49
- package/dist/lib/sync/settings-merge.d.ts.map +1 -1
- package/dist/lib/sync/settings-merge.js +71 -163
- package/dist/lib/sync/settings-merge.js.map +1 -1
- package/dist/lib/validate/plan.d.ts +10 -1
- package/dist/lib/validate/plan.d.ts.map +1 -1
- package/dist/lib/validate/plan.js +6 -3
- package/dist/lib/validate/plan.js.map +1 -1
- package/dist/maintain-program.d.ts.map +1 -1
- package/dist/maintain-program.js +6 -3
- package/dist/maintain-program.js.map +1 -1
- package/dist/maintain-version.json +2 -2
- package/dist/verbs/catalogue-check.d.ts +10 -0
- package/dist/verbs/catalogue-check.d.ts.map +1 -0
- package/dist/verbs/catalogue-check.js +28 -0
- package/dist/verbs/catalogue-check.js.map +1 -0
- package/dist/verbs/catalogue.d.ts.map +1 -1
- package/dist/verbs/catalogue.js +2 -0
- package/dist/verbs/catalogue.js.map +1 -1
- package/dist/verbs/context.js +1 -1
- package/dist/verbs/context.js.map +1 -1
- package/dist/verbs/pack-build.d.ts.map +1 -1
- package/dist/verbs/pack-build.js +22 -0
- package/dist/verbs/pack-build.js.map +1 -1
- package/dist/verbs/plan.js +1 -1
- package/dist/verbs/plan.js.map +1 -1
- package/dist/verbs/sync.d.ts.map +1 -1
- package/dist/verbs/sync.js +17 -0
- package/dist/verbs/sync.js.map +1 -1
- package/dist/verbs/validate.d.ts.map +1 -1
- package/dist/verbs/validate.js +6 -1
- package/dist/verbs/validate.js.map +1 -1
- package/dist/verify-program.js +2 -2
- package/dist/verify-program.js.map +1 -1
- package/dist/verify-version.json +2 -2
- package/package.json +5 -13
- package/scripts/README.md +1 -1
- package/scripts/author-acceptance.mjs +170 -0
- package/scripts/author-version.json +4 -0
- package/scripts/build-persona-package.mjs +46 -13
- package/scripts/maintain-acceptance.mjs +3 -2
- package/scripts/maintain-version.json +2 -2
- package/scripts/publish-release.mjs +117 -0
- package/scripts/release-gate.mjs +19 -8
- package/scripts/verify-version.json +2 -2
- package/scripts/vitest-tmpdir.mjs +26 -0
- package/dist/lib/catalogue/advisory-container-type.d.ts +0 -13
- package/dist/lib/catalogue/advisory-container-type.d.ts.map +0 -1
- package/dist/lib/catalogue/advisory-container-type.js +0 -56
- package/dist/lib/catalogue/advisory-container-type.js.map +0 -1
- package/dist/lib/hooks-seed/copilot.d.ts +0 -93
- package/dist/lib/hooks-seed/copilot.d.ts.map +0 -1
- package/dist/lib/hooks-seed/copilot.js +0 -167
- package/dist/lib/hooks-seed/copilot.js.map +0 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts +0 -12
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts.map +0 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.js +0 -28
- package/dist/lib/hooks-seed/lifecycle-mapping.js.map +0 -1
- package/dist/lib/mcp/build-info.d.ts +0 -7
- package/dist/lib/mcp/build-info.d.ts.map +0 -1
- package/dist/lib/mcp/build-info.js +0 -10
- package/dist/lib/mcp/build-info.js.map +0 -1
- package/dist/lib/mcp/errors.d.ts +0 -23
- package/dist/lib/mcp/errors.d.ts.map +0 -1
- package/dist/lib/mcp/errors.js +0 -25
- package/dist/lib/mcp/errors.js.map +0 -1
- package/dist/lib/mcp/parse/frontmatter.d.ts +0 -22
- package/dist/lib/mcp/parse/frontmatter.d.ts.map +0 -1
- package/dist/lib/mcp/parse/frontmatter.js +0 -49
- package/dist/lib/mcp/parse/frontmatter.js.map +0 -1
- package/dist/lib/mcp/parse/gate-registry.d.ts +0 -78
- package/dist/lib/mcp/parse/gate-registry.d.ts.map +0 -1
- package/dist/lib/mcp/parse/gate-registry.js +0 -164
- package/dist/lib/mcp/parse/gate-registry.js.map +0 -1
- package/dist/lib/mcp/parse/paths.d.ts +0 -21
- package/dist/lib/mcp/parse/paths.d.ts.map +0 -1
- package/dist/lib/mcp/parse/paths.js +0 -84
- package/dist/lib/mcp/parse/paths.js.map +0 -1
- package/dist/lib/mcp/pin/errors.d.ts +0 -11
- package/dist/lib/mcp/pin/errors.d.ts.map +0 -1
- package/dist/lib/mcp/pin/errors.js +0 -32
- package/dist/lib/mcp/pin/errors.js.map +0 -1
- package/dist/lib/mcp/pin/index.d.ts +0 -18
- package/dist/lib/mcp/pin/index.d.ts.map +0 -1
- package/dist/lib/mcp/pin/index.js +0 -29
- package/dist/lib/mcp/pin/index.js.map +0 -1
- package/dist/lib/mcp/pin/read.d.ts +0 -24
- package/dist/lib/mcp/pin/read.d.ts.map +0 -1
- package/dist/lib/mcp/pin/read.js +0 -64
- package/dist/lib/mcp/pin/read.js.map +0 -1
- package/dist/lib/mcp/pin/resolve.d.ts +0 -12
- package/dist/lib/mcp/pin/resolve.d.ts.map +0 -1
- package/dist/lib/mcp/pin/resolve.js +0 -33
- package/dist/lib/mcp/pin/resolve.js.map +0 -1
- package/dist/lib/mcp/prompts/evaluate-cascade.d.ts +0 -14
- package/dist/lib/mcp/prompts/evaluate-cascade.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/evaluate-cascade.js +0 -147
- package/dist/lib/mcp/prompts/evaluate-cascade.js.map +0 -1
- package/dist/lib/mcp/prompts/index.d.ts +0 -9
- package/dist/lib/mcp/prompts/index.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/index.js +0 -23
- package/dist/lib/mcp/prompts/index.js.map +0 -1
- package/dist/lib/mcp/prompts/propose-adr.d.ts +0 -12
- package/dist/lib/mcp/prompts/propose-adr.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/propose-adr.js +0 -100
- package/dist/lib/mcp/prompts/propose-adr.js.map +0 -1
- package/dist/lib/mcp/prompts/review-data-model-change.d.ts +0 -10
- package/dist/lib/mcp/prompts/review-data-model-change.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/review-data-model-change.js +0 -134
- package/dist/lib/mcp/prompts/review-data-model-change.js.map +0 -1
- package/dist/lib/mcp/prompts/template-loader.d.ts +0 -29
- package/dist/lib/mcp/prompts/template-loader.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/template-loader.js +0 -44
- package/dist/lib/mcp/prompts/template-loader.js.map +0 -1
- package/dist/lib/mcp/prompts/types.d.ts +0 -17
- package/dist/lib/mcp/prompts/types.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/types.js +0 -10
- package/dist/lib/mcp/prompts/types.js.map +0 -1
- package/dist/lib/mcp/prompts/write-capability-spec.d.ts +0 -8
- package/dist/lib/mcp/prompts/write-capability-spec.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-capability-spec.js +0 -85
- package/dist/lib/mcp/prompts/write-capability-spec.js.map +0 -1
- package/dist/lib/mcp/prompts/write-feature-spec.d.ts +0 -10
- package/dist/lib/mcp/prompts/write-feature-spec.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-feature-spec.js +0 -94
- package/dist/lib/mcp/prompts/write-feature-spec.js.map +0 -1
- package/dist/lib/mcp/prompts/write-work-order.d.ts +0 -7
- package/dist/lib/mcp/prompts/write-work-order.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-work-order.js +0 -69
- package/dist/lib/mcp/prompts/write-work-order.js.map +0 -1
- package/dist/lib/mcp/reader.d.ts.map +0 -1
- package/dist/lib/mcp/reader.js.map +0 -1
- package/dist/lib/mcp/resources/adrs.d.ts +0 -3
- package/dist/lib/mcp/resources/adrs.d.ts.map +0 -1
- package/dist/lib/mcp/resources/adrs.js +0 -97
- package/dist/lib/mcp/resources/adrs.js.map +0 -1
- package/dist/lib/mcp/resources/catalogue.d.ts +0 -19
- package/dist/lib/mcp/resources/catalogue.d.ts.map +0 -1
- package/dist/lib/mcp/resources/catalogue.js +0 -240
- package/dist/lib/mcp/resources/catalogue.js.map +0 -1
- package/dist/lib/mcp/resources/data-models.d.ts +0 -14
- package/dist/lib/mcp/resources/data-models.d.ts.map +0 -1
- package/dist/lib/mcp/resources/data-models.js +0 -81
- package/dist/lib/mcp/resources/data-models.js.map +0 -1
- package/dist/lib/mcp/resources/gates.d.ts +0 -9
- package/dist/lib/mcp/resources/gates.d.ts.map +0 -1
- package/dist/lib/mcp/resources/gates.js +0 -76
- package/dist/lib/mcp/resources/gates.js.map +0 -1
- package/dist/lib/mcp/resources/glossary.d.ts +0 -16
- package/dist/lib/mcp/resources/glossary.d.ts.map +0 -1
- package/dist/lib/mcp/resources/glossary.js +0 -87
- package/dist/lib/mcp/resources/glossary.js.map +0 -1
- package/dist/lib/mcp/resources/specs.d.ts +0 -23
- package/dist/lib/mcp/resources/specs.d.ts.map +0 -1
- package/dist/lib/mcp/resources/specs.js +0 -151
- package/dist/lib/mcp/resources/specs.js.map +0 -1
- package/dist/lib/mcp/resources/version.d.ts +0 -3
- package/dist/lib/mcp/resources/version.d.ts.map +0 -1
- package/dist/lib/mcp/resources/version.js +0 -45
- package/dist/lib/mcp/resources/version.js.map +0 -1
- package/dist/lib/mcp/server.d.ts +0 -29
- package/dist/lib/mcp/server.d.ts.map +0 -1
- package/dist/lib/mcp/server.js +0 -108
- package/dist/lib/mcp/server.js.map +0 -1
- package/dist/lib/mcp/tools/cascade-impact.d.ts +0 -22
- package/dist/lib/mcp/tools/cascade-impact.d.ts.map +0 -1
- package/dist/lib/mcp/tools/cascade-impact.js +0 -53
- package/dist/lib/mcp/tools/cascade-impact.js.map +0 -1
- package/dist/lib/mcp/tools/catalogue.d.ts +0 -16
- package/dist/lib/mcp/tools/catalogue.d.ts.map +0 -1
- package/dist/lib/mcp/tools/catalogue.js +0 -268
- package/dist/lib/mcp/tools/catalogue.js.map +0 -1
- package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts +0 -7
- package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-consumers-of-contract.js +0 -70
- package/dist/lib/mcp/tools/find-consumers-of-contract.js.map +0 -1
- package/dist/lib/mcp/tools/find-consumers.d.ts +0 -7
- package/dist/lib/mcp/tools/find-consumers.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-consumers.js +0 -52
- package/dist/lib/mcp/tools/find-consumers.js.map +0 -1
- package/dist/lib/mcp/tools/find-dependencies.d.ts +0 -8
- package/dist/lib/mcp/tools/find-dependencies.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-dependencies.js +0 -101
- package/dist/lib/mcp/tools/find-dependencies.js.map +0 -1
- package/dist/lib/mcp/tools/find-dependents.d.ts +0 -8
- package/dist/lib/mcp/tools/find-dependents.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-dependents.js +0 -89
- package/dist/lib/mcp/tools/find-dependents.js.map +0 -1
- package/dist/lib/mcp/tools/find-producers.d.ts +0 -8
- package/dist/lib/mcp/tools/find-producers.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-producers.js +0 -57
- package/dist/lib/mcp/tools/find-producers.js.map +0 -1
- package/dist/lib/mcp/tools/find-related-specs.d.ts +0 -9
- package/dist/lib/mcp/tools/find-related-specs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-related-specs.js +0 -92
- package/dist/lib/mcp/tools/find-related-specs.js.map +0 -1
- package/dist/lib/mcp/tools/list-adrs.d.ts +0 -3
- package/dist/lib/mcp/tools/list-adrs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/list-adrs.js +0 -73
- package/dist/lib/mcp/tools/list-adrs.js.map +0 -1
- package/dist/lib/mcp/tools/query-gate-status.d.ts +0 -3
- package/dist/lib/mcp/tools/query-gate-status.d.ts.map +0 -1
- package/dist/lib/mcp/tools/query-gate-status.js +0 -68
- package/dist/lib/mcp/tools/query-gate-status.js.map +0 -1
- package/dist/lib/mcp/tools/search-specs.d.ts +0 -12
- package/dist/lib/mcp/tools/search-specs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/search-specs.js +0 -151
- package/dist/lib/mcp/tools/search-specs.js.map +0 -1
- package/dist/lib/mcp/workspace.d.ts +0 -31
- package/dist/lib/mcp/workspace.d.ts.map +0 -1
- package/dist/lib/mcp/workspace.js +0 -146
- package/dist/lib/mcp/workspace.js.map +0 -1
- package/dist/lib/mcp-seed/entries.d.ts +0 -32
- package/dist/lib/mcp-seed/entries.d.ts.map +0 -1
- package/dist/lib/mcp-seed/entries.js +0 -14
- package/dist/lib/mcp-seed/entries.js.map +0 -1
- package/dist/lib/mcp-seed/index.d.ts +0 -36
- package/dist/lib/mcp-seed/index.d.ts.map +0 -1
- package/dist/lib/mcp-seed/index.js +0 -28
- package/dist/lib/mcp-seed/index.js.map +0 -1
- package/dist/lib/mcp-seed/merge.d.ts +0 -34
- package/dist/lib/mcp-seed/merge.d.ts.map +0 -1
- package/dist/lib/mcp-seed/merge.js +0 -99
- package/dist/lib/mcp-seed/merge.js.map +0 -1
- package/dist/lib/mcp-seed/types.d.ts +0 -24
- package/dist/lib/mcp-seed/types.d.ts.map +0 -1
- package/dist/lib/mcp-seed/types.js +0 -13
- package/dist/lib/mcp-seed/types.js.map +0 -1
- package/dist/lib/sdd-index/cascade.d.ts +0 -46
- package/dist/lib/sdd-index/cascade.d.ts.map +0 -1
- package/dist/lib/sdd-index/cascade.js +0 -91
- package/dist/lib/sdd-index/cascade.js.map +0 -1
- package/dist/lib/sdd-index/contracts.d.ts +0 -29
- package/dist/lib/sdd-index/contracts.d.ts.map +0 -1
- package/dist/lib/sdd-index/contracts.js +0 -216
- package/dist/lib/sdd-index/contracts.js.map +0 -1
- package/dist/lib/sdd-index/data-model.d.ts +0 -13
- package/dist/lib/sdd-index/data-model.d.ts.map +0 -1
- package/dist/lib/sdd-index/data-model.js +0 -23
- package/dist/lib/sdd-index/data-model.js.map +0 -1
- package/dist/lib/sdd-index/execution-map.d.ts +0 -34
- package/dist/lib/sdd-index/execution-map.d.ts.map +0 -1
- package/dist/lib/sdd-index/execution-map.js +0 -105
- package/dist/lib/sdd-index/execution-map.js.map +0 -1
- package/dist/lib/sdd-index/graph.d.ts +0 -28
- package/dist/lib/sdd-index/graph.d.ts.map +0 -1
- package/dist/lib/sdd-index/graph.js +0 -122
- package/dist/lib/sdd-index/graph.js.map +0 -1
- package/dist/lib/sdd-index/index.d.ts +0 -29
- package/dist/lib/sdd-index/index.d.ts.map +0 -1
- package/dist/lib/sdd-index/index.js +0 -79
- package/dist/lib/sdd-index/index.js.map +0 -1
- package/dist/lib/sdd-index/watch.d.ts +0 -24
- package/dist/lib/sdd-index/watch.d.ts.map +0 -1
- package/dist/lib/sdd-index/watch.js +0 -112
- package/dist/lib/sdd-index/watch.js.map +0 -1
- package/dist/lib/sync/copilot-hooks-merge.d.ts +0 -36
- package/dist/lib/sync/copilot-hooks-merge.d.ts.map +0 -1
- package/dist/lib/sync/copilot-hooks-merge.js +0 -108
- package/dist/lib/sync/copilot-hooks-merge.js.map +0 -1
- package/dist/verbs/mcp.d.ts +0 -3
- package/dist/verbs/mcp.d.ts.map +0 -1
- package/dist/verbs/mcp.js +0 -22
- package/dist/verbs/mcp.js.map +0 -1
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* review_data_model_change — help the agent reason about a proposed
|
|
3
|
-
* change to a mermaid data model. Identifies entities in the model,
|
|
4
|
-
* runs `cascade_impact` for each, and includes consumer lookups from
|
|
5
|
-
* the SDD index so the agent has structured input to shape its
|
|
6
|
-
* review around.
|
|
7
|
-
*/
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import { CascadeImpactError, runCascadeImpact, } from "../../sdd-index/cascade.js";
|
|
10
|
-
import { extractEntities } from "../../sdd-index/data-model.js";
|
|
11
|
-
import { getSddIndex } from "../../sdd-index/index.js";
|
|
12
|
-
import { readerFor } from "../pin/index.js";
|
|
13
|
-
export function register(server, sddRoot) {
|
|
14
|
-
server.registerPrompt("review_data_model_change", {
|
|
15
|
-
title: "Review a data-model change",
|
|
16
|
-
description: "Structured review shell for a proposed data-model change. Extracts entities from the mermaid source, runs cascade_impact per entity, and lists consumers with version pins so the agent can reason about breaking-change risk.",
|
|
17
|
-
argsSchema: {
|
|
18
|
-
data_model_path: z
|
|
19
|
-
.string()
|
|
20
|
-
.min(1)
|
|
21
|
-
.describe("SDD-relative path to the data model (e.g. 'docs/domains/party/architecture/data-model.mermaid.md')."),
|
|
22
|
-
change_description: z
|
|
23
|
-
.string()
|
|
24
|
-
.min(1)
|
|
25
|
-
.describe("One or two sentences describing the proposed change (for context in the review shell)."),
|
|
26
|
-
pin_to_commit: z
|
|
27
|
-
.string()
|
|
28
|
-
.optional()
|
|
29
|
-
.describe("Optional commit SHA (or ref) to pin the SDD to."),
|
|
30
|
-
},
|
|
31
|
-
}, (args) => {
|
|
32
|
-
const reader = readerFor(sddRoot, args.pin_to_commit);
|
|
33
|
-
const body = reader.readFile(args.data_model_path);
|
|
34
|
-
if (body === null) {
|
|
35
|
-
return {
|
|
36
|
-
messages: [
|
|
37
|
-
{
|
|
38
|
-
role: "user",
|
|
39
|
-
content: {
|
|
40
|
-
type: "text",
|
|
41
|
-
text: renderMissingModel(args.data_model_path, reader.sddRoot),
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const entities = extractEntities(body);
|
|
48
|
-
const index = getSddIndex(reader);
|
|
49
|
-
const perEntity = entities.map((entity) => {
|
|
50
|
-
const consumers = index.consumers.get(entity) ?? [];
|
|
51
|
-
const producers = index.producers.get(entity) ?? [];
|
|
52
|
-
let cascade = null;
|
|
53
|
-
let cascadeError = null;
|
|
54
|
-
try {
|
|
55
|
-
cascade = runCascadeImpact(reader, {
|
|
56
|
-
change_type: "entity",
|
|
57
|
-
target: entity,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
if (err instanceof CascadeImpactError) {
|
|
62
|
-
cascadeError = err;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw err;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return { entity, consumers, producers, cascade, cascadeError };
|
|
69
|
-
});
|
|
70
|
-
return {
|
|
71
|
-
messages: [
|
|
72
|
-
{
|
|
73
|
-
role: "user",
|
|
74
|
-
content: {
|
|
75
|
-
type: "text",
|
|
76
|
-
text: renderReviewShell(args, entities, perEntity, reader.pin),
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
function renderMissingModel(relPath, sddRoot) {
|
|
84
|
-
return [
|
|
85
|
-
`**Data model not found:** \`${relPath}\``,
|
|
86
|
-
"",
|
|
87
|
-
`The SDD at \`${sddRoot}\` does not have this file. Confirm the path and re-run.`,
|
|
88
|
-
].join("\n");
|
|
89
|
-
}
|
|
90
|
-
function renderReviewShell(args, entities, perEntity, pin) {
|
|
91
|
-
const lines = [];
|
|
92
|
-
lines.push(`**Data-model change review** (pin: ${pin})`, "", `- **Model:** \`${args.data_model_path}\``, `- **Proposed change:** ${args.change_description}`, "", "## Entities identified", "");
|
|
93
|
-
if (entities.length === 0) {
|
|
94
|
-
lines.push("_No entities extracted from the mermaid source._ Check that the", "file uses the standard `EntityName {` block syntax.");
|
|
95
|
-
lines.push("");
|
|
96
|
-
return lines.join("\n");
|
|
97
|
-
}
|
|
98
|
-
for (const e of entities)
|
|
99
|
-
lines.push(`- \`${e}\``);
|
|
100
|
-
lines.push("");
|
|
101
|
-
for (const item of perEntity) {
|
|
102
|
-
lines.push(`## ${item.entity}`);
|
|
103
|
-
lines.push("");
|
|
104
|
-
if (item.producers.length > 0) {
|
|
105
|
-
lines.push(`- **Producers:** ${item.producers.map((p) => `\`${p}\``).join(", ")}`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
lines.push("- **Producers:** _none identified in the SDD index_");
|
|
109
|
-
}
|
|
110
|
-
if (item.consumers.length > 0) {
|
|
111
|
-
lines.push(`- **Consumers:** ${item.consumers.map((c) => `\`${c}\``).join(", ")}`);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
lines.push("- **Consumers:** _none identified in the SDD index_");
|
|
115
|
-
}
|
|
116
|
-
lines.push("");
|
|
117
|
-
if (item.cascadeError) {
|
|
118
|
-
lines.push(`_cascade_impact unavailable: ${item.cascadeError.code} — ${item.cascadeError.message}_`);
|
|
119
|
-
lines.push("");
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
if (item.cascade) {
|
|
123
|
-
const a = item.cascade.affected;
|
|
124
|
-
lines.push("**Cascade summary:**");
|
|
125
|
-
lines.push(`- services: ${a.services.length === 0 ? "none" : a.services.map((s) => `\`${s.service}\``).join(", ")}`);
|
|
126
|
-
lines.push(`- capabilities: ${a.capabilities.length === 0 ? "none" : a.capabilities.map((c) => `\`${c}\``).join(", ")}`);
|
|
127
|
-
lines.push(`- contracts: ${a.contracts.length === 0 ? "none" : a.contracts.map((c) => `\`${c}\``).join(", ")}`);
|
|
128
|
-
lines.push("");
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
lines.push("## Review checklist", "", "1. Is the change backwards-compatible at the contract boundary (see per-entity contracts above)?", "2. Have all listed consumers been notified / had their specs updated?", "3. Does the cascade summary surface any missing feature-spec, capability-spec, or glossary updates?", "4. Pin this review to a commit (`pin_to_commit`) before citing it in a work order.");
|
|
132
|
-
return lines.join("\n");
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=review-data-model-change.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-data-model-change.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/review-data-model-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Template loader — reads `docs/method/methods/<name>-template.md`
|
|
3
|
-
* via an SddReader so `pin_to_commit` works uniformly.
|
|
4
|
-
*
|
|
5
|
-
* Missing templates return `null` rather than throwing; the calling
|
|
6
|
-
* prompt embeds a structured error in its returned messages per the
|
|
7
|
-
* Phase 5 plan's open-question resolution (b).
|
|
8
|
-
*/
|
|
9
|
-
import type { SddReader } from "../reader.js";
|
|
10
|
-
import type { TemplateLocation } from "./types.js";
|
|
11
|
-
export declare const TEMPLATES_DIR = "docs/method/methods";
|
|
12
|
-
export interface LoadedTemplate {
|
|
13
|
-
readonly location: TemplateLocation;
|
|
14
|
-
readonly body: string;
|
|
15
|
-
}
|
|
16
|
-
export declare function loadTemplate(reader: SddReader, location: TemplateLocation): LoadedTemplate | null;
|
|
17
|
-
/**
|
|
18
|
-
* Convenience: build a location for a named template under the
|
|
19
|
-
* standard `docs/method/methods/` directory.
|
|
20
|
-
*/
|
|
21
|
-
export declare function templateAt(name: string, label: string): TemplateLocation;
|
|
22
|
-
/**
|
|
23
|
-
* Produce a user-facing message explaining that the template file is
|
|
24
|
-
* missing. Prompts return this in place of a rendered template when
|
|
25
|
-
* `loadTemplate` returns null — the agent gets enough context to
|
|
26
|
-
* surface the problem without us throwing at the transport layer.
|
|
27
|
-
*/
|
|
28
|
-
export declare function renderMissingTemplateMessage(location: TemplateLocation, sddRoot: string, pin: string): string;
|
|
29
|
-
//# sourceMappingURL=template-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,gBAAgB,GACzB,cAAc,GAAG,IAAI,CAIvB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,MAAM,CAWR"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Template loader — reads `docs/method/methods/<name>-template.md`
|
|
3
|
-
* via an SddReader so `pin_to_commit` works uniformly.
|
|
4
|
-
*
|
|
5
|
-
* Missing templates return `null` rather than throwing; the calling
|
|
6
|
-
* prompt embeds a structured error in its returned messages per the
|
|
7
|
-
* Phase 5 plan's open-question resolution (b).
|
|
8
|
-
*/
|
|
9
|
-
export const TEMPLATES_DIR = "docs/method/methods";
|
|
10
|
-
export function loadTemplate(reader, location) {
|
|
11
|
-
const body = reader.readFile(location.relPath);
|
|
12
|
-
if (body === null)
|
|
13
|
-
return null;
|
|
14
|
-
return { location, body };
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Convenience: build a location for a named template under the
|
|
18
|
-
* standard `docs/method/methods/` directory.
|
|
19
|
-
*/
|
|
20
|
-
export function templateAt(name, label) {
|
|
21
|
-
return {
|
|
22
|
-
relPath: `${TEMPLATES_DIR}/${name}`,
|
|
23
|
-
label,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Produce a user-facing message explaining that the template file is
|
|
28
|
-
* missing. Prompts return this in place of a rendered template when
|
|
29
|
-
* `loadTemplate` returns null — the agent gets enough context to
|
|
30
|
-
* surface the problem without us throwing at the transport layer.
|
|
31
|
-
*/
|
|
32
|
-
export function renderMissingTemplateMessage(location, sddRoot, pin) {
|
|
33
|
-
return [
|
|
34
|
-
`**Template not found:** \`${location.relPath}\` (${location.label}).`,
|
|
35
|
-
"",
|
|
36
|
-
`The SDD at \`${sddRoot}\` (pin: ${pin}) does not have this file.`,
|
|
37
|
-
"",
|
|
38
|
-
"**Remediation:**",
|
|
39
|
-
`- Confirm the SDD has been sync'd with a method baseline bundle that ships \`${location.relPath}\`.`,
|
|
40
|
-
"- Run `sdd-cli sync --bundle <path>` to refresh.",
|
|
41
|
-
"- If the template has been renamed upstream, raise an issue — this prompt's binding may need updating.",
|
|
42
|
-
].join("\n");
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=template-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAOnD,MAAM,UAAU,YAAY,CAC1B,MAAiB,EACjB,QAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa;IACpD,OAAO;QACL,OAAO,EAAE,GAAG,aAAa,IAAI,IAAI,EAAE;QACnC,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA0B,EAC1B,OAAe,EACf,GAAW;IAEX,OAAO;QACL,6BAA6B,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,KAAK,IAAI;QACtE,EAAE;QACF,gBAAgB,OAAO,YAAY,GAAG,4BAA4B;QAClE,EAAE;QACF,kBAAkB;QAClB,gFAAgF,QAAQ,CAAC,OAAO,KAAK;QACrG,kDAAkD;QAClD,wGAAwG;KACzG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types for the Phase 5 prompt registrations.
|
|
3
|
-
*
|
|
4
|
-
* Prompts are the third MCP affordance after resources and tools.
|
|
5
|
-
* Each prompt is a parameterised template an agent can invoke; the
|
|
6
|
-
* server returns a `GetPromptResult` (one or more messages) that the
|
|
7
|
-
* agent surfaces to the user.
|
|
8
|
-
*/
|
|
9
|
-
import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
-
export type PromptResult = GetPromptResult;
|
|
11
|
-
export interface TemplateLocation {
|
|
12
|
-
/** SDD-relative path (e.g. `docs/method/methods/adr-template.md`). */
|
|
13
|
-
readonly relPath: string;
|
|
14
|
-
/** Human-readable label for diagnostics. */
|
|
15
|
-
readonly label: string;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types for the Phase 5 prompt registrations.
|
|
3
|
-
*
|
|
4
|
-
* Prompts are the third MCP affordance after resources and tools.
|
|
5
|
-
* Each prompt is a parameterised template an agent can invoke; the
|
|
6
|
-
* server returns a `GetPromptResult` (one or more messages) that the
|
|
7
|
-
* agent surfaces to the user.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_capability_spec — scaffold a capability spec under
|
|
3
|
-
* docs/domains/{domain}/product/{capability}.md, bound to
|
|
4
|
-
* docs/method/methods/capability-spec-template.md.
|
|
5
|
-
*/
|
|
6
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
|
-
export declare function register(server: McpServer, sddRoot: string): void;
|
|
8
|
-
//# sourceMappingURL=write-capability-spec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-capability-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-capability-spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAoFjE"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_capability_spec — scaffold a capability spec under
|
|
3
|
-
* docs/domains/{domain}/product/{capability}.md, bound to
|
|
4
|
-
* docs/method/methods/capability-spec-template.md.
|
|
5
|
-
*/
|
|
6
|
-
import { z } from "zod";
|
|
7
|
-
import { liveReader } from "../reader.js";
|
|
8
|
-
import { loadTemplate, renderMissingTemplateMessage, templateAt, } from "./template-loader.js";
|
|
9
|
-
export function register(server, sddRoot) {
|
|
10
|
-
server.registerPrompt("write_capability_spec", {
|
|
11
|
-
title: "Write a capability spec",
|
|
12
|
-
description: "Scaffold a capability spec from the method template. Targets docs/domains/{domain}/product/{capability}.md.",
|
|
13
|
-
argsSchema: {
|
|
14
|
-
capability_name: z
|
|
15
|
-
.string()
|
|
16
|
-
.min(1)
|
|
17
|
-
.describe("Human-readable capability name (e.g. 'Party Merge'). Will be slugged for the file name."),
|
|
18
|
-
domain: z
|
|
19
|
-
.string()
|
|
20
|
-
.min(1)
|
|
21
|
-
.describe("Domain folder name under docs/domains/ (e.g. 'party')."),
|
|
22
|
-
classification: z
|
|
23
|
-
.string()
|
|
24
|
-
.optional()
|
|
25
|
-
.describe("Optional: Outcome | Enabler-Runway | Hybrid (ADR 0056 classification)."),
|
|
26
|
-
},
|
|
27
|
-
}, (args) => {
|
|
28
|
-
const reader = liveReader(sddRoot);
|
|
29
|
-
const location = templateAt("capability-spec-template.md", "capability spec template");
|
|
30
|
-
const loaded = loadTemplate(reader, location);
|
|
31
|
-
if (loaded === null) {
|
|
32
|
-
return {
|
|
33
|
-
messages: [
|
|
34
|
-
{
|
|
35
|
-
role: "user",
|
|
36
|
-
content: {
|
|
37
|
-
type: "text",
|
|
38
|
-
text: renderMissingTemplateMessage(location, reader.sddRoot, reader.pin),
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
const slug = slugify(args.capability_name);
|
|
45
|
-
const preamble = [
|
|
46
|
-
`Please scaffold a capability spec for **${args.capability_name}** in the **${args.domain}** domain.`,
|
|
47
|
-
"",
|
|
48
|
-
"**Inputs:**",
|
|
49
|
-
`- **Capability name:** ${args.capability_name}`,
|
|
50
|
-
`- **Domain:** ${args.domain}`,
|
|
51
|
-
args.classification
|
|
52
|
-
? `- **Classification:** ${args.classification}`
|
|
53
|
-
: "- **Classification:** (not provided — pick one of Outcome / Enabler-Runway / Hybrid per ADR 0056)",
|
|
54
|
-
"",
|
|
55
|
-
"**Target path:**",
|
|
56
|
-
`- \`docs/domains/${args.domain}/product/${slug}.md\``,
|
|
57
|
-
"",
|
|
58
|
-
"Fill the template below, replacing placeholders with concrete content or clear `TODO` notes. Leave the file structure — section headings and frontmatter fields — intact so downstream validators pass.",
|
|
59
|
-
"",
|
|
60
|
-
"**Template to fill** (verbatim from the SDD):",
|
|
61
|
-
"",
|
|
62
|
-
"```markdown",
|
|
63
|
-
loaded.body.trimEnd(),
|
|
64
|
-
"```",
|
|
65
|
-
].join("\n");
|
|
66
|
-
return {
|
|
67
|
-
messages: [
|
|
68
|
-
{
|
|
69
|
-
role: "user",
|
|
70
|
-
content: { type: "text", text: preamble },
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
};
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
function slugify(name) {
|
|
77
|
-
return name
|
|
78
|
-
.toLowerCase()
|
|
79
|
-
.replace(/&/g, "")
|
|
80
|
-
.replace(/[^a-z0-9 -]/g, "")
|
|
81
|
-
.replace(/\s+/g, "-")
|
|
82
|
-
.replace(/-+/g, "-")
|
|
83
|
-
.replace(/^-|-$/g, "");
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=write-capability-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-capability-spec.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-capability-spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,4BAA4B,EAC5B,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAe;IACzD,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,6GAA6G;QAC/G,UAAU,EAAE;YACV,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,yFAAyF,CAC1F;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,wDAAwD,CAAC;YACrE,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,wEAAwE,CACzE;SACJ;KACF,EACD,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,UAAU,CACzB,6BAA6B,EAC7B,0BAA0B,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,CAChC,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,GAAG,CACX;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACf,2CAA2C,IAAI,CAAC,eAAe,eAAe,IAAI,CAAC,MAAM,YAAY;YACrG,EAAE;YACF,aAAa;YACb,0BAA0B,IAAI,CAAC,eAAe,EAAE;YAChD,iBAAiB,IAAI,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,cAAc;gBACjB,CAAC,CAAC,yBAAyB,IAAI,CAAC,cAAc,EAAE;gBAChD,CAAC,CAAC,mGAAmG;YACvG,EAAE;YACF,kBAAkB;YAClB,oBAAoB,IAAI,CAAC,MAAM,YAAY,IAAI,OAAO;YACtD,EAAE;YACF,yMAAyM;YACzM,EAAE;YACF,+CAA+C;YAC/C,EAAE;YACF,aAAa;YACb,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_feature_spec — scaffold a feature spec under
|
|
3
|
-
* docs/domains/{domain}/product/features/{capability}/{feature}.md.
|
|
4
|
-
*
|
|
5
|
-
* Binds to docs/method/methods/feature-spec-template.md (default) or
|
|
6
|
-
* app-feature-spec-template.md (when variant = "app").
|
|
7
|
-
*/
|
|
8
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
-
export declare function register(server: McpServer, sddRoot: string): void;
|
|
10
|
-
//# sourceMappingURL=write-feature-spec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-feature-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-feature-spec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA0FjE"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_feature_spec — scaffold a feature spec under
|
|
3
|
-
* docs/domains/{domain}/product/features/{capability}/{feature}.md.
|
|
4
|
-
*
|
|
5
|
-
* Binds to docs/method/methods/feature-spec-template.md (default) or
|
|
6
|
-
* app-feature-spec-template.md (when variant = "app").
|
|
7
|
-
*/
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import { liveReader } from "../reader.js";
|
|
10
|
-
import { loadTemplate, renderMissingTemplateMessage, templateAt, } from "./template-loader.js";
|
|
11
|
-
export function register(server, sddRoot) {
|
|
12
|
-
server.registerPrompt("write_feature_spec", {
|
|
13
|
-
title: "Write a feature spec",
|
|
14
|
-
description: "Scaffold a feature spec from the method template. Targets docs/domains/{domain}/product/features/{capability}/{feature}.md. Select `variant: \"app\"` for the application-profile template.",
|
|
15
|
-
argsSchema: {
|
|
16
|
-
feature_name: z
|
|
17
|
-
.string()
|
|
18
|
-
.min(1)
|
|
19
|
-
.describe("Human-readable feature name. Will be slugged for the file."),
|
|
20
|
-
capability: z
|
|
21
|
-
.string()
|
|
22
|
-
.min(1)
|
|
23
|
-
.describe("Capability slug this feature belongs to (e.g. 'party-merge')."),
|
|
24
|
-
domain: z
|
|
25
|
-
.string()
|
|
26
|
-
.min(1)
|
|
27
|
-
.describe("Domain folder name under docs/domains/."),
|
|
28
|
-
variant: z
|
|
29
|
-
.enum(["platform", "app"])
|
|
30
|
-
.optional()
|
|
31
|
-
.describe("Which template variant to bind to. Default: platform."),
|
|
32
|
-
},
|
|
33
|
-
}, (args) => {
|
|
34
|
-
const reader = liveReader(sddRoot);
|
|
35
|
-
const variant = args.variant ?? "platform";
|
|
36
|
-
const templateName = variant === "app"
|
|
37
|
-
? "app-feature-spec-template.md"
|
|
38
|
-
: "feature-spec-template.md";
|
|
39
|
-
const location = templateAt(templateName, `${variant} feature spec template`);
|
|
40
|
-
const loaded = loadTemplate(reader, location);
|
|
41
|
-
if (loaded === null) {
|
|
42
|
-
return {
|
|
43
|
-
messages: [
|
|
44
|
-
{
|
|
45
|
-
role: "user",
|
|
46
|
-
content: {
|
|
47
|
-
type: "text",
|
|
48
|
-
text: renderMissingTemplateMessage(location, reader.sddRoot, reader.pin),
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
const featureSlug = slugify(args.feature_name);
|
|
55
|
-
const preamble = [
|
|
56
|
-
`Please scaffold a **${variant}-profile** feature spec for **${args.feature_name}**, part of capability **${args.capability}** in domain **${args.domain}**.`,
|
|
57
|
-
"",
|
|
58
|
-
"**Inputs:**",
|
|
59
|
-
`- **Feature name:** ${args.feature_name}`,
|
|
60
|
-
`- **Capability:** ${args.capability}`,
|
|
61
|
-
`- **Domain:** ${args.domain}`,
|
|
62
|
-
`- **Variant:** ${variant}`,
|
|
63
|
-
"",
|
|
64
|
-
"**Target path:**",
|
|
65
|
-
`- \`docs/domains/${args.domain}/product/features/${args.capability}/${featureSlug}.md\``,
|
|
66
|
-
"",
|
|
67
|
-
"Fill the template below, replacing placeholders with concrete content or clear `TODO` notes. Preserve section headings and frontmatter so downstream validators pass.",
|
|
68
|
-
"",
|
|
69
|
-
"**Template to fill** (verbatim from the SDD):",
|
|
70
|
-
"",
|
|
71
|
-
"```markdown",
|
|
72
|
-
loaded.body.trimEnd(),
|
|
73
|
-
"```",
|
|
74
|
-
].join("\n");
|
|
75
|
-
return {
|
|
76
|
-
messages: [
|
|
77
|
-
{
|
|
78
|
-
role: "user",
|
|
79
|
-
content: { type: "text", text: preamble },
|
|
80
|
-
},
|
|
81
|
-
],
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
function slugify(name) {
|
|
86
|
-
return name
|
|
87
|
-
.toLowerCase()
|
|
88
|
-
.replace(/&/g, "")
|
|
89
|
-
.replace(/[^a-z0-9 -]/g, "")
|
|
90
|
-
.replace(/\s+/g, "-")
|
|
91
|
-
.replace(/-+/g, "-")
|
|
92
|
-
.replace(/^-|-$/g, "");
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=write-feature-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-feature-spec.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-feature-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_work_order — scaffold a work-order document from
|
|
3
|
-
* docs/method/methods/work-order-template.md.
|
|
4
|
-
*/
|
|
5
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
-
export declare function register(server: McpServer, sddRoot: string): void;
|
|
7
|
-
//# sourceMappingURL=write-work-order.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-work-order.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-work-order.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA8EjE"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* write_work_order — scaffold a work-order document from
|
|
3
|
-
* docs/method/methods/work-order-template.md.
|
|
4
|
-
*/
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
import { liveReader } from "../reader.js";
|
|
7
|
-
import { loadTemplate, renderMissingTemplateMessage, templateAt, } from "./template-loader.js";
|
|
8
|
-
export function register(server, sddRoot) {
|
|
9
|
-
server.registerPrompt("write_work_order", {
|
|
10
|
-
title: "Write a work order",
|
|
11
|
-
description: "Scaffold a work order from the method template. Work orders are the method's unit of delivery authorisation; see docs/method/methods/work-order-template.md for the shape.",
|
|
12
|
-
argsSchema: {
|
|
13
|
-
unit_id: z
|
|
14
|
-
.string()
|
|
15
|
-
.min(1)
|
|
16
|
-
.describe("Work-order identifier (e.g. 'WO-2026-042' or a feature/capability slug)."),
|
|
17
|
-
scope: z
|
|
18
|
-
.string()
|
|
19
|
-
.min(1)
|
|
20
|
-
.describe("What the work order covers — can be a capability, a feature, an ADR, or a cross-scope initiative."),
|
|
21
|
-
kind: z
|
|
22
|
-
.string()
|
|
23
|
-
.optional()
|
|
24
|
-
.describe("Optional: feature | capability | migration | spike | other."),
|
|
25
|
-
},
|
|
26
|
-
}, (args) => {
|
|
27
|
-
const reader = liveReader(sddRoot);
|
|
28
|
-
const location = templateAt("work-order-template.md", "work order template");
|
|
29
|
-
const loaded = loadTemplate(reader, location);
|
|
30
|
-
if (loaded === null) {
|
|
31
|
-
return {
|
|
32
|
-
messages: [
|
|
33
|
-
{
|
|
34
|
-
role: "user",
|
|
35
|
-
content: {
|
|
36
|
-
type: "text",
|
|
37
|
-
text: renderMissingTemplateMessage(location, reader.sddRoot, reader.pin),
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
const preamble = [
|
|
44
|
-
`Please scaffold a work order for **${args.unit_id}** covering **${args.scope}**.`,
|
|
45
|
-
"",
|
|
46
|
-
"**Inputs:**",
|
|
47
|
-
`- **Unit ID:** ${args.unit_id}`,
|
|
48
|
-
`- **Scope:** ${args.scope}`,
|
|
49
|
-
args.kind ? `- **Kind:** ${args.kind}` : "- **Kind:** (not provided)",
|
|
50
|
-
"",
|
|
51
|
-
"Fill the template below; preserve section headings so downstream tooling recognises the shape.",
|
|
52
|
-
"",
|
|
53
|
-
"**Template to fill** (verbatim from the SDD):",
|
|
54
|
-
"",
|
|
55
|
-
"```markdown",
|
|
56
|
-
loaded.body.trimEnd(),
|
|
57
|
-
"```",
|
|
58
|
-
].join("\n");
|
|
59
|
-
return {
|
|
60
|
-
messages: [
|
|
61
|
-
{
|
|
62
|
-
role: "user",
|
|
63
|
-
content: { type: "text", text: preamble },
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=write-work-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-work-order.js","sourceRoot":"","sources":["../../../../src/lib/mcp/prompts/write-work-order.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,4BAA4B,EAC5B,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAe;IACzD,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,4KAA4K;QAC9K,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,0EAA0E,CAC3E;YACH,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,mGAAmG,CACpG;YACH,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;SAC3E;KACF,EACD,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,UAAU,CACzB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,CAChC,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,GAAG,CACX;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,sCAAsC,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC,KAAK,KAAK;YAClF,EAAE;YACF,aAAa;YACb,kBAAkB,IAAI,CAAC,OAAO,EAAE;YAChC,gBAAgB,IAAI,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,4BAA4B;YACrE,EAAE;YACF,gGAAgG;YAChG,EAAE;YACF,+CAA+C;YAC/C,EAAE;YACF,aAAa;YACb,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../../src/lib/mcp/reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,uEAAuE;IACvE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,qDAAqD;IACrD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,kDAAkD;IAClD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,CA8CnE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GACpC,MAAM,EAAE,CAmBV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/lib/mcp/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adrs.d.ts","sourceRoot":"","sources":["../../../../src/lib/mcp/resources/adrs.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AAKjD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA4GjE"}
|