@gjczone/pi-swarm 0.5.0 → 0.7.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 (68) hide show
  1. package/README.md +14 -21
  2. package/dist/index.d.ts +3 -10
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -16
  5. package/dist/index.js.map +1 -1
  6. package/dist/shared/controller.d.ts +10 -1
  7. package/dist/shared/controller.d.ts.map +1 -1
  8. package/dist/shared/controller.js +47 -12
  9. package/dist/shared/controller.js.map +1 -1
  10. package/dist/shared/render.d.ts +1 -1
  11. package/dist/shared/render.js +1 -1
  12. package/dist/shared/spawner.js +49 -5
  13. package/dist/shared/spawner.js.map +1 -1
  14. package/dist/shared/types.d.ts +8 -0
  15. package/dist/shared/types.d.ts.map +1 -1
  16. package/dist/shared/worktree.d.ts +2 -0
  17. package/dist/shared/worktree.d.ts.map +1 -1
  18. package/dist/shared/worktree.js +10 -3
  19. package/dist/shared/worktree.js.map +1 -1
  20. package/dist/state/recovery.d.ts.map +1 -1
  21. package/dist/state/recovery.js +25 -4
  22. package/dist/state/recovery.js.map +1 -1
  23. package/dist/swarm/command.d.ts +4 -5
  24. package/dist/swarm/command.d.ts.map +1 -1
  25. package/dist/swarm/command.js +26 -74
  26. package/dist/swarm/command.js.map +1 -1
  27. package/dist/swarm/mode.d.ts +1 -1
  28. package/dist/swarm/mode.js +2 -2
  29. package/dist/swarm/mode.js.map +1 -1
  30. package/dist/swarm/tool.d.ts +4 -4
  31. package/dist/swarm/tool.d.ts.map +1 -1
  32. package/dist/swarm/tool.js +107 -167
  33. package/dist/swarm/tool.js.map +1 -1
  34. package/dist/team/command.d.ts +2 -4
  35. package/dist/team/command.d.ts.map +1 -1
  36. package/dist/team/command.js +5 -13
  37. package/dist/team/command.js.map +1 -1
  38. package/dist/team/mailbox.d.ts +7 -0
  39. package/dist/team/mailbox.d.ts.map +1 -1
  40. package/dist/team/mailbox.js +99 -13
  41. package/dist/team/mailbox.js.map +1 -1
  42. package/dist/tui/progress.d.ts +18 -50
  43. package/dist/tui/progress.d.ts.map +1 -1
  44. package/dist/tui/progress.js +200 -483
  45. package/dist/tui/progress.js.map +1 -1
  46. package/dist/tui/swarm-markers.d.ts +1 -1
  47. package/dist/tui/swarm-markers.js +1 -1
  48. package/package.json +13 -2
  49. package/dist/team/supervisor.d.ts +0 -171
  50. package/dist/team/supervisor.d.ts.map +0 -1
  51. package/dist/team/supervisor.js +0 -685
  52. package/dist/team/supervisor.js.map +0 -1
  53. package/dist/team/task-graph.d.ts +0 -64
  54. package/dist/team/task-graph.d.ts.map +0 -1
  55. package/dist/team/task-graph.js +0 -216
  56. package/dist/team/task-graph.js.map +0 -1
  57. package/dist/team/tool.d.ts +0 -11
  58. package/dist/team/tool.d.ts.map +0 -1
  59. package/dist/team/tool.js +0 -491
  60. package/dist/team/tool.js.map +0 -1
  61. package/dist/tui/permission-prompt.d.ts +0 -26
  62. package/dist/tui/permission-prompt.d.ts.map +0 -1
  63. package/dist/tui/permission-prompt.js +0 -98
  64. package/dist/tui/permission-prompt.js.map +0 -1
  65. package/dist/tui/team-dashboard.d.ts +0 -81
  66. package/dist/tui/team-dashboard.d.ts.map +0 -1
  67. package/dist/tui/team-dashboard.js +0 -657
  68. package/dist/tui/team-dashboard.js.map +0 -1
package/README.md CHANGED
@@ -12,18 +12,18 @@ pi install npm:@gjczone/pi-swarm@latest
12
12
 
13
13
  | Feature | When to Use | What It Does |
14
14
  |---------|-------------|--------------|
