@plurnk/plurnk 0.75.0 → 0.76.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 (78) hide show
  1. package/README.md +4 -2
  2. package/completions/_plurnk +13 -0
  3. package/completions/plurnk.bash +14 -0
  4. package/completions/plurnk.fish +37 -0
  5. package/conformance/agui-client.json +863 -0
  6. package/dist/agents.d.ts +11 -0
  7. package/dist/agents.d.ts.map +1 -0
  8. package/dist/agents.js +170 -0
  9. package/dist/agents.js.map +1 -0
  10. package/dist/agui.d.ts.map +1 -1
  11. package/dist/agui.js +39 -4
  12. package/dist/agui.js.map +1 -1
  13. package/dist/agui_cli.d.ts.map +1 -1
  14. package/dist/agui_cli.js +15 -3
  15. package/dist/agui_cli.js.map +1 -1
  16. package/dist/build-info.json +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +6 -6
  19. package/dist/cli.js.map +1 -1
  20. package/dist/color.d.ts +2 -0
  21. package/dist/color.d.ts.map +1 -0
  22. package/dist/color.js +5 -0
  23. package/dist/color.js.map +1 -0
  24. package/dist/diagnostics.d.ts.map +1 -1
  25. package/dist/diagnostics.js +2 -1
  26. package/dist/diagnostics.js.map +1 -1
  27. package/dist/dispatcher.d.ts +1 -0
  28. package/dist/dispatcher.d.ts.map +1 -1
  29. package/dist/dispatcher.js +1 -1
  30. package/dist/dispatcher.js.map +1 -1
  31. package/dist/markdown.d.ts +17 -0
  32. package/dist/markdown.d.ts.map +1 -0
  33. package/dist/markdown.js +234 -0
  34. package/dist/markdown.js.map +1 -0
  35. package/dist/mcp.d.ts +7 -0
  36. package/dist/mcp.d.ts.map +1 -1
  37. package/dist/mcp.js +107 -39
  38. package/dist/mcp.js.map +1 -1
  39. package/dist/paste.d.ts +1 -0
  40. package/dist/paste.d.ts.map +1 -1
  41. package/dist/paste.js +5 -0
  42. package/dist/paste.js.map +1 -1
  43. package/dist/plan.d.ts +12 -0
  44. package/dist/plan.d.ts.map +1 -0
  45. package/dist/plan.js +30 -0
  46. package/dist/plan.js.map +1 -0
  47. package/dist/proposal.d.ts +1 -0
  48. package/dist/proposal.d.ts.map +1 -1
  49. package/dist/proposal.js +9 -9
  50. package/dist/proposal.js.map +1 -1
  51. package/dist/reasoning-events.d.ts +12 -3
  52. package/dist/reasoning-events.d.ts.map +1 -1
  53. package/dist/reasoning-events.js +11 -9
  54. package/dist/reasoning-events.js.map +1 -1
  55. package/dist/render.d.ts +2 -0
  56. package/dist/render.d.ts.map +1 -1
  57. package/dist/render.js +61 -47
  58. package/dist/render.js.map +1 -1
  59. package/dist/skills.d.ts +5 -5
  60. package/dist/skills.d.ts.map +1 -1
  61. package/dist/skills.js +93 -79
  62. package/dist/skills.js.map +1 -1
  63. package/dist/stream.d.ts.map +1 -1
  64. package/dist/stream.js +11 -11
  65. package/dist/stream.js.map +1 -1
  66. package/dist/subcommands.d.ts.map +1 -1
  67. package/dist/subcommands.js +2 -1
  68. package/dist/subcommands.js.map +1 -1
  69. package/dist/transport.d.ts +4 -2
  70. package/dist/transport.d.ts.map +1 -1
  71. package/dist/transport.js +25 -15
  72. package/dist/transport.js.map +1 -1
  73. package/dist/tui.d.ts +3 -2
  74. package/dist/tui.d.ts.map +1 -1
  75. package/dist/tui.js +164 -37
  76. package/dist/tui.js.map +1 -1
  77. package/man/plurnk.1 +153 -0
  78. package/package.json +11 -6
