@gjczone/pi-swarm 0.3.5 → 0.5.0

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 (53) hide show
  1. package/README.md +33 -71
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/shared/controller.d.ts +10 -4
  6. package/dist/shared/controller.d.ts.map +1 -1
  7. package/dist/shared/controller.js +139 -6
  8. package/dist/shared/controller.js.map +1 -1
  9. package/dist/shared/render.d.ts +0 -11
  10. package/dist/shared/render.d.ts.map +1 -1
  11. package/dist/shared/render.js +3 -36
  12. package/dist/shared/render.js.map +1 -1
  13. package/dist/shared/spawner.d.ts.map +1 -1
  14. package/dist/shared/spawner.js +212 -17
  15. package/dist/shared/spawner.js.map +1 -1
  16. package/dist/shared/types.d.ts +58 -0
  17. package/dist/shared/types.d.ts.map +1 -1
  18. package/dist/shared/types.js.map +1 -1
  19. package/dist/shared/worktree.d.ts +81 -0
  20. package/dist/shared/worktree.d.ts.map +1 -0
  21. package/dist/shared/worktree.js +417 -0
  22. package/dist/shared/worktree.js.map +1 -0
  23. package/dist/shared/xml.d.ts +18 -0
  24. package/dist/shared/xml.d.ts.map +1 -0
  25. package/dist/shared/xml.js +31 -0
  26. package/dist/shared/xml.js.map +1 -0
  27. package/dist/swarm/tool.d.ts.map +1 -1
  28. package/dist/swarm/tool.js +69 -15
  29. package/dist/swarm/tool.js.map +1 -1
  30. package/dist/team/mailbox.d.ts +5 -0
  31. package/dist/team/mailbox.d.ts.map +1 -1
  32. package/dist/team/mailbox.js +43 -2
  33. package/dist/team/mailbox.js.map +1 -1
  34. package/dist/team/supervisor.d.ts +27 -2
  35. package/dist/team/supervisor.d.ts.map +1 -1
  36. package/dist/team/supervisor.js +93 -50
  37. package/dist/team/supervisor.js.map +1 -1
  38. package/dist/team/task-graph.d.ts +5 -2
  39. package/dist/team/task-graph.d.ts.map +1 -1
  40. package/dist/team/task-graph.js +27 -1
  41. package/dist/team/task-graph.js.map +1 -1
  42. package/dist/team/tool.d.ts.map +1 -1
  43. package/dist/team/tool.js +102 -18
  44. package/dist/team/tool.js.map +1 -1
  45. package/dist/tui/progress.d.ts +56 -44
  46. package/dist/tui/progress.d.ts.map +1 -1
  47. package/dist/tui/progress.js +497 -179
  48. package/dist/tui/progress.js.map +1 -1
  49. package/dist/tui/team-dashboard.d.ts +39 -23
  50. package/dist/tui/team-dashboard.d.ts.map +1 -1
  51. package/dist/tui/team-dashboard.js +506 -143
  52. package/dist/tui/team-dashboard.js.map +1 -1
  53. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-graph.d.ts","sourceRoot":"","sources":["../../src/team/task-graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/D,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAMnD,CAAC;AAMF,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,MAAM,EAAE,SAAS,SAAS,EAAE;IAqBxC,0CAA0C;IAC1C,aAAa,IAAI,MAAM,EAAE;IAIzB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI9C,4BAA4B;IAC5B,YAAY,IAAI,UAAU,EAAE;IAI5B,4EAA4E;IAC5E,eAAe,IAAI,UAAU,GAAG,SAAS;IAUzC,wEAAwE;IACxE,UAAU,IAAI,OAAO;IAWrB,kCAAkC;IAClC,aAAa,IAAI,SAAS,GAAG,WAAW,GAAG,QAAQ;IAanD;;;OAGG;IACH,UAAU,CACR,IAAI,EAAE,MAAM,GACX;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA8BjE,+CAA+C;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQjD,4CAA4C;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C,qDAAqD;IACrD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO7B,qCAAqC;IACrC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAWhD,mDAAmD;IACnD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiBjC,uCAAuC;IACvC,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,SAAS,SAAS,EAAE,GAC9B,SAAS;CAoBb"}
