@plurnk/plurnk 0.83.4 → 0.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.env.defaults +2 -2
  2. package/README.md +129 -126
  3. package/conformance/agui-client.json +28 -41
  4. package/dist/QuestionForm.d.ts +17 -0
  5. package/dist/QuestionForm.d.ts.map +1 -0
  6. package/dist/QuestionForm.js +74 -0
  7. package/dist/QuestionForm.js.map +1 -0
  8. package/dist/agents.js +8 -8
  9. package/dist/agents.js.map +1 -1
  10. package/dist/agui_cli.d.ts +3 -7
  11. package/dist/agui_cli.d.ts.map +1 -1
  12. package/dist/agui_cli.js +27 -30
  13. package/dist/agui_cli.js.map +1 -1
  14. package/dist/build-info.json +1 -1
  15. package/dist/cli.d.ts +0 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +11 -20
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands.d.ts +20 -0
  20. package/dist/commands.d.ts.map +1 -1
  21. package/dist/commands.js +7 -2
  22. package/dist/commands.js.map +1 -1
  23. package/dist/completion.d.ts +2 -2
  24. package/dist/completion.d.ts.map +1 -1
  25. package/dist/completion.js +12 -27
  26. package/dist/completion.js.map +1 -1
  27. package/dist/diagnostics.d.ts +1 -1
  28. package/dist/diagnostics.d.ts.map +1 -1
  29. package/dist/diagnostics.js +3 -3
  30. package/dist/diagnostics.js.map +1 -1
  31. package/dist/dispatcher.d.ts +1 -1
  32. package/dist/dispatcher.d.ts.map +1 -1
  33. package/dist/dispatcher.js +8 -13
  34. package/dist/dispatcher.js.map +1 -1
  35. package/dist/mcp.js +14 -14
  36. package/dist/mcp.js.map +1 -1
  37. package/dist/members.js +7 -7
  38. package/dist/members.js.map +1 -1
  39. package/dist/plan.d.ts +0 -1
  40. package/dist/plan.d.ts.map +1 -1
  41. package/dist/plan.js +12 -7
  42. package/dist/plan.js.map +1 -1
  43. package/dist/policy.d.ts +1 -3
  44. package/dist/policy.d.ts.map +1 -1
  45. package/dist/policy.js +5 -15
  46. package/dist/policy.js.map +1 -1
  47. package/dist/proposal.d.ts +0 -1
  48. package/dist/proposal.d.ts.map +1 -1
  49. package/dist/proposal.js +2 -31
  50. package/dist/proposal.js.map +1 -1
  51. package/dist/reasoning.d.ts +1 -0
  52. package/dist/reasoning.d.ts.map +1 -1
  53. package/dist/reasoning.js +4 -1
  54. package/dist/reasoning.js.map +1 -1
  55. package/dist/render.d.ts +4 -2
  56. package/dist/render.d.ts.map +1 -1
  57. package/dist/render.js +39 -48
  58. package/dist/render.js.map +1 -1
  59. package/dist/skills.js +9 -9
  60. package/dist/skills.js.map +1 -1
  61. package/dist/status.d.ts +9 -6
  62. package/dist/status.d.ts.map +1 -1
  63. package/dist/status.js +37 -41
  64. package/dist/status.js.map +1 -1
  65. package/dist/stream.d.ts +0 -1
  66. package/dist/stream.d.ts.map +1 -1
  67. package/dist/stream.js +2 -2
  68. package/dist/stream.js.map +1 -1
  69. package/dist/subcommands.d.ts.map +1 -1
  70. package/dist/subcommands.js +4 -3
  71. package/dist/subcommands.js.map +1 -1
  72. package/dist/tail-text.d.ts +9 -0
  73. package/dist/tail-text.d.ts.map +1 -0
  74. package/dist/tail-text.js +23 -0
  75. package/dist/tail-text.js.map +1 -0
  76. package/dist/transport.d.ts +0 -2
  77. package/dist/transport.d.ts.map +1 -1
  78. package/dist/transport.js +12 -7
  79. package/dist/transport.js.map +1 -1
  80. package/dist/tui-surface.d.ts +1 -0
  81. package/dist/tui-surface.d.ts.map +1 -1
  82. package/dist/tui-surface.js +10 -1
  83. package/dist/tui-surface.js.map +1 -1
  84. package/dist/tui.d.ts +1 -2
  85. package/dist/tui.d.ts.map +1 -1
  86. package/dist/tui.js +90 -98
  87. package/dist/tui.js.map +1 -1
  88. package/dist/workers.d.ts +10 -0
  89. package/dist/workers.d.ts.map +1 -1
  90. package/dist/workers.js +63 -5
  91. package/dist/workers.js.map +1 -1
  92. package/man/plurnk.1 +6 -2
  93. package/package.json +3 -3
