poly-weaver 0.7.1 → 0.8.1

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 (232) hide show
  1. package/dist/agents/implementors/handler.d.ts.map +1 -1
  2. package/dist/agents/implementors/handler.js +2 -1
  3. package/dist/agents/implementors/handler.js.map +1 -1
  4. package/dist/agents/planners/handler.d.ts.map +1 -1
  5. package/dist/agents/planners/handler.js +2 -1
  6. package/dist/agents/planners/handler.js.map +1 -1
  7. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  8. package/dist/agents/reviewers/handler.js +2 -1
  9. package/dist/agents/reviewers/handler.js.map +1 -1
  10. package/dist/agents/runner.d.ts +25 -0
  11. package/dist/agents/runner.d.ts.map +1 -1
  12. package/dist/agents/runner.js +63 -1
  13. package/dist/agents/runner.js.map +1 -1
  14. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  15. package/dist/agents/simplifiers/handler.js +2 -1
  16. package/dist/agents/simplifiers/handler.js.map +1 -1
  17. package/dist/ansi.d.ts +21 -0
  18. package/dist/ansi.d.ts.map +1 -1
  19. package/dist/ansi.js +45 -0
  20. package/dist/ansi.js.map +1 -1
  21. package/dist/app-header.d.ts +16 -0
  22. package/dist/app-header.d.ts.map +1 -0
  23. package/dist/app-header.js +74 -0
  24. package/dist/app-header.js.map +1 -0
  25. package/dist/cli.js +81 -59
  26. package/dist/cli.js.map +1 -1
  27. package/dist/config.d.ts +1 -0
  28. package/dist/config.d.ts.map +1 -1
  29. package/dist/config.js +6 -0
  30. package/dist/config.js.map +1 -1
  31. package/dist/dump/collector.d.ts +2 -1
  32. package/dist/dump/collector.d.ts.map +1 -1
  33. package/dist/dump/collector.js +12 -0
  34. package/dist/dump/collector.js.map +1 -1
  35. package/dist/dump/hotkey.d.ts +9 -30
  36. package/dist/dump/hotkey.d.ts.map +1 -1
  37. package/dist/dump/hotkey.js +15 -158
  38. package/dist/dump/hotkey.js.map +1 -1
  39. package/dist/dump/pty-tail-buffer.d.ts +25 -0
  40. package/dist/dump/pty-tail-buffer.d.ts.map +1 -0
  41. package/dist/dump/pty-tail-buffer.js +48 -0
  42. package/dist/dump/pty-tail-buffer.js.map +1 -0
  43. package/dist/dump/service.d.ts +3 -2
  44. package/dist/dump/service.d.ts.map +1 -1
  45. package/dist/dump/service.js +6 -1
  46. package/dist/dump/service.js.map +1 -1
  47. package/dist/dump/types.d.ts +13 -0
  48. package/dist/dump/types.d.ts.map +1 -1
  49. package/dist/dump/types.js.map +1 -1
  50. package/dist/flow/built-in/default-factory.d.ts +21 -0
  51. package/dist/flow/built-in/default-factory.d.ts.map +1 -0
  52. package/dist/flow/built-in/default-factory.js +155 -0
  53. package/dist/flow/built-in/default-factory.js.map +1 -0
  54. package/dist/flow/built-in/default.d.ts +4 -4
  55. package/dist/flow/built-in/default.d.ts.map +1 -1
  56. package/dist/flow/built-in/default.js +3 -141
  57. package/dist/flow/built-in/default.js.map +1 -1
  58. package/dist/flow/built-in/default.ts +5 -169
  59. package/dist/flow/built-in/why-so-serious-factory.d.ts +16 -0
  60. package/dist/flow/built-in/why-so-serious-factory.d.ts.map +1 -0
  61. package/dist/flow/built-in/why-so-serious-factory.js +187 -0
  62. package/dist/flow/built-in/why-so-serious-factory.js.map +1 -0
  63. package/dist/flow/built-in/why-so-serious.d.ts +3 -2
  64. package/dist/flow/built-in/why-so-serious.d.ts.map +1 -1
  65. package/dist/flow/built-in/why-so-serious.js +3 -164
  66. package/dist/flow/built-in/why-so-serious.js.map +1 -1
  67. package/dist/flow/custom/AUTHORING.md +13 -0
  68. package/dist/flow/custom/load.d.ts +16 -1
  69. package/dist/flow/custom/load.d.ts.map +1 -1
  70. package/dist/flow/custom/load.js +69 -18
  71. package/dist/flow/custom/load.js.map +1 -1
  72. package/dist/flow/dsl.js +1 -1
  73. package/dist/flow/dsl.js.map +1 -1
  74. package/dist/flow/executor.d.ts.map +1 -1
  75. package/dist/flow/executor.js +52 -9
  76. package/dist/flow/executor.js.map +1 -1
  77. package/dist/flow/types.d.ts +24 -2
  78. package/dist/flow/types.d.ts.map +1 -1
  79. package/dist/flow/types.js.map +1 -1
  80. package/dist/flow-editor/tui.d.ts.map +1 -1
  81. package/dist/flow-editor/tui.js +9 -18
  82. package/dist/flow-editor/tui.js.map +1 -1
  83. package/dist/orchestrator.d.ts +43 -0
  84. package/dist/orchestrator.d.ts.map +1 -1
  85. package/dist/orchestrator.js +230 -92
  86. package/dist/orchestrator.js.map +1 -1
  87. package/dist/providers/base-completion.d.ts +18 -0
  88. package/dist/providers/base-completion.d.ts.map +1 -1
  89. package/dist/providers/base-completion.js +29 -0
  90. package/dist/providers/base-completion.js.map +1 -1
  91. package/dist/providers/claude/completion-plan-mode.d.ts +9 -1
  92. package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
  93. package/dist/providers/claude/completion-plan-mode.js +58 -4
  94. package/dist/providers/claude/completion-plan-mode.js.map +1 -1
  95. package/dist/providers/claude/plan-mode-pty-monitor.d.ts +51 -0
  96. package/dist/providers/claude/plan-mode-pty-monitor.d.ts.map +1 -0
  97. package/dist/providers/claude/plan-mode-pty-monitor.js +97 -0
  98. package/dist/providers/claude/plan-mode-pty-monitor.js.map +1 -0
  99. package/dist/providers/claude/strategy.d.ts.map +1 -1
  100. package/dist/providers/claude/strategy.js +6 -1
  101. package/dist/providers/claude/strategy.js.map +1 -1
  102. package/dist/providers/claude/tool-tracking.d.ts +1 -0
  103. package/dist/providers/claude/tool-tracking.d.ts.map +1 -1
  104. package/dist/providers/claude/tool-tracking.js +3 -0
  105. package/dist/providers/claude/tool-tracking.js.map +1 -1
  106. package/dist/providers/codex/plan-mode-activator.d.ts +23 -0
  107. package/dist/providers/codex/plan-mode-activator.d.ts.map +1 -0
  108. package/dist/providers/codex/plan-mode-activator.js +207 -0
  109. package/dist/providers/codex/plan-mode-activator.js.map +1 -0
  110. package/dist/providers/codex/session.d.ts +1 -0
  111. package/dist/providers/codex/session.d.ts.map +1 -1
  112. package/dist/providers/codex/session.js +35 -18
  113. package/dist/providers/codex/session.js.map +1 -1
  114. package/dist/providers/codex/strategy.d.ts +2 -1
  115. package/dist/providers/codex/strategy.d.ts.map +1 -1
  116. package/dist/providers/codex/strategy.js +17 -13
  117. package/dist/providers/codex/strategy.js.map +1 -1
  118. package/dist/providers/copilot/session.d.ts.map +1 -1
  119. package/dist/providers/copilot/session.js +11 -20
  120. package/dist/providers/copilot/session.js.map +1 -1
  121. package/dist/providers/types.d.ts +76 -0
  122. package/dist/providers/types.d.ts.map +1 -1
  123. package/dist/providers/types.js.map +1 -1
  124. package/dist/pty/spawn.d.ts.map +1 -1
  125. package/dist/pty/spawn.js +6 -1
  126. package/dist/pty/spawn.js.map +1 -1
  127. package/dist/pty/types.d.ts +7 -2
  128. package/dist/pty/types.d.ts.map +1 -1
  129. package/dist/resume-tui.d.ts +52 -0
  130. package/dist/resume-tui.d.ts.map +1 -0
  131. package/dist/resume-tui.js +344 -0
  132. package/dist/resume-tui.js.map +1 -0
  133. package/dist/session/flow-snapshot.d.ts +14 -0
  134. package/dist/session/flow-snapshot.d.ts.map +1 -0
  135. package/dist/session/flow-snapshot.js +28 -0
  136. package/dist/session/flow-snapshot.js.map +1 -0
  137. package/dist/session/list.d.ts +16 -0
  138. package/dist/session/list.d.ts.map +1 -0
  139. package/dist/session/list.js +89 -0
  140. package/dist/session/list.js.map +1 -0
  141. package/dist/session/locator.d.ts +15 -0
  142. package/dist/session/locator.d.ts.map +1 -1
  143. package/dist/session/locator.js +46 -27
  144. package/dist/session/locator.js.map +1 -1
  145. package/dist/session/lock.d.ts +26 -0
  146. package/dist/session/lock.d.ts.map +1 -0
  147. package/dist/session/lock.js +95 -0
  148. package/dist/session/lock.js.map +1 -0
  149. package/dist/session/manifest.d.ts +80 -0
  150. package/dist/session/manifest.d.ts.map +1 -0
  151. package/dist/session/manifest.js +2 -0
  152. package/dist/session/manifest.js.map +1 -0
  153. package/dist/session/persistence.d.ts +19 -0
  154. package/dist/session/persistence.d.ts.map +1 -0
  155. package/dist/session/persistence.js +68 -0
  156. package/dist/session/persistence.js.map +1 -0
  157. package/dist/session/process-start-time.d.ts +17 -0
  158. package/dist/session/process-start-time.d.ts.map +1 -0
  159. package/dist/session/process-start-time.js +99 -0
  160. package/dist/session/process-start-time.js.map +1 -0
  161. package/dist/session/restore.d.ts +31 -0
  162. package/dist/session/restore.d.ts.map +1 -0
  163. package/dist/session/restore.js +111 -0
  164. package/dist/session/restore.js.map +1 -0
  165. package/dist/session/resume.d.ts +5 -0
  166. package/dist/session/resume.d.ts.map +1 -0
  167. package/dist/session/resume.js +109 -0
  168. package/dist/session/resume.js.map +1 -0
  169. package/dist/session/session-store.d.ts +43 -0
  170. package/dist/session/session-store.d.ts.map +1 -0
  171. package/dist/session/session-store.js +134 -0
  172. package/dist/session/session-store.js.map +1 -0
  173. package/dist/startup-tui.d.ts +10 -11
  174. package/dist/startup-tui.d.ts.map +1 -1
  175. package/dist/startup-tui.js +25 -108
  176. package/dist/startup-tui.js.map +1 -1
  177. package/dist/status-bar.js +1 -26
  178. package/dist/status-bar.js.map +1 -1
  179. package/dist/terminal/host.d.ts +22 -9
  180. package/dist/terminal/host.d.ts.map +1 -1
  181. package/dist/terminal/host.js +67 -78
  182. package/dist/terminal/host.js.map +1 -1
  183. package/dist/terminal/input-router.d.ts +24 -103
  184. package/dist/terminal/input-router.d.ts.map +1 -1
  185. package/dist/terminal/input-router.js +63 -364
  186. package/dist/terminal/input-router.js.map +1 -1
  187. package/dist/terminal/key-event-source.d.ts +52 -0
  188. package/dist/terminal/key-event-source.d.ts.map +1 -0
  189. package/dist/terminal/key-event-source.js +31 -0
  190. package/dist/terminal/key-event-source.js.map +1 -0
  191. package/dist/terminal/key-to-bytes.d.ts +11 -0
  192. package/dist/terminal/key-to-bytes.d.ts.map +1 -0
  193. package/dist/terminal/key-to-bytes.js +81 -0
  194. package/dist/terminal/key-to-bytes.js.map +1 -0
  195. package/dist/terminal/koffi-loader.d.ts +14 -0
  196. package/dist/terminal/koffi-loader.d.ts.map +1 -1
  197. package/dist/terminal/koffi-loader.js.map +1 -1
  198. package/dist/terminal/render.d.ts +1 -2
  199. package/dist/terminal/render.d.ts.map +1 -1
  200. package/dist/terminal/render.js +1 -30
  201. package/dist/terminal/render.js.map +1 -1
  202. package/dist/terminal/stdin-byte-source.d.ts +27 -0
  203. package/dist/terminal/stdin-byte-source.d.ts.map +1 -0
  204. package/dist/terminal/stdin-byte-source.js +92 -0
  205. package/dist/terminal/stdin-byte-source.js.map +1 -0
  206. package/dist/terminal/win32-console-mode.d.ts.map +1 -1
  207. package/dist/terminal/win32-console-mode.js.map +1 -1
  208. package/dist/terminal/win32-console-source.d.ts +26 -0
  209. package/dist/terminal/win32-console-source.d.ts.map +1 -0
  210. package/dist/terminal/win32-console-source.js +275 -0
  211. package/dist/terminal/win32-console-source.js.map +1 -0
  212. package/dist/terminal/win32-key-translator.d.ts +26 -0
  213. package/dist/terminal/win32-key-translator.d.ts.map +1 -0
  214. package/dist/terminal/win32-key-translator.js +87 -0
  215. package/dist/terminal/win32-key-translator.js.map +1 -0
  216. package/dist/terminal-input.d.ts +10 -0
  217. package/dist/terminal-input.d.ts.map +1 -1
  218. package/dist/terminal-input.js +132 -113
  219. package/dist/terminal-input.js.map +1 -1
  220. package/dist/user/host-curate-prompt.d.ts +2 -1
  221. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  222. package/dist/user/host-curate-prompt.js +13 -11
  223. package/dist/user/host-curate-prompt.js.map +1 -1
  224. package/dist/user/host-prompt.d.ts +4 -1
  225. package/dist/user/host-prompt.d.ts.map +1 -1
  226. package/dist/user/host-prompt.js +24 -6
  227. package/dist/user/host-prompt.js.map +1 -1
  228. package/dist/user/prompt.d.ts +7 -9
  229. package/dist/user/prompt.d.ts.map +1 -1
  230. package/dist/user/prompt.js +14 -23
  231. package/dist/user/prompt.js.map +1 -1
  232. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