15
- | **AgentSwarm** | Run the same task across many items in parallel | Spawns 1-128 isolated subagents from an item template. Each runs in its own `pi --print` process. |
16
- | **SwarmTeam** | Execute multi-step workflows with specialized roles | Role-based agents (explorer, planner, coder, reviewer, tester) collaborate in phases with a shared mailbox. Each phase receives context from previous phases. |
17
- | **/swarm command** | Trigger a swarm from the chat | Shortcut for the AgentSwarm tool. `on` / `off` to toggle swarm mode. |
18
- | **/swarm-team command** | Trigger a team from the chat | Shortcut for the SwarmTeam tool. |
15
+ | **Swarm** | Run the same task across many items in parallel | Spawns 1-20 subagents from an item template. Optional mailbox mode for inter-agent communication. |
16
+ | **/swarm** | Trigger a swarm from chat | Shortcut for the Swarm tool. Usage: `/swarm <task>` |
17
+ | **/swarm-team** | Trigger a collaborative swarm | Shortcut for Swarm with mailbox enabled. Usage: `/swarm-team <goal>` |
18
+ | **Mailbox Mode** | Need agents to share findings | When `mailbox: true`, agents get inbox/outbox and can exchange messages during execution. |
19
19
  | **Worktree Isolation** | Parallel agents modifying the same repo | Each subagent runs in a temporary git worktree. Changes commit to named branches for safe merging. Non-git repos fall back to regular directories. |
20
- | **Live TUI Progress** | Monitor long-running swarms or teams | Braille progress bars for swarm agents, phase dashboard for teams. Updates in real time. |
20
+ | **Live TUI Progress** | Monitor running swarms | Braille progress bars, grid layout, scrolling model output. Single-agent compact mode. |
21
21
  | **Rate-Limit Retry** | Avoid API quota exhaustion | Auto-suspends on rate-limit errors and retries with exponential backoff (3s, 6s, 12s...). |
22
22
  | **Crash Recovery** | Survive unexpected termination | Durable file-based state. Resume incomplete runs automatically. Completed runs auto-clean after 7 days. |
23
23
 
24
24
  ## Usage Examples
25
25
 
26
- ### Swarm — run the same task across many items
26
+ ### Swarm — parallel or collaborative
27
27
 
28
28
  ```
29
29
  Review every file in src/ for bugs — use a swarm
@@ -33,27 +33,17 @@ Review every file in src/ for bugs — use a swarm
33
33
  Run a security audit on these five packages in parallel: auth, api, db, cache, middleware
34
34
  ```
35
35
 
36
- ### Team — plan, build, and review in phases
37
-
38
36
  ```
39
- Implement user login with JWT — use a team with planner, coder, and reviewer
37
+ Implement user login with JWT — use a swarm with mailbox so agents can collaborate
40
38
  ```
41
39
 
42
40
  ```
43
- Add Redis caching — explore the codebase first, then plan, implement, review, test
44
- ```
45
-
46
- ### Resume failed work
47
-
48
- If agents fail, the LLM receives `resume_agent_ids` and can retry:
49
-
50
- ```
51
- Two of the five swarm reviews failed — retry those
41
+ Add Redis caching — explore first, then implement based on findings
52
42
  ```
53
43
 
54
44
  ### Cancel mid-run
55
45
 
56
- Press `Ctrl+C` during a swarm or team run. Completed agents are preserved, in-progress agents are cancelled gracefully.
46
+ Press `Ctrl+C` during a swarm run. Completed agents are preserved, in-progress agents are cancelled gracefully.
57
47
 
58
48
  ## Settings
59
49
 
@@ -67,7 +57,7 @@ Default max concurrency is **5**. Adjust in `.pi/settings.json` (project) or `~/
67
57
  }
68
58
  ```
69
59
 
70
- For team mode, configure a lightweight model for exploration roles to reduce costs:
60
+ Configure a lightweight model for simple/exploratory subagent tasks. The LLM reads this setting and passes `model` explicitly when appropriate:
71
61
 
72
62
  ```json
73
63
  {
@@ -77,6 +67,9 @@ For team mode, configure a lightweight model for exploration roles to reduce cos
77
67
  }
78
68
  ```
79
69
 
