poly-weaver 0.12.2 → 0.12.4

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.
Files changed (89) hide show
  1. package/dist/ansi.d.ts +12 -0
  2. package/dist/ansi.d.ts.map +1 -1
  3. package/dist/ansi.js +334 -9
  4. package/dist/ansi.js.map +1 -1
  5. package/dist/offscreen/artifact-pane.d.ts +5 -0
  6. package/dist/offscreen/artifact-pane.d.ts.map +1 -1
  7. package/dist/offscreen/artifact-pane.js +20 -1
  8. package/dist/offscreen/artifact-pane.js.map +1 -1
  9. package/dist/offscreen/controller.d.ts +1 -0
  10. package/dist/offscreen/controller.d.ts.map +1 -1
  11. package/dist/offscreen/controller.js +105 -0
  12. package/dist/offscreen/controller.js.map +1 -1
  13. package/dist/offscreen/inquiry-pane.d.ts +2 -0
  14. package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
  15. package/dist/offscreen/inquiry-pane.js +19 -0
  16. package/dist/offscreen/inquiry-pane.js.map +1 -1
  17. package/dist/offscreen/inquiry-sender.js +1 -1
  18. package/dist/offscreen/inquiry-sender.js.map +1 -1
  19. package/dist/offscreen/panes.d.ts +2 -0
  20. package/dist/offscreen/panes.d.ts.map +1 -1
  21. package/dist/offscreen/split-inquiry.d.ts +17 -0
  22. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  23. package/dist/offscreen/split-inquiry.js +107 -1
  24. package/dist/offscreen/split-inquiry.js.map +1 -1
  25. package/dist/providers/codex/plan-mode-activator.js +0 -3
  26. package/dist/providers/codex/plan-mode-activator.js.map +1 -1
  27. package/dist/providers/option-catalog.d.ts.map +1 -1
  28. package/dist/providers/option-catalog.js +23 -0
  29. package/dist/providers/option-catalog.js.map +1 -1
  30. package/dist/session/locator.d.ts +2 -2
  31. package/dist/session/locator.d.ts.map +1 -1
  32. package/dist/session/locator.js +2 -2
  33. package/dist/session/locator.js.map +1 -1
  34. package/dist/status-bar.d.ts +5 -2
  35. package/dist/status-bar.d.ts.map +1 -1
  36. package/dist/status-bar.js +18 -20
  37. package/dist/status-bar.js.map +1 -1
  38. package/dist/terminal/clipboard-write.d.ts +17 -0
  39. package/dist/terminal/clipboard-write.d.ts.map +1 -0
  40. package/dist/terminal/clipboard-write.js +58 -0
  41. package/dist/terminal/clipboard-write.js.map +1 -0
  42. package/dist/terminal/host.d.ts +90 -0
  43. package/dist/terminal/host.d.ts.map +1 -1
  44. package/dist/terminal/host.js +858 -17
  45. package/dist/terminal/host.js.map +1 -1
  46. package/dist/terminal/input-router.d.ts +21 -6
  47. package/dist/terminal/input-router.d.ts.map +1 -1
  48. package/dist/terminal/input-router.js +30 -8
  49. package/dist/terminal/input-router.js.map +1 -1
  50. package/dist/terminal/mouse-mode-tracker.d.ts +1 -0
  51. package/dist/terminal/mouse-mode-tracker.d.ts.map +1 -1
  52. package/dist/terminal/mouse-mode-tracker.js +3 -0
  53. package/dist/terminal/mouse-mode-tracker.js.map +1 -1
  54. package/dist/terminal/osc52.d.ts +1 -0
  55. package/dist/terminal/osc52.d.ts.map +1 -1
  56. package/dist/terminal/osc52.js +3 -0
  57. package/dist/terminal/osc52.js.map +1 -1
  58. package/dist/terminal/paste-submit.d.ts +1 -1
  59. package/dist/terminal/paste-submit.d.ts.map +1 -1
  60. package/dist/terminal/paste-submit.js +2 -2
  61. package/dist/terminal/paste-submit.js.map +1 -1
  62. package/dist/terminal/render.d.ts +5 -0
  63. package/dist/terminal/render.d.ts.map +1 -1
  64. package/dist/terminal/render.js +14 -4
  65. package/dist/terminal/render.js.map +1 -1
  66. package/dist/terminal/selection.d.ts +101 -0
  67. package/dist/terminal/selection.d.ts.map +1 -0
  68. package/dist/terminal/selection.js +517 -0
  69. package/dist/terminal/selection.js.map +1 -0
  70. package/dist/terminal/virtual-terminal.d.ts +5 -1
  71. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  72. package/dist/terminal/virtual-terminal.js +10 -0
  73. package/dist/terminal/virtual-terminal.js.map +1 -1
  74. package/dist/user/host-curate-prompt.d.ts +2 -0
  75. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  76. package/dist/user/host-curate-prompt.js +239 -43
  77. package/dist/user/host-curate-prompt.js.map +1 -1
  78. package/dist/user/host-prompt.d.ts.map +1 -1
  79. package/dist/user/host-prompt.js +257 -14
  80. package/dist/user/host-prompt.js.map +1 -1
  81. package/dist/user/selectable-doc-pane.d.ts +13 -0
  82. package/dist/user/selectable-doc-pane.d.ts.map +1 -0
  83. package/dist/user/selectable-doc-pane.js +34 -0
  84. package/dist/user/selectable-doc-pane.js.map +1 -0
  85. package/dist/user/split-surface.d.ts +2 -0
  86. package/dist/user/split-surface.d.ts.map +1 -1
  87. package/dist/user/split-surface.js +17 -0
  88. package/dist/user/split-surface.js.map +1 -1
  89. package/package.json +1 -1
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-prompt.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AA4BzF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAOzC;;;;;;;;;;;GAWG;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;CAqU7B;AAED,UAAU,cAAc;IACtB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;CACvD;AAyOD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,EAAE,CAyBV"}
1
+ {"version":3,"file":"host-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-prompt.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAkCzF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAOzC;;;;;;;;;;;GAWG;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;CAoW7B;AAED,UAAU,cAAc;IACtB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;CACvD;AAoPD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,EAAE,CAyBV"}
@@ -8,8 +8,9 @@ import { aliasSelectionNavEvent, isTextBufferEvent, } from "../text-editing/emac
8
8
  import { noteFocus } from "../text-editing/kill-ring.js";