1
+ {"version":3,"file":"task-graph.d.ts","sourceRoot":"","sources":["../../src/team/task-graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAa,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAM9E,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAMnD,CAAC;AAMF,MAAM,MAAM,WAAW,GACrB,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,MAAM,EAAE,SAAS,SAAS,EAAE;IAqBxC,0CAA0C;IAC1C,aAAa,IAAI,MAAM,EAAE;IAIzB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI9C,4BAA4B;IAC5B,YAAY,IAAI,UAAU,EAAE;IAI5B,4EAA4E;IAC5E,eAAe,IAAI,UAAU,GAAG,SAAS;IAUzC,wEAAwE;IACxE,UAAU,IAAI,OAAO;IAWrB,kCAAkC;IAClC,aAAa,IAAI,SAAS,GAAG,WAAW,GAAG,QAAQ;IAanD;;;OAGG;IACH,UAAU,CACR,IAAI,EAAE,MAAM,GACX;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA8BjE,+CAA+C;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IAWxE,4CAA4C;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C,qDAAqD;IACrD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO7B,qCAAqC;IACrC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOhD,qEAAqE;IACrE,aAAa,IAAI,aAAa;IAyB9B,mDAAmD;IACnD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBjC,uCAAuC;IACvC,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,SAAS,SAAS,EAAE,GAC9B,SAAS;CAoBb"}
@@ -115,13 +115,16 @@ export class TaskGraph {
115
115
  return { ok: true, phase: state };
116
116
  }
117
117
  /** Mark a phase as completed with a result. */
118
- completePhase(name, result) {
118
+ completePhase(name, result, usage) {
119
119
  const state = this.phases.get(name);
120
120
  if (!state)
121
121
  return;
122
122
  state.status = "completed";
123
123
  state.result = result;
124
124
  state.completedAt = Date.now();
125
+ if (usage) {
126
+ state.usage = { ...usage };
127
+ }
125
128
  }
126
129
  /** Mark a phase as failed with an error. */
127
130
  failPhase(name, error) {
@@ -147,6 +150,27 @@ export class TaskGraph {
147
150
  state.agentId = agentId;
148
151
  }
149
152
  }
153
+ /** Get aggregated token usage across all completed/failed phases. */
154
+ getTotalUsage() {
155
+ const total = {
156
+ input: 0,
157
+ output: 0,
158
+ cacheRead: 0,
159
+ cacheWrite: 0,
160
+ totalTokens: 0,
161
+ };
162
+ for (const name of this.order) {
163
+ const state = this.phases.get(name);
164
+ if (state.usage) {
165
+ total.input += state.usage.input;
166
+ total.output += state.usage.output;
167
+ total.cacheRead += state.usage.cacheRead;
168
+ total.cacheWrite += state.usage.cacheWrite;
169
+ total.totalTokens += state.usage.totalTokens;
170
+ }
171
+ }
172
+ return total;
173
+ }
150
174
  // -------------------------------------------------------------------
151
175
  // Serialization
152
176
  // -------------------------------------------------------------------
@@ -163,6 +187,7 @@ export class TaskGraph {
163
187
  error: state.error,
164
188
  startedAt: state.startedAt,
165
189
  completedAt: state.completedAt,
190
+ usage: state.usage,
166
191
  };
167
192
  }
168
193
  return { phases };
@@ -181,6 +206,7 @@ export class TaskGraph {
181
206
  state.error = stateData.error;
182
207
  state.startedAt = stateData.startedAt;
183
208
  state.completedAt = stateData.completedAt;
209
+ state.usage = stateData.usage;
184
210
  }
185
211
  }
186
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-graph.js","sourceRoot":"","sources":["../../src/team/task-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-graph.js","sourceRoot":"","sources":["../../src/team/task-graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/team/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAyDzC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAob5D"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/team/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAwDzC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAihB5D"}
package/dist/team/tool.js CHANGED
@@ -10,6 +10,7 @@ import { Type } from "typebox";
10
10
  import { Container, Spacer, Text } from "@earendil-works/pi-tui";
11
11
  import { SubagentBatchController, } from "../shared/controller.js";
12
12
  import { spawnSubagent, resumeSubagent, retrySubagent, } from "../shared/spawner.js";
13
+ import { mergeBranch, isGitRepository } from "../shared/worktree.js";
13
14
  import { resolveSwarmRoot, createManifest, readManifest, updateManifest, saveTaskState, updateHeartbeat, registerAgentInManifest, } from "../state/persistence.js";
14
15
  import { TeamSupervisor } from "./supervisor.js";
15
16
  import { TeamDashboardComponent, snapshotToDashboardState, } from "../tui/team-dashboard.js";
