@gjczone/pi-swarm 0.1.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +60 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/shared/controller.d.ts +5 -2
  5. package/dist/shared/controller.d.ts.map +1 -1
  6. package/dist/shared/controller.js +109 -43
  7. package/dist/shared/controller.js.map +1 -1
  8. package/dist/shared/render.d.ts +4 -4
  9. package/dist/shared/render.d.ts.map +1 -1
  10. package/dist/shared/render.js +7 -9
  11. package/dist/shared/render.js.map +1 -1
  12. package/dist/shared/spawner.d.ts +1 -1
  13. package/dist/shared/spawner.d.ts.map +1 -1
  14. package/dist/shared/spawner.js +232 -132
  15. package/dist/shared/spawner.js.map +1 -1
  16. package/dist/shared/types.d.ts +44 -0
  17. package/dist/shared/types.d.ts.map +1 -1
  18. package/dist/state/persistence.d.ts +21 -14
  19. package/dist/state/persistence.d.ts.map +1 -1
  20. package/dist/state/persistence.js +79 -28
  21. package/dist/state/persistence.js.map +1 -1
  22. package/dist/state/recovery.d.ts +2 -2
  23. package/dist/state/recovery.d.ts.map +1 -1
  24. package/dist/state/recovery.js +37 -22
  25. package/dist/state/recovery.js.map +1 -1
  26. package/dist/swarm/command.d.ts.map +1 -1
  27. package/dist/swarm/command.js.map +1 -1
  28. package/dist/swarm/mode.d.ts.map +1 -1
  29. package/dist/swarm/mode.js +9 -4
  30. package/dist/swarm/mode.js.map +1 -1
  31. package/dist/swarm/tool.d.ts.map +1 -1
  32. package/dist/swarm/tool.js +77 -5
  33. package/dist/swarm/tool.js.map +1 -1
  34. package/dist/team/command.d.ts +3 -2
  35. package/dist/team/command.d.ts.map +1 -1
  36. package/dist/team/command.js +24 -7
  37. package/dist/team/command.js.map +1 -1
  38. package/dist/team/mailbox.d.ts +3 -3
  39. package/dist/team/mailbox.d.ts.map +1 -1
  40. package/dist/team/mailbox.js +38 -17
  41. package/dist/team/mailbox.js.map +1 -1
  42. package/dist/team/supervisor.d.ts +31 -5
  43. package/dist/team/supervisor.d.ts.map +1 -1
  44. package/dist/team/supervisor.js +187 -16
  45. package/dist/team/supervisor.js.map +1 -1
  46. package/dist/team/task-graph.d.ts.map +1 -1
  47. package/dist/team/task-graph.js +4 -7
  48. package/dist/team/task-graph.js.map +1 -1
  49. package/dist/team/tool.d.ts +3 -3
  50. package/dist/team/tool.d.ts.map +1 -1
  51. package/dist/team/tool.js +81 -24
  52. package/dist/team/tool.js.map +1 -1
  53. package/dist/tui/permission-prompt.d.ts.map +1 -1
  54. package/dist/tui/permission-prompt.js.map +1 -1
  55. package/dist/tui/progress.d.ts +10 -0
  56. package/dist/tui/progress.d.ts.map +1 -1
  57. package/dist/tui/progress.js +50 -1
  58. package/dist/tui/progress.js.map +1 -1
  59. package/dist/tui/team-dashboard.d.ts +54 -0
  60. package/dist/tui/team-dashboard.d.ts.map +1 -0
  61. package/dist/tui/team-dashboard.js +240 -0
  62. package/dist/tui/team-dashboard.js.map +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,240 @@
