@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.
- package/MIGRATION.md +472 -0
- package/README.md +634 -0
- package/__tests__/consensus.test.ts +577 -0
- package/__tests__/coordinator.test.ts +501 -0
- package/__tests__/queen-coordinator.test.ts +1335 -0
- package/__tests__/topology.test.ts +621 -0
- package/package.json +32 -0
- package/src/agent-pool.ts +476 -0
- package/src/application/commands/create-task.command.ts +124 -0
- package/src/application/commands/spawn-agent.command.ts +122 -0
- package/src/application/index.ts +30 -0
- package/src/application/services/swarm-application-service.ts +200 -0
- package/src/attention-coordinator.ts +1000 -0
- package/src/consensus/byzantine.ts +431 -0
- package/src/consensus/gossip.ts +513 -0
- package/src/consensus/index.ts +267 -0
- package/src/consensus/raft.ts +443 -0
- package/src/coordination/agent-registry.ts +544 -0
- package/src/coordination/index.ts +23 -0
- package/src/coordination/swarm-hub.ts +776 -0
- package/src/coordination/task-orchestrator.ts +605 -0
- package/src/domain/entities/agent.d.ts +151 -0
- package/src/domain/entities/agent.d.ts.map +1 -0
- package/src/domain/entities/agent.js +280 -0
- package/src/domain/entities/agent.js.map +1 -0
- package/src/domain/entities/agent.ts +370 -0
- package/src/domain/entities/task.d.ts +133 -0
- package/src/domain/entities/task.d.ts.map +1 -0
- package/src/domain/entities/task.js +261 -0
- package/src/domain/entities/task.js.map +1 -0
- package/src/domain/entities/task.ts +319 -0
- package/src/domain/index.ts +41 -0
- package/src/domain/repositories/agent-repository.interface.d.ts +57 -0
- package/src/domain/repositories/agent-repository.interface.d.ts.map +1 -0
- package/src/domain/repositories/agent-repository.interface.js +9 -0
- package/src/domain/repositories/agent-repository.interface.js.map +1 -0
- package/src/domain/repositories/agent-repository.interface.ts +69 -0
- package/src/domain/repositories/task-repository.interface.d.ts +61 -0
- package/src/domain/repositories/task-repository.interface.d.ts.map +1 -0
- package/src/domain/repositories/task-repository.interface.js +9 -0
- package/src/domain/repositories/task-repository.interface.js.map +1 -0
- package/src/domain/repositories/task-repository.interface.ts +75 -0
- package/src/domain/services/coordination-service.ts +320 -0
- package/src/federation-hub.d.ts +284 -0
- package/src/federation-hub.d.ts.map +1 -0
- package/src/federation-hub.js +692 -0
- package/src/federation-hub.js.map +1 -0
- package/src/federation-hub.ts +979 -0
- package/src/index.ts +348 -0
- package/src/message-bus.ts +607 -0
- package/src/queen-coordinator.ts +2025 -0
- package/src/shared/events.ts +285 -0
- package/src/shared/types.ts +389 -0
- package/src/topology-manager.ts +656 -0
- package/src/types.ts +545 -0
- package/src/unified-coordinator.ts +1844 -0
- package/src/workers/index.ts +65 -0
- package/src/workers/worker-dispatch.d.ts +234 -0
- package/src/workers/worker-dispatch.d.ts.map +1 -0
- package/src/workers/worker-dispatch.js +842 -0
- package/src/workers/worker-dispatch.js.map +1 -0
- package/src/workers/worker-dispatch.ts +1076 -0
- package/tmp.json +0 -0
- package/tsconfig.json +9 -0
- 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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"}
|