@@ -18,20 +19,18 @@ import { TeamDashboardComponent, snapshotToDashboardState, } from "../tui/team-d
18
19
  // ---------------------------------------------------------------------------
19
20
  const DEFAULT_SUBAGENT_TIMEOUT_MS = 30 * 60 * 1000;
20
21
  const TEAM_DASHBOARD_WIDGET_KEY = "pi-swarm-team-dashboard";
21
- const AGENT_TEAM_DESCRIPTION = `Launch a collaborative team of role-based agents to complete a complex multi-phase task.
22
-
23
- SwarmTeam is best for tasks that require multiple steps across different roles:
24
- explorer (codebase understanding) → planner (design) → coder (implementation)
25
- reviewer (quality check) tester (verification).
26
-
27
- Each agent communicates via a shared mailbox. The supervisor decomposes the goal
28
- into phases, assigns each phase to a role agent, and synthesizes the final result.
29
- Agents receive context from previous phases automatically.
30
-
31
- Default phases: explore plan implement review → test.
32
- Custom phases and roles can be specified.
33
-
34
- If SwarmTeam is called, that call must be the only tool call in the response.`;
22
+ const AGENT_TEAM_DESCRIPTION = [
23
+ "Orchestrate role-based agents (explorer, planner, coder, reviewer, tester) with a shared mailbox.",
24
+ "",
25
+ "CRITICAL RULES:",
26
+ "1. ONLY use when the user explicitly says 'team' or 'swarm-team'.",
27
+ "2. For simple parallel tasks, use AgentSwarm instead.",
28
+ "3. This tool MUST be the ONLY tool call in your response — do not batch.",
29
+ "",
30
+ "Default phases: explore -> plan -> implement -> review -> test.",
31
+ "Use `phases` and `roles` to customize the workflow.",
32
+ "Use `small_model` to route explorer/tester to a cheaper model.",
33
+ ].join("\n");
35
34
  // ---------------------------------------------------------------------------
36
35
  // Registration
37
36
  // ---------------------------------------------------------------------------