package/dist/workers.d.ts CHANGED
@@ -6,5 +6,15 @@ export interface WorkerRow {
6
6
  parentWorkerId?: number | null;
7
7
  }
8
8
  export declare const workerNameFromTarget: (target: string) => string | null;
9
+ export declare const workerPath: (workers: readonly WorkerRow[], bound: string | null) => string;
10
+ export type Hop = "parent" | "enter" | "older" | "newer";
11
+ export declare const traverse: (workers: readonly WorkerRow[], bound: string | null, hop: Hop) => {
12
+ target: WorkerRow | null;
13
+ notice: string | null;
14
+ };
15
+ export declare const siblingPosition: (workers: readonly WorkerRow[], bound: string | null) => {
16
+ index: number;
17
+ count: number;
18
+ } | null;
9
19
  export declare const renderWorkerTopology: (workers: readonly WorkerRow[], bound: string | null) => string;
10
20
  //# sourceMappingURL=workers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAID,eAAO,MAAM,oBAAoB,WAAY,MAAM,KAAG,MAAM,GAAG,IACD,CAAC;AAO/D,eAAO,MAAM,oBAAoB,YAAa,SAAS,SAAS,EAAE,SAAS,MAAM,GAAG,IAAI,KAAG,MAkC1F,CAAC"}
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAGD,eAAO,MAAM,oBAAoB,WAAY,MAAM,KAAG,MAAM,GAAG,IACD,CAAC;AAe/D,eAAO,MAAM,UAAU,YAAa,SAAS,SAAS,EAAE,SAAS,MAAM,GAAG,IAAI,KAAG,MAWhF,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAKzD,eAAO,MAAM,QAAQ,YACR,SAAS,SAAS,EAAE,SACtB,MAAM,GAAG,IAAI,OACf,GAAG,KACT;IAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAkBnD,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,SAAS,SAAS,EAAE,SAAS,MAAM,GAAG,IAAI,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAKxH,CAAC;AAaF,eAAO,MAAM,oBAAoB,YAAa,SAAS,SAAS,EAAE,SAAS,MAAM,GAAG,IAAI,KAAG,MAkC1F,CAAC"}
package/dist/workers.js CHANGED
@@ -1,7 +1,65 @@
1
- // A `worker://<name>` reference names a worker; `worker://~/…` and `worker:///…`
2
- // are files in a worker's tree and name none.
1
+ // Only a pathless `worker://<name>` references an actor; scratch paths do not.
3
2
  export const workerNameFromTarget = (target) => /^worker:\/\/([^/~\s][^/\s]*)$/u.exec(target)?.[1] ?? null;
