poly-weaver 0.10.6 → 0.11.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 (131) hide show
  1. package/README.md +16 -24
  2. package/dist/agents/runner.d.ts.map +1 -1
  3. package/dist/agents/runner.js +6 -1
  4. package/dist/agents/runner.js.map +1 -1
  5. package/dist/ansi.d.ts +23 -4
  6. package/dist/ansi.d.ts.map +1 -1
  7. package/dist/ansi.js +28 -5
  8. package/dist/ansi.js.map +1 -1
  9. package/dist/auto-update/gate.d.ts +1 -0
  10. package/dist/auto-update/gate.d.ts.map +1 -1
  11. package/dist/auto-update/gate.js +7 -8
  12. package/dist/auto-update/gate.js.map +1 -1
  13. package/dist/auto-update/install-agents.d.ts +1 -0
  14. package/dist/auto-update/install-agents.d.ts.map +1 -1
  15. package/dist/auto-update/install-agents.js +19 -8
  16. package/dist/auto-update/install-agents.js.map +1 -1
  17. package/dist/auto-update/update-request.d.ts +23 -0
  18. package/dist/auto-update/update-request.d.ts.map +1 -0
  19. package/dist/auto-update/update-request.js +83 -0
  20. package/dist/auto-update/update-request.js.map +1 -0
  21. package/dist/cli.js +0 -0
  22. package/dist/dump/hotkey.d.ts +0 -3
  23. package/dist/dump/hotkey.d.ts.map +1 -1
  24. package/dist/dump/hotkey.js +0 -3
  25. package/dist/dump/hotkey.js.map +1 -1
  26. package/dist/launcher.d.ts +23 -0
  27. package/dist/launcher.d.ts.map +1 -0
  28. package/dist/launcher.js +90 -0
  29. package/dist/launcher.js.map +1 -0
  30. package/dist/offscreen/controller.d.ts +4 -1
  31. package/dist/offscreen/controller.d.ts.map +1 -1
  32. package/dist/offscreen/controller.js +48 -3
  33. package/dist/offscreen/controller.js.map +1 -1
  34. package/dist/offscreen/fork-launch.d.ts +1 -0
  35. package/dist/offscreen/fork-launch.d.ts.map +1 -1
  36. package/dist/offscreen/fork-launch.js +4 -0
  37. package/dist/offscreen/fork-launch.js.map +1 -1
  38. package/dist/offscreen/fork.d.ts +6 -1
  39. package/dist/offscreen/fork.d.ts.map +1 -1
  40. package/dist/offscreen/fork.js +26 -3
  41. package/dist/offscreen/fork.js.map +1 -1
  42. package/dist/offscreen/surface.d.ts.map +1 -1
  43. package/dist/offscreen/surface.js +6 -2
  44. package/dist/offscreen/surface.js.map +1 -1
  45. package/dist/providers/claude/strategy.d.ts +6 -0
  46. package/dist/providers/claude/strategy.d.ts.map +1 -1
  47. package/dist/providers/claude/strategy.js +2 -0
  48. package/dist/providers/claude/strategy.js.map +1 -1
  49. package/dist/providers/codex/strategy.d.ts +1 -0
  50. package/dist/providers/codex/strategy.d.ts.map +1 -1
  51. package/dist/providers/codex/strategy.js +7 -1
  52. package/dist/providers/codex/strategy.js.map +1 -1
  53. package/dist/providers/types.d.ts +2 -0
  54. package/dist/providers/types.d.ts.map +1 -1
  55. package/dist/session/process-start-time.d.ts.map +1 -1
  56. package/dist/session/process-start-time.js.map +1 -1
  57. package/dist/status-bar.d.ts +7 -0
  58. package/dist/status-bar.d.ts.map +1 -1
  59. package/dist/status-bar.js +34 -6
  60. package/dist/status-bar.js.map +1 -1
  61. package/dist/terminal/host-input-mode.d.ts +4 -0
  62. package/dist/terminal/host-input-mode.d.ts.map +1 -0
  63. package/dist/terminal/host-input-mode.js +33 -0
  64. package/dist/terminal/host-input-mode.js.map +1 -0
  65. package/dist/terminal/host.d.ts +41 -16
  66. package/dist/terminal/host.d.ts.map +1 -1
  67. package/dist/terminal/host.js +197 -64
  68. package/dist/terminal/host.js.map +1 -1
  69. package/dist/terminal/input-router.d.ts +18 -3
  70. package/dist/terminal/input-router.d.ts.map +1 -1
  71. package/dist/terminal/input-router.js +35 -6
  72. package/dist/terminal/input-router.js.map +1 -1
  73. package/dist/terminal/key-event-source.d.ts +6 -15
  74. package/dist/terminal/key-event-source.d.ts.map +1 -1
  75. package/dist/terminal/key-event-source.js +3 -22
  76. package/dist/terminal/key-event-source.js.map +1 -1
  77. package/dist/terminal/key-to-bytes.d.ts +2 -0
  78. package/dist/terminal/key-to-bytes.d.ts.map +1 -1
  79. package/dist/terminal/key-to-bytes.js +89 -13
  80. package/dist/terminal/key-to-bytes.js.map +1 -1
  81. package/dist/terminal/kitty-negotiator.d.ts +9 -0
  82. package/dist/terminal/kitty-negotiator.d.ts.map +1 -0
  83. package/dist/terminal/kitty-negotiator.js +76 -0
  84. package/dist/terminal/kitty-negotiator.js.map +1 -0
  85. package/dist/terminal/koffi-loader.d.ts +1 -5
  86. package/dist/terminal/koffi-loader.d.ts.map +1 -1
  87. package/dist/terminal/koffi-loader.js.map +1 -1
  88. package/dist/terminal/mouse-mode-tracker.d.ts +36 -0
  89. package/dist/terminal/mouse-mode-tracker.d.ts.map +1 -0
  90. package/dist/terminal/mouse-mode-tracker.js +245 -0
  91. package/dist/terminal/mouse-mode-tracker.js.map +1 -0
  92. package/dist/terminal/osc52.d.ts +16 -0
  93. package/dist/terminal/osc52.d.ts.map +1 -0
  94. package/dist/terminal/osc52.js +18 -0
  95. package/dist/terminal/osc52.js.map +1 -0
  96. package/dist/terminal/render.d.ts +14 -14
  97. package/dist/terminal/render.d.ts.map +1 -1
  98. package/dist/terminal/render.js +20 -28
  99. package/dist/terminal/render.js.map +1 -1
  100. package/dist/terminal/stdin-byte-source.d.ts +4 -5
  101. package/dist/terminal/stdin-byte-source.d.ts.map +1 -1
  102. package/dist/terminal/stdin-byte-source.js +11 -13
  103. package/dist/terminal/stdin-byte-source.js.map +1 -1
  104. package/dist/terminal/virtual-terminal.d.ts +9 -1
  105. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  106. package/dist/terminal/virtual-terminal.js +33 -1
  107. package/dist/terminal/virtual-terminal.js.map +1 -1
  108. package/dist/terminal-input.d.ts +13 -12
  109. package/dist/terminal-input.d.ts.map +1 -1
  110. package/dist/terminal-input.js +82 -108
  111. package/dist/terminal-input.js.map +1 -1
  112. package/dist/text-editing/emacs-input.d.ts +1 -6
  113. package/dist/text-editing/emacs-input.d.ts.map +1 -1
  114. package/dist/text-editing/emacs-input.js +15 -6
  115. package/dist/text-editing/emacs-input.js.map +1 -1
  116. package/dist/text-editing/readline-ops.d.ts.map +1 -1
  117. package/dist/text-editing/readline-ops.js +11 -2
  118. package/dist/text-editing/readline-ops.js.map +1 -1
  119. package/package.json +5 -2
  120. package/dist/terminal/win32-console-mode.d.ts +0 -23
  121. package/dist/terminal/win32-console-mode.d.ts.map +0 -1
  122. package/dist/terminal/win32-console-mode.js +0 -67
  123. package/dist/terminal/win32-console-mode.js.map +0 -1
  124. package/dist/terminal/win32-console-source.d.ts +0 -26
  125. package/dist/terminal/win32-console-source.d.ts.map +0 -1
  126. package/dist/terminal/win32-console-source.js +0 -277
  127. package/dist/terminal/win32-console-source.js.map +0 -1
  128. package/dist/terminal/win32-key-translator.d.ts +0 -26
  129. package/dist/terminal/win32-key-translator.d.ts.map +0 -1
  130. package/dist/terminal/win32-key-translator.js +0 -109
  131. package/dist/terminal/win32-key-translator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"readline-ops.d.ts","sourceRoot":"","sources":["../../src/text-editing/readline-ops.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAKhD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAYnD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAalD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM7C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM/C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOnD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOlD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAapD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAMtD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOvD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOtD"}