1
+ /**
2
+ * tui/team-dashboard — SwarmTeam live phase progress dashboard.
3
+ *
4
+ * Renders a real-time dashboard above the input area when a SwarmTeam
5
+ * run is in progress. Shows phase statuses with braille animation for
6
+ * the active phase, mailbox message count, and elapsed time.
7
+ *
8
+ * Follows the same wiring pattern as AgentSwarmProgressComponent:
9
+ * supervisor emits snapshots -> tool converts -> pushes to widget.
10
+ */
11
+ // ---------------------------------------------------------------------------
12
+ // Constants (shared braille with progress.ts for visual consistency)
13
+ // ---------------------------------------------------------------------------
14
+ const BRAILLE_BAR_MAX_WIDTH = 8;
15
+ const FRAME_INTERVAL_MS = 80;
16
+ const MAX_PHASES = 20;
17
+ const BRAILLE_LEVELS = [
18
+ "\u28C0",
19
+ "\u28C4",
20
+ "\u28E4",
21
+ "\u28E6",
22
+ "\u28F6",
23
+ "\u28F7",
24
+ "\u28FF",
25
+ ];
26
+ const BRAILLE_EMPTY = BRAILLE_LEVELS[0];
27
+ const BRAILLE_FULL = BRAILLE_LEVELS[6];
28
+ // ---------------------------------------------------------------------------
29
+ // Snapshot conversion
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Convert a TeamProgressSnapshot from the supervisor into the
33
+ * TeamDashboardState expected by TeamDashboardComponent.
34
+ */
35
+ export function snapshotToDashboardState(snapshot) {
36
+ const now = Date.now();
37
+ return {
38
+ title: snapshot.title,
39
+ goal: snapshot.goal,
40
+ status: snapshot.status,
41
+ totalPhases: snapshot.totalPhases,
42
+ completedPhases: snapshot.completedPhases,
43
+ failedPhases: snapshot.failedPhases,
44
+ currentPhase: snapshot.currentPhase,
45
+ currentRole: snapshot.currentRole,
46
+ phases: snapshot.phases.map((p) => ({
47
+ name: p.name,
48
+ role: p.role,
49
+ status: p.status,
50
+ error: p.error,
51
+ phaseStartedAt: p.status === "running" ? now : 0,
52
+ })),
53
+ mailboxCount: snapshot.mailboxCount,
54
+ startedAt: snapshot.startedAt,
55
+ };
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // Component
59
+ // ---------------------------------------------------------------------------
60
+ export class TeamDashboardComponent {
61
+ state_ = null;
62
+ animationFrame;
63
+ renderedWidth;
64
+ cachedLines;
65
+ constructor() {
66
+ this.startAnimation();
67
+ }
68
+ // -------------------------------------------------------------------
69
+ // Public API
70
+ // -------------------------------------------------------------------
71
+ update(state) {
72
+ this.state_ = state;
73
+ this.invalidate();
74
+ }
75
+ complete() {
76
+ if (this.state_) {
77
+ this.state_.phases.forEach((p) => {
78
+ if (p.status === "queued" || p.status === "running") {
79
+ p.status = "completed";
80
+ }
81
+ });
82
+ this.state_.status = "completed";
83
+ this.state_.completedPhases =
84
+ this.state_.totalPhases - this.state_.failedPhases;
85
+ this.state_.currentPhase = undefined;
86
+ }
87
+ this.invalidate();
88
+ }
89
+ dispose() {
90
+ if (this.animationFrame !== undefined) {
91
+ clearInterval(this.animationFrame);
92
+ this.animationFrame = undefined;
93
+ }
94
+ }
95
+ // -------------------------------------------------------------------
96
+ // Component interface
97
+ // -------------------------------------------------------------------
98
+ invalidate() {
99
+ this.renderedWidth = undefined;
100
+ this.cachedLines = undefined;
101
+ }
102
+ render(width) {
103
+ const safeWidth = Math.max(10, width);
104
+ if (this.cachedLines && this.renderedWidth === safeWidth) {
105
+ return this.cachedLines;
106
+ }
107
+ if (!this.state_ || this.state_.phases.length === 0) {
108
+ this.cachedLines = [];
109
+ return this.cachedLines;
110
+ }
111
+ const state = this.state_;
112
+ const lines = [];
113
+ // Header
114
+ const header = buildHeader(state, safeWidth);
115
+ lines.push(header);
116
+ // Overall progress bar
117
+ const bar = buildProgressBar(state, safeWidth);
118
+ lines.push(bar);
119
+ // Phase rows
120
+ const maxPhases = Math.min(state.phases.length, MAX_PHASES);
121
+ for (let i = 0; i < maxPhases; i += 1) {
122
+ const phase = state.phases[i];
123
+ if (!phase)
124
+ continue;
125
+ const row = renderPhaseRow(phase, safeWidth - 4);
126
+ lines.push(` ${row}`);
127
+ }
128
+ // Separator
129
+ const sep = "\u2500".repeat(Math.max(0, safeWidth - 4));
130
+ lines.push(` ${sep}`);
131
+ // Footer
132
+ const footerLine = buildFooter(state);
133
+ lines.push(` ${footerLine}`);
134
+ // Bottom border
135
+ const bottom = bottomBorder(safeWidth);
136
+ lines.push(bottom);
137
+ this.cachedLines = lines;
138
+ this.renderedWidth = safeWidth;
139
+ return this.cachedLines;
140
+ }
141
+ // -------------------------------------------------------------------
142
+ // Animation
143
+ // -------------------------------------------------------------------
144
+ startAnimation() {
145
+ this.animationFrame = setInterval(() => {
146
+ this.invalidate();
147
+ }, FRAME_INTERVAL_MS);
148
+ }
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Rendering helpers
152
+ // ---------------------------------------------------------------------------
153
+ function buildHeader(state, _width) {
154
+ const titleLine = `Team: ${state.title}`;
155
+ const status = state.status;
156
+ const phaseInfo = state.currentPhase
157
+ ? `Phase: ${state.completedPhases + 1}/${state.totalPhases} (${state.currentPhase})`
158
+ : `Phases: ${state.completedPhases}/${state.totalPhases}`;
159
+ return `${titleLine} | Status: ${status} | ${phaseInfo}`;
160
+ }
161
+ function buildProgressBar(state, width) {
162
+ const barWidth = Math.max(1, width - 4);
163
+ const total = state.totalPhases || 1;
164
+ const doneRatio = (state.completedPhases + state.failedPhases) / total;
165
+ const doneChars = Math.round(doneRatio * barWidth);
166
+ const remainingChars = barWidth - doneChars;
167
+ const done = "\u2501".repeat(doneChars);
168
+ const remaining = "\u2501".repeat(remainingChars);
169
+ return ` ${done}${remaining}`;
170
+ }
171
+ function renderPhaseRow(phase, width) {
172
+ const statusIcon = phaseStatusIcon(phase);
173
+ const phaseName = truncateText(phase.name, 14);
174
+ const statusLabel = phase.status;
175
+ const roleLabel = `(${phase.role})`;
176
+ // Layout: <icon> <phaseName> <status> <role>
177
+ const fixed = `${statusIcon} ${phaseName} ${statusLabel} ${roleLabel}`;
178
+ const fixedLen = visibleLen(fixed);
179
+ if (phase.status === "failed" && phase.error) {
180
+ const errorPart = ` — ${phase.error}`;
181
+ const avail = Math.max(0, width - fixedLen - visibleLen(errorPart));
182
+ return `${fixed}${errorPart}`.slice(0, width);
183
+ }
184
+ return fixed;
185
+ }
186
+ function phaseStatusIcon(phase) {
187
+ switch (phase.status) {
188
+ case "completed":
189
+ return "\u2713"; // checkmark
190
+ case "running":
191
+ return renderBrailleBar(phase);
192
+ case "failed":
193
+ return "\u2717"; // x mark
194
+ case "skipped":
195
+ return "\u2298"; // slashed circle
196
+ case "queued":
197
+ return "\u25CB"; // circle
198
+ }
199
+ }
200
+ function renderBrailleBar(phase) {
201
+ const elapsed = Date.now() - phase.phaseStartedAt;
202
+ const cycleMs = 800;
203
+ const progress = (elapsed % cycleMs) / cycleMs;
204
+ const maxWidth = BRAILLE_BAR_MAX_WIDTH;
205
+ const totalDots = maxWidth * 6;
206
+ const filledDots = Math.floor(progress * totalDots);
207
+ let result = "";
208
+ for (let i = 0; i < maxWidth; i += 1) {
209
+ const cellStart = i * 6;
210
+ const dotsInCell = Math.max(0, Math.min(6, filledDots - cellStart));
211
+ result += dotsInCell === 0 ? BRAILLE_EMPTY : BRAILLE_LEVELS[dotsInCell];
212
+ }
213
+ return result;
214
+ }
215
+ function buildFooter(state) {
216
+ const mailbox = `Mailbox: ${state.mailboxCount > 0 ? String(state.mailboxCount) : "0"} messages`;
217
+ const elapsed = formatElapsed(Date.now() - state.startedAt);
218
+ return `${mailbox} | Elapsed: ${elapsed}`;
219
+ }
220
+ function formatElapsed(ms) {
221
+ const totalSec = Math.floor(ms / 1000);
222
+ const m = Math.floor(totalSec / 60);
223
+ const s = totalSec % 60;
224
+ return `${m}m ${s}s`;
225
+ }
226
+ function bottomBorder(width) {
227
+ return `\u2514${"\u2500".repeat(Math.max(0, width - 2))}\u2518`;
228
+ }
229
+ // ---------------------------------------------------------------------------
230
+ // Text utilities
231
+ // ---------------------------------------------------------------------------
232
+ function visibleLen(text) {
233
+ return text.replace(/\x1b\[[0-9;]*m/g, "").length;
234
+ }
235
+ function truncateText(text, maxLen) {
236
+ if (text.length <= maxLen)
237
+ return text;
238
+ return text.slice(0, Math.max(0, maxLen - 1)) + "\u2026";
239
+ }
240
+ //# sourceMappingURL=team-dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-dashboard.js","sourceRoot":"","sources":["../../src/tui/team-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,cAAc,GAAG;IACrB,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAEX,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AA8BvC,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,cAAc,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC,CAAC;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,OAAO,sBAAsB;IACzB,MAAM,GAA8B,IAAI,CAAC;IACzC,cAAc,CAA6C;IAC3D,aAAa,CAAqB;IAClC,WAAW,CAAuB;IAE1C;QACE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,sEAAsE;IACtE,aAAa;IACb,sEAAsE;IAEtE,MAAM,CAAC,KAAyB;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACpD,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,eAAe;gBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,sBAAsB;IACtB,sEAAsE;IAEtE,UAAU;QACR,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,SAAS;QACT,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnB,uBAAuB;QACvB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,aAAa;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,YAAY;QACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAEvB,SAAS;QACT,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;QAE9B,gBAAgB;QAChB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,sEAAsE;IACtE,YAAY;IACZ,sEAAsE;IAE9D,cAAc;QACpB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC;CACF;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,KAAyB,EAAE,MAAc;IAC5D,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY;QAClC,CAAC,CAAC,UAAU,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,YAAY,GAAG;QACpF,CAAC,CAAC,WAAW,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,GAAG,SAAS,gBAAgB,MAAM,QAAQ,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB,EAAE,KAAa;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,GAAG,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B,EAAE,KAAa;IACnE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;IAEpC,6CAA6C;IAC7C,MAAM,KAAK,GAAG,GAAG,UAAU,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAA8B;IACrD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,CAAC,YAAY;QAC/B,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,CAAC,SAAS;QAC5B,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,CAAC,iBAAiB;QACpC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,CAAC,SAAS;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC;IACpB,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;IAE/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAEpD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAE,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACjG,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO,GAAG,OAAO,iBAAiB,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IAChD,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjczone/pi-swarm",
3
- "version": "0.1.6",
3
+ "version": "0.3.0",
4
4
  "description": "Agent Swarm & Team for pi-coding-agent. Single to 128 subagents: parallel swarm or collaborative team with mailbox. Live TUI, rate-limit retries, crash recovery. Ported from kimi-code, inspired by pi-crew.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",