poly-weaver 0.10.1 → 0.10.3
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/README.md +5 -8
- package/dist/agents/implementors/adapter.d.ts +1 -1
- package/dist/agents/implementors/adapter.d.ts.map +1 -1
- package/dist/agents/implementors/adapter.js +2 -2
- package/dist/agents/implementors/adapter.js.map +1 -1
- package/dist/agents/implementors/index.d.ts.map +1 -1
- package/dist/agents/implementors/index.js +1 -1
- package/dist/agents/implementors/index.js.map +1 -1
- package/dist/agents/interviewers/adapter.d.ts +1 -1
- package/dist/agents/interviewers/adapter.d.ts.map +1 -1
- package/dist/agents/interviewers/adapter.js +2 -2
- package/dist/agents/interviewers/adapter.js.map +1 -1
- package/dist/agents/interviewers/index.d.ts.map +1 -1
- package/dist/agents/interviewers/index.js +1 -1
- package/dist/agents/interviewers/index.js.map +1 -1
- package/dist/agents/planners/adapter.d.ts +1 -1
- package/dist/agents/planners/adapter.d.ts.map +1 -1
- package/dist/agents/planners/adapter.js +2 -2
- package/dist/agents/planners/adapter.js.map +1 -1
- package/dist/agents/planners/index.d.ts.map +1 -1
- package/dist/agents/planners/index.js +1 -1
- package/dist/agents/planners/index.js.map +1 -1
- package/dist/agents/registry.d.ts +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts +1 -1
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +3 -3
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +7 -0
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/index.d.ts.map +1 -1
- package/dist/agents/reviewers/index.js +1 -1
- package/dist/agents/reviewers/index.js.map +1 -1
- package/dist/agents/reviewers/prompts.d.ts +2 -2
- package/dist/agents/reviewers/prompts.d.ts.map +1 -1
- package/dist/agents/reviewers/prompts.js +12 -2
- package/dist/agents/reviewers/prompts.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +3 -1
- package/dist/agents/reviewers/types.d.ts.map +1 -1
- package/dist/agents/reviewers/types.js.map +1 -1
- package/dist/agents/runner.d.ts +3 -2
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +48 -10
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/adapter.d.ts +1 -1
- package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
- package/dist/agents/simplifiers/adapter.js +2 -2
- package/dist/agents/simplifiers/adapter.js.map +1 -1
- package/dist/agents/simplifiers/index.d.ts.map +1 -1
- package/dist/agents/simplifiers/index.js +1 -1
- package/dist/agents/simplifiers/index.js.map +1 -1
- package/dist/cli.js +20 -6
- package/dist/cli.js.map +1 -1
- package/dist/flow/built-in/default-factory.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.js +1 -2
- package/dist/flow/built-in/default-factory.js.map +1 -1
- package/dist/flow/index.d.ts +1 -1
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/params.d.ts +1 -0
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +14 -0
- package/dist/flow/params.js.map +1 -1
- package/dist/markdown.js +59 -29
- package/dist/markdown.js.map +1 -1
- package/dist/offscreen/controller.d.ts +21 -0
- package/dist/offscreen/controller.d.ts.map +1 -0
- package/dist/offscreen/controller.js +185 -0
- package/dist/offscreen/controller.js.map +1 -0
- package/dist/offscreen/fork-launch.d.ts +31 -0
- package/dist/offscreen/fork-launch.d.ts.map +1 -0
- package/dist/offscreen/fork-launch.js +76 -0
- package/dist/offscreen/fork-launch.js.map +1 -0
- package/dist/offscreen/fork.d.ts +21 -0
- package/dist/offscreen/fork.d.ts.map +1 -0
- package/dist/offscreen/fork.js +122 -0
- package/dist/offscreen/fork.js.map +1 -0
- package/dist/offscreen/keys.d.ts +6 -0
- package/dist/offscreen/keys.d.ts.map +1 -0
- package/dist/offscreen/keys.js +16 -0
- package/dist/offscreen/keys.js.map +1 -0
- package/dist/offscreen/registry.d.ts +6 -0
- package/dist/offscreen/registry.d.ts.map +1 -0
- package/dist/offscreen/registry.js +27 -0
- package/dist/offscreen/registry.js.map +1 -0
- package/dist/offscreen/resolve.d.ts +10 -0
- package/dist/offscreen/resolve.d.ts.map +1 -0
- package/dist/offscreen/resolve.js +111 -0
- package/dist/offscreen/resolve.js.map +1 -0
- package/dist/offscreen/surface.d.ts +4 -0
- package/dist/offscreen/surface.d.ts.map +1 -0
- package/dist/offscreen/surface.js +24 -0
- package/dist/offscreen/surface.js.map +1 -0
- package/dist/orchestrator.d.ts +5 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +25 -6
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/claude/session.d.ts +4 -0
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +7 -2
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/codex/session.d.ts +4 -0
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +68 -3
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/providers/copilot/session.d.ts +6 -0
- package/dist/providers/copilot/session.d.ts.map +1 -1
- package/dist/providers/copilot/session.js +13 -4
- package/dist/providers/copilot/session.js.map +1 -1
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +6 -1
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/trust.d.ts +12 -0
- package/dist/providers/trust.d.ts.map +1 -0
- package/dist/providers/trust.js +220 -0
- package/dist/providers/trust.js.map +1 -0
- package/dist/providers/types.d.ts +7 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/session/locator.d.ts +7 -1
- package/dist/session/locator.d.ts.map +1 -1
- package/dist/session/locator.js +10 -3
- package/dist/session/locator.js.map +1 -1
- package/dist/session/resume.d.ts.map +1 -1
- package/dist/session/resume.js +16 -3
- package/dist/session/resume.js.map +1 -1
- package/dist/status-bar.d.ts +0 -2
- package/dist/status-bar.d.ts.map +1 -1
- package/dist/status-bar.js +1 -17
- package/dist/status-bar.js.map +1 -1
- package/dist/terminal/host.d.ts +8 -0
- package/dist/terminal/host.d.ts.map +1 -1
- package/dist/terminal/host.js +32 -19
- package/dist/terminal/host.js.map +1 -1
- package/dist/terminal/input-router.d.ts +10 -3
- package/dist/terminal/input-router.d.ts.map +1 -1
- package/dist/terminal/input-router.js +22 -5
- package/dist/terminal/input-router.js.map +1 -1
- package/dist/terminal/key-to-bytes.d.ts +4 -1
- package/dist/terminal/key-to-bytes.d.ts.map +1 -1
- package/dist/terminal/key-to-bytes.js +6 -5
- package/dist/terminal/key-to-bytes.js.map +1 -1
- package/dist/terminal/render.d.ts +12 -1
- package/dist/terminal/render.d.ts.map +1 -1
- package/dist/terminal/render.js +37 -5
- package/dist/terminal/render.js.map +1 -1
- package/dist/terminal/win32-console-source.d.ts.map +1 -1
- package/dist/terminal/win32-console-source.js +3 -1
- package/dist/terminal/win32-console-source.js.map +1 -1
- package/dist/terminal-input.d.ts +2 -0
- package/dist/terminal-input.d.ts.map +1 -1
- package/dist/terminal-input.js +26 -6
- package/dist/terminal-input.js.map +1 -1
- package/dist/user/curate-handler.d.ts +6 -1
- package/dist/user/curate-handler.d.ts.map +1 -1
- package/dist/user/curate-handler.js +11 -2
- package/dist/user/curate-handler.js.map +1 -1
- package/dist/user/curate-prompt.d.ts +5 -1
- package/dist/user/curate-prompt.d.ts.map +1 -1
- package/dist/user/curate-prompt.js.map +1 -1
- package/dist/user/handler.d.ts +6 -1
- package/dist/user/handler.d.ts.map +1 -1
- package/dist/user/handler.js +12 -1
- package/dist/user/handler.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 +87 -32
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.d.ts +2 -3
- package/dist/user/host-prompt.d.ts.map +1 -1
- package/dist/user/host-prompt.js +46 -26
- package/dist/user/host-prompt.js.map +1 -1
- package/dist/user/index.d.ts +1 -1
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/prompt.d.ts +6 -0
- package/dist/user/prompt.d.ts.map +1 -1
- package/dist/user/prompt.js.map +1 -1
- package/dist/user/shortcut-hints.d.ts +2 -0
- package/dist/user/shortcut-hints.d.ts.map +1 -0
- package/dist/user/shortcut-hints.js +15 -0
- package/dist/user/shortcut-hints.js.map +1 -0
- package/docs/startup-tui.png +0 -0
- package/package.json +3 -2
|
@@ -7,6 +7,8 @@ import { cursorToVisual, renderWrappedLine, softWrapLine } from "../text-editing
|
|
|
7
7
|
import { clipToWidth, tagFor, userAddedTag, wrapToWidth, } from "./curate-prompt.js";
|
|
8
8
|
import { buildPlanPane } from "./plan-pane.js";
|
|
9
9
|
import { buildSplitSurface, computeSplitMetrics } from "./split-surface.js";
|
|
10
|
+
import { renderShortcutHints } from "./shortcut-hints.js";
|
|
11
|
+
import { OffscreenController } from "../offscreen/controller.js";
|
|
10
12
|
const DECISION_CYCLE = ["keep", "drop", "revise"];
|
|
11
13
|
const PLAN_PAGE_OVERLAP = 1;
|
|
12
14
|
const COLLAPSE_AT_COLS = 100;
|
|
@@ -41,7 +43,7 @@ export class HostBackedCuratePrompt {
|
|
|
41
43
|
constructor(host) {
|
|
42
44
|
this.host = host;
|
|
43
45
|
}
|
|
44
|
-
async prompt(verdict, planText) {
|
|
46
|
+
async prompt(verdict, planText, context = {}) {
|
|
45
47
|
if (!this.host.isInteractive || verdict.issues.length === 0) {
|
|
46
48
|
return {
|
|
47
49
|
decisions: verdict.issues.map((_, index) => ({ index, decision: "keep" })),
|
|
@@ -61,14 +63,19 @@ export class HostBackedCuratePrompt {
|
|
|
61
63
|
const parser = new EmacsInputParser();
|
|
62
64
|
return new Promise((resolve, reject) => {
|
|
63
65
|
let detach;
|
|
64
|
-
|
|
66
|
+
let offscreenController;
|
|
67
|
+
const cleanup = () => {
|
|
68
|
+
offscreenController?.dispose();
|
|
69
|
+
offscreenController = undefined;
|
|
65
70
|
detach?.();
|
|
66
71
|
detach = undefined;
|
|
72
|
+
};
|
|
73
|
+
const finish = (result) => {
|
|
74
|
+
cleanup();
|
|
67
75
|
resolve(result);
|
|
68
76
|
};
|
|
69
77
|
const failWith = (err) => {
|
|
70
|
-
|
|
71
|
-
detach = undefined;
|
|
78
|
+
cleanup();
|
|
72
79
|
reject(err);
|
|
73
80
|
};
|
|
74
81
|
const submit = () => {
|
|
@@ -163,6 +170,14 @@ export class HostBackedCuratePrompt {
|
|
|
163
170
|
dirty = true;
|
|
164
171
|
continue;
|
|
165
172
|
}
|
|
173
|
+
if (event.type === "arrow") {
|
|
174
|
+
if (event.direction === "left" || event.direction === "right") {
|
|
175
|
+
dirty = applyCurateTextBufferEvent(state.editing, {
|
|
176
|
+
type: event.direction === "left" ? "ctrl-b" : "ctrl-f",
|
|
177
|
+
}) || dirty;
|
|
178
|
+
}
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
166
181
|
if (isTextBufferEvent(event)) {
|
|
167
182
|
dirty = applyCurateTextBufferEvent(state.editing, event) || dirty;
|
|
168
183
|
continue;
|
|
@@ -322,18 +337,21 @@ export class HostBackedCuratePrompt {
|
|
|
322
337
|
this.host.scheduleParentUiRender();
|
|
323
338
|
return finished;
|
|
324
339
|
};
|
|
325
|
-
const
|
|
340
|
+
const baseMode = {
|
|
326
341
|
getSurface: () => {
|
|
327
342
|
const layout = this.host.getLayout();
|
|
328
343
|
const cols = Math.max(20, layout.columns);
|
|
329
344
|
const rows = Math.max(1, layout.childRows);
|
|
330
|
-
return buildSurface(verdict, plan, state, cols, rows);
|
|
345
|
+
return buildSurface(verdict, plan, state, cols, rows, context);
|
|
331
346
|
},
|
|
332
347
|
onEvents: (keys) => {
|
|
333
348
|
processEvents(parser.mapKeys(keys));
|
|
334
349
|
return true;
|
|
335
350
|
},
|
|
336
351
|
};
|
|
352
|
+
const mode = context.offscreen
|
|
353
|
+
? (offscreenController = new OffscreenController(this.host, context.offscreen.workdir, context.offscreen.slots)).wrap(baseMode)
|
|
354
|
+
: baseMode;
|
|
337
355
|
detach = this.host.attachParentUi(mode);
|
|
338
356
|
});
|
|
339
357
|
}
|
|
@@ -399,7 +417,17 @@ function renderMultilineEditor(buffer, width, firstPrefix, continuationPrefix) {
|
|
|
399
417
|
cursorCol: Math.min(Math.max(0, width - 1), cursorPrefixWidth + cursor.visCol),
|
|
400
418
|
};
|
|
401
419
|
}
|
|
402
|
-
function buildLeftPane(verdict, state, width, rows) {
|
|
420
|
+
function buildLeftPane(verdict, state, width, rows, offscreenHint) {
|
|
421
|
+
const pinnedHint = offscreenHint
|
|
422
|
+
? clipToWidth(offscreenHint, width)
|
|
423
|
+
: undefined;
|
|
424
|
+
const scrollRows = pinnedHint ? Math.max(0, rows - 1) : rows;
|
|
425
|
+
if (scrollRows === 0) {
|
|
426
|
+
return {
|
|
427
|
+
lines: [pinnedHint ?? ""],
|
|
428
|
+
cursor: { row: 0, col: 0 },
|
|
429
|
+
};
|
|
430
|
+
}
|
|
403
431
|
const issues = verdict.issues;
|
|
404
432
|
const lines = [];
|
|
405
433
|
const n = issues.length;
|
|
@@ -536,23 +564,42 @@ function buildLeftPane(verdict, state, width, rows) {
|
|
|
536
564
|
rowEnds[rowIndex] = lines.length;
|
|
537
565
|
}
|
|
538
566
|
lines.push("");
|
|
539
|
-
|
|
567
|
+
let helpTokens;
|
|
540
568
|
if (state.editing) {
|
|
541
|
-
|
|
569
|
+
helpTokens = ["Ctrl+J Newline", "Enter Submit", "Esc Cancel"];
|
|
542
570
|
}
|
|
543
571
|
else if (state.cursor < issues.length) {
|
|
544
|
-
|
|
572
|
+
helpTokens = [
|
|
573
|
+
"↑/↓ Navigate",
|
|
574
|
+
"k/d/r Set",
|
|
575
|
+
"a Add",
|
|
576
|
+
"n Next Citation",
|
|
577
|
+
"Tab Cycle",
|
|
578
|
+
"Enter Edit",
|
|
579
|
+
"Ctrl+D Submit",
|
|
580
|
+
"Ctrl+C Quit",
|
|
581
|
+
];
|
|
545
582
|
}
|
|
546
583
|
else if (state.cursor < issues.length + state.userAdded.length) {
|
|
547
|
-
|
|
584
|
+
helpTokens = [
|
|
585
|
+
"↑/↓ Navigate",
|
|
586
|
+
"a Add",
|
|
587
|
+
"Enter Edit",
|
|
588
|
+
"d Delete",
|
|
589
|
+
"Ctrl+D Submit",
|
|
590
|
+
"Ctrl+C Quit",
|
|
591
|
+
];
|
|
548
592
|
}
|
|
549
593
|
else {
|
|
550
|
-
|
|
594
|
+
helpTokens = [
|
|
595
|
+
"↑/↓ Navigate",
|
|
596
|
+
"Enter/a Add",
|
|
597
|
+
"Ctrl+D Submit",
|
|
598
|
+
"Ctrl+C Quit",
|
|
599
|
+
];
|
|
551
600
|
}
|
|
552
|
-
for (const
|
|
553
|
-
|
|
554
|
-
lines.push(`${dim}${l}${reset}`);
|
|
555
|
-
}
|
|
601
|
+
for (const l of wrapToWidth(renderShortcutHints(helpTokens), width)) {
|
|
602
|
+
lines.push(l);
|
|
556
603
|
}
|
|
557
604
|
const activeStart = rowStarts[state.cursor] ?? 0;
|
|
558
605
|
const activeEndExclusive = rowEnds[state.cursor] ?? lines.length;
|
|
@@ -560,14 +607,14 @@ function buildLeftPane(verdict, state, width, rows) {
|
|
|
560
607
|
// fall back to the editor row (when editing) or the header row.
|
|
561
608
|
let scrollTop = 0;
|
|
562
609
|
const total = lines.length;
|
|
563
|
-
if (total >
|
|
610
|
+
if (total > scrollRows) {
|
|
564
611
|
// Default: anchor to the start of the active issue.
|
|
565
612
|
scrollTop = activeStart;
|
|
566
613
|
// If the block fits and there is room above, pull the window up so we
|
|
567
614
|
// also include some preceding context rather than leaving blank rows
|
|
568
615
|
// below.
|
|
569
|
-
if (activeEndExclusive - scrollTop <
|
|
570
|
-
scrollTop = Math.max(0, total -
|
|
616
|
+
if (activeEndExclusive - scrollTop < scrollRows) {
|
|
617
|
+
scrollTop = Math.max(0, total - scrollRows);
|
|
571
618
|
if (scrollTop > activeStart)
|
|
572
619
|
scrollTop = activeStart;
|
|
573
620
|
}
|
|
@@ -575,14 +622,14 @@ function buildLeftPane(verdict, state, width, rows) {
|
|
|
575
622
|
if (editorRow !== undefined) {
|
|
576
623
|
if (editorRow < scrollTop)
|
|
577
624
|
scrollTop = editorRow;
|
|
578
|
-
if (editorRow >= scrollTop +
|
|
579
|
-
scrollTop = editorRow -
|
|
625
|
+
if (editorRow >= scrollTop + scrollRows)
|
|
626
|
+
scrollTop = editorRow - scrollRows + 1;
|
|
580
627
|
}
|
|
581
628
|
// Clamp.
|
|
582
629
|
if (scrollTop < 0)
|
|
583
630
|
scrollTop = 0;
|
|
584
|
-
if (scrollTop +
|
|
585
|
-
scrollTop = total -
|
|
631
|
+
if (scrollTop + scrollRows > total)
|
|
632
|
+
scrollTop = total - scrollRows;
|
|
586
633
|
}
|
|
587
634
|
let cursorRow;
|
|
588
635
|
let cursorCol;
|
|
@@ -595,22 +642,25 @@ function buildLeftPane(verdict, state, width, rows) {
|
|
|
595
642
|
cursorRow = activeStart - scrollTop;
|
|
596
643
|
cursorCol = 0;
|
|
597
644
|
}
|
|
598
|
-
// Slice / pad to exactly `
|
|
645
|
+
// Slice / pad to exactly `scrollRows`; the offscreen hint row, when present,
|
|
646
|
+
// is pinned below this scrollable issue window.
|
|
599
647
|
if (scrollTop > 0) {
|
|
600
648
|
lines.splice(0, scrollTop);
|
|
601
649
|
}
|
|
602
|
-
while (lines.length <
|
|
650
|
+
while (lines.length < scrollRows)
|
|
603
651
|
lines.push("");
|
|
604
|
-
if (lines.length >
|
|
605
|
-
lines.splice(
|
|
652
|
+
if (lines.length > scrollRows)
|
|
653
|
+
lines.splice(scrollRows, lines.length - scrollRows);
|
|
606
654
|
if (cursorRow < 0)
|
|
607
655
|
cursorRow = 0;
|
|
608
|
-
if (cursorRow >=
|
|
609
|
-
cursorRow =
|
|
656
|
+
if (cursorRow >= scrollRows)
|
|
657
|
+
cursorRow = scrollRows - 1;
|
|
610
658
|
if (cursorCol < 0)
|
|
611
659
|
cursorCol = 0;
|
|
612
660
|
if (cursorCol >= width)
|
|
613
661
|
cursorCol = Math.max(0, width - 1);
|
|
662
|
+
if (pinnedHint)
|
|
663
|
+
lines.push(pinnedHint);
|
|
614
664
|
return {
|
|
615
665
|
lines: lines.map((l) => clipToWidth(l, width)),
|
|
616
666
|
cursor: { row: cursorRow, col: cursorCol },
|
|
@@ -640,7 +690,8 @@ function computeNarrowPlanRows(rows) {
|
|
|
640
690
|
// visible.
|
|
641
691
|
return Math.max(3, Math.floor((rows - 1) / 2));
|
|
642
692
|
}
|
|
643
|
-
function buildSurface(verdict, plan, state, cols, rows) {
|
|
693
|
+
function buildSurface(verdict, plan, state, cols, rows, context) {
|
|
694
|
+
const hint = offscreenHint(context);
|
|
644
695
|
const split = computeSplitMetrics({ cols, rows, collapseAt: COLLAPSE_AT_COLS });
|
|
645
696
|
if (split.collapsed) {
|
|
646
697
|
// Narrow stack: plan on top, divider rule, issues below. Both panes are
|
|
@@ -649,7 +700,7 @@ function buildSurface(verdict, plan, state, cols, rows) {
|
|
|
649
700
|
const planRows = computeNarrowPlanRows(rows);
|
|
650
701
|
const issueRows = Math.max(1, rows - 1 - planRows);
|
|
651
702
|
const right = buildRightPane(verdict, plan, state, cols, planRows);
|
|
652
|
-
const left = buildLeftPane(verdict, state, cols, issueRows);
|
|
703
|
+
const left = buildLeftPane(verdict, state, cols, issueRows, hint);
|
|
653
704
|
const separator = `${dim}${"─".repeat(cols)}${reset}`;
|
|
654
705
|
const lines = [...right, separator, ...left.lines];
|
|
655
706
|
while (lines.length < rows)
|
|
@@ -666,10 +717,14 @@ function buildSurface(verdict, plan, state, cols, rows) {
|
|
|
666
717
|
cursor: { row: cursorRow, col: left.cursor.col },
|
|
667
718
|
};
|
|
668
719
|
}
|
|
669
|
-
const left = buildLeftPane(verdict, state, split.leftWidth, rows);
|
|
720
|
+
const left = buildLeftPane(verdict, state, split.leftWidth, rows, hint);
|
|
670
721
|
const right = buildRightPane(verdict, plan, state, split.rightWidth, rows);
|
|
671
722
|
return buildSplitSurface({ lines: left.lines, cursor: left.cursor }, { lines: right }, { cols, rows, collapseAt: COLLAPSE_AT_COLS });
|
|
672
723
|
}
|
|
724
|
+
function offscreenHint(context) {
|
|
725
|
+
const labels = context.offscreen?.slots.map((slot) => slot.hint) ?? [];
|
|
726
|
+
return labels.length > 0 ? renderShortcutHints(labels) : undefined;
|
|
727
|
+
}
|
|
673
728
|
function planMetrics(plan, host) {
|
|
674
729
|
const layout = host.getLayout();
|
|
675
730
|
const cols = Math.max(20, layout.columns);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-curate-prompt.js","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-curate-prompt.js","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,8 @@ import type { TerminalHost } from "../terminal/host.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Host-backed user-review prompt with a top-down stack layout.
|
|
5
5
|
*
|
|
6
|
-
* Plan on top (header rule + scrollable body), full-width dim ─ separator,
|
|
7
|
-
*
|
|
8
|
-
* + optional hint), and a blank bottom-margin row above the host status bar.
|
|
6
|
+
* Plan on top (header rule + scrollable body), full-width dim ─ separator, and
|
|
7
|
+
* a controls block (Approve + bounded feedback editor + compact hint row).
|
|
9
8
|
*
|
|
10
9
|
* Key handling:
|
|
11
10
|
* - ↑/↓ toggles between Approve and the editor (does NOT scroll the plan).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-prompt.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAUzF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC;CA+K7B"}
|
package/dist/user/host-prompt.js
CHANGED
|
@@ -3,20 +3,21 @@ import { AgentInterruptedError } from "../agents/runner.js";
|
|
|
3
3
|
import { EmacsInputParser } from "./prompt.js";
|
|
4
4
|
import { clipToWidth } from "./curate-prompt.js";
|
|
5
5
|
import { buildPlanPane } from "./plan-pane.js";
|
|
6
|
+
import { renderShortcutHints } from "./shortcut-hints.js";
|
|
6
7
|
import { applyTextBufferEvent, isTextBufferEvent, } from "../text-editing/emacs-input.js";
|
|
7
8
|
import { cursorToVisual, renderWrappedLine, softWrapLine } from "../text-editing/soft-wrap.js";
|
|
9
|
+
import { OffscreenController } from "../offscreen/controller.js";
|
|
8
10
|
/** Maximum visible rows for the multiline feedback editor. */
|
|
9
11
|
const FEEDBACK_EDITOR_MAX_ROWS = 5;
|
|
10
12
|
/** Lines of overlap when paging the plan (PageUp/PageDown). */
|
|
11
13
|
const PLAN_PAGE_OVERLAP = 1;
|
|
12
|
-
const ACTIVE_PREFIX = "
|
|
13
|
-
const INACTIVE_PREFIX = "
|
|
14
|
+
const ACTIVE_PREFIX = " ❯";
|
|
15
|
+
const INACTIVE_PREFIX = " ";
|
|
14
16
|
/**
|
|
15
17
|
* Host-backed user-review prompt with a top-down stack layout.
|
|
16
18
|
*
|
|
17
|
-
* Plan on top (header rule + scrollable body), full-width dim ─ separator,
|
|
18
|
-
*
|
|
19
|
-
* + optional hint), and a blank bottom-margin row above the host status bar.
|
|
19
|
+
* Plan on top (header rule + scrollable body), full-width dim ─ separator, and
|
|
20
|
+
* a controls block (Approve + bounded feedback editor + compact hint row).
|
|
20
21
|
*
|
|
21
22
|
* Key handling:
|
|
22
23
|
* - ↑/↓ toggles between Approve and the editor (does NOT scroll the plan).
|
|
@@ -48,17 +49,22 @@ export class HostBackedUserPrompt {
|
|
|
48
49
|
};
|
|
49
50
|
const parser = new EmacsInputParser();
|
|
50
51
|
let detach;
|
|
51
|
-
|
|
52
|
+
let offscreenController;
|
|
53
|
+
const cleanup = () => {
|
|
54
|
+
offscreenController?.dispose();
|
|
55
|
+
offscreenController = undefined;
|
|
52
56
|
detach?.();
|
|
53
57
|
detach = undefined;
|
|
58
|
+
};
|
|
59
|
+
const finish = (result) => {
|
|
60
|
+
cleanup();
|
|
54
61
|
resolve(result);
|
|
55
62
|
};
|
|
56
63
|
const failWith = (err) => {
|
|
57
|
-
|
|
58
|
-
detach = undefined;
|
|
64
|
+
cleanup();
|
|
59
65
|
reject(err);
|
|
60
66
|
};
|
|
61
|
-
const
|
|
67
|
+
const baseMode = {
|
|
62
68
|
getSurface: () => {
|
|
63
69
|
const layout = this.host.getLayout();
|
|
64
70
|
const cols = Math.max(20, layout.columns);
|
|
@@ -118,6 +124,12 @@ export class HostBackedUserPrompt {
|
|
|
118
124
|
state.mode = "input";
|
|
119
125
|
dirty = true;
|
|
120
126
|
}
|
|
127
|
+
else if (state.mode === "input" &&
|
|
128
|
+
(event.direction === "left" || event.direction === "right")) {
|
|
129
|
+
dirty = applyFeedbackTextBufferEvent(state, {
|
|
130
|
+
type: event.direction === "left" ? "ctrl-b" : "ctrl-f",
|
|
131
|
+
}) || dirty;
|
|
132
|
+
}
|
|
121
133
|
continue;
|
|
122
134
|
}
|
|
123
135
|
if (event.type === "scroll-page") {
|
|
@@ -178,6 +190,9 @@ export class HostBackedUserPrompt {
|
|
|
178
190
|
return true;
|
|
179
191
|
},
|
|
180
192
|
};
|
|
193
|
+
const mode = context.offscreen
|
|
194
|
+
? (offscreenController = new OffscreenController(this.host, context.offscreen.workdir, context.offscreen.slots)).wrap(baseMode)
|
|
195
|
+
: baseMode;
|
|
181
196
|
detach = this.host.attachParentUi(mode);
|
|
182
197
|
});
|
|
183
198
|
}
|
|
@@ -210,7 +225,7 @@ function applyFeedbackTextBufferEvent(state, event) {
|
|
|
210
225
|
*
|
|
211
226
|
* Returns its natural height (1..7 rows). Cursor is pane-local.
|
|
212
227
|
*/
|
|
213
|
-
function buildControlsBlock(state, width) {
|
|
228
|
+
function buildControlsBlock(state, width, offscreenHint) {
|
|
214
229
|
const activePrefixWidth = visibleLength(ACTIVE_PREFIX);
|
|
215
230
|
const inactivePrefixWidth = visibleLength(INACTIVE_PREFIX);
|
|
216
231
|
const bodyWidth = Math.max(1, width - inactivePrefixWidth);
|
|
@@ -218,10 +233,7 @@ function buildControlsBlock(state, width) {
|
|
|
218
233
|
? `${ACTIVE_PREFIX}${bold}${green}Approve (Enter)${reset}`
|
|
219
234
|
: `${INACTIVE_PREFIX}${dim}Approve${reset}`;
|
|
220
235
|
const showPlaceholder = state.lines.length === 1 && state.lines[0].length === 0;
|
|
221
|
-
const
|
|
222
|
-
const hintRow = showHint
|
|
223
|
-
? `${INACTIVE_PREFIX}${dim}Ctrl+D Submit${reset}`
|
|
224
|
-
: undefined;
|
|
236
|
+
const hasFeedback = state.lines.some((line) => line.length > 0);
|
|
225
237
|
const visualRows = [];
|
|
226
238
|
let cursorVisualRow = 0;
|
|
227
239
|
let cursorVisCol = 0;
|
|
@@ -262,7 +274,7 @@ function buildControlsBlock(state, width) {
|
|
|
262
274
|
if (state.feedbackScrollTop < 0)
|
|
263
275
|
state.feedbackScrollTop = 0;
|
|
264
276
|
}
|
|
265
|
-
const placeholder = "Type feedback
|
|
277
|
+
const placeholder = "Type feedback";
|
|
266
278
|
const editorBody = [];
|
|
267
279
|
if (showPlaceholder) {
|
|
268
280
|
let first;
|
|
@@ -292,10 +304,18 @@ function buildControlsBlock(state, width) {
|
|
|
292
304
|
editorBody.push(`${prefix}${visual.body}`);
|
|
293
305
|
}
|
|
294
306
|
}
|
|
307
|
+
const tokens = [];
|
|
308
|
+
if (state.mode === "input")
|
|
309
|
+
tokens.push("Ctrl+J Newline");
|
|
310
|
+
if (hasFeedback)
|
|
311
|
+
tokens.push("Ctrl+D Submit");
|
|
312
|
+
if (offscreenHint)
|
|
313
|
+
tokens.push(offscreenHint);
|
|
295
314
|
const lines = [
|
|
296
315
|
approveRow,
|
|
297
316
|
...editorBody,
|
|
298
|
-
|
|
317
|
+
`${dim}${"─".repeat(width)}${reset}`,
|
|
318
|
+
`${INACTIVE_PREFIX}${renderShortcutHints(tokens)}`,
|
|
299
319
|
];
|
|
300
320
|
const approveRowInBlock = 0;
|
|
301
321
|
const editorStart = 1;
|
|
@@ -328,11 +348,10 @@ function buildControlsBlock(state, width) {
|
|
|
328
348
|
}
|
|
329
349
|
/**
|
|
330
350
|
* Compute the plan area's available height given total `rows` and the natural
|
|
331
|
-
* controls block height. Reserves 1 row for the dim ─ separator
|
|
332
|
-
* top-margin blank, and 1 for the bottom-margin blank.
|
|
351
|
+
* controls block height. Reserves 1 row for the dim ─ separator.
|
|
333
352
|
*/
|
|
334
353
|
function computePlanRows(controlsHeight, rows) {
|
|
335
|
-
return Math.max(1, rows - controlsHeight -
|
|
354
|
+
return Math.max(1, rows - controlsHeight - 1);
|
|
336
355
|
}
|
|
337
356
|
function buildPlanLines(plan, context, state, width, planRows) {
|
|
338
357
|
const pane = buildPlanPane(plan, context.phaseLabel, width, context.artifactKind ?? "plan");
|
|
@@ -355,16 +374,14 @@ function buildPlanLines(plan, context, state, width, planRows) {
|
|
|
355
374
|
};
|
|
356
375
|
}
|
|
357
376
|
function buildSurface(plan, context, state, cols, rows) {
|
|
358
|
-
const controls = buildControlsBlock(state, cols);
|
|
377
|
+
const controls = buildControlsBlock(state, cols, primaryOffscreenHint(context));
|
|
359
378
|
const planRows = computePlanRows(controls.lines.length, rows);
|
|
360
379
|
const { lines: planLines } = buildPlanLines(plan, context, state, cols, planRows);
|
|
361
380
|
const separator = `${dim}${"─".repeat(cols)}${reset}`;
|
|
362
381
|
const composed = [
|
|
363
382
|
...planLines,
|
|
364
383
|
separator,
|
|
365
|
-
"",
|
|
366
384
|
...controls.lines,
|
|
367
|
-
"",
|
|
368
385
|
];
|
|
369
386
|
// Pad / clip to exactly `rows` rows. The plan area is the only flex region;
|
|
370
387
|
// controls + separator + margins remain anchored to the bottom.
|
|
@@ -374,9 +391,9 @@ function buildSurface(plan, context, state, cols, rows) {
|
|
|
374
391
|
// Clip from the top of the plan area; never clip controls.
|
|
375
392
|
composed.splice(0, composed.length - rows);
|
|
376
393
|
}
|
|
377
|
-
// Cursor row sits in the controls block: planRows + 1 (separator) +
|
|
378
|
-
//
|
|
379
|
-
let cursorRow = planRows + 1 +
|
|
394
|
+
// Cursor row sits in the controls block: planRows + 1 (separator) +
|
|
395
|
+
// controls.cursor.row.
|
|
396
|
+
let cursorRow = planRows + 1 + controls.cursor.row;
|
|
380
397
|
if (cursorRow < 0)
|
|
381
398
|
cursorRow = 0;
|
|
382
399
|
if (cursorRow >= rows)
|
|
@@ -390,9 +407,12 @@ function planMetrics(plan, context, state, host) {
|
|
|
390
407
|
const layout = host.getLayout();
|
|
391
408
|
const cols = Math.max(20, layout.columns);
|
|
392
409
|
const rows = Math.max(1, layout.childRows);
|
|
393
|
-
const controls = buildControlsBlock(state, cols);
|
|
410
|
+
const controls = buildControlsBlock(state, cols, primaryOffscreenHint(context));
|
|
394
411
|
const planHeight = computePlanRows(controls.lines.length, rows);
|
|
395
412
|
const pane = buildPlanPane(plan, context.phaseLabel, cols, context.artifactKind ?? "plan");
|
|
396
413
|
return { planHeight, planLines: pane.lines.length };
|
|
397
414
|
}
|
|
415
|
+
function primaryOffscreenHint(context) {
|
|
416
|
+
return context.offscreen?.slots.find((slot) => slot.binding === "primary")?.hint;
|
|
417
|
+
}
|
|
398
418
|
//# sourceMappingURL=host-prompt.js.map
|