package/dist/tui.js CHANGED
@@ -19,14 +19,15 @@ import { isAbsolute, resolve } from "node:path";
19
19
  import PasteFilter from "./paste.js";
20
20
  import { extractOpenPaths } from "./openpaths.js";
21
21
  import { pathPartial, completePath, dslOpPartial, completeOps, dslStatement } from "./completion.js";
22
- import { renderLogEntry, renderReasoning, renderSummary, isPromptEntry, coordLabel, progressLabel, entryTarget, isEntryMaterialization } from "./render.js";
23
- import { renderProposalMenu, keyToResolution, isServerResolved, renderQuestionMenu, questionChoices, answerForQuestion } from "./proposal.js";
22
+ import { renderLogEntry, renderReasoning, renderReasoningPreview, renderSummary, isPromptEntry, progressLabel, entryTarget, isEntryMaterialization } from "./render.js";
23
+ import { renderProposalMenu, keyToResolution, isServerResolved, renderQuestionMenu, questionChoices, answerForQuestion, editInEditor } from "./proposal.js";
24
24
  import { ProblemError, renderDiagnostic, report, clientSubcommandUnknownVerb, NO_MODEL_HINT } from "./diagnostics.js";
25
25
  import StreamTrace, { inlineable, renderInline } from "./stream.js";
26
26
  import { runModels, runWorkspaceList, runWorkspaceWorkers, runLogRead } from "./subcommands.js";
27
27
  import { Validator, } from "@plurnk/plurnk-contracts";
28
28
  import { handleMcp } from "./mcp.js";
29
29
  import { handleSkills } from "./skills.js";
30
+ import { handleAgents } from "./agents.js";
30
31
  import { formatWorkerReasoning, readWorkerReasoning, setWorkerReasoning, } from "./reasoning.js";
