@getpipher/armory-fleet 0.10.0 → 0.10.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.10.0",
3
+ "version": "0.10.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",
package/src/index.ts CHANGED
@@ -288,15 +288,17 @@ export default async function (pi: ExtensionAPI): Promise<void> {
288
288
  }
289
289
  // SPEC-5b-2: live widget (above editor). Display-only, independent
290
290
  // of the /fleet panel. getTheme is a live getter (EditorTheme gotcha). Disposed on session end.
291
+ const getModelContextWindow = (m: string): number | undefined => {
292
+ const { provider, id } = splitModel(m, deps.parentModel.provider);
293
+ return sharedModelRegistry.find(provider, id)?.contextWindow;
294
+ };
295
+ deps.getModelContextWindow = getModelContextWindow;
291
296
  fleetWidget = new FleetWidgetController({
292
297
  runRegistry: deps.runRegistry,
293
298
  bgRuns,
294
299
  ui: ctx.ui as never,
295
300
  getTheme: () => ctx.ui.theme,
296
- getModelContextWindow: (m: string) => {
297
- const { provider, id } = splitModel(m, deps.parentModel.provider);
298
- return sharedModelRegistry.find(provider, id)?.contextWindow;
299
- },
301
+ getModelContextWindow,
300
302
  });
301
303
  fleetWidget.start();
302
304
 
@@ -56,6 +56,8 @@ export interface FleetPanelDeps {
56
56
  tierStore?: TierStore;
57
57
  /** SPEC-6-1: callback to rebuild the tier registry after a write. */
58
58
  reloadTiers?: () => void;
59
+ /** SPEC-6-1: model contextWindow resolver for Runs-tab ctx% (Surface C). Optional — ctx% hidden when absent. */
60
+ getModelContextWindow?: (model: string) => number | undefined;
59
61
  }
60
62
 
61
63
  export interface FleetPanelOpts {
@@ -146,7 +148,7 @@ export class FleetPanel extends Container {
146
148
  : this.view === "lifecycle"
147
149
  ? [...this.deps.lifecycleRuns.values()].map((l: LifecycleRunRecord) => ({ value: l.runId, label: lifecycleRow(l) }))
148
150
  : this.view === "runs"
149
- ? buildRunsIndex(this.deps.runLog?.dir ?? "").map((r: RunMeta) => ({ value: r.runId, label: runsRow(r) }))
151
+ ? buildRunsIndex(this.deps.runLog?.dir ?? "").map((r: RunMeta) => ({ value: r.runId, label: runsRow(r, this.deps.getModelContextWindow) }))
150
152
  : this.view === "agents"
151
153
  ? [...this.deps.registry.values()].map((a: AgentDef) => ({ value: a.name, label: agentsRow(a) }))
152
154
  : this.view === "scheduled"
@@ -56,6 +56,8 @@ export interface SubagentToolDeps {
56
56
  tierStore?: import("../tiers/tier-store.ts").TierStore;
57
57
  /** SPEC-6-1: rebuild the tier registry after a panel write. */
58
58
  reloadTiers?: () => void;
59
+ /** SPEC-6-1: model contextWindow resolver for Runs-tab ctx% (Surface C). Optional — ctx% hidden when absent. */
60
+ getModelContextWindow?: (model: string) => number | undefined;
59
61
  }
60
62
 
61
63
  /** Build the pi.registerTool definition. Thin wrapper over spawnSubagent. */