poly-weaver 0.5.1 → 0.6.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/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +2 -1
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +2 -1
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +9 -2
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/runner.d.ts +40 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +213 -14
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +2 -1
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/ansi.d.ts +26 -0
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +26 -0
- package/dist/ansi.js.map +1 -1
- package/dist/cli.js +46 -16
- package/dist/cli.js.map +1 -1
- package/dist/flow/built-in/default.js +1 -1
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +1 -1
- package/dist/flow/built-in/why-so-serious.js +1 -1
- package/dist/flow/built-in/why-so-serious.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +7 -2
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/types.d.ts +5 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/orchestrator.d.ts +10 -4
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +34 -14
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/claude/session.d.ts +3 -1
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +2 -2
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/codex/session.d.ts +6 -3
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +24 -4
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/providers/copilot/session.d.ts +3 -1
- package/dist/providers/copilot/session.d.ts.map +1 -1
- package/dist/providers/copilot/session.js +15 -2
- package/dist/providers/copilot/session.js.map +1 -1
- package/dist/providers/types.d.ts +14 -2
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/pty/exit.d.ts +13 -5
- package/dist/pty/exit.d.ts.map +1 -1
- package/dist/pty/exit.js +19 -19
- package/dist/pty/exit.js.map +1 -1
- package/dist/pty/spawn.d.ts +12 -6
- package/dist/pty/spawn.d.ts.map +1 -1
- package/dist/pty/spawn.js +22 -70
- package/dist/pty/spawn.js.map +1 -1
- package/dist/pty/types.d.ts +12 -3
- package/dist/pty/types.d.ts.map +1 -1
- package/dist/session/locator.d.ts +23 -2
- package/dist/session/locator.d.ts.map +1 -1
- package/dist/session/locator.js +67 -4
- package/dist/session/locator.js.map +1 -1
- package/dist/status-bar.d.ts +21 -1
- package/dist/status-bar.d.ts.map +1 -1
- package/dist/status-bar.js +109 -34
- package/dist/status-bar.js.map +1 -1
- package/dist/terminal/cleanup.d.ts +21 -0
- package/dist/terminal/cleanup.d.ts.map +1 -0
- package/dist/terminal/cleanup.js +22 -0
- package/dist/terminal/cleanup.js.map +1 -0
- package/dist/terminal/host.d.ts +244 -0
- package/dist/terminal/host.d.ts.map +1 -0
- package/dist/terminal/host.js +642 -0
- package/dist/terminal/host.js.map +1 -0
- package/dist/terminal/input-router.d.ts +146 -0
- package/dist/terminal/input-router.d.ts.map +1 -0
- package/dist/terminal/input-router.js +426 -0
- package/dist/terminal/input-router.js.map +1 -0
- package/dist/terminal/layout.d.ts +55 -0
- package/dist/terminal/layout.d.ts.map +1 -0
- package/dist/terminal/layout.js +51 -0
- package/dist/terminal/layout.js.map +1 -0
- package/dist/terminal/output.d.ts +83 -0
- package/dist/terminal/output.d.ts.map +1 -0
- package/dist/terminal/output.js +107 -0
- package/dist/terminal/output.js.map +1 -0
- package/dist/terminal/render.d.ts +36 -0
- package/dist/terminal/render.d.ts.map +1 -0
- package/dist/terminal/render.js +233 -0
- package/dist/terminal/render.js.map +1 -0
- package/dist/terminal/virtual-terminal.d.ts +54 -0
- package/dist/terminal/virtual-terminal.d.ts.map +1 -0
- package/dist/terminal/virtual-terminal.js +110 -0
- package/dist/terminal/virtual-terminal.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 +46 -0
- package/dist/terminal-input.js.map +1 -1
- package/dist/user/auto-curate-prompt.d.ts +17 -0
- package/dist/user/auto-curate-prompt.d.ts.map +1 -0
- package/dist/user/auto-curate-prompt.js +22 -0
- package/dist/user/auto-curate-prompt.js.map +1 -0
- package/dist/user/curate-handler.d.ts.map +1 -1
- package/dist/user/curate-handler.js +10 -2
- package/dist/user/curate-handler.js.map +1 -1
- package/dist/user/curate-prompt.d.ts +9 -7
- package/dist/user/curate-prompt.d.ts.map +1 -1
- package/dist/user/curate-prompt.js +2 -341
- package/dist/user/curate-prompt.js.map +1 -1
- package/dist/user/handler.d.ts +13 -1
- package/dist/user/handler.d.ts.map +1 -1
- package/dist/user/handler.js +27 -15
- package/dist/user/handler.js.map +1 -1
- package/dist/user/hard-wrap.d.ts +11 -0
- package/dist/user/hard-wrap.d.ts.map +1 -0
- package/dist/user/hard-wrap.js +44 -0
- package/dist/user/hard-wrap.js.map +1 -0
- package/dist/user/host-curate-prompt.d.ts +34 -0
- package/dist/user/host-curate-prompt.d.ts.map +1 -0
- package/dist/user/host-curate-prompt.js +453 -0
- package/dist/user/host-curate-prompt.js.map +1 -0
- package/dist/user/host-prompt.d.ts +21 -0
- package/dist/user/host-prompt.d.ts.map +1 -0
- package/dist/user/host-prompt.js +337 -0
- package/dist/user/host-prompt.js.map +1 -0
- package/dist/user/index.d.ts +3 -3
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +2 -2
- package/dist/user/index.js.map +1 -1
- package/dist/user/plan-pane.d.ts +18 -0
- package/dist/user/plan-pane.d.ts.map +1 -0
- package/dist/user/plan-pane.js +33 -0
- package/dist/user/plan-pane.js.map +1 -0
- package/dist/user/prompt.d.ts +25 -42
- package/dist/user/prompt.d.ts.map +1 -1
- package/dist/user/prompt.js +16 -278
- package/dist/user/prompt.js.map +1 -1
- package/dist/user/split-surface.d.ts +32 -0
- package/dist/user/split-surface.d.ts.map +1 -0
- package/dist/user/split-surface.js +66 -0
- package/dist/user/split-surface.js.map +1 -0
- package/package.json +2 -1
package/dist/user/prompt.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TerminalKeyParser } from "../terminal-input.js";
|
|
2
|
-
import { bold, dim, green, reset, yellow, clearToEol, cursorUp } from "../ansi.js";
|
|
3
2
|
import { DUMP_HOTKEY_BYTE } from "../dump/hotkey.js";
|
|
4
|
-
|
|
3
|
+
/** Lines moved per single mouse-wheel notch in prompt scroll handling. */
|
|
4
|
+
export const PROMPT_WHEEL_LINES_PER_EVENT = 3;
|
|
5
5
|
/**
|
|
6
6
|
* Stateful parser for raw stdin bytes in normal VT mode and passive kitty keyboard
|
|
7
7
|
* protocol mode.
|
|
@@ -10,9 +10,6 @@ export class RawInputParser {
|
|
|
10
10
|
parser = new TerminalKeyParser();
|
|
11
11
|
deferredHandler;
|
|
12
12
|
constructor() {
|
|
13
|
-
// Bare ESC in legacy VT mode arrives via the underlying TerminalKeyParser's
|
|
14
|
-
// escape timeout; surface it through our own deferred callback so consumers
|
|
15
|
-
// that subscribe see Esc as an event and can react to it.
|
|
16
13
|
this.parser.onDeferredKeys((keys) => {
|
|
17
14
|
if (!this.deferredHandler)
|
|
18
15
|
return;
|
|
@@ -47,7 +44,7 @@ export class RawInputParser {
|
|
|
47
44
|
if (key.byte === 0x03)
|
|
48
45
|
return [{ type: "ctrl-c" }];
|
|
49
46
|
if (key.byte === 0x04)
|
|
50
|
-
return [{ type: "submit" }];
|
|
47
|
+
return [{ type: "submit" }];
|
|
51
48
|
if (key.byte === 0x09)
|
|
52
49
|
return [{ type: "tab" }];
|
|
53
50
|
return [];
|
|
@@ -56,9 +53,20 @@ export class RawInputParser {
|
|
|
56
53
|
return [{ type: "arrow", direction: key.direction }];
|
|
57
54
|
}
|
|
58
55
|
return [];
|
|
56
|
+
case "page":
|
|
57
|
+
return [{ type: "scroll-page", direction: key.direction }];
|
|
58
|
+
case "home":
|
|
59
|
+
return [{ type: "scroll-home" }];
|
|
60
|
+
case "end":
|
|
61
|
+
return [{ type: "scroll-end" }];
|
|
62
|
+
case "wheel": {
|
|
63
|
+
const delta = key.direction === "up"
|
|
64
|
+
? -PROMPT_WHEEL_LINES_PER_EVENT
|
|
65
|
+
: PROMPT_WHEEL_LINES_PER_EVENT;
|
|
66
|
+
return [{ type: "scroll-lines", delta }];
|
|
67
|
+
}
|
|
59
68
|
case "kitty-key": {
|
|
60
69
|
const ctrl = ((key.modifiers - 1) & 0x04) !== 0;
|
|
61
|
-
// Ctrl+Enter → submit (modifiers bit 2 = Ctrl)
|
|
62
70
|
if ((key.keyCode === 13 || key.keyCode === 10) && ctrl) {
|
|
63
71
|
return [{ type: "submit" }];
|
|
64
72
|
}
|
|
@@ -68,12 +76,9 @@ export class RawInputParser {
|
|
|
68
76
|
if (key.keyCode === 100 && ctrl) {
|
|
69
77
|
return [{ type: "submit" }];
|
|
70
78
|
}
|
|
71
|
-
// Ctrl+] → dump (keyCode 93, Ctrl modifier bit set)
|
|
72
79
|
if (key.keyCode === 93 && ctrl) {
|
|
73
80
|
return [{ type: "dump" }];
|
|
74
81
|
}
|
|
75
|
-
// Plain Tab (no Ctrl). Shift+Tab still produces tab; Ctrl+Tab is a
|
|
76
|
-
// shortcut consumers haven't asked for, so we drop it for now.
|
|
77
82
|
if (key.keyCode === 9 && !ctrl) {
|
|
78
83
|
return [{ type: "tab" }];
|
|
79
84
|
}
|
|
@@ -88,274 +93,7 @@ export class RawInputParser {
|
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
91
|
-
*
|
|
92
|
-
* Displays the plan (unless nativePlanMode gate suppresses it) and collects multiline input.
|
|
93
|
-
* Empty input = accept, non-empty = comments for revision.
|
|
94
|
-
*
|
|
95
|
-
* Uses a raw stdin reader instead of readline so that input works in
|
|
96
|
-
* both standard VT mode and passive kitty keyboard protocol mode.
|
|
97
|
-
*/
|
|
98
|
-
export class InteractiveUserPrompt {
|
|
99
|
-
gates;
|
|
100
|
-
onDumpRequested;
|
|
101
|
-
constructor(gates = DEFAULT_GATES, onDumpRequested) {
|
|
102
|
-
this.gates = gates;
|
|
103
|
-
this.onDumpRequested = onDumpRequested;
|
|
104
|
-
}
|
|
105
|
-
async prompt(plan, phase, context) {
|
|
106
|
-
// Non-TTY stdin: auto-accept (same as AutoUserPrompt)
|
|
107
|
-
if (!process.stdin.isTTY) {
|
|
108
|
-
return { accepted: true };
|
|
109
|
-
}
|
|
110
|
-
if (this.shouldDisplayPlan(context)) {
|
|
111
|
-
this.printPlan(plan, phase, context);
|
|
112
|
-
}
|
|
113
|
-
const contextMsg = context?.isFirstReview === true
|
|
114
|
-
? "Review the generated plan."
|
|
115
|
-
: context?.verdictSource === "user"
|
|
116
|
-
? "Revised plan addressing your feedback."
|
|
117
|
-
: context?.verdictApproved === true
|
|
118
|
-
? "Reviewer approved this plan."
|
|
119
|
-
: "Max iterations reached \u2014 plan was not approved by reviewer.";
|
|
120
|
-
console.log(`${dim}${"─".repeat(3)} User Review ${"─".repeat(45)}${reset}`);
|
|
121
|
-
console.log(`${yellow}${contextMsg}${reset}`);
|
|
122
|
-
return this.collectDecision("Type feedback (multi-line, Ctrl+D to submit)");
|
|
123
|
-
}
|
|
124
|
-
/** True unless the provider already streamed the plan natively (planner → user). */
|
|
125
|
-
shouldDisplayPlan(context) {
|
|
126
|
-
return !(this.gates.nativePlanMode && context?.previousStepRole === "planner");
|
|
127
|
-
}
|
|
128
|
-
printPlan(plan, phase, context) {
|
|
129
|
-
const header = context?.isFirstReview === true
|
|
130
|
-
? "Generated Plan"
|
|
131
|
-
: context?.verdictSource === "user"
|
|
132
|
-
? "Revised Plan"
|
|
133
|
-
: context?.verdictApproved === true
|
|
134
|
-
? "Approved Plan"
|
|
135
|
-
: "Unapproved Plan (Max Iterations Reached)";
|
|
136
|
-
const sep = "═".repeat(60);
|
|
137
|
-
console.log(`\n${sep}`);
|
|
138
|
-
console.log(` ${header}`);
|
|
139
|
-
console.log(sep);
|
|
140
|
-
console.log(plan);
|
|
141
|
-
console.log(`${sep}\n`);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Two-row selector: "Approve" row and multiline feedback input area.
|
|
145
|
-
* `❯` arrow moves between rows to indicate which is active.
|
|
146
|
-
* Input row is active by default — just start typing.
|
|
147
|
-
* Enter inserts a newline; Ctrl+D submits.
|
|
148
|
-
* Approve requires ↑ then Enter.
|
|
149
|
-
*/
|
|
150
|
-
collectDecision(placeholder) {
|
|
151
|
-
const ACTIVE = " \u276f "; // 2 spaces + ❯ + space
|
|
152
|
-
const INACTIVE = " "; // 4 spaces
|
|
153
|
-
const HINT = `${INACTIVE}${dim}Ctrl+D to submit${reset}`;
|
|
154
|
-
return new Promise((resolve) => {
|
|
155
|
-
process.stdin.setRawMode(true);
|
|
156
|
-
process.stdin.resume();
|
|
157
|
-
let mode = "input";
|
|
158
|
-
let lines = [""];
|
|
159
|
-
let placeholderVisible = true;
|
|
160
|
-
let renderedRows = 1; // 1 input row (no decorative continuation rows)
|
|
161
|
-
const parser = new RawInputParser();
|
|
162
|
-
// Initial render: approve (inactive), input (active + placeholder), 2 continuation rows
|
|
163
|
-
process.stdout.write(`${INACTIVE}${dim}Approve${reset}\n`);
|
|
164
|
-
process.stdout.write(`${ACTIVE}${dim}${placeholder}${reset}\n`);
|
|
165
|
-
// Position cursor on input line, right after ACTIVE prefix
|
|
166
|
-
process.stdout.write(`${cursorUp}\r\x1b[${ACTIVE.length}C`);
|
|
167
|
-
const done = (result) => {
|
|
168
|
-
process.stdin.removeListener("data", onData);
|
|
169
|
-
process.stdin.setRawMode(false);
|
|
170
|
-
process.stdin.resume();
|
|
171
|
-
// Move cursor below all rendered rows
|
|
172
|
-
const curRow = mode === "approve" ? 0 : lines.length;
|
|
173
|
-
const rowsDown = renderedRows - curRow;
|
|
174
|
-
if (rowsDown > 0) {
|
|
175
|
-
process.stdout.write(`\x1b[${rowsDown}B`);
|
|
176
|
-
}
|
|
177
|
-
process.stdout.write("\n");
|
|
178
|
-
resolve(result);
|
|
179
|
-
};
|
|
180
|
-
const renderApproveMode = () => {
|
|
181
|
-
// Move from last typed line to first input line
|
|
182
|
-
if (lines.length > 1) {
|
|
183
|
-
process.stdout.write(`\x1b[${lines.length - 1}A`);
|
|
184
|
-
}
|
|
185
|
-
// Redraw first input line as inactive
|
|
186
|
-
process.stdout.write(`\r${clearToEol}`);
|
|
187
|
-
process.stdout.write(`${INACTIVE}${dim}${lines[0] || placeholder}${reset}`);
|
|
188
|
-
// Move to approve, redraw as active
|
|
189
|
-
process.stdout.write(`${cursorUp}\r${clearToEol}`);
|
|
190
|
-
process.stdout.write(`${ACTIVE}${bold}${green}Approve (Enter)${reset}`);
|
|
191
|
-
// Cursor stays on approve line.
|
|
192
|
-
};
|
|
193
|
-
const renderInputMode = () => {
|
|
194
|
-
// Redraw approve as inactive
|
|
195
|
-
process.stdout.write(`\r${clearToEol}`);
|
|
196
|
-
process.stdout.write(`${INACTIVE}${dim}Approve${reset}`);
|
|
197
|
-
// Move to first input line, redraw as active
|
|
198
|
-
process.stdout.write(`\n\r${clearToEol}`);
|
|
199
|
-
if (lines[0]) {
|
|
200
|
-
process.stdout.write(`${ACTIVE}${lines[0]}`);
|
|
201
|
-
placeholderVisible = false;
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
process.stdout.write(`${ACTIVE}${dim}${placeholder}${reset}`);
|
|
205
|
-
process.stdout.write(`\x1b[${placeholder.length}D`);
|
|
206
|
-
placeholderVisible = true;
|
|
207
|
-
}
|
|
208
|
-
// Move to last typed line
|
|
209
|
-
if (lines.length > 1) {
|
|
210
|
-
process.stdout.write(`\x1b[${lines.length - 1}B`);
|
|
211
|
-
const lastLine = lines[lines.length - 1];
|
|
212
|
-
process.stdout.write(`\r\x1b[${INACTIVE.length + lastLine.length}C`);
|
|
213
|
-
}
|
|
214
|
-
if (!placeholderVisible)
|
|
215
|
-
drawHint();
|
|
216
|
-
};
|
|
217
|
-
const clearPlaceholder = () => {
|
|
218
|
-
if (placeholderVisible) {
|
|
219
|
-
process.stdout.write(`\r${clearToEol}${ACTIVE}`);
|
|
220
|
-
// Clear decorative continuation rows below
|
|
221
|
-
const extra = renderedRows - 1;
|
|
222
|
-
for (let i = 0; i < extra; i++) {
|
|
223
|
-
process.stdout.write(`\n\r${clearToEol}`);
|
|
224
|
-
}
|
|
225
|
-
if (extra > 0) {
|
|
226
|
-
process.stdout.write(`\x1b[${extra}A`);
|
|
227
|
-
}
|
|
228
|
-
renderedRows = 1;
|
|
229
|
-
placeholderVisible = false;
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
const drawHint = () => {
|
|
233
|
-
const col = INACTIVE.length + lines[lines.length - 1].length;
|
|
234
|
-
process.stdout.write(`\n\r${clearToEol}${HINT}${cursorUp}\r`);
|
|
235
|
-
if (col > 0)
|
|
236
|
-
process.stdout.write(`\x1b[${col}C`);
|
|
237
|
-
renderedRows = Math.max(renderedRows, lines.length + 1);
|
|
238
|
-
};
|
|
239
|
-
const clearHint = () => {
|
|
240
|
-
const col = INACTIVE.length + lines[lines.length - 1].length;
|
|
241
|
-
process.stdout.write(`\n\r${clearToEol}${cursorUp}\r`);
|
|
242
|
-
if (col > 0)
|
|
243
|
-
process.stdout.write(`\x1b[${col}C`);
|
|
244
|
-
};
|
|
245
|
-
const showPlaceholder = () => {
|
|
246
|
-
process.stdout.write(`\r${clearToEol}${ACTIVE}${dim}${placeholder}${reset}`);
|
|
247
|
-
process.stdout.write(`\x1b[${placeholder.length}D`);
|
|
248
|
-
const extraRows = renderedRows - 1;
|
|
249
|
-
for (let i = 0; i < extraRows; i++) {
|
|
250
|
-
process.stdout.write(`\n\r${clearToEol}`);
|
|
251
|
-
}
|
|
252
|
-
if (extraRows > 0) {
|
|
253
|
-
process.stdout.write(`\x1b[${extraRows}A`);
|
|
254
|
-
}
|
|
255
|
-
renderedRows = 1;
|
|
256
|
-
placeholderVisible = true;
|
|
257
|
-
};
|
|
258
|
-
const onData = (chunk) => {
|
|
259
|
-
const events = parser.parseChunk(chunk);
|
|
260
|
-
for (const event of events) {
|
|
261
|
-
if (event.type === "dump") {
|
|
262
|
-
this.onDumpRequested?.();
|
|
263
|
-
continue;
|
|
264
|
-
}
|
|
265
|
-
if (event.type === "ctrl-c") {
|
|
266
|
-
done({ accepted: true });
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
if (event.type === "submit") {
|
|
270
|
-
if (mode === "approve") {
|
|
271
|
-
done({ accepted: true });
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
// Input mode: submit full text if non-empty
|
|
275
|
-
const text = lines.join("\n").trim();
|
|
276
|
-
if (text) {
|
|
277
|
-
done({ accepted: false, comments: text });
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
// Empty input — ignore
|
|
281
|
-
continue;
|
|
282
|
-
}
|
|
283
|
-
if (event.type === "newline") {
|
|
284
|
-
if (mode === "approve") {
|
|
285
|
-
done({ accepted: true });
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
// Input mode: insert newline
|
|
289
|
-
clearPlaceholder();
|
|
290
|
-
clearHint();
|
|
291
|
-
lines.push("");
|
|
292
|
-
process.stdout.write(`\n${INACTIVE}`);
|
|
293
|
-
drawHint();
|
|
294
|
-
continue;
|
|
295
|
-
}
|
|
296
|
-
if (event.type === "arrow") {
|
|
297
|
-
if (event.direction === "up" && mode === "input") {
|
|
298
|
-
mode = "approve";
|
|
299
|
-
renderApproveMode();
|
|
300
|
-
}
|
|
301
|
-
else if (event.direction === "down" && mode === "approve") {
|
|
302
|
-
mode = "input";
|
|
303
|
-
renderInputMode();
|
|
304
|
-
}
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
|
-
if (event.type === "insert") {
|
|
308
|
-
if (mode === "approve") {
|
|
309
|
-
// Switch to input first, then insert
|
|
310
|
-
mode = "input";
|
|
311
|
-
renderInputMode();
|
|
312
|
-
}
|
|
313
|
-
const wasPlaceholder = placeholderVisible;
|
|
314
|
-
clearPlaceholder();
|
|
315
|
-
lines[lines.length - 1] += event.text;
|
|
316
|
-
process.stdout.write(event.text);
|
|
317
|
-
if (wasPlaceholder)
|
|
318
|
-
drawHint();
|
|
319
|
-
continue;
|
|
320
|
-
}
|
|
321
|
-
if (event.type === "backspace") {
|
|
322
|
-
if (mode === "approve") {
|
|
323
|
-
// Switch to input mode for backspace
|
|
324
|
-
mode = "input";
|
|
325
|
-
renderInputMode();
|
|
326
|
-
}
|
|
327
|
-
const lastIdx = lines.length - 1;
|
|
328
|
-
if (lines[lastIdx].length > 0) {
|
|
329
|
-
lines[lastIdx] = lines[lastIdx].slice(0, -1);
|
|
330
|
-
process.stdout.write("\b \b");
|
|
331
|
-
if (lines.length === 1 && lines[0] === "") {
|
|
332
|
-
showPlaceholder();
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
else if (lines.length > 1) {
|
|
336
|
-
// Backspace across newline boundary
|
|
337
|
-
clearHint();
|
|
338
|
-
lines.pop();
|
|
339
|
-
process.stdout.write(`\r${clearToEol}${cursorUp}`);
|
|
340
|
-
if (lines.length === 1 && lines[0] === "") {
|
|
341
|
-
showPlaceholder();
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
const prevLine = lines[lines.length - 1];
|
|
345
|
-
process.stdout.write(`\r\x1b[${INACTIVE.length + prevLine.length}C`);
|
|
346
|
-
drawHint();
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
continue;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
};
|
|
353
|
-
process.stdin.on("data", onData);
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* No-op handler that always accepts. Used for --auto mode and as the default.
|
|
96
|
+
* No-op handler that always accepts. Used for `auto=true` flow runs.
|
|
359
97
|
*/
|
|
360
98
|
export class AutoUserPrompt {
|
|
361
99
|
async prompt() {
|
package/dist/user/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/user/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/user/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { HostUiSurface } from "../terminal/host.js";
|
|
2
|
+
export interface SplitPane {
|
|
3
|
+
/** Already-styled lines for this pane. Caller wraps to `width`. */
|
|
4
|
+
lines: string[];
|
|
5
|
+
/** Pane-local cursor (col is within the pane width). */
|
|
6
|
+
cursor?: {
|
|
7
|
+
row: number;
|
|
8
|
+
col: number;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface SplitSurfaceOptions {
|
|
12
|
+
cols: number;
|
|
13
|
+
rows: number;
|
|
14
|
+
/** When `cols < collapseAt`, only the left pane renders full-width. */
|
|
15
|
+
collapseAt: number;
|
|
16
|
+
}
|
|
17
|
+
export interface SplitMetrics {
|
|
18
|
+
collapsed: boolean;
|
|
19
|
+
leftWidth: number;
|
|
20
|
+
/** undefined when collapsed. */
|
|
21
|
+
rightWidth?: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function computeSplitMetrics(opts: SplitSurfaceOptions): SplitMetrics;
|
|
24
|
+
/**
|
|
25
|
+
* Compose left + right panes into a single full-height parent UI surface.
|
|
26
|
+
* Pads each pane to exactly `rows` rows so the surface has stable height.
|
|
27
|
+
* Renders a `dim │ reset` divider per row when not collapsed.
|
|
28
|
+
*
|
|
29
|
+
* `right === null` collapses the layout to a single full-width column.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildSplitSurface(left: SplitPane, right: SplitPane | null, opts: SplitSurfaceOptions): HostUiSurface;
|
|
32
|
+
//# sourceMappingURL=split-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-surface.d.ts","sourceRoot":"","sources":["../../src/user/split-surface.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAS3E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,IAAI,EAAE,mBAAmB,GACxB,aAAa,CAiDf"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { dim, reset, visibleLength } from "../ansi.js";
|
|
2
|
+
import { clipToWidth } from "./curate-prompt.js";
|
|
3
|
+
export function computeSplitMetrics(opts) {
|
|
4
|
+
const cols = Math.max(1, opts.cols);
|
|
5
|
+
const collapsed = cols < opts.collapseAt;
|
|
6
|
+
if (collapsed) {
|
|
7
|
+
return { collapsed: true, leftWidth: cols };
|
|
8
|
+
}
|
|
9
|
+
const leftWidth = Math.max(1, Math.floor((cols - 1) / 2));
|
|
10
|
+
const rightWidth = Math.max(1, cols - 1 - leftWidth);
|
|
11
|
+
return { collapsed: false, leftWidth, rightWidth };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Compose left + right panes into a single full-height parent UI surface.
|
|
15
|
+
* Pads each pane to exactly `rows` rows so the surface has stable height.
|
|
16
|
+
* Renders a `dim │ reset` divider per row when not collapsed.
|
|
17
|
+
*
|
|
18
|
+
* `right === null` collapses the layout to a single full-width column.
|
|
19
|
+
*/
|
|
20
|
+
export function buildSplitSurface(left, right, opts) {
|
|
21
|
+
const metrics = computeSplitMetrics(opts);
|
|
22
|
+
const rows = Math.max(1, opts.rows);
|
|
23
|
+
const padPane = (lines, width) => {
|
|
24
|
+
const out = [];
|
|
25
|
+
for (let i = 0; i < rows; i++) {
|
|
26
|
+
const raw = lines[i] ?? "";
|
|
27
|
+
out.push(clipToWidth(raw, width));
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
};
|
|
31
|
+
if (metrics.collapsed || right === null) {
|
|
32
|
+
const leftLines = padPane(left.lines, metrics.leftWidth);
|
|
33
|
+
const surface = { lines: leftLines };
|
|
34
|
+
if (left.cursor) {
|
|
35
|
+
const r = Math.min(rows - 1, Math.max(0, left.cursor.row));
|
|
36
|
+
const c = Math.min(metrics.leftWidth - 1, Math.max(0, left.cursor.col));
|
|
37
|
+
surface.cursor = { row: r, col: c };
|
|
38
|
+
}
|
|
39
|
+
return surface;
|
|
40
|
+
}
|
|
41
|
+
const leftLines = padPane(left.lines, metrics.leftWidth);
|
|
42
|
+
const rightLines = padPane(right.lines, metrics.rightWidth);
|
|
43
|
+
const lines = [];
|
|
44
|
+
const divider = `${dim}│${reset}`;
|
|
45
|
+
for (let i = 0; i < rows; i++) {
|
|
46
|
+
const lp = leftLines[i];
|
|
47
|
+
const rp = rightLines[i];
|
|
48
|
+
// Pad left pane visible width to leftWidth so divider lines up.
|
|
49
|
+
const lpVis = visibleLength(lp);
|
|
50
|
+
const lpPadded = lpVis < metrics.leftWidth
|
|
51
|
+
? lp + " ".repeat(metrics.leftWidth - lpVis)
|
|
52
|
+
: lp;
|
|
53
|
+
lines.push(`${lpPadded}${divider}${rp}`);
|
|
54
|
+
}
|
|
55
|
+
const surface = { lines };
|
|
56
|
+
if (left.cursor) {
|
|
57
|
+
const r = Math.min(rows - 1, Math.max(0, left.cursor.row));
|
|
58
|
+
const c = Math.min(metrics.leftWidth - 1, Math.max(0, left.cursor.col));
|
|
59
|
+
surface.cursor = { row: r, col: c };
|
|
60
|
+
}
|
|
61
|
+
// Right pane cursor is intentionally ignored — the host hides the real
|
|
62
|
+
// cursor while the parent UI is active, focus/selection is conveyed by
|
|
63
|
+
// styling, and only the left pane has an editable buffer.
|
|
64
|
+
return surface;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=split-surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-surface.js","sourceRoot":"","sources":["../../src/user/split-surface.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "poly-weaver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Orchestrates pluggable AI coding agents in an iterative plan-review loop",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"@xterm/headless": "^6.0.0",
|
|
29
30
|
"ajv": "^8.17.1",
|
|
30
31
|
"commander": "^13.1.0",
|
|
31
32
|
"node-pty": "^1.0.0",
|