1
+ {"version":3,"file":"readline-ops.d.ts","sourceRoot":"","sources":["../../src/text-editing/readline-ops.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAKhD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAYnD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAalD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM7C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAM/C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOnD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOlD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAapD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAetD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOvD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAOtD"}
@@ -154,8 +154,17 @@ export function killToLineEnd(b) {
154
154
  }
155
155
  export function killToLineStart(b) {
156
156
  ensureLines(b);
157
- if (b.cursorCol === 0)
158
- return false;
157
+ if (b.cursorCol === 0) {
158
+ if (b.cursorRow === 0)
159
+ return false;
160
+ const prevLine = b.lines[b.cursorRow - 1];
161
+ const curLine = b.lines[b.cursorRow];
162
+ b.cursorCol = prevLine.length;
163
+ b.lines[b.cursorRow - 1] = prevLine + curLine;
164
+ b.lines.splice(b.cursorRow, 1);
165
+ b.cursorRow--;
166
+ return true;
167
+ }
159
168
  b.lines[b.cursorRow] = b.lines[b.cursorRow].slice(b.cursorCol);
160
169
  b.cursorCol = 0;
161
170
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"readline-ops.js","sourceRoot":"","sources":["../../src/text-editing/readline-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readline-ops.js","sourceRoot":"","sources":["../../src/text-editing/readline-ops.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poly-weaver",
3
- "version": "0.10.6",
3
+ "version": "0.11.1",
4
4
  "description": "Orchestrates pluggable AI coding agents in an iterative plan-review loop",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,10 @@
14
14
  "./dsl": "./dist/dsl.js"
15
15
  },
16
16
  "bin": {
17
- "poly-weaver": "dist/cli.js"
17
+ "poly-weaver": "dist/launcher.js"
18
+ },
19
+ "engines": {
20
+ "node": ">=22.17"
18
21
  },
19
22
  "files": [
20
23
  "dist/",
@@ -1,23 +0,0 @@
1
- export interface Win32ConsoleModeGuard {
2
- /** Restore the captured console mode. Idempotent. */
3
- restore(): void;
4
- }
5
- /**
6
- * On Windows, OR `ENABLE_VIRTUAL_TERMINAL_INPUT (0x0200)` into stdin's
7
- * console mode so ConPTY forwards SGR mouse-wheel bytes to the consumer.
8
- *
9
- * Returns a guard whose `restore()` reverts to the captured mode, or
10
- * `null` when:
11
- * - `process.platform !== "win32"`,
12
- * - koffi cannot be loaded (non-Windows install, missing prebuilt,
13
- * optional dep skipped, etc.),
14
- * - any of `GetStdHandle` / `GetConsoleMode` / `SetConsoleMode` fail
15
- * (legacy conhost, redirected stdin, race with another process),
16
- * - the bit is already set (nothing to restore — no guard needed).
17
- *
18
- * Mouse wheel scrollback is non-critical, so all failures fold into a
19
- * silent `null` — the host degrades to PageUp/PageDown only, matching
20
- * today's behavior on legacy conhost.
21
- */
22
- export declare function enableVtInputOnStdin(): Win32ConsoleModeGuard | null;
23
- //# sourceMappingURL=win32-console-mode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"win32-console-mode.d.ts","sourceRoot":"","sources":["../../src/terminal/win32-console-mode.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,OAAO,IAAI,IAAI,CAAC;CACjB;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,GAAG,IAAI,CAoDnE"}
@@ -1,67 +0,0 @@
1
- import { loadKoffi } from "./koffi-loader.js";
2
- const STD_INPUT_HANDLE = -10;
3
- const ENABLE_VIRTUAL_TERMINAL_INPUT = 0x0200;
4
- /**
5
- * On Windows, OR `ENABLE_VIRTUAL_TERMINAL_INPUT (0x0200)` into stdin's
6
- * console mode so ConPTY forwards SGR mouse-wheel bytes to the consumer.
7
- *
8
- * Returns a guard whose `restore()` reverts to the captured mode, or
9
- * `null` when:
10
- * - `process.platform !== "win32"`,
11
- * - koffi cannot be loaded (non-Windows install, missing prebuilt,
12
- * optional dep skipped, etc.),
13
- * - any of `GetStdHandle` / `GetConsoleMode` / `SetConsoleMode` fail
14
- * (legacy conhost, redirected stdin, race with another process),
15
- * - the bit is already set (nothing to restore — no guard needed).
16
- *
17
- * Mouse wheel scrollback is non-critical, so all failures fold into a
18
- * silent `null` — the host degrades to PageUp/PageDown only, matching
19
- * today's behavior on legacy conhost.
20
- */
21
- export function enableVtInputOnStdin() {
22
- if (process.platform !== "win32")
23
- return null;
24
- const koffi = loadKoffi();
25
- if (!koffi)
26
- return null;
27
- try {
28
- const kernel32 = koffi.load("kernel32.dll");
29
- const getStdHandle = kernel32.func("GetStdHandle", "void *", ["long"]);
30
- const getConsoleMode = kernel32.func("GetConsoleMode", "int", ["void *", koffi.out("uint32 *")]);
31
- const setConsoleMode = kernel32.func("SetConsoleMode", "int", ["void *", "uint32"]);
32
- const handle = getStdHandle(STD_INPUT_HANDLE);
33
- if (!handle)
34
- return null;
35
- // koffi out-pointer pattern: pass an array, the FFI writes index 0.
36
- const modeOut = [0];
37
- const ok = getConsoleMode(handle, modeOut);
38
- if (!ok)
39
- return null;
40
- const prevMode = (modeOut[0] ?? 0) >>> 0;
41
- if ((prevMode & ENABLE_VIRTUAL_TERMINAL_INPUT) !== 0) {
42
- // Already enabled — nothing for us to undo.
43
- return null;
44
- }
45
- const setOk = setConsoleMode(handle, (prevMode | ENABLE_VIRTUAL_TERMINAL_INPUT) >>> 0);
46
- if (!setOk)
47
- return null;
48
- let restored = false;
49
- return {
50
- restore() {
51
- if (restored)
52
- return;
53
- restored = true;
54
- try {
55
- setConsoleMode(handle, prevMode);
56
- }
57
- catch {
58
- /* ignore — mouse wheel restoration is best-effort */
59
- }
60
- },
61
- };
62
- }
63
- catch {
64
- return null;
65
- }
66
- }
67
- //# sourceMappingURL=win32-console-mode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"win32-console-mode.js","sourceRoot":"","sources":["../../src/terminal/win32-console-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAO9D,MAAM,gBAAgB,GAAG,CAAC,EAAE,CAAC;AAC7B,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,KAAK,GAAG,SAAS,EAAsB,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,gBAAgB,EAChB,KAAK,EACL,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAClC,CAAC;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,gBAAgB,EAChB,KAAK,EACL,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAC;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,oEAAoE;QACpE,MAAM,OAAO,GAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAErB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,4CAA4C;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,OAAO;gBACL,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC;oBACH,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,26 +0,0 @@
1
- import type { TerminalKey } from "../terminal-input.js";
2
- import type { KeyEventSource, ResizeSize } from "./key-event-source.js";
3
- export declare class Win32ConsoleSource implements KeyEventSource {
4
- private readonly koffi;
5
- private readonly handle;
6
- private readonly prevMode;
7
- private readonly fns;
8
- private readonly subscribers;
9
- private readonly resizeSubscribers;
10
- private readonly translator;
11
- private readonly inputBuf;
12
- private readonly countOut;
13
- private readonly readOut;
14
- private pollTimer;
15
- private stopped;
16
- private constructor();
17
- static tryCreate(): Win32ConsoleSource | null;
18
- start(): void;
19
- stop(): void;
20
- onEvents(cb: (events: TerminalKey[]) => void): () => void;
21
- onResize(cb: (size: ResizeSize) => void): () => void;
22
- private poll;
23
- private fanOut;
24
- private fanOutResize;
25
- }
26
- //# sourceMappingURL=win32-console-source.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"win32-console-source.d.ts","sourceRoot":"","sources":["../../src/terminal/win32-console-source.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA6CxE,qBAAa,kBAAmB,YAAW,cAAc;IAWrD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAbtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO;IAOP,MAAM,CAAC,SAAS,IAAI,kBAAkB,GAAG,IAAI;IAkE7C,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAWZ,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAKzD,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAKpD,OAAO,CAAC,IAAI;IAwEZ,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,YAAY;CAWrB"}
@@ -1,277 +0,0 @@
1
- import { loadKoffi } from "./koffi-loader.js";
2
- import { createWin32KeyTranslator, } from "./win32-key-translator.js";
3
- /**
4
- * Windows-only `KeyEventSource` that reads `INPUT_RECORD`s directly from
5
- * `CONIN$` via koffi/FFI. Bypasses ConPTY's lossy VT translation, so
6
- * Shift+Tab (and other modifier+functional-key combos that `conhost`
7
- * cannot express as VT bytes) reach the parent process intact.
8
- *
9
- * `Win32ConsoleSource.tryCreate()` performs all fallible native init
10
- * eagerly and returns `null` on any failure — the factory caller falls
11
- * back to `StdinByteSource`. Once constructed, `start()` / `stop()` /
12
- * `onEvents()` are non-throwing.
13
- */
14
- const GENERIC_READ = 0x80000000;
15
- const GENERIC_WRITE = 0x40000000;
16
- const FILE_SHARE_READ = 0x00000001;
17
- const FILE_SHARE_WRITE = 0x00000002;
18
- const OPEN_EXISTING = 3;
19
- const ENABLE_PROCESSED_INPUT = 0x0001;
20
- const ENABLE_LINE_INPUT = 0x0002;
21
- const ENABLE_ECHO_INPUT = 0x0004;
22
- const ENABLE_WINDOW_INPUT = 0x0008;
23
- const ENABLE_MOUSE_INPUT = 0x0010;
24
- const KEY_EVENT = 0x0001;
25
- const MOUSE_EVENT = 0x0002;
26
- const WINDOW_BUFFER_SIZE_EVENT = 0x0004;
27
- const MOUSE_WHEELED = 0x0004;
28
- const POLL_INTERVAL_MS = 16;
29
- const BATCH_SIZE = 64;
30
- /** Size of a single `INPUT_RECORD` in bytes (Windows packing). */
31
- const INPUT_RECORD_SIZE = 20;
32
- export class Win32ConsoleSource {
33
- koffi;
34
- handle;
35
- prevMode;
36
- fns;
37
- subscribers = new Set();
38
- resizeSubscribers = new Set();
39
- translator = createWin32KeyTranslator();
40
- inputBuf = Buffer.alloc(INPUT_RECORD_SIZE * BATCH_SIZE);
41
- countOut = [0];
42
- readOut = [0];
43
- pollTimer;
44
- stopped = false;
45
- constructor(koffi, handle, prevMode, fns) {
46
- this.koffi = koffi;
47
- this.handle = handle;
48
- this.prevMode = prevMode;
49
- this.fns = fns;
50
- }
51
- static tryCreate() {
52
- if (process.platform !== "win32")
53
- return null;
54
- const koffi = loadKoffi();
55
- if (!koffi)
56
- return null;
57
- try {
58
- const kernel32 = koffi.load("kernel32.dll");
59
- const createFile = kernel32.func("CreateFileW", "void *", [
60
- "str16", "uint32", "uint32", "void *", "uint32", "uint32", "void *",
61
- ]);
62
- const getConsoleMode = kernel32.func("GetConsoleMode", "int", [
63
- "void *", koffi.out("uint32 *"),
64
- ]);
65
- const setConsoleMode = kernel32.func("SetConsoleMode", "int", [
66
- "void *", "uint32",
67
- ]);
68
- const readConsoleInput = kernel32.func("ReadConsoleInputW", "int", [
69
- "void *", "void *", "uint32", koffi.out("uint32 *"),
70
- ]);
71
- const getNumEvents = kernel32.func("GetNumberOfConsoleInputEvents", "int", [
72
- "void *", koffi.out("uint32 *"),
73
- ]);
74
- const closeHandle = kernel32.func("CloseHandle", "int", ["void *"]);
75
- const handle = createFile("CONIN$", (GENERIC_READ | GENERIC_WRITE) >>> 0, (FILE_SHARE_READ | FILE_SHARE_WRITE) >>> 0, null, OPEN_EXISTING, 0, null);
76
- if (!handle)
77
- return null;
78
- const modeOut = [0];
79
- const ok = getConsoleMode(handle, modeOut);
80
- if (!ok) {
81
- try {
82
- closeHandle(handle);
83
- }
84
- catch { /* ignore */ }
85
- return null;
86
- }
87
- const prevMode = (modeOut[0] ?? 0) >>> 0;
88
- const newMode = ((prevMode
89
- & ~ENABLE_PROCESSED_INPUT
90
- & ~ENABLE_LINE_INPUT
91
- & ~ENABLE_ECHO_INPUT)
92
- | ENABLE_WINDOW_INPUT
93
- | ENABLE_MOUSE_INPUT) >>> 0;
94
- const setOk = setConsoleMode(handle, newMode);
95
- if (!setOk) {
96
- try {
97
- setConsoleMode(handle, prevMode);
98
- }
99
- catch { /* ignore */ }
100
- try {
101
- closeHandle(handle);
102
- }
103
- catch { /* ignore */ }
104
- return null;
105
- }
106
- return new Win32ConsoleSource(koffi, handle, prevMode, {
107
- readConsoleInput,
108
- getNumEvents,
109
- setConsoleMode,
110
- closeHandle,
111
- });
112
- }
113
- catch {
114
- return null;
115
- }
116
- }
117
- start() {
118
- if (this.stopped || this.pollTimer !== undefined)
119
- return;
120
- this.pollTimer = setInterval(() => this.poll(), POLL_INTERVAL_MS);
121
- }
122
- stop() {
123
- if (this.stopped)
124
- return;
125
- this.stopped = true;
126
- if (this.pollTimer !== undefined) {
127
- clearInterval(this.pollTimer);
128
- this.pollTimer = undefined;
129
- }
130
- try {
131
- this.fns.setConsoleMode(this.handle, this.prevMode);
132
- }
133
- catch { /* ignore */ }
134
- try {
135
- this.fns.closeHandle(this.handle);
136
- }
137
- catch { /* ignore */ }
138
- }
139
- onEvents(cb) {
140
- this.subscribers.add(cb);
141
- return () => { this.subscribers.delete(cb); };
142
- }
143
- onResize(cb) {
144
- this.resizeSubscribers.add(cb);
145
- return () => { this.resizeSubscribers.delete(cb); };
146
- }
147
- poll() {
148
- if (this.stopped)
149
- return;
150
- try {
151
- this.countOut[0] = 0;
152
- const ok = this.fns.getNumEvents(this.handle, this.countOut);
153
- if (!ok || this.countOut[0] === 0)
154
- return;
155
- this.readOut[0] = 0;
156
- const readOk = this.fns.readConsoleInput(this.handle, this.inputBuf, BATCH_SIZE, this.readOut);
157
- if (!readOk)
158
- return;
159
- const n = this.readOut[0] ?? 0;
160
- const events = [];
161
- const resizes = [];
162
- for (let i = 0; i < n; i++) {
163
- const base = i * INPUT_RECORD_SIZE;
164
- const eventType = this.inputBuf.readUInt16LE(base);
165
- switch (eventType) {
166
- case KEY_EVENT: {
167
- const record = decodeKeyEvent(this.inputBuf, base + 4);
168
- for (const k of this.translator.translate(record)) {
169
- events.push(k);
170
- }
171
- break;
172
- }
173
- case WINDOW_BUFFER_SIZE_EVENT: {
174
- // COORD dwSize at offset 4 inside the union slot (two signed
175
- // 16-bit values: X = columns, Y = rows).
176
- const columns = this.inputBuf.readInt16LE(base + 4);
177
- const rows = this.inputBuf.readInt16LE(base + 6);
178
- if (columns > 0 && rows > 0) {
179
- resizes.push({ columns, rows });
180
- }
181
- break;
182
- }
183
- case MOUSE_EVENT: {
184
- // MOUSE_EVENT_RECORD layout inside the union slot:
185
- // COORD dwMousePosition (base + 4, 4 bytes)
186
- // DWORD dwButtonState (base + 8)
187
- // DWORD dwControlKeyState(base + 12)
188
- // DWORD dwEventFlags (base + 16)
189
- const column = this.inputBuf.readInt16LE(base + 4) + 1;
190
- const row = this.inputBuf.readInt16LE(base + 6) + 1;
191
- const dwButtonState = this.inputBuf.readUInt32LE(base + 8);
192
- const dwEventFlags = this.inputBuf.readUInt32LE(base + 16);
193
- if ((dwEventFlags & MOUSE_WHEELED) !== 0) {
194
- // High WORD of dwButtonState is the signed wheel delta.
195
- const high = (dwButtonState >>> 16) & 0xffff;
196
- const signed = high & 0x8000 ? high - 0x10000 : high;
197
- const direction = signed > 0 ? "up" : "down";
198
- events.push({ kind: "wheel", direction, column, row });
199
- }
200
- break;
201
- }
202
- default:
203
- break;
204
- }
205
- }
206
- if (events.length > 0)
207
- this.fanOut(events);
208
- if (resizes.length > 0) {
209
- // Coalesce: multiple buffer-size records in one tick collapse to
210
- // the final size.
211
- this.fanOutResize(resizes[resizes.length - 1]);
212
- }
213
- }
214
- catch {
215
- // Best-effort polling — if the FFI call throws, drop this tick.
216
- }
217
- }
218
- fanOut(events) {
219
- // Snapshot only when multiple subscribers exist — the typical single
220
- // host subscriber doesn't need an array copy per event burst, and a
221
- // size-1 Set iteration is unaffected by a callback that unsubscribes
222
- // itself.
223
- if (this.subscribers.size > 1) {
224
- for (const cb of Array.from(this.subscribers)) {
225
- try {
226
- cb(events);
227
- }
228
- catch { /* ignore */ }
229
- }
230
- return;
231
- }
232
- for (const cb of this.subscribers) {
233
- try {
234
- cb(events);
235
- }
236
- catch { /* ignore */ }
237
- }
238
- }
239
- fanOutResize(size) {
240
- if (this.resizeSubscribers.size > 1) {
241
- for (const cb of Array.from(this.resizeSubscribers)) {
242
- try {
243
- cb(size);
244
- }
245
- catch { /* ignore */ }
246
- }
247
- return;
248
- }
249
- for (const cb of this.resizeSubscribers) {
250
- try {
251
- cb(size);
252
- }
253
- catch { /* ignore */ }
254
- }
255
- }
256
- }
257
- /**
258
- * Decode a `KEY_EVENT_RECORD` from a 16-byte slice of an `INPUT_RECORD`
259
- * buffer (skipping the 4-byte `EventType` + padding header):
260
- * DWORD bKeyDown
261
- * WORD wRepeatCount
262
- * WORD wVirtualKeyCode
263
- * WORD wVirtualScanCode
264
- * WCHAR uChar.UnicodeChar
265
- * DWORD dwControlKeyState
266
- */
267
- function decodeKeyEvent(buf, offset) {
268
- return {
269
- bKeyDown: buf.readUInt32LE(offset) !== 0,
270
- wRepeatCount: buf.readUInt16LE(offset + 4),
271
- wVirtualKeyCode: buf.readUInt16LE(offset + 6),
272
- wVirtualScanCode: buf.readUInt16LE(offset + 8),
273
- unicodeChar: buf.readUInt16LE(offset + 10),
274
- dwControlKeyState: buf.readUInt32LE(offset + 12),
275
- };
276
- }
277
- //# sourceMappingURL=win32-console-source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"win32-console-source.js","sourceRoot":"","sources":["../../src/terminal/win32-console-source.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { TerminalKey } from "../terminal-input.js";
2
- /**
3
- * Parsed Windows `KEY_EVENT_RECORD` payload — produced by either an FFI
4
- * read of `ReadConsoleInputW` or a test fixture.
5
- */
6
- export interface KeyEventRecord {
7
- bKeyDown: boolean;
8
- wRepeatCount: number;
9
- wVirtualKeyCode: number;
10
- wVirtualScanCode: number;
11
- unicodeChar: number;
12
- dwControlKeyState: number;
13
- }
14
- interface Win32KeyTranslator {
15
- translate(record: KeyEventRecord): TerminalKey[];
16
- }
17
- /**
18
- * Translate a stream of `KEY_EVENT_RECORD`s to `TerminalKey[]`.
19
- *
20
- * Output shapes mirror `TerminalKeyParser.handleWin32Input` so the FFI
21
- * path emits bit-identical events to the byte-stream Win32-input-mode
22
- * path.
23
- */
24
- export declare function createWin32KeyTranslator(): Win32KeyTranslator;
25
- export {};
26
- //# sourceMappingURL=win32-key-translator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"win32-key-translator.d.ts","sourceRoot":"","sources":["../../src/terminal/win32-key-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CAAC;CAClD;AAQD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAgG7D"}
@@ -1,109 +0,0 @@
1
- const LEFT_CTRL_PRESSED = 0x0008;
2
- const RIGHT_CTRL_PRESSED = 0x0004;
3
- const LEFT_ALT_PRESSED = 0x0002;
4
- const RIGHT_ALT_PRESSED = 0x0001;
5
- const SHIFT_PRESSED = 0x0010;
6
- /**
7
- * Translate a stream of `KEY_EVENT_RECORD`s to `TerminalKey[]`.
8
- *
9
- * Output shapes mirror `TerminalKeyParser.handleWin32Input` so the FFI
10
- * path emits bit-identical events to the byte-stream Win32-input-mode
11
- * path.
12
- */
13
- export function createWin32KeyTranslator() {
14
- let pendingHighSurrogate;
15
- function emit(record) {
16
- if (!record.bKeyDown)
17
- return [];
18
- const vk = record.wVirtualKeyCode;
19
- // Modifier-only keys (Shift=16, Ctrl=17, Alt=18) — drop.
20
- if (vk === 16 || vk === 17 || vk === 18)
21
- return [];
22
- if (vk === 33)
23
- return [{ kind: "page", direction: "up" }];
24
- if (vk === 34)
25
- return [{ kind: "page", direction: "down" }];
26
- if (vk === 35)
27
- return [{ kind: "end" }];
28
- if (vk === 36)
29
- return [{ kind: "home" }];
30
- if (vk >= 37 && vk <= 40) {
31
- const dir = ["left", "up", "right", "down"][vk - 37];
32
- return [{ kind: "arrow", direction: dir }];
33
- }
34
- const cs = record.dwControlKeyState;
35
- const ctrl = (cs & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) !== 0;
36
- const alt = (cs & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)) !== 0;
37
- const uc = record.unicodeChar;
38
- if (vk === 46)
39
- return [{ kind: "delete", ctrl }]; // VK_DELETE
40
- const shift = (cs & SHIFT_PRESSED) !== 0;
41
- if (uc === 10 && !shift) {
42
- return [{ kind: "control", byte: 0x0a }];
43
- }
44
- if (uc === 13 || uc === 10) {
45
- if (uc === 13 && (ctrl || shift)) {
46
- const modifiers = 1 + (shift ? 1 : 0) + (ctrl ? 4 : 0);
47
- return [{ kind: "kitty-key", keyCode: 13, modifiers }];
48
- }
49
- return [{ kind: "enter", byte: uc }];
50
- }
51
- if (vk === 8)
52
- return [{ kind: "backspace" }];
53
- if (vk === 27)
54
- return [{ kind: "escape" }];
55
- if (vk === 9) {
56
- return [{ kind: "kitty-key", keyCode: 9, modifiers: shift ? 2 : 1 }];
57
- }
58
- if (ctrl && uc >= 1 && uc < 32) {
59
- return [{ kind: "control", byte: uc }];
60
- }
61
- if (alt) {
62
- let keyCode = uc;
63
- if (keyCode === 0 && vk >= 0x41 && vk <= 0x5a)
64
- keyCode = vk + 32;
65
- else if (keyCode >= 0x41 && keyCode <= 0x5a)
66
- keyCode += 32;
67
- if (keyCode >= 32 && keyCode < 127) {
68
- const modifiers = 1 + (shift ? 1 : 0) + 2 + (ctrl ? 4 : 0);
69
- pendingHighSurrogate = undefined;
70
- return [{ kind: "kitty-key", keyCode, modifiers }];
71
- }
72
- }
73
- if (uc >= 0xd800 && uc <= 0xdbff) {
74
- pendingHighSurrogate = uc;
75
- return [];
76
- }
77
- if (uc >= 0xdc00 && uc <= 0xdfff) {
78
- if (pendingHighSurrogate === undefined)
79
- return [];
80
- const hi = pendingHighSurrogate;
81
- pendingHighSurrogate = undefined;
82
- const char = String.fromCharCode(hi, uc);
83
- return [{ kind: "printable", char, source: "plain" }];
84
- }
85
- if (uc >= 32) {
86
- pendingHighSurrogate = undefined;
87
- return [{
88
- kind: "printable",
89
- char: String.fromCharCode(uc),
90
- source: "plain",
91
- }];
92
- }
93
- return [];
94
- }
95
- return {
96
- translate(record) {
97
- const single = emit(record);
98
- const count = Math.max(1, record.wRepeatCount | 0);
99
- if (count === 1 || single.length === 0)
100
- return single;
101
- const out = [];
102
- for (let i = 0; i < count; i++) {
103
- out.push(...single);
104
- }
105
- return out;
106
- },
107
- };
108
- }
109
- //# sourceMappingURL=win32-key-translator.js.map