dorfl 0.0.0 → 0.1.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/advance-ci-template.d.ts +73 -0
- package/dist/advance-ci-template.d.ts.map +1 -0
- package/dist/advance-ci-template.js +104 -0
- package/dist/advance-ci-template.js.map +1 -0
- package/dist/advance-classify.d.ts +132 -0
- package/dist/advance-classify.d.ts.map +1 -0
- package/dist/advance-classify.js +120 -0
- package/dist/advance-classify.js.map +1 -0
- package/dist/advance-drivers.d.ts +182 -0
- package/dist/advance-drivers.d.ts.map +1 -0
- package/dist/advance-drivers.js +231 -0
- package/dist/advance-drivers.js.map +1 -0
- package/dist/advance-isolated.d.ts +156 -0
- package/dist/advance-isolated.d.ts.map +1 -0
- package/dist/advance-isolated.js +256 -0
- package/dist/advance-isolated.js.map +1 -0
- package/dist/advance-lifecycle-template.d.ts +107 -0
- package/dist/advance-lifecycle-template.d.ts.map +1 -0
- package/dist/advance-lifecycle-template.js +668 -0
- package/dist/advance-lifecycle-template.js.map +1 -0
- package/dist/advance-loop-driver.d.ts +325 -0
- package/dist/advance-loop-driver.d.ts.map +1 -0
- package/dist/advance-loop-driver.js +437 -0
- package/dist/advance-loop-driver.js.map +1 -0
- package/dist/advance-treeless-publish.d.ts +108 -0
- package/dist/advance-treeless-publish.d.ts.map +1 -0
- package/dist/advance-treeless-publish.js +71 -0
- package/dist/advance-treeless-publish.js.map +1 -0
- package/dist/advance.d.ts +340 -0
- package/dist/advance.d.ts.map +1 -0
- package/dist/advance.js +1122 -0
- package/dist/advance.js.map +1 -0
- package/dist/advancing-lock.d.ts +294 -0
- package/dist/advancing-lock.d.ts.map +1 -0
- package/dist/advancing-lock.js +594 -0
- package/dist/advancing-lock.js.map +1 -0
- package/dist/agent-launch.d.ts +79 -0
- package/dist/agent-launch.d.ts.map +1 -0
- package/dist/agent-launch.js +61 -0
- package/dist/agent-launch.js.map +1 -0
- package/dist/agent-stop.d.ts +149 -0
- package/dist/agent-stop.d.ts.map +1 -0
- package/dist/agent-stop.js +307 -0
- package/dist/agent-stop.js.map +1 -0
- package/dist/apply-decide.d.ts +127 -0
- package/dist/apply-decide.d.ts.map +1 -0
- package/dist/apply-decide.js +176 -0
- package/dist/apply-decide.js.map +1 -0
- package/dist/apply-merge-action.d.ts +206 -0
- package/dist/apply-merge-action.d.ts.map +1 -0
- package/dist/apply-merge-action.js +307 -0
- package/dist/apply-merge-action.js.map +1 -0
- package/dist/apply-persist.d.ts +174 -0
- package/dist/apply-persist.d.ts.map +1 -0
- package/dist/apply-persist.js +359 -0
- package/dist/apply-persist.js.map +1 -0
- package/dist/arbiter.d.ts +120 -0
- package/dist/arbiter.d.ts.map +1 -0
- package/dist/arbiter.js +255 -0
- package/dist/arbiter.js.map +1 -0
- package/dist/brand.d.ts +70 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +84 -0
- package/dist/brand.js.map +1 -0
- package/dist/buildable-body.d.ts +132 -0
- package/dist/buildable-body.d.ts.map +1 -0
- package/dist/buildable-body.js +131 -0
- package/dist/buildable-body.js.map +1 -0
- package/dist/categorise.d.ts +66 -0
- package/dist/categorise.d.ts.map +1 -0
- package/dist/categorise.js +106 -0
- package/dist/categorise.js.map +1 -0
- package/dist/claim-cas.d.ts +117 -0
- package/dist/claim-cas.d.ts.map +1 -0
- package/dist/claim-cas.js +312 -0
- package/dist/claim-cas.js.map +1 -0
- package/dist/cli-spinner.d.ts +112 -0
- package/dist/cli-spinner.d.ts.map +1 -0
- package/dist/cli-spinner.js +157 -0
- package/dist/cli-spinner.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3094 -0
- package/dist/cli.js.map +1 -0
- package/dist/close-job-template.d.ts +70 -0
- package/dist/close-job-template.d.ts.map +1 -0
- package/dist/close-job-template.js +180 -0
- package/dist/close-job-template.js.map +1 -0
- package/dist/close-job.d.ts +95 -0
- package/dist/close-job.d.ts.map +1 -0
- package/dist/close-job.js +226 -0
- package/dist/close-job.js.map +1 -0
- package/dist/complete.d.ts +361 -0
- package/dist/complete.d.ts.map +1 -0
- package/dist/complete.js +885 -0
- package/dist/complete.js.map +1 -0
- package/dist/concurrency.d.ts +68 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +112 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/config-override.d.ts +76 -0
- package/dist/config-override.d.ts.map +1 -0
- package/dist/config-override.js +50 -0
- package/dist/config-override.js.map +1 -0
- package/dist/config.d.ts +668 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +241 -0
- package/dist/config.js.map +1 -0
- package/dist/continue-branch.d.ts +249 -0
- package/dist/continue-branch.d.ts.map +1 -0
- package/dist/continue-branch.js +389 -0
- package/dist/continue-branch.js.map +1 -0
- package/dist/cwd-section.d.ts +186 -0
- package/dist/cwd-section.d.ts.map +1 -0
- package/dist/cwd-section.js +209 -0
- package/dist/cwd-section.js.map +1 -0
- package/dist/decision-engine.d.ts +170 -0
- package/dist/decision-engine.d.ts.map +1 -0
- package/dist/decision-engine.js +136 -0
- package/dist/decision-engine.js.map +1 -0
- package/dist/detect.d.ts +17 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +118 -0
- package/dist/detect.js.map +1 -0
- package/dist/do-autopick.d.ts +85 -0
- package/dist/do-autopick.d.ts.map +1 -0
- package/dist/do-autopick.js +112 -0
- package/dist/do-autopick.js.map +1 -0
- package/dist/do-config.d.ts +312 -0
- package/dist/do-config.d.ts.map +1 -0
- package/dist/do-config.js +358 -0
- package/dist/do-config.js.map +1 -0
- package/dist/do-remote-auto.d.ts +75 -0
- package/dist/do-remote-auto.d.ts.map +1 -0
- package/dist/do-remote-auto.js +111 -0
- package/dist/do-remote-auto.js.map +1 -0
- package/dist/do.d.ts +621 -0
- package/dist/do.d.ts.map +1 -0
- package/dist/do.js +1882 -0
- package/dist/do.js.map +1 -0
- package/dist/drop-source.d.ts +96 -0
- package/dist/drop-source.d.ts.map +1 -0
- package/dist/drop-source.js +91 -0
- package/dist/drop-source.js.map +1 -0
- package/dist/eligibility.d.ts +46 -0
- package/dist/eligibility.d.ts.map +1 -0
- package/dist/eligibility.js +34 -0
- package/dist/eligibility.js.map +1 -0
- package/dist/env-config.d.ts +51 -0
- package/dist/env-config.d.ts.map +1 -0
- package/dist/env-config.js +272 -0
- package/dist/env-config.js.map +1 -0
- package/dist/failure-cause.d.ts +70 -0
- package/dist/failure-cause.d.ts.map +1 -0
- package/dist/failure-cause.js +126 -0
- package/dist/failure-cause.js.map +1 -0
- package/dist/format.d.ts +43 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +256 -0
- package/dist/format.js.map +1 -0
- package/dist/frontmatter.d.ts +215 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +345 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/gate-readiness.d.ts +84 -0
- package/dist/gate-readiness.d.ts.map +1 -0
- package/dist/gate-readiness.js +103 -0
- package/dist/gate-readiness.js.map +1 -0
- package/dist/gc.d.ts +165 -0
- package/dist/gc.d.ts.map +1 -0
- package/dist/gc.js +313 -0
- package/dist/gc.js.map +1 -0
- package/dist/gh-failure.d.ts +42 -0
- package/dist/gh-failure.d.ts.map +1 -0
- package/dist/gh-failure.js +49 -0
- package/dist/gh-failure.js.map +1 -0
- package/dist/git.d.ts +75 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +130 -0
- package/dist/git.js.map +1 -0
- package/dist/github.d.ts +187 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +343 -0
- package/dist/github.js.map +1 -0
- package/dist/harness.d.ts +242 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +157 -0
- package/dist/harness.js.map +1 -0
- package/dist/identity.d.ts +167 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +231 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +147 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/install-ci-branch-protection.d.ts +147 -0
- package/dist/install-ci-branch-protection.d.ts.map +1 -0
- package/dist/install-ci-branch-protection.js +166 -0
- package/dist/install-ci-branch-protection.js.map +1 -0
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts +15 -0
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts.map +1 -0
- package/dist/install-ci-capabilities/advance-lifecycle.js +28 -0
- package/dist/install-ci-capabilities/advance-lifecycle.js.map +1 -0
- package/dist/install-ci-capabilities/close-job.d.ts +13 -0
- package/dist/install-ci-capabilities/close-job.d.ts.map +1 -0
- package/dist/install-ci-capabilities/close-job.js +26 -0
- package/dist/install-ci-capabilities/close-job.js.map +1 -0
- package/dist/install-ci-capabilities/example-noop.d.ts +16 -0
- package/dist/install-ci-capabilities/example-noop.d.ts.map +1 -0
- package/dist/install-ci-capabilities/example-noop.js +23 -0
- package/dist/install-ci-capabilities/example-noop.js.map +1 -0
- package/dist/install-ci-capabilities/intake.d.ts +15 -0
- package/dist/install-ci-capabilities/intake.d.ts.map +1 -0
- package/dist/install-ci-capabilities/intake.js +28 -0
- package/dist/install-ci-capabilities/intake.js.map +1 -0
- package/dist/install-ci-capabilities/verify.d.ts +14 -0
- package/dist/install-ci-capabilities/verify.d.ts.map +1 -0
- package/dist/install-ci-capabilities/verify.js +27 -0
- package/dist/install-ci-capabilities/verify.js.map +1 -0
- package/dist/install-ci-core.d.ts +446 -0
- package/dist/install-ci-core.d.ts.map +1 -0
- package/dist/install-ci-core.js +760 -0
- package/dist/install-ci-core.js.map +1 -0
- package/dist/install-ci-github.d.ts +167 -0
- package/dist/install-ci-github.d.ts.map +1 -0
- package/dist/install-ci-github.js +315 -0
- package/dist/install-ci-github.js.map +1 -0
- package/dist/install-ci.d.ts +105 -0
- package/dist/install-ci.d.ts.map +1 -0
- package/dist/install-ci.js +363 -0
- package/dist/install-ci.js.map +1 -0
- package/dist/intake-event.d.ts +88 -0
- package/dist/intake-event.d.ts.map +1 -0
- package/dist/intake-event.js +66 -0
- package/dist/intake-event.js.map +1 -0
- package/dist/intake-marker.d.ts +95 -0
- package/dist/intake-marker.d.ts.map +1 -0
- package/dist/intake-marker.js +127 -0
- package/dist/intake-marker.js.map +1 -0
- package/dist/intake-triage.d.ts +48 -0
- package/dist/intake-triage.d.ts.map +1 -0
- package/dist/intake-triage.js +95 -0
- package/dist/intake-triage.js.map +1 -0
- package/dist/intake-trigger-template.d.ts +185 -0
- package/dist/intake-trigger-template.d.ts.map +1 -0
- package/dist/intake-trigger-template.js +449 -0
- package/dist/intake-trigger-template.js.map +1 -0
- package/dist/intake.d.ts +569 -0
- package/dist/intake.d.ts.map +1 -0
- package/dist/intake.js +1628 -0
- package/dist/intake.js.map +1 -0
- package/dist/integration-core.d.ts +539 -0
- package/dist/integration-core.d.ts.map +1 -0
- package/dist/integration-core.js +2195 -0
- package/dist/integration-core.js.map +1 -0
- package/dist/integrator.d.ts +343 -0
- package/dist/integrator.d.ts.map +1 -0
- package/dist/integrator.js +400 -0
- package/dist/integrator.js.map +1 -0
- package/dist/isolation.d.ts +219 -0
- package/dist/isolation.d.ts.map +1 -0
- package/dist/isolation.js +261 -0
- package/dist/isolation.js.map +1 -0
- package/dist/issue-provider.d.ts +349 -0
- package/dist/issue-provider.d.ts.map +1 -0
- package/dist/issue-provider.js +360 -0
- package/dist/issue-provider.js.map +1 -0
- package/dist/item-lock.d.ts +626 -0
- package/dist/item-lock.d.ts.map +1 -0
- package/dist/item-lock.js +1381 -0
- package/dist/item-lock.js.map +1 -0
- package/dist/item-path.d.ts +49 -0
- package/dist/item-path.d.ts.map +1 -0
- package/dist/item-path.js +66 -0
- package/dist/item-path.js.map +1 -0
- package/dist/ledger-lint.d.ts +129 -0
- package/dist/ledger-lint.d.ts.map +1 -0
- package/dist/ledger-lint.js +249 -0
- package/dist/ledger-lint.js.map +1 -0
- package/dist/ledger-read.d.ts +357 -0
- package/dist/ledger-read.d.ts.map +1 -0
- package/dist/ledger-read.js +442 -0
- package/dist/ledger-read.js.map +1 -0
- package/dist/ledger-write.d.ts +330 -0
- package/dist/ledger-write.d.ts.map +1 -0
- package/dist/ledger-write.js +411 -0
- package/dist/ledger-write.js.map +1 -0
- package/dist/lifecycle-gather.d.ts +30 -0
- package/dist/lifecycle-gather.d.ts.map +1 -0
- package/dist/lifecycle-gather.js +205 -0
- package/dist/lifecycle-gather.js.map +1 -0
- package/dist/lifecycle-pools.d.ts +180 -0
- package/dist/lifecycle-pools.d.ts.map +1 -0
- package/dist/lifecycle-pools.js +78 -0
- package/dist/lifecycle-pools.js.map +1 -0
- package/dist/merge-question-surfacer.d.ts +166 -0
- package/dist/merge-question-surfacer.d.ts.map +1 -0
- package/dist/merge-question-surfacer.js +297 -0
- package/dist/merge-question-surfacer.js.map +1 -0
- package/dist/mint-adr.d.ts +126 -0
- package/dist/mint-adr.d.ts.map +1 -0
- package/dist/mint-adr.js +257 -0
- package/dist/mint-adr.js.map +1 -0
- package/dist/mirror-pool-scan.d.ts +125 -0
- package/dist/mirror-pool-scan.d.ts.map +1 -0
- package/dist/mirror-pool-scan.js +104 -0
- package/dist/mirror-pool-scan.js.map +1 -0
- package/dist/needs-attention.d.ts +341 -0
- package/dist/needs-attention.d.ts.map +1 -0
- package/dist/needs-attention.js +900 -0
- package/dist/needs-attention.js.map +1 -0
- package/dist/orphan-sidecar.d.ts +79 -0
- package/dist/orphan-sidecar.d.ts.map +1 -0
- package/dist/orphan-sidecar.js +71 -0
- package/dist/orphan-sidecar.js.map +1 -0
- package/dist/output.d.ts +48 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +66 -0
- package/dist/output.js.map +1 -0
- package/dist/pi-harness.d.ts +179 -0
- package/dist/pi-harness.d.ts.map +1 -0
- package/dist/pi-harness.js +342 -0
- package/dist/pi-harness.js.map +1 -0
- package/dist/placement.d.ts +99 -0
- package/dist/placement.d.ts.map +1 -0
- package/dist/placement.js +67 -0
- package/dist/placement.js.map +1 -0
- package/dist/prd-to-spec.d.ts +315 -0
- package/dist/prd-to-spec.d.ts.map +1 -0
- package/dist/prd-to-spec.js +684 -0
- package/dist/prd-to-spec.js.map +1 -0
- package/dist/prepare.d.ts +121 -0
- package/dist/prepare.d.ts.map +1 -0
- package/dist/prepare.js +140 -0
- package/dist/prepare.js.map +1 -0
- package/dist/prompt.d.ts +360 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +499 -0
- package/dist/prompt.js.map +1 -0
- package/dist/protocol/ADR-FORMAT.md +47 -0
- package/dist/protocol/CLAIM-PROTOCOL.md +217 -0
- package/dist/protocol/REVIEW-PROTOCOL.md +119 -0
- package/dist/protocol/SURFACE-PROTOCOL.md +121 -0
- package/dist/protocol/TASKING-PROTOCOL.md +122 -0
- package/dist/protocol/WORK-CONTRACT.md +276 -0
- package/dist/protocol/spec-template.md +71 -0
- package/dist/protocol/task-template.md +65 -0
- package/dist/readiness.d.ts +66 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +36 -0
- package/dist/readiness.js.map +1 -0
- package/dist/reap-branches.d.ts +102 -0
- package/dist/reap-branches.d.ts.map +1 -0
- package/dist/reap-branches.js +149 -0
- package/dist/reap-branches.js.map +1 -0
- package/dist/recover-isolated.d.ts +72 -0
- package/dist/recover-isolated.d.ts.map +1 -0
- package/dist/recover-isolated.js +188 -0
- package/dist/recover-isolated.js.map +1 -0
- package/dist/registry.d.ts +172 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +296 -0
- package/dist/registry.js.map +1 -0
- package/dist/repo-config.d.ts +201 -0
- package/dist/repo-config.d.ts.map +1 -0
- package/dist/repo-config.js +414 -0
- package/dist/repo-config.js.map +1 -0
- package/dist/repo-key.d.ts +20 -0
- package/dist/repo-key.d.ts.map +1 -0
- package/dist/repo-key.js +68 -0
- package/dist/repo-key.js.map +1 -0
- package/dist/repo-mirror.d.ts +177 -0
- package/dist/repo-mirror.d.ts.map +1 -0
- package/dist/repo-mirror.js +271 -0
- package/dist/repo-mirror.js.map +1 -0
- package/dist/retry-backoff.d.ts +90 -0
- package/dist/retry-backoff.d.ts.map +1 -0
- package/dist/retry-backoff.js +98 -0
- package/dist/retry-backoff.js.map +1 -0
- package/dist/review-gate.d.ts +173 -0
- package/dist/review-gate.d.ts.map +1 -0
- package/dist/review-gate.js +261 -0
- package/dist/review-gate.js.map +1 -0
- package/dist/review-verdict.d.ts +149 -0
- package/dist/review-verdict.d.ts.map +1 -0
- package/dist/review-verdict.js +332 -0
- package/dist/review-verdict.js.map +1 -0
- package/dist/run.d.ts +221 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +963 -0
- package/dist/run.js.map +1 -0
- package/dist/scan.d.ts +308 -0
- package/dist/scan.d.ts.map +1 -0
- package/dist/scan.js +374 -0
- package/dist/scan.js.map +1 -0
- package/dist/select-order.d.ts +75 -0
- package/dist/select-order.d.ts.map +1 -0
- package/dist/select-order.js +108 -0
- package/dist/select-order.js.map +1 -0
- package/dist/select-priority.d.ts +188 -0
- package/dist/select-priority.d.ts.map +1 -0
- package/dist/select-priority.js +80 -0
- package/dist/select-priority.js.map +1 -0
- package/dist/select.d.ts +25 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +43 -0
- package/dist/select.js.map +1 -0
- package/dist/session-path.d.ts +36 -0
- package/dist/session-path.d.ts.map +1 -0
- package/dist/session-path.js +129 -0
- package/dist/session-path.js.map +1 -0
- package/dist/sidecar-apply.d.ts +83 -0
- package/dist/sidecar-apply.d.ts.map +1 -0
- package/dist/sidecar-apply.js +111 -0
- package/dist/sidecar-apply.js.map +1 -0
- package/dist/sidecar.d.ts +245 -0
- package/dist/sidecar.d.ts.map +1 -0
- package/dist/sidecar.js +481 -0
- package/dist/sidecar.js.map +1 -0
- package/dist/slug-namespace.d.ts +204 -0
- package/dist/slug-namespace.d.ts.map +1 -0
- package/dist/slug-namespace.js +229 -0
- package/dist/slug-namespace.js.map +1 -0
- package/dist/spec-complete.d.ts +44 -0
- package/dist/spec-complete.d.ts.map +1 -0
- package/dist/spec-complete.js +69 -0
- package/dist/spec-complete.js.map +1 -0
- package/dist/start.d.ts +97 -0
- package/dist/start.d.ts.map +1 -0
- package/dist/start.js +633 -0
- package/dist/start.js.map +1 -0
- package/dist/status.d.ts +199 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +228 -0
- package/dist/status.js.map +1 -0
- package/dist/surface-gate.d.ts +162 -0
- package/dist/surface-gate.d.ts.map +1 -0
- package/dist/surface-gate.js +206 -0
- package/dist/surface-gate.js.map +1 -0
- package/dist/surface-persist.d.ts +86 -0
- package/dist/surface-persist.d.ts.map +1 -0
- package/dist/surface-persist.js +129 -0
- package/dist/surface-persist.js.map +1 -0
- package/dist/tasker-review-loop.d.ts +249 -0
- package/dist/tasker-review-loop.d.ts.map +1 -0
- package/dist/tasker-review-loop.js +369 -0
- package/dist/tasker-review-loop.js.map +1 -0
- package/dist/tasking-eligibility.d.ts +74 -0
- package/dist/tasking-eligibility.d.ts.map +1 -0
- package/dist/tasking-eligibility.js +52 -0
- package/dist/tasking-eligibility.js.map +1 -0
- package/dist/tasking-lock.d.ts +111 -0
- package/dist/tasking-lock.d.ts.map +1 -0
- package/dist/tasking-lock.js +256 -0
- package/dist/tasking-lock.js.map +1 -0
- package/dist/tasking.d.ts +275 -0
- package/dist/tasking.d.ts.map +1 -0
- package/dist/tasking.js +952 -0
- package/dist/tasking.js.map +1 -0
- package/dist/triage-gate.d.ts +127 -0
- package/dist/triage-gate.d.ts.map +1 -0
- package/dist/triage-gate.js +139 -0
- package/dist/triage-gate.js.map +1 -0
- package/dist/triage-persist.d.ts +163 -0
- package/dist/triage-persist.d.ts.map +1 -0
- package/dist/triage-persist.js +387 -0
- package/dist/triage-persist.js.map +1 -0
- package/dist/verdict-json.d.ts +32 -0
- package/dist/verdict-json.d.ts.map +1 -0
- package/dist/verdict-json.js +74 -0
- package/dist/verdict-json.js.map +1 -0
- package/dist/verify-workflow-template.d.ts +60 -0
- package/dist/verify-workflow-template.d.ts.map +1 -0
- package/dist/verify-workflow-template.js +126 -0
- package/dist/verify-workflow-template.js.map +1 -0
- package/dist/verify.d.ts +60 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +62 -0
- package/dist/verify.js.map +1 -0
- package/dist/watch-session.d.ts +112 -0
- package/dist/watch-session.d.ts.map +1 -0
- package/dist/watch-session.js +347 -0
- package/dist/watch-session.js.map +1 -0
- package/dist/work-layout.d.ts +198 -0
- package/dist/work-layout.d.ts.map +1 -0
- package/dist/work-layout.js +217 -0
- package/dist/work-layout.js.map +1 -0
- package/dist/work-on.d.ts +154 -0
- package/dist/work-on.d.ts.map +1 -0
- package/dist/work-on.js +387 -0
- package/dist/work-on.js.map +1 -0
- package/dist/workspace.d.ts +224 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +325 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +46 -2
- package/src/advance-ci-template.ts +203 -0
- package/src/advance-classify.ts +197 -0
- package/src/advance-drivers.ts +414 -0
- package/src/advance-isolated.ts +432 -0
- package/src/advance-lifecycle-template.ts +791 -0
- package/src/advance-loop-driver.ts +745 -0
- package/src/advance-treeless-publish.ts +177 -0
- package/src/advance.ts +1564 -0
- package/src/advancing-lock.ts +988 -0
- package/src/agent-launch.ts +137 -0
- package/src/agent-stop.ts +361 -0
- package/src/apply-decide.ts +242 -0
- package/src/apply-merge-action.ts +502 -0
- package/src/apply-persist.ts +518 -0
- package/src/arbiter.ts +372 -0
- package/src/brand.ts +111 -0
- package/src/buildable-body.ts +196 -0
- package/src/categorise.ts +158 -0
- package/src/claim-cas.ts +513 -0
- package/src/cli-spinner.ts +225 -0
- package/src/cli.ts +4369 -0
- package/src/close-job-template.ts +236 -0
- package/src/close-job.ts +319 -0
- package/src/complete.ts +1379 -0
- package/src/concurrency.ts +151 -0
- package/src/config-override.ts +116 -0
- package/src/config.ts +883 -0
- package/src/continue-branch.ts +542 -0
- package/src/cwd-section.ts +392 -0
- package/src/decision-engine.ts +272 -0
- package/src/detect.ts +124 -0
- package/src/do-autopick.ts +223 -0
- package/src/do-config.ts +589 -0
- package/src/do-remote-auto.ts +197 -0
- package/src/do.ts +2623 -0
- package/src/drop-source.ts +194 -0
- package/src/eligibility.ts +79 -0
- package/src/env-config.ts +305 -0
- package/src/failure-cause.ts +142 -0
- package/src/format.ts +313 -0
- package/src/frontmatter.ts +485 -0
- package/src/gate-readiness.ts +147 -0
- package/src/gc.ts +510 -0
- package/src/gh-failure.ts +53 -0
- package/src/git.ts +186 -0
- package/src/github.ts +468 -0
- package/src/harness.ts +355 -0
- package/src/identity.ts +322 -0
- package/src/index.ts +785 -0
- package/src/install-ci-branch-protection.ts +255 -0
- package/src/install-ci-capabilities/advance-lifecycle.ts +34 -0
- package/src/install-ci-capabilities/close-job.ts +32 -0
- package/src/install-ci-capabilities/example-noop.ts +24 -0
- package/src/install-ci-capabilities/intake.ts +34 -0
- package/src/install-ci-capabilities/verify.ts +33 -0
- package/src/install-ci-core.ts +1088 -0
- package/src/install-ci-github.ts +376 -0
- package/src/install-ci.ts +552 -0
- package/src/intake-event.ts +102 -0
- package/src/intake-marker.ts +195 -0
- package/src/intake-triage.ts +138 -0
- package/src/intake-trigger-template.ts +591 -0
- package/src/intake.ts +2445 -0
- package/src/integration-core.ts +3065 -0
- package/src/integrator.ts +771 -0
- package/src/isolation.ts +484 -0
- package/src/issue-provider.ts +733 -0
- package/src/item-lock.ts +1858 -0
- package/src/item-path.ts +75 -0
- package/src/ledger-lint.ts +332 -0
- package/src/ledger-read.ts +924 -0
- package/src/ledger-write.ts +865 -0
- package/src/lifecycle-gather.ts +298 -0
- package/src/lifecycle-pools.ts +250 -0
- package/src/merge-question-surfacer.ts +496 -0
- package/src/mint-adr.ts +362 -0
- package/src/mirror-pool-scan.ts +240 -0
- package/src/needs-attention.ts +1506 -0
- package/src/orphan-sidecar.ts +150 -0
- package/src/output.ts +89 -0
- package/src/pi-harness.ts +403 -0
- package/src/placement.ts +131 -0
- package/src/prd-to-spec.ts +1023 -0
- package/src/prepare.ts +230 -0
- package/src/prompt.ts +760 -0
- package/src/readiness.ts +98 -0
- package/src/reap-branches.ts +278 -0
- package/src/recover-isolated.ts +276 -0
- package/src/registry.ts +475 -0
- package/src/repo-config.ts +550 -0
- package/src/repo-key.ts +74 -0
- package/src/repo-mirror.ts +367 -0
- package/src/retry-backoff.ts +130 -0
- package/src/review-gate.ts +389 -0
- package/src/review-verdict.ts +422 -0
- package/src/run.ts +1430 -0
- package/src/scan.ts +611 -0
- package/src/select-order.ts +143 -0
- package/src/select-priority.ts +266 -0
- package/src/select.ts +62 -0
- package/src/session-path.ts +153 -0
- package/src/sidecar-apply.ts +216 -0
- package/src/sidecar.ts +700 -0
- package/src/slug-namespace.ts +367 -0
- package/src/spec-complete.ts +118 -0
- package/src/start.ts +974 -0
- package/src/status.ts +441 -0
- package/src/surface-gate.ts +337 -0
- package/src/surface-persist.ts +241 -0
- package/src/tasker-review-loop.ts +671 -0
- package/src/tasking-eligibility.ts +114 -0
- package/src/tasking-lock.ts +416 -0
- package/src/tasking.ts +1438 -0
- package/src/triage-gate.ts +248 -0
- package/src/triage-persist.ts +570 -0
- package/src/verdict-json.ts +73 -0
- package/src/verify-workflow-template.ts +159 -0
- package/src/verify.ts +123 -0
- package/src/watch-session.ts +397 -0
- package/src/work-layout.ts +262 -0
- package/src/work-on.ts +660 -0
- package/src/workspace.ts +502 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasking.js","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAClD,OAAO,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,kBAAkB,GAElB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACN,yBAAyB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,kBAAkB,EAClB,kBAAkB,GAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAe,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACN,iBAAiB,GAGjB,MAAM,yBAAyB,CAAC;AAyGjC,MAAM,iBAAiB,GAAoB;IAC1C,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;CAC3B,CAAC;AAmKF,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG;IAC5B,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,cAAc;CACX,CAAC;AAEX;;;;;;;GAOG;AACH,SAAS,aAAa,CACrB,OAA4C;IAE5C,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,sFAAsF;AACtF,SAAS,cAAc,CAAC,IAAY;IACnC,OAAO,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,OAA2B;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,8EAA8E;IAC9E,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,iBAAiB,CAAC;IAE/C,kFAAkF;IAClF,uDAAuD;IACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,WAAW,IAAI,cAAc,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,MAAM,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IAC7D,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,uDAAuD;IACvD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,gBAAgB,CACnC,GAAG,EACH,IAAI,EACJ,MAAM,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,IAAI,KAAK,CACzB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,UAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,WAAW;gBACpB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACtC,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,WAAW;gBACpB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,yFAAyF;IACzF,gFAAgF;IAChF,0GAA0G;IAC1G,gFAAgF;IAChF,kFAAkF;IAClF,mFAAmF;IACnF,kFAAkF;IAClF,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,sDAAsD;IACtD,sFAAsF;IACtF,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,iFAAiF;IACjF,gFAAgF;IAChF,gEAAgE;IAChE,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,6EAA6E;IAC7E,uEAAuE;IACvE,mCAAmC;IACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,KAAqC,CAAC;IAC1C,IAAI,CAAC;QACJ,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,KAAK,GAAG;YACP,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,6BAA6B,IAAI,IAAI,CAAC;QACrE,MAAM,OAAO,GAAG,yBAAyB,IAAI,MAAM,MAAM,IAAI,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,0EAA0E;QAC1E,yEAAyE;QACzE,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IAC9D,CAAC;IAED,iFAAiF;IACjF,iFAAiF;IACjF,kFAAkF;IAClF,+EAA+E;IAC/E,kFAAkF;IAClF,gFAAgF;IAChF,mFAAmF;IACnF,uEAAuE;IACvE,IAAI,eAAoD,CAAC;IACzD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5C,eAAe,GAAG,MAAM,iBAAiB,CAAC;YACzC,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,yEAAyE;YACzE,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;YACzC,UAAU,EAAE,OAAO,CAAC,gBAAgB;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,yEAAyE;YACzE,GAAG,EAAE,QAAQ;YACb,IAAI;SACJ,CAAC,CAAC;QACH,uEAAuE;QACvE,gFAAgF;QAChF,kFAAkF;QAClF,sFAAsF;QACtF,IAAI,eAAe,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,0BAA0B,CACxC,IAAI,EACJ,eAAe,CAAC,aAAa,CAC7B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjC,IAAI;oBACJ,GAAG;oBACH,OAAO;oBACP,UAAU;oBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;oBAC/B,GAAG;oBACH,IAAI;iBACJ,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACF,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EAAE,eAAe,CAAC,OAAO;aAChC,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,eAAe,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;YACnD,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACxD,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,qFAAqF;IACrF,gFAAgF;IAChF,iFAAiF;IACjF,8EAA8E;IAC9E,mCAAmC;IACnC,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC1D,uCAAuC;IACvC,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;KACrD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,eAAe,CACnC,oBAAoB,EACpB,iBAAiB,CAAC,MAAM,CACxB,CAAC;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAChC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAC3C,CAAC;IACF,MAAM,OAAO,GACZ,eAAe,EAAE,OAAO,KAAK,WAAW;QACvC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,eAAe,EAAE,OAAO,KAAK,iBAAiB;YAC/C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,SAAS,CAAC;IAEf,IAAI,OAAO,EAAE,CAAC;QACb,+EAA+E;QAC/E,4EAA4E;QAC5E,8EAA8E;QAC9E,+EAA+E;QAC/E,qDAAqD;QACrD,oFAAoF;QACpF,qFAAqF;QACrF,6EAA6E;QAC7E,oEAAoE;QACpE,+EAA+E;QAC/E,2EAA2E;QAC3E,yBAAyB;QACzB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;YACzD,MAAM,OAAO,GACZ,yBAAyB,IAAI,0BAA0B,OAAO,GAAG;gBACjE,cAAc,OAAO,yDAAyD;gBAC9E,sEAAsE;gBACtE,iDAAiD,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;QACvD,CAAC;QAED,gEAAgE;QAChE,4EAA4E;QAC5E,8FAA8F;QAC9F,+EAA+E;QAC/E,gFAAgF;QAChF,6EAA6E;QAC7E,iFAAiF;QACjF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACrC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,4EAA4E;YAC5E,yEAAyE;YACzE,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,KAAK;YACjB,6EAA6E;YAC7E,wEAAwE;YACxE,UAAU,EAAE,IAAI;YAChB,mEAAmE;YACnE,kEAAkE;YAClE,sEAAsE;YACtE,sEAAsE;YACtE,yEAAyE;YACzE,4EAA4E;YAC5E,qEAAqE;YACrE,2DAA2D;YAC3D,6EAA6E;YAC7E,6DAA6D;YAC7D,4EAA4E;YAC5E,mDAAmD;YACnD,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,qBAAqB;YAC1C,eAAe,EAAE,CAAC;YAClB,wEAAwE;YACxE,2EAA2E;YAC3E,6EAA6E;YAC7E,4EAA4E;YAC5E,yEAAyE;YACzE,eAAe;YACf,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,IAAI,EAAE,SAAS;YACf,SAAS,EAAE;gBACV,0EAA0E;gBAC1E,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;gBACjD,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,GAAG,EAAE,CACX,qBAAqB,CAAC;oBACrB,GAAG;oBACH,IAAI;oBACJ,SAAS;oBACT,UAAU;oBACV,YAAY;oBACZ,eAAe,EAAE,iBAAiB,CAAC,MAAM;oBACzC,IAAI;oBACJ,GAAG;iBACH,CAAC;aACH;YACD,GAAG;YACH,mEAAmE;YACnE,4DAA4D;YAC5D,QAAQ;YACR,IAAI;SACJ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,kEAAkE;QAClE,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI;gBACJ,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;gBAC/B,GAAG;gBACH,IAAI;aACJ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EACN,0DAA0D,IAAI,KAAK;oBACnE,oEAAoE;aACrE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;YAC3C,8EAA8E;YAC9E,6EAA6E;YAC7E,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,gDAAgD;YAChD,MAAM,MAAM,GACX,iCAAiC,IAAI,oCAAoC;gBACzE,yBAAyB,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI;gBACJ,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;gBAC/B,GAAG;gBACH,IAAI;aACJ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EACN,iEAAiE,IAAI,KAAK;oBAC1E,4EAA4E;aAC7E,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAClC,iFAAiF;YACjF,kFAAkF;YAClF,qEAAqE;YACrE,+EAA+E;YAC/E,4CAA4C;YAC5C,+EAA+E;YAC/E,4EAA4E;YAC5E,0EAA0E;YAC1E,uDAAuD;YACvD,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,eAAe,CAAC,EAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,oCAAoC;IACpC,MAAM,OAAO,GACZ,WAAW,IAAI,QAAQ,OAAO,CAAC,MAAM,eAAe;QACpD,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2CAA2C;QAC7E,wEAAwE,CAAC;IAC1E,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ;QACjB,IAAI;QACJ,OAAO;QACP,IAAI,EAAE,OAAO;QACb,OAAO;KACP,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC9B,QAAkC,EAClC,IAAY;IAEZ,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;YACN,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,WAAW;YACpB,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;SACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,uBAAuB,CAC/B,IAA2B,EAC3B,GAIC;IAED,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC;IAClC,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GACX,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,OAAO;YACjC,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,4CAA4C,CAAC;QACjD,MAAM,OAAO,GACZ,WAAW,IAAI,QAAQ,OAAO,CAAC,MAAM,eAAe;YACpD,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yCAAyC;YAC3E,4EAA4E;YAC5E,6BAA6B,MAAM,GAAG,CAAC;QACxC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,OAAO;YACN,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,OAAO;YAChB,IAAI;YACJ,OAAO,EACN,IAAI,CAAC,MAAM;gBACX,+BAA+B,IAAI,kCAAkC;oBACpE,GAAG,IAAI,6DAA6D;SACtE,CAAC;IACH,CAAC;IACD,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,aAAa;QACtB,IAAI;QACJ,OAAO,EACN,IAAI,CAAC,MAAM;YACX,+BAA+B,IAAI,wBAAwB;KAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAChC,GAAW,EACX,OAAe,EACf,IAAY,EACZ,GAAkC;IAElC,+EAA+E;IAC/E,oFAAoF;IACpF,6EAA6E;IAC7E,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,CACZ,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,EACtD,GAAG,EACH,GAAG,CACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,eAAe,CAC7B,GAAW,EACX,OAAe,EACf,IAAY,EACZ,UAA8B,EAC9B,GAAkC;IAElC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CACzB,CAAC,WAAW,EAAE,GAAG,OAAO,SAAS,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,EAC3E,GAAG,EACH,GAAG,CACH,CAAC;IACF,0EAA0E;IAC1E,kFAAkF;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAuBpC;IACA,MAAM,EACL,GAAG,EACH,IAAI,EACJ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,GAAG,GACH,GAAG,MAAM,CAAC;IACX,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAC7D,8CAA8C;IAC9C,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,gFAAgF;IAChF,8EAA8E;IAC9E,aAAa;IACb,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;IAC/C,IAAI,eAAe,KAAK,kBAAkB,EAAE,CAAC;QAC5C,IAAI,CACH,yBAAyB,IAAI,sCAAsC;YAClE,IAAI,YAAY,iDAAiD;YACjE,yEAAyE,CAC1E,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,iFAAiF;IACjF,gFAAgF;IAChF,qEAAqE;IACrE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,oDAAoD;IACpD,2EAA2E;IAC3E,8EAA8E;IAC9E,iFAAiF;IACjF,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/C,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YAC9B,iEAAiE;YACjE,kCAAkC;YAClC,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,cAAc,CAC5B,GAAW,EACX,UAA+B,EAC/B,GAAkC;IAElC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,SAAS;QACV,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtC,SAAS;YACV,CAAC;YACD,oEAAoE;YACpE,MAAM,OAAO,CACZ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EAC5D,GAAG,EACH,GAAG,CACH,CAAC;YACF,SAAS;QACV,CAAC;QACD,wDAAwD;QACxD,MAAM,CAAC,GAAG,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,sEAAsE;AACtE,SAAS,OAAO,CACf,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,OAAO,CACrB,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC7B,IAAY,EACZ,cAAkC;IAElC,MAAM,IAAI,GACT,8EAA8E;QAC9E,IAAI,IAAI,wEAAwE;QAChF,mDAAmD,CAAC;IACrD,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,IAAY,EAAE,SAAmB;IACpE,MAAM,IAAI,GACT,6EAA6E;QAC7E,IAAI,IAAI,8EAA8E;QACtF,iEAAiE,CAAC;IACnE,MAAM,IAAI,GACT,SAAS,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,0EAA0E,CAAC;IAC/E,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC5B,GAAW,EACX,OAAe,EACf,SAAmB,EACnB,IAA+B;IAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,IACC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC;QAC9C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACxB,CAAC;QACF,IAAI,CACH,uCAAuC,gBAAgB,MAAM,OAAO,IAAI,CACxE,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,0DAA0D,OAAO,GAAG,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,SAAmB;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACxB,GAAW,EACX,IAAY,EACZ,MAA4E,EAC5E,QAA6B,EAC7B,QAAiB;IAEjB,OAAO,yBAAyB,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC;QACjC,QAAQ,EAAE,QAAQ,IAAI,KAAK;QAC3B,QAAQ;KACR,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,iBAAiB,CACzB,IAAY,EACZ,MAAqD,EACrD,WAAqC,EACrC,OAA2B;IAE3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACX,8DAA8D,CAC9D,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,IACC,OAAO,CAAC,QAAQ,KAAK,IAAI;QACzB,MAAM,CAAC,SAAS,KAAK,IAAI;QACzB,MAAM,CAAC,YAAY,KAAK,IAAI;QAC5B,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,EACnC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACX,sCAAsC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GACR,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACtE,OAAO,oBAAoB,IAAI,MAAM,GAAG,GAAG,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAyB;IAChE,OAAO;QACN,gEAAgE,IAAI,QAAQ;QAC5E,+EAA+E;QAC/E,+EAA+E;QAC/E,uEAAuE;QACvE,0EAA0E;QAC1E,2BAA2B;QAC3B,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,8EAA8E;QAC9E,2EAA2E;QAC3E,iEAAiE;QACjE,EAAE;QACF,6EAA6E;QAC7E,uEAAuE;QACvE,+EAA+E;QAC/E,+EAA+E;QAC/E,4EAA4E;QAC5E,sDAAsD;QACtD,EAAE;QACF,yCAAyC,gBAAgB,0BAA0B;QACnF,qFAAqF;QACrF,+EAA+E;QAC/E,kFAAkF;QAClF,iDAAiD;QACjD,EAAE;QACF,4DAA4D,IAAI,YAAY;QAC5E,gCAAgC;QAChC,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,kFAAkF;KAClF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,YAAY,CAC1B,OAA2B,EAC3B,GAAW,EACX,MAAc,EACd,IAAY;IAEZ,yEAAyE;IACzE,gFAAgF;IAChF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;QAC9C,OAAO;QACP,GAAG,EAAE,GAAG;QACR,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAC/B,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,QAAQ,IAAI,EAAE;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,QAAQ;KACb,CAAC,CAAC;IACH,OAAO,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,SAAS,mBAAmB,CAAC,GAAW;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC/B,GAAW,EACX,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,uFAAuF;AACvF,SAAS,YAAY,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,mBAAmB,CAC3B,GAAW,EACX,QAAkB;IAElB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,GAAW;IAChC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { type Harness } from './harness.js';
|
|
2
|
+
/**
|
|
3
|
+
* The **TRIAGE auto-disposition GATE** (prd `advance-loop`, task
|
|
4
|
+
* `advance-rung-triage`, US #17) — the CONSERVATIVE, `observationTriage: 'auto'`-
|
|
5
|
+
* gated exception to the question-gated default. On `classify=triage-observation`
|
|
6
|
+
* AND `observationTriage` resolved to `'auto'`, the engine asks this gate whether
|
|
7
|
+
* the observation is a NO-QUESTION case (one
|
|
8
|
+
* a human would not plausibly disagree with): an EXACT DUPLICATE of an existing
|
|
9
|
+
* item (→ suggest delete) or an UNAMBIGUOUS MAP onto an existing item. If so, the
|
|
10
|
+
* engine auto-dispositions it WITHOUT surfacing a question; otherwise it falls back
|
|
11
|
+
* to the always-allowed question-gated path (surface a promote/keep/delete
|
|
12
|
+
* question and WAIT).
|
|
13
|
+
*
|
|
14
|
+
* The HIGH BAR is the whole point: the gate emits `auto: false` for ANYTHING that
|
|
15
|
+
* is a judgement call. It NEVER auto-promotes (promotion is "is this worth
|
|
16
|
+
* building?", always a human call) and NEVER auto-deletes a NON-duplicate signal
|
|
17
|
+
* (the capture-bucket contract: an observation is left by deletion BY A HUMAN). So
|
|
18
|
+
* the ONLY auto-dispositions this gate may return are:
|
|
19
|
+
*
|
|
20
|
+
* - `duplicate` — an EXACT duplicate of an existing item → DISCHARGE the
|
|
21
|
+
* redundant note BY DELETION (it is a redundant copy of an already-captured
|
|
22
|
+
* signal, so nothing is lost); or
|
|
23
|
+
* - `map` — an UNAMBIGUOUS map onto an existing item → DISCHARGE the redundant
|
|
24
|
+
* note BY DELETION too (it is already covered by the item it maps onto, so it
|
|
25
|
+
* carries no unique signal; the mapping is recorded in the commit message).
|
|
26
|
+
* There is no resting `triaged:keep` state any more (task
|
|
27
|
+
* `agentic-apply-retire-disposition-vocabulary`).
|
|
28
|
+
*
|
|
29
|
+
* It is the DIRECT mirror of `surface-gate.ts`'s spawn→emit→parse seam, with a
|
|
30
|
+
* narrower emitted payload (`{auto, …}` rather than `{questions}`). Production
|
|
31
|
+
* launches a fresh-context agent through the EXISTING harness seam; tests stub a
|
|
32
|
+
* canned decision (no real model). The auto-disposition WRITE (record + resolve)
|
|
33
|
+
* is the engine's job (`triage-persist.ts`); this module only JUDGES.
|
|
34
|
+
*/
|
|
35
|
+
/** The conservative auto-disposition kinds the gate may return (US #17). */
|
|
36
|
+
export type TriageAutoKind =
|
|
37
|
+
/** An EXACT duplicate of an existing item → recommend deletion (human deletes). */
|
|
38
|
+
'duplicate'
|
|
39
|
+
/** An UNAMBIGUOUS map onto an existing item → discharge the redundant note by deletion. */
|
|
40
|
+
| 'map';
|
|
41
|
+
/**
|
|
42
|
+
* What the triage gate EMITS: either a no-question auto-disposition (`auto: true`)
|
|
43
|
+
* or the honest "this needs a human's judgement" (`auto: false`), in which case the
|
|
44
|
+
* engine falls back to the always-allowed question-gated surface path.
|
|
45
|
+
*/
|
|
46
|
+
export type TriageEmit = {
|
|
47
|
+
auto: true;
|
|
48
|
+
/** Which conservative no-question case (`duplicate` / `map`). */
|
|
49
|
+
kind: TriageAutoKind;
|
|
50
|
+
/** The existing item this observation duplicates / maps onto (`<namespace>:<slug>`). */
|
|
51
|
+
existing: string;
|
|
52
|
+
/** A short reason recorded with the disposition (orientation for the human). */
|
|
53
|
+
reason: string;
|
|
54
|
+
} | {
|
|
55
|
+
auto: false;
|
|
56
|
+
reason?: string;
|
|
57
|
+
};
|
|
58
|
+
/** What the triage gate needs to judge ONE observation. */
|
|
59
|
+
export interface TriageGateInput {
|
|
60
|
+
/** The namespaced observation identity (`observation:<slug>`). */
|
|
61
|
+
item: string;
|
|
62
|
+
/** The working clone/checkout the gate runs in. */
|
|
63
|
+
cwd: string;
|
|
64
|
+
/** The model the triage agent runs on (`undefined` ⇒ the harness default). */
|
|
65
|
+
triageModel?: string;
|
|
66
|
+
/** Environment for the triage-agent launch. */
|
|
67
|
+
env?: NodeJS.ProcessEnv;
|
|
68
|
+
/** The HOST-ONLY sessions root the triage session FILE is generated under. */
|
|
69
|
+
sessionsDir?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The triage-gate SEAM: judge whether an observation is a conservative no-question
|
|
73
|
+
* case and return the auto-disposition (or `auto: false`). Injected by tests (a
|
|
74
|
+
* canned decision, no real model); production uses {@link harnessTriageGate}.
|
|
75
|
+
* Mirrors `surface-gate.ts`'s `SurfaceGate` seam shape so the engine wiring is
|
|
76
|
+
* testable as pure logic.
|
|
77
|
+
*/
|
|
78
|
+
export type TriageGate = (input: TriageGateInput) => Promise<TriageEmit>;
|
|
79
|
+
/** Raised when the triage agent ran but produced no parseable emit. */
|
|
80
|
+
export declare class TriageParseError extends Error {
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Parse the triage agent's emitted decision out of its textual output. The agent
|
|
84
|
+
* emits a single `{auto, …}` JSON object (it may wrap it in prose / a fenced
|
|
85
|
+
* block), so we extract the first JSON object carrying an `auto` field and
|
|
86
|
+
* validate its shape. An `auto: true` decision MUST carry a recognised `kind` AND
|
|
87
|
+
* a non-empty `existing` — a malformed "auto" is treated as `auto: false` (the
|
|
88
|
+
* SAFE fallback: surface the question rather than auto-disposition on a half-baked
|
|
89
|
+
* emit, never the reverse). Throws when no `auto` field is present at all (the
|
|
90
|
+
* caller treats an unparseable emit as the safe question-gated path).
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseTriageEmit(output: string): TriageEmit;
|
|
93
|
+
/**
|
|
94
|
+
* Render the triage-agent PROMPT: instruct a fresh-context agent to judge whether
|
|
95
|
+
* the observation `item` is a CONSERVATIVE no-question case and to EMIT a single
|
|
96
|
+
* `{auto, …}` JSON object. The bar is HIGH and the prompt states it plainly: emit
|
|
97
|
+
* `auto: true` ONLY for an EXACT duplicate or an UNAMBIGUOUS map onto an existing
|
|
98
|
+
* item — NEVER for a promotion (always a human "worth building?" call) and NEVER
|
|
99
|
+
* to delete a non-duplicate signal. Anything that is a judgement call ⇒ `auto:
|
|
100
|
+
* false` (the engine surfaces the question). Mirrors {@link buildSurfacePrompt}: a
|
|
101
|
+
* fresh-context agent that EDITS nothing and EMITS one structured object.
|
|
102
|
+
*/
|
|
103
|
+
export declare function buildTriagePrompt(item: string): string;
|
|
104
|
+
/** What a harness-backed triage gate needs to launch the triage agent. */
|
|
105
|
+
export interface HarnessTriageGateOptions {
|
|
106
|
+
/** The harness seam used to launch the fresh-context triage agent. */
|
|
107
|
+
harness?: Harness;
|
|
108
|
+
/** The agent command the null/shell adapter shells out to (`{model}`-aware). */
|
|
109
|
+
agentCmd?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Read the triage agent's textual output for parsing. Production reads
|
|
112
|
+
* `launched.output` (the ANSWER channel); tests inject `readOutput` to stub a
|
|
113
|
+
* canned emit string.
|
|
114
|
+
*/
|
|
115
|
+
readOutput?: (output: string | undefined) => string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The PRODUCTION triage gate: launch a fresh-context agent through the EXISTING
|
|
119
|
+
* harness seam (routing an optional `triageModel` via `LaunchInput.model` — the
|
|
120
|
+
* §13 model-routing intent, NOT a new mechanism), then parse the emitted `{auto,
|
|
121
|
+
* …}`. The DIRECT mirror of `harnessSurfaceGate`: a SEPARATE harness launch (fresh
|
|
122
|
+
* context) in the same checkout `cwd`, fed {@link buildTriagePrompt}; a DISTINCT
|
|
123
|
+
* session id (`<item>-triage`) so its session never collides with a build / review
|
|
124
|
+
* / surface session.
|
|
125
|
+
*/
|
|
126
|
+
export declare function harnessTriageGate(options?: HarnessTriageGateOptions): TriageGate;
|
|
127
|
+
//# sourceMappingURL=triage-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-gate.d.ts","sourceRoot":"","sources":["../src/triage-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAC,MAAM,cAAc,CAAC;AAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,4EAA4E;AAC5E,MAAM,MAAM,cAAc;AACzB,mFAAmF;AACjF,WAAW;AACb,2FAA2F;GACzF,KAAK,CAAC;AAET;;;;GAIG;AACH,MAAM,MAAM,UAAU,GACnB;IACA,IAAI,EAAE,IAAI,CAAC;IACX,iEAAiE;IACjE,IAAI,EAAE,cAAc,CAAC;IACrB,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;CACd,GACD;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAElC,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC/B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzE,uEAAuE;AACvE,qBAAa,gBAAiB,SAAQ,KAAK;CAAG;AAO9C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAgB1D;AAqCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BtD;AAED,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACxC,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,GAAE,wBAA6B,GACpC,UAAU,CAuBZ"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { NullHarness } from './harness.js';
|
|
2
|
+
import { launchWithOptionalWatch } from './agent-launch.js';
|
|
3
|
+
import { extractJsonObjectSpan } from './verdict-json.js';
|
|
4
|
+
/** Raised when the triage agent ran but produced no parseable emit. */
|
|
5
|
+
export class TriageParseError extends Error {
|
|
6
|
+
}
|
|
7
|
+
const AUTO_KINDS = new Set([
|
|
8
|
+
'duplicate',
|
|
9
|
+
'map',
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* Parse the triage agent's emitted decision out of its textual output. The agent
|
|
13
|
+
* emits a single `{auto, …}` JSON object (it may wrap it in prose / a fenced
|
|
14
|
+
* block), so we extract the first JSON object carrying an `auto` field and
|
|
15
|
+
* validate its shape. An `auto: true` decision MUST carry a recognised `kind` AND
|
|
16
|
+
* a non-empty `existing` — a malformed "auto" is treated as `auto: false` (the
|
|
17
|
+
* SAFE fallback: surface the question rather than auto-disposition on a half-baked
|
|
18
|
+
* emit, never the reverse). Throws when no `auto` field is present at all (the
|
|
19
|
+
* caller treats an unparseable emit as the safe question-gated path).
|
|
20
|
+
*/
|
|
21
|
+
export function parseTriageEmit(output) {
|
|
22
|
+
const span = extractJsonObjectSpan(output, 'auto');
|
|
23
|
+
if (span === undefined) {
|
|
24
|
+
throw new TriageParseError('triage agent produced no parseable {auto} result');
|
|
25
|
+
}
|
|
26
|
+
let parsed;
|
|
27
|
+
try {
|
|
28
|
+
parsed = JSON.parse(output.slice(span.start, span.end));
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
throw new TriageParseError(`triage emit was not valid JSON: ${err.message}`);
|
|
32
|
+
}
|
|
33
|
+
return validateEmit(parsed);
|
|
34
|
+
}
|
|
35
|
+
/** Validate + normalise a parsed object into a {@link TriageEmit}. */
|
|
36
|
+
function validateEmit(parsed) {
|
|
37
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
38
|
+
throw new TriageParseError('triage emit was not an object');
|
|
39
|
+
}
|
|
40
|
+
const obj = parsed;
|
|
41
|
+
if (typeof obj.auto !== 'boolean') {
|
|
42
|
+
throw new TriageParseError('triage emit had no boolean `auto` field (true ⇒ a no-question case; false ⇒ surface)');
|
|
43
|
+
}
|
|
44
|
+
const reason = typeof obj.reason === 'string' ? obj.reason : '';
|
|
45
|
+
if (obj.auto !== true) {
|
|
46
|
+
return reason !== '' ? { auto: false, reason } : { auto: false };
|
|
47
|
+
}
|
|
48
|
+
// auto:true MUST carry a recognised kind + a non-empty existing target, else
|
|
49
|
+
// fall back to the SAFE question-gated path (a malformed auto never wins).
|
|
50
|
+
const kind = typeof obj.kind === 'string' ? obj.kind : '';
|
|
51
|
+
const existing = typeof obj.existing === 'string' ? obj.existing : '';
|
|
52
|
+
if (!AUTO_KINDS.has(kind) || existing.trim() === '') {
|
|
53
|
+
return {
|
|
54
|
+
auto: false,
|
|
55
|
+
reason: 'triage agent emitted auto:true but without a recognised kind / existing target — ' +
|
|
56
|
+
'surfacing the question instead (the high bar is unmet)',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
auto: true,
|
|
61
|
+
kind: kind,
|
|
62
|
+
existing,
|
|
63
|
+
reason,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Render the triage-agent PROMPT: instruct a fresh-context agent to judge whether
|
|
68
|
+
* the observation `item` is a CONSERVATIVE no-question case and to EMIT a single
|
|
69
|
+
* `{auto, …}` JSON object. The bar is HIGH and the prompt states it plainly: emit
|
|
70
|
+
* `auto: true` ONLY for an EXACT duplicate or an UNAMBIGUOUS map onto an existing
|
|
71
|
+
* item — NEVER for a promotion (always a human "worth building?" call) and NEVER
|
|
72
|
+
* to delete a non-duplicate signal. Anything that is a judgement call ⇒ `auto:
|
|
73
|
+
* false` (the engine surfaces the question). Mirrors {@link buildSurfacePrompt}: a
|
|
74
|
+
* fresh-context agent that EDITS nothing and EMITS one structured object.
|
|
75
|
+
*/
|
|
76
|
+
export function buildTriagePrompt(item) {
|
|
77
|
+
return [
|
|
78
|
+
`You are a FRESH-CONTEXT observation TRIAGER. Judge the work/ observation`,
|
|
79
|
+
`"${item}" against the CURRENT work/ items (tasks, prds, ADRs, other`,
|
|
80
|
+
`observations) and decide whether it is a CONSERVATIVE NO-QUESTION case — one`,
|
|
81
|
+
`a human would NOT plausibly disagree with. You write NOTHING — no file edit,`,
|
|
82
|
+
`no \`git mv\`, no commit (the advance ENGINE acts on what you emit). You`,
|
|
83
|
+
`JUDGE; the engine ACTS.`,
|
|
84
|
+
``,
|
|
85
|
+
`The bar is HIGH. Emit auto:true ONLY for:`,
|
|
86
|
+
` - "duplicate": this observation is an EXACT duplicate of an existing item`,
|
|
87
|
+
` (same signal, already captured) → the engine RECOMMENDS deletion (a human`,
|
|
88
|
+
` still deletes it, per the capture-bucket contract); or`,
|
|
89
|
+
` - "map": this observation UNAMBIGUOUSLY maps onto ONE existing item (it is`,
|
|
90
|
+
` already covered there) → the engine DISCHARGES the redundant note by`,
|
|
91
|
+
` deletion, recording the mapping in the commit message.`,
|
|
92
|
+
``,
|
|
93
|
+
`NEVER emit auto:true to PROMOTE (drafting a new task is "is this worth`,
|
|
94
|
+
`building?" — ALWAYS a human call) and NEVER to DELETE a NON-duplicate signal`,
|
|
95
|
+
`(the agent never auto-deletes a real signal). If there is ANY judgement —`,
|
|
96
|
+
`anything a reasonable human might decide differently — emit auto:false and the`,
|
|
97
|
+
`engine will surface a promote/keep/delete question for the human.`,
|
|
98
|
+
``,
|
|
99
|
+
`Output ONLY a single JSON object of one of these exact shapes (no prose`,
|
|
100
|
+
`OUTSIDE it):`,
|
|
101
|
+
` {"auto": true, "kind": "duplicate", "existing": "<namespace>:<slug>", "reason": "…"}`,
|
|
102
|
+
` {"auto": true, "kind": "map", "existing": "<namespace>:<slug>", "reason": "…"}`,
|
|
103
|
+
` {"auto": false, "reason": "needs a human's promote/keep/delete judgement"}`,
|
|
104
|
+
`\`existing\` is the namespaced identity of the item this duplicates / maps`,
|
|
105
|
+
`onto. It is plain text inside the JSON string (escape newlines as \\n).`,
|
|
106
|
+
].join('\n');
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The PRODUCTION triage gate: launch a fresh-context agent through the EXISTING
|
|
110
|
+
* harness seam (routing an optional `triageModel` via `LaunchInput.model` — the
|
|
111
|
+
* §13 model-routing intent, NOT a new mechanism), then parse the emitted `{auto,
|
|
112
|
+
* …}`. The DIRECT mirror of `harnessSurfaceGate`: a SEPARATE harness launch (fresh
|
|
113
|
+
* context) in the same checkout `cwd`, fed {@link buildTriagePrompt}; a DISTINCT
|
|
114
|
+
* session id (`<item>-triage`) so its session never collides with a build / review
|
|
115
|
+
* / surface session.
|
|
116
|
+
*/
|
|
117
|
+
export function harnessTriageGate(options = {}) {
|
|
118
|
+
const harness = options.harness ?? new NullHarness();
|
|
119
|
+
const readOutput = options.readOutput ?? ((output) => output ?? '');
|
|
120
|
+
return async (input) => {
|
|
121
|
+
const sessionId = `${input.item.replace(/:/g, '-')}-triage`;
|
|
122
|
+
const launched = await launchWithOptionalWatch({
|
|
123
|
+
harness,
|
|
124
|
+
dir: input.cwd,
|
|
125
|
+
slug: input.item,
|
|
126
|
+
command: options.agentCmd ?? '',
|
|
127
|
+
prompt: buildTriagePrompt(input.item),
|
|
128
|
+
model: input.triageModel,
|
|
129
|
+
sessionId,
|
|
130
|
+
sessionsDir: input.sessionsDir,
|
|
131
|
+
env: input.env,
|
|
132
|
+
});
|
|
133
|
+
if (!launched.ok) {
|
|
134
|
+
throw new TriageParseError(`triage agent launch failed${launched.detail ? `: ${launched.detail}` : ''}`);
|
|
135
|
+
}
|
|
136
|
+
return parseTriageEmit(readOutput(launched.output));
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=triage-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-gate.js","sourceRoot":"","sources":["../src/triage-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAe,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAmFxD,uEAAuE;AACvE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAE9C,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAiB;IAC/D,WAAW;IACX,KAAK;CACL,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CACzB,kDAAkD,CAClD,CAAC;IACH,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,gBAAgB,CACzB,mCAAoC,GAAa,CAAC,OAAO,EAAE,CAC3D,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,sEAAsE;AACtE,SAAS,YAAY,CAAC,MAAe;IACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CACzB,sFAAsF,CACtF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;IAC9D,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,OAAO;YACN,IAAI,EAAE,KAAK;YACX,MAAM,EACL,mFAAmF;gBACnF,wDAAwD;SACzD,CAAC;IACH,CAAC;IACD,OAAO;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAsB;QAC5B,QAAQ;QACR,MAAM;KACN,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,OAAO;QACN,0EAA0E;QAC1E,IAAI,IAAI,6DAA6D;QACrE,8EAA8E;QAC9E,8EAA8E;QAC9E,0EAA0E;QAC1E,yBAAyB;QACzB,EAAE;QACF,2CAA2C;QAC3C,6EAA6E;QAC7E,+EAA+E;QAC/E,4DAA4D;QAC5D,8EAA8E;QAC9E,0EAA0E;QAC1E,4DAA4D;QAC5D,EAAE;QACF,wEAAwE;QACxE,8EAA8E;QAC9E,2EAA2E;QAC3E,gFAAgF;QAChF,mEAAmE;QACnE,EAAE;QACF,yEAAyE;QACzE,cAAc;QACd,wFAAwF;QACxF,kFAAkF;QAClF,8EAA8E;QAC9E,4EAA4E;QAC5E,yEAAyE;KACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAgBD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAAoC,EAAE;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,KAAK,EAAE,KAAsB,EAAuB,EAAE;QAC5D,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YAC9C,OAAO;YACP,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAC/B,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,WAAW;YACxB,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACzB,6BAA6B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5E,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { type CasContentionBudget } from './advancing-lock.js';
|
|
2
|
+
import type { TriageAutoKind } from './triage-gate.js';
|
|
3
|
+
/** Raised for usage errors (a missing repo, an unreadable observation). */
|
|
4
|
+
export declare class TriagePersistError extends Error {
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
export interface AutoDispositionOptions {
|
|
8
|
+
/** Working clone/worktree the disposition commits in. */
|
|
9
|
+
cwd: string;
|
|
10
|
+
/** The namespaced observation identity (`observation:<slug>`). */
|
|
11
|
+
item: string;
|
|
12
|
+
/** The observation file path RELATIVE to `cwd` (e.g. `work/notes/observations/foo.md`). */
|
|
13
|
+
itemPath: string;
|
|
14
|
+
/** The no-question case (`duplicate` / `map`). */
|
|
15
|
+
kind: TriageAutoKind;
|
|
16
|
+
/** The existing item this duplicates / maps onto (`<namespace>:<slug>`). */
|
|
17
|
+
existing: string;
|
|
18
|
+
/** A short reason recorded with the disposition. */
|
|
19
|
+
reason?: string;
|
|
20
|
+
/** Advisory committer id for the commit subject. Defaults to git user.name. */
|
|
21
|
+
by?: string;
|
|
22
|
+
/** Environment for child git processes. */
|
|
23
|
+
env?: NodeJS.ProcessEnv;
|
|
24
|
+
/** Sink for human-readable progress notes. */
|
|
25
|
+
note?: (message: string) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface AutoDispositionResult {
|
|
28
|
+
/**
|
|
29
|
+
* Always `deleted`: BOTH no-question cases DISCHARGE the redundant note BY
|
|
30
|
+
* DELETION (`git rm` in a standalone commit, the reason in the message). A
|
|
31
|
+
* `duplicate` is a redundant copy of `existing`; a `map` is already covered by
|
|
32
|
+
* `existing` — either way the note carries no unique signal, so it leaves the
|
|
33
|
+
* inbox by being gone. There is no resting `triaged:keep` state any more (task
|
|
34
|
+
* `agentic-apply-retire-disposition-vocabulary`). NEVER an auto-delete of a
|
|
35
|
+
* NON-redundant signal.
|
|
36
|
+
*/
|
|
37
|
+
outcome: 'deleted';
|
|
38
|
+
/** The commit sha the disposition produced. */
|
|
39
|
+
commit: string;
|
|
40
|
+
/** The path the note WAS at before it was deleted (the note is gone after this returns). */
|
|
41
|
+
itemPath: string;
|
|
42
|
+
/** A human-readable summary. */
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Execute a CONSERVATIVE auto-disposition on an UNTRIAGED observation (US #17),
|
|
47
|
+
* ONE local commit, no question surfaced. BOTH no-question cases DISCHARGE the
|
|
48
|
+
* redundant note BY DELETION (`git rm` in a STANDALONE commit, the mapped/
|
|
49
|
+
* duplicated-of identity + reason in the commit message; git history = archive).
|
|
50
|
+
* There is no resting `triaged:keep` state any more (task
|
|
51
|
+
* `agentic-apply-retire-disposition-vocabulary` — a signal is still-open,
|
|
52
|
+
* acted-on, or deleted):
|
|
53
|
+
*
|
|
54
|
+
* - `duplicate` → the note is an EXACT duplicate of `existing` (already
|
|
55
|
+
* captured); the original carries the signal, so the copy is deleted; or
|
|
56
|
+
* - `map` → the note maps UNAMBIGUOUSLY onto `existing` (already covered there),
|
|
57
|
+
* so it is settled — deleted, the mapping recorded in the commit message
|
|
58
|
+
* (mirroring `duplicate`).
|
|
59
|
+
*
|
|
60
|
+
* It NEVER promotes (promotion is a human "worth building?" answer, the apply path)
|
|
61
|
+
* and NEVER auto-deletes a NON-redundant signal (the gate's high bar bounds it to
|
|
62
|
+
* `duplicate`/`map`, both of which carry no unique signal).
|
|
63
|
+
*/
|
|
64
|
+
export declare function autoDispositionObservation(options: AutoDispositionOptions): AutoDispositionResult;
|
|
65
|
+
export interface PromoteObservationOptions {
|
|
66
|
+
/** Working clone/worktree the promote runs in. */
|
|
67
|
+
cwd: string;
|
|
68
|
+
/** The namespaced observation identity (`observation:<slug>`). */
|
|
69
|
+
item: string;
|
|
70
|
+
/** The observation file path RELATIVE to `cwd` (e.g. `work/notes/observations/foo.md`). */
|
|
71
|
+
itemPath: string;
|
|
72
|
+
/**
|
|
73
|
+
* The artifact TYPE to mint, chosen by the AGENTIC apply VERDICT (task
|
|
74
|
+
* `agentic-apply-retire-disposition-vocabulary` — NOT a human `promote-*` field
|
|
75
|
+
* any more): `'task'` → `work/tasks/ready/<slug>.md` (the default); `'spec'` →
|
|
76
|
+
* `work/specs/proposed/<slug>.md` (a SPEC-sized signal lands in `proposed/`
|
|
77
|
+
* staging, which a human later promotes to `ready/`). BOTH go through the SAME
|
|
78
|
+
* triage-local {@link createItemThroughCas} writer (one local commit through the
|
|
79
|
+
* CAS) — NOT intake's branch+integrate band — so the CAS-loser-backs-off
|
|
80
|
+
* guarantee and the same-commit note deletion are uniform across the two routes.
|
|
81
|
+
* MIGRATE step (prd `prd-to-spec-vocabulary-cutover-and-migration-command`): the
|
|
82
|
+
* produced VALUE is `'spec'` (the verdict outcome renamed from `'prd'`).
|
|
83
|
+
*/
|
|
84
|
+
artifact?: 'task' | 'spec';
|
|
85
|
+
/**
|
|
86
|
+
* The NEW backlog slug to draft. Defaults to the observation's own slug (the
|
|
87
|
+
* promoted item is `work/backlog/<obs-slug>.md`). The CAS is keyed on the new
|
|
88
|
+
* item's PATH, so a same-slug new-item race ⇒ the loser fails the CAS.
|
|
89
|
+
*/
|
|
90
|
+
newSlug?: string;
|
|
91
|
+
/**
|
|
92
|
+
* The new task's content. Defaults to a SELF-CONTAINED body built from the
|
|
93
|
+
* observation (its mechanism + fix prose carried into `## What to build`, its
|
|
94
|
+
* `## Open questions` transcribed, `needsAnswers` set when questions remain) —
|
|
95
|
+
* so the spawned task is buildable on its own and the note is safely deletable.
|
|
96
|
+
*/
|
|
97
|
+
stubContent?: string;
|
|
98
|
+
/** Name of the arbiter remote (`--arbiter`). Defaults to `origin`. */
|
|
99
|
+
arbiter?: string;
|
|
100
|
+
/** Advisory committer id for the commit subject. Defaults to git user.name. */
|
|
101
|
+
by?: string;
|
|
102
|
+
/** Environment for child git processes. */
|
|
103
|
+
env?: NodeJS.ProcessEnv;
|
|
104
|
+
/** Show the intended CAS push without mutating the arbiter (`--dry-run`). */
|
|
105
|
+
dryRun?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* The CAS CONTENTION-RETRY BUDGET (jittered inter-retry delay + widened
|
|
108
|
+
* attempt / wall-clock envelope). Threaded through to
|
|
109
|
+
* {@link createItemThroughCas}. The lifecycle driver passes
|
|
110
|
+
* `LIFECYCLE_CAS_CONTENTION` here so a propose-tick FAN-OUT of parallel
|
|
111
|
+
* promote legs desynchronises and DRAINS instead of thrashing to `contended`.
|
|
112
|
+
* Absent ⇒ the interactive default (3 retries, no delay).
|
|
113
|
+
*/
|
|
114
|
+
contention?: CasContentionBudget;
|
|
115
|
+
/** Sink for human-readable progress notes. */
|
|
116
|
+
note?: (message: string) => void;
|
|
117
|
+
}
|
|
118
|
+
export interface PromoteObservationResult {
|
|
119
|
+
/**
|
|
120
|
+
* `promoted` (the new item landed via the CAS + the observation+sidecar were
|
|
121
|
+
* deleted in the SAME commit), `lost` (the same-slug new-item race was lost —
|
|
122
|
+
* the loser backs off, observation left INTACT), or `contended` (the CAS push
|
|
123
|
+
* kept failing). Maps onto the claim-CAS exit codes.
|
|
124
|
+
*/
|
|
125
|
+
outcome: 'promoted' | 'lost' | 'contended' | 'usage-error';
|
|
126
|
+
exitCode: 0 | 1 | 2 | 3;
|
|
127
|
+
/** The new task's path (relative to repo root) on a WIN. */
|
|
128
|
+
newItemPath?: string;
|
|
129
|
+
/** A human-readable summary. */
|
|
130
|
+
message: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Promote an ANSWERED observation to a NEW, SELF-CONTAINED artifact (US #1/#3/#8
|
|
134
|
+
* for the task route; US #4/#9 for the PRD route): CAS-create the new item keyed
|
|
135
|
+
* on the NEW item's identity (its target path), with the observation note + its
|
|
136
|
+
* answered sidecar `git rm`-ed IN THE SAME atomic commit. Promote is ONE commit
|
|
137
|
+
* (create + delete).
|
|
138
|
+
*
|
|
139
|
+
* The artifact TYPE (`options.artifact`) selects the target + body shape: `'task'`
|
|
140
|
+
* (default) mints `work/tasks/ready/<slug>.md`; `'prd'` mints
|
|
141
|
+
* `work/prds/proposed/<slug>.md` (PRD staging — a human later promotes it to
|
|
142
|
+
* `ready/`). BOTH routes use the SAME triage-local {@link createItemThroughCas}
|
|
143
|
+
* writer (NOT intake's `switchToWorkBranch`/`performIntegration` branch+integrate
|
|
144
|
+
* band, which is intake's standalone front door): one create/integrate surface for
|
|
145
|
+
* triage, the CAS-loser-backs-off guarantee uniform across task and PRD promotion.
|
|
146
|
+
*
|
|
147
|
+
* The minted body is built FROM the observation (see {@link buildPromotedBody}):
|
|
148
|
+
* its mechanism + fix prose is carried into the artifact's lead section (`## What
|
|
149
|
+
* to build` for a task, `## Problem Statement` for a PRD), and its
|
|
150
|
+
* `## Open questions` scoping is transcribed into the new item's own
|
|
151
|
+
* `## Open questions` block with `needsAnswers` set when questions remain (cleared
|
|
152
|
+
* when none do) — so an agent can build from the artifact ALONE and no decision
|
|
153
|
+
* residue is lost on deletion. This self-containment is the PRECONDITION for the
|
|
154
|
+
* same-commit deletion.
|
|
155
|
+
*
|
|
156
|
+
* The CAS-create is the new-item-creation helper from `advancing-lock-borrow`
|
|
157
|
+
* ({@link createItemThroughCas}): a same-slug new-item race needs NO special case
|
|
158
|
+
* — exactly one creator lands the file, the LOSER fails the CAS (exit 2) and backs
|
|
159
|
+
* off WITHOUT deleting the observation (so a retry can re-promote). The observation
|
|
160
|
+
* (+ its sidecar) is deleted ONLY on a WIN, riding the winning creator's commit.
|
|
161
|
+
*/
|
|
162
|
+
export declare function promoteObservation(options: PromoteObservationOptions): Promise<PromoteObservationResult>;
|
|
163
|
+
//# sourceMappingURL=triage-persist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-persist.d.ts","sourceRoot":"","sources":["../src/triage-persist.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,mBAAmB,EAExB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAuGrD,2EAA2E;AAC3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI3B;AAID,MAAM,WAAW,sBAAsB;IACtC,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACrC;;;;;;;;OAQG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,sBAAsB,GAC7B,qBAAqB,CA8BvB;AAID,MAAM,WAAW,yBAAyB;IACzC,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACxC;;;;;OAKG;IACH,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IAC3D,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,yBAAyB,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAsEnC"}
|