31
32
  export const renderTuiFailure = (cause) => {
32
33
  if (cause instanceof ProblemError) {
@@ -44,7 +45,7 @@ export const renderTuiFailure = (cause) => {
44
45
  export const VERBS = [
45
46
  "help", "models", "workspaces", "workers", "log", "model", "child", "reasoning",
46
47
  "yolo", "workspace", "rename", "worker", "stop", "quit",
47
- "pick", "hide", "view", "drop", "members", "import", "script", "mcp",
48
+ "pick", "hide", "view", "drop", "members", "import", "script", "mcp", "editor",
48
49
  "accept", "reject", "cancel", "edit",
49
50
  ];
50
51
  export const TUI_HELP = [
@@ -65,8 +66,10 @@ export const TUI_HELP = [
65
66
  " /mcp list available workspace MCP servers",
66
67
  " add <alias> <target> [options.json] · enable/disable/remove <alias>",
67
68
  " oauth <alias> <callback-url>",
68
- " /skills list universal Agent Skills",
69
- " add/remove/find/update manage .agents/skills via npx skills",
69
+ " /agents list this Worker's outbound A2A agents",
70
+ " discover <url> · add <alias> <url> [options.json] · enable/disable/remove <alias>",
71
+ " /skills list this Worker's Agent Skills",
72
+ " discover <query|source> · add <name> <source> [--global] · enable/disable/remove <name>",
70
73
  " /accept /reject /cancel /edit resolve a pending proposal (or keys a/e/r/c)",
71
74
  " /stop cancel the running loop",
72
75
  " /quit exit",
@@ -74,6 +77,8 @@ export const TUI_HELP = [
74
77
  " ## LOOK0 (uri) off-run READ — inspect a uri for you, not the model",
75
78
  " Alt-p / Alt-n cycle ## LOOK0 through prior operations' targets",
76
79
  " Ctrl-J / Alt-Enter insert a ↵ newline (editable); Enter submits",
80
+ " Esc cancel the running loop; idle: clear the line",
81
+ " /editor · Alt-e compose the prompt line in $EDITOR",
77
82
  " Alt-m/s · Alt-R/L/Y/N/M · Alt-x quick verbs (nvim case): models workspaces runs",
78
83
  " log yolo workspace members stop · Alt-h help",
79
84
  ].join("\n") + "\n";
@@ -100,7 +105,7 @@ export const expandNewlines = (line) => line.replaceAll(NL_MARK, "\n");
100
105
  // owns a/e/n/p/u/w/k/l. Alt-b/f/d are skipped (readline word-ops).
101
106
  export const ALT_SHORTCUTS = Object.freeze({
102
107
  m: "/models", s: "/workspaces", R: "/workers", L: "/log",
103
- Y: "/yolo", N: "/workspace", M: "/members", x: "/stop", h: "/help",
108
+ Y: "/yolo", N: "/workspace", M: "/members", x: "/stop", h: "/help", e: "/editor",
104
109
  });
105
110
  // An Alt-<letter> keypress (ESC then a single letter, no `[`/`O` → not an arrow
106
111
  // or function key) mapped to its verb, or null. Case-sensitive (mirrors nvim).
@@ -147,8 +152,11 @@ export const parseSlash = (line) => {
147
152
  // Plain readline machinery only; no screen takeover, no terminal hell.
148
153
  // readline's async completer form (arity 2 → async). Verb/alias completion
149
154
  // answers synchronously; path positions read the local fs (co-location law)
150
- // and answer once readdir resolves.
151
- export const makeCompleter = (getAliases, cwd, getReasoningPolicies = () => []) => (line, callback) => {
155
+ // and answer once readdir resolves. A fragment holding a provider prefix
156
+ // (`/model openai/…`) completes lazily from one bounded, provider-scoped
157
+ // daemon catalog page ([§cli-plurnk-models]); the client never preloads or
158
+ // owns the Models.dev snapshot.
159
+ export const makeCompleter = (getAliases, cwd, getReasoningPolicies = () => [], getProviderModels = async () => []) => (line, callback) => {
152
160
  const verbFrag = line.match(/^\/(\w*)$/);
153
161
  if (verbFrag) {
154
162
  callback(null, [VERBS.map((v) => `/${v}`).filter((v) => v.startsWith(line)), line]);
@@ -156,10 +164,16 @@ export const makeCompleter = (getAliases, cwd, getReasoningPolicies = () => [])
156
164
  }
157
165
  const aliasFrag = line.match(/^\/(model|child)\s+(\S*)$/);
158
166
  if (aliasFrag) {
167
+ const fragment = aliasFrag[2];
168
+ const provider = /^([A-Za-z0-9_-]+)\//.exec(fragment)?.[1];
169
+ if (provider !== undefined) {
170
+ getProviderModels(provider).then((selectors) => callback(null, [selectors.filter((selector) => selector.startsWith(fragment)), fragment]), () => callback(null, [[], fragment]));
171
+ return;
172
+ }
159
173
  const candidates = aliasFrag[1] === "child"
160
174
  ? ["inherit", ...getAliases().filter((alias) => alias !== "inherit")]
161
175
  : getAliases();
162
- callback(null, [candidates.filter((a) => a.startsWith(aliasFrag[2])), aliasFrag[2]]);
176
+ callback(null, [candidates.filter((a) => a.startsWith(fragment)), fragment]);
163
177
  return;
164
178
  }
165
179
  const reasoningFrag = line.match(/^\/reasoning\s+(\S*)$/);
@@ -178,10 +192,18 @@ export const makeCompleter = (getAliases, cwd, getReasoningPolicies = () => [])
178
192
  callback(null, [commands, fragment]);
179
193
  return;
180
194
  }
195
+ const agentsFrag = line.match(/^\/agents\s+(\S*)$/);
196
+ if (agentsFrag) {
197
+ const fragment = agentsFrag[1];
198
+ const commands = ["add", "discover", "enable", "disable", "remove"]
199
+ .filter((command) => command.startsWith(fragment));
200
+ callback(null, [commands, fragment]);
201
+ return;
202
+ }
181
203
  const skillsFrag = line.match(/^\/skills\s+(\S*)$/);
182
204
  if (skillsFrag) {
183
205
  const fragment = skillsFrag[1];
184
- const commands = ["add", "remove", "find", "list", "update"]
206
+ const commands = ["add", "discover", "enable", "disable", "remove"]
185
207
  .filter((command) => command.startsWith(fragment));
186
208
  callback(null, [commands, fragment]);
187
209
  return;
@@ -348,10 +370,10 @@ export const handleVerb = async (line, ctx) => {
348
370
  return;
349
371
  }
350
372
  case "worker": {
351
- // New worker — worker.fork (svc#248) branches this conversation, optionally
373
+ // New worker — run.fork branches this conversation, optionally
352
374
  // named at instantiation (immutable after). Bind to the fork so the
353
375
  // next prompt speaks there. The workspace (the world) is unchanged.
354
- const forked = await rpc.call("worker.fork", rest.length > 0 ? { name: rest } : {});
376
+ const forked = await rpc.call("run.fork", rest.length > 0 ? { name: rest } : {});
355
377
  await rpc.call("workspace.attach", { id: ctx.getWorkspace().id, workerId: forked.workerId });
356
378
  await refreshWorkerPolicy();
357
379
  write(` worker: ${forked.workerName} (new)\n`);
@@ -381,8 +403,8 @@ export const handleVerb = async (line, ctx) => {
381
403
  write(` no constraint matching ${JSON.stringify(rest)}\n`);
382
404
  return;
383
405
  }
384
- for (const c of matches)
385
- await rpc.call("workspace.unconstrain", c);
406
+ for (const { effect, glob } of matches)
407
+ await rpc.call("workspace.unconstrain", { effect, glob });
386
408
  write(` dropped ${matches.length} constraint${matches.length === 1 ? "" : "s"} (${rest})\n`);
387
409
  return;
388
410
  }
@@ -447,7 +469,11 @@ export const handleVerb = async (line, ctx) => {
447
469
  return;
448
470
  }
449
471
  case "skills": {
450
- await handleSkills(rest, write, opts.projectRoot);
472
+ await handleSkills(rest, rpc, write);
473
+ return;
474
+ }
475
+ case "agents": {
476
+ await handleAgents(rest, rpc, write);
451
477
  return;
452
478
  }
453
479
  case "accept":
@@ -460,6 +486,9 @@ export const handleVerb = async (line, ctx) => {
460
486
  case "stop":
461
487
  await rpc.call("loop.cancel", { reason: "user_stop" });
462
488
  return;
489
+ case "editor":
490
+ await ctx.composeInEditor();
491
+ return;
463
492
  case "quit":
464
493
  return "quit";
465
494
  default:
@@ -469,12 +498,23 @@ export const handleVerb = async (line, ctx) => {
469
498
  };
470
499
  export const runTui = async (transport, workspace, opts) => {
471
500
  let current = workspace;
472
- // Highest loop_seq the waterfall has shown — the next prompt is one beyond.
473
- let lastLoopSeq = 0;
474
501
  // Loop state, hoisted so buildPrompt can show a steer prompt while a loop
475
502
  // runs and the line handler / SIGINT can share it.
476
503
  let inFlight = false;
477
504
  let cancelRequested = false;
505
+ // One cancel path for every interrupt gesture (Ctrl-C, Esc, /stop): the
506
+ // run's active drain cancels via loop.cancel; the pending loop resolves
507
+ // 499 and the REPL continues. A failed cancel SURFACES — a stop button
508
+ // that silently does nothing is the worst kind of broken.
509
+ const requestCancel = (reason) => {
510
+ if (cancelRequested)
511
+ return;
512
+ cancelRequested = true;
513
+ process.stdout.write("\r\x1b[2K \x1b[2mcancelling… (ctrl-c again to quit)\x1b[0m\n");
514
+ void transport.rpc("loop.cancel", { reason }).catch((err) => {
515
+ process.stdout.write(`\r\x1b[2K \x1b[31mcancel failed: ${err instanceof Error ? err.message : String(err)}\x1b[0m\n`);
516
+ });
517
+ };
478
518
  // Prompt status gutter (#114, refined): two reserved slots — 🧮 while
479
519
  // embeddings warm, and a busy glyph (⏳ working / 💤 hibernating) whenever a
480
520
  // loop OR embedding is active. Glyphs when active, blanks when not, so the
@@ -490,6 +530,7 @@ export const runTui = async (transport, workspace, opts) => {
490
530
  // Alt-n cycler — not synthesized log-entry coordinates. lookCursor walks them.
491
531
  const priorTargets = [];
492
532
  let lookCursor = null;
533
+ let liveReasoning = null;
493
534
  // Print a line ABOVE the live readline prompt without eating the user's
494
535
  // in-progress input. The canonical "log while prompting" idiom: wipe the
495
536
  // prompt row, write the line, then re-render the prompt + current buffer on
@@ -512,6 +553,7 @@ export const runTui = async (transport, workspace, opts) => {
512
553
  // will actually use when --model is unset (providers.list
513
554
  // marks the boot-time default `active`).
514
555
  let aliasCache = [];
556
+ const providerModelCache = new Map();
515
557
  let activeAlias;
516
558
  // Alias list for completion + the header's active default. Both terminal gauges
517
559
  // ride the loop usage envelope; this client never reconstructs curation policy or
@@ -582,10 +624,6 @@ export const runTui = async (transport, workspace, opts) => {
582
624
  // 💬 (U+1F4AC, stable-wide) fills the op slot the toxic ✉️ vacated.
583
625
  // Policy: VS16/ambiguous glyphs are banned from the ENTIRE palette
584
626
  // (render.ts) — stable widths are also what make columns align.
585
- // The prompt is the user's row, coordinate-prefixed like every other
586
- // waterfall line (§5.1). The coordinate is the next actionless prompt row.
587
- // lastLoopSeq tracks the highest loop the waterfall has shown; the next
588
- // prompt is one beyond it. Plain-ASCII coordinate — width-safe.
589
627
  // The prompt is the SAME whether or not a loop is running — kept alive above
590
628
  // the streaming traces by printAbove. The user just types; a line submitted
591
629
  // while a loop is in flight is folded into it (loop.inject), else it starts
@@ -620,10 +658,10 @@ export const runTui = async (transport, workspace, opts) => {
620
658
  const activePercent = embedding ? embeddingPercent
621
659
  : searchFetching ? searchPercent
622
660
  : branchPercent;
623
- const position = activePercent !== null
624
- ? progressLabel(activePercent)
625
- : coordLabel(lastLoopSeq + 1, 1, 1);
626
- return `${yolo}${position}${origin} ${status} \x1b[32m201\x1b[0m \x1b[1m: \x1b[0m`;
661
+ // No coordinate, no decorative code (plurnk#21): the prompt is
662
+ // `[gauge] 🐹 <status> : ` — the busy gauge appears only while active.
663
+ const position = activePercent !== null ? progressLabel(activePercent) : "";
664
+ return `${yolo}${position}${origin} ${status} \x1b[1m: \x1b[0m`;
627
665
  };
628
666
  // Bracketed-paste buffering (paste.ts): a multi-line paste must become ONE
629
667
  // prompt, not one loop.run per line. readline reads a PassThrough we feed
@@ -639,7 +677,19 @@ export const runTui = async (transport, workspace, opts) => {
639
677
  output: process.stdout,
640
678
  terminal: true,
641
679
  prompt: buildPrompt(),
642
- completer: makeCompleter(() => aliasCache, process.cwd(), () => workerReasoning.supportedPolicies),
680
+ completer: makeCompleter(() => aliasCache, process.cwd(), () => workerReasoning.supportedPolicies, async (provider) => {
681
+ // One bounded page per provider, cached for the session: lazy,
682
+ // provider-scoped, never the whole catalog.
683
+ const cached = providerModelCache.get(provider);
684
+ if (cached !== undefined)
685
+ return cached;
686
+ const page = await transport.rpc("models.list", { provider, limit: 100 });
687
+ const selectors = (page.items ?? [])
688
+ .map(({ selector }) => selector)
689
+ .filter((selector) => typeof selector === "string");
690
+ providerModelCache.set(provider, selectors);
691
+ return selectors;
692
+ }),
643
693
  });
644
694
  const reprompt = () => {
645
695
  readline.cursorTo(process.stdout, 0);
@@ -656,11 +706,50 @@ export const runTui = async (transport, workspace, opts) => {
656
706
  rl.setPrompt(buildPrompt());
657
707
  rl.prompt(true);
658
708
  };
659
- // Now that rl exists, printAbove can re-render the prompt after each line.
660
- printAbove = (text) => {
709
+ const clearPromptAndLiveReasoning = () => {
661
710
  readline.cursorTo(process.stdout, 0);
662
711
  readline.clearLine(process.stdout, 0);
712
+ if (liveReasoning?.shown === true) {
713
+ readline.moveCursor(process.stdout, 0, -1);
714
+ readline.cursorTo(process.stdout, 0);
715
+ readline.clearLine(process.stdout, 0);
716
+ }
717
+ };
718
+ const redrawLiveReasoning = () => {
719
+ if (liveReasoning?.shown === true) {
720
+ process.stdout.write(`${renderReasoningPreview(liveReasoning.content, process.stdout.columns ?? 80)}\n`);
721
+ }
722
+ rl.prompt(true);
723
+ };
724
+ // Now that rl exists, printAbove can re-render the prompt after each line.
725
+ // A live reasoning preview remains the final row above it, so concurrent
726
+ // stream or worker activity cannot corrupt the preview's cursor ownership.
727
+ printAbove = (text) => {
728
+ clearPromptAndLiveReasoning();
663
729
  process.stdout.write(`${text}\n`);
730
+ redrawLiveReasoning();
731
+ };
732
+ const presentReasoning = (update) => {
733
+ if (update.phase === "start") {
734
+ if (liveReasoning !== null)
735
+ throw new TypeError("A second reasoning message started before the first ended.");
736
+ liveReasoning = { messageId: update.messageId, content: "", shown: false };
737
+ return;
738
+ }
739
+ if (liveReasoning === null || liveReasoning.messageId !== update.messageId) {
740
+ throw new TypeError(`Reasoning ${update.phase} did not match the active message.`);
741
+ }
742
+ clearPromptAndLiveReasoning();
743
+ if (update.phase === "content") {
744
+ liveReasoning.content = update.content;
745
+ liveReasoning.shown = update.content.length > 0;
746
+ redrawLiveReasoning();
747
+ return;
748
+ }
749
+ const content = update.content;
750
+ liveReasoning = null;
751
+ if (content.length > 0)
752
+ process.stdout.write(`${renderReasoning(content)}\n`);
664
753
  rl.prompt(true);
665
754
  };
666
755
  // Replace the whole readline buffer with `text`, public-API only: Ctrl-U kills
@@ -711,7 +800,25 @@ export const runTui = async (transport, workspace, opts) => {
711
800
  let pendingQuestion = null;
712
801
  let dispatchShortcut = () => { };
713
802
  const onStdin = (chunk) => {
714
- const forward = paste.feed(chunk.toString("utf8"));
803
+ const text = chunk.toString("utf8");
804
+ // Esc interrupts (plurnk#25) — the agent-CLI convention: bare Esc with
805
+ // a loop in flight cancels it (same path as the first Ctrl-C); idle it
806
+ // clears the composed line. Read BEFORE the paste filter, which would
807
+ // otherwise hold a lone ESC as a possible split \x1b[200~ prefix. An
808
+ // exact lone-ESC chunk while no paste is open is the KEY — the same
809
+ // whole-chunk rule the Alt-shortcuts rely on.
810
+ if (text === "\x1b" && paste.idle()) {
811
+ if (inFlight) {
812
+ requestCancel("user_escape");
813
+ return;
814
+ }
815
+ if (rl.line.length > 0) {
816
+ rl.write(null, { ctrl: true, name: "e" });
817
+ rl.write(null, { ctrl: true, name: "u" });
818
+ }
819
+ return;
820
+ }
821
+ const forward = paste.feed(text);
715
822
  if (forward.length === 0)
716
823
  return;
717
824
  // A pending proposal + an EMPTY prompt line: a single review key
@@ -860,10 +967,8 @@ export const runTui = async (transport, workspace, opts) => {
860
967
  repromptPreserving();
861
968
  };
862
969
  transport.subscribe({
863
- onReasoning: ({ content }) => printAbove(renderReasoning(content)),
970
+ onReasoning: presentReasoning,
864
971
  onEntry: (entry) => {
865
- if (entry.loop_seq > lastLoopSeq)
866
- lastLoopSeq = entry.loop_seq;
867
972
  // The typed line at the prompt is the user's record — rendering the
868
973
  // prompt broadcast too would duplicate it (see isPromptEntry).
869
974
  if (isPromptEntry(entry))
@@ -998,6 +1103,32 @@ export const runTui = async (transport, workspace, opts) => {
998
1103
  }
999
1104
  await resolvePending({ decision: action });
1000
1105
  },
1106
+ // /editor · Alt-e (plurnk#26): seed $EDITOR with the composed line
1107
+ // (markers expanded), place the result BACK on the line — never
1108
+ // auto-submit (bash Ctrl-X Ctrl-E executes on exit; a prompt line
1109
+ // spends model tokens, so Enter stays the only submit). Same bounded
1110
+ // terminal handoff as proposal edit. Empty buffer ⇒ line unchanged.
1111
+ composeInEditor: async () => {
1112
+ process.stdin.off("data", onStdin);
1113
+ process.stdin.setRawMode?.(false);
1114
+ let edited = null;
1115
+ try {
1116
+ edited = await editInEditor(paste.expand(expandNewlines(rl.line)), ".md");
1117
+ }
1118
+ catch (cause) {
1119
+ process.stdout.write(`${renderTuiFailure(cause)}\n`);
1120
+ }
1121
+ finally {
1122
+ process.stdin.setRawMode?.(true);
1123
+ process.stdin.resume();
1124
+ process.stdin.on("data", onStdin);
1125
+ }
1126
+ if (edited === null)
1127
+ return;
1128
+ rl.write(null, { ctrl: true, name: "e" });
1129
+ rl.write(null, { ctrl: true, name: "u" });
1130
+ rl.write(paste.stash(edited.replace(/\n$/, "")));
1131
+ },
1001
1132
  };
1002
1133
  // Alt-<letter> shortcut → run the verb. Wipe the prompt line, dispatch
1003
1134
  // through the same handleVerb the typed `/verb` uses (the partial prompt in
@@ -1173,11 +1304,7 @@ export const runTui = async (transport, workspace, opts) => {
1173
1304
  // unblock (op.parse). A failed cancel SURFACES — a stop button that
1174
1305
  // silently does nothing is the worst kind of broken.
1175
1306
  if (inFlight && !cancelRequested) {
1176
- cancelRequested = true;
1177
- process.stdout.write("\r\x1b[2K \x1b[2mcancelling… (ctrl-c again to quit)\x1b[0m\n");
1178
- void transport.rpc("loop.cancel", { reason: "user_sigint" }).catch((err) => {
1179
- process.stdout.write(`\r\x1b[2K \x1b[31mcancel failed: ${err instanceof Error ? err.message : String(err)}\x1b[0m\n`);
1180
- });
1307
+ requestCancel("user_sigint");
1181
1308
  return;
1182
1309
  }
1183
1310
  rl.close();
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}