@sparkleideas/swarm 3.0.0-alpha.6-patch.25 → 3.0.0-alpha.6-patch.27

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 (126) hide show
  1. package/dist/agent-pool.d.ts +52 -0
  2. package/dist/agent-pool.d.ts.map +1 -0
  3. package/dist/agent-pool.js +365 -0
  4. package/dist/agent-pool.js.map +1 -0
  5. package/dist/application/commands/create-task.command.d.ts +64 -0
  6. package/dist/application/commands/create-task.command.d.ts.map +1 -0
  7. package/dist/application/commands/create-task.command.js +77 -0
  8. package/dist/application/commands/create-task.command.js.map +1 -0
  9. package/dist/application/commands/spawn-agent.command.d.ts +63 -0
  10. package/dist/application/commands/spawn-agent.command.d.ts.map +1 -0
  11. package/dist/application/commands/spawn-agent.command.js +74 -0
  12. package/dist/application/commands/spawn-agent.command.js.map +1 -0
  13. package/dist/application/index.d.ts +9 -0
  14. package/dist/application/index.d.ts.map +1 -0
  15. package/dist/application/index.js +11 -0
  16. package/dist/application/index.js.map +1 -0
  17. package/dist/application/services/swarm-application-service.d.ts +112 -0
  18. package/dist/application/services/swarm-application-service.d.ts.map +1 -0
  19. package/dist/application/services/swarm-application-service.js +153 -0
  20. package/dist/application/services/swarm-application-service.js.map +1 -0
  21. package/dist/attention-coordinator.d.ts +212 -0
  22. package/dist/attention-coordinator.d.ts.map +1 -0
  23. package/dist/attention-coordinator.js +667 -0
  24. package/dist/attention-coordinator.js.map +1 -0
  25. package/dist/consensus/byzantine.d.ts +63 -0
  26. package/dist/consensus/byzantine.d.ts.map +1 -0
  27. package/dist/consensus/byzantine.js +316 -0
  28. package/dist/consensus/byzantine.js.map +1 -0
  29. package/dist/consensus/gossip.d.ts +69 -0
  30. package/dist/consensus/gossip.d.ts.map +1 -0
  31. package/dist/consensus/gossip.js +378 -0
  32. package/dist/consensus/gossip.js.map +1 -0
  33. package/dist/consensus/index.d.ts +49 -0
  34. package/dist/consensus/index.d.ts.map +1 -0
  35. package/dist/consensus/index.js +203 -0
  36. package/dist/consensus/index.js.map +1 -0
  37. package/dist/consensus/raft.d.ts +62 -0
  38. package/dist/consensus/raft.d.ts.map +1 -0
  39. package/dist/consensus/raft.js +324 -0
  40. package/dist/consensus/raft.js.map +1 -0
  41. package/dist/coordination/agent-registry.d.ts +68 -0
  42. package/dist/coordination/agent-registry.d.ts.map +1 -0
  43. package/dist/coordination/agent-registry.js +412 -0
  44. package/dist/coordination/agent-registry.js.map +1 -0
  45. package/dist/coordination/index.d.ts +8 -0
  46. package/dist/coordination/index.d.ts.map +1 -0
  47. package/dist/coordination/index.js +8 -0
  48. package/dist/coordination/index.js.map +1 -0
  49. package/dist/coordination/swarm-hub.d.ts +150 -0
  50. package/dist/coordination/swarm-hub.d.ts.map +1 -0
  51. package/dist/coordination/swarm-hub.js +617 -0
  52. package/dist/coordination/swarm-hub.js.map +1 -0
  53. package/dist/coordination/task-orchestrator.d.ts +96 -0
  54. package/dist/coordination/task-orchestrator.d.ts.map +1 -0
  55. package/dist/coordination/task-orchestrator.js +412 -0
  56. package/dist/coordination/task-orchestrator.js.map +1 -0
  57. package/dist/domain/entities/agent.d.ts +151 -0
  58. package/dist/domain/entities/agent.d.ts.map +1 -0
  59. package/dist/domain/entities/agent.js +280 -0
  60. package/dist/domain/entities/agent.js.map +1 -0
  61. package/dist/domain/entities/task.d.ts +133 -0
  62. package/dist/domain/entities/task.d.ts.map +1 -0
  63. package/dist/domain/entities/task.js +261 -0
  64. package/dist/domain/entities/task.js.map +1 -0
  65. package/dist/domain/index.d.ts +11 -0
  66. package/dist/domain/index.d.ts.map +1 -0
  67. package/dist/domain/index.js +11 -0
  68. package/dist/domain/index.js.map +1 -0
  69. package/dist/domain/repositories/agent-repository.interface.d.ts +57 -0
  70. package/dist/domain/repositories/agent-repository.interface.d.ts.map +1 -0
  71. package/dist/domain/repositories/agent-repository.interface.js +9 -0
  72. package/dist/domain/repositories/agent-repository.interface.js.map +1 -0
  73. package/dist/domain/repositories/task-repository.interface.d.ts +61 -0
  74. package/dist/domain/repositories/task-repository.interface.d.ts.map +1 -0
  75. package/dist/domain/repositories/task-repository.interface.js +9 -0
  76. package/dist/domain/repositories/task-repository.interface.js.map +1 -0
  77. package/dist/domain/services/coordination-service.d.ts +84 -0
  78. package/dist/domain/services/coordination-service.d.ts.map +1 -0
  79. package/dist/domain/services/coordination-service.js +231 -0
  80. package/dist/domain/services/coordination-service.js.map +1 -0
  81. package/dist/federation-hub.d.ts +284 -0
  82. package/dist/federation-hub.d.ts.map +1 -0
  83. package/dist/federation-hub.js +692 -0
  84. package/dist/federation-hub.js.map +1 -0
  85. package/dist/index.d.ts +107 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +142 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/message-bus.d.ts +48 -0
  90. package/dist/message-bus.d.ts.map +1 -0
  91. package/dist/message-bus.js +499 -0
  92. package/dist/message-bus.js.map +1 -0
  93. package/dist/queen-coordinator.d.ts +577 -0
  94. package/dist/queen-coordinator.d.ts.map +1 -0
  95. package/dist/queen-coordinator.js +1308 -0
  96. package/dist/queen-coordinator.js.map +1 -0
  97. package/dist/shared/events.d.ts +63 -0
  98. package/dist/shared/events.d.ts.map +1 -0
  99. package/dist/shared/events.js +203 -0
  100. package/dist/shared/events.js.map +1 -0
  101. package/dist/shared/types.d.ts +212 -0
  102. package/dist/shared/types.d.ts.map +1 -0
  103. package/dist/shared/types.js +22 -0
  104. package/dist/shared/types.js.map +1 -0
  105. package/dist/topology-manager.d.ts +62 -0
  106. package/dist/topology-manager.d.ts.map +1 -0
  107. package/dist/topology-manager.js +538 -0
  108. package/dist/topology-manager.js.map +1 -0
  109. package/dist/types.d.ts +353 -0
  110. package/dist/types.d.ts.map +1 -0
  111. package/dist/types.js +43 -0
  112. package/dist/types.js.map +1 -0
  113. package/dist/unified-coordinator.d.ts +260 -0
  114. package/dist/unified-coordinator.d.ts.map +1 -0
  115. package/dist/unified-coordinator.js +1460 -0
  116. package/dist/unified-coordinator.js.map +1 -0
  117. package/dist/workers/index.d.ts +29 -0
  118. package/dist/workers/index.d.ts.map +1 -0
  119. package/dist/workers/index.js +49 -0
  120. package/dist/workers/index.js.map +1 -0
  121. package/dist/workers/worker-dispatch.d.ts +239 -0
  122. package/dist/workers/worker-dispatch.d.ts.map +1 -0
  123. package/dist/workers/worker-dispatch.js +846 -0
  124. package/dist/workers/worker-dispatch.js.map +1 -0
  125. package/package.json +1 -1
  126. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Task Entity - Domain Layer
