@gjczone/pi-swarm 0.4.1 → 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.
- package/README.md +35 -89
- package/dist/index.d.ts +3 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -16
- package/dist/index.js.map +1 -1
- package/dist/shared/controller.d.ts +19 -5
- package/dist/shared/controller.d.ts.map +1 -1
- package/dist/shared/controller.js +139 -17
- package/dist/shared/controller.js.map +1 -1
- package/dist/shared/render.d.ts +1 -12
- package/dist/shared/render.d.ts.map +1 -1
- package/dist/shared/render.js +4 -37
- package/dist/shared/render.js.map +1 -1
- package/dist/shared/spawner.js +49 -5
- package/dist/shared/spawner.js.map +1 -1
- package/dist/shared/types.d.ts +38 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/shared/worktree.d.ts +2 -0
- package/dist/shared/worktree.d.ts.map +1 -1
- package/dist/shared/worktree.js +10 -3
- package/dist/shared/worktree.js.map +1 -1
- package/dist/shared/xml.d.ts +18 -0
- package/dist/shared/xml.d.ts.map +1 -0
- package/dist/shared/xml.js +31 -0
- package/dist/shared/xml.js.map +1 -0
- package/dist/state/recovery.d.ts.map +1 -1
- package/dist/state/recovery.js +25 -4
- package/dist/state/recovery.js.map +1 -1
- package/dist/swarm/command.d.ts +4 -5
- package/dist/swarm/command.d.ts.map +1 -1
- package/dist/swarm/command.js +26 -74
- package/dist/swarm/command.js.map +1 -1
- package/dist/swarm/mode.d.ts +1 -1
- package/dist/swarm/mode.js +2 -2
- package/dist/swarm/mode.js.map +1 -1
- package/dist/swarm/tool.d.ts +4 -4
- package/dist/swarm/tool.d.ts.map +1 -1
- package/dist/swarm/tool.js +115 -160
- package/dist/swarm/tool.js.map +1 -1
- package/dist/team/command.d.ts +2 -4
- package/dist/team/command.d.ts.map +1 -1
- package/dist/team/command.js +5 -13
- package/dist/team/command.js.map +1 -1
- package/dist/team/mailbox.d.ts +7 -0
- package/dist/team/mailbox.d.ts.map +1 -1
- package/dist/team/mailbox.js +99 -13
- package/dist/team/mailbox.js.map +1 -1
- package/dist/tui/progress.d.ts +26 -9
- package/dist/tui/progress.d.ts.map +1 -1
- package/dist/tui/progress.js +262 -163
- package/dist/tui/progress.js.map +1 -1
- package/dist/tui/swarm-markers.d.ts +1 -1
- package/dist/tui/swarm-markers.js +1 -1
- package/package.json +13 -2
- package/dist/team/supervisor.d.ts +0 -171
- package/dist/team/supervisor.d.ts.map +0 -1
- package/dist/team/supervisor.js +0 -700
- package/dist/team/supervisor.js.map +0 -1
- package/dist/team/task-graph.d.ts +0 -64
- package/dist/team/task-graph.d.ts.map +0 -1
- package/dist/team/task-graph.js +0 -216
- package/dist/team/task-graph.js.map +0 -1
- package/dist/team/tool.d.ts +0 -11
- package/dist/team/tool.d.ts.map +0 -1
- package/dist/team/tool.js +0 -455
- package/dist/team/tool.js.map +0 -1
- package/dist/tui/permission-prompt.d.ts +0 -26
- package/dist/tui/permission-prompt.d.ts.map +0 -1
- package/dist/tui/permission-prompt.js +0 -98
- package/dist/tui/permission-prompt.js.map +0 -1
- package/dist/tui/team-dashboard.d.ts +0 -48
- package/dist/tui/team-dashboard.d.ts.map +0 -1
- package/dist/tui/team-dashboard.js +0 -249
- package/dist/tui/team-dashboard.js.map +0 -1
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* team/supervisor — team supervisor agent.
|
|
3
|
-
*
|
|
4
|
-
* The supervisor decomposes a high-level goal into phases, assigns
|
|
5
|
-
* each phase to a role agent, monitors progress via the mailbox,
|
|
6
|
-
* and synthesizes the final result.
|
|
7
|
-
*/
|
|
8
|
-
import type { AgentRole, TeamPhase, AgentRoleConfig, MailboxMessage, TeamProgressCallback, SubagentUsage } from "../shared/types.js";
|
|
9
|
-
import { TaskGraph, type PhaseState } from "./task-graph.js";
|
|
10
|
-
import { type MailboxPaths } from "./mailbox.js";
|
|
11
|
-
/**
|
|
12
|
-
* Get the mailbox root path for a given run.
|
|
13
|
-
* Exposed so tool.ts can pass it to the controller for real-time mailbox access.
|
|
14
|
-
*/
|
|
15
|
-
export declare function getMailboxRoot(swarmRoot: string, runId: string): string;
|
|
16
|
-
export interface TeamSupervisorConfig {
|
|
17
|
-
/** Working directory for the team run. */
|
|
18
|
-
readonly cwd: string;
|
|
19
|
-
/** Swarm root for state persistence. */
|
|
20
|
-
readonly swarmRoot: string;
|
|
21
|
-
/** Unique run identifier. */
|
|
22
|
-
readonly runId: string;
|
|
23
|
-
/** High-level goal. */
|
|
24
|
-
readonly goal: string;
|
|
25
|
-
/** Custom phases (defaults to explore/plan/implement/review/test). */
|
|
26
|
-
readonly phases?: readonly TeamPhase[];
|
|
27
|
-
/** Custom role configs. */
|
|
28
|
-
readonly roles?: readonly AgentRoleConfig[];
|
|
29
|
-
/** Model to use for lightweight/exploration roles (e.g. explorer). */
|
|
30
|
-
readonly smallModel?: string;
|
|
31
|
-
/** Max concurrent agents. */
|
|
32
|
-
readonly maxAgents?: number;
|
|
33
|
-
/** Progress callback for TUI dashboard updates. */
|
|
34
|
-
readonly onProgress?: TeamProgressCallback;
|
|
35
|
-
}
|
|
36
|
-
export interface TeamRunState {
|
|
37
|
-
readonly runId: string;
|
|
38
|
-
readonly goal: string;
|
|
39
|
-
status: "running" | "completed" | "failed";
|
|
40
|
-
taskGraph: TaskGraph;
|
|
41
|
-
agentIds: Map<string, string>;
|
|
42
|
-
startedAt: number;
|
|
43
|
-
completedAt?: number;
|
|
44
|
-
}
|
|
45
|
-
export declare class TeamSupervisor {
|
|
46
|
-
readonly config: TeamSupervisorConfig;
|
|
47
|
-
readonly state: TeamRunState;
|
|
48
|
-
readonly mailboxPaths: MailboxPaths;
|
|
49
|
-
private readonly onProgress?;
|
|
50
|
-
constructor(config: TeamSupervisorConfig);
|
|
51
|
-
/**
|
|
52
|
-
* Get ALL phases that are ready to execute (dependencies satisfied,
|
|
53
|
-
* not yet started or assigned). Returns in definition order.
|
|
54
|
-
*
|
|
55
|
-
* 业务说明:返回所有依赖已满足、尚未开始的阶段,而非仅第一个。
|
|
56
|
-
* 这使得独立阶段可以并行执行。
|
|
57
|
-
*/
|
|
58
|
-
getAllReadyPhases(): PhaseState[];
|
|
59
|
-
/**
|
|
60
|
-
* Start ALL currently ready phases and return their execution descriptors.
|
|
61
|
-
* Returns an empty array when no phases are ready.
|
|
62
|
-
*
|
|
63
|
-
* 业务说明:一次性启动所有就绪阶段,支持并行执行。
|
|
64
|
-
* 调用者应并发启动所有返回的阶段。
|
|
65
|
-
*/
|
|
66
|
-
startReadyPhases(): Array<{
|
|
67
|
-
phase: PhaseState;
|
|
68
|
-
role: AgentRole;
|
|
69
|
-
prompt: string;
|
|
70
|
-
}>;
|
|
71
|
-
/**
|
|
72
|
-
* Parse agent output for mailbox_message blocks and separate them from the result.
|
|
73
|
-
*/
|
|
74
|
-
parseAgentMessages(output: string): {
|
|
75
|
-
result: string;
|
|
76
|
-
messages: Array<{
|
|
77
|
-
to: string;
|
|
78
|
-
content: string;
|
|
79
|
-
}>;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Mark a phase as completed with its raw output.
|
|
83
|
-
* Parses messages from output, delivers them, and sends task_result broadcast.
|
|
84
|
-
*/
|
|
85
|
-
completePhase(name: string, rawOutput: string, usage?: SubagentUsage): {
|
|
86
|
-
result: string;
|
|
87
|
-
deliveredMessages: number;
|
|
88
|
-
};
|
|
89
|
-
private generateMessageId;
|
|
90
|
-
/**
|
|
91
|
-
* Mark a phase as failed.
|
|
92
|
-
*/
|
|
93
|
-
failPhase(name: string, error: string): void;
|
|
94
|
-
/** Assign an agent to a phase. */
|
|
95
|
-
assignAgent(phaseName: string, agentId: string): void;
|
|
96
|
-
/**
|
|
97
|
-
* Update token usage for a running phase (for real-time progress display).
|
|
98
|
-
*
|
|
99
|
-
* 业务说明:实时更新运行中阶段的 token 使用量,供 TUI 仪表盘显示。
|
|
100
|
-
* 由 controller 的 onUsage 回调在每次 usage 更新时调用。
|
|
101
|
-
*/
|
|
102
|
-
updatePhaseUsage(phaseName: string, usage: SubagentUsage): void;
|
|
103
|
-
/**
|
|
104
|
-
* Handle a real-time message sent by an agent during execution (not just at completion).
|
|
105
|
-
* Delivers the message to the recipient's inbox immediately, enabling true live communication.
|
|
106
|
-
*
|
|
107
|
-
* 业务说明:处理 agent 运行期间实时发送的消息(而不是仅在完成时)。
|
|
108
|
-
* 消息立即投递到接收方的 inbox 文件,正在运行的 agent 可以读取到。
|
|
109
|
-
* 这实现了真正的实时 agent 间通信,无需等待阶段完成。
|
|
110
|
-
*/
|
|
111
|
-
handleRealtimeMessage(fromRole: string, message: MailboxMessage): void;
|
|
112
|
-
/**
|
|
113
|
-
* Get the mailbox root path for passing to spawner/controller.
|
|
114
|
-
*/
|
|
115
|
-
getMailboxPath(): string;
|
|
116
|
-
/**
|
|
117
|
-
* Resolve the model and tools configuration for a given phase.
|
|
118
|
-
*
|
|
119
|
-
* Resolution order (highest priority first):
|
|
120
|
-
* 1. Phase-level explicit model override (phase.model)
|
|
121
|
-
* 2. Phase-level modelTier (small => smallModel if configured)
|
|
122
|
-
* 3. Role-level model override from roles config
|
|
123
|
-
* 4. Auto-routing by role name: roles in SMALL_MODEL_ROLES => smallModel
|
|
124
|
-
* 5. Default model (undefined, inherits parent)
|
|
125
|
-
*/
|
|
126
|
-
getPhaseExecutionConfig(phaseName: string): {
|
|
127
|
-
model?: string;
|
|
128
|
-
tools?: string[];
|
|
129
|
-
cwd: string;
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Build and emit a TeamProgressSnapshot for the TUI dashboard.
|
|
133
|
-
*
|
|
134
|
-
* Reads current phase statuses from the task graph, counts mailbox
|
|
135
|
-
* messages, and calls the optional onProgress callback with the
|
|
136
|
-
* snapshot.
|
|
137
|
-
*/
|
|
138
|
-
private emitProgress;
|
|
139
|
-
/** Check if the entire run is complete. */
|
|
140
|
-
isComplete(): boolean;
|
|
141
|
-
/** Finalize the run with an overall status. */
|
|
142
|
-
finalize(): void;
|
|
143
|
-
/**
|
|
144
|
-
* Synthesize the final team result from all completed phases.
|
|
145
|
-
* Max characters of phase output to include inline; rest is truncated.
|
|
146
|
-
*/
|
|
147
|
-
private static readonly MAX_PHASE_OUTPUT_CHARS;
|
|
148
|
-
synthesizeResult(): string;
|
|
149
|
-
/**
|
|
150
|
-
* Truncate a phase result to MAX_PHASE_OUTPUT_CHARS with a note.
|
|
151
|
-
*/
|
|
152
|
-
private truncateForOutput;
|
|
153
|
-
/**
|
|
154
|
-
* Build a consolidated synthesis across all completed phases.
|
|
155
|
-
*
|
|
156
|
-
* Extracts the first non-empty line or heading from each phase to create
|
|
157
|
-
* an executive summary, then lists all phases with their key outcomes.
|
|
158
|
-
*/
|
|
159
|
-
private buildSynthesis;
|
|
160
|
-
/**
|
|
161
|
-
* Extract the first meaningful line (not empty, not a mailbox tag).
|
|
162
|
-
*/
|
|
163
|
-
private extractFirstMeaningfulLine;
|
|
164
|
-
/**
|
|
165
|
-
* Extract a short excerpt (first ~400 chars of meaningful content) from a phase result.
|
|
166
|
-
*/
|
|
167
|
-
private extractExcerpt;
|
|
168
|
-
private buildPhasePrompt;
|
|
169
|
-
private buildSummary;
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=supervisor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/team/supervisor.ts"],"names":[],"mappings":"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"}
|