poly-weaver 0.10.5 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +16 -24
  2. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  3. package/dist/agents/implementors/adapter.js +4 -0
  4. package/dist/agents/implementors/adapter.js.map +1 -1
  5. package/dist/agents/implementors/handler.d.ts.map +1 -1
  6. package/dist/agents/implementors/handler.js +20 -11
  7. package/dist/agents/implementors/handler.js.map +1 -1
  8. package/dist/agents/interviewers/adapter.d.ts +1 -5
  9. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  10. package/dist/agents/interviewers/adapter.js +0 -35
  11. package/dist/agents/interviewers/adapter.js.map +1 -1
  12. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  13. package/dist/agents/interviewers/handler.js +2 -1
  14. package/dist/agents/interviewers/handler.js.map +1 -1
  15. package/dist/agents/interviewers/types.d.ts +3 -5
  16. package/dist/agents/interviewers/types.d.ts.map +1 -1
  17. package/dist/agents/planners/adapter.d.ts.map +1 -1
  18. package/dist/agents/planners/adapter.js +4 -0
  19. package/dist/agents/planners/adapter.js.map +1 -1
  20. package/dist/agents/planners/handler.d.ts.map +1 -1
  21. package/dist/agents/planners/handler.js +36 -21
  22. package/dist/agents/planners/handler.js.map +1 -1
  23. package/dist/agents/reviewers/adapter.d.ts +3 -3
  24. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  25. package/dist/agents/reviewers/adapter.js +21 -11
  26. package/dist/agents/reviewers/adapter.js.map +1 -1
  27. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  28. package/dist/agents/reviewers/handler.js +51 -39
  29. package/dist/agents/reviewers/handler.js.map +1 -1
  30. package/dist/agents/reviewers/index.d.ts +3 -3
  31. package/dist/agents/reviewers/index.js +7 -7
  32. package/dist/agents/reviewers/index.js.map +1 -1
  33. package/dist/agents/reviewers/prompts.d.ts +1 -1
  34. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  35. package/dist/agents/reviewers/prompts.js +38 -8
  36. package/dist/agents/reviewers/prompts.js.map +1 -1
  37. package/dist/agents/reviewers/types.d.ts +5 -11
  38. package/dist/agents/reviewers/types.d.ts.map +1 -1
  39. package/dist/agents/reviewers/types.js.map +1 -1
  40. package/dist/agents/runner.d.ts +14 -0
  41. package/dist/agents/runner.d.ts.map +1 -1
  42. package/dist/agents/runner.js +71 -1
  43. package/dist/agents/runner.js.map +1 -1
  44. package/dist/agents/session-resume.d.ts +32 -0
  45. package/dist/agents/session-resume.d.ts.map +1 -0
  46. package/dist/agents/session-resume.js +81 -0
  47. package/dist/agents/session-resume.js.map +1 -0
  48. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  49. package/dist/agents/simplifiers/handler.js +24 -13
  50. package/dist/agents/simplifiers/handler.js.map +1 -1
  51. package/dist/ansi.d.ts +23 -4
  52. package/dist/ansi.d.ts.map +1 -1
  53. package/dist/ansi.js +28 -5
  54. package/dist/ansi.js.map +1 -1
  55. package/dist/dump/hotkey.d.ts +0 -3
  56. package/dist/dump/hotkey.d.ts.map +1 -1
  57. package/dist/dump/hotkey.js +0 -3
  58. package/dist/dump/hotkey.js.map +1 -1
  59. package/dist/flow/dsl.js +1 -1
  60. package/dist/flow/dsl.js.map +1 -1
  61. package/dist/flow/executor.d.ts.map +1 -1
  62. package/dist/flow/executor.js +3 -0
  63. package/dist/flow/executor.js.map +1 -1
  64. package/dist/flow/types.d.ts +6 -0
  65. package/dist/flow/types.d.ts.map +1 -1
  66. package/dist/flow/types.js.map +1 -1
  67. package/dist/offscreen/controller.d.ts +4 -1
  68. package/dist/offscreen/controller.d.ts.map +1 -1
  69. package/dist/offscreen/controller.js +48 -3
  70. package/dist/offscreen/controller.js.map +1 -1
  71. package/dist/offscreen/fork-launch.d.ts +1 -0
  72. package/dist/offscreen/fork-launch.d.ts.map +1 -1
  73. package/dist/offscreen/fork-launch.js +4 -0
  74. package/dist/offscreen/fork-launch.js.map +1 -1
  75. package/dist/offscreen/fork.d.ts +6 -1
  76. package/dist/offscreen/fork.d.ts.map +1 -1
  77. package/dist/offscreen/fork.js +26 -3
  78. package/dist/offscreen/fork.js.map +1 -1
  79. package/dist/offscreen/surface.d.ts.map +1 -1
  80. package/dist/offscreen/surface.js +6 -2
  81. package/dist/offscreen/surface.js.map +1 -1
  82. package/dist/providers/claude/completion-plan-mode.js +1 -1
  83. package/dist/providers/claude/completion-plan-mode.js.map +1 -1
  84. package/dist/providers/claude/plan-mode-pty-monitor.d.ts +22 -11
  85. package/dist/providers/claude/plan-mode-pty-monitor.d.ts.map +1 -1
  86. package/dist/providers/claude/plan-mode-pty-monitor.js +34 -12
  87. package/dist/providers/claude/plan-mode-pty-monitor.js.map +1 -1
  88. package/dist/providers/claude/strategy.d.ts +6 -0
  89. package/dist/providers/claude/strategy.d.ts.map +1 -1
  90. package/dist/providers/claude/strategy.js +2 -0
  91. package/dist/providers/claude/strategy.js.map +1 -1
  92. package/dist/providers/codex/strategy.d.ts +1 -0
  93. package/dist/providers/codex/strategy.d.ts.map +1 -1
  94. package/dist/providers/codex/strategy.js +7 -1
  95. package/dist/providers/codex/strategy.js.map +1 -1
  96. package/dist/providers/types.d.ts +2 -0
  97. package/dist/providers/types.d.ts.map +1 -1
  98. package/dist/session/manifest.d.ts +9 -11
  99. package/dist/session/manifest.d.ts.map +1 -1
  100. package/dist/session/process-start-time.d.ts.map +1 -1
  101. package/dist/session/process-start-time.js.map +1 -1
  102. package/dist/session/restore.d.ts.map +1 -1
  103. package/dist/session/restore.js +4 -5
  104. package/dist/session/restore.js.map +1 -1
  105. package/dist/status-bar.d.ts +7 -0
  106. package/dist/status-bar.d.ts.map +1 -1
  107. package/dist/status-bar.js +34 -6
  108. package/dist/status-bar.js.map +1 -1
  109. package/dist/terminal/host-input-mode.d.ts +4 -0
  110. package/dist/terminal/host-input-mode.d.ts.map +1 -0
  111. package/dist/terminal/host-input-mode.js +33 -0
  112. package/dist/terminal/host-input-mode.js.map +1 -0
  113. package/dist/terminal/host.d.ts +41 -16
  114. package/dist/terminal/host.d.ts.map +1 -1
  115. package/dist/terminal/host.js +197 -64
  116. package/dist/terminal/host.js.map +1 -1
  117. package/dist/terminal/input-router.d.ts +18 -3
  118. package/dist/terminal/input-router.d.ts.map +1 -1
  119. package/dist/terminal/input-router.js +35 -6
  120. package/dist/terminal/input-router.js.map +1 -1
  121. package/dist/terminal/key-event-source.d.ts +6 -15
  122. package/dist/terminal/key-event-source.d.ts.map +1 -1
  123. package/dist/terminal/key-event-source.js +3 -22
  124. package/dist/terminal/key-event-source.js.map +1 -1
  125. package/dist/terminal/key-to-bytes.d.ts +2 -0
  126. package/dist/terminal/key-to-bytes.d.ts.map +1 -1
  127. package/dist/terminal/key-to-bytes.js +89 -13
  128. package/dist/terminal/key-to-bytes.js.map +1 -1
  129. package/dist/terminal/kitty-negotiator.d.ts +9 -0
  130. package/dist/terminal/kitty-negotiator.d.ts.map +1 -0
  131. package/dist/terminal/kitty-negotiator.js +76 -0
  132. package/dist/terminal/kitty-negotiator.js.map +1 -0
  133. package/dist/terminal/koffi-loader.d.ts +1 -5
  134. package/dist/terminal/koffi-loader.d.ts.map +1 -1
  135. package/dist/terminal/koffi-loader.js.map +1 -1
  136. package/dist/terminal/mouse-mode-tracker.d.ts +36 -0
  137. package/dist/terminal/mouse-mode-tracker.d.ts.map +1 -0
  138. package/dist/terminal/mouse-mode-tracker.js +245 -0
  139. package/dist/terminal/mouse-mode-tracker.js.map +1 -0
  140. package/dist/terminal/osc52.d.ts +16 -0
  141. package/dist/terminal/osc52.d.ts.map +1 -0
  142. package/dist/terminal/osc52.js +18 -0
  143. package/dist/terminal/osc52.js.map +1 -0
  144. package/dist/terminal/render.d.ts +14 -14
  145. package/dist/terminal/render.d.ts.map +1 -1
  146. package/dist/terminal/render.js +20 -28
  147. package/dist/terminal/render.js.map +1 -1
  148. package/dist/terminal/stdin-byte-source.d.ts +4 -5
  149. package/dist/terminal/stdin-byte-source.d.ts.map +1 -1
  150. package/dist/terminal/stdin-byte-source.js +11 -13
  151. package/dist/terminal/stdin-byte-source.js.map +1 -1
  152. package/dist/terminal/virtual-terminal.d.ts +9 -1
  153. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  154. package/dist/terminal/virtual-terminal.js +33 -1
  155. package/dist/terminal/virtual-terminal.js.map +1 -1
  156. package/dist/terminal-input.d.ts +13 -12
  157. package/dist/terminal-input.d.ts.map +1 -1
  158. package/dist/terminal-input.js +82 -108
  159. package/dist/terminal-input.js.map +1 -1
  160. package/dist/text-editing/emacs-input.d.ts +1 -6
  161. package/dist/text-editing/emacs-input.d.ts.map +1 -1
  162. package/dist/text-editing/emacs-input.js +15 -6
  163. package/dist/text-editing/emacs-input.js.map +1 -1
  164. package/dist/text-editing/readline-ops.d.ts.map +1 -1
  165. package/dist/text-editing/readline-ops.js +11 -2
  166. package/dist/text-editing/readline-ops.js.map +1 -1
  167. package/package.json +4 -1
  168. package/dist/terminal/win32-console-mode.d.ts +0 -23
  169. package/dist/terminal/win32-console-mode.d.ts.map +0 -1
  170. package/dist/terminal/win32-console-mode.js +0 -67
  171. package/dist/terminal/win32-console-mode.js.map +0 -1
  172. package/dist/terminal/win32-console-source.d.ts +0 -26
  173. package/dist/terminal/win32-console-source.d.ts.map +0 -1
  174. package/dist/terminal/win32-console-source.js +0 -277
  175. package/dist/terminal/win32-console-source.js.map +0 -1
  176. package/dist/terminal/win32-key-translator.d.ts +0 -26
  177. package/dist/terminal/win32-key-translator.d.ts.map +0 -1
  178. package/dist/terminal/win32-key-translator.js +0 -109
  179. package/dist/terminal/win32-key-translator.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import xtermHeadless from "@xterm/headless";
