@plurnk/plurnk 0.12.0 → 0.23.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.
- package/README.md +28 -29
- package/dist/cli.d.ts +2 -8
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +22 -31
- package/dist/cli.js.map +1 -1
- package/dist/completion.d.ts +5 -0
- package/dist/completion.d.ts.map +1 -0
- package/dist/completion.js +63 -0
- package/dist/completion.js.map +1 -0
- package/dist/dispatcher.d.ts +37 -1
- package/dist/dispatcher.d.ts.map +1 -1
- package/dist/dispatcher.js +141 -39
- package/dist/dispatcher.js.map +1 -1
- package/dist/paste.d.ts +7 -0
- package/dist/paste.d.ts.map +1 -0
- package/dist/paste.js +98 -0
- package/dist/paste.js.map +1 -0
- package/dist/render.d.ts +8 -7
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +26 -23
- package/dist/render.js.map +1 -1
- package/dist/rpc.d.ts +5 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +16 -2
- package/dist/rpc.js.map +1 -1
- package/dist/stream.d.ts +8 -2
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +8 -2
- package/dist/stream.js.map +1 -1
- package/dist/subcommands.d.ts.map +1 -1
- package/dist/subcommands.js +5 -2
- package/dist/subcommands.js.map +1 -1
- package/dist/telemetry.d.ts +1 -2
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +12 -13
- package/dist/telemetry.js.map +1 -1
- package/dist/tui.d.ts +18 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +229 -104
- package/dist/tui.js.map +1 -1
- package/package.json +4 -1
package/dist/tui.js
CHANGED
|
@@ -5,15 +5,19 @@
|
|
|
5
5
|
// /verb [args] command verbs (see VERBS); never call loop.run
|
|
6
6
|
// << raw DSL op.parse
|
|
7
7
|
// ! cmd op.exec via the daemon
|
|
8
|
+
// ... msg loop.inject — speak into the running model loop
|
|
8
9
|
// ? text ask — loop.run with flags.mode="ask"
|
|
9
10
|
// : text act (the default)
|
|
10
11
|
// text prompt
|
|
11
12
|
// The readline prompt is `: ` — it rhymes with nvim's cmdline; when an
|
|
12
13
|
// ask-default toggle exists (nvim first), the prompt char flips to `? `.
|
|
13
14
|
import readline from "node:readline";
|
|
15
|
+
import { PassThrough } from "node:stream";
|
|
14
16
|
import { readFile } from "node:fs/promises";
|
|
15
17
|
import { isAbsolute, resolve } from "node:path";
|
|
16
|
-
import
|
|
18
|
+
import PasteFilter from "./paste.js";
|
|
19
|
+
import { pathPartial, completePath, dslOpPartial, completeOps } from "./completion.js";
|
|
20
|
+
import { renderLogEntry, renderSummary, isPromptEntry, coordLabel } from "./render.js";
|
|
17
21
|
import { reviewProposal, isServerResolved } from "./proposal.js";
|
|
18
22
|
import { renderTelemetryEvent, report, clientSubcommandUnknownVerb } from "./telemetry.js";
|
|
19
23
|
import StreamTrace, { inlineable, renderInline } from "./stream.js";
|
|
@@ -22,17 +26,24 @@ import { runModels, runSessionList, runSessionRuns, runLogRead } from "./subcomm
|
|
|
22
26
|
// the argv subcommands. Convergence is policy: divergence needs a reason.
|
|
23
27
|
export const VERBS = [
|
|
24
28
|
"help", "models", "sessions", "runs", "log", "model",
|
|
25
|
-
"
|
|
29
|
+
"yolo", "new", "stop", "quit",
|
|
30
|
+
"pick", "hide", "view", "repo", "drop", "members", "import",
|
|
26
31
|
];
|
|
27
32
|
export const TUI_HELP = [
|
|
28
33
|
" /models /sessions /runs /log [n] inspect (same tables as the CLI)",
|
|
29
34
|
" /model <alias> model for subsequent loops",
|
|
30
|
-
" /persona <path> persona file for subsequent loops",
|
|
31
35
|
" /yolo toggle local auto-accept",
|
|
32
36
|
" /new [name] new session (reconnects)",
|
|
37
|
+
" /pick <glob> membership: admit files git misses",
|
|
38
|
+
" /hide <glob> membership: drop a tracked match",
|
|
39
|
+
" /view <glob> membership: admit read-only",
|
|
40
|
+
" /repo <glob> membership: declare a git repo folder",
|
|
41
|
+
" /drop <glob> membership: remove a constraint",
|
|
42
|
+
" /members list membership constraints",
|
|
43
|
+
" /import <path> dump a local file's content into the prompt",
|
|
33
44
|
" /stop cancel the running loop",
|
|
34
45
|
" /quit exit",
|
|
35
|
-
" << raw DSL ! cmd (exec) ?
|
|
46
|
+
" << raw DSL ! cmd (exec) ... inject ? ask : act",
|
|
36
47
|
].join("\n") + "\n";
|
|
37
48
|
export const parseSlash = (line) => {
|
|
38
49
|
const m = line.match(/^\/(\S*)\s*(.*)$/);
|
|
@@ -40,31 +51,159 @@ export const parseSlash = (line) => {
|
|
|
40
51
|
};
|
|
41
52
|
// readline completer — verbs after `/`, model aliases after `/model `.
|
|
42
53
|
// Plain readline machinery only; no screen takeover, no terminal hell.
|
|
43
|
-
|
|
54
|
+
// readline's async completer form (arity 2 → async). Verb/alias completion
|
|
55
|
+
// answers synchronously; path positions read the local fs (co-location law)
|
|
56
|
+
// and answer once readdir resolves.
|
|
57
|
+
export const makeCompleter = (getAliases, cwd) => (line, callback) => {
|
|
44
58
|
const verbFrag = line.match(/^\/(\w*)$/);
|
|
45
59
|
if (verbFrag) {
|
|
46
|
-
|
|
47
|
-
return
|
|
60
|
+
callback(null, [VERBS.map((v) => `/${v}`).filter((v) => v.startsWith(line)), line]);
|
|
61
|
+
return;
|
|
48
62
|
}
|
|
49
63
|
const aliasFrag = line.match(/^\/model\s+(\S*)$/);
|
|
50
64
|
if (aliasFrag) {
|
|
51
|
-
|
|
52
|
-
return
|
|
65
|
+
callback(null, [getAliases().filter((a) => a.startsWith(aliasFrag[1])), aliasFrag[1]]);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const op = dslOpPartial(line);
|
|
69
|
+
if (op !== null) {
|
|
70
|
+
callback(null, completeOps(op));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const partial = pathPartial(line);
|
|
74
|
+
if (partial !== null) {
|
|
75
|
+
void completePath(partial, cwd).then((result) => callback(null, result));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
callback(null, [[], line]);
|
|
79
|
+
};
|
|
80
|
+
// Seed readline history from the session's prior prompts (svc#238) so up/down
|
|
81
|
+
// recalls them across restarts. One clean RPC — newest-first, exactly what
|
|
82
|
+
// rl.history wants. Best-effort: a fresh session has none, failures are silent.
|
|
83
|
+
export const seedPromptHistory = async (rpc, sessionId, rl) => {
|
|
84
|
+
try {
|
|
85
|
+
const { prompts } = await rpc.call("session.prompts", { id: sessionId, limit: 100 });
|
|
86
|
+
if (Array.isArray(prompts) && prompts.length > 0)
|
|
87
|
+
rl.history = prompts;
|
|
88
|
+
}
|
|
89
|
+
catch { /* history is a convenience; never block the REPL */ }
|
|
90
|
+
};
|
|
91
|
+
export const handleVerb = async (line, ctx) => {
|
|
92
|
+
const { verb, rest } = parseSlash(line);
|
|
93
|
+
const { rpc, opts, write } = ctx;
|
|
94
|
+
switch (verb) {
|
|
95
|
+
case "":
|
|
96
|
+
case "help":
|
|
97
|
+
write(TUI_HELP);
|
|
98
|
+
return;
|
|
99
|
+
case "models":
|
|
100
|
+
await runModels(rpc, { json: false });
|
|
101
|
+
return;
|
|
102
|
+
case "sessions":
|
|
103
|
+
await runSessionList(rpc, { json: false });
|
|
104
|
+
return;
|
|
105
|
+
case "runs":
|
|
106
|
+
await runSessionRuns(rpc, ctx.getSession().name, { json: false });
|
|
107
|
+
return;
|
|
108
|
+
case "log": {
|
|
109
|
+
const limit = rest.length > 0 ? Number(rest) : undefined;
|
|
110
|
+
const filters = Number.isInteger(limit) && limit > 0 ? { limit: limit } : {};
|
|
111
|
+
await runLogRead(rpc, { json: false, filters });
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
case "model":
|
|
115
|
+
if (rest.length === 0) {
|
|
116
|
+
write(` model: ${opts.modelAlias ?? "(daemon default)"}\n`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
opts.modelAlias = rest;
|
|
120
|
+
write(` model: ${rest}\n`);
|
|
121
|
+
return;
|
|
122
|
+
case "yolo":
|
|
123
|
+
opts.yolo = !opts.yolo;
|
|
124
|
+
write(` yolo: ${opts.yolo ? "ON" : "OFF"}\n`);
|
|
125
|
+
return;
|
|
126
|
+
case "new": {
|
|
127
|
+
// Rebind in place (service §13.5-rebind) — no reconnect.
|
|
128
|
+
const params = {};
|
|
129
|
+
if (rest.length > 0)
|
|
130
|
+
params.name = rest;
|
|
131
|
+
if (opts.projectRoot !== undefined)
|
|
132
|
+
params.projectRoot = opts.projectRoot;
|
|
133
|
+
ctx.setSession(await rpc.call("session.create", params));
|
|
134
|
+
write(` session: ${ctx.getSession().name}\n`);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
case "pick":
|
|
138
|
+
case "hide":
|
|
139
|
+
case "view":
|
|
140
|
+
case "repo": {
|
|
141
|
+
// Membership overlay (svc#200/#242) — service vocabulary, live via
|
|
142
|
+
// session.constrain (session-scoped, re-resolved immediately).
|
|
143
|
+
if (rest.length === 0) {
|
|
144
|
+
write(` usage: /${verb} <glob>\n`);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
await rpc.call("session.constrain", { effect: verb, glob: rest });
|
|
148
|
+
write(` ${verb}: ${rest}\n`);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
case "drop": {
|
|
152
|
+
if (rest.length === 0) {
|
|
153
|
+
write(" usage: /drop <glob>\n");
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const { constraints } = await rpc.call("session.constraints");
|
|
157
|
+
const matches = constraints.filter((c) => c.glob === rest);
|
|
158
|
+
if (matches.length === 0) {
|
|
159
|
+
write(` no constraint matching ${JSON.stringify(rest)}\n`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
for (const c of matches)
|
|
163
|
+
await rpc.call("session.unconstrain", c);
|
|
164
|
+
write(` dropped ${matches.length} constraint${matches.length === 1 ? "" : "s"} (${rest})\n`);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
case "members": {
|
|
168
|
+
const { constraints } = await rpc.call("session.constraints");
|
|
169
|
+
if (constraints.length === 0) {
|
|
170
|
+
write(" (no membership constraints)\n");
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
for (const c of constraints)
|
|
174
|
+
write(` ${c.effect.padEnd(5)} ${c.glob}\n`);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
case "import":
|
|
178
|
+
// Dump a LOCAL file's content into the prompt (co-location law),
|
|
179
|
+
// via the paste machinery. The rl/paste glue lives in ctx.importFile.
|
|
180
|
+
if (rest.length === 0) {
|
|
181
|
+
write(" usage: /import <path>\n");
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
await ctx.importFile(rest);
|
|
185
|
+
return;
|
|
186
|
+
case "stop":
|
|
187
|
+
await rpc.call("loop.cancel", { reason: "user_stop" });
|
|
188
|
+
return;
|
|
189
|
+
case "quit":
|
|
190
|
+
return "quit";
|
|
191
|
+
default:
|
|
192
|
+
report(clientSubcommandUnknownVerb(`/${verb}`, [...VERBS]));
|
|
193
|
+
return;
|
|
53
194
|
}
|
|
54
|
-
return [[], line];
|
|
55
195
|
};
|
|
56
196
|
export const runTui = async (rpc, session, opts) => {
|
|
57
197
|
let current = session;
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
let dispatchTokens = 0;
|
|
198
|
+
// Highest loop_seq the waterfall has shown — the next prompt is one beyond.
|
|
199
|
+
let lastLoopSeq = 0;
|
|
61
200
|
// Subscribe to log/entry notifications — render each as a waterfall line.
|
|
62
201
|
// `\r\x1b[2K` wipes any readline-redrawn prompt sitting on the current line
|
|
63
202
|
// before our output, otherwise the first trace line lands beside the prompt.
|
|
64
203
|
rpc.onNotification("log/entry", (params) => {
|
|
65
204
|
const p = params;
|
|
66
|
-
if (
|
|
67
|
-
|
|
205
|
+
if (p.entry.loop_seq > lastLoopSeq)
|
|
206
|
+
lastLoopSeq = p.entry.loop_seq;
|
|
68
207
|
// The typed line at the prompt is the user's record — rendering the
|
|
69
208
|
// prompt broadcast too would duplicate it (see isPromptEntry).
|
|
70
209
|
if (isPromptEntry(p.entry))
|
|
@@ -98,7 +237,10 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
98
237
|
}
|
|
99
238
|
}).catch(() => { });
|
|
100
239
|
});
|
|
101
|
-
|
|
240
|
+
// One header line: version · session · help. The version notice already
|
|
241
|
+
// reads "plurnk client vX, plurnk-service vY …"; without it, just "plurnk".
|
|
242
|
+
const header = opts.versionNotice ?? "plurnk";
|
|
243
|
+
process.stdout.write(`\x1b[2m${header} · session: ${current.name} · /help\x1b[0m\n\n`);
|
|
102
244
|
// Alias cache for /model completion — one cheap RPC, refreshed never
|
|
103
245
|
// (aliases are daemon-boot-time config).
|
|
104
246
|
let aliasCache = [];
|
|
@@ -120,12 +262,37 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
120
262
|
// 💬 (U+1F4AC, stable-wide) fills the op slot the toxic ✉️ vacated.
|
|
121
263
|
// Policy: VS16/ambiguous glyphs are banned from the ENTIRE palette
|
|
122
264
|
// (render.ts) — stable widths are also what make columns align.
|
|
265
|
+
// The prompt is the user's row, coordinate-prefixed like every other
|
|
266
|
+
// waterfall line (§5.1). The coordinate is the one the typed line will
|
|
267
|
+
// get: the prompt becomes the next loop's foist EDIT at <next>/01/01.
|
|
268
|
+
// lastLoopSeq tracks the highest loop the waterfall has shown; the next
|
|
269
|
+
// prompt is one beyond it. Plain-ASCII coordinate — width-safe.
|
|
270
|
+
const buildPrompt = () => ` ${coordLabel(lastLoopSeq + 1, 1, 1)}👤 💬 ✅ \x1b[32m201\x1b[0m \x1b[1m: \x1b[0m`;
|
|
271
|
+
// Bracketed-paste buffering (paste.ts): a multi-line paste must become ONE
|
|
272
|
+
// prompt, not one loop.run per line. readline reads a PassThrough we feed
|
|
273
|
+
// filtered stdin into; since the input is no longer the TTY directly, raw
|
|
274
|
+
// mode and ?2004 are ours to manage (terminal:true keeps readline's
|
|
275
|
+
// keypress decoding). Stream plumbing only — no cursor/width math.
|
|
276
|
+
const paste = new PasteFilter();
|
|
277
|
+
const input = new PassThrough();
|
|
278
|
+
const onStdin = (chunk) => {
|
|
279
|
+
const forward = paste.feed(chunk.toString("utf8"));
|
|
280
|
+
if (forward.length > 0)
|
|
281
|
+
input.write(forward);
|
|
282
|
+
};
|
|
283
|
+
process.stdin.setRawMode?.(true);
|
|
284
|
+
process.stdin.on("data", onStdin);
|
|
285
|
+
process.stdout.write("\x1b[?2004h");
|
|
123
286
|
const rl = readline.createInterface({
|
|
124
|
-
input
|
|
287
|
+
input,
|
|
125
288
|
output: process.stdout,
|
|
126
|
-
|
|
127
|
-
|
|
289
|
+
terminal: true,
|
|
290
|
+
prompt: buildPrompt(),
|
|
291
|
+
completer: makeCompleter(() => aliasCache, process.cwd()),
|
|
128
292
|
});
|
|
293
|
+
const reprompt = () => { rl.setPrompt(buildPrompt()); rl.prompt(); };
|
|
294
|
+
// Cross-restart up/down history from the daemon (svc#238) — non-blocking.
|
|
295
|
+
void seedPromptHistory(rpc, current.id, rl);
|
|
129
296
|
// Proposal lifecycle: server-resolved proposals (flags.yolo/noProposals)
|
|
130
297
|
// settle in-process — skip; --yolo auto-accepts locally; otherwise pause
|
|
131
298
|
// readline, review, resolve, resume.
|
|
@@ -149,89 +316,35 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
149
316
|
}
|
|
150
317
|
})();
|
|
151
318
|
});
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
case "sessions":
|
|
165
|
-
await runSessionList(rpc, { json: false });
|
|
166
|
-
return;
|
|
167
|
-
case "runs":
|
|
168
|
-
await runSessionRuns(rpc, current.name, { json: false });
|
|
169
|
-
return;
|
|
170
|
-
case "log": {
|
|
171
|
-
const limit = rest.length > 0 ? Number(rest) : undefined;
|
|
172
|
-
const filters = Number.isInteger(limit) && limit > 0 ? { limit: limit } : {};
|
|
173
|
-
await runLogRead(rpc, { json: false, filters });
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
case "model":
|
|
177
|
-
if (rest.length === 0) {
|
|
178
|
-
process.stdout.write(` model: ${opts.modelAlias ?? "(daemon default)"}\n`);
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
opts.modelAlias = rest;
|
|
182
|
-
process.stdout.write(` model: ${rest}\n`);
|
|
183
|
-
return;
|
|
184
|
-
case "persona": {
|
|
185
|
-
if (rest.length === 0) {
|
|
186
|
-
process.stdout.write(" usage: /persona <path>\n");
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
const abs = isAbsolute(rest) ? rest : resolve(process.cwd(), rest);
|
|
190
|
-
try {
|
|
191
|
-
opts.persona = await readFile(abs, "utf8");
|
|
192
|
-
process.stdout.write(` persona: ${abs}\n`);
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
process.stdout.write(` persona file not readable: ${abs}\n`);
|
|
196
|
-
}
|
|
197
|
-
return;
|
|
319
|
+
// Verb dispatch runs through the testable module-level handleVerb; this
|
|
320
|
+
// context injects the live session / opts / stdout / import glue.
|
|
321
|
+
const verbCtx = {
|
|
322
|
+
rpc, opts,
|
|
323
|
+
getSession: () => current,
|
|
324
|
+
setSession: (s) => { current = s; },
|
|
325
|
+
write: (text) => { process.stdout.write(text); },
|
|
326
|
+
importFile: async (rest) => {
|
|
327
|
+
const abs = isAbsolute(rest) ? rest : resolve(process.cwd(), rest);
|
|
328
|
+
let content;
|
|
329
|
+
try {
|
|
330
|
+
content = await readFile(abs, "utf8");
|
|
198
331
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
process.stdout.write(` yolo: ${opts.yolo ? "ON" : "OFF"}\n`);
|
|
202
|
-
return;
|
|
203
|
-
case "new": {
|
|
204
|
-
// One session per connection (service §13.5) — a new session
|
|
205
|
-
// means a fresh socket, same as plurnk.nvim's reconnect dance.
|
|
206
|
-
await rpc.close();
|
|
207
|
-
await rpc.connect();
|
|
208
|
-
const params = {};
|
|
209
|
-
if (rest.length > 0)
|
|
210
|
-
params.name = rest;
|
|
211
|
-
if (opts.projectRoot !== undefined)
|
|
212
|
-
params.projectRoot = opts.projectRoot;
|
|
213
|
-
current = await rpc.call("session.create", params);
|
|
214
|
-
process.stdout.write(` session: ${current.name}\n`);
|
|
332
|
+
catch (cause) {
|
|
333
|
+
process.stdout.write(` not readable: ${cause instanceof Error ? cause.message : String(cause)}\n`);
|
|
215
334
|
return;
|
|
216
335
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return;
|
|
220
|
-
case "quit":
|
|
221
|
-
return "quit";
|
|
222
|
-
default:
|
|
223
|
-
report(clientSubcommandUnknownVerb(`/${verb}`, [...VERBS]));
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
336
|
+
rl.write(paste.stash(content));
|
|
337
|
+
},
|
|
226
338
|
};
|
|
227
|
-
|
|
339
|
+
reprompt();
|
|
228
340
|
return new Promise((resolve) => {
|
|
229
341
|
let inFlight = false;
|
|
230
342
|
let cancelRequested = false;
|
|
231
343
|
rl.on("line", async (line) => {
|
|
232
|
-
|
|
344
|
+
// Expand any paste markers back to the raw multi-line text.
|
|
345
|
+
const trimmed = paste.expand(line).trim();
|
|
233
346
|
if (trimmed.length === 0) {
|
|
234
|
-
|
|
347
|
+
reprompt();
|
|
235
348
|
return;
|
|
236
349
|
}
|
|
237
350
|
// Verbs: /stop and /help stay reachable while a loop is in
|
|
@@ -240,11 +353,11 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
240
353
|
const { verb } = parseSlash(trimmed);
|
|
241
354
|
if (inFlight && verb !== "stop" && verb !== "help" && verb !== "") {
|
|
242
355
|
process.stdout.write(" \x1b[2m(busy; /stop to cancel, /help for the language)\x1b[0m\n");
|
|
243
|
-
|
|
356
|
+
reprompt();
|
|
244
357
|
return;
|
|
245
358
|
}
|
|
246
359
|
try {
|
|
247
|
-
if (await handleVerb(trimmed) === "quit") {
|
|
360
|
+
if (await handleVerb(trimmed, verbCtx) === "quit") {
|
|
248
361
|
rl.close();
|
|
249
362
|
return;
|
|
250
363
|
}
|
|
@@ -253,17 +366,28 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
253
366
|
const msg = cause instanceof Error ? cause.message : String(cause);
|
|
254
367
|
process.stdout.write(` \x1b[31merror: ${msg}\x1b[0m\n`);
|
|
255
368
|
}
|
|
256
|
-
|
|
369
|
+
reprompt();
|
|
257
370
|
return;
|
|
258
371
|
}
|
|
259
372
|
if (inFlight) {
|
|
260
|
-
|
|
261
|
-
|
|
373
|
+
// A model loop is running. A prompt typed now is the "btw"
|
|
374
|
+
// steering case (loop.inject, #193), NOT a conflict — inject it
|
|
375
|
+
// into the live loop. (Raw DSL / exec are separate client-run
|
|
376
|
+
// ops; keep them out of a running conversation for now.)
|
|
377
|
+
if (trimmed.startsWith("<<") || trimmed.startsWith("!")) {
|
|
378
|
+
process.stdout.write(" \x1b[2m(loop running — /stop before a client op)\x1b[0m\n");
|
|
379
|
+
reprompt();
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const inject = trimmed.replace(/^(\.\.\.|[?:])\s*/, "");
|
|
383
|
+
void rpc.call("loop.inject", { prompt: inject })
|
|
384
|
+
.then(() => process.stdout.write(" \x1b[2m↳ injected\x1b[0m\n"))
|
|
385
|
+
.catch((cause) => process.stdout.write(` \x1b[31minject failed: ${cause instanceof Error ? cause.message : String(cause)}\x1b[0m\n`));
|
|
386
|
+
reprompt();
|
|
262
387
|
return;
|
|
263
388
|
}
|
|
264
389
|
inFlight = true;
|
|
265
390
|
const start = Date.now();
|
|
266
|
-
dispatchTokens = 0;
|
|
267
391
|
let turnCount = 0;
|
|
268
392
|
let finalStatus = 0;
|
|
269
393
|
let hitMaxTurns = false;
|
|
@@ -289,12 +413,10 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
289
413
|
if (prefix === "?" || prefix === ":") {
|
|
290
414
|
lineFlags = { ...(opts.loopFlags ?? {}), mode: prefix === "?" ? "ask" : "act" };
|
|
291
415
|
}
|
|
292
|
-
const promptText = trimmed.replace(/^[?:]
|
|
416
|
+
const promptText = trimmed.replace(/^(\.\.\.|[?:]+)\s*/, "");
|
|
293
417
|
const loopParams = { prompt: promptText };
|
|
294
418
|
if (opts.modelAlias !== undefined)
|
|
295
419
|
loopParams.alias = opts.modelAlias;
|
|
296
|
-
if (opts.persona !== undefined)
|
|
297
|
-
loopParams.persona = opts.persona;
|
|
298
420
|
if (lineFlags !== undefined && Object.keys(lineFlags).length > 0)
|
|
299
421
|
loopParams.flags = lineFlags;
|
|
300
422
|
if (opts.maxTurns !== undefined)
|
|
@@ -306,7 +428,7 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
306
428
|
usage = result.usage;
|
|
307
429
|
}
|
|
308
430
|
const wallMs = Date.now() - start;
|
|
309
|
-
process.stdout.write(`${renderSummary(turnCount, wallMs,
|
|
431
|
+
process.stdout.write(`${renderSummary(turnCount, wallMs, finalStatus, hitMaxTurns, usage)}\n`);
|
|
310
432
|
}
|
|
311
433
|
catch (cause) {
|
|
312
434
|
const msg = cause instanceof Error ? cause.message : String(cause);
|
|
@@ -315,10 +437,13 @@ export const runTui = async (rpc, session, opts) => {
|
|
|
315
437
|
finally {
|
|
316
438
|
inFlight = false;
|
|
317
439
|
cancelRequested = false;
|
|
318
|
-
|
|
440
|
+
reprompt();
|
|
319
441
|
}
|
|
320
442
|
});
|
|
321
443
|
rl.on("close", () => {
|
|
444
|
+
process.stdout.write("\x1b[?2004l");
|
|
445
|
+
process.stdin.off("data", onStdin);
|
|
446
|
+
process.stdin.setRawMode?.(false);
|
|
322
447
|
process.stdout.write("\n");
|
|
323
448
|
resolve();
|
|
324
449
|
});
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Plurnk client app — CLI/TUI consuming plurnk-service. Type prompts at a terminal, drive real model loops through the protocol.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,5 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"ws": "^8.20.1"
|
|
38
|
+
},
|
|
39
|
+
"optionalDependencies": {
|
|
40
|
+
"@plurnk/plurnk-service": "*"
|
|
38
41
|
}
|
|
39
42
|
}
|