@intentius/chant 0.102.0 → 0.104.1
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/vendor/js-yaml-load.d.ts +56 -0
- package/dist/vendor/js-yaml-load.d.ts.map +1 -0
- 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/dist/yaml.d.ts +1 -1
- package/dist/yaml.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/vendor/js-yaml-load.test.ts +115 -0
- package/src/vendor/js-yaml-load.ts +1939 -0
- 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
- package/src/yaml.ts +31 -21
package/dist/workspace/runs.d.ts
CHANGED
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
* the source of its prices, the transcript pinned by hash, and the commits
|
|
24
24
|
* the run made, each with its `git patch-id --stable` (#3036) and, when
|
|
25
25
|
* the writer knows them, the hunks of it the run wrote (#3034).
|
|
26
|
+
* - `statement`: after the end, a DSSE envelope a runner or steward key
|
|
27
|
+
* signed over the run (#3192, ./trust/run-statement.ts). A run may have
|
|
28
|
+
* several, such as one per signer; none changes the record they sign.
|
|
26
29
|
*
|
|
27
30
|
* The file name is `_agent-runs`, not `runs`, because an Op run already has
|
|
28
31
|
* `<env>/runs__<op>.jsonl` (`../lifecycle/run-ledger.ts`).
|
|
@@ -33,9 +36,24 @@
|
|
|
33
36
|
* run's end can also list commits, which joins a commit that carries no
|
|
34
37
|
* trailer. `workspace runs` reports both, and `graph --intent` links each
|
|
35
38
|
* commit to its run.
|
|
39
|
+
*
|
|
40
|
+
* When neither holds, as after a rebase or a cherry-pick that dropped the
|
|
41
|
+
* trailer, a commit whose `git patch-id --stable` equals one the run's end
|
|
42
|
+
* recorded joins the run by content (#3036), marked `patch-id`. A content join
|
|
43
|
+
* never overrides a trailer or a record join: it is tried only for a commit
|
|
44
|
+
* that has neither. A squash of several commits has a patch-id of its own, so
|
|
45
|
+
* it never joins this way.
|
|
46
|
+
*
|
|
47
|
+
* A squash merge's commit carries none of its pull request's trailers or
|
|
48
|
+
* SHAs. When a read is asked to follow squashes (#3035, `squash.ts`), the
|
|
49
|
+
* squash commit joins every run its pull request's original commits join,
|
|
50
|
+
* marked `squash` with the originals in `via`.
|
|
36
51
|
*/
|
|
37
52
|
import { z } from "zod";
|
|
53
|
+
import { type SquashFollow } from "./squash.js";
|
|
38
54
|
import { type RecordRef } from "./trailers.js";
|
|
55
|
+
import type { DsseEnvelope } from "./trust/dsse.js";
|
|
56
|
+
import { type RunAttestation } from "./trust/run-statement.js";
|
|
39
57
|
/** The directory on `chant/lifecycle` that holds the agent runs, under the workspace root's ledger prefix. */
|
|
40
58
|
export declare const AGENT_RUNS_DIR = "_agent-runs";
|
|
41
59
|
/** The branch the ledger is on. */
|
|
@@ -142,7 +160,15 @@ export interface RunEndLine {
|
|
|
142
160
|
transcript: RunPin | null;
|
|
143
161
|
commits: RunCommit[];
|
|
144
162
|
}
|
|
145
|
-
|
|
163
|
+
/** A `statement` line of `_agent-runs/<id>.jsonl`: a signed statement over the run (#3192). */
|
|
164
|
+
export interface RunStatementLine {
|
|
165
|
+
version: 1;
|
|
166
|
+
event: "statement";
|
|
167
|
+
run: string;
|
|
168
|
+
at: string;
|
|
169
|
+
envelope: DsseEnvelope;
|
|
170
|
+
}
|
|
171
|
+
export type RunLine = RunStartLine | RunEndLine | RunStatementLine;
|
|
146
172
|
/** The longest instruction excerpt kept, in characters. */
|
|
147
173
|
export declare const INSTRUCTION_EXCERPT_MAX = 500;
|
|
148
174
|
/** The fields `runs start --from` takes. */
|
|
@@ -282,13 +308,25 @@ export type RunStartInput = z.infer<typeof runStartInputSchema>;
|
|
|
282
308
|
export type RunEndInput = z.infer<typeof runEndInputSchema>;
|
|
283
309
|
export type RunRecordInput = z.infer<typeof runRecordInputSchema>;
|
|
284
310
|
/** Why a run write was refused. */
|
|
285
|
-
export type RunWriteRefusal = "run-exists" | "run-unknown" | "run-ended" | "write-input-invalid" | "not-a-git-repository";
|
|
311
|
+
export type RunWriteRefusal = "run-exists" | "run-unknown" | "run-ended" | "run-not-ended" | "run-statement-mismatch" | "write-input-invalid" | "not-a-git-repository";
|
|
286
312
|
export declare class RunWriteError extends Error {
|
|
287
313
|
readonly code: RunWriteRefusal;
|
|
288
314
|
constructor(code: RunWriteRefusal, message: string);
|
|
289
315
|
}
|
|
290
316
|
/** `git patch-id --stable` of one commit, or null when it has no patch, such as a merge. */
|
|
291
317
|
export declare function patchIdOf(top: string, sha: string): string | null;
|
|
318
|
+
/**
|
|
319
|
+
* `git patch-id --stable` of each commit, in two git calls however many there
|
|
320
|
+
* are (#3036). A commit with no patch, such as a merge, is left out.
|
|
321
|
+
*/
|
|
322
|
+
export declare function patchIdsOf(top: string, shas: string[]): Map<string, string>;
|
|
323
|
+
/**
|
|
324
|
+
* `git patch-id --stable` of each commit reachable from `rev` and committed
|
|
325
|
+
* after `since` (ISO 8601), merges left out (#3036). A rebase or a
|
|
326
|
+
* cherry-pick commits anew, so a rewritten commit is never older than the
|
|
327
|
+
* one it was rewritten from.
|
|
328
|
+
*/
|
|
329
|
+
export declare function patchIdsSince(top: string, rev: string, since: string): Map<string, string>;
|
|
292
330
|
/** A new run id: the start time to the second, and eight random hex digits. */
|
|
293
331
|
export declare function newRunId(now: Date): string;
|
|
294
332
|
/** Parse one run file, oldest line first. Lines that aren't run events are counted and skipped. */
|
|
@@ -298,8 +336,8 @@ export declare function parseRunFile(content: string, id: string): {
|
|
|
298
336
|
};
|
|
299
337
|
/** The ledger directory of the workspace whose root is `rootOnDisk`, on the branch. */
|
|
300
338
|
export declare function runsDir(rootOnDisk: string): Promise<string>;
|
|
301
|
-
/** Every run file in `dir` on the local branch, by run id, and the branch tip read. Never fetches. */
|
|
302
|
-
export declare function readRunFiles(top: string, dir: string): {
|
|
339
|
+
/** Every run file in `dir` on the local branch, or on `ref` when given, by run id, and the branch tip read. Never fetches. */
|
|
340
|
+
export declare function readRunFiles(top: string, dir: string, ref?: string): {
|
|
303
341
|
tip: string | null;
|
|
304
342
|
files: Map<string, {
|
|
305
343
|
path: string;
|
|
@@ -313,6 +351,8 @@ export interface RunLedgerWrite {
|
|
|
313
351
|
commit: string;
|
|
314
352
|
/** Whether chant/lifecycle reached the remote; false with no remote too. */
|
|
315
353
|
pushed: boolean;
|
|
354
|
+
/** Why it did not, when `pushed` is false (#3391): no remote, a remote that moved on, or git's refusal. */
|
|
355
|
+
notPushed?: string;
|
|
316
356
|
}
|
|
317
357
|
export interface RunWriteResult {
|
|
318
358
|
id: string;
|
|
@@ -335,14 +375,35 @@ export declare function startRun(fields: unknown, ctx: RunWriteContext): Promise
|
|
|
335
375
|
export declare function endRun(id: string, fields: unknown, ctx: RunWriteContext): Promise<RunWriteResult>;
|
|
336
376
|
/** `runs record`: a run that has finished, its start and end in one write. */
|
|
337
377
|
export declare function recordRun(fields: unknown, ctx: RunWriteContext): Promise<RunWriteResult>;
|
|
378
|
+
/**
|
|
379
|
+
* `runs sign <id>`: append a statement over an ended run (#3192). The caller
|
|
380
|
+
* has built or checked the envelope against the record whose hash is
|
|
381
|
+
* `recordSha256`; the append refuses if the ledger's record is not that one.
|
|
382
|
+
*/
|
|
383
|
+
export declare function appendRunStatement(id: string, envelope: DsseEnvelope, recordSha256: string, ctx: RunWriteContext): Promise<RunWriteResult>;
|
|
384
|
+
/**
|
|
385
|
+
* How a commit joins a run: `trailer` when it carries `Chant-Run` with the
|
|
386
|
+
* run's id, `record` when the run's end lists it, `patch-id` when it has
|
|
387
|
+
* neither and its `git patch-id --stable` equals a commit's the run's end
|
|
388
|
+
* recorded (#3036), `squash` when it squashes a pull request whose original
|
|
389
|
+
* commits join the run one of those ways, and the read was asked to follow
|
|
390
|
+
* squashes (#3035).
|
|
391
|
+
*/
|
|
392
|
+
export type RunJoin = "trailer" | "record" | "patch-id" | "squash";
|
|
393
|
+
/** The order a reader lists joins in: the commit's own trailer first, a squash's originals last. */
|
|
394
|
+
export declare const RUN_JOIN_ORDER: readonly RunJoin[];
|
|
338
395
|
/** A commit a run made, as the read reports it. */
|
|
339
396
|
export interface RunCommitView {
|
|
340
397
|
sha: string;
|
|
341
398
|
patchId: string | null;
|
|
342
|
-
/** How the commit joins the run
|
|
343
|
-
joinedBy:
|
|
344
|
-
/** The hunks of the commit the run's end says it wrote, or null when it gives none (#3034). */
|
|
399
|
+
/** How the commit joins the run. */
|
|
400
|
+
joinedBy: RunJoin[];
|
|
401
|
+
/** The hunks of the commit the run's end says it wrote, or null when it gives none (#3034). Null for a commit joined by patch-id, whose lines may have moved. */
|
|
345
402
|
hunks: RunHunk[] | null;
|
|
403
|
+
/** For a commit joined by patch-id (#3036): the commit the run's end recorded with the same patch-id, which this one rewrites. */
|
|
404
|
+
recordedAs?: string;
|
|
405
|
+
/** For a squash joined to the run (#3035): the pull request's original commits through which it joins. */
|
|
406
|
+
via?: string[];
|
|
346
407
|
}
|
|
347
408
|
/** One run, its start and end folded together, as `runs --json` and `graph --intent` report it. */
|
|
348
409
|
export interface RunView {
|
|
@@ -376,6 +437,17 @@ export interface RunView {
|
|
|
376
437
|
decisions: string[];
|
|
377
438
|
/** Its file on the branch. */
|
|
378
439
|
ledger: string;
|
|
440
|
+
/** The SHA-256 a statement signs: of the start and end lines (#3192). Null until the run ends. */
|
|
441
|
+
record: {
|
|
442
|
+
sha256: string;
|
|
443
|
+
} | null;
|
|
444
|
+
/** The signed statements the ledger holds for the run, oldest first (#3192). */
|
|
445
|
+
statements: {
|
|
446
|
+
at: string;
|
|
447
|
+
envelope: DsseEnvelope;
|
|
448
|
+
}[];
|
|
449
|
+
/** The statements judged against the runner keys at base. Set by the `runs` read and `runs verify`, never by a write. */
|
|
450
|
+
attestation?: RunAttestation;
|
|
379
451
|
}
|
|
380
452
|
/** Fold a run's lines into one view, or undefined when it has no start. */
|
|
381
453
|
export declare function foldRun(id: string, path: string, lines: RunLine[]): RunView | undefined;
|
|
@@ -393,6 +465,18 @@ export declare function readRuns(top: string, rootOnDisk: string): Promise<{
|
|
|
393
465
|
export declare function commitsByRunTrailer(top: string, rev?: string): Map<string, string[]>;
|
|
394
466
|
/** Add the commits that name each run by trailer to its `commits`, after the ones its end lists. */
|
|
395
467
|
export declare function joinTrailerCommits(runs: Map<string, RunView>, byTrailer: Map<string, string[]>, top: string): void;
|
|
468
|
+
/** Each recorded patch-id, to the runs whose end listed a commit with it and that commit. */
|
|
469
|
+
export declare function recordedPatchIds(runs: Iterable<RunView>): Map<string, {
|
|
470
|
+
run: string;
|
|
471
|
+
sha: string;
|
|
472
|
+
}[]>;
|
|
473
|
+
/**
|
|
474
|
+
* Add to each run the commits on `rev`'s history that join it by content
|
|
475
|
+
* (#3036): a commit that no run lists, that carries no `Chant-Run`, and whose
|
|
476
|
+
* patch-id equals one the run's end recorded. Only commits made since the
|
|
477
|
+
* earliest such run started are read, less a day for clocks.
|
|
478
|
+
*/
|
|
479
|
+
export declare function joinPatchIdCommits(runs: Map<string, RunView>, byTrailer: Map<string, string[]>, top: string, rev?: string): void;
|
|
396
480
|
/** A run as a commit in the intent walks names it: enough to say which model and harness made the change, and for whom. */
|
|
397
481
|
export interface RunRef {
|
|
398
482
|
id: string;
|
|
@@ -405,13 +489,34 @@ export interface RunRef {
|
|
|
405
489
|
by: string | null;
|
|
406
490
|
agent: string | null;
|
|
407
491
|
unit: string | null;
|
|
408
|
-
/** `trailer`: the commit carries `Chant-Run` with the id. `record`: the run's end lists the commit. */
|
|
409
|
-
joinedBy:
|
|
492
|
+
/** `trailer`: the commit carries `Chant-Run` with the id. `record`: the run's end lists the commit. `patch-id`: neither, and the commit's patch-id equals one the run recorded (#3036). */
|
|
493
|
+
joinedBy: RunJoin[];
|
|
494
|
+
/** For a `patch-id` join: the commit the run's end recorded with the same patch-id (#3036). */
|
|
495
|
+
recordedAs?: string;
|
|
496
|
+
/** For a `squash` join: the pull request's original commits that join the run (#3035). */
|
|
497
|
+
via?: string[];
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* A commit joined to one run by its trailer or the run's record whose content
|
|
501
|
+
* matches a commit another run recorded (#3036). The content join is not made,
|
|
502
|
+
* since a patch-id join never overrides the others; the intent walk reports it
|
|
503
|
+
* as a finding.
|
|
504
|
+
*/
|
|
505
|
+
export interface RunJoinConflict {
|
|
506
|
+
sha: string;
|
|
507
|
+
/** The runs the commit's trailer or the runs' records join it to. */
|
|
508
|
+
joined: string[];
|
|
509
|
+
/** The other runs whose end recorded a commit with the same patch-id, and that commit. */
|
|
510
|
+
content: {
|
|
511
|
+
run: string;
|
|
512
|
+
sha: string;
|
|
513
|
+
}[];
|
|
410
514
|
}
|
|
411
515
|
/**
|
|
412
516
|
* For each commit, the runs that made it: the run its `Chant-Run` trailer
|
|
413
|
-
* names, and every run whose end lists it.
|
|
414
|
-
*
|
|
517
|
+
* names, and every run whose end lists it. A commit with neither joins every
|
|
518
|
+
* run whose end recorded its patch-id (#3036). Reads the run ledger once from
|
|
519
|
+
* the local branch; never fetches.
|
|
415
520
|
*/
|
|
416
521
|
export declare function runsForCommits(top: string, rootOnDisk: string, commits: {
|
|
417
522
|
sha: string;
|
|
@@ -419,5 +524,21 @@ export declare function runsForCommits(top: string, rootOnDisk: string, commits:
|
|
|
419
524
|
}[]): Promise<{
|
|
420
525
|
refs: Map<string, RunRef[]>;
|
|
421
526
|
runs: Map<string, RunView>;
|
|
527
|
+
conflicts: RunJoinConflict[];
|
|
422
528
|
}>;
|
|
529
|
+
/**
|
|
530
|
+
* Give each followed squash commit the runs its original commits join
|
|
531
|
+
* (#3035): `refs` must hold the originals' runs. A run the squash already
|
|
532
|
+
* joins gets `squash` added; another is added with `joinedBy: ["squash"]`.
|
|
533
|
+
* `via` lists the originals that join it.
|
|
534
|
+
*/
|
|
535
|
+
export declare function addSquashRuns(refs: Map<string, RunRef[]>, follows: Map<string, SquashFollow>): void;
|
|
536
|
+
/**
|
|
537
|
+
* Follow the squash merges on `rev`'s history made since the earliest run
|
|
538
|
+
* started (#3035), and add each to the runs its pull request's original
|
|
539
|
+
* commits join: a commit a run's end lists, or one whose `Chant-Run` names
|
|
540
|
+
* the run. Missing pull request refs are fetched from `origin`. Returns what
|
|
541
|
+
* each squash's follow found, for the read's reasons.
|
|
542
|
+
*/
|
|
543
|
+
export declare function joinSquashCommits(runs: Map<string, RunView>, top: string, rev?: string): SquashFollow[];
|
|
423
544
|
//# sourceMappingURL=runs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/workspace/runs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/workspace/runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare const SESSION_ID: RegExp;
|
|
|
16
16
|
* adds nothing: the read of that kind reports it.
|
|
17
17
|
*/
|
|
18
18
|
export declare function findSessionKinds(cwd: string, extra?: string[]): Promise<LoadedRecordKind[]>;
|
|
19
|
-
/** The session kinds whose `session.subjects.kind` is the kind file `subjectFile`. */
|
|
19
|
+
/** The session kinds one of whose subject kinds (`session.subjects.kind` or `.kinds`) is the kind file `subjectFile`. */
|
|
20
20
|
export declare function sessionKindsFor(subjectFile: string, cwd: string): Promise<LoadedRecordKind[]>;
|
|
21
21
|
/** The full commit id HEAD names in the repository holding `dir`, or null outside git or before the first commit. */
|
|
22
22
|
export declare function headCommit(dir: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-kinds.d.ts","sourceRoot":"","sources":["../../src/workspace/session-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"session-kinds.d.ts","sourceRoot":"","sources":["../../src/workspace/session-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAwD,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGxG,sHAAsH;AACtH,eAAO,MAAM,UAAU,QAAkC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqBrG;AAED,yHAAyH;AACzH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAGnG;AAED,qHAAqH;AACrH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQnF"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Following a squash merge to the pull request's original commits (#3035,
|
|
3
|
+
* ws-092).
|
|
4
|
+
*
|
|
5
|
+
* A squash merge folds a pull request's commits into one new commit, and with
|
|
6
|
+
* them the trailers and signatures that joined each to its run and its work.
|
|
7
|
+
* The forge keeps the originals: GitHub and Forgejo both keep a pull
|
|
8
|
+
* request's head at `refs/pull/<n>/head` on the remote. A read that is asked
|
|
9
|
+
* to follow squashes (`--follow-squash`) looks for that ref locally, fetches
|
|
10
|
+
* the missing ones from `origin` in one `git fetch`, and keeps what it
|
|
11
|
+
* fetched under `refs/chant/pull/<n>/head`, so the next read needs no network.
|
|
12
|
+
* Without the flag nothing here runs, and a read never touches the network
|
|
13
|
+
* (studio-032 b: follow only when asked).
|
|
14
|
+
*
|
|
15
|
+
* A commit is followed as a squash when its subject ends with `(#<n>)`, as
|
|
16
|
+
* GitHub and Forgejo write a squash's subject, it has one parent, and the
|
|
17
|
+
* pull request's head is not already in its history (a merge commit or a
|
|
18
|
+
* rebase keeps the originals, so there is nothing to follow). Its original
|
|
19
|
+
* commits are the head's commits that the squash's parent does not have,
|
|
20
|
+
* oldest first. When the ref can't be read or fetched, the read says so and
|
|
21
|
+
* keeps its answer without them.
|
|
22
|
+
*/
|
|
23
|
+
/** A forge chant knows the pull request refs of. */
|
|
24
|
+
export type Forge = "github" | "forgejo";
|
|
25
|
+
/** Where a read keeps the pull request heads it fetched. */
|
|
26
|
+
export declare const PULL_CACHE_PREFIX = "refs/chant/pull/";
|
|
27
|
+
/** The remote a squash's pull request ref is fetched from. */
|
|
28
|
+
export declare const SQUASH_REMOTE = "origin";
|
|
29
|
+
/** The pull request number a squash's subject ends with, `(#<n>)`, or null. */
|
|
30
|
+
export declare function pullRequestOf(subject: string): number | null;
|
|
31
|
+
/**
|
|
32
|
+
* The forge a remote URL points at: `github` for github.com and GitHub
|
|
33
|
+
* Enterprise hosts named for it, `forgejo` for codeberg.org and hosts named
|
|
34
|
+
* forgejo or gitea. Null for any other, which is still read at
|
|
35
|
+
* `refs/pull/<n>/head`, the ref both keep.
|
|
36
|
+
*/
|
|
37
|
+
export declare function forgeOf(url: string | null | undefined): Forge | null;
|
|
38
|
+
/** The pull request ref a forge keeps for `n`. GitHub and Forgejo keep the same one. */
|
|
39
|
+
export declare function pullRef(_forge: Forge | null, n: number): string;
|
|
40
|
+
/** What following one squash commit found. */
|
|
41
|
+
export interface SquashFollow {
|
|
42
|
+
/** The squash commit. */
|
|
43
|
+
sha: string;
|
|
44
|
+
pullRequest: number;
|
|
45
|
+
/** The forge `origin` points at, or null when it is none chant knows, or there is no `origin`. */
|
|
46
|
+
forge: Forge | null;
|
|
47
|
+
/** The local ref the pull request's head was read from, or null when none could be read. */
|
|
48
|
+
ref: string | null;
|
|
49
|
+
/** The pull request's head commit, or null. */
|
|
50
|
+
head: string | null;
|
|
51
|
+
/** Whether this read fetched the ref from the remote. */
|
|
52
|
+
fetched: boolean;
|
|
53
|
+
/** Whether the original commits were read. */
|
|
54
|
+
followed: boolean;
|
|
55
|
+
/** The original commits, oldest first. Empty when not followed. */
|
|
56
|
+
commits: string[];
|
|
57
|
+
/** Why it was not followed, when it wasn't. */
|
|
58
|
+
problem: string | null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Follow each squash commit among `commits` to its pull request's original
|
|
62
|
+
* commits (#3035). A commit that is not a squash (no `(#<n>)` subject, a
|
|
63
|
+
* merge, or a head already in its history) is left out of the result. With
|
|
64
|
+
* `fetchMissing`, a pull request ref missing locally is fetched from `origin`;
|
|
65
|
+
* without it, only refs already present are read.
|
|
66
|
+
*/
|
|
67
|
+
export declare function followSquashes(top: string, commits: {
|
|
68
|
+
sha: string;
|
|
69
|
+
subject: string;
|
|
70
|
+
}[], opts: {
|
|
71
|
+
fetchMissing: boolean;
|
|
72
|
+
}): Map<string, SquashFollow>;
|
|
73
|
+
/**
|
|
74
|
+
* For the lines of `path` in a squash commit: which original commit last wrote
|
|
75
|
+
* each, by `git blame` at the pull request's head, when the file there is the
|
|
76
|
+
* same as in the squash (#3035). Undefined when it is not, since the lines
|
|
77
|
+
* then don't correspond one to one.
|
|
78
|
+
*/
|
|
79
|
+
export declare function squashLineOrigins(top: string, squash: string, head: string, path: string, originals: Set<string>): Map<number, string> | undefined;
|
|
80
|
+
//# sourceMappingURL=squash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"squash.d.ts","sourceRoot":"","sources":["../../src/workspace/squash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,oDAAoD;AACpD,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzC,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,WAAW,CAAC;AAsBtC,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAMpE;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4FAA4F;IAC5F,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAuBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAgDnJ;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAalJ"}
|
|
@@ -27,6 +27,8 @@ export interface StatusGateApproval {
|
|
|
27
27
|
principal: string;
|
|
28
28
|
/** The channel it was recorded on (`cli`, `mcp`, `acp`), or null for a record older than chant#2384. */
|
|
29
29
|
channel: string | null;
|
|
30
|
+
/** Who relayed it for `principal` (`chant approve --relayed-by`, #3402), or null when nobody did. */
|
|
31
|
+
relayedBy: string | null;
|
|
30
32
|
at: string;
|
|
31
33
|
}
|
|
32
34
|
export interface StatusGate {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-gates.d.ts","sourceRoot":"","sources":["../../src/workspace/status-gates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status-gates.d.ts","sourceRoot":"","sources":["../../src/workspace/status-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,8 +35,10 @@ import { type ReleaseRecord } from "../lifecycle/release-ledger.js";
|
|
|
35
35
|
import { type ReleasePlan } from "../lifecycle/plan-ledger.js";
|
|
36
36
|
import { type WorkLeaseState } from "../lifecycle/work-lease.js";
|
|
37
37
|
import { type CheckoutHead } from "./records-checkout.js";
|
|
38
|
+
import { type ReplicationState } from "./wip.js";
|
|
38
39
|
import { type ResolvedIsolation } from "./box-isolation.js";
|
|
39
40
|
import { type BoxIntent } from "./box-intent.js";
|
|
41
|
+
import { type MemberFields } from "./kinds.js";
|
|
40
42
|
import { type FactoryView, type ListingView, type Plantable } from "./box-factory.js";
|
|
41
43
|
import { type ErrorLocation } from "./declaration.js";
|
|
42
44
|
import { type GateLedgerReader, type StatusGate, type StatusGateLedger } from "./status-gates.js";
|
|
@@ -121,6 +123,13 @@ export interface StatusMember {
|
|
|
121
123
|
name: string;
|
|
122
124
|
dir: string;
|
|
123
125
|
kind: string;
|
|
126
|
+
/**
|
|
127
|
+
* The fields the member's kind declares (#3151), each set from the entry or
|
|
128
|
+
* its default (null when it has none), or null when the kind declares no
|
|
129
|
+
* fields or no pinned package supplies it. A value of the wrong type reads
|
|
130
|
+
* as the default; `chant workspace check` reports it (WSP005).
|
|
131
|
+
*/
|
|
132
|
+
fields: MemberFields["fields"];
|
|
124
133
|
/** The environment asked for first, then the one compared to, if any. */
|
|
125
134
|
environments: StatusEnvironment[];
|
|
126
135
|
/** Null without `--compare-to`. */
|
|
@@ -141,6 +150,38 @@ export interface StatusMember {
|
|
|
141
150
|
message: string;
|
|
142
151
|
}[];
|
|
143
152
|
}
|
|
153
|
+
/** The most paths `ship.pending.paths` lists; `files` still counts them all. */
|
|
154
|
+
export declare const SHIP_PENDING_PATHS_MAX = 200;
|
|
155
|
+
/**
|
|
156
|
+
* A box's ship (ws-100): the Op, gate and environment it declares, the
|
|
157
|
+
* release its site serves (the latest in that environment's release ledger
|
|
158
|
+
* under the box member), and what is waiting to ship.
|
|
159
|
+
*/
|
|
160
|
+
export interface StatusBoxShip {
|
|
161
|
+
op: string;
|
|
162
|
+
gate: string;
|
|
163
|
+
env: string;
|
|
164
|
+
bookkeeping: string[];
|
|
165
|
+
/** The latest release in `env`'s ledger: the commit the box's site serves. Null when nothing has shipped, or the ledger can't be read. */
|
|
166
|
+
serving: {
|
|
167
|
+
commit: string;
|
|
168
|
+
digest: string;
|
|
169
|
+
component: string;
|
|
170
|
+
at: string;
|
|
171
|
+
actor: string | null;
|
|
172
|
+
} | null;
|
|
173
|
+
/**
|
|
174
|
+
* The files that differ between `serving.commit` and the working tree
|
|
175
|
+
* (tracked changes, committed or not, and untracked files git does not
|
|
176
|
+
* ignore), bookkeeping left out; `paths` sorted, at most
|
|
177
|
+
* SHIP_PENDING_PATHS_MAX of them. Null when nothing has shipped or the
|
|
178
|
+
* serving commit isn't in this checkout.
|
|
179
|
+
*/
|
|
180
|
+
pending: {
|
|
181
|
+
files: number;
|
|
182
|
+
paths: string[];
|
|
183
|
+
} | null;
|
|
184
|
+
}
|
|
144
185
|
/** A box's brokered capabilities, from the declaration (#2726). */
|
|
145
186
|
export interface StatusBox {
|
|
146
187
|
capabilities: {
|
|
@@ -163,6 +204,17 @@ export interface StatusBox {
|
|
|
163
204
|
factory: FactoryView | null;
|
|
164
205
|
/** What the box shows of itself on a home site, with the cover's sha256 (#3146), or null when the block declares no listing. */
|
|
165
206
|
listing: ListingView | null;
|
|
207
|
+
/** The command that publishes the box's work, as declared (#3165, ws-088), or null when the block names none. */
|
|
208
|
+
publisher: string | null;
|
|
209
|
+
/** How the box ships its staged work, what its site serves and what is waiting (ws-100), or null when the block declares no ship. */
|
|
210
|
+
ship: StatusBoxShip | null;
|
|
211
|
+
/** Where the box's work in progress is replicated, with defaults filled in (#3172, ws-085), or null when the block declares no policy. */
|
|
212
|
+
replicate: {
|
|
213
|
+
remote: string;
|
|
214
|
+
refs: string[];
|
|
215
|
+
on: string[];
|
|
216
|
+
every: string | null;
|
|
217
|
+
} | null;
|
|
166
218
|
}
|
|
167
219
|
/** A declared box service as `status --json` prints it (#2880): every field present, null or false when not declared. */
|
|
168
220
|
export interface StatusBoxService {
|
|
@@ -221,6 +273,8 @@ export type StatusDocument = {
|
|
|
221
273
|
leases: StatusLease[];
|
|
222
274
|
/** Each work item's acceptance criteria, met of total, by declared kind then item (#2772). Empty when no declared work kind has criteria. */
|
|
223
275
|
acceptance: StatusAcceptance[];
|
|
276
|
+
/** How far each ref the box's replicate policy names is from its remote (#3172), read locally; null when no box declares one. */
|
|
277
|
+
replication: ReplicationState | null;
|
|
224
278
|
summary: {
|
|
225
279
|
members: number;
|
|
226
280
|
released: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/workspace/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/workspace/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,10 @@
|
|
|
7
7
|
* walk follows those lines through history as it follows any line range
|
|
8
8
|
* (`git log -L`). Resolvers are chosen by file extension. Core ships one for
|
|
9
9
|
* TypeScript and JavaScript, parsed with the TypeScript compiler chant already
|
|
10
|
-
* depends on
|
|
10
|
+
* depends on. A lexicon can contribute more through its plugin's
|
|
11
|
+
* `symbolResolvers()` (#3313), which the intent walk loads for a file in a
|
|
12
|
+
* member that configures the lexicon (`lexicon-symbols.ts`); core's resolver
|
|
13
|
+
* stays the one for `.ts` and `.js`. A file with no resolver is refused with
|
|
11
14
|
* `intent-symbol-unsupported`, and a line range still works for it.
|
|
12
15
|
*
|
|
13
16
|
* A symbol is a name, or a dotted path through classes, namespaces,
|
|
@@ -45,8 +48,16 @@ export interface SymbolResolver {
|
|
|
45
48
|
}
|
|
46
49
|
/** The resolvers core ships, chosen by the file's extension. */
|
|
47
50
|
export declare const SYMBOL_RESOLVERS: readonly SymbolResolver[];
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* The resolver for a path, or undefined when none reads its language. Core's
|
|
53
|
+
* resolvers come first, so a lexicon's never takes `.ts` or `.js` from them;
|
|
54
|
+
* among `extra`, the first that names the extension wins.
|
|
55
|
+
*/
|
|
56
|
+
export declare function symbolResolverFor(path: string, extra?: readonly SymbolResolver[]): SymbolResolver | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve `symbol` in the file `path` holding `text`: its current lines, or
|
|
59
|
+
* why it can't be. `extra` are the resolvers a lexicon contributed for the
|
|
60
|
+
* file's member (#3313).
|
|
61
|
+
*/
|
|
62
|
+
export declare function resolveSymbol(path: string, text: string, symbol: string, extra?: readonly SymbolResolver[]): SymbolResolution;
|
|
52
63
|
//# sourceMappingURL=symbols.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/workspace/symbols.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/workspace/symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,+GAA+G;IAC/G,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1G,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CAC/D;AAmGD,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAAyB,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,cAAc,EAAO,GAAG,cAAc,GAAG,SAAS,CAGjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,cAAc,EAAO,GAAG,gBAAgB,CA2BjI"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which commits of a change agent runs made, and which of those a signed run
|
|
3
|
+
* statement covers (#3192), for `chant workspace verify`.
|
|
4
|
+
*
|
|
5
|
+
* A commit names its run by the `Chant-Run` trailer (ws-075), or a run's end
|
|
6
|
+
* lists it (ws-076). A run statement verified against the runner keys at
|
|
7
|
+
* base names the commits it covers as its subjects. Every `_agent-runs`
|
|
8
|
+
* directory on `chant/lifecycle` is read, the flat one and each member's,
|
|
9
|
+
* from the local branch or, when there is none, from `origin`'s copy. Nothing
|
|
10
|
+
* is fetched: CI fetches `chant/lifecycle` before it verifies.
|
|
11
|
+
*/
|
|
12
|
+
import { type RunView } from "../runs.js";
|
|
13
|
+
import type { RunnerKey } from "./policy.js";
|
|
14
|
+
/** Every run on the ledger, in every member's `_agent-runs`, and the ref and tip read. */
|
|
15
|
+
export declare function readLedgerRuns(repo: string): {
|
|
16
|
+
ref: string | null;
|
|
17
|
+
tip: string | null;
|
|
18
|
+
runs: RunView[];
|
|
19
|
+
};
|
|
20
|
+
/** One commit of a change that an agent run made, and whether a signed statement covers it. */
|
|
21
|
+
export interface RunCommitVerdict {
|
|
22
|
+
commit: string;
|
|
23
|
+
/** The runs that name the commit: by its `Chant-Run` trailer, or by their end's list. */
|
|
24
|
+
runs: string[];
|
|
25
|
+
/** Whether a statement verified against the runner keys at base names the commit. */
|
|
26
|
+
attested: boolean;
|
|
27
|
+
/** The run whose statement covers it, when attested. */
|
|
28
|
+
run?: string;
|
|
29
|
+
signer?: string;
|
|
30
|
+
class?: RunnerKey["class"];
|
|
31
|
+
reason: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ChangeRuns {
|
|
34
|
+
/** The ledger ref read, or null when there is no `chant/lifecycle` here. */
|
|
35
|
+
ledger: string | null;
|
|
36
|
+
/** The runner and steward principals at base. */
|
|
37
|
+
runners: string[];
|
|
38
|
+
/** The change's commits that a run names or a statement covers, oldest first. */
|
|
39
|
+
commits: RunCommitVerdict[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Judge `commits` (the change, oldest first) against the run ledger: which
|
|
43
|
+
* ones runs made, and which of those a verified statement covers.
|
|
44
|
+
*/
|
|
45
|
+
export declare function changeRuns(repo: string, commits: string[], runners: readonly RunnerKey[]): ChangeRuns;
|
|
46
|
+
//# sourceMappingURL=run-commits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-commits.d.ts","sourceRoot":"","sources":["../../../src/workspace/trust/run-commits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAsE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAW1C,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAmBxG;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAuCrG"}
|