2
+ import { parseOsc52 } from "./osc52.js";
2
3
  const { Terminal } = xtermHeadless;
3
4
  /**
4
5
  * Wraps `@xterm/headless` so the rest of the host doesn't need to
@@ -19,7 +20,8 @@ const { Terminal } = xtermHeadless;
19
20
  */
20
21
  export class VirtualTerminal {
21
22
  term;
22
- constructor(cols, rows) {
23
+ cursorVisibleState = true;
24
+ constructor(cols, rows, opts = {}) {
23
25
  this.term = new Terminal({
24
26
  cols: Math.max(1, cols),
25
27
  rows: Math.max(1, rows),
@@ -27,6 +29,28 @@ export class VirtualTerminal {
27
29
  // Large enough for typical tool output without bloat.
28
30
  scrollback: 1000,
29
31
  });
32
+ this.term.parser.registerCsiHandler({ prefix: "?", final: "h" }, (params) => {
33
+ if (params.some((p) => p === 25 || (Array.isArray(p) && p[0] === 25))) {
34
+ this.cursorVisibleState = true;
35
+ }
36
+ return false;
37
+ });
38
+ this.term.parser.registerCsiHandler({ prefix: "?", final: "l" }, (params) => {
39
+ if (params.some((p) => p === 25 || (Array.isArray(p) && p[0] === 25))) {
40
+ this.cursorVisibleState = false;
41
+ }
42
+ return false;
43
+ });
44
+ const onOscClipboard = opts.onOscClipboard;
45
+ if (onOscClipboard) {
46
+ this.term.parser.registerOscHandler(52, (data) => {
47
+ const parsed = parseOsc52(data);
48
+ if (parsed.kind === "set" || parsed.kind === "clear") {
49
+ onOscClipboard(data);
50
+ }
51
+ return true;
52
+ });
53
+ }
30
54
  }
31
55
  write(data, callback) {
32
56
  if (callback) {
@@ -61,6 +85,14 @@ export class VirtualTerminal {
61
85
  get isAlternate() {
62
86
  return this.term.buffer.active.type === "alternate";
63
87
  }
88
+ /** True when the child enabled bracketed paste mode (`CSI ? 2004 h`). */
89
+ get bracketedPaste() {
90
+ return this.term.modes.bracketedPasteMode;
91
+ }
92
+ /** True unless the child hid the cursor via DECTCEM (`CSI ?25l`). Default: true. */
93
+ get cursorVisible() {
94
+ return this.cursorVisibleState;
95
+ }
64
96
  /** Viewport top row index in scrollback coordinates. */
65
97
  get viewportY() {
66
98
  return this.buffer.viewportY;
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-terminal.js","sourceRoot":"","sources":["../../src/terminal/virtual-terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtual-terminal.js","sourceRoot":"","sources":["../../src/terminal/virtual-terminal.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  export type TerminalKey = {
13
13
  kind: "printable";
14
14
  char: string;
15
- source: "plain" | "kitty-u" | "kitty-text";
15
+ source: "plain" | "kitty-u";
16
16
  } | {
17
17
  kind: "control";
18
18
  byte: number;
@@ -29,6 +29,7 @@ export type TerminalKey = {
29
29
  } | {
30
30
  kind: "arrow";
31
31
  direction: "up" | "down" | "left" | "right";
32
+ modifiers?: number;
32
33
  } | {
33
34
  kind: "page";
34
35
  direction: "up" | "down";
@@ -45,6 +46,9 @@ export type TerminalKey = {
45
46
  kind: "kitty-key";
46
47
  keyCode: number;
47
48
  modifiers: number;
49
+ } | {
50
+ kind: "paste";
51
+ content: string;
48
52
  } | {
49
53
  kind: "raw";
50
54
  bytes: Buffer;
@@ -53,10 +57,13 @@ export declare class TerminalKeyParser {
53
57
  private readonly escapeTimeoutMs;
54
58
  private state;
55
59
  private csiParams;
60
+ private legacyMouseBytes;
56
61
  private escapeTimer;
57
62
  private deferredCallback;
58
63
  private utf8Buffer;
59
64
  private utf8Expected;
65
+ private pasteBuffer;
66
+ private pasteEndMatch;
60
67
  constructor(escapeTimeoutMs?: number);
61
68
  onDeferredKeys(cb: (keys: TerminalKey[]) => void): void;
62
69
  cancelPendingEscape(): void;
@@ -64,17 +71,11 @@ export declare class TerminalKeyParser {
64
71
  private dispatch;
65
72
  private handleSs3;
66
73
  private handleCsi;
67
- /**
68
- * Win32-input-mode: CSI Vk;Sc;Uc;Kd;Cs;Rc _
69
- * Vk = virtual key code, Sc = scan code, Uc = unicode char,
70
- * Kd = key-down(1)/up(0), Cs = control-key-state bitmask, Rc = repeat count.
71
- *
72
- * This path never returns `unrecognized`. The byte-stream Win32-input-mode
73
- * frames come from a structured source (Windows Terminal forwarding console
74
- * input through ConPTY), so every recognized shape we don't act on is a
75
- * protocol artifact that should be dropped, not forwarded as `raw`.
76
- */
77
- private handleWin32Input;
74
+ private arrow;
75
+ private arrowFromModifiers;
76
+ private consumePasteByte;
77
+ private appendPasteByte;
78
+ private flushPaste;
78
79
  private parseKittyEventType;
79
80
  }
80
81
  //# sourceMappingURL=terminal-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-input.d.ts","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAcnC,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,OAAO,CAAC,KAAK,CAAuD;IACpE,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAK;gBAGN,eAAe,SAAK;IAGvC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvD,mBAAmB,IAAI,IAAI;IAO3B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IAyGxC,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IA+JjB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"terminal-input.d.ts","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBnC,qBAAa,iBAAiB;IAY1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,OAAO,CAAC,KAAK,CAAwE;IACrF,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,aAAa,CAAK;gBAGP,eAAe,SAAK;IAGvC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvD,mBAAmB,IAAI,IAAI;IAO3B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IA2HxC,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IA4IjB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -9,8 +9,12 @@
9
9
  * event types. EmacsInputParser is the shared readline-style mapper for
10
10
  * prompt and TUI text-editing surfaces.
11
11
  */
12
+ import { PASTE_END } from "./ansi.js";
12
13
  const SUPPRESSED = { tag: "suppressed" };
13
14
  const UNRECOGNIZED = { tag: "unrecognized" };
15
+ const START_PASTE = { tag: "start-paste" };
16
+ const PASTE_END_BYTES = Buffer.from(PASTE_END, "ascii");
17
+ const MAX_PASTE_BYTES = 4 * 1024 * 1024;
14
18
  function keys(...k) {
15
19
  return { tag: "keys", keys: k };
16
20
  }
@@ -18,10 +22,13 @@ export class TerminalKeyParser {
18
22
  escapeTimeoutMs;
19
23
  state = "normal";
20
24
  csiParams = "";
25
+ legacyMouseBytes = [];
21
26
  escapeTimer;
22
27
  deferredCallback;
23
28
  utf8Buffer = [];
24
29
  utf8Expected = 0;
30
+ pasteBuffer = null;
31
+ pasteEndMatch = 0;
25
32
  constructor(escapeTimeoutMs = 50) {
26
33
  this.escapeTimeoutMs = escapeTimeoutMs;
27
34
  }
@@ -37,6 +44,10 @@ export class TerminalKeyParser {
37
44
  parseChunk(chunk) {
38
45
  const out = [];
39
46
  for (const byte of chunk) {
47
+ if (this.pasteBuffer !== null) {
48
+ this.consumePasteByte(byte, out);
49
+ continue;
50
+ }
40
51
  switch (this.state) {
41
52
  case "normal":
42
53
  if (byte === 0x1b) {
@@ -85,6 +96,11 @@ export class TerminalKeyParser {
85
96
  case "csi": {
86
97
  if (byte >= 0x40 && byte <= 0x7e) {
87
98
  const params = this.csiParams;
99
+ if (params === "" && byte === 0x4d) {
100
+ this.state = "legacy-mouse";
101
+ this.legacyMouseBytes = [0x1b, 0x5b, byte];
102
+ break;
103
+ }
88
104
  const result = this.handleCsi(params, String.fromCharCode(byte));
89
105
  this.state = "normal";
90
106
  this.dispatch(out, result, () => {
@@ -103,6 +119,14 @@ export class TerminalKeyParser {
103
119
  }
104
120
  break;
105
121
  }
122
+ case "legacy-mouse":
123
+ this.legacyMouseBytes.push(byte);
124
+ if (this.legacyMouseBytes.length === 6) {
125
+ out.push({ kind: "raw", bytes: Buffer.from(this.legacyMouseBytes) });
126
+ this.legacyMouseBytes = [];
127
+ this.state = "normal";
128
+ }
129
+ break;
106
130
  case "ss3": {
107
131
  const result = this.handleSs3(byte);
108
132
  this.state = "normal";
@@ -147,6 +171,10 @@ export class TerminalKeyParser {
147
171
  for (const k of result.keys)
148
172
  out.push(k);
149
173
  return;
174
+ case "start-paste":
175
+ this.pasteBuffer = [];
176
+ this.pasteEndMatch = 0;
177
+ return;
150
178
  case "suppressed":
151
179
  return;
152
180
  case "unrecognized":
@@ -171,13 +199,13 @@ export class TerminalKeyParser {
171
199
  handleCsi(params, finalByte) {
172
200
  // Standard arrow keys: CSI A/B/C/D (with optional params like "1;1")
173
201
  if (finalByte === "A")
174
- return keys({ kind: "arrow", direction: "up" });
202
+ return keys(this.arrow("up", params));
175
203
  if (finalByte === "B")
176
- return keys({ kind: "arrow", direction: "down" });
204
+ return keys(this.arrow("down", params));
177
205
  if (finalByte === "C")
178
- return keys({ kind: "arrow", direction: "right" });
206
+ return keys(this.arrow("right", params));
179
207
  if (finalByte === "D")
180
- return keys({ kind: "arrow", direction: "left" });
208
+ return keys(this.arrow("left", params));
181
209
  // CSI Z: standard Shift+Tab — normalize to Kitty protocol representation
182
210
  if (finalByte === "Z")
183
211
  return keys({ kind: "kitty-key", keyCode: 9, modifiers: 2 });
@@ -187,6 +215,8 @@ export class TerminalKeyParser {
187
215
  const code = parseInt(parts[0] ?? "", 10) || 0;
188
216
  const modifiers = parseInt(parts[1] ?? "1", 10) || 1;
189
217
  switch (code) {
218
+ case 200:
219
+ return START_PASTE;
190
220
  case 3:
191
221
  return keys({ kind: "delete", ctrl: ((modifiers - 1) & 0x04) !== 0 });
192
222
  case 5: return keys({ kind: "page", direction: "up" });
@@ -206,7 +236,8 @@ export class TerminalKeyParser {
206
236
  // Wheel events: Cb=64 (up) / Cb=65 (down) — surface as `wheel`
207
237
  // only when x/y are usable 1-based coordinates.
208
238
  // Non-wheel SGR mouse (clicks, motion, releases) → `unrecognized` so
209
- // the router forwards them verbatim to the child PTY via `raw`.
239
+ // routing boundaries can decide whether to forward or drop the raw frame
240
+ // based on the current input owner.
210
241
  if (params.startsWith("<") && (finalByte === "M" || finalByte === "m")) {
211
242
  const parts = params.slice(1).split(";");
212
243
  const cb = parseInteger(parts[0]);
@@ -224,14 +255,10 @@ export class TerminalKeyParser {
224
255
  }
225
256
  return UNRECOGNIZED;
226
257
  }
227
- if (finalByte !== "u" && finalByte !== "_") {
258
+ if (finalByte !== "u") {
228
259
  return UNRECOGNIZED;
229
260
  }
230
261
  const parts = params.split(";");
231
- // Win32-input-mode: CSI Vk;Sc;Uc;Kd;Cs;Rc _ (6 fields, finalByte '_')
232
- if (finalByte === "_" && parts.length === 6) {
233
- return this.handleWin32Input(parts);
234
- }
235
262
  const keyCode = parseInt(parts[0]?.split(":")[0] ?? "", 10) || 0;
236
263
  const modifiers = parseInt(parts[1]?.split(":")[0] ?? "1", 10) || 1;
237
264
  const eventType = this.parseKittyEventType(parts[1]);
@@ -284,28 +311,13 @@ export class TerminalKeyParser {
284
311
  case 57348: // Delete
285
312
  return keys({ kind: "delete", ctrl: ((modifiers - 1) & 0x04) !== 0 });
286
313
  case 57350: // Left
287
- return keys({ kind: "arrow", direction: "left" });
314
+ return keys(this.arrowFromModifiers("left", modifiers));
288
315
  case 57351: // Right
289
- return keys({ kind: "arrow", direction: "right" });
316
+ return keys(this.arrowFromModifiers("right", modifiers));
290
317
  case 57352: // Up
291
- return keys({ kind: "arrow", direction: "up" });
318
+ return keys(this.arrowFromModifiers("up", modifiers));
292
319
  case 57353: // Down
293
- return keys({ kind: "arrow", direction: "down" });
294
- }
295
- // Kitty text event (_): extract codepoints
296
- if (finalByte === "_" && parts.length >= 3) {
297
- const cps = parts[2]
298
- .split(":")
299
- .map(Number)
300
- .filter((cp) => cp >= 32);
301
- return {
302
- tag: "keys",
303
- keys: cps.map((cp) => ({
304
- kind: "printable",
305
- char: String.fromCodePoint(cp),
306
- source: "kitty-text",
307
- })),
308
- };
320
+ return keys(this.arrowFromModifiers("down", modifiers));
309
321
  }
310
322
  // Printable keycodes via 'u'
311
323
  if (keyCode >= 32 && keyCode < 127) {
@@ -314,89 +326,51 @@ export class TerminalKeyParser {
314
326
  }
315
327
  return UNRECOGNIZED;
316
328
  }
317
- /**
318
- * Win32-input-mode: CSI Vk;Sc;Uc;Kd;Cs;Rc _
319
- * Vk = virtual key code, Sc = scan code, Uc = unicode char,
320
- * Kd = key-down(1)/up(0), Cs = control-key-state bitmask, Rc = repeat count.
321
- *
322
- * This path never returns `unrecognized`. The byte-stream Win32-input-mode
323
- * frames come from a structured source (Windows Terminal forwarding console
324
- * input through ConPTY), so every recognized shape we don't act on is a
325
- * protocol artifact that should be dropped, not forwarded as `raw`.
326
- */
327
- handleWin32Input(parts) {
328
- const uc = parseInt(parts[2], 10) || 0;
329
- const kd = parseInt(parts[3], 10) || 0;
330
- const cs = parseInt(parts[4], 10) || 0;
331
- // Only process key-down events
332
- if (kd !== 1)
333
- return SUPPRESSED;
334
- // Modifier-only keys (Ctrl=17, Shift=16, Alt=18) — ignore
335
- const vk = parseInt(parts[0], 10) || 0;
336
- if (vk === 16 || vk === 17 || vk === 18)
337
- return SUPPRESSED;
338
- // Navigation keys (VK_PRIOR=33, VK_NEXT=34, VK_END=35, VK_HOME=36)
339
- if (vk === 33)
340
- return keys({ kind: "page", direction: "up" });
341
- if (vk === 34)
342
- return keys({ kind: "page", direction: "down" });
343
- if (vk === 35)
344
- return keys({ kind: "end" });
345
- if (vk === 36)
346
- return keys({ kind: "home" });
347
- // Arrow keys (VK_LEFT=37, VK_UP=38, VK_RIGHT=39, VK_DOWN=40)
348
- if (vk >= 37 && vk <= 40) {
349
- const dir = ["left", "up", "right", "down"][vk - 37];
350
- return keys({ kind: "arrow", direction: dir });
351
- }
352
- const ctrl = (cs & 0x000c) !== 0; // LEFT_CTRL(0x08) | RIGHT_CTRL(0x04)
353
- const alt = (cs & 0x0003) !== 0; // LEFT_ALT(0x02) | RIGHT_ALT(0x01)
354
- const shift = (cs & 0x0010) !== 0;
355
- if (vk === 46)
356
- return keys({ kind: "delete", ctrl }); // VK_DELETE
357
- if (uc === 10 && !shift) {
358
- return keys({ kind: "control", byte: 0x0a });
359
- }
360
- // Enter
361
- if (uc === 13 || uc === 10) {
362
- if (uc === 13 && (ctrl || shift)) {
363
- const modifiers = 1 + (shift ? 1 : 0) + (ctrl ? 4 : 0);
364
- return keys({ kind: "kitty-key", keyCode: 13, modifiers });
329
+ arrow(direction, params) {
330
+ const parts = params.split(";");
331
+ const modifiers = parseInt(parts[1] ?? "1", 10) || 1;
332
+ return this.arrowFromModifiers(direction, modifiers);
333
+ }
334
+ arrowFromModifiers(direction, modifiers) {
335
+ if (modifiers > 1)
336
+ return { kind: "arrow", direction, modifiers };
337
+ return { kind: "arrow", direction };
338
+ }
339
+ consumePasteByte(byte, out) {
340
+ if (this.pasteBuffer === null)
341
+ return;
342
+ if (byte === PASTE_END_BYTES[this.pasteEndMatch]) {
343
+ this.pasteEndMatch++;
344
+ if (this.pasteEndMatch === PASTE_END_BYTES.length) {
345
+ this.flushPaste(this.pasteBuffer, out);
365
346
  }
366
- return keys({ kind: "enter", byte: uc });
367
- }
368
- // Backspace (VK_BACK=8)
369
- if (vk === 8)
370
- return keys({ kind: "backspace" });
371
- // Escape (VK_ESCAPE=27)
372
- if (vk === 27)
373
- return keys({ kind: "escape" });
374
- // Tab (VK_TAB=9)
375
- if (vk === 9) {
376
- return keys({ kind: "kitty-key", keyCode: 9, modifiers: shift ? 2 : 1 });
347
+ return;
377
348
  }
378
- // Control characters (Ctrl-generated control bytes below ASCII 32)
379
- if (ctrl && uc >= 1 && uc < 32) {
380
- return keys({ kind: "control", byte: uc });
349
+ if (this.pasteEndMatch > 0) {
350
+ // The buffered prefix was not the paste terminator after all — flush
351
+ // those bytes back into the paste content, then re-process `byte`.
352
+ const matched = this.pasteEndMatch;
353
+ this.pasteEndMatch = 0;
354
+ for (let i = 0; i < matched; i++)
355
+ this.appendPasteByte(PASTE_END_BYTES[i], out);
356
+ this.consumePasteByte(byte, out);
357
+ return;
381
358
  }
382
- // Alt-modified printables are shortcuts, not text input.
383
- if (alt) {
384
- let keyCode = uc;
385
- if (keyCode === 0 && vk >= 0x41 && vk <= 0x5a)
386
- keyCode = vk + 32;
387
- else if (keyCode >= 0x41 && keyCode <= 0x5a)
388
- keyCode += 32;
389
- if (keyCode >= 32 && keyCode < 127) {
390
- const modifiers = 1 + (shift ? 1 : 0) + 2 + (ctrl ? 4 : 0);
391
- return keys({ kind: "kitty-key", keyCode, modifiers });
392
- }
393
- }
394
- // Printable characters
395
- if (uc >= 32) {
396
- const ch = String.fromCharCode(uc);
397
- return keys({ kind: "printable", char: ch, source: "plain" });
359
+ this.appendPasteByte(byte, out);
360
+ }
361
+ appendPasteByte(byte, out) {
362
+ if (this.pasteBuffer === null)
363
+ return;
364
+ this.pasteBuffer.push(byte);
365
+ if (this.pasteBuffer.length > MAX_PASTE_BYTES) {
366
+ this.flushPaste(this.pasteBuffer, out);
398
367
  }
399
- return SUPPRESSED;
368
+ }
369
+ flushPaste(buffer, out) {
370
+ this.pasteBuffer = null;
371
+ this.pasteEndMatch = 0;
372
+ this.state = "normal";
373
+ out.push({ kind: "paste", content: Buffer.from(buffer).toString("utf8") });
400
374
  }
401
375
  parseKittyEventType(modsAndEvent) {
402
376
  if (!modsAndEvent)
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
@@ -67,12 +67,7 @@ export type KeyEvent = TextBufferEvent | {
67
67
  type: "dump";
68
68
  };
69
69
  export declare const INPUT_WHEEL_LINES_PER_EVENT = 3;
70
- /**
71
- * `win32-key-translator` emits the same `TerminalKey` shapes as
72
- * `TerminalKeyParser`'s Win32-input-mode path. This mapper intentionally only
73
- * depends on those structured keys, so byte-stream and FFI Windows input stay
74
- * behaviorally identical here.
75
- */
70
+ /** Maps structured terminal keys into readline-style editor events. */
76
71
  export declare class EmacsInputParser {
77
72
  mapKeys(keys: TerminalKey[]): KeyEvent[];
78
73
  private mapKey;
@@ -1 +1 @@
1
- {"version":3,"file":"emacs-input.d.ts","sourceRoot":"","sources":["../../src/text-editing/emacs-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAaL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE;IAmBxC,OAAO,CAAC,MAAM;IAwCd,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,WAAW;CA2BpB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,eAAe,CAsB3E;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,eAAe,GACrB,OAAO,CAgFT;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,eAAe,GACrB,OAAO,CAcT"}
1
+ {"version":3,"file":"emacs-input.d.ts","sourceRoot":"","sources":["../../src/text-editing/emacs-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAaL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,uEAAuE;AACvE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE;IAmBxC,OAAO,CAAC,MAAM;IA0Cd,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,WAAW;CA2BpB;AAaD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,eAAe,CAsB3E;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,eAAe,GACrB,OAAO,CAgFT;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,eAAe,GACrB,OAAO,CAcT"}
@@ -1,12 +1,7 @@
1
1
  import { isDumpHotkey } from "../dump/hotkey.js";
2
2
  import { charBackward, charForward, killToLineEnd, killToLineStart, killWordBackward, killWordForward, lineDown, lineEnd, lineStart, lineUp, wordBackward, wordForward, } from "./readline-ops.js";
3
3
  export const INPUT_WHEEL_LINES_PER_EVENT = 3;
4
- /**
5
- * `win32-key-translator` emits the same `TerminalKey` shapes as
6
- * `TerminalKeyParser`'s Win32-input-mode path. This mapper intentionally only
7
- * depends on those structured keys, so byte-stream and FFI Windows input stay
8
- * behaviorally identical here.
9
- */
4
+ /** Maps structured terminal keys into readline-style editor events. */
10
5
  export class EmacsInputParser {
11
6
  mapKeys(keys) {
12
7
  const events = [];
@@ -30,6 +25,8 @@ export class EmacsInputParser {
30
25
  switch (key.kind) {
31
26
  case "printable":
32
27
  return [{ type: "insert", text: key.char }];
28
+ case "paste":
29
+ return splitPasteToEvents(key.content);
33
30
  case "enter":
34
31
  return [{ type: "enter" }];
35
32
  case "backspace":
@@ -124,6 +121,18 @@ export class EmacsInputParser {
124
121
  return [];
125
122
  }
126
123
  }
124
+ function splitPasteToEvents(content) {
125
+ const normalized = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
126
+ const parts = normalized.split("\n");
127
+ const events = [];
128
+ for (let i = 0; i < parts.length; i++) {
129
+ if (parts[i].length > 0)
130
+ events.push({ type: "insert", text: parts[i] });
131
+ if (i < parts.length - 1)
132
+ events.push({ type: "newline" });
133
+ }
134
+ return events;
135
+ }
127
136
  export function isTextBufferEvent(event) {
128
137
  switch (event.type) {
129
138
  case "insert":
@@ -1 +1 @@
1
- {"version":3,"file":"emacs-input.js","sourceRoot":"","sources":["../../src/text-editing/emacs-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emacs-input.js","sourceRoot":"","sources":["../../src/text-editing/emacs-input.ts"],"names":[],"mappings":"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"}