@claude-flow/swarm 3.0.0-alpha.8 → 3.0.0-alpha.9

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 (117) hide show
  1. package/dist/agent-pool.d.ts.map +1 -1
  2. package/dist/agent-pool.js +10 -2
  3. package/dist/agent-pool.js.map +1 -1
  4. package/dist/attention-coordinator.d.ts +5 -4
  5. package/dist/attention-coordinator.d.ts.map +1 -1
  6. package/dist/attention-coordinator.js +17 -10
  7. package/dist/attention-coordinator.js.map +1 -1
  8. package/dist/consensus/byzantine.d.ts +2 -1
  9. package/dist/consensus/byzantine.d.ts.map +1 -1
  10. package/dist/consensus/byzantine.js +34 -8
  11. package/dist/consensus/byzantine.js.map +1 -1
  12. package/dist/consensus/gossip.d.ts +2 -1
  13. package/dist/consensus/gossip.d.ts.map +1 -1
  14. package/dist/consensus/gossip.js +27 -8
  15. package/dist/consensus/gossip.js.map +1 -1
  16. package/dist/consensus/index.d.ts +1 -1
  17. package/dist/consensus/index.d.ts.map +1 -1
  18. package/dist/consensus/index.js +2 -30
  19. package/dist/consensus/index.js.map +1 -1
  20. package/dist/consensus/raft.d.ts +2 -1
  21. package/dist/consensus/raft.d.ts.map +1 -1
  22. package/dist/consensus/raft.js +25 -9
  23. package/dist/consensus/raft.js.map +1 -1
  24. package/dist/index.js +2 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/message-bus.d.ts.map +1 -1
  27. package/dist/message-bus.js +13 -4
  28. package/dist/message-bus.js.map +1 -1
  29. package/dist/queen-coordinator.d.ts +1 -1
  30. package/dist/queen-coordinator.d.ts.map +1 -1
  31. package/dist/queen-coordinator.js +10 -3
  32. package/dist/queen-coordinator.js.map +1 -1
  33. package/dist/topology-manager.d.ts.map +1 -1
  34. package/dist/topology-manager.js +26 -1
  35. package/dist/topology-manager.js.map +1 -1
  36. package/dist/types.d.ts +3 -12
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js.map +1 -1
  39. package/dist/unified-coordinator.d.ts +1 -1
  40. package/dist/unified-coordinator.d.ts.map +1 -1
  41. package/dist/unified-coordinator.js +85 -29
  42. package/dist/unified-coordinator.js.map +1 -1
  43. package/package.json +7 -2
  44. package/.claude-flow/data/pending-insights.jsonl +0 -15
  45. package/.claude-flow/hive-mind/state.json +0 -18
  46. package/__tests__/byzantine-transport.test.ts +0 -147
  47. package/__tests__/consensus-failure-injection.test.ts +0 -161
  48. package/__tests__/consensus-transport.test.ts +0 -200
  49. package/__tests__/consensus.test.ts +0 -577
  50. package/__tests__/coordinator.test.ts +0 -501
  51. package/__tests__/federation-transport.test.ts +0 -145
  52. package/__tests__/gossip-transport.test.ts +0 -81
  53. package/__tests__/queen-coordinator.test.ts +0 -1335
  54. package/__tests__/raft-transport.test.ts +0 -121
  55. package/__tests__/topology.test.ts +0 -621
  56. package/ruvector.db +0 -0
  57. package/src/agent-pool.ts +0 -476
  58. package/src/application/commands/create-task.command.ts +0 -124
  59. package/src/application/commands/spawn-agent.command.ts +0 -122
  60. package/src/application/index.ts +0 -30
  61. package/src/application/services/swarm-application-service.ts +0 -200
  62. package/src/attention-coordinator.ts +0 -1000
  63. package/src/consensus/byzantine.ts +0 -514
  64. package/src/consensus/federation-transport.ts +0 -185
  65. package/src/consensus/gossip.ts +0 -599
  66. package/src/consensus/index.ts +0 -326
  67. package/src/consensus/raft.ts +0 -561
  68. package/src/consensus/transport.ts +0 -284
  69. package/src/coordination/agent-registry.ts +0 -544
  70. package/src/coordination/index.ts +0 -23
  71. package/src/coordination/swarm-hub.ts +0 -776
  72. package/src/coordination/task-orchestrator.ts +0 -605
  73. package/src/domain/entities/agent.d.ts +0 -151
  74. package/src/domain/entities/agent.d.ts.map +0 -1
  75. package/src/domain/entities/agent.js +0 -280
  76. package/src/domain/entities/agent.js.map +0 -1
  77. package/src/domain/entities/agent.ts +0 -370
  78. package/src/domain/entities/task.d.ts +0 -133
  79. package/src/domain/entities/task.d.ts.map +0 -1
  80. package/src/domain/entities/task.js +0 -261
  81. package/src/domain/entities/task.js.map +0 -1
  82. package/src/domain/entities/task.ts +0 -319
  83. package/src/domain/index.ts +0 -41
  84. package/src/domain/repositories/agent-repository.interface.d.ts +0 -57
  85. package/src/domain/repositories/agent-repository.interface.d.ts.map +0 -1
  86. package/src/domain/repositories/agent-repository.interface.js +0 -9
  87. package/src/domain/repositories/agent-repository.interface.js.map +0 -1
  88. package/src/domain/repositories/agent-repository.interface.ts +0 -69
  89. package/src/domain/repositories/task-repository.interface.d.ts +0 -61
  90. package/src/domain/repositories/task-repository.interface.d.ts.map +0 -1
  91. package/src/domain/repositories/task-repository.interface.js +0 -9
  92. package/src/domain/repositories/task-repository.interface.js.map +0 -1
  93. package/src/domain/repositories/task-repository.interface.ts +0 -75
  94. package/src/domain/services/coordination-service.ts +0 -320
  95. package/src/federation-hub.d.ts +0 -284
  96. package/src/federation-hub.d.ts.map +0 -1
  97. package/src/federation-hub.js +0 -692
  98. package/src/federation-hub.js.map +0 -1
  99. package/src/federation-hub.ts +0 -979
  100. package/src/index.ts +0 -374
  101. package/src/message-bus.ts +0 -607
  102. package/src/queen-coordinator.ts +0 -2025
  103. package/src/shared/events.ts +0 -285
  104. package/src/shared/types.ts +0 -389
  105. package/src/topology-manager.ts +0 -656
  106. package/src/types.ts +0 -555
  107. package/src/unified-coordinator.ts +0 -1844
  108. package/src/workers/index.ts +0 -65
  109. package/src/workers/worker-dispatch.d.ts +0 -234
  110. package/src/workers/worker-dispatch.d.ts.map +0 -1
  111. package/src/workers/worker-dispatch.js +0 -842
  112. package/src/workers/worker-dispatch.js.map +0 -1
  113. package/src/workers/worker-dispatch.ts +0 -1076
  114. package/tmp.json +0 -0
  115. package/tsconfig.json +0 -9
  116. package/tsconfig.tsbuildinfo +0 -1
  117. package/vitest.config.ts +0 -20
