@telora/daemon 0.21.98 → 0.21.144
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 +6 -3
- package/dist/audit/audit-hooks.d.ts +120 -5
- package/dist/audit/audit-hooks.d.ts.map +1 -1
- package/dist/audit/audit-hooks.js +205 -45
- package/dist/audit/audit-hooks.js.map +1 -1
- package/dist/ci/ci-escalation.js +1 -1
- package/dist/ci/ci-escalation.js.map +1 -1
- package/dist/ci/ci-sensor-loop.d.ts +30 -0
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci/ci-sensor-loop.js +85 -12
- package/dist/ci/ci-sensor-loop.js.map +1 -1
- package/dist/cli/connect/config-write.d.ts +87 -0
- package/dist/cli/connect/config-write.d.ts.map +1 -0
- package/dist/cli/connect/config-write.js +255 -0
- package/dist/cli/connect/config-write.js.map +1 -0
- package/dist/cli/connect/registration.d.ts +76 -0
- package/dist/cli/connect/registration.d.ts.map +1 -0
- package/dist/cli/connect/registration.js +207 -0
- package/dist/cli/connect/registration.js.map +1 -0
- package/dist/cli/connect.d.ts +3 -141
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +9 -441
- package/dist/cli/connect.js.map +1 -1
- package/dist/completion/coverage-drift-state.d.ts +29 -2
- package/dist/completion/coverage-drift-state.d.ts.map +1 -1
- package/dist/completion/coverage-drift-state.js +42 -2
- package/dist/completion/coverage-drift-state.js.map +1 -1
- package/dist/completion/coverage-stabilized.d.ts +58 -0
- package/dist/completion/coverage-stabilized.d.ts.map +1 -0
- package/dist/completion/coverage-stabilized.js +84 -0
- package/dist/completion/coverage-stabilized.js.map +1 -0
- package/dist/completion/delivery-advancement-guard.d.ts +21 -0
- package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
- package/dist/completion/delivery-advancement-guard.js +31 -3
- package/dist/completion/delivery-advancement-guard.js.map +1 -1
- package/dist/completion/escalation-provenance.d.ts +2 -1
- package/dist/completion/escalation-provenance.d.ts.map +1 -1
- package/dist/completion/escalation-provenance.js +2 -1
- package/dist/completion/escalation-provenance.js.map +1 -1
- package/dist/completion/escalations.js +1 -1
- package/dist/completion/escalations.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +16 -1
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +43 -5
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +5 -2
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +1 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +2 -2
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/machine-remediable-demotion.d.ts +74 -0
- package/dist/completion/machine-remediable-demotion.d.ts.map +1 -0
- package/dist/completion/machine-remediable-demotion.js +148 -0
- package/dist/completion/machine-remediable-demotion.js.map +1 -0
- 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 +1 -1
- package/dist/completion/read-only-pristine.js.map +1 -1
- 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-phase.d.ts +5 -2
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +15 -8
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/settle-injection-sweep.d.ts +55 -0
- package/dist/completion/settle-injection-sweep.d.ts.map +1 -0
- package/dist/completion/settle-injection-sweep.js +88 -0
- package/dist/completion/settle-injection-sweep.js.map +1 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +42 -1
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +18 -0
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +42 -0
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +73 -1
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-advance-block.d.ts +1 -1
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
- package/dist/delivery/delivery-advance-block.js +1 -1
- package/dist/delivery/delivery-advance-block.js.map +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts +19 -33
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +20 -148
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-merge-ops.d.ts +46 -0
- package/dist/delivery/delivery-merge-ops.d.ts.map +1 -0
- package/dist/delivery/delivery-merge-ops.js +154 -0
- package/dist/delivery/delivery-merge-ops.js.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts +28 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.js +30 -0
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery/delivery-reconciler-shadow.d.ts +1 -1
- package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-shadow.js +1 -1
- package/dist/delivery/delivery-reconciler-shadow.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +7 -2
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +34 -5
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/delivery/external-hold-surface.d.ts +32 -0
- package/dist/delivery/external-hold-surface.d.ts.map +1 -0
- package/dist/delivery/external-hold-surface.js +67 -0
- package/dist/delivery/external-hold-surface.js.map +1 -0
- package/dist/delivery/external-hold.d.ts +21 -0
- package/dist/delivery/external-hold.d.ts.map +1 -1
- package/dist/delivery/external-hold.js +40 -5
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +1 -1
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/paused-revival.d.ts +140 -0
- package/dist/delivery/paused-revival.d.ts.map +1 -0
- package/dist/delivery/paused-revival.js +230 -0
- package/dist/delivery/paused-revival.js.map +1 -0
- package/dist/delivery/wait-reachability.d.ts.map +1 -1
- package/dist/delivery/wait-reachability.js +11 -0
- package/dist/delivery/wait-reachability.js.map +1 -1
- package/dist/directive/close-loop-dispatcher.d.ts +16 -263
- package/dist/directive/close-loop-dispatcher.d.ts.map +1 -1
- package/dist/directive/close-loop-dispatcher.js +21 -259
- package/dist/directive/close-loop-dispatcher.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +20 -1
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +19 -1
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +1 -3
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +24 -22
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +28 -15
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +28 -36
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/resolver-dispatch.d.ts +19 -92
- package/dist/directive/resolver-dispatch.d.ts.map +1 -1
- package/dist/directive/resolver-dispatch.js +19 -65
- package/dist/directive/resolver-dispatch.js.map +1 -1
- package/dist/drift/staleness-sensor.js +1 -1
- package/dist/drift/staleness-sensor.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +29 -2
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +290 -256
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-lifecycle.d.ts.map +1 -1
- package/dist/focus/focus-lifecycle.js +2 -1
- package/dist/focus/focus-lifecycle.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +43 -1
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/focus-respawn-guard.d.ts +1 -1
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
- package/dist/focus/focus-respawn-guard.js +12 -3
- package/dist/focus/focus-respawn-guard.js.map +1 -1
- package/dist/focus/focus-team-state.d.ts +11 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +17 -0
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts +17 -46
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +104 -256
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +62 -0
- package/dist/focus/listener-spawn.d.ts.map +1 -0
- package/dist/focus/listener-spawn.js +418 -0
- package/dist/focus/listener-spawn.js.map +1 -0
- package/dist/focus/listener-state.d.ts +57 -0
- package/dist/focus/listener-state.d.ts.map +1 -0
- package/dist/focus/listener-state.js +63 -0
- package/dist/focus/listener-state.js.map +1 -0
- package/dist/focus/listener.d.ts +0 -58
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +138 -516
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/tick-deadline.d.ts +55 -0
- package/dist/focus/tick-deadline.d.ts.map +1 -0
- package/dist/focus/tick-deadline.js +91 -0
- package/dist/focus/tick-deadline.js.map +1 -0
- package/dist/focus/verify-open-issues.d.ts +62 -0
- package/dist/focus/verify-open-issues.d.ts.map +1 -0
- package/dist/focus/verify-open-issues.js +265 -0
- package/dist/focus/verify-open-issues.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.d.ts +19 -26
- package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/index.js +27 -39
- package/dist/focus-stage-lifecycle/index.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts +52 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js +94 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +18 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +57 -7
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/index.d.ts +2 -0
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +2 -0
- package/dist/git/index.js.map +1 -1
- package/dist/git/merge-strategies.d.ts +80 -0
- package/dist/git/merge-strategies.d.ts.map +1 -0
- package/dist/git/merge-strategies.js +218 -0
- package/dist/git/merge-strategies.js.map +1 -0
- package/dist/git/merge-to-main.d.ts +76 -0
- package/dist/git/merge-to-main.d.ts.map +1 -0
- package/dist/git/merge-to-main.js +256 -0
- package/dist/git/merge-to-main.js.map +1 -0
- package/dist/git/merge.d.ts +27 -81
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +4 -448
- package/dist/git/merge.js.map +1 -1
- package/dist/git/state-detector.js +1 -1
- package/dist/git/state-detector.js.map +1 -1
- package/dist/guard/condition-evaluators.d.ts +9 -0
- package/dist/guard/condition-evaluators.d.ts.map +1 -1
- package/dist/guard/condition-evaluators.js +15 -0
- package/dist/guard/condition-evaluators.js.map +1 -1
- package/dist/guard/guard-evaluator.d.ts +17 -1
- package/dist/guard/guard-evaluator.d.ts.map +1 -1
- package/dist/guard/guard-evaluator.js +61 -2
- package/dist/guard/guard-evaluator.js.map +1 -1
- package/dist/guard/trigger-executor.d.ts +30 -18
- package/dist/guard/trigger-executor.d.ts.map +1 -1
- package/dist/guard/trigger-executor.js +55 -31
- package/dist/guard/trigger-executor.js.map +1 -1
- package/dist/loops/engine.js +1 -1
- package/dist/loops/engine.js.map +1 -1
- package/dist/merge/focus-merge.d.ts +1 -1
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +1 -1
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/merge/merge-back-loop.d.ts +1 -1
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +2 -2
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/merge/merge-detector.js +1 -1
- package/dist/merge/merge-detector.js.map +1 -1
- package/dist/nexus/return.js +1 -1
- package/dist/nexus/return.js.map +1 -1
- package/dist/prd/controller-shared.d.ts +223 -0
- package/dist/prd/controller-shared.d.ts.map +1 -0
- package/dist/prd/controller-shared.js +77 -0
- package/dist/prd/controller-shared.js.map +1 -0
- package/dist/prd/controller.d.ts +5 -256
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +9 -166
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/done-sweep.d.ts +55 -0
- package/dist/prd/done-sweep.d.ts.map +1 -0
- package/dist/prd/done-sweep.js +112 -0
- package/dist/prd/done-sweep.js.map +1 -0
- package/dist/prompt/team-prompt-base.d.ts +1 -1
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +1 -1
- package/dist/prompt/team-prompt-base.js.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 +12 -2
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +0 -32
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +19 -88
- package/dist/prompt-sections/persona-sections.js.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 +1 -1
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +2 -1
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/deliveries.d.ts +0 -172
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +1 -77
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/escalation-consumption.d.ts +120 -0
- package/dist/queries/escalation-consumption.d.ts.map +1 -0
- package/dist/queries/escalation-consumption.js +143 -0
- package/dist/queries/escalation-consumption.js.map +1 -0
- package/dist/queries/escalation-dispositions.d.ts +19 -0
- package/dist/queries/escalation-dispositions.d.ts.map +1 -0
- package/dist/queries/escalation-dispositions.js +18 -0
- package/dist/queries/escalation-dispositions.js.map +1 -0
- package/dist/queries/escalation-suppression.d.ts +1 -1
- package/dist/queries/escalation-suppression.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/escalations.d.ts +343 -0
- package/dist/queries/escalations.d.ts.map +1 -0
- package/dist/queries/escalations.js +493 -0
- package/dist/queries/escalations.js.map +1 -0
- package/dist/queries/focus-discovery.d.ts +204 -0
- package/dist/queries/focus-discovery.d.ts.map +1 -0
- package/dist/queries/focus-discovery.js +92 -0
- package/dist/queries/focus-discovery.js.map +1 -0
- package/dist/queries/focuses.d.ts +36 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +45 -0
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts +10 -0
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +14 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/index.d.ts +4 -2
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +4 -2
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/issues.d.ts +8 -372
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +7 -482
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/schemas.d.ts +51 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +34 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/verification.d.ts +5 -6
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +5 -6
- package/dist/queries/verification.js.map +1 -1
- package/dist/resolvers/agent-escalations.d.ts +20 -0
- package/dist/resolvers/agent-escalations.d.ts.map +1 -1
- package/dist/resolvers/agent-escalations.js +40 -10
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/index.d.ts +2 -2
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-persona.d.ts +1 -11
- package/dist/resolvers/loop-persona.d.ts.map +1 -1
- package/dist/resolvers/loop-persona.js +2 -16
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +99 -18
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +98 -27
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/shell/control-state.d.ts +1 -1
- package/dist/shell/control-state.d.ts.map +1 -1
- package/dist/shell/control-state.js +1 -1
- package/dist/shell/control-state.js.map +1 -1
- package/dist/shell/crash-recovery.d.ts +1 -1
- package/dist/shell/crash-recovery.d.ts.map +1 -1
- package/dist/shell/crash-recovery.js +2 -2
- package/dist/shell/crash-recovery.js.map +1 -1
- package/dist/shell/install-probe-tick.d.ts +1 -1
- package/dist/shell/install-probe-tick.d.ts.map +1 -1
- package/dist/shell/install-probe-tick.js +1 -1
- package/dist/shell/install-probe-tick.js.map +1 -1
- package/dist/shell/unified-shell-provisioning.d.ts +40 -0
- package/dist/shell/unified-shell-provisioning.d.ts.map +1 -1
- package/dist/shell/unified-shell-provisioning.js +72 -0
- package/dist/shell/unified-shell-provisioning.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +19 -2
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +6 -1
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/model-routing.d.ts +1 -1
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +1 -1
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +7 -0
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +1 -1
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +1 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/spawn-cooldown.d.ts +41 -7
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +47 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +34 -2
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +1 -1
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +1 -1
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +12 -0
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/verify/stall-detectors.d.ts +20 -8
- package/dist/verify/stall-detectors.d.ts.map +1 -1
- package/dist/verify/stall-detectors.js +27 -46
- package/dist/verify/stall-detectors.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +1 -1
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-deps.d.ts +1 -1
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +20 -12
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/workflow/gate-failure-policy.d.ts +48 -0
- package/dist/workflow/gate-failure-policy.d.ts.map +1 -0
- package/dist/workflow/gate-failure-policy.js +57 -0
- package/dist/workflow/gate-failure-policy.js.map +1 -0
- package/dist/workflow/pipeline-config.d.ts +2 -2
- package/dist/workflow/pipeline-config.js +2 -2
- package/dist/worktree/provision.js +1 -1
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/scratch-guard.d.ts.map +1 -1
- package/dist/worktree/scratch-guard.js +23 -2
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/package.json +1 -1
- package/dist/directive/close-loop-stage.d.ts +0 -50
- package/dist/directive/close-loop-stage.d.ts.map +0 -1
- package/dist/directive/close-loop-stage.js +0 -210
- package/dist/directive/close-loop-stage.js.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts +0 -133
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +0 -237
- package/dist/focus-stage-lifecycle/review-convergence.js.map +0 -1
package/dist/queries/issues.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Issue
|
|
2
|
+
* Issue CRUD queries.
|
|
3
|
+
*
|
|
4
|
+
* The escalation-query family (creation, open-escalation dedup reads,
|
|
5
|
+
* resolution) moved to queries/escalations.ts + queries/escalation-consumption.ts
|
|
6
|
+
* (file-size limit). Importers reference those modules directly -- this module
|
|
7
|
+
* deliberately does NOT re-export them, per the daemon's
|
|
8
|
+
* import-from-the-defining-module (no-facade) discipline.
|
|
3
9
|
*/
|
|
4
|
-
import { type CallApiDeps } from './shared.js';
|
|
5
10
|
import { DeliveryIssueSchema } from './schemas.js';
|
|
6
|
-
import { resolveProvenance, type EscalationAnchor } from '../completion/escalation-provenance.js';
|
|
7
11
|
import { z } from 'zod';
|
|
8
12
|
type ApiIssue = z.infer<typeof DeliveryIssueSchema>;
|
|
9
13
|
/**
|
|
@@ -19,377 +23,9 @@ export declare function getDeliverySessionCount(deliveryId: string): Promise<num
|
|
|
19
23
|
* workflow doesn't allow a direct jump (e.g. To Do -> Done goes through In Progress).
|
|
20
24
|
*/
|
|
21
25
|
export declare function updateIssueStatus(issueId: string, status: string): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Parameters for creating an escalation request.
|
|
24
|
-
*/
|
|
25
|
-
export interface CreateEscalationParams {
|
|
26
|
-
organizationId: string;
|
|
27
|
-
/** Session context (informational only -- not forwarded to the edge fn). Optional for daemon-side non-team callers. */
|
|
28
|
-
sessionId?: string;
|
|
29
|
-
issueId: string | null;
|
|
30
|
-
reasonType: string;
|
|
31
|
-
description: string;
|
|
32
|
-
whatWasTried?: string;
|
|
33
|
-
helpNeeded?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Optional discriminator for the kind of escalation (e.g. 'stuck_focus_branch').
|
|
36
|
-
* Persisted on `agent_escalations.escalation_kind` when present.
|
|
37
|
-
*/
|
|
38
|
-
escalationKind?: string;
|
|
39
|
-
/**
|
|
40
|
-
* Optional structured metadata (e.g. { branch_name, focus_id }).
|
|
41
|
-
* Persisted on `agent_escalations.metadata` when present.
|
|
42
|
-
*/
|
|
43
|
-
metadata?: Record<string, unknown>;
|
|
44
|
-
/**
|
|
45
|
-
* Optional first-class provenance: where this escalation came from.
|
|
46
|
-
* Persisted on the agent_escalations product_id/focus_id/delivery_id
|
|
47
|
-
* columns. Prefer deriving these via resolveProvenance(anchor) so no
|
|
48
|
-
* site files an anonymous escalation when an anchor is available.
|
|
49
|
-
*/
|
|
50
|
-
productId?: string;
|
|
51
|
-
focusId?: string;
|
|
52
|
-
deliveryId?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Optional disposition: the resolution routing axis (who/what can resolve
|
|
55
|
-
* this). Distinct from escalationKind (the diagnosis). One of
|
|
56
|
-
* EscalationDisposition. Persisted on agent_escalations.disposition.
|
|
57
|
-
*/
|
|
58
|
-
disposition?: string;
|
|
59
|
-
/**
|
|
60
|
-
* Optional cross-product TARGET provenance: the product this escalation is a
|
|
61
|
-
* blocker AGAINST (distinct from productId, which is the SOURCE product the
|
|
62
|
-
* escalation came from). Forwarded to the edge as fields.targetProductId. The
|
|
63
|
-
* edge escalation_create handler may or may not persist this on the
|
|
64
|
-
* agent_escalations.target_product_id column yet -- the escalation -> Nexus
|
|
65
|
-
* bridge does not depend on that, since the audit row also carries the target
|
|
66
|
-
* in metadata.target_product_id.
|
|
67
|
-
*/
|
|
68
|
-
targetProductId?: string;
|
|
69
|
-
/**
|
|
70
|
-
* Optional provenance anchor: whatever the creation site holds (a delivery,
|
|
71
|
-
* focus, issue, session id, or branch). When present, the shared path runs
|
|
72
|
-
* resolveProvenance(anchor) and stamps the derived product/focus/delivery
|
|
73
|
-
* columns -- so no site files an anonymous escalation when an anchor is
|
|
74
|
-
* available. Explicitly-passed productId/focusId/deliveryId on params WIN
|
|
75
|
-
* over the derived values (caller intent beats derivation).
|
|
76
|
-
*/
|
|
77
|
-
anchor?: EscalationAnchor;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Create an escalation request.
|
|
81
|
-
*
|
|
82
|
-
* When `anchor` is supplied, provenance is derived centrally via
|
|
83
|
-
* resolveProvenance and merged with any explicit productId/focusId/deliveryId
|
|
84
|
-
* on params (explicit wins). This is the single stamping point that closes
|
|
85
|
-
* Delivery C: every site routes through here and provenance is guaranteed
|
|
86
|
-
* whenever an anchor is available. resolveProvenance never throws, so a
|
|
87
|
-
* derivation miss degrades to the explicit fields (or none) rather than
|
|
88
|
-
* aborting the escalation.
|
|
89
|
-
*/
|
|
90
|
-
/**
|
|
91
|
-
* Injectable deps for createEscalation. Two-dep cascade: the shared path calls
|
|
92
|
-
* BOTH callApi (to write the row) AND resolveProvenance (to derive the anchor's
|
|
93
|
-
* product/focus/delivery columns). CallApiDeps only covers callApi, so this
|
|
94
|
-
* local interface adds the provenance seam. A test injects fakes THROUGH deps,
|
|
95
|
-
* registering ZERO mock.module (which would poison the daemon-core mock-loader);
|
|
96
|
-
* production callers pass nothing and get the real imports.
|
|
97
|
-
*/
|
|
98
|
-
export interface CreateEscalationDeps extends CallApiDeps {
|
|
99
|
-
resolveProvenance?: typeof resolveProvenance;
|
|
100
|
-
}
|
|
101
|
-
export declare function createEscalation(params: CreateEscalationParams, deps?: CreateEscalationDeps): Promise<{
|
|
102
|
-
escalationId: string | null;
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Minimal shape of an escalation row returned by listPendingEscalations.
|
|
106
|
-
* Only includes the fields needed by the merge-back loop.
|
|
107
|
-
*/
|
|
108
|
-
export interface PendingEscalation {
|
|
109
|
-
id: string;
|
|
110
|
-
reasonType: string;
|
|
111
|
-
description: string;
|
|
112
|
-
whatWasTried: string | null;
|
|
113
|
-
helpNeeded: string | null;
|
|
114
|
-
escalationKind?: string | null;
|
|
115
|
-
metadata?: Record<string, unknown> | null;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* List open (not-yet-resolved) escalations for the organization.
|
|
119
|
-
*
|
|
120
|
-
* Returns rows with status in `('pending', 'in_review')` -- both are
|
|
121
|
-
* "open" from a dedup perspective. An operator may move a stuck-branch
|
|
122
|
-
* escalation to `in_review` while triaging; the merge-back loop must
|
|
123
|
-
* still treat it as suppressing duplicates so it does not file a second
|
|
124
|
-
* `pending` row for the same branch.
|
|
125
|
-
*
|
|
126
|
-
* Used by the merge-back loop to detect when a branch already has an
|
|
127
|
-
* unresolved merge-conflict escalation, and to find existing stuck-branch
|
|
128
|
-
* escalations for dedup / auto-resolution.
|
|
129
|
-
*/
|
|
130
|
-
export declare function listPendingEscalations(deps?: CallApiDeps): Promise<PendingEscalation[]>;
|
|
131
|
-
/**
|
|
132
|
-
* Returns true when an open (status pending or in_review) team_failure
|
|
133
|
-
* escalation exists for the given focus.
|
|
134
|
-
*
|
|
135
|
-
* Used by the focus-executor spawn precondition to prevent respawning a
|
|
136
|
-
* team that has already given up on a focus. The escalation row is the
|
|
137
|
-
* signal "this focus is not currently workable"; until a human resolves
|
|
138
|
-
* it, the daemon should not spend cycles re-deriving the same conclusion.
|
|
139
|
-
*
|
|
140
|
-
* Dedup matches on the first-class `focus_id` column (stamped via the
|
|
141
|
-
* anchor since Delivery B of the Escalation Signal Richness focus). A
|
|
142
|
-
* metadata.focusId fallback covers any rows that predate the migration's
|
|
143
|
-
* backfill and landed in the deployment window before the daemon restarted.
|
|
144
|
-
*/
|
|
145
|
-
export declare function hasOpenTeamFailureEscalation(focusId: string, deps?: CallApiDeps): Promise<boolean>;
|
|
146
|
-
/**
|
|
147
|
-
* Returns true when an open (status pending or in_review) escalation exists
|
|
148
|
-
* for the given delivery + kind discriminator.
|
|
149
|
-
*
|
|
150
|
-
* Now that the advance-block class is a first-class `escalation_kind`
|
|
151
|
-
* ('advance_blocked', added to the DB CHECK + ESCALATION_KINDS) and the
|
|
152
|
-
* delivery is a first-class `delivery_id` column, dedup matches on the
|
|
153
|
-
* COLUMNS in preference to the metadata bag. A metadata fallback is retained
|
|
154
|
-
* for back-compat with rows already open at deploy time (filed before this
|
|
155
|
-
* promotion, which carry the discriminator only in metadata.kind /
|
|
156
|
-
* metadata.deliveryId).
|
|
157
|
-
*
|
|
158
|
-
* Used by the delivery advance-block path so a delivery stuck across many
|
|
159
|
-
* polls files exactly one open escalation instead of one per tick.
|
|
160
|
-
*/
|
|
161
|
-
export declare function hasOpenEscalationForDelivery(deliveryId: string, escalationKind: string): Promise<boolean>;
|
|
162
|
-
import { OPERATOR_HOLD_DISPOSITIONS, SELF_REPORT_STALL_HOLD_KINDS, REFUSED_OPERATOR_HOLD_KINDS, findOpenOperatorHoldForDelivery, hasOpenOperatorHoldForDelivery, type OperatorHoldEscalation } from './holds.js';
|
|
163
|
-
export { OPERATOR_HOLD_DISPOSITIONS, SELF_REPORT_STALL_HOLD_KINDS, REFUSED_OPERATOR_HOLD_KINDS, findOpenOperatorHoldForDelivery, hasOpenOperatorHoldForDelivery, };
|
|
164
|
-
export type { OperatorHoldEscalation };
|
|
165
|
-
/**
|
|
166
|
-
* escalation_kind discriminators for the two focus-merge worktree-dirty
|
|
167
|
-
* classes. Declared as daemon-local string constants (not imported from
|
|
168
|
-
* @telora/daemon-core's ESCALATION_KINDS) on purpose: the daemon consumes the
|
|
169
|
-
* registry-PUBLISHED daemon-core, so it cannot reference newly-added enum
|
|
170
|
-
* members until a build that depends on a daemon-core publish carrying them.
|
|
171
|
-
* They ARE now in daemon-core (ESCALATION_KINDS.MERGE_CONFLICT /
|
|
172
|
-
* .MERGE_REFUSED_DIRTY, shipped in 0.2.45) for other consumers (frontend, MCP),
|
|
173
|
-
* but the daemon keeps the local strings so this code does not depend on the
|
|
174
|
-
* publish ordering. The DB CHECK is the real constraint -- loosened by the
|
|
175
|
-
* agent_escalations_kind_merge_classes migration to admit these two values --
|
|
176
|
-
* and the daemon stamps them as plain strings.
|
|
177
|
-
* (advance_blocked already shipped in daemon-core as ESCALATION_KINDS.ADVANCE_BLOCKED.)
|
|
178
|
-
*/
|
|
179
|
-
export declare const MERGE_CONFLICT_ESCALATION_KIND = "merge_conflict";
|
|
180
|
-
export declare const MERGE_REFUSED_DIRTY_ESCALATION_KIND = "merge_refused_dirty";
|
|
181
|
-
/**
|
|
182
|
-
* The worktree-dirty escalation classes: a single physical fact (one focus
|
|
183
|
-
* worktree with uncommitted changes) can be observed by three independent
|
|
184
|
-
* daemon paths -- the delivery advance-block guard (advance_blocked), the
|
|
185
|
-
* focus-merge dirty-worktree refusal (merge_refused_dirty), and the
|
|
186
|
-
* focus-merge conflict path (merge_conflict). They are siblings: when one is
|
|
187
|
-
* already open for a focus, the others should suppress rather than pile on.
|
|
188
|
-
*/
|
|
189
|
-
export declare const WORKTREE_DIRTY_ESCALATION_KINDS: readonly string[];
|
|
190
|
-
/**
|
|
191
|
-
* Returns true when an open (status pending or in_review) worktree-dirty-class
|
|
192
|
-
* escalation exists for the given FOCUS.
|
|
193
|
-
*
|
|
194
|
-
* This generalizes hasOpenEscalationForDelivery from per-delivery to
|
|
195
|
-
* focus/worktree grain. A dirty worktree is a property of one focus worktree
|
|
196
|
-
* shared by all of the focus's deliveries, so deduping per delivery emits N
|
|
197
|
-
* rows for one physical fact. Keying on the focus collapses them to one.
|
|
198
|
-
*
|
|
199
|
-
* It also collapses ACROSS escalation classes: by default the sibling set is
|
|
200
|
-
* { advance_blocked, merge_conflict, merge_refused_dirty }, so an open
|
|
201
|
-
* advance-block escalation suppresses a merge-refuse one (and vice versa) --
|
|
202
|
-
* one dirty-worktree fact yields at most one open escalation regardless of how
|
|
203
|
-
* many code paths observe it. Pass `kinds` to narrow the sibling set.
|
|
204
|
-
*
|
|
205
|
-
* Dedup matches on the typed `focus_id` + `escalation_kind` COLUMNS in
|
|
206
|
-
* preference to the metadata bag, with a metadata fallback (metadata.focusId /
|
|
207
|
-
* metadata.kind) for rows already open at deploy time. Because it queries the
|
|
208
|
-
* DB rather than an in-memory Set, the dedup survives a daemon restart.
|
|
209
|
-
*
|
|
210
|
-
* The request narrows server-side by `focusId` + open `statuses` (both honored
|
|
211
|
-
* by the live escalation_list handler) so the 500-row page is scoped to this
|
|
212
|
-
* focus's open rows, not the org's newest 500 -- closing the gap where a busy
|
|
213
|
-
* org could push the matching sibling off the page. The status + focus + kind
|
|
214
|
-
* predicate is ALSO applied client-side (isOpenWorktreeDirtyMatch) as
|
|
215
|
-
* defense-in-depth.
|
|
216
|
-
*/
|
|
217
|
-
export declare function hasOpenWorktreeDirtyEscalation(focusId: string, kinds?: readonly string[], deps?: CallApiDeps): Promise<boolean>;
|
|
218
|
-
/** The escalation_kind filed by the planning-wedge watchdog. */
|
|
219
|
-
export declare const WEDGED_FOCUS_ESCALATION_KIND = "wedged_focus";
|
|
220
|
-
/**
|
|
221
|
-
* Returns true when an OPEN (status pending or in_review) wedged_focus
|
|
222
|
-
* escalation already exists for the given FOCUS.
|
|
223
|
-
*
|
|
224
|
-
* The planning-wedge watchdog re-evaluates every poll tick, so without a dedup
|
|
225
|
-
* it would file an identical wedged_focus row each tick the focus stays wedged
|
|
226
|
-
* (the 172-duplicate storm class). Keying on the focus + escalation_kind COLUMNS
|
|
227
|
-
* collapses the threshold-crossing escalation to at most one open row per focus.
|
|
228
|
-
*
|
|
229
|
-
* Mirrors hasOpenWorktreeDirtyEscalation: the request narrows server-side by
|
|
230
|
-
* focusId + open statuses (both honored by the live escalation_list handler) so
|
|
231
|
-
* a busy org cannot page the matching row off the 500-row window, and the
|
|
232
|
-
* status + focus + kind predicate is ALSO applied client-side as defense-in-depth.
|
|
233
|
-
* Because it queries the DB rather than an in-memory Set, the dedup SURVIVES A
|
|
234
|
-
* DAEMON RESTART -- a restart cannot re-storm a focus that is still wedged.
|
|
235
|
-
*/
|
|
236
|
-
export declare function hasOpenWedgedFocusEscalation(focusId: string): Promise<boolean>;
|
|
237
|
-
/**
|
|
238
|
-
* Returns true when an OPEN (status pending or in_review) escalation of the
|
|
239
|
-
* given `escalationKind` already exists for the given FOCUS. Generic per-focus
|
|
240
|
-
* dedup, mirroring hasOpenWedgedFocusEscalation but parameterized on the kind.
|
|
241
|
-
*
|
|
242
|
-
* Used by the targeted stall detectors (review_window_stalled) so a focus that
|
|
243
|
-
* stays stalled across many poll ticks files exactly one open escalation
|
|
244
|
-
* instead of one per tick. Queries the DB (not an in-memory Set), so the dedup
|
|
245
|
-
* survives a daemon restart. Narrows server-side by focusId + open statuses and
|
|
246
|
-
* re-applies the status/focus/kind predicate client-side as defense-in-depth.
|
|
247
|
-
*/
|
|
248
|
-
/**
|
|
249
|
-
* The escalation_kind the review-exit drift-streak breaker files when a focus
|
|
250
|
-
* branch keeps advancing DURING each review pass (review-exit-escalations.ts).
|
|
251
|
-
* Named here so the respawn guard and the filer agree on the exact string.
|
|
252
|
-
*/
|
|
253
|
-
export declare const REVIEW_COVERAGE_INCOMPLETE_ESCALATION_KIND = "review_coverage_incomplete";
|
|
254
|
-
/**
|
|
255
|
-
* Returns true when an open (status pending or in_review)
|
|
256
|
-
* review_coverage_incomplete escalation exists for the given focus.
|
|
257
|
-
*
|
|
258
|
-
* Used by the respawn guard so a focus whose drift-streak breaker has already
|
|
259
|
-
* fired parks its re-review spawns instead of burning a review cycle every
|
|
260
|
-
* spawn cooldown while the escalation sits open (the 2026-08-06 incident: the
|
|
261
|
-
* breaker fired 4 minutes in, but nothing stopped the loop for 4.5h). Mirrors
|
|
262
|
-
* hasOpenTeamFailureEscalation; delegates to the generic per-focus dedup query.
|
|
263
|
-
*/
|
|
264
|
-
export declare function hasOpenReviewCoverageIncompleteEscalation(focusId: string): Promise<boolean>;
|
|
265
|
-
export declare function hasOpenFocusEscalation(focusId: string, escalationKind: string): Promise<boolean>;
|
|
266
|
-
/**
|
|
267
|
-
* Auto-resolve the open worktree-dirty escalations for a focus once their
|
|
268
|
-
* underlying condition has cleared (the worktree is observed clean again, or a
|
|
269
|
-
* merge conflict has been merged through). Lists the open rows for the focus
|
|
270
|
-
* narrowed to `kinds`, resolves each with a daemon-remediation note, and
|
|
271
|
-
* returns the count resolved.
|
|
272
|
-
*
|
|
273
|
-
* This is the close half of the disposition-aware model: an agent_resolvable
|
|
274
|
-
* condition that auto-remediates should also stop showing in the human inbox
|
|
275
|
-
* the moment it clears, instead of lingering as a resolved-in-fact but
|
|
276
|
-
* still-pending row. Best-effort: a resolve failure for one row is logged and
|
|
277
|
-
* skipped, never thrown, so the caller's primary work is not blocked.
|
|
278
|
-
*
|
|
279
|
-
* Callers MUST pass `kinds` narrowed to the conditions the clearing event
|
|
280
|
-
* actually resolves -- e.g. a clean worktree clears advance_blocked /
|
|
281
|
-
* merge_refused_dirty but NOT merge_conflict (a content conflict is not a dirty
|
|
282
|
-
* worktree), and a successful merge clears merge_conflict.
|
|
283
|
-
*/
|
|
284
|
-
export declare function resolveOpenWorktreeDirtyEscalations(focusId: string, kinds: readonly string[], resolutionNotes?: string, deps?: CallApiDeps): Promise<number>;
|
|
285
|
-
/** An open agent_resolvable filing the daemon hands to a focus's next spawn. */
|
|
286
|
-
export interface AgentResolvableItem {
|
|
287
|
-
id: string;
|
|
288
|
-
escalationKind: string | null;
|
|
289
|
-
description: string;
|
|
290
|
-
createdAt: string;
|
|
291
|
-
}
|
|
292
|
-
/** Minimal escalation row shape the agent_resolvable filter reads. */
|
|
293
|
-
export interface AgentResolvableEscalationRow {
|
|
294
|
-
id: string;
|
|
295
|
-
status?: string | null;
|
|
296
|
-
disposition?: string | null;
|
|
297
|
-
escalationKind?: string | null;
|
|
298
|
-
description?: string | null;
|
|
299
|
-
createdAt?: string | null;
|
|
300
|
-
organizationId?: string | null;
|
|
301
|
-
focusId?: string | null;
|
|
302
|
-
productId?: string | null;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* An open agent_resolvable filing carrying its OWN anchor (org/focus/product).
|
|
306
|
-
* The focus-scoped read (listOpenAgentResolvableForFocus) already knows the
|
|
307
|
-
* focus it queried, so its items omit the anchor. The ORG-WIDE read does not --
|
|
308
|
-
* it spans every focus, so each item must carry the anchor the promotion needs
|
|
309
|
-
* to refile a needs_operator escalation against the right focus.
|
|
310
|
-
*/
|
|
311
|
-
export interface OrgAgentResolvableItem extends AgentResolvableItem {
|
|
312
|
-
organizationId: string | null;
|
|
313
|
-
focusId: string | null;
|
|
314
|
-
productId: string | null;
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Pure: keep only the OPEN, agent_resolvable rows and shape them into
|
|
318
|
-
* AgentResolvableItems. The status re-check is defense-in-depth so a
|
|
319
|
-
* resolved/dismissed row can never ride into a spawn even if the fetch returned
|
|
320
|
-
* one. Exported for direct unit testing (no callApi mocking needed).
|
|
321
|
-
*/
|
|
322
|
-
export declare function toAgentResolvableItems(rows: readonly AgentResolvableEscalationRow[]): AgentResolvableItem[];
|
|
323
|
-
/**
|
|
324
|
-
* List the OPEN (pending/in_review) agent_resolvable escalations anchored to a
|
|
325
|
-
* focus -- the filings a machine (the next spawned team) can resolve without a
|
|
326
|
-
* human. This is how the daemon CONSUMES agent_resolvable filings: it hands them
|
|
327
|
-
* to the focus's next execution spawn (ride-into-next-spawn) so the agent
|
|
328
|
-
* addresses them as part of its work, and on a clean exit they auto-resolve.
|
|
329
|
-
* agent_resolvable rows are hidden from the operator inbox (the disposition
|
|
330
|
-
* routes to the machine, not the human); this is the machine-side counterpart read.
|
|
331
|
-
*
|
|
332
|
-
* escalation_list does not filter by disposition server-side, so we narrow
|
|
333
|
-
* server-side by focusId + open statuses (scoping the 500-row page to this focus)
|
|
334
|
-
* and filter disposition === agent_resolvable client-side. The status re-check is
|
|
335
|
-
* defense-in-depth so a resolved/dismissed row can never ride into a spawn.
|
|
336
|
-
*/
|
|
337
|
-
export declare function listOpenAgentResolvableForFocus(focusId: string): Promise<AgentResolvableItem[]>;
|
|
338
|
-
/**
|
|
339
|
-
* Pure: keep only the OPEN, agent_resolvable rows and shape them into
|
|
340
|
-
* OrgAgentResolvableItems, carrying each row's org/focus/product anchor. Same
|
|
341
|
-
* open+disposition filter as toAgentResolvableItems; the difference is the
|
|
342
|
-
* anchor fields the org-wide promotion needs. Exported for direct unit testing.
|
|
343
|
-
*/
|
|
344
|
-
export declare function toOrgAgentResolvableItems(rows: readonly AgentResolvableEscalationRow[]): OrgAgentResolvableItem[];
|
|
345
|
-
/**
|
|
346
|
-
* List the OPEN (pending/in_review) agent_resolvable escalations across the
|
|
347
|
-
* ENTIRE org -- NOT scoped to a single focus. This is the read behind the
|
|
348
|
-
* org-wide promotion sweep: it catches filings anchored to a focus that never
|
|
349
|
-
* spawns a team (un-armed, or wedged by an open blocking escalation), which the
|
|
350
|
-
* focus-scoped ride-into-spawn read (listOpenAgentResolvableForFocus) never sees
|
|
351
|
-
* because no spawn ever queries that focus.
|
|
352
|
-
*
|
|
353
|
-
* escalation_list scopes to the daemon's org by auth and does not filter by
|
|
354
|
-
* disposition server-side, so we narrow to open statuses server-side (the 500-row
|
|
355
|
-
* page) and filter disposition === agent_resolvable client-side. Each row's
|
|
356
|
-
* first-class focus_id / product_id / organization_id columns are carried onto
|
|
357
|
-
* the item so the promotion can anchor its needs_operator refile to the right
|
|
358
|
-
* focus.
|
|
359
|
-
*/
|
|
360
|
-
export declare function listOpenAgentResolvableForOrg(deps?: CallApiDeps): Promise<OrgAgentResolvableItem[]>;
|
|
361
|
-
/**
|
|
362
|
-
* Returns true when an OPEN (status pending or in_review) PRD machine escalation
|
|
363
|
-
* of the given `discriminator` already exists for the given PRD.
|
|
364
|
-
*
|
|
365
|
-
* PRD machine escalations are filed via escalations.fileEscalation with a machine
|
|
366
|
-
* `kind` -- carried in metadata.machine_discriminator (NOT the escalation_kind
|
|
367
|
-
* CHECK enum) -- and the prd id folded from `details` into metadata.prdId. So
|
|
368
|
-
* dedup matches on those two metadata fields. Parameterizing the discriminator
|
|
369
|
-
* lets every cadence-reachable PRD escalation path share ONE idempotency guard:
|
|
370
|
-
* the steward divergence path ('prd_divergence_steward_escalation') AND the
|
|
371
|
-
* reflex no-surviving-path fallback ('prd_divergence_no_surviving_path'), both of
|
|
372
|
-
* which would otherwise flood identically (the 172-duplicate storm class).
|
|
373
|
-
*
|
|
374
|
-
* Because it queries the DB rather than a process-lifetime in-memory Set, the
|
|
375
|
-
* dedup SURVIVES A DAEMON RESTART: the escalation storm this prevents (identical
|
|
376
|
-
* pending rows filed every cadence tick) cannot recur after a restart, unlike the
|
|
377
|
-
* no-arm-role Set whose intentional restart-renotify semantics stay untouched.
|
|
378
|
-
*
|
|
379
|
-
* The request narrows server-side by metadata->>prdId (metadataPrdId, honored by
|
|
380
|
-
* the live escalation_list handler) so a busy org cannot page this PRD's row off
|
|
381
|
-
* the 500-row window. The metadata predicate is ALSO applied client-side as
|
|
382
|
-
* defense-in-depth AND so the dedup works before the edge-fn filter deploys
|
|
383
|
-
* (edge changes propagate via the separate INFRA pipeline) -- an unknown
|
|
384
|
-
* metadataPrdId field is simply ignored server-side until then.
|
|
385
|
-
*/
|
|
386
|
-
export declare function hasOpenPrdEscalation(prdId: string, discriminator: string): Promise<boolean>;
|
|
387
|
-
/**
|
|
388
|
-
* Mark an escalation as resolved with optional notes.
|
|
389
|
-
*/
|
|
390
|
-
export declare function markEscalationResolved(escalationId: string, resolutionNotes?: string, deps?: CallApiDeps): Promise<void>;
|
|
391
26
|
/**
|
|
392
27
|
* Create an issue on a delivery (for create_issue trigger action).
|
|
393
28
|
*/
|
|
394
29
|
export declare function createIssue(deliveryId: string, title: string, description: string | null, issueType: string, priority: string | null): Promise<string>;
|
|
30
|
+
export {};
|
|
395
31
|
//# sourceMappingURL=issues.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/queries/issues.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/queries/issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAIL,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEpD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAO/E;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,MAAM,CAAC,CAejB"}
|