- import { ALT_SCREEN_OFF, ALT_SCREEN_ON, CLEAR_SCREEN, CURSOR_HOME, HIDE_CURSOR, MOUSE_OFF, MOUSE_ON, RESET_SCROLL_REGION, SHOW_CURSOR, visibleLength, } from "../ansi.js";
1
+ import { ALT_SCREEN_OFF, ALT_SCREEN_ON, CLEAR_SCREEN, CURSOR_HOME, HIDE_CURSOR, MOUSE_OFF, MOUSE_ON, RESET_SCROLL_REGION, SHOW_CURSOR, padOrClip, } from "../ansi.js";
2
2
  import { computeTerminalLayout } from "./layout.js";
3
3
  import { VirtualTerminal } from "./virtual-terminal.js";
4
4
  import { renderChildViewport, renderStatusLine } from "./render.js";
5
5
  import { BufferOrchestrationOutput, formatOrchestrationMessage, } from "./output.js";
6
6
  import { InputRouter } from "./input-router.js";
7
- import { enableVtInputOnStdin } from "./win32-console-mode.js";
7
+ import { createKeyEventSource } from "./key-event-source.js";
8
8
  /**
9
9
  * Parent-owned orchestration terminal host.
10
10
  *
@@ -38,8 +38,19 @@ export class TerminalHost {
38
38
  started = false;
39
39
  stopped = false;
40
40
  suspended = false;
41
- prevRawMode = false;
42
41
  resizeListener;
42
+ source;
43
+ injectedSource;
44
+ sourceUnsubscribe;
45
+ sourceResizeUnsubscribe;
46
+ /**
47
+ * Authoritative terminal size as observed by the host. Updated by both
48
+ * source-driven (FFI `WINDOW_BUFFER_SIZE_RECORD`) and stdout-driven
49
+ * (libuv `process.stdout.emit("resize")`) resize signals. Read by
50
+ * `computeLayout()`. Undefined until the first resize observation, in
51
+ * which case `computeLayout()` falls back to `stdout.columns`/`rows`.
52
+ */
53
+ lastSize;
43
54
  renderScheduled = false;