@@ -43,9 +42,11 @@ export function registerSwarmTeamTool(pi) {
43
42
  parameters: Type.Object({
44
43
  goal: Type.String({
45
44
  description: "High-level goal for the team.",
45
+ examples: ["Implement JWT authentication with refresh tokens"],
46
46
  }),
47
47
  description: Type.String({
48
48
  description: "Short description for the team run.",
49
+ examples: ["Build auth system"],
49
50
  }),
50
51
  phases: Type.Optional(Type.Array(Type.Object({
51
52
  name: Type.String(),
@@ -56,6 +57,13 @@ export function registerSwarmTeamTool(pi) {
56
57
  tools: Type.Optional(Type.Array(Type.String())),
57
58
  }), {
58
59
  description: "Custom phase definitions. Defaults to explore/plan/implement/review/test.",
60
+ examples: [
61
+ [
62
+ { name: "explore", role: "explorer" },
63
+ { name: "plan", role: "planner", dependsOn: ["explore"] },
64
+ { name: "implement", role: "coder", dependsOn: ["plan"] },
65
+ ],
66
+ ],
59
67
  })),
60
68
  roles: Type.Optional(Type.Array(Type.Object({
61
69
  role: Type.String(),
@@ -64,12 +72,20 @@ export function registerSwarmTeamTool(pi) {
64
72
  systemPrompt: Type.Optional(Type.String()),
65
73
  }), {
66
74
  description: "Custom role configurations with optional model/tools overrides.",
75
+ examples: [
76
+ [
77
+ { role: "coder", model: "deepseek/deepseek-v4-pro" },
78
+ { role: "explorer", tools: ["read", "bash", "grep"] },
79
+ ],
80
+ ],
67
81
  })),
68
82
  small_model: Type.Optional(Type.String({
69
83
  description: "Lightweight/fast model for exploration roles (e.g. explorer). Other roles use the default model.",
84
+ examples: ["deepseek/deepseek-v4-flash"],
70
85
  })),
71
86
  max_agents: Type.Optional(Type.Number({
72
87
  description: "Max concurrent agents. Default 4.",
88
+ examples: [6],
73
89
  })),
74
90
  }, { additionalProperties: false }),
75
91
  execute: async (toolCallId, params, signal, _onUpdate, ctxRaw) => {
@@ -91,6 +107,34 @@ export function registerSwarmTeamTool(pi) {
91
107
  model: ph.model,
92
108
  tools: ph.tools,
93
109
  }));
110
+ // Validate phases (if provided)
111
+ if (p.phases) {
112
+ const phaseNames = new Set(p.phases.map((ph) => ph.name));
113
+ const VALID_ROLES = new Set([
114
+ "explorer",
115
+ "planner",
116
+ "coder",
117
+ "reviewer",
118
+ "tester",
119
+ "fixer",
120
+ ]);
121
+ for (const ph of p.phases) {
122
+ // Validate role
123
+ if (!VALID_ROLES.has(ph.role)) {
124
+ throw new Error(`Phase "${ph.name}" has invalid role "${ph.role}". ` +
125
+ `Valid roles: ${[...VALID_ROLES].join(", ")}`);
126
+ }
127
+ // Validate dependsOn references
128
+ if (ph.dependsOn) {
129
+ for (const dep of ph.dependsOn) {
130
+ if (!phaseNames.has(dep)) {
131
+ throw new Error(`Phase "${ph.name}" depends on unknown phase "${dep}". ` +
132
+ `Available phases: ${[...phaseNames].join(", ")}`);
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
94
138
  // Build role configs
95
139
  const roles = p.roles?.map((r) => ({
96
140
  role: r.role,
@@ -127,7 +171,10 @@ export function registerSwarmTeamTool(pi) {
127
171
  // 业务说明:同时启动所有依赖已满足的阶段。独立阶段并行执行,
128
172
  // 有依赖的阶段在依赖完成后自动成为下一批。
129
173
  const allResults = [];
174
+ const allBranches = [];
130
175
  const maxConcurrency = p.max_agents ?? 4;
176
+ const repoCwd = process.cwd();
177
+ const inGitRepo = isGitRepository(repoCwd);
131
178
  let currentPhases = supervisor.startReadyPhases();
132
179
  while (currentPhases.length > 0) {
133
180
  // Check abort signal between batches
@@ -137,13 +184,15 @@ export function registerSwarmTeamTool(pi) {
137
184
  // Build tasks for all ready phases
138
185
  const tasks = currentPhases.map((cp, idx) => {
139
186
  const execConfig = supervisor.getPhaseExecutionConfig(cp.phase.phase.name);
187
+ const phaseName = cp.phase.phase.name;
188
+ const mailboxPath = supervisor.getMailboxPath();
140
189
  return {
141
190
  kind: "spawn",
142
- data: { phase: cp.phase.phase.name, role: cp.role },
191
+ data: { phase: phaseName, role: cp.role },
143
192
  profileName: cp.role,
144
193
  parentToolCallId: toolCallId,
145
194
  prompt: cp.prompt,
146
- description: `${p.description} — ${cp.phase.phase.name} (${cp.role})`,
195
+ description: `${p.description} — ${phaseName} (${cp.role})`,
147
196
  swarmIndex: idx + 1,
148
197
  runInBackground: false,
149
198
  signal,
@@ -151,8 +200,17 @@ export function registerSwarmTeamTool(pi) {
151
200
  model: execConfig.model,
152
201
  tools: execConfig.tools,
153
202
  cwd: execConfig.cwd,
203
+ useWorktree: true,
154
204
  swarmRoot,
155
205
  runId,
206
+ mailboxPath,
207
+ roleName: cp.role,
208
+ onUsage: (usage) => {
209
+ supervisor?.updatePhaseUsage(phaseName, usage);
210
+ },
211
+ onMessage: (message) => {
212
+ supervisor?.handleRealtimeMessage(cp.role, message);
213
+ },
156
214
  };
157
215
  });
158
216
  const controller = new SubagentBatchController({
@@ -203,10 +261,13 @@ export function registerSwarmTeamTool(pi) {
203
261
  const result = batchResults[i];
204
262
  if (result && result.status === "completed") {
205
263
  supervisor.assignAgent(cp.phase.phase.name, result.agentId ?? cp.phase.phase.name);
206
- supervisor.completePhase(cp.phase.phase.name, result.result ?? "");
264
+ supervisor.completePhase(cp.phase.phase.name, result.result ?? "", result.usage);
207
265
  if (result.agentId) {
208
266
  registerAgentInManifest(swarmRoot, runId, result.agentId);
209
267
  }
268
+ if (result.worktreeBranch) {
269
+ allBranches.push(result.worktreeBranch);
270
+ }
210
271
  }
211
272
  else if (result) {
212
273
  supervisor.failPhase(cp.phase.phase.name, result.error ?? "Unknown error");
@@ -222,6 +283,26 @@ export function registerSwarmTeamTool(pi) {
222
283
  }
223
284
  // Finalize and render
224
285
  supervisor.finalize();
286
+ // Auto-merge worktree branches back to original branch (in Git repos)
287
+ // 业务说明:所有阶段完成后,按顺序合并子 agent 创建的分支。
288
+ // 冲突时停止合并,保留分支供用户手动解决。
289
+ const mergeResults = [];
290
+ if (inGitRepo && allBranches.length > 0) {
291
+ for (const branch of allBranches) {
292
+ try {
293
+ const mergeResult = mergeBranch(repoCwd, branch);
294
+ if (mergeResult.success) {
295
+ mergeResults.push(`Merged: ${branch}`);
296
+ }
297
+ else {
298
+ mergeResults.push(`Merge failed for ${branch}: ${mergeResult.error}`);
299
+ }
300
+ }
301
+ catch (err) {
302
+ mergeResults.push(`Merge error for ${branch}: ${err instanceof Error ? err.message : String(err)}`);
303
+ }
304
+ }
305
+ }
225
306
  // Mark run as completed
226
307
  if (runCreated) {
227
308
  const manifest = readManifest(swarmRoot, runId);
@@ -232,7 +313,10 @@ export function registerSwarmTeamTool(pi) {
232
313
  }
233
314
  }
234
315
  dashboard?.component.complete();
235
- const output = supervisor.synthesizeResult();
316
+ let output = supervisor.synthesizeResult();
317
+ if (mergeResults.length > 0) {
318
+ output += `\n\n<auto_merge>\n${mergeResults.join("\n")}\n</auto_merge>`;
319
+ }
236
320
  return {
237
321
  content: [{ type: "text", text: output }],
238
322
  details: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/team/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/team/tool.ts"],"names":[],"mappings":"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"}
@@ -2,84 +2,96 @@
2
2
  * tui/progress — AgentSwarm live progress panel.
3
3
  *
4
4
  * Renders a real-time progress display above the input area when
5
- * an AgentSwarm batch is running. Each subagent gets a braille
6
- * progress bar with status labels.
5
+ * an AgentSwarm batch is running. Each subagent gets a compact braille
6
+ * spinner with status and item description.
7
+ *
8
+ * Features:
9
+ * - Debounced, event-driven rendering (replaces pure setInterval polling)
10
+ * - Keyboard interaction: j/k scroll, Enter detail, ? help, tab panel switch
11
+ * - Panel switching: members list / event log
12
+ * - Detail overlay for individual members
13
+ * - Activity/tool tracking per member
14
+ * - ETA estimation
7
15
  *
8
16
  * Ported from MoonshotAI/kimi-code's AgentSwarmProgressComponent.
9
17
  */
10
18
  import type { Component } from "@earendil-works/pi-tui";
11
- import type { BatchProgressSnapshot } from "../shared/types.js";
12
- /** Phase of a single member (subagent) in the progress display. */
19
+ import type { BatchProgressSnapshot, SubagentUsage, ProgressEvent } from "../shared/types.js";
13
20
  export type MemberPhase = "pending" | "queued" | "prompting" | "working" | "completed" | "failed" | "cancelled" | "suspended";
14
- /** Status of a single member. */
15
21
  export interface MemberStatus {
16
- /** 1-based index. */
17
22
  readonly index: number;
18
- /** Current phase. */
19
23
  phase: MemberPhase;
20
- /** Label for the item being processed. */
21
24
  item?: string;
22
- /** Result text (for completed/failed). */
23
25
  result?: string;
24
- /** Error message (for failed). */
25
26
  error?: string;
26
- /** When the member transitioned to its current phase (ms timestamp). */
27
27
  phaseStartedAt?: number;
28
+ currentTool?: string;
29
+ activity?: string;
30
+ usage?: SubagentUsage;
28
31
  }
29
- /** Overall swarm status pushed from the tool execution. */
30
32
  export interface SwarmProgressState {
31
- /** Title for the progress panel. */
32
33
  title?: string;
33
- /** Overall status label. */
34
- status?: string;
35
- /** Total number of subagents. */
36
34
  total: number;
37
- /** Completed count. */
38
35
  completed: number;
39
- /** Failed count. */
40
36
  failed: number;
41
- /** Currently active count. */
42
37
  active: number;
43
- /** Queued count. */
44
38
  queued: number;
45
- /** Per-member status. */
46
39
  members: MemberStatus[];
40
+ totalUsage: SubagentUsage;
41
+ startedAt: number;
42
+ estimatedRemainingMs?: number;
43
+ eventLog?: ProgressEvent[];
47
44
  }
48
- /**
49
- * Convert a BatchProgressSnapshot from the concurrency controller into
50
- * the SwarmProgressState expected by AgentSwarmProgressComponent.
51
- *
52
- * Maps the controller's coarse member phases onto the component's
53
- * richer MemberPhase set, attaching a phaseStartedAt timestamp so the
54
- * braille animation can run for working/suspended members.
55
- */
56
45
  export declare function snapshotToProgressState(snapshot: BatchProgressSnapshot, title?: string): SwarmProgressState;
57
46
  export declare class AgentSwarmProgressComponent implements Component {
58
47
  private state_;
59
- private animationFrame;
60
- private startTime;
61
48
  private renderedWidth;
62
49
  private cachedLines;
63
50
  private onRequestRender;
64
- /**
65
- * @param onRequestRender Optional callback to request a TUI re-render.
66
- * When provided, called on every animation tick so the braille bars
67
- * animate. Without it the component still renders correctly but the
68
- * animation won't be visible to the user.
69
- *
70
- * 业务说明:TUI 框架不会自动轮询组件;需要通过 requestRender() 主动
71
- * 触发重绘才能使 braille 进度条动起来。此回调由 setWidget 工厂函数
72
- * 在捕获 tui 引用后传入。
73
- */
51
+ private animationFrame;
52
+ private frameIndex;
53
+ private pollTimer;
54
+ private debounceTimer;
55
+ private pendingInvalidate;
56
+ private hasActiveMembers;
57
+ private scrollOffset;
58
+ private selectedIndex;
59
+ private activePanel;
60
+ private overlay;
74
61
  constructor(onRequestRender?: () => void);
75
- /** Update the progress state from the tool execution. */
76
62
  update(state: SwarmProgressState): void;
77
- /** Mark the swarm as completed (triggers completion animation). */
78
63
  complete(): void;
79
- /** Stop the animation loop. */
80
64
  dispose(): void;
81
65
  invalidate(): void;
66
+ handleInput(data: string): void;
82
67
  render(width: number): string[];
68
+ private renderMembersPanel;
69
+ private renderEventsPanel;
70
+ private renderOverlay;
71
+ private renderHelpOverlay;
72
+ private renderDetailOverlay;
73
+ private scrollDown;
74
+ private scrollUp;
75
+ /**
76
+ * Request a debounced render. Multiple calls within the debounce window
77
+ * coalesce into a single render pass. State changes also trigger immediate
78
+ * invalidation.
79
+ */
80
+ private requestRender;
81
+ /**
82
+ * Start the fallback polling timer. Falls back to polling when no
83
+ * state changes trigger requests, ensuring the spinner animates.
84
+ */
85
+ private startPolling;
86
+ private schedulePoll;
87
+ /**
88
+ * Adjust polling interval based on active member count.
89
+ */
90
+ private updatePollingInterval;
91
+ /**
92
+ * Start the animation tick for the braille spinner.
93
+ */
83
94
  private startAnimation;
95
+ private stopTimers;
84
96
  }
85
97
  //# sourceMappingURL=progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tui/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAkD5B,mEAAmE;AACnE,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAqBpB;AAyBD,qBAAa,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAA2B;IAElD;;;;;;;;;OASG;gBACS,eAAe,CAAC,EAAE,MAAM,IAAI;IASxC,yDAAyD;IACzD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKvC,mEAAmE;IACnE,QAAQ,IAAI,IAAI;IAqBhB,+BAA+B;IAC/B,OAAO,IAAI,IAAI;IAaf,UAAU,IAAI,IAAI;IAKlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiD/B,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tui/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EAErB,aAAa,EACb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAoE5B,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAMD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CA4BpB;AAyBD,qBAAa,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAA2B;IAGlD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,OAAO,CAA6B;gBAEhC,eAAe,CAAC,EAAE,MAAM,IAAI;IAUxC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAcvC,QAAQ,IAAI,IAAI;IAoBhB,OAAO,IAAI,IAAI;IAKf,UAAU,IAAI,IAAI;IASlB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8F/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiE/B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,mBAAmB;IA6D3B,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,QAAQ;IAgBhB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,UAAU;CAcnB"}