poly-weaver 1.1.0 → 1.2.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 (236) hide show
  1. package/dist/agents/implementors/index.d.ts +2 -2
  2. package/dist/agents/implementors/index.d.ts.map +1 -1
  3. package/dist/agents/implementors/index.js.map +1 -1
  4. package/dist/agents/index.d.ts.map +1 -1
  5. package/dist/agents/index.js +7 -6
  6. package/dist/agents/index.js.map +1 -1
  7. package/dist/agents/interviewers/index.d.ts +2 -2
  8. package/dist/agents/interviewers/index.d.ts.map +1 -1
  9. package/dist/agents/planners/index.d.ts +2 -2
  10. package/dist/agents/planners/index.d.ts.map +1 -1
  11. package/dist/agents/planners/index.js.map +1 -1
  12. package/dist/agents/registry.d.ts +2 -1
  13. package/dist/agents/registry.d.ts.map +1 -1
  14. package/dist/agents/registry.js +1 -1
  15. package/dist/agents/registry.js.map +1 -1
  16. package/dist/agents/reviewers/index.d.ts +2 -2
  17. package/dist/agents/reviewers/index.d.ts.map +1 -1
  18. package/dist/agents/reviewers/index.js.map +1 -1
  19. package/dist/agents/runner.d.ts +3 -1
  20. package/dist/agents/runner.d.ts.map +1 -1
  21. package/dist/agents/runner.js +106 -64
  22. package/dist/agents/runner.js.map +1 -1
  23. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  24. package/dist/agents/simplifiers/adapter.js +1 -0
  25. package/dist/agents/simplifiers/adapter.js.map +1 -1
  26. package/dist/agents/simplifiers/dsl.d.ts +1 -0
  27. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  28. package/dist/agents/simplifiers/dsl.js +1 -0
  29. package/dist/agents/simplifiers/dsl.js.map +1 -1
  30. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  31. package/dist/agents/simplifiers/handler.js +1 -0
  32. package/dist/agents/simplifiers/handler.js.map +1 -1
  33. package/dist/agents/simplifiers/index.d.ts +2 -2
  34. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  35. package/dist/agents/simplifiers/index.js.map +1 -1
  36. package/dist/agents/simplifiers/prompts.d.ts +1 -0
  37. package/dist/agents/simplifiers/prompts.d.ts.map +1 -1
  38. package/dist/agents/simplifiers/prompts.js +1 -1
  39. package/dist/agents/simplifiers/prompts.js.map +1 -1
  40. package/dist/agents/simplifiers/types.d.ts +1 -0
  41. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  42. package/dist/cleanup.d.ts +9 -0
  43. package/dist/cleanup.d.ts.map +1 -0
  44. package/dist/cleanup.js +35 -0
  45. package/dist/cleanup.js.map +1 -0
  46. package/dist/cli.js +30 -13
  47. package/dist/cli.js.map +1 -1
  48. package/dist/config.d.ts +5 -3
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/config.js.map +1 -1
  51. package/dist/crosscheck/coordinator.d.ts.map +1 -1
  52. package/dist/crosscheck/coordinator.js +52 -36
  53. package/dist/crosscheck/coordinator.js.map +1 -1
  54. package/dist/crosscheck/live-agent-session.d.ts +8 -1
  55. package/dist/crosscheck/live-agent-session.d.ts.map +1 -1
  56. package/dist/crosscheck/live-agent-session.js +62 -31
  57. package/dist/crosscheck/live-agent-session.js.map +1 -1
  58. package/dist/dump/collector.d.ts.map +1 -1
  59. package/dist/dump/collector.js +1 -0
  60. package/dist/dump/collector.js.map +1 -1
  61. package/dist/dump/observer-diagnostics.d.ts +6 -0
  62. package/dist/dump/observer-diagnostics.d.ts.map +1 -0
  63. package/dist/dump/observer-diagnostics.js +19 -0
  64. package/dist/dump/observer-diagnostics.js.map +1 -0
  65. package/dist/dump/service.d.ts.map +1 -1
  66. package/dist/dump/service.js +2 -3
  67. package/dist/dump/service.js.map +1 -1
  68. package/dist/dump/types.d.ts +2 -0
  69. package/dist/dump/types.d.ts.map +1 -1
  70. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  71. package/dist/flow/built-in/simplify-factory.js +4 -1
  72. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  73. package/dist/flow/built-in/simplify.d.ts +1 -0
  74. package/dist/flow/built-in/simplify.d.ts.map +1 -1
  75. package/dist/flow/built-in/simplify.js +3 -2
  76. package/dist/flow/built-in/simplify.js.map +1 -1
  77. package/dist/flow/dsl.d.ts +1 -0
  78. package/dist/flow/dsl.d.ts.map +1 -1
  79. package/dist/flow/dsl.js +1 -0
  80. package/dist/flow/dsl.js.map +1 -1
  81. package/dist/flow/executor.d.ts.map +1 -1
  82. package/dist/flow/executor.js +3 -3
  83. package/dist/flow/executor.js.map +1 -1
  84. package/dist/flow/params.d.ts +3 -1
  85. package/dist/flow/params.d.ts.map +1 -1
  86. package/dist/flow/params.js +85 -121
  87. package/dist/flow/params.js.map +1 -1
  88. package/dist/flow/types.d.ts +5 -2
  89. package/dist/flow/types.d.ts.map +1 -1
  90. package/dist/flow/types.js.map +1 -1
  91. package/dist/offscreen/controller.d.ts +1 -1
  92. package/dist/offscreen/controller.d.ts.map +1 -1
  93. package/dist/offscreen/controller.js +67 -45
  94. package/dist/offscreen/controller.js.map +1 -1
  95. package/dist/offscreen/fork.d.ts +6 -3
  96. package/dist/offscreen/fork.d.ts.map +1 -1
  97. package/dist/offscreen/fork.js +57 -33
  98. package/dist/offscreen/fork.js.map +1 -1
  99. package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
  100. package/dist/offscreen/inquiry-pane.js +7 -2
  101. package/dist/offscreen/inquiry-pane.js.map +1 -1
  102. package/dist/offscreen/inquiry-sender.d.ts +1 -0
  103. package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
  104. package/dist/offscreen/inquiry-sender.js +12 -2
  105. package/dist/offscreen/inquiry-sender.js.map +1 -1
  106. package/dist/offscreen/registry.d.ts.map +1 -1
  107. package/dist/offscreen/registry.js +14 -12
  108. package/dist/offscreen/registry.js.map +1 -1
  109. package/dist/orchestrator.d.ts.map +1 -1
  110. package/dist/orchestrator.js +20 -24
  111. package/dist/orchestrator.js.map +1 -1
  112. package/dist/preview-panel.d.ts +4 -1
  113. package/dist/preview-panel.d.ts.map +1 -1
  114. package/dist/preview-panel.js +114 -55
  115. package/dist/preview-panel.js.map +1 -1
  116. package/dist/providers/configuration-presentation.d.ts.map +1 -1
  117. package/dist/providers/configuration-presentation.js +5 -8
  118. package/dist/providers/configuration-presentation.js.map +1 -1
  119. package/dist/providers/copilot/capability-discovery.d.ts +16 -0
  120. package/dist/providers/copilot/capability-discovery.d.ts.map +1 -0
  121. package/dist/providers/copilot/capability-discovery.js +238 -0
  122. package/dist/providers/copilot/capability-discovery.js.map +1 -0
  123. package/dist/providers/copilot/capability-extension/extension.d.mts +2 -0
  124. package/dist/providers/copilot/capability-extension/extension.d.mts.map +1 -0
  125. package/dist/providers/copilot/capability-extension/extension.mjs +46 -0
  126. package/dist/providers/copilot/capability-extension/extension.mjs.map +1 -0
  127. package/dist/providers/copilot/completion.d.ts +2 -0
  128. package/dist/providers/copilot/completion.d.ts.map +1 -1
  129. package/dist/providers/copilot/completion.js +27 -0
  130. package/dist/providers/copilot/completion.js.map +1 -1
  131. package/dist/providers/copilot/model-capabilities.d.ts +21 -0
  132. package/dist/providers/copilot/model-capabilities.d.ts.map +1 -0
  133. package/dist/providers/copilot/model-capabilities.js +76 -0
  134. package/dist/providers/copilot/model-capabilities.js.map +1 -0
  135. package/dist/providers/copilot/observation.d.ts +123 -15
  136. package/dist/providers/copilot/observation.d.ts.map +1 -1
  137. package/dist/providers/copilot/observation.js +807 -179
  138. package/dist/providers/copilot/observation.js.map +1 -1
  139. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs +332 -66
  140. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs.map +1 -1
  141. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts +17 -0
  142. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.d.mts.map +1 -0
  143. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs +54 -0
  144. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/history-evidence.mjs.map +1 -0
  145. package/dist/providers/copilot/strategy.d.ts +8 -8
  146. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  147. package/dist/providers/copilot/strategy.js +61 -145
  148. package/dist/providers/copilot/strategy.js.map +1 -1
  149. package/dist/providers/copilot/trust.js +1 -1
  150. package/dist/providers/copilot/trust.js.map +1 -1
  151. package/dist/providers/fork-cleanup.d.ts.map +1 -1
  152. package/dist/providers/fork-cleanup.js +3 -19
  153. package/dist/providers/fork-cleanup.js.map +1 -1
  154. package/dist/providers/initialization.d.ts +14 -0
  155. package/dist/providers/initialization.d.ts.map +1 -0
  156. package/dist/providers/initialization.js +74 -0
  157. package/dist/providers/initialization.js.map +1 -0
  158. package/dist/providers/invoke.d.ts.map +1 -1
  159. package/dist/providers/invoke.js +54 -32
  160. package/dist/providers/invoke.js.map +1 -1
  161. package/dist/providers/observer-run.d.ts.map +1 -1
  162. package/dist/providers/observer-run.js +3 -2
  163. package/dist/providers/observer-run.js.map +1 -1
  164. package/dist/providers/option-catalog.d.ts +12 -8
  165. package/dist/providers/option-catalog.d.ts.map +1 -1
  166. package/dist/providers/option-catalog.js +25 -13
  167. package/dist/providers/option-catalog.js.map +1 -1
  168. package/dist/providers/registry.d.ts +3 -1
  169. package/dist/providers/registry.d.ts.map +1 -1
  170. package/dist/providers/registry.js +20 -9
  171. package/dist/providers/registry.js.map +1 -1
  172. package/dist/providers/session-launch.d.ts.map +1 -1
  173. package/dist/providers/session-launch.js +2 -1
  174. package/dist/providers/session-launch.js.map +1 -1
  175. package/dist/providers/types.d.ts +35 -8
  176. package/dist/providers/types.d.ts.map +1 -1
  177. package/dist/providers/types.js +1 -1
  178. package/dist/providers/types.js.map +1 -1
  179. package/dist/pty/exit.d.ts +3 -1
  180. package/dist/pty/exit.d.ts.map +1 -1
  181. package/dist/pty/exit.js +39 -6
  182. package/dist/pty/exit.js.map +1 -1
  183. package/dist/pty/spawn.d.ts.map +1 -1
  184. package/dist/pty/spawn.js +7 -3
  185. package/dist/pty/spawn.js.map +1 -1
  186. package/dist/pty/types.d.ts +1 -1
  187. package/dist/pty/types.d.ts.map +1 -1
  188. package/dist/session/resume.d.ts.map +1 -1
  189. package/dist/session/resume.js +7 -0
  190. package/dist/session/resume.js.map +1 -1
  191. package/dist/startup-tui.d.ts +1 -0
  192. package/dist/startup-tui.d.ts.map +1 -1
  193. package/dist/startup-tui.js +17 -6
  194. package/dist/startup-tui.js.map +1 -1
  195. package/dist/terminal/color-negotiation.d.ts +37 -0
  196. package/dist/terminal/color-negotiation.d.ts.map +1 -0
  197. package/dist/terminal/color-negotiation.js +154 -0
  198. package/dist/terminal/color-negotiation.js.map +1 -0
  199. package/dist/terminal/color-protocol.d.ts +36 -0
  200. package/dist/terminal/color-protocol.d.ts.map +1 -0
  201. package/dist/terminal/color-protocol.js +88 -0
  202. package/dist/terminal/color-protocol.js.map +1 -0
  203. package/dist/terminal/host-input-mode.d.ts.map +1 -1
  204. package/dist/terminal/host-input-mode.js +6 -2
  205. package/dist/terminal/host-input-mode.js.map +1 -1
  206. package/dist/terminal/host.d.ts +13 -4
  207. package/dist/terminal/host.d.ts.map +1 -1
  208. package/dist/terminal/host.js +147 -51
  209. package/dist/terminal/host.js.map +1 -1
  210. package/dist/terminal/input-session.d.ts +23 -0
  211. package/dist/terminal/input-session.d.ts.map +1 -0
  212. package/dist/terminal/input-session.js +97 -0
  213. package/dist/terminal/input-session.js.map +1 -0
  214. package/dist/terminal/key-event-source.d.ts +5 -1
  215. package/dist/terminal/key-event-source.d.ts.map +1 -1
  216. package/dist/terminal/key-event-source.js +1 -0
  217. package/dist/terminal/key-event-source.js.map +1 -1
  218. package/dist/terminal/stdin-byte-source.d.ts +13 -8
  219. package/dist/terminal/stdin-byte-source.d.ts.map +1 -1
  220. package/dist/terminal/stdin-byte-source.js +84 -40
  221. package/dist/terminal/stdin-byte-source.js.map +1 -1
  222. package/dist/terminal/virtual-terminal.d.ts +2 -0
  223. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  224. package/dist/terminal/virtual-terminal.js +17 -0
  225. package/dist/terminal/virtual-terminal.js.map +1 -1
  226. package/dist/terminal-input.d.ts +19 -2
  227. package/dist/terminal-input.d.ts.map +1 -1
  228. package/dist/terminal-input.js +162 -6
  229. package/dist/terminal-input.js.map +1 -1
  230. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  231. package/dist/user/host-curate-prompt.js +9 -5
  232. package/dist/user/host-curate-prompt.js.map +1 -1
  233. package/dist/user/host-prompt.d.ts.map +1 -1
  234. package/dist/user/host-prompt.js +9 -5
  235. package/dist/user/host-prompt.js.map +1 -1
  236. package/package.json +2 -2
