@agi-fans/dsh-tui 0.7.0 → 0.9.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/lib/CHANGELOG.md +44 -1
- package/lib/chrome/box.d.ts +0 -7
- package/lib/chrome/box.js +3 -22
- package/lib/chrome/box.js.map +1 -1
- package/lib/chrome/code-highlight.d.ts +45 -0
- package/lib/chrome/code-highlight.js +155 -0
- package/lib/chrome/code-highlight.js.map +1 -0
- package/lib/chrome/diff-render.d.ts +3 -1
- package/lib/chrome/diff-render.js +73 -9
- package/lib/chrome/diff-render.js.map +1 -1
- package/lib/chrome/main-screen-renderer.d.ts +55 -0
- package/lib/chrome/main-screen-renderer.js +343 -0
- package/lib/chrome/main-screen-renderer.js.map +1 -0
- package/lib/chrome/markdown.d.ts +3 -6
- package/lib/chrome/markdown.js +5 -59
- package/lib/chrome/markdown.js.map +1 -1
- package/lib/chrome/md-style.d.ts +31 -0
- package/lib/chrome/md-style.js +58 -0
- package/lib/chrome/md-style.js.map +1 -0
- package/lib/chrome/renderer.d.ts +8 -31
- package/lib/chrome/renderer.js.map +1 -1
- package/lib/chrome/welcome-tips.js +2 -2
- package/lib/chrome/welcome-tips.js.map +1 -1
- package/lib/chrome/width.d.ts +15 -0
- package/lib/chrome/width.js +83 -0
- package/lib/chrome/width.js.map +1 -1
- package/lib/commands/auth.d.ts +2 -1
- package/lib/commands/auth.js +318 -38
- package/lib/commands/auth.js.map +1 -1
- package/lib/commands/permission.js +1 -6
- package/lib/commands/permission.js.map +1 -1
- package/lib/definition.d.ts +1 -1
- package/lib/input/keys.d.ts +1 -28
- package/lib/input/keys.js +15 -31
- package/lib/input/keys.js.map +1 -1
- package/lib/runtime/provider-local.d.ts +7 -5
- package/lib/runtime/provider-local.js +134 -208
- package/lib/runtime/provider-local.js.map +1 -1
- package/lib/session/authorization-interaction.d.ts +12 -0
- package/lib/session/authorization-interaction.js +70 -0
- package/lib/session/authorization-interaction.js.map +1 -0
- package/lib/session/session-controller.d.ts +8 -4
- package/lib/session/session-controller.js +13 -12
- package/lib/session/session-controller.js.map +1 -1
- package/lib/views/autocomplete.d.ts +0 -2
- package/lib/views/autocomplete.js +0 -8
- package/lib/views/autocomplete.js.map +1 -1
- package/lib/views/copy-selector.d.ts +0 -4
- package/lib/views/copy-selector.js +0 -17
- package/lib/views/copy-selector.js.map +1 -1
- package/lib/views/event-views.d.ts +3 -16
- package/lib/views/event-views.js +127 -93
- package/lib/views/event-views.js.map +1 -1
- package/lib/views/history-search.d.ts +0 -5
- package/lib/views/history-search.js +0 -16
- package/lib/views/history-search.js.map +1 -1
- package/lib/views/hotkeys.js +0 -1
- package/lib/views/hotkeys.js.map +1 -1
- package/lib/views/prompt-selector.d.ts +0 -5
- package/lib/views/prompt-selector.js +0 -13
- package/lib/views/prompt-selector.js.map +1 -1
- package/lib/views/settings-list.d.ts +0 -5
- package/lib/views/settings-list.js +0 -23
- package/lib/views/settings-list.js.map +1 -1
- package/package.json +29 -27
package/lib/input/keys.d.ts
CHANGED
|
@@ -4,24 +4,6 @@
|
|
|
4
4
|
* `enter`, `ctrl+a`, `alt+left`, `shift+enter`, …
|
|
5
5
|
* @module @agi-fans/dsh-tui
|
|
6
6
|
*/
|
|
7
|
-
/** One decoded SGR mouse report (`\x1b[<button;col;rowM`). */
|
|
8
|
-
export interface MouseEvent {
|
|
9
|
-
type: 'mouse';
|
|
10
|
-
/** Raw button code (bit 32 = motion, bit 64 = wheel). */
|
|
11
|
-
button: number;
|
|
12
|
-
/** 0-based column. */
|
|
13
|
-
col: number;
|
|
14
|
-
/** 0-based row. */
|
|
15
|
-
row: number;
|
|
16
|
-
/** True for a release report (`m` suffix). */
|
|
17
|
-
release: boolean;
|
|
18
|
-
/** Wheel direction: -1 up, 1 down, null when not a wheel event. */
|
|
19
|
-
wheel: -1 | 1 | null;
|
|
20
|
-
/** Pointer moved (hover or drag). */
|
|
21
|
-
motion: boolean;
|
|
22
|
-
/** Left-button press (not motion, release, or wheel). */
|
|
23
|
-
leftClick: boolean;
|
|
24
|
-
}
|
|
25
7
|
/** One decoded input event. */
|
|
26
8
|
export type KeyEvent = {
|
|
27
9
|
type: 'key';
|
|
@@ -33,18 +15,9 @@ export type KeyEvent = {
|
|
|
33
15
|
type: 'paste-start';
|
|
34
16
|
} | {
|
|
35
17
|
type: 'paste-end';
|
|
36
|
-
}
|
|
37
|
-
/** Enable SGR button tracking (wheel + clicks; no motion flood). */
|
|
38
|
-
export declare const MOUSE_TRACKING_ON = "\u001B[?1000h\u001B[?1006h";
|
|
39
|
-
/** Disable the modes enabled by {@link MOUSE_TRACKING_ON}. */
|
|
40
|
-
export declare const MOUSE_TRACKING_OFF = "\u001B[?1006l\u001B[?1000l";
|
|
18
|
+
};
|
|
41
19
|
/** Build `ctrl+shift+alt+name` from a CSI modifier parameter (1 = none). */
|
|
42
20
|
export declare function withMods(name: string, modifier: number): string;
|
|
43
|
-
/**
|
|
44
|
-
* Decode one SGR mouse report. `data` is the full CSI including ESC
|
|
45
|
-
* (`\x1b[<64;10;5M`); returns null when the string is not a complete report.
|
|
46
|
-
*/
|
|
47
|
-
export declare function parseSgrMouse(data: string): MouseEvent | null;
|
|
48
21
|
/**
|
|
49
22
|
* Decode a stdin string into events, leaving an incomplete escape in `rest`.
|
|
50
23
|
*/
|
package/lib/input/keys.js
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* `enter`, `ctrl+a`, `alt+left`, `shift+enter`, …
|
|
5
5
|
* @module @agi-fans/dsh-tui
|
|
6
6
|
*/
|
|
7
|
-
/** Enable SGR button tracking (wheel + clicks; no motion flood). */
|
|
8
|
-
export const MOUSE_TRACKING_ON = '\x1b[?1000h\x1b[?1006h';
|
|
9
|
-
/** Disable the modes enabled by {@link MOUSE_TRACKING_ON}. */
|
|
10
|
-
export const MOUSE_TRACKING_OFF = '\x1b[?1006l\x1b[?1000l';
|
|
11
7
|
const CTRL = {
|
|
12
8
|
0x01: 'ctrl+a',
|
|
13
9
|
0x02: 'ctrl+b',
|
|
@@ -99,32 +95,12 @@ function kittyEvent(code, modifier) {
|
|
|
99
95
|
return asEvent(withMods(String.fromCharCode(code), modifier));
|
|
100
96
|
return { type: 'key', id: withMods(`code${code}`, modifier) };
|
|
101
97
|
}
|
|
102
|
-
/**
|
|
103
|
-
* Decode one SGR mouse report. `data` is the full CSI including ESC
|
|
104
|
-
* (`\x1b[<64;10;5M`); returns null when the string is not a complete report.
|
|
105
|
-
*/
|
|
106
|
-
export function parseSgrMouse(data) {
|
|
107
|
-
const match = /^\x1b\[<(\d+);(\d+);(\d+)([Mm])/.exec(data);
|
|
108
|
-
if (match === null)
|
|
109
|
-
return null;
|
|
110
|
-
const button = Number(match[1]);
|
|
111
|
-
const col = Number(match[2]) - 1;
|
|
112
|
-
const row = Number(match[3]) - 1;
|
|
113
|
-
const release = match[4] === 'm';
|
|
114
|
-
const wheel = (button & 64) !== 0 ? ((button & 1) !== 0 ? 1 : -1) : null;
|
|
115
|
-
const motion = (button & 32) !== 0 && wheel === null;
|
|
116
|
-
const leftClick = !release && wheel === null && !motion && (button & 3) === 0;
|
|
117
|
-
return { type: 'mouse', button, col, row, release, wheel, motion, leftClick };
|
|
118
|
-
}
|
|
98
|
+
/** Consume a complete SGR mouse report (`\x1b[<button;col;rowM`) without emitting an event. */
|
|
119
99
|
function parseSgr(body) {
|
|
120
100
|
// body is the CSI payload after '['
|
|
121
101
|
const match = /^<(\d+);(\d+);(\d+)([Mm])/.exec(body);
|
|
122
|
-
if (match !== null)
|
|
123
|
-
|
|
124
|
-
if (event === null)
|
|
125
|
-
return null;
|
|
126
|
-
return { event, used: 1 + match[0].length };
|
|
127
|
-
}
|
|
102
|
+
if (match !== null)
|
|
103
|
+
return { used: 1 + match[0].length };
|
|
128
104
|
if (body.length < 32 && /^<\d*(?:;\d*){0,2}$/.test(body))
|
|
129
105
|
return 'partial';
|
|
130
106
|
return null;
|
|
@@ -134,8 +110,14 @@ function parseCsi(seq) {
|
|
|
134
110
|
const body = seq.slice(1);
|
|
135
111
|
if (body === '')
|
|
136
112
|
return 'partial';
|
|
137
|
-
if (body[0] === '<')
|
|
138
|
-
|
|
113
|
+
if (body[0] === '<') {
|
|
114
|
+
const parsed = parseSgr(body);
|
|
115
|
+
if (parsed === 'partial')
|
|
116
|
+
return 'partial';
|
|
117
|
+
if (parsed === null)
|
|
118
|
+
return null;
|
|
119
|
+
return { event: undefined, used: parsed.used };
|
|
120
|
+
}
|
|
139
121
|
const match = /^(?:(\d+)?(?:;(\d+))?(?:;(\d+))?)?([A-Za-z~u])/.exec(body);
|
|
140
122
|
if (match === null) {
|
|
141
123
|
if (/^[\d;]*$/.test(body) && body.length < 32)
|
|
@@ -197,7 +179,8 @@ export function parseKeys(input) {
|
|
|
197
179
|
i += 1;
|
|
198
180
|
continue;
|
|
199
181
|
}
|
|
200
|
-
|
|
182
|
+
if (parsed.event !== undefined)
|
|
183
|
+
events.push(parsed.event);
|
|
201
184
|
i += 1 + parsed.used;
|
|
202
185
|
continue;
|
|
203
186
|
}
|
|
@@ -209,7 +192,8 @@ export function parseKeys(input) {
|
|
|
209
192
|
i += 1;
|
|
210
193
|
continue;
|
|
211
194
|
}
|
|
212
|
-
|
|
195
|
+
if (parsed.event !== undefined)
|
|
196
|
+
events.push(parsed.event);
|
|
213
197
|
i += 1 + parsed.used;
|
|
214
198
|
continue;
|
|
215
199
|
}
|
package/lib/input/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/input/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/input/keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
* Owns the tty: raw-mode key input (editing, history, slash/tab
|
|
5
5
|
* autocomplete, /settings overlay, /copy picker, Ctrl-R history search, PgUp/PgDn
|
|
6
|
-
* and
|
|
6
|
+
* and Shift+Up/Down transcript scroll, Ctrl-O tool
|
|
7
7
|
* expand, bracketed paste, double-Escape conversation rewind, double Ctrl-C exit, Ctrl-D quit),
|
|
8
8
|
* SIGWINCH reflow, and the differential renderer. In non-tty mode
|
|
9
9
|
* (pipes, CI) it degrades to line-based input with plain append-only
|
|
@@ -53,9 +53,6 @@ export interface TerminalLike {
|
|
|
53
53
|
/** Optional resize subscription; returns a disposer. */
|
|
54
54
|
onResize?(listener: () => void): () => void;
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Local terminal presentation service.
|
|
58
|
-
*/
|
|
59
56
|
export declare class LocalTui implements TuiService {
|
|
60
57
|
#private;
|
|
61
58
|
/**
|
|
@@ -81,6 +78,11 @@ export declare class LocalTui implements TuiService {
|
|
|
81
78
|
readClipboardImage?: ClipboardImageReader;
|
|
82
79
|
readClipboardFiles?: ClipboardFileReader;
|
|
83
80
|
readImagePath?: ImagePathReader;
|
|
81
|
+
deferInitialRender?: boolean;
|
|
82
|
+
terminalProfile?: 'direct' | 'multiplexer' | 'conpty';
|
|
83
|
+
alternateScreenOverlays?: boolean;
|
|
84
|
+
resizeDebounceMs?: number;
|
|
85
|
+
streamRenderMs?: number;
|
|
84
86
|
});
|
|
85
87
|
event(event: SessionEvent, presentation?: TuiToolPresentation): void;
|
|
86
88
|
setStatus(status: TuiStatus): void;
|
|
@@ -96,7 +98,7 @@ export declare class LocalTui implements TuiService {
|
|
|
96
98
|
notice(text: string, options?: TuiNoticeOptions): void;
|
|
97
99
|
commandOutput(command: string, text: string): void;
|
|
98
100
|
prompt(request: TuiPrompt): Promise<string | null>;
|
|
99
|
-
replaceSession(events: readonly SessionEvent[], presentations?: ReadonlyMap<number, TuiToolPresentation
|
|
101
|
+
replaceSession(events: readonly SessionEvent[], presentations?: ReadonlyMap<number, TuiToolPresentation>, status?: TuiStatus): void;
|
|
100
102
|
setSession(info: {
|
|
101
103
|
id: string;
|
|
102
104
|
recent: readonly TuiRecentSession[];
|