9
9
  import { OffscreenController, } from "../offscreen/controller.js";
10
10
  import { AttachmentManager } from "../paste-image/attachment-manager.js";
11
+ import { createSelectableDocumentPane, } from "./selectable-doc-pane.js";
11
12
  import { ALT_V_PASTE_IMAGE_HINT, handleBracketedPaste, handleImagePasteIntent, PASTING_IMAGE_HINT, } from "../paste-image/intents.js";
12
- import { buildSplitSurface, computeSplitMetrics, SPLIT_COLLAPSE_AT_COLS, } from "./split-surface.js";
13
+ import { buildSplitSurface, computeSplitMetrics, sideBySidePaneRegion, SPLIT_COLLAPSE_AT_COLS, } from "./split-surface.js";
13
14
  import { applyEditingBufferEvent, applyEditInsertedText, bufferFromText, emptyBuffer, finalizeEditText, renderMultilineEditor, } from "./feedback-editing.js";
14
15
  // Max rows allotted to the scrollable feedback-list block (Approve/item/+Add
15
16
  // rows only; the separator + hint are fixed chrome rendered outside this
@@ -47,6 +48,8 @@ export class HostBackedUserPrompt {
47
48
  editing: undefined,
48
49
  planScrollTop: 0,
49
50
  planAtEnd: false,
51
+ feedbackScrollTop: 0,
52
+ feedbackScrollPinnedToCursor: true,
50
53
  };