@@ -1,151 +0,0 @@
1
- /**
2
- * Agent Entity - Domain Layer
3
- *
4
- * Core domain entity representing an AI agent in the swarm.
5
- * Implements DDD aggregate root pattern with encapsulated business logic.
6
- *
7
- * @module v3/swarm/domain/entities
8
- */
9
- /**
10
- * Agent status types
11
- */
12
- export type AgentStatus = 'idle' | 'active' | 'busy' | 'paused' | 'terminated' | 'error';
13
- /**
14
- * Agent role types - following 15-agent hierarchy
15
- */
16
- export type AgentRole = 'queen-coordinator' | 'security-architect' | 'security-auditor' | 'memory-specialist' | 'swarm-specialist' | 'integration-architect' | 'performance-engineer' | 'core-architect' | 'test-architect' | 'project-coordinator' | 'coder' | 'reviewer' | 'tester' | 'planner' | 'researcher' | 'custom';
17
- /**
18
- * Agent properties
19
- */
20
- export interface AgentProps {
21
- id?: string;
22
- name: string;
23
- role: AgentRole;
24
- domain: string;
25
- capabilities: string[];
26
- status?: AgentStatus;
27
- parentId?: string;
28
- metadata?: Record<string, unknown>;
29
- maxConcurrentTasks?: number;
30
- currentTaskIds?: string[];
31
- completedTaskCount?: number;
32
- createdAt?: Date;
33
- updatedAt?: Date;
34
- lastActiveAt?: Date;
35
- }
36
- /**
37
- * Agent - Aggregate Root
38
- *
39
- * Represents an individual agent with lifecycle management,
40
- * task tracking, and hierarchical relationships.
41
- */
42
- export declare class Agent {
43
- private _id;
44
- private _name;
45
- private _role;
46
- private _domain;
47
- private _capabilities;
48
- private _status;
49
- private _parentId?;
50
- private _metadata;
51
- private _maxConcurrentTasks;
52
- private _currentTaskIds;
53
- private _completedTaskCount;
54
- private _createdAt;
55
- private _updatedAt;
56
- private _lastActiveAt;
57
- private constructor();
58
- /**
59
- * Factory method - Create new agent
60
- */
61
- static create(props: AgentProps): Agent;
62
- /**
63
- * Factory method - Reconstruct from persistence
64
- */
65
- static fromPersistence(props: AgentProps): Agent;
66
- get id(): string;
67
- get name(): string;
68
- get role(): AgentRole;
69
- get domain(): string;
70
- get capabilities(): string[];
71
- get status(): AgentStatus;
72
- get parentId(): string | undefined;
73
- get metadata(): Record<string, unknown>;
74
- get maxConcurrentTasks(): number;
75
- get currentTaskIds(): string[];
76
- get currentTaskCount(): number;
77
- get completedTaskCount(): number;
78
- get createdAt(): Date;
79
- get updatedAt(): Date;
80
- get lastActiveAt(): Date;
81
- /**
82
- * Start the agent (transition to active)
83
- */
84
- start(): void;
85
- /**
86
- * Pause the agent
87
- */
88
- pause(): void;
89
- /**
90
- * Resume paused agent
91
- */
92
- resume(): void;
93
- /**
94
- * Terminate the agent
95
- */
96
- terminate(): void;
97
- /**
98
- * Mark agent as having an error
99
- */
100
- setError(errorMessage?: string): void;
101
- /**
102
- * Recover from error state
103
- */
104
- recover(): void;
105
- /**
106
- * Assign a task to this agent
107
- */
108
- assignTask(taskId: string): void;
109
- /**
110
- * Complete a task
111
- */
112
- completeTask(taskId: string): void;
113
- /**
114
- * Check if agent can accept more tasks
115
- */
116
- canAcceptTask(): boolean;
117
- /**
118
- * Check if agent has a specific capability
119
- */
120
- hasCapability(capability: string): boolean;
121
- /**
122
- * Add a capability
123
- */
124
- addCapability(capability: string): void;
125
- /**
126
- * Remove a capability
127
- */
128
- removeCapability(capability: string): void;
129
- /**
130
- * Update metadata
131
- */
132
- setMetadata(key: string, value: unknown): void;
133
- /**
134
- * Check if agent is a child of given parent
135
- */
136
- isChildOf(parentId: string): boolean;
137
- /**
138
- * Calculate agent utilization (0-1)
139
- */
140
- getUtilization(): number;
141
- /**
142
- * Check if agent is available for work
143
- */
144
- isAvailable(): boolean;
145
- /**
146
- * Convert to plain object for persistence
147
- */
148
- toPersistence(): Record<string, unknown>;
149
- toJSON(): Record<string, unknown>;
150
- }
151
- //# sourceMappingURL=agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"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"}
@@ -1,280 +0,0 @@
1
- /**
2
- * Agent Entity - Domain Layer
3
- *
4
- * Core domain entity representing an AI agent in the swarm.
5
- * Implements DDD aggregate root pattern with encapsulated business logic.
6
- *
7
- * @module v3/swarm/domain/entities
8
- */
9
- import { randomUUID } from 'crypto';
10
- /**
11
- * Agent - Aggregate Root
12
- *
13
- * Represents an individual agent with lifecycle management,
14
- * task tracking, and hierarchical relationships.
15
- */
16
- export class Agent {
17
- _id;
18
- _name;
19
- _role;
20
- _domain;
21
- _capabilities;
22
- _status;
23
- _parentId;
24
- _metadata;
25
- _maxConcurrentTasks;
26
- _currentTaskIds;
27
- _completedTaskCount;
28
- _createdAt;
29
- _updatedAt;
30
- _lastActiveAt;
31
- constructor(props) {
32
- const now = new Date();
33
- this._id = props.id ?? randomUUID();
34
- this._name = props.name;
35
- this._role = props.role;
36
- this._domain = props.domain;
37
- this._capabilities = new Set(props.capabilities);
38
- this._status = props.status ?? 'idle';
39
- this._parentId = props.parentId;
40
- this._metadata = props.metadata ?? {};
41
- this._maxConcurrentTasks = props.maxConcurrentTasks ?? 3;
42
- this._currentTaskIds = new Set(props.currentTaskIds ?? []);
43
- this._completedTaskCount = props.completedTaskCount ?? 0;
44
- this._createdAt = props.createdAt ?? now;
45
- this._updatedAt = props.updatedAt ?? now;
46
- this._lastActiveAt = props.lastActiveAt ?? now;
47
- }
48
- /**
49
- * Factory method - Create new agent
50
- */
51
- static create(props) {
52
- return new Agent(props);
53
- }
54
- /**
55
- * Factory method - Reconstruct from persistence
56
- */
57
- static fromPersistence(props) {
58
- return new Agent(props);
59
- }
60
- // Getters
61
- get id() {
62
- return this._id;
63
- }
64
- get name() {
65
- return this._name;
66
- }
67
- get role() {
68
- return this._role;
69
- }
70
- get domain() {
71
- return this._domain;
72
- }
73
- get capabilities() {
74
- return Array.from(this._capabilities);
75
- }
76
- get status() {
77
- return this._status;
78
- }
79
- get parentId() {
80
- return this._parentId;
81
- }
82
- get metadata() {
83
- return { ...this._metadata };
84
- }
85
- get maxConcurrentTasks() {
86
- return this._maxConcurrentTasks;
87
- }
88
- get currentTaskIds() {
89
- return Array.from(this._currentTaskIds);
90
- }
91
- get currentTaskCount() {
92
- return this._currentTaskIds.size;
93
- }
94
- get completedTaskCount() {
95
- return this._completedTaskCount;
96
- }
97
- get createdAt() {
98
- return new Date(this._createdAt);
99
- }
100
- get updatedAt() {
101
- return new Date(this._updatedAt);
102
- }
103
- get lastActiveAt() {
104
- return new Date(this._lastActiveAt);
105
- }
106
- // ============================================================================
107
- // Business Logic Methods
108
- // ============================================================================
109
- /**
110
- * Start the agent (transition to active)
111
- */
112
- start() {
113
- if (this._status === 'terminated') {
114
- throw new Error('Cannot start terminated agent');
115
- }
116
- this._status = 'active';
117
- this._lastActiveAt = new Date();
118
- this._updatedAt = new Date();
119
- }
120
- /**
121
- * Pause the agent
122
- */
123
- pause() {
124
- if (this._status !== 'active' && this._status !== 'busy') {
125
- throw new Error('Can only pause active or busy agent');
126
- }
127
- this._status = 'paused';
128
- this._updatedAt = new Date();
129
- }
130
- /**
131
- * Resume paused agent
132
- */
133
- resume() {
134
- if (this._status !== 'paused') {
135
- throw new Error('Can only resume paused agent');
136
- }
137
- this._status = this._currentTaskIds.size > 0 ? 'busy' : 'active';
138
- this._lastActiveAt = new Date();
139
- this._updatedAt = new Date();
140
- }
141
- /**
142
- * Terminate the agent
143
- */
144
- terminate() {
145
- this._status = 'terminated';
146
- this._currentTaskIds.clear();
147
- this._updatedAt = new Date();
148
- }
149
- /**
150
- * Mark agent as having an error
151
- */
152
- setError(errorMessage) {
153
- this._status = 'error';
154
- if (errorMessage) {
155
- this._metadata['lastError'] = errorMessage;
156
- this._metadata['lastErrorAt'] = new Date().toISOString();
157
- }
158
- this._updatedAt = new Date();
159
- }
160
- /**
161
- * Recover from error state
162
- */
163
- recover() {
164
- if (this._status !== 'error') {
165
- throw new Error('Can only recover from error state');
166
- }
167
- this._status = 'idle';
168
- delete this._metadata['lastError'];
169
- this._updatedAt = new Date();
170
- }
171
- /**
172
- * Assign a task to this agent
173
- */
174
- assignTask(taskId) {
175
- if (this._status === 'terminated') {
176
- throw new Error('Cannot assign task to terminated agent');
177
- }
178
- if (this._currentTaskIds.size >= this._maxConcurrentTasks) {
179
- throw new Error('Agent at maximum concurrent task capacity');
180
- }
181
- this._currentTaskIds.add(taskId);
182
- this._status = 'busy';
183
- this._lastActiveAt = new Date();
184
- this._updatedAt = new Date();
185
- }
186
- /**
187
- * Complete a task
188
- */
189
- completeTask(taskId) {
190
- if (!this._currentTaskIds.has(taskId)) {
191
- throw new Error(`Task ${taskId} not assigned to this agent`);
192
- }
193
- this._currentTaskIds.delete(taskId);
194
- this._completedTaskCount++;
195
- if (this._currentTaskIds.size === 0) {
196
- this._status = 'active';
197
- }
198
- this._lastActiveAt = new Date();
199
- this._updatedAt = new Date();
200
- }
201
- /**
202
- * Check if agent can accept more tasks
203
- */
204
- canAcceptTask() {
205
- return (this._status !== 'terminated' &&
206
- this._status !== 'error' &&
207
- this._status !== 'paused' &&
208
- this._currentTaskIds.size < this._maxConcurrentTasks);
209
- }
210
- /**
211
- * Check if agent has a specific capability
212
- */
213
- hasCapability(capability) {
214
- return this._capabilities.has(capability);
215
- }
216
- /**
217
- * Add a capability
218
- */
219
- addCapability(capability) {
220
- this._capabilities.add(capability);
221
- this._updatedAt = new Date();
222
- }
223
- /**
224
- * Remove a capability
225
- */
226
- removeCapability(capability) {
227
- this._capabilities.delete(capability);
228
- this._updatedAt = new Date();
229
- }
230
- /**
231
- * Update metadata
232
- */
233
- setMetadata(key, value) {
234
- this._metadata[key] = value;
235
- this._updatedAt = new Date();
236
- }
237
- /**
238
- * Check if agent is a child of given parent
239
- */
240
- isChildOf(parentId) {
241
- return this._parentId === parentId;
242
- }
243
- /**
244
- * Calculate agent utilization (0-1)
245
- */
246
- getUtilization() {
247
- return this._currentTaskIds.size / this._maxConcurrentTasks;
248
- }
249
- /**
250
- * Check if agent is available for work
251
- */
252
- isAvailable() {
253
- return this._status === 'idle' || (this._status === 'active' && this.canAcceptTask());
254
- }
255
- /**
256
- * Convert to plain object for persistence
257
- */
258
- toPersistence() {
259
- return {
260
- id: this._id,
261
- name: this._name,
262
- role: this._role,
263
- domain: this._domain,
264
- capabilities: Array.from(this._capabilities),
265
- status: this._status,
266
- parentId: this._parentId,
267
- metadata: this._metadata,
268
- maxConcurrentTasks: this._maxConcurrentTasks,
269
- currentTaskIds: Array.from(this._currentTaskIds),
270
- completedTaskCount: this._completedTaskCount,
271
- createdAt: this._createdAt.toISOString(),
272
- updatedAt: this._updatedAt.toISOString(),
273
- lastActiveAt: this._lastActiveAt.toISOString(),
274
- };
275
- }
276
- toJSON() {
277
- return this.toPersistence();
278
- }
279
- }
280
- //# sourceMappingURL=agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"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"}