claude-flow-novice 1.5.11 → 1.5.13
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/.claude-flow-novice/dist/mcp/auth.js +347 -0
- package/.claude-flow-novice/dist/mcp/claude-code-wrapper.js +717 -0
- package/.claude-flow-novice/dist/mcp/claude-flow-tools.js +1365 -0
- package/.claude-flow-novice/dist/mcp/client.js +201 -0
- package/.claude-flow-novice/dist/mcp/index.js +192 -0
- package/.claude-flow-novice/dist/mcp/integrate-wrapper.js +85 -0
- package/.claude-flow-novice/dist/mcp/lifecycle-manager.js +348 -0
- package/.claude-flow-novice/dist/mcp/load-balancer.js +386 -0
- package/.claude-flow-novice/dist/mcp/mcp-config-manager.js +1362 -0
- package/.claude-flow-novice/dist/mcp/mcp-server-novice-simplified.js +583 -0
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +723 -0
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +649 -0
- package/.claude-flow-novice/dist/mcp/mcp-server.js +2256 -0
- package/.claude-flow-novice/dist/mcp/orchestration-integration.js +800 -0
- package/.claude-flow-novice/dist/mcp/performance-monitor.js +489 -0
- package/.claude-flow-novice/dist/mcp/protocol-manager.js +376 -0
- package/.claude-flow-novice/dist/mcp/router.js +220 -0
- package/.claude-flow-novice/dist/mcp/ruv-swarm-tools.js +671 -0
- package/.claude-flow-novice/dist/mcp/ruv-swarm-wrapper.js +254 -0
- package/.claude-flow-novice/dist/mcp/server-with-wrapper.js +32 -0
- package/.claude-flow-novice/dist/mcp/server-wrapper-mode.js +26 -0
- package/.claude-flow-novice/dist/mcp/server.js +539 -0
- package/.claude-flow-novice/dist/mcp/session-manager.js +338 -0
- package/.claude-flow-novice/dist/mcp/sparc-modes.js +455 -0
- package/.claude-flow-novice/dist/mcp/swarm-tools.js +903 -0
- package/.claude-flow-novice/dist/mcp/tools.js +426 -0
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +23 -1
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +40 -101
- package/.claude-flow-novice/dist/src/coordination/swarm-coordinator-factory.js +36 -0
- package/.claude-flow-novice/dist/src/coordination/swarm-coordinator-factory.js.map +1 -0
- package/.claude-flow-novice/dist/src/validators/index.js +12 -0
- package/.claude-flow-novice/dist/src/validators/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/validators/swarm-init-validator.js +261 -0
- package/.claude-flow-novice/dist/src/validators/swarm-init-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js +204 -0
- package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validators/todowrite-integration.js +189 -0
- package/.claude-flow-novice/dist/src/validators/todowrite-integration.js.map +1 -0
- package/CLAUDE.md +98 -102
- package/package.json +2 -2
- package/src/cli/simple-commands/init/templates/CLAUDE.md +4 -40
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Tool registry for MCP with capability negotiation and discovery
|
|
3
|
+
*/ import { MCPError } from '../utils/errors.js';
|
|
4
|
+
import { EventEmitter } from 'node:events';
|
|
5
|
+
/**
|
|
6
|
+
* Enhanced Tool registry implementation with capability negotiation
|
|
7
|
+
*/ export class ToolRegistry extends EventEmitter {
|
|
8
|
+
logger;
|
|
9
|
+
tools = new Map();
|
|
10
|
+
capabilities = new Map();
|
|
11
|
+
metrics = new Map();
|
|
12
|
+
categories = new Set();
|
|
13
|
+
tags = new Set();
|
|
14
|
+
constructor(logger){
|
|
15
|
+
super(), this.logger = logger;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Registers a new tool with enhanced capability information
|
|
19
|
+
*/ register(tool, capability) {
|
|
20
|
+
if (this.tools.has(tool.name)) {
|
|
21
|
+
throw new MCPError(`Tool already registered: ${tool.name}`);
|
|
22
|
+
}
|
|
23
|
+
// Validate tool schema
|
|
24
|
+
this.validateTool(tool);
|
|
25
|
+
// Register tool
|
|
26
|
+
this.tools.set(tool.name, tool);
|
|
27
|
+
// Register capability if provided
|
|
28
|
+
if (capability) {
|
|
29
|
+
this.registerCapability(tool.name, capability);
|
|
30
|
+
} else {
|
|
31
|
+
// Create default capability
|
|
32
|
+
const defaultCapability = {
|
|
33
|
+
name: tool.name,
|
|
34
|
+
version: '1.0.0',
|
|
35
|
+
description: tool.description,
|
|
36
|
+
category: this.extractCategory(tool.name),
|
|
37
|
+
tags: this.extractTags(tool),
|
|
38
|
+
supportedProtocolVersions: [
|
|
39
|
+
{
|
|
40
|
+
major: 2024,
|
|
41
|
+
minor: 11,
|
|
42
|
+
patch: 5
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
};
|
|
46
|
+
this.registerCapability(tool.name, defaultCapability);
|
|
47
|
+
}
|
|
48
|
+
// Initialize metrics
|
|
49
|
+
this.metrics.set(tool.name, {
|
|
50
|
+
name: tool.name,
|
|
51
|
+
totalInvocations: 0,
|
|
52
|
+
successfulInvocations: 0,
|
|
53
|
+
failedInvocations: 0,
|
|
54
|
+
averageExecutionTime: 0,
|
|
55
|
+
totalExecutionTime: 0
|
|
56
|
+
});
|
|
57
|
+
this.logger.debug('Tool registered', {
|
|
58
|
+
name: tool.name
|
|
59
|
+
});
|
|
60
|
+
this.emit('toolRegistered', {
|
|
61
|
+
name: tool.name,
|
|
62
|
+
capability
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Unregisters a tool
|
|
67
|
+
*/ unregister(name) {
|
|
68
|
+
if (!this.tools.has(name)) {
|
|
69
|
+
throw new MCPError(`Tool not found: ${name}`);
|
|
70
|
+
}
|
|
71
|
+
this.tools.delete(name);
|
|
72
|
+
this.logger.debug('Tool unregistered', {
|
|
73
|
+
name
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gets a tool by name
|
|
78
|
+
*/ getTool(name) {
|
|
79
|
+
return this.tools.get(name);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Lists all registered tools
|
|
83
|
+
*/ listTools() {
|
|
84
|
+
return Array.from(this.tools.values()).map((tool)=>({
|
|
85
|
+
name: tool.name,
|
|
86
|
+
description: tool.description
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Gets the number of registered tools
|
|
91
|
+
*/ getToolCount() {
|
|
92
|
+
return this.tools.size;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Executes a tool with metrics tracking
|
|
96
|
+
*/ async executeTool(name, input, context) {
|
|
97
|
+
const tool = this.tools.get(name);
|
|
98
|
+
if (!tool) {
|
|
99
|
+
throw new MCPError(`Tool not found: ${name}`);
|
|
100
|
+
}
|
|
101
|
+
const startTime = Date.now();
|
|
102
|
+
const metrics = this.metrics.get(name);
|
|
103
|
+
this.logger.debug('Executing tool', {
|
|
104
|
+
name,
|
|
105
|
+
input
|
|
106
|
+
});
|
|
107
|
+
try {
|
|
108
|
+
// Validate input against schema
|
|
109
|
+
this.validateInput(tool, input);
|
|
110
|
+
// Check tool capabilities and permissions
|
|
111
|
+
await this.checkToolCapabilities(name, context);
|
|
112
|
+
// Execute tool handler
|
|
113
|
+
const result = await tool.handler(input, context);
|
|
114
|
+
// Update success metrics
|
|
115
|
+
if (metrics) {
|
|
116
|
+
const executionTime = Date.now() - startTime;
|
|
117
|
+
metrics.totalInvocations++;
|
|
118
|
+
metrics.successfulInvocations++;
|
|
119
|
+
metrics.totalExecutionTime += executionTime;
|
|
120
|
+
metrics.averageExecutionTime = metrics.totalExecutionTime / metrics.totalInvocations;
|
|
121
|
+
metrics.lastInvoked = new Date();
|
|
122
|
+
}
|
|
123
|
+
this.logger.debug('Tool executed successfully', {
|
|
124
|
+
name,
|
|
125
|
+
executionTime: Date.now() - startTime
|
|
126
|
+
});
|
|
127
|
+
this.emit('toolExecuted', {
|
|
128
|
+
name,
|
|
129
|
+
success: true,
|
|
130
|
+
executionTime: Date.now() - startTime
|
|
131
|
+
});
|
|
132
|
+
return result;
|
|
133
|
+
} catch (error) {
|
|
134
|
+
// Update failure metrics
|
|
135
|
+
if (metrics) {
|
|
136
|
+
const executionTime = Date.now() - startTime;
|
|
137
|
+
metrics.totalInvocations++;
|
|
138
|
+
metrics.failedInvocations++;
|
|
139
|
+
metrics.totalExecutionTime += executionTime;
|
|
140
|
+
metrics.averageExecutionTime = metrics.totalExecutionTime / metrics.totalInvocations;
|
|
141
|
+
metrics.lastInvoked = new Date();
|
|
142
|
+
}
|
|
143
|
+
this.logger.error('Tool execution failed', {
|
|
144
|
+
name,
|
|
145
|
+
error,
|
|
146
|
+
executionTime: Date.now() - startTime
|
|
147
|
+
});
|
|
148
|
+
this.emit('toolExecuted', {
|
|
149
|
+
name,
|
|
150
|
+
success: false,
|
|
151
|
+
error,
|
|
152
|
+
executionTime: Date.now() - startTime
|
|
153
|
+
});
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Validates tool definition
|
|
159
|
+
*/ validateTool(tool) {
|
|
160
|
+
if (!tool.name || typeof tool.name !== 'string') {
|
|
161
|
+
throw new MCPError('Tool name must be a non-empty string');
|
|
162
|
+
}
|
|
163
|
+
if (!tool.description || typeof tool.description !== 'string') {
|
|
164
|
+
throw new MCPError('Tool description must be a non-empty string');
|
|
165
|
+
}
|
|
166
|
+
if (typeof tool.handler !== 'function') {
|
|
167
|
+
throw new MCPError('Tool handler must be a function');
|
|
168
|
+
}
|
|
169
|
+
if (!tool.inputSchema || typeof tool.inputSchema !== 'object') {
|
|
170
|
+
throw new MCPError('Tool inputSchema must be an object');
|
|
171
|
+
}
|
|
172
|
+
// Validate tool name format (namespace/name)
|
|
173
|
+
if (!tool.name.includes('/')) {
|
|
174
|
+
throw new MCPError('Tool name must be in format: namespace/name');
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Validates input against tool schema
|
|
179
|
+
*/ validateInput(tool, input) {
|
|
180
|
+
// Simple validation - in production, use a JSON Schema validator
|
|
181
|
+
const schema = tool.inputSchema;
|
|
182
|
+
if (schema.type === 'object' && schema.properties) {
|
|
183
|
+
if (typeof input !== 'object' || input === null) {
|
|
184
|
+
throw new MCPError('Input must be an object');
|
|
185
|
+
}
|
|
186
|
+
const inputObj = input;
|
|
187
|
+
// Check required properties
|
|
188
|
+
if (schema.required && Array.isArray(schema.required)) {
|
|
189
|
+
for (const prop of schema.required){
|
|
190
|
+
if (!(prop in inputObj)) {
|
|
191
|
+
throw new MCPError(`Missing required property: ${prop}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Check property types
|
|
196
|
+
for (const [prop, propSchema] of Object.entries(schema.properties)){
|
|
197
|
+
if (prop in inputObj) {
|
|
198
|
+
const value = inputObj[prop];
|
|
199
|
+
const expectedType = propSchema.type;
|
|
200
|
+
if (expectedType && !this.checkType(value, expectedType)) {
|
|
201
|
+
throw new MCPError(`Invalid type for property ${prop}: expected ${expectedType}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Checks if a value matches a JSON Schema type
|
|
209
|
+
*/ checkType(value, type) {
|
|
210
|
+
switch(type){
|
|
211
|
+
case 'string':
|
|
212
|
+
return typeof value === 'string';
|
|
213
|
+
case 'number':
|
|
214
|
+
return typeof value === 'number';
|
|
215
|
+
case 'boolean':
|
|
216
|
+
return typeof value === 'boolean';
|
|
217
|
+
case 'object':
|
|
218
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
219
|
+
case 'array':
|
|
220
|
+
return Array.isArray(value);
|
|
221
|
+
case 'null':
|
|
222
|
+
return value === null;
|
|
223
|
+
default:
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Register tool capability information
|
|
229
|
+
*/ registerCapability(toolName, capability) {
|
|
230
|
+
this.capabilities.set(toolName, capability);
|
|
231
|
+
this.categories.add(capability.category);
|
|
232
|
+
capability.tags.forEach((tag)=>this.tags.add(tag));
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Extract category from tool name
|
|
236
|
+
*/ extractCategory(toolName) {
|
|
237
|
+
const parts = toolName.split('/');
|
|
238
|
+
return parts.length > 1 ? parts[0] : 'general';
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Extract tags from tool definition
|
|
242
|
+
*/ extractTags(tool) {
|
|
243
|
+
const tags = [];
|
|
244
|
+
// Extract from description
|
|
245
|
+
if (tool.description.toLowerCase().includes('file')) tags.push('filesystem');
|
|
246
|
+
if (tool.description.toLowerCase().includes('search')) tags.push('search');
|
|
247
|
+
if (tool.description.toLowerCase().includes('memory')) tags.push('memory');
|
|
248
|
+
if (tool.description.toLowerCase().includes('swarm')) tags.push('swarm');
|
|
249
|
+
if (tool.description.toLowerCase().includes('task')) tags.push('orchestration');
|
|
250
|
+
return tags.length > 0 ? tags : [
|
|
251
|
+
'general'
|
|
252
|
+
];
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Check tool capabilities and permissions
|
|
256
|
+
*/ async checkToolCapabilities(toolName, context) {
|
|
257
|
+
const capability = this.capabilities.get(toolName);
|
|
258
|
+
if (!capability) {
|
|
259
|
+
return; // No capability checks needed
|
|
260
|
+
}
|
|
261
|
+
// Check if tool is deprecated
|
|
262
|
+
if (capability.deprecated) {
|
|
263
|
+
this.logger.warn('Using deprecated tool', {
|
|
264
|
+
name: toolName,
|
|
265
|
+
message: capability.deprecationMessage
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
// Check required permissions
|
|
269
|
+
if (capability.requiredPermissions && context?.permissions) {
|
|
270
|
+
const hasAllPermissions = capability.requiredPermissions.every((permission)=>context.permissions.includes(permission));
|
|
271
|
+
if (!hasAllPermissions) {
|
|
272
|
+
throw new MCPError(`Insufficient permissions for tool ${toolName}. Required: ${capability.requiredPermissions.join(', ')}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
// Check protocol version compatibility
|
|
276
|
+
if (context?.protocolVersion) {
|
|
277
|
+
const isCompatible = capability.supportedProtocolVersions.some((version)=>this.isProtocolVersionCompatible(context.protocolVersion, version));
|
|
278
|
+
if (!isCompatible) {
|
|
279
|
+
throw new MCPError(`Tool ${toolName} is not compatible with protocol version ${context.protocolVersion.major}.${context.protocolVersion.minor}.${context.protocolVersion.patch}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Check protocol version compatibility
|
|
285
|
+
*/ isProtocolVersionCompatible(client, supported) {
|
|
286
|
+
if (client.major !== supported.major) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
if (client.minor > supported.minor) {
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Discover tools based on query criteria
|
|
296
|
+
*/ discoverTools(query = {}) {
|
|
297
|
+
const results = [];
|
|
298
|
+
for (const [name, tool] of this.tools){
|
|
299
|
+
const capability = this.capabilities.get(name);
|
|
300
|
+
if (!capability) continue;
|
|
301
|
+
// Filter by category
|
|
302
|
+
if (query.category && capability.category !== query.category) {
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
// Filter by tags
|
|
306
|
+
if (query.tags && !query.tags.some((tag)=>capability.tags.includes(tag))) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
// Filter by capabilities
|
|
310
|
+
if (query.capabilities && !query.capabilities.every((cap)=>capability.tags.includes(cap))) {
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
// Filter by protocol version
|
|
314
|
+
if (query.protocolVersion) {
|
|
315
|
+
const isCompatible = capability.supportedProtocolVersions.some((version)=>this.isProtocolVersionCompatible(query.protocolVersion, version));
|
|
316
|
+
if (!isCompatible) continue;
|
|
317
|
+
}
|
|
318
|
+
// Filter deprecated tools
|
|
319
|
+
if (!query.includeDeprecated && capability.deprecated) {
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
// Filter by permissions
|
|
323
|
+
if (query.permissions && capability.requiredPermissions) {
|
|
324
|
+
const hasAllPermissions = capability.requiredPermissions.every((permission)=>query.permissions.includes(permission));
|
|
325
|
+
if (!hasAllPermissions) continue;
|
|
326
|
+
}
|
|
327
|
+
results.push({
|
|
328
|
+
tool,
|
|
329
|
+
capability
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
return results;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Get tool capability information
|
|
336
|
+
*/ getToolCapability(name) {
|
|
337
|
+
return this.capabilities.get(name);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get tool metrics
|
|
341
|
+
*/ getToolMetrics(name) {
|
|
342
|
+
if (name) {
|
|
343
|
+
const metrics = this.metrics.get(name);
|
|
344
|
+
if (!metrics) {
|
|
345
|
+
throw new MCPError(`Metrics not found for tool: ${name}`);
|
|
346
|
+
}
|
|
347
|
+
return metrics;
|
|
348
|
+
}
|
|
349
|
+
return Array.from(this.metrics.values());
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Get all available categories
|
|
353
|
+
*/ getCategories() {
|
|
354
|
+
return Array.from(this.categories);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Get all available tags
|
|
358
|
+
*/ getTags() {
|
|
359
|
+
return Array.from(this.tags);
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Reset metrics for a tool or all tools
|
|
363
|
+
*/ resetMetrics(toolName) {
|
|
364
|
+
if (toolName) {
|
|
365
|
+
const metrics = this.metrics.get(toolName);
|
|
366
|
+
if (metrics) {
|
|
367
|
+
Object.assign(metrics, {
|
|
368
|
+
totalInvocations: 0,
|
|
369
|
+
successfulInvocations: 0,
|
|
370
|
+
failedInvocations: 0,
|
|
371
|
+
averageExecutionTime: 0,
|
|
372
|
+
totalExecutionTime: 0,
|
|
373
|
+
lastInvoked: undefined
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
} else {
|
|
377
|
+
for (const metrics of this.metrics.values()){
|
|
378
|
+
Object.assign(metrics, {
|
|
379
|
+
totalInvocations: 0,
|
|
380
|
+
successfulInvocations: 0,
|
|
381
|
+
failedInvocations: 0,
|
|
382
|
+
averageExecutionTime: 0,
|
|
383
|
+
totalExecutionTime: 0,
|
|
384
|
+
lastInvoked: undefined
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
this.emit('metricsReset', {
|
|
389
|
+
toolName
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Get comprehensive registry statistics
|
|
394
|
+
*/ getRegistryStats() {
|
|
395
|
+
const stats = {
|
|
396
|
+
totalTools: this.tools.size,
|
|
397
|
+
toolsByCategory: {},
|
|
398
|
+
toolsByTag: {},
|
|
399
|
+
totalInvocations: 0,
|
|
400
|
+
successRate: 0,
|
|
401
|
+
averageExecutionTime: 0
|
|
402
|
+
};
|
|
403
|
+
// Count by category
|
|
404
|
+
for (const capability of this.capabilities.values()){
|
|
405
|
+
stats.toolsByCategory[capability.category] = (stats.toolsByCategory[capability.category] || 0) + 1;
|
|
406
|
+
for (const tag of capability.tags){
|
|
407
|
+
stats.toolsByTag[tag] = (stats.toolsByTag[tag] || 0) + 1;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
// Calculate execution stats
|
|
411
|
+
let totalExecutionTime = 0;
|
|
412
|
+
let totalSuccessful = 0;
|
|
413
|
+
for (const metrics of this.metrics.values()){
|
|
414
|
+
stats.totalInvocations += metrics.totalInvocations;
|
|
415
|
+
totalSuccessful += metrics.successfulInvocations;
|
|
416
|
+
totalExecutionTime += metrics.totalExecutionTime;
|
|
417
|
+
}
|
|
418
|
+
if (stats.totalInvocations > 0) {
|
|
419
|
+
stats.successRate = totalSuccessful / stats.totalInvocations * 100;
|
|
420
|
+
stats.averageExecutionTime = totalExecutionTime / stats.totalInvocations;
|
|
421
|
+
}
|
|
422
|
+
return stats;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -6,6 +6,8 @@ import { success, error, warning } from '../cli-core.js';
|
|
|
6
6
|
import { BackgroundExecutor } from '../../coordination/background-executor.js';
|
|
7
7
|
import { SwarmCoordinator } from '../../coordination/swarm-coordinator.js';
|
|
8
8
|
import { SwarmMemoryManager } from '../../memory/swarm-memory.js';
|
|
9
|
+
import { setSwarmCoordinator } from '../../coordination/swarm-coordinator-factory.js';
|
|
10
|
+
import { requireSwarmInit } from '../../validators/swarm-init-validator.js';
|
|
9
11
|
export async function swarmAction(ctx) {
|
|
10
12
|
// First check if help is requested
|
|
11
13
|
if (ctx.flags.help || ctx.flags.h) {
|
|
@@ -33,6 +35,8 @@ export async function swarmAction(ctx) {
|
|
|
33
35
|
console.log(' --distributed Enable distributed coordination');
|
|
34
36
|
console.log(' --memory-namespace Memory namespace for swarm (default: swarm)');
|
|
35
37
|
console.log(' --persistence Enable task persistence (default: true)');
|
|
38
|
+
console.log(' --validate-swarm-init Validate swarm initialization (default: true)');
|
|
39
|
+
console.log(' --skip-validation Skip swarm initialization validation');
|
|
36
40
|
return;
|
|
37
41
|
}
|
|
38
42
|
const options = {
|
|
@@ -52,7 +56,8 @@ export async function swarmAction(ctx) {
|
|
|
52
56
|
ui: ctx.flags.ui || false,
|
|
53
57
|
background: ctx.flags.background || false,
|
|
54
58
|
persistence: ctx.flags.persistence || true,
|
|
55
|
-
distributed: ctx.flags.distributed || false
|
|
59
|
+
distributed: ctx.flags.distributed || false,
|
|
60
|
+
validateSwarmInit: ctx.flags.validateSwarmInit || ctx.flags['validate-swarm-init'] || !ctx.flags.skipValidation || !ctx.flags['skip-validation']
|
|
56
61
|
};
|
|
57
62
|
const swarmId = generateId('swarm');
|
|
58
63
|
if (options.dryRun) {
|
|
@@ -134,6 +139,8 @@ export async function swarmAction(ctx) {
|
|
|
134
139
|
enableKnowledgeBase: true,
|
|
135
140
|
persistencePath: `./swarm-runs/${swarmId}/memory`
|
|
136
141
|
});
|
|
142
|
+
// Register coordinator in factory for validator access
|
|
143
|
+
setSwarmCoordinator(coordinator);
|
|
137
144
|
// Start all systems
|
|
138
145
|
await coordinator.start();
|
|
139
146
|
await executor.start();
|
|
@@ -149,6 +156,21 @@ export async function swarmAction(ctx) {
|
|
|
149
156
|
// Register agents based on strategy
|
|
150
157
|
const agentTypes = getAgentTypesForStrategy(options.strategy);
|
|
151
158
|
const agents = [];
|
|
159
|
+
// Validate swarm initialization before spawning agents
|
|
160
|
+
if (options.validateSwarmInit) {
|
|
161
|
+
try {
|
|
162
|
+
await requireSwarmInit(options.maxAgents, {
|
|
163
|
+
initialized: true,
|
|
164
|
+
topology: options.maxAgents <= 7 ? 'mesh' : 'hierarchical',
|
|
165
|
+
maxAgents: options.maxAgents,
|
|
166
|
+
swarmId
|
|
167
|
+
});
|
|
168
|
+
console.log(`✅ Swarm validation passed for ${options.maxAgents} agents`);
|
|
169
|
+
} catch (validationError) {
|
|
170
|
+
error(`Swarm validation failed:\n${validationError.message}`);
|
|
171
|
+
throw validationError;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
152
174
|
for(let i = 0; i < Math.min(options.maxAgents, agentTypes.length); i++){
|
|
153
175
|
const agentType = agentTypes[i % agentTypes.length];
|
|
154
176
|
const agentId = await coordinator.registerAgent(`${agentType}-${i + 1}`, agentType, getCapabilitiesForType(agentType));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/cli/commands/swarm.ts"],"names":["generateId","promises","fs","success","error","warning","BackgroundExecutor","SwarmCoordinator","SwarmMemoryManager","swarmAction","ctx","flags","help","h","objective","args","join","trim","console","log","options","strategy","maxAgents","maxDepth","research","parallel","memoryNamespace","timeout","review","coordinator","config","c","verbose","v","dryRun","d","monitor","ui","background","persistence","distributed","swarmId","scriptPath","URL","url","pathname","projectRoot","substring","indexOf","uiScriptPath","stat","command","Deno","Command","stdin","stdout","stderr","process","spawn","code","status","err","message","maxConcurrentTasks","taskTimeout","enableMonitoring","enableWorkStealing","enableCircuitBreaker","coordinationStrategy","executor","defaultTimeout","logPath","enablePersistence","memory","namespace","enableDistribution","enableKnowledgeBase","persistencePath","start","initialize","swarmDir","mkdir","recursive","objectiveId","createObjective","agentTypes","getAgentTypesForStrategy","agents","i","Math","min","length","agentType","agentId","registerAgent","getCapabilitiesForType","push","writeFile","JSON","stringify","startTime","Date","toISOString","executeObjective","coordinatorRunning","pid","waitForObjectiveCompletion","endTime","swarmStatus","getSwarmStatus","objectives","tasks","completed","failed","total","stop","shutdown","decomposeObjective","subtasks","type","description","toLowerCase","includes","executeParallelTasks","map","task","index","agentDir","executeAgentTask","Promise","all","executeSequentialTasks","entries","checkClaude","checkResult","output","simulate","promptFile","prompt","tools","claudeArgs","wrapperScript","arg","wrapperPath","chmod","Error","claudeFlowArgs","claudeFlowPath","claudeFlowBin","TextDecoder","decode","resolve","checkInterval","setInterval","getObjectiveStatus","clearInterval","setTimeout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/swarm.ts"],"names":["generateId","promises","fs","success","error","warning","BackgroundExecutor","SwarmCoordinator","SwarmMemoryManager","setSwarmCoordinator","requireSwarmInit","swarmAction","ctx","flags","help","h","objective","args","join","trim","console","log","options","strategy","maxAgents","maxDepth","research","parallel","memoryNamespace","timeout","review","coordinator","config","c","verbose","v","dryRun","d","monitor","ui","background","persistence","distributed","validateSwarmInit","skipValidation","swarmId","scriptPath","URL","url","pathname","projectRoot","substring","indexOf","uiScriptPath","stat","command","Deno","Command","stdin","stdout","stderr","process","spawn","code","status","err","message","maxConcurrentTasks","taskTimeout","enableMonitoring","enableWorkStealing","enableCircuitBreaker","coordinationStrategy","executor","defaultTimeout","logPath","enablePersistence","memory","namespace","enableDistribution","enableKnowledgeBase","persistencePath","start","initialize","swarmDir","mkdir","recursive","objectiveId","createObjective","agentTypes","getAgentTypesForStrategy","agents","initialized","topology","validationError","i","Math","min","length","agentType","agentId","registerAgent","getCapabilitiesForType","push","writeFile","JSON","stringify","startTime","Date","toISOString","executeObjective","coordinatorRunning","pid","waitForObjectiveCompletion","endTime","swarmStatus","getSwarmStatus","objectives","tasks","completed","failed","total","stop","shutdown","decomposeObjective","subtasks","type","description","toLowerCase","includes","executeParallelTasks","map","task","index","agentDir","executeAgentTask","Promise","all","executeSequentialTasks","entries","checkClaude","checkResult","output","simulate","promptFile","prompt","tools","claudeArgs","wrapperScript","arg","wrapperPath","chmod","Error","claudeFlowArgs","claudeFlowPath","claudeFlowBin","TextDecoder","decode","resolve","checkInterval","setInterval","getObjectiveStatus","clearInterval","setTimeout"],"mappings":"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"}
|