@plurnk/plurnk 0.71.3 → 0.71.5

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 (44) hide show
  1. package/README.md +2 -2
  2. package/dist/agui.d.ts +17 -5
  3. package/dist/agui.d.ts.map +1 -1
  4. package/dist/agui.js +116 -54
  5. package/dist/agui.js.map +1 -1
  6. package/dist/agui_cli.d.ts +10 -11
  7. package/dist/agui_cli.d.ts.map +1 -1
  8. package/dist/agui_cli.js +88 -39
  9. package/dist/agui_cli.js.map +1 -1
  10. package/dist/build-info.json +1 -1
  11. package/dist/cli.d.ts +6 -5
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +13 -8
  14. package/dist/cli.js.map +1 -1
  15. package/dist/completion.js +1 -1
  16. package/dist/completion.js.map +1 -1
  17. package/dist/diagnostics.d.ts +65 -0
  18. package/dist/diagnostics.d.ts.map +1 -0
  19. package/dist/diagnostics.js +228 -0
  20. package/dist/diagnostics.js.map +1 -0
  21. package/dist/dispatcher.d.ts +2 -3
  22. package/dist/dispatcher.d.ts.map +1 -1
  23. package/dist/dispatcher.js +80 -74
  24. package/dist/dispatcher.js.map +1 -1
  25. package/dist/render.d.ts +2 -3
  26. package/dist/render.d.ts.map +1 -1
  27. package/dist/render.js +10 -13
  28. package/dist/render.js.map +1 -1
  29. package/dist/subcommands.d.ts.map +1 -1
  30. package/dist/subcommands.js +14 -22
  31. package/dist/subcommands.js.map +1 -1
  32. package/dist/transport.d.ts +18 -6
  33. package/dist/transport.d.ts.map +1 -1
  34. package/dist/transport.js +90 -33
  35. package/dist/transport.js.map +1 -1
  36. package/dist/tui.d.ts +2 -1
  37. package/dist/tui.d.ts.map +1 -1
  38. package/dist/tui.js +76 -39
  39. package/dist/tui.js.map +1 -1
  40. package/package.json +10 -5
  41. package/dist/telemetry.d.ts +0 -48
  42. package/dist/telemetry.d.ts.map +0 -1
  43. package/dist/telemetry.js +0 -246
  44. package/dist/telemetry.js.map +0 -1
@@ -14,7 +14,7 @@ import { BridgeTransport } from "./transport.js";
14
14
  import { actionViaBridge, resolveWorld } from "./agui.js";
15
15
  import { runTui } from "./tui.js";
16
16
  import { runModels, runWorkspaceList, runWorkspaceWorkers, runWorkspaceRename, runLogRead, runRead } from "./subcommands.js";
17
- import { TelemetryError, report, clientConnectionRefused, isUnreachable, clientFlagInvalid, clientFlagMissingDependency, clientRuntimeError, clientSubcommandMissingArgument, clientSubcommandUnknownVerb, } from "./telemetry.js";
17
+ import { ProblemError, report, clientConnectionRefused, isUnreachable, clientProblem, clientFlagInvalid, clientFlagMissingDependency, clientRuntimeError, clientSubcommandMissingArgument, clientSubcommandUnknownVerb, clientWorkerNotFound, } from "./diagnostics.js";
18
18
  import { formatBuildInfo, getBuildInfo } from "./build-info.js";
19
19
  // Read all of stdin to EOF. Called when stdin is piped (not a TTY) — never
20
20
  // blocks an interactive workspace because we gate on isTTY upstream.
@@ -36,10 +36,10 @@ export const resolveLoopFlags = (rawJson, auto = false) => {
36
36
  parsed = JSON.parse(rawJson);
37
37
  }
38
38
  catch {
39
- throw new TelemetryError(clientFlagInvalid("--flags", rawJson, "must be valid JSON"));
39
+ throw new ProblemError(clientFlagInvalid("--flags", rawJson, "must be valid JSON"));
40
40
  }
41
41
  if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
42
- throw new TelemetryError(clientFlagInvalid("--flags", rawJson, "must be a JSON object"));
42
+ throw new ProblemError(clientFlagInvalid("--flags", rawJson, "must be a JSON object"));
43
43
  }
44
44
  return { ...parsed, ...(auto ? { auto: true } : {}) };
45
45
  };
@@ -56,20 +56,22 @@ export const resolveModelSpec = (alias, env = process.env) => {
56
56
  const match = parseAliasesFromEnv(env).find((a) => a.alias === alias.toLowerCase());
57
57
  return match !== undefined ? `${match.provider}/${match.model}` : undefined;
58
58
  };
