@telora/daemon 0.21.26 → 0.21.82
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/build-info.json +4 -3
- package/dist/audit/audit-hooks.d.ts +127 -0
- package/dist/audit/audit-hooks.d.ts.map +1 -0
- package/dist/audit/audit-hooks.js +346 -0
- package/dist/audit/audit-hooks.js.map +1 -0
- package/dist/audit/audit-phase.d.ts +170 -0
- package/dist/audit/audit-phase.d.ts.map +1 -0
- package/dist/audit/audit-phase.js +492 -0
- package/dist/audit/audit-phase.js.map +1 -0
- package/dist/audit/audit-prompt.d.ts.map +1 -0
- package/dist/audit/audit-prompt.js.map +1 -0
- package/dist/audit/audit-shape.d.ts.map +1 -0
- package/dist/audit/audit-shape.js.map +1 -0
- package/dist/backends/agent-backend.d.ts +1 -1
- package/dist/backends/agent-backend.d.ts.map +1 -1
- package/dist/backends/availability.d.ts +1 -1
- package/dist/backends/availability.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +1 -1
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/codex/codex-mcp-proxy.js +1 -1
- package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
- package/dist/backends/codex/mcp-preflight.d.ts +1 -1
- package/dist/backends/codex/mcp-preflight.d.ts.map +1 -1
- package/dist/backends/lacuna/launch-adapter.d.ts +1 -1
- package/dist/backends/lacuna/launch-adapter.d.ts.map +1 -1
- package/dist/backends/lacuna/lifecycle.d.ts +1 -1
- package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
- package/dist/backends/lacuna/lifecycle.js +1 -1
- package/dist/backends/lacuna/lifecycle.js.map +1 -1
- package/dist/backends/lacuna/supervisor.d.ts +1 -1
- package/dist/backends/lacuna/supervisor.d.ts.map +1 -1
- package/dist/backends/lacuna/supervisor.js +2 -2
- package/dist/backends/lacuna/supervisor.js.map +1 -1
- package/dist/backends/resolve.js +2 -2
- package/dist/backends/resolve.js.map +1 -1
- package/dist/ci/ci-escalation.d.ts.map +1 -0
- package/dist/ci/ci-escalation.js +66 -0
- package/dist/ci/ci-escalation.js.map +1 -0
- package/dist/ci/ci-sensor-loop.d.ts +146 -0
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -0
- package/dist/ci/ci-sensor-loop.js +265 -0
- package/dist/ci/ci-sensor-loop.js.map +1 -0
- package/dist/ci/ci-status-git.d.ts +53 -0
- package/dist/ci/ci-status-git.d.ts.map +1 -0
- package/dist/ci/ci-status-git.js +89 -0
- package/dist/ci/ci-status-git.js.map +1 -0
- package/dist/ci/ci-status.d.ts +137 -0
- package/dist/ci/ci-status.d.ts.map +1 -0
- package/dist/ci/ci-status.js.map +1 -0
- package/dist/cli/backfill-frt-prose.d.ts +3 -3
- package/dist/cli/backfill-frt-prose.d.ts.map +1 -1
- package/dist/cli/backfill-frt-prose.js +2 -2
- package/dist/cli/backfill-frt-prose.js.map +1 -1
- package/dist/cli/codex-provision.js +1 -1
- package/dist/cli/codex-provision.js.map +1 -1
- package/dist/cli/connect/cline.js +1 -1
- package/dist/cli/connect/cline.js.map +1 -1
- package/dist/cli/connect/codex.js +1 -1
- package/dist/cli/connect/codex.js.map +1 -1
- package/dist/cli/connect/ide.js +1 -1
- package/dist/cli/connect/ide.js.map +1 -1
- package/dist/cli/connect.js +4 -4
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/open.js +2 -2
- package/dist/cli/open.js.map +1 -1
- package/dist/cli/session-state.d.ts +1 -1
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +4 -4
- package/dist/cli/session-state.js.map +1 -1
- package/dist/cli/verify-setup-config.d.ts +1 -1
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup.js +2 -2
- package/dist/cli/verify-setup.js.map +1 -1
- package/dist/completion/advanceability.d.ts +1 -1
- package/dist/completion/advanceability.d.ts.map +1 -1
- package/dist/completion/advanceability.js +2 -2
- package/dist/completion/advanceability.js.map +1 -1
- package/dist/completion/delivery-advancement-guard.d.ts +20 -2
- package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
- package/dist/completion/delivery-advancement-guard.js +32 -4
- package/dist/completion/delivery-advancement-guard.js.map +1 -1
- package/dist/completion/detector.d.ts +9 -3
- package/dist/completion/detector.d.ts.map +1 -1
- package/dist/completion/detector.js +26 -4
- package/dist/completion/detector.js.map +1 -1
- package/dist/completion/escalation-provenance.d.ts +78 -0
- package/dist/completion/escalation-provenance.d.ts.map +1 -0
- package/dist/completion/escalation-provenance.js +206 -0
- package/dist/completion/escalation-provenance.js.map +1 -0
- package/dist/completion/escalations.d.ts +85 -0
- package/dist/completion/escalations.d.ts.map +1 -0
- package/dist/completion/escalations.js +91 -0
- package/dist/completion/escalations.js.map +1 -0
- package/dist/completion/event-entry-phases.d.ts +1 -1
- package/dist/completion/event-entry-phases.d.ts.map +1 -1
- package/dist/completion/event-entry-phases.js +3 -3
- package/dist/completion/event-entry-phases.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +1 -1
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +1 -1
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts +44 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +165 -13
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +20 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +7 -4
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/exit-classification.d.ts +1 -1
- package/dist/completion/exit-classification.d.ts.map +1 -1
- package/dist/completion/merge-phase.d.ts +21 -7
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +14 -11
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/progress-snapshot.d.ts +1 -1
- package/dist/completion/progress-snapshot.d.ts.map +1 -1
- package/dist/completion/read-only-pristine.d.ts +1 -1
- package/dist/completion/read-only-pristine.d.ts.map +1 -1
- package/dist/completion/read-only-pristine.js +2 -2
- package/dist/completion/read-only-pristine.js.map +1 -1
- package/dist/completion/review-defect-detector.d.ts +82 -0
- package/dist/completion/review-defect-detector.d.ts.map +1 -0
- package/dist/completion/review-defect-detector.js +148 -0
- package/dist/completion/review-defect-detector.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +1 -1
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +1 -1
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +4 -3
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +10 -9
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-shortfall.d.ts +1 -1
- package/dist/completion/review-exit-shortfall.d.ts.map +1 -1
- package/dist/completion/review-exit-shortfall.js +1 -1
- package/dist/completion/review-exit-shortfall.js.map +1 -1
- package/dist/completion/review-spawn-coverage-guard.d.ts.map +1 -0
- package/dist/completion/review-spawn-coverage-guard.js.map +1 -0
- package/dist/completion/state-cascade.d.ts +90 -0
- package/dist/completion/state-cascade.d.ts.map +1 -0
- package/dist/completion/state-cascade.js +230 -0
- package/dist/completion/state-cascade.js.map +1 -0
- package/dist/completion/status-advance-phase.d.ts +4 -4
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +9 -7
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-completion.d.ts +2 -2
- package/dist/completion/team-completion.d.ts.map +1 -1
- package/dist/completion/team-completion.js +15 -9
- package/dist/completion/team-completion.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +10 -11
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/terminated-work-reconcile.d.ts +2 -2
- package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
- package/dist/completion/terminated-work-reconcile.js +5 -4
- package/dist/completion/terminated-work-reconcile.js.map +1 -1
- package/dist/context/context-audit.d.ts +68 -0
- package/dist/context/context-audit.d.ts.map +1 -0
- package/dist/context/context-audit.js.map +1 -0
- package/dist/context/context-lock.d.ts +129 -0
- package/dist/context/context-lock.d.ts.map +1 -0
- package/dist/context/context-lock.js.map +1 -0
- package/dist/delivery/delivery-advance-block.d.ts +143 -0
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -0
- package/dist/delivery/delivery-advance-block.js +360 -0
- package/dist/delivery/delivery-advance-block.js.map +1 -0
- package/dist/delivery/delivery-artifacts.d.ts +26 -0
- package/dist/delivery/delivery-artifacts.d.ts.map +1 -0
- package/dist/delivery/delivery-artifacts.js +56 -0
- package/dist/delivery/delivery-artifacts.js.map +1 -0
- package/dist/delivery/delivery-close-actions.d.ts +39 -0
- package/dist/delivery/delivery-close-actions.d.ts.map +1 -0
- package/dist/delivery/delivery-close-actions.js +53 -0
- package/dist/delivery/delivery-close-actions.js.map +1 -0
- package/dist/delivery/delivery-lifecycle.d.ts +144 -0
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -0
- package/dist/delivery/delivery-lifecycle.js +498 -0
- package/dist/delivery/delivery-lifecycle.js.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.js +77 -0
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -0
- package/dist/delivery/delivery-reconciler-shadow.d.ts +66 -0
- package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler-shadow.js +127 -0
- package/dist/delivery/delivery-reconciler-shadow.js.map +1 -0
- package/dist/delivery/delivery-reconciler.d.ts +217 -0
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler.js +249 -0
- package/dist/delivery/delivery-reconciler.js.map +1 -0
- package/dist/delivery/external-hold.d.ts +145 -0
- package/dist/delivery/external-hold.d.ts.map +1 -0
- package/dist/delivery/external-hold.js +223 -0
- package/dist/delivery/external-hold.js.map +1 -0
- package/dist/delivery/operator-hold.d.ts +66 -0
- package/dist/delivery/operator-hold.d.ts.map +1 -0
- package/dist/delivery/operator-hold.js +99 -0
- package/dist/delivery/operator-hold.js.map +1 -0
- package/dist/directive/close-loop-dispatcher.d.ts +325 -0
- package/dist/directive/close-loop-dispatcher.d.ts.map +1 -0
- package/dist/directive/close-loop-dispatcher.js +362 -0
- package/dist/directive/close-loop-dispatcher.js.map +1 -0
- package/dist/directive/close-loop-stage.d.ts +2 -2
- package/dist/directive/close-loop-stage.d.ts.map +1 -1
- package/dist/directive/close-loop-stage.js +3 -3
- package/dist/directive/close-loop-stage.js.map +1 -1
- package/dist/directive/directive-assembly.d.ts +2 -3
- package/dist/directive/directive-assembly.d.ts.map +1 -1
- package/dist/directive/directive-assembly.js +5 -4
- package/dist/directive/directive-assembly.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +2 -2
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +3 -3
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +37 -0
- package/dist/directive/directive-executor.d.ts.map +1 -0
- package/dist/directive/directive-executor.js +241 -0
- package/dist/directive/directive-executor.js.map +1 -0
- package/dist/directive/directive-queue.d.ts +2 -2
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +3 -3
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/resolver-dispatch.d.ts.map +1 -0
- package/dist/directive/resolver-dispatch.js.map +1 -0
- package/dist/discovery-fetch.js +1 -1
- package/dist/discovery-fetch.js.map +1 -1
- package/dist/drift/drift-eval-loop.d.ts +71 -0
- package/dist/drift/drift-eval-loop.d.ts.map +1 -0
- package/dist/drift/drift-eval-loop.js +259 -0
- package/dist/drift/drift-eval-loop.js.map +1 -0
- package/dist/drift/drift-evaluator.d.ts.map +1 -0
- package/dist/drift/drift-evaluator.js.map +1 -0
- package/dist/drift/drift-ratify-policy.d.ts.map +1 -0
- package/dist/drift/drift-ratify-policy.js.map +1 -0
- package/dist/drift/retention-observation.d.ts.map +1 -0
- package/dist/drift/retention-observation.js.map +1 -0
- package/dist/drift/sensor-sweep.d.ts +194 -0
- package/dist/drift/sensor-sweep.d.ts.map +1 -0
- package/dist/drift/sensor-sweep.js +458 -0
- package/dist/drift/sensor-sweep.js.map +1 -0
- package/dist/drift/staleness-sensor.d.ts +176 -0
- package/dist/drift/staleness-sensor.d.ts.map +1 -0
- package/dist/drift/staleness-sensor.js +335 -0
- package/dist/drift/staleness-sensor.js.map +1 -0
- package/dist/drift/staleness.d.ts +134 -0
- package/dist/drift/staleness.d.ts.map +1 -0
- package/dist/drift/staleness.js +249 -0
- package/dist/drift/staleness.js.map +1 -0
- package/dist/focus/focus-branch-ahead.d.ts +42 -0
- package/dist/focus/focus-branch-ahead.d.ts.map +1 -0
- package/dist/focus/focus-branch-ahead.js +45 -0
- package/dist/focus/focus-branch-ahead.js.map +1 -0
- package/dist/focus/focus-branch-identity.d.ts +62 -0
- package/dist/focus/focus-branch-identity.d.ts.map +1 -0
- package/dist/focus/focus-branch-identity.js +59 -0
- package/dist/focus/focus-branch-identity.js.map +1 -0
- package/dist/focus/focus-engine.d.ts +74 -0
- package/dist/focus/focus-engine.d.ts.map +1 -0
- package/dist/focus/focus-engine.js +528 -0
- package/dist/focus/focus-engine.js.map +1 -0
- package/dist/focus/focus-executor.d.ts +79 -0
- package/dist/focus/focus-executor.d.ts.map +1 -0
- package/dist/focus/focus-executor.js +421 -0
- package/dist/focus/focus-executor.js.map +1 -0
- package/dist/focus/focus-lifecycle.d.ts +60 -0
- package/dist/focus/focus-lifecycle.d.ts.map +1 -0
- package/dist/focus/focus-lifecycle.js +543 -0
- package/dist/focus/focus-lifecycle.js.map +1 -0
- package/dist/focus/focus-loop-registry.d.ts +52 -0
- package/dist/focus/focus-loop-registry.d.ts.map +1 -0
- package/dist/focus/focus-loop-registry.js +362 -0
- package/dist/focus/focus-loop-registry.js.map +1 -0
- package/dist/focus/focus-loop.d.ts +96 -0
- package/dist/focus/focus-loop.d.ts.map +1 -0
- package/dist/focus/focus-loop.js +364 -0
- package/dist/focus/focus-loop.js.map +1 -0
- package/dist/focus/focus-phase.d.ts.map +1 -0
- package/dist/focus/focus-phase.js.map +1 -0
- package/dist/focus/focus-respawn-guard.d.ts +39 -0
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -0
- package/dist/focus/focus-respawn-guard.js +62 -0
- package/dist/focus/focus-respawn-guard.js.map +1 -0
- package/dist/focus/focus-team-state.d.ts +115 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -0
- package/dist/focus/focus-team-state.js +195 -0
- package/dist/focus/focus-team-state.js.map +1 -0
- package/dist/focus/focus-worktree-state.d.ts +70 -0
- package/dist/focus/focus-worktree-state.d.ts.map +1 -0
- package/dist/focus/focus-worktree-state.js +118 -0
- package/dist/focus/focus-worktree-state.js.map +1 -0
- package/dist/focus/listener-auto-advance.d.ts +126 -0
- package/dist/focus/listener-auto-advance.d.ts.map +1 -0
- package/dist/focus/listener-auto-advance.js +629 -0
- package/dist/focus/listener-auto-advance.js.map +1 -0
- package/dist/focus/listener.d.ts +101 -0
- package/dist/focus/listener.d.ts.map +1 -0
- package/dist/focus/listener.js +770 -0
- package/dist/focus/listener.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.d.ts +63 -0
- package/dist/focus-stage-lifecycle/index.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/index.js +179 -0
- package/dist/focus-stage-lifecycle/index.js.map +1 -0
- package/dist/focus-stage-lifecycle/planning-release.js +4 -4
- package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +2 -2
- package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +3 -3
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/branch.d.ts +1 -1
- package/dist/git/branch.d.ts.map +1 -1
- package/dist/git/branch.js +1 -1
- package/dist/git/branch.js.map +1 -1
- package/dist/git/exec.d.ts +24 -0
- package/dist/git/exec.d.ts.map +1 -0
- package/dist/git/exec.js +114 -0
- package/dist/git/exec.js.map +1 -0
- package/dist/git/genesis.js +1 -1
- package/dist/git/genesis.js.map +1 -1
- package/dist/git/index.d.ts +3 -8
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +3 -8
- package/dist/git/index.js.map +1 -1
- package/dist/git/integration.d.ts +1 -1
- package/dist/git/integration.d.ts.map +1 -1
- package/dist/git/integration.js +1 -1
- package/dist/git/integration.js.map +1 -1
- package/dist/git/merge-lock.js +1 -1
- package/dist/git/merge-lock.js.map +1 -1
- package/dist/git/merge.d.ts +33 -2
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +159 -18
- package/dist/git/merge.js.map +1 -1
- package/dist/git/state-detector.d.ts +1 -1
- package/dist/git/state-detector.d.ts.map +1 -1
- package/dist/git/state-detector.js +1 -1
- package/dist/git/state-detector.js.map +1 -1
- package/dist/git/types.d.ts +1 -1
- package/dist/git/types.d.ts.map +1 -1
- package/dist/git/utils.js +1 -1
- package/dist/git/utils.js.map +1 -1
- package/dist/guard/condition-evaluators.d.ts +70 -0
- package/dist/guard/condition-evaluators.d.ts.map +1 -0
- package/dist/guard/condition-evaluators.js +203 -0
- package/dist/guard/condition-evaluators.js.map +1 -0
- package/dist/guard/evaluation-context.d.ts.map +1 -0
- package/dist/guard/evaluation-context.js +44 -0
- package/dist/guard/evaluation-context.js.map +1 -0
- package/dist/guard/guard-evaluator.d.ts +47 -0
- package/dist/guard/guard-evaluator.d.ts.map +1 -0
- package/dist/guard/guard-evaluator.js +195 -0
- package/dist/guard/guard-evaluator.js.map +1 -0
- package/dist/guard/trigger-executor.d.ts +99 -0
- package/dist/guard/trigger-executor.d.ts.map +1 -0
- package/dist/guard/trigger-executor.js +437 -0
- package/dist/guard/trigger-executor.js.map +1 -0
- package/dist/host-control/catalog.js +1 -1
- package/dist/host-control/catalog.js.map +1 -1
- package/dist/host-control/client.js +1 -1
- package/dist/host-control/client.js.map +1 -1
- package/dist/host-control/discovery-poll.d.ts +36 -0
- package/dist/host-control/discovery-poll.d.ts.map +1 -0
- package/dist/host-control/discovery-poll.js +94 -0
- package/dist/host-control/discovery-poll.js.map +1 -0
- package/dist/host-control/sizing.js +1 -1
- package/dist/host-control/sizing.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/loops/context-audit-pass.d.ts +2 -2
- package/dist/loops/context-audit-pass.d.ts.map +1 -1
- package/dist/loops/context-audit-pass.js +3 -3
- package/dist/loops/context-audit-pass.js.map +1 -1
- package/dist/loops/engine.js +2 -2
- package/dist/loops/engine.js.map +1 -1
- package/dist/loops/llm-client.d.ts +8 -1
- package/dist/loops/llm-client.d.ts.map +1 -1
- package/dist/loops/llm-client.js +5 -4
- package/dist/loops/llm-client.js.map +1 -1
- package/dist/loops/prompt-builder.js +1 -1
- package/dist/loops/prompt-builder.js.map +1 -1
- package/dist/merge/focus-merge.d.ts +131 -0
- package/dist/merge/focus-merge.d.ts.map +1 -0
- package/dist/merge/focus-merge.js +556 -0
- package/dist/merge/focus-merge.js.map +1 -0
- package/dist/merge/merge-back-loop.d.ts +122 -0
- package/dist/merge/merge-back-loop.d.ts.map +1 -0
- package/dist/merge/merge-back-loop.js +657 -0
- package/dist/merge/merge-back-loop.js.map +1 -0
- package/dist/merge/merge-detector.d.ts +55 -0
- package/dist/merge/merge-detector.d.ts.map +1 -0
- package/dist/merge/merge-detector.js +222 -0
- package/dist/merge/merge-detector.js.map +1 -0
- package/dist/merge/merge-failure-classify.d.ts +48 -0
- package/dist/merge/merge-failure-classify.d.ts.map +1 -0
- package/dist/merge/merge-failure-classify.js +89 -0
- package/dist/merge/merge-failure-classify.js.map +1 -0
- package/dist/nexus/endpoint-clearance.d.ts +12 -3
- package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
- package/dist/nexus/endpoint-clearance.js +17 -8
- package/dist/nexus/endpoint-clearance.js.map +1 -1
- package/dist/nexus/escalation-bridge.js +1 -1
- package/dist/nexus/escalation-bridge.js.map +1 -1
- package/dist/nexus/incoming.d.ts +1 -1
- package/dist/nexus/incoming.d.ts.map +1 -1
- package/dist/nexus/incoming.js +1 -1
- package/dist/nexus/incoming.js.map +1 -1
- package/dist/nexus/intake-spawn.d.ts +1 -1
- package/dist/nexus/intake-spawn.d.ts.map +1 -1
- package/dist/nexus/intake-spawn.js +1 -1
- package/dist/nexus/intake-spawn.js.map +1 -1
- package/dist/nexus/intake.d.ts +1 -1
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +1 -1
- package/dist/nexus/intake.js.map +1 -1
- package/dist/nexus/return.d.ts +1 -1
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +2 -2
- package/dist/nexus/return.js.map +1 -1
- package/dist/otlp/log-parser.js +1 -1
- package/dist/otlp/log-parser.js.map +1 -1
- package/dist/otlp/metric-parser.js +1 -1
- package/dist/otlp/metric-parser.js.map +1 -1
- package/dist/otlp/receiver.d.ts +1 -1
- package/dist/otlp/receiver.d.ts.map +1 -1
- package/dist/otlp/receiver.js +2 -2
- package/dist/otlp/receiver.js.map +1 -1
- package/dist/otlp/telemetry-writer.d.ts +90 -0
- package/dist/otlp/telemetry-writer.d.ts.map +1 -0
- package/dist/otlp/telemetry-writer.js +213 -0
- package/dist/otlp/telemetry-writer.js.map +1 -0
- package/dist/prd/controller.d.ts +2 -2
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +3 -3
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/focus-pushdown.d.ts +1 -1
- package/dist/prd/focus-pushdown.d.ts.map +1 -1
- package/dist/prd/focus-pushdown.js +2 -2
- package/dist/prd/focus-pushdown.js.map +1 -1
- package/dist/prd/steward.d.ts +1 -1
- package/dist/prd/steward.d.ts.map +1 -1
- package/dist/prd/steward.js +3 -2
- package/dist/prd/steward.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts +33 -0
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -0
- package/dist/prompt/focus-prompt-builder.js +118 -0
- package/dist/prompt/focus-prompt-builder.js.map +1 -0
- package/dist/prompt/onboarding-directive.d.ts.map +1 -0
- package/dist/prompt/onboarding-directive.js.map +1 -0
- package/dist/prompt/prompt-contradictions.d.ts.map +1 -0
- package/dist/prompt/prompt-contradictions.js.map +1 -0
- package/dist/prompt/prompt-listing.d.ts +70 -0
- package/dist/prompt/prompt-listing.d.ts.map +1 -0
- package/dist/prompt/prompt-listing.js.map +1 -0
- package/dist/prompt/team-prompt-base.d.ts +43 -0
- package/dist/prompt/team-prompt-base.d.ts.map +1 -0
- package/dist/prompt/team-prompt-base.js +123 -0
- package/dist/prompt/team-prompt-base.js.map +1 -0
- package/dist/prompt-sections/context-sections.d.ts +1 -1
- package/dist/prompt-sections/context-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +2 -2
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +2 -2
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +1 -1
- package/dist/prompt-sections/role-sections.d.ts +1 -1
- package/dist/prompt-sections/role-sections.d.ts.map +1 -1
- package/dist/prompt-sections/shared.d.ts +1 -1
- package/dist/prompt-sections/shared.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.d.ts +2 -2
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +5 -5
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/context-assembly.d.ts +1 -1
- package/dist/queries/context-assembly.d.ts.map +1 -1
- package/dist/queries/context-assembly.js +1 -1
- package/dist/queries/context-assembly.js.map +1 -1
- package/dist/queries/context-lock-queries.d.ts +2 -2
- package/dist/queries/context-lock-queries.d.ts.map +1 -1
- package/dist/queries/deliveries.d.ts +24 -6
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +34 -39
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.d.ts.map +1 -1
- package/dist/queries/escalation-suppression.js +1 -1
- package/dist/queries/escalation-suppression.js.map +1 -1
- package/dist/queries/focuses.d.ts +1 -1
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +1 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts +1 -1
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +1 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/holds.d.ts +3 -2
- package/dist/queries/holds.d.ts.map +1 -1
- package/dist/queries/holds.js +7 -6
- package/dist/queries/holds.js.map +1 -1
- package/dist/queries/issues.d.ts +20 -8
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +26 -29
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/prd.d.ts +2 -1
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +3 -2
- package/dist/queries/prd.js.map +1 -1
- package/dist/queries/reality-tree.js +1 -1
- package/dist/queries/reality-tree.js.map +1 -1
- package/dist/queries/roles.d.ts +1 -1
- package/dist/queries/roles.d.ts.map +1 -1
- package/dist/queries/schemas.d.ts +51 -28
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +48 -28
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +1 -1
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/shared.d.ts +12 -1
- package/dist/queries/shared.d.ts.map +1 -1
- package/dist/queries/shared.js.map +1 -1
- package/dist/queries/system-session.d.ts +14 -3
- package/dist/queries/system-session.d.ts.map +1 -1
- package/dist/queries/system-session.js +9 -11
- package/dist/queries/system-session.js.map +1 -1
- package/dist/queries/verification.d.ts +6 -5
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +17 -14
- package/dist/queries/verification.js.map +1 -1
- package/dist/queries/workflows.d.ts +1 -1
- package/dist/queries/workflows.d.ts.map +1 -1
- package/dist/queries/worktrees.d.ts +10 -10
- package/dist/queries/worktrees.d.ts.map +1 -1
- package/dist/queries/worktrees.js.map +1 -1
- package/dist/reality/realign-apply.d.ts +65 -0
- package/dist/reality/realign-apply.d.ts.map +1 -0
- package/dist/reality/realign-apply.js +302 -0
- package/dist/reality/realign-apply.js.map +1 -0
- package/dist/reality/reality-pole-capture.d.ts.map +1 -0
- package/dist/reality/reality-pole-capture.js +114 -0
- package/dist/reality/reality-pole-capture.js.map +1 -0
- package/dist/reality/reality-pole.d.ts +64 -0
- package/dist/reality/reality-pole.d.ts.map +1 -0
- package/dist/reality/reality-pole.js +101 -0
- package/dist/reality/reality-pole.js.map +1 -0
- package/dist/reality/reality-writeback.d.ts.map +1 -0
- package/dist/reality/reality-writeback.js.map +1 -0
- package/dist/resolvers/agent-escalations.js +2 -2
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/agent-session-summaries.js +2 -2
- package/dist/resolvers/agent-session-summaries.js.map +1 -1
- package/dist/resolvers/assembly-engine.d.ts +114 -0
- package/dist/resolvers/assembly-engine.d.ts.map +1 -0
- package/dist/resolvers/assembly-engine.js +137 -0
- package/dist/resolvers/assembly-engine.js.map +1 -0
- package/dist/resolvers/delivery-acceptance-criteria.js +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
- package/dist/resolvers/delivery-description.js +1 -1
- package/dist/resolvers/delivery-description.js.map +1 -1
- package/dist/resolvers/delivery-issues.js +1 -1
- package/dist/resolvers/delivery-issues.js.map +1 -1
- package/dist/resolvers/delivery-listing.js +2 -2
- package/dist/resolvers/delivery-listing.js.map +1 -1
- package/dist/resolvers/delivery-tech-context.js +1 -1
- package/dist/resolvers/delivery-tech-context.js.map +1 -1
- package/dist/resolvers/deployment-profile.js +2 -2
- package/dist/resolvers/deployment-profile.js.map +1 -1
- package/dist/resolvers/drift-shortfall-proposals.js +3 -3
- package/dist/resolvers/drift-shortfall-proposals.js.map +1 -1
- package/dist/resolvers/escalation-answers.js +2 -2
- package/dist/resolvers/escalation-answers.js.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.js +2 -2
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
- package/dist/resolvers/focus-context.js +1 -1
- package/dist/resolvers/focus-context.js.map +1 -1
- package/dist/resolvers/focus-endpoint-catalog.js +1 -1
- package/dist/resolvers/focus-endpoint-catalog.js.map +1 -1
- package/dist/resolvers/focus-injections.js +2 -2
- package/dist/resolvers/focus-injections.js.map +1 -1
- package/dist/resolvers/focus-last-review-report.js +2 -2
- package/dist/resolvers/focus-last-review-report.js.map +1 -1
- package/dist/resolvers/focus-reality-tree.js +2 -2
- package/dist/resolvers/focus-reality-tree.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +2 -2
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/guards-evaluation-results.js +2 -2
- package/dist/resolvers/guards-evaluation-results.js.map +1 -1
- package/dist/resolvers/index.d.ts +6 -5
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +7 -6
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-context.js +2 -2
- package/dist/resolvers/loop-context.js.map +1 -1
- package/dist/resolvers/loop-delivery-index.js +2 -2
- package/dist/resolvers/loop-delivery-index.js.map +1 -1
- package/dist/resolvers/loop-documents.js +2 -2
- package/dist/resolvers/loop-documents.js.map +1 -1
- package/dist/resolvers/loop-expected-effects.js +2 -2
- package/dist/resolvers/loop-expected-effects.js.map +1 -1
- package/dist/resolvers/loop-frt-statement.js +2 -2
- package/dist/resolvers/loop-frt-statement.js.map +1 -1
- package/dist/resolvers/loop-injection.js +2 -2
- package/dist/resolvers/loop-injection.js.map +1 -1
- package/dist/resolvers/loop-persona.js +3 -3
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/loop-questions.js +2 -2
- package/dist/resolvers/loop-questions.js.map +1 -1
- package/dist/resolvers/loop-upstream-udes.js +2 -2
- package/dist/resolvers/loop-upstream-udes.js.map +1 -1
- package/dist/resolvers/prd-context.js +2 -2
- package/dist/resolvers/prd-context.js.map +1 -1
- package/dist/resolvers/prd-persona.js +1 -1
- package/dist/resolvers/prd-persona.js.map +1 -1
- package/dist/resolvers/reality-metrics.js +2 -2
- package/dist/resolvers/reality-metrics.js.map +1 -1
- package/dist/resolvers/reality-projections.js +2 -2
- package/dist/resolvers/reality-projections.js.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.js +2 -2
- package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
- package/dist/resolvers/retired-injections.js +2 -2
- package/dist/resolvers/retired-injections.js.map +1 -1
- package/dist/resolvers/review-outcomes.js +2 -2
- package/dist/resolvers/review-outcomes.js.map +1 -1
- package/dist/resolvers/security-advisory.js +2 -2
- package/dist/resolvers/security-advisory.js.map +1 -1
- package/dist/resolvers/shared/loop.d.ts +1 -1
- package/dist/resolvers/shared/loop.d.ts.map +1 -1
- package/dist/resolvers/shared/wiki.d.ts +2 -1
- package/dist/resolvers/shared/wiki.d.ts.map +1 -1
- package/dist/resolvers/shared/wiki.js +4 -3
- package/dist/resolvers/shared/wiki.js.map +1 -1
- package/dist/resolvers/wiki-search.js +1 -1
- package/dist/resolvers/wiki-search.js.map +1 -1
- package/dist/resolvers/wiki-topic.js +2 -2
- package/dist/resolvers/wiki-topic.js.map +1 -1
- package/dist/resolvers/workflow-stages.js +2 -2
- package/dist/resolvers/workflow-stages.js.map +1 -1
- package/dist/scanners/deps.d.ts +1 -1
- package/dist/scanners/deps.d.ts.map +1 -1
- package/dist/scanners/signatures.d.ts +1 -1
- package/dist/scanners/signatures.d.ts.map +1 -1
- package/dist/scanners/workflow.d.ts +1 -1
- package/dist/scanners/workflow.d.ts.map +1 -1
- package/dist/security/security-auto-inject.d.ts.map +1 -0
- package/dist/security/security-auto-inject.js +168 -0
- package/dist/security/security-auto-inject.js.map +1 -0
- package/dist/security/security-finding-gate.d.ts.map +1 -0
- package/dist/security/security-finding-gate.js +84 -0
- package/dist/security/security-finding-gate.js.map +1 -0
- package/dist/security/security-rescan-resolution.d.ts.map +1 -0
- package/dist/security/security-rescan-resolution.js +117 -0
- package/dist/security/security-rescan-resolution.js.map +1 -0
- package/dist/security/security-scan-engine.d.ts +145 -0
- package/dist/security/security-scan-engine.d.ts.map +1 -0
- package/dist/security/security-scan-engine.js +271 -0
- package/dist/security/security-scan-engine.js.map +1 -0
- package/dist/session/session-lineage.d.ts.map +1 -0
- package/dist/session/session-lineage.js.map +1 -0
- package/dist/session/session-stamp.d.ts +63 -0
- package/dist/session/session-stamp.d.ts.map +1 -0
- package/dist/session/session-stamp.js +67 -0
- package/dist/session/session-stamp.js.map +1 -0
- package/dist/shell/activity-tracker.d.ts.map +1 -0
- package/dist/shell/activity-tracker.js +19 -0
- package/dist/shell/activity-tracker.js.map +1 -0
- package/dist/shell/agent-state.d.ts.map +1 -0
- package/dist/shell/agent-state.js.map +1 -0
- package/dist/shell/auth-liveness.d.ts.map +1 -0
- package/dist/shell/auth-liveness.js.map +1 -0
- package/dist/shell/branch-status.d.ts +97 -0
- package/dist/shell/branch-status.d.ts.map +1 -0
- package/dist/shell/branch-status.js +299 -0
- package/dist/shell/branch-status.js.map +1 -0
- package/dist/shell/circuit-wedge-watcher.d.ts +48 -0
- package/dist/shell/circuit-wedge-watcher.d.ts.map +1 -0
- package/dist/shell/circuit-wedge-watcher.js +94 -0
- package/dist/shell/circuit-wedge-watcher.js.map +1 -0
- package/dist/shell/config-hot-reload.d.ts +91 -0
- package/dist/shell/config-hot-reload.d.ts.map +1 -0
- package/dist/shell/config-hot-reload.js.map +1 -0
- package/dist/shell/config-reconcile.d.ts +114 -0
- package/dist/shell/config-reconcile.d.ts.map +1 -0
- package/dist/shell/config-reconcile.js +189 -0
- package/dist/shell/config-reconcile.js.map +1 -0
- package/dist/shell/config.d.ts +102 -0
- package/dist/shell/config.d.ts.map +1 -0
- package/dist/shell/config.js +486 -0
- package/dist/shell/config.js.map +1 -0
- package/dist/shell/constants.d.ts.map +1 -0
- package/dist/shell/constants.js.map +1 -0
- package/dist/shell/control-state.d.ts +109 -0
- package/dist/shell/control-state.d.ts.map +1 -0
- package/dist/shell/control-state.js +337 -0
- package/dist/shell/control-state.js.map +1 -0
- package/dist/shell/crash-recovery.d.ts +141 -0
- package/dist/shell/crash-recovery.d.ts.map +1 -0
- package/dist/shell/crash-recovery.js +631 -0
- package/dist/shell/crash-recovery.js.map +1 -0
- package/dist/shell/daemon-logs.d.ts.map +1 -0
- package/dist/shell/daemon-logs.js.map +1 -0
- package/dist/shell/daemon-process.d.ts.map +1 -0
- package/dist/shell/daemon-process.js +463 -0
- package/dist/shell/daemon-process.js.map +1 -0
- package/dist/shell/daemon-readiness.d.ts.map +1 -0
- package/dist/shell/daemon-readiness.js.map +1 -0
- package/dist/shell/drain-teardown.d.ts.map +1 -0
- package/dist/shell/drain-teardown.js.map +1 -0
- package/dist/shell/gitignore-convergence.d.ts.map +1 -0
- package/dist/shell/gitignore-convergence.js.map +1 -0
- package/dist/shell/health-events.d.ts.map +1 -0
- package/dist/shell/health-events.js.map +1 -0
- package/dist/shell/heartbeat.d.ts +165 -0
- package/dist/shell/heartbeat.d.ts.map +1 -0
- package/dist/shell/heartbeat.js +502 -0
- package/dist/shell/heartbeat.js.map +1 -0
- package/dist/shell/install-probe-tick.d.ts +63 -0
- package/dist/shell/install-probe-tick.d.ts.map +1 -0
- package/dist/shell/install-probe-tick.js +139 -0
- package/dist/shell/install-probe-tick.js.map +1 -0
- package/dist/shell/install-probe.d.ts.map +1 -0
- package/dist/shell/install-probe.js.map +1 -0
- package/dist/shell/intake-control.d.ts.map +1 -0
- package/dist/shell/intake-control.js.map +1 -0
- package/dist/shell/log-manager.d.ts +18 -0
- package/dist/shell/log-manager.d.ts.map +1 -0
- package/dist/shell/log-manager.js.map +1 -0
- package/dist/shell/log.d.ts.map +1 -0
- package/dist/shell/log.js.map +1 -0
- package/dist/shell/mcp-resolution.d.ts.map +1 -0
- package/dist/shell/mcp-resolution.js.map +1 -0
- package/dist/shell/model-resolution.d.ts.map +1 -0
- package/dist/shell/model-resolution.js.map +1 -0
- package/dist/shell/non-interactive-init.d.ts +40 -0
- package/dist/shell/non-interactive-init.d.ts.map +1 -0
- package/dist/shell/non-interactive-init.js.map +1 -0
- package/dist/shell/product-scaffold.d.ts +56 -0
- package/dist/shell/product-scaffold.d.ts.map +1 -0
- package/dist/shell/product-scaffold.js +136 -0
- package/dist/shell/product-scaffold.js.map +1 -0
- package/dist/shell/schema-version-gate.d.ts.map +1 -0
- package/dist/shell/schema-version-gate.js +220 -0
- package/dist/shell/schema-version-gate.js.map +1 -0
- package/dist/shell/shutdown-state.d.ts.map +1 -0
- package/dist/shell/shutdown-state.js.map +1 -0
- package/dist/shell/stop-request.d.ts.map +1 -0
- package/dist/shell/stop-request.js.map +1 -0
- package/dist/shell/unified-engine-lifecycle.d.ts +186 -0
- package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -0
- package/dist/shell/unified-engine-lifecycle.js +594 -0
- package/dist/shell/unified-engine-lifecycle.js.map +1 -0
- package/dist/shell/unified-init.d.ts +86 -0
- package/dist/shell/unified-init.d.ts.map +1 -0
- package/dist/shell/unified-init.js +313 -0
- package/dist/shell/unified-init.js.map +1 -0
- package/dist/shell/unified-shell-config.d.ts +103 -0
- package/dist/shell/unified-shell-config.d.ts.map +1 -0
- package/dist/shell/unified-shell-config.js.map +1 -0
- package/dist/shell/unified-shell-provisioning.d.ts.map +1 -0
- package/dist/shell/unified-shell-provisioning.js +277 -0
- package/dist/shell/unified-shell-provisioning.js.map +1 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -0
- package/dist/shell/unified-shell-status.js +143 -0
- package/dist/shell/unified-shell-status.js.map +1 -0
- package/dist/shell/unified-shell.d.ts.map +1 -0
- package/dist/shell/unified-shell.js +583 -0
- package/dist/shell/unified-shell.js.map +1 -0
- package/dist/shell/worker-pidfile.d.ts.map +1 -0
- package/dist/shell/worker-pidfile.js.map +1 -0
- package/dist/spawn/dag-validator.d.ts +52 -0
- package/dist/spawn/dag-validator.d.ts.map +1 -0
- package/dist/spawn/dag-validator.js.map +1 -0
- package/dist/spawn/delivered-manifest.d.ts +1 -1
- package/dist/spawn/delivered-manifest.d.ts.map +1 -1
- package/dist/spawn/dependency-resolver.d.ts +77 -0
- package/dist/spawn/dependency-resolver.d.ts.map +1 -0
- package/dist/spawn/dependency-resolver.js.map +1 -0
- package/dist/spawn/guards.d.ts.map +1 -0
- package/dist/spawn/guards.js +46 -0
- package/dist/spawn/guards.js.map +1 -0
- package/dist/spawn/helpers.d.ts +86 -0
- package/dist/spawn/helpers.d.ts.map +1 -0
- package/dist/spawn/helpers.js +220 -0
- package/dist/spawn/helpers.js.map +1 -0
- package/dist/spawn/index.d.ts +29 -0
- package/dist/spawn/index.d.ts.map +1 -0
- package/dist/spawn/index.js +37 -0
- package/dist/spawn/index.js.map +1 -0
- package/dist/spawn/lifecycle.d.ts +148 -0
- package/dist/spawn/lifecycle.d.ts.map +1 -0
- package/dist/spawn/lifecycle.js +413 -0
- package/dist/spawn/lifecycle.js.map +1 -0
- package/dist/spawn/liveness.d.ts.map +1 -0
- package/dist/spawn/liveness.js +41 -0
- package/dist/spawn/liveness.js.map +1 -0
- package/dist/spawn/model-routing.d.ts +2 -2
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +4 -4
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts +7 -7
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +9 -9
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +6 -6
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +6 -6
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/shared.d.ts +3 -3
- package/dist/spawn/shared.d.ts.map +1 -1
- package/dist/spawn/shared.js +1 -1
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -0
- package/dist/spawn/spawn-cooldown.js +53 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -0
- package/dist/spawn/spawn-decision.d.ts +6 -6
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +8 -8
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/spawn-environment.d.ts +126 -0
- package/dist/spawn/spawn-environment.d.ts.map +1 -0
- package/dist/spawn/spawn-environment.js +177 -0
- package/dist/spawn/spawn-environment.js.map +1 -0
- package/dist/spawn/spawn-sandbox.d.ts +121 -0
- package/dist/spawn/spawn-sandbox.d.ts.map +1 -0
- package/dist/spawn/spawn-sandbox.js.map +1 -0
- package/dist/spawn/state.d.ts.map +1 -0
- package/dist/spawn/state.js.map +1 -0
- package/dist/spawn/task-converter.d.ts +61 -0
- package/dist/spawn/task-converter.d.ts.map +1 -0
- package/dist/spawn/task-converter.js.map +1 -0
- package/dist/spawn/worker-registry.d.ts.map +1 -0
- package/dist/spawn/worker-registry.js.map +1 -0
- package/dist/spawn/worktree-session.d.ts +5 -5
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +12 -12
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/types/focus.d.ts +79 -51
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/update/auto-update-idle.d.ts.map +1 -0
- package/dist/update/auto-update-idle.js.map +1 -0
- package/dist/update/auto-update.d.ts.map +1 -0
- package/dist/update/auto-update.js +317 -0
- package/dist/update/auto-update.js.map +1 -0
- package/dist/update/build-info.d.ts.map +1 -0
- package/dist/update/build-info.js.map +1 -0
- package/dist/update/capability-pointer.d.ts.map +1 -0
- package/dist/update/capability-pointer.js.map +1 -0
- package/dist/update/self-update.d.ts.map +1 -0
- package/dist/update/self-update.js +565 -0
- package/dist/update/self-update.js.map +1 -0
- package/dist/update/version-check.d.ts.map +1 -0
- package/dist/update/version-check.js +115 -0
- package/dist/update/version-check.js.map +1 -0
- package/dist/verify/ai-inspection-context.d.ts +63 -0
- package/dist/verify/ai-inspection-context.d.ts.map +1 -0
- package/dist/verify/ai-inspection-context.js +203 -0
- package/dist/verify/ai-inspection-context.js.map +1 -0
- package/dist/verify/ai-inspection-runner.d.ts.map +1 -0
- package/dist/verify/ai-inspection-runner.js +256 -0
- package/dist/verify/ai-inspection-runner.js.map +1 -0
- package/dist/verify/cascade-restatement.d.ts.map +1 -0
- package/dist/verify/cascade-restatement.js.map +1 -0
- package/dist/verify/de-restatement.d.ts.map +1 -0
- package/dist/verify/de-restatement.js +160 -0
- package/dist/verify/de-restatement.js.map +1 -0
- package/dist/verify/retire-aware-restatement.d.ts.map +1 -0
- package/dist/verify/retire-aware-restatement.js +231 -0
- package/dist/verify/retire-aware-restatement.js.map +1 -0
- package/dist/verify/stall-detector-config.d.ts.map +1 -0
- package/dist/verify/stall-detector-config.js.map +1 -0
- package/dist/verify/stall-detectors.d.ts +196 -0
- package/dist/verify/stall-detectors.d.ts.map +1 -0
- package/dist/verify/stall-detectors.js +348 -0
- package/dist/verify/stall-detectors.js.map +1 -0
- package/dist/verify/verification-baseline.d.ts +112 -0
- package/dist/verify/verification-baseline.d.ts.map +1 -0
- package/dist/verify/verification-baseline.js +267 -0
- package/dist/verify/verification-baseline.js.map +1 -0
- package/dist/verify/verification-config.d.ts +146 -0
- package/dist/verify/verification-config.d.ts.map +1 -0
- package/dist/verify/verification-config.js.map +1 -0
- package/dist/verify/verification-default-on.d.ts +160 -0
- package/dist/verify/verification-default-on.d.ts.map +1 -0
- package/dist/verify/verification-default-on.js +272 -0
- package/dist/verify/verification-default-on.js.map +1 -0
- package/dist/verify/verification-deps.d.ts +191 -0
- package/dist/verify/verification-deps.d.ts.map +1 -0
- package/dist/verify/verification-deps.js.map +1 -0
- package/dist/verify/verification-deterministic.d.ts +56 -0
- package/dist/verify/verification-deterministic.d.ts.map +1 -0
- package/dist/verify/verification-deterministic.js +153 -0
- package/dist/verify/verification-deterministic.js.map +1 -0
- package/dist/verify/verification-engine.d.ts +94 -0
- package/dist/verify/verification-engine.d.ts.map +1 -0
- package/dist/verify/verification-engine.js +717 -0
- package/dist/verify/verification-engine.js.map +1 -0
- package/dist/verify/verification-evidence.d.ts +106 -0
- package/dist/verify/verification-evidence.d.ts.map +1 -0
- package/dist/verify/verification-evidence.js +159 -0
- package/dist/verify/verification-evidence.js.map +1 -0
- package/dist/verify/verification-failure-parser.d.ts.map +1 -0
- package/dist/verify/verification-failure-parser.js.map +1 -0
- package/dist/verify/verification-feedback.d.ts +173 -0
- package/dist/verify/verification-feedback.d.ts.map +1 -0
- package/dist/verify/verification-feedback.js +442 -0
- package/dist/verify/verification-feedback.js.map +1 -0
- package/dist/verify/verification-manifest.d.ts.map +1 -0
- package/dist/verify/verification-manifest.js.map +1 -0
- package/dist/verify/verify-reconciliation.d.ts.map +1 -0
- package/dist/verify/verify-reconciliation.js.map +1 -0
- package/dist/verify/verify-restatement.d.ts.map +1 -0
- package/dist/verify/verify-restatement.js +167 -0
- package/dist/verify/verify-restatement.js.map +1 -0
- package/dist/workflow/pipeline-config.d.ts +72 -0
- package/dist/workflow/pipeline-config.d.ts.map +1 -0
- package/dist/workflow/pipeline-config.js.map +1 -0
- package/dist/workflow/stage-classifier.d.ts +32 -0
- package/dist/workflow/stage-classifier.d.ts.map +1 -0
- package/dist/workflow/stage-classifier.js.map +1 -0
- package/dist/workflow/workflow-engine.d.ts +95 -0
- package/dist/workflow/workflow-engine.d.ts.map +1 -0
- package/dist/workflow/workflow-engine.js.map +1 -0
- package/dist/worktree/focus.d.ts +15 -70
- package/dist/worktree/focus.d.ts.map +1 -1
- package/dist/worktree/focus.js +16 -180
- package/dist/worktree/focus.js.map +1 -1
- package/dist/worktree/identity.js +1 -1
- package/dist/worktree/identity.js.map +1 -1
- package/dist/worktree/index.d.ts +1 -1
- package/dist/worktree/index.js +1 -1
- package/dist/worktree/provision.d.ts +147 -0
- package/dist/worktree/provision.d.ts.map +1 -0
- package/dist/worktree/provision.js +467 -0
- package/dist/worktree/provision.js.map +1 -0
- package/dist/worktree/reap.js +1 -1
- package/dist/worktree/reap.js.map +1 -1
- package/dist/worktree/safety.js +1 -1
- package/dist/worktree/safety.js.map +1 -1
- package/dist/worktree/scratch-guard.js +1 -1
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/dist/worktree/state.d.ts +1 -1
- package/dist/worktree/state.d.ts.map +1 -1
- package/dist/worktree/state.js +3 -3
- package/dist/worktree/state.js.map +1 -1
- package/dist/worktree/verify-interlock.js +1 -1
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +4 -4
- package/dist/activity-tracker.d.ts.map +0 -1
- package/dist/activity-tracker.js +0 -19
- package/dist/activity-tracker.js.map +0 -1
- package/dist/agent-state.d.ts.map +0 -1
- package/dist/agent-state.js.map +0 -1
- package/dist/ai-inspection-context.d.ts +0 -63
- package/dist/ai-inspection-context.d.ts.map +0 -1
- package/dist/ai-inspection-context.js +0 -203
- package/dist/ai-inspection-context.js.map +0 -1
- package/dist/ai-inspection-runner.d.ts.map +0 -1
- package/dist/ai-inspection-runner.js +0 -256
- package/dist/ai-inspection-runner.js.map +0 -1
- package/dist/assembly-engine.d.ts +0 -114
- package/dist/assembly-engine.d.ts.map +0 -1
- package/dist/assembly-engine.js +0 -137
- package/dist/assembly-engine.js.map +0 -1
- package/dist/assembly-resolvers.d.ts +0 -28
- package/dist/assembly-resolvers.d.ts.map +0 -1
- package/dist/assembly-resolvers.js +0 -30
- package/dist/assembly-resolvers.js.map +0 -1
- package/dist/audit-hooks.d.ts +0 -122
- package/dist/audit-hooks.d.ts.map +0 -1
- package/dist/audit-hooks.js +0 -274
- package/dist/audit-hooks.js.map +0 -1
- package/dist/audit-phase.d.ts +0 -171
- package/dist/audit-phase.d.ts.map +0 -1
- package/dist/audit-phase.js +0 -491
- package/dist/audit-phase.js.map +0 -1
- package/dist/audit-prompt.d.ts.map +0 -1
- package/dist/audit-prompt.js.map +0 -1
- package/dist/audit-shape.d.ts.map +0 -1
- package/dist/audit-shape.js.map +0 -1
- package/dist/auth-liveness.d.ts.map +0 -1
- package/dist/auth-liveness.js.map +0 -1
- package/dist/auto-update-idle.d.ts.map +0 -1
- package/dist/auto-update-idle.js.map +0 -1
- package/dist/auto-update.d.ts.map +0 -1
- package/dist/auto-update.js +0 -317
- package/dist/auto-update.js.map +0 -1
- package/dist/branch-status.d.ts +0 -79
- package/dist/branch-status.d.ts.map +0 -1
- package/dist/branch-status.js +0 -292
- package/dist/branch-status.js.map +0 -1
- package/dist/build-info.d.ts.map +0 -1
- package/dist/build-info.js.map +0 -1
- package/dist/capability-pointer.d.ts.map +0 -1
- package/dist/capability-pointer.js.map +0 -1
- package/dist/cascade-restatement.d.ts.map +0 -1
- package/dist/cascade-restatement.js.map +0 -1
- package/dist/ci-escalation.d.ts.map +0 -1
- package/dist/ci-escalation.js +0 -66
- package/dist/ci-escalation.js.map +0 -1
- package/dist/ci-sensor-loop.d.ts +0 -112
- package/dist/ci-sensor-loop.d.ts.map +0 -1
- package/dist/ci-sensor-loop.js +0 -243
- package/dist/ci-sensor-loop.js.map +0 -1
- package/dist/ci-status-git.d.ts +0 -53
- package/dist/ci-status-git.d.ts.map +0 -1
- package/dist/ci-status-git.js +0 -89
- package/dist/ci-status-git.js.map +0 -1
- package/dist/ci-status.d.ts +0 -137
- package/dist/ci-status.d.ts.map +0 -1
- package/dist/ci-status.js.map +0 -1
- package/dist/circuit-wedge-watcher.d.ts +0 -48
- package/dist/circuit-wedge-watcher.d.ts.map +0 -1
- package/dist/circuit-wedge-watcher.js +0 -94
- package/dist/circuit-wedge-watcher.js.map +0 -1
- package/dist/close-loop-dispatcher.d.ts +0 -325
- package/dist/close-loop-dispatcher.d.ts.map +0 -1
- package/dist/close-loop-dispatcher.js +0 -362
- package/dist/close-loop-dispatcher.js.map +0 -1
- package/dist/condition-evaluators.d.ts +0 -70
- package/dist/condition-evaluators.d.ts.map +0 -1
- package/dist/condition-evaluators.js +0 -203
- package/dist/condition-evaluators.js.map +0 -1
- package/dist/config-hot-reload.d.ts +0 -91
- package/dist/config-hot-reload.d.ts.map +0 -1
- package/dist/config-hot-reload.js.map +0 -1
- package/dist/config-reconcile.d.ts +0 -114
- package/dist/config-reconcile.d.ts.map +0 -1
- package/dist/config-reconcile.js +0 -189
- package/dist/config-reconcile.js.map +0 -1
- package/dist/config.d.ts +0 -102
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -486
- package/dist/config.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/context-audit.d.ts +0 -68
- package/dist/context-audit.d.ts.map +0 -1
- package/dist/context-audit.js.map +0 -1
- package/dist/context-lock.d.ts +0 -129
- package/dist/context-lock.d.ts.map +0 -1
- package/dist/context-lock.js.map +0 -1
- package/dist/control-state.d.ts +0 -109
- package/dist/control-state.d.ts.map +0 -1
- package/dist/control-state.js +0 -337
- package/dist/control-state.js.map +0 -1
- package/dist/crash-recovery.d.ts +0 -141
- package/dist/crash-recovery.d.ts.map +0 -1
- package/dist/crash-recovery.js +0 -631
- package/dist/crash-recovery.js.map +0 -1
- package/dist/daemon-logs.d.ts.map +0 -1
- package/dist/daemon-logs.js.map +0 -1
- package/dist/daemon-process.d.ts.map +0 -1
- package/dist/daemon-process.js +0 -463
- package/dist/daemon-process.js.map +0 -1
- package/dist/daemon-readiness.d.ts.map +0 -1
- package/dist/daemon-readiness.js.map +0 -1
- package/dist/dag-validator.d.ts +0 -52
- package/dist/dag-validator.d.ts.map +0 -1
- package/dist/dag-validator.js.map +0 -1
- package/dist/de-restatement.d.ts.map +0 -1
- package/dist/de-restatement.js +0 -160
- package/dist/de-restatement.js.map +0 -1
- package/dist/delivery-advance-block.d.ts +0 -143
- package/dist/delivery-advance-block.d.ts.map +0 -1
- package/dist/delivery-advance-block.js +0 -360
- package/dist/delivery-advance-block.js.map +0 -1
- package/dist/delivery-artifacts.d.ts +0 -26
- package/dist/delivery-artifacts.d.ts.map +0 -1
- package/dist/delivery-artifacts.js +0 -56
- package/dist/delivery-artifacts.js.map +0 -1
- package/dist/delivery-close-actions.d.ts +0 -39
- package/dist/delivery-close-actions.d.ts.map +0 -1
- package/dist/delivery-close-actions.js +0 -53
- package/dist/delivery-close-actions.js.map +0 -1
- package/dist/delivery-lifecycle.d.ts +0 -144
- package/dist/delivery-lifecycle.d.ts.map +0 -1
- package/dist/delivery-lifecycle.js +0 -495
- package/dist/delivery-lifecycle.js.map +0 -1
- package/dist/delivery-merge.d.ts +0 -17
- package/dist/delivery-merge.d.ts.map +0 -1
- package/dist/delivery-merge.js +0 -95
- package/dist/delivery-merge.js.map +0 -1
- package/dist/delivery-reconciler-apply.d.ts.map +0 -1
- package/dist/delivery-reconciler-apply.js +0 -77
- package/dist/delivery-reconciler-apply.js.map +0 -1
- package/dist/delivery-reconciler-shadow.d.ts +0 -65
- package/dist/delivery-reconciler-shadow.d.ts.map +0 -1
- package/dist/delivery-reconciler-shadow.js +0 -126
- package/dist/delivery-reconciler-shadow.js.map +0 -1
- package/dist/delivery-reconciler.d.ts +0 -217
- package/dist/delivery-reconciler.d.ts.map +0 -1
- package/dist/delivery-reconciler.js +0 -249
- package/dist/delivery-reconciler.js.map +0 -1
- package/dist/dependency-resolver.d.ts +0 -77
- package/dist/dependency-resolver.d.ts.map +0 -1
- package/dist/dependency-resolver.js.map +0 -1
- package/dist/directive-executor.d.ts +0 -37
- package/dist/directive-executor.d.ts.map +0 -1
- package/dist/directive-executor.js +0 -241
- package/dist/directive-executor.js.map +0 -1
- package/dist/discovery-poll.d.ts +0 -23
- package/dist/discovery-poll.d.ts.map +0 -1
- package/dist/discovery-poll.js +0 -99
- package/dist/discovery-poll.js.map +0 -1
- package/dist/drain-teardown.d.ts.map +0 -1
- package/dist/drain-teardown.js.map +0 -1
- package/dist/drift-eval-loop.d.ts +0 -71
- package/dist/drift-eval-loop.d.ts.map +0 -1
- package/dist/drift-eval-loop.js +0 -259
- package/dist/drift-eval-loop.js.map +0 -1
- package/dist/drift-evaluator.d.ts.map +0 -1
- package/dist/drift-evaluator.js.map +0 -1
- package/dist/drift-ratify-policy.d.ts.map +0 -1
- package/dist/drift-ratify-policy.js.map +0 -1
- package/dist/escalation-provenance.d.ts +0 -64
- package/dist/escalation-provenance.d.ts.map +0 -1
- package/dist/escalation-provenance.js +0 -200
- package/dist/escalation-provenance.js.map +0 -1
- package/dist/escalations.d.ts +0 -85
- package/dist/escalations.d.ts.map +0 -1
- package/dist/escalations.js +0 -91
- package/dist/escalations.js.map +0 -1
- package/dist/evaluation-context.d.ts.map +0 -1
- package/dist/evaluation-context.js +0 -44
- package/dist/evaluation-context.js.map +0 -1
- package/dist/external-hold.d.ts +0 -146
- package/dist/external-hold.d.ts.map +0 -1
- package/dist/external-hold.js +0 -223
- package/dist/external-hold.js.map +0 -1
- package/dist/focus-branch-ahead.d.ts +0 -42
- package/dist/focus-branch-ahead.d.ts.map +0 -1
- package/dist/focus-branch-ahead.js +0 -45
- package/dist/focus-branch-ahead.js.map +0 -1
- package/dist/focus-branch-identity.d.ts +0 -62
- package/dist/focus-branch-identity.d.ts.map +0 -1
- package/dist/focus-branch-identity.js +0 -59
- package/dist/focus-branch-identity.js.map +0 -1
- package/dist/focus-engine.d.ts +0 -74
- package/dist/focus-engine.d.ts.map +0 -1
- package/dist/focus-engine.js +0 -528
- package/dist/focus-engine.js.map +0 -1
- package/dist/focus-executor.d.ts +0 -80
- package/dist/focus-executor.d.ts.map +0 -1
- package/dist/focus-executor.js +0 -420
- package/dist/focus-executor.js.map +0 -1
- package/dist/focus-lifecycle.d.ts +0 -60
- package/dist/focus-lifecycle.d.ts.map +0 -1
- package/dist/focus-lifecycle.js +0 -537
- package/dist/focus-lifecycle.js.map +0 -1
- package/dist/focus-loop-registry.d.ts +0 -52
- package/dist/focus-loop-registry.d.ts.map +0 -1
- package/dist/focus-loop-registry.js +0 -362
- package/dist/focus-loop-registry.js.map +0 -1
- package/dist/focus-loop.d.ts +0 -96
- package/dist/focus-loop.d.ts.map +0 -1
- package/dist/focus-loop.js +0 -364
- package/dist/focus-loop.js.map +0 -1
- package/dist/focus-merge.d.ts +0 -131
- package/dist/focus-merge.d.ts.map +0 -1
- package/dist/focus-merge.js +0 -556
- package/dist/focus-merge.js.map +0 -1
- package/dist/focus-phase.d.ts.map +0 -1
- package/dist/focus-phase.js.map +0 -1
- package/dist/focus-prompt-builder.d.ts +0 -35
- package/dist/focus-prompt-builder.d.ts.map +0 -1
- package/dist/focus-prompt-builder.js +0 -119
- package/dist/focus-prompt-builder.js.map +0 -1
- package/dist/focus-provisioning.d.ts +0 -16
- package/dist/focus-provisioning.d.ts.map +0 -1
- package/dist/focus-provisioning.js +0 -122
- package/dist/focus-provisioning.js.map +0 -1
- package/dist/focus-respawn-guard.d.ts +0 -27
- package/dist/focus-respawn-guard.d.ts.map +0 -1
- package/dist/focus-respawn-guard.js +0 -77
- package/dist/focus-respawn-guard.js.map +0 -1
- package/dist/focus-stage-lifecycle.d.ts +0 -63
- package/dist/focus-stage-lifecycle.d.ts.map +0 -1
- package/dist/focus-stage-lifecycle.js +0 -179
- package/dist/focus-stage-lifecycle.js.map +0 -1
- package/dist/focus-team-state.d.ts +0 -94
- package/dist/focus-team-state.d.ts.map +0 -1
- package/dist/focus-team-state.js +0 -182
- package/dist/focus-team-state.js.map +0 -1
- package/dist/focus-worktree-state.d.ts +0 -58
- package/dist/focus-worktree-state.d.ts.map +0 -1
- package/dist/focus-worktree-state.js +0 -115
- package/dist/focus-worktree-state.js.map +0 -1
- package/dist/git/merge-helpers.d.ts +0 -48
- package/dist/git/merge-helpers.d.ts.map +0 -1
- package/dist/git/merge-helpers.js +0 -107
- package/dist/git/merge-helpers.js.map +0 -1
- package/dist/git/merge-strategies.d.ts +0 -49
- package/dist/git/merge-strategies.d.ts.map +0 -1
- package/dist/git/merge-strategies.js +0 -137
- package/dist/git/merge-strategies.js.map +0 -1
- package/dist/git.d.ts +0 -24
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -114
- package/dist/git.js.map +0 -1
- package/dist/gitignore-convergence.d.ts.map +0 -1
- package/dist/gitignore-convergence.js.map +0 -1
- package/dist/guard-engine.d.ts +0 -19
- package/dist/guard-engine.d.ts.map +0 -1
- package/dist/guard-engine.js +0 -20
- package/dist/guard-engine.js.map +0 -1
- package/dist/guard-evaluator.d.ts +0 -47
- package/dist/guard-evaluator.d.ts.map +0 -1
- package/dist/guard-evaluator.js +0 -195
- package/dist/guard-evaluator.js.map +0 -1
- package/dist/health-events.d.ts.map +0 -1
- package/dist/health-events.js.map +0 -1
- package/dist/heartbeat.d.ts +0 -165
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -501
- package/dist/heartbeat.js.map +0 -1
- package/dist/install-probe-tick.d.ts +0 -63
- package/dist/install-probe-tick.d.ts.map +0 -1
- package/dist/install-probe-tick.js +0 -139
- package/dist/install-probe-tick.js.map +0 -1
- package/dist/install-probe.d.ts.map +0 -1
- package/dist/install-probe.js.map +0 -1
- package/dist/intake-control.d.ts.map +0 -1
- package/dist/intake-control.js.map +0 -1
- package/dist/listener-auto-advance.d.ts +0 -115
- package/dist/listener-auto-advance.d.ts.map +0 -1
- package/dist/listener-auto-advance.js +0 -621
- package/dist/listener-auto-advance.js.map +0 -1
- package/dist/listener.d.ts +0 -101
- package/dist/listener.d.ts.map +0 -1
- package/dist/listener.js +0 -770
- package/dist/listener.js.map +0 -1
- package/dist/log-manager.d.ts +0 -18
- package/dist/log-manager.d.ts.map +0 -1
- package/dist/log-manager.js.map +0 -1
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/mcp-resolution.d.ts.map +0 -1
- package/dist/mcp-resolution.js.map +0 -1
- package/dist/merge-back-loop.d.ts +0 -109
- package/dist/merge-back-loop.d.ts.map +0 -1
- package/dist/merge-back-loop.js +0 -498
- package/dist/merge-back-loop.js.map +0 -1
- package/dist/merge-detector.d.ts +0 -55
- package/dist/merge-detector.d.ts.map +0 -1
- package/dist/merge-detector.js +0 -222
- package/dist/merge-detector.js.map +0 -1
- package/dist/merge-failure-classify.d.ts +0 -39
- package/dist/merge-failure-classify.d.ts.map +0 -1
- package/dist/merge-failure-classify.js +0 -58
- package/dist/merge-failure-classify.js.map +0 -1
- package/dist/model-resolution.d.ts.map +0 -1
- package/dist/model-resolution.js.map +0 -1
- package/dist/non-interactive-init.d.ts +0 -40
- package/dist/non-interactive-init.d.ts.map +0 -1
- package/dist/non-interactive-init.js.map +0 -1
- package/dist/onboarding-directive.d.ts.map +0 -1
- package/dist/onboarding-directive.js.map +0 -1
- package/dist/operator-hold.d.ts +0 -66
- package/dist/operator-hold.d.ts.map +0 -1
- package/dist/operator-hold.js +0 -99
- package/dist/operator-hold.js.map +0 -1
- package/dist/otlp/port-manager.d.ts +0 -26
- package/dist/otlp/port-manager.d.ts.map +0 -1
- package/dist/otlp/port-manager.js +0 -132
- package/dist/otlp/port-manager.js.map +0 -1
- package/dist/output-monitor.d.ts +0 -38
- package/dist/output-monitor.d.ts.map +0 -1
- package/dist/output-monitor.js +0 -92
- package/dist/output-monitor.js.map +0 -1
- package/dist/pipeline-config.d.ts +0 -72
- package/dist/pipeline-config.d.ts.map +0 -1
- package/dist/pipeline-config.js.map +0 -1
- package/dist/planning-prompt-builder.d.ts +0 -69
- package/dist/planning-prompt-builder.d.ts.map +0 -1
- package/dist/planning-prompt-builder.js +0 -517
- package/dist/planning-prompt-builder.js.map +0 -1
- package/dist/product-scaffold.d.ts +0 -56
- package/dist/product-scaffold.d.ts.map +0 -1
- package/dist/product-scaffold.js +0 -136
- package/dist/product-scaffold.js.map +0 -1
- package/dist/prompt-contradictions.d.ts.map +0 -1
- package/dist/prompt-contradictions.js.map +0 -1
- package/dist/prompt-listing.d.ts +0 -70
- package/dist/prompt-listing.d.ts.map +0 -1
- package/dist/prompt-listing.js.map +0 -1
- package/dist/realign-apply.d.ts +0 -65
- package/dist/realign-apply.d.ts.map +0 -1
- package/dist/realign-apply.js +0 -302
- package/dist/realign-apply.js.map +0 -1
- package/dist/reality-pole-capture.d.ts.map +0 -1
- package/dist/reality-pole-capture.js +0 -114
- package/dist/reality-pole-capture.js.map +0 -1
- package/dist/reality-pole.d.ts +0 -64
- package/dist/reality-pole.d.ts.map +0 -1
- package/dist/reality-pole.js +0 -101
- package/dist/reality-pole.js.map +0 -1
- package/dist/reality-writeback.d.ts.map +0 -1
- package/dist/reality-writeback.js.map +0 -1
- package/dist/resolver-dispatch.d.ts.map +0 -1
- package/dist/resolver-dispatch.js.map +0 -1
- package/dist/resolver-reach.d.ts +0 -192
- package/dist/resolver-reach.d.ts.map +0 -1
- package/dist/resolver-reach.js +0 -168
- package/dist/resolver-reach.js.map +0 -1
- package/dist/retention-observation.d.ts.map +0 -1
- package/dist/retention-observation.js.map +0 -1
- package/dist/retire-aware-restatement.d.ts.map +0 -1
- package/dist/retire-aware-restatement.js +0 -231
- package/dist/retire-aware-restatement.js.map +0 -1
- package/dist/review-defect-detector.d.ts +0 -82
- package/dist/review-defect-detector.d.ts.map +0 -1
- package/dist/review-defect-detector.js +0 -148
- package/dist/review-defect-detector.js.map +0 -1
- package/dist/review-spawn-coverage-guard.d.ts.map +0 -1
- package/dist/review-spawn-coverage-guard.js.map +0 -1
- package/dist/schema-version-gate.d.ts.map +0 -1
- package/dist/schema-version-gate.js +0 -220
- package/dist/schema-version-gate.js.map +0 -1
- package/dist/security-auto-inject.d.ts.map +0 -1
- package/dist/security-auto-inject.js +0 -168
- package/dist/security-auto-inject.js.map +0 -1
- package/dist/security-finding-gate.d.ts.map +0 -1
- package/dist/security-finding-gate.js +0 -84
- package/dist/security-finding-gate.js.map +0 -1
- package/dist/security-rescan-resolution.d.ts.map +0 -1
- package/dist/security-rescan-resolution.js +0 -117
- package/dist/security-rescan-resolution.js.map +0 -1
- package/dist/security-scan-engine.d.ts +0 -145
- package/dist/security-scan-engine.d.ts.map +0 -1
- package/dist/security-scan-engine.js +0 -271
- package/dist/security-scan-engine.js.map +0 -1
- package/dist/self-update.d.ts.map +0 -1
- package/dist/self-update.js +0 -565
- package/dist/self-update.js.map +0 -1
- package/dist/sensor-sweep.d.ts +0 -194
- package/dist/sensor-sweep.d.ts.map +0 -1
- package/dist/sensor-sweep.js +0 -458
- package/dist/sensor-sweep.js.map +0 -1
- package/dist/session-lineage.d.ts.map +0 -1
- package/dist/session-lineage.js.map +0 -1
- package/dist/session-stamp.d.ts +0 -63
- package/dist/session-stamp.d.ts.map +0 -1
- package/dist/session-stamp.js +0 -67
- package/dist/session-stamp.js.map +0 -1
- package/dist/shutdown-state.d.ts.map +0 -1
- package/dist/shutdown-state.js.map +0 -1
- package/dist/spawn-cooldown.d.ts.map +0 -1
- package/dist/spawn-cooldown.js +0 -53
- package/dist/spawn-cooldown.js.map +0 -1
- package/dist/spawn-environment.d.ts +0 -126
- package/dist/spawn-environment.d.ts.map +0 -1
- package/dist/spawn-environment.js +0 -177
- package/dist/spawn-environment.js.map +0 -1
- package/dist/spawn-sandbox.d.ts +0 -121
- package/dist/spawn-sandbox.d.ts.map +0 -1
- package/dist/spawn-sandbox.js.map +0 -1
- package/dist/spawner/guards.d.ts.map +0 -1
- package/dist/spawner/guards.js +0 -46
- package/dist/spawner/guards.js.map +0 -1
- package/dist/spawner/helpers.d.ts +0 -69
- package/dist/spawner/helpers.d.ts.map +0 -1
- package/dist/spawner/helpers.js +0 -215
- package/dist/spawner/helpers.js.map +0 -1
- package/dist/spawner/index.d.ts +0 -31
- package/dist/spawner/index.d.ts.map +0 -1
- package/dist/spawner/index.js +0 -39
- package/dist/spawner/index.js.map +0 -1
- package/dist/spawner/lifecycle.d.ts +0 -148
- package/dist/spawner/lifecycle.d.ts.map +0 -1
- package/dist/spawner/lifecycle.js +0 -413
- package/dist/spawner/lifecycle.js.map +0 -1
- package/dist/spawner/liveness.d.ts.map +0 -1
- package/dist/spawner/liveness.js +0 -41
- package/dist/spawner/liveness.js.map +0 -1
- package/dist/spawner/resolution.d.ts +0 -27
- package/dist/spawner/resolution.d.ts.map +0 -1
- package/dist/spawner/resolution.js +0 -101
- package/dist/spawner/resolution.js.map +0 -1
- package/dist/spawner/state.d.ts.map +0 -1
- package/dist/spawner/state.js.map +0 -1
- package/dist/spawner/stream-handlers.d.ts +0 -19
- package/dist/spawner/stream-handlers.d.ts.map +0 -1
- package/dist/spawner/stream-handlers.js +0 -34
- package/dist/spawner/stream-handlers.js.map +0 -1
- package/dist/spawner/worker-registry.d.ts.map +0 -1
- package/dist/spawner/worker-registry.js.map +0 -1
- package/dist/stage-classifier.d.ts +0 -32
- package/dist/stage-classifier.d.ts.map +0 -1
- package/dist/stage-classifier.js.map +0 -1
- package/dist/staleness-sensor.d.ts +0 -176
- package/dist/staleness-sensor.d.ts.map +0 -1
- package/dist/staleness-sensor.js +0 -335
- package/dist/staleness-sensor.js.map +0 -1
- package/dist/staleness.d.ts +0 -134
- package/dist/staleness.d.ts.map +0 -1
- package/dist/staleness.js +0 -249
- package/dist/staleness.js.map +0 -1
- package/dist/stall-detector-config.d.ts.map +0 -1
- package/dist/stall-detector-config.js.map +0 -1
- package/dist/stall-detectors.d.ts +0 -196
- package/dist/stall-detectors.d.ts.map +0 -1
- package/dist/stall-detectors.js +0 -348
- package/dist/stall-detectors.js.map +0 -1
- package/dist/state-cascade.d.ts +0 -90
- package/dist/state-cascade.d.ts.map +0 -1
- package/dist/state-cascade.js +0 -230
- package/dist/state-cascade.js.map +0 -1
- package/dist/stop-request.d.ts.map +0 -1
- package/dist/stop-request.js.map +0 -1
- package/dist/supabase.d.ts +0 -38
- package/dist/supabase.d.ts.map +0 -1
- package/dist/supabase.js +0 -52
- package/dist/supabase.js.map +0 -1
- package/dist/task-converter.d.ts +0 -61
- package/dist/task-converter.d.ts.map +0 -1
- package/dist/task-converter.js.map +0 -1
- package/dist/task-dag-builder.d.ts +0 -14
- package/dist/task-dag-builder.d.ts.map +0 -1
- package/dist/task-dag-builder.js +0 -17
- package/dist/task-dag-builder.js.map +0 -1
- package/dist/team-prompt-base.d.ts +0 -43
- package/dist/team-prompt-base.d.ts.map +0 -1
- package/dist/team-prompt-base.js +0 -123
- package/dist/team-prompt-base.js.map +0 -1
- package/dist/telemetry-writer.d.ts +0 -89
- package/dist/telemetry-writer.d.ts.map +0 -1
- package/dist/telemetry-writer.js +0 -212
- package/dist/telemetry-writer.js.map +0 -1
- package/dist/trigger-executor.d.ts +0 -85
- package/dist/trigger-executor.d.ts.map +0 -1
- package/dist/trigger-executor.js +0 -437
- package/dist/trigger-executor.js.map +0 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -9
- package/dist/types.js.map +0 -1
- package/dist/unified-engine-lifecycle.d.ts +0 -186
- package/dist/unified-engine-lifecycle.d.ts.map +0 -1
- package/dist/unified-engine-lifecycle.js +0 -594
- package/dist/unified-engine-lifecycle.js.map +0 -1
- package/dist/unified-init.d.ts +0 -86
- package/dist/unified-init.d.ts.map +0 -1
- package/dist/unified-init.js +0 -313
- package/dist/unified-init.js.map +0 -1
- package/dist/unified-shell-config.d.ts +0 -103
- package/dist/unified-shell-config.d.ts.map +0 -1
- package/dist/unified-shell-config.js.map +0 -1
- package/dist/unified-shell-provisioning.d.ts.map +0 -1
- package/dist/unified-shell-provisioning.js +0 -277
- package/dist/unified-shell-provisioning.js.map +0 -1
- package/dist/unified-shell-status.d.ts.map +0 -1
- package/dist/unified-shell-status.js +0 -143
- package/dist/unified-shell-status.js.map +0 -1
- package/dist/unified-shell.d.ts.map +0 -1
- package/dist/unified-shell.js +0 -583
- package/dist/unified-shell.js.map +0 -1
- package/dist/verification-baseline.d.ts +0 -112
- package/dist/verification-baseline.d.ts.map +0 -1
- package/dist/verification-baseline.js +0 -267
- package/dist/verification-baseline.js.map +0 -1
- package/dist/verification-config.d.ts +0 -146
- package/dist/verification-config.d.ts.map +0 -1
- package/dist/verification-config.js.map +0 -1
- package/dist/verification-default-on.d.ts +0 -159
- package/dist/verification-default-on.d.ts.map +0 -1
- package/dist/verification-default-on.js +0 -272
- package/dist/verification-default-on.js.map +0 -1
- package/dist/verification-deps.d.ts +0 -190
- package/dist/verification-deps.d.ts.map +0 -1
- package/dist/verification-deps.js.map +0 -1
- package/dist/verification-deterministic.d.ts +0 -56
- package/dist/verification-deterministic.d.ts.map +0 -1
- package/dist/verification-deterministic.js +0 -153
- package/dist/verification-deterministic.js.map +0 -1
- package/dist/verification-engine.d.ts +0 -94
- package/dist/verification-engine.d.ts.map +0 -1
- package/dist/verification-engine.js +0 -716
- package/dist/verification-engine.js.map +0 -1
- package/dist/verification-evidence.d.ts +0 -106
- package/dist/verification-evidence.d.ts.map +0 -1
- package/dist/verification-evidence.js +0 -159
- package/dist/verification-evidence.js.map +0 -1
- package/dist/verification-failure-parser.d.ts.map +0 -1
- package/dist/verification-failure-parser.js.map +0 -1
- package/dist/verification-feedback.d.ts +0 -173
- package/dist/verification-feedback.d.ts.map +0 -1
- package/dist/verification-feedback.js +0 -442
- package/dist/verification-feedback.js.map +0 -1
- package/dist/verification-manifest.d.ts.map +0 -1
- package/dist/verification-manifest.js.map +0 -1
- package/dist/verify-reconciliation.d.ts.map +0 -1
- package/dist/verify-reconciliation.js.map +0 -1
- package/dist/verify-restatement.d.ts.map +0 -1
- package/dist/verify-restatement.js +0 -167
- package/dist/verify-restatement.js.map +0 -1
- package/dist/version-check.d.ts.map +0 -1
- package/dist/version-check.js +0 -115
- package/dist/version-check.js.map +0 -1
- package/dist/worker-pidfile.d.ts.map +0 -1
- package/dist/worker-pidfile.js.map +0 -1
- package/dist/workflow-engine.d.ts +0 -95
- package/dist/workflow-engine.d.ts.map +0 -1
- package/dist/workflow-engine.js.map +0 -1
- package/dist/worktree.d.ts +0 -147
- package/dist/worktree.d.ts.map +0 -1
- package/dist/worktree.js +0 -467
- package/dist/worktree.js.map +0 -1
- /package/dist/{audit-prompt.d.ts → audit/audit-prompt.d.ts} +0 -0
- /package/dist/{audit-prompt.js → audit/audit-prompt.js} +0 -0
- /package/dist/{audit-shape.d.ts → audit/audit-shape.d.ts} +0 -0
- /package/dist/{audit-shape.js → audit/audit-shape.js} +0 -0
- /package/dist/{ci-escalation.d.ts → ci/ci-escalation.d.ts} +0 -0
- /package/dist/{ci-status.js → ci/ci-status.js} +0 -0
- /package/dist/{review-spawn-coverage-guard.d.ts → completion/review-spawn-coverage-guard.d.ts} +0 -0
- /package/dist/{review-spawn-coverage-guard.js → completion/review-spawn-coverage-guard.js} +0 -0
- /package/dist/{context-audit.js → context/context-audit.js} +0 -0
- /package/dist/{context-lock.js → context/context-lock.js} +0 -0
- /package/dist/{delivery-reconciler-apply.d.ts → delivery/delivery-reconciler-apply.d.ts} +0 -0
- /package/dist/{resolver-dispatch.d.ts → directive/resolver-dispatch.d.ts} +0 -0
- /package/dist/{resolver-dispatch.js → directive/resolver-dispatch.js} +0 -0
- /package/dist/{drift-evaluator.d.ts → drift/drift-evaluator.d.ts} +0 -0
- /package/dist/{drift-evaluator.js → drift/drift-evaluator.js} +0 -0
- /package/dist/{drift-ratify-policy.d.ts → drift/drift-ratify-policy.d.ts} +0 -0
- /package/dist/{drift-ratify-policy.js → drift/drift-ratify-policy.js} +0 -0
- /package/dist/{retention-observation.d.ts → drift/retention-observation.d.ts} +0 -0
- /package/dist/{retention-observation.js → drift/retention-observation.js} +0 -0
- /package/dist/{focus-phase.d.ts → focus/focus-phase.d.ts} +0 -0
- /package/dist/{focus-phase.js → focus/focus-phase.js} +0 -0
- /package/dist/{evaluation-context.d.ts → guard/evaluation-context.d.ts} +0 -0
- /package/dist/{onboarding-directive.d.ts → prompt/onboarding-directive.d.ts} +0 -0
- /package/dist/{onboarding-directive.js → prompt/onboarding-directive.js} +0 -0
- /package/dist/{prompt-contradictions.d.ts → prompt/prompt-contradictions.d.ts} +0 -0
- /package/dist/{prompt-contradictions.js → prompt/prompt-contradictions.js} +0 -0
- /package/dist/{prompt-listing.js → prompt/prompt-listing.js} +0 -0
- /package/dist/{reality-pole-capture.d.ts → reality/reality-pole-capture.d.ts} +0 -0
- /package/dist/{reality-writeback.d.ts → reality/reality-writeback.d.ts} +0 -0
- /package/dist/{reality-writeback.js → reality/reality-writeback.js} +0 -0
- /package/dist/{security-auto-inject.d.ts → security/security-auto-inject.d.ts} +0 -0
- /package/dist/{security-finding-gate.d.ts → security/security-finding-gate.d.ts} +0 -0
- /package/dist/{security-rescan-resolution.d.ts → security/security-rescan-resolution.d.ts} +0 -0
- /package/dist/{session-lineage.d.ts → session/session-lineage.d.ts} +0 -0
- /package/dist/{session-lineage.js → session/session-lineage.js} +0 -0
- /package/dist/{activity-tracker.d.ts → shell/activity-tracker.d.ts} +0 -0
- /package/dist/{agent-state.d.ts → shell/agent-state.d.ts} +0 -0
- /package/dist/{agent-state.js → shell/agent-state.js} +0 -0
- /package/dist/{auth-liveness.d.ts → shell/auth-liveness.d.ts} +0 -0
- /package/dist/{auth-liveness.js → shell/auth-liveness.js} +0 -0
- /package/dist/{config-hot-reload.js → shell/config-hot-reload.js} +0 -0
- /package/dist/{constants.d.ts → shell/constants.d.ts} +0 -0
- /package/dist/{constants.js → shell/constants.js} +0 -0
- /package/dist/{daemon-logs.d.ts → shell/daemon-logs.d.ts} +0 -0
- /package/dist/{daemon-logs.js → shell/daemon-logs.js} +0 -0
- /package/dist/{daemon-process.d.ts → shell/daemon-process.d.ts} +0 -0
- /package/dist/{daemon-readiness.d.ts → shell/daemon-readiness.d.ts} +0 -0
- /package/dist/{daemon-readiness.js → shell/daemon-readiness.js} +0 -0
- /package/dist/{drain-teardown.d.ts → shell/drain-teardown.d.ts} +0 -0
- /package/dist/{drain-teardown.js → shell/drain-teardown.js} +0 -0
- /package/dist/{gitignore-convergence.d.ts → shell/gitignore-convergence.d.ts} +0 -0
- /package/dist/{gitignore-convergence.js → shell/gitignore-convergence.js} +0 -0
- /package/dist/{health-events.d.ts → shell/health-events.d.ts} +0 -0
- /package/dist/{health-events.js → shell/health-events.js} +0 -0
- /package/dist/{install-probe.d.ts → shell/install-probe.d.ts} +0 -0
- /package/dist/{install-probe.js → shell/install-probe.js} +0 -0
- /package/dist/{intake-control.d.ts → shell/intake-control.d.ts} +0 -0
- /package/dist/{intake-control.js → shell/intake-control.js} +0 -0
- /package/dist/{log-manager.js → shell/log-manager.js} +0 -0
- /package/dist/{log.d.ts → shell/log.d.ts} +0 -0
- /package/dist/{log.js → shell/log.js} +0 -0
- /package/dist/{mcp-resolution.d.ts → shell/mcp-resolution.d.ts} +0 -0
- /package/dist/{mcp-resolution.js → shell/mcp-resolution.js} +0 -0
- /package/dist/{model-resolution.d.ts → shell/model-resolution.d.ts} +0 -0
- /package/dist/{model-resolution.js → shell/model-resolution.js} +0 -0
- /package/dist/{non-interactive-init.js → shell/non-interactive-init.js} +0 -0
- /package/dist/{schema-version-gate.d.ts → shell/schema-version-gate.d.ts} +0 -0
- /package/dist/{shutdown-state.d.ts → shell/shutdown-state.d.ts} +0 -0
- /package/dist/{shutdown-state.js → shell/shutdown-state.js} +0 -0
- /package/dist/{stop-request.d.ts → shell/stop-request.d.ts} +0 -0
- /package/dist/{stop-request.js → shell/stop-request.js} +0 -0
- /package/dist/{unified-shell-config.js → shell/unified-shell-config.js} +0 -0
- /package/dist/{unified-shell-provisioning.d.ts → shell/unified-shell-provisioning.d.ts} +0 -0
- /package/dist/{unified-shell-status.d.ts → shell/unified-shell-status.d.ts} +0 -0
- /package/dist/{unified-shell.d.ts → shell/unified-shell.d.ts} +0 -0
- /package/dist/{worker-pidfile.d.ts → shell/worker-pidfile.d.ts} +0 -0
- /package/dist/{worker-pidfile.js → shell/worker-pidfile.js} +0 -0
- /package/dist/{dag-validator.js → spawn/dag-validator.js} +0 -0
- /package/dist/{dependency-resolver.js → spawn/dependency-resolver.js} +0 -0
- /package/dist/{spawner → spawn}/guards.d.ts +0 -0
- /package/dist/{spawner → spawn}/liveness.d.ts +0 -0
- /package/dist/{spawn-cooldown.d.ts → spawn/spawn-cooldown.d.ts} +0 -0
- /package/dist/{spawn-sandbox.js → spawn/spawn-sandbox.js} +0 -0
- /package/dist/{spawner → spawn}/state.d.ts +0 -0
- /package/dist/{spawner → spawn}/state.js +0 -0
- /package/dist/{task-converter.js → spawn/task-converter.js} +0 -0
- /package/dist/{spawner → spawn}/worker-registry.d.ts +0 -0
- /package/dist/{spawner → spawn}/worker-registry.js +0 -0
- /package/dist/{auto-update-idle.d.ts → update/auto-update-idle.d.ts} +0 -0
- /package/dist/{auto-update-idle.js → update/auto-update-idle.js} +0 -0
- /package/dist/{auto-update.d.ts → update/auto-update.d.ts} +0 -0
- /package/dist/{build-info.d.ts → update/build-info.d.ts} +0 -0
- /package/dist/{build-info.js → update/build-info.js} +0 -0
- /package/dist/{capability-pointer.d.ts → update/capability-pointer.d.ts} +0 -0
- /package/dist/{capability-pointer.js → update/capability-pointer.js} +0 -0
- /package/dist/{self-update.d.ts → update/self-update.d.ts} +0 -0
- /package/dist/{version-check.d.ts → update/version-check.d.ts} +0 -0
- /package/dist/{ai-inspection-runner.d.ts → verify/ai-inspection-runner.d.ts} +0 -0
- /package/dist/{cascade-restatement.d.ts → verify/cascade-restatement.d.ts} +0 -0
- /package/dist/{cascade-restatement.js → verify/cascade-restatement.js} +0 -0
- /package/dist/{de-restatement.d.ts → verify/de-restatement.d.ts} +0 -0
- /package/dist/{retire-aware-restatement.d.ts → verify/retire-aware-restatement.d.ts} +0 -0
- /package/dist/{stall-detector-config.d.ts → verify/stall-detector-config.d.ts} +0 -0
- /package/dist/{stall-detector-config.js → verify/stall-detector-config.js} +0 -0
- /package/dist/{verification-config.js → verify/verification-config.js} +0 -0
- /package/dist/{verification-deps.js → verify/verification-deps.js} +0 -0
- /package/dist/{verification-failure-parser.d.ts → verify/verification-failure-parser.d.ts} +0 -0
- /package/dist/{verification-failure-parser.js → verify/verification-failure-parser.js} +0 -0
- /package/dist/{verification-manifest.d.ts → verify/verification-manifest.d.ts} +0 -0
- /package/dist/{verification-manifest.js → verify/verification-manifest.js} +0 -0
- /package/dist/{verify-reconciliation.d.ts → verify/verify-reconciliation.d.ts} +0 -0
- /package/dist/{verify-reconciliation.js → verify/verify-reconciliation.js} +0 -0
- /package/dist/{verify-restatement.d.ts → verify/verify-restatement.d.ts} +0 -0
- /package/dist/{pipeline-config.js → workflow/pipeline-config.js} +0 -0
- /package/dist/{stage-classifier.js → workflow/stage-classifier.js} +0 -0
- /package/dist/{workflow-engine.js → workflow/workflow-engine.js} +0 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-writer delivery reconciler (PURE).
|
|
3
|
+
*
|
|
4
|
+
* Delivery 3 of the Delivery Execution Pathway Consolidation focus
|
|
5
|
+
* (reality-tree injection #10: "Delivery execution_status has exactly one
|
|
6
|
+
* writer -- the daemon reconciler; every transition flows through it").
|
|
7
|
+
*
|
|
8
|
+
* This module is the consolidation's center of gravity: ONE pure function that
|
|
9
|
+
* computes the single next execution_status the daemon should write, plus ONE
|
|
10
|
+
* shared "issues are done" predicate that replaces the divergent copies spread
|
|
11
|
+
* across the live writers (advanceDeliveryStage / advanceDeliveryStatuses /
|
|
12
|
+
* runReviewExitHandler / checkDeliveryAutoAdvance / checkVerifyDeliveriesForOpenIssues).
|
|
13
|
+
*
|
|
14
|
+
* That claim is now TRUE of every named writer AND mechanically enforced: each
|
|
15
|
+
* of the five routes its status decision through `resolveReconciledWrite`
|
|
16
|
+
* (delivery-reconciler-apply.ts) over the delivery's REAL issue list, and uses
|
|
17
|
+
* the shared OPEN_ISSUE_STATUSES / areDeliveryIssuesDone predicate -- no writer
|
|
18
|
+
* synthesizes issues from a count, carries a `!TERMINAL_ISSUE_STATUSES.has`
|
|
19
|
+
* open-work predicate, or keeps a superseded status write. The gate that keeps
|
|
20
|
+
* this header honest is `npm run lint:reconciler-single-writer`
|
|
21
|
+
* (scripts/lint-reconciler-single-writer.mjs, wired into lint:all): it fails if
|
|
22
|
+
* any named writer reintroduces its own derivation, or if this header names a
|
|
23
|
+
* writer that no longer exists. Keep the "live writers ( ... )" list above
|
|
24
|
+
* accurate -- the gate parses it.
|
|
25
|
+
*
|
|
26
|
+
* It is deliberately PURE -- no I/O, no supabase, no git. Callers gather the
|
|
27
|
+
* signal (issues, worktree-committed flag, guard verdict, review state) and
|
|
28
|
+
* pass it in; the reconciler only computes. This is what makes it
|
|
29
|
+
* shadow-testable: run it alongside the live path, compare its target to the
|
|
30
|
+
* live status, log divergence, write nothing (see delivery-reconciler-shadow.ts).
|
|
31
|
+
*
|
|
32
|
+
* The behavior here MIRRORS the CURRENT live writers as pinned by the
|
|
33
|
+
* Delivery 2 characterization suite
|
|
34
|
+
* (__tests__/delivery-state-machine-characterization.test.ts). It characterizes
|
|
35
|
+
* what the system does today, not an idealized target -- the shadow phase exists
|
|
36
|
+
* precisely to prove parity before any cutover.
|
|
37
|
+
*
|
|
38
|
+
* The coding -> queued re-queue edge (open work at team exit -> re-queue) is
|
|
39
|
+
* present in EXECUTION_STATUS_TRANSITIONS as of the D5 cleanup. `result.canonical`
|
|
40
|
+
* flags transitions NOT in the canonical map; the coding -> queued edge now
|
|
41
|
+
* resolves to `canonical=true`.
|
|
42
|
+
*/
|
|
43
|
+
import { OPEN_ISSUE_STATUSES, filterWorkIssues } from '../shell/constants.js';
|
|
44
|
+
import { DELIVERY_STATUS, isValidTransition } from '@telora/daemon-core';
|
|
45
|
+
// ── Shared predicate (the single definition) ─────────────────────────
|
|
46
|
+
/**
|
|
47
|
+
* THE shared "issues are done" predicate. A delivery's work is done when none
|
|
48
|
+
* of its work issues (Tasks/Bugs, excluding Context Groups) are in an OPEN
|
|
49
|
+
* status. OPEN = {To Do, In Progress, Blocked}; 'In Review' and 'Verified' are
|
|
50
|
+
* terminal here -- this is the daemon predicate, deliberately chosen as the
|
|
51
|
+
* single source of truth over the Postgres auto_close predicate (which requires
|
|
52
|
+
* every issue to be literally 'Done'). A delivery with zero work issues is
|
|
53
|
+
* vacuously done.
|
|
54
|
+
*
|
|
55
|
+
* This is the ONE open-work predicate every delivery writer consumes. It is
|
|
56
|
+
* built on the shared OPEN_ISSUE_STATUSES set (constants.ts). advanceDeliveryStatuses
|
|
57
|
+
* previously computed its open count from `!TERMINAL_ISSUE_STATUSES.has` (now
|
|
58
|
+
* collapsed onto OPEN_ISSUE_STATUSES), and an `ACTIVE_WORK_STATUSES` copy that
|
|
59
|
+
* duplicated the same set has been deleted -- there is no longer a second
|
|
60
|
+
* membership definition to drift against.
|
|
61
|
+
*/
|
|
62
|
+
export function areDeliveryIssuesDone(issues) {
|
|
63
|
+
const work = filterWorkIssues([...issues]);
|
|
64
|
+
if (work.length === 0)
|
|
65
|
+
return true;
|
|
66
|
+
return work.every(i => !OPEN_ISSUE_STATUSES.has(i.status));
|
|
67
|
+
}
|
|
68
|
+
/** Whether the delivery has at least one work issue (Task/Bug). */
|
|
69
|
+
export function hasWorkIssues(issues) {
|
|
70
|
+
return filterWorkIssues([...issues]).length > 0;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Whether any work issue is in an OPEN (active) status. This is the routing
|
|
74
|
+
* signal for verify -> verify_failed (open work on a verify delivery) and the
|
|
75
|
+
* coding/verify_failed re-queue (open work re-queues). Mirror image of
|
|
76
|
+
* areDeliveryIssuesDone for deliveries that have work.
|
|
77
|
+
*/
|
|
78
|
+
export function hasOpenWork(issues) {
|
|
79
|
+
return filterWorkIssues([...issues]).some(i => OPEN_ISSUE_STATUSES.has(i.status));
|
|
80
|
+
}
|
|
81
|
+
/** Whether any work issue is actively In Progress -- the queued -> coding driver. */
|
|
82
|
+
export function hasActiveWork(issues) {
|
|
83
|
+
return filterWorkIssues([...issues]).some(i => i.status === 'In Progress');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Whether any work issue is BLOCKING open work: open (To Do / In Progress /
|
|
87
|
+
* Blocked) AND not a deferrable review note. This is the verify -> verify_failed
|
|
88
|
+
* routing signal: a verify delivery whose only open work is deferrable
|
|
89
|
+
* low-severity review notes converges (approve) instead of re-coding. With no
|
|
90
|
+
* issue marked `deferrable` this is identical to hasOpenWork, so every
|
|
91
|
+
* non-classifying caller keeps its current behavior.
|
|
92
|
+
*/
|
|
93
|
+
export function hasBlockingOpenWork(issues) {
|
|
94
|
+
return filterWorkIssues([...issues])
|
|
95
|
+
.some(i => OPEN_ISSUE_STATUSES.has(i.status) && !i.deferrable);
|
|
96
|
+
}
|
|
97
|
+
// ── Discovery-only determination (two signals) ───────────────────────
|
|
98
|
+
// The audit-shape predicates live in the dependency-free `audit-shape.ts` module
|
|
99
|
+
// (no `@telora/daemon-core`) so listener-auto-advance / completion can import
|
|
100
|
+
// them without pulling the reconciler's daemon-core chain. Re-exported here for
|
|
101
|
+
// back-compat with importers that reach for them via delivery-reconciler.
|
|
102
|
+
export { isAuditPhaseFocus, isDiscoveryOnlyDelivery, } from '../audit/audit-shape.js';
|
|
103
|
+
// ── The reconciler ───────────────────────────────────────────────────
|
|
104
|
+
function result(currentStatus, target, reason) {
|
|
105
|
+
const changed = target !== currentStatus;
|
|
106
|
+
return {
|
|
107
|
+
target,
|
|
108
|
+
changed,
|
|
109
|
+
reason,
|
|
110
|
+
canonical: !changed || isValidTransition(currentStatus, target),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Compute the single next execution_status for a delivery from its full signal.
|
|
115
|
+
*
|
|
116
|
+
* Faithful to the current live writers (Delivery 2 characterization):
|
|
117
|
+
* - queued : has work + all done -> coding (step toward verify);
|
|
118
|
+
* has work + active -> coding (work started);
|
|
119
|
+
* otherwise -> stay (scoping gate / not started).
|
|
120
|
+
* - coding : open work -> queued (re-queue);
|
|
121
|
+
* no work issues (non-discovery) -> queued (empty-delivery scoping
|
|
122
|
+
* gate: never advance an issue-less delivery to
|
|
123
|
+
* verify on the vacuous all-done truth);
|
|
124
|
+
* all done + uncommitted worktree -> stay coding (git-safety gate);
|
|
125
|
+
* all done + committed + guard blocked -> paused;
|
|
126
|
+
* all done + committed -> verify.
|
|
127
|
+
* - verify : blocking open work -> verify_failed (deferrable low-severity
|
|
128
|
+
* review notes do NOT block -> converge);
|
|
129
|
+
* guard blocked -> paused;
|
|
130
|
+
* verdict gaps_found -> verify_failed (never converge on an
|
|
131
|
+
* unresolved verdict);
|
|
132
|
+
* report exists -> done;
|
|
133
|
+
* clean review session -> done (auto-approve);
|
|
134
|
+
* otherwise -> stay verify (awaiting review outcome).
|
|
135
|
+
* - verify_failed : open work -> queued (re-queue);
|
|
136
|
+
* all done -> coding (re-iterate).
|
|
137
|
+
* - draft/planning/paused/done/cancelled : stay (out of reconciler scope;
|
|
138
|
+
* paused is cleared by a human re-queue, terminal states are final).
|
|
139
|
+
*/
|
|
140
|
+
export function reconcileDeliveryStatus(input) {
|
|
141
|
+
const { currentStatus, issues, gitState, guardVerdict, reviewState, discoveryOnly } = input;
|
|
142
|
+
const allDone = areDeliveryIssuesDone(issues);
|
|
143
|
+
const openWork = hasOpenWork(issues);
|
|
144
|
+
const hasWork = hasWorkIssues(issues);
|
|
145
|
+
switch (currentStatus) {
|
|
146
|
+
case DELIVERY_STATUS.QUEUED: {
|
|
147
|
+
if (!hasWork) {
|
|
148
|
+
// Discovery-only deliveries are exempt from the scoping gate: with no
|
|
149
|
+
// work issues they step toward a terminal state instead of wedging.
|
|
150
|
+
if (discoveryOnly) {
|
|
151
|
+
return result(currentStatus, DELIVERY_STATUS.CODING, 'discovery-only delivery, no scoping required -> advance toward terminal');
|
|
152
|
+
}
|
|
153
|
+
return result(currentStatus, DELIVERY_STATUS.QUEUED, 'no work issues yet (scoping gate holds queued)');
|
|
154
|
+
}
|
|
155
|
+
if (allDone) {
|
|
156
|
+
return result(currentStatus, DELIVERY_STATUS.CODING, 'queued with all work terminal -> step to coding before advancing');
|
|
157
|
+
}
|
|
158
|
+
if (hasActiveWork(issues)) {
|
|
159
|
+
return result(currentStatus, DELIVERY_STATUS.CODING, 'work in progress -> coding');
|
|
160
|
+
}
|
|
161
|
+
return result(currentStatus, DELIVERY_STATUS.QUEUED, 'work not started -> stay queued');
|
|
162
|
+
}
|
|
163
|
+
case DELIVERY_STATUS.CODING: {
|
|
164
|
+
if (openWork) {
|
|
165
|
+
return result(currentStatus, DELIVERY_STATUS.QUEUED, 'open work remains -> re-queue');
|
|
166
|
+
}
|
|
167
|
+
// Empty-delivery scoping gate: a delivery with NO work issues must never
|
|
168
|
+
// advance coding -> verify on the vacuous "all issues done" truth
|
|
169
|
+
// (areDeliveryIssuesDone is true over an empty set). An unscoped delivery
|
|
170
|
+
// that reached coding rests back at queued so a team scopes it, instead of
|
|
171
|
+
// rocketing to verify and generating verify_evidence_unavailable about work
|
|
172
|
+
// that never began (2026-07-27 incident). Discovery-only deliveries (audit
|
|
173
|
+
// findings; their contract is Context Groups, not Task/Bug) are EXEMPT and
|
|
174
|
+
// still walk to their terminal -- the only caller that walks an empty
|
|
175
|
+
// delivery forward, checkDeliveryAutoAdvance, passes discoveryOnly=true and
|
|
176
|
+
// gates it on resolved Context Group findings.
|
|
177
|
+
if (!hasWork && !discoveryOnly) {
|
|
178
|
+
return result(currentStatus, DELIVERY_STATUS.QUEUED, 'no work issues (scoping gate) -> re-queue to queued (never advance an empty delivery to verify)');
|
|
179
|
+
}
|
|
180
|
+
if (!gitState.worktreeCommitted) {
|
|
181
|
+
return result(currentStatus, DELIVERY_STATUS.CODING, 'all work done but worktree has uncommitted changes -> git-safety gate holds in coding');
|
|
182
|
+
}
|
|
183
|
+
if (guardVerdict?.blocked) {
|
|
184
|
+
return result(currentStatus, DELIVERY_STATUS.PAUSED, 'guard blocked coding->verify -> paused');
|
|
185
|
+
}
|
|
186
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY, 'all work done + worktree committed -> verify');
|
|
187
|
+
}
|
|
188
|
+
case DELIVERY_STATUS.VERIFY: {
|
|
189
|
+
// Only BLOCKING open work falls a verify delivery. A delivery whose only
|
|
190
|
+
// open work is deferrable low-severity review notes converges (approve)
|
|
191
|
+
// rather than re-coding -- the notes stay tracked but do not churn the
|
|
192
|
+
// verify gate. Non-classified issues are blocking by default, so this is
|
|
193
|
+
// identical to the raw open-work check for every other caller.
|
|
194
|
+
if (hasBlockingOpenWork(issues)) {
|
|
195
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY_FAILED, 'blocking open work on a verify delivery -> verify_failed');
|
|
196
|
+
}
|
|
197
|
+
if (guardVerdict?.blocked) {
|
|
198
|
+
return result(currentStatus, DELIVERY_STATUS.PAUSED, 'verify->done gate blocked -> paused');
|
|
199
|
+
}
|
|
200
|
+
// A discovery-only delivery has no review to await -- its findings ARE the
|
|
201
|
+
// output. With no blocking work it converges to done (completing the
|
|
202
|
+
// canonical walk queued->coding->verify->done).
|
|
203
|
+
if (discoveryOnly) {
|
|
204
|
+
return result(currentStatus, DELIVERY_STATUS.DONE, 'discovery-only delivery, discovery complete -> done');
|
|
205
|
+
}
|
|
206
|
+
// The verdict is authoritative: a gaps_found review can NEVER converge to
|
|
207
|
+
// done. If gaps_found came with blocking issues the hasBlockingOpenWork
|
|
208
|
+
// branch above already routed; reaching here means gaps_found with no
|
|
209
|
+
// blocking work -- a routing inconsistency (gaps reported, no actionable
|
|
210
|
+
// issue filed). Route to verify_failed anyway; the handler files the
|
|
211
|
+
// inconsistency escalation. This sits BEFORE the reportExists/auto-approve
|
|
212
|
+
// done branches precisely because a gaps_found report has reportExists=true.
|
|
213
|
+
if (reviewState?.outcome === 'gaps_found') {
|
|
214
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY_FAILED, 'review verdict gaps_found -> verify_failed (never converge to done on an unresolved verdict)');
|
|
215
|
+
}
|
|
216
|
+
if (reviewState?.reportExists) {
|
|
217
|
+
return result(currentStatus, DELIVERY_STATUS.DONE, 'explicit review report present -> done');
|
|
218
|
+
}
|
|
219
|
+
if (reviewState?.sessionType === 'review' && reviewState.succeeded) {
|
|
220
|
+
// Silence approves ONLY with positive evidence of inspection. A clean
|
|
221
|
+
// review session that did no review work (inspected === false -- zero
|
|
222
|
+
// tool activity) is a BLIND gate, not a passing review: "the absence of
|
|
223
|
+
// filed defects decides nothing". Route it to the bounded verify_failed
|
|
224
|
+
// re-work (same bounded path the verify-side evidence-unavailable case
|
|
225
|
+
// uses) rather than converging an uninspected pass to the irreversible
|
|
226
|
+
// done. inspected undefined preserves the legacy auto-approve for
|
|
227
|
+
// callers predating the signal; production always passes an explicit
|
|
228
|
+
// boolean.
|
|
229
|
+
if (reviewState.inspected === false) {
|
|
230
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY_FAILED, 'clean review session with no inspection evidence -> verify_failed (blind gate, bounded re-work)');
|
|
231
|
+
}
|
|
232
|
+
return result(currentStatus, DELIVERY_STATUS.DONE, 'clean review session, no report -> done (auto-approve)');
|
|
233
|
+
}
|
|
234
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY, 'no open work, awaiting review outcome -> stay verify');
|
|
235
|
+
}
|
|
236
|
+
case DELIVERY_STATUS.VERIFY_FAILED: {
|
|
237
|
+
if (openWork) {
|
|
238
|
+
return result(currentStatus, DELIVERY_STATUS.QUEUED, 'verify_failed with open work -> re-queue');
|
|
239
|
+
}
|
|
240
|
+
return result(currentStatus, DELIVERY_STATUS.CODING, 'verify_failed, work done -> coding (re-iterate)');
|
|
241
|
+
}
|
|
242
|
+
// draft / planning / paused / done / cancelled: not driven by the
|
|
243
|
+
// issue-rollup reconciler. paused is cleared by a human re-queue;
|
|
244
|
+
// terminal states are final.
|
|
245
|
+
default:
|
|
246
|
+
return result(currentStatus, currentStatus, `status '${currentStatus}' is not reconciler-driven -> stay`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=delivery-reconciler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-reconciler.js","sourceRoot":"","sources":["../../src/delivery/delivery-reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External-hold gate: an irreducibly-external dependency is durable STATE on
|
|
3
|
+
* the delivery, not an inbox event.
|
|
4
|
+
*
|
|
5
|
+
* Some work is outside every capability Telora could ever build -- rotating
|
|
6
|
+
* credentials at a provider a third party owns is the live example: no code and
|
|
7
|
+
* no execution surface reaches those accounts. Filed as an agent_escalations
|
|
8
|
+
* row it becomes an event on a queue it can never leave under its own power --
|
|
9
|
+
* an unanswered question forever, and (because it persists) it forces dedup
|
|
10
|
+
* machinery, which is itself the tell that the shape is wrong.
|
|
11
|
+
*
|
|
12
|
+
* This module represents that class as a declared hold on external reality,
|
|
13
|
+
* carried in the delivery's `gate_state` JSONB (the same durable field that
|
|
14
|
+
* already holds `operatorHold` / `shortfallProposalIds`), distinct from an
|
|
15
|
+
* escalation row. Two properties it must preserve:
|
|
16
|
+
* 1. It still HOLDS the delivery out of `done` -- the operator-hold gate's
|
|
17
|
+
* delivery-holding property is correct and survives here (see the
|
|
18
|
+
* external-hold check wired alongside resolveOperatorHold on every
|
|
19
|
+
* verify->done path).
|
|
20
|
+
* 2. It clears by RE-READING REALITY -- an injectable condition evaluator --
|
|
21
|
+
* not by a human clicking "resolve" on an inbox item. When the condition
|
|
22
|
+
* is re-evaluated true, the hold clears itself with no one touching a
|
|
23
|
+
* queue; the machine closes the loop.
|
|
24
|
+
*
|
|
25
|
+
* Boundary: this is ONLY for the irreducibly external. Anything a capable
|
|
26
|
+
* resolver could close routes through the resolver-dispatch seam
|
|
27
|
+
* (resolver-dispatch.ts), never here -- this is not a second parking lot.
|
|
28
|
+
*
|
|
29
|
+
* @module external-hold
|
|
30
|
+
*/
|
|
31
|
+
import type { ExternalHoldState, updateDeliveryStatus } from '../queries/deliveries.js';
|
|
32
|
+
/** The slice of deps this gate needs (structural, so no import cycle). */
|
|
33
|
+
export interface ExternalHoldDeps {
|
|
34
|
+
updateDeliveryStatus: typeof updateDeliveryStatus;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Re-evaluate whether an external hold's clearing condition is now met.
|
|
38
|
+
* Injectable so a real probe (or an operator re-reading reality) plugs in
|
|
39
|
+
* without this module knowing how any specific external condition is checked.
|
|
40
|
+
* Returns true when reality has changed such that the hold should clear.
|
|
41
|
+
*/
|
|
42
|
+
export type ExternalConditionEvaluator = (hold: ExternalHoldState) => boolean | Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* The default production evaluator: an irreducibly-external dependency does not
|
|
45
|
+
* auto-clear from its free-text condition -- there is no generic probe for
|
|
46
|
+
* "provider X rotated the keys". So the default KEEPS the hold (returns false)
|
|
47
|
+
* until reality is re-read as changed via {@link clearExternalHold}. This is
|
|
48
|
+
* the correct conservative behavior: an unmet external dependency must keep
|
|
49
|
+
* holding the delivery out of done, and it never becomes an inbox question. A
|
|
50
|
+
* subsystem that CAN probe a specific condition supplies its own evaluator.
|
|
51
|
+
*/
|
|
52
|
+
export declare const holdUntilExternallyCleared: ExternalConditionEvaluator;
|
|
53
|
+
/**
|
|
54
|
+
* Read the current status of the cross-product requests named by an external
|
|
55
|
+
* hold's clearing reference. Injected so external-hold.ts stays free of request
|
|
56
|
+
* I/O (and of the bare `@telora/*` value imports that request queries pull in,
|
|
57
|
+
* which mis-resolve under the node:test module-mock loader). Production
|
|
58
|
+
* implementation lives at the wiring sites over queries/requests.ts. Returns one
|
|
59
|
+
* row per KNOWN request; a referenced id absent from the result is treated as
|
|
60
|
+
* unreadable (fail-closed) by the evaluator below.
|
|
61
|
+
*/
|
|
62
|
+
export type RequestStatusReader = (requestIds: string[]) => Promise<Array<{
|
|
63
|
+
id: string;
|
|
64
|
+
status?: string;
|
|
65
|
+
}>>;
|
|
66
|
+
/**
|
|
67
|
+
* Build the production external-condition evaluator: re-read the requests named
|
|
68
|
+
* by a hold's `clearsWhenRequestsClosed` and clear the hold ONLY when EVERY one
|
|
69
|
+
* has reached contract-gated closure ('closed').
|
|
70
|
+
*
|
|
71
|
+
* - No machine-readable reference on the hold (legacy 3-field hold, or one
|
|
72
|
+
* declared without a reference) -> KEEP HOLDING with no I/O, identical to
|
|
73
|
+
* holdUntilExternallyCleared. This keeps the wiring INERT for every hold
|
|
74
|
+
* that predates the producer; such a hold is surfaced as reference-less by
|
|
75
|
+
* resolveExternalHold, never silently self-cleared.
|
|
76
|
+
* - A referenced request that is 'delivered' but not 'closed' -> keep holding
|
|
77
|
+
* (deliver-with-findings is not closure).
|
|
78
|
+
* - A referenced request that is 'declined' -> keep holding (a decline is a
|
|
79
|
+
* human-decides state surfaced elsewhere; the delivery does not advance).
|
|
80
|
+
* - A referenced request that cannot be read this pass (missing row) -> THROW,
|
|
81
|
+
* which resolveExternalHold turns into held (fail-closed). A transport error
|
|
82
|
+
* from the reader propagates the same way.
|
|
83
|
+
*/
|
|
84
|
+
export declare function makeRequestClosureEvaluator(readStatuses: RequestStatusReader): ExternalConditionEvaluator;
|
|
85
|
+
/** The resolved external-hold state for one delivery. */
|
|
86
|
+
export interface ExternalHold {
|
|
87
|
+
/** True when an unmet external hold is present on the delivery. */
|
|
88
|
+
held: boolean;
|
|
89
|
+
/** The hold state when present; null when there is none. */
|
|
90
|
+
hold: ExternalHoldState | null;
|
|
91
|
+
/** The condition re-evaluated true this pass and the hold was cleared. */
|
|
92
|
+
cleared: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* True when the delivery is held but the hold carries NO machine-readable
|
|
95
|
+
* clearing reference (`clearsWhenRequestsClosed`) -- so the daemon has nothing
|
|
96
|
+
* to re-read and the hold will not self-clear. Surfaced (not silently a
|
|
97
|
+
* normal, self-clearing hold) so an operator/agent inspecting the delivery
|
|
98
|
+
* learns it needs a reference or a reality change to move. Absent/false when
|
|
99
|
+
* not held, when cleared, or when the hold carries a reference.
|
|
100
|
+
*/
|
|
101
|
+
referenceLess?: boolean;
|
|
102
|
+
}
|
|
103
|
+
/** Narrow a delivery's `gate_state` JSONB to its externalHold, if any. */
|
|
104
|
+
export declare function readExternalHoldState(gateState: unknown): ExternalHoldState | null;
|
|
105
|
+
/**
|
|
106
|
+
* Declare an irreducibly-external hold on a delivery: write the blocking
|
|
107
|
+
* condition and what would clear it into the delivery's gate_state. This
|
|
108
|
+
* creates NO agent_escalations row -- that is the whole point: an external
|
|
109
|
+
* dependency is state, not an inbox event.
|
|
110
|
+
*
|
|
111
|
+
* gate_state is written through daemon_update_delivery_status (which requires
|
|
112
|
+
* an executionStatus), so this re-asserts `verify` and writes the gate, exactly
|
|
113
|
+
* like writeOperatorHoldGateState. Best-effort logging on failure; the caller
|
|
114
|
+
* decides how to surface a write failure.
|
|
115
|
+
*/
|
|
116
|
+
export declare function declareExternalHold(deps: ExternalHoldDeps, deliveryId: string, params: {
|
|
117
|
+
condition: string;
|
|
118
|
+
clearsWhen: string;
|
|
119
|
+
declaredAt: string;
|
|
120
|
+
clearsWhenRequestsClosed?: string[];
|
|
121
|
+
}): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Clear an external hold: rewrite gate_state WITHOUT the externalHold field,
|
|
124
|
+
* re-asserting `verify` so the delivery is free to advance on the next pass.
|
|
125
|
+
* This is the "reality changed -- re-read confirms the dependency is met" path,
|
|
126
|
+
* and it is condition-driven, NOT a human resolving an escalation.
|
|
127
|
+
*/
|
|
128
|
+
export declare function clearExternalHold(deps: ExternalHoldDeps, deliveryId: string, clearedAt: string): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Resolve whether a delivery is externally held, re-evaluating the clearing
|
|
131
|
+
* condition as a first-class part of the read.
|
|
132
|
+
*
|
|
133
|
+
* FAILS CLOSED like the operator-hold gate: if the condition evaluator throws,
|
|
134
|
+
* the hold is kept (held: true). A missed hold lets an externally-blocked
|
|
135
|
+
* delivery reach done -- the failure this focus exists to stop -- so the safe
|
|
136
|
+
* direction is to hold.
|
|
137
|
+
*
|
|
138
|
+
* When the condition re-evaluates true, the hold is cleared (gate_state
|
|
139
|
+
* rewritten without it) and this returns held: false, cleared: true. That is
|
|
140
|
+
* the loop closing itself by re-reading reality -- no human resolve, no inbox.
|
|
141
|
+
*/
|
|
142
|
+
export declare function resolveExternalHold(deps: ExternalHoldDeps, deliveryId: string, gateState: unknown, evaluateCondition: ExternalConditionEvaluator, clock?: () => string): Promise<ExternalHold>;
|
|
143
|
+
/** Human-readable hold reason for an exit/advance log line. */
|
|
144
|
+
export declare function describeExternalHold(hold: ExternalHold): string;
|
|
145
|
+
//# sourceMappingURL=external-hold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-hold.d.ts","sourceRoot":"","sources":["../../src/delivery/external-hold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAwB3G,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;CACnD;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,IAAI,EAAE,iBAAiB,KACpB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,0BAAwC,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,UAAU,EAAE,MAAM,EAAE,KACjB,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,mBAAmB,GAChC,0BAA0B,CAe5B;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAmBlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACzG,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,iBAAiB,EAAE,0BAA0B,EAC7C,KAAK,GAAE,MAAM,MAAuC,GACnD,OAAO,CAAC,YAAY,CAAC,CAoCvB;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAY/D"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External-hold gate: an irreducibly-external dependency is durable STATE on
|
|
3
|
+
* the delivery, not an inbox event.
|
|
4
|
+
*
|
|
5
|
+
* Some work is outside every capability Telora could ever build -- rotating
|
|
6
|
+
* credentials at a provider a third party owns is the live example: no code and
|
|
7
|
+
* no execution surface reaches those accounts. Filed as an agent_escalations
|
|
8
|
+
* row it becomes an event on a queue it can never leave under its own power --
|
|
9
|
+
* an unanswered question forever, and (because it persists) it forces dedup
|
|
10
|
+
* machinery, which is itself the tell that the shape is wrong.
|
|
11
|
+
*
|
|
12
|
+
* This module represents that class as a declared hold on external reality,
|
|
13
|
+
* carried in the delivery's `gate_state` JSONB (the same durable field that
|
|
14
|
+
* already holds `operatorHold` / `shortfallProposalIds`), distinct from an
|
|
15
|
+
* escalation row. Two properties it must preserve:
|
|
16
|
+
* 1. It still HOLDS the delivery out of `done` -- the operator-hold gate's
|
|
17
|
+
* delivery-holding property is correct and survives here (see the
|
|
18
|
+
* external-hold check wired alongside resolveOperatorHold on every
|
|
19
|
+
* verify->done path).
|
|
20
|
+
* 2. It clears by RE-READING REALITY -- an injectable condition evaluator --
|
|
21
|
+
* not by a human clicking "resolve" on an inbox item. When the condition
|
|
22
|
+
* is re-evaluated true, the hold clears itself with no one touching a
|
|
23
|
+
* queue; the machine closes the loop.
|
|
24
|
+
*
|
|
25
|
+
* Boundary: this is ONLY for the irreducibly external. Anything a capable
|
|
26
|
+
* resolver could close routes through the resolver-dispatch seam
|
|
27
|
+
* (resolver-dispatch.ts), never here -- this is not a second parking lot.
|
|
28
|
+
*
|
|
29
|
+
* @module external-hold
|
|
30
|
+
*/
|
|
31
|
+
import { createLogger } from '../shell/log.js';
|
|
32
|
+
const log = createLogger({ module: 'external-hold' });
|
|
33
|
+
// The `verify` status re-asserted by a gate_state write. Daemon-local literal
|
|
34
|
+
// for the same reason as operator-hold.ts's VERIFY_STATUS: this module is
|
|
35
|
+
// pulled into listener tests under the node:test module-mock loader, where a
|
|
36
|
+
// bare `@telora/*` VALUE import mis-resolves. The DB CHECK on execution_status
|
|
37
|
+
// is the real constraint; this mirrors DELIVERY_STATUS.VERIFY.
|
|
38
|
+
const VERIFY_STATUS = 'verify';
|
|
39
|
+
// The request status that means a cross-product request reached contract-gated
|
|
40
|
+
// closure -- the ONLY status that clears a request-referenced external hold.
|
|
41
|
+
// Daemon-local literal for the same reason as VERIFY_STATUS above (this module
|
|
42
|
+
// is pulled into listener tests under the node:test module-mock loader, where a
|
|
43
|
+
// bare `@telora/*` value import mis-resolves), and to avoid an import cycle:
|
|
44
|
+
// nexus/return.ts imports declareExternalHold from HERE (the producer), so this
|
|
45
|
+
// module must not import back from nexus/return.ts. Keep in sync with the
|
|
46
|
+
// request lifecycle vocabulary there (NON_TERMINAL_REQUEST_STATUSES): 'delivered'
|
|
47
|
+
// is non-terminal-for-the-source and 'declined' is a terminal exit that is NOT
|
|
48
|
+
// closure -- neither clears the hold, only 'closed' does.
|
|
49
|
+
const REQUEST_STATUS_CLOSED = 'closed';
|
|
50
|
+
/**
|
|
51
|
+
* The default production evaluator: an irreducibly-external dependency does not
|
|
52
|
+
* auto-clear from its free-text condition -- there is no generic probe for
|
|
53
|
+
* "provider X rotated the keys". So the default KEEPS the hold (returns false)
|
|
54
|
+
* until reality is re-read as changed via {@link clearExternalHold}. This is
|
|
55
|
+
* the correct conservative behavior: an unmet external dependency must keep
|
|
56
|
+
* holding the delivery out of done, and it never becomes an inbox question. A
|
|
57
|
+
* subsystem that CAN probe a specific condition supplies its own evaluator.
|
|
58
|
+
*/
|
|
59
|
+
export const holdUntilExternallyCleared = () => false;
|
|
60
|
+
/**
|
|
61
|
+
* Build the production external-condition evaluator: re-read the requests named
|
|
62
|
+
* by a hold's `clearsWhenRequestsClosed` and clear the hold ONLY when EVERY one
|
|
63
|
+
* has reached contract-gated closure ('closed').
|
|
64
|
+
*
|
|
65
|
+
* - No machine-readable reference on the hold (legacy 3-field hold, or one
|
|
66
|
+
* declared without a reference) -> KEEP HOLDING with no I/O, identical to
|
|
67
|
+
* holdUntilExternallyCleared. This keeps the wiring INERT for every hold
|
|
68
|
+
* that predates the producer; such a hold is surfaced as reference-less by
|
|
69
|
+
* resolveExternalHold, never silently self-cleared.
|
|
70
|
+
* - A referenced request that is 'delivered' but not 'closed' -> keep holding
|
|
71
|
+
* (deliver-with-findings is not closure).
|
|
72
|
+
* - A referenced request that is 'declined' -> keep holding (a decline is a
|
|
73
|
+
* human-decides state surfaced elsewhere; the delivery does not advance).
|
|
74
|
+
* - A referenced request that cannot be read this pass (missing row) -> THROW,
|
|
75
|
+
* which resolveExternalHold turns into held (fail-closed). A transport error
|
|
76
|
+
* from the reader propagates the same way.
|
|
77
|
+
*/
|
|
78
|
+
export function makeRequestClosureEvaluator(readStatuses) {
|
|
79
|
+
return async (hold) => {
|
|
80
|
+
const ids = hold.clearsWhenRequestsClosed;
|
|
81
|
+
if (!ids || ids.length === 0)
|
|
82
|
+
return false; // reference-less -> keep holding
|
|
83
|
+
const rows = await readStatuses(ids); // transport error -> throw -> fail-closed
|
|
84
|
+
for (const id of ids) {
|
|
85
|
+
const row = rows.find((r) => r.id === id);
|
|
86
|
+
if (!row) {
|
|
87
|
+
// A referenced request we cannot read is unreadable state: fail-closed.
|
|
88
|
+
throw new Error(`external-hold: referenced request ${id} not found in status read`);
|
|
89
|
+
}
|
|
90
|
+
if (row.status !== REQUEST_STATUS_CLOSED)
|
|
91
|
+
return false; // not yet closed -> hold
|
|
92
|
+
}
|
|
93
|
+
return true; // every referenced request closed -> dependency met
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** Narrow a delivery's `gate_state` JSONB to its externalHold, if any. */
|
|
97
|
+
export function readExternalHoldState(gateState) {
|
|
98
|
+
if (gateState === null || typeof gateState !== 'object')
|
|
99
|
+
return null;
|
|
100
|
+
const eh = gateState.externalHold;
|
|
101
|
+
if (eh === null || typeof eh !== 'object')
|
|
102
|
+
return null;
|
|
103
|
+
const { condition, clearsWhen, declaredAt, clearsWhenRequestsClosed } = eh;
|
|
104
|
+
if (typeof condition !== 'string' || typeof clearsWhen !== 'string' || typeof declaredAt !== 'string') {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
// The clearing reference is OPTIONAL and additive: a legacy hold with only the
|
|
108
|
+
// three string fields must STILL narrow to a valid hold. Include the reference
|
|
109
|
+
// only when it is a well-formed array of strings; a malformed value is dropped
|
|
110
|
+
// (the hold reads as reference-less rather than becoming unreadable/null).
|
|
111
|
+
const requestIds = Array.isArray(clearsWhenRequestsClosed) && clearsWhenRequestsClosed.every((x) => typeof x === 'string')
|
|
112
|
+
? clearsWhenRequestsClosed
|
|
113
|
+
: undefined;
|
|
114
|
+
return requestIds
|
|
115
|
+
? { condition, clearsWhen, declaredAt, clearsWhenRequestsClosed: requestIds }
|
|
116
|
+
: { condition, clearsWhen, declaredAt };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Declare an irreducibly-external hold on a delivery: write the blocking
|
|
120
|
+
* condition and what would clear it into the delivery's gate_state. This
|
|
121
|
+
* creates NO agent_escalations row -- that is the whole point: an external
|
|
122
|
+
* dependency is state, not an inbox event.
|
|
123
|
+
*
|
|
124
|
+
* gate_state is written through daemon_update_delivery_status (which requires
|
|
125
|
+
* an executionStatus), so this re-asserts `verify` and writes the gate, exactly
|
|
126
|
+
* like writeOperatorHoldGateState. Best-effort logging on failure; the caller
|
|
127
|
+
* decides how to surface a write failure.
|
|
128
|
+
*/
|
|
129
|
+
export async function declareExternalHold(deps, deliveryId, params) {
|
|
130
|
+
const externalHold = {
|
|
131
|
+
condition: params.condition,
|
|
132
|
+
clearsWhen: params.clearsWhen,
|
|
133
|
+
declaredAt: params.declaredAt,
|
|
134
|
+
// Persist the machine-readable clearing reference only when non-empty, so a
|
|
135
|
+
// hold declared without one reads back as reference-less rather than
|
|
136
|
+
// carrying an empty array the evaluator would treat as reference-less anyway.
|
|
137
|
+
...(params.clearsWhenRequestsClosed && params.clearsWhenRequestsClosed.length > 0
|
|
138
|
+
? { clearsWhenRequestsClosed: params.clearsWhenRequestsClosed }
|
|
139
|
+
: {}),
|
|
140
|
+
};
|
|
141
|
+
const gateState = {
|
|
142
|
+
blocking: [],
|
|
143
|
+
warnings: [],
|
|
144
|
+
evaluatedAt: params.declaredAt,
|
|
145
|
+
externalHold,
|
|
146
|
+
};
|
|
147
|
+
await deps.updateDeliveryStatus(deliveryId, VERIFY_STATUS, undefined, gateState, undefined, undefined);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Clear an external hold: rewrite gate_state WITHOUT the externalHold field,
|
|
151
|
+
* re-asserting `verify` so the delivery is free to advance on the next pass.
|
|
152
|
+
* This is the "reality changed -- re-read confirms the dependency is met" path,
|
|
153
|
+
* and it is condition-driven, NOT a human resolving an escalation.
|
|
154
|
+
*/
|
|
155
|
+
export async function clearExternalHold(deps, deliveryId, clearedAt) {
|
|
156
|
+
const gateState = {
|
|
157
|
+
blocking: [],
|
|
158
|
+
warnings: [],
|
|
159
|
+
evaluatedAt: clearedAt,
|
|
160
|
+
};
|
|
161
|
+
await deps.updateDeliveryStatus(deliveryId, VERIFY_STATUS, undefined, gateState, undefined, undefined);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Resolve whether a delivery is externally held, re-evaluating the clearing
|
|
165
|
+
* condition as a first-class part of the read.
|
|
166
|
+
*
|
|
167
|
+
* FAILS CLOSED like the operator-hold gate: if the condition evaluator throws,
|
|
168
|
+
* the hold is kept (held: true). A missed hold lets an externally-blocked
|
|
169
|
+
* delivery reach done -- the failure this focus exists to stop -- so the safe
|
|
170
|
+
* direction is to hold.
|
|
171
|
+
*
|
|
172
|
+
* When the condition re-evaluates true, the hold is cleared (gate_state
|
|
173
|
+
* rewritten without it) and this returns held: false, cleared: true. That is
|
|
174
|
+
* the loop closing itself by re-reading reality -- no human resolve, no inbox.
|
|
175
|
+
*/
|
|
176
|
+
export async function resolveExternalHold(deps, deliveryId, gateState, evaluateCondition, clock = () => new Date().toISOString()) {
|
|
177
|
+
const hold = readExternalHoldState(gateState);
|
|
178
|
+
if (hold === null)
|
|
179
|
+
return { held: false, hold: null, cleared: false };
|
|
180
|
+
// A hold with no (or empty) machine-readable clearing reference has nothing
|
|
181
|
+
// for the daemon to re-read, so it cannot self-clear -- surface it rather than
|
|
182
|
+
// let it read as a normal, self-clearing hold.
|
|
183
|
+
const referenceLess = !hold.clearsWhenRequestsClosed || hold.clearsWhenRequestsClosed.length === 0;
|
|
184
|
+
let conditionMet = false;
|
|
185
|
+
try {
|
|
186
|
+
conditionMet = await evaluateCondition(hold);
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
log.warn(`[external-hold] condition re-evaluation failed for delivery ${deliveryId} -- ` +
|
|
190
|
+
`holding verify->done (fail-closed): ${err.message}`);
|
|
191
|
+
return { held: true, hold, cleared: false, referenceLess };
|
|
192
|
+
}
|
|
193
|
+
if (conditionMet) {
|
|
194
|
+
try {
|
|
195
|
+
await clearExternalHold(deps, deliveryId, clock());
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
// The hold is decided cleared; a failed rewrite must not resurrect it as
|
|
199
|
+
// held (that would strand the delivery). Log and report cleared -- the
|
|
200
|
+
// next pass sees the same met condition and rewrites again.
|
|
201
|
+
log.warn(`[external-hold] failed to clear gate_state for delivery ${deliveryId} ` +
|
|
202
|
+
`(condition met, will retry next pass): ${err.message}`);
|
|
203
|
+
}
|
|
204
|
+
return { held: false, hold, cleared: true };
|
|
205
|
+
}
|
|
206
|
+
return { held: true, hold, cleared: false, referenceLess };
|
|
207
|
+
}
|
|
208
|
+
/** Human-readable hold reason for an exit/advance log line. */
|
|
209
|
+
export function describeExternalHold(hold) {
|
|
210
|
+
if (hold.cleared)
|
|
211
|
+
return 'external hold cleared (condition re-evaluated true)';
|
|
212
|
+
if (hold.hold) {
|
|
213
|
+
const base = `external hold: ${hold.hold.condition} (clears when: ${hold.hold.clearsWhen})`;
|
|
214
|
+
// Name the reference-less case so it is not mistaken for a self-clearing
|
|
215
|
+
// hold: nothing references what would clear it, so the daemon cannot re-read
|
|
216
|
+
// it to done -- it needs a reality change or a re-declaration with a reference.
|
|
217
|
+
return hold.referenceLess
|
|
218
|
+
? `${base} [no machine-readable clearing reference -- will not self-clear]`
|
|
219
|
+
: base;
|
|
220
|
+
}
|
|
221
|
+
return 'not held';
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=external-hold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-hold.js","sourceRoot":"","sources":["../../src/delivery/external-hold.ts"],"names":[],"mappings":"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"}
|