@0xmaxma/claude-gateway 1.3.15 → 1.3.16
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/dist/agent/workspace-loader.d.ts.map +1 -1
- package/dist/agent/workspace-loader.js +25 -1
- package/dist/agent/workspace-loader.js.map +1 -1
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +3 -0
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/shell/claude-pty-shell.js +87 -10
- package/dist/shell/claude-pty-shell.js.map +1 -1
- package/dist/shell/screen.d.ts +61 -0
- package/dist/shell/screen.d.ts.map +1 -1
- package/dist/shell/screen.js +158 -25
- package/dist/shell/screen.js.map +1 -1
- package/dist/watch/factory.d.ts +24 -0
- package/dist/watch/factory.d.ts.map +1 -1
- package/dist/watch/factory.js +55 -1
- package/dist/watch/factory.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-loader.d.ts","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIxE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,MAAM;CAI7B;AA6CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAuBhE;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuE/G;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,aAK/B,CAAC;AAWH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,GACzC,WAAW,
|
|
1
|
+
{"version":3,"file":"workspace-loader.d.ts","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIxE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,MAAM;CAI7B;AA6CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAuBhE;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuE/G;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,aAK/B,CAAC;AAWH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,GACzC,WAAW,CA8Cb"}
|
|
@@ -212,10 +212,34 @@ function canonicalWorkspaceName(filePath) {
|
|
|
212
212
|
* Returns a WatchHandle with a close() method.
|
|
213
213
|
*/
|
|
214
214
|
function watchWorkspace(workspaceDir, onChange) {
|
|
215
|
+
const claudeMdPath = path.join(workspaceDir, 'CLAUDE.md');
|
|
215
216
|
return (0, factory_1.createWatcher)({
|
|
216
217
|
paths: [path.join(workspaceDir, '*.md')],
|
|
217
218
|
debounceMs: WATCH_DEBOUNCE_MS,
|
|
218
|
-
|
|
219
|
+
// Only the top-level *.md files matter here. `depth: 0` and the `ignored`
|
|
220
|
+
// function do TWO DISTINCT jobs — neither is redundant:
|
|
221
|
+
// • depth:0 stops chokidar from recursing into workspace subdirectories
|
|
222
|
+
// (.telegram-state / .discord-state / memory / …). That accidental
|
|
223
|
+
// recursion fanned out one inotify watcher per nested dir across every
|
|
224
|
+
// agent and could exhaust the system limit (ENOSPC), crashing the
|
|
225
|
+
// gateway. depth:0 alone does NOT filter top-level entries.
|
|
226
|
+
// • ignored filters the top-level entries the *.md glob still matches:
|
|
227
|
+
// CLAUDE.md (excluded so its reload-driven rewrite can't self-trigger a
|
|
228
|
+
// loop) and dot-prefixed files. NB: chokidar's *.md glob DOES match
|
|
229
|
+
// leading-dot files (verified — `.foo.md` fires an add event), so
|
|
230
|
+
// without this a top-level dotfile would spuriously trigger reloads.
|
|
231
|
+
// The dot test is computed relative to workspaceDir on purpose — a naive
|
|
232
|
+
// dot-segment match against the absolute path would also match the parent
|
|
233
|
+
// `.claude-gateway` dir and silently ignore the entire tree.
|
|
234
|
+
chokidarOpts: {
|
|
235
|
+
depth: 0,
|
|
236
|
+
ignored: (p) => {
|
|
237
|
+
if (p === claudeMdPath)
|
|
238
|
+
return true;
|
|
239
|
+
const rel = path.relative(workspaceDir, p);
|
|
240
|
+
return rel !== '' && rel.startsWith('.');
|
|
241
|
+
},
|
|
242
|
+
},
|
|
219
243
|
onAddSync: (filePath) => {
|
|
220
244
|
const filename = path.basename(filePath);
|
|
221
245
|
const upperName = LOWERCASE_TO_UPPERCASE[filename];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-loader.js","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,sDAuBC;AAWD,sCAuEC;AAqCD,
|
|
1
|
+
{"version":3,"file":"workspace-loader.js","sourceRoot":"","sources":["../../src/agent/workspace-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,SAAS,CAAC;AASrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ const os = __importStar(require("os"));
|
|
|
46
46
|
const path = __importStar(require("path"));
|
|
47
47
|
const ws_1 = require("ws");
|
|
48
48
|
const pty_stream_registry_1 = require("../shell/pty-stream-registry");
|
|
49
|
+
const factory_1 = require("../watch/factory");
|
|
49
50
|
const web_ui_1 = require("../ui/web-ui");
|
|
50
51
|
const router_1 = require("./router");
|
|
51
52
|
const cron_router_1 = require("./cron-router");
|
|
@@ -441,6 +442,8 @@ class GatewayRouter {
|
|
|
441
442
|
uptime: Math.floor(uptimeMs / 1000),
|
|
442
443
|
startedAt: this.startedAt.toISOString(),
|
|
443
444
|
version: GATEWAY_VERSION,
|
|
445
|
+
// Degraded file watchers (e.g. inotify ENOSPC). Empty array when healthy.
|
|
446
|
+
watchers: (0, factory_1.getWatcherHealth)(),
|
|
444
447
|
});
|
|
445
448
|
});
|
|
446
449
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-router.js","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway-router.js","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -406,6 +406,12 @@ class Driver {
|
|
|
406
406
|
};
|
|
407
407
|
}
|
|
408
408
|
async typeAndSubmit(text) {
|
|
409
|
+
// Pre-paste guard: if SIGINT already fired between beginTurn() and here, skip the
|
|
410
|
+
// paste entirely — no text lands in the PTY input so no clearing is needed.
|
|
411
|
+
if (this.interrupting || !this.turn) {
|
|
412
|
+
this.queue.length = 0;
|
|
413
|
+
return;
|
|
414
|
+
}
|
|
409
415
|
if (NO_BRACKETED_PASTE) {
|
|
410
416
|
// Fallback: sanitizeUserText() strips all CR, so '\r' below is the only
|
|
411
417
|
// submit trigger — safe for multiline text without bracketed paste.
|
|
@@ -422,15 +428,21 @@ class Driver {
|
|
|
422
428
|
// prompt that would be prepended to the user's next message.
|
|
423
429
|
// Also clear the queue so any messages queued behind this one don't surface
|
|
424
430
|
// after the turn is abandoned (matches the SIGINT queue-drop logic above).
|
|
425
|
-
if (this.
|
|
426
|
-
this.host.writeRaw('\x15'); // Ctrl+U: clear input line
|
|
427
|
-
this.queue.length = 0;
|
|
431
|
+
if (this.abortIfInterrupted())
|
|
428
432
|
return;
|
|
429
|
-
}
|
|
430
433
|
this.host.writeRaw('\r');
|
|
431
434
|
if (this.turn)
|
|
432
435
|
this.turn.submittedAt = Date.now();
|
|
433
436
|
}
|
|
437
|
+
// Sends Ctrl+U to clear the PTY input line, drains the queue, and returns true.
|
|
438
|
+
// Call after writing to the PTY when an interrupt may have arrived mid-write.
|
|
439
|
+
abortIfInterrupted() {
|
|
440
|
+
if (!this.interrupting && this.turn)
|
|
441
|
+
return false;
|
|
442
|
+
this.host.writeRaw('\x15'); // Ctrl+U: clear input line
|
|
443
|
+
this.queue.length = 0;
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
434
446
|
tick() {
|
|
435
447
|
if (this.exiting)
|
|
436
448
|
return;
|
|
@@ -494,7 +506,7 @@ class Driver {
|
|
|
494
506
|
if (this.menuCancel) {
|
|
495
507
|
const action = (0, menu_cancel_1.decideMenuCancel)(this.menuCancel, {
|
|
496
508
|
now,
|
|
497
|
-
menuVisible: this.screen.
|
|
509
|
+
menuVisible: this.screen.interactivePromptBlocking(),
|
|
498
510
|
hasPrompt: this.screen.hasPrompt(),
|
|
499
511
|
isBusy: this.screen.isBusy(),
|
|
500
512
|
quietMs: this.screen.quietMs(),
|
|
@@ -553,6 +565,12 @@ class Driver {
|
|
|
553
565
|
// so the session goes idle (no watchdog kill) until the user picks an option.
|
|
554
566
|
if (this.maybeBridgeMenu(turn))
|
|
555
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;
|
|
556
574
|
if (!turn.sawBusy
|
|
557
575
|
&& now - turn.submittedAt > SUBMIT_RETRY_AFTER_MS
|
|
558
576
|
&& this.screen.hasPrompt()
|
|
@@ -633,12 +651,56 @@ class Driver {
|
|
|
633
651
|
return false;
|
|
634
652
|
const prompt = (0, screen_1.formatMenuPrompt)(options);
|
|
635
653
|
logWarn(`interactive menu detected (${options.length} options) — bridging to chat`);
|
|
636
|
-
this.
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
654
|
+
this.bridgeChoiceToChat(turn, options, prompt);
|
|
655
|
+
return true;
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Shared tail of maybeBridgeMenu / maybeBridgePermissionPrompt: emit the
|
|
659
|
+
* channel-native choice UI, carry the same text as the turn's result (API/no-
|
|
660
|
+
* button fallback + chat history), record the pending menu so the reply routes
|
|
661
|
+
* back to a selection, and end the turn so the session goes idle while awaiting
|
|
662
|
+
* the human's choice.
|
|
663
|
+
*/
|
|
664
|
+
bridgeChoiceToChat(turn, options, text) {
|
|
665
|
+
this.emitter.emitMenuPrompt({ sessionId: this.args.sessionId, prompt: text, options });
|
|
666
|
+
turn.texts.push((turn.texts.length ? '\n\n' : '') + text);
|
|
640
667
|
this.pendingMenu = { options };
|
|
641
668
|
this.finishTurn(false);
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* If the TUI is blocked on a tool-permission prompt, bridge it to chat as a
|
|
672
|
+
* Yes/No choice (reusing the menu machinery: emit → buttons → handleMenuReply)
|
|
673
|
+
* and end the turn so the session goes idle while awaiting the human's decision.
|
|
674
|
+
* Returns true if it bridged.
|
|
675
|
+
*
|
|
676
|
+
* This is the fix for the wedge: Claude Code keeps a few catastrophe guards
|
|
677
|
+
* (dangerous rm, root/home deletes) that prompt EVEN under
|
|
678
|
+
* --dangerously-skip-permissions, which the wrapper otherwise assumes never
|
|
679
|
+
* happens. Such a prompt is neither the startup bypass dialog nor an
|
|
680
|
+
* AskUserQuestion menu, so without this it is never surfaced and the PTY hangs
|
|
681
|
+
* at the Yes/No until the 30-min watchdog kills the session.
|
|
682
|
+
*
|
|
683
|
+
* NEVER auto-selects — a guarded/destructive operation must be a human decision.
|
|
684
|
+
* Unlike maybeBridgeMenu there is no transcript tool_use to gate on (the circuit
|
|
685
|
+
* breaker is CLI-internal UI, not written to the transcript), so detection rests
|
|
686
|
+
* on detectPermissionPrompt()'s region + multi-marker guard plus the settle
|
|
687
|
+
* gate. That is the same defense detectDialog() relies on, and bridging to a
|
|
688
|
+
* human is strictly safer than detectDialog()'s auto-keypress.
|
|
689
|
+
*/
|
|
690
|
+
maybeBridgePermissionPrompt(turn) {
|
|
691
|
+
if (SKIP_MENU_BRIDGE || this.pendingMenu)
|
|
692
|
+
return false;
|
|
693
|
+
if (this.screen.quietMs() < MENU_STABLE_QUIET_MS)
|
|
694
|
+
return false;
|
|
695
|
+
// The bypass-permissions startup dialog is auto-accepted by maybeHandleDialog().
|
|
696
|
+
if (this.screen.detectDialog() === 'bypass-permissions')
|
|
697
|
+
return false;
|
|
698
|
+
const prompt = this.screen.detectPermissionPrompt();
|
|
699
|
+
if (!prompt)
|
|
700
|
+
return false;
|
|
701
|
+
const text = (0, screen_1.formatPermissionPrompt)(prompt.context, prompt.options);
|
|
702
|
+
logWarn(`permission prompt detected (${prompt.options.length} options) — bridging to chat (never auto-accepted)`);
|
|
703
|
+
this.bridgeChoiceToChat(turn, prompt.options, text);
|
|
642
704
|
return true;
|
|
643
705
|
}
|
|
644
706
|
/** Route a user's menu reply (typed number or button tap) to a selection. */
|
|
@@ -691,9 +753,24 @@ class Driver {
|
|
|
691
753
|
* confirms on the digit alone or requires Enter.
|
|
692
754
|
*/
|
|
693
755
|
async selectMenuOption(n) {
|
|
756
|
+
// Pre-write guard: mirrors typeAndSubmit's pre-paste guard — if SIGINT already fired,
|
|
757
|
+
// skip the write entirely so no digit lands in the PTY input.
|
|
758
|
+
if (this.interrupting || !this.turn) {
|
|
759
|
+
this.queue.length = 0;
|
|
760
|
+
return;
|
|
761
|
+
}
|
|
694
762
|
this.host.writeRaw(String(n));
|
|
695
763
|
await new Promise((r) => setTimeout(r, MENU_SELECT_ENTER_DELAY_MS));
|
|
696
|
-
|
|
764
|
+
// If interrupted while waiting, erase the digit so it doesn't linger in the PTY
|
|
765
|
+
// input and get prepended to the user's next message.
|
|
766
|
+
if (this.abortIfInterrupted())
|
|
767
|
+
return;
|
|
768
|
+
// Send Enter only if a selectable prompt is still blocking at the bottom of the
|
|
769
|
+
// screen — covers both the AskUserQuestion menu and the permission prompt, and
|
|
770
|
+
// self-corrects when the digit alone already confirmed (prompt gone → no stray
|
|
771
|
+
// Enter). Bottom-region scoped so stale footer/option text left in scrollback by
|
|
772
|
+
// the just-answered prompt can't submit an empty line at the idle caret.
|
|
773
|
+
if (this.screen.interactivePromptBlocking())
|
|
697
774
|
this.host.writeRaw('\r');
|
|
698
775
|
if (this.turn)
|
|
699
776
|
this.turn.submittedAt = Date.now();
|
|
@@ -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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"}
|
package/dist/shell/screen.d.ts
CHANGED
|
@@ -73,6 +73,37 @@ export declare function neutralizeTuiTriggers(text: string): string;
|
|
|
73
73
|
export declare const TUI_MENU_FOOTER: readonly ["to navigate", "to cancel"];
|
|
74
74
|
/** A numbered option row, with an optional leading ❯/> highlight marker. */
|
|
75
75
|
export declare const TUI_MENU_OPTION_RE: RegExp;
|
|
76
|
+
/**
|
|
77
|
+
* A tool-permission prompt blocking on keyboard input. Distinct from the
|
|
78
|
+
* AskUserQuestion select menu: Claude Code raises this for guarded operations
|
|
79
|
+
* (e.g. a "Dangerous rm operation on possibly-empty variable path" circuit
|
|
80
|
+
* breaker) that prompt EVEN under --dangerously-skip-permissions, since
|
|
81
|
+
* bypassPermissions deliberately keeps a few catastrophe guards (rm against
|
|
82
|
+
* root/home, possibly-empty globs). The wrapper otherwise assumes no permission
|
|
83
|
+
* prompt ever appears, so without this detector the PTY wedges at the Yes/No
|
|
84
|
+
* forever — nobody can answer it from chat and the typing indicator never clears.
|
|
85
|
+
*
|
|
86
|
+
* Matched by the universal question line plus a footer token unique to permission
|
|
87
|
+
* prompts: the select-menu footer carries "↑/↓ to navigate" and the 32MB overlay
|
|
88
|
+
* carries "esc to go back", so "Tab to amend" / "ctrl+e to explain" disambiguate
|
|
89
|
+
* cleanly. The tokens are the fuller phrases (not bare "to amend" / "to explain")
|
|
90
|
+
* so a chat reply that merely contains those words can't satisfy the footer gate.
|
|
91
|
+
* Region-restricted (bottom rows) + multi-marker + a required ❯/> selection caret
|
|
92
|
+
* so quoted prose in scrollback (a numbered list with none of the live-prompt
|
|
93
|
+
* chrome) cannot trip it — the same defense detectDialog() uses, plus more.
|
|
94
|
+
* Detection only ever BRIDGES the choice to a human; it never presses a key on its
|
|
95
|
+
* own (a destructive guard must not be auto-accepted), making it strictly safer
|
|
96
|
+
* than detectDialog.
|
|
97
|
+
*/
|
|
98
|
+
export declare const TUI_PERMISSION_PROMPT = "Do you want to proceed?";
|
|
99
|
+
export declare const TUI_PERMISSION_FOOTER_TOKENS: readonly ["Tab to amend", "ctrl+e to explain"];
|
|
100
|
+
/** A blocking interactive prompt parsed off the screen: the selectable options
|
|
101
|
+
* plus any context text shown above the question (warning + command). */
|
|
102
|
+
export interface PermissionPrompt {
|
|
103
|
+
options: MenuOption[];
|
|
104
|
+
/** Human-readable lines above the question (e.g. the dangerous command) — '' if none. */
|
|
105
|
+
context: string;
|
|
106
|
+
}
|
|
76
107
|
/**
|
|
77
108
|
* Parse a user's menu reply (typed number or a button's choice payload) into a
|
|
78
109
|
* 1-based option index. Returns null for anything that isn't a leading integer
|
|
@@ -90,6 +121,14 @@ export declare function parseMenuChoice(text: string, count: number): number | n
|
|
|
90
121
|
export declare function extractChannelContent(text: string): string;
|
|
91
122
|
/** Build the chat-facing menu prompt (also the API/number fallback text). */
|
|
92
123
|
export declare function formatMenuPrompt(options: MenuOption[]): string;
|
|
124
|
+
/**
|
|
125
|
+
* Build the chat-facing prompt for a tool-permission request. Leads with a clear
|
|
126
|
+
* warning (this is a guarded/destructive operation Claude Code refused to run
|
|
127
|
+
* unattended), echoes the context lines (e.g. the exact command) so the human can
|
|
128
|
+
* judge, and lists the options 1..N — the same numbering selectMenuOption() types
|
|
129
|
+
* back into the TUI. Also the API/no-button fallback text.
|
|
130
|
+
*/
|
|
131
|
+
export declare function formatPermissionPrompt(context: string, options: MenuOption[]): string;
|
|
93
132
|
/**
|
|
94
133
|
* Virtual terminal fed with raw PTY bytes. Used ONLY for liveness signals
|
|
95
134
|
* (busy / idle / dialog detection) — assistant text is never parsed from
|
|
@@ -149,6 +188,28 @@ export declare class ScreenModel {
|
|
|
149
188
|
* footer; callers must check detectDialog() first and let it auto-accept.
|
|
150
189
|
*/
|
|
151
190
|
detectMenu(): MenuOption[] | null;
|
|
191
|
+
/**
|
|
192
|
+
* Detect a tool-permission prompt blocking on input (e.g. the dangerous-rm
|
|
193
|
+
* circuit breaker that fires even under --dangerously-skip-permissions) and
|
|
194
|
+
* parse its options + context. Returns null when no such prompt is on screen.
|
|
195
|
+
*
|
|
196
|
+
* Region-restricted to the bottom rows and gated on BOTH the question line and
|
|
197
|
+
* a permission-only footer token, so a reply/history that merely quotes the
|
|
198
|
+
* prompt (sitting in scrollback above) never trips it. The bypass-permissions
|
|
199
|
+
* startup dialog is handled by detectDialog()/auto-accept and is excluded here.
|
|
200
|
+
* Callers must only ever BRIDGE this to a human — never auto-select an option.
|
|
201
|
+
*/
|
|
202
|
+
detectPermissionPrompt(): PermissionPrompt | null;
|
|
203
|
+
/**
|
|
204
|
+
* True if a select menu or permission prompt is still blocking on input at the
|
|
205
|
+
* BOTTOM of the screen. Used to decide whether the confirming Enter after a typed
|
|
206
|
+
* selection is still needed: scoping to the bottom region means stale footer /
|
|
207
|
+
* numbered rows left in scrollback by an already-answered prompt can't keep a
|
|
208
|
+
* stray Enter alive (which would submit an empty line at the idle caret).
|
|
209
|
+
* detectMenu() deliberately scans the full buffer to parse a tall menu's options,
|
|
210
|
+
* so it's the wrong signal for this liveness check — hence the dedicated method.
|
|
211
|
+
*/
|
|
212
|
+
interactivePromptBlocking(): boolean;
|
|
152
213
|
}
|
|
153
214
|
/**
|
|
154
215
|
* Heartbeat liveness predicate (pure). The PTY session counts as actively working
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/shell/screen.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAE9C,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,gBAAgB,uDAAwD,CAAC;AActF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,uCAAwC,CAAC;AACrE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAAoC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,qBAAa,WAAW;aAMM,IAAI;aAAwB,IAAI;IAL5D,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,UAAU,CAAc;IAChC,kGAAkG;IAClG,OAAO,CAAC,aAAa,CAAS;gBAEF,IAAI,SAAM,EAAkB,IAAI,SAAK;IAIjE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,uDAAuD;IACvD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;IAId;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKhC,OAAO,CAAC,QAAQ;IAUhB,2EAA2E;IAC3E,MAAM,IAAI,OAAO;IAIjB,qFAAqF;IACrF,eAAe,IAAI,OAAO;IAM1B,sCAAsC;IACtC,SAAS,IAAI,OAAO;IAIpB;;;;;;;;;;OAUG;IACH,qBAAqB,IAAI,OAAO;IAKhC,YAAY,IAAI,UAAU,GAAG,IAAI;IAajC;;;;;;;;;OASG;IACH,UAAU,IAAI,UAAU,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/shell/screen.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAE9C,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,gBAAgB,uDAAwD,CAAC;AActF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,uCAAwC,CAAC;AACrE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAAoC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,4BAA4B,gDAAiD,CAAC;AAE3F;0EAC0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,yFAAyF;IACzF,OAAO,EAAE,MAAM,CAAC;CACjB;AAsCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAG9D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAIrF;AAED;;;;GAIG;AACH,qBAAa,WAAW;aAMM,IAAI;aAAwB,IAAI;IAL5D,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,UAAU,CAAc;IAChC,kGAAkG;IAClG,OAAO,CAAC,aAAa,CAAS;gBAEF,IAAI,SAAM,EAAkB,IAAI,SAAK;IAIjE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,uDAAuD;IACvD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;IAId;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKhC,OAAO,CAAC,QAAQ;IAUhB,2EAA2E;IAC3E,MAAM,IAAI,OAAO;IAIjB,qFAAqF;IACrF,eAAe,IAAI,OAAO;IAM1B,sCAAsC;IACtC,SAAS,IAAI,OAAO;IAIpB;;;;;;;;;;OAUG;IACH,qBAAqB,IAAI,OAAO;IAKhC,YAAY,IAAI,UAAU,GAAG,IAAI;IAajC;;;;;;;;;OASG;IACH,UAAU,IAAI,UAAU,EAAE,GAAG,IAAI;IAajC;;;;;;;;;;OAUG;IACH,sBAAsB,IAAI,gBAAgB,GAAG,IAAI;IAmDjD;;;;;;;;OAQG;IACH,yBAAyB,IAAI,OAAO;CAKrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzC,eAAe,EAAE,MAAM,GACtB,OAAO,CAET"}
|
package/dist/shell/screen.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScreenModel = exports.TUI_MENU_OPTION_RE = exports.TUI_MENU_FOOTER = exports.TUI_SYNTHETIC_MODEL = exports.TUI_REQUEST_TOO_LARGE_DISMISS = exports.TUI_REQUEST_TOO_LARGE = exports.TUI_BYPASS_PERMS = exports.TUI_PROMPT_RE = exports.TUI_BUSY_MARKER = void 0;
|
|
3
|
+
exports.ScreenModel = exports.TUI_PERMISSION_FOOTER_TOKENS = exports.TUI_PERMISSION_PROMPT = exports.TUI_MENU_OPTION_RE = exports.TUI_MENU_FOOTER = exports.TUI_SYNTHETIC_MODEL = exports.TUI_REQUEST_TOO_LARGE_DISMISS = exports.TUI_REQUEST_TOO_LARGE = exports.TUI_BYPASS_PERMS = exports.TUI_PROMPT_RE = exports.TUI_BUSY_MARKER = void 0;
|
|
4
4
|
exports.neutralizeTuiTriggers = neutralizeTuiTriggers;
|
|
5
5
|
exports.parseMenuChoice = parseMenuChoice;
|
|
6
6
|
exports.extractChannelContent = extractChannelContent;
|
|
7
7
|
exports.formatMenuPrompt = formatMenuPrompt;
|
|
8
|
+
exports.formatPermissionPrompt = formatPermissionPrompt;
|
|
8
9
|
exports.isPtyActivelyWorking = isPtyActivelyWorking;
|
|
9
10
|
const headless_1 = require("@xterm/headless");
|
|
10
11
|
/** The TUI renders spaces as U+00A0 (non-breaking) — normalize before matching. */
|
|
@@ -95,6 +96,69 @@ function neutralizeTuiTriggers(text) {
|
|
|
95
96
|
exports.TUI_MENU_FOOTER = ['to navigate', 'to cancel'];
|
|
96
97
|
/** A numbered option row, with an optional leading ❯/> highlight marker. */
|
|
97
98
|
exports.TUI_MENU_OPTION_RE = /^\s*[❯>]?\s*(\d+)\.\s+(.+?)\s*$/;
|
|
99
|
+
/**
|
|
100
|
+
* A tool-permission prompt blocking on keyboard input. Distinct from the
|
|
101
|
+
* AskUserQuestion select menu: Claude Code raises this for guarded operations
|
|
102
|
+
* (e.g. a "Dangerous rm operation on possibly-empty variable path" circuit
|
|
103
|
+
* breaker) that prompt EVEN under --dangerously-skip-permissions, since
|
|
104
|
+
* bypassPermissions deliberately keeps a few catastrophe guards (rm against
|
|
105
|
+
* root/home, possibly-empty globs). The wrapper otherwise assumes no permission
|
|
106
|
+
* prompt ever appears, so without this detector the PTY wedges at the Yes/No
|
|
107
|
+
* forever — nobody can answer it from chat and the typing indicator never clears.
|
|
108
|
+
*
|
|
109
|
+
* Matched by the universal question line plus a footer token unique to permission
|
|
110
|
+
* prompts: the select-menu footer carries "↑/↓ to navigate" and the 32MB overlay
|
|
111
|
+
* carries "esc to go back", so "Tab to amend" / "ctrl+e to explain" disambiguate
|
|
112
|
+
* cleanly. The tokens are the fuller phrases (not bare "to amend" / "to explain")
|
|
113
|
+
* so a chat reply that merely contains those words can't satisfy the footer gate.
|
|
114
|
+
* Region-restricted (bottom rows) + multi-marker + a required ❯/> selection caret
|
|
115
|
+
* so quoted prose in scrollback (a numbered list with none of the live-prompt
|
|
116
|
+
* chrome) cannot trip it — the same defense detectDialog() uses, plus more.
|
|
117
|
+
* Detection only ever BRIDGES the choice to a human; it never presses a key on its
|
|
118
|
+
* own (a destructive guard must not be auto-accepted), making it strictly safer
|
|
119
|
+
* than detectDialog.
|
|
120
|
+
*/
|
|
121
|
+
exports.TUI_PERMISSION_PROMPT = 'Do you want to proceed?';
|
|
122
|
+
exports.TUI_PERMISSION_FOOTER_TOKENS = ['Tab to amend', 'ctrl+e to explain'];
|
|
123
|
+
/**
|
|
124
|
+
* Parse the numbered option rows out of a block of screen lines and return the
|
|
125
|
+
* live run as 1..N options. Scrollback above a prompt can contain stale numbered
|
|
126
|
+
* lines (a prior chat message rendered as "1. … 2. …"), so we take the LAST run
|
|
127
|
+
* that starts at "1." and increments by one — that is the live prompt nearest the
|
|
128
|
+
* footer, not history. Returns null for fewer than two options. Shared by
|
|
129
|
+
* detectMenu() and detectPermissionPrompt() so both number options identically.
|
|
130
|
+
*
|
|
131
|
+
* `stripBorder` strips a left box border ("│ ") before matching, for prompts that
|
|
132
|
+
* render inside a rounded dialog box (the permission prompt). detectMenu() leaves
|
|
133
|
+
* it off so its full-buffer scan stays byte-identical to before — stripping the
|
|
134
|
+
* border there would let "│ 1. …" lines in dialog-bordered scrollback newly parse
|
|
135
|
+
* as options and shift the live run it picks.
|
|
136
|
+
*/
|
|
137
|
+
function parseOptionRun(lines, stripBorder = false) {
|
|
138
|
+
const matches = [];
|
|
139
|
+
for (const raw of lines) {
|
|
140
|
+
const line = stripBorder ? raw.replace(/^\s*│\s?/, '') : raw;
|
|
141
|
+
const m = exports.TUI_MENU_OPTION_RE.exec(line);
|
|
142
|
+
if (m)
|
|
143
|
+
matches.push({ index: Number(m[1]), label: m[2].trim() });
|
|
144
|
+
}
|
|
145
|
+
if (matches.length < 2)
|
|
146
|
+
return null;
|
|
147
|
+
let start = -1;
|
|
148
|
+
for (let i = 0; i < matches.length; i++) {
|
|
149
|
+
if (matches[i].index === 1)
|
|
150
|
+
start = i;
|
|
151
|
+
}
|
|
152
|
+
if (start === -1)
|
|
153
|
+
return null;
|
|
154
|
+
const run = [];
|
|
155
|
+
let expected = 1;
|
|
156
|
+
for (let i = start; i < matches.length && matches[i].index === expected; i++) {
|
|
157
|
+
run.push(matches[i]);
|
|
158
|
+
expected++;
|
|
159
|
+
}
|
|
160
|
+
return run.length >= 2 ? run : null;
|
|
161
|
+
}
|
|
98
162
|
/**
|
|
99
163
|
* Parse a user's menu reply (typed number or a button's choice payload) into a
|
|
100
164
|
* 1-based option index. Returns null for anything that isn't a leading integer
|
|
@@ -126,6 +190,18 @@ function formatMenuPrompt(options) {
|
|
|
126
190
|
const lines = options.map((o, i) => `${i + 1}. ${o.label}`).join('\n');
|
|
127
191
|
return `🔢 Choose an option — tap a button below, or reply with the number:\n\n${lines}`;
|
|
128
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Build the chat-facing prompt for a tool-permission request. Leads with a clear
|
|
195
|
+
* warning (this is a guarded/destructive operation Claude Code refused to run
|
|
196
|
+
* unattended), echoes the context lines (e.g. the exact command) so the human can
|
|
197
|
+
* judge, and lists the options 1..N — the same numbering selectMenuOption() types
|
|
198
|
+
* back into the TUI. Also the API/no-button fallback text.
|
|
199
|
+
*/
|
|
200
|
+
function formatPermissionPrompt(context, options) {
|
|
201
|
+
const opts = options.map((o, i) => `${i + 1}. ${o.label}`).join('\n');
|
|
202
|
+
const ctx = context.trim() ? `\n\n${context.trim()}` : '';
|
|
203
|
+
return `⚠️ Claude Code is asking permission for a guarded operation — a human must decide:${ctx}\n\nTap a button below, or reply with the number:\n\n${opts}`;
|
|
204
|
+
}
|
|
129
205
|
/**
|
|
130
206
|
* Virtual terminal fed with raw PTY bytes. Used ONLY for liveness signals
|
|
131
207
|
* (busy / idle / dialog detection) — assistant text is never parsed from
|
|
@@ -236,34 +312,91 @@ class ScreenModel {
|
|
|
236
312
|
const lines = text.split('\n');
|
|
237
313
|
const footerIdx = lines.findIndex((l) => exports.TUI_MENU_FOOTER.some((s) => l.includes(s)));
|
|
238
314
|
const region = footerIdx >= 0 ? lines.slice(0, footerIdx) : lines;
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
315
|
+
// parseOptionRun() takes the live 1..N run nearest the footer, so stale
|
|
316
|
+
// numbered scrollback above the menu can't inflate or shift the option list.
|
|
317
|
+
return parseOptionRun(region);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Detect a tool-permission prompt blocking on input (e.g. the dangerous-rm
|
|
321
|
+
* circuit breaker that fires even under --dangerously-skip-permissions) and
|
|
322
|
+
* parse its options + context. Returns null when no such prompt is on screen.
|
|
323
|
+
*
|
|
324
|
+
* Region-restricted to the bottom rows and gated on BOTH the question line and
|
|
325
|
+
* a permission-only footer token, so a reply/history that merely quotes the
|
|
326
|
+
* prompt (sitting in scrollback above) never trips it. The bypass-permissions
|
|
327
|
+
* startup dialog is handled by detectDialog()/auto-accept and is excluded here.
|
|
328
|
+
* Callers must only ever BRIDGE this to a human — never auto-select an option.
|
|
329
|
+
*/
|
|
330
|
+
detectPermissionPrompt() {
|
|
331
|
+
const text = this.bottomText(DIALOG_REGION_ROWS);
|
|
332
|
+
if (!text.includes(exports.TUI_PERMISSION_PROMPT))
|
|
333
|
+
return null;
|
|
334
|
+
if (!exports.TUI_PERMISSION_FOOTER_TOKENS.some((t) => text.includes(t)))
|
|
246
335
|
return null;
|
|
247
|
-
//
|
|
248
|
-
//
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
//
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
336
|
+
// The "Bypass Permissions mode … Yes, I accept" startup dialog is a separate
|
|
337
|
+
// case with its own auto-accept — don't double-handle it here.
|
|
338
|
+
if (exports.TUI_BYPASS_PERMS.every((s) => text.includes(s)))
|
|
339
|
+
return null;
|
|
340
|
+
const lines = text.split('\n');
|
|
341
|
+
// Use the LAST occurrence of the question — the live prompt sits nearest the
|
|
342
|
+
// footer, so a reply/history that quotes "Do you want to proceed?" higher in
|
|
343
|
+
// the bottom region can't capture the question index and empty the context.
|
|
344
|
+
let qIdx = -1;
|
|
345
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
346
|
+
if (lines[i].includes(exports.TUI_PERMISSION_PROMPT)) {
|
|
347
|
+
qIdx = i;
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
257
350
|
}
|
|
258
|
-
|
|
351
|
+
const footerIdx = lines.findIndex((l, i) => i > qIdx && exports.TUI_PERMISSION_FOOTER_TOKENS.some((t) => l.includes(t)));
|
|
352
|
+
// Options live strictly between the question and the footer.
|
|
353
|
+
const optionRegion = footerIdx >= 0 ? lines.slice(qIdx + 1, footerIdx) : lines.slice(qIdx + 1);
|
|
354
|
+
// A live select prompt always highlights one option with the ❯/> caret (kept
|
|
355
|
+
// even inside a box border). Quoted prose numbered lists never carry it, so
|
|
356
|
+
// requiring it closes the false-positive where conversational text pairs a
|
|
357
|
+
// numbered list with the question + a footer-ish phrase.
|
|
358
|
+
const hasCaret = optionRegion.some((l) => /^\s*│?\s*[❯>]\s*\d+\./.test(l));
|
|
359
|
+
if (!hasCaret)
|
|
259
360
|
return null;
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
361
|
+
const options = parseOptionRun(optionRegion, true);
|
|
362
|
+
if (!options)
|
|
363
|
+
return null;
|
|
364
|
+
// Context = the warning + command shown above the question. Bound it to the
|
|
365
|
+
// dialog box (scan up for the rounded top border ╭) so conversation lines that
|
|
366
|
+
// merely share the bottom region aren't swept in; fall back to the few lines
|
|
367
|
+
// immediately above the question when the prompt isn't boxed.
|
|
368
|
+
const isBorderOnly = (l) => /^[\s│╭╮╰╯─]*$/.test(l);
|
|
369
|
+
const stripBorder = (l) => l.replace(/^[\s│]+/, '').replace(/[\s│]+$/, '');
|
|
370
|
+
const aboveQ = lines.slice(0, qIdx);
|
|
371
|
+
let boxTop = -1;
|
|
372
|
+
for (let i = aboveQ.length - 1; i >= 0; i--) {
|
|
373
|
+
if (/[╭╮]/.test(aboveQ[i])) {
|
|
374
|
+
boxTop = i;
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
265
377
|
}
|
|
266
|
-
|
|
378
|
+
const contextLines = boxTop >= 0 ? aboveQ.slice(boxTop + 1) : aboveQ.slice(-4);
|
|
379
|
+
const context = contextLines
|
|
380
|
+
.filter((l) => !isBorderOnly(l))
|
|
381
|
+
.map(stripBorder)
|
|
382
|
+
.filter((l) => l.length > 0)
|
|
383
|
+
.join('\n');
|
|
384
|
+
return { options, context };
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* True if a select menu or permission prompt is still blocking on input at the
|
|
388
|
+
* BOTTOM of the screen. Used to decide whether the confirming Enter after a typed
|
|
389
|
+
* selection is still needed: scoping to the bottom region means stale footer /
|
|
390
|
+
* numbered rows left in scrollback by an already-answered prompt can't keep a
|
|
391
|
+
* stray Enter alive (which would submit an empty line at the idle caret).
|
|
392
|
+
* detectMenu() deliberately scans the full buffer to parse a tall menu's options,
|
|
393
|
+
* so it's the wrong signal for this liveness check — hence the dedicated method.
|
|
394
|
+
*/
|
|
395
|
+
interactivePromptBlocking() {
|
|
396
|
+
const text = this.bottomText(DIALOG_REGION_ROWS);
|
|
397
|
+
if (exports.TUI_MENU_FOOTER.every((s) => text.includes(s)))
|
|
398
|
+
return true;
|
|
399
|
+
return this.detectPermissionPrompt() !== null;
|
|
267
400
|
}
|
|
268
401
|
}
|
|
269
402
|
exports.ScreenModel = ScreenModel;
|
package/dist/shell/screen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/shell/screen.ts"],"names":[],"mappings":";;;AA0FA,sDAKC;
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/shell/screen.ts"],"names":[],"mappings":"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"}
|
package/dist/watch/factory.d.ts
CHANGED
|
@@ -17,12 +17,36 @@ export interface WatcherOptions {
|
|
|
17
17
|
* before the debounced onChange fires (e.g. for file renames).
|
|
18
18
|
*/
|
|
19
19
|
onAddSync?: (filePath: string) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Optional handler for watcher-level errors (e.g. inotify ENOSPC). When
|
|
22
|
+
* omitted, errors are logged and swallowed so a single failing watcher
|
|
23
|
+
* never escalates to an unhandledRejection that crashes the whole gateway.
|
|
24
|
+
*/
|
|
25
|
+
onError?: (err: NodeJS.ErrnoException) => void;
|
|
20
26
|
}
|
|
21
27
|
export interface WatchHandle {
|
|
22
28
|
close(): Promise<void> | void;
|
|
23
29
|
/** Resolves when chokidar has finished its initial scan and is ready to detect changes. */
|
|
24
30
|
ready: Promise<void>;
|
|
25
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* A degraded watcher recorded for health reporting. One entry per distinct
|
|
34
|
+
* (error code, watched paths) pair; repeated errors increment `count` rather
|
|
35
|
+
* than piling up. Surfaced on GET /status so an ENOSPC degrade is observable
|
|
36
|
+
* in production instead of being a single console line nobody sees.
|
|
37
|
+
*/
|
|
38
|
+
export interface WatcherErrorRecord {
|
|
39
|
+
paths: string[];
|
|
40
|
+
code: string | null;
|
|
41
|
+
message: string;
|
|
42
|
+
count: number;
|
|
43
|
+
firstAt: string;
|
|
44
|
+
lastAt: string;
|
|
45
|
+
}
|
|
46
|
+
/** Snapshot of degraded watchers for health reporting. Empty when healthy. */
|
|
47
|
+
export declare function getWatcherHealth(): WatcherErrorRecord[];
|
|
48
|
+
/** Test-only: clear the recorded watcher-error registry. */
|
|
49
|
+
export declare function resetWatcherHealth(): void;
|
|
26
50
|
/**
|
|
27
51
|
* Shared chokidar watcher factory.
|
|
28
52
|
* Watches the given paths, debounces rapid changes, and calls onChange.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/watch/factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;IACrC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/watch/factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;IACrC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,2FAA2F;IAC3F,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,8EAA8E;AAC9E,wBAAgB,gBAAgB,IAAI,kBAAkB,EAAE,CAEvD;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAuBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAgE/D"}
|
package/dist/watch/factory.js
CHANGED
|
@@ -3,8 +3,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getWatcherHealth = getWatcherHealth;
|
|
7
|
+
exports.resetWatcherHealth = resetWatcherHealth;
|
|
6
8
|
exports.createWatcher = createWatcher;
|
|
7
9
|
const chokidar_1 = __importDefault(require("chokidar"));
|
|
10
|
+
// Bounded by the number of distinct watchers (a few dozen at most), so this
|
|
11
|
+
// never grows unbounded. Keyed by `${code}:${paths}`.
|
|
12
|
+
const watcherErrors = new Map();
|
|
13
|
+
/** Snapshot of degraded watchers for health reporting. Empty when healthy. */
|
|
14
|
+
function getWatcherHealth() {
|
|
15
|
+
return [...watcherErrors.values()].map((r) => ({ ...r, paths: [...r.paths] }));
|
|
16
|
+
}
|
|
17
|
+
/** Test-only: clear the recorded watcher-error registry. */
|
|
18
|
+
function resetWatcherHealth() {
|
|
19
|
+
watcherErrors.clear();
|
|
20
|
+
}
|
|
21
|
+
function recordWatcherError(paths, e) {
|
|
22
|
+
const code = e?.code ?? null;
|
|
23
|
+
const key = `${code ?? 'ERR'}:${paths.join(',')}`;
|
|
24
|
+
const now = new Date().toISOString();
|
|
25
|
+
const existing = watcherErrors.get(key);
|
|
26
|
+
if (existing) {
|
|
27
|
+
existing.count += 1;
|
|
28
|
+
existing.lastAt = now;
|
|
29
|
+
existing.message = e?.message ?? String(e);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
watcherErrors.set(key, {
|
|
33
|
+
paths: [...paths],
|
|
34
|
+
code,
|
|
35
|
+
message: e?.message ?? String(e),
|
|
36
|
+
count: 1,
|
|
37
|
+
firstAt: now,
|
|
38
|
+
lastAt: now,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
8
42
|
/**
|
|
9
43
|
* Shared chokidar watcher factory.
|
|
10
44
|
* Watches the given paths, debounces rapid changes, and calls onChange.
|
|
@@ -40,7 +74,27 @@ function createWatcher(opts) {
|
|
|
40
74
|
debounced(filePath);
|
|
41
75
|
})
|
|
42
76
|
.on('change', (filePath) => debounced(filePath))
|
|
43
|
-
.on('unlink', (filePath) => debounced(filePath))
|
|
77
|
+
.on('unlink', (filePath) => debounced(filePath))
|
|
78
|
+
.on('error', (err) => {
|
|
79
|
+
// chokidar surfaces watcher failures (e.g. inotify ENOSPC) via the
|
|
80
|
+
// 'error' event. Without a listener these bubble up as an
|
|
81
|
+
// unhandledRejection — which the gateway treats as fatal and exits on.
|
|
82
|
+
// Catch, log actionably, and degrade this watcher instead of crashing.
|
|
83
|
+
const e = err;
|
|
84
|
+
// Record for /status health reporting so the degrade is observable in
|
|
85
|
+
// production, not just a single console line.
|
|
86
|
+
recordWatcherError(opts.paths, e);
|
|
87
|
+
if (e && e.code === 'ENOSPC') {
|
|
88
|
+
console.error(`[watch] inotify limit reached (ENOSPC) while watching ${opts.paths.join(', ')}; ` +
|
|
89
|
+
'this watcher is degraded. Raise fs.inotify.max_user_instances / ' +
|
|
90
|
+
'fs.inotify.max_user_watches, or reduce the number of watched paths.');
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.error(`[watch] watcher error for ${opts.paths.join(', ')}:`, e?.message ?? e);
|
|
94
|
+
}
|
|
95
|
+
if (opts.onError)
|
|
96
|
+
opts.onError(e);
|
|
97
|
+
});
|
|
44
98
|
return {
|
|
45
99
|
ready,
|
|
46
100
|
async close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/watch/factory.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/watch/factory.ts"],"names":[],"mappings":"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"}
|