@sparkleideas/swarm 3.0.0-alpha.7

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 (65) hide show
  1. package/MIGRATION.md +472 -0
  2. package/README.md +634 -0
  3. package/__tests__/consensus.test.ts +577 -0
  4. package/__tests__/coordinator.test.ts +501 -0
  5. package/__tests__/queen-coordinator.test.ts +1335 -0
  6. package/__tests__/topology.test.ts +621 -0
  7. package/package.json +32 -0
  8. package/src/agent-pool.ts +476 -0
  9. package/src/application/commands/create-task.command.ts +124 -0
  10. package/src/application/commands/spawn-agent.command.ts +122 -0
  11. package/src/application/index.ts +30 -0
  12. package/src/application/services/swarm-application-service.ts +200 -0
  13. package/src/attention-coordinator.ts +1000 -0
  14. package/src/consensus/byzantine.ts +431 -0
  15. package/src/consensus/gossip.ts +513 -0
  16. package/src/consensus/index.ts +267 -0
  17. package/src/consensus/raft.ts +443 -0
  18. package/src/coordination/agent-registry.ts +544 -0
  19. package/src/coordination/index.ts +23 -0
  20. package/src/coordination/swarm-hub.ts +776 -0
  21. package/src/coordination/task-orchestrator.ts +605 -0
  22. package/src/domain/entities/agent.d.ts +151 -0
  23. package/src/domain/entities/agent.d.ts.map +1 -0
  24. package/src/domain/entities/agent.js +280 -0
  25. package/src/domain/entities/agent.js.map +1 -0
  26. package/src/domain/entities/agent.ts +370 -0
  27. package/src/domain/entities/task.d.ts +133 -0
  28. package/src/domain/entities/task.d.ts.map +1 -0
  29. package/src/domain/entities/task.js +261 -0
  30. package/src/domain/entities/task.js.map +1 -0
  31. package/src/domain/entities/task.ts +319 -0
  32. package/src/domain/index.ts +41 -0
  33. package/src/domain/repositories/agent-repository.interface.d.ts +57 -0
  34. package/src/domain/repositories/agent-repository.interface.d.ts.map +1 -0
  35. package/src/domain/repositories/agent-repository.interface.js +9 -0
  36. package/src/domain/repositories/agent-repository.interface.js.map +1 -0
  37. package/src/domain/repositories/agent-repository.interface.ts +69 -0
  38. package/src/domain/repositories/task-repository.interface.d.ts +61 -0
  39. package/src/domain/repositories/task-repository.interface.d.ts.map +1 -0
  40. package/src/domain/repositories/task-repository.interface.js +9 -0
  41. package/src/domain/repositories/task-repository.interface.js.map +1 -0
  42. package/src/domain/repositories/task-repository.interface.ts +75 -0
  43. package/src/domain/services/coordination-service.ts +320 -0
  44. package/src/federation-hub.d.ts +284 -0
  45. package/src/federation-hub.d.ts.map +1 -0
  46. package/src/federation-hub.js +692 -0
  47. package/src/federation-hub.js.map +1 -0
  48. package/src/federation-hub.ts +979 -0
  49. package/src/index.ts +348 -0
  50. package/src/message-bus.ts +607 -0
  51. package/src/queen-coordinator.ts +2025 -0
  52. package/src/shared/events.ts +285 -0
  53. package/src/shared/types.ts +389 -0
  54. package/src/topology-manager.ts +656 -0
  55. package/src/types.ts +545 -0
  56. package/src/unified-coordinator.ts +1844 -0
  57. package/src/workers/index.ts +65 -0
  58. package/src/workers/worker-dispatch.d.ts +234 -0
  59. package/src/workers/worker-dispatch.d.ts.map +1 -0
  60. package/src/workers/worker-dispatch.js +842 -0
  61. package/src/workers/worker-dispatch.js.map +1 -0
  62. package/src/workers/worker-dispatch.ts +1076 -0
  63. package/tmp.json +0 -0
  64. package/tsconfig.json +9 -0
  65. package/vitest.config.ts +20 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @sparkleideas/swarm/workers