51
54
  const parser = new EmacsInputParser();
52
55
  return new Promise((resolve, reject) => {
@@ -76,6 +79,7 @@ export class HostBackedUserPrompt {
76
79
  if (settlingEdit || !state.editing)
77
80
  return;
78
81
  state.editing = undefined;
82
+ state.feedbackScrollPinnedToCursor = true;
79
83
  clampCursor(state);
80
84
  };
81
85
  const applySubmittedEdit = (editing, text) => {
@@ -93,6 +97,7 @@ export class HostBackedUserPrompt {
93
97
  state.userAdded.push(text);
94
98
  }
95
99
  state.cursor = addRowCursorIndex(state);
100
+ state.feedbackScrollPinnedToCursor = true;
96
101
  clampCursor(state);
97
102
  };
98
103
  const submitEdit = () => {
@@ -118,6 +123,7 @@ export class HostBackedUserPrompt {
118
123
  };
119
124
  const openUserAddEditor = () => {
120
125
  state.cursor = addRowCursorIndex(state);
126
+ state.feedbackScrollPinnedToCursor = true;
121
127
  state.editing = {
122
128
  target: { kind: "user-add" },
123
129
  buffer: emptyBuffer(),
@@ -127,6 +133,7 @@ export class HostBackedUserPrompt {
127
133
  };
128
134
  const openUserEditEditor = (index) => {
129
135
  state.cursor = index;
136
+ state.feedbackScrollPinnedToCursor = true;
130
137
  state.editing = {
131
138
  target: { kind: "user-edit", index },
132
139
  buffer: bufferFromText(state.userAdded[index] ?? ""),
@@ -140,6 +147,7 @@ export class HostBackedUserPrompt {
140
147
  editing.transientHint = outcome.hint ?? null;
141
148
  if (outcome.inserted !== undefined)
142
149
  applyEditInsertedText(editing, outcome.inserted);
150
+ state.feedbackScrollPinnedToCursor = true;
143
151
  this.host.scheduleParentUiRender();
144
152
  };
145
153
  const launchEditPasteIntent = (editing, task) => {
@@ -196,6 +204,8 @@ export class HostBackedUserPrompt {
196
204
  }
197
205
  if (event.type === "ctrl-j") {
198
206
  dirty = applyEditingBufferEvent(state.editing, { type: "newline" }) || dirty;
207
+ if (dirty)
208
+ state.feedbackScrollPinnedToCursor = true;
199
209
  continue;
200
210
  }
201
211
  if (event.type === "arrow") {
@@ -209,10 +219,14 @@ export class HostBackedUserPrompt {
209
219
  type: event.direction === "up" ? "ctrl-p" : "ctrl-n",
210
220
  }) || dirty;
211
221
  }
222
+ if (dirty)
223
+ state.feedbackScrollPinnedToCursor = true;
212
224
  continue;
213
225
  }
214
226
  if (isTextBufferEvent(event)) {
215
227
  dirty = applyEditingBufferEvent(state.editing, event) || dirty;
228
+ if (dirty)
229
+ state.feedbackScrollPinnedToCursor = true;
216
230
  continue;
217
231
  }
218
232
  continue;
@@ -238,6 +252,7 @@ export class HostBackedUserPrompt {
238
252
  state.cursor = event.direction === "up"
239
253
  ? (state.cursor - 1 + total) % total
240
254
  : (state.cursor + 1) % total;
255
+ state.feedbackScrollPinnedToCursor = true;
241
256
  dirty = true;
242
257
  }
243
258
  continue;
@@ -285,6 +300,7 @@ export class HostBackedUserPrompt {
285
300
  }
286
301
  else if (row.kind === "item") {
287
302
  openUserEditEditor(row.index);
303
+ state.feedbackScrollPinnedToCursor = true;
288
304
  dirty = true;
289
305
  }
290
306
  else {
@@ -306,6 +322,7 @@ export class HostBackedUserPrompt {
306
322
  state.userAdded.splice(row.index, 1);
307
323
  clampCursor(state);
308
324
  state.cursor = addRowCursorIndex(state);
325
+ state.feedbackScrollPinnedToCursor = true;
309
326
  dirty = true;
310
327
  }
311
328
  }
@@ -315,6 +332,7 @@ export class HostBackedUserPrompt {
315
332
  this.host.scheduleParentUiRender();
316
333
  return finished;
317
334
  };
335
+ const selectionPanes = createPromptSelectionPanes(plan, context, state, () => this.host.getLayout());
318
336
  const baseMode = {
319
337
  getSurface: () => {
320
338
  const layout = this.host.getLayout();
@@ -322,6 +340,15 @@ export class HostBackedUserPrompt {
322
340
  const rows = Math.max(1, layout.childRows);
323
341
  return buildSurface(plan, context, state, cols, rows, offscreenController);
324
342
  },
343
+ selectionRegionAt: (column, row) => {
344
+ const layout = this.host.getLayout();
345
+ const cols = Math.max(20, layout.columns);
346
+ const rows = Math.max(1, layout.childRows);
347
+ return promptSelectionRegionAt(column, row, cols, rows, state);
348
+ },
349
+ selectionTargetAt: (column, row) => selectionPanes.selectionTargetAt(column, row),
350
+ docSurfaceSelectionPlacementAt: (column, row) => selectionPanes.placementAt(column, row),
351
+ docSurfaceSelectionPlacements: () => selectionPanes.placements(),
325
352
  onEvents: (keys) => {
326
353
  processEvents(parser.mapKeys(keys));
327
354
  return true;
@@ -436,20 +463,24 @@ function buildFeedbackPane(state, rendered, width, listRows, hintTokens) {
436
463
  const scrollRows = Math.max(0, listRows);
437
464
  const activeStart = rendered.rowStarts[state.cursor] ?? 0;
438
465
  const activeEndExclusive = rendered.rowEnds[state.cursor] ?? rendered.lines.length;
439
- let scrollTop = 0;
440
466
  const total = rendered.lines.length;
467
+ let scrollTop = Math.min(Math.max(0, state.feedbackScrollTop), Math.max(0, total - scrollRows));
468
+ if (scrollRows === 0)
469
+ scrollTop = 0;
441
470
  if (scrollRows > 0 && total > scrollRows) {
442
- scrollTop = activeStart;
443
- if (activeEndExclusive - scrollTop < scrollRows) {
444
- scrollTop = Math.max(0, total - scrollRows);
445
- if (scrollTop > activeStart)
446
- scrollTop = activeStart;
447
- }
448
- if (rendered.editorRow !== undefined) {
449
- if (rendered.editorRow < scrollTop)
450
- scrollTop = rendered.editorRow;
451
- if (rendered.editorRow >= scrollTop + scrollRows) {
452
- scrollTop = rendered.editorRow - scrollRows + 1;
471
+ if (state.feedbackScrollPinnedToCursor) {
472
+ scrollTop = activeStart;
473
+ if (activeEndExclusive - scrollTop < scrollRows) {
474
+ scrollTop = Math.max(0, total - scrollRows);
475
+ if (scrollTop > activeStart)
476
+ scrollTop = activeStart;
477
+ }
478
+ if (rendered.editorRow !== undefined) {
479
+ if (rendered.editorRow < scrollTop)
480
+ scrollTop = rendered.editorRow;
481
+ if (rendered.editorRow >= scrollTop + scrollRows) {
482
+ scrollTop = rendered.editorRow - scrollRows + 1;
483
+ }
453
484
  }
454
485
  }
455
486
  if (scrollTop < 0)
@@ -457,6 +488,7 @@ function buildFeedbackPane(state, rendered, width, listRows, hintTokens) {
457
488
  if (scrollTop + scrollRows > total)
458
489
  scrollTop = total - scrollRows;
459
490
  }
491
+ state.feedbackScrollTop = scrollTop;
460
492
  const listLines = scrollRows === 0
461
493
  ? []
462
494
  : rendered.lines.slice(scrollTop, scrollTop + scrollRows);
@@ -534,6 +566,217 @@ export function promptHelpTokens(state, offscreenHint, summarizeHint) {
534
566
  function computePlanRows(controlsHeight, rows) {
535
567
  return Math.max(1, rows - controlsHeight - 1);
536
568
  }
569
+ function visibleStackRange(start, end, trim, rows) {
570
+ const visibleStart = trim + 1;
571
+ const visibleEnd = trim + rows;
572
+ const clippedStart = Math.max(start, visibleStart);
573
+ const clippedEnd = Math.min(end, visibleEnd);
574
+ if (clippedStart > clippedEnd)
575
+ return undefined;
576
+ return { start: clippedStart - trim, end: clippedEnd - trim };
577
+ }
578
+ function computePromptStackLayout(controlsHeight, rows) {
579
+ const visibleRows = Math.max(1, rows);
580
+ const planRows = computePlanRows(controlsHeight, visibleRows);
581
+ const separatorPreRow = planRows + 1;
582
+ const controlsStart = planRows + 2;
583
+ const controlsEnd = planRows + 1 + controlsHeight;
584
+ const totalRows = controlsEnd;
585
+ const trim = Math.max(0, totalRows - visibleRows);
586
+ const separator = visibleStackRange(separatorPreRow, separatorPreRow, trim, visibleRows);
587
+ return {
588
+ planRows,
589
+ plan: visibleStackRange(1, planRows, trim, visibleRows),
590
+ separatorRow: separator?.start,
591
+ controls: visibleStackRange(controlsStart, controlsEnd, trim, visibleRows),
592
+ trim,
593
+ controlsStart,
594
+ };
595
+ }
596
+ function promptSelectionGeometry(cols, rows, state) {
597
+ const split = computeSplitMetrics({ cols, rows, collapseAt: SPLIT_COLLAPSE_AT_COLS });
598
+ const naturalRows = measureFeedbackListRows(state, cols);
599
+ if (!split.collapsed && naturalRows > FEEDBACK_AREA_MAX_ROWS) {
600
+ const leftRender = buildFeedbackListRows(state, split.leftWidth);
601
+ const listRows = Math.min(leftRender.lines.length, Math.max(0, rows - 2));
602
+ const feedbackList = listRows > 0
603
+ ? {
604
+ region: { rowStart: 1, rowEnd: listRows, colStart: 1, colEnd: split.leftWidth },
605
+ width: split.leftWidth,
606
+ visibleRows: listRows,
607
+ hiddenRows: 0,
608
+ scrollRows: listRows,
609
+ }
610
+ : undefined;
611
+ const feedbackChrome = listRows < rows
612
+ ? {
613
+ rowStart: listRows + 1,
614
+ rowEnd: rows,
615
+ colStart: 1,
616
+ colEnd: split.leftWidth,
617
+ }
618
+ : undefined;
619
+ return {
620
+ plan: {
621
+ region: {
622
+ rowStart: 1,
623
+ rowEnd: rows,
624
+ colStart: split.leftWidth + 2,
625
+ colEnd: cols,
626
+ },
627
+ width: split.rightWidth,
628
+ visibleRows: rows,
629
+ hiddenRows: 0,
630
+ scrollRows: rows,
631
+ },
632
+ feedbackList,
633
+ feedbackChrome,
634
+ };
635
+ }
636
+ const listRows = Math.min(naturalRows, FEEDBACK_AREA_MAX_ROWS);
637
+ const layout = computePromptStackLayout(listRows + 2, rows);
638
+ const planVisibleRows = layout.plan ? layout.plan.end - layout.plan.start + 1 : 0;
639
+ const visibleStartOriginal = layout.trim + 1;
640
+ const hiddenControlsRows = Math.max(0, visibleStartOriginal - layout.controlsStart);
641
+ const controlsVisibleRows = layout.controls
642
+ ? layout.controls.end - layout.controls.start + 1
643
+ : 0;
644
+ const visibleListRows = Math.max(0, Math.min(listRows - hiddenControlsRows, controlsVisibleRows));
645
+ const feedbackList = layout.controls && visibleListRows > 0
646
+ ? {
647
+ region: {
648
+ rowStart: layout.controls.start,
649
+ rowEnd: layout.controls.start + visibleListRows - 1,
650
+ colStart: 1,
651
+ colEnd: cols,
652
+ },
653
+ width: cols,
654
+ visibleRows: visibleListRows,
655
+ hiddenRows: Math.min(listRows, hiddenControlsRows),
656
+ scrollRows: listRows,
657
+ }
658
+ : undefined;
659
+ const chromeRows = Math.max(0, controlsVisibleRows - visibleListRows);
660
+ const chromeStart = layout.controls
661
+ ? layout.controls.start + visibleListRows
662
+ : undefined;
663
+ return {
664
+ plan: layout.plan && planVisibleRows > 0
665
+ ? {
666
+ region: {
667
+ rowStart: layout.plan.start,
668
+ rowEnd: layout.plan.end,
669
+ colStart: 1,
670
+ colEnd: cols,
671
+ },
672
+ width: cols,
673
+ visibleRows: planVisibleRows,
674
+ hiddenRows: Math.max(0, layout.planRows - planVisibleRows),
675
+ scrollRows: layout.planRows,
676
+ }
677
+ : undefined,
678
+ feedbackList,
679
+ feedbackChrome: layout.controls && chromeRows > 0 && chromeStart !== undefined
680
+ ? { rowStart: chromeStart, rowEnd: layout.controls.end, colStart: 1, colEnd: cols }
681
+ : undefined,
682
+ };
683
+ }
684
+ function promptSelectionRegionAt(column, row, cols, rows, state) {
685
+ if (column < 1 || column > cols || row < 1 || row > rows)
686
+ return null;
687
+ const geometry = promptSelectionGeometry(cols, rows, state);
688
+ if (pointInRegion(column, row, geometry.plan?.region))
689
+ return geometry.plan.region;
690
+ if (pointInRegion(column, row, geometry.feedbackList?.region)) {
691
+ return geometry.feedbackList.region;
692
+ }
693
+ if (pointInRegion(column, row, geometry.feedbackChrome))
694
+ return geometry.feedbackChrome;
695
+ const split = computeSplitMetrics({ cols, rows, collapseAt: SPLIT_COLLAPSE_AT_COLS });
696
+ if (!split.collapsed && geometry.feedbackChrome === undefined) {
697
+ return sideBySidePaneRegion(column, rows, split);
698
+ }
699
+ return null;
700
+ }
701
+ function createPromptSelectionPanes(plan, context, state, getLayout) {
702
+ const planLines = (width) => buildPlanPane(plan, context.phaseLabel, width, context.artifactKind ?? "plan").lines;
703
+ const feedbackLines = (width) => buildFeedbackListRows(state, width).lines;
704
+ const current = () => {
705
+ const layout = getLayout();
706
+ const cols = Math.max(20, layout.columns);
707
+ const rows = Math.max(1, layout.childRows);
708
+ return { cols, rows, geometry: promptSelectionGeometry(cols, rows, state) };
709
+ };
710
+ const planPane = createSelectableDocumentPane({
711
+ lines: () => {
712
+ const { geometry } = current();
713
+ return geometry.plan ? planLines(geometry.plan.width) : [];
714
+ },
715
+ getScrollTop: () => {
716
+ const { geometry } = current();
717
+ return state.planScrollTop + (geometry.plan?.hiddenRows ?? 0);
718
+ },
719
+ setScrollTop: (value) => {
720
+ const { geometry } = current();
721
+ const pane = geometry.plan;
722
+ if (!pane)
723
+ return;
724
+ const max = Math.max(0, planLines(pane.width).length - pane.scrollRows);
725
+ state.planScrollTop = Math.min(max, Math.max(0, Math.trunc(value) - pane.hiddenRows));
726
+ state.planAtEnd = state.planScrollTop >= max;
727
+ },
728
+ getViewportRows: () => current().geometry.plan?.visibleRows ?? 1,
729
+ });
730
+ const feedbackPane = createSelectableDocumentPane({
731
+ lines: () => {
732
+ const { geometry } = current();
733
+ return geometry.feedbackList ? feedbackLines(geometry.feedbackList.width) : [];
734
+ },
735
+ getScrollTop: () => {
736
+ const { geometry } = current();
737
+ return state.feedbackScrollTop + (geometry.feedbackList?.hiddenRows ?? 0);
738
+ },
739
+ setScrollTop: (value) => {
740
+ const { geometry } = current();
741
+ const pane = geometry.feedbackList;
742
+ if (!pane)
743
+ return;
744
+ const max = Math.max(0, feedbackLines(pane.width).length - pane.scrollRows);
745
+ state.feedbackScrollTop = Math.min(max, Math.max(0, Math.trunc(value) - pane.hiddenRows));
746
+ },
747
+ getViewportRows: () => current().geometry.feedbackList?.visibleRows ?? 1,
748
+ onManualScroll: () => {
749
+ state.feedbackScrollPinnedToCursor = false;
750
+ },
751
+ });
752
+ const placements = () => {
753
+ const { geometry } = current();
754
+ const result = [];
755
+ if (geometry.plan &&
756
+ planLines(geometry.plan.width).length > geometry.plan.visibleRows) {
757
+ result.push({ region: geometry.plan.region, pane: planPane });
758
+ }
759
+ if (geometry.feedbackList &&
760
+ feedbackLines(geometry.feedbackList.width).length > geometry.feedbackList.visibleRows) {
761
+ result.push({ region: geometry.feedbackList.region, pane: feedbackPane });
762
+ }
763
+ return result;
764
+ };
765
+ return {
766
+ selectionTargetAt: (column, row) => placements().some((placement) => pointInRegion(column, row, placement.region))
767
+ ? "parent-doc-surface"
768
+ : null,
769
+ placementAt: (column, row) => placements().find((placement) => pointInRegion(column, row, placement.region)),
770
+ placements,
771
+ };
772
+ }
773
+ function pointInRegion(column, row, region) {
774
+ return !!region &&
775
+ column >= region.colStart &&
776
+ column <= region.colEnd &&
777
+ row >= region.rowStart &&
778
+ row <= region.rowEnd;
779
+ }
537
780
  function buildPlanLines(plan, context, state, width, planRows) {
538
781
  const pane = buildPlanPane(plan, context.phaseLabel, width, context.artifactKind ?? "plan");
539
782
  const total = pane.lines.length;
@@ -567,7 +810,7 @@ function buildSurface(plan, context, state, cols, rows, offscreenController) {
567
810
  }
568
811
  const listRows = Math.min(naturalRows, FEEDBACK_AREA_MAX_ROWS);
569
812
  const controls = buildFeedbackPane(state, natural, cols, listRows, hintTokens);
570
- const planRows = computePlanRows(controls.lines.length, rows);
813
+ const { planRows } = computePromptStackLayout(controls.lines.length, rows);
571
814
  const { lines: planLines } = buildPlanLines(plan, context, state, cols, planRows);
572
815
  const separator = `${dim}${"─".repeat(cols)}${reset}`;
573
816
  const composed = [