@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.
- package/README.md +4 -2
- package/completions/_plurnk +13 -0
- package/completions/plurnk.bash +14 -0
- package/completions/plurnk.fish +37 -0
- package/conformance/agui-client.json +863 -0
- package/dist/agents.d.ts +11 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +170 -0
- package/dist/agents.js.map +1 -0
- package/dist/agui.d.ts.map +1 -1
- package/dist/agui.js +39 -4
- package/dist/agui.js.map +1 -1
- package/dist/agui_cli.d.ts.map +1 -1
- package/dist/agui_cli.js +15 -3
- package/dist/agui_cli.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -6
- package/dist/cli.js.map +1 -1
- package/dist/color.d.ts +2 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +5 -0
- package/dist/color.js.map +1 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +2 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/dispatcher.d.ts +1 -0
- package/dist/dispatcher.d.ts.map +1 -1
- package/dist/dispatcher.js +1 -1
- package/dist/dispatcher.js.map +1 -1
- package/dist/markdown.d.ts +17 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +234 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mcp.d.ts +7 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +107 -39
- package/dist/mcp.js.map +1 -1
- package/dist/paste.d.ts +1 -0
- package/dist/paste.d.ts.map +1 -1
- package/dist/paste.js +5 -0
- package/dist/paste.js.map +1 -1
- package/dist/plan.d.ts +12 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +30 -0
- package/dist/plan.js.map +1 -0
- package/dist/proposal.d.ts +1 -0
- package/dist/proposal.d.ts.map +1 -1
- package/dist/proposal.js +9 -9
- package/dist/proposal.js.map +1 -1
- package/dist/reasoning-events.d.ts +12 -3
- package/dist/reasoning-events.d.ts.map +1 -1
- package/dist/reasoning-events.js +11 -9
- package/dist/reasoning-events.js.map +1 -1
- package/dist/render.d.ts +2 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +61 -47
- package/dist/render.js.map +1 -1
- package/dist/skills.d.ts +5 -5
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +93 -79
- package/dist/skills.js.map +1 -1
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +11 -11
- package/dist/stream.js.map +1 -1
- package/dist/subcommands.d.ts.map +1 -1
- package/dist/subcommands.js +2 -1
- package/dist/subcommands.js.map +1 -1
- package/dist/transport.d.ts +4 -2
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +25 -15
- package/dist/transport.js.map +1 -1
- package/dist/tui.d.ts +3 -2
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +164 -37
- package/dist/tui.js.map +1 -1
- package/man/plurnk.1 +153 -0
- package/package.json +11 -6
package/dist/render.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// Glyph palette + line formatting for the TUI log waterfall.
|
|
2
2
|
// Glyphs per TUI.md §4 (canonical for the constellation).
|
|
3
|
+
import { colorEnabled } from "./color.js";
|
|
3
4
|
import { stripVTControlCharacters } from "node:util";
|
|
5
|
+
import { looksLikeMarkdown, renderMarkdownDocument } from "./markdown.js";
|
|
6
|
+
import { presentPlan } from "./plan.js";
|
|
4
7
|
// Width-stable glyph palette — EVERY glyph is plain East-Asian-Wide
|
|
5
8
|
// (width 2 in node and every major terminal); VS16 variation-selector
|
|
6
9
|
// sequences (✉️ ✏️ ⚙️ ⚠️ 🗑) are banned from the palette entirely after
|
|
@@ -19,7 +22,6 @@ export const OP_GLYPHS = {
|
|
|
19
22
|
SEND: "💬",
|
|
20
23
|
EXEC: "🔧",
|
|
21
24
|
BARE: "🔮",
|
|
22
|
-
PLAN: "🧠", // the model's per-turn reasoning (grammar 0.70 leads every turn with PLAN)
|
|
23
25
|
};
|
|
24
26
|
export const ORIGIN_GLYPHS = {
|
|
25
27
|
model: "🤖",
|
|
@@ -71,7 +73,7 @@ export const sendSubGlyph = (status) => {
|
|
|
71
73
|
return " "; // reserve the slot — never a bare, width-shifting empty string
|
|
72
74
|
};
|
|
73
75
|
// ANSI escape codes. NO_COLOR support per Unix convention.
|
|
74
|
-
const useColor =
|
|
76
|
+
const useColor = colorEnabled();
|
|
75
77
|
const code = (n) => useColor ? `\x1b[${n}m` : "";
|
|
76
78
|
const RESET = code("0");
|
|
77
79
|
const DIM = code("2");
|
|
@@ -180,42 +182,26 @@ export const isEntryMaterialization = (entry) => {
|
|
|
180
182
|
&& entry.op === "EDIT"
|
|
181
183
|
&& attrs?.kind === "entry_materialized";
|
|
182
184
|
};
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
//
|
|
185
|
+
// The default human waterfall carries NO log coordinates (plurnk#21: the
|
|
186
|
+
// 01/02/03 gutter was clutter for end users). Coordinates remain forensic
|
|
187
|
+
// truth on the wire and in --json; this label survives for machine-adjacent
|
|
188
|
+
// surfaces that still want one.
|
|
187
189
|
export const coordLabel = (loopSeq, turnSeq, sequence) => {
|
|
188
190
|
const p = (n) => String(n).padStart(2, "0");
|
|
189
191
|
return `${DIM}${p(loopSeq)}/${p(turnSeq)}/${p(sequence)}${RESET} `;
|
|
190
192
|
};
|
|
191
|
-
// The active prompt
|
|
192
|
-
|
|
193
|
-
//
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
// The active prompt shows a busy gauge in its own slot; idle shows nothing.
|
|
194
|
+
export const progressLabel = (percent) => `${DIM}${`${Math.max(0, Math.min(100, Math.trunc(percent)))}%`.padStart(4, " ")}${RESET} `;
|
|
195
|
+
// Status codes render only where they carry meaning (plurnk#21): every SEND
|
|
196
|
+
// keeps its code (the conversation's protocol truth), every error keeps its
|
|
197
|
+
// code, and routine non-SEND successes show none.
|
|
198
|
+
export const statusCodeVisible = (entry) => entry.op === "SEND" || entry.status_rx >= 400;
|
|
196
199
|
const BOLD = code("1");
|
|
197
200
|
const ITALIC = code("3");
|
|
201
|
+
void ITALIC;
|
|
198
202
|
// A common model-authored inline-math spelling with an exact terminal glyph.
|
|
199
203
|
// This is typographic normalization, not a claim of general LaTeX support.
|
|
200
204
|
const normalizeProse = (s) => s.replaceAll("$\\rightarrow$", "→");
|
|
201
|
-
// Heuristic: body looks like markdown if it carries any of the structural markers.
|
|
202
|
-
// False positives on plain text containing isolated `*` or `_` are avoided by requiring
|
|
203
|
-
// paired markers or line-anchored constructs.
|
|
204
|
-
const looksLikeMarkdown = (s) => /(^|\n)#{1,6}\s/.test(s) ||
|
|
205
|
-
/\*\*[^*\n]+\*\*/.test(s) ||
|
|
206
|
-
/(^|\n)[-*+]\s/.test(s) ||
|
|
207
|
-
/```/.test(s) ||
|
|
208
|
-
/\[[^\]]+\]\([^)]+\)/.test(s);
|
|
209
|
-
// Minimal vanilla-ANSI markdown: enough to make a reply readable, not a full parser.
|
|
210
|
-
const renderMarkdown = (s) => {
|
|
211
|
-
let out = s;
|
|
212
|
-
out = out.replace(/^(#{1,6})\s+(.*)$/gm, (_m, _h, text) => `${BOLD}${text}${RESET}`);
|
|
213
|
-
out = out.replace(/\*\*([^*\n]+)\*\*/g, (_m, t) => `${BOLD}${t}${RESET}`);
|
|
214
|
-
out = out.replace(/(^|[^*_])[*_]([^*_\n]+)[*_](?!\*)/g, (_m, pre, t) => `${pre}${ITALIC}${t}${RESET}`);
|
|
215
|
-
out = out.replace(/`([^`\n]+)`/g, (_m, t) => `${DIM}${t}${RESET}`);
|
|
216
|
-
out = out.replace(/^[-*+]\s/gm, "• ");
|
|
217
|
-
return out;
|
|
218
|
-
};
|
|
219
205
|
// Read a SEND body off a log_entry.tx, dispatching by content type.
|
|
220
206
|
// Per plurnk-grammar/schema/SendBody.json: tx.body is { raw, json } | null.
|
|
221
207
|
//
|
|
@@ -237,8 +223,10 @@ export const extractSendBody = (txUnknown, prettify) => {
|
|
|
237
223
|
if (typeof raw !== "string")
|
|
238
224
|
return "";
|
|
239
225
|
const prose = normalizeProse(raw);
|
|
226
|
+
// Tables, fences, and Mermaid project through the one client rendering
|
|
227
|
+
// model (plurnk#15), width-capped at the 80-column ergonomic target.
|
|
240
228
|
if (looksLikeMarkdown(prose))
|
|
241
|
-
return
|
|
229
|
+
return renderMarkdownDocument(prose);
|
|
242
230
|
return prose;
|
|
243
231
|
};
|
|
244
232
|
// Provider reasoning is neither PLAN nor speech. Give it one quiet visual lane
|
|
@@ -247,6 +235,17 @@ export const renderReasoning = (content) => content
|
|
|
247
235
|
.split("\n")
|
|
248
236
|
.map((line, index) => `${index === 0 ? " 💭 " : " "}${DIM}${line}${RESET}`)
|
|
249
237
|
.join("\n");
|
|
238
|
+
// One physical terminal row for an in-flight reasoning preview. The completed
|
|
239
|
+
// message replaces it with renderReasoning(), so live deltas never accumulate a
|
|
240
|
+
// scrollback line per token.
|
|
241
|
+
export const renderReasoningPreview = (content, columns = 80) => {
|
|
242
|
+
const normalized = content.replace(/\s+/g, " ").trim();
|
|
243
|
+
const capacity = Math.max(8, columns - 7);
|
|
244
|
+
const excerpt = normalized.length > capacity
|
|
245
|
+
? `…${normalized.slice(-(capacity - 1))}`
|
|
246
|
+
: normalized;
|
|
247
|
+
return ` 💭 ${DIM}${excerpt}${RESET}`;
|
|
248
|
+
};
|
|
250
249
|
// Bold the model's ANSWER. The model's terminal SEND (200 done / 499 cancelled
|
|
251
250
|
// — a signal, not a directed target) is its reply to the user; its body renders
|
|
252
251
|
// BOLD so it stands out against the operation-record grid. Intermediate 102
|
|
@@ -274,7 +273,7 @@ const renderBroadcast = (entry) => {
|
|
|
274
273
|
const subGlyph = entry.origin === "model" ? " " : sendSubGlyph(signal);
|
|
275
274
|
const statusText = `${colorForStatus(entry.status_rx)}${entry.status_rx}${RESET}`;
|
|
276
275
|
const annotation = entryAnnotation(entry);
|
|
277
|
-
const header = ` ${
|
|
276
|
+
const header = ` ${[idGlyph, subGlyph, statusText].join(" ")}`
|
|
278
277
|
+ (annotation === null ? "" : ` ${DIM}— ${annotation}${RESET}`);
|
|
279
278
|
const body = extractSendBody(entry.tx, /* prettify */ true);
|
|
280
279
|
const multiLine = body.includes("\n");
|
|
@@ -291,6 +290,26 @@ const renderBroadcast = (entry) => {
|
|
|
291
290
|
const isAnswer = entry.origin === "model" && (entry.signal === 200 || entry.signal === 499);
|
|
292
291
|
return emphasizeLines(lines, isAnswer);
|
|
293
292
|
};
|
|
293
|
+
const renderPlan = (entry) => {
|
|
294
|
+
// A routine PLAN carries no status code (plurnk#21); a failed one keeps
|
|
295
|
+
// its error code and glyph on the first row.
|
|
296
|
+
const status = String(entry.status_rx);
|
|
297
|
+
const failed = entry.status_rx >= 400;
|
|
298
|
+
const firstSlot = failed ? `${sendSubGlyph(entry.status_rx)} ${colorForStatus(entry.status_rx)}${status}${RESET} ` : "";
|
|
299
|
+
const laterSlot = failed ? `${" ".repeat(3 + status.length + 1)}` : "";
|
|
300
|
+
const note = entryAnnotation(entry);
|
|
301
|
+
const presented = presentPlan(entry.tx);
|
|
302
|
+
const rows = presented.length === 0
|
|
303
|
+
? [{ glyph: "📭", text: "no entries" }]
|
|
304
|
+
: presented;
|
|
305
|
+
return rows.map(({ glyph, text }, index) => {
|
|
306
|
+
const prefix = index === 0
|
|
307
|
+
? ` ${glyph} ${firstSlot}`
|
|
308
|
+
: ` ${glyph} ${laterSlot}`;
|
|
309
|
+
const annotation = index === 0 && note !== null ? ` ${DIM}— ${note}${RESET}` : "";
|
|
310
|
+
return `${prefix}${DIM}${text}${RESET}${annotation}`;
|
|
311
|
+
}).join("\n");
|
|
312
|
+
};
|
|
294
313
|
// The TUI skips actionless prompt rows in the live waterfall: the line the
|
|
295
314
|
// user typed at the readline prompt is already their record, and rendering
|
|
296
315
|
// the broadcast too would duplicate every prompt.
|
|
@@ -320,6 +339,8 @@ export const renderLogEntry = (entry) => {
|
|
|
320
339
|
// not a broadcast.
|
|
321
340
|
if (entry.op === "SEND" && entry.scheme === null && entry.pathname === null)
|
|
322
341
|
return renderBroadcast(entry);
|
|
342
|
+
if (entry.op === "PLAN")
|
|
343
|
+
return renderPlan(entry);
|
|
323
344
|
// ONE identity/action glyph, not origin+op (they were redundant on SEND and
|
|
324
345
|
// cluttered elsewhere). A SEND shows its ACTOR (🐹 you / 🤖 model — the "who's
|
|
325
346
|
// speaking"); any other op shows its OP glyph (🧠/🔍/📖/📝/🔧 — self-evidently
|
|
@@ -334,7 +355,7 @@ export const renderLogEntry = (entry) => {
|
|
|
334
355
|
? sendSubGlyph(entry.signal)
|
|
335
356
|
: sendSubGlyph(entry.status_rx);
|
|
336
357
|
const statusColor = colorForStatus(entry.status_rx);
|
|
337
|
-
const statusText = `${statusColor}${entry.status_rx}${RESET}
|
|
358
|
+
const statusText = statusCodeVisible(entry) ? `${statusColor}${entry.status_rx}${RESET}` : "";
|
|
338
359
|
// Render whatever target the daemon supplied — no synthesis. If scheme
|
|
339
360
|
// is null but pathname is set, that's the daemon's choice (e.g. file://
|
|
340
361
|
// shortcut) and we render the bare path.
|
|
@@ -343,9 +364,11 @@ export const renderLogEntry = (entry) => {
|
|
|
343
364
|
const scope = entryScope(entry);
|
|
344
365
|
const scopeText = scope !== null ? `${CYAN}${scope}${RESET}` : "";
|
|
345
366
|
const extra = buildExtra(entry);
|
|
346
|
-
//
|
|
347
|
-
//
|
|
348
|
-
const parts = [idGlyph, subGlyph
|
|
367
|
+
// Columns: idGlyph · status glyph (always present — glyph or reserved blank)
|
|
368
|
+
// · code (SEND and errors only, plurnk#21) · target · extra.
|
|
369
|
+
const parts = [idGlyph, subGlyph];
|
|
370
|
+
if (statusText.length > 0)
|
|
371
|
+
parts.push(statusText);
|
|
349
372
|
if (pathText.length > 0)
|
|
350
373
|
parts.push(pathText);
|
|
351
374
|
if (scopeText.length > 0)
|
|
@@ -355,16 +378,7 @@ export const renderLogEntry = (entry) => {
|
|
|
355
378
|
const annotation = entryAnnotation(entry);
|
|
356
379
|
if (annotation !== null)
|
|
357
380
|
parts.push(`${DIM}— ${annotation}${RESET}`);
|
|
358
|
-
|
|
359
|
-
// SEND {raw,json} shape) — surface it dimmed, newlines collapsed, so the
|
|
360
|
-
// waterfall shows what the model planned instead of a bare glyph.
|
|
361
|
-
if (entry.op === "PLAN") {
|
|
362
|
-
const planBody = entry.tx?.body;
|
|
363
|
-
if (typeof planBody === "string" && planBody.trim().length > 0) {
|
|
364
|
-
parts.push(`${DIM}${planBody.replace(/\s*\n\s*/g, " ").trim()}${RESET}`);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
return ` ${coordPrefix(entry)}${parts.join(" ")}`;
|
|
381
|
+
return ` ${parts.join(" ")}`;
|
|
368
382
|
};
|
|
369
383
|
// Compact token count: 49152 → "49k", 980 → "980". The gauge stays terse.
|
|
370
384
|
const formatK = (n) => n >= 1000 ? `${Math.round(n / 1000)}k` : `${n}`;
|
|
@@ -380,8 +394,8 @@ export const contextGauge = (tokens, capacity) => gauge("ctx", tokens, capacity)
|
|
|
380
394
|
// usage is absent for non-model ops (op.exec / op.parse have no provider
|
|
381
395
|
// call) — those render no token part. It is NOT a fallback for missing
|
|
382
396
|
// data: a model loop always carries real usage (plurnk-service #197).
|
|
383
|
-
const STRIKE_THRESHOLD = "https://problems.plurnk.
|
|
384
|
-
const INVALID_EMISSION_EXHAUSTED = "https://problems.plurnk.
|
|
397
|
+
const STRIKE_THRESHOLD = "https://problems.plurnk.xyz/engine/rails/strike-threshold";
|
|
398
|
+
const INVALID_EMISSION_EXHAUSTED = "https://problems.plurnk.xyz/engine/generation/invalid-emission-exhausted";
|
|
385
399
|
// The status class is not the verdict. Preserve the exact terminal Problem so
|
|
386
400
|
// unrelated engine failures do not masquerade as rail strike-outs.
|
|
387
401
|
export const terminalStatusLabel = (result) => {
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
stderr: string;
|
|
1
|
+
interface ActionCaller {
|
|
2
|
+
call(method: string, params?: object): Promise<unknown>;
|
|
4
3
|
}
|
|
5
|
-
export
|
|
6
|
-
export declare const handleSkills: (input: string | readonly string[], write: (text: string) => void
|
|
4
|
+
export declare const isSource: (term: string) => boolean;
|
|
5
|
+
export declare const handleSkills: (input: string | readonly string[], rpc: ActionCaller, write: (text: string) => void) => Promise<unknown | null>;
|
|
6
|
+
export {};
|
|
7
7
|
//# sourceMappingURL=skills.d.ts.map
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAMA,UAAU,YAAY;IAClB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAgED,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,OAAgF,CAAC;AAgCzH,eAAO,MAAM,YAAY,UACd,MAAM,GAAG,SAAS,MAAM,EAAE,OAC5B,YAAY,SACV,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,CA+DxB,CAAC"}
|
package/dist/skills.js
CHANGED
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
import { resolve } from "node:path";
|
|
7
|
-
import { promisify, stripVTControlCharacters } from "node:util";
|
|
8
|
-
const execFileP = promisify(execFile);
|
|
9
|
-
const runSkills = async (args, cwd) => {
|
|
10
|
-
const { stdout, stderr } = await execFileP("npx", ["--yes", "skills", ...args], {
|
|
11
|
-
cwd,
|
|
12
|
-
env: { ...process.env, NO_COLOR: "1" },
|
|
13
|
-
maxBuffer: 4 * 1024 * 1024,
|
|
14
|
-
});
|
|
15
|
-
return { stdout, stderr };
|
|
16
|
-
};
|
|
1
|
+
// Thin TUI projection of the daemon-owned Agent Skills Functionality family:
|
|
2
|
+
// the common lifecycle (list | discover | add | enable | disable | remove)
|
|
3
|
+
// over the Worker's `skills` actions. The client composes exact definitions
|
|
4
|
+
// and renders the daemon's states; installation, discovery, and enablement
|
|
5
|
+
// policy live in the service.
|
|
17
6
|
const argumentsOf = (source) => {
|
|
18
7
|
const values = [];
|
|
19
8
|
let value = "";
|
|
@@ -62,77 +51,102 @@ const argumentsOf = (source) => {
|
|
|
62
51
|
values.push(value);
|
|
63
52
|
return values;
|
|
64
53
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
54
|
+
// A package reference (owner/repo, URL, or path) is a source; anything else
|
|
55
|
+
// is a registry query.
|
|
56
|
+
export const isSource = (term) => /[\/\\:]/u.test(term) || term.startsWith(".") || term.startsWith("~");
|
|
57
|
+
const renderDefinition = (entry) => {
|
|
58
|
+
const alias = typeof entry.alias === "string" ? entry.alias : "(unnamed)";
|
|
59
|
+
const state = typeof entry.state === "string" ? entry.state : "unknown";
|
|
60
|
+
const scope = typeof entry.definition?.scope === "string" ? entry.definition.scope : "unknown";
|
|
61
|
+
const source = typeof entry.definition?.source === "string" ? ` ${entry.definition.source}` : "";
|
|
62
|
+
const description = typeof entry.detail?.description === "string" ? ` ${entry.detail.description}` : "";
|
|
63
|
+
const origin = entry.origin === "worker" ? " (worker)" : "";
|
|
64
|
+
const problem = typeof entry.problem?.detail === "string" ? ` — ${entry.problem.detail}` : "";
|
|
65
|
+
return ` ${alias} ${state} ${scope}${source}${description}${origin}${problem}\n`;
|
|
71
66
|
};
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const [command, ...rest] = input;
|
|
79
|
-
switch (command) {
|
|
80
|
-
case "list":
|
|
81
|
-
case "ls":
|
|
82
|
-
return ["list", ...rest, "--agent", "universal"];
|
|
83
|
-
case "add":
|
|
84
|
-
case "install":
|
|
85
|
-
return rest.length === 0 || includesAny(rest, ["--all"])
|
|
86
|
-
? null
|
|
87
|
-
: ["add", ...rest, "--agent", "universal", "--yes"];
|
|
88
|
-
case "remove":
|
|
89
|
-
case "rm":
|
|
90
|
-
return rest.length === 0
|
|
91
|
-
? null
|
|
92
|
-
: ["remove", ...rest, "--agent", "universal", "--yes"];
|
|
93
|
-
case "find":
|
|
94
|
-
case "search":
|
|
95
|
-
return rest.length === 0 ? null : ["find", ...rest];
|
|
96
|
-
case "update":
|
|
97
|
-
case "upgrade":
|
|
98
|
-
return [
|
|
99
|
-
"update",
|
|
100
|
-
...rest,
|
|
101
|
-
...(includesAny(rest, ["--global", "-g", "--project", "-p"])
|
|
102
|
-
? []
|
|
103
|
-
: ["--project"]),
|
|
104
|
-
"--yes",
|
|
105
|
-
];
|
|
106
|
-
default:
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
67
|
+
const renderCandidate = (candidate) => {
|
|
68
|
+
const alias = typeof candidate.alias === "string" ? candidate.alias : "(unnamed)";
|
|
69
|
+
const source = typeof candidate.definition?.source === "string" ? ` ${candidate.definition.source}` : "";
|
|
70
|
+
const summary = typeof candidate.summary === "string" ? ` ${candidate.summary}` : "";
|
|
71
|
+
const reference = typeof candidate.provenance?.reference === "string" ? ` ${candidate.provenance.reference}` : "";
|
|
72
|
+
return ` ${alias} candidate${source}${summary}${reference}\n`;
|
|
109
73
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
74
|
+
const renderMutation = (result, verb, aliasHint, write) => {
|
|
75
|
+
const alias = typeof result.alias === "string" ? result.alias : aliasHint;
|
|
76
|
+
const state = typeof result.definition?.state === "string" ? ` (${result.definition.state})` : "";
|
|
77
|
+
const problem = typeof result.definition?.problem?.detail === "string" ? ` — ${result.definition.problem.detail}` : "";
|
|
78
|
+
write(` ${verb}: ${alias}${state}${problem}\n`);
|
|
79
|
+
};
|
|
80
|
+
const usage = (write) => {
|
|
81
|
+
write(" usage: /skills [discover <query|source> | add <name> <source> [--global] | enable|disable|remove <name>]\n");
|
|
82
|
+
};
|
|
83
|
+
export const handleSkills = async (input, rpc, write) => {
|
|
84
|
+
if (input.length === 0) {
|
|
85
|
+
const result = await rpc.call("worker.skills.list", {});
|
|
86
|
+
if (!Array.isArray(result.definitions))
|
|
87
|
+
throw new Error("worker.skills.list returned an invalid result.");
|
|
88
|
+
if (result.definitions.length === 0)
|
|
89
|
+
write(" Agent Skills: none\n");
|
|
90
|
+
else
|
|
91
|
+
for (const definition of result.definitions)
|
|
92
|
+
write(renderDefinition(definition));
|
|
93
|
+
return result;
|
|
113
94
|
}
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
if (args === null) {
|
|
95
|
+
const args = typeof input === "string" ? argumentsOf(input) : [...input];
|
|
96
|
+
if (args === null || args.length === 0) {
|
|
117
97
|
usage(write);
|
|
118
|
-
return;
|
|
98
|
+
return null;
|
|
119
99
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
100
|
+
const [command, name] = args;
|
|
101
|
+
if (command === "discover" || command === "find") {
|
|
102
|
+
const term = args.slice(1).join(" ").trim();
|
|
103
|
+
if (term.length === 0) {
|
|
104
|
+
write(" usage: /skills discover <query|source>\n");
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const query = args.length === 2 && isSource(term) ? { source: term } : { query: term };
|
|
108
|
+
const result = await rpc.call("worker.skills.discover", query);
|
|
109
|
+
if (!Array.isArray(result.candidates))
|
|
110
|
+
throw new Error("worker.skills.discover returned an invalid result.");
|
|
111
|
+
if (result.candidates.length === 0)
|
|
112
|
+
write(" candidates: none\n");
|
|
113
|
+
else
|
|
114
|
+
for (const candidate of result.candidates)
|
|
115
|
+
write(renderCandidate(candidate));
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
if (command === "add") {
|
|
119
|
+
const positional = args.slice(1).filter((arg) => arg !== "--global");
|
|
120
|
+
const global = args.includes("--global");
|
|
121
|
+
if (positional.length !== 2 || positional[0].length === 0 || positional[1].length === 0) {
|
|
122
|
+
write(" usage: /skills add <name> <source> [--global]\n");
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const [alias, source] = positional;
|
|
126
|
+
const definition = { name: alias, scope: global ? "global" : "project", source };
|
|
127
|
+
const result = await rpc.call("worker.skills.add", { alias, definition });
|
|
128
|
+
renderMutation(result, "added", alias, write);
|
|
129
|
+
return result;
|
|
126
130
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
if (command === "enable" || command === "disable") {
|
|
132
|
+
if (args.length !== 2 || name.length === 0) {
|
|
133
|
+
write(` usage: /skills ${command} <name>\n`);
|
|
134
|
+
return null;
|
|
131
135
|
}
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
const result = await rpc.call(`worker.skills.${command}`, { alias: name });
|
|
137
|
+
renderMutation(result, command === "enable" ? "enabled" : "disabled", name, write);
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
if (command === "remove") {
|
|
141
|
+
if (args.length !== 2 || name.length === 0) {
|
|
142
|
+
write(" usage: /skills remove <name>\n");
|
|
143
|
+
return null;
|
|
134
144
|
}
|
|
135
|
-
|
|
145
|
+
const result = await rpc.call("worker.skills.remove", { alias: name });
|
|
146
|
+
write(` removed: ${name}\n`);
|
|
147
|
+
return result;
|
|
136
148
|
}
|
|
149
|
+
usage(write);
|
|
150
|
+
return null;
|
|
137
151
|
};
|
|
138
152
|
//# sourceMappingURL=skills.js.map
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAchE,UAAU,WAAW;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD,MAAM,CAAC,OAAO,OAAO,WAAW;;IAU5B,KAAK,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAM3C;IAKD,SAAS,CAAC,EAAE,EAAE,sBAAsB,GAAG,MAAM,CAiB5C;CACJ;AAID,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,OAG5C,CAAC;AAIF,eAAO,MAAM,YAAY,YAAa,MAAM,WAAW,MAAM,KAAG,MAG7C,CAAC;AAIpB,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,IAE3C,CAAC"}
|
package/dist/stream.js
CHANGED
|
@@ -9,20 +9,18 @@
|
|
|
9
9
|
// by the caller via entry.read — the single, bounded exception to "the
|
|
10
10
|
// TUI doesn't fetch content" (SPEC §5.3), because the content IS the
|
|
11
11
|
// optics when it's two lines long.
|
|
12
|
+
import { colorEnabled } from "./color.js";
|
|
12
13
|
import process from "node:process";
|
|
13
|
-
|
|
14
|
-
const useColor = process.env.NO_COLOR !== "1" && process.env.NO_COLOR !== "true";
|
|
14
|
+
const useColor = colorEnabled();
|
|
15
15
|
const code = (n) => useColor ? `\x1b[${n}m` : "";
|
|
16
16
|
const RESET = code("0");
|
|
17
17
|
const DIM = code("2");
|
|
18
18
|
const GREEN = code("32");
|
|
19
19
|
const RED = code("31");
|
|
20
20
|
const STREAM_GLYPH = "📡";
|
|
21
|
-
// The
|
|
22
|
-
//
|
|
23
|
-
const streamCoord = (
|
|
24
|
-
? coordLabel(ev.loop_seq, ev.turn_seq, ev.sequence)
|
|
25
|
-
: "";
|
|
21
|
+
// The human waterfall carries no coordinates (plurnk#21); stream lines
|
|
22
|
+
// align with the coordinate-free rows.
|
|
23
|
+
const streamCoord = (_ev) => "";
|
|
26
24
|
const statusGlyph = (status) => {
|
|
27
25
|
if (status === 200)
|
|
28
26
|
return " "; // routine success — empty slot, not a check on every conclusion
|
|
@@ -46,9 +44,9 @@ export default class StreamTrace {
|
|
|
46
44
|
if (this.#started.has(ev.entryId))
|
|
47
45
|
return null;
|
|
48
46
|
this.#started.add(ev.entryId);
|
|
49
|
-
// TWO lanes (identity · status) like every waterfall row;
|
|
50
|
-
//
|
|
51
|
-
return ` ${streamCoord(ev)}${STREAM_GLYPH} ⏳ ${
|
|
47
|
+
// TWO lanes (identity · status) like every waterfall row; no code —
|
|
48
|
+
// routine codes left the human waterfall (plurnk#21).
|
|
49
|
+
return ` ${streamCoord(ev)}${STREAM_GLYPH} ⏳ ${ev.target}`;
|
|
52
50
|
}
|
|
53
51
|
// One conclusion line in the waterfall grammar. The daemon's summary
|
|
54
52
|
// leads with the target we already printed — strip the echo. Wake is
|
|
@@ -60,10 +58,12 @@ export default class StreamTrace {
|
|
|
60
58
|
if (summary.startsWith(ev.target))
|
|
61
59
|
summary = summary.slice(ev.target.length).replace(/^\s+/, "");
|
|
62
60
|
const wake = ev.wakeAction === "resumed-loop" ? " → resumed loop" : "";
|
|
61
|
+
// The code renders only when it means something: cancellation or error
|
|
62
|
+
// (plurnk#21). A routine 200 conclusion is the quiet default.
|
|
63
63
|
const parts = [
|
|
64
64
|
STREAM_GLYPH, // lane 1: identity (the stream)
|
|
65
65
|
statusGlyph(status), // lane 2: status (reserved blank on 2xx)
|
|
66
|
-
`${statusColor(status)}${status}${RESET}
|
|
66
|
+
...(status === 200 ? [] : [`${statusColor(status)}${status}${RESET}`]),
|
|
67
67
|
ev.target,
|
|
68
68
|
];
|
|
69
69
|
let line = ` ${streamCoord(ev)}${parts.join(" ")}`;
|