@0xmaxma/claude-gateway 1.3.18 → 1.3.20
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/config.template.json +3 -2
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +2 -1
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +6 -4
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/line-webhook-router.d.ts +2 -13
- package/dist/api/line-webhook-router.d.ts.map +1 -1
- package/dist/api/line-webhook-router.js +3 -23
- package/dist/api/line-webhook-router.js.map +1 -1
- package/dist/api/router.js +2 -2
- package/dist/api/router.js.map +1 -1
- package/dist/api/webhooks-router.d.ts +36 -0
- package/dist/api/webhooks-router.d.ts.map +1 -0
- package/dist/api/webhooks-router.js +92 -0
- package/dist/api/webhooks-router.js.map +1 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +2 -3
- package/dist/session/process.js.map +1 -1
- package/dist/shell/claude-pty-shell.js +230 -100
- package/dist/shell/claude-pty-shell.js.map +1 -1
- package/dist/shell/menu-probe.d.ts +77 -0
- package/dist/shell/menu-probe.d.ts.map +1 -0
- package/dist/shell/menu-probe.js +89 -0
- package/dist/shell/menu-probe.js.map +1 -0
- package/dist/shell/screen.d.ts +60 -72
- package/dist/shell/screen.d.ts.map +1 -1
- package/dist/shell/screen.js +149 -153
- package/dist/shell/screen.js.map +1 -1
- package/dist/shell/tailer.d.ts +29 -7
- package/dist/shell/tailer.d.ts.map +1 -1
- package/dist/shell/tailer.js +19 -29
- package/dist/shell/tailer.js.map +1 -1
- package/dist/types.d.ts +0 -4
- package/dist/types.d.ts.map +1 -1
- package/mcp/tools/telegram/receiver-server.ts +2 -1
- package/package.json +1 -1
|
@@ -55,6 +55,7 @@ const tailer_1 = require("./tailer");
|
|
|
55
55
|
const emitter_1 = require("./emitter");
|
|
56
56
|
const trust_1 = require("./trust");
|
|
57
57
|
const menu_cancel_1 = require("./menu-cancel");
|
|
58
|
+
const menu_probe_1 = require("./menu-probe");
|
|
58
59
|
const POLL_MS = 200;
|
|
59
60
|
const STARTUP_QUIET_MS = 600;
|
|
60
61
|
// How often to touch the heartbeat file during an active turn (PTY mode keepalive).
|
|
@@ -135,6 +136,15 @@ class Driver {
|
|
|
135
136
|
// re-sent every poll while the error overlay lingers. Reset when a new turn begins.
|
|
136
137
|
this.requestTooLargeHandled = false;
|
|
137
138
|
this.lastDialogActionAt = 0;
|
|
139
|
+
// In-flight behavioral probe round, advanced synchronously by tick() at a
|
|
140
|
+
// single chokepoint — the same tick-driven pattern as menuCancel and
|
|
141
|
+
// interrupting (review round 2, finding 6; replaced a detached async
|
|
142
|
+
// coroutine whose racing with tick() needed scattered mutual-exclusion
|
|
143
|
+
// guards). While set, tick() returns early, so no other keystroke path
|
|
144
|
+
// (dialog auto-accept, Enter-retry, fallback-idle) can interleave with the
|
|
145
|
+
// round's arrows, and every non-confirmed exit funnels through
|
|
146
|
+
// finishProbeRound() so an Up-recall is always restored.
|
|
147
|
+
this.probe = null;
|
|
138
148
|
this.tickTimer = null;
|
|
139
149
|
this.streamSocket = null;
|
|
140
150
|
this.screen = new screen_1.ScreenModel();
|
|
@@ -202,6 +212,8 @@ class Driver {
|
|
|
202
212
|
onAssistant: (record) => this.onAssistant(record),
|
|
203
213
|
onTurnEnd: (durationMs) => this.onTurnEnd(durationMs),
|
|
204
214
|
onRequestTooLarge: () => this.handleRequestTooLarge(),
|
|
215
|
+
onToolUse: (toolUseId, toolName) => this.onToolUse(toolUseId, toolName),
|
|
216
|
+
onToolResult: (toolUseId) => this.onToolResult(toolUseId),
|
|
205
217
|
onError: (err) => logError(`tailer: ${err.message}`),
|
|
206
218
|
});
|
|
207
219
|
this.tailer.start();
|
|
@@ -304,15 +316,28 @@ class Driver {
|
|
|
304
316
|
this.turn.texts.push(text);
|
|
305
317
|
if (usage)
|
|
306
318
|
this.turn.usage = usage;
|
|
307
|
-
// Authoritative menu signal: this turn called a menu-raising tool, so a
|
|
308
|
-
// menu on screen now is real (not a quoted/rendered look-alike).
|
|
309
|
-
if ((0, tailer_1.hasInteractiveMenuToolUse)(record.message))
|
|
310
|
-
this.turn.menuToolSeen = true;
|
|
311
319
|
}
|
|
312
320
|
else {
|
|
313
321
|
logDebug('assistant record outside an active turn (emitted anyway)');
|
|
314
322
|
}
|
|
315
323
|
}
|
|
324
|
+
/** A tool_use block appeared in this turn's transcript. Only **Task** calls
|
|
325
|
+
* are tracked (see ActiveTurn.pendingToolUseIds) — they run an invisible
|
|
326
|
+
* sub-agent that can leave the screen idle-quiet while still in flight. */
|
|
327
|
+
onToolUse(toolUseId, toolName) {
|
|
328
|
+
if (this.turn && toolName === 'Task') {
|
|
329
|
+
this.turn.pendingToolUseIds.add(toolUseId);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/** A non-sidechain tool_result landed — clears the pending Task gate on the
|
|
333
|
+
* fallback end-of-turn heuristic (see ActiveTurn.pendingToolUseIds) and
|
|
334
|
+
* counts as progress so the watchdog's clock resets. */
|
|
335
|
+
onToolResult(toolUseId) {
|
|
336
|
+
if (this.turn) {
|
|
337
|
+
this.turn.pendingToolUseIds.delete(toolUseId);
|
|
338
|
+
this.turn.lastProgressAt = Date.now();
|
|
339
|
+
}
|
|
340
|
+
}
|
|
316
341
|
onTurnEnd(durationMs) {
|
|
317
342
|
logDebug(`turn_duration record (${durationMs}ms)`);
|
|
318
343
|
if (this.turn)
|
|
@@ -387,7 +412,7 @@ class Driver {
|
|
|
387
412
|
void this.typeAndSubmit(text);
|
|
388
413
|
}
|
|
389
414
|
/** Initialize a fresh active turn (shared by normal submit and menu selection). */
|
|
390
|
-
beginTurn() {
|
|
415
|
+
beginTurn(fromMenuSelection = false) {
|
|
391
416
|
const now = Date.now();
|
|
392
417
|
this.idleNotified = false;
|
|
393
418
|
this.requestTooLargeHandled = false;
|
|
@@ -402,7 +427,9 @@ class Driver {
|
|
|
402
427
|
usage: null,
|
|
403
428
|
dialogEscapes: 0,
|
|
404
429
|
recordsAtStart: this.tailer.seenRecords,
|
|
405
|
-
|
|
430
|
+
fromMenuSelection,
|
|
431
|
+
probe: null,
|
|
432
|
+
pendingToolUseIds: new Set(),
|
|
406
433
|
};
|
|
407
434
|
}
|
|
408
435
|
async typeAndSubmit(text) {
|
|
@@ -412,6 +439,11 @@ class Driver {
|
|
|
412
439
|
this.queue.length = 0;
|
|
413
440
|
return;
|
|
414
441
|
}
|
|
442
|
+
// Clear any stale text sitting in the input line first — e.g. history the
|
|
443
|
+
// probe's Up fallback recalled that an abandoned round couldn't restore —
|
|
444
|
+
// so it is never prepended to this message (review round 2, finding 3).
|
|
445
|
+
// A no-op at an empty idle prompt.
|
|
446
|
+
this.host.writeRaw('\x15');
|
|
415
447
|
if (NO_BRACKETED_PASTE) {
|
|
416
448
|
// Fallback: sanitizeUserText() strips all CR, so '\r' below is the only
|
|
417
449
|
// submit trigger — safe for multiline text without bracketed paste.
|
|
@@ -474,7 +506,12 @@ class Driver {
|
|
|
474
506
|
// isPtyActivelyWorking() treats the session as alive when the busy spinner is
|
|
475
507
|
// on screen OR the PTY emitted output recently — keeping the receiver's 5-min
|
|
476
508
|
// stalled detector from false-firing mid-work.
|
|
477
|
-
const ptyAlive = (0, screen_1.isPtyActivelyWorking)({ isBusy: this.screen.isBusy(), quietMs: this.screen.quietMs() }, HEARTBEAT_LIVENESS_QUIET_MS)
|
|
509
|
+
const ptyAlive = (0, screen_1.isPtyActivelyWorking)({ isBusy: this.screen.isBusy(), quietMs: this.screen.quietMs() }, HEARTBEAT_LIVENESS_QUIET_MS)
|
|
510
|
+
// A pending Task sub-agent runs invisibly (sidechain records, quiet
|
|
511
|
+
// screen) — keep writing the heartbeat so the receiver's stalled
|
|
512
|
+
// detector doesn't tear the session down in exactly the window the
|
|
513
|
+
// pendingToolUseIds gate is holding the turn open for.
|
|
514
|
+
|| (this.turn ? this.turn.pendingToolUseIds.size > 0 : false);
|
|
478
515
|
if (this.heartbeatPath
|
|
479
516
|
&& ptyAlive
|
|
480
517
|
&& now - this.lastHeartbeatAt >= HEARTBEAT_INTERVAL_MS) {
|
|
@@ -499,6 +536,16 @@ class Driver {
|
|
|
499
536
|
this.idleNotified = true;
|
|
500
537
|
this.emitter.emitSessionIdle(this.args.sessionId);
|
|
501
538
|
}
|
|
539
|
+
// In-flight behavioral probe round: advance it at this single chokepoint
|
|
540
|
+
// and do nothing else this tick — the dialog auto-accept '2', menu-cancel
|
|
541
|
+
// ESCs, and the Enter-retry / fallback-idle keystrokes below must never
|
|
542
|
+
// interleave with the round's arrows. advanceProbe() itself abandons the
|
|
543
|
+
// round (restoring any Up-recall) when the owning turn is gone or an
|
|
544
|
+
// interrupt is settling, so the blocks below run one tick later at most.
|
|
545
|
+
if (this.probe) {
|
|
546
|
+
this.advanceProbe(now);
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
502
549
|
// Waiting for the TUI to settle after ESC-cancelling a bridged menu (the user
|
|
503
550
|
// typed a free-text reply instead of a number). Submit the queued prompt only
|
|
504
551
|
// once the menu is gone and the prompt is idle — otherwise the paste races
|
|
@@ -556,40 +603,47 @@ class Driver {
|
|
|
556
603
|
if (this.screen.consumeBusySeen() || this.screen.isBusy()) {
|
|
557
604
|
turn.sawBusy = true;
|
|
558
605
|
turn.lastProgressAt = now;
|
|
606
|
+
// Real activity resumed — a probe that ran out of rounds during this
|
|
607
|
+
// stall gets a fresh budget if the turn genuinely stalls again later.
|
|
608
|
+
// (A round can't be in flight here: tick() already returned at the
|
|
609
|
+
// probe chokepoint above while one is outstanding.)
|
|
610
|
+
if (turn.probe)
|
|
611
|
+
turn.probe.rounds = 0;
|
|
559
612
|
return;
|
|
560
613
|
}
|
|
561
614
|
// Not busy. Possible: still rendering, swallowed Enter, dialog, menu, or done
|
|
562
615
|
// (turn_duration normally ends the turn before we get here).
|
|
563
616
|
this.maybeHandleDialog();
|
|
564
|
-
// Blocked on
|
|
565
|
-
//
|
|
566
|
-
if (
|
|
567
|
-
|
|
568
|
-
//
|
|
569
|
-
//
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
return;
|
|
617
|
+
// Blocked on a live interactive overlay (AskUserQuestion menu, plan
|
|
618
|
+
// approval, or a tool-permission Yes/No prompt) → probe behaviorally and
|
|
619
|
+
// bridge it to chat if confirmed, so the session goes idle (no watchdog
|
|
620
|
+
// kill) until the user picks an option. Starts a round at most; the
|
|
621
|
+
// chokepoint above advances it on subsequent ticks and bridges on
|
|
622
|
+
// confirmation.
|
|
623
|
+
this.maybeProbeAndBridge(turn, now);
|
|
624
|
+
if (this.probe)
|
|
625
|
+
return; // a round just started — let it settle
|
|
574
626
|
if (!turn.sawBusy
|
|
575
627
|
&& now - turn.submittedAt > SUBMIT_RETRY_AFTER_MS
|
|
576
628
|
&& this.screen.hasPrompt()
|
|
577
|
-
&& !this.screen.interactivePromptBlocking()
|
|
629
|
+
&& !(turn.fromMenuSelection && this.screen.interactivePromptBlocking())
|
|
578
630
|
&& this.screen.quietMs() > 1500
|
|
579
631
|
&& this.tailer.seenRecords === turn.recordsAtStart) {
|
|
580
632
|
// Only retry if no new records have appeared since this turn started —
|
|
581
633
|
// a delta > 0 means claude already started writing output.
|
|
582
634
|
//
|
|
583
|
-
// interactivePromptBlocking()
|
|
584
|
-
// a live menu
|
|
585
|
-
//
|
|
586
|
-
//
|
|
587
|
-
//
|
|
588
|
-
//
|
|
589
|
-
//
|
|
590
|
-
//
|
|
591
|
-
//
|
|
592
|
-
//
|
|
635
|
+
// The interactivePromptBlocking() suppression applies ONLY to a
|
|
636
|
+
// menu-selection turn: there a live menu genuinely can still be on
|
|
637
|
+
// screen with no busy/record signal (the digit was swallowed, or a
|
|
638
|
+
// multi-question wizard advanced), and a blind Enter would select
|
|
639
|
+
// whatever row is highlighted — the probe re-bridges that state
|
|
640
|
+
// instead. For an ordinary turn in this branch a menu is impossible
|
|
641
|
+
// (Claude produced no output yet — same reasoning as the probe gate in
|
|
642
|
+
// maybeProbeAndBridge()), so the retry must NOT be gated on screen
|
|
643
|
+
// text: the unsubmitted draft itself renders as "❯ <text>" and, when
|
|
644
|
+
// its text starts with "N.", satisfies the caret scan — suppressing
|
|
645
|
+
// the exact retry this state needs and wedging the turn into the
|
|
646
|
+
// 30-min watchdog (review round 2, finding 1).
|
|
593
647
|
if (turn.enterRetries < MAX_ENTER_RETRIES) {
|
|
594
648
|
turn.enterRetries++;
|
|
595
649
|
turn.submittedAt = now;
|
|
@@ -603,7 +657,12 @@ class Driver {
|
|
|
603
657
|
}
|
|
604
658
|
// Fallback end-of-turn (e.g. interrupted turn never writes turn_duration):
|
|
605
659
|
// ran → idle prompt → quiet, and we already streamed assistant output.
|
|
660
|
+
// pendingToolUseIds must be empty too — a Task tool call's sub-agent runs
|
|
661
|
+
// invisibly (its own transcript records are sidechain and filtered out),
|
|
662
|
+
// so the screen can look idle-quiet for stretches while the turn is
|
|
663
|
+
// genuinely still in flight (see onToolResult()/pendingToolUseIds above).
|
|
606
664
|
if (turn.sawBusy && turn.sawAssistant
|
|
665
|
+
&& turn.pendingToolUseIds.size === 0
|
|
607
666
|
&& this.screen.hasPrompt()
|
|
608
667
|
&& this.screen.quietMs() >= FALLBACK_IDLE_QUIET_MS) {
|
|
609
668
|
logDebug('fallback idle detection ended the turn');
|
|
@@ -611,6 +670,18 @@ class Driver {
|
|
|
611
670
|
return;
|
|
612
671
|
}
|
|
613
672
|
if (now - turn.lastProgressAt > WATCHDOG_MS) {
|
|
673
|
+
if (turn.pendingToolUseIds.size > 0) {
|
|
674
|
+
// A pending Task held the turn past the watchdog: either a genuinely
|
|
675
|
+
// long sub-agent that stayed screen-quiet the whole time, or an
|
|
676
|
+
// orphaned tool_use whose result never landed. End the turn with an
|
|
677
|
+
// error but keep the PTY session alive — killing it would drop queued
|
|
678
|
+
// messages and is unrecoverable, whereas a stuck/slow sub-agent is
|
|
679
|
+
// turn-local. (Distinct from the no-progress kill below, which means
|
|
680
|
+
// the whole TUI has wedged.)
|
|
681
|
+
logWarn(`pending Task exceeded ${WATCHDOG_MS}ms without a result — ending turn, session preserved`);
|
|
682
|
+
this.finishTurn(true, `sub-agent did not complete within ${WATCHDOG_MS}ms`);
|
|
683
|
+
return;
|
|
684
|
+
}
|
|
614
685
|
this.finishTurn(true, `no progress for ${WATCHDOG_MS}ms — giving up`);
|
|
615
686
|
this.shutdown(1);
|
|
616
687
|
}
|
|
@@ -634,44 +705,138 @@ class Driver {
|
|
|
634
705
|
this.host.writeRaw('2');
|
|
635
706
|
}
|
|
636
707
|
}
|
|
637
|
-
// ---- interactive
|
|
708
|
+
// ---- interactive-prompt behavioral probe --------------------------------
|
|
638
709
|
/**
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
*
|
|
710
|
+
* Behavioral gate replacing the old screen-regex detectors + transcript
|
|
711
|
+
* menuToolSeen gate (planning-61). While the turn looks stalled (settled
|
|
712
|
+
* quiet, not busy, not already mid-selection), spend one probe round: send
|
|
713
|
+
* an arrow keystroke and check whether the screen actually reacts. Rounds
|
|
714
|
+
* are budgeted (PROBE_MAX_ROUNDS) and cooldown-spaced (decideProbeAttempt())
|
|
715
|
+
* so a genuinely non-menu stall falls through to the existing Enter-retry /
|
|
716
|
+
* fallback-idle-detection / watchdog path exactly as it does today.
|
|
642
717
|
*
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
*
|
|
718
|
+
* Starts the round only — tick()'s chokepoint drives it forward via
|
|
719
|
+
* advanceProbe(), which ends the turn itself (via bridgeChoiceToChat())
|
|
720
|
+
* only if the round confirms a live overlay.
|
|
646
721
|
*/
|
|
647
|
-
|
|
722
|
+
maybeProbeAndBridge(turn, now) {
|
|
648
723
|
if (SKIP_MENU_BRIDGE || this.pendingMenu)
|
|
649
|
-
return
|
|
650
|
-
//
|
|
651
|
-
//
|
|
652
|
-
//
|
|
653
|
-
//
|
|
654
|
-
//
|
|
655
|
-
|
|
656
|
-
|
|
724
|
+
return;
|
|
725
|
+
// An interactive overlay can only exist once Claude produced output this
|
|
726
|
+
// turn — AskUserQuestion and the permission prompt both require a running
|
|
727
|
+
// turn, so the busy spinner or a transcript record precedes them — or
|
|
728
|
+
// when this turn IS a menu selection (see ActiveTurn.fromMenuSelection).
|
|
729
|
+
// Before that, a quiet stall is a submission problem (swallowed Enter),
|
|
730
|
+
// and probing it would type arrows into the user's unsubmitted draft —
|
|
731
|
+
// the Up could replace the draft with recalled history that the later
|
|
732
|
+
// Enter-retry then submits (review round 2, finding 4).
|
|
733
|
+
if (!turn.sawBusy && !turn.fromMenuSelection
|
|
734
|
+
&& this.tailer.seenRecords === turn.recordsAtStart)
|
|
735
|
+
return;
|
|
657
736
|
if (this.screen.quietMs() < MENU_STABLE_QUIET_MS)
|
|
658
|
-
return
|
|
737
|
+
return;
|
|
738
|
+
const probe = (turn.probe ?? (turn.probe = { lastAttemptAt: 0, rounds: 0 }));
|
|
739
|
+
if ((0, menu_probe_1.decideProbeAttempt)(probe, { now }) !== 'send')
|
|
740
|
+
return;
|
|
659
741
|
if (this.screen.detectDialog() === 'bypass-permissions')
|
|
660
|
-
return
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
742
|
+
return;
|
|
743
|
+
probe.lastAttemptAt = now;
|
|
744
|
+
probe.rounds++;
|
|
745
|
+
this.probe = { turn, phase: 'sent-down', sentAt: now, before: this.screen.text() };
|
|
746
|
+
this.host.writeRaw(menu_probe_1.PROBE_KEY_DOWN);
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Advance the in-flight probe round by one tick (called only from tick()'s
|
|
750
|
+
* chokepoint while `this.probe` is set). One round: send Down, settle,
|
|
751
|
+
* check for a screen change; if Down produced nothing, retry once with Up
|
|
752
|
+
* (covers the "already at the last option, no wraparound" boundary case).
|
|
753
|
+
* A change alone is NOT enough to bridge: the before/after snapshots must
|
|
754
|
+
* both parse as the same-shaped prompt whose ❯-highlighted row MOVED
|
|
755
|
+
* (confirmProbeReaction() — the plan's point-2 comparison). Anything else
|
|
756
|
+
* — unparseable, menu-shaped text whose caret didn't move, work resuming
|
|
757
|
+
* mid-round, the turn ending, an interrupt settling — funnels through
|
|
758
|
+
* finishProbeRound(), which restores any Up-recall (fail-safe: no bridge
|
|
759
|
+
* rather than a fabricated one, and never stale text left in the input).
|
|
760
|
+
*
|
|
761
|
+
* The settle wait is tick-quantized: with POLL_MS === PROBE_SETTLE_MS the
|
|
762
|
+
* effective settle is one to two poll intervals, which is fine — the outer
|
|
763
|
+
* MENU_STABLE_QUIET_MS gate already guarantees the screen was stable when
|
|
764
|
+
* the round started.
|
|
765
|
+
*/
|
|
766
|
+
advanceProbe(now) {
|
|
767
|
+
const p = this.probe;
|
|
768
|
+
// Owner turn gone (turn_duration landed mid-round) or a /stop interrupt
|
|
769
|
+
// is settling — abandon before typing anything further.
|
|
770
|
+
if (this.turn !== p.turn || this.interrupting) {
|
|
771
|
+
this.finishProbeRound(p, 'turn ended or interrupt in flight');
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
if (now - p.sentAt < menu_probe_1.PROBE_SETTLE_MS)
|
|
775
|
+
return; // still settling
|
|
776
|
+
if (this.screen.isBusy()) {
|
|
777
|
+
// Real work resumed mid-round (a reply started streaming) — the screen
|
|
778
|
+
// is changing for its own reasons, not reacting to our keystroke.
|
|
779
|
+
this.finishProbeRound(p, 'work resumed');
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
const after = this.screen.text();
|
|
783
|
+
if (after === p.before) {
|
|
784
|
+
if (p.phase === 'sent-down') {
|
|
785
|
+
// Down produced nothing — maybe the highlight is already on the last
|
|
786
|
+
// option (no wraparound). Fall back to Up once.
|
|
787
|
+
p.phase = 'sent-up';
|
|
788
|
+
p.sentAt = now;
|
|
789
|
+
this.host.writeRaw(menu_probe_1.PROBE_KEY_UP);
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
// Neither key produced any change — nothing interactive is listening,
|
|
793
|
+
// and nothing was recalled, so there is nothing to restore.
|
|
794
|
+
this.probe = null;
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
const beforeParsed = (0, screen_1.parseInteractivePrompt)(p.before);
|
|
798
|
+
const afterParsed = (0, screen_1.parseInteractivePrompt)(after);
|
|
799
|
+
if (!beforeParsed || !afterParsed || !(0, menu_probe_1.confirmProbeReaction)(beforeParsed, afterParsed)) {
|
|
800
|
+
// Not a live overlay reacting to us — either nothing parses, or
|
|
801
|
+
// menu-shaped text is on screen but its highlight didn't move (static
|
|
802
|
+
// prose can't move; only a live menu can).
|
|
803
|
+
this.finishProbeRound(p, 'screen changed without a live highlight move');
|
|
804
|
+
return;
|
|
805
|
+
}
|
|
806
|
+
const turn = p.turn;
|
|
807
|
+
this.probe = null;
|
|
808
|
+
const text = afterParsed.isPermission
|
|
809
|
+
? (0, screen_1.formatPermissionPrompt)(afterParsed.context, afterParsed.options)
|
|
810
|
+
: (0, screen_1.formatMenuPrompt)(afterParsed.options);
|
|
811
|
+
logWarn(`interactive ${afterParsed.isPermission ? 'permission prompt' : 'menu'} confirmed (${afterParsed.options.length} options, highlight ${beforeParsed.highlighted}→${afterParsed.highlighted}) — bridging to chat`);
|
|
812
|
+
this.bridgeChoiceToChat(turn, afterParsed.options, text);
|
|
668
813
|
}
|
|
669
814
|
/**
|
|
670
|
-
*
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
815
|
+
* Single non-confirmed exit for a probe round. When the Up fallback was
|
|
816
|
+
* sent, it may have recalled input-line history into a genuinely idle
|
|
817
|
+
* (non-menu) input box — clear it with Ctrl+U so no stale recalled text is
|
|
818
|
+
* ever prepended to the next submission. Ctrl+U (not a compensating Down)
|
|
819
|
+
* because recalled entries are routinely multi-line (channel envelopes),
|
|
820
|
+
* where a Down may only move the cursor within the text instead of
|
|
821
|
+
* stepping history forward (review round 2, findings 3+5); it is the same
|
|
822
|
+
* clear the interrupt path relies on (abortIfInterrupted()) and a no-op at
|
|
823
|
+
* an empty prompt. Never reached after a confirmed bridge — a live menu
|
|
824
|
+
* consumed the arrows as navigation and its selection is typed as a digit,
|
|
825
|
+
* position-independent of the caret (selectMenuOption()).
|
|
826
|
+
*/
|
|
827
|
+
finishProbeRound(p, reason) {
|
|
828
|
+
if (p.phase === 'sent-up')
|
|
829
|
+
this.host.writeRaw('\x15');
|
|
830
|
+
this.probe = null;
|
|
831
|
+
logDebug(`probe round ended without bridging: ${reason}`);
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* Shared tail of a confirmed probe: emit the channel-native choice UI, carry
|
|
835
|
+
* the same text as the turn's result (API/no-button fallback + chat
|
|
836
|
+
* history), record the pending menu so the reply routes back to a
|
|
837
|
+
* selection, and end the turn so the session goes idle while awaiting the
|
|
838
|
+
* human's choice. Never auto-selects — a destructive/guarded option must
|
|
839
|
+
* always be a human decision.
|
|
675
840
|
*/
|
|
676
841
|
bridgeChoiceToChat(turn, options, text) {
|
|
677
842
|
this.emitter.emitMenuPrompt({ sessionId: this.args.sessionId, prompt: text, options });
|
|
@@ -679,42 +844,6 @@ class Driver {
|
|
|
679
844
|
this.pendingMenu = { options };
|
|
680
845
|
this.finishTurn(false);
|
|
681
846
|
}
|
|
682
|
-
/**
|
|
683
|
-
* If the TUI is blocked on a tool-permission prompt, bridge it to chat as a
|
|
684
|
-
* Yes/No choice (reusing the menu machinery: emit → buttons → handleMenuReply)
|
|
685
|
-
* and end the turn so the session goes idle while awaiting the human's decision.
|
|
686
|
-
* Returns true if it bridged.
|
|
687
|
-
*
|
|
688
|
-
* This is the fix for the wedge: Claude Code keeps a few catastrophe guards
|
|
689
|
-
* (dangerous rm, root/home deletes) that prompt EVEN under
|
|
690
|
-
* --dangerously-skip-permissions, which the wrapper otherwise assumes never
|
|
691
|
-
* happens. Such a prompt is neither the startup bypass dialog nor an
|
|
692
|
-
* AskUserQuestion menu, so without this it is never surfaced and the PTY hangs
|
|
693
|
-
* at the Yes/No until the 30-min watchdog kills the session.
|
|
694
|
-
*
|
|
695
|
-
* NEVER auto-selects — a guarded/destructive operation must be a human decision.
|
|
696
|
-
* Unlike maybeBridgeMenu there is no transcript tool_use to gate on (the circuit
|
|
697
|
-
* breaker is CLI-internal UI, not written to the transcript), so detection rests
|
|
698
|
-
* on detectPermissionPrompt()'s region + multi-marker guard plus the settle
|
|
699
|
-
* gate. That is the same defense detectDialog() relies on, and bridging to a
|
|
700
|
-
* human is strictly safer than detectDialog()'s auto-keypress.
|
|
701
|
-
*/
|
|
702
|
-
maybeBridgePermissionPrompt(turn) {
|
|
703
|
-
if (SKIP_MENU_BRIDGE || this.pendingMenu)
|
|
704
|
-
return false;
|
|
705
|
-
if (this.screen.quietMs() < MENU_STABLE_QUIET_MS)
|
|
706
|
-
return false;
|
|
707
|
-
// The bypass-permissions startup dialog is auto-accepted by maybeHandleDialog().
|
|
708
|
-
if (this.screen.detectDialog() === 'bypass-permissions')
|
|
709
|
-
return false;
|
|
710
|
-
const prompt = this.screen.detectPermissionPrompt();
|
|
711
|
-
if (!prompt)
|
|
712
|
-
return false;
|
|
713
|
-
const text = (0, screen_1.formatPermissionPrompt)(prompt.context, prompt.options);
|
|
714
|
-
logWarn(`permission prompt detected (${prompt.options.length} options) — bridging to chat (never auto-accepted)`);
|
|
715
|
-
this.bridgeChoiceToChat(turn, prompt.options, text);
|
|
716
|
-
return true;
|
|
717
|
-
}
|
|
718
847
|
/** Route a user's menu reply (typed number or button tap) to a selection. */
|
|
719
848
|
handleMenuReply(text) {
|
|
720
849
|
const menu = this.pendingMenu;
|
|
@@ -756,7 +885,7 @@ class Driver {
|
|
|
756
885
|
}
|
|
757
886
|
logDebug(`menu selection: ${n}`);
|
|
758
887
|
this.pendingMenu = null;
|
|
759
|
-
this.beginTurn();
|
|
888
|
+
this.beginTurn(true);
|
|
760
889
|
void this.selectMenuOption(n);
|
|
761
890
|
}
|
|
762
891
|
/**
|
|
@@ -777,11 +906,12 @@ class Driver {
|
|
|
777
906
|
// input and get prepended to the user's next message.
|
|
778
907
|
if (this.abortIfInterrupted())
|
|
779
908
|
return;
|
|
780
|
-
// Send Enter only if a selectable prompt
|
|
781
|
-
//
|
|
782
|
-
// self-corrects when the digit alone already confirmed (prompt gone → no
|
|
783
|
-
// Enter).
|
|
784
|
-
//
|
|
909
|
+
// Send Enter only if a selectable prompt still visibly blocks the screen —
|
|
910
|
+
// covers both the AskUserQuestion menu and the permission prompt, and
|
|
911
|
+
// self-corrects when the digit alone already confirmed (prompt gone → no
|
|
912
|
+
// stray Enter). interactivePromptBlocking() is deliberately permissive
|
|
913
|
+
// (full viewport): a false positive here costs one stray Enter at an idle
|
|
914
|
+
// empty caret, a no-op.
|
|
785
915
|
if (this.screen.interactivePromptBlocking())
|
|
786
916
|
this.host.writeRaw('\r');
|
|
787
917
|
if (this.turn)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-pty-shell.js","sourceRoot":"","sources":["../../src/shell/claude-pty-shell.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-pty-shell.js","sourceRoot":"","sources":["../../src/shell/claude-pty-shell.ts"],"names":[],"mappings":"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"}
|