3
+ * Worker Dispatch Module (@sparkleideas/agentic-flow@alpha compatible)
4
+ *
5
+ * Provides background worker functionality with 12 trigger types
6
+ * for analysis, optimization, and automation tasks.
7
+ *
8
+ * Triggers:
9
+ * - ultralearn: Deep pattern learning
10
+ * - optimize: Code/performance optimization
11
+ * - consolidate: Memory consolidation
12
+ * - predict: Predictive analysis
13
+ * - audit: Security/quality audit
14
+ * - map: Codebase mapping
15
+ * - preload: Context preloading
16
+ * - deepdive: Deep code analysis
17
+ * - document: Documentation generation
18
+ * - refactor: Code refactoring suggestions
19
+ * - benchmark: Performance benchmarking
20
+ * - testgaps: Test coverage analysis
21
+ *
22
+ * @module @sparkleideas/swarm/workers
23
+ * @version 3.0.0-alpha.1
24
+ */
25
+
26
+ export {
27
+ WorkerDispatchService,
28
+ getWorkerDispatchService,
29
+ createWorkerDispatchService,
30
+ type WorkerTrigger,
31
+ type WorkerStatus,
32
+ type WorkerConfig,
33
+ type WorkerInstance,
34
+ type WorkerResult,
35
+ type WorkerMetrics,
36
+ type WorkerArtifact,
37
+ type DispatchOptions,
38
+ type TriggerDetectionResult,
39
+ } from './worker-dispatch.js';
40
+
41
+ // Re-export trigger types for convenience
42
+ export const WORKER_TRIGGERS = [
43
+ 'ultralearn',
44
+ 'optimize',
45
+ 'consolidate',
46
+ 'predict',
47
+ 'audit',
48
+ 'map',
49
+ 'preload',
50
+ 'deepdive',
51
+ 'document',
52
+ 'refactor',
53
+ 'benchmark',
54
+ 'testgaps',
55
+ ] as const;
56
+
57
+ export const WORKER_PRIORITIES = ['low', 'normal', 'high', 'critical'] as const;
58
+
59
+ export const WORKER_STATUSES = [
60
+ 'pending',
61
+ 'running',
62
+ 'completed',
63
+ 'failed',
64
+ 'cancelled',
65
+ ] as const;
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Worker Dispatch Service
3
+ *
4
+ * Implements the 12 background worker triggers from @sparkleideas/agentic-flow@alpha:
5
+ * - ultralearn: Deep knowledge acquisition
6
+ * - optimize: Performance optimization
7
+ * - consolidate: Memory consolidation
8
+ * - predict: Predictive preloading
9
+ * - audit: Security analysis
10
+ * - map: Codebase mapping
11
+ * - preload: Resource preloading
12
+ * - deepdive: Deep code analysis
13
+ * - document: Auto-documentation
14
+ * - refactor: Refactoring suggestions
15
+ * - benchmark: Performance benchmarks
16
+ * - testgaps: Test coverage analysis
17
+ *
18
+ * Performance Targets:
19
+ * - Trigger Detection: <5ms
20
+ * - Worker Spawn: <50ms
21
+ * - Max Concurrent: 10 workers (configurable)
22
+ *
23
+ * @module v3/swarm/workers/worker-dispatch
24
+ */
25
+ import { EventEmitter } from 'events';
26
+ /**
27
+ * Worker trigger types (matching @sparkleideas/agentic-flow@alpha)
28
+ */
29
+ export type WorkerTrigger = 'ultralearn' | 'optimize' | 'consolidate' | 'predict' | 'audit' | 'map' | 'preload' | 'deepdive' | 'document' | 'refactor' | 'benchmark' | 'testgaps';
30
+ /**
31
+ * Worker status
32
+ */
33
+ export type WorkerStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
34
+ /**
35
+ * Worker configuration
36
+ */
37
+ export interface WorkerConfig {
38
+ /** Maximum concurrent workers */
39
+ maxConcurrent: number;
40
+ /** Default timeout in milliseconds */
41
+ defaultTimeout: number;
42
+ /** Memory limit per worker in MB */
43
+ memoryLimit: number;
44
+ /** Enable auto-dispatch based on context */
45
+ autoDispatch: boolean;
46
+ /** Priority queue for workers */
47
+ priorityQueue: boolean;
48
+ }
49
+ /**
50
+ * Worker instance
51
+ */
52
+ export interface WorkerInstance {
53
+ id: string;
54
+ trigger: WorkerTrigger;
55
+ context: string;
56
+ sessionId: string;
57
+ status: WorkerStatus;
58
+ progress: number;
59
+ phase: string;
60
+ startedAt: Date;
61
+ completedAt?: Date;
62
+ result?: WorkerResult;
63
+ error?: Error;
64
+ metadata?: Record<string, unknown>;
65
+ }
66
+ /**
67
+ * Worker result
68
+ */
69
+ export interface WorkerResult {
70
+ success: boolean;
71
+ data?: unknown;
72
+ artifacts?: WorkerArtifact[];
73
+ metrics?: WorkerMetrics;
74
+ summary?: string;
75
+ }
76
+ /**
77
+ * Worker artifact
78
+ */
79
+ export interface WorkerArtifact {
80
+ type: 'file' | 'data' | 'report' | 'suggestion';
81
+ name: string;
82
+ content: string | Buffer | Record<string, unknown>;
83
+ size?: number;
84
+ }
85
+ /**
86
+ * Worker metrics
87
+ */
88
+ export interface WorkerMetrics {
89
+ duration: number;
90
+ tokensUsed?: number;
91
+ filesProcessed?: number;
92
+ itemsAnalyzed?: number;
93
+ memoryUsed?: number;
94
+ }
95
+ /**
96
+ * Trigger detection result
97
+ */
98
+ export interface TriggerDetectionResult {
99
+ detected: boolean;
100
+ triggers: WorkerTrigger[];
101
+ confidence: number;
102
+ context?: string;
103
+ }
104
+ /**
105
+ * Worker dispatch options
106
+ */
107
+ export interface DispatchOptions {
108
+ priority?: 'low' | 'normal' | 'high' | 'critical';
109
+ timeout?: number;
110
+ context?: Record<string, unknown>;
111
+ callback?: (worker: WorkerInstance) => void;
112
+ }
113
+ /**
114
+ * Trigger configurations
115
+ */
116
+ declare const TRIGGER_CONFIGS: Record<WorkerTrigger, {
117
+ description: string;
118
+ priority: 'low' | 'normal' | 'high' | 'critical';
119
+ estimatedDuration: number;
120
+ capabilities: string[];
121
+ }>;
122
+ /**
123
+ * Worker Dispatch Service
124
+ *
125
+ * Manages background workers for various analysis and optimization tasks.
126
+ */
127
+ export declare class WorkerDispatchService extends EventEmitter {
128
+ private config;
129
+ private workers;
130
+ private queue;
131
+ private running;
132
+ private idCounter;
133
+ constructor(config?: Partial<WorkerConfig>);
134
+ /**
135
+ * Dispatch a worker for the given trigger
136
+ *
137
+ * @param trigger - Worker trigger type
138
+ * @param context - Context string (e.g., file path, topic)
139
+ * @param sessionId - Session identifier
140
+ * @param options - Dispatch options
141
+ * @returns Worker ID
142
+ */
143
+ dispatch(trigger: WorkerTrigger, context: string, sessionId: string, options?: DispatchOptions): Promise<string>;
144
+ /**
145
+ * Detect triggers in a prompt/context
146
+ *
147
+ * @param text - Text to analyze
148
+ * @returns Detection result
149
+ */
150
+ detectTriggers(text: string): TriggerDetectionResult;
151
+ /**
152
+ * Get worker status
153
+ *
154
+ * @param workerId - Worker ID
155
+ * @returns Worker instance or undefined
156
+ */
157
+ getWorker(workerId: string): WorkerInstance | undefined;
158
+ /**
159
+ * Get all workers for a session
160
+ *
161
+ * @param sessionId - Session ID
162
+ * @returns Worker instances
163
+ */
164
+ getSessionWorkers(sessionId: string): WorkerInstance[];
165
+ /**
166
+ * Cancel a worker
167
+ *
168
+ * @param workerId - Worker ID
169
+ * @returns Success status
170
+ */
171
+ cancel(workerId: string): Promise<boolean>;
172
+ /**
173
+ * Get available triggers
174
+ *
175
+ * @returns Trigger configurations
176
+ */
177
+ getTriggers(): typeof TRIGGER_CONFIGS;
178
+ /**
179
+ * Get worker statistics
180
+ */
181
+ getStats(): {
182
+ total: number;
183
+ pending: number;
184
+ running: number;
185
+ completed: number;
186
+ failed: number;
187
+ cancelled: number;
188
+ };
189
+ /**
190
+ * Get context for prompt injection
191
+ *
192
+ * @param sessionId - Session ID
193
+ * @returns Context string for injection
194
+ */
195
+ getContextForInjection(sessionId: string): string;
196
+ /**
197
+ * Process the worker queue
198
+ */
199
+ private processQueue;
200
+ /**
201
+ * Execute a worker
202
+ */
203
+ private executeWorker;
204
+ /**
205
+ * Execute worker based on trigger type
206
+ */
207
+ private executeWorkerByTrigger;
208
+ private executeUltralearn;
209
+ private executeOptimize;
210
+ private executeConsolidate;
211
+ private executePredict;
212
+ private executeAudit;
213
+ private executeMap;
214
+ private executePreload;
215
+ private executeDeepdive;
216
+ private executeDocument;
217
+ private executeRefactor;
218
+ private executeBenchmark;
219
+ private executeTestgaps;
220
+ private generateWorkerId;
221
+ private getPriorityValue;
222
+ private updateProgress;
223
+ private processWorkPhase;
224
+ }
225
+ /**
226
+ * Get the worker dispatch service singleton
227
+ */
228
+ export declare function getWorkerDispatchService(config?: Partial<WorkerConfig>): WorkerDispatchService;
229
+ /**
230
+ * Create a new worker dispatch service
231
+ */
232
+ export declare function createWorkerDispatchService(config?: Partial<WorkerConfig>): WorkerDispatchService;
233
+ export default WorkerDispatchService;
234
+ //# sourceMappingURL=worker-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-dispatch.d.ts","sourceRoot":"","sources":["worker-dispatch.ts"],"names":[],"mappings":"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"}