fix(13-08): confirm-response listener TTL follows the 300s gate timeout

130s TTL predated the UAT timeout bump — it disarmed the approve/deny
listener while the dialog was still legitimately open (self-healing via
the next poll's re-announce, but a click in the gap dropped silently).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
archipelago
2026-08-05 18:36:03 -04:00
co-authored by Claude Fable 5
parent c08f8f0e83
commit 686616375c
+6 -2
View File
@@ -105,8 +105,12 @@ export class ContextBroker {
/** How long the one-shot aiui:tool-confirm-response listener stays armed
* before being cleaned up — slightly beyond the node's own CONFIRM_TIMEOUT
* (120s), after which the node has already declined the action itself. */
private static readonly CONFIRM_LISTENER_TTL_MS = 130_000
* (300s since 13-08's UAT bump; was 120s), after which the node has
* already declined the action itself. Must stay ABOVE the node timeout:
* a TTL below it disarms the listener while the dialog is still
* legitimately open, and an approve clicked in that window goes nowhere
* until the next poll re-announces. */
private static readonly CONFIRM_LISTENER_TTL_MS = 310_000
private confirmPollTimer: ReturnType<typeof setInterval> | null = null
/** Chat turns currently in flight — polling runs while > 0. */