@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
package/dist/swarm/tool.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* swarm/tool —
|
|
2
|
+
* swarm/tool — Swarm tool registration.
|
|
3
3
|
*
|
|
4
|
-
* Registers the `
|
|
5
|
-
*
|
|
4
|
+
* Registers the `Swarm` tool that the LLM can call to launch
|
|
5
|
+
* 1-20 isolated subagents in parallel from a shared prompt template.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Architecture reference: AgentSwarm pattern.
|
|
8
8
|
*/
|
|
9
9
|
import { Type } from "typebox";
|
|
10
10
|
import { Container, Spacer, Text } from "@earendil-works/pi-tui";
|
|
11
|
-
import { SubagentBatchController, resolveSwarmMaxConcurrency, } from "../shared/controller.js";
|
|
11
|
+
import { SubagentBatchController, resolveSwarmMaxConcurrency, resolveSwarmSmallModel, } from "../shared/controller.js";
|
|
12
12
|
import { renderSwarmResults, toSwarmRunResults } from "../shared/render.js";
|
|
13
13
|
import { spawnSubagent, resumeSubagent, retrySubagent, } from "../shared/spawner.js";
|
|
14
|
-
import { resolveSwarmRoot, createManifest, updateManifest, readManifest, registerAgentInManifest,
|
|
14
|
+
import { resolveSwarmRoot, createManifest, updateManifest, readManifest, registerAgentInManifest, } from "../state/persistence.js";
|
|
15
15
|
import { mergeBranch, isGitRepository } from "../shared/worktree.js";
|
|
16
|
+
import { resolveMailboxPaths, ensureMailbox } from "../team/mailbox.js";
|
|
16
17
|
import { AgentSwarmProgressComponent, snapshotToProgressState, } from "../tui/progress.js";
|
|
17
18
|
/** Widget key used to render the live swarm progress panel. */
|
|
18
19
|
const PROGRESS_WIDGET_KEY = "pi-swarm-progress";
|
|
@@ -21,52 +22,80 @@ const PROGRESS_WIDGET_KEY = "pi-swarm-progress";
|
|
|
21
22
|
// ---------------------------------------------------------------------------
|
|
22
23
|
const DEFAULT_SUBAGENT_TYPE = "coder";
|
|
23
24
|
const PROMPT_TEMPLATE_PLACEHOLDER = "{{item}}";
|
|
24
|
-
const
|
|
25
|
+
const MAX_ITEM_COUNT = 20;
|
|
25
26
|
const DEFAULT_SUBAGENT_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
|
|
26
|
-
const AGENT_SWARM_DESCRIPTION =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
const AGENT_SWARM_DESCRIPTION = [
|
|
28
|
+
"Launch 1-20 subagents in parallel, with optional inter-agent mailbox.",
|
|
29
|
+
"",
|
|
30
|
+
"YOU (the assistant) decide whether to enable mailbox based on the task:",
|
|
31
|
+
"- Simple parallel work (review files, fix independent bugs, investigate):",
|
|
32
|
+
" mailbox: false (default). Items are independent.",
|
|
33
|
+
"- Collaborative workflows (agents need to share findings between phases):",
|
|
34
|
+
" mailbox: true. Agents communicate via shared inbox/outbox.",
|
|
35
|
+
"",
|
|
36
|
+
"How to use:",
|
|
37
|
+
"1. Analyze the task. Decompose it into 1-20 items.",
|
|
38
|
+
"2. Decide: do agents need to communicate?",
|
|
39
|
+
" - No -> mailbox: false (default)",
|
|
40
|
+
" - Yes -> mailbox: true",
|
|
41
|
+
"3. Write a prompt_template with {{item}} placeholder.",
|
|
42
|
+
" Include context from the user's task and the specific item.",
|
|
43
|
+
"4. Use 1 item for a single isolated agent, 2-6 for typical parallel work.",
|
|
44
|
+
"5. The tool handles concurrency, rate limits, and error recovery.",
|
|
45
|
+
"6. Read the results from the tool output.",
|
|
46
|
+
"",
|
|
47
|
+
"Each subagent runs in a clean workspace with project rules (AGENTS.md) loaded.",
|
|
48
|
+
"With mailbox, subagents get inbox/outbox and send messages during execution.",
|
|
49
|
+
"Without mailbox, subagents are fully independent and do not communicate.",
|
|
50
|
+
"",
|
|
51
|
+
"Best for: code review, bug fixing, file editing, investigation, refactoring,",
|
|
52
|
+
" multi-step research, phased implementation.",
|
|
53
|
+
"",
|
|
54
|
+
'Optional: set model to "small" for simple/exploratory subagent tasks.',
|
|
55
|
+
'The tool auto-resolves "small" from your settings (pi-swarm.smallModel).',
|
|
56
|
+
"Only use small model for straightforward execution or exploration.",
|
|
57
|
+
"Do NOT use small model for review, planning, or complex analysis.",
|
|
58
|
+
"Default: inherit parent session model (omit model param).",
|
|
59
|
+
].join("\n");
|
|
42
60
|
// ---------------------------------------------------------------------------
|
|
43
61
|
// Registration
|
|
44
62
|
// ---------------------------------------------------------------------------
|
|
45
63
|
export function registerAgentSwarmTool(pi) {
|
|
46
64
|
pi.registerTool({
|
|
47
|
-
name: "
|
|
48
|
-
label: "
|
|
65
|
+
name: "Swarm",
|
|
66
|
+
label: "Swarm",
|
|
49
67
|
description: AGENT_SWARM_DESCRIPTION,
|
|
50
68
|
parameters: Type.Object({
|
|
51
|
-
description: Type.String({
|
|
52
|
-
description: "Short description for the whole swarm.",
|
|
53
|
-
|
|
54
|
-
subagent_type: Type.Optional(Type.String({
|
|
55
|
-
description: "Subagent type used for every spawned subagent. Defaults to coder when omitted.",
|
|
56
|
-
})),
|
|
57
|
-
prompt_template: Type.Optional(Type.String({
|
|
58
|
-
description: `Prompt template for each subagent. The ${PROMPT_TEMPLATE_PLACEHOLDER} placeholder is replaced with each item value.`,
|
|
69
|
+
description: Type.Optional(Type.String({
|
|
70
|
+
description: "Short description for the whole swarm (optional).",
|
|
71
|
+
examples: ["Review source files for bugs"],
|
|
59
72
|
})),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
73
|
+
prompt_template: Type.String({
|
|
74
|
+
description: `Prompt template with ${PROMPT_TEMPLATE_PLACEHOLDER} exactly once. Each item replaces the placeholder.`,
|
|
75
|
+
examples: [
|
|
76
|
+
"You are a code reviewer. Review {{item}} for bugs and security issues.",
|
|
77
|
+
"Fix the following issue in {{item}}",
|
|
78
|
+
],
|
|
79
|
+
}),
|
|
80
|
+
items: Type.Array(Type.String(), {
|
|
81
|
+
minItems: 1,
|
|
82
|
+
maxItems: MAX_ITEM_COUNT,
|
|
83
|
+
description: "Items (1-20) to parallelize across. Each item replaces {{item}} in the template.",
|
|
84
|
+
examples: [["src/auth.ts", "src/api.ts", "src/db.ts"]],
|
|
85
|
+
}),
|
|
86
|
+
model: Type.Optional(Type.String({
|
|
87
|
+
description: 'Model for subagents. Pass "small" to auto-resolve from settings pi-swarm.smallModel. Pass an explicit model ID to override. Omit to inherit parent session model. Do NOT use small model for review, planning, or complex analysis.',
|
|
88
|
+
examples: ["deepseek/deepseek-v4-flash"],
|
|
63
89
|
})),
|
|
64
|
-
|
|
65
|
-
description: "
|
|
90
|
+
mailbox: Type.Optional(Type.Boolean({
|
|
91
|
+
description: "Enable inter-agent mailbox. When true, subagents can exchange messages via shared mailbox. Use for collaborative workflows where agents need to share findings. Default: false (agents are independent, no communication).",
|
|
92
|
+
examples: [true],
|
|
66
93
|
})),
|
|
67
94
|
}, { additionalProperties: false }),
|
|
68
95
|
execute: async (toolCallId, params, signal, _onUpdate, ctxRaw) => {
|
|
69
|
-
const { description,
|
|
96
|
+
const { description, prompt_template, items, model, mailbox } = params;
|
|
97
|
+
// Resolve model: "small" keyword → lookup settings; explicit model ID → use as-is; undefined → inherit parent
|
|
98
|
+
const resolvedModel = model === "small" ? resolveSwarmSmallModel() : model;
|
|
70
99
|
const ctx = ctxRaw;
|
|
71
100
|
const progress = createProgressWidget(ctx);
|
|
72
101
|
// Persistent run state - declared outside try for catch access
|
|
@@ -74,52 +103,58 @@ export function registerAgentSwarmTool(pi) {
|
|
|
74
103
|
const runId = `swarm-${Date.now().toString(36)}`;
|
|
75
104
|
let runCreated = false;
|
|
76
105
|
try {
|
|
77
|
-
const profileName =
|
|
106
|
+
const profileName = DEFAULT_SUBAGENT_TYPE;
|
|
107
|
+
// Validate prompt_template contains exactly one placeholder
|
|
108
|
+
const placeholderCount = prompt_template.split(PROMPT_TEMPLATE_PLACEHOLDER).length - 1;
|
|
109
|
+
if (placeholderCount !== 1) {
|
|
110
|
+
throw new Error(`prompt_template must contain {{item}} exactly once, found ${placeholderCount} occurrence(s). ` +
|
|
111
|
+
`Each item replaces the placeholder to generate per-agent prompts.`);
|
|
112
|
+
}
|
|
78
113
|
// Build specs
|
|
79
|
-
const specs =
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
114
|
+
const specs = items.map((item, index) => ({
|
|
115
|
+
kind: "spawn",
|
|
116
|
+
index: index + 1,
|
|
117
|
+
item: item.trim(),
|
|
118
|
+
prompt: prompt_template
|
|
119
|
+
.split(PROMPT_TEMPLATE_PLACEHOLDER)
|
|
120
|
+
.join(item.trim()),
|
|
121
|
+
}));
|
|
122
|
+
// Set up mailbox when enabled
|
|
123
|
+
let mailboxPath;
|
|
124
|
+
if (mailbox) {
|
|
125
|
+
const paths = resolveMailboxPaths(swarmRoot, runId);
|
|
126
|
+
ensureMailbox(paths);
|
|
127
|
+
mailboxPath = paths.root;
|
|
128
|
+
}
|
|
84
129
|
createManifest(swarmRoot, {
|
|
85
130
|
runId,
|
|
86
131
|
type: "swarm",
|
|
87
132
|
status: "running",
|
|
88
|
-
goal: description,
|
|
133
|
+
goal: description ?? "Swarm",
|
|
89
134
|
startedAt: Date.now(),
|
|
90
135
|
agentIds: [],
|
|
91
136
|
});
|
|
92
137
|
runCreated = true;
|
|
93
138
|
// Convert to queued tasks
|
|
94
|
-
const tasks = specs.map((spec) => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
...common,
|
|
114
|
-
kind: "resume",
|
|
115
|
-
resumeAgentId: spec.agentId,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
return {
|
|
119
|
-
...common,
|
|
120
|
-
kind: "spawn",
|
|
121
|
-
};
|
|
122
|
-
});
|
|
139
|
+
const tasks = specs.map((spec, idx) => ({
|
|
140
|
+
kind: "spawn",
|
|
141
|
+
data: spec,
|
|
142
|
+
profileName: profileName,
|
|
143
|
+
parentToolCallId: toolCallId,
|
|
144
|
+
prompt: spec.prompt,
|
|
145
|
+
description: `${description ?? "Swarm"} #${spec.index} (${profileName})`,
|
|
146
|
+
swarmIndex: spec.index,
|
|
147
|
+
runInBackground: false,
|
|
148
|
+
swarmItem: spec.item,
|
|
149
|
+
signal,
|
|
150
|
+
timeout: DEFAULT_SUBAGENT_TIMEOUT_MS,
|
|
151
|
+
swarmRoot,
|
|
152
|
+
runId,
|
|
153
|
+
useWorktree: true,
|
|
154
|
+
model: resolvedModel,
|
|
155
|
+
mailboxPath,
|
|
156
|
+
roleName: `agent-${idx + 1}`,
|
|
157
|
+
}));
|
|
123
158
|
// Run with controller
|
|
124
159
|
const maxConcurrency = resolveSwarmMaxConcurrency(process.cwd());
|
|
125
160
|
const repoCwd = process.cwd();
|
|
@@ -131,7 +166,9 @@ export function registerAgentSwarmTool(pi) {
|
|
|
131
166
|
}, tasks, {
|
|
132
167
|
maxConcurrency,
|
|
133
168
|
onProgress: (snapshot) => {
|
|
134
|
-
|
|
169
|
+
const state = snapshotToProgressState(snapshot, description);
|
|
170
|
+
state.mailbox = mailbox;
|
|
171
|
+
progress?.component.update(state);
|
|
135
172
|
},
|
|
136
173
|
});
|
|
137
174
|
const results = await controller.run();
|
|
@@ -197,7 +234,7 @@ export function registerAgentSwarmTool(pi) {
|
|
|
197
234
|
}
|
|
198
235
|
}
|
|
199
236
|
return {
|
|
200
|
-
content: [{ type: "text", text: `
|
|
237
|
+
content: [{ type: "text", text: `Swarm failed: ${message}` }],
|
|
201
238
|
isError: true,
|
|
202
239
|
details: undefined,
|
|
203
240
|
};
|
|
@@ -217,13 +254,9 @@ export function registerAgentSwarmTool(pi) {
|
|
|
217
254
|
* prompt 模板预览。
|
|
218
255
|
*/
|
|
219
256
|
renderCall(args, theme, _context) {
|
|
220
|
-
const subagentType = args.subagent_type || "coder";
|
|
221
257
|
const itemCount = args.items?.length ?? 0;
|
|
222
|
-
const resumeCount = Object.keys(args.resume_agent_ids ?? {}).length;
|
|
223
|
-
const totalCount = itemCount + resumeCount;
|
|
224
|
-
const hasResume = resumeCount > 0;
|
|
225
258
|
const container = new Container();
|
|
226
|
-
const title = `${theme.fg("toolTitle", theme.bold("swarm "))}${theme.fg("accent", `${
|
|
259
|
+
const title = `${theme.fg("toolTitle", theme.bold("swarm "))}${theme.fg("accent", `${itemCount} agent${itemCount !== 1 ? "s" : ""}`)}`;
|
|
227
260
|
container.addChild(new Text(title, 0, 0));
|
|
228
261
|
const desc = args.description;
|
|
229
262
|
if (desc) {
|
|
@@ -267,84 +300,6 @@ export function registerAgentSwarmTool(pi) {
|
|
|
267
300
|
},
|
|
268
301
|
});
|
|
269
302
|
}
|
|
270
|
-
// ---------------------------------------------------------------------------
|
|
271
|
-
// Spec creation (from kimi-code)
|
|
272
|
-
// ---------------------------------------------------------------------------
|
|
273
|
-
function createAgentSwarmSpecs(args) {
|
|
274
|
-
const resumeEntries = Object.entries(args.resume_agent_ids ?? {}).map(([agentId, prompt]) => {
|
|
275
|
-
const trimmedId = agentId.trim();
|
|
276
|
-
validateId(trimmedId, "agentId");
|
|
277
|
-
return {
|
|
278
|
-
agentId: trimmedId,
|
|
279
|
-
prompt: prompt.trim(),
|
|
280
|
-
};
|
|
281
|
-
});
|
|
282
|
-
const items = (args.items ?? []).map((item) => item.trim());
|
|
283
|
-
const itemCount = items.length;
|
|
284
|
-
const resumeCount = resumeEntries.length;
|
|
285
|
-
const totalCount = resumeCount + itemCount;
|
|
286
|
-
if (!hasMinimumAgentSwarmInputs(itemCount, resumeCount)) {
|
|
287
|
-
throw new Error("AgentSwarm requires at least 1 item or a resume_agent_ids entry.");
|
|
288
|
-
}
|
|
289
|
-
if (totalCount > MAX_AGENT_SWARM_SUBAGENTS) {
|
|
290
|
-
throw new Error(`AgentSwarm supports at most ${String(MAX_AGENT_SWARM_SUBAGENTS)} subagents.`);
|
|
291
|
-
}
|
|
292
|
-
const promptTemplate = normalizeOptionalString(args.prompt_template);
|
|
293
|
-
if (items.length > 0 && promptTemplate === undefined) {
|
|
294
|
-
throw new Error("prompt_template is required when items are provided.");
|
|
295
|
-
}
|
|
296
|
-
if (promptTemplate !== undefined &&
|
|
297
|
-
!promptTemplate.includes(PROMPT_TEMPLATE_PLACEHOLDER)) {
|
|
298
|
-
throw new Error(`prompt_template must include the ${PROMPT_TEMPLATE_PLACEHOLDER} placeholder.`);
|
|
299
|
-
}
|
|
300
|
-
const seenPrompts = new Map();
|
|
301
|
-
const specs = [];
|
|
302
|
-
// Resume entries first
|
|
303
|
-
for (const entry of resumeEntries) {
|
|
304
|
-
specs.push({
|
|
305
|
-
kind: "resume",
|
|
306
|
-
index: specs.length + 1,
|
|
307
|
-
agentId: entry.agentId,
|
|
308
|
-
prompt: entry.prompt,
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
// Item-based spawns
|
|
312
|
-
if (items.length > 0) {
|
|
313
|
-
const itemPromptTemplate = promptTemplate;
|
|
314
|
-
items.forEach((item, index) => {
|
|
315
|
-
const prompt = itemPromptTemplate
|
|
316
|
-
.split(PROMPT_TEMPLATE_PLACEHOLDER)
|
|
317
|
-
.join(item);
|
|
318
|
-
const previousIndex = seenPrompts.get(prompt);
|
|
319
|
-
if (previousIndex !== undefined) {
|
|
320
|
-
throw new Error(`Duplicate subagent prompts from items ${String(previousIndex)} and ${String(index + 1)}. AgentSwarm requires distinct subagents.`);
|
|
321
|
-
}
|
|
322
|
-
seenPrompts.set(prompt, index + 1);
|
|
323
|
-
specs.push({
|
|
324
|
-
kind: "spawn",
|
|
325
|
-
index: specs.length + 1,
|
|
326
|
-
item,
|
|
327
|
-
prompt,
|
|
328
|
-
});
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
return specs;
|
|
332
|
-
}
|
|
333
|
-
// ---------------------------------------------------------------------------
|
|
334
|
-
// Helpers
|
|
335
|
-
// ---------------------------------------------------------------------------
|
|
336
|
-
function hasMinimumAgentSwarmInputs(itemCount, resumeCount) {
|
|
337
|
-
return resumeCount > 0 || itemCount >= 1;
|
|
338
|
-
}
|
|
339
|
-
function childDescription(swarmDescription, index, profileName) {
|
|
340
|
-
return `${swarmDescription} #${String(index)} (${profileName})`;
|
|
341
|
-
}
|
|
342
|
-
function normalizeOptionalString(value) {
|
|
343
|
-
if (value === undefined)
|
|
344
|
-
return undefined;
|
|
345
|
-
const trimmed = value.trim();
|
|
346
|
-
return trimmed.length > 0 ? trimmed : undefined;
|
|
347
|
-
}
|
|
348
303
|
/**
|
|
349
304
|
* Install a live progress widget above the editor when running in TUI mode.
|
|
350
305
|
*
|
package/dist/swarm/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/swarm/tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/swarm/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,2BAA2B,GAAG,UAAU,CAAC;AAC/C,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAEjE,MAAM,uBAAuB,GAAG;IAC9B,uEAAuE;IACvE,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,oDAAoD;IACpD,2EAA2E;IAC3E,8DAA8D;IAC9D,EAAE;IACF,aAAa;IACb,oDAAoD;IACpD,2CAA2C;IAC3C,qCAAqC;IACrC,2BAA2B;IAC3B,uDAAuD;IACvD,gEAAgE;IAChE,2EAA2E;IAC3E,mEAAmE;IACnE,2CAA2C;IAC3C,EAAE;IACF,gFAAgF;IAChF,8EAA8E;IAC9E,0EAA0E;IAC1E,EAAE;IACF,8EAA8E;IAC9E,8CAA8C;IAC9C,EAAE;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,mEAAmE;IACnE,2DAA2D;CAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,UAAU,sBAAsB,CAAC,EAAgB;IACrD,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;YACE,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EAAE,mDAAmD;gBAChE,QAAQ,EAAE,CAAC,8BAA8B,CAAC;aAC3C,CAAC,CACH;YACD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC3B,WAAW,EAAE,wBAAwB,2BAA2B,oDAAoD;gBACpH,QAAQ,EAAE;oBACR,wEAAwE;oBACxE,qCAAqC;iBACtC;aACF,CAAC;YACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAC/B,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,cAAc;gBACxB,WAAW,EACT,kFAAkF;gBACpF,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;aACvD,CAAC;YACF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EACT,qOAAqO;gBACvO,QAAQ,EAAE,CAAC,4BAA4B,CAAC;aACzC,CAAC,CACH;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CACpB,IAAI,CAAC,OAAO,CAAC;gBACX,WAAW,EACT,4NAA4N;gBAC9N,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB,CAAC,CACH;SACF,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;QACD,OAAO,EAAE,KAAK,EACZ,UAAkB,EAClB,MAA+B,EAC/B,MAA+B,EAC/B,SAAkB,EAClB,MAAe,EACf,EAAE;YACF,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAC3D,MAMC,CAAC;YACJ,8GAA8G;YAC9G,MAAM,aAAa,GACjB,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAEvD,MAAM,GAAG,GAAG,MAA0B,CAAC;YACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAE3C,+DAA+D;YAC/D,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,qBAAqB,CAAC;gBAE1C,4DAA4D;gBAC5D,MAAM,gBAAgB,GACpB,eAAe,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChE,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,6DAA6D,gBAAgB,kBAAkB;wBAC7F,mEAAmE,CACtE,CAAC;gBACJ,CAAC;gBAED,cAAc;gBACd,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CACrB,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAC9B,CAAC;oBACC,IAAI,EAAE,OAAgB;oBACtB,KAAK,EAAE,KAAK,GAAG,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjB,MAAM,EAAE,eAAe;yBACpB,KAAK,CAAC,2BAA2B,CAAC;yBAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACrB,CAA0B,CAC9B,CAAC;gBAEF,8BAA8B;gBAC9B,IAAI,WAA+B,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACpD,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,CAAC;gBAED,cAAc,CAAC,SAAS,EAAE;oBACxB,KAAK;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,WAAW,IAAI,OAAO;oBAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC;gBAElB,0BAA0B;gBAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAiC,EAAE,CAAC,CAAC;oBACrE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,WAAW;oBACxB,gBAAgB,EAAE,UAAU;oBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,GAAG,WAAW,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,WAAW,GAAG;oBACxE,UAAU,EAAE,IAAI,CAAC,KAAK;oBACtB,eAAe,EAAE,KAAK;oBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,MAAM;oBACN,OAAO,EAAE,2BAA2B;oBACpC,SAAS;oBACT,KAAK;oBACL,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,aAAa;oBACpB,WAAW;oBACX,QAAQ,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;iBAC7B,CAAC,CAAC,CAAC;gBAEJ,sBAAsB;gBACtB,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C;oBACE,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,aAAa;iBACrB,EACD,KAAK,EACL;oBACE,cAAc;oBACd,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACvB,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAC7D,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;wBACxB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;iBACF,CACF,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;gBAEvC,2CAA2C;gBAC3C,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACrB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED,yDAAyD;gBACzD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACd,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC9B,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBAED,sEAAsE;gBACtE,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,IAAI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACH,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACjD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gCACxB,YAAY,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;4BACzC,CAAC;iCAAM,CAAC;gCACN,YAAY,CAAC,IAAI,CACf,oBAAoB,MAAM,KAAK,WAAW,CAAC,KAAK,EAAE,CACnD,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,YAAY,CAAC,IAAI,CACf,mBAAmB,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,mDAAmD;gBACnD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAE/B,gBAAgB;gBAChB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1E,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oBACzC,OAAO,EAAE,SAAS;iBACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAChD,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;wBAC3B,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAClC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;wBACzB,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,OAAO,EAAE,EAAE,CAAC;oBAC7D,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,SAAS;iBACnB,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,6DAA6D;gBAC7D,QAAQ,EAAE,OAAO,EAAE,CAAC;gBACpB,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,uBAAuB;QACvB,sEAAsE;QAEtE;;;;WAIG;QACH,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;YAC9B,MAAM,SAAS,GAAI,IAAI,CAAC,KAA8B,EAAE,MAAM,IAAI,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvI,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAiC,CAAC;YACpD,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CACN,KAAK,CAAC,EAAE,CACN,KAAK,EACL,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACpD,EACD,CAAC,EACD,CAAC,CACF,CACF,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAqC,CAAC;YACnE,IAAI,eAAe,EAAE,CAAC;gBACpB,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,OAAO,GACX,eAAe,CAAC,MAAM,GAAG,EAAE;oBACzB,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;oBACtC,CAAC,CAAC,eAAe,CAAC;gBACtB,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED;;;WAGG;QACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;YAC3C,MAAM,IAAI,GACR,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;gBAC1B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;gBACxB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE7B,4CAA4C;YAC5C,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAEnD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,QAAQ,CAChB,IAAI,IAAI,CACN,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EACxJ,CAAC,EACD,CAAC,CACF,CACF,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,YAAY,GAChB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAYD;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAC3B,GAAqB;IAErB,8CAA8C;IAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;IACpC,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAEtD,2CAA2C;IAC3C,IAAI,WAAiE,CAAC;IAEtE,MAAM,SAAS,GAAG,IAAI,2BAA2B,CAAC,GAAG,EAAE;QACrD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,oCAAoC;QACpC,SAAS,CACP,mBAAmB,EACnB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,WAAW,GAAG,GAAG,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC,EACD;YACE,SAAS,EAAE,aAAa;SACzB,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;QAC5B,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS;QACT,OAAO;YACL,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,GAAqB;IAChD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;IACpC,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO;IAC5C,IAAI,CAAC;QACH,SAAS,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC"}
|
package/dist/team/command.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* team/command — /swarm-team slash command handler.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* The command delegates to the SwarmTeam tool internally.
|
|
4
|
+
* /swarm-team <goal> — directs the LLM to use the Swarm tool with mailbox enabled
|
|
5
|
+
* for collaborative multi-step workflows.
|
|
8
6
|
*/
|
|
9
7
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
10
8
|
import type { SwarmCommandHost } from "../swarm/command.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/team/command.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/team/command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,gBAAgB,GACrB,IAAI,CAgCN"}
|
package/dist/team/command.js
CHANGED
|
@@ -1,40 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* team/command — /swarm-team slash command handler.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* The command delegates to the SwarmTeam tool internally.
|
|
4
|
+
* /swarm-team <goal> — directs the LLM to use the Swarm tool with mailbox enabled
|
|
5
|
+
* for collaborative multi-step workflows.
|
|
8
6
|
*/
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
// Registration
|
|
11
|
-
// ---------------------------------------------------------------------------
|
|
12
7
|
export function registerTeamCommand(pi, host) {
|
|
13
8
|
pi.registerCommand("swarm-team", {
|
|
14
|
-
description: "Launch a collaborative
|
|
9
|
+
description: "Launch a collaborative Swarm with mailbox. " +
|
|
15
10
|
"Usage: /swarm-team <goal>",
|
|
16
11
|
async handler(args, ctx) {
|
|
17
12
|
const prompt = args.trim();
|
|
18
13
|
if (prompt.length === 0) {
|
|
19
|
-
ctx.ui?.notify?.("
|
|
14
|
+
ctx.ui?.notify?.("/swarm-team <goal>", "info");
|
|
20
15
|
return;
|
|
21
16
|
}
|
|
22
17
|
if (!host.hasModel()) {
|
|
23
18
|
host.showError("No model configured. Please set a model first.");
|
|
24
19
|
return;
|
|
25
20
|
}
|
|
26
|
-
// Activate swarm mode if not already active
|
|
27
21
|
if (!host.swarmActive) {
|
|
28
22
|
host.setSwarmActive(true, "task");
|
|
29
23
|
}
|
|
30
|
-
// TUI marker
|
|
31
24
|
host.pi.sendMessage?.({
|
|
32
25
|
customType: "swarm:marker",
|
|
33
26
|
content: "active",
|
|
34
27
|
display: true,
|
|
35
28
|
});
|
|
36
|
-
|
|
37
|
-
host.sendNormalUserInput(`Use the SwarmTeam tool to accomplish this goal: ${prompt}`);
|
|
29
|
+
host.sendNormalUserInput(`Use the Swarm tool with mailbox: true to accomplish this goal: ${prompt}`);
|
|
38
30
|
},
|
|
39
31
|
});
|
|
40
32
|
}
|
package/dist/team/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/team/command.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/team/command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,UAAU,mBAAmB,CACjC,EAAgB,EAChB,IAAsB;IAEtB,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE;QAC/B,WAAW,EACT,6CAA6C;YAC7C,2BAA2B;QAC7B,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,GAA4B;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpB,UAAU,EAAE,cAAc;gBAC1B,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,mBAAmB,CACtB,kEAAkE,MAAM,EAAE,CAC3E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/team/mailbox.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface MailboxPaths {
|
|
|
24
24
|
readonly outbox: string;
|
|
25
25
|
readonly delivery: string;
|
|
26
26
|
readonly taskDir: string;
|
|
27
|
+
readonly inboxAcks: string;
|
|
27
28
|
}
|
|
28
29
|
export declare function resolveMailboxPaths(swarmRoot: string, runId: string): MailboxPaths;
|
|
29
30
|
export declare function resolveTaskMailboxPaths(paths: MailboxPaths, taskId: string): {
|
|
@@ -53,10 +54,16 @@ export declare function readTaskInbox(paths: MailboxPaths, taskId: string): Mail
|
|
|
53
54
|
export declare function countOutboxMessages(paths: MailboxPaths): number;
|
|
54
55
|
/**
|
|
55
56
|
* Acknowledge (delete) messages from the team inbox.
|
|
57
|
+
*
|
|
58
|
+
* Uses an append-only ack file to avoid the TOCTOU race between
|
|
59
|
+
* reading and rewriting inbox.jsonl. Acknowledged message IDs are
|
|
60
|
+
* appended to inboxAcks.jsonl and filtered at read time.
|
|
56
61
|
*/
|
|
57
62
|
export declare function ackMessages(paths: MailboxPaths, messageIds: string[]): void;
|
|
58
63
|
/**
|
|
59
64
|
* Acknowledge (delete) messages from a task-specific inbox.
|
|
65
|
+
*
|
|
66
|
+
* Uses the same append-only ack approach as ackMessages.
|
|
60
67
|
*/
|
|
61
68
|
export declare function ackTaskMessages(paths: MailboxPaths, taskId: string, messageIds: string[]): void;
|
|
62
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAyCzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAyCzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,YAAY,CAWd;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnC;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CASvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,GACtB,IAAI,CAkCN;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,CAK/D;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,GACb,cAAc,EAAE,CAMlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAW/D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,GACnB,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAIN"}
|