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 +15 -0
- package/overlay/input.ts +2 -2
- package/overlay/render-detail.ts +1 -0
- package/package.json +1 -1
- package/swarm/handlers.ts +1 -1
- package/swarm/spawn.ts +2 -0
- package/swarm/types.ts +1 -0
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 =
|
|
249
|
+
const spawned = listSpawnedHistory(cwd, getEffectiveSessionId(cwd, state));
|
|
250
250
|
const task = tasks[viewState.selectedTaskIndex];
|
|
251
251
|
const swarmAgent = spawned[viewState.selectedSwarmIndex];
|
|
252
252
|
|
package/overlay/render-detail.ts
CHANGED
|
@@ -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
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 =
|
|
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,
|