44
55
  pendingFlush = false;
45
56
  /**
@@ -51,15 +62,7 @@ export class TerminalHost {
51
62
  * flush flips it back to true.
52
63
  */
53
64
  pendingFullRender = false;
54
- stdinListener;
55
65
  parentUi;
56
- /**
57
- * Windows-only console-mode guard. Set after raw mode is enabled so
58
- * ConPTY forwards SGR mouse bytes to stdin (libuv's `setRawMode` does
59
- * not flip `ENABLE_VIRTUAL_TERMINAL_INPUT` on its own). Cleared and
60
- * restored before raw mode is reverted on stop or alt-screen suspend.
61
- */
62
- vtInputGuard = null;
63
66
  constructor(opts = {}) {
64
67
  this.stdin = opts.stdin ?? process.stdin;
65
68
  this.stdout = opts.stdout ?? process.stdout;
@@ -71,6 +74,7 @@ export class TerminalHost {
71
74
  // followed by a coalesced repaint.
72
75
  this.bufferOutput.setOnChange(() => this.handleOutputChange());
73
76
  this.onDump = opts.onDump;
77
+ this.injectedSource = opts.keyEventSource;
74
78
  this.router = new InputRouter({
75
79
  onDump: opts.onDump,
76
80
  onInterrupt: () => this.fireInterrupt(),
@@ -142,35 +146,33 @@ export class TerminalHost {
142
146
  this.vt = new VirtualTerminal(this.layout.childCols, this.layout.childRows);
143
147
  this.stdout.write(ALT_SCREEN_ON + CLEAR_SCREEN + CURSOR_HOME + HIDE_CURSOR + MOUSE_ON);
144
148
  if (this.stdin.isTTY) {
145
- this.prevRawMode = this.stdin.isRaw === true;
146
- this.stdin.setRawMode(true);
147
- this.vtInputGuard = enableVtInputOnStdin();
148
- this.stdin.resume();
149
- this.stdinListener = (chunk) => this.router.handleChunk(chunk);
150
- this.stdin.on("data", this.stdinListener);
149
+ this.startSource();
151
150
  }
152
151
  this.resizeListener = () => this.handleResize();
153
152
  this.stdout.on("resize", this.resizeListener);
154
153
  this.scheduleRender();
155
154
  }
155
+ startSource() {
156
+ this.source = this.injectedSource ?? createKeyEventSource({ stdin: this.stdin });
157
+ this.source.start();
158
+ this.sourceUnsubscribe = this.source.onEvents((events) => {
159
+ this.router.handleEvents(events);
160
+ });
161
+ this.sourceResizeUnsubscribe = this.source.onResize((size) => this.handleResize(size));
162
+ }
163
+ stopSource() {
164
+ this.sourceUnsubscribe?.();
165
+ this.sourceUnsubscribe = undefined;
166
+ this.sourceResizeUnsubscribe?.();
167
+ this.sourceResizeUnsubscribe = undefined;
168
+ this.source?.stop();
169
+ this.source = undefined;
170
+ }
156
171
  stop() {
157
172
  if (!this.started || this.stopped)
158
173
  return;
159
174
  this.stopped = true;
160
- if (this.stdinListener) {
161
- this.stdin.removeListener("data", this.stdinListener);
162
- this.stdinListener = undefined;
163
- }
164
- if (this.stdin.isTTY) {
165
- // Restore VT-input bit before setRawMode reverts so libuv's mode
166
- // write is the final state of the console-mode word.
167
- this.vtInputGuard?.restore();
168
- this.vtInputGuard = null;
169
- try {
170
- this.stdin.setRawMode(this.prevRawMode);
171
- }
172
- catch { /* ignore */ }
173
- }
175
+ this.stopSource();
174
176
  if (this.resizeListener) {
175
177
  this.stdout.removeListener("resize", this.resizeListener);
176
178
  this.resizeListener = undefined;
@@ -336,17 +338,7 @@ export class TerminalHost {
336
338
  throw new Error("TerminalHost.runIsolatedAltScreen: already suspended");
337
339
  }
338
340
  this.suspended = true;
339
- if (this.stdinListener) {
340
- this.stdin.removeListener("data", this.stdinListener);
341
- }
342
- if (this.stdin.isTTY) {
343
- this.vtInputGuard?.restore();
344
- this.vtInputGuard = null;
345
- try {
346
- this.stdin.setRawMode(this.prevRawMode);
347
- }
348
- catch { /* ignore */ }
349
- }
341
+ this.stopSource();
350
342
  this.stdout.write(MOUSE_OFF + RESET_SCROLL_REGION + CLEAR_SCREEN + CURSOR_HOME + ALT_SCREEN_OFF + SHOW_CURSOR);
351
343
  const layoutSnapshot = this.layout ?? this.computeLayout();
352
344
  const io = {
@@ -362,15 +354,7 @@ export class TerminalHost {
362
354
  finally {
363
355
  this.stdout.write(ALT_SCREEN_ON + CLEAR_SCREEN + CURSOR_HOME + HIDE_CURSOR + MOUSE_ON);
364
356
  if (this.stdin.isTTY) {
365
- try {
366
- this.stdin.setRawMode(true);
367
- }
368
- catch { /* ignore */ }
369
- this.vtInputGuard = enableVtInputOnStdin();
370
- this.stdin.resume();
371
- if (this.stdinListener) {
372
- this.stdin.on("data", this.stdinListener);
373
- }
357
+ this.startSource();
374
358
  }
375
359
  this.suspended = false;
376
360
  this.layout = this.computeLayout();
@@ -553,9 +537,38 @@ export class TerminalHost {
553
537
  }
554
538
  return out;
555
539
  }
556
- handleResize() {
540
+ handleResize(size) {
557
541
  if (!this.isActive)
558
542
  return;
543
+ let next;
544
+ if (size) {
545
+ // FFI path: WINDOW_BUFFER_SIZE_RECORD dims are authoritative because
546
+ // libuv never saw the record and `stdout.columns`/`rows` stay stale.
547
+ next = size;
548
+ }
549
+ else {
550
+ // Byte path / stdout.on("resize") path: libuv just refreshed
551
+ // `stdout.columns`/`rows`, so they are the authoritative dims.
552
+ // Overwrite `lastSize` — any stale FFI value from before the last
553
+ // `source.stop()` (e.g. during runIsolatedAltScreen suspension)
554
+ // would otherwise mask the new size on resume.
555
+ const c = this.stdout.columns;
556
+ const r = this.stdout.rows;
557
+ if (typeof c === "number" && typeof r === "number") {
558
+ next = { columns: c, rows: r };
559
+ }
560
+ }
561
+ // De-dupe redundant resize cascades. On Windows with the FFI source
562
+ // both `source.onResize` (from `WINDOW_BUFFER_SIZE_RECORD`) and
563
+ // `stdout.on("resize")` fire for the same physical resize; without
564
+ // this guard, layout/vt/child resizes and a render would run twice.
565
+ if (next !== undefined
566
+ && this.lastSize !== undefined
567
+ && next.columns === this.lastSize.columns
568
+ && next.rows === this.lastSize.rows) {
569
+ return;
570
+ }
571
+ this.lastSize = next;
559
572
  this.layout = this.computeLayout();
560
573
  if (this.vt)
561
574
  this.vt.resize(this.layout.childCols, this.layout.childRows);
@@ -565,8 +578,8 @@ export class TerminalHost {
565
578
  this.scheduleRender();
566
579
  }
567
580
  computeLayout() {
568
- const columns = this.stdout.columns ?? 120;
569
- const rows = this.stdout.rows ?? 30;
581
+ const columns = this.lastSize?.columns ?? this.stdout.columns ?? 120;
582
+ const rows = this.lastSize?.rows ?? this.stdout.rows ?? 30;
570
583
  // Layout policy lives here, not in StatusBar.reservedRows. The status
571
584
  // row is reserved whenever a status bar is attached and we have a TTY
572
585
  // — `computeTerminalLayout` enforces the rows >= 2 rule. The warning
@@ -634,28 +647,4 @@ export function mapSurfaceCursorToScreen(layout, surface) {
634
647
  const screenCol = Math.min(Math.max(1, surface.cursor.col + 1), Math.max(1, layout.columns));
635
648
  return { row: screenRow, col: screenCol };
636
649
  }
637
- function padOrClip(text, width) {
638
- const vis = visibleLength(text);
639
- if (vis === width)
640
- return text;
641
- if (vis < width)
642
- return text + " ".repeat(width - vis);
643
- let out = "";
644
- let count = 0;
645
- let i = 0;
646
- while (i < text.length && count < width) {
647
- if (text[i] === "\x1b" && text[i + 1] === "[") {
648
- const m = text.slice(i).match(/^\x1b\[[0-9;]*m/);
649
- if (m) {
650
- out += m[0];
651
- i += m[0].length;
652
- continue;
653
- }
654
- }
655
- out += text[i];
656
- count += 1;
657
- i += 1;
658
- }
659
- return out;
660
- }
661
650
  //# sourceMappingURL=host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/terminal/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/terminal/host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAuB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uBAAuB,CAAC;AAgElF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,YAAY;IACN,KAAK,CAAoB;IACzB,MAAM,CAAqB;IAC3B,MAAM,CAAc;IACpB,YAAY,CAA4B;IACxC,MAAM,CAA2B;IACjC,kBAAkB,GAAG,IAAI,GAAG,EAAc,CAAC;IACpD,SAAS,CAAwB;IACjC,WAAW,CAAwB;IACnC,EAAE,CAA8B;IAChC,MAAM,CAA6B;IACnC,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,CAA2B;IACzC,MAAM,CAA6B;IAC1B,cAAc,CAA6B;IACpD,iBAAiB,CAA2B;IAC5C,uBAAuB,CAA2B;IAC1D;;;;;;OAMG;IACK,QAAQ,CAAgD;IACxD,eAAe,GAAG,KAAK,CAAC;IACxB,YAAY,GAAG,KAAK,CAAC;IAC7B;;;;;;;OAOG;IACK,iBAAiB,GAAG,KAAK,CAAC;IAC1B,QAAQ,CAA2B;IAE3C,YAAY,OAA4B,EAAE;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QACnE,mEAAmE;QACnE,qEAAqE;QACrE,kEAAkE;QAClE,mCAAmC;QACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAC/D,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;YACrE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YACvD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACnC,CAAC;IAED,2DAA2D;IAC3D,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wEAAwE;IACxE,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,mDAAmD;IACnD,eAAe,CAAC,GAAc;QAC5B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,qEAAqE;QACpE,GAA4C,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrF,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,QAAoB;QAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,GAAG,EAAE;YACV,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;QAEvF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAqB,EAAE,EAAE;YACtE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,GAAG,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAC5F,CAAC;QAEF,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAiB;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,mEAAmE;YACnE,yCAAyC;YACzC,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW;gBAAE,OAAO;YAC7C,2DAA2D;YAC3D,qCAAqC;YACrC,IAAI,WAAW,CAAC,gBAAgB;gBAAE,OAAO;YACzC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO;YACrB,oEAAoE;YACpE,EAAE;YACF,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,2DAA2D;YAC3D,+DAA+D;YAC/D,wDAAwD;YACxD,kEAAkE;YAClE,0DAA0D;YAC1D,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;YAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBACrB,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;wBAC3B,oDAAoD;wBACpD,+CAA+C;wBAC/C,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,wDAAwD;oBACxD,qDAAqD;oBACrD,0DAA0D;oBAC1D,mCAAmC;oBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;oBACnC,MAAM,KAAK,GAAG,iBAAiB,GAAG,QAAQ,CAAC;oBAC3C,IAAI,KAAK,GAAG,CAAC;wBAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;yBACrC,IAAI,KAAK,GAAG,CAAC;wBAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,4DAA4D;QAC5D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,MAAkB;QAC5B,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,gGAAgG;IACxF,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAkB;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,IAAmB;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO;QAC3C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,oBAAoB,CACxB,GAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,GAAG,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAC5F,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3D,MAAM,EAAE,GAAwB;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;SACnC,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;YACvF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,CAAC,CAAC,SAAS,CAAC;QACd,wEAAwE;QACxE,mEAAmE;QACnE,sEAAsE;QACtE,+DAA+D;QAC/D,oBAAoB;QACpB,MAAM,UAAU,GACd,CAAC,UAAU;eACR,OAAO,KAAK,SAAS;eACrB,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAEnD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,IAAI,QAAQ,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAC1B,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC3E,KAAK,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;QACvC,CAAC;QACD,KAAK,IAAI,WAAW,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,YAAY,CAAC,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,UAAU;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC/C,mEAAmE;QACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,EAAE,EAAE,CAAC;YACP,CAAC;YAAC,MAAM,CAAC,CAAC,wEAAwE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAa;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,wBAAwB,CAAC,KAAa;QAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,eAAe,CAAC,MAAsB,EAAE,OAAsB;QACpE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;QACzD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,GAAG,IAAI,QAAQ,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,MAAM,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc,CAAC,MAAsB;QAC3C,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,mEAAmE;QACnE,oEAAoE;QACpE,8BAA8B;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,GAAG,IAAI,QAAQ,MAAM,CAAC,eAAe,GAAG,CAAC,oBAAoB,MAAM,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,IAAwC;QAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,IAAmD,CAAC;QACxD,IAAI,IAAI,EAAE,CAAC;YACT,qEAAqE;YACrE,qEAAqE;YACrE,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,+DAA+D;YAC/D,kEAAkE;YAClE,gEAAgE;YAChE,+CAA+C;YAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,gEAAgE;QAChE,mEAAmE;QACnE,oEAAoE;QACpE,IACE,IAAI,KAAK,SAAS;eACf,IAAI,CAAC,QAAQ,KAAK,SAAS;eAC3B,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO;eACtC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EACnC,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3D,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,kEAAkE;QAClE,oBAAoB;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QACxD,OAAO,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACK,kBAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IACE,IAAI,KAAK,SAAS;eACf,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,EAC3E,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;CACF;AAED,SAAS,kBAAkB,CAAC,IAAkB;IAC5C,OAAO,OAAQ,IAAyB,CAAC,UAAU,KAAK,UAAU,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAsB,EACtB,OAAsB;IAEtB,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,0CAA0C;IAChF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC;IACzD,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,OAAO,GAAG,KAAK,IAAI,SAAS;QAChC,CAAC,CAAC,SAAS,GAAG,KAAK;QACnB,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EACnC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAC5B,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC"}
@@ -1,14 +1,19 @@
1
+ import type { TerminalKey } from "../terminal-input.js";
1
2
  import type { PtyHandle } from "../pty/types.js";
2
3
  /**
3
- * Active parent UI mode (e.g. user-review prompt). When attached, raw
4
- * stdin chunks are routed to it BEFORE host shortcuts / mouse / interrupt
5
- * (but AFTER the global Ctrl+] dump detector). A host-backed prompt that
6
- * wants to own wheel/mouse input simply consumes the chunk by returning
4
+ * Active parent UI mode (e.g. user-review prompt). When attached, event
5
+ * arrays are routed to it BEFORE host shortcuts / wheel scroll (but
6
+ * AFTER the global dump hotkey check). A host-backed prompt that wants
7
+ * to own wheel/mouse input simply consumes the events by returning
7
8
  * `true` (the default).
8
9
  */
9
10
  export interface ParentUiMode {
10
- /** Receive a chunk of raw input. Return true if consumed (don't forward). */
11
- onInput(chunk: Buffer): boolean | void;
11
+ /**
12
+ * Receive a batch of `TerminalKey` events. Return `true` (or `void`)
13
+ * to consume the entire batch; return `false` to let the router fall
14
+ * through to its own shortcut/child routing for the same events.
15
+ */
16
+ onEvents(events: TerminalKey[]): boolean | void;
12
17
  }
13
18
  /**
14
19
  * Number of lines to scroll for a single mouse-wheel event. Small enough
@@ -18,7 +23,7 @@ export declare const WHEEL_LINES_PER_EVENT = 3;
18
23
  export interface InputRouterOptions {
19
24
  /** Trigger a dump capture when Ctrl+] is observed. */
20
25
  onDump?: () => void;
21
- /** Host interrupt: invoked when raw Ctrl+C (byte 0x03) is observed and no parent UI consumes it. */
26
+ /** Host interrupt: invoked when Ctrl+C is observed and no parent UI consumes it. */
22
27
  onInterrupt?: () => void;
23
28
  /** Scroll back by N lines (older content). */
24
29
  onScrollBackLines?: (lines: number) => void;
@@ -32,115 +37,31 @@ export interface InputRouterOptions {
32
37
  onScrollToBottom?: () => void;
33
38
  }
34
39
  /**
35
- * Centralizes stdin ownership while the orchestration host is active.
36
- *
37
- * Routing order on each chunk:
40
+ * Event-based input router. Operates on `TerminalKey[]` produced by a
41
+ * `KeyEventSource`; the byte-level state machine is internal to
42
+ * `StdinByteSource`'s parser.
38
43
  *
39
- * 1. Dump hotkey detector (Ctrl+]) strips dump bytes from forward.
40
- * The detector also reassembles split CSI sequences for kitty /
41
- * win32 dump variants, so when configured, downstream stages see
42
- * whole sequences for those paths.
44
+ * Routing order on each event batch:
45
+ * 1. Dump hotkey check (Ctrl+]) strips matching events before they
46
+ * reach the parent UI or child.
43
47
  * 2. Active parent UI mode (if attached) — fully consumes by default.
44
- * Parent UI receives Ctrl+C, mouse, and nav keys first and may
45
- * handle them. Only when there is no parent UI, or it returns
46
- * `false`, does routing fall through to the host's own handlers.
47
- * 3. SGR mouse-wheel parsing — consumes `CSI < 64/65 ; … M` for
48
- * vertical wheel events and dispatches scroll callbacks. Non-wheel
49
- * SGR mouse events flow through unchanged. A small first-class
50
- * buffer reassembles SGR mouse sequences split across chunks so
51
- * the routing works regardless of whether the dump detector is
52
- * configured.
53
- * 4. Host shortcut routing on remaining bytes:
54
- * - Ctrl+C (0x03) → `onInterrupt()`
55
- * - PageUp (CSI 5~) → `onScrollPages(-1)`
56
- * - PageDown (CSI 6~) → `onScrollPages(+1)`
57
- * - Home (CSI 1~/H) → `onScrollToTop()`
58
- * - End (CSI 4~/F) → `onScrollToBottom()`
59
- * 5. Attached child PTY when `gateOpen` is true — `handle.write(forward)`.
60
- * 6. Otherwise the chunk is dropped.
48
+ * 3. Wheel events scrollback callbacks (consumed; never reach child).
49
+ * 4. Host shortcuts: Ctrl+C onInterrupt; page/home/end scrollback.
50
+ * 5. Remaining events child PTY when `gateOpen` is true, encoded via
51
+ * `encodeKeysToBytes`. Otherwise dropped.
61
52
  */
62
53
  export declare class InputRouter {
63
54
  private readonly options;
64
55
  private parentUiMode;
65
56
  private childHandle;
66
- private dumpDetector;
67
- /** Buffered head of a split SGR mouse sequence (`ESC [ < … `). */
68
- private sgrPartial;
69
- private sgrPartialTimer;
70
57
  constructor(options?: InputRouterOptions);
71
58
  attachChild(handle: PtyHandle): void;
72
59
  detachChild(handle?: PtyHandle): void;
73
60
  attachParentUi(mode: ParentUiMode): void;
74
61
  detachParentUi(mode?: ParentUiMode): void;
75
- /** Process a stdin chunk. Returns true when at least one byte was consumed. */
76
- handleChunk(chunk: Buffer): boolean;
62
+ /** Process a batch of `TerminalKey` events. */
63
+ handleEvents(events: TerminalKey[]): void;
77
64
  private forwardToChild;
78
- /**
79
- * Strip SGR mouse wheel events (`CSI < 64;…M` and `CSI < 65;…M`) from
80
- * the chunk, dispatching scrollback callbacks. Non-wheel SGR mouse
81
- * events (clicks, motion, releases) and other CSI sequences (Home,
82
- * PageUp, etc.) are left in the chunk so callers can still forward
83
- * them or run them through host shortcut routing.
84
- *
85
- * Sequences split across chunk boundaries are first-class. The buffer
86
- * holds any incomplete CSI prefix — bare ESC, ESC `[`, ESC `[ < …` —
87
- * and prepends it to the next chunk. This works even when the dump
88
- * detector is not configured (the detector reassembles split CSI for
89
- * its own purposes when it is configured, but mouse-wheel scrollback
90
- * MUST NOT depend on it). A 50 ms safety timer flushes a stale
91
- * partial through `consumeHostShortcuts` and the child gate so a
92
- * bare Esc keypress eventually reaches the child even when there is
93
- * no continuation, and so a stray ESC byte cannot permanently block
94
- * future input.
95
- */
96
- private consumeSgrMouseWheel;
97
- private savePartialSgr;
98
- /**
99
- * Stale-partial flush. Two distinct cases:
100
- *
101
- * - Bare `ESC` (1 byte): flush through host shortcuts and the child
102
- * gate. The user pressed Esc and there is no continuation; the
103
- * child must still receive the byte after the safety window
104
- * (matching the dump detector's bare-Esc deferred-flush).
105
- *
106
- * - Truncated CSI (`ESC [ …`, 2+ bytes): drop. The user pressed
107
- * Home/PageUp/wheel/etc. and the terminal failed to deliver the
108
- * rest within the window. Forwarding raw `ESC [ < 6 4 ;` would
109
- * inject random bytes into the child agent — much worse than
110
- * losing one stray nav event.
111
- */
112
- private flushPartialSgr;
113
- private resetSgrPartialTimer;
114
- private resetSgrPartial;
115
- /**
116
- * Consume host scrollback / interrupt shortcuts from the chunk. Returns
117
- * the chunk with any consumed bytes removed.
118
- *
119
- * Recognized sequences (single-chunk only — split CSI across two
120
- * chunks falls through to the child unchanged, which is acceptable
121
- * because real terminals deliver these in one chunk):
122
- *
123
- * - 0x03 Ctrl+C → onInterrupt()
124
- * - ESC [ 5 ~ PageUp → onScrollPages(-1)
125
- * - ESC [ 6 ~ PageDown → onScrollPages(+1)
126
- * - ESC [ 1 ~ / ESC [ H Home → onScrollToTop()
127
- * - ESC [ 4 ~ / ESC [ F End → onScrollToBottom()
128
- *
129
- * Modifier-prefixed variants (e.g. `ESC [ 1;5 H` for Ctrl+Home) match
130
- * the same callback as their unmodified form.
131
- */
132
- private consumeHostShortcuts;
133
- private dispatchCsi;
134
- /**
135
- * Route a deferred buffer (produced by `DumpHotkeyDetector` when a
136
- * pending escape sequence times out). The deferred bytes have already
137
- * been screened for the dump hotkey — they must NOT pass through the
138
- * detector again. They DO continue through the parent UI mode, the
139
- * SGR mouse parser, host shortcuts, and the child gate so a bare Esc
140
- * reaches host-backed prompts and a deferred mouse sequence is still
141
- * correctly classified.
142
- */
143
- private routeDeferred;
144
65
  destroy(): void;
145
66
  }
146
67
  //# sourceMappingURL=input-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-router.d.ts","sourceRoot":"","sources":["../../src/terminal/input-router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAW;IAQV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,YAAY,CAAiC;IACrD,kEAAkE;IAClE,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAA4C;gBAEtC,OAAO,GAAE,kBAAuB;IAmB7D,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAKrC,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIxC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAKzC,+EAA+E;IAC/E,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAmCnC,OAAO,CAAC,cAAc;IAOtB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,oBAAoB;IAsF5B,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,eAAe;IAOvB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,oBAAoB;IAmD5B,OAAO,CAAC,WAAW;IAqDnB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAgBrB,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"input-router.d.ts","sourceRoot":"","sources":["../../src/terminal/input-router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAwB;gBAEd,OAAO,GAAE,kBAAuB;IAE7D,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAKrC,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIxC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAKzC,+CAA+C;IAC/C,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;IA4DzC,OAAO,CAAC,cAAc;IAatB,OAAO,IAAI,IAAI;CAIhB"}