@gjczone/pi-swarm 0.3.2 → 0.3.4

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.
@@ -5,8 +5,9 @@
5
5
  * each phase to a role agent, monitors progress via the mailbox,
6
6
  * and synthesizes the final result.
7
7
  */
8
+ import { SMALL_MODEL_ROLES } from "../shared/types.js";
8
9
  import { TaskGraph, DEFAULT_TEAM_PHASES, } from "./task-graph.js";
9
- import { resolveMailboxPaths, ensureMailbox, sendMessage, readTaskInbox, updateDeliveryState, } from "./mailbox.js";
10
+ import { resolveMailboxPaths, ensureMailbox, sendMessage, readTaskInbox, ackTaskMessages, updateDeliveryState, } from "./mailbox.js";
10
11
  // ---------------------------------------------------------------------------
11
12
  // Supervisor
12
13
  // ---------------------------------------------------------------------------
@@ -36,10 +37,14 @@ export class TeamSupervisor {
36
37
  // Phase management
37
38
  // -------------------------------------------------------------------
38
39
  /**
39
- * Get the next phase that is ready to execute (dependencies satisfied,
40
- * not yet started or assigned).
40
+ * Get ALL phases that are ready to execute (dependencies satisfied,
41
+ * not yet started or assigned). Returns in definition order.
42
+ *
43
+ * 业务说明:返回所有依赖已满足、尚未开始的阶段,而非仅第一个。
44
+ * 这使得独立阶段可以并行执行。
41
45
  */
42
- getNextReadyPhase() {
46
+ getAllReadyPhases() {
47
+ const ready = [];
43
48
  for (const name of this.state.taskGraph.getPhaseNames()) {
44
49
  const phase = this.state.taskGraph.getPhase(name);
45
50
  if (!phase || phase.status !== "queued")
@@ -51,44 +56,62 @@ export class TeamSupervisor {
51
56
  return depState?.status === "completed";
52
57
  });
53
58
  if (depsSatisfied) {
54
- return phase;
59
+ ready.push(phase);
55
60
  }
56
61
  }
57
- return undefined;
62
+ return ready;
58
63
  }
59
64
  /**
60
- * Start the next ready phase and return the role + prompt for the agent.
65
+ * Start ALL currently ready phases and return their execution descriptors.
66
+ * Returns an empty array when no phases are ready.
67
+ *
68
+ * 业务说明:一次性启动所有就绪阶段,支持并行执行。
69
+ * 调用者应并发启动所有返回的阶段。
61
70
  */
62
- startNextPhase() {
63
- const phase = this.getNextReadyPhase();
64
- if (!phase)
65
- return null;
66
- const result = this.state.taskGraph.startPhase(phase.phase.name);
67
- if (!result.ok)
68
- return null;
69
- // Send task assignment message to the role's mailbox
70
- const assignmentMessage = {
71
- messageId: this.generateMessageId(),
72
- runId: this.state.runId,
73
- timestamp: new Date().toISOString(),
74
- from: "supervisor",
75
- to: phase.phase.role,
76
- type: "task_assignment",
77
- payload: {
78
- phase: phase.phase.name,
79
- goal: this.config.goal,
80
- dependsOn: phase.phase.dependsOn ?? [],
81
- },
82
- };
83
- sendMessage(this.mailboxPaths, assignmentMessage);
84
- updateDeliveryState(this.mailboxPaths, assignmentMessage.messageId, "delivered");
85
- const prompt = this.buildPhasePrompt(phase);
86
- this.emitProgress();
87
- return {
88
- phase,
89
- role: phase.phase.role,
90
- prompt,
91
- };
71
+ startReadyPhases() {
72
+ const readyPhases = this.getAllReadyPhases();
73
+ const results = [];
74
+ for (const phase of readyPhases) {
75
+ const result = this.state.taskGraph.startPhase(phase.phase.name);
76
+ if (!result.ok)
77
+ continue;
78
+ // Gather dependency results to include in assignment
79
+ const deps = phase.phase.dependsOn ?? [];
80
+ const depResults = {};
81
+ for (const dep of deps) {
82
+ const depState = this.state.taskGraph.getPhase(dep);
83
+ if (depState?.result) {
84
+ depResults[dep] = depState.result;
85
+ }
86
+ }
87
+ // Send task assignment message to the role's mailbox
88
+ const assignmentMessage = {
89
+ messageId: this.generateMessageId(),
90
+ runId: this.state.runId,
91
+ timestamp: new Date().toISOString(),
92
+ from: "supervisor",
93
+ to: phase.phase.role,
94
+ type: "task_assignment",
95
+ payload: {
96
+ phase: phase.phase.name,
97
+ goal: this.config.goal,
98
+ dependsOn: deps,
99
+ dependencyResults: depResults,
100
+ },
101
+ };
102
+ sendMessage(this.mailboxPaths, assignmentMessage);
103
+ updateDeliveryState(this.mailboxPaths, assignmentMessage.messageId, "delivered");
104
+ const prompt = this.buildPhasePrompt(phase);
105
+ results.push({
106
+ phase,
107
+ role: phase.phase.role,
108
+ prompt,
109
+ });
110
+ }
111
+ if (results.length > 0) {
112
+ this.emitProgress();
113
+ }
114
+ return results;
92
115
  }
93
116
  /**
94
117
  * Parse agent output for mailbox_message blocks and separate them from the result.
@@ -182,13 +205,62 @@ export class TeamSupervisor {
182
205
  }
183
206
  this.emitProgress();
184
207
  }
185
- /**
186
- * Assign an agent to a phase.
187
- */
208
+ /** Assign an agent to a phase. */
188
209
  assignAgent(phaseName, agentId) {
189
210
  this.state.agentIds.set(phaseName, agentId);
190
211
  this.state.taskGraph.assignAgent(phaseName, agentId);
191
212
  }
213
+ /**
214
+ * Resolve the model and tools configuration for a given phase.
215
+ *
216
+ * Resolution order (highest priority first):
217
+ * 1. Phase-level explicit model override (phase.model)
218
+ * 2. Phase-level modelTier (small => smallModel if configured)
219
+ * 3. Role-level model override from roles config
220
+ * 4. Auto-routing by role name: roles in SMALL_MODEL_ROLES => smallModel
221
+ * 5. Default model (undefined, inherits parent)
222
+ */
223
+ getPhaseExecutionConfig(phaseName) {
224
+ const phase = this.state.taskGraph.getPhase(phaseName);
225
+ const role = phase?.phase.role;
226
+ const roleConfig = role
227
+ ? this.config.roles?.find((r) => r.role === role)
228
+ : undefined;
229
+ let model;
230
+ let tools;
231
+ // Role-level tools whitelist
232
+ if (roleConfig?.tools) {
233
+ tools = [...roleConfig.tools];
234
+ }
235
+ // Phase-level explicit model (highest priority)
236
+ if (phase?.phase.model) {
237
+ model = phase.phase.model;
238
+ }
239
+ // Phase-level modelTier override
240
+ else if (phase?.phase.modelTier === "small" && this.config.smallModel) {
241
+ model = this.config.smallModel;
242
+ }
243
+ else if (phase?.phase.modelTier === "default") {
244
+ model = undefined; // explicit default
245
+ }
246
+ // Role-level model override
247
+ else if (roleConfig?.model) {
248
+ model = roleConfig.model;
249
+ }
250
+ // Auto-routing: explorer (and other SMALL_MODEL_ROLES) => smallModel
251
+ else if (role && SMALL_MODEL_ROLES.has(role) && this.config.smallModel) {
252
+ model = this.config.smallModel;
253
+ }
254
+ // Phase-level tools override (overrides role config)
255
+ if (phase?.phase.tools) {
256
+ tools = [...phase.phase.tools];
257
+ }
258
+ return {
259
+ model,
260
+ tools,
261
+ cwd: this.config.cwd,
262
+ };
263
+ }
192
264
  // -------------------------------------------------------------------
193
265
  // Completion
194
266
  // -------------------------------------------------------------------
@@ -257,30 +329,161 @@ export class TeamSupervisor {
257
329
  }
258
330
  /**
259
331
  * Synthesize the final team result from all completed phases.
332
+ * Max characters of phase output to include inline; rest is truncated.
260
333
  */
334
+ static MAX_PHASE_OUTPUT_CHARS = 12000;
261
335
  synthesizeResult() {
336
+ const allPhases = this.state.taskGraph.getAllPhases();
337
+ const durationMs = (this.state.completedAt ?? Date.now()) - this.state.startedAt;
262
338
  const lines = [
263
339
  "<swarm_team_result>",
264
340
  `<summary>${this.buildSummary()}</summary>`,
341
+ `<total_duration_ms>${durationMs}</total_duration_ms>`,
265
342
  ];
266
- for (const phase of this.state.taskGraph.getAllPhases()) {
343
+ // Per-phase results
344
+ for (const phase of allPhases) {
267
345
  const name = phase.phase.name;
268
346
  const role = phase.phase.role;
269
347
  const status = phase.status;
270
348
  const result = phase.result ?? "";
271
349
  const error = phase.error ?? "";
272
- lines.push(`<phase name="${escapeXml(name)}" role="${escapeXml(role)}" outcome="${escapeXml(status)}">`);
273
- if (status === "completed" && result) {
274
- lines.push(escapeXml(result));
350
+ const agentId = phase.agentId ?? "";
351
+ const duration = phase.startedAt && phase.completedAt
352
+ ? phase.completedAt - phase.startedAt
353
+ : undefined;
354
+ const attrs = [
355
+ `name="${escapeAttr(name)}"`,
356
+ `role="${escapeAttr(role)}"`,
357
+ `outcome="${escapeAttr(status)}"`,
358
+ ];
359
+ if (agentId)
360
+ attrs.push(`agent_id="${escapeAttr(agentId)}"`);
361
+ if (duration !== undefined)
362
+ attrs.push(`duration_ms="${String(duration)}"`);
363
+ lines.push(`<phase ${attrs.join(" ")}>`);
364
+ if (status === "completed") {
365
+ if (result.trim()) {
366
+ const truncated = this.truncateForOutput(result);
367
+ lines.push(truncated);
368
+ }
369
+ else {
370
+ lines.push("(agent returned no text output; see per-agent output.log for full session transcript)");
371
+ }
275
372
  }
276
373
  else if (status === "failed" && error) {
277
- lines.push(`<error>${escapeXml(error)}</error>`);
374
+ lines.push(`<error>${escapeBody(error)}</error>`);
375
+ }
376
+ else if (status === "skipped") {
377
+ lines.push("(phase skipped due to failed dependency)");
278
378
  }
279
379
  lines.push(`</phase>`);
280
380
  }
381
+ // Supervisor synthesis — a consolidated summary across all phases
382
+ lines.push("<supervisor_synthesis>");
383
+ lines.push(this.buildSynthesis(allPhases));
384
+ lines.push("</supervisor_synthesis>");
281
385
  lines.push("</swarm_team_result>");
282
386
  return lines.join("\n");
283
387
  }
388
+ /**
389
+ * Truncate a phase result to MAX_PHASE_OUTPUT_CHARS with a note.
390
+ */
391
+ truncateForOutput(text) {
392
+ if (text.length <= TeamSupervisor.MAX_PHASE_OUTPUT_CHARS) {
393
+ return text;
394
+ }
395
+ const truncated = text.slice(0, TeamSupervisor.MAX_PHASE_OUTPUT_CHARS);
396
+ return (truncated +
397
+ `\n\n... [output truncated: ${text.length - TeamSupervisor.MAX_PHASE_OUTPUT_CHARS} additional characters omitted. See output.log for full content.]`);
398
+ }
399
+ /**
400
+ * Build a consolidated synthesis across all completed phases.
401
+ *
402
+ * Extracts the first non-empty line or heading from each phase to create
403
+ * an executive summary, then lists all phases with their key outcomes.
404
+ */
405
+ buildSynthesis(phases) {
406
+ const sections = [];
407
+ const completedPhases = phases.filter((p) => p.status === "completed");
408
+ const failedPhases = phases.filter((p) => p.status === "failed");
409
+ sections.push(`### Team Run: ${this.config.goal.slice(0, 200)}`);
410
+ sections.push("");
411
+ if (failedPhases.length > 0) {
412
+ sections.push(`### Errors`);
413
+ for (const p of failedPhases) {
414
+ sections.push(`- **${p.phase.name}** (${p.phase.role}): ${p.error ?? "unknown error"}`);
415
+ }
416
+ sections.push("");
417
+ }
418
+ sections.push(`### Phase Outcomes`);
419
+ for (const p of phases) {
420
+ const status = p.status;
421
+ const bullet = status === "completed"
422
+ ? "DONE"
423
+ : status === "failed"
424
+ ? "FAIL"
425
+ : status === "skipped"
426
+ ? "SKIP"
427
+ : "??";
428
+ const firstLine = this.extractFirstMeaningfulLine(p.result ?? "");
429
+ const suffix = firstLine ? ` — ${firstLine}` : "";
430
+ sections.push(`- [${bullet}] **${p.phase.name}** (${p.phase.role})${suffix}`);
431
+ }
432
+ if (completedPhases.length > 0) {
433
+ sections.push("");
434
+ sections.push(`### Key Deliverables`);
435
+ for (const p of completedPhases) {
436
+ const excerpt = this.extractExcerpt(p.result ?? "");
437
+ if (excerpt) {
438
+ sections.push(`#### ${p.phase.name} (${p.phase.role})`);
439
+ sections.push(excerpt);
440
+ sections.push("");
441
+ }
442
+ }
443
+ }
444
+ return sections.join("\n");
445
+ }
446
+ /**
447
+ * Extract the first meaningful line (not empty, not a mailbox tag).
448
+ */
449
+ extractFirstMeaningfulLine(text) {
450
+ const lines = text.split("\n");
451
+ for (const line of lines) {
452
+ const trimmed = line.trim();
453
+ if (!trimmed)
454
+ continue;
455
+ if (trimmed.startsWith("<mailbox_message"))
456
+ continue;
457
+ if (trimmed.startsWith("</mailbox_message"))
458
+ continue;
459
+ // Strip leading markdown heading markers
460
+ const cleaned = trimmed.replace(/^#+\s*/, "");
461
+ return cleaned.slice(0, 120);
462
+ }
463
+ return "";
464
+ }
465
+ /**
466
+ * Extract a short excerpt (first ~400 chars of meaningful content) from a phase result.
467
+ */
468
+ extractExcerpt(text) {
469
+ const lines = text.split("\n");
470
+ const meaningful = [];
471
+ let total = 0;
472
+ for (const line of lines) {
473
+ const trimmed = line.trim();
474
+ if (!trimmed)
475
+ continue;
476
+ if (trimmed.startsWith("<mailbox_message"))
477
+ continue;
478
+ if (trimmed.startsWith("</mailbox_message"))
479
+ continue;
480
+ meaningful.push(line);
481
+ total += line.length;
482
+ if (total > 400)
483
+ break;
484
+ }
485
+ return meaningful.join("\n").slice(0, 500);
486
+ }
284
487
  // -------------------------------------------------------------------
285
488
  // Helpers
286
489
  // -------------------------------------------------------------------
@@ -288,55 +491,112 @@ export class TeamSupervisor {
288
491
  const goal = this.config.goal;
289
492
  const role = phase.phase.role;
290
493
  const name = phase.phase.name;
291
- // Gather context from completed dependency phases
292
494
  const deps = phase.phase.dependsOn ?? [];
495
+ // Gather context from completed dependency phases
293
496
  let contextBlock = "";
294
497
  if (deps.length > 0) {
295
- const depResults = deps
498
+ const depSections = deps
296
499
  .map((dep) => {
297
500
  const depState = this.state.taskGraph.getPhase(dep);
298
- if (!depState || !depState.result)
501
+ if (!depState)
299
502
  return null;
300
- return `${dep} output:\n${depState.result}`;
503
+ const status = depState.status;
504
+ if (status === "failed") {
505
+ return `### ${dep} (${depState.phase.role}) — FAILED\nError: ${depState.error ?? "unknown"}`;
506
+ }
507
+ if (status === "skipped") {
508
+ return `### ${dep} (${depState.phase.role}) — SKIPPED`;
509
+ }
510
+ if (depState.result) {
511
+ return `### ${dep} (${depState.phase.role})\n${depState.result}`;
512
+ }
513
+ return null;
301
514
  })
302
515
  .filter(Boolean)
303
516
  .join("\n\n");
304
- if (depResults) {
305
- contextBlock = `\n\nContext from previous phases:\n${depResults}`;
517
+ if (depSections) {
518
+ contextBlock = `\n\n## Previous Phase Results\n\n${depSections}\n`;
306
519
  }
307
520
  }
308
521
  // Read messages addressed to this role
309
522
  let messagesBlock = "";
523
+ const ackIds = [];
310
524
  try {
311
525
  const roleMessages = readTaskInbox(this.mailboxPaths, role);
312
- const handoffMessages = roleMessages.filter((m) => m.type === "handoff" || m.type === "task_assignment");
313
- if (handoffMessages.length > 0) {
314
- const messageText = handoffMessages
315
- .map((m) => `Message from ${m.from}:\n${String(m.payload.content ?? m.payload.phase ?? "")}`)
316
- .join("\n\n");
317
- messagesBlock = `\n\nMessages for you:\n${messageText}`;
526
+ if (roleMessages.length > 0) {
527
+ const messageParts = [];
528
+ for (const m of roleMessages) {
529
+ ackIds.push(m.messageId);
530
+ if (m.type === "task_assignment") {
531
+ const depList = Array.isArray(m.payload.dependsOn)
532
+ ? m.payload.dependsOn.join(", ")
533
+ : "(none)";
534
+ let depResultsText = "";
535
+ const depResults = m.payload.dependencyResults;
536
+ if (depResults && Object.keys(depResults).length > 0) {
537
+ depResultsText = Object.entries(depResults)
538
+ .map(([depName, depResult]) => `#### ${depName} result:\n${depResult}`)
539
+ .join("\n\n");
540
+ }
541
+ messageParts.push(`### Task Assignment from supervisor (${m.timestamp})\n` +
542
+ `Phase: ${m.payload.phase ?? name}\n` +
543
+ `Dependencies: ${depList}\n` +
544
+ (depResultsText ? `\n${depResultsText}\n` : ""));
545
+ }
546
+ else if (m.type === "handoff") {
547
+ const content = String(m.payload.content ?? "");
548
+ messageParts.push(`### Message from ${m.from} (${m.timestamp})\n${content}`);
549
+ }
550
+ else if (m.type === "task_result") {
551
+ const resultText = String(m.payload.result ?? "");
552
+ const fromPhase = String(m.payload.phase ?? m.from);
553
+ messageParts.push(`### Completed: ${fromPhase} (${m.timestamp})\n${resultText}`);
554
+ }
555
+ }
556
+ if (messageParts.length > 0) {
557
+ messagesBlock = `\n## Messages\n\n${messageParts.join("\n\n")}\n`;
558
+ }
318
559
  }
319
560
  }
320
561
  catch {
321
562
  // Ignore mailbox read errors
322
563
  }
564
+ // Acknowledge messages that were included in the prompt
565
+ if (ackIds.length > 0) {
566
+ try {
567
+ ackTaskMessages(this.mailboxPaths, role, ackIds);
568
+ }
569
+ catch {
570
+ // Best effort acknowledgment
571
+ }
572
+ }
573
+ // Get role-specific system prompt if configured
574
+ const roleConfig = this.config.roles?.find((r) => r.role === role);
575
+ const roleSystemPrompt = roleConfig?.systemPrompt;
323
576
  return [
324
- `You are the ${role} agent in a team working on: ${goal}`,
325
- `Your current phase is: ${name}`,
577
+ roleSystemPrompt
578
+ ? roleSystemPrompt
579
+ : `You are the ${role} agent on a software engineering team.`,
580
+ "",
581
+ `## Overall Goal`,
582
+ "",
583
+ goal,
584
+ "",
585
+ `## Your Current Phase: ${name}`,
586
+ "",
326
587
  contextBlock,
327
588
  messagesBlock,
328
- ``,
329
589
  `## Communication Protocol`,
330
- ``,
590
+ "",
331
591
  `You can send messages to other team members by including them in your output using this format:`,
332
- ``,
592
+ "",
333
593
  `<mailbox_message to="role_name">`,
334
- `Your message content here.`,
594
+ `Your message content here. Be specific about what you found and what they need to know.`,
335
595
  `</mailbox_message>`,
336
- ``,
596
+ "",
337
597
  `You can address messages to: explorer, planner, coder, reviewer, tester, fixer, or broadcast.`,
338
598
  `Messages are delivered after your phase completes.`,
339
- ``,
599
+ "",
340
600
  `Your final output (outside of mailbox_message tags) is your phase result.`,
341
601
  `Complete the ${name} phase and write your result.`,
342
602
  ]
@@ -356,11 +616,24 @@ export class TeamSupervisor {
356
616
  // ---------------------------------------------------------------------------
357
617
  // Helpers
358
618
  // ---------------------------------------------------------------------------
359
- function escapeXml(value) {
619
+ /**
620
+ * Escape a string for use in an XML attribute value.
621
+ * Full XML special character escaping.
622
+ */
623
+ function escapeAttr(value) {
360
624
  return value
361
625
  .replaceAll("&", "&amp;")
362
626
  .replaceAll('"', "&quot;")
627
+ .replaceAll("'", "&apos;")
363
628
  .replaceAll("<", "&lt;")
364
629
  .replaceAll(">", "&gt;");
365
630
  }
631
+ /**
632
+ * Minimal escaping for XML element body content.
633
+ * Only escapes & and ]]> to prevent XML parsing errors while
634
+ * preserving markdown formatting (headers, lists, bold, etc.).
635
+ */
636
+ function escapeBody(value) {
637
+ return value.replaceAll("&", "&amp;").replaceAll("]]>", "]]&gt;");
638
+ }
366
639
  //# sourceMappingURL=supervisor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/team/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/team/supervisor.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;AAsDzC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA2V5D"}
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,CAkb5D"}