@google/gemini-cli 0.13.0-nightly.20251103.9187f6f6 → 0.13.0-preview.0
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/google-gemini-cli-0.13.0-nightly.20251031.c89bc30d.tgz +0 -0
- package/dist/package.json +3 -3
- package/dist/src/commands/mcp/list.test.js +25 -21
- package/dist/src/commands/mcp/list.test.js.map +1 -1
- package/dist/src/config/config.js +8 -84
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +13 -30
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +18 -6
- package/dist/src/config/extension-manager.js +25 -19
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +9 -9
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +39 -43
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +133 -165
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +3 -0
- package/dist/src/config/keyBindings.js +29 -7
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/keyBindings.test.js +17 -0
- package/dist/src/config/keyBindings.test.js.map +1 -1
- package/dist/src/config/policy.d.ts +0 -7
- package/dist/src/config/policy.js +10 -177
- package/dist/src/config/policy.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +103 -21
- package/dist/src/config/settingsSchema.js +352 -21
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +40 -1
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/gemini.js +15 -5
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +2 -0
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +68 -1
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +4 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +22 -0
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +2 -2
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.js +4 -2
- package/dist/src/services/McpPromptLoader.test.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +2 -1
- package/dist/src/test-utils/render.js +3 -2
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/AppContainer.js +32 -15
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +160 -0
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +14 -14
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.test.js +4 -0
- package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.d.ts +7 -0
- package/dist/src/ui/commands/policiesCommand.js +59 -0
- package/dist/src/ui/commands/policiesCommand.js.map +1 -0
- package/dist/src/ui/commands/policiesCommand.test.js +83 -0
- package/dist/src/ui/commands/policiesCommand.test.js.map +1 -0
- package/dist/src/ui/components/Composer.js +1 -1
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +4 -1
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.js +4 -6
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +22 -2
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +70 -5
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +15 -4
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +38 -5
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +32 -25
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.js +1 -1
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.js +2 -2
- package/dist/src/ui/components/messages/WarningMessage.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
- package/dist/src/ui/components/shared/text-buffer.js +23 -0
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +246 -201
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +182 -132
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +144 -8
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/MouseContext.d.ts +21 -0
- package/dist/src/ui/contexts/MouseContext.js +89 -0
- package/dist/src/ui/contexts/MouseContext.js.map +1 -0
- package/dist/src/ui/contexts/MouseContext.test.js +164 -0
- package/dist/src/ui/contexts/MouseContext.test.js.map +1 -0
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +70 -73
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +135 -368
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +17 -9
- package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
- package/dist/src/ui/hooks/useMouse.d.ts +17 -0
- package/dist/src/ui/hooks/useMouse.js +27 -0
- package/dist/src/ui/hooks/useMouse.js.map +1 -0
- package/dist/src/ui/hooks/useMouse.test.d.ts +6 -0
- package/dist/src/ui/hooks/useMouse.test.js +57 -0
- package/dist/src/ui/hooks/useMouse.test.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.js +5 -4
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +24 -3
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +109 -200
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +27 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +1 -0
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +1 -0
- package/dist/src/ui/themes/semantic-tokens.js +3 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +1 -0
- package/dist/src/ui/themes/theme.js +4 -0
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +11 -10
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +11 -9
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/input.d.ts +17 -0
- package/dist/src/ui/utils/input.js +51 -0
- package/dist/src/ui/utils/input.js.map +1 -0
- package/dist/src/ui/utils/input.test.d.ts +6 -0
- package/dist/src/ui/utils/input.test.js +44 -0
- package/dist/src/ui/utils/input.test.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +13 -4
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
- package/dist/src/ui/utils/mouse.d.ts +31 -0
- package/dist/src/ui/utils/mouse.js +164 -0
- package/dist/src/ui/utils/mouse.js.map +1 -0
- package/dist/src/ui/utils/mouse.test.d.ts +6 -0
- package/dist/src/ui/utils/mouse.test.js +131 -0
- package/dist/src/ui/utils/mouse.test.js.map +1 -0
- package/dist/src/utils/events.d.ts +11 -2
- package/dist/src/utils/events.js +1 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/sandbox.js +16 -18
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/src/config/policy-toml-loader.d.ts +0 -46
- package/dist/src/config/policy-toml-loader.js +0 -314
- package/dist/src/config/policy-toml-loader.js.map +0 -1
- package/dist/src/config/policy-toml-loader.test.js +0 -626
- package/dist/src/config/policy-toml-loader.test.js.map +0 -1
- package/dist/src/config/policy.test.js +0 -1058
- package/dist/src/config/policy.test.js.map +0 -1
- /package/dist/src/{config/policy-toml-loader.test.d.ts → ui/commands/policiesCommand.test.d.ts} +0 -0
- /package/dist/src/{config/policy.test.d.ts → ui/contexts/MouseContext.test.d.ts} +0 -0
|
@@ -5,8 +5,9 @@ import { createContext, useCallback, useContext, useEffect, useRef, } from 'reac
|
|
|
5
5
|
import readline from 'node:readline';
|
|
6
6
|
import { PassThrough } from 'node:stream';
|
|
7
7
|
import { BACKSLASH_ENTER_DETECTION_WINDOW_MS, CHAR_CODE_ESC, KITTY_CTRL_C, KITTY_KEYCODE_BACKSPACE, KITTY_KEYCODE_ENTER, KITTY_KEYCODE_NUMPAD_ENTER, KITTY_KEYCODE_TAB, MAX_KITTY_SEQUENCE_LENGTH, KITTY_MODIFIER_BASE, KITTY_MODIFIER_EVENT_TYPES_OFFSET, MODIFIER_SHIFT_BIT, MODIFIER_ALT_BIT, MODIFIER_CTRL_BIT, } from '../utils/platformConstants.js';
|
|
8
|
+
import { ESC, couldBeMouseSequence } from '../utils/input.js';
|
|
8
9
|
import { FOCUS_IN, FOCUS_OUT } from '../hooks/useFocus.js';
|
|
9
|
-
|
|
10
|
+
import { isIncompleteMouseSequence, parseMouseEvent } from '../utils/mouse.js';
|
|
10
11
|
export const PASTE_MODE_START = `${ESC}[200~`;
|
|
11
12
|
export const PASTE_MODE_END = `${ESC}[201~`;
|
|
12
13
|
export const DRAG_COMPLETION_TIMEOUT_MS = 100; // Broadcast full path after 100ms if no more input
|
|
@@ -72,6 +73,8 @@ function couldBeKittySequence(buffer) {
|
|
|
72
73
|
return true;
|
|
73
74
|
if (!buffer.startsWith(`${ESC}[`))
|
|
74
75
|
return false;
|
|
76
|
+
if (couldBeMouseSequence(buffer))
|
|
77
|
+
return true;
|
|
75
78
|
// Check for known kitty sequence patterns:
|
|
76
79
|
// 1. ESC[<digit> - could be CSI-u or tilde-coded
|
|
77
80
|
// 2. ESC[1;<digit> - parameterized functional
|
|
@@ -125,7 +128,7 @@ function parseKittyPrefix(buffer) {
|
|
|
125
128
|
shift: true,
|
|
126
129
|
paste: false,
|
|
127
130
|
sequence: buffer.slice(0, m[0].length),
|
|
128
|
-
kittyProtocol:
|
|
131
|
+
kittyProtocol: false,
|
|
129
132
|
},
|
|
130
133
|
length: m[0].length,
|
|
131
134
|
};
|
|
@@ -215,7 +218,7 @@ function parseKittyPrefix(buffer) {
|
|
|
215
218
|
shift,
|
|
216
219
|
paste: false,
|
|
217
220
|
sequence: buffer.slice(0, m[0].length),
|
|
218
|
-
kittyProtocol:
|
|
221
|
+
kittyProtocol: false,
|
|
219
222
|
},
|
|
220
223
|
length: m[0].length,
|
|
221
224
|
};
|
|
@@ -277,7 +280,7 @@ function parseKittyPrefix(buffer) {
|
|
|
277
280
|
shift: false,
|
|
278
281
|
paste: false,
|
|
279
282
|
sequence: buffer.slice(0, m[0].length),
|
|
280
|
-
kittyProtocol:
|
|
283
|
+
kittyProtocol: false,
|
|
281
284
|
},
|
|
282
285
|
length: m[0].length,
|
|
283
286
|
};
|
|
@@ -403,9 +406,9 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
403
406
|
let pasteBuffer = null;
|
|
404
407
|
// Used to turn "\" quickly followed by a "enter" into a shift enter
|
|
405
408
|
let backslashTimeout = null;
|
|
406
|
-
// Buffers incomplete Kitty
|
|
407
|
-
let
|
|
408
|
-
let
|
|
409
|
+
// Buffers incomplete sequences (Kitty or Mouse) and timer to flush it
|
|
410
|
+
let inputBuffer = '';
|
|
411
|
+
let inputTimeout = null;
|
|
409
412
|
// Used to detect filename drag-and-drops.
|
|
410
413
|
let dragBuffer = '';
|
|
411
414
|
let draggingTimer = null;
|
|
@@ -415,10 +418,10 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
415
418
|
draggingTimer = null;
|
|
416
419
|
}
|
|
417
420
|
};
|
|
418
|
-
const
|
|
419
|
-
if (
|
|
421
|
+
const flushInputBufferOnInterrupt = (reason) => {
|
|
422
|
+
if (inputBuffer) {
|
|
420
423
|
if (debugKeystrokeLogging) {
|
|
421
|
-
debugLogger.log(`[DEBUG]
|
|
424
|
+
debugLogger.log(`[DEBUG] Input sequence flushed due to ${reason}:`, JSON.stringify(inputBuffer));
|
|
422
425
|
}
|
|
423
426
|
broadcast({
|
|
424
427
|
name: '',
|
|
@@ -426,22 +429,22 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
426
429
|
meta: false,
|
|
427
430
|
shift: false,
|
|
428
431
|
paste: false,
|
|
429
|
-
sequence:
|
|
432
|
+
sequence: inputBuffer,
|
|
430
433
|
});
|
|
431
|
-
|
|
434
|
+
inputBuffer = '';
|
|
432
435
|
}
|
|
433
|
-
if (
|
|
434
|
-
clearTimeout(
|
|
435
|
-
|
|
436
|
+
if (inputTimeout) {
|
|
437
|
+
clearTimeout(inputTimeout);
|
|
438
|
+
inputTimeout = null;
|
|
436
439
|
}
|
|
437
440
|
};
|
|
438
441
|
const handleKeypress = (_, key) => {
|
|
439
442
|
if (key.sequence === FOCUS_IN || key.sequence === FOCUS_OUT) {
|
|
440
|
-
|
|
443
|
+
flushInputBufferOnInterrupt('focus event');
|
|
441
444
|
return;
|
|
442
445
|
}
|
|
443
446
|
if (key.name === 'paste-start') {
|
|
444
|
-
|
|
447
|
+
flushInputBufferOnInterrupt('paste start');
|
|
445
448
|
pasteBuffer = Buffer.alloc(0);
|
|
446
449
|
return;
|
|
447
450
|
}
|
|
@@ -526,13 +529,13 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
526
529
|
}
|
|
527
530
|
if ((key.ctrl && key.name === 'c') ||
|
|
528
531
|
key.sequence === `${ESC}${KITTY_CTRL_C}`) {
|
|
529
|
-
if (
|
|
530
|
-
debugLogger.log('[DEBUG]
|
|
532
|
+
if (inputBuffer && debugKeystrokeLogging) {
|
|
533
|
+
debugLogger.log('[DEBUG] Input buffer cleared on Ctrl+C:', inputBuffer);
|
|
531
534
|
}
|
|
532
|
-
|
|
533
|
-
if (
|
|
534
|
-
clearTimeout(
|
|
535
|
-
|
|
535
|
+
inputBuffer = '';
|
|
536
|
+
if (inputTimeout) {
|
|
537
|
+
clearTimeout(inputTimeout);
|
|
538
|
+
inputTimeout = null;
|
|
536
539
|
}
|
|
537
540
|
if (key.sequence === `${ESC}${KITTY_CTRL_C}`) {
|
|
538
541
|
broadcast({
|
|
@@ -550,124 +553,171 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
550
553
|
}
|
|
551
554
|
return;
|
|
552
555
|
}
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
556
|
+
// Clear any pending timeout when new input arrives
|
|
557
|
+
if (inputTimeout) {
|
|
558
|
+
clearTimeout(inputTimeout);
|
|
559
|
+
inputTimeout = null;
|
|
560
|
+
}
|
|
561
|
+
// Always check if this could start a sequence we need to buffer (Kitty or Mouse)
|
|
562
|
+
// Other ESC sequences (like Alt+Key which is ESC+Key) should be let through if readline parsed them.
|
|
563
|
+
const shouldBuffer = couldBeKittySequence(key.sequence);
|
|
564
|
+
const isExcluded = [
|
|
565
|
+
PASTE_MODE_START,
|
|
566
|
+
PASTE_MODE_END,
|
|
567
|
+
FOCUS_IN,
|
|
568
|
+
FOCUS_OUT,
|
|
569
|
+
].some((prefix) => key.sequence.startsWith(prefix));
|
|
570
|
+
if (inputBuffer || (shouldBuffer && !isExcluded)) {
|
|
571
|
+
inputBuffer += key.sequence;
|
|
572
|
+
if (debugKeystrokeLogging && !couldBeMouseSequence(inputBuffer)) {
|
|
573
|
+
debugLogger.log('[DEBUG] Input buffer accumulating:', JSON.stringify(inputBuffer));
|
|
558
574
|
}
|
|
559
|
-
//
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
kittySequenceBuffer += key.sequence;
|
|
569
|
-
if (debugKeystrokeLogging) {
|
|
570
|
-
debugLogger.log('[DEBUG] Kitty buffer accumulating:', JSON.stringify(kittySequenceBuffer));
|
|
571
|
-
}
|
|
572
|
-
// Try immediate parsing
|
|
573
|
-
let remainingBuffer = kittySequenceBuffer;
|
|
574
|
-
let parsedAny = false;
|
|
575
|
-
while (remainingBuffer) {
|
|
576
|
-
const parsed = parseKittyPrefix(remainingBuffer);
|
|
577
|
-
if (parsed) {
|
|
575
|
+
// Try immediate parsing
|
|
576
|
+
let remainingBuffer = inputBuffer;
|
|
577
|
+
let parsedAny = false;
|
|
578
|
+
while (remainingBuffer) {
|
|
579
|
+
const parsed = parseKittyPrefix(remainingBuffer);
|
|
580
|
+
if (parsed) {
|
|
581
|
+
// If kitty protocol is disabled, only allow legacy/standard sequences.
|
|
582
|
+
// parseKittyPrefix returns true for kittyProtocol if it's a modern kitty sequence.
|
|
583
|
+
if (kittyProtocolEnabled || !parsed.key.kittyProtocol) {
|
|
578
584
|
if (debugKeystrokeLogging) {
|
|
579
585
|
const parsedSequence = remainingBuffer.slice(0, parsed.length);
|
|
580
|
-
debugLogger.log('[DEBUG]
|
|
586
|
+
debugLogger.log('[DEBUG] Sequence parsed successfully:', JSON.stringify(parsedSequence));
|
|
581
587
|
}
|
|
582
588
|
broadcast(parsed.key);
|
|
583
589
|
remainingBuffer = remainingBuffer.slice(parsed.length);
|
|
584
590
|
parsedAny = true;
|
|
591
|
+
continue;
|
|
585
592
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
debugLogger.log('[DEBUG] Not a kitty sequence, flushing:', JSON.stringify(remainingBuffer));
|
|
608
|
-
}
|
|
609
|
-
broadcast({
|
|
610
|
-
name: '',
|
|
611
|
-
ctrl: false,
|
|
612
|
-
meta: false,
|
|
613
|
-
shift: false,
|
|
614
|
-
paste: false,
|
|
615
|
-
sequence: remainingBuffer,
|
|
616
|
-
});
|
|
617
|
-
remainingBuffer = '';
|
|
618
|
-
parsedAny = true;
|
|
593
|
+
}
|
|
594
|
+
const mouseParsed = parseMouseEvent(remainingBuffer);
|
|
595
|
+
if (mouseParsed) {
|
|
596
|
+
// These are handled by the separate mouse sequence parser.
|
|
597
|
+
// All we need to do is make sure we don't get confused by these
|
|
598
|
+
// sequences.
|
|
599
|
+
remainingBuffer = remainingBuffer.slice(mouseParsed.length);
|
|
600
|
+
parsedAny = true;
|
|
601
|
+
continue;
|
|
602
|
+
}
|
|
603
|
+
// If we can't parse a sequence at the start, check if there's
|
|
604
|
+
// another ESC later in the buffer. If so, the data before it
|
|
605
|
+
// is garbage/incomplete and should be dropped so we can
|
|
606
|
+
// process the next sequence.
|
|
607
|
+
const nextEscIndex = remainingBuffer.indexOf(ESC, 1);
|
|
608
|
+
if (nextEscIndex !== -1) {
|
|
609
|
+
const garbage = remainingBuffer.slice(0, nextEscIndex);
|
|
610
|
+
// Special case: if garbage is exactly ESC, it's likely a rapid ESC press.
|
|
611
|
+
if (garbage === ESC) {
|
|
612
|
+
if (debugKeystrokeLogging) {
|
|
613
|
+
debugLogger.log('[DEBUG] Flushing rapid ESC before next ESC:', JSON.stringify(garbage));
|
|
619
614
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
ctrl: false,
|
|
633
|
-
meta: false,
|
|
634
|
-
shift: false,
|
|
635
|
-
paste: false,
|
|
636
|
-
sequence: remainingBuffer,
|
|
637
|
-
});
|
|
638
|
-
remainingBuffer = '';
|
|
639
|
-
parsedAny = true;
|
|
615
|
+
broadcast({
|
|
616
|
+
name: 'escape',
|
|
617
|
+
ctrl: false,
|
|
618
|
+
meta: true,
|
|
619
|
+
shift: false,
|
|
620
|
+
paste: false,
|
|
621
|
+
sequence: garbage,
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
if (debugKeystrokeLogging) {
|
|
626
|
+
debugLogger.log('[DEBUG] Dropping incomplete sequence before next ESC:', JSON.stringify(garbage));
|
|
640
627
|
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
628
|
+
}
|
|
629
|
+
// Continue parsing from next ESC
|
|
630
|
+
remainingBuffer = remainingBuffer.slice(nextEscIndex);
|
|
631
|
+
// We made progress, so we can continue the loop to parse the next sequence
|
|
632
|
+
continue;
|
|
633
|
+
}
|
|
634
|
+
// Check if buffer could become a valid sequence
|
|
635
|
+
const couldBeValidKitty = kittyProtocolEnabled && couldBeKittySequence(remainingBuffer);
|
|
636
|
+
const isMouse = isIncompleteMouseSequence(remainingBuffer);
|
|
637
|
+
const couldBeValid = couldBeValidKitty || isMouse;
|
|
638
|
+
if (!couldBeValid) {
|
|
639
|
+
// Not a valid sequence - flush as regular input immediately
|
|
640
|
+
if (debugKeystrokeLogging) {
|
|
641
|
+
debugLogger.log('[DEBUG] Not a valid sequence, flushing:', JSON.stringify(remainingBuffer));
|
|
642
|
+
}
|
|
643
|
+
broadcast({
|
|
644
|
+
name: '',
|
|
645
|
+
ctrl: false,
|
|
646
|
+
meta: false,
|
|
647
|
+
shift: false,
|
|
648
|
+
paste: false,
|
|
649
|
+
sequence: remainingBuffer,
|
|
650
|
+
});
|
|
651
|
+
remainingBuffer = '';
|
|
652
|
+
parsedAny = true;
|
|
653
|
+
}
|
|
654
|
+
else if (remainingBuffer.length > MAX_KITTY_SEQUENCE_LENGTH) {
|
|
655
|
+
// Buffer overflow - log and clear
|
|
656
|
+
if (debugKeystrokeLogging) {
|
|
657
|
+
debugLogger.log('[DEBUG] Input buffer overflow, clearing:', JSON.stringify(remainingBuffer));
|
|
658
|
+
}
|
|
659
|
+
if (config && kittyProtocolEnabled) {
|
|
660
|
+
const event = new KittySequenceOverflowEvent(remainingBuffer.length, remainingBuffer);
|
|
661
|
+
logKittySequenceOverflow(config, event);
|
|
662
|
+
}
|
|
663
|
+
// Flush as regular input
|
|
664
|
+
broadcast({
|
|
665
|
+
name: '',
|
|
666
|
+
ctrl: false,
|
|
667
|
+
meta: false,
|
|
668
|
+
shift: false,
|
|
669
|
+
paste: false,
|
|
670
|
+
sequence: remainingBuffer,
|
|
671
|
+
});
|
|
672
|
+
remainingBuffer = '';
|
|
673
|
+
parsedAny = true;
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
if ((config?.getDebugMode() || debugKeystrokeLogging) &&
|
|
677
|
+
!couldBeMouseSequence(inputBuffer)) {
|
|
678
|
+
debugLogger.warn('Input sequence buffer has content:', JSON.stringify(inputBuffer));
|
|
679
|
+
}
|
|
680
|
+
// Could be valid but incomplete - set timeout
|
|
681
|
+
// Only set timeout if it's NOT a mouse sequence.
|
|
682
|
+
// Mouse sequences might be slow (e.g. over network) and we don't want to
|
|
683
|
+
// flush them as garbage keypresses.
|
|
684
|
+
// However, if it's just ESC or ESC[, it might be a user typing slowly,
|
|
685
|
+
// so we should still timeout in that case.
|
|
686
|
+
const isAmbiguousPrefix = remainingBuffer === ESC || remainingBuffer === `${ESC}[`;
|
|
687
|
+
if (!isMouse || isAmbiguousPrefix) {
|
|
688
|
+
inputTimeout = setTimeout(() => {
|
|
689
|
+
if (inputBuffer) {
|
|
690
|
+
if (debugKeystrokeLogging) {
|
|
691
|
+
debugLogger.log('[DEBUG] Input sequence timeout, flushing:', JSON.stringify(inputBuffer));
|
|
660
692
|
}
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
693
|
+
const isEscape = inputBuffer === ESC;
|
|
694
|
+
broadcast({
|
|
695
|
+
name: isEscape ? 'escape' : '',
|
|
696
|
+
ctrl: false,
|
|
697
|
+
meta: isEscape,
|
|
698
|
+
shift: false,
|
|
699
|
+
paste: false,
|
|
700
|
+
sequence: inputBuffer,
|
|
701
|
+
});
|
|
702
|
+
inputBuffer = '';
|
|
703
|
+
}
|
|
704
|
+
inputTimeout = null;
|
|
705
|
+
}, KITTY_SEQUENCE_TIMEOUT_MS);
|
|
706
|
+
}
|
|
707
|
+
else {
|
|
708
|
+
// It IS a mouse sequence and it's long enough to be unambiguously NOT just a user hitting ESC slowly.
|
|
709
|
+
// We just wait for more data.
|
|
710
|
+
if (inputTimeout) {
|
|
711
|
+
clearTimeout(inputTimeout);
|
|
712
|
+
inputTimeout = null;
|
|
664
713
|
}
|
|
665
714
|
}
|
|
715
|
+
break;
|
|
666
716
|
}
|
|
667
|
-
kittySequenceBuffer = remainingBuffer;
|
|
668
|
-
if (parsedAny || kittySequenceBuffer)
|
|
669
|
-
return;
|
|
670
717
|
}
|
|
718
|
+
inputBuffer = remainingBuffer;
|
|
719
|
+
if (parsedAny || inputBuffer)
|
|
720
|
+
return;
|
|
671
721
|
}
|
|
672
722
|
if (key.name === 'return' && key.sequence === `${ESC}\r`) {
|
|
673
723
|
key.meta = true;
|
|
@@ -715,21 +765,21 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
715
765
|
clearTimeout(backslashTimeout);
|
|
716
766
|
backslashTimeout = null;
|
|
717
767
|
}
|
|
718
|
-
if (
|
|
719
|
-
clearTimeout(
|
|
720
|
-
|
|
768
|
+
if (inputTimeout) {
|
|
769
|
+
clearTimeout(inputTimeout);
|
|
770
|
+
inputTimeout = null;
|
|
721
771
|
}
|
|
722
772
|
// Flush any pending kitty sequence data to avoid data loss on exit.
|
|
723
|
-
if (
|
|
773
|
+
if (inputBuffer) {
|
|
724
774
|
broadcast({
|
|
725
775
|
name: '',
|
|
726
776
|
ctrl: false,
|
|
727
777
|
meta: false,
|
|
728
778
|
shift: false,
|
|
729
779
|
paste: false,
|
|
730
|
-
sequence:
|
|
780
|
+
sequence: inputBuffer,
|
|
731
781
|
});
|
|
732
|
-
|
|
782
|
+
inputBuffer = '';
|
|
733
783
|
}
|
|
734
784
|
// Flush any pending paste data to avoid data loss on exit.
|
|
735
785
|
if (pasteBuffer !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
|