looply-cli 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +137 -3
- package/dist/.src-hash +1 -0
- package/dist/acceptance-observe.d.ts +108 -0
- package/dist/acceptance-observe.d.ts.map +1 -0
- package/dist/acceptance-observe.js +152 -0
- package/dist/acceptance-observe.js.map +1 -0
- package/dist/agent-cmd.d.ts +131 -0
- package/dist/agent-cmd.d.ts.map +1 -0
- package/dist/agent-cmd.js +154 -0
- package/dist/agent-cmd.js.map +1 -0
- package/dist/agent-contained.d.ts +114 -0
- package/dist/agent-contained.d.ts.map +1 -0
- package/dist/agent-contained.js +292 -0
- package/dist/agent-contained.js.map +1 -0
- package/dist/agent-driver.d.ts +130 -0
- package/dist/agent-driver.d.ts.map +1 -0
- package/dist/agent-driver.js +170 -0
- package/dist/agent-driver.js.map +1 -0
- package/dist/agent-envelope.d.ts +94 -0
- package/dist/agent-envelope.d.ts.map +1 -0
- package/dist/agent-envelope.js +214 -0
- package/dist/agent-envelope.js.map +1 -0
- package/dist/agent-exec.d.ts +182 -0
- package/dist/agent-exec.d.ts.map +1 -0
- package/dist/agent-exec.js +125 -0
- package/dist/agent-exec.js.map +1 -0
- package/dist/agent-runtime.d.ts +23 -0
- package/dist/agent-runtime.d.ts.map +1 -0
- package/dist/agent-runtime.js +143 -0
- package/dist/agent-runtime.js.map +1 -0
- package/dist/approval-gate-read.d.ts +66 -0
- package/dist/approval-gate-read.d.ts.map +1 -0
- package/dist/approval-gate-read.js +138 -0
- package/dist/approval-gate-read.js.map +1 -0
- package/dist/approval-resolution.d.ts +87 -0
- package/dist/approval-resolution.d.ts.map +1 -0
- package/dist/approval-resolution.js +100 -0
- package/dist/approval-resolution.js.map +1 -0
- package/dist/approval-resumes.d.ts +102 -0
- package/dist/approval-resumes.d.ts.map +1 -0
- package/dist/approval-resumes.js +167 -0
- package/dist/approval-resumes.js.map +1 -0
- package/dist/ask-brain.d.ts +167 -0
- package/dist/ask-brain.d.ts.map +1 -0
- package/dist/ask-brain.js +355 -0
- package/dist/ask-brain.js.map +1 -0
- package/dist/autonomy-authority.d.ts +80 -0
- package/dist/autonomy-authority.d.ts.map +1 -0
- package/dist/autonomy-authority.js +82 -0
- package/dist/autonomy-authority.js.map +1 -0
- package/dist/autonomy-controller.d.ts +321 -0
- package/dist/autonomy-controller.d.ts.map +1 -0
- package/dist/autonomy-controller.js +517 -0
- package/dist/autonomy-controller.js.map +1 -0
- package/dist/autonomy-store.d.ts +327 -0
- package/dist/autonomy-store.d.ts.map +1 -0
- package/dist/autonomy-store.js +581 -0
- package/dist/autonomy-store.js.map +1 -0
- package/dist/autonomy-tick.d.ts +257 -0
- package/dist/autonomy-tick.d.ts.map +1 -0
- package/dist/autonomy-tick.js +616 -0
- package/dist/autonomy-tick.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +2719 -0
- package/dist/bin.js.map +1 -0
- package/dist/brain-advice.d.ts +21 -0
- package/dist/brain-advice.d.ts.map +1 -0
- package/dist/brain-advice.js +51 -0
- package/dist/brain-advice.js.map +1 -0
- package/dist/candidate-replay-runtime.d.ts +125 -0
- package/dist/candidate-replay-runtime.d.ts.map +1 -0
- package/dist/candidate-replay-runtime.js +188 -0
- package/dist/candidate-replay-runtime.js.map +1 -0
- package/dist/checkout-carry.d.ts +76 -0
- package/dist/checkout-carry.d.ts.map +1 -0
- package/dist/checkout-carry.js +125 -0
- package/dist/checkout-carry.js.map +1 -0
- package/dist/citation-readers.d.ts +26 -0
- package/dist/citation-readers.d.ts.map +1 -0
- package/dist/citation-readers.js +102 -0
- package/dist/citation-readers.js.map +1 -0
- package/dist/command-receipts.d.ts +79 -0
- package/dist/command-receipts.d.ts.map +1 -0
- package/dist/command-receipts.js +143 -0
- package/dist/command-receipts.js.map +1 -0
- package/dist/command-runner.d.ts +32 -0
- package/dist/command-runner.d.ts.map +1 -0
- package/dist/command-runner.js +108 -0
- package/dist/command-runner.js.map +1 -0
- package/dist/compatible-sets.d.ts +67 -0
- package/dist/compatible-sets.d.ts.map +1 -0
- package/dist/compatible-sets.js +81 -0
- package/dist/compatible-sets.js.map +1 -0
- package/dist/compile-check.d.ts +31 -0
- package/dist/compile-check.d.ts.map +1 -0
- package/dist/compile-check.js +34 -0
- package/dist/compile-check.js.map +1 -0
- package/dist/compile-store.d.ts +16 -0
- package/dist/compile-store.d.ts.map +1 -0
- package/dist/compile-store.js +21 -0
- package/dist/compile-store.js.map +1 -0
- package/dist/completion.d.ts +106 -0
- package/dist/completion.d.ts.map +1 -0
- package/dist/completion.js +131 -0
- package/dist/completion.js.map +1 -0
- package/dist/config.d.ts +549 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +763 -0
- package/dist/config.js.map +1 -0
- package/dist/control-file.d.ts +142 -0
- package/dist/control-file.d.ts.map +1 -0
- package/dist/control-file.js +144 -0
- package/dist/control-file.js.map +1 -0
- package/dist/coordinator-state.d.ts +131 -0
- package/dist/coordinator-state.d.ts.map +1 -0
- package/dist/coordinator-state.js +380 -0
- package/dist/coordinator-state.js.map +1 -0
- package/dist/coordinator.d.ts +95 -0
- package/dist/coordinator.d.ts.map +1 -0
- package/dist/coordinator.js +97 -0
- package/dist/coordinator.js.map +1 -0
- package/dist/cursor-store.d.ts +53 -0
- package/dist/cursor-store.d.ts.map +1 -0
- package/dist/cursor-store.js +98 -0
- package/dist/cursor-store.js.map +1 -0
- package/dist/daemon-cmd.d.ts +239 -0
- package/dist/daemon-cmd.d.ts.map +1 -0
- package/dist/daemon-cmd.js +1751 -0
- package/dist/daemon-cmd.js.map +1 -0
- package/dist/daemon-lock.d.ts +140 -0
- package/dist/daemon-lock.d.ts.map +1 -0
- package/dist/daemon-lock.js +352 -0
- package/dist/daemon-lock.js.map +1 -0
- package/dist/daemon-recovery.d.ts +78 -0
- package/dist/daemon-recovery.d.ts.map +1 -0
- package/dist/daemon-recovery.js +161 -0
- package/dist/daemon-recovery.js.map +1 -0
- package/dist/daemon.d.ts +368 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +601 -0
- package/dist/daemon.js.map +1 -0
- package/dist/declared-response-shape.d.ts +93 -0
- package/dist/declared-response-shape.d.ts.map +1 -0
- package/dist/declared-response-shape.js +200 -0
- package/dist/declared-response-shape.js.map +1 -0
- package/dist/declared-surfaces.d.ts +16 -0
- package/dist/declared-surfaces.d.ts.map +1 -0
- package/dist/declared-surfaces.js +19 -0
- package/dist/declared-surfaces.js.map +1 -0
- package/dist/depends-review.d.ts +113 -0
- package/dist/depends-review.d.ts.map +1 -0
- package/dist/depends-review.js +110 -0
- package/dist/depends-review.js.map +1 -0
- package/dist/doctor.d.ts +91 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +71 -0
- package/dist/doctor.js.map +1 -0
- package/dist/edge-approval.d.ts +105 -0
- package/dist/edge-approval.d.ts.map +1 -0
- package/dist/edge-approval.js +100 -0
- package/dist/edge-approval.js.map +1 -0
- package/dist/evidence-cache.d.ts +45 -0
- package/dist/evidence-cache.d.ts.map +1 -0
- package/dist/evidence-cache.js +90 -0
- package/dist/evidence-cache.js.map +1 -0
- package/dist/evidence-cmd.d.ts +133 -0
- package/dist/evidence-cmd.d.ts.map +1 -0
- package/dist/evidence-cmd.js +347 -0
- package/dist/evidence-cmd.js.map +1 -0
- package/dist/evidence-facts.d.ts +40 -0
- package/dist/evidence-facts.d.ts.map +1 -0
- package/dist/evidence-facts.js +114 -0
- package/dist/evidence-facts.js.map +1 -0
- package/dist/exclusive-lock.d.ts +52 -0
- package/dist/exclusive-lock.d.ts.map +1 -0
- package/dist/exclusive-lock.js +150 -0
- package/dist/exclusive-lock.js.map +1 -0
- package/dist/exec-domains.d.ts +140 -0
- package/dist/exec-domains.d.ts.map +1 -0
- package/dist/exec-domains.js +287 -0
- package/dist/exec-domains.js.map +1 -0
- package/dist/exemption-store.d.ts +197 -0
- package/dist/exemption-store.d.ts.map +1 -0
- package/dist/exemption-store.js +266 -0
- package/dist/exemption-store.js.map +1 -0
- package/dist/explicit-start-gate.d.ts +96 -0
- package/dist/explicit-start-gate.d.ts.map +1 -0
- package/dist/explicit-start-gate.js +103 -0
- package/dist/explicit-start-gate.js.map +1 -0
- package/dist/fs-trouble.d.ts +70 -0
- package/dist/fs-trouble.d.ts.map +1 -0
- package/dist/fs-trouble.js +98 -0
- package/dist/fs-trouble.js.map +1 -0
- package/dist/gate.d.ts +278 -0
- package/dist/gate.d.ts.map +1 -0
- package/dist/gate.js +278 -0
- package/dist/gate.js.map +1 -0
- package/dist/git-driver.d.ts +519 -0
- package/dist/git-driver.d.ts.map +1 -0
- package/dist/git-driver.js +900 -0
- package/dist/git-driver.js.map +1 -0
- package/dist/git-push-executor.d.ts +41 -0
- package/dist/git-push-executor.d.ts.map +1 -0
- package/dist/git-push-executor.js +142 -0
- package/dist/git-push-executor.js.map +1 -0
- package/dist/glob.d.ts +26 -0
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +93 -0
- package/dist/glob.js.map +1 -0
- package/dist/goal-adaptive.d.ts +295 -0
- package/dist/goal-adaptive.d.ts.map +1 -0
- package/dist/goal-adaptive.js +393 -0
- package/dist/goal-adaptive.js.map +1 -0
- package/dist/goal-compile.d.ts +342 -0
- package/dist/goal-compile.d.ts.map +1 -0
- package/dist/goal-compile.js +444 -0
- package/dist/goal-compile.js.map +1 -0
- package/dist/goal-depends-executor.d.ts +55 -0
- package/dist/goal-depends-executor.d.ts.map +1 -0
- package/dist/goal-depends-executor.js +202 -0
- package/dist/goal-depends-executor.js.map +1 -0
- package/dist/goal-execution-evidence.d.ts +135 -0
- package/dist/goal-execution-evidence.d.ts.map +1 -0
- package/dist/goal-execution-evidence.js +159 -0
- package/dist/goal-execution-evidence.js.map +1 -0
- package/dist/goal-gap.d.ts +140 -0
- package/dist/goal-gap.d.ts.map +1 -0
- package/dist/goal-gap.js +197 -0
- package/dist/goal-gap.js.map +1 -0
- package/dist/goal-met-target.d.ts +98 -0
- package/dist/goal-met-target.d.ts.map +1 -0
- package/dist/goal-met-target.js +92 -0
- package/dist/goal-met-target.js.map +1 -0
- package/dist/goal-ownership.d.ts +416 -0
- package/dist/goal-ownership.d.ts.map +1 -0
- package/dist/goal-ownership.js +576 -0
- package/dist/goal-ownership.js.map +1 -0
- package/dist/goal-runs.d.ts +82 -0
- package/dist/goal-runs.d.ts.map +1 -0
- package/dist/goal-runs.js +120 -0
- package/dist/goal-runs.js.map +1 -0
- package/dist/goal-store.d.ts +146 -0
- package/dist/goal-store.d.ts.map +1 -0
- package/dist/goal-store.js +294 -0
- package/dist/goal-store.js.map +1 -0
- package/dist/goal-view.d.ts +156 -0
- package/dist/goal-view.d.ts.map +1 -0
- package/dist/goal-view.js +499 -0
- package/dist/goal-view.js.map +1 -0
- package/dist/governed-approvals.d.ts +152 -0
- package/dist/governed-approvals.d.ts.map +1 -0
- package/dist/governed-approvals.js +246 -0
- package/dist/governed-approvals.js.map +1 -0
- package/dist/governed-broker.d.ts +169 -0
- package/dist/governed-broker.d.ts.map +1 -0
- package/dist/governed-broker.js +196 -0
- package/dist/governed-broker.js.map +1 -0
- package/dist/governed-run.d.ts +220 -0
- package/dist/governed-run.d.ts.map +1 -0
- package/dist/governed-run.js +406 -0
- package/dist/governed-run.js.map +1 -0
- package/dist/grant-reconcile.d.ts +63 -0
- package/dist/grant-reconcile.d.ts.map +1 -0
- package/dist/grant-reconcile.js +121 -0
- package/dist/grant-reconcile.js.map +1 -0
- package/dist/index-for-head.d.ts +56 -0
- package/dist/index-for-head.d.ts.map +1 -0
- package/dist/index-for-head.js +103 -0
- package/dist/index-for-head.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/init-detect.d.ts +39 -0
- package/dist/init-detect.d.ts.map +1 -0
- package/dist/init-detect.js +188 -0
- package/dist/init-detect.js.map +1 -0
- package/dist/integration-deps.d.ts +62 -0
- package/dist/integration-deps.d.ts.map +1 -0
- package/dist/integration-deps.js +251 -0
- package/dist/integration-deps.js.map +1 -0
- package/dist/integration-runtime.d.ts +458 -0
- package/dist/integration-runtime.d.ts.map +1 -0
- package/dist/integration-runtime.js +681 -0
- package/dist/integration-runtime.js.map +1 -0
- package/dist/integration.d.ts +45 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +87 -0
- package/dist/integration.js.map +1 -0
- package/dist/integrator.d.ts +84 -0
- package/dist/integrator.d.ts.map +1 -0
- package/dist/integrator.js +193 -0
- package/dist/integrator.js.map +1 -0
- package/dist/lane-claims.d.ts +174 -0
- package/dist/lane-claims.d.ts.map +1 -0
- package/dist/lane-claims.js +218 -0
- package/dist/lane-claims.js.map +1 -0
- package/dist/lane-coverage.d.ts +87 -0
- package/dist/lane-coverage.d.ts.map +1 -0
- package/dist/lane-coverage.js +129 -0
- package/dist/lane-coverage.js.map +1 -0
- package/dist/ledger-replay.d.ts +115 -0
- package/dist/ledger-replay.d.ts.map +1 -0
- package/dist/ledger-replay.js +155 -0
- package/dist/ledger-replay.js.map +1 -0
- package/dist/ledger-store.d.ts +68 -0
- package/dist/ledger-store.d.ts.map +1 -0
- package/dist/ledger-store.js +111 -0
- package/dist/ledger-store.js.map +1 -0
- package/dist/loop-safety-observer.d.ts +132 -0
- package/dist/loop-safety-observer.d.ts.map +1 -0
- package/dist/loop-safety-observer.js +76 -0
- package/dist/loop-safety-observer.js.map +1 -0
- package/dist/loop-safety-store.d.ts +339 -0
- package/dist/loop-safety-store.d.ts.map +1 -0
- package/dist/loop-safety-store.js +800 -0
- package/dist/loop-safety-store.js.map +1 -0
- package/dist/machine-store.d.ts +54 -0
- package/dist/machine-store.d.ts.map +1 -0
- package/dist/machine-store.js +149 -0
- package/dist/machine-store.js.map +1 -0
- package/dist/mcp-main.d.ts +2 -0
- package/dist/mcp-main.d.ts.map +1 -0
- package/dist/mcp-main.js +116 -0
- package/dist/mcp-main.js.map +1 -0
- package/dist/mcp-server.d.ts +72 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +259 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/model-routing.d.ts +75 -0
- package/dist/model-routing.d.ts.map +1 -0
- package/dist/model-routing.js +108 -0
- package/dist/model-routing.js.map +1 -0
- package/dist/model-transport.d.ts +188 -0
- package/dist/model-transport.d.ts.map +1 -0
- package/dist/model-transport.js +625 -0
- package/dist/model-transport.js.map +1 -0
- package/dist/notify-cadence.d.ts +55 -0
- package/dist/notify-cadence.d.ts.map +1 -0
- package/dist/notify-cadence.js +68 -0
- package/dist/notify-cadence.js.map +1 -0
- package/dist/notify-channel.d.ts +69 -0
- package/dist/notify-channel.d.ts.map +1 -0
- package/dist/notify-channel.js +151 -0
- package/dist/notify-channel.js.map +1 -0
- package/dist/notify.d.ts +71 -0
- package/dist/notify.d.ts.map +1 -0
- package/dist/notify.js +125 -0
- package/dist/notify.js.map +1 -0
- package/dist/observation-inventory.d.ts +65 -0
- package/dist/observation-inventory.d.ts.map +1 -0
- package/dist/observation-inventory.js +139 -0
- package/dist/observation-inventory.js.map +1 -0
- package/dist/owned-children.d.ts +45 -0
- package/dist/owned-children.d.ts.map +1 -0
- package/dist/owned-children.js +64 -0
- package/dist/owned-children.js.map +1 -0
- package/dist/packet-for-goal.d.ts +19 -0
- package/dist/packet-for-goal.d.ts.map +1 -0
- package/dist/packet-for-goal.js +32 -0
- package/dist/packet-for-goal.js.map +1 -0
- package/dist/pair-cmd.d.ts +85 -0
- package/dist/pair-cmd.d.ts.map +1 -0
- package/dist/pair-cmd.js +205 -0
- package/dist/pair-cmd.js.map +1 -0
- package/dist/partial-asker.d.ts +96 -0
- package/dist/partial-asker.d.ts.map +1 -0
- package/dist/partial-asker.js +117 -0
- package/dist/partial-asker.js.map +1 -0
- package/dist/pdf-text-lines.d.ts +17 -0
- package/dist/pdf-text-lines.d.ts.map +1 -0
- package/dist/pdf-text-lines.js +70 -0
- package/dist/pdf-text-lines.js.map +1 -0
- package/dist/pdf-text-worker.d.ts +2 -0
- package/dist/pdf-text-worker.d.ts.map +1 -0
- package/dist/pdf-text-worker.js +81 -0
- package/dist/pdf-text-worker.js.map +1 -0
- package/dist/pdf-text.d.ts +56 -0
- package/dist/pdf-text.d.ts.map +1 -0
- package/dist/pdf-text.js +64 -0
- package/dist/pdf-text.js.map +1 -0
- package/dist/pending-action.d.ts +154 -0
- package/dist/pending-action.d.ts.map +1 -0
- package/dist/pending-action.js +148 -0
- package/dist/pending-action.js.map +1 -0
- package/dist/preemptor.d.ts +40 -0
- package/dist/preemptor.d.ts.map +1 -0
- package/dist/preemptor.js +49 -0
- package/dist/preemptor.js.map +1 -0
- package/dist/programme-mode.d.ts +29 -0
- package/dist/programme-mode.d.ts.map +1 -0
- package/dist/programme-mode.js +50 -0
- package/dist/programme-mode.js.map +1 -0
- package/dist/progress-view.d.ts +14 -0
- package/dist/progress-view.d.ts.map +1 -0
- package/dist/progress-view.js +114 -0
- package/dist/progress-view.js.map +1 -0
- package/dist/project-graph-builder.d.ts +81 -0
- package/dist/project-graph-builder.d.ts.map +1 -0
- package/dist/project-graph-builder.js +246 -0
- package/dist/project-graph-builder.js.map +1 -0
- package/dist/project-graph-runtime.d.ts +86 -0
- package/dist/project-graph-runtime.d.ts.map +1 -0
- package/dist/project-graph-runtime.js +112 -0
- package/dist/project-graph-runtime.js.map +1 -0
- package/dist/project-index-builder.d.ts +96 -0
- package/dist/project-index-builder.d.ts.map +1 -0
- package/dist/project-index-builder.js +298 -0
- package/dist/project-index-builder.js.map +1 -0
- package/dist/project-index-facts.d.ts +51 -0
- package/dist/project-index-facts.d.ts.map +1 -0
- package/dist/project-index-facts.js +117 -0
- package/dist/project-index-facts.js.map +1 -0
- package/dist/project-index-store.d.ts +97 -0
- package/dist/project-index-store.d.ts.map +1 -0
- package/dist/project-index-store.js +140 -0
- package/dist/project-index-store.js.map +1 -0
- package/dist/project-memory-store.d.ts +127 -0
- package/dist/project-memory-store.d.ts.map +1 -0
- package/dist/project-memory-store.js +302 -0
- package/dist/project-memory-store.js.map +1 -0
- package/dist/proposal-store.d.ts +14 -0
- package/dist/proposal-store.d.ts.map +1 -0
- package/dist/proposal-store.js +19 -0
- package/dist/proposal-store.js.map +1 -0
- package/dist/prover.d.ts +80 -0
- package/dist/prover.d.ts.map +1 -0
- package/dist/prover.js +137 -0
- package/dist/prover.js.map +1 -0
- package/dist/provider-identity-store.d.ts +34 -0
- package/dist/provider-identity-store.d.ts.map +1 -0
- package/dist/provider-identity-store.js +72 -0
- package/dist/provider-identity-store.js.map +1 -0
- package/dist/provider-identity.d.ts +104 -0
- package/dist/provider-identity.d.ts.map +1 -0
- package/dist/provider-identity.js +167 -0
- package/dist/provider-identity.js.map +1 -0
- package/dist/provider-limit.d.ts +79 -0
- package/dist/provider-limit.d.ts.map +1 -0
- package/dist/provider-limit.js +148 -0
- package/dist/provider-limit.js.map +1 -0
- package/dist/provider-preflight.d.ts +171 -0
- package/dist/provider-preflight.d.ts.map +1 -0
- package/dist/provider-preflight.js +395 -0
- package/dist/provider-preflight.js.map +1 -0
- package/dist/provider-state.d.ts +120 -0
- package/dist/provider-state.d.ts.map +1 -0
- package/dist/provider-state.js +182 -0
- package/dist/provider-state.js.map +1 -0
- package/dist/providers.d.ts +132 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +161 -0
- package/dist/providers.js.map +1 -0
- package/dist/publication-recorder.d.ts +117 -0
- package/dist/publication-recorder.d.ts.map +1 -0
- package/dist/publication-recorder.js +124 -0
- package/dist/publication-recorder.js.map +1 -0
- package/dist/pursuit-delivery.d.ts +24 -0
- package/dist/pursuit-delivery.d.ts.map +1 -0
- package/dist/pursuit-delivery.js +38 -0
- package/dist/pursuit-delivery.js.map +1 -0
- package/dist/queue-store.d.ts +132 -0
- package/dist/queue-store.d.ts.map +1 -0
- package/dist/queue-store.js +185 -0
- package/dist/queue-store.js.map +1 -0
- package/dist/queue-summary.d.ts +14 -0
- package/dist/queue-summary.d.ts.map +1 -0
- package/dist/queue-summary.js +82 -0
- package/dist/queue-summary.js.map +1 -0
- package/dist/queue-view.d.ts +20 -0
- package/dist/queue-view.d.ts.map +1 -0
- package/dist/queue-view.js +163 -0
- package/dist/queue-view.js.map +1 -0
- package/dist/queue-write-lease.d.ts +106 -0
- package/dist/queue-write-lease.d.ts.map +1 -0
- package/dist/queue-write-lease.js +282 -0
- package/dist/queue-write-lease.js.map +1 -0
- package/dist/rails-home.d.ts +162 -0
- package/dist/rails-home.d.ts.map +1 -0
- package/dist/rails-home.js +452 -0
- package/dist/rails-home.js.map +1 -0
- package/dist/rails-migrations.d.ts +75 -0
- package/dist/rails-migrations.d.ts.map +1 -0
- package/dist/rails-migrations.js +199 -0
- package/dist/rails-migrations.js.map +1 -0
- package/dist/rails-stores.d.ts +49 -0
- package/dist/rails-stores.d.ts.map +1 -0
- package/dist/rails-stores.js +100 -0
- package/dist/rails-stores.js.map +1 -0
- package/dist/reaper.d.ts +69 -0
- package/dist/reaper.d.ts.map +1 -0
- package/dist/reaper.js +152 -0
- package/dist/reaper.js.map +1 -0
- package/dist/record-store.d.ts +36 -0
- package/dist/record-store.d.ts.map +1 -0
- package/dist/record-store.js +78 -0
- package/dist/record-store.js.map +1 -0
- package/dist/recovery-io.d.ts +50 -0
- package/dist/recovery-io.d.ts.map +1 -0
- package/dist/recovery-io.js +122 -0
- package/dist/recovery-io.js.map +1 -0
- package/dist/recovery.d.ts +146 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +110 -0
- package/dist/recovery.js.map +1 -0
- package/dist/redraw.d.ts +34 -0
- package/dist/redraw.d.ts.map +1 -0
- package/dist/redraw.js +62 -0
- package/dist/redraw.js.map +1 -0
- package/dist/rejected-evidence.d.ts +255 -0
- package/dist/rejected-evidence.d.ts.map +1 -0
- package/dist/rejected-evidence.js +324 -0
- package/dist/rejected-evidence.js.map +1 -0
- package/dist/report-cmd.d.ts +32 -0
- package/dist/report-cmd.d.ts.map +1 -0
- package/dist/report-cmd.js +201 -0
- package/dist/report-cmd.js.map +1 -0
- package/dist/repos-cmd.d.ts +80 -0
- package/dist/repos-cmd.d.ts.map +1 -0
- package/dist/repos-cmd.js +240 -0
- package/dist/repos-cmd.js.map +1 -0
- package/dist/request-body-shape.d.ts +93 -0
- package/dist/request-body-shape.d.ts.map +1 -0
- package/dist/request-body-shape.js +407 -0
- package/dist/request-body-shape.js.map +1 -0
- package/dist/requirement-claims.d.ts +89 -0
- package/dist/requirement-claims.d.ts.map +1 -0
- package/dist/requirement-claims.js +92 -0
- package/dist/requirement-claims.js.map +1 -0
- package/dist/retention-apply-runtime.d.ts +105 -0
- package/dist/retention-apply-runtime.d.ts.map +1 -0
- package/dist/retention-apply-runtime.js +269 -0
- package/dist/retention-apply-runtime.js.map +1 -0
- package/dist/reverify.d.ts +41 -0
- package/dist/reverify.d.ts.map +1 -0
- package/dist/reverify.js +69 -0
- package/dist/reverify.js.map +1 -0
- package/dist/round-records.d.ts +65 -0
- package/dist/round-records.d.ts.map +1 -0
- package/dist/round-records.js +61 -0
- package/dist/round-records.js.map +1 -0
- package/dist/round-runner.d.ts +924 -0
- package/dist/round-runner.d.ts.map +1 -0
- package/dist/round-runner.js +1693 -0
- package/dist/round-runner.js.map +1 -0
- package/dist/run-approval.d.ts +180 -0
- package/dist/run-approval.d.ts.map +1 -0
- package/dist/run-approval.js +199 -0
- package/dist/run-approval.js.map +1 -0
- package/dist/run-cmd.d.ts +359 -0
- package/dist/run-cmd.d.ts.map +1 -0
- package/dist/run-cmd.js +4418 -0
- package/dist/run-cmd.js.map +1 -0
- package/dist/run-delivery.d.ts +71 -0
- package/dist/run-delivery.d.ts.map +1 -0
- package/dist/run-delivery.js +104 -0
- package/dist/run-delivery.js.map +1 -0
- package/dist/run-ended.d.ts +75 -0
- package/dist/run-ended.d.ts.map +1 -0
- package/dist/run-ended.js +27 -0
- package/dist/run-ended.js.map +1 -0
- package/dist/run-ending-locator.d.ts +125 -0
- package/dist/run-ending-locator.d.ts.map +1 -0
- package/dist/run-ending-locator.js +133 -0
- package/dist/run-ending-locator.js.map +1 -0
- package/dist/run-launcher.d.ts +459 -0
- package/dist/run-launcher.d.ts.map +1 -0
- package/dist/run-launcher.js +652 -0
- package/dist/run-launcher.js.map +1 -0
- package/dist/run-lease.d.ts +208 -0
- package/dist/run-lease.d.ts.map +1 -0
- package/dist/run-lease.js +301 -0
- package/dist/run-lease.js.map +1 -0
- package/dist/run-refusal-marks.d.ts +189 -0
- package/dist/run-refusal-marks.d.ts.map +1 -0
- package/dist/run-refusal-marks.js +249 -0
- package/dist/run-refusal-marks.js.map +1 -0
- package/dist/run-start-marks.d.ts +153 -0
- package/dist/run-start-marks.d.ts.map +1 -0
- package/dist/run-start-marks.js +269 -0
- package/dist/run-start-marks.js.map +1 -0
- package/dist/scan-cmd.d.ts +14 -0
- package/dist/scan-cmd.d.ts.map +1 -0
- package/dist/scan-cmd.js +270 -0
- package/dist/scan-cmd.js.map +1 -0
- package/dist/scan-events.d.ts +50 -0
- package/dist/scan-events.d.ts.map +1 -0
- package/dist/scan-events.js +91 -0
- package/dist/scan-events.js.map +1 -0
- package/dist/scan.d.ts +191 -0
- package/dist/scan.d.ts.map +1 -0
- package/dist/scan.js +417 -0
- package/dist/scan.js.map +1 -0
- package/dist/scope-rule.d.ts +148 -0
- package/dist/scope-rule.d.ts.map +1 -0
- package/dist/scope-rule.js +121 -0
- package/dist/scope-rule.js.map +1 -0
- package/dist/self-repo-id.d.ts +18 -0
- package/dist/self-repo-id.d.ts.map +1 -0
- package/dist/self-repo-id.js +70 -0
- package/dist/self-repo-id.js.map +1 -0
- package/dist/server-client.d.ts +766 -0
- package/dist/server-client.d.ts.map +1 -0
- package/dist/server-client.js +475 -0
- package/dist/server-client.js.map +1 -0
- package/dist/session-adapter-runtime.d.ts +195 -0
- package/dist/session-adapter-runtime.d.ts.map +1 -0
- package/dist/session-adapter-runtime.js +373 -0
- package/dist/session-adapter-runtime.js.map +1 -0
- package/dist/session-checkpoint-runtime.d.ts +62 -0
- package/dist/session-checkpoint-runtime.d.ts.map +1 -0
- package/dist/session-checkpoint-runtime.js +268 -0
- package/dist/session-checkpoint-runtime.js.map +1 -0
- package/dist/session-control-transport.d.ts +106 -0
- package/dist/session-control-transport.d.ts.map +1 -0
- package/dist/session-control-transport.js +232 -0
- package/dist/session-control-transport.js.map +1 -0
- package/dist/session-observation-store.d.ts +98 -0
- package/dist/session-observation-store.d.ts.map +1 -0
- package/dist/session-observation-store.js +155 -0
- package/dist/session-observation-store.js.map +1 -0
- package/dist/session-observe-runtime.d.ts +123 -0
- package/dist/session-observe-runtime.d.ts.map +1 -0
- package/dist/session-observe-runtime.js +317 -0
- package/dist/session-observe-runtime.js.map +1 -0
- package/dist/session-store.d.ts +98 -0
- package/dist/session-store.d.ts.map +1 -0
- package/dist/session-store.js +116 -0
- package/dist/session-store.js.map +1 -0
- package/dist/sessions-cmd.d.ts +202 -0
- package/dist/sessions-cmd.d.ts.map +1 -0
- package/dist/sessions-cmd.js +609 -0
- package/dist/sessions-cmd.js.map +1 -0
- package/dist/settings-overlay.d.ts +53 -0
- package/dist/settings-overlay.d.ts.map +1 -0
- package/dist/settings-overlay.js +175 -0
- package/dist/settings-overlay.js.map +1 -0
- package/dist/setup-prompt.d.ts +34 -0
- package/dist/setup-prompt.d.ts.map +1 -0
- package/dist/setup-prompt.js +92 -0
- package/dist/setup-prompt.js.map +1 -0
- package/dist/setup.d.ts +103 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +283 -0
- package/dist/setup.js.map +1 -0
- package/dist/shared-grants.d.ts +164 -0
- package/dist/shared-grants.d.ts.map +1 -0
- package/dist/shared-grants.js +242 -0
- package/dist/shared-grants.js.map +1 -0
- package/dist/signals.d.ts +55 -0
- package/dist/signals.d.ts.map +1 -0
- package/dist/signals.js +85 -0
- package/dist/signals.js.map +1 -0
- package/dist/source-cmd.d.ts +201 -0
- package/dist/source-cmd.d.ts.map +1 -0
- package/dist/source-cmd.js +684 -0
- package/dist/source-cmd.js.map +1 -0
- package/dist/source-verdict.d.ts +99 -0
- package/dist/source-verdict.d.ts.map +1 -0
- package/dist/source-verdict.js +182 -0
- package/dist/source-verdict.js.map +1 -0
- package/dist/spend-ledger.d.ts +350 -0
- package/dist/spend-ledger.d.ts.map +1 -0
- package/dist/spend-ledger.js +546 -0
- package/dist/spend-ledger.js.map +1 -0
- package/dist/stale-run-sweep.d.ts +79 -0
- package/dist/stale-run-sweep.d.ts.map +1 -0
- package/dist/stale-run-sweep.js +116 -0
- package/dist/stale-run-sweep.js.map +1 -0
- package/dist/start-attempts.d.ts +385 -0
- package/dist/start-attempts.d.ts.map +1 -0
- package/dist/start-attempts.js +613 -0
- package/dist/start-attempts.js.map +1 -0
- package/dist/status-cmd.d.ts +28 -0
- package/dist/status-cmd.d.ts.map +1 -0
- package/dist/status-cmd.js +116 -0
- package/dist/status-cmd.js.map +1 -0
- package/dist/stop-follow-up.d.ts +107 -0
- package/dist/stop-follow-up.d.ts.map +1 -0
- package/dist/stop-follow-up.js +172 -0
- package/dist/stop-follow-up.js.map +1 -0
- package/dist/surface-lease.d.ts +118 -0
- package/dist/surface-lease.d.ts.map +1 -0
- package/dist/surface-lease.js +485 -0
- package/dist/surface-lease.js.map +1 -0
- package/dist/sync.d.ts +54 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +93 -0
- package/dist/sync.js.map +1 -0
- package/dist/syncing-ledger.d.ts +45 -0
- package/dist/syncing-ledger.d.ts.map +1 -0
- package/dist/syncing-ledger.js +53 -0
- package/dist/syncing-ledger.js.map +1 -0
- package/dist/temp-fixtures.d.ts +68 -0
- package/dist/temp-fixtures.d.ts.map +1 -0
- package/dist/temp-fixtures.js +38 -0
- package/dist/temp-fixtures.js.map +1 -0
- package/dist/token-window.d.ts +84 -0
- package/dist/token-window.d.ts.map +1 -0
- package/dist/token-window.js +143 -0
- package/dist/token-window.js.map +1 -0
- package/dist/tool-bridge.d.ts +177 -0
- package/dist/tool-bridge.d.ts.map +1 -0
- package/dist/tool-bridge.js +329 -0
- package/dist/tool-bridge.js.map +1 -0
- package/dist/tool-call-record.d.ts +197 -0
- package/dist/tool-call-record.d.ts.map +1 -0
- package/dist/tool-call-record.js +276 -0
- package/dist/tool-call-record.js.map +1 -0
- package/dist/tool-protocol.d.ts +135 -0
- package/dist/tool-protocol.d.ts.map +1 -0
- package/dist/tool-protocol.js +104 -0
- package/dist/tool-protocol.js.map +1 -0
- package/dist/tool-worker.d.ts +3 -0
- package/dist/tool-worker.d.ts.map +1 -0
- package/dist/tool-worker.js +478 -0
- package/dist/tool-worker.js.map +1 -0
- package/dist/toolchain-mirror.d.ts +86 -0
- package/dist/toolchain-mirror.d.ts.map +1 -0
- package/dist/toolchain-mirror.js +307 -0
- package/dist/toolchain-mirror.js.map +1 -0
- package/dist/trusted-git.d.ts +243 -0
- package/dist/trusted-git.d.ts.map +1 -0
- package/dist/trusted-git.js +920 -0
- package/dist/trusted-git.js.map +1 -0
- package/dist/ui.d.ts +76 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +118 -0
- package/dist/ui.js.map +1 -0
- package/dist/untrusted-exec.d.ts +275 -0
- package/dist/untrusted-exec.d.ts.map +1 -0
- package/dist/untrusted-exec.js +479 -0
- package/dist/untrusted-exec.js.map +1 -0
- package/dist/untrusted-gate.d.ts +73 -0
- package/dist/untrusted-gate.d.ts.map +1 -0
- package/dist/untrusted-gate.js +226 -0
- package/dist/untrusted-gate.js.map +1 -0
- package/dist/uploader.d.ts +153 -0
- package/dist/uploader.d.ts.map +1 -0
- package/dist/uploader.js +204 -0
- package/dist/uploader.js.map +1 -0
- package/dist/verifier.d.ts +66 -0
- package/dist/verifier.d.ts.map +1 -0
- package/dist/verifier.js +170 -0
- package/dist/verifier.js.map +1 -0
- package/dist/verify-apply.d.ts +26 -0
- package/dist/verify-apply.d.ts.map +1 -0
- package/dist/verify-apply.js +36 -0
- package/dist/verify-apply.js.map +1 -0
- package/dist/verify-cmd.d.ts +44 -0
- package/dist/verify-cmd.d.ts.map +1 -0
- package/dist/verify-cmd.js +125 -0
- package/dist/verify-cmd.js.map +1 -0
- package/dist/verify-pass.d.ts +73 -0
- package/dist/verify-pass.d.ts.map +1 -0
- package/dist/verify-pass.js +103 -0
- package/dist/verify-pass.js.map +1 -0
- package/dist/welcome.d.ts +43 -0
- package/dist/welcome.d.ts.map +1 -0
- package/dist/welcome.js +116 -0
- package/dist/welcome.js.map +1 -0
- package/dist/workspace-provisioner.d.ts +65 -0
- package/dist/workspace-provisioner.d.ts.map +1 -0
- package/dist/workspace-provisioner.js +66 -0
- package/dist/workspace-provisioner.js.map +1 -0
- package/dist/workspace-quarantine.d.ts +64 -0
- package/dist/workspace-quarantine.d.ts.map +1 -0
- package/dist/workspace-quarantine.js +156 -0
- package/dist/workspace-quarantine.js.map +1 -0
- package/dist/workspace-residue-sweep.d.ts +113 -0
- package/dist/workspace-residue-sweep.d.ts.map +1 -0
- package/dist/workspace-residue-sweep.js +158 -0
- package/dist/workspace-residue-sweep.js.map +1 -0
- package/dist/workspace.d.ts +639 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +2026 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +54 -6
- package/win/CredProbe.cs +64 -0
- package/win/FakeClaude.cs +56 -0
- package/win/HandleProbe.cs +116 -0
- package/win/TokenProbe.cs +53 -0
- package/win/appcontainer.ps1 +500 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-cmd.js","sourceRoot":"","sources":["../src/daemon-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE COORDINATOR PER PROJECT, AND THE LOCK THAT WAS NEVER BUILT.
|
|
3
|
+
*
|
|
4
|
+
* 🔴 THE PLAN SAYS "THE DAEMON LOCK FROM PHASE 1 STEP 5 BECOMES LOAD-BEARING
|
|
5
|
+
* HERE". THERE IS NO DAEMON LOCK. `autonomy-store.ts` states the fact in as
|
|
6
|
+
* many words: "Two daemons can run for one project — nothing takes a lock at
|
|
7
|
+
* daemon startup."
|
|
8
|
+
*
|
|
9
|
+
* That was survivable while a daemon only polled and uploaded: two of them
|
|
10
|
+
* duplicated work and wasted a little bandwidth. It stops being survivable the
|
|
11
|
+
* moment one of them SCHEDULES. Two coordinators reading the same Runs at the
|
|
12
|
+
* same tick both see the same idle capacity and both emit `start` for the same
|
|
13
|
+
* goal, and the machine runs a goal twice — against two checkouts, with two
|
|
14
|
+
* agent processes, spending twice — with nothing in either one's log saying the
|
|
15
|
+
* other existed.
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ SO THE COORDINATOR REFUSES TO TICK WITHOUT IT. Not "warns", not "tries
|
|
18
|
+
* harder": the tick simply does not happen, and the daemon says why once.
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ AND AN `ambiguous` LOCK IS A REFUSAL, NEVER A TAKEOVER. A lock file this
|
|
21
|
+
* cannot read, or one from another host, means the answer is unknown — and the
|
|
22
|
+
* cost of guessing wrong is exactly the double-scheduling this exists to
|
|
23
|
+
* prevent. Deny is the direction every rail in this codebase defaults to.
|
|
24
|
+
*/
|
|
25
|
+
export interface DaemonClaim {
|
|
26
|
+
readonly pid: number;
|
|
27
|
+
readonly host: string;
|
|
28
|
+
readonly at: string;
|
|
29
|
+
/**
|
|
30
|
+
* A NONCE, BECAUSE A PID IS NOT AN IDENTITY.
|
|
31
|
+
*
|
|
32
|
+
* 🔴 `claim.pid === self.pid` WAS TREATED AS "THIS IS MY LOCK". Pids are
|
|
33
|
+
* recycled — aggressively so on Windows, where the space is small and reuse
|
|
34
|
+
* is quick — and a fresh daemon that happens to be handed the dead holder's
|
|
35
|
+
* number ADOPTS a lock it never took, then releases a lock it never held.
|
|
36
|
+
* Nothing about the file said which process wrote it.
|
|
37
|
+
*
|
|
38
|
+
* The token is written once, kept in memory, and compared. Two processes
|
|
39
|
+
* cannot agree on a random 128-bit value by accident.
|
|
40
|
+
*/
|
|
41
|
+
readonly token?: string;
|
|
42
|
+
/**
|
|
43
|
+
* WHEN THE HOLDER LAST SAID IT WAS STILL THERE.
|
|
44
|
+
*
|
|
45
|
+
* 🔴 THE OTHER HALF OF THE RECYCLED-PID PROBLEM. A dead holder's number
|
|
46
|
+
* reused by ANY unrelated program answers `alive` to the probe, so the lock
|
|
47
|
+
* reads as held for ever and every `looply daemon` exits 1 on a sentence
|
|
48
|
+
* naming a pid that has nothing to do with looply.
|
|
49
|
+
*
|
|
50
|
+
* A pid probe alone cannot tell a long-running daemon from a recycled
|
|
51
|
+
* number; a heartbeat can. Two witnesses, which is what this codebase asks
|
|
52
|
+
* for everywhere else. Absent on a claim written by an older build, which is
|
|
53
|
+
* read as "cannot judge by heartbeat" and falls back to the probe alone.
|
|
54
|
+
*/
|
|
55
|
+
readonly heartbeatAt?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* How long a claim may go without a heartbeat before its pid is not believed.
|
|
59
|
+
*
|
|
60
|
+
* Generous on purpose: the daemon refreshes on its own cadence, and a machine
|
|
61
|
+
* under load, asleep, or mid-garbage-collection must not lose its lock. What
|
|
62
|
+
* this bounds is how long a RECYCLED pid can impersonate a holder.
|
|
63
|
+
*/
|
|
64
|
+
export declare const DAEMON_HEARTBEAT_STALE_MS: number;
|
|
65
|
+
/**
|
|
66
|
+
* How long an unreadable lock file must sit unchanged before it is litter.
|
|
67
|
+
*
|
|
68
|
+
* 🔴 A ZERO-LENGTH `daemon.lock` USED TO JAM THE PROJECT FOR EVER. `read`
|
|
69
|
+
* answers null, `inspect` answers `ambiguous`, `take` refuses — and after this
|
|
70
|
+
* commit's wiring that stops the ENTIRE daemon rather than only the
|
|
71
|
+
* coordinator. There was no verb, no reaper and no documented path anywhere in
|
|
72
|
+
* the tree that would clear it; the only repair was knowing to delete a file
|
|
73
|
+
* nothing had told you about.
|
|
74
|
+
*
|
|
75
|
+
* ⚠️ AND IT IS A GRACE PERIOD RATHER THAN AN IMMEDIATE SWEEP, because the one
|
|
76
|
+
* thing that legitimately produces an unreadable claim is a torn write — a
|
|
77
|
+
* holder that is mid-`writeFileSync` this instant. Thirty seconds is far past
|
|
78
|
+
* any write and far short of a person's patience.
|
|
79
|
+
*/
|
|
80
|
+
export declare const DAEMON_LOCK_LITTER_MS = 30000;
|
|
81
|
+
export type LockState =
|
|
82
|
+
/** Nobody holds it. */
|
|
83
|
+
{
|
|
84
|
+
readonly kind: 'free';
|
|
85
|
+
}
|
|
86
|
+
/** Held by a process that answers. */
|
|
87
|
+
| {
|
|
88
|
+
readonly kind: 'held';
|
|
89
|
+
readonly claim: DaemonClaim;
|
|
90
|
+
}
|
|
91
|
+
/** Held by this very process. Ticking is allowed. */
|
|
92
|
+
| {
|
|
93
|
+
readonly kind: 'mine';
|
|
94
|
+
readonly claim: DaemonClaim;
|
|
95
|
+
}
|
|
96
|
+
/** Present and not decidable. Refuse; never take over. */
|
|
97
|
+
| {
|
|
98
|
+
readonly kind: 'ambiguous';
|
|
99
|
+
readonly reason: string;
|
|
100
|
+
readonly claim?: DaemonClaim;
|
|
101
|
+
};
|
|
102
|
+
export declare function daemonLockPath(cwd: string): string;
|
|
103
|
+
/** What the lock says right now. Read-only: this takes nothing and clears nothing. */
|
|
104
|
+
export declare function inspectDaemonLock(cwd: string, probe?: (pid: number) => 'alive' | 'dead' | 'unknown', self?: {
|
|
105
|
+
pid: number;
|
|
106
|
+
host: string;
|
|
107
|
+
token?: string;
|
|
108
|
+
}, now?: () => number): LockState;
|
|
109
|
+
export interface DaemonLock {
|
|
110
|
+
/**
|
|
111
|
+
* Say this holder is still here.
|
|
112
|
+
*
|
|
113
|
+
* Returns false when the claim is no longer ours — which is itself the answer
|
|
114
|
+
* a caller needs: something took this project's lock while we held it, and
|
|
115
|
+
* anything we were about to schedule must not be scheduled.
|
|
116
|
+
*/
|
|
117
|
+
refresh(): boolean;
|
|
118
|
+
/** Give it back. Safe to call twice. */
|
|
119
|
+
release(): void;
|
|
120
|
+
}
|
|
121
|
+
export type LockResult = {
|
|
122
|
+
readonly ok: true;
|
|
123
|
+
readonly lock: DaemonLock;
|
|
124
|
+
} | {
|
|
125
|
+
readonly ok: false;
|
|
126
|
+
readonly because: string;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Take the project's coordinator lock, or say why not.
|
|
130
|
+
*
|
|
131
|
+
* ⚠️ EXCLUSIVE CREATE, AND A DEAD HOLDER'S LOCK IS BROKEN BY CONTENT MATCH —
|
|
132
|
+
* the discipline Phase 1 settled on after measuring what removing a token by
|
|
133
|
+
* PATH does: a process that had already lost its claim deleted the winner's,
|
|
134
|
+
* and four processes then held one lock.
|
|
135
|
+
*/
|
|
136
|
+
export declare function takeDaemonLock(cwd: string, probe?: (pid: number) => 'alive' | 'dead' | 'unknown', self?: {
|
|
137
|
+
pid: number;
|
|
138
|
+
host: string;
|
|
139
|
+
}, now?: () => number): LockResult;
|
|
140
|
+
//# sourceMappingURL=daemon-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-lock.d.ts","sourceRoot":"","sources":["../src/daemon-lock.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C,MAAM,MAAM,SAAS;AACnB,uBAAuB;AACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3B,sCAAsC;GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE;AACxD,qDAAqD;GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE;AACxD,0DAA0D;GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1F,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAgCD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAqB,EAChE,IAAI,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAA2C,EAC5F,GAAG,GAAE,MAAM,MAAyB,GACnC,SAAS,CA2DX;AAED,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC;IACnB,wCAAwC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAqB,EAChE,IAAI,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAA2C,EAC5E,GAAG,GAAE,MAAM,MAAyB,GACnC,UAAU,CAyGZ"}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DAEMON_LOCK_LITTER_MS = exports.DAEMON_HEARTBEAT_STALE_MS = void 0;
|
|
4
|
+
exports.daemonLockPath = daemonLockPath;
|
|
5
|
+
exports.inspectDaemonLock = inspectDaemonLock;
|
|
6
|
+
exports.takeDaemonLock = takeDaemonLock;
|
|
7
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_os_1 = require("node:os");
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
11
|
+
const git_driver_1 = require("./git-driver");
|
|
12
|
+
const run_lease_1 = require("./run-lease");
|
|
13
|
+
/**
|
|
14
|
+
* How long a claim may go without a heartbeat before its pid is not believed.
|
|
15
|
+
*
|
|
16
|
+
* Generous on purpose: the daemon refreshes on its own cadence, and a machine
|
|
17
|
+
* under load, asleep, or mid-garbage-collection must not lose its lock. What
|
|
18
|
+
* this bounds is how long a RECYCLED pid can impersonate a holder.
|
|
19
|
+
*/
|
|
20
|
+
exports.DAEMON_HEARTBEAT_STALE_MS = 10 * 60 * 1000;
|
|
21
|
+
/**
|
|
22
|
+
* How long an unreadable lock file must sit unchanged before it is litter.
|
|
23
|
+
*
|
|
24
|
+
* 🔴 A ZERO-LENGTH `daemon.lock` USED TO JAM THE PROJECT FOR EVER. `read`
|
|
25
|
+
* answers null, `inspect` answers `ambiguous`, `take` refuses — and after this
|
|
26
|
+
* commit's wiring that stops the ENTIRE daemon rather than only the
|
|
27
|
+
* coordinator. There was no verb, no reaper and no documented path anywhere in
|
|
28
|
+
* the tree that would clear it; the only repair was knowing to delete a file
|
|
29
|
+
* nothing had told you about.
|
|
30
|
+
*
|
|
31
|
+
* ⚠️ AND IT IS A GRACE PERIOD RATHER THAN AN IMMEDIATE SWEEP, because the one
|
|
32
|
+
* thing that legitimately produces an unreadable claim is a torn write — a
|
|
33
|
+
* holder that is mid-`writeFileSync` this instant. Thirty seconds is far past
|
|
34
|
+
* any write and far short of a person's patience.
|
|
35
|
+
*/
|
|
36
|
+
exports.DAEMON_LOCK_LITTER_MS = 30_000;
|
|
37
|
+
function daemonLockPath(cwd) {
|
|
38
|
+
return (0, node_path_1.join)((0, git_driver_1.projectStateDir)(cwd), 'daemon.lock');
|
|
39
|
+
}
|
|
40
|
+
function read(path) {
|
|
41
|
+
try {
|
|
42
|
+
const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
|
|
43
|
+
if (typeof parsed.pid !== 'number' || !Number.isInteger(parsed.pid))
|
|
44
|
+
return null;
|
|
45
|
+
if (typeof parsed.host !== 'string' || parsed.host === '')
|
|
46
|
+
return null;
|
|
47
|
+
return {
|
|
48
|
+
pid: parsed.pid,
|
|
49
|
+
host: parsed.host,
|
|
50
|
+
at: typeof parsed.at === 'string' ? parsed.at : '',
|
|
51
|
+
...(typeof parsed.token === 'string' ? { token: parsed.token } : {}),
|
|
52
|
+
...(typeof parsed.heartbeatAt === 'string' ? { heartbeatAt: parsed.heartbeatAt } : {}),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Has this claim gone quiet for longer than a live daemon ever would?
|
|
61
|
+
*
|
|
62
|
+
* A claim with no `heartbeatAt` at all — an older build's — is never judged
|
|
63
|
+
* stale by this, so the probe stays the only witness for it and the behaviour
|
|
64
|
+
* is exactly what it was.
|
|
65
|
+
*/
|
|
66
|
+
function heartbeatStale(claim, now) {
|
|
67
|
+
const beat = Date.parse(claim.heartbeatAt ?? claim.at);
|
|
68
|
+
if (!Number.isFinite(beat))
|
|
69
|
+
return false;
|
|
70
|
+
return now - beat > exports.DAEMON_HEARTBEAT_STALE_MS;
|
|
71
|
+
}
|
|
72
|
+
/** What the lock says right now. Read-only: this takes nothing and clears nothing. */
|
|
73
|
+
function inspectDaemonLock(cwd, probe = run_lease_1.nodeProbe, self = { pid: process.pid, host: (0, node_os_1.hostname)() }, now = () => Date.now()) {
|
|
74
|
+
const path = daemonLockPath(cwd);
|
|
75
|
+
if (!(0, node_fs_1.existsSync)(path))
|
|
76
|
+
return { kind: 'free' };
|
|
77
|
+
const claim = read(path);
|
|
78
|
+
if (claim === null) {
|
|
79
|
+
/**
|
|
80
|
+
* 🔴 AND IT SAYS HOW TO REPAIR IT. An unreadable claim is still a refusal —
|
|
81
|
+
* the one thing that legitimately produces one is a holder mid-write — but
|
|
82
|
+
* a person meeting this used to be told only that the file was unreadable,
|
|
83
|
+
* with nothing in the tree that would ever clear it. `takeDaemonLock`
|
|
84
|
+
* sweeps it once it has sat unchanged past the litter grace; until then
|
|
85
|
+
* the sentence names the file.
|
|
86
|
+
*/
|
|
87
|
+
return {
|
|
88
|
+
kind: 'ambiguous',
|
|
89
|
+
reason: `${path} is not a readable daemon claim. If no daemon is running for this project, ` +
|
|
90
|
+
'deleting that file releases it',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (claim.host !== self.host) {
|
|
94
|
+
/**
|
|
95
|
+
* ⚠️ A PID MEANS NOTHING ACROSS MACHINES. The project state directory can be
|
|
96
|
+
* on a network share, and probing a foreign pid answers about a LOCAL
|
|
97
|
+
* process that happens to share the number.
|
|
98
|
+
*/
|
|
99
|
+
return { kind: 'ambiguous', reason: `it is held by ${claim.host}, and this machine is ${self.host}`, claim };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 🔴 THE TOKEN, NOT THE PID. `claim.pid === self.pid` meant a fresh daemon
|
|
103
|
+
* handed a dead holder's recycled number ADOPTED a lock it never took — and
|
|
104
|
+
* would then release a lock it never held. Pids are recycled, quickly, and
|
|
105
|
+
* nothing about the file said which process wrote it.
|
|
106
|
+
*
|
|
107
|
+
* ⚠️ A TOKENLESS CLAIM FALLS BACK TO THE PID, so a lock written by an older
|
|
108
|
+
* build is still recognised by the process that wrote it rather than being
|
|
109
|
+
* orphaned by an upgrade.
|
|
110
|
+
*/
|
|
111
|
+
const isMine = claim.token !== undefined && self.token !== undefined
|
|
112
|
+
? claim.token === self.token
|
|
113
|
+
: claim.pid === self.pid;
|
|
114
|
+
if (isMine)
|
|
115
|
+
return { kind: 'mine', claim };
|
|
116
|
+
const liveness = probe(claim.pid);
|
|
117
|
+
if (liveness === 'alive') {
|
|
118
|
+
/**
|
|
119
|
+
* 🔴 ALIVE IS NOT ENOUGH. A recycled pid belonging to any unrelated program
|
|
120
|
+
* answers `alive`, so the lock read as held for ever and every `looply
|
|
121
|
+
* daemon` exited 1 naming a pid that has nothing to do with looply. A live
|
|
122
|
+
* daemon refreshes its claim; one that has not in ten minutes is not a
|
|
123
|
+
* daemon.
|
|
124
|
+
*/
|
|
125
|
+
if (heartbeatStale(claim, now())) {
|
|
126
|
+
return { kind: 'free' };
|
|
127
|
+
}
|
|
128
|
+
return { kind: 'held', claim };
|
|
129
|
+
}
|
|
130
|
+
if (liveness === 'dead')
|
|
131
|
+
return { kind: 'free' };
|
|
132
|
+
return { kind: 'ambiguous', reason: `pid ${claim.pid} could not be judged alive or dead`, claim };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Take the project's coordinator lock, or say why not.
|
|
136
|
+
*
|
|
137
|
+
* ⚠️ EXCLUSIVE CREATE, AND A DEAD HOLDER'S LOCK IS BROKEN BY CONTENT MATCH —
|
|
138
|
+
* the discipline Phase 1 settled on after measuring what removing a token by
|
|
139
|
+
* PATH does: a process that had already lost its claim deleted the winner's,
|
|
140
|
+
* and four processes then held one lock.
|
|
141
|
+
*/
|
|
142
|
+
function takeDaemonLock(cwd, probe = run_lease_1.nodeProbe, self = { pid: process.pid, host: (0, node_os_1.hostname)() }, now = () => Date.now()) {
|
|
143
|
+
const path = daemonLockPath(cwd);
|
|
144
|
+
/**
|
|
145
|
+
* A nonce this process keeps in memory. See `DaemonClaim.token`: it is what
|
|
146
|
+
* makes "is this my lock" a question about THIS PROCESS rather than about a
|
|
147
|
+
* number the operating system may hand to somebody else in a minute.
|
|
148
|
+
*/
|
|
149
|
+
const token = (0, node_crypto_1.randomUUID)();
|
|
150
|
+
const me = { pid: self.pid, host: self.host, token };
|
|
151
|
+
const stamp = new Date(now()).toISOString();
|
|
152
|
+
const mine = `${JSON.stringify({ pid: self.pid, host: self.host, at: stamp, token, heartbeatAt: stamp }, null, 2)}\n`;
|
|
153
|
+
const claim = () => {
|
|
154
|
+
try {
|
|
155
|
+
(0, node_fs_1.mkdirSync)((0, git_driver_1.projectStateDir)(cwd), { recursive: true });
|
|
156
|
+
(0, node_fs_1.writeFileSync)(path, mine, { encoding: 'utf8', flag: 'wx' });
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
const code = e.code;
|
|
161
|
+
// Windows answers EPERM rather than EEXIST against a pending-delete file.
|
|
162
|
+
if (code === 'EEXIST' || code === 'EPERM')
|
|
163
|
+
return false;
|
|
164
|
+
throw e;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
if (!claim()) {
|
|
168
|
+
const state = inspectDaemonLock(cwd, probe, me, now);
|
|
169
|
+
if (state.kind === 'mine')
|
|
170
|
+
return { ok: true, lock: lockHandle(path, mine, me, now) };
|
|
171
|
+
if (state.kind === 'held') {
|
|
172
|
+
return {
|
|
173
|
+
ok: false,
|
|
174
|
+
because: `another daemon is coordinating this project (pid ${state.claim.pid} on ${state.claim.host}, ` +
|
|
175
|
+
`since ${state.claim.at}). Two coordinators would schedule the same goal twice`,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
if (state.kind === 'ambiguous') {
|
|
179
|
+
/**
|
|
180
|
+
* 🔴 LITTER IS SWEPT, ONCE IT HAS PROVED ITSELF LITTER.
|
|
181
|
+
*
|
|
182
|
+
* An unreadable claim jammed the project for ever: `read` answers null,
|
|
183
|
+
* `inspect` answers ambiguous, this refuses, and after the coordinator
|
|
184
|
+
* wiring that stops the ENTIRE daemon rather than only the scheduler.
|
|
185
|
+
* Nothing in the tree would ever clear it.
|
|
186
|
+
*
|
|
187
|
+
* ⚠️ BY CONTENT MATCH AND AFTER A GRACE PERIOD, never on sight. The one
|
|
188
|
+
* thing that legitimately produces an unreadable claim is a holder
|
|
189
|
+
* mid-write, so the file must be seen to be BOTH old and unchanged: read
|
|
190
|
+
* the bytes, wait for the grace to have elapsed since its mtime, then
|
|
191
|
+
* remove only if the bytes are still those bytes.
|
|
192
|
+
*/
|
|
193
|
+
/**
|
|
194
|
+
* 🔴 A READABLE CLAIM IS NOT LITTER, WHOEVER WROTE IT — AND THIS
|
|
195
|
+
* BRANCH USED TO SWEEP ONE.
|
|
196
|
+
*
|
|
197
|
+
* `ambiguous` covers two unlike things: a claim nobody can READ, and a
|
|
198
|
+
* claim nobody can PROBE (a foreign host, a pid the OS will not answer
|
|
199
|
+
* about). Only the first is litter. The second is a lock somebody may
|
|
200
|
+
* well be holding, and it arrives here with its own evidence attached.
|
|
201
|
+
*
|
|
202
|
+
* MEASURED: a readable, freshly-heartbeated claim from another machine,
|
|
203
|
+
* whose FILE was older than the 30-second litter grace — which is the
|
|
204
|
+
* ordinary state of any daemon that heartbeats less often than that —
|
|
205
|
+
* was deleted and taken. Two coordinators over one project, produced by
|
|
206
|
+
* the mechanism written to prevent exactly that.
|
|
207
|
+
*
|
|
208
|
+
* So a readable claim is judged by the only witness that crosses
|
|
209
|
+
* machines: its heartbeat. Fresh means held. Stale past the horizon means
|
|
210
|
+
* the same thing it means for a dead local holder — breakable, by
|
|
211
|
+
* content match, so a claim rewritten in the meantime is left alone.
|
|
212
|
+
*/
|
|
213
|
+
if (state.claim !== undefined) {
|
|
214
|
+
if (!heartbeatStale(state.claim, now())) {
|
|
215
|
+
return {
|
|
216
|
+
ok: false,
|
|
217
|
+
because: `another daemon is coordinating this project (pid ${state.claim.pid} on ${state.claim.host}, ` +
|
|
218
|
+
`since ${state.claim.at}), and this machine cannot probe it: ${state.reason}`,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
if (breakByContent(path) && claim()) {
|
|
222
|
+
return { ok: true, lock: lockHandle(path, mine, me, now) };
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
ok: false,
|
|
226
|
+
because: `another daemon's claim on this project has not been refreshed since ` +
|
|
227
|
+
`${state.claim.heartbeatAt ?? state.claim.at}, and it could not be cleared. ${path} is the file`,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const swept = sweepLitter(path, now());
|
|
231
|
+
if (swept && claim())
|
|
232
|
+
return { ok: true, lock: lockHandle(path, mine, me, now) };
|
|
233
|
+
return {
|
|
234
|
+
ok: false,
|
|
235
|
+
because: `cannot tell whether another daemon is coordinating this project: ${state.reason}. ${path} is the file`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
// 'free' means the holder was judged dead. Break it by content match.
|
|
239
|
+
breakByContent(path);
|
|
240
|
+
if (!claim()) {
|
|
241
|
+
return { ok: false, because: 'another daemon took this project’s coordinator lock first' };
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return { ok: true, lock: lockHandle(path, mine, me, now) };
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Remove a claim ONLY IF ITS BYTES HAVE NOT CHANGED since we read them.
|
|
248
|
+
*
|
|
249
|
+
* ⚠️ BY CONTENT, NEVER BY PATH — the discipline Phase 1 settled on after
|
|
250
|
+
* measuring what removing a token by path does: a process that had already lost
|
|
251
|
+
* its claim deleted the winner's, and four processes then held one lock.
|
|
252
|
+
* Returns whether the file is gone.
|
|
253
|
+
*/
|
|
254
|
+
function breakByContent(path) {
|
|
255
|
+
let raw;
|
|
256
|
+
try {
|
|
257
|
+
raw = (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
// Already gone, or unreadable: either way this process did not clear it.
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
try {
|
|
264
|
+
if ((0, node_fs_1.readFileSync)(path, 'utf8') !== raw)
|
|
265
|
+
return false;
|
|
266
|
+
(0, node_fs_1.unlinkSync)(path);
|
|
267
|
+
return true;
|
|
268
|
+
}
|
|
269
|
+
catch {
|
|
270
|
+
/* somebody else got there */
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Remove an unreadable lock file, but only once it has proved itself litter.
|
|
276
|
+
*
|
|
277
|
+
* Returns whether it was removed. See the ambiguous branch above for why this
|
|
278
|
+
* is a grace period rather than a sweep on sight.
|
|
279
|
+
*/
|
|
280
|
+
function sweepLitter(path, now) {
|
|
281
|
+
let raw;
|
|
282
|
+
let age;
|
|
283
|
+
try {
|
|
284
|
+
raw = (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
285
|
+
age = now - (0, node_fs_1.statSync)(path).mtimeMs;
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
if (!Number.isFinite(age) || age < exports.DAEMON_LOCK_LITTER_MS)
|
|
291
|
+
return false;
|
|
292
|
+
try {
|
|
293
|
+
// The bytes have not changed since we read them, so nobody is writing it.
|
|
294
|
+
if ((0, node_fs_1.readFileSync)(path, 'utf8') !== raw)
|
|
295
|
+
return false;
|
|
296
|
+
(0, node_fs_1.unlinkSync)(path);
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* The handle a holder keeps.
|
|
305
|
+
*
|
|
306
|
+
* 🔴 `refresh` EXISTS BECAUSE `alive` IS NOT ENOUGH. A recycled pid answers the
|
|
307
|
+
* probe, so without a heartbeat a dead holder's number holds the project for
|
|
308
|
+
* ever — see `DaemonClaim.heartbeatAt`. The daemon calls this on its cadence;
|
|
309
|
+
* a caller that never does keeps exactly the old behaviour for as long as its
|
|
310
|
+
* own pid answers, and loses the lock after the stale window if it does not.
|
|
311
|
+
*
|
|
312
|
+
* ⚠️ AND BOTH VERBS MATCH ON CONTENT. Phase 1 measured what removing a token by
|
|
313
|
+
* PATH costs: a process that had already lost its claim deleted the winner's.
|
|
314
|
+
*/
|
|
315
|
+
function lockHandle(path, mine, me, now) {
|
|
316
|
+
let given = false;
|
|
317
|
+
let current = mine;
|
|
318
|
+
return {
|
|
319
|
+
refresh: () => {
|
|
320
|
+
if (given)
|
|
321
|
+
return false;
|
|
322
|
+
try {
|
|
323
|
+
// Only ours. A claim that is no longer ours must not be stamped: that
|
|
324
|
+
// would be this process refreshing somebody else's hold.
|
|
325
|
+
const onDisk = read(path);
|
|
326
|
+
if (onDisk === null || onDisk.token !== me.token)
|
|
327
|
+
return false;
|
|
328
|
+
const next = `${JSON.stringify({ ...onDisk, heartbeatAt: new Date(now()).toISOString() }, null, 2)}\n`;
|
|
329
|
+
(0, node_fs_1.writeFileSync)(path, next, 'utf8');
|
|
330
|
+
current = next;
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
release: () => {
|
|
338
|
+
if (given)
|
|
339
|
+
return;
|
|
340
|
+
given = true;
|
|
341
|
+
try {
|
|
342
|
+
const onDisk = (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
343
|
+
if (onDisk === current || onDisk === mine)
|
|
344
|
+
(0, node_fs_1.unlinkSync)(path);
|
|
345
|
+
}
|
|
346
|
+
catch {
|
|
347
|
+
/* already gone, or broken by somebody who judged us dead */
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=daemon-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-lock.js","sourceRoot":"","sources":["../src/daemon-lock.ts"],"names":[],"mappings":"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"}
|