pi-messenger-swarm 0.22.0 → 0.22.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.22.2](https://github.com/monotykamary/pi-messenger-swarm/compare/v0.22.1...v0.22.2) (2026-04-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **overlay:** use listSpawnedHistory for swarm navigation ([4fe14dc](https://github.com/monotykamary/pi-messenger-swarm/commit/4fe14dc03f55b4eaec8593e22d61bcd41ee2da63))
11
+ * **swarm:** use listSpawnedHistory for status counts ([03007ab](https://github.com/monotykamary/pi-messenger-swarm/commit/03007abd9040a624cee38ba5878cb1dace07549c))
12
+
13
+ ### [0.22.1](https://github.com/monotykamary/pi-messenger-swarm/compare/v0.22.0...v0.22.1) (2026-04-04)
14
+
15
+
16
+ ### Features
17
+
18
+ * **swarm:** display model in agent overlay detail view ([8a55150](https://github.com/monotykamary/pi-messenger-swarm/commit/8a55150f1077d6a2b303647c4fdeff432f6b173f))
19
+
5
20
  ## [0.22.0](https://github.com/monotykamary/pi-messenger-swarm/compare/v0.21.0...v0.22.0) (2026-04-04)
6
21
 
7
22
 
package/overlay/input.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { matchesKey, type TUI } from '@mariozechner/pi-tui';
2
2
  import type { Dirs, MessengerState } from '../lib.js';
3
3
  import * as taskStore from '../swarm/task-store.js';
4
- import { listSpawned } from '../swarm/spawn.js';
4
+ import { listSpawned, listSpawnedHistory } from '../swarm/spawn.js';
5
5
  import type { SwarmTask as Task } from '../swarm/types.js';
6
6
  import { getFeedLineCount, readFeedEventsByRange } from '../feed.js';
7
7
  import { getEffectiveSessionId } from '../store/shared.js';
@@ -246,7 +246,7 @@ export function handleOverlayInput({
246
246
  }
247
247
 
248
248
  const tasks = taskStore.getTasks(cwd, getEffectiveSessionId(cwd, state));
249
- const spawned = listSpawned(cwd, getEffectiveSessionId(cwd, state));
249
+ const spawned = listSpawnedHistory(cwd, getEffectiveSessionId(cwd, state));
250
250
  const task = tasks[viewState.selectedTaskIndex];
251
251
  const swarmAgent = spawned[viewState.selectedSwarmIndex];
252
252
 
@@ -355,6 +355,7 @@ export function renderSwarmDetail(
355
355
 
356
356
  lines.push(`${agent.name} (${agent.id})`);
357
357
  lines.push(`Role: ${formatRoleLabel(agent.role)} │ Status: ${agent.status}`);
358
+ if (agent.model?.trim()) lines.push(`Model: ${agent.model.trim()}`);
358
359
  if (agent.persona?.trim()) lines.push(`Persona: ${agent.persona.trim()}`);
359
360
  lines.push(`Started: ${formatRelativeTime(agent.startedAt)}`);
360
361
  if (agent.endedAt) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-messenger-swarm",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
4
4
  "description": "Swarm-first multi-agent messaging and task orchestration extension for Pi",
5
5
  "type": "module",
6
6
  "author": "Tom X Nguyen",
package/swarm/handlers.ts CHANGED
@@ -24,7 +24,7 @@ export function executeSwarmStatus(cwd: string, channelId: string, sessionId: st
24
24
  cleanupExitedSpawned(cwd, sessionId);
25
25
  const tasks = taskStore.getTasks(cwd, sessionId);
26
26
  const summary = taskStore.getSummary(cwd, sessionId);
27
- const allAgents = listSpawned(cwd, sessionId); // All agents by default
27
+ const allAgents = listSpawnedHistory(cwd, sessionId); // All agents including completed/failed
28
28
  const runningAgents = allAgents.filter((a) => a.status === 'running');
29
29
  const completedCount = allAgents.filter((a) => a.status === 'completed').length;
30
30
  const failedCount = allAgents.filter((a) => a.status === 'failed').length;
package/swarm/spawn.ts CHANGED
@@ -133,6 +133,7 @@ function generateAgentFile(cwd: string, sessionId: string, agent: SpawnedAgent):
133
133
  const lines: string[] = [
134
134
  '---',
135
135
  `role: ${agent.role}`,
136
+ ...(agent.model ? [`model: ${agent.model}`] : []),
136
137
  ...(agent.persona ? [`persona: ${agent.persona}`] : []),
137
138
  ...(agent.objective ? [`objective: ${agent.objective}`] : []),
138
139
  `created: ${agent.startedAt}`,
@@ -428,6 +429,7 @@ export function spawnSubagent(
428
429
  cwd,
429
430
  name,
430
431
  role,
432
+ model: agentFileModel,
431
433
  persona: request.persona,
432
434
  objective,
433
435
  context: request.context,
package/swarm/types.ts CHANGED
@@ -61,6 +61,7 @@ export interface SpawnedAgent {
61
61
  cwd: string;
62
62
  name: string;
63
63
  role: string;
64
+ model?: string;
64
65
  persona?: string;
65
66
  objective: string;
66
67
  context?: string;