@getpipher/armory-fleet 0.9.2 → 0.9.3
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/tools/subagent.ts +3 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpipher/armory-fleet",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.",
|
|
6
6
|
"license": "MIT",
|
package/src/tools/subagent.ts
CHANGED
|
@@ -23,6 +23,7 @@ export const subagentParams = Type.Object({
|
|
|
23
23
|
auto: Type.Optional(Type.Boolean({ description: "Only relevant with `lifecycle`. Tool-driven is always auto; this flag is forward-compat. Panel-driven uses --auto on /fleet-implement." })),
|
|
24
24
|
background: Type.Optional(Type.Boolean({ description: "Fire without awaiting. The run goes to the async/bg pool on an isolated git worktree; this returns { runId, status: 'background' } immediately. Foreground (default) awaits the result." })),
|
|
25
25
|
schedule: Type.Optional(Type.String({ description: 'Schedule the run instead of firing now: a cron string ("0 9 * * 1-5"), an interval ("30m"/"2h"), or a one-shot ISO datetime ("2026-07-25T14:00"). Returns { scheduleId, nextFire }. Session-scoped (fires only while pi is open); no catch-up.' })),
|
|
26
|
+
maxTurns: Type.Optional(Type.Number({ description: 'Per-run turn budget (default 20). Raise for complex multi-step tasks (e.g. 40) so the subagent doesn\'t hit the budget mid-task; lower for trivial lookups.' })),
|
|
26
27
|
});
|
|
27
28
|
|
|
28
29
|
export type SubagentInput = Static<typeof subagentParams>;
|
|
@@ -87,6 +88,7 @@ export function createSubagentTool(deps: SubagentToolDeps) {
|
|
|
87
88
|
skillsOverride: o.skills, backendOverride: o.backend,
|
|
88
89
|
registry: deps.registry, todoSync: deps.todoSync, runRegistry: deps.runRegistry, lock: deps.lock,
|
|
89
90
|
backendRegistry: deps.backendRegistry, parentModel: deps.parentModel, parentCwd: deps.parentCwd, runLog: deps.runLog, signal,
|
|
91
|
+
maxTurns: params.maxTurns,
|
|
90
92
|
}),
|
|
91
93
|
};
|
|
92
94
|
const res = await runLifecycle(params.task, params.lifecycle, {
|
|
@@ -117,6 +119,7 @@ export function createSubagentTool(deps: SubagentToolDeps) {
|
|
|
117
119
|
parentCwd: deps.parentCwd,
|
|
118
120
|
runLog: deps.runLog,
|
|
119
121
|
signal,
|
|
122
|
+
maxTurns: params.maxTurns,
|
|
120
123
|
});
|
|
121
124
|
const isError = res.status === "failed" || res.status === "aborted";
|
|
122
125
|
return {
|