@duetso/agent 0.1.172 → 0.1.174

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 (42) hide show
  1. package/README.md +2 -1
  2. package/dist/package.json +1 -1
  3. package/dist/src/tui/app.d.ts.map +1 -1
  4. package/dist/src/tui/app.js +31 -3
  5. package/dist/src/tui/app.js.map +1 -1
  6. package/dist/src/tui/key-handlers.d.ts +22 -0
  7. package/dist/src/tui/key-handlers.d.ts.map +1 -1
  8. package/dist/src/tui/key-handlers.js +45 -1
  9. package/dist/src/tui/key-handlers.js.map +1 -1
  10. package/dist/src/tui/renderer-lifecycle.d.ts +9 -3
  11. package/dist/src/tui/renderer-lifecycle.d.ts.map +1 -1
  12. package/dist/src/tui/renderer-lifecycle.js +10 -4
  13. package/dist/src/tui/renderer-lifecycle.js.map +1 -1
  14. package/dist/src/tui/status-controller.d.ts +16 -0
  15. package/dist/src/tui/status-controller.d.ts.map +1 -1
  16. package/dist/src/tui/status-controller.js +38 -2
  17. package/dist/src/tui/status-controller.js.map +1 -1
  18. package/dist/src/tui/step-renderer.d.ts +1 -2
  19. package/dist/src/tui/step-renderer.d.ts.map +1 -1
  20. package/dist/src/tui/step-renderer.js +2 -2
  21. package/dist/src/tui/step-renderer.js.map +1 -1
  22. package/dist/src/tui/theme.d.ts +2 -1
  23. package/dist/src/tui/theme.d.ts.map +1 -1
  24. package/dist/src/tui/theme.js +9 -3
  25. package/dist/src/tui/theme.js.map +1 -1
  26. package/dist/src/tui/transcript-writer.d.ts +38 -0
  27. package/dist/src/tui/transcript-writer.d.ts.map +1 -1
  28. package/dist/src/tui/transcript-writer.js +58 -2
  29. package/dist/src/tui/transcript-writer.js.map +1 -1
  30. package/dist/src/turn-runner/prompts.d.ts +25 -0
  31. package/dist/src/turn-runner/prompts.d.ts.map +1 -1
  32. package/dist/src/turn-runner/prompts.js +35 -0
  33. package/dist/src/turn-runner/prompts.js.map +1 -1
  34. package/dist/src/turn-runner/skill-context.d.ts +1 -0
  35. package/dist/src/turn-runner/skill-context.d.ts.map +1 -1
  36. package/dist/src/turn-runner/skill-context.js +1 -0
  37. package/dist/src/turn-runner/skill-context.js.map +1 -1
  38. package/dist/src/turn-runner/turn-runner.d.ts +3 -0
  39. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  40. package/dist/src/turn-runner/turn-runner.js +7 -1
  41. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -312,7 +312,8 @@ In the input box:
312
312
  - `@<query>` opens a file picker; ↑/↓ navigate, Enter / Tab inserts a markdown link like `[app.ts](./src/tui/app.ts)` (basename label, repo-relative target). The model can then read the file via the `read` tool.
313
313
  - `/<query>` opens a skill picker that inserts `/skill-name` so the model receives the full SKILL.md inline with its instructions for that turn.
314
314
  - Enter sends; **Shift+Enter** queues the message as a follow-up while the agent is running, instead of steering the active turn.
315
- - `Esc` cancels the current pickers; on its own it interrupts the active turn, or no-ops when idle. Use Ctrl+C (or close the terminal) to quit — both paths drain through the SessionManager so the local memory database (PGlite) flushes cleanly.
315
+ - `Esc` cancels the current pickers; on its own it interrupts the active turn, or no-ops when idle.
316
+ - `Ctrl+C` is contextual rather than an instant quit: it interrupts the active turn while one is running, clears the composer when it has text, and on an idle empty composer asks for confirmation first ("Press Ctrl+C again or Enter to exit"). Confirming — or closing the terminal — drains through the SessionManager so the local memory database (PGlite) flushes cleanly.
316
317
 
317
318
  Tool calls render with custom per-tool headers (e.g. `$ <command>`, `read <path> (lines a–b)`, `edit <path> (N edits)`, `[question]`). Resumed sessions render history through the same formatters so live and replay match.
318
319
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.172",
3
+ "version": "0.1.174",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAmC,MAAM,eAAe,CAAC;AAiBlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,IAAI,sBAAsB,EAC3C,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAyUvF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAmC,MAAM,eAAe,CAAC;AAqBlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,IAAI,sBAAsB,EAC3C,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAsWvF"}
@@ -3,7 +3,7 @@ import { createTuiControllers } from "./controllers.js";
3
3
  import { createDinoPanel } from "./dino/index.js";
