@gjczone/pi-swarm 0.3.4 → 0.4.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.
Files changed (60) hide show
  1. package/README.md +11 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/shared/controller.d.ts +1 -0
  6. package/dist/shared/controller.d.ts.map +1 -1
  7. package/dist/shared/controller.js +60 -2
  8. package/dist/shared/controller.js.map +1 -1
  9. package/dist/shared/spawner.d.ts.map +1 -1
  10. package/dist/shared/spawner.js +320 -78
  11. package/dist/shared/spawner.js.map +1 -1
  12. package/dist/shared/types.d.ts +28 -0
  13. package/dist/shared/types.d.ts.map +1 -1
  14. package/dist/shared/types.js +4 -1
  15. package/dist/shared/types.js.map +1 -1
  16. package/dist/shared/worktree.d.ts +81 -0
  17. package/dist/shared/worktree.d.ts.map +1 -0
  18. package/dist/shared/worktree.js +417 -0
  19. package/dist/shared/worktree.js.map +1 -0
  20. package/dist/state/persistence.d.ts +5 -0
  21. package/dist/state/persistence.d.ts.map +1 -1
  22. package/dist/state/persistence.js +1 -1
  23. package/dist/state/persistence.js.map +1 -1
  24. package/dist/state/recovery.d.ts.map +1 -1
  25. package/dist/state/recovery.js +13 -6
  26. package/dist/state/recovery.js.map +1 -1
  27. package/dist/swarm/command.d.ts +0 -4
  28. package/dist/swarm/command.d.ts.map +1 -1
  29. package/dist/swarm/command.js +1 -19
  30. package/dist/swarm/command.js.map +1 -1
  31. package/dist/swarm/tool.d.ts.map +1 -1
  32. package/dist/swarm/tool.js +59 -14
  33. package/dist/swarm/tool.js.map +1 -1
  34. package/dist/team/command.d.ts.map +1 -1
  35. package/dist/team/command.js +0 -8
  36. package/dist/team/command.js.map +1 -1
  37. package/dist/team/mailbox.d.ts +5 -0
  38. package/dist/team/mailbox.d.ts.map +1 -1
  39. package/dist/team/mailbox.js +46 -5
  40. package/dist/team/mailbox.js.map +1 -1
  41. package/dist/team/supervisor.d.ts +27 -2
  42. package/dist/team/supervisor.d.ts.map +1 -1
  43. package/dist/team/supervisor.js +84 -23
  44. package/dist/team/supervisor.js.map +1 -1
  45. package/dist/team/task-graph.d.ts +5 -2
  46. package/dist/team/task-graph.d.ts.map +1 -1
  47. package/dist/team/task-graph.js +27 -1
  48. package/dist/team/task-graph.js.map +1 -1
  49. package/dist/team/tool.d.ts.map +1 -1
  50. package/dist/team/tool.js +56 -8
  51. package/dist/team/tool.js.map +1 -1
  52. package/dist/tui/progress.d.ts +6 -43
  53. package/dist/tui/progress.d.ts.map +1 -1
  54. package/dist/tui/progress.js +101 -165
  55. package/dist/tui/progress.js.map +1 -1
  56. package/dist/tui/team-dashboard.d.ts +5 -22
  57. package/dist/tui/team-dashboard.d.ts.map +1 -1
  58. package/dist/tui/team-dashboard.js +87 -132
  59. package/dist/tui/team-dashboard.js.map +1 -1
  60. package/package.json +1 -1
@@ -2,39 +2,30 @@
2
2
  * tui/team-dashboard — SwarmTeam live phase progress dashboard.
3
3
  *
4
4
  * Renders a real-time dashboard above the input area when a SwarmTeam
5
- * run is in progress. Shows phase statuses with braille animation for
6
- * the active phase, mailbox message count, and elapsed time.
7
- *
8
- * Follows the same wiring pattern as AgentSwarmProgressComponent:
9
- * supervisor emits snapshots -> tool converts -> pushes to widget.
5
+ * run is in progress. Shows phase statuses with compact braille spinner
6
+ * for active phases, mailbox message count, token usage, and elapsed time.
10
7
  */
