@arhen/pi-core-subagent 1.1.19 → 1.1.20

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 CHANGED
@@ -104,7 +104,7 @@ Background + intercom:
104
104
 
105
105
  Read-only pane over the session's subagents:
106
106
 
107
- - `↑`/`↓` — move between agents
107
+ - `shift+↑`/`shift+↓` (or `j`/`k`) — move between agents; bare arrows work too where the terminal doesn't reserve them
108
108
  - `enter` — live tail of that child's session file (`esc` goes back)
109
109
  - `x` then `y` — abort ONE subagent (only mutation; `n`/any other key cancels)
110
110
  - `esc` — close
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arhen/pi-core-subagent",
3
- "version": "1.1.19",
3
+ "version": "1.1.20",
4
4
  "type": "module",
5
5
  "description": "pi extension: fast in-process subagents with single/parallel/chain, background runs, intercom and agent-to-agent mailbox. Leader defines agents inline.",
6
6
  "license": "MIT",
package/src/index.ts CHANGED
@@ -1241,7 +1241,7 @@ export default function (pi: ExtensionAPI) {
1241
1241
  { overlay: true, overlayOptions: { anchor: "center", width: "80%", maxHeight: "70%" } },
1242
1242
  );
1243
1243
  };
1244
- pi.registerCommand("peek", { description: "Peek at running subagents (↑↓ move, enter tails)", handler: (_args, ctx) => openPeek(ctx) });
1244
+ pi.registerCommand("peek", { description: "Peek at running subagents (shift+↑↓ or j/k move, enter tails)", handler: (_args, ctx) => openPeek(ctx) });
1245
1245
  // ctrl+shift+s belongs to pi-web-access (search curator); 'a' for agents is free.
1246
1246
  pi.registerShortcut("ctrl+shift+a", { description: "Peek at running subagents", handler: openPeek });
1247
1247
 
package/src/peek.ts CHANGED
@@ -105,7 +105,7 @@ export function createPeekPane(
105
105
  selected = clamp(selected, tasks.length);
106
106
  if (tasks.length === 0) return [theme.fg("dim", "No subagents in this session.")];
107
107
  const task = tasks[selected]!;
108
- const hint = confirming ? theme.fg("error", `abort ${task.agent}? y / n`) : tailing ? "esc back · x abort" : "↑↓ move · enter tail · x abort · esc close";
108
+ const hint = confirming ? theme.fg("error", `abort ${task.agent}? y / n`) : tailing ? "esc back · x abort" : "shift+↑↓ or j/k move · enter tail · x abort · esc close";
109
109
  const head = `${theme.fg("accent", theme.bold(tailing ? task.agent : "Subagents"))} ${theme.fg("dim", `(${selected + 1}/${tasks.length}) · ${hint}`)}`;
110
110
  if (!tailing) {
111
111
  return [head, ...tasks.map((t, i) => truncateToWidth(`${i === selected ? theme.fg("accent", "❯ ") : " "}${t.line}`, width, "…"))];
@@ -136,9 +136,10 @@ export function createPeekPane(
136
136
  tailing = true;
137
137
  } else if (matchesKey(data, Key.left)) {
138
138
  tailing = false;
139
- } else if (matchesKey(data, Key.up)) {
139
+ } else if (matchesKey(data, "shift+up") || matchesKey(data, Key.up) || data === "k") {
140
+ // shift+↑↓ and j/k are the reliable pair: bare arrows can be eaten by prompt history.
140
141
  selected = clamp(selected - 1, len);
141
- } else if (matchesKey(data, Key.down)) {
142
+ } else if (matchesKey(data, "shift+down") || matchesKey(data, Key.down) || data === "j") {
142
143
  selected = clamp(selected + 1, len);
143
144
  }
144
145
  requestRender();