@arhen/pi-core-subagent 1.3.9 → 1.3.11
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 +2 -0
- package/package.json +1 -1
- package/src/index.ts +6 -3
package/README.md
CHANGED
|
@@ -232,6 +232,8 @@ Background (default) + intercom — the run returns a runId immediately; you sta
|
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
**Steering a running child:** while a background run is active the leader stays responsive, and you can push a message into a live child's session mid-run with `steer_subagent` — e.g. `steer_subagent({ runId, taskId, message: "Ignore tests/, only audit runtime deps" })`. The message queues as a steer if the child is mid-turn and lands at its next model boundary. Omit `taskId` to steer every still-running task in the run. Combined with `notifyPerTask`, this makes a background run feel like a live team you can redirect, not a fire-and-forget blob.
|
|
236
|
+
|
|
235
237
|
## Tools
|
|
236
238
|
|
|
237
239
|
| Tool | Purpose |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arhen/pi-core-subagent",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "pi extension: fast in-process subagents with a dependency-graph scheduler (needs edges gate tasks and carry upstream output into dependent prompts), plus background runs, intercom and agent-to-agent mailbox. Leader defines agents inline.",
|
|
6
6
|
"license": "MIT",
|
package/src/index.ts
CHANGED
|
@@ -177,9 +177,9 @@ export default function (pi: ExtensionAPI) {
|
|
|
177
177
|
: args.agent
|
|
178
178
|
? `single ${args.agent}`
|
|
179
179
|
: "preparing…";
|
|
180
|
-
const flags = [args.background ? "
|
|
180
|
+
const flags = [(args.background ?? manager.autoBgOn) ? "bg" : "blocking", args.allowIntercom ? "a2a" : ""]
|
|
181
181
|
.filter(Boolean)
|
|
182
|
-
.join("
|
|
182
|
+
.join(" · ");
|
|
183
183
|
// Params used, dimmed: model, thinking, toolset, per-task write count.
|
|
184
184
|
const tasks = args.tasks ?? args.chain ?? [];
|
|
185
185
|
const writeCount = tasks.filter((t) => t.write).length;
|
|
@@ -201,12 +201,15 @@ export default function (pi: ExtensionAPI) {
|
|
|
201
201
|
const id = t.id ?? `task_${i + 1}`;
|
|
202
202
|
const edge = t.needs?.length ? theme.fg("muted", ` ← ${t.needs.join(", ")}`) : "";
|
|
203
203
|
const mark = t.write ? theme.fg("warning", " ✎") : "";
|
|
204
|
+
const meta = [t.model ? `model:${t.model}` : "", t.thinking ? `effort:${t.thinking}` : ""]
|
|
205
|
+
.filter(Boolean)
|
|
206
|
+
.join(" ");
|
|
204
207
|
// Plain clip, not truncateText — that one appends a multi-line session-file notice.
|
|
205
208
|
const flat = String(t.task ?? "")
|
|
206
209
|
.replace(/\s+/g, " ")
|
|
207
210
|
.trim();
|
|
208
211
|
const what = flat ? theme.fg("dim", ` ${flat.length > 64 ? `${flat.slice(0, 64)}…` : flat}`) : "";
|
|
209
|
-
return `\n ${theme.fg("muted", id)} ${theme.fg("accent", t.agent ?? "…")}${mark}${edge}${what}`;
|
|
212
|
+
return `\n ${theme.fg("muted", id)} ${theme.fg("accent", t.agent ?? "…")}${mark}${edge}${meta ? ` ${theme.fg("dim", meta)}` : ""}${what}`;
|
|
210
213
|
})
|
|
211
214
|
.join("");
|
|
212
215
|
return new Text(
|