@intentius/chant 0.124.45 → 0.124.48
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/dist/__golden__/wave-loop/op-by-apply-after-fails.json +10 -0
- package/dist/__golden__/wave-loop/op-by-apply-hold.json +10 -0
- package/dist/__golden__/wave-loop/op-by-apply-ignored.json +10 -0
- package/dist/__golden__/wave-loop/op-by-apply-pass.json +10 -0
- package/dist/__golden__/wave-loop/op-by-apply-skip.json +10 -0
- package/dist/__golden__/wave-loop/op-cost-member-clash.json +6 -0
- package/dist/__golden__/wave-loop/op-cost-member.json +13 -0
- package/dist/__golden__/wave-loop/op-denied-source.json +16 -0
- package/dist/__golden__/wave-loop/op-denied.json +16 -0
- package/dist/__golden__/wave-loop/op-discover-rest-short.json +6 -0
- package/dist/__golden__/wave-loop/op-discover-rest-stops.json +13 -0
- package/dist/__golden__/wave-loop/op-discover-rest.json +26 -0
- package/dist/__golden__/wave-loop/op-discover-wide.json +26 -0
- package/dist/__golden__/wave-loop/op-held-on-again.json +16 -0
- package/dist/__golden__/wave-loop/op-held-on-before-apply.json +16 -0
- package/dist/__golden__/wave-loop/op-held-on.json +16 -0
- package/dist/__golden__/wave-loop/op-hooks-apply-fails.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-fail-after-apply.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-fail-before-apply.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-fail-before-plan.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-held.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-hold-before-apply.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-pass.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-refused-at-base.json +13 -0
- package/dist/__golden__/wave-loop/op-hooks-share.json +33 -0
- package/dist/__golden__/wave-loop/op-outcome-held.json +10 -0
- package/dist/__golden__/wave-loop/op-outcome-replan-approved.json +10 -0
- package/dist/__golden__/wave-loop/op-outcome-replan-forever.json +10 -0
- package/dist/__golden__/wave-loop/op-outcome-replan.json +10 -0
- package/dist/__golden__/wave-loop/op-outcome-stood-down.json +10 -0
- package/dist/__golden__/wave-loop/op-outcome-unreadable.json +10 -0
- package/dist/__golden__/wave-loop/op-overridden.json +16 -0
- package/dist/__golden__/wave-loop/op-per-run.json +20 -0
- package/dist/__golden__/wave-loop/op-point.json +13 -0
- package/dist/__golden__/wave-loop/op-pr-review.json +10 -0
- package/dist/__golden__/wave-loop/op-sealed.json +10 -0
- package/dist/__golden__/wave-loop/op-spend-change-only.json +10 -0
- package/dist/__golden__/wave-loop/op-spend.json +10 -0
- package/dist/__golden__/wave-loop/op-wave-commands.json +55 -0
- package/dist/__golden__/wave-loop/op-wide-refused.json +26 -0
- package/dist/__golden__/wave-loop/op-wide-waiting.json +29 -0
- package/dist/__golden__/wave-loop/op-wide.json +39 -0
- package/dist/action-pins.d.ts +61 -0
- package/dist/action-pins.d.ts.map +1 -0
- package/dist/action-pins.js +77 -0
- package/dist/capabilities/aws.paths +148 -0
- package/dist/capabilities/base-mappings.json +122 -0
- package/dist/capabilities/catalog.d.ts +89 -0
- package/dist/capabilities/catalog.d.ts.map +1 -0
- package/dist/capabilities/catalog.js +204 -0
- package/dist/capabilities/language.d.ts +103 -0
- package/dist/capabilities/language.d.ts.map +1 -0
- package/dist/capabilities/language.js +335 -0
- package/dist/capabilities/matcher.d.ts +65 -0
- package/dist/capabilities/matcher.d.ts.map +1 -0
- package/dist/capabilities/matcher.js +299 -0
- package/dist/capabilities/view.d.ts +207 -0
- package/dist/capabilities/view.d.ts.map +1 -0
- package/dist/capabilities/view.js +484 -0
- package/dist/cli/commands/carve.d.ts +3 -0
- package/dist/cli/commands/carve.d.ts.map +1 -1
- package/dist/cli/commands/carve.js +36 -7
- package/dist/cli/commands/import-report.d.ts +26 -0
- package/dist/cli/commands/import-report.d.ts.map +1 -0
- package/dist/cli/commands/import-report.js +65 -0
- package/dist/cli/commands/import.d.ts +11 -1
- package/dist/cli/commands/import.d.ts.map +1 -1
- package/dist/cli/commands/import.js +22 -3
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +1 -0
- package/dist/cli/commands/migrate.d.ts +13 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +134 -10
- package/dist/cli/handlers/approve.d.ts.map +1 -1
- package/dist/cli/handlers/approve.js +21 -2
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +6 -1
- package/dist/cli/handlers/declared-graph.d.ts +44 -0
- package/dist/cli/handlers/declared-graph.d.ts.map +1 -0
- package/dist/cli/handlers/declared-graph.js +87 -0
- package/dist/cli/handlers/graph.d.ts +25 -0
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/graph.js +93 -87
- package/dist/cli/handlers/ledger.d.ts +3 -0
- package/dist/cli/handlers/ledger.d.ts.map +1 -0
- package/dist/cli/handlers/ledger.js +55 -0
- package/dist/cli/handlers/migrate.d.ts.map +1 -1
- package/dist/cli/handlers/migrate.js +18 -11
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/misc.js +12 -1
- package/dist/cli/handlers/pr-env.d.ts.map +1 -1
- package/dist/cli/handlers/pr-env.js +4 -3
- package/dist/cli/handlers/pr.d.ts +15 -1
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +143 -39
- package/dist/cli/handlers/query.d.ts +7 -2
- package/dist/cli/handlers/query.d.ts.map +1 -1
- package/dist/cli/handlers/query.js +16 -4
- package/dist/cli/handlers/release.d.ts.map +1 -1
- package/dist/cli/handlers/release.js +6 -3
- package/dist/cli/handlers/search-count.d.ts +89 -0
- package/dist/cli/handlers/search-count.d.ts.map +1 -0
- package/dist/cli/handlers/search-count.js +132 -0
- package/dist/cli/handlers/search.d.ts +356 -6
- package/dist/cli/handlers/search.d.ts.map +1 -1
- package/dist/cli/handlers/search.js +1039 -155
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +88 -17
- package/dist/cli/mcp/server.d.ts.map +1 -1
- package/dist/cli/mcp/server.js +3 -0
- package/dist/cli/mcp/tools/capabilities.d.ts +7 -0
- package/dist/cli/mcp/tools/capabilities.d.ts.map +1 -0
- package/dist/cli/mcp/tools/capabilities.js +27 -0
- package/dist/cli/mcp/workspace-tools.d.ts +3 -1
- package/dist/cli/mcp/workspace-tools.d.ts.map +1 -1
- package/dist/cli/mcp/workspace-tools.js +47 -2
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +100 -19
- package/dist/cli/registry.d.ts +36 -4
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/components/builders.d.ts +5 -1
- package/dist/components/builders.d.ts.map +1 -1
- package/dist/components/builders.js +5 -0
- package/dist/components/capability-plugin-loader.d.ts.map +1 -1
- package/dist/components/capability-plugin-loader.js +16 -1
- package/dist/components/capability-plugin.d.ts +14 -0
- package/dist/components/capability-plugin.d.ts.map +1 -1
- package/dist/components/pr-env-ports.d.ts +29 -0
- package/dist/components/pr-env-ports.d.ts.map +1 -0
- package/dist/components/pr-env-ports.js +77 -0
- package/dist/components/pr-env-run.d.ts +5 -21
- package/dist/components/pr-env-run.d.ts.map +1 -1
- package/dist/components/pr-env-run.js +6 -70
- package/dist/components/pr-environment.d.ts +2 -1
- package/dist/components/pr-environment.d.ts.map +1 -1
- package/dist/components/pr-environment.js +1 -1
- package/dist/components/pr-hooks.d.ts +21 -1
- package/dist/components/pr-hooks.d.ts.map +1 -1
- package/dist/components/pr-hooks.js +72 -4
- package/dist/components/pr-pipeline.d.ts +45 -10
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +47 -14
- package/dist/components/pr-policy.d.ts +36 -0
- package/dist/components/pr-policy.d.ts.map +1 -1
- package/dist/components/pr-policy.js +36 -0
- package/dist/components/starter-plugin.d.ts +1 -0
- package/dist/components/starter-plugin.d.ts.map +1 -1
- package/dist/components/starter-plugin.js +5 -1
- package/dist/components/verbs/index.d.ts +2 -0
- package/dist/components/verbs/index.d.ts.map +1 -1
- package/dist/components/verbs/index.js +2 -0
- package/dist/components/verbs/publish-artifact.d.ts +65 -0
- package/dist/components/verbs/publish-artifact.d.ts.map +1 -0
- package/dist/components/verbs/publish-artifact.js +74 -0
- package/dist/components/verbs/publish-image.d.ts +129 -0
- package/dist/components/verbs/publish-image.d.ts.map +1 -0
- package/dist/components/verbs/publish-image.js +145 -0
- package/dist/config-environments.d.ts +112 -0
- package/dist/config-environments.d.ts.map +1 -0
- package/dist/config-environments.js +114 -0
- package/dist/config.d.ts +32 -84
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -96
- package/dist/gate-decision.d.ts +11 -2
- package/dist/gate-decision.d.ts.map +1 -1
- package/dist/gate-decision.js +15 -3
- package/dist/graph-detail.d.ts.map +1 -1
- package/dist/graph-detail.js +15 -3
- package/dist/graph-effective.d.ts +33 -2
- package/dist/graph-effective.d.ts.map +1 -1
- package/dist/graph-effective.js +215 -68
- package/dist/graph-ir.d.ts +48 -0
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/graph-ir.js +130 -0
- package/dist/graph-sub-template.d.ts +11 -0
- package/dist/graph-sub-template.d.ts.map +1 -0
- package/dist/graph-sub-template.js +19 -0
- package/dist/graph-walk.d.ts +66 -0
- package/dist/graph-walk.d.ts.map +1 -0
- package/dist/graph-walk.js +70 -0
- package/dist/import/parser.d.ts +19 -0
- package/dist/import/parser.d.ts.map +1 -1
- package/dist/lexicon.d.ts +80 -6
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +11 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +2 -5
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/ledger-read.d.ts +65 -0
- package/dist/lifecycle/ledger-read.d.ts.map +1 -0
- package/dist/lifecycle/ledger-read.js +160 -0
- package/dist/lifecycle/observe.d.ts +28 -0
- package/dist/lifecycle/observe.d.ts.map +1 -1
- package/dist/lifecycle/observe.js +23 -1
- package/dist/lifecycle/release-workstation.d.ts +7 -0
- package/dist/lifecycle/release-workstation.d.ts.map +1 -1
- package/dist/lifecycle/release-workstation.js +25 -0
- package/dist/lifecycle/run-ledger.d.ts +4 -3
- package/dist/lifecycle/run-ledger.d.ts.map +1 -1
- package/dist/lifecycle/run-ledger.js +1 -0
- package/dist/lint/discover.js +3 -1
- package/dist/lint/post-synth.d.ts +127 -1
- package/dist/lint/post-synth.d.ts.map +1 -1
- package/dist/lint/post-synth.js +84 -2
- package/dist/lint/rule.d.ts +6 -0
- package/dist/lint/rule.d.ts.map +1 -1
- package/dist/lint/rules/op/index.d.ts +1 -0
- package/dist/lint/rules/op/index.d.ts.map +1 -1
- package/dist/lint/rules/op/index.js +2 -0
- package/dist/lint/rules/op/ops019-workspace-op-target.d.ts +32 -0
- package/dist/lint/rules/op/ops019-workspace-op-target.d.ts.map +1 -0
- package/dist/lint/rules/op/ops019-workspace-op-target.js +63 -0
- package/dist/live-endpoint.d.ts +1 -1
- package/dist/live-endpoint.d.ts.map +1 -1
- package/dist/live-endpoint.js +1 -1
- package/dist/observation.d.ts +48 -1
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +21 -5
- package/dist/op/activities/activity-contracts.d.ts +9 -6
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/activity-contracts.js +5 -2
- package/dist/op/activities/index.d.ts +2 -2
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/index.js +1 -1
- package/dist/op/activities/review-agent.d.ts +90 -4
- package/dist/op/activities/review-agent.d.ts.map +1 -1
- package/dist/op/activities/review-agent.js +217 -19
- package/dist/op/activities/work-evidence.d.ts +8 -1
- package/dist/op/activities/work-evidence.d.ts.map +1 -1
- package/dist/op/activities/work-evidence.js +1 -0
- package/dist/op/builders.d.ts +9 -5
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/builders.js +9 -5
- package/dist/op/composites/apply-op.d.ts +29 -2
- package/dist/op/composites/apply-op.d.ts.map +1 -1
- package/dist/op/composites/apply-op.js +20 -1
- package/dist/op/gate-approval.d.ts +11 -5
- package/dist/op/gate-approval.d.ts.map +1 -1
- package/dist/op/gate-approval.js +11 -6
- package/dist/op/gate-quorum.d.ts +100 -3
- package/dist/op/gate-quorum.d.ts.map +1 -1
- package/dist/op/gate-quorum.js +108 -6
- package/dist/op/gate-review.d.ts +9 -0
- package/dist/op/gate-review.d.ts.map +1 -1
- package/dist/op/gate-review.js +13 -0
- package/dist/op/gate.d.ts +44 -3
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/gate.js +25 -4
- package/dist/op/index.d.ts +3 -3
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/index.js +1 -1
- package/dist/op/local-executor.d.ts +38 -3
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +48 -6
- package/dist/op/op-waves-run.d.ts +26 -1
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +259 -13
- package/dist/op/op-waves.d.ts +72 -5
- package/dist/op/op-waves.d.ts.map +1 -1
- package/dist/op/op-waves.js +110 -15
- package/dist/op/runtime.d.ts +11 -0
- package/dist/op/runtime.d.ts.map +1 -1
- package/dist/op/schedule-overdue.d.ts +16 -0
- package/dist/op/schedule-overdue.d.ts.map +1 -1
- package/dist/op/schedule-overdue.js +36 -0
- package/dist/op/stage-hooks.d.ts +9 -2
- package/dist/op/stage-hooks.d.ts.map +1 -1
- package/dist/op/stage-hooks.js +7 -5
- package/dist/op/workspace-run-env.d.ts +22 -0
- package/dist/op/workspace-run-env.d.ts.map +1 -0
- package/dist/op/workspace-run-env.js +21 -0
- package/dist/pr-forge.d.ts +24 -0
- package/dist/pr-forge.d.ts.map +1 -1
- package/dist/pr-forge.js +47 -0
- package/dist/pr-post.d.ts +42 -0
- package/dist/pr-post.d.ts.map +1 -1
- package/dist/pr-post.js +67 -1
- package/dist/read-filter.d.ts +65 -0
- package/dist/read-filter.d.ts.map +1 -0
- package/dist/read-filter.js +179 -0
- package/dist/run-event.d.ts +1 -1
- package/dist/run-event.d.ts.map +1 -1
- package/dist/terraform/carve.d.ts +24 -3
- package/dist/terraform/carve.d.ts.map +1 -1
- package/dist/terraform/carve.js +32 -14
- package/dist/terraform/cuts.d.ts +97 -0
- package/dist/terraform/cuts.d.ts.map +1 -0
- package/dist/terraform/cuts.js +138 -0
- package/dist/terraform/folds.d.ts +26 -0
- package/dist/terraform/folds.d.ts.map +1 -0
- package/dist/terraform/folds.js +38 -0
- package/dist/terraform/graph.d.ts.map +1 -1
- package/dist/terraform/graph.js +10 -0
- package/dist/terraform/reach.d.ts +140 -0
- package/dist/terraform/reach.d.ts.map +1 -0
- package/dist/terraform/reach.js +170 -0
- package/dist/terraform/score.d.ts +14 -0
- package/dist/terraform/score.d.ts.map +1 -1
- package/dist/terraform/score.js +14 -31
- package/dist/terraform/state.d.ts.map +1 -1
- package/dist/terraform/state.js +4 -2
- package/dist/terraform/types.d.ts +8 -0
- package/dist/terraform/types.d.ts.map +1 -1
- package/dist/wave-blocked.d.ts +10 -1
- package/dist/wave-blocked.d.ts.map +1 -1
- package/dist/wave-blocked.js +31 -3
- package/dist/wave-runtime.mjs +266 -256
- package/dist/workspace/capabilities-contract.d.ts +66 -0
- package/dist/workspace/capabilities-contract.d.ts.map +1 -0
- package/dist/workspace/capabilities-contract.js +107 -0
- package/dist/workspace/capabilities.schema.json +229 -0
- package/dist/workspace/check.schema.json +11 -2
- package/dist/workspace/checks/ci-branch.d.ts +44 -0
- package/dist/workspace/checks/ci-branch.d.ts.map +1 -0
- package/dist/workspace/checks/ci-branch.js +133 -0
- package/dist/workspace/checks/links.d.ts +3 -0
- package/dist/workspace/checks/links.d.ts.map +1 -1
- package/dist/workspace/checks/links.js +12 -1
- package/dist/workspace/checks/org.d.ts +48 -0
- package/dist/workspace/checks/org.d.ts.map +1 -0
- package/dist/workspace/checks/org.js +156 -0
- package/dist/workspace/checks.d.ts +11 -1
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/checks.js +59 -7
- package/dist/workspace/ci-branches.d.ts +16 -0
- package/dist/workspace/ci-branches.d.ts.map +1 -1
- package/dist/workspace/ci-branches.js +27 -0
- package/dist/workspace/ci-green-cli.js +7 -7
- package/dist/workspace/ci-green-workflow.d.ts +1 -1
- package/dist/workspace/ci-green-workflow.d.ts.map +1 -1
- package/dist/workspace/ci-green-workflow.js +13 -8
- package/dist/workspace/ci-green.d.ts +14 -0
- package/dist/workspace/ci-green.d.ts.map +1 -1
- package/dist/workspace/ci-green.js +44 -11
- package/dist/workspace/ci-run.d.ts +9 -1
- package/dist/workspace/ci-run.d.ts.map +1 -1
- package/dist/workspace/ci-run.js +67 -6
- package/dist/workspace/ci-serve.d.ts +9 -0
- package/dist/workspace/ci-serve.d.ts.map +1 -1
- package/dist/workspace/ci-serve.js +114 -76
- package/dist/workspace/compose-graph.d.ts +23 -0
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/compose-graph.js +3 -1
- package/dist/workspace/composites.d.ts +4 -1
- package/dist/workspace/composites.d.ts.map +1 -1
- package/dist/workspace/composites.js +5 -2
- package/dist/workspace/composites.schema.json +22 -0
- package/dist/workspace/conformance/__writer_fixture__/work/work.schema.json +105 -1
- package/dist/workspace/conformance/index.d.ts +1 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/index.js +39 -2
- package/dist/workspace/cross-root-lint.d.ts +56 -0
- package/dist/workspace/cross-root-lint.d.ts.map +1 -0
- package/dist/workspace/cross-root-lint.js +111 -0
- package/dist/workspace/dbt-models-reader.d.ts +44 -0
- package/dist/workspace/dbt-models-reader.d.ts.map +1 -0
- package/dist/workspace/dbt-models-reader.js +356 -0
- package/dist/workspace/dbt-project-common.d.ts +40 -0
- package/dist/workspace/dbt-project-common.d.ts.map +1 -0
- package/dist/workspace/dbt-project-common.js +106 -0
- package/dist/workspace/dbt-project-reader.d.ts +4 -3
- package/dist/workspace/dbt-project-reader.d.ts.map +1 -1
- package/dist/workspace/dbt-project-reader.js +14 -108
- package/dist/workspace/decision-rank.d.ts +26 -0
- package/dist/workspace/decision-rank.d.ts.map +1 -0
- package/dist/workspace/decision-rank.js +16 -0
- package/dist/workspace/declaration.d.ts +43 -2
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +45 -11
- package/dist/workspace/declaration.schema.json +133 -24
- package/dist/workspace/environments.d.ts +26 -2
- package/dist/workspace/environments.d.ts.map +1 -1
- package/dist/workspace/environments.js +26 -2
- package/dist/workspace/flyway-dir.d.ts +39 -0
- package/dist/workspace/flyway-dir.d.ts.map +1 -0
- package/dist/workspace/flyway-dir.js +104 -0
- package/dist/workspace/flyway-layout.d.ts +96 -0
- package/dist/workspace/flyway-layout.d.ts.map +1 -0
- package/dist/workspace/flyway-layout.js +308 -0
- package/dist/workspace/graph-cache.d.ts +8 -0
- package/dist/workspace/graph-cache.d.ts.map +1 -1
- package/dist/workspace/graph-cache.js +27 -3
- package/dist/workspace/graph-cli.d.ts +39 -2
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/graph-cli.js +92 -32
- package/dist/workspace/graph.schema.json +182 -0
- package/dist/workspace/intent.d.ts +2 -3
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/intent.js +5 -9
- package/dist/workspace/kind-link-readers.d.ts +59 -2
- package/dist/workspace/kind-link-readers.d.ts.map +1 -1
- package/dist/workspace/kind-link-readers.js +17 -1
- package/dist/workspace/kind-readers.d.ts +3 -0
- package/dist/workspace/kind-readers.d.ts.map +1 -1
- package/dist/workspace/kind-readers.js +7 -1
- package/dist/workspace/kinds.d.ts +66 -2
- package/dist/workspace/kinds.d.ts.map +1 -1
- package/dist/workspace/kinds.js +98 -4
- package/dist/workspace/ledger.schema.json +158 -0
- package/dist/workspace/lexicon-outputs.d.ts +20 -1
- package/dist/workspace/lexicon-outputs.d.ts.map +1 -1
- package/dist/workspace/lexicon-outputs.js +102 -10
- package/dist/workspace/lineage-check.d.ts +3 -0
- package/dist/workspace/lineage-check.d.ts.map +1 -1
- package/dist/workspace/lineage-check.js +23 -4
- package/dist/workspace/links.d.ts +8 -1
- package/dist/workspace/links.d.ts.map +1 -1
- package/dist/workspace/links.js +25 -1
- package/dist/workspace/ls.d.ts +8 -0
- package/dist/workspace/ls.d.ts.map +1 -1
- package/dist/workspace/ls.js +7 -1
- package/dist/workspace/ls.schema.json +7 -0
- package/dist/workspace/member-commands.d.ts +10 -1
- package/dist/workspace/member-commands.d.ts.map +1 -1
- package/dist/workspace/member-commands.js +71 -6
- package/dist/workspace/migrate-links.d.ts +45 -0
- package/dist/workspace/migrate-links.d.ts.map +1 -0
- package/dist/workspace/migrate-links.js +100 -0
- package/dist/workspace/migration-dirs.d.ts +74 -0
- package/dist/workspace/migration-dirs.d.ts.map +1 -0
- package/dist/workspace/migration-dirs.js +254 -0
- package/dist/workspace/nested-graph.d.ts +2 -0
- package/dist/workspace/nested-graph.d.ts.map +1 -1
- package/dist/workspace/nested-graph.js +32 -1
- package/dist/workspace/reason-codes.d.ts +18 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +23 -0
- package/dist/workspace/records-cli.d.ts +11 -0
- package/dist/workspace/records-cli.d.ts.map +1 -1
- package/dist/workspace/records-cli.js +57 -5
- package/dist/workspace/records.schema.json +5 -0
- package/dist/workspace/release-candidates.d.ts +2 -0
- package/dist/workspace/release-candidates.d.ts.map +1 -1
- package/dist/workspace/release-candidates.js +5 -2
- package/dist/workspace/release-train.d.ts +53 -0
- package/dist/workspace/release-train.d.ts.map +1 -0
- package/dist/workspace/release-train.js +134 -0
- package/dist/workspace/release-workflow.d.ts.map +1 -1
- package/dist/workspace/release-workflow.js +4 -3
- package/dist/workspace/repo-ref.d.ts +45 -0
- package/dist/workspace/repo-ref.d.ts.map +1 -0
- package/dist/workspace/repo-ref.js +114 -0
- package/dist/workspace/run-event.schema.json +2 -2
- package/dist/workspace/runs-cli.d.ts +9 -0
- package/dist/workspace/runs-cli.d.ts.map +1 -1
- package/dist/workspace/runs-cli.js +48 -3
- package/dist/workspace/runs.schema.json +7 -0
- package/dist/workspace/search-cli.d.ts +204 -0
- package/dist/workspace/search-cli.d.ts.map +1 -0
- package/dist/workspace/search-cli.js +466 -0
- package/dist/workspace/search-contract.d.ts +56 -0
- package/dist/workspace/search-contract.d.ts.map +1 -0
- package/dist/workspace/search-contract.js +70 -0
- package/dist/workspace/search.schema.json +822 -0
- package/dist/workspace/status-decisions.d.ts +37 -0
- package/dist/workspace/status-decisions.d.ts.map +1 -0
- package/dist/workspace/status-decisions.js +147 -0
- package/dist/workspace/status-gates.d.ts +9 -0
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status.d.ts +4 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/status.js +14 -2
- package/dist/workspace/status.schema.json +6 -0
- package/dist/workspace/work-cli.d.ts.map +1 -1
- package/dist/workspace/work-cli.js +5 -3
- package/dist/workspace/work-evidence-ops.d.ts +83 -0
- package/dist/workspace/work-evidence-ops.d.ts.map +1 -0
- package/dist/workspace/work-evidence-ops.js +169 -0
- package/dist/workspace/work-evidence.d.ts +12 -2
- package/dist/workspace/work-evidence.d.ts.map +1 -1
- package/dist/workspace/work-evidence.js +21 -3
- package/dist/workspace/work-evidence.schema.json +49 -2
- package/dist/workspace/workspace-gates.d.ts +110 -0
- package/dist/workspace/workspace-gates.d.ts.map +1 -0
- package/dist/workspace/workspace-gates.js +140 -0
- package/dist/workspace/workspace-kinds.schema.json +58 -3
- package/dist/workspace/workspace-ledger.d.ts +76 -0
- package/dist/workspace/workspace-ledger.d.ts.map +1 -0
- package/dist/workspace/workspace-ledger.js +91 -0
- package/dist/workspace/workspace-run.d.ts +112 -0
- package/dist/workspace/workspace-run.d.ts.map +1 -0
- package/dist/workspace/workspace-run.js +432 -0
- package/package.json +1 -1
- package/src/__golden__/wave-loop/op-by-apply-after-fails.json +10 -0
- package/src/__golden__/wave-loop/op-by-apply-hold.json +10 -0
- package/src/__golden__/wave-loop/op-by-apply-ignored.json +10 -0
- package/src/__golden__/wave-loop/op-by-apply-pass.json +10 -0
- package/src/__golden__/wave-loop/op-by-apply-skip.json +10 -0
- package/src/__golden__/wave-loop/op-cost-member-clash.json +6 -0
- package/src/__golden__/wave-loop/op-cost-member.json +13 -0
- package/src/__golden__/wave-loop/op-denied-source.json +16 -0
- package/src/__golden__/wave-loop/op-denied.json +16 -0
- package/src/__golden__/wave-loop/op-discover-rest-short.json +6 -0
- package/src/__golden__/wave-loop/op-discover-rest-stops.json +13 -0
- package/src/__golden__/wave-loop/op-discover-rest.json +26 -0
- package/src/__golden__/wave-loop/op-discover-wide.json +26 -0
- package/src/__golden__/wave-loop/op-held-on-again.json +16 -0
- package/src/__golden__/wave-loop/op-held-on-before-apply.json +16 -0
- package/src/__golden__/wave-loop/op-held-on.json +16 -0
- package/src/__golden__/wave-loop/op-hooks-apply-fails.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-fail-after-apply.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-fail-before-apply.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-fail-before-plan.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-held.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-hold-before-apply.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-pass.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-refused-at-base.json +13 -0
- package/src/__golden__/wave-loop/op-hooks-share.json +33 -0
- package/src/__golden__/wave-loop/op-outcome-held.json +10 -0
- package/src/__golden__/wave-loop/op-outcome-replan-approved.json +10 -0
- package/src/__golden__/wave-loop/op-outcome-replan-forever.json +10 -0
- package/src/__golden__/wave-loop/op-outcome-replan.json +10 -0
- package/src/__golden__/wave-loop/op-outcome-stood-down.json +10 -0
- package/src/__golden__/wave-loop/op-outcome-unreadable.json +10 -0
- package/src/__golden__/wave-loop/op-overridden.json +16 -0
- package/src/__golden__/wave-loop/op-per-run.json +20 -0
- package/src/__golden__/wave-loop/op-point.json +13 -0
- package/src/__golden__/wave-loop/op-pr-review.json +10 -0
- package/src/__golden__/wave-loop/op-sealed.json +10 -0
- package/src/__golden__/wave-loop/op-spend-change-only.json +10 -0
- package/src/__golden__/wave-loop/op-spend.json +10 -0
- package/src/__golden__/wave-loop/op-wave-commands.json +55 -0
- package/src/__golden__/wave-loop/op-wide-refused.json +26 -0
- package/src/__golden__/wave-loop/op-wide-waiting.json +29 -0
- package/src/__golden__/wave-loop/op-wide.json +39 -0
- package/src/__snapshots__/okf.test.ts.snap +10 -0
- package/src/action-pins.test.ts +78 -0
- package/src/action-pins.ts +92 -0
- package/src/capabilities/aws.paths +148 -0
- package/src/capabilities/base-mappings.json +122 -0
- package/src/capabilities/catalog.ts +230 -0
- package/src/capabilities/language.test.ts +191 -0
- package/src/capabilities/language.ts +373 -0
- package/src/capabilities/matcher.ts +315 -0
- package/src/capabilities/view-compose.test.ts +76 -0
- package/src/capabilities/view.ts +631 -0
- package/src/cli/commands/carve-score-once.test.ts +99 -0
- package/src/cli/commands/carve.ts +37 -6
- package/src/cli/commands/check-lexicon.test.ts +2 -2
- package/src/cli/commands/import-report.ts +71 -0
- package/src/cli/commands/import.ts +33 -3
- package/src/cli/commands/lint.ts +1 -0
- package/src/cli/commands/migrate-dialect.test.ts +145 -0
- package/src/cli/commands/migrate.ts +132 -11
- package/src/cli/handlers/__snapshots__/build-member.test.ts.snap +4 -4
- package/src/cli/handlers/approve.ts +23 -2
- package/src/cli/handlers/build.ts +7 -1
- package/src/cli/handlers/declared-graph.ts +99 -0
- package/src/cli/handlers/graph.test.ts +94 -3
- package/src/cli/handlers/graph.ts +123 -96
- package/src/cli/handlers/ledger.ts +54 -0
- package/src/cli/handlers/migrate.ts +21 -12
- package/src/cli/handlers/misc.ts +10 -1
- package/src/cli/handlers/pr-env.ts +3 -4
- package/src/cli/handlers/pr.ts +138 -36
- package/src/cli/handlers/query.ts +16 -4
- package/src/cli/handlers/release.ts +6 -3
- package/src/cli/handlers/search-build-roots.test.ts +144 -0
- package/src/cli/handlers/search-count.test.ts +191 -0
- package/src/cli/handlers/search-count.ts +165 -0
- package/src/cli/handlers/search-json.test.ts +333 -0
- package/src/cli/handlers/search-live.test.ts +387 -0
- package/src/cli/handlers/search-paths.test.ts +235 -0
- package/src/cli/handlers/search.ts +1291 -166
- package/src/cli/main.test.ts +43 -3
- package/src/cli/main.ts +88 -17
- package/src/cli/mcp/server.test.ts +3 -3
- package/src/cli/mcp/server.ts +3 -0
- package/src/cli/mcp/tools/capabilities.ts +32 -0
- package/src/cli/mcp/workspace-tools.e2e.test.ts +21 -1
- package/src/cli/mcp/workspace-tools.ts +47 -2
- package/src/cli/parse-args.ts +79 -15
- package/src/cli/registry.ts +36 -4
- package/src/components/builders.ts +8 -0
- package/src/components/capability-plugin-loader.ts +13 -1
- package/src/components/capability-plugin.ts +16 -0
- package/src/components/pr-env-ports.ts +89 -0
- package/src/components/pr-env-run-bundle.test.ts +54 -0
- package/src/components/pr-env-run.ts +5 -76
- package/src/components/pr-environment.ts +2 -1
- package/src/components/pr-hooks.test.ts +73 -5
- package/src/components/pr-hooks.ts +95 -5
- package/src/components/pr-pipeline.ts +64 -16
- package/src/components/pr-policy.test.ts +64 -1
- package/src/components/pr-policy.ts +53 -0
- package/src/components/registry.test.ts +1 -1
- package/src/components/starter-plugin.ts +6 -0
- package/src/components/verbs/index.ts +2 -0
- package/src/components/verbs/publish-artifact.test.ts +60 -0
- package/src/components/verbs/publish-artifact.ts +122 -0
- package/src/components/verbs/publish-image.test.ts +101 -0
- package/src/components/verbs/publish-image.ts +265 -0
- package/src/config-environments.ts +160 -0
- package/src/config.ts +44 -124
- package/src/gate-decision-bundle.test.ts +1 -0
- package/src/gate-decision-identity.test.ts +9 -0
- package/src/gate-decision.ts +26 -3
- package/src/graph-detail.ts +15 -3
- package/src/graph-effective.ts +226 -75
- package/src/graph-ir.test.ts +163 -0
- package/src/graph-ir.ts +174 -0
- package/src/graph-sub-template.ts +22 -0
- package/src/graph-walk.test.ts +44 -0
- package/src/graph-walk.ts +102 -0
- package/src/import/parser.ts +20 -0
- package/src/lexicon.ts +84 -6
- package/src/lifecycle/gate-ledger.ts +8 -0
- package/src/lifecycle/git.ts +2 -2
- package/src/lifecycle/ledger-read.test.ts +107 -0
- package/src/lifecycle/ledger-read.ts +195 -0
- package/src/lifecycle/observe.test.ts +27 -1
- package/src/lifecycle/observe.ts +43 -1
- package/src/lifecycle/release-workstation.ts +24 -0
- package/src/lifecycle/run-ledger.ts +5 -2
- package/src/lint/cross-root.test.ts +122 -0
- package/src/lint/discover.ts +3 -1
- package/src/lint/post-synth.ts +212 -2
- package/src/lint/rule.ts +6 -0
- package/src/lint/rules/op/index.ts +2 -0
- package/src/lint/rules/op/ops019-workspace-op-target.ts +89 -0
- package/src/live-endpoint.ts +1 -1
- package/src/observation.test.ts +25 -0
- package/src/observation.ts +69 -5
- package/src/op/activities/activity-contracts.ts +5 -2
- package/src/op/activities/index.ts +2 -2
- package/src/op/activities/review-agent.test.ts +221 -4
- package/src/op/activities/review-agent.ts +265 -22
- package/src/op/activities/work-evidence.ts +9 -1
- package/src/op/builders.ts +9 -5
- package/src/op/composites/apply-op.test.ts +108 -0
- package/src/op/composites/apply-op.ts +37 -2
- package/src/op/gate-approval.test.ts +6 -1
- package/src/op/gate-approval.ts +12 -6
- package/src/op/gate-quorum-at-base.test.ts +211 -0
- package/src/op/gate-quorum.ts +156 -8
- package/src/op/gate-review.ts +14 -0
- package/src/op/gate.ts +67 -8
- package/src/op/index.ts +3 -2
- package/src/op/local-executor.ts +69 -9
- package/src/op/op-waves-depends-on.test.ts +81 -0
- package/src/op/op-waves-hook-targets.test.ts +4 -2
- package/src/op/op-waves-quorum-product.test.ts +158 -0
- package/src/op/op-waves-run.ts +288 -14
- package/src/op/op-waves.ts +143 -14
- package/src/op/runtime.ts +8 -0
- package/src/op/schedule-overdue.ts +33 -0
- package/src/op/stage-hooks.ts +13 -5
- package/src/op/workspace-run-env.ts +29 -0
- package/src/pr-forge-bundle.test.ts +2 -2
- package/src/pr-forge.test.ts +47 -0
- package/src/pr-forge.ts +68 -0
- package/src/pr-post-open.e2e.test.ts +36 -0
- package/src/pr-post.test.ts +102 -3
- package/src/pr-post.ts +89 -1
- package/src/read-filter.test.ts +54 -0
- package/src/read-filter.ts +193 -0
- package/src/run-event.ts +1 -1
- package/src/stage-hooks-bundle.test.ts +1 -0
- package/src/terraform/carve.ts +52 -15
- package/src/terraform/cuts.test.ts +173 -0
- package/src/terraform/cuts.ts +188 -0
- package/src/terraform/folds.ts +44 -0
- package/src/terraform/graph.ts +9 -0
- package/src/terraform/radius.test.ts +90 -0
- package/src/terraform/reach.test.ts +146 -0
- package/src/terraform/reach.ts +247 -0
- package/src/terraform/score.ts +27 -29
- package/src/terraform/state.ts +3 -1
- package/src/terraform/types.ts +8 -0
- package/src/wave-blocked.ts +28 -3
- package/src/wave-loop-golden.test.ts +4 -3
- package/src/workspace/behold-kinds.test.ts +1 -1
- package/src/workspace/capabilities-contract.test.ts +88 -0
- package/src/workspace/capabilities-contract.ts +132 -0
- package/src/workspace/capabilities.schema.json +229 -0
- package/src/workspace/check-contract.test.ts +7 -6
- package/src/workspace/check.schema.json +11 -2
- package/src/workspace/checks/ci-branch.test.ts +128 -0
- package/src/workspace/checks/ci-branch.ts +141 -0
- package/src/workspace/checks/links.ts +12 -1
- package/src/workspace/checks/org.ts +169 -0
- package/src/workspace/checks.ts +64 -7
- package/src/workspace/ci-branches.ts +31 -0
- package/src/workspace/ci-green-branches.test.ts +153 -0
- package/src/workspace/ci-green-cli.ts +7 -7
- package/src/workspace/ci-green-workflow.test.ts +4 -3
- package/src/workspace/ci-green-workflow.ts +13 -9
- package/src/workspace/ci-green.ts +49 -12
- package/src/workspace/ci-run.test.ts +72 -1
- package/src/workspace/ci-run.ts +68 -8
- package/src/workspace/ci-serve.test.ts +95 -0
- package/src/workspace/ci-serve.ts +106 -65
- package/src/workspace/component-environments.test.ts +25 -2
- package/src/workspace/compose-graph.ts +19 -3
- package/src/workspace/composites.schema.json +22 -0
- package/src/workspace/composites.test.ts +39 -8
- package/src/workspace/composites.ts +6 -2
- package/src/workspace/conformance/__writer_fixture__/work/work.schema.json +105 -1
- package/src/workspace/conformance/conformance.e2e.test.ts +14 -1
- package/src/workspace/conformance/index.ts +31 -2
- package/src/workspace/cross-root-lint.test.ts +90 -0
- package/src/workspace/cross-root-lint.ts +126 -0
- package/src/workspace/dbt-kind.test.ts +3 -2
- package/src/workspace/dbt-models-reader.ts +362 -0
- package/src/workspace/dbt-models.test.ts +248 -0
- package/src/workspace/dbt-project-common.ts +113 -0
- package/src/workspace/dbt-project-reader.ts +29 -112
- package/src/workspace/decision-rank.ts +40 -0
- package/src/workspace/declaration.schema.json +133 -24
- package/src/workspace/declaration.ts +84 -15
- package/src/workspace/environments.ts +40 -4
- package/src/workspace/flyway-dir.ts +113 -0
- package/src/workspace/flyway-layout.ts +337 -0
- package/src/workspace/graph-cache.ts +27 -3
- package/src/workspace/graph-cli.ts +119 -32
- package/src/workspace/graph-contract.test.ts +4 -2
- package/src/workspace/graph.schema.json +182 -0
- package/src/workspace/identity.test.ts +14 -2
- package/src/workspace/intent.ts +6 -14
- package/src/workspace/kind-link-readers.ts +68 -3
- package/src/workspace/kind-readers.e2e.test.ts +28 -0
- package/src/workspace/kind-readers.test.ts +1 -1
- package/src/workspace/kind-readers.ts +7 -1
- package/src/workspace/kinds.test.ts +12 -7
- package/src/workspace/kinds.ts +132 -7
- package/src/workspace/ledger.schema.json +158 -0
- package/src/workspace/lexicon-outputs.ts +132 -13
- package/src/workspace/lineage-check.ts +30 -7
- package/src/workspace/links.ts +24 -1
- package/src/workspace/ls-contract.test.ts +1 -1
- package/src/workspace/ls.schema.json +7 -0
- package/src/workspace/ls.ts +10 -1
- package/src/workspace/member-commands.ts +82 -3
- package/src/workspace/member-file-schema.test.ts +124 -0
- package/src/workspace/migrate-links.test.ts +99 -0
- package/src/workspace/migrate-links.ts +108 -0
- package/src/workspace/migration-dirs.test.ts +272 -0
- package/src/workspace/migration-dirs.ts +267 -0
- package/src/workspace/nested-graph.ts +32 -1
- package/src/workspace/org-scope.test.ts +238 -0
- package/src/workspace/reason-codes.test.ts +13 -1
- package/src/workspace/reason-codes.ts +23 -0
- package/src/workspace/records-cli.ts +58 -5
- package/src/workspace/records.schema.json +5 -0
- package/src/workspace/release-candidates.ts +7 -2
- package/src/workspace/release-train.ts +157 -0
- package/src/workspace/release-workflow.ts +4 -3
- package/src/workspace/repo-ref.ts +113 -0
- package/src/workspace/run-event.schema.json +2 -2
- package/src/workspace/runs-cli.ts +48 -4
- package/src/workspace/runs.schema.json +7 -0
- package/src/workspace/search-cli.e2e.test.ts +305 -0
- package/src/workspace/search-cli.ts +591 -0
- package/src/workspace/search-contract.ts +95 -0
- package/src/workspace/search.schema.json +822 -0
- package/src/workspace/status-contract.test.ts +46 -1
- package/src/workspace/status-decisions.test.ts +100 -0
- package/src/workspace/status-decisions.ts +151 -0
- package/src/workspace/status-gates.ts +9 -0
- package/src/workspace/status.schema.json +6 -0
- package/src/workspace/status.ts +17 -3
- package/src/workspace/where-filters.test.ts +39 -0
- package/src/workspace/work-cli.ts +5 -3
- package/src/workspace/work-evidence-ops.test.ts +176 -0
- package/src/workspace/work-evidence-ops.ts +189 -0
- package/src/workspace/work-evidence.schema.json +49 -2
- package/src/workspace/work-evidence.ts +22 -3
- package/src/workspace/workspace-gates.ts +200 -0
- package/src/workspace/workspace-kinds.schema.json +58 -3
- package/src/workspace/workspace-ledger.ts +130 -0
- package/src/workspace/workspace-run.test.ts +322 -0
- package/src/workspace/workspace-run.ts +461 -0
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAKA,OAAO,EAAkB,KAAK,UAAU,EAAmB,MAAM,YAAY,CAAC;AAa9E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAKA,OAAO,EAAkB,KAAK,UAAU,EAAmB,MAAM,YAAY,CAAC;AAa9E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AA27CzC;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBzE;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,UAAU,EA+NvC,CAAC"}
|
package/dist/cli/main.js
CHANGED
|
@@ -157,14 +157,27 @@ Commands:
|
|
|
157
157
|
bundle tree, otherwise JSON path→content on stdout)
|
|
158
158
|
search "<query>" Answer an estate question with a few matching rows
|
|
159
159
|
instead of a graph dump (kind:, tag:, attr:, ->/<- edge
|
|
160
|
-
terms
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
terms, ->* / ->{1,3} for depth, ->[via=attr] / [to=attr]
|
|
161
|
+
by attribute; --live or --snapshot <ref> (also --at
|
|
162
|
+
<ref>) with --env <name> reads the estate or a
|
|
163
|
+
recorded snapshot; --show <attr>,
|
|
164
|
+
--count-by kind|module|attr:<name>, --explain prints
|
|
165
|
+
paths, --json, --check-live,
|
|
166
|
+
--check-snapshot, --fail-on-drift; cap:<name> and
|
|
167
|
+
->[cap=<name>] ask with a capability, and
|
|
168
|
+
--capabilities prints the catalog)
|
|
163
169
|
query "<sql>" [dir] Run one read-only SQL statement over chant/lifecycle:
|
|
164
170
|
the resources and snapshots each lexicon observed, Op
|
|
165
171
|
runs, gates, deploys, releases and cuts, loaded into
|
|
166
172
|
node:sqlite (schema v1, listed in chant_schema).
|
|
167
|
-
--member <name> keeps members; --json prints rows
|
|
173
|
+
--member <name> keeps members; --json prints rows.
|
|
174
|
+
For a read contract, use chant ledger
|
|
175
|
+
ledger <table> [dir] One ledger's rows from chant/lifecycle as a read
|
|
176
|
+
contract (resources, snapshots, runs, gates, deploys,
|
|
177
|
+
releases, cuts; the columns chant query loads).
|
|
178
|
+
--where <field><op><value> (= != < <= > >= ~,
|
|
179
|
+
repeatable), --since <time|7d>, --at <rev> of
|
|
180
|
+
chant/lifecycle, --member <name>, --json
|
|
168
181
|
generate Generate typed code from sources chant.config declares
|
|
169
182
|
(k8s.crds, helm.charts) into src/generated/<lexicon>/
|
|
170
183
|
(codegen.outDir); --check exits 1 when the committed
|
|
@@ -567,6 +580,9 @@ Ops:
|
|
|
567
580
|
--layout-engine graphviz to use dot instead;
|
|
568
581
|
--detail 0..3: stacks|composites|declarables|attributes;
|
|
569
582
|
--lens lexicon:<n>|stack:<n>|blast:<node> (--up/--down))
|
|
583
|
+
--format ir --capability-view: add the lexicon-neutral
|
|
584
|
+
view capability rules read, as this project's lexicons
|
|
585
|
+
map it, to the IR as capabilityView (#4378)
|
|
570
586
|
--components --format ir --projection gitlab|github|forgejo:
|
|
571
587
|
add the CI/pipeline projection (stages/jobs/needs) to
|
|
572
588
|
the component-graph IR, from the same generator
|
|
@@ -604,7 +620,7 @@ Workspace (level 1, #2524):
|
|
|
604
620
|
restore, from the deploy records, releases and ci
|
|
605
621
|
revoked tags. Eight weeks back by default. Read only;
|
|
606
622
|
never fetches. --json prints the read-contract document
|
|
607
|
-
workspace records [--kind <kind file>] [--current] [--uncommitted | --at <rev>] [--base <rev>] [--require attested] [--json]
|
|
623
|
+
workspace records [--kind <kind file>] [--current] [--uncommitted | --at <rev>] [--base <rev>] [--require attested] [--where <field><op><value>]... [--json]
|
|
608
624
|
Without --kind, every record kind the declaration
|
|
609
625
|
names. Read the records a record kind locates, validated
|
|
610
626
|
against its schema, with reason codes for invalid
|
|
@@ -617,7 +633,9 @@ Workspace (level 1, #2524):
|
|
|
617
633
|
asset-drift or asset-missing. In the working tree,
|
|
618
634
|
each record says whether it is committed, modified
|
|
619
635
|
or new against HEAD, with the branch and base;
|
|
620
|
-
--uncommitted lists only the modified and new ones
|
|
636
|
+
--uncommitted lists only the modified and new ones;
|
|
637
|
+
--where keeps the records a typed filter matches
|
|
638
|
+
(id, path, state, valid, data.<key>, ...)
|
|
621
639
|
workspace records [--kind <kind file>] --since <rev|session id> [--at <rev>] [--json]
|
|
622
640
|
What changed in the records between <rev> and --at
|
|
623
641
|
(default: the working tree): new and removed records,
|
|
@@ -687,14 +705,16 @@ Workspace (level 1, #2524):
|
|
|
687
705
|
a url or a path pinned by hash) is appended to the
|
|
688
706
|
item's pins through records amend. Prints the
|
|
689
707
|
work-evidence document and never commits
|
|
690
|
-
workspace runs [--unit <id>] [--decision <id>] [--by <principal>] [--since <rev>] [--follow-squash] [--json]
|
|
708
|
+
workspace runs [--unit <id>] [--decision <id>] [--by <principal>] [--since <rev>] [--where <field><op><value>]... [--follow-squash] [--json]
|
|
691
709
|
The agent runs in the run ledger on chant/lifecycle, each
|
|
692
710
|
with its model, tokens, cost and the commits it made,
|
|
693
711
|
and totals per work item, decision and principal; a run
|
|
694
712
|
that reports no cost is listed as unpriced, never zero.
|
|
695
713
|
Read-only, never fetches; --follow-squash joins each
|
|
696
714
|
squash merge to its pull request's runs, fetching a
|
|
697
|
-
missing refs/pull/<n>/head from origin
|
|
715
|
+
missing refs/pull/<n>/head from origin; --where keeps
|
|
716
|
+
the runs a typed filter matches (state, model,
|
|
717
|
+
startedAt, cost.amount, ...) before the totals
|
|
698
718
|
workspace runs start --from <file|->
|
|
699
719
|
Record that an agent run started: who it worked for,
|
|
700
720
|
its harness, model, work item and lease. Prints the run
|
|
@@ -866,7 +886,7 @@ Workspace (level 1, #2524):
|
|
|
866
886
|
workspace admit <return id> [--note <text>] [--dry-run] [--json]
|
|
867
887
|
Admit the signers of a return in .chant/trust.json, so
|
|
868
888
|
its signed work reads as attested once merged
|
|
869
|
-
workspace check [--at <rev>] [--json] [--format stylish|json|sarif] [--generated] [--kind <kind file>] [--live --env <env>]
|
|
889
|
+
workspace check [--at <rev>] [--json] [--format stylish|json|sarif] [--generated] [--kind <kind file>] [--live --env <env>] [--forge-repos <file>]
|
|
870
890
|
Fail on an unreadable lineage lock or an open manual
|
|
871
891
|
step, and, in a declared workspace, on a WSP check of
|
|
872
892
|
the declaration, member ledgers, pipelines or
|
|
@@ -878,7 +898,10 @@ Workspace (level 1, #2524):
|
|
|
878
898
|
resolves each declared member link against the live
|
|
879
899
|
graph of <env> (each chant member runs chant graph
|
|
880
900
|
--live, which reaches the account) and reports
|
|
881
|
-
WSP141 and WSP142
|
|
901
|
+
WSP141 and WSP142. --forge-repos reads a forge's
|
|
902
|
+
repository list from a file and reports repos an
|
|
903
|
+
org workspace lacks (WSP014) or names that the
|
|
904
|
+
forge no longer has (WSP015)
|
|
882
905
|
workspace check --changes <base>..<head> [--work <id>] [--severity off|warn|fail] [--kind <kind file>...] [--json]
|
|
883
906
|
Map each path the diff changes to the current records
|
|
884
907
|
whose constrains cover it: change-uncovered when none
|
|
@@ -906,9 +929,12 @@ Workspace (level 1, #2524):
|
|
|
906
929
|
its own chant, one process per toolchain. -o <dir>
|
|
907
930
|
writes <dir>/<member>.json; --member narrows the run;
|
|
908
931
|
--dry-run prints which chant runs which project
|
|
909
|
-
workspace lint [dir] [--format stylish|json|sarif] [--member <name>]
|
|
932
|
+
workspace lint [dir] [--format stylish|json|sarif] [--member <name>] [--cross-root]
|
|
910
933
|
Lint every chant member and example project with its
|
|
911
|
-
own chant; sarif writes one run per member
|
|
934
|
+
own chant; sarif writes one run per member.
|
|
935
|
+
--cross-root adds the disagreement lint (LNK001 and
|
|
936
|
+
the lexicons' cross-root checks) over every member's
|
|
937
|
+
graph, where declared links and the graphs disagree
|
|
912
938
|
workspace audit [dir] [--json] [--member <name>]
|
|
913
939
|
Audit each chant member with its own .chant-audit.json;
|
|
914
940
|
every finding carries a member field
|
|
@@ -921,6 +947,15 @@ Workspace (level 1, #2524):
|
|
|
921
947
|
source and toolchain are unchanged is served from
|
|
922
948
|
the cache in $CHANT_CACHE_DIR or ~/.cache/chant;
|
|
923
949
|
--no-cache reads every member
|
|
950
|
+
--capability-view: each member's chant adds its
|
|
951
|
+
capability view, mapped by its own lexicons
|
|
952
|
+
workspace search "<query>" [--member <name>] [--env <name>] [--snapshot <ref> | --live] [--at <rev>] [--explain] [--count-by ...] [--json]
|
|
953
|
+
chant search in every chant member, each under its own
|
|
954
|
+
chant, as one read-contract document: ids are
|
|
955
|
+
<member>/<id> as workspace graph prints them, each
|
|
956
|
+
member is searched alone, and a member that can't be
|
|
957
|
+
searched has a reason code. --at <rev> is the git
|
|
958
|
+
revision; --snapshot <ref> replays a recorded snapshot
|
|
924
959
|
workspace graph --composites [--at <rev>] [--member <name>] [-o <file>]
|
|
925
960
|
Each composite instance the members declare, with the
|
|
926
961
|
components whose contract can deploy it; an instance
|
|
@@ -936,6 +971,29 @@ Workspace (level 1, #2524):
|
|
|
936
971
|
One decision's intent walk over every path: and member:
|
|
937
972
|
entry it constrains: the commits in its window, each
|
|
938
973
|
own, worked, within-other or unexplained, with counts
|
|
974
|
+
workspace run <member>/<op>... [--env <env>] [--gate <name>] [--on <lexicon>] [--dry-run] [--json]
|
|
975
|
+
Run Ops that span members (#2554): each target's chant
|
|
976
|
+
run <op> in the member's directory, under its own
|
|
977
|
+
chant, producers before the members that link to them.
|
|
978
|
+
OPS019 checks every target against the composed graph
|
|
979
|
+
first. Member run records cite the workspace run,
|
|
980
|
+
whose record goes under _members/_workspace/<env>/.
|
|
981
|
+
Exits 3 when a step stops at a gate
|
|
982
|
+
workspace run --dependents-of <member> --op <op> [--env <env>] [--gate <name>] [--dry-run] [--json]
|
|
983
|
+
Run <op> in every member that links to <member>,
|
|
984
|
+
directly or not, nearest first; members without the
|
|
985
|
+
Op are listed as skipped
|
|
986
|
+
workspace run approve <gate> [--plan <digest>] [--approver <principal>]
|
|
987
|
+
Approve a workspace gate's pending fact. It stands in
|
|
988
|
+
for a member gate only when it covers that member's
|
|
989
|
+
plan and the member sets acceptWorkspaceGates at base
|
|
990
|
+
workspace train <env> [--pin <member>=<label|digest>]... [--dry-run] [--json]
|
|
991
|
+
Record a release train: one cut release of every
|
|
992
|
+
chant member (the newest, unless --pin picks one),
|
|
993
|
+
under _members/_workspace/<env>/trains.jsonl. Refuses
|
|
994
|
+
when a member has no release
|
|
995
|
+
workspace train list <env> [--json]
|
|
996
|
+
The release trains recorded for <env>, oldest first
|
|
939
997
|
|
|
940
998
|
Lifecycle (alias: lc):
|
|
941
999
|
lifecycle snapshot <env> Query API, save metadata to orphan branch
|
|
@@ -1009,7 +1067,9 @@ Component release ledger + status:
|
|
|
1009
1067
|
from the report pr-plan --no-status wrote
|
|
1010
1068
|
(--pr <n> --head <sha> --env <env> --forge
|
|
1011
1069
|
<kind>), in a job that runs none of the
|
|
1012
|
-
change's code (#4295)
|
|
1070
|
+
change's code (#4295); --open posts every
|
|
1071
|
+
open merge request's from a GitLab pipeline
|
|
1072
|
+
of the target branch (#4328)
|
|
1013
1073
|
components pr-record On merge (#4168): plan the same members again,
|
|
1014
1074
|
store the change set and write the merge record
|
|
1015
1075
|
_merges/<commit>.json; applies and refuses
|
|
@@ -1167,12 +1227,16 @@ Options:
|
|
|
1167
1227
|
JSON (lifecycle plan)
|
|
1168
1228
|
OR '--report markdown': emit a reviewer-facing markdown
|
|
1169
1229
|
render, holes and disruption included (lifecycle plan)
|
|
1170
|
-
--from <name> Source
|
|
1171
|
-
|
|
1172
|
-
--
|
|
1230
|
+
--from <name> Source for migrate: a lexicon, or lexicon/dialect such
|
|
1231
|
+
as sql/postgres (default: github)
|
|
1232
|
+
--to <name> Target for migrate, same form, such as sql/clickhouse
|
|
1233
|
+
(default: gitlab)
|
|
1234
|
+
--emit <fmt> Migration output format: yaml (default), ts, or sql;
|
|
1235
|
+
sql/clickhouse defaults to ts
|
|
1173
1236
|
--strict Escalate needs-review/validation to errors (migrate);
|
|
1174
1237
|
exit nonzero on an unresolved identity (lifecycle whoami)
|
|
1175
|
-
--validate Run external validator
|
|
1238
|
+
--validate Run external validator after migrate: glci/glab, or the
|
|
1239
|
+
ClickHouse emulator for sql/clickhouse
|
|
1176
1240
|
--use-composites Rewrite to composite calls when patterns match (migrate)
|
|
1177
1241
|
--components Target discovered Component declarations instead of
|
|
1178
1242
|
lexicon resources (list, describe, graph, build, run)
|
|
@@ -1463,6 +1527,7 @@ export const commandRegistry = [
|
|
|
1463
1527
|
{ name: "search", handler: runSearch },
|
|
1464
1528
|
// #4297 — SQL over the snapshots, runs, gates, deploys and releases on chant/lifecycle. Imported on first use.
|
|
1465
1529
|
{ name: "query", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/query.js")).runQueryCommand(ctx) },
|
|
1530
|
+
{ name: "ledger", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/ledger.js")).runLedgerCommand(ctx) },
|
|
1466
1531
|
// chant#2591 — `import --agents` and `audit` read chant.config statically
|
|
1467
1532
|
// and never evaluate it (chant#2589 for audit, which audits code it must not run).
|
|
1468
1533
|
{ name: "import", handler: runImport, runsNoConfig: (args) => args.agents === true },
|
|
@@ -1588,6 +1653,12 @@ export const commandRegistry = [
|
|
|
1588
1653
|
// chant#2618 — audit runs no project code, at the workspace level too.
|
|
1589
1654
|
{ name: "workspace audit", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/member-commands.js")).runWorkspaceMembers(ctx, "audit") },
|
|
1590
1655
|
{ name: "workspace graph", handler: async (ctx) => (await import("../workspace/member-commands.js")).runWorkspaceMembers(ctx, "graph") },
|
|
1656
|
+
// #4374 — chant search in every member, under its own chant, composed with workspace graph's ids: the search document.
|
|
1657
|
+
// #2554 — Ops that span members, as <member>/<op> targets, each run under its member's own chant.
|
|
1658
|
+
{ name: "workspace run", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/workspace-run.js")).runWorkspaceRun(ctx) },
|
|
1659
|
+
// #2554 — a release train: one release of every chant member, pinned in the workspace ledger.
|
|
1660
|
+
{ name: "workspace train", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/release-train.js")).runWorkspaceTrain(ctx) },
|
|
1661
|
+
{ name: "workspace search", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/search-cli.js")).runWorkspaceSearch(ctx) },
|
|
1591
1662
|
// Each unit decides for itself whether its config is loaded (runCommandInProcess).
|
|
1592
1663
|
{ name: "workspace member-run", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/member-run.js")).runWorkspaceMemberRun(ctx, runCommandInProcess) },
|
|
1593
1664
|
// #3308 — a box's listing, written through chant so a tool never edits the declaration itself (ws-074).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAmE,MAAM,SAAS,CAAC;AAEvI,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAOrF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,YAAI,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAU,CAAC;AAG3H;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK9E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CAAE,CASnH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1E;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,eAAe,CAA8F;IACrH,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,4GAA4G;IAC5G,OAAO,CAAC,UAAU,CAA4B;IAE9C;;;;;;;;;OASG;IACH,YAAY,OAAO,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;KAAO,EAuChH;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;;OAOG;IACG,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnF,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAwBtE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;YACW,QAAQ;IAmCtB;;OAEG;YACW,eAAe;IA2C7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC3B;CACF;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAYpD"}
|
package/dist/cli/mcp/server.js
CHANGED
|
@@ -7,6 +7,7 @@ import { explainTool, handleExplain } from "./tools/explain.js";
|
|
|
7
7
|
import { scaffoldTool, createScaffoldHandler } from "./tools/scaffold.js";
|
|
8
8
|
import { searchTool, createSearchHandler } from "./tools/search.js";
|
|
9
9
|
import { compositesTool, createCompositesHandler } from "./tools/composites.js";
|
|
10
|
+
import { capabilitiesTool, createCapabilitiesHandler } from "./tools/capabilities.js";
|
|
10
11
|
import { findWorkspaceRoot } from "../../project-root.js";
|
|
11
12
|
import { createWorkspaceTools } from "./workspace-tools.js";
|
|
12
13
|
import { createSnapshotTool, createDiffTool } from "./lifecycle-tools.js";
|
|
@@ -113,6 +114,8 @@ export class McpServer {
|
|
|
113
114
|
this.registerTool(scaffoldTool, createScaffoldHandler(plugins ?? []));
|
|
114
115
|
this.registerTool(searchTool, createSearchHandler(plugins ?? []));
|
|
115
116
|
this.registerTool(compositesTool, createCompositesHandler(plugins ?? []));
|
|
117
|
+
// The capability catalog (#4375), the read contract's capabilities document.
|
|
118
|
+
this.registerTool(capabilitiesTool, createCapabilitiesHandler(options.workspace?.cwd ?? process.cwd(), options.workspace?.chantCommand));
|
|
116
119
|
// Register state tools
|
|
117
120
|
const snapshot = createSnapshotTool(plugins ?? []);
|
|
118
121
|
this.registerTool(snapshot.definition, snapshot.handler);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolDefinition, ToolHandler } from "../types.js";
|
|
2
|
+
import { type ChantCommand } from "../workspace-tools.js";
|
|
3
|
+
export declare const capabilitiesTool: ToolDefinition;
|
|
4
|
+
/** The argv the tool runs in `cwd`: the workspace form inside a declared workspace. */
|
|
5
|
+
export declare function capabilitiesArgv(cwd: string): string[];
|
|
6
|
+
export declare function createCapabilitiesHandler(cwd: string, command?: ChantCommand): ToolHandler;
|
|
7
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/capabilities.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjF,eAAO,MAAM,gBAAgB,EAAE,cAO9B,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAgC,GAAG,WAAW,CAE7G"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `capabilities` tool of `chant serve mcp` (#4375): the capability
|
|
3
|
+
* catalog `chant search` answers `cap:` terms with, as the read contract's
|
|
4
|
+
* `capabilities` document (capabilities.schema.json).
|
|
5
|
+
*
|
|
6
|
+
* Like the workspace reads, it runs the command and returns the document it
|
|
7
|
+
* printed, unchanged: `chant workspace search --capabilities --json` inside a
|
|
8
|
+
* declared workspace, where the workspace's chant runs the rules, and `chant
|
|
9
|
+
* search --capabilities --json` anywhere else. It is served everywhere, since
|
|
10
|
+
* a plain project's agent asks the same questions.
|
|
11
|
+
*/
|
|
12
|
+
import { findWorkspaceRoot } from "../../../project-root.js";
|
|
13
|
+
import { ownChantCommand, runRead } from "../workspace-tools.js";
|
|
14
|
+
export const capabilitiesTool = {
|
|
15
|
+
name: "capabilities",
|
|
16
|
+
description: "The capability catalog for chant search (capabilities.schema.json, #4375): each capability's name, meaning, parameters, the search term that asks for it (cap:<name> for a set, ->[cap=<name>] for an edge), the questions it answers, whether each lexicon can supply it, what it does not evaluate, and its rule. " +
|
|
17
|
+
"Read it once per session, then ask estate questions with those terms, such as cap:internet-reachable(22) or cap:stores-data <-[cap=reaches]<role>. Not the resource-type catalog: that is the search tool. " +
|
|
18
|
+
"Returns the document chant search --capabilities --json prints (chant workspace search --capabilities --json inside a declared workspace), unchanged.",
|
|
19
|
+
inputSchema: { type: "object", properties: {} },
|
|
20
|
+
};
|
|
21
|
+
/** The argv the tool runs in `cwd`: the workspace form inside a declared workspace. */
|
|
22
|
+
export function capabilitiesArgv(cwd) {
|
|
23
|
+
return findWorkspaceRoot(cwd) ? ["workspace", "search", "--capabilities", "--json"] : ["search", "--capabilities", "--json"];
|
|
24
|
+
}
|
|
25
|
+
export function createCapabilitiesHandler(cwd, command = ownChantCommand()) {
|
|
26
|
+
return async () => runRead(command, capabilitiesArgv(cwd), cwd);
|
|
27
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Served when the server starts at or inside a declared workspace. Each tool
|
|
6
6
|
* is a thin call into the code the CLI runs:
|
|
7
7
|
*
|
|
8
|
-
* - The reads (`workspace-ls`, `workspace-status`, `workspace-graph`,
|
|
8
|
+
* - The reads (`workspace-ls`, `workspace-status`, `workspace-graph`, `workspace-search`,
|
|
9
9
|
* `workspace-changes`, `workspace-records`, `workspace-points`,
|
|
10
10
|
* `workspace-work-history`, `workspace-runs`) run `chant workspace <command>
|
|
11
11
|
* ... --json` with the chant this server runs as, in the server's
|
|
@@ -60,6 +60,8 @@ export declare const workspaceReadTools: ToolDefinition[];
|
|
|
60
60
|
export declare const workspaceWriteTools: ToolDefinition[];
|
|
61
61
|
/** The `chant` arguments each read tool runs, from its input. Exported for the conformance suite's MCP transport. */
|
|
62
62
|
export declare function readArgv(tool: string, params: Record<string, unknown>): string[];
|
|
63
|
+
/** Run chant and parse the one JSON document it printed. The exit code does not matter: an error document is a document. */
|
|
64
|
+
export declare function runRead(command: ChantCommand, argv: string[], cwd: string): Promise<unknown>;
|
|
63
65
|
export interface WorkspaceTool {
|
|
64
66
|
definition: ToolDefinition;
|
|
65
67
|
handler: ToolHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-tools.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/workspace-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKxE,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD,eAAO,MAAM,kBAAkB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"workspace-tools.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/workspace-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKxE,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAuJ9C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAAc,EA+H/C,CAAC;AAsCF,qHAAqH;AACrH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiGhF;AAED,4HAA4H;AAC5H,wBAAgB,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB5F;AAyBD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,EAAE,CA+GpF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Served when the server starts at or inside a declared workspace. Each tool
|
|
6
6
|
* is a thin call into the code the CLI runs:
|
|
7
7
|
*
|
|
8
|
-
* - The reads (`workspace-ls`, `workspace-status`, `workspace-graph`,
|
|
8
|
+
* - The reads (`workspace-ls`, `workspace-status`, `workspace-graph`, `workspace-search`,
|
|
9
9
|
* `workspace-changes`, `workspace-records`, `workspace-points`,
|
|
10
10
|
* `workspace-work-history`, `workspace-runs`) run `chant workspace <command>
|
|
11
11
|
* ... --json` with the chant this server runs as, in the server's
|
|
@@ -98,6 +98,26 @@ export const workspaceReadTools = [
|
|
|
98
98
|
},
|
|
99
99
|
},
|
|
100
100
|
},
|
|
101
|
+
{
|
|
102
|
+
name: "workspace-search",
|
|
103
|
+
description: "Answer an estate question over every chant member of the workspace with a few rows instead of the whole graph: chant workspace search <query> --json (search.schema.json, #4374). Returns that document unchanged. Each member is searched under its own chant and alone, ids are <member>/<id> as workspace-graph names the same nodes, and a member that can't be searched is listed with a reason code, never as zero matches. " +
|
|
104
|
+
"The query is space-separated terms that must all match: a bare word (substring of id, kind or attributes), kind:<substr> (a Terraform resource matches its type, kind:aws_instance), attr:<name>=<value>, tag:<key>=<value>, and edge terms ->X (this node references a node matching X) and <-X (referenced by one); ->*X is any depth, ->{2}X or ->{1,3}X a number of hops, ->[via=attr]X and ->[to=attr]X pick the edge by attribute, and !term negates. " +
|
|
105
|
+
"at is the git revision of the source; snapshot (with env) answers from a recorded lifecycle snapshot such as latest. They are two different times, and at refuses a snapshot ref.",
|
|
106
|
+
inputSchema: {
|
|
107
|
+
type: "object",
|
|
108
|
+
properties: {
|
|
109
|
+
query: { type: "string", description: "The search terms. May start with -> or <-." },
|
|
110
|
+
member: { type: "array", items: { type: "string" }, description: "Only these members (--member)." },
|
|
111
|
+
env: { type: "string", description: "The environment a snapshot was recorded for (--env)." },
|
|
112
|
+
snapshot: { type: "string", description: "Answer from this recorded lifecycle snapshot, such as latest (--snapshot). Needs env." },
|
|
113
|
+
countBy: { type: "string", description: "Group the matches: kind, module or attr:<name> (--count-by). The query may then be empty." },
|
|
114
|
+
show: { type: "string", description: "Comma-separated attributes to carry on each row (--show)." },
|
|
115
|
+
explain: { type: "boolean", description: "Add each member's universe and near misses (--explain)." },
|
|
116
|
+
at: atProp,
|
|
117
|
+
},
|
|
118
|
+
required: ["query"],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
101
121
|
{
|
|
102
122
|
name: "workspace-changes",
|
|
103
123
|
description: "The forward coverage check over a diff: chant workspace check --changes <range> --json (changes.schema.json, #2773). Each changed path with the current records whose constrains cover it, and a change-uncovered or change-out-of-scope finding for each gap, at the severity the declaration's changes block sets. links says whether each trunk commit of the range names its work item, with commit-unlinked and commit-wrongly-linked findings at the same severity. Returns the document unchanged.",
|
|
@@ -384,6 +404,31 @@ export function readArgv(tool, params) {
|
|
|
384
404
|
"--json",
|
|
385
405
|
];
|
|
386
406
|
}
|
|
407
|
+
case "workspace-search": {
|
|
408
|
+
// The query is one argument after `--`, so one that opens with -> stays a query.
|
|
409
|
+
const query = params.query;
|
|
410
|
+
if (typeof query !== "string")
|
|
411
|
+
throw new ToolInputError("query must be a string");
|
|
412
|
+
const members = params.member === undefined || params.member === null ? [] : Array.isArray(params.member) ? params.member : [params.member];
|
|
413
|
+
const memberArgs = members.flatMap((m, i) => ["--member", str({ [`member[${i}]`]: m }, `member[${i}]`, true)]);
|
|
414
|
+
const flags = ["env", "snapshot", "show"].flatMap((f) => {
|
|
415
|
+
const v = str(params, f);
|
|
416
|
+
return v !== undefined ? [`--${f}`, v] : [];
|
|
417
|
+
});
|
|
418
|
+
const countBy = str(params, "countBy");
|
|
419
|
+
return [
|
|
420
|
+
"workspace",
|
|
421
|
+
"search",
|
|
422
|
+
...memberArgs,
|
|
423
|
+
...flags,
|
|
424
|
+
...(countBy !== undefined ? ["--count-by", countBy] : []),
|
|
425
|
+
...(bool(params, "explain") ? ["--explain"] : []),
|
|
426
|
+
...atArgs,
|
|
427
|
+
"--json",
|
|
428
|
+
"--",
|
|
429
|
+
query,
|
|
430
|
+
];
|
|
431
|
+
}
|
|
387
432
|
case "workspace-agent": {
|
|
388
433
|
const name = str(params, "name", true);
|
|
389
434
|
return ["workspace", "agent", name, "--json"];
|
|
@@ -425,7 +470,7 @@ export function readArgv(tool, params) {
|
|
|
425
470
|
}
|
|
426
471
|
}
|
|
427
472
|
/** Run chant and parse the one JSON document it printed. The exit code does not matter: an error document is a document. */
|
|
428
|
-
function runRead(command, argv, cwd) {
|
|
473
|
+
export function runRead(command, argv, cwd) {
|
|
429
474
|
return new Promise((settle, fail) => {
|
|
430
475
|
const child = spawn(command[0], [...command.slice(1), ...argv], { cwd, env: { ...process.env, NO_COLOR: "1" }, stdio: ["ignore", "pipe", "pipe"] });
|
|
431
476
|
let stdout = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA6F7C;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAs8BpD"}
|
package/dist/cli/parse-args.js
CHANGED
|
@@ -45,6 +45,7 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
45
45
|
"--up",
|
|
46
46
|
"--down",
|
|
47
47
|
"--include-dependents",
|
|
48
|
+
"--cross-root",
|
|
48
49
|
"--local",
|
|
49
50
|
"--json",
|
|
50
51
|
"--progress-json",
|
|
@@ -148,11 +149,39 @@ export function parseArgs(args) {
|
|
|
148
149
|
// whose own value legitimately contains `=` (`--param=tier=production`
|
|
149
150
|
// splits to flag `--param`, value `tier=production`, not further split on
|
|
150
151
|
// the second `=`).
|
|
151
|
-
|
|
152
|
+
//
|
|
153
|
+
// Tokens after a bare `--` are positionals (#4369), so they are not split.
|
|
154
|
+
const end = args.indexOf("--");
|
|
155
|
+
args = end < 0 ? splitJoinedFlags(args, BOOLEAN_FLAGS) : [...splitJoinedFlags(args.slice(0, end), BOOLEAN_FLAGS), ...args.slice(end)];
|
|
156
|
+
// chant #4369 — every token after a bare `--` is a positional, whatever it
|
|
157
|
+
// starts with: `chant search -- "-kind:X"` is the spelling that always works.
|
|
158
|
+
let onlyPositionals = false;
|
|
159
|
+
const positional = (arg) => {
|
|
160
|
+
if (result.command)
|
|
161
|
+
(result.positionals ?? (result.positionals = [])).push(arg);
|
|
162
|
+
if (!result.command) {
|
|
163
|
+
result.command = arg;
|
|
164
|
+
}
|
|
165
|
+
else if (result.path === ".") {
|
|
166
|
+
result.path = arg;
|
|
167
|
+
}
|
|
168
|
+
else if (!result.extraPositional) {
|
|
169
|
+
result.extraPositional = arg;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
result.extraPositional2 = arg;
|
|
173
|
+
}
|
|
174
|
+
};
|
|
152
175
|
let i = 0;
|
|
153
176
|
while (i < args.length) {
|
|
154
177
|
const arg = args[i];
|
|
155
|
-
if (
|
|
178
|
+
if (onlyPositionals) {
|
|
179
|
+
positional(arg);
|
|
180
|
+
}
|
|
181
|
+
else if (arg === "--") {
|
|
182
|
+
onlyPositionals = true;
|
|
183
|
+
}
|
|
184
|
+
else if (arg === "--help" || arg === "-h") {
|
|
156
185
|
result.help = true;
|
|
157
186
|
}
|
|
158
187
|
else if (arg === "--version" || arg === "-V") {
|
|
@@ -414,6 +443,12 @@ export function parseArgs(args) {
|
|
|
414
443
|
else if (arg === "--show") {
|
|
415
444
|
result.show = args[++i];
|
|
416
445
|
}
|
|
446
|
+
else if (arg === "--count-by") {
|
|
447
|
+
// `chant search --count-by kind|module|attr:<name>` (#4360)
|
|
448
|
+
result.countBy = args[++i];
|
|
449
|
+
if (!result.countBy || result.countBy.startsWith("-"))
|
|
450
|
+
throw new Error("--count-by needs a grouping: --count-by kind, --count-by module or --count-by attr:<name>");
|
|
451
|
+
}
|
|
417
452
|
else if (arg === "--up") {
|
|
418
453
|
result.up = true;
|
|
419
454
|
}
|
|
@@ -435,6 +470,24 @@ export function parseArgs(args) {
|
|
|
435
470
|
else if (arg === "--include-dependents") {
|
|
436
471
|
result.includeDependents = true;
|
|
437
472
|
}
|
|
473
|
+
else if (arg === "--cross-root") {
|
|
474
|
+
// `chant workspace lint --cross-root` (#2549): the disagreement lint over every member's graph.
|
|
475
|
+
result.crossRoot = true;
|
|
476
|
+
}
|
|
477
|
+
else if (arg === "--dependents-of") {
|
|
478
|
+
// `chant workspace run --dependents-of <member> --op <op>` (#2554).
|
|
479
|
+
const value = args[++i];
|
|
480
|
+
if (!value || value.startsWith("-"))
|
|
481
|
+
throw new Error("--dependents-of needs a member name: --dependents-of <member>");
|
|
482
|
+
result.dependentsOf = value;
|
|
483
|
+
}
|
|
484
|
+
else if (arg === "--pin") {
|
|
485
|
+
// `chant workspace train <env> --pin <member>=<label|digest>` (#2554), repeatable.
|
|
486
|
+
const value = args[++i];
|
|
487
|
+
if (!value || value.startsWith("-") || !value.includes("="))
|
|
488
|
+
throw new Error("--pin needs a member and a release: --pin <member>=<label|digest>");
|
|
489
|
+
(result.pins ?? (result.pins = [])).push(value);
|
|
490
|
+
}
|
|
438
491
|
else if (arg === "--from-affected") {
|
|
439
492
|
result.fromAffected = args[++i];
|
|
440
493
|
}
|
|
@@ -655,6 +708,20 @@ export function parseArgs(args) {
|
|
|
655
708
|
else if (arg === "--at") {
|
|
656
709
|
result.at = args[++i];
|
|
657
710
|
}
|
|
711
|
+
else if (arg === "--capability-view") {
|
|
712
|
+
// `chant graph --format ir --capability-view` and `chant workspace graph --capability-view` (#4378)
|
|
713
|
+
result.capabilityView = true;
|
|
714
|
+
}
|
|
715
|
+
else if (arg === "--capabilities") {
|
|
716
|
+
// `chant search --capabilities` and `chant workspace search --capabilities` (#4375)
|
|
717
|
+
result.capabilities = true;
|
|
718
|
+
}
|
|
719
|
+
else if (arg === "--snapshot") {
|
|
720
|
+
// `chant search` and `chant workspace search --snapshot <ref>` (#4374)
|
|
721
|
+
result.snapshot = args[++i];
|
|
722
|
+
if (!result.snapshot || result.snapshot.startsWith("-"))
|
|
723
|
+
throw new Error("--snapshot needs a snapshot ref: --snapshot latest");
|
|
724
|
+
}
|
|
658
725
|
else if (arg === "--kind") {
|
|
659
726
|
// `chant workspace records|graph|check --kind <kind file>` (#2546, #2549)
|
|
660
727
|
result.kind = args[++i];
|
|
@@ -1203,8 +1270,8 @@ export function parseArgs(args) {
|
|
|
1203
1270
|
result.expire = true;
|
|
1204
1271
|
}
|
|
1205
1272
|
else if (arg === "--role") {
|
|
1206
|
-
// #2508 — a role the approver claims,
|
|
1207
|
-
//
|
|
1273
|
+
// #2508 — a role the approver claims, recorded on the approval. A quorum
|
|
1274
|
+
// (#4290) and a gate policy (#4324) read roles from .chant/trust.json at base.
|
|
1208
1275
|
// Repeatable, and a comma list works too.
|
|
1209
1276
|
const value = args[++i] ?? "";
|
|
1210
1277
|
result.roles = [...(result.roles ?? []), ...value.split(",").map((r) => r.trim()).filter(Boolean)];
|
|
@@ -1255,6 +1322,14 @@ export function parseArgs(args) {
|
|
|
1255
1322
|
// run on the root project alone instead of refusing with WSP000.
|
|
1256
1323
|
result.rootOnly = true;
|
|
1257
1324
|
}
|
|
1325
|
+
else if (arg === "--forge-repos") {
|
|
1326
|
+
// #3168 — `chant workspace check --forge-repos <file>`: the forge's
|
|
1327
|
+
// repository list, as a warden reads it, for an org workspace's checks.
|
|
1328
|
+
const value = args[++i];
|
|
1329
|
+
if (!value || value.startsWith("-"))
|
|
1330
|
+
throw new Error("--forge-repos needs a file: --forge-repos <repos.json>");
|
|
1331
|
+
result.forgeRepos = value;
|
|
1332
|
+
}
|
|
1258
1333
|
else if (arg === "--generated") {
|
|
1259
1334
|
// #2641 — `chant workspace check --generated` runs each declared
|
|
1260
1335
|
// generator and compares its output with the file in the tree.
|
|
@@ -1282,6 +1357,13 @@ export function parseArgs(args) {
|
|
|
1282
1357
|
else if (arg === "--op") {
|
|
1283
1358
|
result.op = args[++i];
|
|
1284
1359
|
}
|
|
1360
|
+
else if (arg === "--where") {
|
|
1361
|
+
// #4363 — a typed filter on a contract read; repeatable, every clause has to hold.
|
|
1362
|
+
const value = args[++i];
|
|
1363
|
+
if (value === undefined || value.startsWith("--"))
|
|
1364
|
+
throw new Error("--where needs a clause: --where <field><op><value>");
|
|
1365
|
+
result.where = [...(result.where ?? []), value];
|
|
1366
|
+
}
|
|
1285
1367
|
else if (arg === "--since") {
|
|
1286
1368
|
result.since = args[++i];
|
|
1287
1369
|
}
|
|
@@ -1303,21 +1385,20 @@ export function parseArgs(args) {
|
|
|
1303
1385
|
// flags" isn't something this loop can name in isolation.
|
|
1304
1386
|
throw new Error(`Unknown flag: ${arg}\nRun "chant --help" to see supported flags.`);
|
|
1305
1387
|
}
|
|
1306
|
-
else if (
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
else
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
}
|
|
1388
|
+
else if (/^-[A-Za-z]/.test(arg)) {
|
|
1389
|
+
// chant #4369 — an unrecognised short flag (`-x`) is refused like an
|
|
1390
|
+
// unrecognised `--flag` (#1127). It used to be dropped without a word,
|
|
1391
|
+
// the same silent misparse #1127 closed for long flags. A lexicon's own
|
|
1392
|
+
// mounted command still gets its short flags: `main` tries the plugin
|
|
1393
|
+
// commands before rethrowing a parse error.
|
|
1394
|
+
throw new Error(`Unknown flag: ${arg}\nRun "chant --help" to see supported flags.`);
|
|
1395
|
+
}
|
|
1396
|
+
else {
|
|
1397
|
+
// Anything else is a positional, including a token that starts with `-`
|
|
1398
|
+
// but is not flag-shaped (#4369): `->kind:Bucket` is a search query that
|
|
1399
|
+
// opens with an outgoing edge term, and dropping it made `chant search`
|
|
1400
|
+
// answer for "." instead. A bare `-` is a positional too.
|
|
1401
|
+
positional(arg);
|
|
1321
1402
|
}
|
|
1322
1403
|
i++;
|
|
1323
1404
|
}
|