70
+ When to use small model: exploration, straightforward execution, tasks with clear instructions.
71
+ When NOT to use: review, planning, complex analysis, architecture decisions.
72
+
80
73
  ## Supported Platforms
81
74
 
82
75
  | Platform | Status |
@@ -87,7 +80,7 @@ For team mode, configure a lightweight model for exploration roles to reduce cos
87
80
 
88
81
  ## Credits
89
82
 
90
- Architecture ported from [MoonshotAI/kimi-code](https://github.com/MoonshotAI/kimi-code). Team communication patterns inspired by [pi-crew](https://github.com/baphuongna/pi-crew). Agent team workflow approach inspired by Claude Code.
83
+ Architecture references [MoonshotAI/kimi-code](https://github.com/MoonshotAI/kimi-code). Team communication patterns inspired by [pi-crew](https://github.com/baphuongna/pi-crew). Agent team workflow approach inspired by Claude Code.
91
84
 
92
85
  ## License
93
86
 
package/dist/index.d.ts CHANGED
@@ -5,20 +5,13 @@
5
5
  * the AgentSwarm tool, /swarm command, swarm-mode state machine,
6
6
  * and TUI progress components.
7
7
  *
8
- * Credit: AgentSwarm architecture ported from MoonshotAI/kimi-code.
8
+ * Credit: AgentSwarm architecture references MoonshotAI/kimi-code.
9
9
  * Team/mailbox patterns inspired by pi-crew.
10
10
  */
11
11
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
12
12
  /**
13
- * Resolve which swarm mode (if any) should be activated based on user input keywords.
14
- *
15
- * Priority: "swarm-team" / "swarm team" > "swarm" alone.
16
- * Returns null when no keyword matches.
17
- *
18
- * 业务说明:根据用户输入中的关键词判断应该激活 AgentSwarm 还是 SwarmTeam。
19
- * "swarm-team" 或 "swarm team" 激活 team 模式,单独的 "swarm" 激活 swarm 模式。
20
- * "swarm-team" 中包含 "swarm" 子串,因此 team 检查必须在 swarm 之前。
13
+ * Return "swarm" when the input contains the word "swarm", otherwise null.
21
14
  */
22
- export declare function resolveKeywordMode(text: string): "swarm" | "team" | null;
15
+ export declare function resolveKeywordMode(text: string): "swarm" | null;
23
16
  export default function (pi: ExtensionAPI): void;
24
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AA6FpE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAKxE;AAED,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,GAAG,IAAI,CAuH/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AA2FpE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAI/D;AAED,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,GAAG,IAAI,CAwH/C"}
package/dist/index.js CHANGED
@@ -5,13 +5,11 @@
5
5
  * the AgentSwarm tool, /swarm command, swarm-mode state machine,
6
6
  * and TUI progress components.
7
7
  *
8
- * Credit: AgentSwarm architecture ported from MoonshotAI/kimi-code.
8
+ * Credit: AgentSwarm architecture references MoonshotAI/kimi-code.
9
9
  * Team/mailbox patterns inspired by pi-crew.
10
10
  */
11
11
  import { registerAgentSwarmTool } from "./swarm/tool.js";
12
12
  import { registerSwarmCommand, } from "./swarm/command.js";
13
- import { registerSwarmTeamTool } from "./team/tool.js";
14
- import { registerTeamCommand } from "./team/command.js";
15
13
  import { recoverRuns } from "./state/recovery.js";
16
14
  import { SwarmModeMarkerComponent, } from "./tui/swarm-markers.js";
17
15
  import { pruneWorktrees } from "./shared/worktree.js";
@@ -81,19 +79,10 @@ function findGitignore(cwd) {
81
79
  // Keyword mode resolver (exported for testing)
82
80
  // ---------------------------------------------------------------------------
83
81
  /**
84
- * Resolve which swarm mode (if any) should be activated based on user input keywords.
85
- *
86
- * Priority: "swarm-team" / "swarm team" > "swarm" alone.
87
- * Returns null when no keyword matches.
88
- *
89
- * 业务说明:根据用户输入中的关键词判断应该激活 AgentSwarm 还是 SwarmTeam。
90
- * "swarm-team" 或 "swarm team" 激活 team 模式,单独的 "swarm" 激活 swarm 模式。
91
- * "swarm-team" 中包含 "swarm" 子串,因此 team 检查必须在 swarm 之前。
82
+ * Return "swarm" when the input contains the word "swarm", otherwise null.
92
83
  */
93
84
  export function resolveKeywordMode(text) {
94
85
  const t = text.toLowerCase();
95
- if (t.includes("swarm-team") || t.includes("swarm team"))
96
- return "team";
97
86
  if (t.includes("swarm"))
98
87
  return "swarm";
99
88
  return null;
@@ -133,7 +122,8 @@ export default function (pi) {
133
122
  return tools !== undefined && tools.length > 0;
134
123
  }
135
124
  catch {
136
- return true;
125
+ console.error("[pi-swarm] Failed to check active model availability, assuming no model.");
126
+ return false;
137
127
  }
138
128
  },
139
129
  };
@@ -202,8 +192,6 @@ export default function (pi) {
202
192
  });
203
193
  registerAgentSwarmTool(pi);
204
194
  registerSwarmCommand(pi, commandHost);
205
- registerSwarmTeamTool(pi);
206
- registerTeamCommand(pi, commandHost);
207
195
  }
