poly-weaver 0.12.3 → 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 (77) 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 +92 -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/panes.d.ts +2 -0
  18. package/dist/offscreen/panes.d.ts.map +1 -1
  19. package/dist/offscreen/split-inquiry.d.ts +17 -0
  20. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  21. package/dist/offscreen/split-inquiry.js +107 -1
  22. package/dist/offscreen/split-inquiry.js.map +1 -1
  23. package/dist/providers/option-catalog.d.ts.map +1 -1
  24. package/dist/providers/option-catalog.js +23 -0
  25. package/dist/providers/option-catalog.js.map +1 -1
  26. package/dist/status-bar.d.ts +5 -2
  27. package/dist/status-bar.d.ts.map +1 -1
  28. package/dist/status-bar.js +18 -20
  29. package/dist/status-bar.js.map +1 -1
  30. package/dist/terminal/clipboard-write.d.ts +17 -0
  31. package/dist/terminal/clipboard-write.d.ts.map +1 -0
  32. package/dist/terminal/clipboard-write.js +58 -0
  33. package/dist/terminal/clipboard-write.js.map +1 -0
  34. package/dist/terminal/host.d.ts +90 -0
  35. package/dist/terminal/host.d.ts.map +1 -1
  36. package/dist/terminal/host.js +858 -17
  37. package/dist/terminal/host.js.map +1 -1
  38. package/dist/terminal/input-router.d.ts +21 -6
  39. package/dist/terminal/input-router.d.ts.map +1 -1
  40. package/dist/terminal/input-router.js +30 -8
  41. package/dist/terminal/input-router.js.map +1 -1
  42. package/dist/terminal/mouse-mode-tracker.d.ts +1 -0
  43. package/dist/terminal/mouse-mode-tracker.d.ts.map +1 -1
  44. package/dist/terminal/mouse-mode-tracker.js +3 -0
  45. package/dist/terminal/mouse-mode-tracker.js.map +1 -1
  46. package/dist/terminal/osc52.d.ts +1 -0
  47. package/dist/terminal/osc52.d.ts.map +1 -1
  48. package/dist/terminal/osc52.js +3 -0
  49. package/dist/terminal/osc52.js.map +1 -1
  50. package/dist/terminal/render.d.ts +5 -0
  51. package/dist/terminal/render.d.ts.map +1 -1
  52. package/dist/terminal/render.js +14 -4
  53. package/dist/terminal/render.js.map +1 -1
  54. package/dist/terminal/selection.d.ts +101 -0
  55. package/dist/terminal/selection.d.ts.map +1 -0
  56. package/dist/terminal/selection.js +517 -0
  57. package/dist/terminal/selection.js.map +1 -0
  58. package/dist/terminal/virtual-terminal.d.ts +5 -1
  59. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  60. package/dist/terminal/virtual-terminal.js +10 -0
  61. package/dist/terminal/virtual-terminal.js.map +1 -1
  62. package/dist/user/host-curate-prompt.d.ts +2 -0
  63. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  64. package/dist/user/host-curate-prompt.js +239 -43
  65. package/dist/user/host-curate-prompt.js.map +1 -1
  66. package/dist/user/host-prompt.d.ts.map +1 -1
  67. package/dist/user/host-prompt.js +257 -14
  68. package/dist/user/host-prompt.js.map +1 -1
  69. package/dist/user/selectable-doc-pane.d.ts +13 -0
  70. package/dist/user/selectable-doc-pane.d.ts.map +1 -0
  71. package/dist/user/selectable-doc-pane.js +34 -0
  72. package/dist/user/selectable-doc-pane.js.map +1 -0
  73. package/dist/user/split-surface.d.ts +2 -0
  74. package/dist/user/split-surface.d.ts.map +1 -1
  75. package/dist/user/split-surface.js +17 -0
  76. package/dist/user/split-surface.js.map +1 -1
  77. package/package.json +1 -1
package/dist/ansi.d.ts CHANGED
@@ -7,6 +7,12 @@ export declare const ANSI_RE: RegExp;
7
7
  * NOT swap it in for `ANSI_RE`.
8
8
  */
9
9
  export declare const STRIP_ALL_ANSI_RE: RegExp;
