@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/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 = process.env.NO_COLOR !== "1" && process.env.NO_COLOR !== "true";
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
- // `01/02/03 ` coordinate label zero-padded to two digits minimum for
184
- // alignment zen, growing naturally past 99. Every waterfall line carries
185
- // one (log entries from the wire, the prompt and stream lines from their
186
- // own coordinates §5.1). DB ids are NOT the user's loop/turn numbers.
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 temporarily uses its fixed-width coordinate slot as an
192
- // indexing gauge. Eight visible cells exactly match `01/01/01`; the trailing
193
- // separator remains identical, so readline's cursor math never shifts.
194
- export const progressLabel = (percent) => `${DIM}${`${Math.max(0, Math.min(100, Math.trunc(percent)))}%`.padStart(8, " ")}${RESET} `;
195
- const coordPrefix = (entry) => coordLabel(entry.loop_seq, entry.turn_seq, entry.sequence);
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 renderMarkdown(prose);
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 = ` ${coordPrefix(entry)}${[idGlyph, subGlyph, statusText].join(" ")}`
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
- // Fixed columns: idGlyph · status (always present — glyph or reserved blank) ·
347
- // code · target · extra. subGlyph is ALWAYS pushed so the code column is stable.
348
- const parts = [idGlyph, subGlyph, statusText];
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
- // PLAN carries the model's reasoning as a plain string in tx.body (NOT the
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.dev/engine/rails/strike-threshold";
384
- const INVALID_EMISSION_EXHAUSTED = "https://problems.plurnk.dev/engine/generation/invalid-emission-exhausted";
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) => {
@@ -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
- export interface SkillsCommandResult {
2
- stdout: string;
3
- stderr: string;
1
+ interface ActionCaller {
2
+ call(method: string, params?: object): Promise<unknown>;
4
3
  }
5
- export type SkillsRunner = (args: readonly string[], cwd: string) => Promise<SkillsCommandResult>;
6
- export declare const handleSkills: (input: string | readonly string[], write: (text: string) => void, projectRoot: string | null | undefined, runner?: SkillsRunner) => Promise<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
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,KACV,OAAO,CAAC,mBAAmB,CAAC,CAAC;AA4GlC,eAAO,MAAM,YAAY,UACd,MAAM,GAAG,SAAS,MAAM,EAAE,SAC1B,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,eAChB,MAAM,GAAG,IAAI,GAAG,SAAS,WAC9B,YAAY,KACrB,OAAO,CAAC,IAAI,CAyBd,CAAC"}
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
- // Project-facing projection of the universal Agent Skills package manager.
2
- // Plurnk owns neither its registry nor its installation format: this wrapper
3
- // fixes the target to the shared `.agents/skills` convention and leaves source
4
- // resolution, lock metadata, updates, and removal to the standard CLI.
5
- import { execFile } from "node:child_process";
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
- const usage = (write) => {
66
- write(" usage: /skills [list [--global]]\n");
67
- write(" /skills add <source> [--skill <name> ...] [--global]\n");
68
- write(" /skills remove <name> ... [--global]\n");
69
- write(" /skills find <query>\n");
70
- write(" /skills update [name ...] [--global]\n");
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 includesAny = (args, choices) => args.some((arg) => choices.includes(arg));
73
- const commandArguments = (input) => {
74
- if (input.length === 0)
75
- return ["list", "--agent", "universal"];
76
- if (input.some((arg) => arg === "--agent" || arg === "-a" || arg.startsWith("--agent=")))
77
- return null;
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
- export const handleSkills = async (input, write, projectRoot, runner = runSkills) => {
111
- if (projectRoot === null || projectRoot === undefined || projectRoot.length === 0) {
112
- throw new Error("skills require a workspace project root");
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 parsed = typeof input === "string" ? argumentsOf(input) : [...input];
115
- const args = parsed === null ? null : commandArguments(parsed);
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
- try {
121
- const { stdout, stderr } = await runner(args, resolve(projectRoot));
122
- if (stdout.length > 0)
123
- write(stripVTControlCharacters(stdout));
124
- if (stderr.length > 0)
125
- write(stripVTControlCharacters(stderr));
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
- catch (cause) {
128
- const output = cause;
129
- if (typeof output.stdout === "string" && output.stdout.length > 0) {
130
- write(stripVTControlCharacters(output.stdout));
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
- if (typeof output.stderr === "string" && output.stderr.length > 0) {
133
- write(stripVTControlCharacters(output.stderr));
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
- throw new Error("Agent Skills command failed", { cause });
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
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAehE,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;AAmBD,MAAM,CAAC,OAAO,OAAO,WAAW;;IAU5B,KAAK,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAM3C;IAKD,SAAS,CAAC,EAAE,EAAE,sBAAsB,GAAG,MAAM,CAe5C;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"}
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
- import { coordLabel } from "./render.js";
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 coordinate label from a stream payload, or "" when the stream
22
- // carries none (non-coordinate-bearing scheme).
23
- const streamCoord = (ev) => typeof ev.loop_seq === "number" && typeof ev.turn_seq === "number" && typeof ev.sequence === "number"
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; the in-flight line
50
- // has no status CODE yet, so the code column holds a reserved 3-blank.
51
- return ` ${streamCoord(ev)}${STREAM_GLYPH} ⏳ ${DIM}...${RESET} ${ev.target}`;
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(" ")}`;