11
8
  // ---------------------------------------------------------------------------
12
- // Constants (shared braille with progress.ts for visual consistency)
9
+ // Constants
13
10
  // ---------------------------------------------------------------------------
14
- const BRAILLE_BAR_MAX_WIDTH = 8;
15
11
  const FRAME_INTERVAL_MS = 80;
16
12
  const MAX_PHASES = 20;
17
- const BRAILLE_LEVELS = [
18
- "\u28C0",
19
- "\u28C4",
20
- "\u28E4",
21
- "\u28E6",
22
- "\u28F6",
13
+ const ICON_COL_WIDTH = 3;
14
+ const BRAILLE_SPINNER = [
15
+ "\u28BF",
16
+ "\u28FB",
17
+ "\u28FD",
18
+ "\u28FE",
23
19
  "\u28F7",
24
- "\u28FF",
20
+ "\u28EF",
21
+ "\u28DF",
22
+ "\u287F",
25
23
  ];
26
- const BRAILLE_EMPTY = BRAILLE_LEVELS[0];
27
- const BRAILLE_FULL = BRAILLE_LEVELS[6];
28
24
  // ---------------------------------------------------------------------------
29
25
  // Snapshot conversion
30
26
  // ---------------------------------------------------------------------------
31
- /**
32
- * Convert a TeamProgressSnapshot from the supervisor into the
33
- * TeamDashboardState expected by TeamDashboardComponent.
34
- */
35
27
  export function snapshotToDashboardState(snapshot) {
36
28
  const now = Date.now();
37
- // Collect all currently running phase names for multi-running display
38
29
  const runningPhases = snapshot.phases
39
30
  .filter((p) => p.status === "running")
40
31
  .map((p) => p.name);
@@ -64,6 +55,7 @@ export function snapshotToDashboardState(snapshot) {
64
55
  phaseStartedAt: p.status === "running" ? now : 0,
65
56
  })),
66
57
  mailboxCount: snapshot.mailboxCount,
58
+ totalUsage: snapshot.totalUsage,
67
59
  startedAt: snapshot.startedAt,
68
60
  };
69
61
  }