59
- // #132 — the client's per-workspace exec-policy layer: forward the PLURNK_EXECS_*
59
+ // #132 — the client's per-workspace exec-policy layer: forward the closed
60
60
  // enable/disable grammar (PLURNK_EXECS_ONLY, PLURNK_EXECS_<TAG>=0|false) so the
61
61
  // daemon intersects it with its own ceiling (service ∧ client — subtractive,
62
- // can never re-enable a service-disabled tag). Forwarded VERBATIM: the daemon's
63
- // execs Policy is the single interpreter (pull-don't-copy). EXCLUDES
64
- // PLURNK_EXECS_MCP_* those are MCP SERVER configs (URLs, header bearer tokens),
65
- // not policy, and must never ride the wire. The bare PLURNK_EXECS_MCP tag toggle
66
- // (no trailing `_`) stays. Workspace-scoped: a per-workspace .env carries its own.
62
+ // can never re-enable a service-disabled tag). The key grammar is the executor
63
+ // contract's canonical lowercase URI-scheme tag syntax, matched case-insensitively
64
+ // for environment convention. Plugin configuration under the same broad prefix
65
+ // is not policy and must never ride the wire. Values are forwarded verbatim; the
66
+ // daemon's execs Policy remains the interpreter. Workspace-scoped: a per-workspace
67
+ // .env carries its own.
68
+ const EXECS_POLICY_KEY = /^PLURNK_EXECS_(?:ONLY|[A-Z][A-Z0-9+.-]*)$/i;
67
69
  export const collectExecsPolicy = (env = process.env) => {
68
70
  const out = {};
69
71
  for (const [k, v] of Object.entries(env)) {
70
72
  if (v === undefined)
71
73
  continue;
72
- if (!k.startsWith("PLURNK_EXECS_") || k.startsWith("PLURNK_EXECS_MCP_"))
74
+ if (!EXECS_POLICY_KEY.test(k))
73
75
  continue;
74
76
  out[k] = v;
75
77
  }
@@ -83,7 +85,7 @@ export const resolveProjectRoot = (raw) => {
83
85
  if (raw.length === 0)
84
86
  return null;
85
87
  if (!isAbsolute(raw))
86
- throw new TelemetryError(clientFlagInvalid("--project-root", raw, "must be an absolute path"));
88
+ throw new ProblemError(clientFlagInvalid("--project-root", raw, "must be an absolute path"));
87
89
  return raw;
88
90
  };
89
91
  const USAGE = `usage: plurnk [--json] [--workspace <name>] [--worker <name>] [--model <alias>] [prompt...]
@@ -125,9 +127,10 @@ env (cascade, highest first: shell < --env-file < ./.env < ~/.plurnk/.env
125
127
  instead of raw daemon WS (the exclusive-portal path).
126
128
  PLURNK_AGUI_TOKEN is the bearer if the bridge requires one.
127
129
  Scripts + subcommands stay on the daemon.
128
- PLURNK_EXECS_* per-workspace exec-runtime policy, sent to the daemon at
129
- workspace.create (PLURNK_EXECS_ONLY=a,b allowlist;
130
- PLURNK_EXECS_<tag>=0 kill one). Subtractive only the
130
+ PLURNK_EXECS_ONLY / per-workspace exec-runtime policy, sent to the daemon at
131
+ PLURNK_EXECS_<tag> workspace.create (ONLY=a,b allowlist; <tag>=0 kills one).
132
+ Plugin configuration with longer underscore suffixes is
133
+ never forwarded. Subtractive only — the
131
134
  daemon intersects with its ceiling; the client can narrow,
132
135
  never re-enable. Shares the daemon's grammar; a workspace's
133
136
  .env carries its own. (MCP server configs are NOT sent.)
@@ -137,8 +140,8 @@ options:
137
140
  -v, --version print executable provenance and exit
138
141
  --json json OUTPUT MODE: one complete structured document on
139
142
  stdout (the whole client-observed record — turns/ops,
140
- telemetry, the answer at .response, usage), stderr
141
- silent, errors emitted as {"error":…}. Drill into one
143
+ notices, the answer at .response, usage), stderr
144
+ silent, Problems emitted under "problem". Drill into one
142
145
  op's content with: plurnk read <coord> --json. CLI only.
143
146
  --workspace <name> resume the named workspace, or create it under that name
144
147
  if none exists (attach-or-create). Without it, a fresh
@@ -173,8 +176,6 @@ options:
173
176
  source when headless). Repeatable.
174
177
  --hide <glob> membership: block file(s) from manifest. Repeatable.
175
178
  --view <glob> membership: track file(s) in manifest (read-only). Repeatable.
176
- --repo <glob> membership: track a git repo folder (its ls-files join
177
- the manifest), relative to project root. Repeatable.
178
179
  --files-items <n> workspace-open preview of the TRACKED-FILE list
179
180
  (FIND(file:///**)): -1 full / 0 off / N first-N. Memory
180
181
  (known/unknown/worker/plurnk) always foists full. Create-time.
@@ -182,7 +183,7 @@ options:
182
183
  merges with operator PLURNK_MD_*. Repeatable. Create-time.
183
184
  --max-commands <n> ceiling on ops per emission for the workspace (min with the
184
185
  daemon's PLURNK_MAX_COMMANDS — can only tighten). Create-time.
185
- --no-git deny git membership + telemetry for the workspace (never
186
+ --no-git deny git membership + working-tree status for the workspace (never
186
187
  re-enables past the operator lockout). Create-time.
187
188
  --no-agents-md turn off the service's AGENTS.md auto-load for this
188
189
  workspace (overrides PLURNK_AGENTS_AUTO). Create-time.
@@ -203,17 +204,14 @@ subcommands:
203
204
  /--project-root + membership flags. The daemon owns the
204
205
  grammar; the client just feeds the file.
205
206
  `;
206
- // Render a telemetry event to stderr and exit. Single egress point so every
207
- // fatal client signal uses the unified shape from telemetry.ts.
208
- const dieWith = (code, event) => {
209
- report(event);
207
+ // Render a Problem to stderr and exit.
208
+ const dieWith = (code, problem) => {
209
+ report(problem);
210
210
  process.exit(code);
211
211
  };
212
- // json-mode failure: a valid JSON error document on stdout (the consumer's
213
- // parser never chokes), paired with a non-zero exit. The json counterpart of
214
- // dieWith — text mode narrates errors to stderr, json mode emits structured.
215
- const dieJson = (code, kind, message, extra) => {
216
- process.stdout.write(`${JSON.stringify(buildJsonError(kind, message, extra))}\n`);
212
+ // JSON mode embeds the exact RFC 9457 Problem document rendered in text mode.
213
+ const dieJson = (code, problem) => {
214
+ process.stdout.write(`${JSON.stringify(buildJsonError(problem))}\n`);
217
215
  process.exit(code);
218
216
  };
219
217
  // Env cascade, aligned with plurnk-service's ~/.plurnk layering so the two share
@@ -244,27 +242,27 @@ const loadEnvCascade = (envFiles, envFilesIfExists) => {
244
242
  ifExists(join(home, ".env.defaults"));
245
243
  loadFloor();
246
244
  };
247
- // Map the repeatable membership flags (--pick/--hide/--view/--repo) to
248
- // constraints. repo (svc#242) declares a git repo folder (its ls-files join
249
- // membership), addressed relative to the project root.
245
+ // Map repeatable membership flags to workspace constraints.
250
246
  export const buildConstraints = (values) => [
251
247
  ...(values.pick ?? []).map((glob) => ({ effect: "pick", glob })),
252
248
  ...(values.hide ?? []).map((glob) => ({ effect: "hide", glob })),
253
249
  ...(values.view ?? []).map((glob) => ({ effect: "view", glob })),
254
- ...(values.repo ?? []).map((glob) => ({ effect: "repo", glob })),
255
250
  ];
256
- export const buildSettings = async (values, cwd) => {
251
+ export const buildSettings = async (values, cwd, env = process.env) => {
257
252
  const settings = {};
253
+ const execs = collectExecsPolicy(env);
254
+ if (Object.keys(execs).length > 0)
255
+ settings.execs = execs;
258
256
  // svc#346 — enable model→user SEND[300] questions (per-workspace; the daemon
259
257
  // injects questions.md teaching + intersects its PLURNK_QUESTIONS ceiling).
260
258
  // Flag or bare env (shared user intent). The daemon owns refusal when off.
261
- if (values.questions === true || ["1", "true", "yes", "on"].includes((process.env.PLURNK_QUESTIONS ?? "").toLowerCase()))
259
+ if (values.questions === true || ["1", "true", "yes", "on"].includes((env.PLURNK_QUESTIONS ?? "").toLowerCase()))
262
260
  settings.questions = true;
263
261
  const mc = values["max-commands"];
264
262
  if (mc !== undefined) {
265
263
  const n = Number(mc);
266
264
  if (!Number.isInteger(n) || n < 1) {
267
- throw new TelemetryError(clientFlagInvalid("--max-commands", mc, "must be a positive integer"));
265
+ throw new ProblemError(clientFlagInvalid("--max-commands", mc, "must be a positive integer"));
268
266
  }
269
267
  settings.maxCommands = n;
270
268
  }
@@ -278,7 +276,7 @@ export const buildSettings = async (values, cwd) => {
278
276
  if (fi !== undefined) {
279
277
  const n = Number(fi);
280
278
  if (!Number.isInteger(n) || n < -1) {
281
- throw new TelemetryError(clientFlagInvalid("--files-items", fi, "must be -1 (full), 0 (off), or a positive integer"));
279
+ throw new ProblemError(clientFlagInvalid("--files-items", fi, "must be -1 (full), 0 (off), or a positive integer"));
282
280
  }
283
281
  settings.filesItems = n;
284
282
  }
@@ -288,7 +286,7 @@ export const buildSettings = async (values, cwd) => {
288
286
  for (const spec of mdSpecs) {
289
287
  const eq = spec.indexOf("=");
290
288
  if (eq <= 0)
291
- throw new TelemetryError(clientFlagInvalid("--md", spec, "must be NAME=path"));
289
+ throw new ProblemError(clientFlagInvalid("--md", spec, "must be NAME=path"));
292
290
  const alias = spec.slice(0, eq);
293
291
  const raw = spec.slice(eq + 1);
294
292
  const abs = isAbsolute(raw) ? raw : resolve(cwd, raw);
@@ -296,7 +294,7 @@ export const buildSettings = async (values, cwd) => {
296
294
  mdDocs.push({ alias, content: await readFile(abs, "utf8") });
297
295
  }
298
296
  catch (cause) {
299
- throw new TelemetryError(clientFlagInvalid("--md", spec, `file not readable: ${cause instanceof Error ? cause.message : String(cause)}`));
297
+ throw new ProblemError(clientFlagInvalid("--md", spec, `file not readable: ${cause instanceof Error ? cause.message : String(cause)}`));
300
298
  }
301
299
  }
302
300
  settings.mdDocs = mdDocs;
@@ -313,7 +311,7 @@ export const CLIENT_VERSION = createRequire(import.meta.url)("../package.json").
313
311
  // every other provider). The 'plurnk.nvim/1.4.0' shape; nvim sends its own.
314
312
  // #71 — one id per FRONTEND, name/version form, workspace-stable. CLI and TUI are
315
313
  // distinct frontends of this package (nvim self-ids separately as plurnk.nvim);
316
- // splitting them lets service telemetry attribute usage per surface.
314
+ // splitting them lets the service attribute usage per surface.
317
315
  export const CLIENT_ID_CLI = `@plurnk/plurnk-cli/${CLIENT_VERSION}`;
318
316
  export const CLIENT_ID_TUI = `@plurnk/plurnk-tui/${CLIENT_VERSION}`;
319
317
  const isOlder = (a, b) => {
@@ -347,7 +345,7 @@ export const resolveWorkerId = async (rpc, workerName) => {
347
345
  const { workers } = await rpc.call("workspace.workers");
348
346
  const hit = workers.find((r) => r.name === workerName);
349
347
  if (hit === undefined)
350
- throw new Error(`--worker ${workerName}: no such worker in the workspace`);
348
+ throw new ProblemError(clientWorkerNotFound(workerName));
351
349
  return hit.id;
352
350
  };
353
351
  const parseIntFlag = (raw, name) => {
@@ -355,7 +353,7 @@ const parseIntFlag = (raw, name) => {
355
353
  return undefined;
356
354
  const n = Number(raw);
357
355
  if (!Number.isInteger(n) || n < 0)
358
- throw new TelemetryError(clientFlagInvalid(name, raw, "must be a non-negative integer"));
356
+ throw new ProblemError(clientFlagInvalid(name, raw, "must be a non-negative integer"));
359
357
  return n;
360
358
  };
361
359
  // Dispatch a positional-driven subcommand over the action surface. Returns the
@@ -365,24 +363,24 @@ const runSubcommand = async (rpc, positionals, opts) => {
365
363
  const sub = positionals[1];
366
364
  if (verb === "models") {
367
365
  if (positionals.length > 1) {
368
- throw new TelemetryError(clientSubcommandUnknownVerb(`models ${positionals.slice(1).join(" ")}`));
366
+ throw new ProblemError(clientSubcommandUnknownVerb(`models ${positionals.slice(1).join(" ")}`));
369
367
  }
370
368
  return await runModels(rpc, { json: opts.json });
371
369
  }
372
370
  if (verb === "workspace") {
373
371
  if (sub === "list") {
374
372
  if (positionals.length > 2) {
375
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace list ${positionals.slice(2).join(" ")}`));
373
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace list ${positionals.slice(2).join(" ")}`));
376
374
  }
377
375
  return await runWorkspaceList(rpc, { json: opts.json });
378
376
  }
379
377
  if (sub === "workers") {
380
378
  const name = positionals[2];
381
379
  if (name === undefined) {
382
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk workspace workers", "<name>"));
380
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk workspace workers", "<name>"));
383
381
  }
384
382
  if (positionals.length > 3) {
385
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace workers ${positionals.slice(3).join(" ")}`));
383
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace workers ${positionals.slice(3).join(" ")}`));
386
384
  }
387
385
  return await runWorkspaceWorkers(rpc, name, { json: opts.json });
388
386
  }
@@ -390,21 +388,21 @@ const runSubcommand = async (rpc, positionals, opts) => {
390
388
  const name = positionals[2];
391
389
  const newName = positionals[3];
392
390
  if (name === undefined || newName === undefined) {
393
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk workspace rename", "<name> <newname>"));
391
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk workspace rename", "<name> <newname>"));
394
392
  }
395
393
  if (positionals.length > 4) {
396
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace rename ${positionals.slice(4).join(" ")}`));
394
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace rename ${positionals.slice(4).join(" ")}`));
397
395
  }
398
396
  return await runWorkspaceRename(rpc, name, newName, { json: opts.json });
399
397
  }
400
- throw new TelemetryError(clientSubcommandUnknownVerb(`workspace ${sub ?? "(missing)"}`, ["list", "workers", "rename"]));
398
+ throw new ProblemError(clientSubcommandUnknownVerb(`workspace ${sub ?? "(missing)"}`, ["list", "workers", "rename"]));
401
399
  }
402
400
  if (verb === "log") {
403
401
  if (sub !== "read") {
404
- throw new TelemetryError(clientSubcommandUnknownVerb(`log ${sub ?? "(missing)"}`, ["read"]));
402
+ throw new ProblemError(clientSubcommandUnknownVerb(`log ${sub ?? "(missing)"}`, ["read"]));
405
403
  }
406
404
  if (opts.workspaceName === undefined) {
407
- throw new TelemetryError(clientFlagMissingDependency("plurnk log read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
405
+ throw new ProblemError(clientFlagMissingDependency("plurnk log read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
408
406
  }
409
407
  // The caller's threadId (--workspace) scopes the action to that workspace; the
410
408
  // module defaults reads to the conversation (model worker); --worker pins by name.
@@ -426,19 +424,19 @@ const runSubcommand = async (rpc, positionals, opts) => {
426
424
  if (verb === "read") {
427
425
  const coord = positionals[1];
428
426
  if (coord === undefined) {
429
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk read", "<loop>/<turn>/<seq>"));
427
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk read", "<loop>/<turn>/<seq>"));
430
428
  }
431
429
  if (positionals.length > 2) {
432
- throw new TelemetryError(clientSubcommandUnknownVerb(`read ${positionals.slice(2).join(" ")}`));
430
+ throw new ProblemError(clientSubcommandUnknownVerb(`read ${positionals.slice(2).join(" ")}`));
433
431
  }
434
432
  if (opts.workspaceName === undefined) {
435
- throw new TelemetryError(clientFlagMissingDependency("plurnk read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
433
+ throw new ProblemError(clientFlagMissingDependency("plurnk read", "--workspace (or PLURNK_CLIENT_WORKSPACE)"));
436
434
  }
437
435
  // The coordinate is worker-relative; the module defaults to the conversation
438
436
  // (model worker) — --worker pins by name via params, no connection state.
439
437
  return await runRead(rpc, coord, { json: opts.json, workerId: await resolveWorkerId(rpc, opts.workerName) });
440
438
  }
441
- throw new TelemetryError(clientSubcommandUnknownVerb(verb ?? "(missing)"));
439
+ throw new ProblemError(clientSubcommandUnknownVerb(verb ?? "(missing)"));
442
440
  };
443
441
  export const main = async (argv) => {
444
442
  const { positionals, values } = parseArgs({
@@ -462,11 +460,10 @@ export const main = async (argv) => {
462
460
  questions: { type: "boolean" }, // --questions: allow the model to ask via SEND[300]
463
461
  "max-turns": { type: "string" },
464
462
  timeout: { type: "string" },
465
- // membership overlay (svc#200/#242) — repeatable globs; service vocabulary
463
+ // membership overlay — repeatable globs; service vocabulary
466
464
  pick: { type: "string", multiple: true },
467
465
  hide: { type: "string", multiple: true },
468
466
  view: { type: "string", multiple: true },
469
- repo: { type: "string", multiple: true },
470
467
  // workspace-open settings (svc#231) + tighten-only ceilings (svc#232)
471
468
  "files-items": { type: "string" },
472
469
  md: { type: "string", multiple: true },
@@ -511,8 +508,9 @@ export const main = async (argv) => {
511
508
  ? `${positionalPrompt}\n\n${stdinPrompt}`
512
509
  : positionalPrompt || stdinPrompt;
513
510
  if (json && prompt.length === 0) {
514
- if (values.json === true)
515
- dieJson(64, "usage", "--json needs a prompt (CLI mode only)", { flag: "--json" });
511
+ if (values.json === true) {
512
+ dieJson(64, clientProblem("usage", "prompt-required", 400, "--json needs a prompt (CLI mode only)", { flag: "--json" }));
513
+ }
516
514
  // PLURNK_CLIENT_JSON with no prompt is the interactive TUI — env shouldn't force CLI mode.
517
515
  }
518
516
  }
@@ -536,8 +534,8 @@ export const main = async (argv) => {
536
534
  timeoutSec = parseIntFlag(values.timeout, "--timeout");
537
535
  }
538
536
  catch (cause) {
539
- if (cause instanceof TelemetryError)
540
- dieWith(cause.exitCode, cause.event);
537
+ if (cause instanceof ProblemError)
538
+ dieWith(cause.exitCode, cause.problem);
541
539
  dieWith(64, clientRuntimeError(cause));
542
540
  }
543
541
  // --questions / PLURNK_QUESTIONS is a SESSION setting (settings.questions in
@@ -549,8 +547,8 @@ export const main = async (argv) => {
549
547
  return resolveProjectRoot(projectRootRaw);
550
548
  }
551
549
  catch (cause) {
552
- if (cause instanceof TelemetryError)
553
- return dieWith(cause.exitCode, cause.event);
550
+ if (cause instanceof ProblemError)
551
+ return dieWith(cause.exitCode, cause.problem);
554
552
  return dieWith(64, clientRuntimeError(cause));
555
553
  }
556
554
  })();
@@ -599,7 +597,7 @@ export const main = async (argv) => {
599
597
  const { constraints, settings } = await workspaceOptions();
600
598
  const code = await runCliViaBridge({ bridgeUrl, token: process.env.PLURNK_AGUI_TOKEN }, prompt, { threadId: workerName ?? w, workspace: w, ...(modelAlias !== undefined ? { alias: modelAlias } : {}), ...(resolveModelSpec(modelAlias) !== undefined ? { model: resolveModelSpec(modelAlias) } : {}), ...(loopFlags !== undefined ? { flags: loopFlags } : {}), ...(maxTurns !== undefined ? { maxTurns } : {}), ...(timeoutSec !== undefined ? { timeoutSec } : {}), yolo, json, projectRoot, constraints, settings });
601
599
  // Let Node drain stdout before termination. A forced exit truncated large
602
- // --json records mid-string when telemetry made the pipe exceed its buffer.
600
+ // --json records mid-string when notices made the pipe exceed its buffer.
603
601
  process.exitCode = code;
604
602
  return;
605
603
  }
@@ -609,9 +607,18 @@ export const main = async (argv) => {
609
607
  // a bridge that ANSWERED with an error surfaces its real cause — claiming
610
608
  // "no daemon running" over a 500 would lie. json mode still emits ONE
611
609
  // valid document on stdout either way.
610
+ if (cause instanceof ProblemError) {
611
+ if (json)
612
+ dieJson(cause.exitCode, cause.problem);
613
+ dieWith(cause.exitCode, cause.problem);
614
+ }
612
615
  const detail = cause instanceof Error ? cause.message : String(cause);
613
- if (json)
614
- dieJson(1, isUnreachable(cause) ? "connection_refused" : "bridge_error", detail, { bridge: bridgeUrl });
616
+ if (json) {
617
+ const problem = isUnreachable(cause)
618
+ ? clientConnectionRefused(bridgeUrl, cause)
619
+ : clientProblem("bridge", "error", 502, detail, { bridge: bridgeUrl });
620
+ dieJson(1, problem);
621
+ }
615
622
  if (isUnreachable(cause))
616
623
  dieWith(1, clientConnectionRefused(bridgeUrl, cause));
617
624
  dieWith(1, clientRuntimeError(new Error(`plurnk-agui bridge (${bridgeUrl}) — ${detail}`)));
@@ -627,7 +634,7 @@ export const main = async (argv) => {
627
634
  const threadId = workerName ?? w;
628
635
  const { constraints, settings } = await workspaceOptions();
629
636
  // Workspace options ride the thread's first run (forwardedProps.plurnk): the
630
- // same constraints (--pick/hide/view/repo) + settings every AG-UI+ run sends on
637
+ // Same constraints (--pick/hide/view) + settings every AG-UI+ run sends on
631
638
  // workspace.create, so a bridge TUI is configured identically. (When the world
632
639
  // was daemon-minted above, it was created WITH these already; a re-send on the
633
640
  // first run is idempotent — the workspace exists, options apply at creation only.)
@@ -653,10 +660,10 @@ export const main = async (argv) => {
653
660
  if (subcommand === "script") {
654
661
  const filePath = positionals[1];
655
662
  if (filePath === undefined) {
656
- throw new TelemetryError(clientSubcommandMissingArgument("plurnk script", "<file.plk>"));
663
+ throw new ProblemError(clientSubcommandMissingArgument("plurnk script", "<file.plk>"));
657
664
  }
658
665
  if (positionals.length > 2) {
659
- throw new TelemetryError(clientSubcommandUnknownVerb(`script ${positionals.slice(2).join(" ")}`));
666
+ throw new ProblemError(clientSubcommandUnknownVerb(`script ${positionals.slice(2).join(" ")}`));
660
667
  }
661
668
  const text = await readFile(resolve(filePath), "utf8"); // fail-hard on a missing file
662
669
  const exitCode = await runScriptViaBridge(target, text, { threadId: callerThread, yolo, json, projectRoot });
@@ -678,13 +685,12 @@ export const main = async (argv) => {
678
685
  // json mode: a structured error document on stdout (valid JSON even on
679
686
  // failure), paired with the right exit code. Text mode narrates to stderr.
680
687
  if (json) {
681
- const kind = cause instanceof TelemetryError ? cause.event.kind : "runtime_error";
682
- const extra = undefined;
683
- const code = cause instanceof TelemetryError ? cause.exitCode : 1;
684
- dieJson(code, kind, cause instanceof Error ? cause.message : String(cause), extra);
688
+ const problem = cause instanceof ProblemError ? cause.problem : clientRuntimeError(cause);
689
+ const code = cause instanceof ProblemError ? cause.exitCode : 1;
690
+ dieJson(code, problem);
685
691
  }
686
- if (cause instanceof TelemetryError) {
687
- report(cause.event);
692
+ if (cause instanceof ProblemError) {
693
+ report(cause.problem);
688
694
  process.exit(cause.exitCode);
689
695
  }
690
696
  // A daemon-rejected RPC arrives as a typed RpcError carrying the failed
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"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"}
package/dist/render.d.ts CHANGED
@@ -4,6 +4,7 @@ export declare const modelSendGlyph: (status: number) => string;
4
4
  export declare const sendSubGlyph: (status: number) => string;
5
5
  export interface LogEntryWire {
6
6
  id: number;
7
+ worker_id?: number;
7
8
  op: string;
8
9
  suffix: string;
9
10
  origin: string;
@@ -30,9 +31,7 @@ export declare const renderLogEntry: (entry: LogEntryWire) => string;
30
31
  export interface LoopUsage {
31
32
  promptTokens: number;
32
33
  completionTokens: number;
33
- costPico: number;
34
- sessionCostPico?: number;
35
- balancePico?: number;
34
+ costUsd: number;
36
35
  contextTokens?: number;
37
36
  promptBudget?: number | null;
38
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAUF,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,MAY7C,CAAC;AA2EF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,sBAAsB,UAAW,YAAY,KAAG,OAO5D,CAAC;AAMF,eAAO,MAAM,UAAU,YAAa,MAAM,WAAW,MAAM,YAAY,MAAM,KAAG,MAG/E,CAAC;AAKF,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAC8C,CAAC;AAkC/F,eAAO,MAAM,eAAe,cAAe,OAAO,YAAY,OAAO,KAAG,MAWvE,CAAC;AAuDF,eAAO,MAAM,aAAa,UAAW,YAAY,KAAG,OACA,CAAC;AAerD,eAAO,MAAM,WAAW,UAAW,YAAY,KAAG,MAAM,GAAG,IAK1D,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,KAAG,MAgDpD,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAIjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AASD,eAAO,MAAM,YAAY,mBAAoB,MAAM,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAInF,CAAC;AASF,eAAO,MAAM,mBAAmB,WAAY,MAAM,KAAG,MAON,CAAC;AAEhD,eAAO,MAAM,aAAa,UAAW,MAAM,UAAU,MAAM,eAAe,MAAM,eAAe,OAAO,UAAU,SAAS,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAezJ,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAUF,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,MAY7C,CAAC;AA2EF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,sBAAsB,UAAW,YAAY,KAAG,OAO5D,CAAC;AAMF,eAAO,MAAM,UAAU,YAAa,MAAM,WAAW,MAAM,YAAY,MAAM,KAAG,MAG/E,CAAC;AAKF,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAC8C,CAAC;AAsC/F,eAAO,MAAM,eAAe,cAAe,OAAO,YAAY,OAAO,KAAG,MAYvE,CAAC;AAuDF,eAAO,MAAM,aAAa,UAAW,YAAY,KAAG,OACA,CAAC;AAerD,eAAO,MAAM,WAAW,UAAW,YAAY,KAAG,MAAM,GAAG,IAK1D,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,KAAG,MAgDpD,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAOhB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AASD,eAAO,MAAM,YAAY,mBAAoB,MAAM,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAInF,CAAC;AASF,eAAO,MAAM,mBAAmB,WAAY,MAAM,KAAG,MAON,CAAC;AAEhD,eAAO,MAAM,aAAa,UAAW,MAAM,UAAU,MAAM,eAAe,MAAM,eAAe,OAAO,UAAU,SAAS,iBAAiB,MAAM,GAAG,IAAI,KAAG,MAUzJ,CAAC"}
package/dist/render.js CHANGED
@@ -173,6 +173,9 @@ export const progressLabel = (percent) => `${DIM}${`${Math.max(0, Math.min(100,
173
173
  const coordPrefix = (entry) => coordLabel(entry.loop_seq, entry.turn_seq, entry.sequence);
174
174
  const BOLD = code("1");
175
175
  const ITALIC = code("3");
176
+ // A common model-authored inline-math spelling with an exact terminal glyph.
177
+ // This is typographic normalization, not a claim of general LaTeX support.
178
+ const normalizeProse = (s) => s.replaceAll("$\\rightarrow$", "→");
176
179
  // Heuristic: body looks like markdown if it carries any of the structural markers.
177
180
  // False positives on plain text containing isolated `*` or `_` are avoided by requiring
178
181
  // paired markers or line-anchored constructs.
@@ -211,9 +214,10 @@ export const extractSendBody = (txUnknown, prettify) => {
211
214
  return JSON.stringify(json, null, 2);
212
215
  if (typeof raw !== "string")
213
216
  return "";
214
- if (looksLikeMarkdown(raw))
215
- return renderMarkdown(raw);
216
- return raw;
217
+ const prose = normalizeProse(raw);
218
+ if (looksLikeMarkdown(prose))
219
+ return renderMarkdown(prose);
220
+ return prose;
217
221
  };
218
222
  // Bold the model's ANSWER. The model's terminal SEND (200 done / 499 cancelled
219
223
  // — a signal, not a directed target) is its reply to the user; its body renders
@@ -230,7 +234,7 @@ const emphasizeLines = (lines, on) => {
230
234
  .map((l) => `${BOLD}${l.split(RESET).join(RESET + BOLD)}${RESET}`)
231
235
  .join("\n");
232
236
  };
233
- // Broadcast SEND (model → user) — multi-line block, content not telemetry.
237
+ // Broadcast SEND (model → user) — multi-line block, content rather than a Notice.
234
238
  // Per TUI.md §3.4.1 / SPEC.md §5.4. Header column-aligns with trace lines (2-space indent);
235
239
  // body indents further (5 spaces) so it visually nests under the speaker.
236
240
  const renderBroadcast = (entry) => {
@@ -363,15 +367,8 @@ export const renderSummary = (turns, wallMs, finalStatus, hitMaxTurns, usage, pr
363
367
  if (usage !== undefined) {
364
368
  tokenPart = ` · ↑${usage.promptTokens} ↓${usage.completionTokens}`;
365
369
  tokenPart += contextGauge(usage.contextTokens, promptBudget);
366
- // Money: loop (this loop's cost) | workspace (daemon total, svc#254) |
367
- // remaining (account balance, svc#252). Each only when available — the
368
- // client renders all three, aggregates none.
369
- if (usage.costPico > 0)
370
- tokenPart += ` · loop $${(usage.costPico / 1e12).toFixed(4)}`;
371
- if (usage.sessionCostPico !== undefined)
372
- tokenPart += ` · workspace $${(usage.sessionCostPico / 1e12).toFixed(2)}`;
373
- if (usage.balancePico !== undefined)
374
- tokenPart += ` · remaining $${(usage.balancePico / 1e12).toFixed(2)}`;
370
+ if (usage.costUsd > 0)
371
+ tokenPart += ` · loop $${usage.costUsd.toFixed(4)}`;
375
372
  }
376
373
  return `${DIM} ${tag} · ${turns} turn${turns === 1 ? "" : "s"} · ${ms}${tokenPart}${RESET}`;
377
374
  };