3
+ *
4
+ * Core domain entity representing a task in the swarm.
5
+ * Tasks are units of work assigned to agents.
6
+ *
7
+ * @module v3/swarm/domain/entities
8
+ */
9
+ import { randomUUID } from 'crypto';
10
+ /**
11
+ * Task - Entity
12
+ *
13
+ * Represents a unit of work with lifecycle management,
14
+ * dependency tracking, and result storage.
15
+ */
16
+ export class Task {
17
+ _id;
18
+ _title;
19
+ _description;
20
+ _type;
21
+ _priority;
22
+ _status;
23
+ _assignedAgentId;
24
+ _dependencies;
25
+ _metadata;
26
+ _input;
27
+ _output;
28
+ _error;
29
+ _retryCount;
30
+ _maxRetries;
31
+ _timeout;
32
+ _createdAt;
33
+ _startedAt;
34
+ _completedAt;
35
+ constructor(props) {
36
+ const now = new Date();
37
+ this._id = props.id ?? randomUUID();
38
+ this._title = props.title;
39
+ this._description = props.description;
40
+ this._type = props.type;
41
+ this._priority = props.priority ?? 'normal';
42
+ this._status = props.status ?? 'pending';
43
+ this._assignedAgentId = props.assignedAgentId;
44
+ this._dependencies = new Set(props.dependencies ?? []);
45
+ this._metadata = props.metadata ?? {};
46
+ this._input = props.input;
47
+ this._output = props.output;
48
+ this._error = props.error;
49
+ this._retryCount = props.retryCount ?? 0;
50
+ this._maxRetries = props.maxRetries ?? 3;
51
+ this._timeout = props.timeout ?? 300000; // 5 minutes default
52
+ this._createdAt = props.createdAt ?? now;
53
+ this._startedAt = props.startedAt;
54
+ this._completedAt = props.completedAt;
55
+ }
56
+ static create(props) {
57
+ return new Task(props);
58
+ }
59
+ static fromPersistence(props) {
60
+ return new Task(props);
61
+ }
62
+ // Getters
63
+ get id() {
64
+ return this._id;
65
+ }
66
+ get title() {
67
+ return this._title;
68
+ }
69
+ get description() {
70
+ return this._description;
71
+ }
72
+ get type() {
73
+ return this._type;
74
+ }
75
+ get priority() {
76
+ return this._priority;
77
+ }
78
+ get status() {
79
+ return this._status;
80
+ }
81
+ get assignedAgentId() {
82
+ return this._assignedAgentId;
83
+ }
84
+ get dependencies() {
85
+ return Array.from(this._dependencies);
86
+ }
87
+ get metadata() {
88
+ return { ...this._metadata };
89
+ }
90
+ get input() {
91
+ return this._input;
92
+ }
93
+ get output() {
94
+ return this._output;
95
+ }
96
+ get error() {
97
+ return this._error;
98
+ }
99
+ get retryCount() {
100
+ return this._retryCount;
101
+ }
102
+ get maxRetries() {
103
+ return this._maxRetries;
104
+ }
105
+ get timeout() {
106
+ return this._timeout;
107
+ }
108
+ get createdAt() {
109
+ return new Date(this._createdAt);
110
+ }
111
+ get startedAt() {
112
+ return this._startedAt ? new Date(this._startedAt) : undefined;
113
+ }
114
+ get completedAt() {
115
+ return this._completedAt ? new Date(this._completedAt) : undefined;
116
+ }
117
+ // ============================================================================
118
+ // Business Logic
119
+ // ============================================================================
120
+ /**
121
+ * Queue the task for execution
122
+ */
123
+ queue() {
124
+ if (this._status !== 'pending') {
125
+ throw new Error('Can only queue pending tasks');
126
+ }
127
+ this._status = 'queued';
128
+ }
129
+ /**
130
+ * Assign task to an agent
131
+ */
132
+ assign(agentId) {
133
+ if (this._status !== 'queued' && this._status !== 'pending') {
134
+ throw new Error('Can only assign queued or pending tasks');
135
+ }
136
+ this._assignedAgentId = agentId;
137
+ this._status = 'assigned';
138
+ }
139
+ /**
140
+ * Start task execution
141
+ */
142
+ start() {
143
+ if (this._status !== 'assigned') {
144
+ throw new Error('Can only start assigned tasks');
145
+ }
146
+ this._status = 'running';
147
+ this._startedAt = new Date();
148
+ }
149
+ /**
150
+ * Complete the task successfully
151
+ */
152
+ complete(output) {
153
+ if (this._status !== 'running') {
154
+ throw new Error('Can only complete running tasks');
155
+ }
156
+ this._status = 'completed';
157
+ this._output = output;
158
+ this._completedAt = new Date();
159
+ }
160
+ /**
161
+ * Mark task as failed
162
+ */
163
+ fail(error) {
164
+ if (this._status !== 'running' && this._status !== 'assigned') {
165
+ throw new Error('Can only fail running or assigned tasks');
166
+ }
167
+ this._error = error;
168
+ this._retryCount++;
169
+ if (this._retryCount >= this._maxRetries) {
170
+ this._status = 'failed';
171
+ this._completedAt = new Date();
172
+ }
173
+ else {
174
+ // Reset for retry
175
+ this._status = 'queued';
176
+ this._assignedAgentId = undefined;
177
+ }
178
+ }
179
+ /**
180
+ * Cancel the task
181
+ */
182
+ cancel() {
183
+ if (this._status === 'completed' || this._status === 'failed') {
184
+ throw new Error('Cannot cancel finished tasks');
185
+ }
186
+ this._status = 'cancelled';
187
+ this._completedAt = new Date();
188
+ }
189
+ /**
190
+ * Check if all dependencies are satisfied
191
+ */
192
+ areDependenciesSatisfied(completedTaskIds) {
193
+ for (const depId of this._dependencies) {
194
+ if (!completedTaskIds.has(depId)) {
195
+ return false;
196
+ }
197
+ }
198
+ return true;
199
+ }
200
+ /**
201
+ * Check if task can be retried
202
+ */
203
+ canRetry() {
204
+ return this._retryCount < this._maxRetries;
205
+ }
206
+ /**
207
+ * Get execution duration in milliseconds
208
+ */
209
+ getExecutionDuration() {
210
+ if (!this._startedAt)
211
+ return null;
212
+ const endTime = this._completedAt ?? new Date();
213
+ return endTime.getTime() - this._startedAt.getTime();
214
+ }
215
+ /**
216
+ * Check if task is timed out
217
+ */
218
+ isTimedOut() {
219
+ if (this._status !== 'running' || !this._startedAt)
220
+ return false;
221
+ return Date.now() - this._startedAt.getTime() > this._timeout;
222
+ }
223
+ /**
224
+ * Priority comparison (for sorting)
225
+ */
226
+ comparePriority(other) {
227
+ const priorityOrder = {
228
+ critical: 0,
229
+ high: 1,
230
+ normal: 2,
231
+ low: 3,
232
+ };
233
+ return priorityOrder[this._priority] - priorityOrder[other.priority];
234
+ }
235
+ toPersistence() {
236
+ return {
237
+ id: this._id,
238
+ title: this._title,
239
+ description: this._description,
240
+ type: this._type,
241
+ priority: this._priority,
242
+ status: this._status,
243
+ assignedAgentId: this._assignedAgentId,
244
+ dependencies: Array.from(this._dependencies),
245
+ metadata: this._metadata,
246
+ input: this._input,
247
+ output: this._output,
248
+ error: this._error,
249
+ retryCount: this._retryCount,
250
+ maxRetries: this._maxRetries,
251
+ timeout: this._timeout,
252
+ createdAt: this._createdAt.toISOString(),
253
+ startedAt: this._startedAt?.toISOString(),
254
+ completedAt: this._completedAt?.toISOString(),
255
+ };
256
+ }
257
+ toJSON() {
258
+ return this.toPersistence();
259
+ }
260
+ }
261
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/domain/entities/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Swarm Domain Layer - Public Exports
3
+ *
4
+ * @module v3/swarm/domain
5
+ */
6
+ export { Agent, type AgentStatus, type AgentRole, type AgentProps, } from './entities/agent.js';
7
+ export { Task, type TaskStatus, type TaskPriority, type TaskProps, } from './entities/task.js';
8
+ export { type IAgentRepository, type AgentQueryOptions, type AgentStatistics, } from './repositories/agent-repository.interface.js';
9
+ export { type ITaskRepository, type TaskQueryOptions, type TaskStatistics, } from './repositories/task-repository.interface.js';
10
+ export { CoordinationService, type LoadBalancingStrategy, type TaskAssignmentResult, type SwarmHealth, } from './services/coordination-service.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EACL,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Swarm Domain Layer - Public Exports
3
+ *
4
+ * @module v3/swarm/domain
5
+ */
6
+ // Entities
7
+ export { Agent, } from './entities/agent.js';
8
+ export { Task, } from './entities/task.js';
9
+ // Domain Services
10
+ export { CoordinationService, } from './services/coordination-service.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,WAAW;AACX,OAAO,EACL,KAAK,GAIN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,IAAI,GAIL,MAAM,oBAAoB,CAAC;AAe5B,kBAAkB;AAClB,OAAO,EACL,mBAAmB,GAIpB,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Agent Repository Interface - Domain Layer
3
+ *
4
+ * Defines the contract for agent persistence.
5
+ *
6
+ * @module v3/swarm/domain/repositories
7
+ */
8
+ import { Agent, AgentStatus, AgentRole } from '../entities/agent.js';
9
+ /**
10
+ * Agent query options
11
+ */
12
+ export interface AgentQueryOptions {
13
+ status?: AgentStatus;
14
+ role?: AgentRole;
15
+ domain?: string;
16
+ parentId?: string;
17
+ capability?: string;
18
+ limit?: number;
19
+ offset?: number;
20
+ }
21
+ /**
22
+ * Agent statistics
23
+ */
24
+ export interface AgentStatistics {
25
+ total: number;
26
+ byStatus: Record<AgentStatus, number>;
27
+ byRole: Record<string, number>;
28
+ byDomain: Record<string, number>;
29
+ totalTasksCompleted: number;
30
+ averageUtilization: number;
31
+ }
32
+ /**
33
+ * Agent Repository Interface
34
+ */
35
+ export interface IAgentRepository {
36
+ save(agent: Agent): Promise<void>;
37
+ findById(id: string): Promise<Agent | null>;
38
+ findByName(name: string): Promise<Agent | null>;
39
+ delete(id: string): Promise<boolean>;
40
+ exists(id: string): Promise<boolean>;
41
+ saveMany(agents: Agent[]): Promise<void>;
42
+ findByIds(ids: string[]): Promise<Agent[]>;
43
+ deleteMany(ids: string[]): Promise<number>;
44
+ findAll(options?: AgentQueryOptions): Promise<Agent[]>;
45
+ findByStatus(status: AgentStatus): Promise<Agent[]>;
46
+ findByRole(role: AgentRole): Promise<Agent[]>;
47
+ findByDomain(domain: string): Promise<Agent[]>;
48
+ findByParent(parentId: string): Promise<Agent[]>;
49
+ findByCapability(capability: string): Promise<Agent[]>;
50
+ findAvailable(): Promise<Agent[]>;
51
+ getStatistics(): Promise<AgentStatistics>;
52
+ count(options?: AgentQueryOptions): Promise<number>;
53
+ initialize(): Promise<void>;
54
+ shutdown(): Promise<void>;
55
+ clear(): Promise<void>;
56
+ }
57
+ //# sourceMappingURL=agent-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-repository.interface.d.ts","sourceRoot":"","sources":["../../../src/domain/repositories/agent-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGrC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAG3C,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,aAAa,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAGlC,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,KAAK,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Agent Repository Interface - Domain Layer
3
+ *
4
+ * Defines the contract for agent persistence.
5
+ *
6
+ * @module v3/swarm/domain/repositories
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=agent-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-repository.interface.js","sourceRoot":"","sources":["../../../src/domain/repositories/agent-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Task Repository Interface - Domain Layer
3
+ *
4
+ * Defines the contract for task persistence.
5
+ *
6
+ * @module v3/swarm/domain/repositories
7
+ */
8
+ import { Task, TaskStatus, TaskPriority } from '../entities/task.js';
9
+ /**
10
+ * Task query options
11
+ */
12
+ export interface TaskQueryOptions {
13
+ status?: TaskStatus;
14
+ priority?: TaskPriority;
15
+ type?: string;
16
+ assignedAgentId?: string;
17
+ limit?: number;
18
+ offset?: number;
19
+ orderBy?: 'createdAt' | 'priority' | 'startedAt';
20
+ orderDirection?: 'asc' | 'desc';
21
+ }
22
+ /**
23
+ * Task statistics
24
+ */
25
+ export interface TaskStatistics {
26
+ total: number;
27
+ byStatus: Record<TaskStatus, number>;
28
+ byPriority: Record<TaskPriority, number>;
29
+ byType: Record<string, number>;
30
+ averageExecutionTime: number;
31
+ successRate: number;
32
+ retryRate: number;
33
+ }
34
+ /**
35
+ * Task Repository Interface
36
+ */
37
+ export interface ITaskRepository {
38
+ save(task: Task): Promise<void>;
39
+ findById(id: string): Promise<Task | null>;
40
+ delete(id: string): Promise<boolean>;
41
+ exists(id: string): Promise<boolean>;
42
+ saveMany(tasks: Task[]): Promise<void>;
43
+ findByIds(ids: string[]): Promise<Task[]>;
44
+ deleteMany(ids: string[]): Promise<number>;
45
+ findAll(options?: TaskQueryOptions): Promise<Task[]>;
46
+ findByStatus(status: TaskStatus): Promise<Task[]>;
47
+ findByPriority(priority: TaskPriority): Promise<Task[]>;
48
+ findByAgent(agentId: string): Promise<Task[]>;
49
+ findPending(): Promise<Task[]>;
50
+ findQueued(): Promise<Task[]>;
51
+ findRunning(): Promise<Task[]>;
52
+ findTimedOut(): Promise<Task[]>;
53
+ getNextTask(agentCapabilities?: string[]): Promise<Task | null>;
54
+ getTaskQueue(limit?: number): Promise<Task[]>;
55
+ getStatistics(): Promise<TaskStatistics>;
56
+ count(options?: TaskQueryOptions): Promise<number>;
57
+ initialize(): Promise<void>;
58
+ shutdown(): Promise<void>;
59
+ clear(): Promise<void>;
60
+ }
61
+ //# sourceMappingURL=task-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-repository.interface.d.ts","sourceRoot":"","sources":["../../../src/domain/repositories/task-repository.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Task Repository Interface - Domain Layer
3
+ *
4
+ * Defines the contract for task persistence.
5
+ *
6
+ * @module v3/swarm/domain/repositories
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=task-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-repository.interface.js","sourceRoot":"","sources":["../../../src/domain/repositories/task-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Coordination Domain Service - Domain Layer
3
+ *
4
+ * Contains coordination logic that spans multiple entities.
5
+ * Handles task assignment, load balancing, and swarm orchestration.
6
+ *
7
+ * @module v3/swarm/domain/services
8
+ */
9
+ import { IAgentRepository } from '../repositories/agent-repository.interface.js';
10
+ import { ITaskRepository } from '../repositories/task-repository.interface.js';
11
+ /**
12
+ * Load balancing strategy
13
+ */
14
+ export type LoadBalancingStrategy = 'round-robin' | 'least-loaded' | 'capability-match' | 'random';
15
+ /**
16
+ * Task assignment result
17
+ */
18
+ export interface TaskAssignmentResult {
19
+ success: boolean;
20
+ taskId: string;
21
+ agentId?: string;
22
+ reason?: string;
23
+ }
24
+ /**
25
+ * Swarm health status
26
+ */
27
+ export interface SwarmHealth {
28
+ healthy: boolean;
29
+ totalAgents: number;
30
+ activeAgents: number;
31
+ errorAgents: number;
32
+ pendingTasks: number;
33
+ runningTasks: number;
34
+ queueDepth: number;
35
+ averageUtilization: number;
36
+ issues: string[];
37
+ }
38
+ /**
39
+ * Coordination Domain Service
40
+ *
41
+ * Provides domain-level coordination operations.
42
+ */
43
+ export declare class CoordinationService {
44
+ private readonly agentRepository;
45
+ private readonly taskRepository;
46
+ constructor(agentRepository: IAgentRepository, taskRepository: ITaskRepository);
47
+ /**
48
+ * Assign a task to the best available agent
49
+ */
50
+ assignTask(taskId: string, strategy?: LoadBalancingStrategy): Promise<TaskAssignmentResult>;
51
+ /**
52
+ * Find the best agent for a task based on strategy
53
+ */
54
+ private findBestAgent;
55
+ private roundRobinSelection;
56
+ private leastLoadedSelection;
57
+ private capabilityMatchSelection;
58
+ private extractRequiredCapabilities;
59
+ /**
60
+ * Process completed tasks and release agents
61
+ */
62
+ processTaskCompletion(taskId: string, output?: unknown): Promise<void>;
63
+ /**
64
+ * Queue tasks whose dependencies are now satisfied
65
+ */
66
+ private queueDependentTasks;
67
+ /**
68
+ * Handle task failure with retry logic
69
+ */
70
+ processTaskFailure(taskId: string, error: string): Promise<boolean>;
71
+ /**
72
+ * Get overall swarm health
73
+ */
74
+ getSwarmHealth(): Promise<SwarmHealth>;
75
+ /**
76
+ * Scale agents based on workload
77
+ */
78
+ calculateScalingRecommendation(): Promise<{
79
+ action: 'scale-up' | 'scale-down' | 'none';
80
+ count: number;
81
+ reason: string;
82
+ }>;
83
+ }
84
+ //# sourceMappingURL=coordination-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordination-service.d.ts","sourceRoot":"","sources":["../../../src/domain/services/coordination-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,eAAe,EAAE,gBAAgB,EACjC,cAAc,EAAE,eAAe;IAGlD;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,qBAA0C,GACnD,OAAO,CAAC,oBAAoB,CAAC;IA8BhC;;OAEG;YACW,aAAa;IA0B3B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,2BAA2B;IAoBnC;;OAEG;IACG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5E;;OAEG;YACW,mBAAmB;IAgBjC;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBzE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAoC5C;;OAEG;IACG,8BAA8B,IAAI,OAAO,CAAC;QAC9C,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CAgCH"}