@@ -76,23 +68,11 @@ export class TeamDashboardComponent {
76
68
  renderedWidth;
77
69
  cachedLines;
78
70
  onRequestRender;
79
- /**
80
- * @param onRequestRender Optional callback to request a TUI re-render.
81
- * When provided, called on every animation tick so the braille bars
82
- * animate. Without it the component still renders correctly but the
83
- * animation won't be visible to the user.
84
- *
85
- * 业务说明:TUI 框架不会自动轮询组件;需要通过 requestRender() 主动
86
- * 触发重绘才能使 braille 进度条动起来。此回调由 setWidget 工厂函数
87
- * 在捕获 tui 引用后传入。
88
- */
71
+ frameIndex = 0;
89
72
  constructor(onRequestRender) {
90
73
  this.onRequestRender = onRequestRender;
91
74
  this.startAnimation();
92
75
  }
93
- // -------------------------------------------------------------------
94
- // Public API
95
- // -------------------------------------------------------------------
96
76
  update(state) {
97
77
  this.state_ = state;
98
78
  this.invalidate();
@@ -117,18 +97,14 @@ export class TeamDashboardComponent {
117
97
  clearInterval(this.animationFrame);
118
98
  this.animationFrame = undefined;
119
99
  }
120
- // 断开与 TUI 框架的连接,防止内存泄漏
121
100
  this.onRequestRender = undefined;
122
101
  }
123
- // -------------------------------------------------------------------
124
- // Component interface
125
- // -------------------------------------------------------------------
126
102
  invalidate() {
127
103
  this.renderedWidth = undefined;
128
104
  this.cachedLines = undefined;
129
105
  }
130
106
  render(width) {
131
- const safeWidth = Math.max(10, width);
107
+ const safeWidth = Math.max(20, width);
132
108
  if (this.cachedLines && this.renderedWidth === safeWidth) {
133
109
  return this.cachedLines;
134
110
  }
@@ -138,41 +114,44 @@ export class TeamDashboardComponent {
138
114
  }
139
115
  const state = this.state_;
140
116
  const lines = [];
141
- // Header
142
- const header = buildHeader(state, safeWidth);
143
- lines.push(header);
117
+ const contentWidth = safeWidth - 4;
118
+ // Header: just title, truncated to fit
119
+ const header = truncateText(state.title, contentWidth);
120
+ lines.push(` ${header}`);
144
121
  // Overall progress bar
145
- const bar = buildProgressBar(state, safeWidth);
146
- lines.push(bar);
122
+ const barWidth = Math.max(1, contentWidth);
123
+ const total = state.totalPhases || 1;
124
+ const doneRatio = (state.completedPhases + state.failedPhases) / total;
125
+ const doneChars = Math.round(doneRatio * barWidth);
126
+ const done = "\u2501".repeat(doneChars);
127
+ const remaining = "\u2501".repeat(barWidth - doneChars);
128
+ lines.push(` ${done}${remaining}`);
147
129
  // Phase rows
148
130
  const maxPhases = Math.min(state.phases.length, MAX_PHASES);
149
131
  for (let i = 0; i < maxPhases; i += 1) {
150
132
  const phase = state.phases[i];
151
133
  if (!phase)
152
134
  continue;
153
- const row = renderPhaseRow(phase, safeWidth - 4);
135
+ const row = renderPhaseRow(phase, contentWidth, this.frameIndex);
154
136
  lines.push(` ${row}`);
155
137
  }
156
138
  // Separator
157
- const sep = "\u2500".repeat(Math.max(0, safeWidth - 4));
139
+ const sep = "\u2500".repeat(contentWidth);
158
140
  lines.push(` ${sep}`);
159
- // Footer
160
- const footerLine = buildFooter(state, safeWidth - 2);
141
+ // Footer with all info
142
+ const footerLine = buildFooter(state, contentWidth);
161
143
  lines.push(` ${footerLine}`);
162
144
  // Bottom border
163
- const bottom = bottomBorder(safeWidth);
145
+ const bottom = `\u2514${"\u2500".repeat(contentWidth)}\u2518`;
164
146
  lines.push(bottom);
165
147
  this.cachedLines = lines;
166
148
  this.renderedWidth = safeWidth;
167
149
  return this.cachedLines;
168
150
  }
169
- // -------------------------------------------------------------------
170
- // Animation
171
- // -------------------------------------------------------------------
172
151
  startAnimation() {
173
152
  this.animationFrame = setInterval(() => {
153
+ this.frameIndex = (this.frameIndex + 1) % BRAILLE_SPINNER.length;
174
154
  this.invalidate();
175
- // 通知 TUI 框架重绘,使 braille 动画可见
176
155
  this.onRequestRender?.();
177
156
  }, FRAME_INTERVAL_MS);
178
157
  }
@@ -180,105 +159,79 @@ export class TeamDashboardComponent {
180
159
  // ---------------------------------------------------------------------------
181
160
  // Rendering helpers
182
161
  // ---------------------------------------------------------------------------
183
- function buildHeader(state, width) {
184
- const titlePart = truncateText(state.title, Math.max(10, width - 35));
185
- const titleLine = `Team: ${titlePart || "..."}`;
186
- const status = state.status;
187
- const phaseInfo = state.currentPhase
188
- ? `Phase: ${state.completedPhases + state.failedPhases + 1}/${state.totalPhases} (${state.currentPhase})`
189
- : `Phases: ${state.completedPhases + state.failedPhases}/${state.totalPhases}`;
190
- const full = `${titleLine} | Status: ${status} | ${phaseInfo}`;
191
- if (full.length <= width)
192
- return full;
193
- // Truncate from the end — preserve title and status
194
- return full.slice(0, width);
195
- }
196
- function buildProgressBar(state, width) {
197
- const barWidth = Math.max(1, width - 4);
198
- const total = state.totalPhases || 1;
199
- const doneRatio = (state.completedPhases + state.failedPhases) / total;
200
- const doneChars = Math.round(doneRatio * barWidth);
201
- const remainingChars = barWidth - doneChars;
202
- const done = "\u2501".repeat(doneChars);
203
- const remaining = "\u2501".repeat(remainingChars);
204
- return ` ${done}${remaining}`;
205
- }
206
- function renderPhaseRow(phase, width) {
207
- const statusIcon = phaseStatusIcon(phase);
208
- const maxNameLen = Math.max(4, Math.min(14, Math.floor(width / 3)));
209
- const phaseName = truncateText(phase.name, maxNameLen);
210
- const statusLabel = phase.status;
211
- const roleLabel = `(${phase.role})`;
212
- // Layout: <icon> <phaseName> <status> <role>
213
- const fixed = `${statusIcon} ${phaseName} ${statusLabel} ${roleLabel}`;
214
- // If the fixed part alone exceeds width, truncate by component priority
215
- if (visibleLen(fixed) >= width) {
216
- const bare = `${statusIcon} ${phaseName}`;
217
- if (visibleLen(bare) >= width)
218
- return bare.slice(0, Math.max(0, width));
219
- const withStatus = `${bare} ${statusLabel}`;
220
- if (visibleLen(withStatus) >= width)
221
- return withStatus.slice(0, Math.max(0, width));
222
- return fixed.slice(0, Math.max(0, width));
162
+ function renderPhaseRow(phase, width, frameIndex) {
163
+ const icon = phaseStatusIcon(phase, frameIndex).padEnd(ICON_COL_WIDTH, " ");
164
+ const displayName = shortenPhaseName(phase.name, phase.role);
165
+ const nameWidth = Math.max(6, Math.min(16, Math.floor(width * 0.35)));
166
+ const name = truncateText(displayName, nameWidth).padEnd(nameWidth, " ");
167
+ const fixed = `${icon} ${name}`;
168
+ const remaining = Math.max(0, width - visibleLen(fixed) - 1);
169
+ if (phase.status === "running") {
170
+ const roleLabel = `${phase.role}`;
171
+ return `${fixed} ${truncateText(roleLabel, remaining)}`;
223
172
  }
224
173
  if (phase.status === "failed" && phase.error) {
225
- const errorPart = ` — ${phase.error}`;
226
- const avail = Math.max(0, width - visibleLen(fixed));
227
- if (avail > 0) {
228
- const full = `${fixed}${errorPart.slice(0, avail)}`;
229
- return full.slice(0, Math.max(0, width));
230
- }
231
- return fixed.slice(0, Math.max(0, width));
174
+ const errorPart = phase.error;
175
+ return `${fixed} ${truncateText(errorPart, remaining)}`;
232
176
  }
233
- return fixed;
177
+ if (phase.status === "completed") {
178
+ return `${fixed} ok`;
179
+ }
180
+ if (phase.status === "skipped") {
181
+ return `${fixed} skip`;
182
+ }
183
+ return `${fixed} ...`;
184
+ }
185
+ function shortenPhaseName(name, role) {
186
+ if (name.length <= 12)
187
+ return name;
188
+ if (name.startsWith(role))
189
+ return name.slice(0, Math.max(role.length, 12));
190
+ const parts = name.split("-");
191
+ if (parts.length > 1) {
192
+ return parts.slice(0, 2).join("-");
193
+ }
194
+ return name.slice(0, 12);
234
195
  }
235
- function phaseStatusIcon(phase) {
196
+ function phaseStatusIcon(phase, frameIndex) {
236
197
  switch (phase.status) {
237
198
  case "completed":
238
- return "\u2713"; // checkmark
199
+ return "\u2713";
239
200
  case "running":
240
- return renderBrailleBar(phase);
201
+ return BRAILLE_SPINNER[frameIndex % BRAILLE_SPINNER.length];
241
202
  case "failed":
242
- return "\u2717"; // x mark
203
+ return "\u2717";
243
204
  case "skipped":
244
- return "\u2298"; // slashed circle
205
+ return "\u2298";
245
206
  case "queued":
246
- return "\u25CB"; // circle
207
+ return "\u25CB";
247
208
  }
248
209
  }
249
- function renderBrailleBar(phase) {
250
- const elapsed = Date.now() - phase.phaseStartedAt;
251
- const cycleMs = 800;
252
- const progress = (elapsed % cycleMs) / cycleMs;
253
- const maxWidth = BRAILLE_BAR_MAX_WIDTH;
254
- const totalDots = maxWidth * 6;
255
- const filledDots = Math.floor(progress * totalDots);
256
- let result = "";
257
- for (let i = 0; i < maxWidth; i += 1) {
258
- const cellStart = i * 6;
259
- const dotsInCell = Math.max(0, Math.min(6, filledDots - cellStart));
260
- result += dotsInCell === 0 ? BRAILLE_EMPTY : BRAILLE_LEVELS[dotsInCell];
261
- }
262
- return result;
263
- }
264
210
  function buildFooter(state, width) {
265
- const mailbox = `Mailbox: ${state.mailboxCount > 0 ? String(state.mailboxCount) : "0"} msgs`;
211
+ const usage = state.totalUsage ?? {
212
+ input: 0,
213
+ output: 0,
214
+ cacheRead: 0,
215
+ cacheWrite: 0,
216
+ totalTokens: 0,
217
+ };
218
+ const phaseCount = `${state.completedPhases + state.failedPhases}/${state.totalPhases}`;
219
+ const tokens = `${Math.round(usage.input)}in/${Math.round(usage.output)}out`;
220
+ const mailbox = state.mailboxCount > 0 ? ` ${state.mailboxCount}msg` : "";
266
221
  const elapsed = formatElapsed(Date.now() - state.startedAt);
267
- const full = `${mailbox} | Elapsed: ${elapsed}`;
222
+ const parts = [`${phaseCount} ph`, tokens, mailbox.trim(), elapsed].filter(Boolean);
223
+ const full = parts.join(" | ");
268
224
  if (full.length <= width)
269
225
  return full;
270
- // Edge case: narrow terminal — prioritize elapsed time
271
- return `Elapsed: ${elapsed}`.slice(0, Math.max(0, width));
226
+ return truncateText(full, width);
272
227
  }
273
228
  function formatElapsed(ms) {
274
229
  const totalSec = Math.floor(ms / 1000);
230
+ if (totalSec < 60)
231
+ return `${totalSec}s`;
275
232
  const m = Math.floor(totalSec / 60);
276
233
  const s = totalSec % 60;
277
- return `${m}m ${s}s`;
278
- }
279
- function bottomBorder(width) {
280
- const safeWidth = Math.max(2, width);
281
- return `\u2514${"\u2500".repeat(safeWidth - 2)}\u2518`;
234
+ return `${m}m${s}s`;
282
235
  }
283
236
  // ---------------------------------------------------------------------------
284
237
  // Text utilities
@@ -289,6 +242,8 @@ function visibleLen(text) {
289
242
  function truncateText(text, maxLen) {
290
243
  if (text.length <= maxLen)
291
244
  return text;
292
- return text.slice(0, Math.max(0, maxLen - 1)) + "\u2026";
245
+ if (maxLen <= 1)
246
+ return text.slice(0, 1);
247
+ return text.slice(0, maxLen - 1) + "\u2026";
293
248
  }
294
249
  //# sourceMappingURL=team-dashboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-dashboard.js","sourceRoot":"","sources":["../../src/tui/team-dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-dashboard.js","sourceRoot":"","sources":["../../src/tui/team-dashboard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjczone/pi-swarm",
3
- "version": "0.3.4",
3
+ "version": "0.4.1",
4
4
  "description": "Agent Swarm & Team for pi-coding-agent. Single to 128 subagents: parallel swarm or collaborative team with mailbox. Live TUI, rate-limit retries, crash recovery. Ported from kimi-code, inspired by pi-crew.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",