poly-weaver 0.7.1 → 0.8.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/ansi.d.ts +7 -0
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +30 -0
- package/dist/ansi.js.map +1 -1
- package/dist/app-header.d.ts +16 -0
- package/dist/app-header.d.ts.map +1 -0
- package/dist/app-header.js +74 -0
- package/dist/app-header.js.map +1 -0
- package/dist/cli.js +81 -59
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/dump/collector.d.ts +2 -1
- package/dist/dump/collector.d.ts.map +1 -1
- package/dist/dump/collector.js +1 -0
- package/dist/dump/collector.js.map +1 -1
- package/dist/dump/hotkey.d.ts +9 -30
- package/dist/dump/hotkey.d.ts.map +1 -1
- package/dist/dump/hotkey.js +15 -158
- package/dist/dump/hotkey.js.map +1 -1
- package/dist/dump/service.d.ts +3 -2
- package/dist/dump/service.d.ts.map +1 -1
- package/dist/dump/service.js +4 -1
- package/dist/dump/service.js.map +1 -1
- package/dist/dump/types.d.ts +5 -0
- package/dist/dump/types.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.d.ts +21 -0
- package/dist/flow/built-in/default-factory.d.ts.map +1 -0
- package/dist/flow/built-in/default-factory.js +155 -0
- package/dist/flow/built-in/default-factory.js.map +1 -0
- package/dist/flow/built-in/default.d.ts +4 -4
- package/dist/flow/built-in/default.d.ts.map +1 -1
- package/dist/flow/built-in/default.js +3 -141
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +5 -169
- package/dist/flow/built-in/why-so-serious-factory.d.ts +16 -0
- package/dist/flow/built-in/why-so-serious-factory.d.ts.map +1 -0
- package/dist/flow/built-in/why-so-serious-factory.js +187 -0
- package/dist/flow/built-in/why-so-serious-factory.js.map +1 -0
- package/dist/flow/built-in/why-so-serious.d.ts +3 -2
- package/dist/flow/built-in/why-so-serious.d.ts.map +1 -1
- package/dist/flow/built-in/why-so-serious.js +3 -164
- package/dist/flow/built-in/why-so-serious.js.map +1 -1
- package/dist/flow/custom/AUTHORING.md +13 -0
- package/dist/flow/custom/load.d.ts +16 -1
- package/dist/flow/custom/load.d.ts.map +1 -1
- package/dist/flow/custom/load.js +69 -18
- package/dist/flow/custom/load.js.map +1 -1
- package/dist/flow/dsl.js +1 -1
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +44 -8
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/types.d.ts +20 -2
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/flow-editor/tui.d.ts.map +1 -1
- package/dist/flow-editor/tui.js +9 -18
- package/dist/flow-editor/tui.js.map +1 -1
- package/dist/orchestrator.d.ts +43 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +230 -92
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
- package/dist/providers/claude/completion-plan-mode.js +5 -2
- package/dist/providers/claude/completion-plan-mode.js.map +1 -1
- package/dist/providers/claude/tool-tracking.d.ts +1 -0
- package/dist/providers/claude/tool-tracking.d.ts.map +1 -1
- package/dist/providers/claude/tool-tracking.js +3 -0
- package/dist/providers/claude/tool-tracking.js.map +1 -1
- package/dist/pty/spawn.d.ts.map +1 -1
- package/dist/pty/spawn.js +6 -1
- package/dist/pty/spawn.js.map +1 -1
- package/dist/pty/types.d.ts +7 -2
- package/dist/pty/types.d.ts.map +1 -1
- package/dist/resume-tui.d.ts +52 -0
- package/dist/resume-tui.d.ts.map +1 -0
- package/dist/resume-tui.js +344 -0
- package/dist/resume-tui.js.map +1 -0
- package/dist/session/flow-snapshot.d.ts +14 -0
- package/dist/session/flow-snapshot.d.ts.map +1 -0
- package/dist/session/flow-snapshot.js +28 -0
- package/dist/session/flow-snapshot.js.map +1 -0
- package/dist/session/list.d.ts +16 -0
- package/dist/session/list.d.ts.map +1 -0
- package/dist/session/list.js +89 -0
- package/dist/session/list.js.map +1 -0
- package/dist/session/lock.d.ts +26 -0
- package/dist/session/lock.d.ts.map +1 -0
- package/dist/session/lock.js +95 -0
- package/dist/session/lock.js.map +1 -0
- package/dist/session/manifest.d.ts +80 -0
- package/dist/session/manifest.d.ts.map +1 -0
- package/dist/session/manifest.js +2 -0
- package/dist/session/manifest.js.map +1 -0
- package/dist/session/persistence.d.ts +19 -0
- package/dist/session/persistence.d.ts.map +1 -0
- package/dist/session/persistence.js +68 -0
- package/dist/session/persistence.js.map +1 -0
- package/dist/session/process-start-time.d.ts +17 -0
- package/dist/session/process-start-time.d.ts.map +1 -0
- package/dist/session/process-start-time.js +99 -0
- package/dist/session/process-start-time.js.map +1 -0
- package/dist/session/restore.d.ts +31 -0
- package/dist/session/restore.d.ts.map +1 -0
- package/dist/session/restore.js +111 -0
- package/dist/session/restore.js.map +1 -0
- package/dist/session/resume.d.ts +5 -0
- package/dist/session/resume.d.ts.map +1 -0
- package/dist/session/resume.js +109 -0
- package/dist/session/resume.js.map +1 -0
- package/dist/session/session-store.d.ts +43 -0
- package/dist/session/session-store.d.ts.map +1 -0
- package/dist/session/session-store.js +134 -0
- package/dist/session/session-store.js.map +1 -0
- package/dist/startup-tui.d.ts +10 -11
- package/dist/startup-tui.d.ts.map +1 -1
- package/dist/startup-tui.js +25 -108
- package/dist/startup-tui.js.map +1 -1
- package/dist/status-bar.js +1 -26
- package/dist/status-bar.js.map +1 -1
- package/dist/terminal/host.d.ts +22 -9
- package/dist/terminal/host.d.ts.map +1 -1
- package/dist/terminal/host.js +67 -78
- package/dist/terminal/host.js.map +1 -1
- package/dist/terminal/input-router.d.ts +24 -103
- package/dist/terminal/input-router.d.ts.map +1 -1
- package/dist/terminal/input-router.js +63 -364
- package/dist/terminal/input-router.js.map +1 -1
- package/dist/terminal/key-event-source.d.ts +52 -0
- package/dist/terminal/key-event-source.d.ts.map +1 -0
- package/dist/terminal/key-event-source.js +31 -0
- package/dist/terminal/key-event-source.js.map +1 -0
- package/dist/terminal/key-to-bytes.d.ts +11 -0
- package/dist/terminal/key-to-bytes.d.ts.map +1 -0
- package/dist/terminal/key-to-bytes.js +81 -0
- package/dist/terminal/key-to-bytes.js.map +1 -0
- package/dist/terminal/koffi-loader.d.ts +14 -0
- package/dist/terminal/koffi-loader.d.ts.map +1 -1
- package/dist/terminal/koffi-loader.js.map +1 -1
- package/dist/terminal/render.d.ts +1 -2
- package/dist/terminal/render.d.ts.map +1 -1
- package/dist/terminal/render.js +1 -30
- package/dist/terminal/render.js.map +1 -1
- package/dist/terminal/stdin-byte-source.d.ts +27 -0
- package/dist/terminal/stdin-byte-source.d.ts.map +1 -0
- package/dist/terminal/stdin-byte-source.js +92 -0
- package/dist/terminal/stdin-byte-source.js.map +1 -0
- package/dist/terminal/win32-console-mode.d.ts.map +1 -1
- package/dist/terminal/win32-console-mode.js.map +1 -1
- package/dist/terminal/win32-console-source.d.ts +26 -0
- package/dist/terminal/win32-console-source.d.ts.map +1 -0
- package/dist/terminal/win32-console-source.js +275 -0
- package/dist/terminal/win32-console-source.js.map +1 -0
- package/dist/terminal/win32-key-translator.d.ts +26 -0
- package/dist/terminal/win32-key-translator.d.ts.map +1 -0
- package/dist/terminal/win32-key-translator.js +87 -0
- package/dist/terminal/win32-key-translator.js.map +1 -0
- package/dist/terminal-input.d.ts +10 -0
- package/dist/terminal-input.d.ts.map +1 -1
- package/dist/terminal-input.js +132 -113
- package/dist/terminal-input.js.map +1 -1
- package/dist/user/host-curate-prompt.d.ts +2 -1
- package/dist/user/host-curate-prompt.d.ts.map +1 -1
- package/dist/user/host-curate-prompt.js +13 -11
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.d.ts +4 -1
- package/dist/user/host-prompt.d.ts.map +1 -1
- package/dist/user/host-prompt.js +24 -6
- package/dist/user/host-prompt.js.map +1 -1
- package/dist/user/prompt.d.ts +7 -9
- package/dist/user/prompt.d.ts.map +1 -1
- package/dist/user/prompt.js +14 -23
- package/dist/user/prompt.js.map +1 -1
- package/package.json +1 -1
package/dist/terminal-input.js
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* startup TUI) wrap this via composition and map TerminalKey → their own
|
|
10
10
|
* domain event types.
|
|
11
11
|
*/
|
|
12
|
+
const SUPPRESSED = { tag: "suppressed" };
|
|
13
|
+
const UNRECOGNIZED = { tag: "unrecognized" };
|
|
14
|
+
function keys(...k) {
|
|
15
|
+
return { tag: "keys", keys: k };
|
|
16
|
+
}
|
|
12
17
|
export class TerminalKeyParser {
|
|
13
18
|
escapeTimeoutMs;
|
|
14
19
|
state = "normal";
|
|
@@ -30,7 +35,7 @@ export class TerminalKeyParser {
|
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
parseChunk(chunk) {
|
|
33
|
-
const
|
|
38
|
+
const out = [];
|
|
34
39
|
for (const byte of chunk) {
|
|
35
40
|
switch (this.state) {
|
|
36
41
|
case "normal":
|
|
@@ -39,16 +44,15 @@ export class TerminalKeyParser {
|
|
|
39
44
|
this.state = "esc";
|
|
40
45
|
}
|
|
41
46
|
else if (byte === 0x0d || byte === 0x0a) {
|
|
42
|
-
|
|
47
|
+
out.push({ kind: "enter", byte });
|
|
43
48
|
}
|
|
44
49
|
else if (byte === 0x7f || byte === 0x08) {
|
|
45
|
-
|
|
50
|
+
out.push({ kind: "backspace" });
|
|
46
51
|
}
|
|
47
52
|
else if (byte < 0x20) {
|
|
48
|
-
|
|
53
|
+
out.push({ kind: "control", byte });
|
|
49
54
|
}
|
|
50
55
|
else if (byte >= 0xc2 && byte <= 0xf4) {
|
|
51
|
-
// UTF-8 multi-byte start byte
|
|
52
56
|
this.utf8Buffer = [byte];
|
|
53
57
|
this.utf8Expected = byte < 0xe0 ? 2 : byte < 0xf0 ? 3 : 4;
|
|
54
58
|
this.state = "utf8";
|
|
@@ -58,7 +62,7 @@ export class TerminalKeyParser {
|
|
|
58
62
|
}
|
|
59
63
|
else {
|
|
60
64
|
const ch = String.fromCharCode(byte);
|
|
61
|
-
|
|
65
|
+
out.push({ kind: "printable", char: ch, source: "plain" });
|
|
62
66
|
}
|
|
63
67
|
break;
|
|
64
68
|
case "esc":
|
|
@@ -70,25 +74,41 @@ export class TerminalKeyParser {
|
|
|
70
74
|
this.state = "ss3";
|
|
71
75
|
}
|
|
72
76
|
else {
|
|
77
|
+
// Bare ESC + non-CSI/non-SS3 byte: emit escape, then re-process
|
|
78
|
+
// the byte through `normal`. This NEVER produces `raw` — see
|
|
79
|
+
// preservation contract item 3.
|
|
73
80
|
this.state = "normal";
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
keys.push(...this.parseChunk(Buffer.from([byte])));
|
|
81
|
+
out.push({ kind: "escape" });
|
|
82
|
+
out.push(...this.parseChunk(Buffer.from([byte])));
|
|
77
83
|
}
|
|
78
84
|
break;
|
|
79
|
-
case "csi":
|
|
85
|
+
case "csi": {
|
|
80
86
|
if (byte >= 0x40 && byte <= 0x7e) {
|
|
81
|
-
|
|
87
|
+
const params = this.csiParams;
|
|
88
|
+
const result = this.handleCsi(params, String.fromCharCode(byte));
|
|
82
89
|
this.state = "normal";
|
|
90
|
+
this.dispatch(out, result, () => {
|
|
91
|
+
// Re-frame the consumed CSI bytes: ESC [ params <final>.
|
|
92
|
+
const paramBytes = Buffer.from(params, "ascii");
|
|
93
|
+
const frame = Buffer.alloc(2 + paramBytes.length + 1);
|
|
94
|
+
frame[0] = 0x1b;
|
|
95
|
+
frame[1] = 0x5b;
|
|
96
|
+
paramBytes.copy(frame, 2);
|
|
97
|
+
frame[2 + paramBytes.length] = byte;
|
|
98
|
+
return frame;
|
|
99
|
+
});
|
|
83
100
|
}
|
|
84
101
|
else {
|
|
85
102
|
this.csiParams += String.fromCharCode(byte);
|
|
86
103
|
}
|
|
87
104
|
break;
|
|
88
|
-
|
|
105
|
+
}
|
|
106
|
+
case "ss3": {
|
|
107
|
+
const result = this.handleSs3(byte);
|
|
89
108
|
this.state = "normal";
|
|
90
|
-
|
|
109
|
+
this.dispatch(out, result, () => Buffer.from([0x1b, 0x4f, byte]));
|
|
91
110
|
break;
|
|
111
|
+
}
|
|
92
112
|
case "utf8":
|
|
93
113
|
if (byte >= 0x80 && byte <= 0xbf) {
|
|
94
114
|
this.utf8Buffer.push(byte);
|
|
@@ -97,15 +117,14 @@ export class TerminalKeyParser {
|
|
|
97
117
|
this.state = "normal";
|
|
98
118
|
this.utf8Buffer = [];
|
|
99
119
|
if (char && !char.includes("\ufffd")) {
|
|
100
|
-
|
|
120
|
+
out.push({ kind: "printable", char, source: "plain" });
|
|
101
121
|
}
|
|
102
122
|
}
|
|
103
123
|
}
|
|
104
124
|
else {
|
|
105
|
-
// Invalid continuation — discard incomplete sequence, re-process byte
|
|
106
125
|
this.utf8Buffer = [];
|
|
107
126
|
this.state = "normal";
|
|
108
|
-
|
|
127
|
+
out.push(...this.parseChunk(Buffer.from([byte])));
|
|
109
128
|
}
|
|
110
129
|
break;
|
|
111
130
|
}
|
|
@@ -120,87 +139,82 @@ export class TerminalKeyParser {
|
|
|
120
139
|
}
|
|
121
140
|
}, this.escapeTimeoutMs);
|
|
122
141
|
}
|
|
123
|
-
return
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
dispatch(out, result, frameBytes) {
|
|
145
|
+
switch (result.tag) {
|
|
146
|
+
case "keys":
|
|
147
|
+
for (const k of result.keys)
|
|
148
|
+
out.push(k);
|
|
149
|
+
return;
|
|
150
|
+
case "suppressed":
|
|
151
|
+
return;
|
|
152
|
+
case "unrecognized":
|
|
153
|
+
out.push({ kind: "raw", bytes: frameBytes() });
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
124
156
|
}
|
|
125
157
|
handleSs3(byte) {
|
|
126
158
|
switch (byte) {
|
|
127
159
|
case 0x41:
|
|
128
|
-
return
|
|
160
|
+
return keys({ kind: "arrow", direction: "up" });
|
|
129
161
|
case 0x42:
|
|
130
|
-
return
|
|
162
|
+
return keys({ kind: "arrow", direction: "down" });
|
|
131
163
|
case 0x43:
|
|
132
|
-
return
|
|
164
|
+
return keys({ kind: "arrow", direction: "right" });
|
|
133
165
|
case 0x44:
|
|
134
|
-
return
|
|
166
|
+
return keys({ kind: "arrow", direction: "left" });
|
|
135
167
|
default:
|
|
136
|
-
return
|
|
137
|
-
{ kind: "escape" },
|
|
138
|
-
{ kind: "printable", char: "O", source: "plain" },
|
|
139
|
-
...this.parseChunk(Buffer.from([byte])),
|
|
140
|
-
];
|
|
168
|
+
return UNRECOGNIZED;
|
|
141
169
|
}
|
|
142
170
|
}
|
|
143
171
|
handleCsi(params, finalByte) {
|
|
144
172
|
// Standard arrow keys: CSI A/B/C/D (with optional params like "1;1")
|
|
145
|
-
if (finalByte === "A")
|
|
146
|
-
return
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (finalByte === "
|
|
152
|
-
return
|
|
153
|
-
}
|
|
154
|
-
if (finalByte === "D") {
|
|
155
|
-
return [{ kind: "arrow", direction: "left" }];
|
|
156
|
-
}
|
|
173
|
+
if (finalByte === "A")
|
|
174
|
+
return keys({ kind: "arrow", direction: "up" });
|
|
175
|
+
if (finalByte === "B")
|
|
176
|
+
return keys({ kind: "arrow", direction: "down" });
|
|
177
|
+
if (finalByte === "C")
|
|
178
|
+
return keys({ kind: "arrow", direction: "right" });
|
|
179
|
+
if (finalByte === "D")
|
|
180
|
+
return keys({ kind: "arrow", direction: "left" });
|
|
157
181
|
// CSI Z: standard Shift+Tab — normalize to Kitty protocol representation
|
|
158
|
-
if (finalByte === "Z")
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
// Navigation keys via CSI ~ form: PageUp/PageDown/Home/End. Modifier
|
|
162
|
-
// params (e.g. "1;5") are accepted; we keep semantics modifier-agnostic
|
|
163
|
-
// because consumers want the navigation event regardless of modifiers.
|
|
182
|
+
if (finalByte === "Z")
|
|
183
|
+
return keys({ kind: "kitty-key", keyCode: 9, modifiers: 2 });
|
|
184
|
+
// CSI ~ form: PageUp / PageDown / Home / End.
|
|
164
185
|
if (finalByte === "~") {
|
|
165
186
|
const code = parseInt(params.split(";")[0] ?? "", 10) || 0;
|
|
166
187
|
switch (code) {
|
|
167
|
-
case 5:
|
|
168
|
-
|
|
169
|
-
case 6:
|
|
170
|
-
return [{ kind: "page", direction: "down" }];
|
|
188
|
+
case 5: return keys({ kind: "page", direction: "up" });
|
|
189
|
+
case 6: return keys({ kind: "page", direction: "down" });
|
|
171
190
|
case 1:
|
|
172
|
-
case 7:
|
|
173
|
-
return [{ kind: "home" }];
|
|
191
|
+
case 7: return keys({ kind: "home" });
|
|
174
192
|
case 4:
|
|
175
|
-
case 8:
|
|
176
|
-
return [{ kind: "end" }];
|
|
193
|
+
case 8: return keys({ kind: "end" });
|
|
177
194
|
}
|
|
178
|
-
return
|
|
179
|
-
}
|
|
180
|
-
// CSI H/F (with optional modifier params): Home / End
|
|
181
|
-
if (finalByte === "H") {
|
|
182
|
-
return [{ kind: "home" }];
|
|
183
|
-
}
|
|
184
|
-
if (finalByte === "F") {
|
|
185
|
-
return [{ kind: "end" }];
|
|
195
|
+
return UNRECOGNIZED;
|
|
186
196
|
}
|
|
197
|
+
if (finalByte === "H")
|
|
198
|
+
return keys({ kind: "home" });
|
|
199
|
+
if (finalByte === "F")
|
|
200
|
+
return keys({ kind: "end" });
|
|
187
201
|
// SGR mouse encoding: CSI < Cb ; Cx ; Cy M (press) or m (release).
|
|
188
|
-
// Wheel events: Cb=64 (up) / Cb=65 (down)
|
|
189
|
-
//
|
|
202
|
+
// Wheel events: Cb=64 (up) / Cb=65 (down) — surface as `wheel`.
|
|
203
|
+
// Non-wheel SGR mouse (clicks, motion, releases) → `unrecognized` so
|
|
204
|
+
// the router forwards them verbatim to the child PTY via `raw`.
|
|
190
205
|
if (params.startsWith("<") && (finalByte === "M" || finalByte === "m")) {
|
|
191
206
|
const cb = parseInt(params.slice(1).split(";")[0] ?? "", 10);
|
|
192
207
|
if (cb === 64)
|
|
193
|
-
return
|
|
208
|
+
return keys({ kind: "wheel", direction: "up" });
|
|
194
209
|
if (cb === 65)
|
|
195
|
-
return
|
|
196
|
-
return
|
|
210
|
+
return keys({ kind: "wheel", direction: "down" });
|
|
211
|
+
return UNRECOGNIZED;
|
|
197
212
|
}
|
|
198
213
|
if (finalByte !== "u" && finalByte !== "_") {
|
|
199
|
-
return
|
|
214
|
+
return UNRECOGNIZED;
|
|
200
215
|
}
|
|
201
216
|
const parts = params.split(";");
|
|
202
217
|
// Win32-input-mode: CSI Vk;Sc;Uc;Kd;Cs;Rc _ (6 fields, finalByte '_')
|
|
203
|
-
// Enabled by \x1b[?9001h — Claude Code uses this on Windows Terminal.
|
|
204
218
|
if (finalByte === "_" && parts.length === 6) {
|
|
205
219
|
return this.handleWin32Input(parts);
|
|
206
220
|
}
|
|
@@ -208,52 +222,49 @@ export class TerminalKeyParser {
|
|
|
208
222
|
const modifiers = parseInt(parts[1]?.split(":")[0] ?? "1", 10) || 1;
|
|
209
223
|
const eventType = this.parseKittyEventType(parts[1]);
|
|
210
224
|
// Ignore key-release events
|
|
211
|
-
if (eventType === 3)
|
|
212
|
-
return
|
|
213
|
-
}
|
|
225
|
+
if (eventType === 3)
|
|
226
|
+
return SUPPRESSED;
|
|
214
227
|
// Enter with Ctrl modifier → kitty-key (so consumer can distinguish Ctrl+Enter)
|
|
215
228
|
if ((keyCode === 13 || keyCode === 10) && (modifiers - 1) & 0x04) {
|
|
216
|
-
return
|
|
229
|
+
return keys({ kind: "kitty-key", keyCode, modifiers });
|
|
217
230
|
}
|
|
218
231
|
// Enter (no Ctrl)
|
|
219
232
|
if (keyCode === 13 || keyCode === 10) {
|
|
220
|
-
return
|
|
233
|
+
return keys({ kind: "enter", byte: keyCode === 10 ? 0x0a : 0x0d });
|
|
221
234
|
}
|
|
222
235
|
// Backspace
|
|
223
236
|
if (keyCode === 127 || keyCode === 8) {
|
|
224
|
-
return
|
|
237
|
+
return keys({ kind: "backspace" });
|
|
225
238
|
}
|
|
226
239
|
// Special keycodes → kitty-key (consumer decides semantics)
|
|
227
240
|
if (keyCode === 9 || keyCode === 27 || keyCode === 3) {
|
|
228
|
-
return
|
|
241
|
+
return keys({ kind: "kitty-key", keyCode, modifiers });
|
|
229
242
|
}
|
|
230
243
|
// Ctrl-modified printable keys are shortcuts, not text input.
|
|
231
244
|
if (keyCode >= 32 && keyCode < 127 && ((modifiers - 1) & 0x04) !== 0) {
|
|
232
|
-
return
|
|
245
|
+
return keys({ kind: "kitty-key", keyCode, modifiers });
|
|
233
246
|
}
|
|
234
|
-
// Kitty functional keycodes — normalize to standard events
|
|
235
|
-
// don't need to know about the extended keycode table. These appear when
|
|
236
|
-
// the terminal is in "report all keys as escape codes" mode (flag 0x08).
|
|
237
|
-
// Keycodes from the kitty keyboard protocol functional key table.
|
|
247
|
+
// Kitty functional keycodes — normalize to standard events.
|
|
238
248
|
switch (keyCode) {
|
|
239
249
|
case 57344: // Escape
|
|
240
|
-
return
|
|
250
|
+
return keys({ kind: "kitty-key", keyCode: 27, modifiers });
|
|
241
251
|
case 57345: // Enter
|
|
242
252
|
if ((modifiers - 1) & 0x04)
|
|
243
|
-
return
|
|
244
|
-
|
|
253
|
+
return keys({ kind: "kitty-key", keyCode: 13, modifiers });
|
|
254
|
+
// No source byte — kitty Enter convention picks CR.
|
|
255
|
+
return keys({ kind: "enter", byte: 0x0d });
|
|
245
256
|
case 57346: // Tab
|
|
246
|
-
return
|
|
257
|
+
return keys({ kind: "kitty-key", keyCode: 9, modifiers });
|
|
247
258
|
case 57347: // Backspace
|
|
248
|
-
return
|
|
259
|
+
return keys({ kind: "backspace" });
|
|
249
260
|
case 57350: // Left
|
|
250
|
-
return
|
|
261
|
+
return keys({ kind: "arrow", direction: "left" });
|
|
251
262
|
case 57351: // Right
|
|
252
|
-
return
|
|
263
|
+
return keys({ kind: "arrow", direction: "right" });
|
|
253
264
|
case 57352: // Up
|
|
254
|
-
return
|
|
265
|
+
return keys({ kind: "arrow", direction: "up" });
|
|
255
266
|
case 57353: // Down
|
|
256
|
-
return
|
|
267
|
+
return keys({ kind: "arrow", direction: "down" });
|
|
257
268
|
}
|
|
258
269
|
// Kitty text event (_): extract codepoints
|
|
259
270
|
if (finalByte === "_" && parts.length >= 3) {
|
|
@@ -261,77 +272,85 @@ export class TerminalKeyParser {
|
|
|
261
272
|
.split(":")
|
|
262
273
|
.map(Number)
|
|
263
274
|
.filter((cp) => cp >= 32);
|
|
264
|
-
return
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
275
|
+
return {
|
|
276
|
+
tag: "keys",
|
|
277
|
+
keys: cps.map((cp) => ({
|
|
278
|
+
kind: "printable",
|
|
279
|
+
char: String.fromCodePoint(cp),
|
|
280
|
+
source: "kitty-text",
|
|
281
|
+
})),
|
|
282
|
+
};
|
|
269
283
|
}
|
|
270
284
|
// Printable keycodes via 'u'
|
|
271
285
|
if (keyCode >= 32 && keyCode < 127) {
|
|
272
286
|
const ch = String.fromCharCode(keyCode);
|
|
273
|
-
return
|
|
287
|
+
return keys({ kind: "printable", char: ch, source: "kitty-u" });
|
|
274
288
|
}
|
|
275
|
-
return
|
|
289
|
+
return UNRECOGNIZED;
|
|
276
290
|
}
|
|
277
291
|
/**
|
|
278
292
|
* Win32-input-mode: CSI Vk;Sc;Uc;Kd;Cs;Rc _
|
|
279
293
|
* Vk = virtual key code, Sc = scan code, Uc = unicode char,
|
|
280
294
|
* Kd = key-down(1)/up(0), Cs = control-key-state bitmask, Rc = repeat count.
|
|
295
|
+
*
|
|
296
|
+
* This path never returns `unrecognized`. The byte-stream Win32-input-mode
|
|
297
|
+
* frames come from a structured source (Windows Terminal forwarding console
|
|
298
|
+
* input through ConPTY), so every recognized shape we don't act on is a
|
|
299
|
+
* protocol artifact that should be dropped, not forwarded as `raw`.
|
|
281
300
|
*/
|
|
282
301
|
handleWin32Input(parts) {
|
|
283
|
-
const uc = parseInt(parts[2], 10) || 0;
|
|
284
|
-
const kd = parseInt(parts[3], 10) || 0;
|
|
285
|
-
const cs = parseInt(parts[4], 10) || 0;
|
|
302
|
+
const uc = parseInt(parts[2], 10) || 0;
|
|
303
|
+
const kd = parseInt(parts[3], 10) || 0;
|
|
304
|
+
const cs = parseInt(parts[4], 10) || 0;
|
|
286
305
|
// Only process key-down events
|
|
287
306
|
if (kd !== 1)
|
|
288
|
-
return
|
|
307
|
+
return SUPPRESSED;
|
|
289
308
|
// Modifier-only keys (Ctrl=17, Shift=16, Alt=18) — ignore
|
|
290
309
|
const vk = parseInt(parts[0], 10) || 0;
|
|
291
310
|
if (vk === 16 || vk === 17 || vk === 18)
|
|
292
|
-
return
|
|
311
|
+
return SUPPRESSED;
|
|
293
312
|
// Navigation keys (VK_PRIOR=33, VK_NEXT=34, VK_END=35, VK_HOME=36)
|
|
294
313
|
if (vk === 33)
|
|
295
|
-
return
|
|
314
|
+
return keys({ kind: "page", direction: "up" });
|
|
296
315
|
if (vk === 34)
|
|
297
|
-
return
|
|
316
|
+
return keys({ kind: "page", direction: "down" });
|
|
298
317
|
if (vk === 35)
|
|
299
|
-
return
|
|
318
|
+
return keys({ kind: "end" });
|
|
300
319
|
if (vk === 36)
|
|
301
|
-
return
|
|
320
|
+
return keys({ kind: "home" });
|
|
302
321
|
// Arrow keys (VK_LEFT=37, VK_UP=38, VK_RIGHT=39, VK_DOWN=40)
|
|
303
322
|
if (vk >= 37 && vk <= 40) {
|
|
304
323
|
const dir = ["left", "up", "right", "down"][vk - 37];
|
|
305
|
-
return
|
|
324
|
+
return keys({ kind: "arrow", direction: dir });
|
|
306
325
|
}
|
|
307
326
|
const ctrl = (cs & 0x000c) !== 0; // LEFT_CTRL(0x08) | RIGHT_CTRL(0x04)
|
|
308
327
|
// Enter
|
|
309
328
|
if (uc === 13 || uc === 10) {
|
|
310
329
|
if (ctrl)
|
|
311
|
-
return
|
|
312
|
-
return
|
|
330
|
+
return keys({ kind: "kitty-key", keyCode: 13, modifiers: 5 });
|
|
331
|
+
return keys({ kind: "enter", byte: uc });
|
|
313
332
|
}
|
|
314
333
|
// Backspace (VK_BACK=8)
|
|
315
334
|
if (vk === 8)
|
|
316
|
-
return
|
|
335
|
+
return keys({ kind: "backspace" });
|
|
317
336
|
// Escape (VK_ESCAPE=27)
|
|
318
337
|
if (vk === 27)
|
|
319
|
-
return
|
|
338
|
+
return keys({ kind: "escape" });
|
|
320
339
|
// Tab (VK_TAB=9)
|
|
321
340
|
if (vk === 9) {
|
|
322
341
|
const shift = (cs & 0x0010) !== 0;
|
|
323
|
-
return
|
|
342
|
+
return keys({ kind: "kitty-key", keyCode: 9, modifiers: shift ? 2 : 1 });
|
|
324
343
|
}
|
|
325
344
|
// Control characters (Ctrl-generated control bytes below ASCII 32)
|
|
326
345
|
if (ctrl && uc >= 1 && uc < 32) {
|
|
327
|
-
return
|
|
346
|
+
return keys({ kind: "control", byte: uc });
|
|
328
347
|
}
|
|
329
348
|
// Printable characters
|
|
330
349
|
if (uc >= 32) {
|
|
331
350
|
const ch = String.fromCharCode(uc);
|
|
332
|
-
return
|
|
351
|
+
return keys({ kind: "printable", char: ch, source: "plain" });
|
|
333
352
|
}
|
|
334
|
-
return
|
|
353
|
+
return SUPPRESSED;
|
|
335
354
|
}
|
|
336
355
|
parseKittyEventType(modsAndEvent) {
|
|
337
356
|
if (!modsAndEvent)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,8 @@ import type { TerminalHost } from "../terminal/host.js";
|
|
|
23
23
|
* - Enter on a revise row begins or finishes the inline edit; Esc cancels.
|
|
24
24
|
* - PageUp/PageDown/Home/End/wheel scrolls the plan.
|
|
25
25
|
* - Up/Down moves the cursor among issues.
|
|
26
|
-
* - Ctrl+D submits
|
|
26
|
+
* - Ctrl+D submits; Ctrl+C quits poly-weaver (exit code 130). Inside the
|
|
27
|
+
* inline revise editor (`state.editing`), Ctrl+C cancels the edit only.
|
|
27
28
|
* - Ctrl+] is consumed by the host's `InputRouter` for dump capture.
|
|
28
29
|
*/
|
|
29
30
|
export declare class HostBackedCuratePrompt implements CuratePromptHandler {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-curate-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-curate-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"AAWA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAMzF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAiM/E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { bold, cyan, dim, reset, visibleLength, } from "../ansi.js";
|
|
2
|
+
import { AgentInterruptedError } from "../agents/runner.js";
|
|
2
3
|
import { renderMarkdown } from "../markdown.js";
|
|
3
4
|
import { RawInputParser } from "./prompt.js";
|
|
4
5
|
import { clipToWidth, tagFor, wrapToWidth, } from "./curate-prompt.js";
|
|
@@ -29,7 +30,8 @@ const COLLAPSE_AT_COLS = 100;
|
|
|
29
30
|
* - Enter on a revise row begins or finishes the inline edit; Esc cancels.
|
|
30
31
|
* - PageUp/PageDown/Home/End/wheel scrolls the plan.
|
|
31
32
|
* - Up/Down moves the cursor among issues.
|
|
32
|
-
* - Ctrl+D submits
|
|
33
|
+
* - Ctrl+D submits; Ctrl+C quits poly-weaver (exit code 130). Inside the
|
|
34
|
+
* inline revise editor (`state.editing`), Ctrl+C cancels the edit only.
|
|
33
35
|
* - Ctrl+] is consumed by the host's `InputRouter` for dump capture.
|
|
34
36
|
*/
|
|
35
37
|
export class HostBackedCuratePrompt {
|
|
@@ -53,13 +55,18 @@ export class HostBackedCuratePrompt {
|
|
|
53
55
|
planScrollTop: 0,
|
|
54
56
|
};
|
|
55
57
|
const parser = new RawInputParser();
|
|
56
|
-
return new Promise((resolve) => {
|
|
58
|
+
return new Promise((resolve, reject) => {
|
|
57
59
|
let detach;
|
|
58
60
|
const finish = (result) => {
|
|
59
61
|
detach?.();
|
|
60
62
|
detach = undefined;
|
|
61
63
|
resolve(result);
|
|
62
64
|
};
|
|
65
|
+
const failWith = (err) => {
|
|
66
|
+
detach?.();
|
|
67
|
+
detach = undefined;
|
|
68
|
+
reject(err);
|
|
69
|
+
};
|
|
63
70
|
const submit = () => {
|
|
64
71
|
for (let i = 0; i < state.decisions.length; i++) {
|
|
65
72
|
if (state.decisions[i] === "revise" && !state.comments[i]) {
|
|
@@ -115,9 +122,7 @@ export class HostBackedCuratePrompt {
|
|
|
115
122
|
continue;
|
|
116
123
|
}
|
|
117
124
|
if (event.type === "ctrl-c") {
|
|
118
|
-
|
|
119
|
-
decisions: issues.map((_, i) => ({ index: i, decision: "keep" })),
|
|
120
|
-
});
|
|
125
|
+
failWith(new AgentInterruptedError("Interrupted"));
|
|
121
126
|
finished = true;
|
|
122
127
|
continue;
|
|
123
128
|
}
|
|
@@ -217,14 +222,11 @@ export class HostBackedCuratePrompt {
|
|
|
217
222
|
const rows = Math.max(1, layout.childRows);
|
|
218
223
|
return buildSurface(verdict, plan, state, cols, rows);
|
|
219
224
|
},
|
|
220
|
-
|
|
221
|
-
processEvents(parser.
|
|
225
|
+
onEvents: (keys) => {
|
|
226
|
+
processEvents(parser.mapKeys(keys));
|
|
222
227
|
return true;
|
|
223
228
|
},
|
|
224
229
|
};
|
|
225
|
-
parser.onDeferred((events) => {
|
|
226
|
-
processEvents(events);
|
|
227
|
-
});
|
|
228
230
|
detach = this.host.attachParentUi(mode);
|
|
229
231
|
});
|
|
230
232
|
}
|
|
@@ -324,7 +326,7 @@ function buildLeftPane(verdict, state, width, rows) {
|
|
|
324
326
|
helpRows.push("Enter submit · Esc cancel");
|
|
325
327
|
}
|
|
326
328
|
else {
|
|
327
|
-
helpRows.push("↑/↓ navigate · k/d/r set · Tab cycle · Enter edit · Ctrl+D submit · Ctrl+C
|
|
329
|
+
helpRows.push("↑/↓ navigate · k/d/r set · Tab cycle · Enter edit · Ctrl+D submit · Ctrl+C quit");
|
|
328
330
|
}
|
|
329
331
|
for (const row of helpRows) {
|
|
330
332
|
for (const l of wrapToWidth(row, width)) {
|