4
4
  import { replayResumeHistory } from "./history-replay.js";
5
5
  import { bootstrapInitialPrompt } from "./initial-prompt.js";
6
- import { installKeyHandlers } from "./key-handlers.js";
6
+ import { installKeyHandlers, } from "./key-handlers.js";
7
7
  import { buildLayout } from "./layout.js";
8
8
  import { acquireRenderer, waitForRendererDestroy } from "./renderer-lifecycle.js";
9
9
  import { bindSessionToUi } from "./session-subscription.js";
@@ -85,7 +85,6 @@ export async function runTui(input) {
85
85
  });
86
86
  const stepRenderer = new StepRenderer({
87
87
  renderer,
88
- transcript: ui.transcript,
89
88
  transcriptWriter,
90
89
  statusController,
91
90
  onStepStart: () => {
@@ -110,6 +109,7 @@ export async function runTui(input) {
110
109
  statusController.markIdle();
111
110
  };
112
111
  const escapeState = { suppress: false };
112
+ const ctrlCState = { suppress: false };
113
113
  const setEscapeSuppress = () => {
114
114
  escapeState.suppress = true;
115
115
  };
@@ -162,12 +162,35 @@ export async function runTui(input) {
162
162
  appendBlock,
163
163
  appendUserBlock,
164
164
  });
165
- // Esc cancels the in-flight turn; idle Esc is a no-op (Ctrl+C quits).
165
+ // Esc cancels the in-flight turn; idle Esc is a no-op.
166
166
  function handleEscape() {
167
167
  if (!statusController.isRunning())
168
168
  return;
169
169
  void input.session.interrupt().catch(reportError);
170
170
  }
171
+ // Ctrl+C is a small state machine rather than an immediate quit:
172
+ // 1. running turn → interrupt it (identical to Esc), no exit prompt.
173
+ // 2. composer text → clear the composer (multiline included) only;
174
+ // attachments, autocomplete, and picker state stay.
175
+ // 3. idle + empty → first press arms a persistent exit confirmation,
176
+ // a second press (or Enter) quits.
177
+ // The exit itself reuses `renderer.destroy()`, the same teardown the old
178
+ // OpenTUI exitOnCtrlC handler used, so shutdown semantics are unchanged.
179
+ function handleCtrlC() {
180
+ if (statusController.isRunning()) {
181
+ handleEscape();
182
+ return;
183
+ }
184
+ if (ui.inputField.plainText.length > 0) {
185
+ ui.inputField.clear();
186
+ return;
187
+ }
188
+ if (statusController.isExitConfirmActive()) {
189
+ renderer.destroy();
190
+ return;
191
+ }
192
+ statusController.showExitConfirm();
193
+ }
171
194
  // Shared dispatch for submit (follow_up) and Ctrl+Enter (steer): log the
172
195
  // user message + attachments, hand the prompt to the session, flip the
173
196
  // chrome to "running".
@@ -267,6 +290,11 @@ export async function runTui(input) {
267
290
  onEscape: handleEscape,
268
291
  onSteer: handleSteer,
269
292
  dinoPanel,
293
+ ctrlCState,
294
+ onCtrlC: handleCtrlC,
295
+ isExitConfirmActive: () => statusController.isExitConfirmActive(),
296
+ onExitConfirmAccept: () => renderer.destroy(),
297
+ onExitConfirmCancel: () => statusController.clearExitConfirm(),
270
298
  });
271
299
  // Typing hides starter chrome; backspacing empty brings it back until
272
300
  // the user submits.
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAGL,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAe1D,wEAAwE;AACxE,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAqEtB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAkB;IAC7C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEjC,qEAAqE;IACrE,kEAAkE;IAClE,uEAAuE;IACvE,kCAAkC;IAClC,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAE3B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE;QACrE,oBAAoB,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7C,iBAAiB,EAAE,GAAG,EAAE;YACtB,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IAEH,2EAA2E;IAC3E,uEAAuE;IACvE,qEAAqE;IACrE,2EAA2E;IAC3E,SAAS,eAAe,CAAC,OAAe;QACtC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACzE,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,EAAE,CAAC,oBAAoB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3D,iCAAiC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE,CACrE,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,qBAAqB,GAAG,CAAC,IAA6B,EAAE,IAAY,EAAE,EAAE,CAC5E,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3C,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,oEAAoE;IACpE,yEAAyE;IACzE,wEAAwE;IACxE,gDAAgD;IAChD,SAAS,iCAAiC;QACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;YACpC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;QACpE,EAAE,CAAC,gBAAgB,CAAC,OAAO,GAAG,qBAAqB,CAAC;IACtD,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,qBAAqB;IACrB,MAAM,aAAa,GAAG,WAAW,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,QAAQ;QACR,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,uBAAuB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE;KACtE,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,QAAQ;QACR,gBAAgB;QAChB,gBAAgB;QAChB,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,cAAc,CAAC,MAAM,EAAE;gBAAE,cAAc,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IAEH,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE;QACnE,IAAI,OAAO;YAAE,SAAS,CAAC,MAAM,EAAE,CAAC;;YAC3B,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,KAAc,EAAQ,EAAE;QAC3C,WAAW,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7F,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,WAAW,GAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9B,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;QAC7B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,cAAc,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,gBAAgB;YAChB,QAAQ;YACR,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;IAEP,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAC7F,QAAQ;QACR,EAAE;QACF,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,qBAAqB;QACrB,WAAW;QACX,mBAAmB,EAAE,iBAAiB;QACtC,oBAAoB,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7C,sBAAsB,EAAE,GAAG,EAAE;YAC3B,iBAAiB,GAAG,EAAE,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,SAAoB,EAAE,EAAE;QAChD,iBAAiB,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;QAChD,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACjD,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,eAAe,CAAC;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,aAAa,EAAE,EAAE,CAAC,aAAa;QAC/B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;QACvC,YAAY;QACZ,gBAAgB;QAChB,cAAc;QACd,UAAU;QACV,WAAW;QACX,eAAe;KAChB,CAAC,CAAC;IAEH,uDAAuD;IACvD,SAAS,YAAY;QACnB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAAE,OAAO;QAC1C,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,iEAAiE;IACjE,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,wEAAwE;IACxE,yDAAyD;IACzD,yEAAyE;IACzE,yEAAyE;IACzE,SAAS,WAAW;QAClB,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,uBAAuB;IACvB,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,QAA+B;QAC1E,wEAAwE;QACxE,iEAAiE;QACjE,yEAAyE;QACzE,kEAAkE;QAClE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1C,qEAAqE;QACrE,sEAAsE;QACtE,+DAA+D;QAC/D,mEAAmE;QACnE,gEAAgE;QAChE,8DAA8D;QAC9D,gEAAgE;QAChE,MAAM,MAAM,GAAG,QAAQ,KAAK,WAAW,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChD,sEAAsE;QACtE,wBAAwB;QACxB,IAAI,QAAQ,KAAK,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACxD,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC;IAED,oEAAoE;IACpE,wEAAwE;IACxE,SAAS,WAAW;QAClB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,uDAAuD;IACvD,SAAS,MAAM,CAAC,OAAe;QAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACnD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,QAAQ,GAAG;YACf,eAAe;YACf,cAAc;YACd,gBAAgB;YAChB,WAAW;YACX,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBACzB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1D,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAC1E,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;SACF,CAAC;QACF,IAAI,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,kEAAkE;QAClE,2DAA2D;QAC3D,gDAAgD;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,KAAK,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC;QACjB,QAAQ;QACR,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,YAAY;QACZ,cAAc;QACd,eAAe;QACf,cAAc;QACd,QAAQ;QACR,gBAAgB;QAChB,WAAW;QACX,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,WAAW;QACpB,SAAS;QACT,UAAU;QACV,OAAO,EAAE,WAAW;QACpB,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;QACjE,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC7C,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;KAC/D,CAAC,CAAC;IAEH,sEAAsE;IACtE,oBAAoB;IACpB,EAAE,CAAC,UAAU,CAAC,eAAe,GAAG,GAAG,EAAE;QACnC,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,YAAY,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC;IACF,EAAE,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAE5D,qEAAqE;IACrE,qEAAqE;IACrE,kCAAkC;IAClC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;QAC5C,KAAK,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,WAAW,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,gBAAgB,CAAC;QACrB,QAAQ;QACR,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,UAAU;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,YAAY;QACZ,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IAEH,mBAAmB,CACjB;QACE,UAAU;QACV,WAAW;QACX,qBAAqB;QACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC;KAC1E,EACD,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAC/E,CAAC;IAEF,sBAAsB,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,gBAAgB;QAChB,YAAY;QACZ,eAAe;QACf,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC1C,mEAAmE;QACnE,qEAAqE;QACrE,2CAA2C;QAC3C,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC5B,eAAe,EAAE,CAAC;QAClB,SAAS,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC;IACd,OAAO,gBAAgB,CAAC,YAAY,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3D,CAAC"}
@@ -15,6 +15,16 @@ import type { TranscriptWriter } from "./transcript-writer.js";
15
15
  export interface EscapeSuppressionFlag {
16
16
  suppress: boolean;
17
17
  }
18
+ /**
19
+ * Mutable dedupe flag for Ctrl+C, mirroring {@link EscapeSuppressionFlag}.
20
+ * The composer's `onKeyDown` hook runs before the renderer's global
21
+ * keypress handler, so when it consumes a Ctrl+C it sets `suppress = true`
22
+ * to stop the global fallback from running the state machine a second time
23
+ * for the same press.
24
+ */
25
+ export interface CtrlCSuppressionFlag {
26
+ suppress: boolean;
27
+ }
18
28
  export interface KeyHandlerDeps {
19
29
  renderer: CliRenderer;
20
30
  inputField: TextareaRenderable;
@@ -30,6 +40,18 @@ export interface KeyHandlerDeps {
30
40
  onSubmit(value: string): void;
31
41
  /** Cancel any in-flight turn (Escape when running). */
32
42
  onEscape(): void;
43
+ /** Dedupe flag shared with the global Ctrl+C fallback. */
44
+ ctrlCState: CtrlCSuppressionFlag;
45
+ /** Run the Ctrl+C state machine: interrupt a running turn, else clear a
46
+ * non-empty composer, else arm/confirm the exit prompt. */
47
+ onCtrlC(): void;
48
+ /** Whether the persistent exit-confirm prompt is currently showing. */
49
+ isExitConfirmActive(): boolean;
50
+ /** Confirm the pending exit and tear the TUI down via the normal quit
51
+ * teardown path. */
52
+ onExitConfirmAccept(): void;
53
+ /** Cancel the pending exit prompt and return to normal editing. */
54
+ onExitConfirmCancel(): void;
33
55
  /** Dispatch the composer text with behavior:"steer" (Ctrl+Enter). */
34
56
  onSteer(): void;
35
57
  /** Dino mini-game panel. The panel always owns Ctrl-G, which
@@ -1 +1 @@
1
- {"version":3,"file":"key-handlers.d.ts","sourceRoot":"","sources":["../../../src/tui/key-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,YAAY,EAAE,sBAAsB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,IAAI,IAAI,CAAC;IACjB,qEAAqE;IACrE,OAAO,IAAI,IAAI,CAAC;IAChB;;;;sEAIkE;IAClE,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CA6N7D"}
1
+ {"version":3,"file":"key-handlers.d.ts","sourceRoot":"","sources":["../../../src/tui/key-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgBD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,YAAY,EAAE,sBAAsB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,IAAI,IAAI,CAAC;IACjB,0DAA0D;IAC1D,UAAU,EAAE,oBAAoB,CAAC;IACjC;gEAC4D;IAC5D,OAAO,IAAI,IAAI,CAAC;IAChB,uEAAuE;IACvE,mBAAmB,IAAI,OAAO,CAAC;IAC/B;yBACqB;IACrB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,mEAAmE;IACnE,mBAAmB,IAAI,IAAI,CAAC;IAC5B,qEAAqE;IACrE,OAAO,IAAI,IAAI,CAAC;IAChB;;;;sEAIkE;IAClE,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAuQ7D"}
@@ -1,3 +1,12 @@
1
+ /** A *plain* Ctrl+C keystroke, by name or by the raw 0x03 byte legacy
2
+ * terminals send. Shared by the global handler and the composer hook so
3
+ * both agree on what counts as Ctrl+C. Shift is excluded so Ctrl+Shift+C
4
+ * (the copy keystroke, which some kitty parsers report as `name:"c"`
5
+ * with `shift:true`) is left for the copy handler rather than triggering
6
+ * the exit state machine. */
7
+ function isCtrlCKey(key) {
8
+ return Boolean(key.ctrl) && !key.shift && (key.name === "c" || key.sequence === "\u0003");
9
+ }
1
10
  /**
2
11
  * Wires up the two keyboard event surfaces the TUI listens on:
3
12
  *
@@ -12,7 +21,7 @@
12
21
  * sketch and key handling can be reasoned about in one place.
13
22
  */
14
23
  export function installKeyHandlers(deps) {
15
- const { renderer, inputField, transcript, autocomplete, questionPicker, pasteController, copyController, starters, transcriptWriter, escapeState, onSubmit, onEscape, onSteer, dinoPanel, } = deps;
24
+ const { renderer, inputField, transcript, autocomplete, questionPicker, pasteController, copyController, starters, transcriptWriter, escapeState, onSubmit, onEscape, onSteer, dinoPanel, ctrlCState, onCtrlC, isExitConfirmActive, onExitConfirmAccept, onExitConfirmCancel, } = deps;
16
25
  const keyHandler = renderer._keyHandler;
17
26
  keyHandler.onInternal("keypress", (key) => {
18
27
  transcriptWriter.logKey("global", key);
@@ -23,6 +32,19 @@ export function installKeyHandlers(deps) {
23
32
  // global handler always fires regardless of focus.
24
33
  if (copyController.handleCopyKeystroke(key))
25
34
  return;
35
+ // Ctrl+C. Normally the composer's onKeyDown (below) handles it first and
36
+ // sets `ctrlCState.suppress`; this branch is the fallback for when focus
37
+ // has drifted off the textarea (e.g. mid drag-select) so onKeyDown never
38
+ // fired.
39
+ if (isCtrlCKey(key)) {
40
+ key.preventDefault();
41
+ if (ctrlCState.suppress) {
42
+ ctrlCState.suppress = false;
43
+ return;
44
+ }
45
+ onCtrlC();
46
+ return;
47
+ }
26
48
  if (key.name !== "escape")
27
49
  return;
28
50
  if (escapeState.suppress) {
@@ -61,6 +83,28 @@ export function installKeyHandlers(deps) {
61
83
  // fires, so we intercept at the Renderable's onKeyDown hook which runs first.
62
84
  inputField.onKeyDown = (key) => {
63
85
  transcriptWriter.logKey("keydown", key);
86
+ // Ctrl+C owns the highest priority: it must beat submit, newline, and the
87
+ // dino toggle. The state machine (interrupt / clear / arm-or-confirm exit)
88
+ // lives in `onCtrlC`. We set `ctrlCState.suppress` so the global keypress
89
+ // fallback does not double-fire for the same press.
90
+ if (isCtrlCKey(key)) {
91
+ key.preventDefault();
92
+ ctrlCState.suppress = true;
93
+ onCtrlC();
94
+ return;
95
+ }
96
+ // While the exit-confirm prompt is up (idle + empty composer), Enter
97
+ // confirms the exit and any other keystroke cancels the prompt and
98
+ // resumes normal editing. A second Ctrl+C also confirms, handled above.
99
+ if (isExitConfirmActive()) {
100
+ if (key.name === "return" || key.name === "enter") {
101
+ key.preventDefault();
102
+ onExitConfirmAccept();
103
+ return;
104
+ }
105
+ onExitConfirmCancel();
106
+ // Fall through so the cancelling keystroke is processed normally.
107
+ }
64
108
  // Ctrl-G: the dino panel always owns this keystroke regardless of
65
109
  // focus, the agent's running state, or whether the composer has
66
110
  // typed text. Toggling the panel must never be eaten by autocomplete
@@ -1 +1 @@
1
- {"version":3,"file":"key-handlers.js","sourceRoot":"","sources":["../../../src/tui/key-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-handlers.js","sourceRoot":"","sources":["../../../src/tui/key-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import { type CliRenderer } from "@opentui/core";
2
2
  /**
3
3
  * useMouse: true so the scroll wheel reaches the transcript and OpenTUI
4
- * receives drag events for in-app text selection. Bare Ctrl+C is the
5
- * always-exit keystroke (via exitOnCtrlC) so the convention every other
6
- * interactive Linux/Windows terminal app follows still works here.
4
+ * receives drag events for in-app text selection.
5
+ *
6
+ * exitOnCtrlC is deliberately FALSE: OpenTUI's built-in handler would
7
+ * call `renderer.destroy()` the instant it sees Ctrl+C, which is too
8
+ * eager. We route Ctrl+C through our own key handlers instead so it can
9
+ * interrupt a running turn, clear a non-empty composer, or require a
10
+ * confirmation before quitting (see `installKeyHandlers`). The actual
11
+ * exit still goes through `renderer.destroy()` — the same teardown path
12
+ * OpenTUI's handler used — so shutdown semantics are unchanged.
7
13
  *
8
14
  * Tests inject a `createTestRenderer` instance via `input.renderer`; in
9
15
  * that mode we skip the production renderer construction and the
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/tui/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,eAAe,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAWlF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,MAAM,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"renderer-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/tui/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,eAAe,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAWlF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,MAAM,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -1,9 +1,15 @@
1
1
  import { createCliRenderer } from "@opentui/core";
2
2
  /**
3
3
  * useMouse: true so the scroll wheel reaches the transcript and OpenTUI
4
- * receives drag events for in-app text selection. Bare Ctrl+C is the
5
- * always-exit keystroke (via exitOnCtrlC) so the convention every other
6
- * interactive Linux/Windows terminal app follows still works here.
4
+ * receives drag events for in-app text selection.
5
+ *
6
+ * exitOnCtrlC is deliberately FALSE: OpenTUI's built-in handler would
7
+ * call `renderer.destroy()` the instant it sees Ctrl+C, which is too
8
+ * eager. We route Ctrl+C through our own key handlers instead so it can
9
+ * interrupt a running turn, clear a non-empty composer, or require a
10
+ * confirmation before quitting (see `installKeyHandlers`). The actual
11
+ * exit still goes through `renderer.destroy()` — the same teardown path
12
+ * OpenTUI's handler used — so shutdown semantics are unchanged.
7
13
  *
8
14
  * Tests inject a `createTestRenderer` instance via `input.renderer`; in
9
15
  * that mode we skip the production renderer construction and the
@@ -15,7 +21,7 @@ export async function acquireRenderer(injected) {
15
21
  return injected;
16
22
  const previousWindow = Object.getOwnPropertyDescriptor(globalThis, "window");
17
23
  const renderer = await createCliRenderer({
18
- exitOnCtrlC: true,
24
+ exitOnCtrlC: false,
19
25
  useMouse: true,
20
26
  useKittyKeyboard: {},
21
27
  targetFps: 60,
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-lifecycle.js","sourceRoot":"","sources":["../../../src/tui/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAsB;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;IACH,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAqB,EACrB,SAAqB;IAErB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,cAA8C;IACzE,oEAAoE;IACpE,2EAA2E;IAC3E,0EAA0E;IAC1E,mDAAmD;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,OAAQ,UAAuD,CAAC,MAAM,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"renderer-lifecycle.js","sourceRoot":"","sources":["../../../src/tui/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAsB;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;IACH,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAqB,EACrB,SAAqB;IAErB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,cAA8C;IACzE,oEAAoE;IACpE,2EAA2E;IAC3E,0EAA0E;IAC1E,mDAAmD;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,OAAQ,UAAuD,CAAC,MAAM,CAAC;AACzE,CAAC"}
@@ -35,6 +35,11 @@ export declare class StatusController {
35
35
  private readonly opts;
36
36
  private destroyed;
37
37
  private running;
38
+ /** True while the bare-Ctrl+C exit confirmation is showing. Set by
39
+ * `showExitConfirm`, cleared by `clearExitConfirm`. While active the
40
+ * status line is pinned to the confirm prompt and other refreshes are
41
+ * suppressed so an unrelated chrome write cannot wipe it. */
42
+ private exitConfirmActive;
38
43
  /** Subscribers notified on every running→idle / idle→running transition.
39
44
  * Used by the dino panel to drive its freeze (idle) / resume (running)
40
45
  * lifecycle without coupling the panel to the session event stream. */
@@ -48,6 +53,17 @@ export declare class StatusController {
48
53
  private terminal;
49
54
  constructor(opts: StatusControllerOptions);
50
55
  isRunning(): boolean;
56
+ /** Whether the bare-Ctrl+C exit confirmation prompt is currently shown. */
57
+ isExitConfirmActive(): boolean;
58
+ /** Pin the persistent "press Ctrl+C again or Enter to exit" prompt to the
59
+ * status line. Only reached from an idle, empty composer, so the status
60
+ * line is otherwise blank and free to host it. Painted amber so it reads
61
+ * as a prompt rather than the green working-status line. */
62
+ showExitConfirm(): void;
63
+ /** Tear the exit prompt down and restore the normal status/hint surface.
64
+ * Idempotent so callers can fire it on any cancelling keystroke without
65
+ * first checking whether the prompt was up. */
66
+ clearExitConfirm(): void;
51
67
  lastTerminal(): TurnTerminalEvent | undefined;
52
68
  /** Wall-clock start of the current turn, or undefined while idle. Read by
53
69
  * the "● turn finished in Ns" and sleep banners which live outside this
@@ -1 +1 @@
1
- {"version":3,"file":"status-controller.d.ts","sourceRoot":"","sources":["../../../src/tui/status-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC;;mEAE+D;IAC/D,QAAQ,EAAE,WAAW,CAAC;IACtB;qCACiC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB;8BAC0B;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB;;;;;OAKG;IACH,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAef,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB;;4EAEwE;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,QAAQ,CAAgC;gBAEnB,IAAI,EAAE,uBAAuB;IAE1D,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,iBAAiB,GAAG,SAAS;IAI7C;;gEAE4D;IAC5D,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKxC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC;;2DAEuD;IACvD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKpC;;0BAEsB;IACtB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzC,WAAW,IAAI,IAAI;IAWnB;;2EAEuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAY5C;;uEAEmE;IACnE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKjE,OAAO,CAAC,mBAAmB;IAW3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB7B;;;uEAGmE;IACnE,WAAW,IAAI,IAAI;IAkBnB,oBAAoB,IAAI,IAAI;IAY5B;;6EAEyE;IACzE,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;CAIvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"status-controller.d.ts","sourceRoot":"","sources":["../../../src/tui/status-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAStE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC;;mEAE+D;IAC/D,QAAQ,EAAE,WAAW,CAAC;IACtB;qCACiC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB;8BAC0B;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB;;;;;OAKG;IACH,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAoBf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB;;;kEAG8D;IAC9D,OAAO,CAAC,iBAAiB,CAAS;IAClC;;4EAEwE;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,QAAQ,CAAgC;gBAEnB,IAAI,EAAE,uBAAuB;IAE1D,SAAS,IAAI,OAAO;IAIpB,2EAA2E;IAC3E,mBAAmB,IAAI,OAAO;IAI9B;;;iEAG6D;IAC7D,eAAe,IAAI,IAAI;IAOvB;;oDAEgD;IAChD,gBAAgB,IAAI,IAAI;IAQxB,YAAY,IAAI,iBAAiB,GAAG,SAAS;IAI7C;;gEAE4D;IAC5D,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKxC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC;;2DAEuD;IACvD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKpC;;0BAEsB;IACtB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzC,WAAW,IAAI,IAAI;IAWnB;;2EAEuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAY5C;;uEAEmE;IACnE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKjE,OAAO,CAAC,mBAAmB;IAW3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB7B;;;uEAGmE;IACnE,WAAW,IAAI,IAAI;IAkBnB,oBAAoB,IAAI,IAAI;IAe5B;;6EAEyE;IACzE,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;CAIvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -1,4 +1,4 @@
1
- import { HINT_IDLE, HINT_RUNNING, HINT_SELECTION_COPY } from "./theme.js";
1
+ import { COLORS, HINT_EXIT_CONFIRM, HINT_IDLE, HINT_RUNNING, HINT_SELECTION_COPY, } from "./theme.js";
2
2
  import { isTextBufferDestroyedError } from "./transcript-writer.js";
3
3
  /**
4
4
  * Owns the "is a turn running?" surface of the TUI: the working-status line,
@@ -16,6 +16,11 @@ export class StatusController {
16
16
  opts;
17
17
  destroyed = false;
18
18
  running = false;
19
+ /** True while the bare-Ctrl+C exit confirmation is showing. Set by
20
+ * `showExitConfirm`, cleared by `clearExitConfirm`. While active the
21
+ * status line is pinned to the confirm prompt and other refreshes are
22
+ * suppressed so an unrelated chrome write cannot wipe it. */
23
+ exitConfirmActive = false;
19
24
  /** Subscribers notified on every running→idle / idle→running transition.
20
25
  * Used by the dino panel to drive its freeze (idle) / resume (running)
21
26
  * lifecycle without coupling the panel to the session event stream. */
@@ -33,6 +38,33 @@ export class StatusController {
33
38
  isRunning() {
34
39
  return this.running;
35
40
  }
41
+ /** Whether the bare-Ctrl+C exit confirmation prompt is currently shown. */
42
+ isExitConfirmActive() {
43
+ return this.exitConfirmActive;
44
+ }
45
+ /** Pin the persistent "press Ctrl+C again or Enter to exit" prompt to the
46
+ * status line. Only reached from an idle, empty composer, so the status
47
+ * line is otherwise blank and free to host it. Painted amber so it reads
48
+ * as a prompt rather than the green working-status line. */
49
+ showExitConfirm() {
50
+ if (this.destroyed)
51
+ return;
52
+ this.exitConfirmActive = true;
53
+ this.opts.status.fg = COLORS.system;
54
+ this.setStatus(HINT_EXIT_CONFIRM);
55
+ }
56
+ /** Tear the exit prompt down and restore the normal status/hint surface.
57
+ * Idempotent so callers can fire it on any cancelling keystroke without
58
+ * first checking whether the prompt was up. */
59
+ clearExitConfirm() {
60
+ if (!this.exitConfirmActive)
61
+ return;
62
+ this.exitConfirmActive = false;
63
+ if (!this.destroyed)
64
+ this.opts.status.fg = COLORS.status;
65
+ this.refreshWorkingStatus();
66
+ this.refreshHint();
67
+ }
36
68
  lastTerminal() {
37
69
  return this.terminal;
38
70
  }
@@ -135,7 +167,7 @@ export class StatusController {
135
167
  * input that changes a hint segment (attachments, selection) and from
136
168
  * the running-state transitions in `markRunning` / `markIdle`. */
137
169
  refreshHint() {
138
- if (this.destroyed)
170
+ if (this.destroyed || this.exitConfirmActive)
139
171
  return;
140
172
  const base = this.running ? HINT_RUNNING : HINT_IDLE;
141
173
  const segments = [];
@@ -158,6 +190,10 @@ export class StatusController {
158
190
  refreshWorkingStatus() {
159
191
  if (this.destroyed)
160
192
  return;
193
+ // The exit-confirm prompt owns the status line while it is up; do not
194
+ // let a ticker tick or a queued-follow-up update paint over it.
195
+ if (this.exitConfirmActive)
196
+ return;
161
197
  this.opts.refreshActiveToolBlocks();
162
198
  if (this.workingStartedAt === undefined) {
163
199
  this.setStatus(this.queuedFollowUps > 0 ? `queued follow-ups: ${this.queuedFollowUps}` : "");
@@ -1 +1 @@
1
- {"version":3,"file":"status-controller.js","sourceRoot":"","sources":["../../../src/tui/status-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-controller.js","sourceRoot":"","sources":["../../../src/tui/status-controller.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { type CliRenderer, type ScrollBoxRenderable } from "@opentui/core";
1
+ import { type CliRenderer } from "@opentui/core";
2
2
  import { StatusController } from "./status-controller.js";
3
3
  import { TranscriptWriter } from "./transcript-writer.js";
4
4
  import type { TurnEvent, TurnStep, TurnTokenUsage } from "../types/protocol.js";
5
5
  export interface StepRendererOptions {
6
6
  renderer: CliRenderer;
7
- transcript: ScrollBoxRenderable;
8
7
  transcriptWriter: TranscriptWriter;
9
8
  statusController: StatusController;
10
9
  /** Invoked at the start of `renderStep` so a stale question picker
@@ -1 +1 @@
1
- {"version":3,"file":"step-renderer.d.ts","sourceRoot":"","sources":["../../../src/tui/step-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAkB,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAgC,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAIxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAkChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,mBAAmB,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;6CAEyC;IACzC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,qBAAqB,CAA6B;IAI1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;gBAEpC,IAAI,EAAE,mBAAmB;IAEtD,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IA+ChC;;wEAEoE;IACpE,uBAAuB,IAAI,IAAI;IAa/B,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAwBzC,iBAAiB,IAAI,IAAI;IAazB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,GAAG,IAAI;IAcvE,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;CAIzB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAAG,MAAM,CAS3F"}
1
+ {"version":3,"file":"step-renderer.d.ts","sourceRoot":"","sources":["../../../src/tui/step-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgC,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAIxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAkChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;6CAEyC;IACzC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,qBAAqB,CAA6B;IAI1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;gBAEpC,IAAI,EAAE,mBAAmB;IAEtD,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IA+ChC;;wEAEoE;IACpE,uBAAuB,IAAI,IAAI;IAa/B,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAwBzC,iBAAiB,IAAI,IAAI;IAazB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,GAAG,IAAI;IAcvE,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;CAIzB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAAG,MAAM,CAS3F"}
@@ -133,7 +133,7 @@ export class StepRenderer {
133
133
  };
134
134
  if (!block) {
135
135
  this.opts.transcriptWriter.beginBlock();
136
- this.opts.transcript.add(next.line);
136
+ this.opts.transcriptWriter.mount(next.line);
137
137
  }
138
138
  next.body += delta;
139
139
  updateStreamingBlock(next);
@@ -173,7 +173,7 @@ export class StepRenderer {
173
173
  fg,
174
174
  });
175
175
  this.opts.transcriptWriter.beginBlock();
176
- this.opts.transcript.add(line);
176
+ this.opts.transcriptWriter.mount(line);
177
177
  const block = {
178
178
  line,
179
179
  header: formatted.header,
@@ -1 +1 @@
1
- {"version":3,"file":"step-renderer.js","sourceRoot":"","sources":["../../../src/tui/step-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-renderer.js","sourceRoot":"","sources":["../../../src/tui/step-renderer.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export declare const COLORS: {
10
10
  readonly status: "#34D399";
11
11
  readonly border: "#374151";
12
12
  };
13
- export declare const HINT_IDLE = "Enter: send \u00B7 Shift+Enter: newline \u00B7 PgUp/PgDn: scroll \u00B7 Ctrl+C: quit";
13
+ export declare const HINT_IDLE = "Enter: send \u00B7 Shift+Enter: newline \u00B7 PgUp/PgDn: scroll \u00B7 Ctrl+C: exit";
14
+ export declare const HINT_EXIT_CONFIRM = "Press Ctrl+C again or Enter to exit";
14
15
  export declare const HINT_RUNNING = "Enter: queue follow-up \u00B7 Ctrl+Enter: steer \u00B7 PgUp/PgDn: scroll \u00B7 Esc: interrupt";
15
16
  /**
16
17
  * Terminal-aware copy keystroke shown in the hint only while a non-empty
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tui/theme.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAC;AAKX,eAAO,MAAM,SAAS,yFAA0E,CAAC;AAKjG,eAAO,MAAM,YAAY,mGAC0D,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAC/D,eAAO,MAAM,mBAAmB,QAAkC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tui/theme.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAC;AAOX,eAAO,MAAM,SAAS,yFAA0E,CAAC;AAKjG,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAKvE,eAAO,MAAM,YAAY,mGAC0D,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAC/D,eAAO,MAAM,mBAAmB,QAAkC,CAAC"}