@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.
Files changed (38) hide show
  1. package/config.template.json +3 -2
  2. package/dist/agent/runner.d.ts.map +1 -1
  3. package/dist/agent/runner.js +2 -1
  4. package/dist/agent/runner.js.map +1 -1
  5. package/dist/api/gateway-router.d.ts.map +1 -1
  6. package/dist/api/gateway-router.js +6 -4
  7. package/dist/api/gateway-router.js.map +1 -1
  8. package/dist/api/line-webhook-router.d.ts +2 -13
  9. package/dist/api/line-webhook-router.d.ts.map +1 -1
  10. package/dist/api/line-webhook-router.js +3 -23
  11. package/dist/api/line-webhook-router.js.map +1 -1
  12. package/dist/api/router.js +2 -2
  13. package/dist/api/router.js.map +1 -1
  14. package/dist/api/webhooks-router.d.ts +36 -0
  15. package/dist/api/webhooks-router.d.ts.map +1 -0
  16. package/dist/api/webhooks-router.js +92 -0
  17. package/dist/api/webhooks-router.js.map +1 -0
  18. package/dist/session/process.d.ts.map +1 -1
  19. package/dist/session/process.js +2 -3
  20. package/dist/session/process.js.map +1 -1
  21. package/dist/shell/claude-pty-shell.js +230 -100
  22. package/dist/shell/claude-pty-shell.js.map +1 -1
  23. package/dist/shell/menu-probe.d.ts +77 -0
  24. package/dist/shell/menu-probe.d.ts.map +1 -0
  25. package/dist/shell/menu-probe.js +89 -0
  26. package/dist/shell/menu-probe.js.map +1 -0
  27. package/dist/shell/screen.d.ts +60 -72
  28. package/dist/shell/screen.d.ts.map +1 -1
  29. package/dist/shell/screen.js +149 -153
  30. package/dist/shell/screen.js.map +1 -1
  31. package/dist/shell/tailer.d.ts +29 -7
  32. package/dist/shell/tailer.d.ts.map +1 -1
  33. package/dist/shell/tailer.js +19 -29
  34. package/dist/shell/tailer.js.map +1 -1
  35. package/dist/types.d.ts +0 -4
  36. package/dist/types.d.ts.map +1 -1
  37. package/mcp/tools/telegram/receiver-server.ts +2 -1
  38. 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
- menuToolSeen: false,
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 an interactive select menu → bridge it to chat and end the turn
565
- // so the session goes idle (no watchdog kill) until the user picks an option.
566
- if (this.maybeBridgeMenu(turn))
567
- return;
568
- // Blocked on a tool-permission prompt (e.g. the dangerous-rm circuit breaker
569
- // that fires even under --dangerously-skip-permissions). Bridge the Yes/No to
570
- // chat for a human to decide — never auto-accept — and end the turn so the
571
- // session goes idle instead of wedging until the watchdog.
572
- if (this.maybeBridgePermissionPrompt(turn))
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() excludes the case where the TUI is still on
584
- // a live menu/wizard screen (e.g. a multi-question AskUserQuestion that
585
- // advances internally between sub-questions without the tool_use ever
586
- // returning so no new tailer record appears). hasPrompt()'s idle-prompt
587
- // regex (`/^❯ /m`) can't tell that caret apart from a highlighted menu
588
- // option row using the same `❯` marker, so without this guard a live
589
- // wizard step reads as "Enter got swallowed": the code blindly re-sends
590
- // Enter into the menu (selecting whatever option happens to be
591
- // highlighted) and eventually reports a false 'failed to submit' even
592
- // though the wizard was progressing normally the whole time.
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 menu bridging ------------------------------------------
708
+ // ---- interactive-prompt behavioral probe --------------------------------
638
709
  /**
639
- * If the TUI is blocked on an interactive select menu, emit it to the gateway
640
- * (rendered as chat buttons / numbered text) and end the turn so the session
641
- * goes idle while we await the user's choice. Returns true if it bridged.
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
- * Never auto-selects a destructive option must be a human decision. The
644
- * bypass-permissions dialog also shows the menu footer, so it's excluded here
645
- * and left to maybeHandleDialog()'s auto-accept.
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
- maybeBridgeMenu(turn) {
722
+ maybeProbeAndBridge(turn, now) {
648
723
  if (SKIP_MENU_BRIDGE || this.pendingMenu)
649
- return false;
650
- // Authoritative gate: only bridge when this turn actually invoked a menu tool
651
- // (AskUserQuestion/ExitPlanMode). Without it, a reply or re-injected history
652
- // that renders a numbered list + the menu footer would spawn a phantom menu.
653
- // The transcript tool_use can't be forged by on-screen text. Fails safe: if a
654
- // genuine non-tool menu ever exists it simply isn't bridged (no false buttons).
655
- if (!turn.menuToolSeen)
656
- return false;
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 false;
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 false;
661
- const options = this.screen.detectMenu();
662
- if (!options)
663
- return false;
664
- const prompt = (0, screen_1.formatMenuPrompt)(options);
665
- logWarn(`interactive menu detected (${options.length} options) — bridging to chat`);
666
- this.bridgeChoiceToChat(turn, options, prompt);
667
- return true;
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
- * Shared tail of maybeBridgeMenu / maybeBridgePermissionPrompt: emit the
671
- * channel-native choice UI, carry the same text as the turn's result (API/no-
672
- * button fallback + chat history), record the pending menu so the reply routes
673
- * back to a selection, and end the turn so the session goes idle while awaiting
674
- * the human's choice.
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 is still blocking at the bottom of the
781
- // screen — covers both the AskUserQuestion menu and the permission prompt, and
782
- // self-corrects when the digit alone already confirmed (prompt gone → no stray
783
- // Enter). Bottom-region scoped so stale footer/option text left in scrollback by
784
- // the just-answered prompt can't submit an empty line at the idle caret.
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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"}