208
196
  // ---------------------------------------------------------------------------
209
197
  // Marker helpers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * controller — concurrency controller for subagent batches.
3
3
  *
4
- * Ported from MoonshotAI/kimi-code's SubagentBatch.
4
+ * Architecture reference: AgentSwarm pattern.
5
5
  *
6
6
  * Two-phase scheduling:
7
7
  * Normal phase: ramp-up (5 initial, +1 every 700ms).
@@ -92,4 +92,13 @@ export declare class SubagentBatchController<T> {
92
92
  * misconfigured cap never silently reverts to uncapped.
93
93
  */
94
94
  export declare function resolveSwarmMaxConcurrency(cwd?: string): number;
95
+ /**
96
+ * Resolve the optional small model from pi settings.
97
+ * Used as the default model for simple subagent tasks.
98
+ *
99
+ * Priority:
100
+ * 1. `.pi/settings.json` → `pi-swarm.smallModel`
101
+ * 2. `~/.pi/agent/settings.json` → `pi-swarm.smallModel`
102
+ */
103
+ export declare function resolveSwarmSmallModel(cwd?: string): string | undefined;
95
104
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/shared/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAUtB,MAAM,YAAY,CAAC;AA+FpB,qBAAa,uBAAuB,CAAC,CAAC;IAyClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAxC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAA4C;IAGrE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,qBAAqB,CAAK;IAGlC,OAAO,CAAC,OAAO,CAA4D;IAC3E,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA4C;IAGxE,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAK;IAGxB,OAAO,CAAC,iBAAiB,CAAgB;gBAGtB,QAAQ,EAAE,qBAAqB,EAChD,KAAK,EAAE,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,EACvC,OAAO,GAAE,oBAAyB;IAqCpC;;;OAGG;IACH,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAoCxC,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,YAAY;YAyCN,UAAU;IAoHxB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,YAAY;IA8FpB,yDAAyD;IACzD,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,kBAAkB;CAsC3B;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B/D"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/shared/controller.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * controller — concurrency controller for subagent batches.
3
3
  *
4
- * Ported from MoonshotAI/kimi-code's SubagentBatch.
4
+ * Architecture reference: AgentSwarm pattern.
5
5
  *
6
6
  * Two-phase scheduling:
7
7
  * Normal phase: ramp-up (5 initial, +1 every 700ms).
@@ -13,7 +13,7 @@
13
13
  import * as fs from "node:fs";
14
14
  import * as path from "node:path";
15
15
  // ---------------------------------------------------------------------------
16
- // Constants (from kimi-code)
16
+ // Constants
17
17
  // ---------------------------------------------------------------------------
18
18
  const INITIAL_LAUNCH_LIMIT = 5;
19
19
  const INITIAL_LAUNCH_INTERVAL_MS = 700;
@@ -37,10 +37,7 @@ function isUserCancellation(reason) {
37
37
  const msg = reason instanceof Error
38
38
  ? reason.message.toLowerCase()
39
39
  : String(reason).toLowerCase();
40
- return (msg.includes("user") ||
41
- msg.includes("cancel") ||
42
- msg.includes("interrupt") ||
43
- msg.includes("abort"));
40
+ return (msg.includes("user") || msg.includes("cancel") || msg.includes("interrupt"));
44
41
  }
45
42
  function userCancellationReason() {
46
43
  return new Error("User cancelled");
@@ -114,6 +111,7 @@ export class SubagentBatchController {
114
111
  cacheWrite: 0,
115
112
  totalTokens: 0,
116
113
  },
114
+ progressTick: 0,
117
115
  }));