10
+ export declare function matchAnsiEscapeAt(line: string, i: number): number;
11
+ /**
12
+ * Deterministic change-detection key for the effective content and SGR
13
+ * attributes of cells in a 1-based inclusive terminal column range.
14
+ */
15
+ export declare function selectionCellKey(line: string, startCol: number, endCol: number): string;
10
16
  /**
11
17
  * Measure the visible terminal width of a string.
12
18
  * Strips ANSI escape sequences, then iterates code points:
@@ -46,7 +52,13 @@ export declare const ALT_SCREEN_ON = "\u001B[?1049h";
46
52
  export declare const ALT_SCREEN_OFF = "\u001B[?1049l";
47
53
  export declare const red = "\u001B[31m";
48
54
  export declare const invert = "\u001B[7m";
55
+ export declare const SELECTION_BACKGROUND_SGR = "\u001B[48;5;24m";
56
+ export declare const SELECTION_BACKGROUND_RESET_SGR = "\u001B[49m";
49
57
  export declare function applyBlockCursor(line: string, visibleCol: number): string;
58
+ /** Extract plain visible text from a 1-based inclusive terminal column range. */
59
+ export declare function extractVisibleRange(line: string, startCol: number, endCol: number): string;
60
+ /** Apply the app-owned selection background over a 1-based inclusive terminal column range. */
61
+ export declare function applySelectionBackgroundRange(line: string, startCol: number, endCol: number): string;
50
62
  /** CSI (Control Sequence Introducer) prefix for ANSI escape sequences. */
51
63
  export declare const CSI = "\u001B[";
