@intentius/chant 0.102.0 → 0.104.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/dist/audit/core.d.ts +2 -0
- package/dist/audit/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts.map +1 -1
- package/dist/change-set.d.ts +232 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/cli/commands/audit.d.ts +7 -0
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/change-set.d.ts +11 -0
- package/dist/cli/handlers/change-set.d.ts.map +1 -0
- package/dist/cli/handlers/fan-out.d.ts +33 -0
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/operator.d.ts +7 -0
- package/dist/cli/handlers/operator.d.ts.map +1 -1
- package/dist/cli/handlers/pr.d.ts +31 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -0
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/op-tools.d.ts.map +1 -1
- package/dist/cli/mcp/workspace-tools.d.ts +3 -2
- package/dist/cli/mcp/workspace-tools.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +63 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/components/auto-release.d.ts +16 -0
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/capability.d.ts +53 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/changed-files.d.ts +31 -0
- package/dist/components/changed-files.d.ts.map +1 -0
- package/dist/components/cli-support.d.ts +9 -1
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/component.d.ts +24 -0
- package/dist/components/component.d.ts.map +1 -1
- package/dist/components/deploy-units.d.ts.map +1 -1
- package/dist/components/driver.d.ts +13 -0
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/fan-out-output.d.ts +6 -0
- package/dist/components/fan-out-output.d.ts.map +1 -1
- package/dist/components/fan-out-record.d.ts +41 -0
- package/dist/components/fan-out-record.d.ts.map +1 -0
- package/dist/components/fan-out-run.d.ts +65 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-support.d.ts +2 -0
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/fan-out.d.ts +6 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/gated-wave-pipeline.d.ts +50 -0
- package/dist/components/gated-wave-pipeline.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layers.d.ts +25 -0
- package/dist/components/layers.d.ts.map +1 -0
- package/dist/components/pr-pipeline.d.ts +61 -0
- package/dist/components/pr-pipeline.d.ts.map +1 -0
- package/dist/components/pr-run.d.ts +119 -0
- package/dist/components/pr-run.d.ts.map +1 -0
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/verbs/shell.d.ts.map +1 -1
- package/dist/components/wave-plan.d.ts +49 -0
- package/dist/components/wave-plan.d.ts.map +1 -0
- package/dist/gated-waves.d.ts +147 -0
- package/dist/gated-waves.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lexicon.d.ts +48 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +7 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +46 -1
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lint/post-synth.d.ts +18 -0
- package/dist/lint/post-synth.d.ts.map +1 -1
- package/dist/op/activities/activity-contracts.d.ts +126 -0
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/change-set.d.ts +62 -0
- package/dist/op/activities/change-set.d.ts.map +1 -0
- package/dist/op/activities/decide.d.ts +2 -0
- package/dist/op/activities/decide.d.ts.map +1 -1
- package/dist/op/activities/factory.d.ts +137 -0
- package/dist/op/activities/factory.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +4 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activity-contract.d.ts.map +1 -1
- package/dist/op/builders.d.ts +11 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/decide-backend.d.ts +5 -1
- package/dist/op/decide-backend.d.ts.map +1 -1
- package/dist/op/decide-read-inputs.d.ts +4 -2
- package/dist/op/decide-read-inputs.d.ts.map +1 -1
- package/dist/op/factory.d.ts +83 -0
- package/dist/op/factory.d.ts.map +1 -0
- package/dist/op/index.d.ts +4 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/op-ir.d.ts +2 -0
- package/dist/op/op-ir.d.ts.map +1 -1
- package/dist/op/op-verb-class.d.ts.map +1 -1
- package/dist/op/types.d.ts +8 -0
- package/dist/op/types.d.ts.map +1 -1
- package/dist/op/work-lease-run.d.ts.map +1 -1
- package/dist/plan-summary.d.ts +207 -0
- package/dist/plan-summary.d.ts.map +1 -0
- package/dist/pr-forge.d.ts +105 -0
- package/dist/pr-forge.d.ts.map +1 -0
- package/dist/pr-loop.d.ts +178 -0
- package/dist/pr-loop.d.ts.map +1 -0
- package/dist/telemetry-attribution.d.ts +31 -0
- package/dist/telemetry-attribution.d.ts.map +1 -1
- package/dist/terraform/hcl2json.d.ts +45 -0
- package/dist/terraform/hcl2json.d.ts.map +1 -0
- package/dist/terraform/parse.d.ts +4 -40
- package/dist/terraform/parse.d.ts.map +1 -1
- package/dist/workspace/box-cli.d.ts +12 -0
- package/dist/workspace/box-cli.d.ts.map +1 -0
- package/dist/workspace/box-factory.d.ts +27 -3
- package/dist/workspace/box-factory.d.ts.map +1 -1
- package/dist/workspace/box-listing.d.ts +85 -0
- package/dist/workspace/box-listing.d.ts.map +1 -0
- package/dist/workspace/box-publish.d.ts +147 -0
- package/dist/workspace/box-publish.d.ts.map +1 -0
- package/dist/workspace/broker-protocol.d.ts +190 -0
- package/dist/workspace/broker-protocol.d.ts.map +1 -0
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/composites.d.ts +2 -2
- package/dist/workspace/composites.d.ts.map +1 -1
- package/dist/workspace/conformance/__fixtures__/reference-broker.d.ts +17 -0
- package/dist/workspace/conformance/__fixtures__/reference-broker.d.ts.map +1 -0
- package/dist/workspace/conformance/broker.d.ts +202 -0
- package/dist/workspace/conformance/broker.d.ts.map +1 -0
- package/dist/workspace/conformance/index.d.ts +2 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/vitest.d.ts +9 -2
- package/dist/workspace/conformance/vitest.d.ts.map +1 -1
- package/dist/workspace/conformance/writer.d.ts +108 -14
- package/dist/workspace/conformance/writer.d.ts.map +1 -1
- package/dist/workspace/decide.d.ts +126 -12
- package/dist/workspace/decide.d.ts.map +1 -1
- package/dist/workspace/decision-points.schema.json +11 -4
- package/dist/workspace/declaration.d.ts +65 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.schema.json +153 -4
- package/dist/workspace/environments.d.ts +36 -10
- package/dist/workspace/environments.d.ts.map +1 -1
- package/dist/workspace/factory-rules.d.ts +180 -0
- package/dist/workspace/factory-rules.d.ts.map +1 -0
- package/dist/workspace/init.d.ts +21 -0
- package/dist/workspace/init.d.ts.map +1 -1
- package/dist/workspace/intent-cli.d.ts +1 -1
- package/dist/workspace/intent-cli.d.ts.map +1 -1
- package/dist/workspace/intent-record.d.ts +28 -1
- package/dist/workspace/intent-record.d.ts.map +1 -1
- package/dist/workspace/intent.d.ts +102 -5
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/json-edit.d.ts +24 -0
- package/dist/workspace/json-edit.d.ts.map +1 -0
- package/dist/workspace/jsonc.d.ts +11 -0
- package/dist/workspace/jsonc.d.ts.map +1 -1
- package/dist/workspace/kinds.d.ts +48 -0
- package/dist/workspace/kinds.d.ts.map +1 -1
- package/dist/workspace/lexicon-symbols.d.ts +29 -0
- package/dist/workspace/lexicon-symbols.d.ts.map +1 -0
- package/dist/workspace/lineage-upgrade.d.ts +31 -2
- package/dist/workspace/lineage-upgrade.d.ts.map +1 -1
- package/dist/workspace/point-answer.schema.json +42 -2
- package/dist/workspace/points-cli.d.ts +10 -3
- package/dist/workspace/points-cli.d.ts.map +1 -1
- package/dist/workspace/points.d.ts +66 -5
- package/dist/workspace/points.d.ts.map +1 -1
- package/dist/workspace/reason-codes.d.ts +33 -4
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/record-sessions.d.ts +5 -7
- package/dist/workspace/record-sessions.d.ts.map +1 -1
- package/dist/workspace/records-cli.d.ts +7 -0
- package/dist/workspace/records-cli.d.ts.map +1 -1
- package/dist/workspace/records-close.d.ts +7 -3
- package/dist/workspace/records-close.d.ts.map +1 -1
- package/dist/workspace/records-write.d.ts +66 -6
- package/dist/workspace/records-write.d.ts.map +1 -1
- package/dist/workspace/records.d.ts +28 -9
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/runs-cli.d.ts +138 -6
- package/dist/workspace/runs-cli.d.ts.map +1 -1
- package/dist/workspace/runs.d.ts +132 -11
- package/dist/workspace/runs.d.ts.map +1 -1
- package/dist/workspace/session-kinds.d.ts +1 -1
- package/dist/workspace/session-kinds.d.ts.map +1 -1
- package/dist/workspace/squash.d.ts +80 -0
- package/dist/workspace/squash.d.ts.map +1 -0
- package/dist/workspace/status-gates.d.ts +2 -0
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status.d.ts +54 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/symbols.d.ts +16 -5
- package/dist/workspace/symbols.d.ts.map +1 -1
- package/dist/workspace/trust/run-commits.d.ts +46 -0
- package/dist/workspace/trust/run-commits.d.ts.map +1 -0
- package/dist/workspace/trust/run-statement.d.ts +128 -0
- package/dist/workspace/trust/run-statement.d.ts.map +1 -0
- package/dist/workspace/trust/seal.d.ts +6 -1
- package/dist/workspace/trust/seal.d.ts.map +1 -1
- package/dist/workspace/trust/verify-cli.d.ts +1 -1
- package/dist/workspace/trust/verify.d.ts +16 -2
- package/dist/workspace/trust/verify.d.ts.map +1 -1
- package/dist/workspace/wip-cli.d.ts +21 -0
- package/dist/workspace/wip-cli.d.ts.map +1 -0
- package/dist/workspace/wip.d.ts +268 -0
- package/dist/workspace/wip.d.ts.map +1 -0
- package/dist/workspace/work-cli.d.ts.map +1 -1
- package/dist/workspace/work-evidence.d.ts +1 -1
- package/dist/workspace/work-evidence.d.ts.map +1 -1
- package/dist/workspace/work-size.d.ts +55 -0
- package/dist/workspace/work-size.d.ts.map +1 -0
- package/dist/workspace/workspace-kinds.schema.json +122 -0
- package/dist/workspace/write-lock-cli.d.ts +60 -0
- package/dist/workspace/write-lock-cli.d.ts.map +1 -0
- package/dist/workspace/write-lock.d.ts +152 -0
- package/dist/workspace/write-lock.d.ts.map +1 -0
- package/dist/workspace/write-scope.d.ts +6 -2
- package/dist/workspace/write-scope.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/__fixtures__/change-set/lifecycle-plan.floci.json +59 -0
- package/src/__fixtures__/change-set/lifecycle-v1.ts.txt +4 -0
- package/src/__fixtures__/change-set/lifecycle-v2.ts.txt +4 -0
- package/src/__fixtures__/change-set/lifecycle.change-set.golden.json +95 -0
- package/src/__fixtures__/change-set/warden.change-set.golden.json +106 -0
- package/src/__fixtures__/change-set/warden.plan.json +44 -0
- package/src/__fixtures__/plan-summary/normalization-vectors.json +1593 -0
- package/src/__fixtures__/pr-loop/pr-apply-applied.note.golden.md +31 -0
- package/src/__fixtures__/pr-loop/pr-apply-refused.note.golden.md +31 -0
- package/src/__fixtures__/pr-loop/pr-plan.golden.json +127 -0
- package/src/__fixtures__/pr-loop/pr-plan.note.golden.md +37 -0
- package/src/audit/core.test.ts +15 -0
- package/src/audit/core.ts +8 -2
- package/src/audit/discover.test.ts +11 -0
- package/src/audit/discover.ts +7 -2
- package/src/change-set-bundle.test.ts +57 -0
- package/src/change-set.test.ts +215 -0
- package/src/change-set.ts +445 -0
- package/src/cli/commands/audit-opt-in.test.ts +54 -0
- package/src/cli/commands/audit.ts +29 -2
- package/src/cli/commands/build.test.ts +19 -0
- package/src/cli/commands/build.ts +3 -2
- package/src/cli/handlers/build.ts +13 -1
- package/src/cli/handlers/change-set.test.ts +56 -0
- package/src/cli/handlers/change-set.ts +44 -0
- package/src/cli/handlers/fan-out.test.ts +221 -2
- package/src/cli/handlers/fan-out.ts +165 -75
- package/src/cli/handlers/graph.ts +3 -0
- package/src/cli/handlers/operator.test.ts +21 -0
- package/src/cli/handlers/operator.ts +34 -3
- package/src/cli/handlers/pr.ts +373 -0
- package/src/cli/handlers/run.ts +1 -0
- package/src/cli/main.test.ts +20 -0
- package/src/cli/main.ts +185 -23
- package/src/cli/mcp/never-over-mcp.test.ts +101 -0
- package/src/cli/mcp/op-tools.ts +24 -2
- package/src/cli/mcp/workspace-tools.test.ts +1 -1
- package/src/cli/mcp/workspace-tools.ts +34 -6
- package/src/cli/registry.ts +63 -1
- package/src/components/auto-release.ts +1 -1
- package/src/components/capability.ts +55 -0
- package/src/components/changed-files.ts +66 -0
- package/src/components/cli-support.ts +28 -5
- package/src/components/component.schema.json +17 -0
- package/src/components/component.ts +25 -0
- package/src/components/deploy-units.ts +3 -0
- package/src/components/driver.test.ts +52 -0
- package/src/components/driver.ts +31 -13
- package/src/components/fan-out-output.ts +42 -1
- package/src/components/fan-out-record.ts +69 -0
- package/src/components/fan-out-run.test.ts +17 -0
- package/src/components/fan-out-run.ts +304 -1
- package/src/components/fan-out-support.ts +3 -0
- package/src/components/fan-out-waves.test.ts +375 -0
- package/src/components/fan-out.ts +18 -17
- package/src/components/gated-wave-pipeline.ts +82 -0
- package/src/components/index.ts +1 -0
- package/src/components/layers.ts +30 -0
- package/src/components/pr-pipeline.ts +91 -0
- package/src/components/pr-run.test.ts +205 -0
- package/src/components/pr-run.ts +280 -0
- package/src/components/promote.ts +5 -0
- package/src/components/verbs/shell.test.ts +11 -0
- package/src/components/verbs/shell.ts +7 -3
- package/src/components/wave-plan.ts +124 -0
- package/src/discovery/sandbox/bundle.ts +1 -1
- package/src/gated-waves-bundle.test.ts +62 -0
- package/src/gated-waves.test.ts +118 -0
- package/src/gated-waves.ts +240 -0
- package/src/index.ts +1 -0
- package/src/lexicon.ts +51 -0
- package/src/lifecycle/gate-ledger.ts +7 -0
- package/src/lifecycle/git.ts +102 -16
- package/src/lint/post-synth.test.ts +19 -0
- package/src/lint/post-synth.ts +19 -1
- package/src/meta/declared-imports.test.ts +1 -1
- package/src/op/activities/activity-contracts.ts +84 -0
- package/src/op/activities/change-set.ts +114 -0
- package/src/op/activities/decide.ts +3 -0
- package/src/op/activities/factory.ts +675 -0
- package/src/op/activities/index.ts +6 -0
- package/src/op/activity-contract.test.ts +21 -1
- package/src/op/activity-contract.ts +19 -9
- package/src/op/builders.ts +23 -0
- package/src/op/decide-backend.ts +5 -1
- package/src/op/decide-read-inputs.ts +33 -5
- package/src/op/factory.e2e.test.ts +232 -0
- package/src/op/factory.ts +118 -0
- package/src/op/index.ts +9 -1
- package/src/op/op-ir.test.ts +9 -0
- package/src/op/op-ir.ts +4 -0
- package/src/op/op-verb-class.ts +3 -0
- package/src/op/types.ts +8 -0
- package/src/op/work-lease-run.ts +3 -0
- package/src/plan-summary.test.ts +263 -0
- package/src/plan-summary.ts +845 -0
- package/src/pr-forge.test.ts +237 -0
- package/src/pr-forge.ts +332 -0
- package/src/pr-loop-bundle.test.ts +46 -0
- package/src/pr-loop.test.ts +171 -0
- package/src/pr-loop.ts +324 -0
- package/src/telemetry-attribution.test.ts +23 -1
- package/src/telemetry-attribution.ts +51 -0
- package/src/terraform/hcl2json.test.ts +21 -0
- package/src/terraform/hcl2json.ts +81 -0
- package/src/terraform/parse.ts +11 -74
- package/src/workspace/__fixtures__/studio-template-84c8b21.json +1 -1
- package/src/workspace/app-kind.test.ts +196 -0
- package/src/workspace/box-cli.ts +113 -0
- package/src/workspace/box-factory.test.ts +4 -1
- package/src/workspace/box-factory.ts +37 -4
- package/src/workspace/box-listing-write.schema.json +204 -0
- package/src/workspace/box-listing.test.ts +234 -0
- package/src/workspace/box-listing.ts +324 -0
- package/src/workspace/box-publish.schema.json +498 -0
- package/src/workspace/box-publish.test.ts +204 -0
- package/src/workspace/box-publish.ts +420 -0
- package/src/workspace/box-ship.test.ts +96 -0
- package/src/workspace/broker-protocol.schema.json +186 -0
- package/src/workspace/broker-protocol.test.ts +122 -0
- package/src/workspace/broker-protocol.ts +317 -0
- package/src/workspace/builder-tiers.test.ts +146 -0
- package/src/workspace/change-set.schema.json +460 -0
- package/src/workspace/chant-migrations.e2e.test.ts +17 -5
- package/src/workspace/checks/boxes.test.ts +3 -0
- package/src/workspace/checks.ts +10 -3
- package/src/workspace/component-environments.test.ts +105 -0
- package/src/workspace/composites.schema.json +23 -4
- package/src/workspace/composites.test.ts +8 -8
- package/src/workspace/composites.ts +13 -2
- package/src/workspace/conformance/__fixture__/decisions/decision.schema.json +2 -2
- package/src/workspace/conformance/__fixtures__/reference-broker.ts +207 -0
- package/src/workspace/conformance/__writer_fixture__/answers/answer.kind.mjs +7 -2
- package/src/workspace/conformance/__writer_fixture__/answers/answer.schema.json +42 -2
- package/src/workspace/conformance/__writer_fixture__/contracts/contract.kind.mjs +37 -0
- package/src/workspace/conformance/__writer_fixture__/contracts/contract.schema.json +213 -0
- package/src/workspace/conformance/__writer_fixture__/decisions/points.json +96 -0
- package/src/workspace/conformance/__writer_fixture__/drivers/driver.kind.mjs +15 -0
- package/src/workspace/conformance/__writer_fixture__/drivers/driver.schema.json +38 -0
- package/src/workspace/conformance/__writer_fixture__/sessions/session.kind.mjs +14 -8
- package/src/workspace/conformance/__writer_fixture__/sessions/session.schema.json +187 -6
- package/src/workspace/conformance/__writer_fixture__/work/work.schema.json +25 -0
- package/src/workspace/conformance/broker.test.ts +122 -0
- package/src/workspace/conformance/broker.ts +792 -0
- package/src/workspace/conformance/conformance.e2e.test.ts +2 -1
- package/src/workspace/conformance/index.mjs +22 -1
- package/src/workspace/conformance/index.ts +5 -1
- package/src/workspace/conformance/vitest.ts +33 -1
- package/src/workspace/conformance/writer-conformance.e2e.test.ts +49 -3
- package/src/workspace/conformance/writer.test.ts +32 -2
- package/src/workspace/conformance/writer.ts +339 -28
- package/src/workspace/decide.test.ts +208 -4
- package/src/workspace/decide.ts +427 -73
- package/src/workspace/decision-points.schema.json +11 -4
- package/src/workspace/declaration.schema.json +153 -4
- package/src/workspace/declaration.ts +141 -0
- package/src/workspace/environments.ts +66 -14
- package/src/workspace/factory-rules.test.ts +62 -0
- package/src/workspace/factory-rules.ts +218 -0
- package/src/workspace/graph-cli.ts +2 -2
- package/src/workspace/graph.schema.json +67 -0
- package/src/workspace/identity.test.ts +23 -0
- package/src/workspace/init.ts +82 -2
- package/src/workspace/intent-cli.ts +26 -9
- package/src/workspace/intent-patch-id.test.ts +162 -0
- package/src/workspace/intent-record.schema.json +130 -3
- package/src/workspace/intent-record.ts +74 -28
- package/src/workspace/intent-reviews.test.ts +76 -0
- package/src/workspace/intent-squash.test.ts +213 -0
- package/src/workspace/intent-why.test.ts +5 -5
- package/src/workspace/intent.schema.json +234 -4
- package/src/workspace/intent.ts +260 -66
- package/src/workspace/json-edit.test.ts +121 -0
- package/src/workspace/json-edit.ts +142 -0
- package/src/workspace/jsonc.ts +20 -0
- package/src/workspace/kinds.ts +157 -2
- package/src/workspace/lexicon-symbols.test.ts +148 -0
- package/src/workspace/lexicon-symbols.ts +125 -0
- package/src/workspace/lineage-upgrade.test.ts +63 -0
- package/src/workspace/lineage-upgrade.ts +146 -5
- package/src/workspace/plan-summary.schema.json +155 -0
- package/src/workspace/point-answer.schema.json +42 -2
- package/src/workspace/points-cli.ts +42 -16
- package/src/workspace/points-write.schema.json +162 -4
- package/src/workspace/points.schema.json +157 -2
- package/src/workspace/points.test.ts +13 -1
- package/src/workspace/points.ts +118 -12
- package/src/workspace/pr-report.schema.json +95 -0
- package/src/workspace/profiles.test.ts +159 -0
- package/src/workspace/read-contract.test.ts +2 -2
- package/src/workspace/reason-codes.test.ts +13 -1
- package/src/workspace/reason-codes.ts +38 -4
- package/src/workspace/record-sessions.ts +9 -8
- package/src/workspace/records-amend.schema.json +78 -0
- package/src/workspace/records-cli.ts +20 -6
- package/src/workspace/records-close.schema.json +78 -0
- package/src/workspace/records-close.ts +31 -7
- package/src/workspace/records-concurrent.e2e.test.ts +135 -0
- package/src/workspace/records-concurrent.test.ts +145 -0
- package/src/workspace/records-formats.test.ts +46 -10
- package/src/workspace/records-new.schema.json +7 -0
- package/src/workspace/records-review.schema.json +78 -0
- package/src/workspace/records-sessions-write.test.ts +69 -0
- package/src/workspace/records-sessions.test.ts +22 -0
- package/src/workspace/records-write.ts +192 -25
- package/src/workspace/records.schema.json +16 -0
- package/src/workspace/records.ts +50 -9
- package/src/workspace/reference-kinds/app/package.json +10 -0
- package/src/workspace/reference-kinds/app/workspace-kinds.json +45 -0
- package/src/workspace/run-statement.schema.json +622 -0
- package/src/workspace/runs-cli.ts +343 -14
- package/src/workspace/runs-statement.test.ts +239 -0
- package/src/workspace/runs-write.schema.json +416 -5
- package/src/workspace/runs.schema.json +451 -4
- package/src/workspace/runs.test.ts +39 -0
- package/src/workspace/runs.ts +296 -35
- package/src/workspace/session-kinds.ts +3 -3
- package/src/workspace/squash.ts +198 -0
- package/src/workspace/status-contract.test.ts +5 -2
- package/src/workspace/status-gates.ts +3 -1
- package/src/workspace/status.schema.json +126 -3
- package/src/workspace/status.ts +90 -1
- package/src/workspace/symbols.ts +20 -9
- package/src/workspace/trust/run-commits.ts +115 -0
- package/src/workspace/trust/run-statement.ts +226 -0
- package/src/workspace/trust/seal.ts +8 -2
- package/src/workspace/trust/verify-cli.ts +6 -5
- package/src/workspace/trust/verify.ts +39 -6
- package/src/workspace/wip-cli.ts +97 -0
- package/src/workspace/wip-write.schema.json +504 -0
- package/src/workspace/wip.schema.json +334 -0
- package/src/workspace/wip.test.ts +294 -0
- package/src/workspace/wip.ts +753 -0
- package/src/workspace/work-cli.ts +3 -0
- package/src/workspace/work-evidence.schema.json +3 -0
- package/src/workspace/work-size.test.ts +77 -0
- package/src/workspace/work-size.ts +93 -0
- package/src/workspace/workspace-kinds.schema.json +122 -0
- package/src/workspace/write-lock-cli.ts +131 -0
- package/src/workspace/write-lock.schema.json +172 -0
- package/src/workspace/write-lock.test.ts +189 -0
- package/src/workspace/write-lock.ts +474 -0
- package/src/workspace/write-scope.test.ts +16 -1
- package/src/workspace/write-scope.ts +33 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composites.d.ts","sourceRoot":"","sources":["../../src/workspace/composites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAkB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAwC,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"composites.d.ts","sourceRoot":"","sources":["../../src/workspace/composites.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reference broker (#3164, ws-097): the smallest broker of the broker
|
|
3
|
+
* protocol (`../broker-protocol.ts`) that passes the conformance suite
|
|
4
|
+
* (`./broker.ts`), serving all four standard capabilities. It keeps every
|
|
5
|
+
* report in memory and buffers each request, which a real broker should not;
|
|
6
|
+
* it exists to show the suite can be passed and what passing takes, and for
|
|
7
|
+
* a test to run a box against without studio's lobby.
|
|
8
|
+
*
|
|
9
|
+
* It is a test fixture and the package does not export it: chant never runs
|
|
10
|
+
* a broker or listens on a port (ws-052, ws-086), so it lives under
|
|
11
|
+
* `__fixtures__`, which test/no-listener.test.ts leaves out like a test file.
|
|
12
|
+
* `startReferenceBroker(env)` has the shape of the suite's `start`.
|
|
13
|
+
*/
|
|
14
|
+
import type { BrokerConformanceEnv, StartedBroker } from "../broker.js";
|
|
15
|
+
/** Start the reference broker for `env`, with a fresh token per box. */
|
|
16
|
+
export declare function startReferenceBroker(env: BrokerConformanceEnv): Promise<StartedBroker>;
|
|
17
|
+
//# sourceMappingURL=reference-broker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-broker.d.ts","sourceRoot":"","sources":["../../../../src/workspace/conformance/__fixtures__/reference-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAyCrE,wEAAwE;AACxE,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqI5F"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broker conformance (#3164, ws-097): the suite a broker of box capabilities
|
|
3
|
+
* runs, such as studio's lobby, fountain's broker or a self-hosted one, to
|
|
4
|
+
* show it serves the broker protocol (`../broker-protocol.ts`).
|
|
5
|
+
*
|
|
6
|
+
* The suite starts the upstreams a broker forwards to: a stand-in for the
|
|
7
|
+
* Anthropic API, one for Fountain's API, and an echo host for egress. It
|
|
8
|
+
* then calls `start(env)`, which starts the broker under test pointed at
|
|
9
|
+
* them, holding `env`'s credentials and secrets, and knowing the boxes
|
|
10
|
+
* `env.boxes` names. The broker returns its base URL and each box's token.
|
|
11
|
+
* The first box reports a declaration before each check; the second never
|
|
12
|
+
* reports. Every request a check makes is the box's, with its token, and
|
|
13
|
+
* every request an upstream receives is recorded.
|
|
14
|
+
*
|
|
15
|
+
* What it holds a broker to, per capability: a declared scope word is
|
|
16
|
+
* served, with the box's token swapped for the credential; an undeclared one
|
|
17
|
+
* is a 403 whose message names the capability and the word; a box that never
|
|
18
|
+
* reported is refused everything; and, over the whole run, no upstream ever
|
|
19
|
+
* saw a box's token and no answer to a box carried a credential or a secret.
|
|
20
|
+
*
|
|
21
|
+
* This module imports no test runner. {@link runBrokerConformance} returns
|
|
22
|
+
* the problems; `describeBrokerConformance` in `./vitest` makes one test per
|
|
23
|
+
* check. The caller passes `listen`, which serves the upstreams: chant
|
|
24
|
+
* itself never listens on a port (ws-052). chant's own test of this suite
|
|
25
|
+
* (`./broker.test.ts`) holds the smallest broker that passes.
|
|
26
|
+
*/
|
|
27
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
28
|
+
import { type BrokerCapabilitySpec } from "../broker-protocol.js";
|
|
29
|
+
/** The capabilities the suite knows how to exercise, in the order it runs them. */
|
|
30
|
+
export declare const BROKER_CONFORMANCE_CAPABILITIES: readonly ["inference", "egress", "feedback", "fountain"];
|
|
31
|
+
export type BrokerConformanceCapability = (typeof BROKER_CONFORMANCE_CAPABILITIES)[number];
|
|
32
|
+
/** What a studio lobby serves today; the default for `capabilities`. */
|
|
33
|
+
export declare const LOBBY_CAPABILITIES: readonly BrokerConformanceCapability[];
|
|
34
|
+
/** The box that reports its declaration, and the box that never does. */
|
|
35
|
+
export declare const CONFORMANCE_BOXES: readonly ["conformance-a", "conformance-b"];
|
|
36
|
+
/** The secret the first box may use through egress, and one it declares that the broker holds no value for. */
|
|
37
|
+
export declare const CONFORMANCE_SECRET = "CONFORMANCE";
|
|
38
|
+
export declare const CONFORMANCE_UNHELD_SECRET = "CONFORMANCE_UNHELD";
|
|
39
|
+
/** What the suite gives the broker under test. */
|
|
40
|
+
export interface BrokerConformanceEnv {
|
|
41
|
+
/** The broker word the boxes' declarations name, such as `lobby`. The broker keeps only entries naming it. */
|
|
42
|
+
broker: string;
|
|
43
|
+
/** The boxes the broker must know, each with a token it hands back in {@link StartedBroker.tokens}. */
|
|
44
|
+
boxes: readonly string[];
|
|
45
|
+
/** The Anthropic API stand-in: the broker forwards `/llm/anthropic` and asks `/decide` questions here, spending `credential`. */
|
|
46
|
+
anthropic: {
|
|
47
|
+
url: string;
|
|
48
|
+
credential: string;
|
|
49
|
+
};
|
|
50
|
+
/** Fountain's API stand-in: the broker forwards `/fountain` here with `credential` as the bearer. */
|
|
51
|
+
fountain: {
|
|
52
|
+
url: string;
|
|
53
|
+
credential: string;
|
|
54
|
+
};
|
|
55
|
+
/** The secrets the broker holds: each box's value for a name, and the one host it may be sent to. */
|
|
56
|
+
secrets: readonly {
|
|
57
|
+
box: string;
|
|
58
|
+
name: string;
|
|
59
|
+
host: string;
|
|
60
|
+
value: string;
|
|
61
|
+
}[];
|
|
62
|
+
}
|
|
63
|
+
/** The broker under test, started. */
|
|
64
|
+
export interface StartedBroker {
|
|
65
|
+
/** Its base URL, as a box is given it. */
|
|
66
|
+
url: string;
|
|
67
|
+
/** Each box's own token, by the names in {@link BrokerConformanceEnv.boxes}. */
|
|
68
|
+
tokens: Record<string, string>;
|
|
69
|
+
close?(): Promise<void> | void;
|
|
70
|
+
}
|
|
71
|
+
/** A capability a lexicon or runtime adds, and how the suite asks for one of its scope words. */
|
|
72
|
+
export interface ExtraCapability {
|
|
73
|
+
spec: BrokerCapabilitySpec;
|
|
74
|
+
/** Scope words to check, each served when declared and refused when not. */
|
|
75
|
+
words: readonly string[];
|
|
76
|
+
/** A request that needs exactly `word`. */
|
|
77
|
+
probe(word: string): {
|
|
78
|
+
method: string;
|
|
79
|
+
path: string;
|
|
80
|
+
headers?: Record<string, string>;
|
|
81
|
+
body?: unknown;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface BrokerConformanceConfig {
|
|
85
|
+
/** The broker's name in the report. */
|
|
86
|
+
name: string;
|
|
87
|
+
start(env: BrokerConformanceEnv): Promise<StartedBroker> | StartedBroker;
|
|
88
|
+
/** Serves the suite's upstreams on loopback ports; see {@link BrokerListen}. */
|
|
89
|
+
listen: BrokerListen;
|
|
90
|
+
/** The broker word, `lobby` when omitted. */
|
|
91
|
+
broker?: string;
|
|
92
|
+
/** The standard capabilities it serves, {@link LOBBY_CAPABILITIES} when omitted. The rest are reported as skipped. */
|
|
93
|
+
capabilities?: readonly BrokerConformanceCapability[];
|
|
94
|
+
/** Capabilities beyond the standard ones, held to the same rule. */
|
|
95
|
+
extra?: readonly ExtraCapability[];
|
|
96
|
+
/** How long one request may take, 15 s when omitted. */
|
|
97
|
+
timeoutMs?: number;
|
|
98
|
+
}
|
|
99
|
+
/** One check's outcome. */
|
|
100
|
+
export interface BrokerCheckResult {
|
|
101
|
+
id: string;
|
|
102
|
+
capability: string;
|
|
103
|
+
title: string;
|
|
104
|
+
problems: string[];
|
|
105
|
+
/** Why it did not run, when it did not. */
|
|
106
|
+
skipped?: string;
|
|
107
|
+
}
|
|
108
|
+
export interface BrokerConformanceReport {
|
|
109
|
+
name: string;
|
|
110
|
+
broker: string;
|
|
111
|
+
results: BrokerCheckResult[];
|
|
112
|
+
/** Every problem, each as `<check id>: <problem>`. Empty when the broker conforms. */
|
|
113
|
+
problems: string[];
|
|
114
|
+
}
|
|
115
|
+
/** One request an upstream received. */
|
|
116
|
+
export interface UpstreamRequest {
|
|
117
|
+
upstream: "anthropic" | "fountain" | "egress";
|
|
118
|
+
method: string;
|
|
119
|
+
/** The path and query as received. */
|
|
120
|
+
url: string;
|
|
121
|
+
headers: Record<string, string | string[] | undefined>;
|
|
122
|
+
body: string;
|
|
123
|
+
}
|
|
124
|
+
/** One answer the broker gave a box. */
|
|
125
|
+
export interface BoxAnswer {
|
|
126
|
+
status: number;
|
|
127
|
+
headers: Record<string, string>;
|
|
128
|
+
text: string;
|
|
129
|
+
json: unknown;
|
|
130
|
+
}
|
|
131
|
+
export interface BrokerCheck {
|
|
132
|
+
id: string;
|
|
133
|
+
capability: BrokerConformanceCapability | "declaration" | "all" | string;
|
|
134
|
+
title: string;
|
|
135
|
+
run(ctx: BrokerConformanceContext): Promise<string[]>;
|
|
136
|
+
}
|
|
137
|
+
/** What a check runs with: the env, the broker, every upstream request and every answer so far, and helpers. */
|
|
138
|
+
export interface BrokerConformanceContext {
|
|
139
|
+
env: BrokerConformanceEnv;
|
|
140
|
+
broker: StartedBroker;
|
|
141
|
+
served: readonly string[];
|
|
142
|
+
upstream: UpstreamRequest[];
|
|
143
|
+
answers: BoxAnswer[];
|
|
144
|
+
call(box: string | null, method: string, path: string, opts?: {
|
|
145
|
+
headers?: Record<string, string>;
|
|
146
|
+
body?: unknown;
|
|
147
|
+
token?: string;
|
|
148
|
+
auth?: "bearer" | "x-api-key" | "none";
|
|
149
|
+
}): Promise<BoxAnswer>;
|
|
150
|
+
report(capabilities: {
|
|
151
|
+
name: string;
|
|
152
|
+
broker: string | null;
|
|
153
|
+
scope: string[];
|
|
154
|
+
}[]): Promise<BoxAnswer>;
|
|
155
|
+
validate(def: string, value: unknown): string[];
|
|
156
|
+
}
|
|
157
|
+
export type BrokerSchemaValidate = ((value: unknown) => boolean) & {
|
|
158
|
+
errors?: {
|
|
159
|
+
instancePath: string;
|
|
160
|
+
message?: string;
|
|
161
|
+
}[] | null;
|
|
162
|
+
};
|
|
163
|
+
/** A validator for one `$defs` entry of the protocol's schema, from this package's own ajv 8. */
|
|
164
|
+
export declare function brokerSchemaValidator(def: string): BrokerSchemaValidate;
|
|
165
|
+
/** A request handler, as `node:http`'s `createServer` takes one. */
|
|
166
|
+
export type BrokerHttpHandler = (req: IncomingMessage, res: ServerResponse) => void;
|
|
167
|
+
/**
|
|
168
|
+
* How the suite serves its upstreams: serve `handler` on a loopback port and
|
|
169
|
+
* return its URL and how to stop it. The caller passes it because chant
|
|
170
|
+
* itself never listens on a port (ws-052, ws-086, test/no-listener.test.ts);
|
|
171
|
+
* the test that runs the suite does.
|
|
172
|
+
*/
|
|
173
|
+
export type BrokerListen = (handler: BrokerHttpHandler) => Promise<{
|
|
174
|
+
url: string;
|
|
175
|
+
close(): Promise<void> | void;
|
|
176
|
+
}>;
|
|
177
|
+
/** An instance of a JSON Schema, enough to answer a structured-output request: the first enum, an even split of numbers. */
|
|
178
|
+
export declare function schemaInstance(schema: unknown): unknown;
|
|
179
|
+
/** The upstreams, recording every request. */
|
|
180
|
+
/** The upstreams' handlers, each recording every request it receives in `log`. */
|
|
181
|
+
export declare function upstreamHandlers(log: UpstreamRequest[]): {
|
|
182
|
+
anthropic: BrokerHttpHandler;
|
|
183
|
+
fountain: BrokerHttpHandler;
|
|
184
|
+
egress: BrokerHttpHandler;
|
|
185
|
+
};
|
|
186
|
+
/** Every check, in the order it runs. */
|
|
187
|
+
export declare const BROKER_CHECKS: readonly BrokerCheck[];
|
|
188
|
+
/** The checks a config runs, and the ones it skips with why. */
|
|
189
|
+
export declare function brokerChecks(config: Pick<BrokerConformanceConfig, "capabilities" | "extra">): {
|
|
190
|
+
check: BrokerCheck;
|
|
191
|
+
skipped?: string;
|
|
192
|
+
}[];
|
|
193
|
+
/** A run of the suite: the upstreams and the broker started, and a context to run checks in. Close it when done. */
|
|
194
|
+
export declare function startBrokerConformance(config: BrokerConformanceConfig): Promise<{
|
|
195
|
+
ctx: BrokerConformanceContext;
|
|
196
|
+
close(): Promise<void>;
|
|
197
|
+
}>;
|
|
198
|
+
/** Run one check, catching what it throws as its problem. */
|
|
199
|
+
export declare function runBrokerCheck(ctx: BrokerConformanceContext, check: BrokerCheck): Promise<string[]>;
|
|
200
|
+
/** Run the whole suite against a broker, and return the report. */
|
|
201
|
+
export declare function runBrokerConformance(config: BrokerConformanceConfig): Promise<BrokerConformanceReport>;
|
|
202
|
+
//# sourceMappingURL=broker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* checkout does, often nothing uncommitted.
|
|
46
46
|
*/
|
|
47
47
|
/** The read-contract commands, as a reader names them. */
|
|
48
|
-
export declare const READ_CONTRACT_COMMANDS: readonly ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs"];
|
|
48
|
+
export declare const READ_CONTRACT_COMMANDS: readonly ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs", "wip"];
|
|
49
49
|
export type ReadContractCommand = (typeof READ_CONTRACT_COMMANDS)[number];
|
|
50
50
|
/**
|
|
51
51
|
* Each command's output schema, beside this module's parent in `src/workspace/`.
|
|
@@ -318,4 +318,5 @@ export declare function readAndCheck(reader: WorkspaceReader, recorder: ReturnTy
|
|
|
318
318
|
*/
|
|
319
319
|
export declare function runWorkspaceReaderConformance(reader: WorkspaceReaderFactory, options?: WorkspaceReaderConformanceOptions): Promise<WorkspaceReaderConformanceReport>;
|
|
320
320
|
export * from "./writer.js";
|
|
321
|
+
export * from "./broker.js";
|
|
321
322
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAYH,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,YAAI,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
* (#3159) does the same for the writer suite: one test per step of the
|
|
7
7
|
* script, and one per check after it. This is the only module of the suite
|
|
8
8
|
* that imports vitest; `@intentius/chant/workspace/conformance` imports no
|
|
9
|
-
* runner.
|
|
9
|
+
* runner. {@link describeBrokerConformance} (#3164) makes one test per check
|
|
10
|
+
* of the broker suite.
|
|
10
11
|
*/
|
|
11
|
-
import { type WorkspaceReaderConformanceConfig, type WorkspaceWriterConformanceConfig } from "./index.js";
|
|
12
|
+
import { type WorkspaceReaderConformanceConfig, type WorkspaceWriterConformanceConfig, type BrokerConformanceConfig } from "./index.js";
|
|
12
13
|
export declare function describeWorkspaceReaderConformance(config: WorkspaceReaderConformanceConfig): void;
|
|
13
14
|
/**
|
|
14
15
|
* The writer suite in vitest: the runner-neutral run happens once, before the
|
|
@@ -16,5 +17,11 @@ export declare function describeWorkspaceReaderConformance(config: WorkspaceRead
|
|
|
16
17
|
* does not list is skipped, as not applicable; the suite still performed it.
|
|
17
18
|
*/
|
|
18
19
|
export declare function describeWorkspaceWriterConformance(config: WorkspaceWriterConformanceConfig): void;
|
|
20
|
+
/**
|
|
21
|
+
* The broker suite in vitest (#3164): the upstreams and the broker start
|
|
22
|
+
* before the tests, and each check is one test, run in order. A check of a
|
|
23
|
+
* capability the broker does not serve is skipped.
|
|
24
|
+
*/
|
|
25
|
+
export declare function describeBrokerConformance(config: BrokerConformanceConfig): void;
|
|
19
26
|
export * from "./index.js";
|
|
20
27
|
//# sourceMappingURL=vitest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/vitest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/vitest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAaL,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAKrC,KAAK,uBAAuB,EAC7B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI,CA8CjG;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI,CA2BjG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAoB/E;AAED,cAAc,SAAS,CAAC"}
|
|
@@ -33,13 +33,25 @@
|
|
|
33
33
|
* repository does not have, unless it names itself one of the four
|
|
34
34
|
* exceptions.
|
|
35
35
|
*
|
|
36
|
+
* 5. Concurrent writes (#3173, ws-089). When the writer performs `records
|
|
37
|
+
* amend`, the suite has it make three amendments of the script's
|
|
38
|
+
* decision at once, each from the digest the suite read
|
|
39
|
+
* (`--expect <digest>`), as two people and an agent would. Exactly one
|
|
40
|
+
* must be written; the other two must come back as chant's
|
|
41
|
+
* record-conflict refusal, naming the winner's digest, returned to the
|
|
42
|
+
* suite unchanged rather than retried blindly or hidden. The suite then
|
|
43
|
+
* has the writer retry each from the digest its refusal named, and each
|
|
44
|
+
* retry must be written. See {@link CONCURRENT_AMENDS}.
|
|
45
|
+
*
|
|
36
46
|
* `facts()` may only read: every chant call it makes must be a read-contract
|
|
37
47
|
* command, and it must leave the workspace as it was.
|
|
38
48
|
*
|
|
39
49
|
* The workspace is generated for each run, from the reader suite's fixture
|
|
40
50
|
* and the `__writer_fixture__/` overlay this package ships beside this module:
|
|
41
|
-
* the reference workspace's work, answer and session kinds
|
|
42
|
-
*
|
|
51
|
+
* the reference workspace's work, answer and session kinds (with the
|
|
52
|
+
* contract and driver kinds a session's verdicts may also name), its
|
|
53
|
+
* decision points, and one open work item, W-001. Nothing is written
|
|
54
|
+
* anywhere else.
|
|
43
55
|
*
|
|
44
56
|
* Actions a writer does not list in `actions` are not applicable to it. The
|
|
45
57
|
* suite still performs those steps itself, directly through chant, so a later
|
|
@@ -48,14 +60,14 @@
|
|
|
48
60
|
*/
|
|
49
61
|
import { type ChantRun, type ChantTransport } from "./index.js";
|
|
50
62
|
/** The write-contract commands a writer performs, as the suite names them. */
|
|
51
|
-
export declare const WRITE_CONTRACT_ACTIONS: readonly ["records new", "records amend", "records review", "records close", "points ask", "points answer", "work claim", "work renew", "work evidence", "work release", "runs start", "runs end", "runs record"];
|
|
63
|
+
export declare const WRITE_CONTRACT_ACTIONS: readonly ["records new", "records amend", "records review", "records close", "points ask", "points answer", "points retract", "work claim", "work renew", "work evidence", "work release", "runs start", "runs end", "runs record", "box listing set", "wip save", "wip restore"];
|
|
52
64
|
export type WriteContractAction = (typeof WRITE_CONTRACT_ACTIONS)[number];
|
|
53
65
|
/** Each action's output schema, in `src/workspace/` beside this module's directory. */
|
|
54
66
|
export declare const WRITE_CONTRACT_SCHEMAS: Record<WriteContractAction, string>;
|
|
55
67
|
/**
|
|
56
|
-
* The flags a writer may add to each command. The record, points, evidence
|
|
57
|
-
* and
|
|
58
|
-
* `--json`; a lease prints its document only with `--json`.
|
|
68
|
+
* The flags a writer may add to each command. The record, points, evidence,
|
|
69
|
+
* run and listing writes always print their document, so a writer adds
|
|
70
|
+
* nothing or `--json`; a lease prints its document only with `--json`.
|
|
59
71
|
*/
|
|
60
72
|
export declare const WRITE_CONTRACT_JSON_FLAGS: Record<WriteContractAction, readonly (readonly string[])[]>;
|
|
61
73
|
/** What each action is given. Field documents are JSON values; the command reads them from stdin. */
|
|
@@ -64,10 +76,12 @@ export interface WriteParams {
|
|
|
64
76
|
kind: string;
|
|
65
77
|
fields: Record<string, unknown>;
|
|
66
78
|
};
|
|
79
|
+
/** `expect` (#3173): the record's digest the write builds on, passed as `--expect`. */
|
|
67
80
|
"records amend": {
|
|
68
81
|
id: string;
|
|
69
82
|
kind: string;
|
|
70
83
|
fields: Record<string, unknown>;
|
|
84
|
+
expect?: string;
|
|
71
85
|
};
|
|
72
86
|
"records review": {
|
|
73
87
|
id: string;
|
|
@@ -80,17 +94,29 @@ export interface WriteParams {
|
|
|
80
94
|
id: string;
|
|
81
95
|
kind: string;
|
|
82
96
|
};
|
|
97
|
+
/** `candidates` is an ad-hoc point's question and candidates (#3403), `{ question, criteria }`: they go on stdin, and the inputs as JSON on the command line. */
|
|
83
98
|
"points ask": {
|
|
84
99
|
point: string;
|
|
85
100
|
kind: string;
|
|
86
101
|
inputs: Record<string, unknown>;
|
|
87
102
|
subject?: string;
|
|
103
|
+
candidates?: {
|
|
104
|
+
question: string;
|
|
105
|
+
criteria: Record<string, string> | string[];
|
|
106
|
+
};
|
|
88
107
|
};
|
|
89
108
|
"points answer": {
|
|
90
109
|
id: string;
|
|
91
110
|
kind: string;
|
|
92
111
|
answer: string;
|
|
93
112
|
by: string;
|
|
113
|
+
note?: string;
|
|
114
|
+
};
|
|
115
|
+
"points retract": {
|
|
116
|
+
id: string;
|
|
117
|
+
kind: string;
|
|
118
|
+
by: string;
|
|
119
|
+
note?: string;
|
|
94
120
|
};
|
|
95
121
|
"work claim": {
|
|
96
122
|
id: string;
|
|
@@ -127,6 +153,22 @@ export interface WriteParams {
|
|
|
127
153
|
"runs record": {
|
|
128
154
|
run: Record<string, unknown>;
|
|
129
155
|
};
|
|
156
|
+
/** A box's listing (#3308): the member, the listing fields, and an image to copy in as its cover. */
|
|
157
|
+
"box listing set": {
|
|
158
|
+
member: string;
|
|
159
|
+
fields: Record<string, unknown>;
|
|
160
|
+
cover?: string;
|
|
161
|
+
};
|
|
162
|
+
/** A snapshot of the working tree, uncommitted records included, onto refs/chant/wip/<branch> (#3172): what the caller calls it, and who took it. */
|
|
163
|
+
"wip save": {
|
|
164
|
+
label?: string;
|
|
165
|
+
by?: string;
|
|
166
|
+
};
|
|
167
|
+
/** Put the working tree back as a snapshot holds it (#3172). */
|
|
168
|
+
"wip restore": {
|
|
169
|
+
snapshot: string;
|
|
170
|
+
by?: string;
|
|
171
|
+
};
|
|
130
172
|
}
|
|
131
173
|
/** One write the suite asks of the writer: the action, what it is given, and the command that performs it. */
|
|
132
174
|
export type WriteStep = {
|
|
@@ -137,7 +179,7 @@ export type WriteStep = {
|
|
|
137
179
|
params: WriteParams[A];
|
|
138
180
|
/** The arguments after `chant workspace <action>`, as {@link writeArgv} builds them from `params`. */
|
|
139
181
|
args: string[];
|
|
140
|
-
/** What the command reads on stdin (`--from -`, `--set -`, `--inputs -`), when it reads anything. */
|
|
182
|
+
/** What the command reads on stdin (`--from -`, `--set -`, `--inputs -`, `--candidates -`), when it reads anything. */
|
|
141
183
|
input?: string;
|
|
142
184
|
};
|
|
143
185
|
}[WriteContractAction];
|
|
@@ -157,6 +199,24 @@ export declare const WRITER_KINDS: {
|
|
|
157
199
|
readonly answer: "answers/answer.kind.mjs";
|
|
158
200
|
readonly work: "work/work.kind.mjs";
|
|
159
201
|
};
|
|
202
|
+
/** The member of the writer workspace whose box block the script lists (#3308). */
|
|
203
|
+
export declare const WRITER_BOX = "app";
|
|
204
|
+
/**
|
|
205
|
+
* The files the suite makes for a run outside the workspace, for a step to
|
|
206
|
+
* hand chant: the cover image the listing step copies in (#3308), a PNG.
|
|
207
|
+
*/
|
|
208
|
+
export declare const WRITER_INPUTS: {
|
|
209
|
+
readonly cover: {
|
|
210
|
+
readonly name: "cover.png";
|
|
211
|
+
readonly bytes: Buffer<ArrayBuffer>;
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
/** Where the suite put {@link WRITER_INPUTS} for this run. */
|
|
215
|
+
export interface WriterInputs {
|
|
216
|
+
dir: string;
|
|
217
|
+
}
|
|
218
|
+
/** Write {@link WRITER_INPUTS} into `dir`. */
|
|
219
|
+
export declare function writeWriterInputs(dir: string): WriterInputs;
|
|
160
220
|
/** The principals the script writes as. */
|
|
161
221
|
export declare const WRITER_PRINCIPALS: {
|
|
162
222
|
readonly holder: "conformance-writer";
|
|
@@ -167,16 +227,35 @@ export declare const WRITER_PRINCIPALS: {
|
|
|
167
227
|
export interface WriterScriptStep<A extends WriteContractAction = WriteContractAction> {
|
|
168
228
|
id: string;
|
|
169
229
|
action: A;
|
|
170
|
-
|
|
230
|
+
/** `inputs` is where the suite put {@link WRITER_INPUTS}; a step that hands chant one of them leaves it out without. */
|
|
231
|
+
params(done: Record<string, Record<string, unknown>>, inputs?: WriterInputs): WriteParams[A];
|
|
171
232
|
}
|
|
172
233
|
/**
|
|
173
234
|
* The writes the suite drives, in order, each action at least once: a
|
|
174
235
|
* decision made, amended and reviewed; a review session opened and closed; a
|
|
175
|
-
* decision point asked
|
|
236
|
+
* decision point asked, answered with a note, the answer retracted and the
|
|
237
|
+
* question answered again (#3351); an ad-hoc question asked with its own
|
|
238
|
+
* question and candidates, as an agent asks the room, and answered (#3403); the work item's lease claimed, renewed,
|
|
176
239
|
* evidence attached under it and released; one run started and ended, and one
|
|
177
|
-
* recorded whole
|
|
240
|
+
* recorded whole; the box's listing set, with a cover image copied in; and a
|
|
241
|
+
* snapshot of the working tree taken and restored (#3172).
|
|
178
242
|
*/
|
|
179
243
|
export declare const WRITER_SCRIPT: readonly WriterScriptStep[];
|
|
244
|
+
/**
|
|
245
|
+
* The concurrent case (#3173): three amendments of the script's decision the
|
|
246
|
+
* writer makes at once, each setting its question, as two people and an
|
|
247
|
+
* agent answering the same record would. The suite gives each the digest it
|
|
248
|
+
* read as `expect`.
|
|
249
|
+
*/
|
|
250
|
+
export declare const CONCURRENT_AMENDS: readonly {
|
|
251
|
+
id: string;
|
|
252
|
+
fields: Record<string, unknown>;
|
|
253
|
+
}[];
|
|
254
|
+
/** The amend step of {@link CONCURRENT_AMENDS} entry `c`, on record `id`, from digest `expect`. */
|
|
255
|
+
export declare function concurrentAmendStep(c: {
|
|
256
|
+
id: string;
|
|
257
|
+
fields: Record<string, unknown>;
|
|
258
|
+
}, id: string, expect: string): WriteStep;
|
|
180
259
|
/** The four things ws-074 lets a tool keep outside the repo. */
|
|
181
260
|
export declare const PRIVATE_STATE_CATEGORIES: readonly ["cache", "telemetry", "secret", "runtime"];
|
|
182
261
|
export type PrivateStateCategory = (typeof PRIVATE_STATE_CATEGORIES)[number];
|
|
@@ -256,13 +335,14 @@ export interface WorkspaceWriterConformanceReport {
|
|
|
256
335
|
/** The actions not in `actions`, so not applicable to this writer. */
|
|
257
336
|
skipped: WriteContractAction[];
|
|
258
337
|
results: WriterStepResult[];
|
|
259
|
-
/** The problems of the checks after the script, by check. */
|
|
338
|
+
/** The problems of the checks after the script, by check. `concurrent` is empty, and not run, when the writer does not perform records amend. */
|
|
260
339
|
after: {
|
|
261
340
|
facts: string[];
|
|
262
341
|
state: string[];
|
|
263
342
|
amnesia: string[];
|
|
264
343
|
holds: string[];
|
|
265
344
|
readBack: string[];
|
|
345
|
+
concurrent: string[];
|
|
266
346
|
};
|
|
267
347
|
/** What `facts()` returned before amnesia and after. */
|
|
268
348
|
facts: {
|
|
@@ -318,8 +398,12 @@ export declare function unreportedChanges(step: WriteStep, doc: unknown, files:
|
|
|
318
398
|
before: Record<string, string>;
|
|
319
399
|
after: Record<string, string>;
|
|
320
400
|
}): string[];
|
|
321
|
-
/** Build the step a script step is at, from the documents of the steps before it. */
|
|
322
|
-
export declare function buildStep(s: WriterScriptStep, done: Record<string, Record<string, unknown
|
|
401
|
+
/** Build the step a script step is at, from the documents of the steps before it and where the suite put its inputs. */
|
|
402
|
+
export declare function buildStep(s: WriterScriptStep, done: Record<string, Record<string, unknown>>, inputs?: WriterInputs): WriteStep;
|
|
403
|
+
/** The box listings `status --json` prints, by member: what a home site shows of each box (#3308). */
|
|
404
|
+
export declare function readListing(run: (argv: string[]) => Promise<ChantRun>): Promise<Record<string, unknown>>;
|
|
405
|
+
/** Each branch's work-in-progress snapshots `wip --json` lists (#3172), by branch: each snapshot's kind and label, newest first. */
|
|
406
|
+
export declare function readWip(run: (argv: string[]) => Promise<ChantRun>): Promise<Record<string, [string, string | null][]>>;
|
|
323
407
|
/** The smallest writer that conforms: each step is its one command, and its facts are read through the read contract. */
|
|
324
408
|
export declare const referenceWriter: WorkspaceWriterFactory;
|
|
325
409
|
/** A workspace generated for a writer run, and how to remove it. */
|
|
@@ -330,7 +414,8 @@ export interface WriterConformanceWorkspace {
|
|
|
330
414
|
/**
|
|
331
415
|
* Generate the writer conformance workspace: the reader suite's workspace
|
|
332
416
|
* ({@link createConformanceWorkspace}), with `__writer_fixture__/` copied over
|
|
333
|
-
* it, the four kinds declared in its `records`,
|
|
417
|
+
* it, the four kinds declared in its `records`, a box block on
|
|
418
|
+
* {@link WRITER_BOX} for the listing step, and that committed.
|
|
334
419
|
*/
|
|
335
420
|
export declare function createWriterConformanceWorkspace(options?: {
|
|
336
421
|
chantCommand?: string[];
|
|
@@ -364,5 +449,14 @@ export declare function undeclaredState(files: readonly string[], privateState:
|
|
|
364
449
|
* ```
|
|
365
450
|
*/
|
|
366
451
|
export declare function runWorkspaceWriterConformance(writer: WorkspaceWriterFactory, options?: WorkspaceWriterConformanceOptions): Promise<WorkspaceWriterConformanceReport>;
|
|
452
|
+
/**
|
|
453
|
+
* The concurrent case (#3173, ws-089): the writer makes the three
|
|
454
|
+
* {@link CONCURRENT_AMENDS} of record `id` at once, each from the digest the
|
|
455
|
+
* suite read. Exactly one is written and the others are refused with
|
|
456
|
+
* record-conflict naming its digest; each is then retried from the digest
|
|
457
|
+
* its refusal named, and written. Returns the problems, each starting
|
|
458
|
+
* `concurrent:`.
|
|
459
|
+
*/
|
|
460
|
+
export declare function concurrentAmends(built: WorkspaceWriter, calls: ChantRun[], direct: (argv: string[], input?: string) => Promise<Record<string, unknown>>, id: string, dir: string): Promise<string[]>;
|
|
367
461
|
export {};
|
|
368
462
|
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/writer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/writer.ts"],"names":[],"mappings":"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"}
|