118
116
  this.pending = [...this.states];
119
117
  this.results = Array.from({
@@ -241,7 +239,9 @@ export class SubagentBatchController {
241
239
  return;
242
240
  const now = Date.now();
243
241
  this.recoverRateLimitCapacity(now);
244
- if (this.active.size >= this.rateLimitCapacity) {
242
+ if (this.active.size >= this.rateLimitCapacity ||
243
+ (this.maxConcurrency !== undefined &&
244
+ this.active.size >= this.maxConcurrency)) {
245
245
  this.scheduleRateLimitWakeup(this.nextRateLimitCapacityRecoveryAt(), now);
246
246
  return;
247
247
  }
@@ -316,11 +316,16 @@ export class SubagentBatchController {
316
316
  onUsage: (usage) => {
317
317
  attempt.state.usage = { ...usage };
318
318
  this.emitProgress();
319
+ // Forward to task-level callback (used by team mode to update supervisor phase usage)
320
+ task.onUsage?.(usage);
319
321
  },
320
322
  onActivity: (tool, activity) => {
321
323
  attempt.state.currentTool = tool;
322
324
  attempt.state.activity = activity;
325
+ attempt.state.progressTick += 1;
323
326
  this.emitProgress();
327
+ // Forward to task-level callback (used by team mode to update phase activity)
328
+ task.onActivity?.(tool, activity);
324
329
  },
325
330
  onMessage: task.onMessage,
326
331
  suppressRateLimitFailureEvent: true,
@@ -472,10 +477,7 @@ export class SubagentBatchController {
472
477
  }
473
478
  failedAttemptOutcome(attempt, error) {
474
479
  const task = attempt.state.task;
475
- const isAbort = error instanceof Error &&
476
- (error.message.includes("abort") ||
477
- error.message.includes("cancel") ||
478
- error.name === "AbortError");
480
+ const isAbort = isUserCancellation(error);
479
481
  const status = isAbort ? "aborted" : "failed";
480
482
  let errorMessage;
481
483
  if (attempt.timedOut && task.timeout !== undefined) {
@@ -505,7 +507,9 @@ export class SubagentBatchController {
505
507
  // Use startedSuccessCount (count of agents that fully booted during
506
508
  // the normal phase) so capacity reflects true past throughput rather
507
509
  // than only currently-active attempts (which may already be finishing).
508
- this.rateLimitCapacity = Math.max(1, this.startedSuccessCount);
510
+ this.rateLimitCapacity = Math.max(1, this.maxConcurrency !== undefined
511
+ ? Math.min(this.maxConcurrency, this.startedSuccessCount)
512
+ : this.startedSuccessCount);
509
513
  this.lastRateLimitAt = Date.now();
510
514
  this.globalRetryIntervalMs = RATE_LIMIT_RETRY_BASE_MS;
511
515
  this.nextRateLimitLaunchAt = Date.now() + RATE_LIMIT_RETRY_BASE_MS;
@@ -530,6 +534,10 @@ export class SubagentBatchController {
530
534
  return;
531
535
  this.lastCapacityRecoveryAt = now;
532
536
  this.rateLimitCapacity += 1;
537
+ if (this.maxConcurrency !== undefined &&
538
+ this.rateLimitCapacity > this.maxConcurrency) {
539
+ this.rateLimitCapacity = this.maxConcurrency;
540
+ }
533
541
  }
534
542
  // -----------------------------------------------------------------------
535
543
  // Completion
@@ -597,6 +605,7 @@ export class SubagentBatchController {
597
605
  usage: memberUsage,
598
606
  currentTool: state.currentTool,
599
607
  activity: state.activity,
608
+ progressTick: state.progressTick,
600
609
  });
601
610
  }
602
611
  const queued = this.states.length - completed - failed - active;
@@ -867,4 +876,30 @@ function getSettingsMaxConcurrency(settings) {
867
876
  const swarm = settings["pi-swarm"];
868
877
  return swarm?.maxConcurrency;
869
878
  }
879
+ /**
880
+ * Resolve the optional small model from pi settings.
881
+ * Used as the default model for simple subagent tasks.
882
+ *
883
+ * Priority:
884
+ * 1. `.pi/settings.json` → `pi-swarm.smallModel`
885
+ * 2. `~/.pi/agent/settings.json` → `pi-swarm.smallModel`
886
+ */
887
+ export function resolveSwarmSmallModel(cwd) {
888
+ const projectSettings = readPiSettings(path.join(cwd ?? process.cwd(), ".pi", "settings.json"));
889
+ const projectValue = getSettingsSmallModel(projectSettings);
890
+ if (projectValue !== undefined)
891
+ return projectValue;
892
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? "~";
893
+ const globalSettings = readPiSettings(path.join(home, ".pi", "agent", "settings.json"));
894
+ return getSettingsSmallModel(globalSettings);
895
+ }
896
+ function getSettingsSmallModel(settings) {
897
+ if (!settings)
898
+ return undefined;
899
+ const swarm = settings["pi-swarm"];
900
+ const val = swarm?.smallModel;
901
+ return typeof val === "string" && val.trim().length > 0
902
+ ? val.trim()
903
+ : undefined;
904
+ }
870
905
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/shared/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/shared/controller.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * render — format AgentSwarm and SwarmTeam output.
3
3
  *
4
4
  * Produces the structured XML output that the parent LLM reads.
5
- * Format is compatible with kimi-code's AgentSwarm output.
5
+ * Format: XML-wrapped per-agent results.
6
6
  */
7
7
  import type { SwarmSpawnSpec, SwarmResumeSpec, SubagentResult } from "./types.js";
8
8
  interface SwarmRunResult {
@@ -2,7 +2,7 @@
2
2
  * render — format AgentSwarm and SwarmTeam output.
3
3
  *
4
4
  * Produces the structured XML output that the parent LLM reads.
5
- * Format is compatible with kimi-code's AgentSwarm output.
5
+ * Format: XML-wrapped per-agent results.
6
6
  */
7
7
  import { escapeXmlAttr, escapeXmlBody } from "./xml.js";
8
8
  /**
@@ -84,9 +84,14 @@ async function runSubagentProcess(agentId, opts) {
84
84
  // 仅当显式设置 useWorktree: false 时禁用
85
85
  // 传递 mailboxPath 以符号链接 mailbox 到 worktree 中,支持实时消息传递
86
86
  if (opts.useWorktree !== false && isGitRepository(repoCwd)) {
87
- worktree = createWorktree(repoCwd, agentId, opts.mailboxPath);
88
- if (worktree) {
89
- cwd = worktree.path;
87
+ try {
88
+ worktree = createWorktree(repoCwd, agentId, opts.mailboxPath);
89
+ if (worktree) {
90
+ cwd = worktree.path;
91
+ }
92
+ }
93
+ catch (err) {
94
+ console.error(`[pi-swarm] WARNING: Worktree creation failed: ${err instanceof Error ? err.message : String(err)}. Running without isolation.`);
90
95
  }
91
96
  }
92
97
  // Resolve paths for inbox/outbox polling when mailbox is enabled
@@ -139,11 +144,18 @@ async function runSubagentProcess(agentId, opts) {
139
144
  ].join("\n");
140
145
  finalPrompt = finalPrompt + mailboxAddendum;
141
146
  }
147
+ // Auto-detect root AGENTS.md for subagent project rules
148
+ let systemPromptFile;
149
+ const agentsPath = join(cwd, "AGENTS.md");
150
+ if (existsSync(agentsPath)) {
151
+ systemPromptFile = agentsPath;
152
+ }
142
153
  const args = buildSubagentArgs({
143
154
  task: finalPrompt,
144
155
  model: opts.model,
145
156
  tools: opts.tools,
146
157
  cwd,
158
+ systemPromptFile,
147
159
  });
148
160
  const invocation = getPiInvocation(args);
149
161
  const proc = spawn(invocation.command, invocation.args, {
@@ -159,6 +171,9 @@ async function runSubagentProcess(agentId, opts) {
159
171
  flags: "a",
160
172
  encoding: "utf-8",
161
173
  });
174
+ logStream.on("error", (err) => {
175
+ console.error(`[pi-swarm] Log stream error for agent ${agentId}:`, err.message);
176
+ });
162
177
  const worktreeInfo = worktree
163
178
  ? `Worktree: ${worktree.path}\nBranch: ${worktree.branch}`
164
179
  : "Worktree: disabled";
@@ -338,7 +353,7 @@ async function runSubagentProcess(agentId, opts) {
338
353
  const result = await new Promise((resolve, reject) => {
339
354
  streamResolve = resolve;
340
355
  streamReject = reject;
341
- parseEventStream(proc, agentId, logStream, killState, opts.onUsage).then((parsed) => {
356
+ parseEventStream(proc, agentId, logStream, killState, opts.onUsage, opts.onActivity).then((parsed) => {
342
357
  if (done)
343
358
  return;
344
359
  if (settled) {
@@ -374,6 +389,12 @@ async function runSubagentProcess(agentId, opts) {
374
389
  worktreeBranch = cleanupResult.branch;
375
390
  finalResult += `\n\n---\nChanges committed to branch \`${cleanupResult.branch}\`.`;
376
391
  }
392
+ else if (cleanupResult.hasChanges && cleanupResult.commitSha) {
393
+ finalResult += `\n\n---\nChanges committed at commit \`${cleanupResult.commitSha}\` but branch creation failed.`;
394
+ }
395
+ else if (cleanupResult.hasChanges && cleanupResult.error) {
396
+ finalResult += `\n\n---\nChanges detected but commit failed: ${cleanupResult.error}`;
397
+ }
377
398
  }
378
399
  return {
379
400
  result: finalResult,
@@ -411,7 +432,7 @@ async function runSubagentProcess(agentId, opts) {
411
432
  * 支持实时通过 onUsage 回调推送使用量更新,让 TUI 能实时显示 token 计数。
412
433
  * 同时捕获 content_block_delta 增量文本和工具调用输出,避免结果丢失。
413
434
  */
414
- function parseEventStream(proc, agentId, logStream, killState, onUsage) {
435
+ function parseEventStream(proc, agentId, logStream, killState, onUsage, onActivity) {
415
436
  return new Promise((resolve, reject) => {
416
437
  const usageAcc = {
417
438
  input: 0,
@@ -427,6 +448,8 @@ function parseEventStream(proc, agentId, logStream, killState, onUsage) {
427
448
  let unparseableCount = 0;
428
449
  let settled = false;
429
450
  let lastUsageEmit = 0;
451
+ let lastActivityEmit = 0;
452
+ let lastModelText = "";
430
453
  const emitUsage = () => {
431
454
  if (!onUsage)
432
455
  return;
@@ -441,6 +464,20 @@ function parseEventStream(proc, agentId, logStream, killState, onUsage) {
441
464
  // Callback errors must not break parsing
442
465
  }
443
466
  };
467
+ const emitActivity = (tool, activity) => {
468
+ if (!onActivity)
469
+ return;
470
+ const now = Date.now();
471
+ if (now - lastActivityEmit < 150)
472
+ return; // Throttle to ~6Hz
473
+ lastActivityEmit = now;
474
+ try {
475
+ onActivity(tool, activity);
476
+ }
477
+ catch {
478
+ // Callback errors must not break parsing
479
+ }
480
+ };
444
481
  const settle = (result, err) => {
445
482
  if (settled)
446
483
  return;
@@ -543,6 +580,9 @@ function parseEventStream(proc, agentId, logStream, killState, onUsage) {
543
580
  const deltaText = event.delta.text;
544
581
  if (deltaText) {
545
582
  finalText += deltaText;
583
+ // Track latest text for scrolling output display
584
+ lastModelText = (lastModelText + deltaText).slice(-200);
585
+ emitActivity("model", lastModelText);
546
586
  }
547
587
  }
548
588
  else if (event.type === "message_delta") {
@@ -567,6 +607,10 @@ function parseEventStream(proc, agentId, logStream, killState, onUsage) {
567
607
  finalText += "\n";
568
608
  finalText += toolOutput;
569
609
  }
610
+ // Forward tool activity to TUI
611
+ const toolName = event.toolName ?? "tool";
612
+ const summary = toolOutput.trim().slice(0, 60);
613
+ emitActivity(toolName, summary);
570
614
  }
571
615
  };
572
616
  const processBuffer = () => {