52
64
  /** CSI Z — Shift+Tab (cycle / back-tab). */
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"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"}
package/dist/ansi.js CHANGED
@@ -9,6 +9,15 @@ export const ANSI_RE = /\x1b\[[0-9;]*m/g;
9
9
  */
10
10
  // eslint-disable-next-line no-control-regex
11
11
  export const STRIP_ALL_ANSI_RE = /\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b\[[0-?]*[ -/]*[@-~]|\x1b[PX^_][\s\S]*?\x1b\\|\x1b[=>NOM78c]/g;
12
+ // Sticky form of STRIP_ALL_ANSI_RE's alternation. Selection walkers use this
13
+ // to preserve terminal-control bytes verbatim while counting them as zero-width.
14
+ // Sticky (not `^`-anchored): matchAnsiEscapeAt sets `lastIndex` to probe at an
15
+ // arbitrary offset, where `^` would only ever match input start.
16
+ // eslint-disable-next-line no-control-regex
17
+ const ANSI_ESCAPE_AT_RE = /(?:\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b\[[0-?]*[ -/]*[@-~]|\x1b[PX^_][\s\S]*?\x1b\\|\x1b[=>NOM78c])/y;
18
+ // eslint-disable-next-line no-control-regex
19
+ const C0_CONTROL_AT_RE = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/y;
20
+ const SGR_SEQUENCE_RE = /^\x1b\[[0-9;]*m$/;
12
21
  /**
13
22
  * BMP code points with Emoji_Presentation=Yes (Unicode 15.1), except
14
23
  * U+25B6/U+25C0 which terminals commonly render as 1-column text glyphs.
@@ -106,6 +115,217 @@ function isWideBmpEmoji(cp) {
106
115
  }
107
116
  return false;
108
117
  }
118
+ function glyphWidth(ch) {
119
+ const cp = ch.codePointAt(0);
120
+ if (cp === 0xFE0F)
121
+ return 0; // VS16 — no terminal width
122
+ return cp > 0xFFFF || isWideBmpEmoji(cp) ? 2 : 1;
123
+ }
124
+ export function matchAnsiEscapeAt(line, i) {
125
+ if (i < 0 || i >= line.length)
126
+ return 0;
127
+ ANSI_ESCAPE_AT_RE.lastIndex = i;
128
+ const escape = ANSI_ESCAPE_AT_RE.exec(line);
129
+ if (escape)
130
+ return escape[0].length;
131
+ C0_CONTROL_AT_RE.lastIndex = i;
132
+ const control = C0_CONTROL_AT_RE.exec(line);
133
+ return control ? control[0].length : 0;
134
+ }
135
+ function createSgrState() {
136
+ return {
137
+ bold: false,
138
+ dim: false,
139
+ italic: false,
140
+ underline: false,
141
+ blink: false,
142
+ inverse: false,
143
+ hidden: false,
144
+ strike: false,
145
+ fg: undefined,
146
+ bg: undefined,
147
+ residual: new Set(),
148
+ };
149
+ }
150
+ function resetSgrState(state) {
151
+ state.bold = false;
152
+ state.dim = false;
153
+ state.italic = false;
154
+ state.underline = false;
155
+ state.blink = false;
156
+ state.inverse = false;
157
+ state.hidden = false;
158
+ state.strike = false;
159
+ state.fg = undefined;
160
+ state.bg = undefined;
161
+ state.residual.clear();
162
+ }
163
+ function parseSgrNumber(raw) {
164
+ if (raw === undefined || !/^\d+$/.test(raw))
165
+ return undefined;
166
+ return Number(raw);
167
+ }
168
+ function setExtendedColor(state, target, params, index) {
169
+ const kind = target === "fg" ? "38" : "48";
170
+ const mode = parseSgrNumber(params[index + 1]);
171
+ if (mode === 5 && parseSgrNumber(params[index + 2]) !== undefined) {
172
+ state[target] = `${kind};5;${params[index + 2]}`;
173
+ return index + 3;
174
+ }
175
+ if (mode === 2
176
+ && parseSgrNumber(params[index + 2]) !== undefined
177
+ && parseSgrNumber(params[index + 3]) !== undefined
178
+ && parseSgrNumber(params[index + 4]) !== undefined) {
179
+ state[target] =
180
+ `${kind};2;${params[index + 2]};${params[index + 3]};${params[index + 4]}`;
181
+ return index + 5;
182
+ }
183
+ return undefined;
184
+ }
185
+ function applySgrSequence(state, sequence) {
186
+ const body = sequence.slice(2, -1);
187
+ const params = body.length === 0
188
+ ? ["0"]
189
+ : body.split(";").map((param) => param === "" ? "0" : param);
190
+ for (let i = 0; i < params.length;) {
191
+ const raw = params[i];
192
+ const code = parseSgrNumber(raw);
193
+ if (code === undefined) {
194
+ state.residual.add(raw);
195
+ i++;
196
+ continue;
197
+ }
198
+ if (code === 0) {
199
+ resetSgrState(state);
200
+ i++;
201
+ continue;
202
+ }
203
+ if (code === 1)
204
+ state.bold = true;
205
+ else if (code === 2)
206
+ state.dim = true;
207
+ else if (code === 3)
208
+ state.italic = true;
209
+ else if (code === 4)
210
+ state.underline = true;
211
+ else if (code === 5)
212
+ state.blink = true;
213
+ else if (code === 7)
214
+ state.inverse = true;
215
+ else if (code === 8)
216
+ state.hidden = true;
217
+ else if (code === 9)
218
+ state.strike = true;
219
+ else if (code === 22) {
220
+ state.bold = false;
221
+ state.dim = false;
222
+ }
223
+ else if (code === 23)
224
+ state.italic = false;
225
+ else if (code === 24)
226
+ state.underline = false;
227
+ else if (code === 25)
228
+ state.blink = false;
229
+ else if (code === 27)
230
+ state.inverse = false;
231
+ else if (code === 28)
232
+ state.hidden = false;
233
+ else if (code === 29)
234
+ state.strike = false;
235
+ else if ((code >= 30 && code <= 37) || (code >= 90 && code <= 97))
236
+ state.fg = raw;
237
+ else if (code === 38) {
238
+ const next = setExtendedColor(state, "fg", params, i);
239
+ if (next !== undefined) {
240
+ i = next;
241
+ continue;
242
+ }
243
+ state.residual.add(raw);
244
+ }
245
+ else if (code === 39)
246
+ state.fg = undefined;
247
+ else if ((code >= 40 && code <= 47) || (code >= 100 && code <= 107))
248
+ state.bg = raw;
249
+ else if (code === 48) {
250
+ const next = setExtendedColor(state, "bg", params, i);
251
+ if (next !== undefined) {
252
+ i = next;
253
+ continue;
254
+ }
255
+ state.residual.add(raw);
256
+ }
257
+ else if (code === 49)
258
+ state.bg = undefined;
259
+ else
260
+ state.residual.add(raw);
261
+ i++;
262
+ }
263
+ }
264
+ function sgrStateKey(state) {
265
+ return [
266
+ state.bold ? "1" : "",
267
+ state.dim ? "2" : "",
268
+ state.italic ? "3" : "",
269
+ state.underline ? "4" : "",
270
+ state.blink ? "5" : "",
271
+ state.inverse ? "7" : "",
272
+ state.hidden ? "8" : "",
273
+ state.strike ? "9" : "",
274
+ state.fg ?? "",
275
+ state.bg ?? "",
276
+ ...Array.from(state.residual).sort(),
277
+ ].join("|");
278
+ }
279
+ /**
280
+ * Deterministic change-detection key for the effective content and SGR
281
+ * attributes of cells in a 1-based inclusive terminal column range.
282
+ */
283
+ export function selectionCellKey(line, startCol, endCol) {
284
+ const start = Math.max(1, Math.floor(startCol));
285
+ const end = Math.max(0, Math.floor(endCol));
286
+ if (end < start)
287
+ return "[]";
288
+ const state = createSgrState();
289
+ const cells = [];
290
+ let col = 1;
291
+ let i = 0;
292
+ let lastGlyphSelected = false;
293
+ while (i < line.length) {
294
+ if (col > end) {
295
+ const ch = String.fromCodePoint(line.codePointAt(i));
296
+ if (glyphWidth(ch) !== 0 || !lastGlyphSelected || cells.length === 0)
297
+ break;
298
+ cells[cells.length - 1][1] += ch;
299
+ i += ch.length;
300
+ continue;
301
+ }
302
+ const escapeLength = matchAnsiEscapeAt(line, i);
303
+ if (escapeLength > 0) {
304
+ const sequence = line.slice(i, i + escapeLength);
305
+ if (SGR_SEQUENCE_RE.test(sequence))
306
+ applySgrSequence(state, sequence);
307
+ i += escapeLength;
308
+ continue;
309
+ }
310
+ const ch = String.fromCodePoint(line.codePointAt(i));
311
+ const width = glyphWidth(ch);
312
+ if (width === 0) {
313
+ if (lastGlyphSelected && cells.length > 0)
314
+ cells[cells.length - 1][1] += ch;
315
+ i += ch.length;
316
+ continue;
317
+ }
318
+ const glyphStart = col;
319
+ const glyphEnd = col + width - 1;
320
+ const selected = glyphEnd >= start && glyphStart <= end;
321
+ if (selected)
322
+ cells.push([sgrStateKey(state), ch]);
323
+ lastGlyphSelected = selected;
324
+ col += width;
325
+ i += ch.length;
326
+ }
327
+ return JSON.stringify(cells);
328
+ }
109
329
  /**
110
330
  * Measure the visible terminal width of a string.
111
331
  * Strips ANSI escape sequences, then iterates code points:
@@ -118,15 +338,7 @@ export function visibleLength(s) {
118
338
  const stripped = s.replace(ANSI_RE, "");
119
339
  let width = 0;
120
340
  for (const ch of stripped) {
121
- const cp = ch.codePointAt(0);
122
- if (cp === 0xFE0F)
123
- continue; // VS16 — no terminal width
124
- if (cp > 0xFFFF || isWideBmpEmoji(cp)) {
125
- width += 2;
126
- }
127
- else {
128
- width += 1;
129
- }
341
+ width += glyphWidth(ch);
130
342
  }
131
343
  return width;
132
344
  }
@@ -160,6 +372,8 @@ export const ALT_SCREEN_ON = "\x1b[?1049h";
160
372
  export const ALT_SCREEN_OFF = "\x1b[?1049l";
161
373
  export const red = "\x1b[31m";
162
374
  export const invert = "\x1b[7m";
375
+ export const SELECTION_BACKGROUND_SGR = "\x1b[48;5;24m";
376
+ export const SELECTION_BACKGROUND_RESET_SGR = "\x1b[49m";
163
377
  export function applyBlockCursor(line, visibleCol) {
164
378
  const targetCol = Math.max(0, visibleCol);
165
379
  let col = 0;
@@ -175,6 +389,117 @@ export function applyBlockCursor(line, visibleCol) {
175
389
  }
176
390
  return `${line}${invert} ${reset}`;
177
391
  }
392
+ /** Extract plain visible text from a 1-based inclusive terminal column range. */
393
+ export function extractVisibleRange(line, startCol, endCol) {
394
+ const start = Math.max(1, Math.floor(startCol));
395
+ const end = Math.max(0, Math.floor(endCol));
396
+ if (end < start)
397
+ return "";
398
+ let out = "";
399
+ let col = 1;
400
+ let i = 0;
401
+ let lastGlyphSelected = false;
402
+ while (i < line.length) {
403
+ const escapeLength = matchAnsiEscapeAt(line, i);
404
+ if (escapeLength > 0) {
405
+ i += escapeLength;
406
+ continue;
407
+ }
408
+ const ch = String.fromCodePoint(line.codePointAt(i));
409
+ const width = glyphWidth(ch);
410
+ if (width === 0) {
411
+ if (lastGlyphSelected)
412
+ out += ch;
413
+ i += ch.length;
414
+ continue;
415
+ }
416
+ const glyphStart = col;
417
+ const glyphEnd = col + width - 1;
418
+ const selected = glyphEnd >= start && glyphStart <= end;
419
+ if (selected)
420
+ out += ch;
421
+ lastGlyphSelected = selected;
422
+ col += width;
423
+ i += ch.length;
424
+ }
425
+ return out;
426
+ }
427
+ function backgroundRestoreSgr(bg) {
428
+ return bg === undefined ? SELECTION_BACKGROUND_RESET_SGR : `\x1b[${bg}m`;
429
+ }
430
+ /** Apply the app-owned selection background over a 1-based inclusive terminal column range. */
431
+ export function applySelectionBackgroundRange(line, startCol, endCol) {
432
+ const start = Math.max(1, Math.floor(startCol));
433
+ const end = Math.max(0, Math.floor(endCol));
434
+ if (end < start)
435
+ return line;
436
+ let out = "";
437
+ const state = createSgrState();
438
+ let col = 1;
439
+ let i = 0;
440
+ let inside = false;
441
+ let lastGlyphSelected = false;
442
+ const enter = () => {
443
+ if (!inside) {
444
+ out += SELECTION_BACKGROUND_SGR;
445
+ inside = true;
446
+ }
447
+ };
448
+ const leave = () => {
449
+ if (inside) {
450
+ out += backgroundRestoreSgr(state.bg);
451
+ inside = false;
452
+ }
453
+ };
454
+ while (i < line.length) {
455
+ const escapeLength = matchAnsiEscapeAt(line, i);
456
+ if (escapeLength > 0) {
457
+ const sequence = line.slice(i, i + escapeLength);
458
+ out += sequence;
459
+ if (SGR_SEQUENCE_RE.test(sequence)) {
460
+ applySgrSequence(state, sequence);
461
+ if (inside)
462
+ out += SELECTION_BACKGROUND_SGR;
463
+ }
464
+ i += escapeLength;
465
+ continue;
466
+ }
467
+ const ch = String.fromCodePoint(line.codePointAt(i));
468
+ const width = glyphWidth(ch);
469
+ if (width === 0) {
470
+ if (lastGlyphSelected)
471
+ enter();
472
+ out += ch;
473
+ i += ch.length;
474
+ continue;
475
+ }
476
+ const glyphStart = col;
477
+ const glyphEnd = col + width - 1;
478
+ const selected = glyphEnd >= start && glyphStart <= end;
479
+ if (selected)
480
+ enter();
481
+ else
482
+ leave();
483
+ out += ch;
484
+ lastGlyphSelected = selected;
485
+ col += width;
486
+ i += ch.length;
487
+ }
488
+ if (col <= end) {
489
+ const plainPad = Math.max(0, start - col);
490
+ if (plainPad > 0) {
491
+ leave();
492
+ out += " ".repeat(plainPad);
493
+ col += plainPad;
494
+ }
495
+ if (col <= end) {
496
+ enter();
497
+ out += " ".repeat(end - col + 1);
498
+ }
499
+ }
500
+ leave();
501
+ return out;
502
+ }
178
503
  /** CSI (Control Sequence Introducer) prefix for ANSI escape sequences. */
179
504
  export const CSI = "\x1b[";
180
505
  /** CSI Z — Shift+Tab (cycle / back-tab). */
package/dist/ansi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAC5B,oGAAoG,CAAC;AAEvG;;;;;GAKG;AACH,MAAM,cAAc,GAAuB;IACzC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,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"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAC5B,oGAAoG,CAAC;AAEvG,6EAA6E;AAC7E,iFAAiF;AACjF,+EAA+E;AAC/E,iEAAiE;AACjE,4CAA4C;AAC5C,MAAM,iBAAiB,GACrB,wGAAwG,CAAC;AAE3G,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,cAAc,GAAuB;IACzC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IAC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"}
@@ -11,6 +11,11 @@ export declare class ArtifactPaneController implements SplitPaneController {
11
11
  render(width: number, height: number): HostUiSurface;
12
12
  handleKey(key: TerminalKey): PaneInputResult;
13
13
  handleMouse(key: TerminalKey): PaneInputResult;
14
+ scrollLines(direction: "back" | "forward", lines: number): number;
15
+ documentLine(index: number): string;
16
+ lineCount(): number;
17
+ getScrollTop(): number;
18
+ getViewportRows(): number;
14
19
  /** Re-render the artifact only when the pane width changes (rare). */
15
20
  private renderLines;
16
21
  private handleScrollKey;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-pane.d.ts","sourceRoot":"","sources":["../../src/offscreen/artifact-pane.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7F,qBAAa,sBAAuB,YAAW,mBAAmB;IAMpD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAL3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,WAAW,CAAgB;gBAEN,cAAc,EAAE,oBAAoB;IAEjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAUpD,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAI5C,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAK9C,sEAAsE;IACtE,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;CAKd"}
1
+ {"version":3,"file":"artifact-pane.d.ts","sourceRoot":"","sources":["../../src/offscreen/artifact-pane.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7F,qBAAa,sBAAuB,YAAW,mBAAmB;IAMpD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAL3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,WAAW,CAAgB;gBAEN,cAAc,EAAE,oBAAoB;IAEjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAUpD,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAI5C,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAK9C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQjE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM;IAIzB,sEAAsE;IACtE,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;CAKd"}
@@ -26,6 +26,25 @@ export class ArtifactPaneController {
26
26
  return this.handleScrollKey(key);
27
27
  return { handled: true, changed: false };
28
28
  }
29
+ scrollLines(direction, lines) {
30
+ const before = this.scrollTop;
31
+ const max = Math.max(0, this.cachedLines.length - this.viewportRows);
32
+ const delta = direction === "back" ? -lines : lines;
33
+ this.scrollTop = Math.min(max, Math.max(0, this.scrollTop + delta));
34
+ return Math.abs(this.scrollTop - before);
35
+ }
36
+ documentLine(index) {
37
+ return this.cachedLines[index] ?? "";
38
+ }
39
+ lineCount() {
40
+ return this.cachedLines.length;
41
+ }
42
+ getScrollTop() {
43
+ return this.scrollTop;
44
+ }
45
+ getViewportRows() {
46
+ return this.viewportRows;
47
+ }
29
48
  /** Re-render the artifact only when the pane width changes (rare). */
30
49
  renderLines(width) {
31
50
  if (width !== this.cachedWidth) {
@@ -59,7 +78,7 @@ export class ArtifactPaneController {
59
78
  return { handled, changed: handled && this.scrollTop !== before };
60
79
  }
61
80
  scrollBy(delta) {
62
- this.scrollTop = Math.max(0, this.scrollTop + delta);
81
+ this.scrollLines(delta < 0 ? "back" : "forward", Math.abs(delta));
63
82
  }
64
83
  clamp(totalLines, viewportRows) {
65
84
  const max = Math.max(0, totalLines - viewportRows);
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-pane.js","sourceRoot":"","sources":["../../src/offscreen/artifact-pane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-pane.js","sourceRoot":"","sources":["../../src/offscreen/artifact-pane.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export declare class OffscreenController {
38
38
  private disposed;
39
39
  constructor(host: Pick<TerminalHost, "getLayout" | "scheduleRender" | "scheduleParentUiRender" | "output" | "setActiveChildStatus" | "setMouseModeSource" | "clearMouseModeSource">, workdir: string, slots: OffscreenSlot[], artifactConfigs?: Partial<Record<OffscreenBinding, OffscreenArtifactPaneConfig>>, inquiry?: OffscreenInquiryConfig | undefined);
40
40
  isIssueInquiryReady(binding: OffscreenBinding): boolean;
41
+ private selectionDelegate;
41
42
  wrap(base: HostParentUiMode): HostParentUiMode;
42
43
  dispose(): void;
43
44
  private handleForkEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWxE,OAAO,KAAK,EAAE,oBAAoB,EAAmB,MAAM,YAAY,CAAC;AAGxE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,mBAAmB;IAyB5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAUrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IArC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiE;IACjG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+D;IAC9F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgD;IACjF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IACxE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8C;IACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,KAAK,CAAkF;IAC/F,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAGN,IAAI,EAAE,IAAI,CACzB,YAAY,EACV,WAAW,GACX,gBAAgB,GAChB,wBAAwB,GACxB,QAAQ,GACR,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,CACzB,EACgB,OAAO,EAAE,MAAM,EAChC,KAAK,EAAE,aAAa,EAAE,EACtB,eAAe,GAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAM,EACnE,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAanD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAIvD,OAAO,CAAC,iBAAiB;IAYzB,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IAmI9C,OAAO,IAAI,IAAI;IAqBf,OAAO,CAAC,gBAAgB;IAiExB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,IAAI;IAkCZ,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,iBAAiB;YA8CX,sBAAsB;IA0BpC,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;YAgBR,kBAAkB;IAgChC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;CAM1B;AAED,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}