@gjczone/pi-swarm 0.5.0 → 0.7.1
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 +14 -21
- package/dist/index.d.ts +2 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -18
- package/dist/index.js.map +1 -1
- package/dist/shared/controller.d.ts +10 -1
- package/dist/shared/controller.d.ts.map +1 -1
- package/dist/shared/controller.js +48 -12
- package/dist/shared/controller.js.map +1 -1
- package/dist/shared/render.d.ts +1 -1
- package/dist/shared/render.js +1 -1
- package/dist/shared/spawner.js +54 -8
- package/dist/shared/spawner.js.map +1 -1
- package/dist/shared/types.d.ts +10 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/worktree.d.ts +2 -1
- package/dist/shared/worktree.d.ts.map +1 -1
- package/dist/shared/worktree.js +10 -4
- package/dist/shared/worktree.js.map +1 -1
- 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 +112 -167
- 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 -2
- package/dist/team/mailbox.d.ts.map +1 -1
- package/dist/team/mailbox.js +121 -32
- package/dist/team/mailbox.js.map +1 -1
- package/dist/tui/progress.d.ts +35 -47
- package/dist/tui/progress.d.ts.map +1 -1
- package/dist/tui/progress.js +245 -489
- 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 -685
- 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 -491
- 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 -81
- package/dist/tui/team-dashboard.d.ts.map +0 -1
- package/dist/tui/team-dashboard.js +0 -657
- package/dist/tui/team-dashboard.js.map +0 -1
package/dist/swarm/command.js
CHANGED
|
@@ -2,94 +2,46 @@
|
|
|
2
2
|
* swarm/command — /swarm slash command handler.
|
|
3
3
|
*
|
|
4
4
|
* Supports:
|
|
5
|
-
* /swarm
|
|
6
|
-
* /swarm
|
|
7
|
-
* /swarm — toggle swarm mode
|
|
8
|
-
* /swarm <task> — enable swarm mode + send task (one-shot)
|
|
5
|
+
* /swarm — show usage hint
|
|
6
|
+
* /swarm <task> — directly invoke the Swarm tool with the given task
|
|
9
7
|
*
|
|
10
|
-
*
|
|
8
|
+
* Also accepts on/off to enable/disable swarm mode.
|
|
9
|
+
* Architecture reference: AgentSwarm pattern.
|
|
11
10
|
*/
|
|
12
11
|
export function registerSwarmCommand(pi, host) {
|
|
13
12
|
pi.registerCommand("swarm", {
|
|
14
|
-
description: "
|
|
15
|
-
"Usage: /swarm
|
|
13
|
+
description: "Run a one-shot Swarm task. " +
|
|
14
|
+
"Usage: /swarm <task description and items>",
|
|
16
15
|
async handler(args, ctx) {
|
|
17
16
|
const prompt = args.trim();
|
|
18
|
-
const mode = swarmModeSubcommand(prompt);
|
|
19
|
-
// Subcommand: on / off
|
|
20
|
-
if (mode !== undefined) {
|
|
21
|
-
await applySwarmMode(host, mode, `/swarm ${prompt}`, ctx);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
// No args: toggle
|
|
25
17
|
if (prompt.length === 0) {
|
|
26
|
-
|
|
18
|
+
// Show usage hint
|
|
19
|
+
const tools = host.pi.getAllTools?.() ?? [];
|
|
20
|
+
const swarmTool = tools.find((t) => t.name === "Swarm");
|
|
21
|
+
if (swarmTool) {
|
|
22
|
+
ctx.ui?.notify?.("/swarm <task description>", "info");
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
ctx.ui?.notify?.("Swarm tool not available.", "error");
|
|
26
|
+
}
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
// Task mode: enable swarm + send prompt
|
|
30
29
|
if (!host.hasModel()) {
|
|
31
30
|
host.showError("No model configured. Please set a model first.");
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
|
-
|
|
33
|
+
// Activate swarm mode
|
|
34
|
+
if (!host.swarmActive) {
|
|
35
|
+
host.setSwarmActive(true, "task");
|
|
36
|
+
}
|
|
37
|
+
host.pi.sendMessage?.({
|
|
38
|
+
customType: "swarm:marker",
|
|
39
|
+
content: "active",
|
|
40
|
+
display: true,
|
|
41
|
+
});
|
|
42
|
+
// Direct invocation: tell LLM to call the tool
|
|
43
|
+
host.sendNormalUserInput(`Use the Swarm tool with this task: ${prompt}`);
|
|
35
44
|
},
|
|
36
45
|
});
|
|
37
46
|
}
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
// Command logic
|
|
40
|
-
// ---------------------------------------------------------------------------
|
|
41
|
-
async function applySwarmMode(host, enabled, commandText, ctx) {
|
|
42
|
-
if (enabled && host.swarmActive) {
|
|
43
|
-
host.showStatus("Swarm mode is already on.");
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!enabled && !host.swarmActive) {
|
|
47
|
-
host.showStatus("Swarm mode is already off.");
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (enabled) {
|
|
51
|
-
host.setSwarmActive(true, "manual");
|
|
52
|
-
host.showStatus("Swarm mode enabled.");
|
|
53
|
-
// Insert swarm mode marker (via pi.sendMessage for TUI rendering)
|
|
54
|
-
host.pi.sendMessage?.({
|
|
55
|
-
customType: "swarm:marker",
|
|
56
|
-
content: "active",
|
|
57
|
-
display: true,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
host.setSwarmActive(false, "manual");
|
|
62
|
-
host.showStatus("Swarm mode disabled.");
|
|
63
|
-
host.pi.sendMessage?.({
|
|
64
|
-
customType: "swarm:marker",
|
|
65
|
-
content: "inactive",
|
|
66
|
-
display: true,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
async function startSwarmTask(host, prompt, ctx) {
|
|
71
|
-
// Enable swarm mode if not already active
|
|
72
|
-
if (!host.swarmActive) {
|
|
73
|
-
host.setSwarmActive(true, "task");
|
|
74
|
-
}
|
|
75
|
-
// TUI marker
|
|
76
|
-
host.pi.sendMessage?.({
|
|
77
|
-
customType: "swarm:marker",
|
|
78
|
-
content: "active",
|
|
79
|
-
display: true,
|
|
80
|
-
});
|
|
81
|
-
// Send the prompt
|
|
82
|
-
host.sendNormalUserInput(prompt);
|
|
83
|
-
}
|
|
84
|
-
// ---------------------------------------------------------------------------
|
|
85
|
-
// Helpers
|
|
86
|
-
// ---------------------------------------------------------------------------
|
|
87
|
-
function swarmModeSubcommand(input) {
|
|
88
|
-
const command = input.toLowerCase();
|
|
89
|
-
if (command === "on")
|
|
90
|
-
return true;
|
|
91
|
-
if (command === "off")
|
|
92
|
-
return false;
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
47
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/swarm/command.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/swarm/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8BH,MAAM,UAAU,oBAAoB,CAClC,EAAgB,EAChB,IAAsB;IAEtB,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;QAC1B,WAAW,EACT,6BAA6B;YAC7B,4CAA4C;QAC9C,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,kBAAkB;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACxD,IAAI,SAAS,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;gBACD,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,sBAAsB;YACtB,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,+CAA+C;YAC/C,IAAI,CAAC,mBAAmB,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/swarm/mode.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Tracks whether swarm mode is active and manages the lifecycle
|
|
5
5
|
* of entering/exiting swarm mode with system reminders.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Architecture reference: AgentSwarm pattern.
|
|
8
8
|
*/
|
|
9
9
|
/** How swarm mode was triggered. */
|
|
10
10
|
export type SwarmModeTrigger = "manual" | "task" | "tool";
|
package/dist/swarm/mode.js
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Tracks whether swarm mode is active and manages the lifecycle
|
|
5
5
|
* of entering/exiting swarm mode with system reminders.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Architecture reference: AgentSwarm pattern.
|
|
8
8
|
*/
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
10
|
-
// System reminder templates
|
|
10
|
+
// System reminder templates
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
12
12
|
const SWARM_MODE_ENTER_REMINDER = `
|
|
13
13
|
Swarm mode is now active. While swarm mode is active:
|
package/dist/swarm/mode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/swarm/mode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiCH,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/swarm/mode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiCH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,yBAAyB,GAAG;;;;;;;;CAQjC,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,wBAAwB,GAAG;;;;CAIhC,CAAC,IAAI,EAAE,CAAC;AAET,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,OAAO,SAAS;IAGS;IAFrB,MAAM,GAA4B,IAAI,CAAC;IAE/C,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtD,wEAAwE;IACxE,KAAK,CAAC,OAAyB;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,IAAI,EAAE,kBAAkB;YACxB,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QAEtB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,EAAE;gBACjE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,+EAA+E;IAC/E,YAAY,CAAC,OAAyB;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,4CAA4C;IAC5C,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO;QAE/B,sCAAsC;QACtC,IACE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAe,EAAE,EAAE;YACvD,MAAM,CAAC,GAAG,MAAoD,CAAC;YAC/D,OAAO,CAAC,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,EAAE,OAAO,KAAK,YAAY,CAAC;QAChE,CAAC,CAAC,EACF,CAAC;YACD,OAAO;QACT,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,wBAAwB,EAAE;YAChE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,uEAAuE;IACvE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IAC1D,CAAC;IAED,kDAAkD;IAClD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
package/dist/swarm/tool.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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 { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
10
10
|
export declare function registerAgentSwarmTool(pi: ExtensionAPI): void;
|
package/dist/swarm/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/swarm/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/swarm/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAwFzC,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAmU7D"}
|
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, sendMessage, } 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,61 +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
27
|
const AGENT_SWARM_DESCRIPTION = [
|
|
27
|
-
"Launch 1-
|
|
28
|
+
"Launch 1-20 subagents in parallel, with optional inter-agent mailbox.",
|
|
28
29
|
"",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
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.",
|
|
33
35
|
"",
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"-
|
|
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.",
|
|
38
46
|
"",
|
|
39
|
-
"
|
|
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).",
|
|
40
59
|
].join("\n");
|
|
41
60
|
// ---------------------------------------------------------------------------
|
|
42
61
|
// Registration
|
|
43
62
|
// ---------------------------------------------------------------------------
|
|
44
63
|
export function registerAgentSwarmTool(pi) {
|
|
45
64
|
pi.registerTool({
|
|
46
|
-
name: "
|
|
47
|
-
label: "
|
|
65
|
+
name: "Swarm",
|
|
66
|
+
label: "Swarm",
|
|
48
67
|
description: AGENT_SWARM_DESCRIPTION,
|
|
49
68
|
parameters: Type.Object({
|
|
50
|
-
description: Type.String({
|
|
51
|
-
description: "Short description for the whole swarm.",
|
|
52
|
-
examples: ["Review
|
|
53
|
-
}),
|
|
54
|
-
subagent_type: Type.Optional(Type.String({
|
|
55
|
-
description: "Subagent type used for every spawned subagent. Defaults to coder when omitted.",
|
|
56
|
-
examples: ["coder"],
|
|
69
|
+
description: Type.Optional(Type.String({
|
|
70
|
+
description: "Short description for the whole swarm (optional).",
|
|
71
|
+
examples: ["Review source files for bugs"],
|
|
57
72
|
})),
|
|
58
|
-
prompt_template: Type.
|
|
59
|
-
description: `
|
|
73
|
+
prompt_template: Type.String({
|
|
74
|
+
description: `Prompt template with ${PROMPT_TEMPLATE_PLACEHOLDER} exactly once. Each item replaces the placeholder.`,
|
|
60
75
|
examples: [
|
|
61
|
-
"
|
|
62
|
-
"
|
|
76
|
+
"You are a code reviewer. Review {{item}} for bugs and security issues.",
|
|
77
|
+
"Fix the following issue in {{item}}",
|
|
63
78
|
],
|
|
64
|
-
})
|
|
65
|
-
items: Type.
|
|
66
|
-
|
|
67
|
-
|
|
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.",
|
|
68
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"],
|
|
69
89
|
})),
|
|
70
|
-
|
|
71
|
-
description: "
|
|
72
|
-
examples: [
|
|
73
|
-
{ "swarm-abc123": "Retry with more focus on XSS detection" },
|
|
74
|
-
],
|
|
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],
|
|
75
93
|
})),
|
|
76
94
|
}, { additionalProperties: false }),
|
|
77
95
|
execute: async (toolCallId, params, signal, _onUpdate, ctxRaw) => {
|
|
78
|
-
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;
|
|
79
99
|
const ctx = ctxRaw;
|
|
80
100
|
const progress = createProgressWidget(ctx);
|
|
81
101
|
// Persistent run state - declared outside try for catch access
|
|
@@ -83,52 +103,63 @@ export function registerAgentSwarmTool(pi) {
|
|
|
83
103
|
const runId = `swarm-${Date.now().toString(36)}`;
|
|
84
104
|
let runCreated = false;
|
|
85
105
|
try {
|
|
86
|
-
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
|
+
}
|
|
87
113
|
// Build specs
|
|
88
|
-
const specs =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
+
let mailboxPaths;
|
|
125
|
+
if (mailbox) {
|
|
126
|
+
mailboxPaths = resolveMailboxPaths(swarmRoot, runId);
|
|
127
|
+
ensureMailbox(mailboxPaths);
|
|
128
|
+
mailboxPath = mailboxPaths.root;
|
|
129
|
+
}
|
|
93
130
|
createManifest(swarmRoot, {
|
|
94
131
|
runId,
|
|
95
132
|
type: "swarm",
|
|
96
133
|
status: "running",
|
|
97
|
-
goal: description,
|
|
134
|
+
goal: description ?? "Swarm",
|
|
98
135
|
startedAt: Date.now(),
|
|
99
136
|
agentIds: [],
|
|
100
137
|
});
|
|
101
138
|
runCreated = true;
|
|
102
139
|
// Convert to queued tasks
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
...common,
|
|
129
|
-
kind: "spawn",
|
|
130
|
-
};
|
|
131
|
-
});
|
|
140
|
+
const resolvedPaths = mailboxPaths;
|
|
141
|
+
const tasks = specs.map((spec, idx) => ({
|
|
142
|
+
kind: "spawn",
|
|
143
|
+
data: spec,
|
|
144
|
+
profileName: profileName,
|
|
145
|
+
parentToolCallId: toolCallId,
|
|
146
|
+
prompt: spec.prompt,
|
|
147
|
+
description: `${description ?? "Swarm"} #${spec.index} (${profileName})`,
|
|
148
|
+
swarmIndex: spec.index,
|
|
149
|
+
runInBackground: false,
|
|
150
|
+
swarmItem: spec.item,
|
|
151
|
+
signal,
|
|
152
|
+
timeout: DEFAULT_SUBAGENT_TIMEOUT_MS,
|
|
153
|
+
swarmRoot,
|
|
154
|
+
runId,
|
|
155
|
+
useWorktree: true,
|
|
156
|
+
model: resolvedModel,
|
|
157
|
+
mailboxPath,
|
|
158
|
+
roleName: `agent-${idx + 1}`,
|
|
159
|
+
onMessage: resolvedPaths
|
|
160
|
+
? (msg) => sendMessage(resolvedPaths, msg)
|
|
161
|
+
: undefined,
|
|
162
|
+
}));
|
|
132
163
|
// Run with controller
|
|
133
164
|
const maxConcurrency = resolveSwarmMaxConcurrency(process.cwd());
|
|
134
165
|
const repoCwd = process.cwd();
|
|
@@ -140,7 +171,9 @@ export function registerAgentSwarmTool(pi) {
|
|
|
140
171
|
}, tasks, {
|
|
141
172
|
maxConcurrency,
|
|
142
173
|
onProgress: (snapshot) => {
|
|
143
|
-
|
|
174
|
+
const state = snapshotToProgressState(snapshot, description);
|
|
175
|
+
state.mailbox = mailbox;
|
|
176
|
+
progress?.component.update(state);
|
|
144
177
|
},
|
|
145
178
|
});
|
|
146
179
|
const results = await controller.run();
|
|
@@ -206,7 +239,7 @@ export function registerAgentSwarmTool(pi) {
|
|
|
206
239
|
}
|
|
207
240
|
}
|
|
208
241
|
return {
|
|
209
|
-
content: [{ type: "text", text: `
|
|
242
|
+
content: [{ type: "text", text: `Swarm failed: ${message}` }],
|
|
210
243
|
isError: true,
|
|
211
244
|
details: undefined,
|
|
212
245
|
};
|
|
@@ -226,13 +259,9 @@ export function registerAgentSwarmTool(pi) {
|
|
|
226
259
|
* prompt 模板预览。
|
|
227
260
|
*/
|
|
228
261
|
renderCall(args, theme, _context) {
|
|
229
|
-
const subagentType = args.subagent_type || "coder";
|
|
230
262
|
const itemCount = args.items?.length ?? 0;
|
|
231
|
-
const resumeCount = Object.keys(args.resume_agent_ids ?? {}).length;
|
|
232
|
-
const totalCount = itemCount + resumeCount;
|
|
233
|
-
const hasResume = resumeCount > 0;
|
|
234
263
|
const container = new Container();
|
|
235
|
-
const title = `${theme.fg("toolTitle", theme.bold("swarm "))}${theme.fg("accent", `${
|
|
264
|
+
const title = `${theme.fg("toolTitle", theme.bold("swarm "))}${theme.fg("accent", `${itemCount} agent${itemCount !== 1 ? "s" : ""}`)}`;
|
|
236
265
|
container.addChild(new Text(title, 0, 0));
|
|
237
266
|
const desc = args.description;
|
|
238
267
|
if (desc) {
|
|
@@ -276,90 +305,6 @@ export function registerAgentSwarmTool(pi) {
|
|
|
276
305
|
},
|
|
277
306
|
});
|
|
278
307
|
}
|
|
279
|
-
// ---------------------------------------------------------------------------
|
|
280
|
-
// Spec creation (from kimi-code)
|
|
281
|
-
// ---------------------------------------------------------------------------
|
|
282
|
-
function createAgentSwarmSpecs(args) {
|
|
283
|
-
const resumeEntries = Object.entries(args.resume_agent_ids ?? {}).map(([agentId, prompt]) => {
|
|
284
|
-
const trimmedId = agentId.trim();
|
|
285
|
-
validateId(trimmedId, "agentId");
|
|
286
|
-
return {
|
|
287
|
-
agentId: trimmedId,
|
|
288
|
-
prompt: prompt.trim(),
|
|
289
|
-
};
|
|
290
|
-
});
|
|
291
|
-
const items = (args.items ?? []).map((item) => item.trim());
|
|
292
|
-
const itemCount = items.length;
|
|
293
|
-
const resumeCount = resumeEntries.length;
|
|
294
|
-
const totalCount = resumeCount + itemCount;
|
|
295
|
-
if (!hasMinimumAgentSwarmInputs(itemCount, resumeCount)) {
|
|
296
|
-
throw new Error("AgentSwarm requires at least 1 item or a resume_agent_ids entry. " +
|
|
297
|
-
'Example with items: { "items": ["src/a.ts"], "prompt_template": "Review {{item}}" }. ' +
|
|
298
|
-
'Example with resume: { "resume_agent_ids": { "swarm-abc": "Retry with more detail" } }.');
|
|
299
|
-
}
|
|
300
|
-
if (totalCount > MAX_AGENT_SWARM_SUBAGENTS) {
|
|
301
|
-
throw new Error(`AgentSwarm supports at most ${String(MAX_AGENT_SWARM_SUBAGENTS)} subagents.`);
|
|
302
|
-
}
|
|
303
|
-
const promptTemplate = normalizeOptionalString(args.prompt_template);
|
|
304
|
-
if (items.length > 0 && promptTemplate === undefined) {
|
|
305
|
-
throw new Error("prompt_template is required when items are provided. " +
|
|
306
|
-
'Example: { "prompt_template": "Review {{item}} for bugs", "items": ["src/a.ts", "src/b.ts"] }');
|
|
307
|
-
}
|
|
308
|
-
if (promptTemplate !== undefined &&
|
|
309
|
-
!promptTemplate.includes(PROMPT_TEMPLATE_PLACEHOLDER)) {
|
|
310
|
-
throw new Error(`prompt_template must include the ${PROMPT_TEMPLATE_PLACEHOLDER} placeholder. ` +
|
|
311
|
-
`Got: "${promptTemplate.slice(0, 80)}". ` +
|
|
312
|
-
`Add {{item}} where each item value should be inserted. ` +
|
|
313
|
-
'Example: "Fix issues in {{item}}"');
|
|
314
|
-
}
|
|
315
|
-
const seenPrompts = new Map();
|
|
316
|
-
const specs = [];
|
|
317
|
-
// Resume entries first
|
|
318
|
-
for (const entry of resumeEntries) {
|
|
319
|
-
specs.push({
|
|
320
|
-
kind: "resume",
|
|
321
|
-
index: specs.length + 1,
|
|
322
|
-
agentId: entry.agentId,
|
|
323
|
-
prompt: entry.prompt,
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
// Item-based spawns
|
|
327
|
-
if (items.length > 0) {
|
|
328
|
-
const itemPromptTemplate = promptTemplate;
|
|
329
|
-
items.forEach((item, index) => {
|
|
330
|
-
const prompt = itemPromptTemplate
|
|
331
|
-
.split(PROMPT_TEMPLATE_PLACEHOLDER)
|
|
332
|
-
.join(item);
|
|
333
|
-
const previousIndex = seenPrompts.get(prompt);
|
|
334
|
-
if (previousIndex !== undefined) {
|
|
335
|
-
throw new Error(`Duplicate subagent prompts from items ${String(previousIndex)} and ${String(index + 1)}. AgentSwarm requires distinct subagents.`);
|
|
336
|
-
}
|
|
337
|
-
seenPrompts.set(prompt, index + 1);
|
|
338
|
-
specs.push({
|
|
339
|
-
kind: "spawn",
|
|
340
|
-
index: specs.length + 1,
|
|
341
|
-
item,
|
|
342
|
-
prompt,
|
|
343
|
-
});
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
return specs;
|
|
347
|
-
}
|
|
348
|
-
// ---------------------------------------------------------------------------
|
|
349
|
-
// Helpers
|
|
350
|
-
// ---------------------------------------------------------------------------
|
|
351
|
-
function hasMinimumAgentSwarmInputs(itemCount, resumeCount) {
|
|
352
|
-
return resumeCount > 0 || itemCount >= 1;
|
|
353
|
-
}
|
|
354
|
-
function childDescription(swarmDescription, index, profileName) {
|
|
355
|
-
return `${swarmDescription} #${String(index)} (${profileName})`;
|
|
356
|
-
}
|
|
357
|
-
function normalizeOptionalString(value) {
|
|
358
|
-
if (value === undefined)
|
|
359
|
-
return undefined;
|
|
360
|
-
const trimmed = value.trim();
|
|
361
|
-
return trimmed.length > 0 ? trimmed : undefined;
|
|
362
|
-
}
|
|
363
308
|
/**
|
|
364
309
|
* Install a live progress widget above the editor when running in TUI mode.
|
|
365
310
|
*
|
package/dist/swarm/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,GAC3B,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;AAO9B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,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,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAEjE,MAAM,uBAAuB,GAAG;IAC9B,6EAA6E;IAC7E,EAAE;IACF,iBAAiB;IACjB,kFAAkF;IAClF,sEAAsE;IACtE,0EAA0E;IAC1E,EAAE;IACF,kBAAkB;IAClB,+EAA+E;IAC/E,mEAAmE;IACnE,qEAAqE;IACrE,EAAE;IACF,4FAA4F;CAC7F,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,YAAY;QAClB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,CAAC,kCAAkC,CAAC;aAC/C,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EACT,gFAAgF;gBAClF,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC,CACH;YACD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAC5B,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EAAE,iDAAiD,2BAA2B,oDAAoD;gBAC7I,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,8CAA8C;iBAC/C;aACF,CAAC,CACH;YACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxB,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EACT,+HAA+H;gBACjI,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;aACvD,CAAC,CACH;YACD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxC,WAAW,EACT,yIAAyI;gBAC3I,QAAQ,EAAE;oBACR,EAAE,cAAc,EAAE,wCAAwC,EAAE;iBAC7D;aACF,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,EACJ,WAAW,EACX,aAAa,EACb,eAAe,EACf,KAAK,EACL,gBAAgB,GACjB,GAAG,MAMH,CAAC;YAEF,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,GACf,uBAAuB,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC;gBAElE,cAAc;gBACd,MAAM,KAAK,GAAG,qBAAqB,CAAC;oBAClC,KAAK;oBACL,gBAAgB;oBAChB,eAAe;iBAChB,CAAC,CAAC;gBAEH,cAAc,CAAC,SAAS,EAAE;oBACxB,KAAK;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,WAAW;oBACjB,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,EAAiC,EAAE;oBAC9D,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;oBAClD,MAAM,MAAM,GAAG;wBACb,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;wBAC9D,gBAAgB,EAAE,UAAU;wBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,WAAW,EAAE,gBAAgB,CAC3B,WAAW,EACX,IAAI,CAAC,KAAK,EACV,eAAe,CAChB;wBACD,UAAU,EAAE,IAAI,CAAC,KAAK;wBACtB,eAAe,EAAE,KAAK;wBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,MAAM;wBACN,OAAO,EAAE,2BAA2B;wBACpC,SAAS;wBACT,KAAK;wBACL,WAAW,EAAE,IAAI;qBAClB,CAAC;oBAEF,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC3B,OAAO;4BACL,GAAG,MAAM;4BACT,IAAI,EAAE,QAAQ;4BACd,aAAa,EAAE,IAAI,CAAC,OAAO;yBACK,CAAC;oBACrC,CAAC;oBAED,OAAO;wBACL,GAAG,MAAM;wBACT,IAAI,EAAE,OAAO;qBACmB,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,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,QAAQ,EAAE,SAAS,CAAC,MAAM,CACxB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC/C,CAAC;oBACJ,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,sBAAsB,OAAO,EAAE,EAAE,CAAC;oBAClE,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,YAAY,GAAI,IAAI,CAAC,aAAwB,IAAI,OAAO,CAAC;YAC/D,MAAM,SAAS,GAAI,IAAI,CAAC,KAA8B,EAAE,MAAM,IAAI,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC5B,IAAI,CAAC,gBAAuD,IAAI,EAAE,CACpE,CAAC,MAAM,CAAC;YACT,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;YAC3C,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC;YAElC,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,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,WAAW,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;YACtP,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAqB,CAAC;YACxC,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;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,SAAS,qBAAqB,CAAC,IAI9B;IACC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CACnE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,mEAAmE;YACjE,uFAAuF;YACvF,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,yBAAyB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,yBAAyB,CAAC,aAAa,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,uDAAuD;YACrD,+FAA+F,CAClG,CAAC;IACJ,CAAC;IAED,IACE,cAAc,KAAK,SAAS;QAC5B,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACrD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oCAAoC,2BAA2B,gBAAgB;YAC7E,SAAS,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;YACzC,yDAAyD;YACzD,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,uBAAuB;IACvB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;SACK,CAAC,CAAC;IAC/B,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,kBAAkB,GAAG,cAAe,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,kBAAkB;iBAC9B,KAAK,CAAC,2BAA2B,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,yCAAyC,MAAM,CAAC,aAAa,CAAC,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,2CAA2C,CACnI,CAAC;YACJ,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAEnC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;gBACvB,IAAI;gBACJ,MAAM;aACkB,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,0BAA0B,CACjC,SAAiB,EACjB,WAAmB;IAEnB,OAAO,WAAW,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CACvB,gBAAwB,EACxB,KAAa,EACb,WAAmB;IAEnB,OAAO,GAAG,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,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"}
|
|
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,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,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,YAAsC,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACrD,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC5B,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;gBAClC,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,aAAa,GAAG,YAAY,CAAC;gBACnC,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;oBAC5B,SAAS,EAAE,aAAa;wBACtB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC;wBAC1C,CAAC,CAAC,SAAS;iBACd,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";
|