4
- const byCreated = (a, b) => a.created_at < b.created_at ? -1 : a.created_at > b.created_at ? 1 : a.id - b.id;
3
+ // Newest first ({§cli-workers-topology}): the child you just spawned is the one you reach first.
4
+ const byRecency = (a, b) => a.created_at > b.created_at ? -1 : a.created_at < b.created_at ? 1 : b.id - a.id;
5
+ // The places a session can be: conversations and their descendants. The daemon's own
6
+ // maintenance worker and a connection's scratch worker are not places.
7
+ const isPlace = (worker) => worker.origin === "model";
8
+ const parentIn = (byId) => (worker) => worker.parentWorkerId !== undefined && worker.parentWorkerId !== null ? byId.get(worker.parentWorkerId) ?? null : null;
9
+ // The lineage from the tree root to the bound worker. `~` is a display cursor,
10
+ // not a resource alias: `/~main`, `/main/fork-1/~recheck`, or `/~` before binding.
11
+ export const workerPath = (workers, bound) => {
12
+ const byId = new Map(workers.map((worker) => [worker.id, worker]));
13
+ const parentOf = parentIn(byId);
14
+ let current = workers.find((worker) => worker.name === bound) ?? null;
15
+ if (current === null)
16
+ return bound === null ? "/~" : `/~${bound}`;
17
+ const segments = [`~${current.name}`];
18
+ for (let parent = parentOf(current); parent !== null; parent = parentOf(current)) {
19
+ current = parent;
20
+ segments.unshift(current.name);
21
+ }
22
+ return `/${segments.join("/")}`;
23
+ };
24
+ // One traversal step over the workspace tree ({§cli-workers-topology}): `parent` climbs, `enter`
25
+ // descends to the newest child, `older`/`newer` walk siblings and wrap. A step with
26
+ // nowhere to go names why. Position is the bound worker's place among its siblings, newest first.
27
+ export const traverse = (workers, bound, hop) => {
28
+ const byId = new Map(workers.map((worker) => [worker.id, worker]));
29
+ const parentOf = parentIn(byId);
30
+ const current = workers.find((worker) => worker.name === bound) ?? null;
31
+ if (current === null)
32
+ return { target: null, notice: "no bound worker yet: run a prompt or /attach <name> first" };
33
+ if (hop === "parent") {
34
+ const parent = parentOf(current);
35
+ return parent === null ? { target: null, notice: "at the root: no parent" } : { target: parent, notice: null };
36
+ }
37
+ if (hop === "enter") {
38
+ const child = workers.filter((worker) => isPlace(worker) && parentOf(worker)?.id === current.id).toSorted(byRecency)[0] ?? null;
39
+ return child === null ? { target: null, notice: "no children" } : { target: child, notice: null };
40
+ }
41
+ const siblings = siblingsOf(workers, current);
42
+ const index = siblings.findIndex((worker) => worker.id === current.id);
43
+ if (siblings.length < 2)
44
+ return { target: null, notice: "no siblings" };
45
+ const step = hop === "older" ? 1 : -1;
46
+ return { target: siblings[(index + step + siblings.length) % siblings.length], notice: null };
47
+ };
48
+ export const siblingPosition = (workers, bound) => {
49
+ const current = workers.find((worker) => worker.name === bound) ?? null;
50
+ if (current === null)
51
+ return null;
52
+ const siblings = siblingsOf(workers, current);
53
+ return siblings.length < 2 ? null : { index: siblings.findIndex((worker) => worker.id === current.id) + 1, count: siblings.length };
54
+ };
55
+ const siblingsOf = (workers, current) => {
56
+ const byId = new Map(workers.map((worker) => [worker.id, worker]));
57
+ const parentOf = parentIn(byId);
58
+ const parent = parentOf(current);
59
+ return workers
60
+ .filter((worker) => (isPlace(worker) || worker.id === current.id) && (parentOf(worker)?.id ?? null) === (parent?.id ?? null))
61
+ .toSorted(byRecency);
62
+ };
5
63
  // Lifecycle glyphs for workers other than the bound one arrive with
6
64
  // plurnk-service#653; until then no glyph is inferred from row coordinates.
