openpaean 0.7.14 → 0.7.15
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.
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* InputArea Component
|
|
3
3
|
* User input with command handling using useStdin for raw input handling
|
|
4
|
-
* Features: Tab completion, command suggestions, proper exit cleanup
|
|
4
|
+
* Features: Tab completion, command suggestions, proper exit cleanup,
|
|
5
|
+
* multi-line paste (bracketed paste mode + fast-return fallback)
|
|
5
6
|
*/
|
|
6
7
|
import React from 'react';
|
|
7
8
|
interface InputAreaProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,UAAU,cAAc;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgN9C,CAAC"}
|
|
@@ -2,17 +2,42 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
/**
|
|
3
3
|
* InputArea Component
|
|
4
4
|
* User input with command handling using useStdin for raw input handling
|
|
5
|
-
* Features: Tab completion, command suggestions, proper exit cleanup
|
|
5
|
+
* Features: Tab completion, command suggestions, proper exit cleanup,
|
|
6
|
+
* multi-line paste (bracketed paste mode + fast-return fallback)
|
|
6
7
|
*/
|
|
7
8
|
import { useState, useEffect, useRef } from 'react';
|
|
8
9
|
import { Box, Text, useStdin, useApp } from 'ink';
|
|
10
|
+
/**
|
|
11
|
+
* If Enter arrives within this window after the last insertable character,
|
|
12
|
+
* treat it as part of a paste (newline) rather than a submit.
|
|
13
|
+
* Fallback for terminals that don't support bracketed paste mode.
|
|
14
|
+
*/
|
|
15
|
+
const FAST_RETURN_THRESHOLD_MS = 30;
|
|
16
|
+
const PASTE_START = '\x1b[200~';
|
|
17
|
+
const PASTE_END = '\x1b[201~';
|
|
9
18
|
export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions = [], disabled = false }) => {
|
|
10
19
|
const [value, setValue] = useState('');
|
|
11
20
|
const { stdin, setRawMode } = useStdin();
|
|
12
21
|
const { exit } = useApp();
|
|
13
22
|
const rawModeRef = useRef(true);
|
|
23
|
+
const callbacksRef = useRef({ onSubmit, onInputChange, onTabComplete });
|
|
24
|
+
// Bracketed paste state
|
|
25
|
+
const pasteBufferRef = useRef(null);
|
|
26
|
+
// Timestamp of last insertable character for fast-return heuristic
|
|
27
|
+
const lastInsertTimeRef = useRef(0);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
callbacksRef.current = { onSubmit, onInputChange, onTabComplete };
|
|
30
|
+
});
|
|
31
|
+
const prevValueRef = useRef(value);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (prevValueRef.current !== value) {
|
|
34
|
+
prevValueRef.current = value;
|
|
35
|
+
callbacksRef.current.onInputChange?.(value);
|
|
36
|
+
}
|
|
37
|
+
}, [value]);
|
|
14
38
|
// Cleanup function to properly exit
|
|
15
39
|
const cleanExit = () => {
|
|
40
|
+
process.stdout.write('\x1b[?2004l');
|
|
16
41
|
if (rawModeRef.current) {
|
|
17
42
|
try {
|
|
18
43
|
setRawMode(false);
|
|
@@ -25,9 +50,11 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
|
|
|
25
50
|
exit();
|
|
26
51
|
};
|
|
27
52
|
useEffect(() => {
|
|
28
|
-
// Set raw mode to capture individual key presses
|
|
29
53
|
setRawMode(true);
|
|
30
54
|
rawModeRef.current = true;
|
|
55
|
+
// Enable bracketed paste mode so the terminal wraps pasted content
|
|
56
|
+
// with \x1b[200~ ... \x1b[201~ escape sequences
|
|
57
|
+
process.stdout.write('\x1b[?2004h');
|
|
31
58
|
const handleData = (data) => {
|
|
32
59
|
if (disabled)
|
|
33
60
|
return;
|
|
@@ -37,33 +64,75 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
|
|
|
37
64
|
cleanExit();
|
|
38
65
|
return;
|
|
39
66
|
}
|
|
67
|
+
// --- Bracketed paste handling ---
|
|
68
|
+
const pasteStartIdx = input.indexOf(PASTE_START);
|
|
69
|
+
if (pasteStartIdx !== -1) {
|
|
70
|
+
if (pasteStartIdx > 0) {
|
|
71
|
+
handleData(Buffer.from(input.slice(0, pasteStartIdx)));
|
|
72
|
+
}
|
|
73
|
+
pasteBufferRef.current = '';
|
|
74
|
+
const afterStart = input.slice(pasteStartIdx + PASTE_START.length);
|
|
75
|
+
if (afterStart.length > 0) {
|
|
76
|
+
handleData(Buffer.from(afterStart));
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (pasteBufferRef.current !== null) {
|
|
81
|
+
const pasteEndIdx = input.indexOf(PASTE_END);
|
|
82
|
+
if (pasteEndIdx !== -1) {
|
|
83
|
+
pasteBufferRef.current += input.slice(0, pasteEndIdx);
|
|
84
|
+
const pastedText = pasteBufferRef.current;
|
|
85
|
+
pasteBufferRef.current = null;
|
|
86
|
+
if (pastedText.length > 0) {
|
|
87
|
+
const normalized = pastedText.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
88
|
+
setValue(prev => prev + normalized);
|
|
89
|
+
}
|
|
90
|
+
const afterEnd = input.slice(pasteEndIdx + PASTE_END.length);
|
|
91
|
+
if (afterEnd.length > 0) {
|
|
92
|
+
handleData(Buffer.from(afterEnd));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
pasteBufferRef.current += input;
|
|
97
|
+
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
40
100
|
// Handle Tab key (0x09)
|
|
41
101
|
if (input === '\t') {
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
102
|
+
setValue(currentValue => {
|
|
103
|
+
const { onTabComplete } = callbacksRef.current;
|
|
104
|
+
if (onTabComplete && currentValue.startsWith('/')) {
|
|
105
|
+
const completed = onTabComplete(currentValue);
|
|
106
|
+
if (completed)
|
|
107
|
+
return completed;
|
|
47
108
|
}
|
|
48
|
-
|
|
109
|
+
return currentValue;
|
|
110
|
+
});
|
|
49
111
|
return;
|
|
50
112
|
}
|
|
51
113
|
// Handle Enter (carriage return or newline)
|
|
52
114
|
if (input === '\r' || input === '\n') {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
115
|
+
const now = Date.now();
|
|
116
|
+
const timeSinceLastInsert = now - lastInsertTimeRef.current;
|
|
117
|
+
// Fast-return heuristic: treat rapid Enter after printable chars as paste newline
|
|
118
|
+
if (timeSinceLastInsert <= FAST_RETURN_THRESHOLD_MS) {
|
|
119
|
+
setValue(prev => prev + '\n');
|
|
120
|
+
return;
|
|
57
121
|
}
|
|
122
|
+
setValue(currentValue => {
|
|
123
|
+
if (currentValue.trim()) {
|
|
124
|
+
setTimeout(() => {
|
|
125
|
+
callbacksRef.current.onSubmit(currentValue.trim());
|
|
126
|
+
}, 0);
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
return currentValue;
|
|
130
|
+
});
|
|
58
131
|
return;
|
|
59
132
|
}
|
|
60
133
|
// Handle Backspace (0x7f or 0x08)
|
|
61
134
|
if (input === '\x7f' || input === '\x08') {
|
|
62
|
-
setValue(prev =>
|
|
63
|
-
const newVal = prev.slice(0, -1);
|
|
64
|
-
onInputChange?.(newVal);
|
|
65
|
-
return newVal;
|
|
66
|
-
});
|
|
135
|
+
setValue(prev => prev.slice(0, -1));
|
|
67
136
|
return;
|
|
68
137
|
}
|
|
69
138
|
// Handle Escape - clear suggestions
|
|
@@ -71,26 +140,19 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
|
|
|
71
140
|
return;
|
|
72
141
|
}
|
|
73
142
|
// Handle regular printable characters
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
else if (input.length > 1 && !input.startsWith('\x1b')) {
|
|
82
|
-
// Handle pasted text
|
|
83
|
-
setValue(prev => {
|
|
84
|
-
const newVal = prev + input;
|
|
85
|
-
onInputChange?.(newVal);
|
|
86
|
-
return newVal;
|
|
87
|
-
});
|
|
143
|
+
const isPrintable = !input.startsWith('\x1b') &&
|
|
144
|
+
input.length > 0 &&
|
|
145
|
+
!Array.from(input).some(ch => ch.charCodeAt(0) < 32);
|
|
146
|
+
if (isPrintable) {
|
|
147
|
+
lastInsertTimeRef.current = Date.now();
|
|
148
|
+
setValue(prev => prev + input);
|
|
88
149
|
}
|
|
89
150
|
};
|
|
90
151
|
stdin.on('data', handleData);
|
|
91
152
|
return () => {
|
|
92
153
|
stdin.off('data', handleData);
|
|
93
|
-
|
|
154
|
+
pasteBufferRef.current = null;
|
|
155
|
+
process.stdout.write('\x1b[?2004l');
|
|
94
156
|
if (rawModeRef.current) {
|
|
95
157
|
try {
|
|
96
158
|
setRawMode(false);
|
|
@@ -101,8 +163,9 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
|
|
|
101
163
|
}
|
|
102
164
|
}
|
|
103
165
|
};
|
|
104
|
-
}, [stdin, setRawMode, disabled
|
|
105
|
-
|
|
166
|
+
}, [stdin, setRawMode, disabled]);
|
|
167
|
+
const isMultiLine = value.includes('\n');
|
|
168
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "cyan", bold: true, children: "You: " }), disabled ? (_jsx(Text, { dimColor: true, children: "..." })) : (_jsxs(_Fragment, { children: [_jsx(Text, { children: value }), _jsx(Text, { color: "gray", children: "\u258C" })] }))] }), !disabled && isMultiLine && (_jsx(Box, { marginLeft: 5, children: _jsx(Text, { dimColor: true, children: "\u2026 (multi-line, Enter to send)" }) })), !disabled && suggestions.length > 0 && (_jsx(Box, { marginLeft: 5, marginTop: 0, children: _jsx(Text, { dimColor: true, children: suggestions.length === 1
|
|
106
169
|
? `Tab → ${suggestions[0]}`
|
|
107
170
|
: suggestions.slice(0, 5).join(' ') }) }))] }));
|
|
108
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED