@plurnk/plurnk 0.83.4 → 0.84.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 (93) hide show
  1. package/.env.defaults +2 -2
  2. package/README.md +129 -126
  3. package/conformance/agui-client.json +28 -41
  4. package/dist/QuestionForm.d.ts +17 -0
  5. package/dist/QuestionForm.d.ts.map +1 -0
  6. package/dist/QuestionForm.js +74 -0
  7. package/dist/QuestionForm.js.map +1 -0
  8. package/dist/agents.js +8 -8
  9. package/dist/agents.js.map +1 -1
  10. package/dist/agui_cli.d.ts +3 -7
  11. package/dist/agui_cli.d.ts.map +1 -1
  12. package/dist/agui_cli.js +27 -30
  13. package/dist/agui_cli.js.map +1 -1
  14. package/dist/build-info.json +1 -1
  15. package/dist/cli.d.ts +0 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +11 -20
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands.d.ts +20 -0
  20. package/dist/commands.d.ts.map +1 -1
  21. package/dist/commands.js +7 -2
  22. package/dist/commands.js.map +1 -1
  23. package/dist/completion.d.ts +2 -2
  24. package/dist/completion.d.ts.map +1 -1
  25. package/dist/completion.js +12 -27
  26. package/dist/completion.js.map +1 -1
  27. package/dist/diagnostics.d.ts +1 -1
  28. package/dist/diagnostics.d.ts.map +1 -1
  29. package/dist/diagnostics.js +3 -3
  30. package/dist/diagnostics.js.map +1 -1
  31. package/dist/dispatcher.d.ts +1 -1
  32. package/dist/dispatcher.d.ts.map +1 -1
  33. package/dist/dispatcher.js +8 -13
  34. package/dist/dispatcher.js.map +1 -1
  35. package/dist/mcp.js +14 -14
  36. package/dist/mcp.js.map +1 -1
  37. package/dist/members.js +7 -7
  38. package/dist/members.js.map +1 -1
  39. package/dist/plan.d.ts +0 -1
  40. package/dist/plan.d.ts.map +1 -1
  41. package/dist/plan.js +12 -7
  42. package/dist/plan.js.map +1 -1
  43. package/dist/policy.d.ts +1 -3
  44. package/dist/policy.d.ts.map +1 -1
  45. package/dist/policy.js +5 -15
  46. package/dist/policy.js.map +1 -1
  47. package/dist/proposal.d.ts +0 -1
  48. package/dist/proposal.d.ts.map +1 -1
  49. package/dist/proposal.js +2 -31
  50. package/dist/proposal.js.map +1 -1
  51. package/dist/reasoning.d.ts +1 -0
  52. package/dist/reasoning.d.ts.map +1 -1
  53. package/dist/reasoning.js +4 -1
  54. package/dist/reasoning.js.map +1 -1
  55. package/dist/render.d.ts +4 -2
  56. package/dist/render.d.ts.map +1 -1
  57. package/dist/render.js +39 -48
  58. package/dist/render.js.map +1 -1
  59. package/dist/skills.js +9 -9
  60. package/dist/skills.js.map +1 -1
  61. package/dist/status.d.ts +9 -6
  62. package/dist/status.d.ts.map +1 -1
  63. package/dist/status.js +37 -41
  64. package/dist/status.js.map +1 -1
  65. package/dist/stream.d.ts +0 -1
  66. package/dist/stream.d.ts.map +1 -1
  67. package/dist/stream.js +2 -2
  68. package/dist/stream.js.map +1 -1
  69. package/dist/subcommands.d.ts.map +1 -1
  70. package/dist/subcommands.js +4 -3
  71. package/dist/subcommands.js.map +1 -1
  72. package/dist/tail-text.d.ts +9 -0
  73. package/dist/tail-text.d.ts.map +1 -0
  74. package/dist/tail-text.js +23 -0
  75. package/dist/tail-text.js.map +1 -0
  76. package/dist/transport.d.ts +0 -2
  77. package/dist/transport.d.ts.map +1 -1
  78. package/dist/transport.js +12 -7
  79. package/dist/transport.js.map +1 -1
  80. package/dist/tui-surface.d.ts +1 -0
  81. package/dist/tui-surface.d.ts.map +1 -1
  82. package/dist/tui-surface.js +10 -1
  83. package/dist/tui-surface.js.map +1 -1
  84. package/dist/tui.d.ts +1 -2
  85. package/dist/tui.d.ts.map +1 -1
  86. package/dist/tui.js +90 -98
  87. package/dist/tui.js.map +1 -1
  88. package/dist/workers.d.ts +10 -0
  89. package/dist/workers.d.ts.map +1 -1
  90. package/dist/workers.js +63 -5
  91. package/dist/workers.js.map +1 -1
  92. package/man/plurnk.1 +6 -2
  93. package/package.json +3 -3
package/dist/tui.js CHANGED
@@ -3,11 +3,11 @@
3
3
  //
4
4
  // Line language (converged with plurnk.nvim — one vocabulary, two surfaces):
5
5
  // /verb [args] command verbs (see VERBS); never call loop.run
6
- // ## PLAN / ### OP raw DSL through op.parse
7
- // ### LOOK0 (uri) off-run READ — inspect a uri's content for ME, not the model
6
+ // named executable fences through op.parse
7
+ // LOOK fences via op.look — inspect a uri's content for ME, not the model
8
8
  // ! cmd op.exec via the daemon
9
9
  // ... msg loop.inject — speak into the running model loop
10
- // ? text deny EXEC for this loop and keep proposal review client-owned
10
+ // ? text select proposal review for this loop
11
11
  // : text act (the default)
12
12
  // text prompt
13
13
  import { readFile } from "node:fs/promises";
@@ -19,11 +19,12 @@ import ModelText from "./model-text.js";
19
19
  import { extractOpenPaths } from "./openpaths.js";
20
20
  import { pathPartial, completePath, dslOpPartial, completeOps, dslStatement } from "./completion.js";
21
21
  import { renderLogEntry, renderReasoning, renderSummary, isPromptEntry, entryTarget, isEntryMaterialization } from "./render.js";
22
- import { renderProposalMenu, keyToResolution, renderQuestionMenu, questionChoices, answerForQuestion, editInEditor } from "./proposal.js";
22
+ import { renderProposalMenu, keyToResolution, renderQuestionMenu, editInEditor } from "./proposal.js";
23
+ import QuestionForm from "./QuestionForm.js";
23
24
  import { ProblemError, renderDiagnostic, report, clientSubcommandUnknownVerb, NO_MODEL_HINT } from "./diagnostics.js";
24
25
  import StreamTrace, { inlineable, renderInline } from "./stream.js";
25
26
  import { runModels, runWorkspaceList, runLogRead } from "./subcommands.js";
26
- import { renderWorkerTopology, workerNameFromTarget } from "./workers.js";
27
+ import { renderWorkerTopology, siblingPosition, traverse, workerNameFromTarget, workerPath } from "./workers.js";
27
28
  import { Validator, } from "@plurnk/plurnk-contracts";
28
29
  import { formatCapabilityProjection, parseCapabilityPolicy, promptPolicy } from "./policy.js";
29
30
  import { handleMcp } from "./mcp.js";
@@ -31,7 +32,7 @@ import { handleSkills } from "./skills.js";
31
32
  import { handleAgents } from "./agents.js";
32
33
  import { handleMembers } from "./members.js";
33
34
  import { formatWorkerReasoning, readWorkerReasoning, setWorkerReasoning, } from "./reasoning.js";
34
- import { EMPTY_TALLY, derivationActivity, formatRouteIdentity, projectStatusGauge, renderStatusLine, tallyOutcome } from "./status.js";
35
+ import { EMPTY_TALLY, formatRouteIdentity, projectStatusGauge, renderStatusLine, tallyOutcome } from "./status.js";
35
36
  import { COMMANDS, completeCommandSyntax, isCommandName, renderCommandHelp, } from "./commands.js";
36
37
  export const renderTuiFailure = (cause) => {
37
38
  // A Problem may quote the model's own line; a thrown message may carry anything (plurnk#35).
@@ -56,18 +57,20 @@ export const TUI_HELP = renderCommandHelp();
56
57
  // editor control keys. Alt-b/f/d remain the editor's word operations.
57
58
  export const ALT_SHORTCUTS = Object.freeze({
58
59
  m: "/models", s: "/workspaces", R: "/workers", L: "/log",
59
- Y: "/yolo", N: "/workspace", M: "/members", x: "/stop", h: "/help", e: "/editor",
60
+ Y: "/yolo", N: "/workspace", M: "/members", x: "/stop", "?": "/help", e: "/editor",
61
+ // {§cli-workers-topology} — vim's tree orientation: depth is horizontal, siblings vertical.
62
+ h: "/parent", l: "/enter", j: "/older", k: "/newer",
60
63
  });
61
- // An Alt-<letter> keypress (ESC then a single letter, no `[`/`O` → not an arrow
64
+ // An Alt-<key> keypress (ESC then a single letter or `?`, no `[`/`O` → not an arrow
62
65
  // or function key) mapped to its verb, or null. Case-sensitive (mirrors nvim).
63
66
  // pi-tui's terminal buffer reassembles split escape sequences.
64
67
  export const altShortcut = (forward) => {
65
- const m = forward.match(/^\x1b([a-zA-Z])$/);
68
+ const m = forward.match(/^\x1b([a-zA-Z?])$/);
66
69
  return m ? (ALT_SHORTCUTS[m[1]] ?? null) : null;
67
70
  };
68
71
  // Recognize the client-only LOOK surface so it can be routed to `op.look`.
69
72
  // The AG-UI observation action owns validation and the single LOOK→READ rewrite.
70
- export const lookStatement = (line) => line.startsWith("### LOOK") ? line : null;
73
+ export const lookStatement = (line) => /^`{3,}LOOK(?![A-Za-z0-9_.+-])/.test(line) ? line : null;
71
74
  export const linePolicy = promptPolicy;
72
75
  export const renderSubmittedInput = (text, yolo) => text.split("\n").map((line, index) => `${index === 0 ? (yolo ? "🔥 " : "› ") : " "}${line}`).join("\n");
73
76
  // Alt-p / Alt-n cycle the LOOK target through prior operations (prev/next op).
@@ -193,12 +196,9 @@ export const makeAutocompleteProvider = (options) => ({
193
196
  });
194
197
  // Seed editor history from prior workspace prompts. The server returns newest
195
198
  // first; the surface owns the insertion order required by its editor.
196
- export const seedPromptHistory = async (rpc, workspaceId, history) => {
199
+ export const seedPromptHistory = async (rpc, history) => {
197
200
  try {
198
- // Bridge mode has no client-known workspace id omit it (the connection's
199
- // attached workspace answers); WS passes the real id.
200
- const params = workspaceId > 0 ? { id: workspaceId, limit: 100 } : { limit: 100 };
201
- const { prompts } = await rpc.call("workspace.prompts", params);
201
+ const { prompts } = await rpc.call("workspace.prompts", { limit: 100 });
202
202
  if (Array.isArray(prompts) && prompts.length > 0)
203
203
  history.addHistory(prompts);
204
204
  }
@@ -262,7 +262,7 @@ export const handleVerb = async (line, ctx) => {
262
262
  return;
263
263
  case "workers": {
264
264
  // {§cli-workers-topology} — the directory as a forest rooted at the bound worker.
265
- const { workers } = await rpc.call("workspace.workers", { id: ctx.getWorkspace().id });
265
+ const { workers } = await rpc.call("workspace.workers");
266
266
  write(renderWorkerTopology(workers, ctx.getWorker()));
267
267
  return;
268
268
  }
@@ -310,8 +310,8 @@ export const handleVerb = async (line, ctx) => {
310
310
  case "capabilities":
311
311
  try {
312
312
  const projection = rest.length === 0
313
- ? await rpc.call("worker.capabilities.get")
314
- : await rpc.call("worker.capabilities.set", {
313
+ ? await rpc.call("workspace.capabilities.get")
314
+ : await rpc.call("workspace.capabilities.set", {
315
315
  policy: parseCapabilityPolicy("/capabilities", rest),
316
316
  });
317
317
  write(`${formatCapabilityProjection(projection).trimEnd().replace(/^/gm, " ")}\n`);
@@ -367,7 +367,7 @@ export const handleVerb = async (line, ctx) => {
367
367
  // named at instantiation (immutable after). Bind to the fork so the
368
368
  // next prompt speaks there. The workspace (the world) is unchanged.
369
369
  const forked = await rpc.call("run.fork", rest.length > 0 ? { name: rest } : {});
370
- await rpc.call("workspace.attach", { id: ctx.getWorkspace().id, workerId: forked.workerId });
370
+ ctx.attachWorker(forked.workerName);
371
371
  await refreshWorkerPolicy();
372
372
  write(` worker: ${forked.workerName} (new)\n`);
373
373
  return;
@@ -379,13 +379,31 @@ export const handleVerb = async (line, ctx) => {
379
379
  write(" usage: /attach <name>\n");
380
380
  return;
381
381
  }
382
- const { workers } = await rpc.call("workspace.workers", { id: ctx.getWorkspace().id });
382
+ const { workers } = await rpc.call("workspace.workers");
383
383
  const known = workers.some((worker) => worker.name === rest);
384
384
  ctx.attachWorker(rest);
385
385
  await refreshWorkerPolicy();
386
386
  write(` worker: ${rest} (${known ? "bound" : "new"})\n`);
387
387
  return;
388
388
  }
389
+ case "parent":
390
+ case "enter":
391
+ case "older":
392
+ case "newer": {
393
+ // {§cli-workers-topology} — one hop over the workspace tree is a full attach: the prompt
394
+ // then speaks to that worker. The directory is re-read on every hop; nothing is inferred.
395
+ const { workers } = await rpc.call("workspace.workers");
396
+ const { target, notice } = traverse(workers, ctx.getWorker(), verb);
397
+ if (target === null) {
398
+ write(` (${notice ?? "nowhere to go"})\n`);
399
+ return;
400
+ }
401
+ ctx.attachWorker(target.name);
402
+ await refreshWorkerPolicy();
403
+ const position = siblingPosition(workers, target.name);
404
+ write(` worker: ${target.name} [${workerPath(workers, target.name)}]${position === null ? "" : ` (${position.index}/${position.count})`}\n`);
405
+ return;
406
+ }
389
407
  case "import":
390
408
  // Dump a LOCAL file's content into the multiline composer.
391
409
  if (rest.length === 0) {
@@ -468,9 +486,10 @@ export const runTui = async (transport, workspace, opts) => {
468
486
  let tally = EMPTY_TALLY;
469
487
  let runningSince = null;
470
488
  let conversationWorkerId = null;
489
+ // {§cli-workers-topology} — where the session is in the tree: the prompt's path prefix and the
490
+ // status line's sibling position, re-read from the directory on every hop or rebind.
491
+ let workerPosition = null;
471
492
  let conversationWorker = opts.workerName ?? null;
472
- let embedding = false;
473
- let embeddingPercent = null;
474
493
  let searchFetching = false;
475
494
  let searchPercent = null;
476
495
  let branchBatch = null;
@@ -562,11 +581,18 @@ export const runTui = async (transport, workspace, opts) => {
562
581
  const statusContext = () => ({
563
582
  workspace: current.name,
564
583
  worker: conversationWorker,
584
+ position: workerPosition,
565
585
  child: workerSpawnModel === null ? null : resolvedModelLabel(workerSpawnModel),
566
586
  tally,
567
587
  runningSince,
568
588
  now: Date.now(),
569
589
  });
590
+ const refreshTopology = async () => {
591
+ const { workers } = await transport.rpc("workspace.workers");
592
+ workerPosition = siblingPosition(workers, conversationWorker);
593
+ surface.setPrompt(`[${workerPath(workers, conversationWorker)}]`);
594
+ reprompt();
595
+ };
570
596
  const buildStatus = () => {
571
597
  if (authoritativeStatus !== null) {
572
598
  return renderStatusLine(authoritativeStatus, statusContext(), { idleGlyph: opts.yolo ? "🔥" : "" });
@@ -579,10 +605,9 @@ export const runTui = async (transport, workspace, opts) => {
579
605
  && branchTotal > 0
580
606
  ? Math.floor((branchCompleted / branchTotal) * 100)
581
607
  : null;
582
- const activity = embedding ? { label: "indexing", percent: embeddingPercent }
583
- : searchFetching ? { label: "search", percent: searchPercent }
584
- : branchPercent !== null ? { label: "branches", percent: branchPercent }
585
- : null;
608
+ const activity = searchFetching ? { label: "search", percent: searchPercent }
609
+ : branchPercent !== null ? { label: "branches", percent: branchPercent }
610
+ : null;
586
611
  const model = workerModel === null
587
612
  ? opts.modelSelector ?? activeAlias ?? null
588
613
  : resolvedModelLabel(workerModel);
@@ -591,9 +616,12 @@ export const runTui = async (transport, workspace, opts) => {
591
616
  model,
592
617
  packetCount: null,
593
618
  activity,
619
+ children: null,
594
620
  }, statusContext(), { idleGlyph: opts.yolo ? "🔥" : "" });
595
621
  };
596
622
  const reprompt = () => surface.setStatus(buildStatus());
623
+ surface.setPrompt(`[${workerPath([], conversationWorker)}]`);
624
+ void refreshTopology().catch((cause) => { printAbove(renderTuiFailure(cause)); });
597
625
  const repromptPreserving = reprompt;
598
626
  surface.setAutocompleteProvider(makeAutocompleteProvider({
599
627
  getAliases: () => aliasCache,
@@ -601,7 +629,7 @@ export const runTui = async (transport, workspace, opts) => {
601
629
  // {§cli-workers-topology} — the directory plus the worker:// references
602
630
  // the waterfall has shown (the same harvest the LOOK cycler keeps).
603
631
  getWorkerNames: async () => {
604
- const { workers } = await transport.rpc("workspace.workers", { id: current.id });
632
+ const { workers } = await transport.rpc("workspace.workers");
605
633
  const seen = priorTargets.map(workerNameFromTarget).filter((name) => name !== null);
606
634
  return [...new Set([...workers.map((worker) => worker.name), ...seen])];
607
635
  },
@@ -620,9 +648,9 @@ export const runTui = async (transport, workspace, opts) => {
620
648
  return selectors;
621
649
  },
622
650
  getFunctionalityAliases: async (family) => {
623
- const result = await transport.rpc(`worker.${family}.list`, {});
651
+ const result = await transport.rpc(`workspace.${family}.list`, {});
624
652
  if (!Array.isArray(result.definitions))
625
- throw new TypeError(`worker.${family}.list returned an invalid result.`);
653
+ throw new TypeError(`workspace.${family}.list returned an invalid result.`);
626
654
  return result.definitions
627
655
  .map((definition) => definition !== null && typeof definition === "object"
628
656
  ? definition.alias
@@ -640,6 +668,9 @@ export const runTui = async (transport, workspace, opts) => {
640
668
  if (liveReasoning === null || liveReasoning.messageId !== update.messageId) {
641
669
  throw new TypeError(`Reasoning ${update.phase} did not match the active message.`);
642
670
  }
671
+ // Reasoning lives in the scroll while it streams and leaves with the turn: the log keeps
672
+ // it at reasoning:///L/T, the transcript never does (a fat reasoning habit stays a third
673
+ // of the screen, not the whole session).
643
674
  const rendered = renderReasoning(update.content);
644
675
  liveReasoning.rendered = rendered;
645
676
  if (update.phase === "content") {
@@ -647,19 +678,17 @@ export const runTui = async (transport, workspace, opts) => {
647
678
  return;
648
679
  }
649
680
  surface.setLive(null);
650
- if (rendered.length > 0)
651
- printAbove(rendered);
652
681
  liveReasoning = null;
653
682
  };
654
683
  const setLine = (text) => surface.setInput(text);
655
684
  // Alt-p/Alt-n: walk the REAL target URIs of prior operations and template a
656
- // `### LOOK0 (<that uri>)` line into the buffer — an editable starting point
685
+ // a complete LOOK fence into the buffer — an editable starting point
657
686
  // (hand-edit before Enter). Nothing to cycle → leave the line be.
658
687
  const cycleLook = (dir) => {
659
688
  lookCursor = cycleCoord(priorTargets.length, lookCursor, dir);
660
689
  if (lookCursor === null)
661
690
  return;
662
- setLine(`### LOOK0 (${priorTargets[lookCursor]})`);
691
+ setLine("```LOOK (" + priorTargets[lookCursor] + ")```");
663
692
  };
664
693
  // LOOK is a pure query: AG-UI validates and rewrites the original statement, then
665
694
  // resolves READ without writing a log entry. Run it on the conversation connection
@@ -716,7 +745,7 @@ export const runTui = async (transport, workspace, opts) => {
716
745
  }
717
746
  return undefined;
718
747
  });
719
- void seedPromptHistory({ call: (m, p) => transport.rpc(m, p) }, current.id, surface);
748
+ void seedPromptHistory({ call: (m, p) => transport.rpc(m, p) }, surface);
720
749
  // Proposal lifecycle stays non-blocking. The editor remains available for
721
750
  // a/e/r/c or the equivalent typed verbs; only $EDITOR takes terminal custody.
722
751
  const proposalQueue = [];
@@ -774,17 +803,6 @@ export const runTui = async (transport, workspace, opts) => {
774
803
  // engine:turn liveness is owned by the run state, not a waterfall line.
775
804
  if (notice.source === "engine:turn")
776
805
  return;
777
- // Derivation progress is ephemeral status, never an append-only waterfall.
778
- const derivation = derivationActivity(notice);
779
- if (derivation !== undefined) {
780
- embedding = derivation !== null && derivation.label !== "indexing failed";
781
- embeddingPercent = embedding && derivation !== null ? derivation.percent : null;
782
- if (derivation?.label === "indexing failed")
783
- printAbove(renderDiagnostic(notice));
784
- else
785
- repromptPreserving();
786
- return;
787
- }
788
806
  // Search acquisition is the same compact lifecycle shape: update the
789
807
  // prompt percentage, never append one notice line per tick.
790
808
  if (notice.kind === "search_progress" && notice.source.startsWith("exec:")) {
@@ -871,51 +889,18 @@ export const runTui = async (transport, workspace, opts) => {
871
889
  showNextProposal();
872
890
  },
873
891
  onInteraction: (i) => {
874
- // The question tool paused its loop: render the standard message + the
875
- // schema's single-property enum choices; the line handler resolves the
876
- // typed answer back into the paused run.
877
- pendingQuestion = { interactionId: i.interactionId, schema: i.responseSchema };
878
- printAbove(renderQuestionMenu(i.message, questionChoices(i.responseSchema)));
892
+ const form = new QuestionForm(i.responseSchema);
893
+ pendingQuestion = { interactionId: i.interactionId, form };
894
+ printAbove(renderQuestionMenu(`${i.message}\n${form.prompt}`, form.choices));
879
895
  reprompt();
880
896
  },
881
897
  // The summary is rendered from the run's own done below.
882
898
  onTerminated: () => { },
883
899
  });
884
- // Startup warming begins while AG-UI is still establishing the workspace, before a
885
- // request-scoped SSE exists. Poll the engine's latest structured state until terminal;
886
- // later updates arrive as Notices on the run stream.
887
- let lastDerivationState = "";
888
- let derivationPoll = null;
889
- const pollDerivation = async () => {
890
- try {
891
- const { status } = await transport.rpc("workspace.derivation");
892
- if (status === null) {
893
- if (derivationPoll !== null)
894
- clearInterval(derivationPoll);
895
- derivationPoll = null;
896
- return;
897
- }
898
- const signature = JSON.stringify(status);
899
- if (signature !== lastDerivationState) {
900
- lastDerivationState = signature;
901
- handleNotice({ ...status, source: "engine:derivation", kind: "embed_progress" });
902
- }
903
- if (status.phase === "complete" || status.phase === "failed") {
904
- if (derivationPoll !== null)
905
- clearInterval(derivationPoll);
906
- derivationPoll = null;
907
- }
908
- }
909
- catch {
910
- // A real connection failure is surfaced by the transport's normal close path.
911
- }
912
- };
913
- derivationPoll = setInterval(() => { void pollDerivation(); }, 1_000);
914
900
  // The running loop's elapsed time ticks in the status row.
915
901
  const statusTick = setInterval(() => { if (inFlight)
916
902
  reprompt(); }, 1_000);
917
903
  statusTick.unref();
918
- void pollDerivation();
919
904
  // Verbs + read-only subcommands call rpc.call(...) only; route that through the
920
905
  // live transport (WS, or the bridge's management plane over /plurnk/rpc). A
921
906
  // .call-only adapter — no verb/subcommand here subscribes, so the other Rpc
@@ -939,6 +924,7 @@ export const runTui = async (transport, workspace, opts) => {
939
924
  transport.useWorker(name, current.name);
940
925
  conversationWorker = name;
941
926
  conversationWorkerId = null;
927
+ void refreshTopology().catch((cause) => { printAbove(renderTuiFailure(cause)); });
942
928
  },
943
929
  write: (text) => { printAbove(text); },
944
930
  importFile: async (rest) => {
@@ -1001,8 +987,6 @@ export const runTui = async (transport, workspace, opts) => {
1001
987
  return;
1002
988
  closed = true;
1003
989
  shuttingDown = true;
1004
- if (derivationPoll !== null)
1005
- clearInterval(derivationPoll);
1006
990
  transport.shutdown();
1007
991
  removeInputListener();
1008
992
  surface.stop();
@@ -1013,21 +997,26 @@ export const runTui = async (transport, workspace, opts) => {
1013
997
  const submit = async (line) => {
1014
998
  if (line.trim().length > 0)
1015
999
  printAbove(renderSubmittedInput(line, opts.yolo));
1016
- // A pending request-user-input question consumes the typed line as its
1017
- // answer, BEFORE any verb/prompt/inject handling: a number picks an
1018
- // enum choice, anything else is free response (or raw JSON for a
1019
- // multi-property schema). Empty re-ask. Resolves the paused run with
1020
- // the standard ElicitResult payload.
1021
- if (pendingQuestion !== null) {
1022
- const content = answerForQuestion(line, pendingQuestion.schema);
1023
- if (content === null) {
1000
+ // Named fields consume input before prompt injection. No answer is
1001
+ // sent until the form is complete; invalid input stays visible here.
1002
+ if (pendingQuestion !== null && !/^\/(?:stop|quit|help)(?:\s|$)/.test(line.trim())) {
1003
+ const { interactionId, form } = pendingQuestion;
1004
+ if (line.trim() === "/cancel") {
1005
+ await transport.resolveInteraction(interactionId, "cancel");
1006
+ pendingQuestion = null;
1024
1007
  reprompt();
1025
1008
  return;
1026
1009
  }
1027
- const { interactionId } = pendingQuestion;
1010
+ const answer = form.submit(line);
1011
+ if (answer.kind !== "complete") {
1012
+ if (answer.kind === "invalid")
1013
+ printAbove(answer.message);
1014
+ printAbove(renderQuestionMenu(form.prompt, form.choices));
1015
+ reprompt();
1016
+ return;
1017
+ }
1018
+ await transport.resolveInteraction(interactionId, answer.content);
1028
1019
  pendingQuestion = null;
1029
- await transport.resolveInteraction(interactionId, { action: "accept", content })
1030
- .catch((e) => printAbove(` \x1b[31manswer failed: ${e instanceof Error ? e.message : String(e)}\x1b[0m`));
1031
1020
  reprompt();
1032
1021
  return;
1033
1022
  }
@@ -1109,9 +1098,7 @@ export const runTui = async (transport, workspace, opts) => {
1109
1098
  terminalResult = await transport.rpc("op.exec", { command });
1110
1099
  }
1111
1100
  else {
1112
- // Prompt prefixes are client policy projections. `?` narrows
1113
- // the ordinary loop by denying EXEC and retaining review;
1114
- // `:` is the unmodified base policy.
1101
+ // `?` selects proposal review; `:` uses the base policy.
1115
1102
  const { policy, prompt: promptText } = linePolicy(trimmed, opts.loopPolicy);
1116
1103
  // {§worker-model-selection} — no model selector rides the loop: the
1117
1104
  // worker owns the model; /model and /child persisted it server-side.
@@ -1136,6 +1123,8 @@ export const runTui = async (transport, workspace, opts) => {
1136
1123
  if (hit === undefined)
1137
1124
  throw new Error(`worker ${conversationWorkerId} concluded a loop but workspace.workers does not list it`);
1138
1125
  conversationWorker = hit.name;
1126
+ workerPosition = siblingPosition(workers, conversationWorker);
1127
+ surface.setPrompt(`[${workerPath(workers, conversationWorker)}]`);
1139
1128
  }
1140
1129
  }
1141
1130
  lifecycle = terminalResult.status === 202 ? "parked"
@@ -1161,7 +1150,10 @@ export const runTui = async (transport, workspace, opts) => {
1161
1150
  surface.editor.onSubmit = (line) => {
1162
1151
  if (line.trim().length > 0)
1163
1152
  surface.editor.addToHistory(line);
1164
- void submit(line);
1153
+ void submit(line).catch((cause) => {
1154
+ printAbove(renderTuiFailure(cause));
1155
+ reprompt();
1156
+ });
1165
1157
  };
1166
1158
  reprompt();
1167
1159
  surface.start();
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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"}