@getpipher/armory-fleet 0.9.0 → 0.9.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpipher/armory-fleet",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
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",
@@ -221,13 +221,17 @@ export async function spawnSubagent(opts: SpawnOptions): Promise<SpawnResult> {
221
221
  });
222
222
 
223
223
  // SPEC-5b-4: retain a narrow live-session handle on the run record so the panel can
224
- // steer/abort mid-flight. Cleared by finishRun in the same patch as the terminal status.
225
- opts.runRegistry.update(runId, { session: toLiveHandle(session) });
224
+ // steer/abort mid-flight. Wrap abort so the local `aborted` flag is set when the panel
225
+ // calls handle.abort() (not just the signal path) — otherwise finishRun reports
226
+ // "completed" instead of "aborted" on a user-initiated Stop. Cleared by finishRun.
227
+ let aborted = false;
228
+ const handle = toLiveHandle(session);
229
+ handle.abort = async () => { aborted = true; await session.abort(); };
230
+ opts.runRegistry.update(runId, { session: handle });
226
231
 
227
232
  const budget = createTurnBudget(maxTurns);
228
233
  let finalText = "";
229
234
  let tokenTotal = 0;
230
- let aborted = false;
231
235
  let turnIdx = -1;
232
236
 
233
237
  const onSignalAbort = (): void => { aborted = true; void session.abort(); };