@arhen/pi-core-subagent 1.1.3 → 1.1.4
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/package.json +1 -1
- package/src/index.ts +6 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arhen/pi-core-subagent",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
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
|
@@ -59,6 +59,7 @@ interface TaskInput {
|
|
|
59
59
|
tools?: string[];
|
|
60
60
|
model?: string;
|
|
61
61
|
thinking?: string;
|
|
62
|
+
cwd?: string;
|
|
62
63
|
maxRuntimeMs?: number;
|
|
63
64
|
}
|
|
64
65
|
|
|
@@ -814,7 +815,7 @@ class SubagentManager {
|
|
|
814
815
|
|
|
815
816
|
const mode: RunMode = hasChain ? "chain" : hasTasks ? "parallel" : "single";
|
|
816
817
|
const inputs: TaskInput[] = hasSingle
|
|
817
|
-
? [{ agent: params.agent as string, task: params.task as string, prompt: params.prompt, write: params.write, model: params.model, thinking: params.thinking, tools: params.tools, maxRuntimeMs: params.maxRuntimeMs }]
|
|
818
|
+
? [{ agent: params.agent as string, task: params.task as string, prompt: params.prompt, write: params.write, model: params.model, thinking: params.thinking, cwd: params.cwd, tools: params.tools, maxRuntimeMs: params.maxRuntimeMs }]
|
|
818
819
|
: hasTasks
|
|
819
820
|
? params.tasks!
|
|
820
821
|
: params.chain!;
|
|
@@ -834,7 +835,7 @@ class SubagentManager {
|
|
|
834
835
|
runId: "",
|
|
835
836
|
agent: input.agent,
|
|
836
837
|
task: input.task,
|
|
837
|
-
cwd: ctx.cwd,
|
|
838
|
+
cwd: input.cwd ?? ctx.cwd,
|
|
838
839
|
status: "queued" as TaskStatus,
|
|
839
840
|
model: input.model,
|
|
840
841
|
thinking: input.thinking,
|
|
@@ -1013,6 +1014,7 @@ const TaskItem = Type.Object({
|
|
|
1013
1014
|
write: Type.Optional(Type.Boolean({ description: "true = write toolset (read, bash, edit, write); default false = read-only (read, grep, find, ls)" })),
|
|
1014
1015
|
model: Type.Optional(Type.String({ description: "Model override (provider/model-id)" })),
|
|
1015
1016
|
thinking: Type.Optional(StringEnum(THINKING_LEVELS, { description: "Thinking level override" })),
|
|
1017
|
+
cwd: Type.Optional(Type.String({ description: "Working directory for this task. Default: current project." })),
|
|
1016
1018
|
tools: Type.Optional(Type.Array(Type.String(), { description: "Explicit tool allowlist (overrides the toolset)" })),
|
|
1017
1019
|
maxRuntimeMs: Type.Optional(Type.Number({ description: "Per-task timeout (ms)" })),
|
|
1018
1020
|
});
|
|
@@ -1026,6 +1028,7 @@ type SubagentParamsShape = {
|
|
|
1026
1028
|
chain?: TaskInput[];
|
|
1027
1029
|
model?: string;
|
|
1028
1030
|
thinking?: string;
|
|
1031
|
+
cwd?: string;
|
|
1029
1032
|
tools?: string[];
|
|
1030
1033
|
concurrency?: number;
|
|
1031
1034
|
maxRuntimeMs?: number;
|
|
@@ -1043,6 +1046,7 @@ const SubagentParams = Type.Object({
|
|
|
1043
1046
|
chain: Type.Optional(Type.Array(TaskItem, { description: "Sequential tasks; {previous} = prior output" })),
|
|
1044
1047
|
model: Type.Optional(Type.String({ description: "Model override (single mode)" })),
|
|
1045
1048
|
thinking: Type.Optional(StringEnum(THINKING_LEVELS, { description: "Thinking level override (single mode)" })),
|
|
1049
|
+
cwd: Type.Optional(Type.String({ description: "Working directory (single mode). Default: current project." })),
|
|
1046
1050
|
concurrency: Type.Optional(Type.Number({ description: `Parallel concurrency (default ${DEFAULT_CONCURRENCY}, max ${MAX_CONCURRENCY})` })),
|
|
1047
1051
|
maxRuntimeMs: Type.Optional(Type.Number({ description: `Per-task timeout, ms (default ${DEFAULT_RUNTIME_MS / 60000} min)` })),
|
|
1048
1052
|
background: Type.Optional(Type.Boolean({ description: "Fire-and-forget: return immediately with a runId; you'll be notified on completion" })),
|