@@ -2,7 +2,8 @@
2
2
  * Shared terminal input parser — bytes → low-level key identities.
3
3
  *
4
4
  * This module owns the byte-level state machine (normal/esc/csi/utf8),
5
- * kitty keyboard protocol parsing, and escape timeout.
5
+ * kitty keyboard protocol parsing, escape timeout and bounded color-report
6
+ * separation. Covered reports use a distinct callback, never key events.
6
7
  * It produces {@link TerminalKey} events with no domain semantics.
7
8
  *
8
9
  * Consumers wrap this via composition and map TerminalKey → their own domain
@@ -10,6 +11,7 @@
10
11
  * prompt and TUI text-editing surfaces.
11
12
  */
12
13
  import { PASTE_END } from "./ansi.js";
14
+ import { COLOR_FRAME_TIMEOUT_MS, COLOR_PREFIX_TIMEOUT_MS, COLOR_REPORT_HEADERS, MAX_COLOR_FRAME_BYTES, inputClock, parseColorReports, } from "./terminal/color-protocol.js";
13
15
  const SUPPRESSED = { tag: "suppressed" };
14
16
  const UNRECOGNIZED = { tag: "unrecognized" };
15
17
  const START_PASTE = { tag: "start-paste" };
@@ -21,6 +23,7 @@ function keys(...k) {
21
23
  export class TerminalKeyParser {
22
24
  escapeTimeoutMs;
23
25
  configuredShiftEnterBytes;
26
+ clock;
24
27
  state = "normal";
25
28
  csiParams = "";
26
29
  legacyMouseBytes = [];
@@ -32,28 +35,57 @@ export class TerminalKeyParser {
32
35
  pasteEndMatch = 0;
33
36
  configuredShiftEnterMatch = [];
34
37
  configuredShiftEnterTimer;
35
- constructor(escapeTimeoutMs = 50, configuredShiftEnterBytes) {
38
+ reportCandidate = "";
39
+ reportFrame;
40
+ reportDeadline = 0;
41
+ reportTimer;
42
+ reportCallback;
43
+ disposed = false;
44
+ constructor(escapeTimeoutMs = 50, configuredShiftEnterBytes, clock = inputClock) {
36
45
  this.escapeTimeoutMs = escapeTimeoutMs;
37
46
  this.configuredShiftEnterBytes = configuredShiftEnterBytes;
47
+ this.clock = clock;
48
+ }
49
+ onReport(cb) {
50
+ this.reportCallback = cb;
51
+ }
52
+ dispose() {
53
+ this.disposed = true;
54
+ this.cancelPendingEscape();
55
+ this.clearReport();
56
+ this.deferredCallback = undefined;
57
+ this.reportCallback = undefined;
58
+ this.state = "normal";
59
+ this.csiParams = "";
60
+ this.utf8Buffer = [];
61
+ this.legacyMouseBytes = [];
62
+ this.pasteBuffer = null;
63
+ this.pasteEndMatch = 0;
38
64
  }
39
65
  onDeferredKeys(cb) {
40
66
  this.deferredCallback = cb;
41
67
  }
42
68
  cancelPendingEscape() {
43
69
  if (this.escapeTimer != null) {
44
- clearTimeout(this.escapeTimer);
70
+ this.clock.clearTimeout(this.escapeTimer);
45
71
  this.escapeTimer = undefined;
46
72
  }
47
73
  this.cancelPendingConfiguredShiftEnter();
48
74
  }
49
75
  parseChunk(chunk) {
50
76
  const out = [];
77
+ if (this.disposed)
78
+ return out;
51
79
  for (const byte of chunk) {
80
+ if (this.disposed)
81
+ break;
52
82
  this.processByte(byte, out);
53
83
  }
54
84
  // Bare ESC at end of chunk: start escape timeout
55
85
  if (this.state === "esc" && this.escapeTimer == null) {
56
- this.escapeTimer = setTimeout(() => {
86
+ this.escapeTimer = this.clock.setTimeout(() => {
87
+ if (this.disposed)
88
+ return;
57
89
  this.escapeTimer = undefined;
58
90
  if (this.state === "esc") {
59
91
  this.state = "normal";
@@ -64,6 +96,128 @@ export class TerminalKeyParser {
64
96
  return out;
65
97
  }
66
98
  processByte(byte, out) {
99
+ this.expireReport(out);
100
+ if (this.reportFrame) {
101
+ this.consumeReportByte(byte);
102
+ return;
103
+ }
104
+ if (this.reportCandidate) {
105
+ const candidate = this.reportCandidate + String.fromCharCode(byte);
106
+ if (COLOR_REPORT_HEADERS.some((header) => header.startsWith(candidate))) {
107
+ this.reportCandidate = candidate;
108
+ if (COLOR_REPORT_HEADERS.some((header) => header === candidate)) {
109
+ // Resolve earlier keyboard bytes only once this candidate is a report.
110
+ this.flushKeyboardPrefix(out);
111
+ this.reportFrame = { header: candidate, body: "", size: candidate.length, invalid: false, st: false };
112
+ this.reportCandidate = "";
113
+ this.armReportTimer(COLOR_FRAME_TIMEOUT_MS);
114
+ }
115
+ return;
116
+ }
117
+ const pending = this.reportCandidate;
118
+ this.clearReport();
119
+ for (const ch of pending)
120
+ this.processKeyboardByte(ch.charCodeAt(0), out);
121
+ // The mismatching byte is new input, not part of the replayed prefix.
122
+ if (byte === 0x1b) {
123
+ if (this.state === "esc")
124
+ this.flushKeyboardPrefix(out);
125
+ this.processByte(byte, out);
126
+ }
127
+ else {
128
+ this.processKeyboardByte(byte, out);
129
+ }
130
+ return;
131
+ }
132
+ if (this.pasteBuffer === null && this.state === "normal" && byte === 0x1b) {
133
+ this.reportCandidate = "\x1b";
134
+ this.armReportTimer(Math.min(this.escapeTimeoutMs, COLOR_PREFIX_TIMEOUT_MS));
135
+ return;
136
+ }
137
+ this.processKeyboardByte(byte, out);
138
+ }
139
+ armReportTimer(ms) {
140
+ if (this.reportTimer !== undefined)
141
+ this.clock.clearTimeout(this.reportTimer);
142
+ this.reportDeadline = this.clock.now() + ms;
143
+ const deadline = this.reportDeadline;
144
+ const expire = () => {
145
+ if (this.disposed || this.reportDeadline !== deadline)
146
+ return;
147
+ const out = [];
148
+ this.expireReport(out);
149
+ if (this.reportDeadline === deadline) {
150
+ // Timer scheduling may round down fractional monotonic time. Keep the
151
+ // original deadline and retry rather than leaving a candidate stranded.
152
+ this.reportTimer = this.clock.setTimeout(expire, Math.max(1, Math.ceil(deadline - this.clock.now())));
153
+ }
154
+ if (out.length > 0)
155
+ this.deferredCallback?.(out);
156
+ };
157
+ this.reportTimer = this.clock.setTimeout(expire, ms);
158
+ }
159
+ clearReport() {
160
+ if (this.reportTimer !== undefined)
161
+ this.clock.clearTimeout(this.reportTimer);
162
+ this.reportTimer = undefined;
163
+ this.reportDeadline = 0;
164
+ this.reportFrame = undefined;
165
+ this.reportCandidate = "";
166
+ }
167
+ expireReport(out) {
168
+ if ((!this.reportCandidate && !this.reportFrame) || this.clock.now() < this.reportDeadline)
169
+ return;
170
+ const pending = this.reportCandidate;
171
+ this.clearReport();
172
+ for (const ch of pending)
173
+ this.processKeyboardByte(ch.charCodeAt(0), out);
174
+ if (pending) {
175
+ // Do not give a bare Esc/configured prefix another recognition budget.
176
+ this.flushKeyboardPrefix(out);
177
+ }
178
+ }
179
+ flushKeyboardPrefix(out) {
180
+ const configured = this.configuredShiftEnterMatch;
181
+ this.cancelPendingConfiguredShiftEnter();
182
+ for (const byte of configured)
183
+ this.processByteWithoutConfiguredShiftEnter(byte, out);
184
+ if (this.state === "esc") {
185
+ this.cancelPendingEscape();
186
+ this.state = "normal";
187
+ out.push({ kind: "escape" });
188
+ }
189
+ }
190
+ consumeReportByte(byte) {
191
+ const frame = this.reportFrame;
192
+ if (byte === 0x18 || byte === 0x1a) {
193
+ this.clearReport();
194
+ return;
195
+ }
196
+ const appearance = frame.header === "\x1b[?997;";
197
+ const final = appearance ? byte >= 0x40 && byte <= 0x7e
198
+ : byte === 0x07 || (frame.st && byte === 0x5c);
199
+ frame.size = Math.min(MAX_COLOR_FRAME_BYTES + 1, frame.size + 1);
200
+ if (final) {
201
+ const valid = !frame.invalid && frame.size <= MAX_COLOR_FRAME_BYTES
202
+ && (appearance ? byte === 0x6e : !frame.st || byte === 0x5c);
203
+ const reports = valid ? parseColorReports(frame.header, frame.body) : [];
204
+ this.clearReport();
205
+ for (const report of reports) {
206
+ if (!this.disposed)
207
+ this.reportCallback?.(report);
208
+ }
209
+ return;
210
+ }
211
+ if (frame.st || frame.size > MAX_COLOR_FRAME_BYTES
212
+ || (byte !== 0x1b && (byte < 0x20 || byte > 0x7e))) {
213
+ frame.invalid = true;
214
+ frame.body = "";
215
+ }
216
+ frame.st = !appearance && byte === 0x1b;
217
+ if (!frame.invalid && !frame.st)
218
+ frame.body += String.fromCharCode(byte);
219
+ }
220
+ processKeyboardByte(byte, out) {
67
221
  if (this.pasteBuffer === null
68
222
  && this.state === "normal"
69
223
  && this.consumeConfiguredShiftEnterByte(byte, out)) {
@@ -218,7 +372,9 @@ export class TerminalKeyParser {
218
372
  startConfiguredShiftEnterTimer() {
219
373
  if (this.configuredShiftEnterTimer !== undefined)
220
374
  return;
221
- this.configuredShiftEnterTimer = setTimeout(() => {
375
+ this.configuredShiftEnterTimer = this.clock.setTimeout(() => {
376
+ if (this.disposed)
377
+ return;
222
378
  this.configuredShiftEnterTimer = undefined;
223
379
  if (this.configuredShiftEnterMatch.length === 0)
224
380
  return;
@@ -238,7 +394,7 @@ export class TerminalKeyParser {
238
394
  }
239
395
  cancelPendingConfiguredShiftEnter() {
240
396
  if (this.configuredShiftEnterTimer !== undefined) {
241
- clearTimeout(this.configuredShiftEnterTimer);
397
+ this.clock.clearTimeout(this.configuredShiftEnterTimer);
242
398
  this.configuredShiftEnterTimer = undefined;
243
399
  }
244
400
  this.configuredShiftEnterMatch = [];
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAyBtC,MAAM,UAAU,GAAmB,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACzD,MAAM,YAAY,GAAmB,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;AAC7D,MAAM,WAAW,GAAmB,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,SAAS,IAAI,CAAC,GAAG,CAAgB;IAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,iBAAiB;IAcT;IACA;IAdX,KAAK,GAA+D,QAAQ,CAAC;IAC7E,SAAS,GAAG,EAAE,CAAC;IACf,gBAAgB,GAAa,EAAE,CAAC;IAChC,WAAW,CAA4C;IACvD,gBAAgB,CAA8C;IAC9D,UAAU,GAAa,EAAE,CAAC;IAC1B,YAAY,GAAG,CAAC,CAAC;IACjB,WAAW,GAAoB,IAAI,CAAC;IACpC,aAAa,GAAG,CAAC,CAAC;IAClB,yBAAyB,GAAa,EAAE,CAAC;IACzC,yBAAyB,CAA4C;IAE7E,YACmB,kBAAkB,EAAE,EACpB,yBAAkC;QADlC,oBAAe,GAAf,eAAe,CAAK;QACpB,8BAAyB,GAAzB,yBAAyB,CAAS;IAClD,CAAC;IAEJ,cAAc,CAAC,EAAiC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,GAAG,GAAkB,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,GAAkB;QAClD,IACE,IAAI,CAAC,WAAW,KAAK,IAAI;eACtB,IAAI,CAAC,KAAK,KAAK,QAAQ;eACvB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,EAClD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAEO,sCAAsC,CAAC,IAAY,EAAE,GAAkB;QAC7E,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;oBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACtB,CAAC;qBAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,+CAA+C;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YAER,KAAK,KAAK;gBACR,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,6DAA6D;oBAC7D,gCAAgC;oBAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM;YAER,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC9B,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBACnC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;wBAC5B,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC3C,MAAM;oBACR,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;wBAC9B,yDAAyD;wBACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACtD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAChB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAChB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAC1B,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;wBACpC,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,cAAc;gBACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACrE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACxB,CAAC;gBACD,MAAM;YAER,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM;YACR,CAAC;YAED,KAAK,MAAM;gBACT,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;wBACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC5D,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;wBACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACrC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM;QACZ,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,IAAY,EAAE,GAAkB;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEtF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;YAClD,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,8BAA8B;QACpC,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS;YAAE,OAAO;QACzD,IAAI,CAAC,yBAAyB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC3C,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACxD,MAAM,GAAG,GAAkB,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAC/C,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,OAAO;gBAAE,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnF,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAEO,iCAAiC;QACvC,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACjD,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7C,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;IACtC,CAAC;IAEO,QAAQ,CACd,GAAkB,EAClB,MAAsB,EACtB,UAAwB;QAExB,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,KAAK,aAAa;gBAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,OAAO;YACT,KAAK,YAAY;gBACf,OAAO;YACT,KAAK,cAAc;gBACjB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC/C,OAAO;QACX,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;gBACE,OAAO,YAAY,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,SAAiB;QACjD,qEAAqE;QACrE,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/D,yEAAyE;QACzE,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpF,uDAAuD;QACvD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO,WAAW,CAAC;gBACrB,KAAK,CAAC;oBACJ,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxE,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,KAAK,CAAC,CAAC;gBACP,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC,CAAC;gBACP,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpD,mEAAmE;QACnE,+DAA+D;QAC/D,gDAAgD;QAChD,qEAAqE;QACrE,yEAAyE;QACzE,oCAAoC;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBAAE,OAAO,YAAY,CAAC;gBACnE,OAAO,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;oBACpC,MAAM;oBACN,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,4BAA4B;QAC5B,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAEvC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7C,wEAAwE;QACxE,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,kEAAkE;QAClE,IAAI,OAAO,KAAK,EAAE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,YAAY;QACZ,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,sEAAsE;QACtE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,iBAAiB,GAAG,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;gBAC1D,CAAC,CAAC,OAAO,GAAG,EAAE;gBACd,CAAC,CAAC,OAAO,CAAC;YACZ,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,4DAA4D;QAC5D,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,KAAK,EAAE,SAAS;gBACnB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,KAAK,KAAK,EAAE,QAAQ;gBAClB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,oDAAoD;gBACpD,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,KAAK,KAAK,EAAE,MAAM;gBAChB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,KAAK,KAAK,EAAE,YAAY;gBACtB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACrC,KAAK,KAAK,EAAE,SAAS;gBACnB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxE,KAAK,KAAK,EAAE,OAAO;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1D,KAAK,KAAK,EAAE,QAAQ;gBAClB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,KAAK,KAAK,EAAE,KAAK;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACxD,KAAK,KAAK,EAAE,OAAO;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CACX,SAA2C,EAC3C,MAAc;QAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAEO,kBAAkB,CACxB,SAA2C,EAC3C,SAAiB;QAEjB,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,GAAkB;QACvD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO;QACtC,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,GAAkB;QACtD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAgB,EAAE,GAAkB;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEO,mBAAmB,CAAC,YAAgC;QAC1D,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,SAA4B,EAAE,QAAgB;IAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,SAA4B,EAAE,QAAgB;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,KAAK,IAAI,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-curate-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAUL,KAAK,cAAc,EAEnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAOzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAQzE,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,QAAQ,QAAoB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC;CAonBzB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE;QACP,MAAM,EAAE,UAAU,CAAC;QACnB,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,iBAAiB,CAAC;QAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,GAAG,SAAS,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,EACrB,YAAY,GAAE;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAO,EAClE,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAsBV;AAWD,KAAK,UAAU,GACX;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1C,kBAAkB,CAAC;AAopBvB,wBAAgB,UAAU,CAAC,OAAO,EAAE,mBAAmB,EAAE,YAAY,UAAO,GAAG,MAAM,CAWpF;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,SAAS,EAAE,MAAM,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,EAAE,2BAA2B,CAAC,CAAC,CA8BvE"}
1
+ {"version":3,"file":"host-curate-prompt.d.ts","sourceRoot":"","sources":["../../src/user/host-curate-prompt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAUL,KAAK,cAAc,EAEnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAOzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAQzE,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,QAAQ,QAAoB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC;CAunBzB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE;QACP,MAAM,EAAE,UAAU,CAAC;QACnB,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,iBAAiB,CAAC;QAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,GAAG,SAAS,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,EACrB,YAAY,GAAE;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAO,EAClE,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,EAAE,CAsBV;AAWD,KAAK,UAAU,GACX;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1C,kBAAkB,CAAC;AAopBvB,wBAAgB,UAAU,CAAC,OAAO,EAAE,mBAAmB,EAAE,YAAY,UAAO,GAAG,MAAM,CAWpF;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,SAAS,EAAE,MAAM,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,EAAE,2BAA2B,CAAC,CAAC,CA8BvE"}
@@ -1,5 +1,6 @@
1
1
  import { ANSI_RE, bold, cyan, dim, magenta, reset, visibleLength, yellow, } from "../ansi.js";
2
2
  import { AgentInterruptedError } from "../agents/runner.js";
3
+ import { cleanupResourcesConcurrently } from "../cleanup.js";
3
4
  import { renderMarkdown } from "../markdown.js";
4
5
  import { EmacsInputParser } from "./prompt.js";
5
6
  import { aliasSelectionNavEvent, isMultilineNewlineEvent, isTextBufferEvent, } from "../text-editing/emacs-input.js";
@@ -80,13 +81,16 @@ export class HostBackedCuratePrompt {
80
81
  let offscreenController;
81
82
  let active = true;
82
83
  let settlingEdit = false;
83
- const cleanup = () => {
84
+ const cleanup = (failure) => {
84
85
  active = false;
85
- const released = offscreenController?.dispose();
86
+ const controller = offscreenController;
86
87
  offscreenController = undefined;
87
- detach?.();
88
+ const detachUi = detach;
88
89
  detach = undefined;
89
- return released ?? Promise.resolve();
90
+ return cleanupResourcesConcurrently([
91
+ () => controller?.dispose(),
92
+ () => detachUi?.(),
93
+ ], failure);
90
94
  };
91
95
  const finish = (result) => {
92
96
  if (!active)
@@ -96,7 +100,7 @@ export class HostBackedCuratePrompt {
96
100
  const failWith = (err) => {
97
101
  if (!active)
98
102
  return;
99
- void cleanup().then(() => reject(err), reject);
103
+ void cleanup({ error: err }).catch(reject);
100
104
  };
101
105
  const submit = () => {
102
106
  for (let i = 0; i < state.decisions.length; i++) {