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":"needs-attention.js","sourceRoot":"","sources":["../src/needs-attention.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **orphan-sidecar reaper** — the WORKING-TREE counterpart of the job-worktree
|
|
3
|
+
* and remote-branch reapers (`gc.ts` / `reap-branches.ts`), folded into `dorfl gc`
|
|
4
|
+
* (prd `agentic-question-resolution-retire-disposition-vocabulary`, US #10).
|
|
5
|
+
*
|
|
6
|
+
* A question sidecar is a tooling-owned file `work/questions/<type>-<slug>.md`
|
|
7
|
+
* keyed on its source item's `(type, slug)` identity (`sidecarPathFor`). The
|
|
8
|
+
* contract is that notes/sidecars leave by DELETION (git history is the archive),
|
|
9
|
+
* so when a human deletes the source observation (or task/prd) out-of-band, its
|
|
10
|
+
* sidecar is ORPHANED.
|
|
11
|
+
*
|
|
12
|
+
* WHY THIS IS A SWEEP, NOT AN APPLY STEP. An orphan's source item is GONE, so it
|
|
13
|
+
* is in NO lifecycle pool. The advance driver enumerates ITEMS in the pools and
|
|
14
|
+
* looks up THEIR sidecars; it never enumerates orphaned sidecars. So no per-item
|
|
15
|
+
* `advance` tick (`apply`/`no-op`) ever runs on an orphan — the classifier never
|
|
16
|
+
* sees it. The orphan's only on-disk trace is the sidecar file itself. Therefore
|
|
17
|
+
* this reap enumerates `work/questions/` DIRECTLY and checks each sidecar's source
|
|
18
|
+
* existence by IDENTITY.
|
|
19
|
+
*
|
|
20
|
+
* The existence check REUSES the keystone's extracted `resolveItemPathByIdentity`
|
|
21
|
+
* (`item-path.ts`, the neutral re-exported seam) — the same working-tree,
|
|
22
|
+
* by-identity "does the source item exist?" resolver the apply rung uses — never a
|
|
23
|
+
* forked second resolver. A sidecar whose source EXISTS is left untouched; a
|
|
24
|
+
* sidecar whose source is ABSENT is `git rm`'d (deletion, not a `git mv`: the
|
|
25
|
+
* sidecar leaves by deletion, recoverable from git history).
|
|
26
|
+
*/
|
|
27
|
+
/** A sidecar the orphan sweep reaped (its source item was absent). */
|
|
28
|
+
export interface ReapedSidecar {
|
|
29
|
+
/** The repo-relative sidecar path that was removed (`work/questions/<type>-<slug>.md`). */
|
|
30
|
+
path: string;
|
|
31
|
+
/** The canonical namespaced identity the sidecar was keyed on (`<namespace>:<slug>`). */
|
|
32
|
+
item: string;
|
|
33
|
+
}
|
|
34
|
+
/** A sidecar the orphan sweep retained (its source item still exists). */
|
|
35
|
+
export interface RetainedSidecar {
|
|
36
|
+
path: string;
|
|
37
|
+
item: string;
|
|
38
|
+
/** The repo-relative path of the live source item the sidecar belongs to. */
|
|
39
|
+
sourcePath: string;
|
|
40
|
+
}
|
|
41
|
+
export interface SweepOrphanSidecarsInput {
|
|
42
|
+
/**
|
|
43
|
+
* The repo CHECKOUT to sweep — its working tree holds `work/questions/` and the
|
|
44
|
+
* lifecycle folders the existence check scans. In CI this is the checked-out
|
|
45
|
+
* repo (`process.cwd()`); the sweep operates on whatever checkout `gc` runs in.
|
|
46
|
+
*/
|
|
47
|
+
cwd: string;
|
|
48
|
+
/** Sink for human-readable progress notes (per reaped / retained sidecar). */
|
|
49
|
+
note?: (message: string) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Do NOT actually `git rm` — only REPORT what WOULD be reaped vs retained. A
|
|
52
|
+
* read-only preview; the existence predicate still runs so the report is exact.
|
|
53
|
+
*/
|
|
54
|
+
dryRun?: boolean;
|
|
55
|
+
env?: NodeJS.ProcessEnv;
|
|
56
|
+
}
|
|
57
|
+
export interface SweepOrphanSidecarsResult {
|
|
58
|
+
/** The sidecars reaped this sweep (source absent). Empty on dry-run. */
|
|
59
|
+
reaped: ReapedSidecar[];
|
|
60
|
+
/** The sidecars retained, each with the live source path it belongs to. */
|
|
61
|
+
retained: RetainedSidecar[];
|
|
62
|
+
/** On `dryRun`, the sidecars that WOULD be reaped (not actually removed). */
|
|
63
|
+
wouldReap: ReapedSidecar[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Sweep `work/questions/` in `cwd` and `git rm` each sidecar whose
|
|
67
|
+
* `(type, slug)` source item is ABSENT (working-tree existence via
|
|
68
|
+
* {@link resolveItemPathByIdentity}). A sidecar whose source EXISTS is left
|
|
69
|
+
* untouched. The reap is a `git rm` (the sidecar leaves by deletion; git history
|
|
70
|
+
* is the archive), and each reaped/retained sidecar is reported.
|
|
71
|
+
*
|
|
72
|
+
* Working-tree based: it reads `work/questions/` + the lifecycle folders from the
|
|
73
|
+
* checkout `gc` runs in; no arbiter ref query beyond the existence check. Idempotent
|
|
74
|
+
* — a re-run over an already-clean tree reaps nothing.
|
|
75
|
+
*/
|
|
76
|
+
export declare function sweepOrphanSidecars(input: SweepOrphanSidecarsInput): SweepOrphanSidecarsResult;
|
|
77
|
+
/** The absolute `work/questions/` dir under a checkout (re-exported convenience). */
|
|
78
|
+
export declare function questionsDirPath(cwd: string): string;
|
|
79
|
+
//# sourceMappingURL=orphan-sidecar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orphan-sidecar.d.ts","sourceRoot":"","sources":["../src/orphan-sidecar.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC7B,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;CACb;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACzC,wEAAwE;IACxE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,SAAS,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,wBAAwB,GAC7B,yBAAyB,CAuD3B;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { run } from './git.js';
|
|
4
|
+
import { resolveSidecarIdentity } from './sidecar.js';
|
|
5
|
+
import { resolveItemPathByIdentity } from './item-path.js';
|
|
6
|
+
import { workFolderPath, workFolderRel } from './work-layout.js';
|
|
7
|
+
/**
|
|
8
|
+
* Sweep `work/questions/` in `cwd` and `git rm` each sidecar whose
|
|
9
|
+
* `(type, slug)` source item is ABSENT (working-tree existence via
|
|
10
|
+
* {@link resolveItemPathByIdentity}). A sidecar whose source EXISTS is left
|
|
11
|
+
* untouched. The reap is a `git rm` (the sidecar leaves by deletion; git history
|
|
12
|
+
* is the archive), and each reaped/retained sidecar is reported.
|
|
13
|
+
*
|
|
14
|
+
* Working-tree based: it reads `work/questions/` + the lifecycle folders from the
|
|
15
|
+
* checkout `gc` runs in; no arbiter ref query beyond the existence check. Idempotent
|
|
16
|
+
* — a re-run over an already-clean tree reaps nothing.
|
|
17
|
+
*/
|
|
18
|
+
export function sweepOrphanSidecars(input) {
|
|
19
|
+
const note = input.note ?? (() => { });
|
|
20
|
+
const env = input.env;
|
|
21
|
+
const dryRun = input.dryRun === true;
|
|
22
|
+
const reaped = [];
|
|
23
|
+
const retained = [];
|
|
24
|
+
const wouldReap = [];
|
|
25
|
+
const questionsDir = workFolderPath(input.cwd, 'questions');
|
|
26
|
+
if (!existsSync(questionsDir)) {
|
|
27
|
+
return { reaped, retained, wouldReap };
|
|
28
|
+
}
|
|
29
|
+
for (const entry of readdirSync(questionsDir)) {
|
|
30
|
+
if (!entry.endsWith('.md')) {
|
|
31
|
+
continue; // sidecars are `<type>-<slug>.md` — ignore stray non-md files
|
|
32
|
+
}
|
|
33
|
+
// The filename IS the identity: `<type>-<slug>.md`. `resolveSidecarIdentity`
|
|
34
|
+
// accepts the `<type>-<slug>` form (the same resolver `sidecarPathFor`
|
|
35
|
+
// derives the path FROM), giving the canonical `(type, slug, item)`.
|
|
36
|
+
const stem = entry.slice(0, -'.md'.length);
|
|
37
|
+
const { item } = resolveSidecarIdentity(stem.replace('-', ':'));
|
|
38
|
+
const path = `${workFolderRel('questions')}/${entry}`;
|
|
39
|
+
const sourcePath = resolveItemPathByIdentity(input.cwd, item);
|
|
40
|
+
if (sourcePath !== undefined) {
|
|
41
|
+
// The source item still exists ⇒ a LIVE sidecar ⇒ leave it untouched.
|
|
42
|
+
retained.push({ path, item, sourcePath });
|
|
43
|
+
note(`Retained ${path}: source ${item} still exists (${sourcePath}).`);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// Source ABSENT ⇒ ORPHAN ⇒ reap. Report (dry-run) or `git rm` (the real
|
|
47
|
+
// sweep). Deletion, never a `git mv`: the sidecar leaves by deletion and is
|
|
48
|
+
// recoverable from git history.
|
|
49
|
+
if (dryRun) {
|
|
50
|
+
wouldReap.push({ path, item });
|
|
51
|
+
note(`Would reap ${path} (orphan; source ${item} is gone).`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const rm = run('git', ['rm', '--quiet', '--', path], input.cwd, { env });
|
|
55
|
+
if (rm.status !== 0) {
|
|
56
|
+
// A failed `git rm` is NOT a reap; surface it but keep sweeping the rest.
|
|
57
|
+
// Tolerate "did not match any files" (a concurrent reap / untracked file)
|
|
58
|
+
// by reporting it as kept with the error, never crashing the sweep.
|
|
59
|
+
note(`Failed to git rm ${path} (${rm.stderr.trim() || 'unknown error'}); kept.`);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
reaped.push({ path, item });
|
|
63
|
+
note(`Reaped ${path} (orphan; source ${item} is gone).`);
|
|
64
|
+
}
|
|
65
|
+
return { reaped, retained, wouldReap };
|
|
66
|
+
}
|
|
67
|
+
/** The absolute `work/questions/` dir under a checkout (re-exported convenience). */
|
|
68
|
+
export function questionsDirPath(cwd) {
|
|
69
|
+
return join(cwd, workFolderRel('questions'));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=orphan-sidecar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orphan-sidecar.js","sourceRoot":"","sources":["../src/orphan-sidecar.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tiny, dependency-free terminal-output helpers shared by the CLI's
|
|
3
|
+
* human-facing messages. Two concerns live here:
|
|
4
|
+
*
|
|
5
|
+
* - `shouldUseColor` — the TTY/`NO_COLOR` decision (color ONLY when stdout is
|
|
6
|
+
* an interactive TTY and `NO_COLOR` is unset), so the same rule is applied
|
|
7
|
+
* everywhere and is unit-testable without a real terminal.
|
|
8
|
+
* - `formatProposeNextStep` — the visually-distinct "branch pushed; open the
|
|
9
|
+
* review" block emitted after a `propose`-mode completion. It is the ONE
|
|
10
|
+
* thing the human must act on, so it stands out: a blank line before and
|
|
11
|
+
* after, a heading marker, and (on a TTY) ANSI color. Piped/redirected
|
|
12
|
+
* output is plain so logs and pipes stay clean.
|
|
13
|
+
*
|
|
14
|
+
* Cosmetic only — none of this changes gate/done-move/commit/integrate behaviour.
|
|
15
|
+
*/
|
|
16
|
+
/** Minimal shape of the stream we inspect (so tests can pass a fake). */
|
|
17
|
+
export interface TtyLike {
|
|
18
|
+
isTTY?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Decide whether to emit ANSI color: true iff `stream` is an interactive TTY
|
|
22
|
+
* AND `NO_COLOR` is not set (https://no-color.org/ — ANY non-empty value
|
|
23
|
+
* disables color). Plain (false) when piped/redirected or non-interactive, so
|
|
24
|
+
* captured logs never carry escape codes.
|
|
25
|
+
*/
|
|
26
|
+
export declare function shouldUseColor(stream: TtyLike | undefined, env?: NodeJS.ProcessEnv): boolean;
|
|
27
|
+
export interface ProposeNextStepInput {
|
|
28
|
+
/** The pushed work branch (e.g. `work/<slug>`). */
|
|
29
|
+
branch: string;
|
|
30
|
+
/** The arbiter remote the branch was pushed to. */
|
|
31
|
+
arbiter: string;
|
|
32
|
+
/** True iff a provider actually opened a review request (vs. push-only). */
|
|
33
|
+
requestOpened: boolean;
|
|
34
|
+
/** Emit ANSI color (TTY) vs. plain text (piped / `NO_COLOR`). */
|
|
35
|
+
color: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Build the propose-mode next-step block: the human's single call to action.
|
|
39
|
+
* It is surrounded by blank lines and led by a heading marker so it cannot be
|
|
40
|
+
* lost in surrounding log noise; on a TTY the heading is bold-cyan, the branch
|
|
41
|
+
* ref is bold, and the next command(s) stand out. The content is accurate to
|
|
42
|
+
* the actual push: the branch/ref that was pushed and the exact next command.
|
|
43
|
+
*
|
|
44
|
+
* Returns the multi-line string (leading + trailing blank line included) so the
|
|
45
|
+
* caller can print it as one unit.
|
|
46
|
+
*/
|
|
47
|
+
export declare function formatProposeNextStep(input: ProposeNextStepInput): string;
|
|
48
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yEAAyE;AACzE,MAAM,WAAW,OAAO;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,OAAO,CAMT;AAYD,MAAM,WAAW,oBAAoB;IACpC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAmBzE"}
|
package/dist/output.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tiny, dependency-free terminal-output helpers shared by the CLI's
|
|
3
|
+
* human-facing messages. Two concerns live here:
|
|
4
|
+
*
|
|
5
|
+
* - `shouldUseColor` — the TTY/`NO_COLOR` decision (color ONLY when stdout is
|
|
6
|
+
* an interactive TTY and `NO_COLOR` is unset), so the same rule is applied
|
|
7
|
+
* everywhere and is unit-testable without a real terminal.
|
|
8
|
+
* - `formatProposeNextStep` — the visually-distinct "branch pushed; open the
|
|
9
|
+
* review" block emitted after a `propose`-mode completion. It is the ONE
|
|
10
|
+
* thing the human must act on, so it stands out: a blank line before and
|
|
11
|
+
* after, a heading marker, and (on a TTY) ANSI color. Piped/redirected
|
|
12
|
+
* output is plain so logs and pipes stay clean.
|
|
13
|
+
*
|
|
14
|
+
* Cosmetic only — none of this changes gate/done-move/commit/integrate behaviour.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Decide whether to emit ANSI color: true iff `stream` is an interactive TTY
|
|
18
|
+
* AND `NO_COLOR` is not set (https://no-color.org/ — ANY non-empty value
|
|
19
|
+
* disables color). Plain (false) when piped/redirected or non-interactive, so
|
|
20
|
+
* captured logs never carry escape codes.
|
|
21
|
+
*/
|
|
22
|
+
export function shouldUseColor(stream, env = process.env) {
|
|
23
|
+
// NO_COLOR: presence (even empty string) disables color, per the convention.
|
|
24
|
+
if (env.NO_COLOR !== undefined) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return stream?.isTTY === true;
|
|
28
|
+
}
|
|
29
|
+
// A small, conventional ANSI palette — bold + a bright cyan heading, reset.
|
|
30
|
+
const BOLD = '\u001b[1m';
|
|
31
|
+
const CYAN = '\u001b[36m';
|
|
32
|
+
const RESET = '\u001b[0m';
|
|
33
|
+
/** Wrap `text` in `codes` + reset when `color`, else return it unchanged. */
|
|
34
|
+
function paint(text, color, ...codes) {
|
|
35
|
+
return color ? `${codes.join('')}${text}${RESET}` : text;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Build the propose-mode next-step block: the human's single call to action.
|
|
39
|
+
* It is surrounded by blank lines and led by a heading marker so it cannot be
|
|
40
|
+
* lost in surrounding log noise; on a TTY the heading is bold-cyan, the branch
|
|
41
|
+
* ref is bold, and the next command(s) stand out. The content is accurate to
|
|
42
|
+
* the actual push: the branch/ref that was pushed and the exact next command.
|
|
43
|
+
*
|
|
44
|
+
* Returns the multi-line string (leading + trailing blank line included) so the
|
|
45
|
+
* caller can print it as one unit.
|
|
46
|
+
*/
|
|
47
|
+
export function formatProposeNextStep(input) {
|
|
48
|
+
const { branch, arbiter, requestOpened, color } = input;
|
|
49
|
+
const ref = `${arbiter}/${branch}`;
|
|
50
|
+
const heading = paint('▶ Next step — review required', color, BOLD, CYAN);
|
|
51
|
+
const branchLine = requestOpened
|
|
52
|
+
? `Pushed ${paint(branch, color, BOLD)} to ${ref} and opened a review.`
|
|
53
|
+
: `Pushed ${paint(branch, color, BOLD)} to ${ref}.`;
|
|
54
|
+
const lines = ['', heading, branchLine];
|
|
55
|
+
if (requestOpened) {
|
|
56
|
+
lines.push('Open the review request to land it on main.');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// No provider review created — give the exact command to open one.
|
|
60
|
+
lines.push('Open a PR/MR to land it on main, e.g.:');
|
|
61
|
+
lines.push(` ${paint(`gh pr create --head ${branch}`, color, BOLD)}`);
|
|
62
|
+
}
|
|
63
|
+
lines.push('');
|
|
64
|
+
return lines.join('\n');
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC7B,MAA2B,EAC3B,MAAyB,OAAO,CAAC,GAAG;IAEpC,6EAA6E;IAC7E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,IAAI,GAAG,YAAY,CAAC;AAC1B,MAAM,KAAK,GAAG,WAAW,CAAC;AAE1B,6EAA6E;AAC7E,SAAS,KAAK,CAAC,IAAY,EAAE,KAAc,EAAE,GAAG,KAAe;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAaD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA2B;IAChE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IACtD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,aAAa;QAC/B,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,uBAAuB;QACvE,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAErD,MAAM,KAAK,GAAa,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACP,mEAAmE;QACnE,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,uBAAuB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { type Harness, type HarnessRecord, type InteractiveLaunchInput, type InteractiveLaunchResult, type LaunchInput, type LaunchResult } from './harness.js';
|
|
2
|
+
import type { HarnessAdapter } from './config.js';
|
|
3
|
+
/**
|
|
4
|
+
* The **pi** harness adapter (ADR §5) — the first real agent harness
|
|
5
|
+
* `dorfl` drives. It fulfils the harness seam introduced by
|
|
6
|
+
* `agent-workspaces` (`./harness.ts`): launch a job's work-agent command in its
|
|
7
|
+
* worktree, and report liveness from **pi-native signals**.
|
|
8
|
+
*
|
|
9
|
+
* Two design commitments from the task + ADR §5, both encoded here:
|
|
10
|
+
*
|
|
11
|
+
* 1. **Invocation** is the standard work-agent prompt (the constant wrapper +
|
|
12
|
+
* the task's `## Prompt`, assembled by `./prompt.ts`) fed to the pi CLI on
|
|
13
|
+
* stdin, running non-interactively (`--print`) inside the job worktree.
|
|
14
|
+
* 2. **Liveness** is reported from the **PID** (process alive?) PLUS a pointer
|
|
15
|
+
* to the pi **session file** (real activity + an audit trail) — explicitly
|
|
16
|
+
* **NOT filesystem mtime**: a live agent can think for minutes without
|
|
17
|
+
* writing any files, so mtime would mistake a thinking agent for a dead one.
|
|
18
|
+
*
|
|
19
|
+
* ## Session location: `--session <full-path>` (task `session-path-pi-default`)
|
|
20
|
+
*
|
|
21
|
+
* The adapter passes a **deterministic FULL session-FILE path** as `--session
|
|
22
|
+
* <path>` (NOT `--session-dir <dir>`). The caller GENERATES that path once
|
|
23
|
+
* (before launch, so `do --watch` can tail the known path) via {@link
|
|
24
|
+
* generateSessionPath} and threads it in as `LaunchInput.session`; when omitted,
|
|
25
|
+
* the adapter generates a default for its own cwd. pi creates+writes the session
|
|
26
|
+
* at exactly that path (it CREATES a non-existent `--session` file) and
|
|
27
|
+
* `--session` takes precedence over `--session-dir` (verified vs pinned pi
|
|
28
|
+
* source). The default lands under pi's per-cwd sessions folder, so the
|
|
29
|
+
* pi-remote dashboard sees the session and the in-place checkout stays clean.
|
|
30
|
+
* The arg is ABSOLUTE and ends `.jsonl` — required, else pi treats it as a
|
|
31
|
+
* session-ID lookup and exits 1 (see {@link generateSessionPath}).
|
|
32
|
+
*
|
|
33
|
+
* pi specifics stay BEHIND this adapter; the core (`run`, `status`, `do`) talks
|
|
34
|
+
* only to the `Harness` interface. Where running real pi in CI is impractical,
|
|
35
|
+
* the pi CLI is stubbed (see `pi-harness.test.ts`) via the injectable `piBin`.
|
|
36
|
+
*
|
|
37
|
+
* ## Seam contract (what an adapter promises the core)
|
|
38
|
+
*
|
|
39
|
+
* - `launch(input)` runs the work-agent command for ONE job in `input.dir`
|
|
40
|
+
* (the worktree), feeding `input.prompt` to the agent. It returns
|
|
41
|
+
* `{ok, record, detail?}`: `ok` iff the agent completed successfully, and a
|
|
42
|
+
* `record` to persist in `.dorfl-job.json` carrying the **liveness
|
|
43
|
+
* anchor** (`pid`) plus the pi `session` FILE path. The core treats the call
|
|
44
|
+
* as blocking (it runs the test gate immediately after).
|
|
45
|
+
* - `isAlive(record)` answers liveness FROM THE RECORD'S ANCHOR (PID/session),
|
|
46
|
+
* never mtime, so a separate `status`/`do` process can re-derive liveness
|
|
47
|
+
* from a fresh process WITHOUT re-launching the agent.
|
|
48
|
+
*/
|
|
49
|
+
/** The default pi CLI binary name (resolved on `PATH`). */
|
|
50
|
+
export declare const DEFAULT_PI_BIN = "pi";
|
|
51
|
+
export interface PiHarnessOptions {
|
|
52
|
+
/**
|
|
53
|
+
* The pi CLI binary (default `pi` on `PATH`). Tests inject a stub script here
|
|
54
|
+
* so the seam can be exercised without a real model call / network.
|
|
55
|
+
*/
|
|
56
|
+
piBin?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Extra arguments inserted before the `--print` invocation (e.g. a pinned
|
|
59
|
+
* `--model`). The adapter always supplies `--print` + `--session <path>`;
|
|
60
|
+
* these layer on top for operator control.
|
|
61
|
+
*/
|
|
62
|
+
extraArgs?: string[];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The pi harness block persisted in a job record. It extends the base
|
|
66
|
+
* {@link HarnessRecord} with pi's concrete liveness pointer — the **session
|
|
67
|
+
* file** — alongside the PID. `gc`/`status` re-derive liveness from these without
|
|
68
|
+
* re-launching pi.
|
|
69
|
+
*/
|
|
70
|
+
export interface PiHarnessRecord extends HarnessRecord {
|
|
71
|
+
adapter: 'pi';
|
|
72
|
+
/** Absolute path to the pi session `.jsonl` file (the activity + audit pointer). */
|
|
73
|
+
session?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The pi adapter. Invocation: `pi [--model <model>] --print --session
|
|
77
|
+
* <full-path>.jsonl [extra]` run in the worktree with the work-agent prompt on
|
|
78
|
+
* stdin. The model is passed NATIVELY as `--model <model>` when set (ADR §13 —
|
|
79
|
+
* the routing intent dorfl controls); auth/keys stay pi's job, never
|
|
80
|
+
* dorfl's. Liveness: the PID is the authoritative "is it running?"
|
|
81
|
+
* signal; the recorded `session` file is the activity + audit pointer surfaced
|
|
82
|
+
* alongside it. NEVER mtime (ADR §5).
|
|
83
|
+
*/
|
|
84
|
+
export declare class PiHarness implements Harness {
|
|
85
|
+
readonly adapter = "pi";
|
|
86
|
+
private readonly piBin;
|
|
87
|
+
private readonly extraArgs;
|
|
88
|
+
constructor(options?: PiHarnessOptions);
|
|
89
|
+
/**
|
|
90
|
+
* Resolve the full session-FILE path for a launch. The CALLER normally
|
|
91
|
+
* generates this (via {@link generateSessionPath}) and passes it in
|
|
92
|
+
* `input.session` so the watcher knows it BEFORE launch; when omitted (e.g. a
|
|
93
|
+
* direct adapter call), generate a default under pi's per-cwd folder from the
|
|
94
|
+
* launch dir. Either way the result is absolute and ends `.jsonl`.
|
|
95
|
+
*/
|
|
96
|
+
private resolveSessionFile;
|
|
97
|
+
/** Build the pi argv: `[--model m] [extra] --print --session <file>`. */
|
|
98
|
+
private buildArgs;
|
|
99
|
+
launch(input: LaunchInput): LaunchResult;
|
|
100
|
+
/**
|
|
101
|
+
* The ASYNC twin of {@link launch} — IDENTICAL semantics (same `--print
|
|
102
|
+
* --session <file>` invocation, same prompt on stdin, output still CAPTURED,
|
|
103
|
+
* same `LaunchResult` shape: PID anchor + session pointer + ok/detail), but
|
|
104
|
+
* launched NON-BLOCKING with `spawn` instead of the synchronous `spawnSync`.
|
|
105
|
+
* This is the one structural carve-out the `do --watch` observer needs (task
|
|
106
|
+
* `do-watch`): `spawnSync` blocks the event loop until pi exits, so NOTHING
|
|
107
|
+
* could tail the growing session `.jsonl` concurrently. `launchAsync` runs pi
|
|
108
|
+
* alongside the tailer; the WHOLE launch delta is `spawnSync` → `spawn`. The
|
|
109
|
+
* prompt is still fed on stdin and stdout/stderr are still captured; we read
|
|
110
|
+
* the `.jsonl` LOG, never piped stdout.
|
|
111
|
+
*
|
|
112
|
+
* ## Resolve on `exit`, NOT `close` (runner-hang fix)
|
|
113
|
+
*
|
|
114
|
+
* The promise resolves on the child's **`exit`** event (pi itself terminated),
|
|
115
|
+
* NOT `close`. `close` fires only once EVERY stdio pipe of the child is closed
|
|
116
|
+
* — which includes pipes INHERITED by any grandchild pi spawned (an MCP server,
|
|
117
|
+
* a model proxy, a subshell). If such a grandchild OUTLIVES pi holding the
|
|
118
|
+
* inherited stdout/stderr write end, `close` never fires and this promise never
|
|
119
|
+
* resolves — the `advance --watch` surface/triage/apply leg then finishes its
|
|
120
|
+
* work but its awaited launch hangs forever, burning a CI runner (and one of the
|
|
121
|
+
* `max-parallel` slots) until cancelled. `exit` fires the instant pi exits, so
|
|
122
|
+
* we key completion off pi's OWN death, not its descendants'. We still read the
|
|
123
|
+
* agent's answer from the `.jsonl` (final once pi exited, independent of
|
|
124
|
+
* stdout), then DESTROY our end of the stdio pipes so a leaked grandchild's
|
|
125
|
+
* inherited FDs release what they can. A lingering grandchild may still hold an
|
|
126
|
+
* OS pipe end open (keeping the event loop non-empty); the CLI verbs that call
|
|
127
|
+
* this path `process.exit(code)` after the awaited result, which is the
|
|
128
|
+
* belt-and-suspenders backstop bounding any such residual leak.
|
|
129
|
+
*/
|
|
130
|
+
launchAsync(input: LaunchInput): Promise<LaunchResult>;
|
|
131
|
+
/**
|
|
132
|
+
* Launch pi INTERACTIVELY (task `agent-interactive-launch`, decision #2): a
|
|
133
|
+
* FOREGROUND human session in `input.dir`. The whole delta from {@link launch}
|
|
134
|
+
* is the stdio contract:
|
|
135
|
+
*
|
|
136
|
+
* - **NO `--print`** — a real interactive session the human types into (the
|
|
137
|
+
* autonomous form is `pi --print …`, prompt on stdin, captured).
|
|
138
|
+
* - **`stdio: 'inherit'`** — the human's terminal IS pi's terminal (foreground).
|
|
139
|
+
* - **NO piped prompt** — the human drives; nothing is fed on stdin.
|
|
140
|
+
* - **`--model <model>`** still flows in when set (ADR §13: the resolved
|
|
141
|
+
* routing pins the human's starting model; they may switch inside pi).
|
|
142
|
+
* - **`--session <path>`** is STILL passed so the human session is recorded /
|
|
143
|
+
* dashboard-visible (audit trail), exactly as the autonomous path records it.
|
|
144
|
+
*
|
|
145
|
+
* It BLOCKS in the foreground until the human exits (`spawnSync` + inherited
|
|
146
|
+
* stdio), then returns their exit code. It is NOT a tracked job (decision #3):
|
|
147
|
+
* no `.dorfl-job.json`, no PID/liveness record, no gate — there is
|
|
148
|
+
* nothing to capture, so it returns only the exit code.
|
|
149
|
+
*/
|
|
150
|
+
launchInteractive(input: InteractiveLaunchInput): InteractiveLaunchResult;
|
|
151
|
+
isAlive(record: HarnessRecord): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* The recorded pi session-FILE pointer for a job — the pi-native activity +
|
|
154
|
+
* audit trail surfaced alongside PID liveness. `undefined` when the record has
|
|
155
|
+
* no session pointer (e.g. a non-pi or legacy record). Existence on disk is
|
|
156
|
+
* reported separately so callers can distinguish "recorded but gone" from
|
|
157
|
+
* "never recorded".
|
|
158
|
+
*/
|
|
159
|
+
sessionPointer(record: HarnessRecord): string | undefined;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Does a job record carry a live pi session file on disk? Combines the recorded
|
|
163
|
+
* pointer with an `existsSync` check. This is the pi-native "is there an audit
|
|
164
|
+
* trail to look at?" signal — distinct from PID liveness, and STILL not mtime
|
|
165
|
+
* (we check existence, never modification time).
|
|
166
|
+
*/
|
|
167
|
+
export declare function piSessionExists(record: HarnessRecord): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Build the harness that LAUNCHES jobs for a run, from config (ADR §5): `pi`
|
|
170
|
+
* ⇒ the pi adapter (invoking `config.piBin`); anything else ⇒ the null adapter
|
|
171
|
+
* (shelling out to `agentCmd`). This is the single place the core turns the
|
|
172
|
+
* declared `harness` selector into a concrete adapter, keeping pi specifics
|
|
173
|
+
* behind the seam.
|
|
174
|
+
*/
|
|
175
|
+
export declare function createHarness(options: {
|
|
176
|
+
harness?: HarnessAdapter;
|
|
177
|
+
piBin?: string;
|
|
178
|
+
}): Harness;
|
|
179
|
+
//# sourceMappingURL=pi-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-harness.d.ts","sourceRoot":"","sources":["../src/pi-harness.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,OAAO,EAAE,IAAI,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAU,YAAW,OAAO;IACxC,QAAQ,CAAC,OAAO,QAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;gBAEzB,OAAO,GAAE,gBAAqB;IAK1C;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B,yEAAyE;IACzE,OAAO,CAAC,SAAS;IAoBjB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;IAuCxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmEtD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,uBAAuB;IAkCzE,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAGzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE9D;AA4BD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAKV"}
|