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":"complete.js","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small, dependency-free bounded-concurrency scheduler — the reusable
|
|
3
|
+
* execution engine of `run`'s concurrent tick.
|
|
4
|
+
*
|
|
5
|
+
* The `run` daemon's whole reason to exist (vs `do`) is running MULTIPLE agents
|
|
6
|
+
* in parallel on non-interacting tasks across the registry (ADR §3). The tick
|
|
7
|
+
* therefore needs to run up to `maxParallel` jobs IN FLIGHT at once, capped at
|
|
8
|
+
* `perRepoMax` concurrently per repo — and those caps must bound ACTUAL in-flight
|
|
9
|
+
* execution, not just selection (the historical `runOnce` selected up to the caps
|
|
10
|
+
* but then ran the jobs one-at-a-time in a `for…await` loop).
|
|
11
|
+
*
|
|
12
|
+
* This module owns ONLY scheduling/concurrency; it is intentionally ignorant of
|
|
13
|
+
* what a "job" is. That keeps the loop and the tick separable (the advance-loop
|
|
14
|
+
* forward-pointer): the loop owns concurrency/scheduling (here), the worker owns
|
|
15
|
+
* one item's work (today `runOneItem`; tomorrow a swappable advance tick).
|
|
16
|
+
*
|
|
17
|
+
* It NEVER rejects: each item resolves to a settled slot — `{ok: T}` on success
|
|
18
|
+
* or `{error: unknown}` on a worker throw — so one failing job can never abort the
|
|
19
|
+
* others (a hard requirement: a conflicting rebase must route only ITS job to
|
|
20
|
+
* needs-attention, never sink the batch). Results are returned in INPUT order.
|
|
21
|
+
*/
|
|
22
|
+
/** A settled outcome for one scheduled item. */
|
|
23
|
+
export type Settled<T> = {
|
|
24
|
+
ok: T;
|
|
25
|
+
} | {
|
|
26
|
+
error: unknown;
|
|
27
|
+
};
|
|
28
|
+
export interface RunConcurrentOptions<I, T> {
|
|
29
|
+
/** The work items, in priority order (results come back in this order). */
|
|
30
|
+
items: readonly I[];
|
|
31
|
+
/** Global cap on workers in flight at once (the daemon's `maxParallel`). */
|
|
32
|
+
maxInFlight: number;
|
|
33
|
+
/** Group key for an item (the repo path) — bounds per-group concurrency. */
|
|
34
|
+
keyFor: (item: I) => string;
|
|
35
|
+
/** Per-key cap on workers in flight at once (the daemon's `perRepoMax`). */
|
|
36
|
+
perKeyMax: number;
|
|
37
|
+
/** Do one item's work. May reject; the rejection is captured, not propagated. */
|
|
38
|
+
worker: (item: I) => Promise<T>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run `worker` over `items` with at most `maxInFlight` in flight globally AND at
|
|
42
|
+
* most `perKeyMax` in flight per `keyFor(item)`. Both caps bound REAL in-flight
|
|
43
|
+
* execution. Returns a settled slot per item, in input order.
|
|
44
|
+
*
|
|
45
|
+
* Scheduling is greedy + work-conserving: whenever a slot frees, it admits the
|
|
46
|
+
* earliest not-yet-started item whose key is under its per-key cap (skipping —
|
|
47
|
+
* not blocking on — items whose repo is momentarily saturated, so one busy repo
|
|
48
|
+
* cannot stall others holding free global slots).
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* A per-key async serialiser: `withKeyedLock(key, fn)` runs `fn` to completion
|
|
52
|
+
* before the next caller for the SAME key starts; different keys never block each
|
|
53
|
+
* other. Used to serialise the prd, shared-working-tree CLAIM step PER REPO
|
|
54
|
+
* inside the otherwise-concurrent tick.
|
|
55
|
+
*
|
|
56
|
+
* Two concurrent claims in ONE repo would prepare their claim micro-commit in the
|
|
57
|
+
* SAME working checkout (`git checkout -b` / `git mv` / `git commit` mutate the
|
|
58
|
+
* shared HEAD + index), corrupting each other ("claim commit is a no-op" / a
|
|
59
|
+
* failed commit) — a real worktree-isolation hazard, NOT the arbiter CAS the
|
|
60
|
+
* task expects to serialise winners. The claim is cheap (mv + commit + a CAS
|
|
61
|
+
* push), so serialising it per repo is not the integration bottleneck the task
|
|
62
|
+
* warns against; the expensive agent run + the rebase-or-abort integration stay
|
|
63
|
+
* fully concurrent (each runs in its OWN job worktree). Distinct repos still claim
|
|
64
|
+
* in parallel (distinct cwd ⇒ no contention).
|
|
65
|
+
*/
|
|
66
|
+
export declare function createKeyedLock(): <T>(key: string, fn: () => Promise<T>) => Promise<T>;
|
|
67
|
+
export declare function runConcurrent<I, T>(options: RunConcurrentOptions<I, T>): Promise<Array<Settled<T>>>;
|
|
68
|
+
//# sourceMappingURL=concurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,gDAAgD;AAChD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IAAC,EAAE,EAAE,CAAC,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,OAAO,CAAA;CAAC,CAAC;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC;IACzC,2EAA2E;IAC3E,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,CAAC,CAAC,CAsBd;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACvC,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GACjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAyD5B"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small, dependency-free bounded-concurrency scheduler — the reusable
|
|
3
|
+
* execution engine of `run`'s concurrent tick.
|
|
4
|
+
*
|
|
5
|
+
* The `run` daemon's whole reason to exist (vs `do`) is running MULTIPLE agents
|
|
6
|
+
* in parallel on non-interacting tasks across the registry (ADR §3). The tick
|
|
7
|
+
* therefore needs to run up to `maxParallel` jobs IN FLIGHT at once, capped at
|
|
8
|
+
* `perRepoMax` concurrently per repo — and those caps must bound ACTUAL in-flight
|
|
9
|
+
* execution, not just selection (the historical `runOnce` selected up to the caps
|
|
10
|
+
* but then ran the jobs one-at-a-time in a `for…await` loop).
|
|
11
|
+
*
|
|
12
|
+
* This module owns ONLY scheduling/concurrency; it is intentionally ignorant of
|
|
13
|
+
* what a "job" is. That keeps the loop and the tick separable (the advance-loop
|
|
14
|
+
* forward-pointer): the loop owns concurrency/scheduling (here), the worker owns
|
|
15
|
+
* one item's work (today `runOneItem`; tomorrow a swappable advance tick).
|
|
16
|
+
*
|
|
17
|
+
* It NEVER rejects: each item resolves to a settled slot — `{ok: T}` on success
|
|
18
|
+
* or `{error: unknown}` on a worker throw — so one failing job can never abort the
|
|
19
|
+
* others (a hard requirement: a conflicting rebase must route only ITS job to
|
|
20
|
+
* needs-attention, never sink the batch). Results are returned in INPUT order.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Run `worker` over `items` with at most `maxInFlight` in flight globally AND at
|
|
24
|
+
* most `perKeyMax` in flight per `keyFor(item)`. Both caps bound REAL in-flight
|
|
25
|
+
* execution. Returns a settled slot per item, in input order.
|
|
26
|
+
*
|
|
27
|
+
* Scheduling is greedy + work-conserving: whenever a slot frees, it admits the
|
|
28
|
+
* earliest not-yet-started item whose key is under its per-key cap (skipping —
|
|
29
|
+
* not blocking on — items whose repo is momentarily saturated, so one busy repo
|
|
30
|
+
* cannot stall others holding free global slots).
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* A per-key async serialiser: `withKeyedLock(key, fn)` runs `fn` to completion
|
|
34
|
+
* before the next caller for the SAME key starts; different keys never block each
|
|
35
|
+
* other. Used to serialise the prd, shared-working-tree CLAIM step PER REPO
|
|
36
|
+
* inside the otherwise-concurrent tick.
|
|
37
|
+
*
|
|
38
|
+
* Two concurrent claims in ONE repo would prepare their claim micro-commit in the
|
|
39
|
+
* SAME working checkout (`git checkout -b` / `git mv` / `git commit` mutate the
|
|
40
|
+
* shared HEAD + index), corrupting each other ("claim commit is a no-op" / a
|
|
41
|
+
* failed commit) — a real worktree-isolation hazard, NOT the arbiter CAS the
|
|
42
|
+
* task expects to serialise winners. The claim is cheap (mv + commit + a CAS
|
|
43
|
+
* push), so serialising it per repo is not the integration bottleneck the task
|
|
44
|
+
* warns against; the expensive agent run + the rebase-or-abort integration stay
|
|
45
|
+
* fully concurrent (each runs in its OWN job worktree). Distinct repos still claim
|
|
46
|
+
* in parallel (distinct cwd ⇒ no contention).
|
|
47
|
+
*/
|
|
48
|
+
export function createKeyedLock() {
|
|
49
|
+
// Per key, a tail promise; chaining onto it serialises that key's critical
|
|
50
|
+
// sections while leaving other keys independent.
|
|
51
|
+
const tails = new Map();
|
|
52
|
+
return function withKeyedLock(key, fn) {
|
|
53
|
+
const prior = tails.get(key) ?? Promise.resolve();
|
|
54
|
+
// Run `fn` only after the prior holder settles (success OR failure — a thrown
|
|
55
|
+
// critical section must still release the lock for the next caller).
|
|
56
|
+
const run = prior.catch(() => { }).then(() => fn());
|
|
57
|
+
// The tail tracks completion (never rejection) so the chain keeps flowing.
|
|
58
|
+
tails.set(key, run.then(() => { }, () => { }));
|
|
59
|
+
return run;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export async function runConcurrent(options) {
|
|
63
|
+
const { items, maxInFlight, keyFor, perKeyMax, worker } = options;
|
|
64
|
+
const results = new Array(items.length);
|
|
65
|
+
const started = new Array(items.length).fill(false);
|
|
66
|
+
const inFlightByKey = new Map();
|
|
67
|
+
let globalInFlight = 0;
|
|
68
|
+
let completed = 0;
|
|
69
|
+
if (items.length === 0) {
|
|
70
|
+
return results;
|
|
71
|
+
}
|
|
72
|
+
return new Promise((resolve) => {
|
|
73
|
+
/** Admit as many eligible items as the caps currently allow. */
|
|
74
|
+
const pump = () => {
|
|
75
|
+
for (let i = 0; i < items.length; i++) {
|
|
76
|
+
if (globalInFlight >= maxInFlight) {
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
if (started[i]) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const key = keyFor(items[i]);
|
|
83
|
+
const keyInFlight = inFlightByKey.get(key) ?? 0;
|
|
84
|
+
if (keyInFlight >= perKeyMax) {
|
|
85
|
+
continue; // this repo is saturated — skip, do not block the batch
|
|
86
|
+
}
|
|
87
|
+
start(i, key);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const start = (i, key) => {
|
|
91
|
+
started[i] = true;
|
|
92
|
+
globalInFlight++;
|
|
93
|
+
inFlightByKey.set(key, (inFlightByKey.get(key) ?? 0) + 1);
|
|
94
|
+
void Promise.resolve()
|
|
95
|
+
.then(() => worker(items[i]))
|
|
96
|
+
.then((value) => finish(i, key, { ok: value }), (error) => finish(i, key, { error }));
|
|
97
|
+
};
|
|
98
|
+
const finish = (i, key, slot) => {
|
|
99
|
+
results[i] = slot;
|
|
100
|
+
globalInFlight--;
|
|
101
|
+
inFlightByKey.set(key, (inFlightByKey.get(key) ?? 1) - 1);
|
|
102
|
+
completed++;
|
|
103
|
+
if (completed === items.length) {
|
|
104
|
+
resolve(results);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
pump();
|
|
108
|
+
};
|
|
109
|
+
pump();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=concurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type PartialConfig } from './config.js';
|
|
2
|
+
/**
|
|
3
|
+
* The **per-machine config override layer** (ADR
|
|
4
|
+
* `per-machine-config-override-layer`): a single file at
|
|
5
|
+
* `<configDir>/config.override.json` (sibling of `config.json`) that overrides
|
|
6
|
+
* the COMMITTED per-repo `.dorfl.json` but is itself overridden by env
|
|
7
|
+
* and flags. It gives the laptop a stable, file-based, high-precedence per-
|
|
8
|
+
* machine lever symmetric to CI's `DORFL_*` env, fixing "I can't make
|
|
9
|
+
* this checkout override what the repo committed without an env var whose
|
|
10
|
+
* setting depends on where I invoke from."
|
|
11
|
+
*
|
|
12
|
+
* Shape: a JSON object whose keys are HUB KEYS (as
|
|
13
|
+
* `encodeRepoKey(arbiterUrl)` produces, e.g. `github-com/wighawag/dorfl`)
|
|
14
|
+
* plus an optional `"*"` bucket meaning "all repos on this machine":
|
|
15
|
+
*
|
|
16
|
+
* ```json
|
|
17
|
+
* {
|
|
18
|
+
* "*": { "autoBuild": false },
|
|
19
|
+
* "github-com/wighawag/dorfl": { "integration": "merge" }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Resolution (in {@link resolveRepoConfigFromLoaded}) inserts the override as
|
|
24
|
+
* two spread layers BETWEEN the committed repo file and env \u2014 a sparse,
|
|
25
|
+
* shallow merge, never mutating `global`:
|
|
26
|
+
*
|
|
27
|
+
* ```
|
|
28
|
+
* flag > env > override[hubKey] > override["*"] > committed per-repo > global > default
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* The hub-key entry beats `"*"` (most-specific-first), mirroring how the
|
|
32
|
+
* committed per-repo file beats global one level down.
|
|
33
|
+
*
|
|
34
|
+
* The override file is a PER-MACHINE source in the same class as env / flag /
|
|
35
|
+
* the global config, so the sharpened host-only principle (ADR
|
|
36
|
+
* `execution-substrate-decisions.md` \u00a713) is satisfied: it may set ANY
|
|
37
|
+
* `Config` key, host-only included (`piBin`, `agentCmd`, \u2026). It is therefore NOT
|
|
38
|
+
* subject to the {@link REPO_ALLOWED_KEYS}/{@link REPO_REJECTED_KEYS} split that
|
|
39
|
+
* governs only the committed repo file.
|
|
40
|
+
*
|
|
41
|
+
* The file path is INJECTABLE so tests need not touch the real `~/.config/`.
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* A per-machine override map. Keys are HUB KEYS (`encodeRepoKey`); `"*"` is the
|
|
45
|
+
* all-repos bucket. Each value is a sparse {@link PartialConfig} \u2014 only the
|
|
46
|
+
* fields it sets are overridden; everything else falls through the rest of the
|
|
47
|
+
* precedence chain.
|
|
48
|
+
*/
|
|
49
|
+
export interface ConfigOverrideMap {
|
|
50
|
+
/** The all-repos override bucket (lowest specificity within the override layer). */
|
|
51
|
+
'*'?: PartialConfig;
|
|
52
|
+
/** Per-hub-key override bucket (beats `"*"`); see {@link encodeRepoKey}. */
|
|
53
|
+
[hubKey: string]: PartialConfig | undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The conventional override file location (`<configDir>/config.override.json`,
|
|
57
|
+
* sibling of `config.json`). Defaults to the standard `defaultConfigPath()`
|
|
58
|
+
* dir; pass a custom `configPath` to derive the override path from a non-
|
|
59
|
+
* default config location (e.g. `--config` on the CLI). Injectable so tests
|
|
60
|
+
* never touch the real `~/.config/dorfl/`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function defaultConfigOverridePath(configPath?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Read the per-machine {@link ConfigOverrideMap} from `path`. A MISSING file is
|
|
65
|
+
* NOT an error (it resolves to an empty map \u2014 byte-identical to today's
|
|
66
|
+
* behaviour). INVALID JSON, or a non-object top-level, FAILS LOUDLY naming the
|
|
67
|
+
* file (like the other config readers). The path is INJECTABLE so tests point
|
|
68
|
+
* it at a scratch file; production defaults to {@link defaultConfigOverridePath}.
|
|
69
|
+
*
|
|
70
|
+
* The values are accepted verbatim \u2014 the override layer is a per-machine source
|
|
71
|
+
* and may set ANY `Config` key (host-only included). Validation of individual
|
|
72
|
+
* keys happens at the resolution site through the SAME merge primitive the rest
|
|
73
|
+
* of the chain uses.
|
|
74
|
+
*/
|
|
75
|
+
export declare function loadConfigOverride(path?: string): ConfigOverrideMap;
|
|
76
|
+
//# sourceMappingURL=config-override.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-override.d.ts","sourceRoot":"","sources":["../src/config-override.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,aAAa,EAAC,MAAM,aAAa,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC,oFAAoF;IACpF,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,4EAA4E;IAC5E,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACxC,UAAU,GAAE,MAA4B,GACtC,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,GAAE,MAAoC,GACxC,iBAAiB,CA6BnB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { defaultConfigPath } from './config.js';
|
|
4
|
+
/**
|
|
5
|
+
* The conventional override file location (`<configDir>/config.override.json`,
|
|
6
|
+
* sibling of `config.json`). Defaults to the standard `defaultConfigPath()`
|
|
7
|
+
* dir; pass a custom `configPath` to derive the override path from a non-
|
|
8
|
+
* default config location (e.g. `--config` on the CLI). Injectable so tests
|
|
9
|
+
* never touch the real `~/.config/dorfl/`.
|
|
10
|
+
*/
|
|
11
|
+
export function defaultConfigOverridePath(configPath = defaultConfigPath()) {
|
|
12
|
+
return join(dirname(configPath), 'config.override.json');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Read the per-machine {@link ConfigOverrideMap} from `path`. A MISSING file is
|
|
16
|
+
* NOT an error (it resolves to an empty map \u2014 byte-identical to today's
|
|
17
|
+
* behaviour). INVALID JSON, or a non-object top-level, FAILS LOUDLY naming the
|
|
18
|
+
* file (like the other config readers). The path is INJECTABLE so tests point
|
|
19
|
+
* it at a scratch file; production defaults to {@link defaultConfigOverridePath}.
|
|
20
|
+
*
|
|
21
|
+
* The values are accepted verbatim \u2014 the override layer is a per-machine source
|
|
22
|
+
* and may set ANY `Config` key (host-only included). Validation of individual
|
|
23
|
+
* keys happens at the resolution site through the SAME merge primitive the rest
|
|
24
|
+
* of the chain uses.
|
|
25
|
+
*/
|
|
26
|
+
export function loadConfigOverride(path = defaultConfigOverridePath()) {
|
|
27
|
+
if (!existsSync(path)) {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
let raw;
|
|
31
|
+
try {
|
|
32
|
+
raw = readFileSync(path, 'utf8');
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
throw new Error(`Failed to read config override at ${path}: ${err.message}`);
|
|
36
|
+
}
|
|
37
|
+
let parsed;
|
|
38
|
+
try {
|
|
39
|
+
parsed = JSON.parse(raw);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new Error(`Invalid JSON in config override at ${path}: ${err.message}`);
|
|
43
|
+
}
|
|
44
|
+
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
45
|
+
throw new Error(`Invalid config override at ${path}: expected a JSON object of the shape ` +
|
|
46
|
+
`{"*"?: PartialConfig, "<hub-key>"?: PartialConfig}, got ${Array.isArray(parsed) ? 'an array' : typeof parsed}.`);
|
|
47
|
+
}
|
|
48
|
+
return parsed;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=config-override.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-override.js","sourceRoot":"","sources":["../src/config-override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAyDlE;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACxC,aAAqB,iBAAiB,EAAE;IAExC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CACjC,OAAe,yBAAyB,EAAE;IAE1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACJ,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,qCAAqC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CACtE,CAAC;IACH,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,sCAAsC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CACvE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACd,8BAA8B,IAAI,wCAAwC;YACzE,2DACC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,MAC7C,GAAG,CACJ,CAAC;IACH,CAAC;IACD,OAAO,MAA2B,CAAC;AACpC,CAAC"}
|