7
65
  export const renderWorkerTopology = (workers, bound) => {
@@ -17,7 +75,7 @@ export const renderWorkerTopology = (workers, bound) => {
17
75
  children.set(parent, siblings);
18
76
  }
19
77
  for (const siblings of children.values())
20
- siblings.sort(byCreated);
78
+ siblings.sort(byRecency);
21
79
  const rootOf = (worker) => {
22
80
  let current = worker;
23
81
  for (let parent = parentOf(current); parent !== null; parent = parentOf(current))
@@ -26,7 +84,7 @@ export const renderWorkerTopology = (workers, bound) => {
26
84
  };
27
85
  const boundRow = workers.find((worker) => worker.name === bound);
28
86
  const boundRootId = boundRow === undefined ? null : rootOf(boundRow).id;
29
- const roots = (children.get(null) ?? []).toSorted((a, b) => a.id === boundRootId ? -1 : b.id === boundRootId ? 1 : byCreated(a, b));
87
+ const roots = (children.get(null) ?? []).toSorted((a, b) => a.id === boundRootId ? -1 : b.id === boundRootId ? 1 : byRecency(a, b));
30
88
  const rows = [];
31
89
  const walk = (worker, prefix, connector) => {
32
90
  rows.push({ tree: `${prefix}${connector}${worker.name === bound ? "●" : "○"} ${worker.name}`, worker });
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
package/man/plurnk.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH PLURNK 1 "" "plurnk 0.83.3" "User Commands"
1
+ .TH PLURNK 1 "" "plurnk 0.83.5" "User Commands"
2
2
  .SH NAME
3
3
  plurnk \- terminal client for the plurnk\-service agentic daemon
4
4
  .SH SYNOPSIS
@@ -68,7 +68,7 @@ log read / read <coord>) inspect daemon state without running a loop.
68
68
  --timeout <s> cancel each prompt loop (loop.cancel) after <s> seconds;
69
69
  CLI exits 3 with "timedOut":true. Web retains the Worker.
70
70
  --files-items <n> workspace-open preview of the TRACKED-FILE list
71
- (### FIND0 (file:///**)): -1 full / 0 off / N first-N. Memory
71
+ (### FIND_ (file:///**)): -1 full / 0 off / N first-N. Memory
72
72
  (known/unknown/worker/plurnk) always foists full. Create-time.
73
73
  --max-commands <n> ceiling on ops per emission for the workspace (min with the
74
74
  daemon's PLURNK_MAX_COMMANDS — can only tighten). Create-time.
@@ -125,6 +125,10 @@ The no-argument interactive terminal accepts these slash commands:
125
125
  /rename <name> Rename this workspace's mutable handle.
126
126
  /worker [name] Fork and enter a new worker.
127
127
  /attach <name> Bind this session to a worker by name; a new name mints a fresh conversation.
128
+ /parent Hop to the bound worker's parent (Alt-h).
129
+ /enter Hop into the bound worker's newest child (Alt-l).
130
+ /older Hop to the next older sibling worker, wrapping (Alt-j).
131
+ /newer Hop to the next newer sibling worker, wrapping (Alt-k).
128
132
  /mcp [subcommand] List or manage this worker's MCP servers.
129
133
  /skills [subcommand] List or manage this worker's Agent Skills.
130
134
  /agents [subcommand] List or manage this worker's outbound A2A agents.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk",
3
- "version": "0.83.4",
3
+ "version": "0.84.0",
4
4
  "description": "Plurnk terminal client — one-shot CLI and scrollback-native interactive AG-UI client.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -59,7 +59,7 @@
59
59
  "@ag-ui/client": "^0.0.59",
60
60
  "@ag-ui/core": "^0.0.59",
61
61
  "@earendil-works/pi-tui": "^0.85.0",
62
- "@plurnk/plurnk-contracts": "^1.16.4",
62
+ "@plurnk/plurnk-contracts": "^1.17.0",
63
63
  "beautiful-mermaid": "^1.1.3",
64
64
  "cli-table3": "^0.6.5",
65
65
  "marked": "^18.0.11",
@@ -67,7 +67,7 @@
67
67
  "wrap-ansi": "^10.0.1"
68
68
  },
69
69
  "plurnk": {
70
- "builtAgainst": "1.16.4"
70
+ "builtAgainst": "1.17.0"
71
71
  },
72
72
  "man": "./man/plurnk.1"
73
73
  }