snow-flow 2.0.4 → 2.0.6

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 (74) hide show
  1. package/dist/config/snow-flow-config.d.ts +1492 -0
  2. package/dist/config/snow-flow-config.js +938 -0
  3. package/dist/coordination/coordination-engine.d.ts +41 -0
  4. package/dist/coordination/coordination-engine.js +324 -0
  5. package/dist/coordination/coordination.test.d.ts +6 -0
  6. package/dist/coordination/example.d.ts +31 -0
  7. package/dist/coordination/example.js +394 -0
  8. package/dist/coordination/execution-patterns.d.ts +43 -0
  9. package/dist/coordination/execution-patterns.js +507 -0
  10. package/dist/coordination/factory.d.ts +94 -0
  11. package/dist/coordination/factory.js +433 -0
  12. package/dist/coordination/index.d.ts +71 -0
  13. package/dist/coordination/index.js +135 -0
  14. package/dist/coordination/progress-monitor.d.ts +71 -0
  15. package/dist/coordination/progress-monitor.js +505 -0
  16. package/dist/coordination/quality-gates.d.ts +124 -0
  17. package/dist/coordination/quality-gates.js +577 -0
  18. package/dist/coordination/shared-memory.d.ts +39 -0
  19. package/dist/coordination/shared-memory.js +289 -0
  20. package/dist/coordination/task-dependencies.d.ts +50 -0
  21. package/dist/coordination/task-dependencies.js +407 -0
  22. package/dist/coordination/team-coordinator.d.ts +59 -0
  23. package/dist/coordination/team-coordinator.js +550 -0
  24. package/dist/coordination/types.d.ts +152 -0
  25. package/dist/coordination/types.js +3 -0
  26. package/dist/memory/hierarchical-memory-system.d.ts +90 -0
  27. package/dist/memory/hierarchical-memory-system.js +400 -0
  28. package/dist/memory/index.d.ts +9 -0
  29. package/dist/memory/index.js +20 -0
  30. package/dist/memory/mcp-integration-example.d.ts +6 -0
  31. package/dist/memory/mcp-integration-example.js +281 -0
  32. package/dist/memory/memory-client.d.ts +199 -0
  33. package/dist/memory/memory-client.js +364 -0
  34. package/dist/memory/memory-manager.d.ts +29 -0
  35. package/dist/memory/memory-manager.js +280 -0
  36. package/dist/memory/memory-operations.d.ts +179 -0
  37. package/dist/memory/memory-operations.js +691 -0
  38. package/dist/memory/memory-system.d.ts +152 -0
  39. package/dist/memory/memory-system.js +632 -0
  40. package/dist/memory/memory-test.d.ts +6 -0
  41. package/dist/memory/memory-test.js +161 -0
  42. package/dist/memory/servicenow-artifact-indexer.d.ts +119 -0
  43. package/dist/memory/servicenow-artifact-indexer.js +560 -0
  44. package/dist/memory/snow-flow-memory-patterns.d.ts +213 -0
  45. package/dist/memory/snow-flow-memory-patterns.js +200 -0
  46. package/dist/memory/snow-memory.d.ts +54 -0
  47. package/dist/memory/snow-memory.js +301 -0
  48. package/dist/memory/swarm-memory.d.ts +135 -0
  49. package/dist/memory/swarm-memory.js +378 -0
  50. package/memory/claude-flow-data.json +5 -0
  51. package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +30 -0
  52. package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +36 -0
  53. package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +30 -0
  54. package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +30 -0
  55. package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +55 -0
  56. package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +55 -0
  57. package/memory/sessions/README.md +32 -0
  58. package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +9 -0
  59. package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +9 -0
  60. package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +8 -0
  61. package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +9 -0
  62. package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +9 -0
  63. package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +9 -0
  64. package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +58 -0
  65. package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +9 -0
  66. package/package.json +1 -1
  67. package/reports/swarm-auto-centralized-1752649029776.json +13 -0
  68. package/scripts/postinstall.js +30 -0
  69. package/scripts/update-version.js +31 -0
  70. package/servicenow/widgets/openai_incident_classifier/client_controller.js +284 -0
  71. package/servicenow/widgets/openai_incident_classifier/server_script.js +314 -0
  72. package/servicenow/widgets/openai_incident_classifier/style.css +354 -0
  73. package/servicenow/widgets/openai_incident_classifier/template.html +167 -0
  74. package/servicenow/widgets/openai_incident_classifier/widget.json +86 -0
@@ -0,0 +1,41 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ import { SharedMemoryManager } from './shared-memory';
3
+ import { QualityGateManager } from './quality-gates';
4
+ import { CoordinationResult, TaskSpecification, BaseTeam, CoordinationConfig, ExecutionPlan } from './types';
5
+ export declare class CoordinationEngine extends EventEmitter {
6
+ private sharedMemory;
7
+ private qualityGates;
8
+ private progressMonitor;
9
+ private config;
10
+ constructor(config?: Partial<CoordinationConfig>);
11
+ coordinateTeamExecution(team: BaseTeam, specification: TaskSpecification): Promise<CoordinationResult>;
12
+ private initializeSharedContext;
13
+ private createTaskGraph;
14
+ private findBestAgent;
15
+ private setupQualityGates;
16
+ private executeCoordinatedTasks;
17
+ private selectExecutionPattern;
18
+ private selectOptimalPattern;
19
+ private validateFinalResult;
20
+ private calculateMetrics;
21
+ private calculateErrorMetrics;
22
+ getExecutionPlan(specification: TaskSpecification): Promise<ExecutionPlan>;
23
+ /**
24
+ * Create a planning team based on task requirements
25
+ */
26
+ private createPlanningTeam;
27
+ /**
28
+ * Determine the optimal agent type for a task
29
+ */
30
+ private determineAgentType;
31
+ /**
32
+ * Assign optimal agent from team for a task
33
+ */
34
+ private assignOptimalAgent;
35
+ getSharedMemory(): SharedMemoryManager;
36
+ getQualityGateManager(): QualityGateManager;
37
+ pauseExecution(): Promise<void>;
38
+ resumeExecution(): Promise<void>;
39
+ abortExecution(reason: string): Promise<void>;
40
+ }
41
+ //# sourceMappingURL=coordination-engine.d.ts.map
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoordinationEngine = void 0;
4
+ const eventemitter3_1 = require("eventemitter3");
5
+ const shared_memory_1 = require("./shared-memory");
6
+ const task_dependencies_1 = require("./task-dependencies");
7
+ const quality_gates_1 = require("./quality-gates");
8
+ const progress_monitor_1 = require("./progress-monitor");
9
+ const execution_patterns_1 = require("./execution-patterns");
10
+ const logger_1 = require("../utils/logger");
11
+ class CoordinationEngine extends eventemitter3_1.EventEmitter {
12
+ constructor(config = {}) {
13
+ super();
14
+ this.config = {
15
+ maxConcurrentTasks: 5,
16
+ taskTimeout: 300000, // 5 minutes
17
+ enableRetries: true,
18
+ maxRetries: 3,
19
+ enableQualityGates: true,
20
+ enableProgressMonitoring: true,
21
+ executionPattern: 'auto',
22
+ memoryTtl: 3600000, // 1 hour
23
+ errorRecoveryStrategy: 'retry',
24
+ ...config
25
+ };
26
+ this.sharedMemory = new shared_memory_1.SharedMemoryManager(this.config.memoryTtl);
27
+ this.qualityGates = new quality_gates_1.QualityGateManager();
28
+ this.progressMonitor = new progress_monitor_1.ProgressMonitor();
29
+ logger_1.logger.info('🚀 Coordination Engine initialized', { config: this.config });
30
+ }
31
+ async coordinateTeamExecution(team, specification) {
32
+ const startTime = Date.now();
33
+ try {
34
+ logger_1.logger.info('🎯 Starting team coordination', {
35
+ specification: specification.name,
36
+ tasks: specification.tasks.length
37
+ });
38
+ // Initialize shared context
39
+ await this.initializeSharedContext(specification);
40
+ // Create and optimize task dependency graph
41
+ const taskGraph = await this.createTaskGraph(team, specification);
42
+ // Setup quality gates
43
+ await this.setupQualityGates(specification);
44
+ // Start progress monitoring
45
+ if (this.config.enableProgressMonitoring) {
46
+ await this.progressMonitor.startMonitoring(team, taskGraph);
47
+ }
48
+ // Execute coordinated tasks
49
+ const results = await this.executeCoordinatedTasks(team, taskGraph, specification);
50
+ // Validate final result
51
+ const finalValidation = await this.validateFinalResult(results, specification);
52
+ const metrics = this.calculateMetrics(taskGraph, startTime);
53
+ return {
54
+ success: true,
55
+ results,
56
+ metrics,
57
+ errors: [],
58
+ warnings: finalValidation.warnings || []
59
+ };
60
+ }
61
+ catch (error) {
62
+ logger_1.logger.error('❌ Team coordination failed', { error: error.message });
63
+ return {
64
+ success: false,
65
+ results: {},
66
+ metrics: this.calculateErrorMetrics(startTime),
67
+ errors: [error],
68
+ warnings: []
69
+ };
70
+ }
71
+ }
72
+ async initializeSharedContext(specification) {
73
+ logger_1.logger.info('🧠 Initializing shared context');
74
+ // Store specification in shared memory
75
+ await this.sharedMemory.store('task_specification', specification);
76
+ // Initialize shared context variables
77
+ for (const [key, value] of Object.entries(specification.sharedContext)) {
78
+ await this.sharedMemory.store(`context_${key}`, value);
79
+ }
80
+ // Create coordination namespace
81
+ await this.sharedMemory.store('coordination_metadata', {
82
+ startTime: new Date(),
83
+ totalTasks: specification.tasks.length,
84
+ executionId: Math.random().toString(36).substr(2, 9)
85
+ });
86
+ }
87
+ async createTaskGraph(team, specification) {
88
+ logger_1.logger.info('📊 Creating task dependency graph');
89
+ const taskGraph = new task_dependencies_1.TaskDependencyGraph(this.sharedMemory, this.config);
90
+ // Add tasks to graph
91
+ for (const taskDef of specification.tasks) {
92
+ // Find appropriate agent
93
+ const agent = this.findBestAgent(team, taskDef);
94
+ if (!agent) {
95
+ throw new Error(`No suitable agent found for task: ${taskDef.id} (requires: ${taskDef.agentType})`);
96
+ }
97
+ taskGraph.addTask(taskDef.id, agent, taskDef.requirements, taskDef.dependencies);
98
+ }
99
+ // Validate graph for circular dependencies
100
+ await taskGraph.validateGraph();
101
+ logger_1.logger.info('✅ Task dependency graph created', {
102
+ totalTasks: specification.tasks.length,
103
+ maxParallelism: await taskGraph.getMaxParallelism()
104
+ });
105
+ return taskGraph;
106
+ }
107
+ findBestAgent(team, taskDef) {
108
+ // Get agents of the required type
109
+ const candidates = team.getAgentsByType(taskDef.agentType);
110
+ if (candidates.length === 0) {
111
+ return null;
112
+ }
113
+ // Simple selection: first available agent
114
+ // TODO: Implement more sophisticated agent selection algorithm
115
+ return candidates.find(agent => agent.status === 'idle') || candidates[0];
116
+ }
117
+ async setupQualityGates(specification) {
118
+ if (!this.config.enableQualityGates) {
119
+ return;
120
+ }
121
+ logger_1.logger.info('🛡️ Setting up quality gates');
122
+ for (const gateConfig of specification.qualityGates) {
123
+ for (const taskId of gateConfig.taskIds) {
124
+ for (const gate of gateConfig.gates) {
125
+ this.qualityGates.addGate(taskId, gate);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ async executeCoordinatedTasks(team, taskGraph, specification) {
131
+ logger_1.logger.info('🚀 Starting coordinated task execution');
132
+ // Select execution pattern
133
+ const executionPattern = this.selectExecutionPattern(taskGraph, specification);
134
+ logger_1.logger.info('📋 Execution pattern selected', { pattern: executionPattern.constructor.name });
135
+ // Execute tasks
136
+ const results = await executionPattern.execute(team, taskGraph);
137
+ // Emit completion event
138
+ this.emit('coordination:completed', { results, taskGraph });
139
+ return results;
140
+ }
141
+ selectExecutionPattern(taskGraph, specification) {
142
+ const patternType = specification.executionPattern || this.config.executionPattern;
143
+ switch (patternType) {
144
+ case 'sequential':
145
+ return new execution_patterns_1.SequentialExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
146
+ case 'parallel':
147
+ return new execution_patterns_1.ParallelExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
148
+ case 'hybrid':
149
+ return new execution_patterns_1.HybridExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
150
+ case 'auto':
151
+ // Intelligent pattern selection based on task characteristics
152
+ return this.selectOptimalPattern(taskGraph);
153
+ default:
154
+ return new execution_patterns_1.HybridExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
155
+ }
156
+ }
157
+ selectOptimalPattern(taskGraph) {
158
+ const complexity = taskGraph.getComplexityScore();
159
+ const parallelism = taskGraph.getMaxParallelism();
160
+ if (parallelism > 3 && complexity < 0.7) {
161
+ logger_1.logger.info('🏃‍♂️ Selected parallel execution pattern');
162
+ return new execution_patterns_1.ParallelExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
163
+ }
164
+ else if (complexity > 0.8) {
165
+ logger_1.logger.info('🚶‍♂️ Selected sequential execution pattern');
166
+ return new execution_patterns_1.SequentialExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
167
+ }
168
+ else {
169
+ logger_1.logger.info('🤸‍♂️ Selected hybrid execution pattern');
170
+ return new execution_patterns_1.HybridExecutionPattern(this.qualityGates, this.progressMonitor, this.config);
171
+ }
172
+ }
173
+ async validateFinalResult(results, specification) {
174
+ logger_1.logger.info('🔍 Validating final coordination result');
175
+ const validation = {
176
+ success: true,
177
+ warnings: []
178
+ };
179
+ // Check if all required tasks completed
180
+ for (const taskDef of specification.tasks) {
181
+ if (!results[taskDef.id]) {
182
+ validation.success = false;
183
+ validation.warnings.push(`Task ${taskDef.id} did not complete successfully`);
184
+ }
185
+ }
186
+ // Check if all required outputs are present
187
+ for (const taskDef of specification.tasks) {
188
+ const taskResult = results[taskDef.id];
189
+ if (taskResult) {
190
+ for (const expectedOutput of taskDef.outputs) {
191
+ if (!taskResult[expectedOutput]) {
192
+ validation.warnings.push(`Task ${taskDef.id} missing expected output: ${expectedOutput}`);
193
+ }
194
+ }
195
+ }
196
+ }
197
+ return validation;
198
+ }
199
+ calculateMetrics(taskGraph, startTime) {
200
+ const endTime = Date.now();
201
+ const totalTasks = taskGraph.getTotalTasks();
202
+ const completedTasks = taskGraph.getCompletedTasks();
203
+ const failedTasks = taskGraph.getFailedTasks();
204
+ return {
205
+ totalTasks,
206
+ completedTasks: completedTasks.length,
207
+ failedTasks: failedTasks.length,
208
+ totalExecutionTime: endTime - startTime,
209
+ averageTaskTime: completedTasks.length > 0 ?
210
+ completedTasks.reduce((sum, task) => sum + (task.endTime.getTime() - task.startTime.getTime()), 0) / completedTasks.length : 0,
211
+ concurrentTasks: this.config.maxConcurrentTasks
212
+ };
213
+ }
214
+ calculateErrorMetrics(startTime) {
215
+ return {
216
+ totalTasks: 0,
217
+ completedTasks: 0,
218
+ failedTasks: 0,
219
+ totalExecutionTime: Date.now() - startTime,
220
+ averageTaskTime: 0,
221
+ concurrentTasks: 0
222
+ };
223
+ }
224
+ // Public API methods
225
+ async getExecutionPlan(specification) {
226
+ // Initialize a proper planning team with required agents
227
+ const planningTeam = this.createPlanningTeam(specification);
228
+ const taskGraph = new task_dependencies_1.TaskDependencyGraph(this.sharedMemory, this.config);
229
+ // Add tasks with proper agent assignments for realistic planning
230
+ for (const taskDef of specification.tasks) {
231
+ const agent = this.assignOptimalAgent(taskDef, planningTeam);
232
+ taskGraph.addTask(taskDef.id, agent, taskDef.requirements, taskDef.dependencies);
233
+ }
234
+ return await taskGraph.generateExecutionPlan();
235
+ }
236
+ /**
237
+ * Create a planning team based on task requirements
238
+ */
239
+ createPlanningTeam(specification) {
240
+ const agents = new Map();
241
+ // Analyze tasks to determine required agent types
242
+ for (const task of specification.tasks) {
243
+ const requiredType = this.determineAgentType(task);
244
+ if (!agents.has(requiredType)) {
245
+ agents.set(requiredType, {
246
+ id: `${requiredType}_agent_${Date.now()}`,
247
+ type: requiredType,
248
+ capabilities: task.requirements || [],
249
+ status: 'ready'
250
+ });
251
+ }
252
+ }
253
+ // Ensure at least one general agent exists
254
+ if (agents.size === 0) {
255
+ agents.set('general', {
256
+ id: `general_agent_${Date.now()}`,
257
+ type: 'general',
258
+ capabilities: [],
259
+ status: 'ready'
260
+ });
261
+ }
262
+ return {
263
+ agents,
264
+ id: `planning_team_${Date.now()}`,
265
+ name: 'Planning Team',
266
+ type: 'planning'
267
+ };
268
+ }
269
+ /**
270
+ * Determine the optimal agent type for a task
271
+ */
272
+ determineAgentType(task) {
273
+ const taskType = task.type?.toLowerCase() || '';
274
+ const requirements = task.requirements || [];
275
+ if (taskType.includes('widget') || requirements.includes('frontend'))
276
+ return 'frontend';
277
+ if (taskType.includes('flow') || requirements.includes('process'))
278
+ return 'process';
279
+ if (taskType.includes('backend') || requirements.includes('server'))
280
+ return 'backend';
281
+ if (taskType.includes('security') || requirements.includes('security'))
282
+ return 'security';
283
+ if (taskType.includes('data') || requirements.includes('database'))
284
+ return 'data';
285
+ return 'general'; // Default fallback
286
+ }
287
+ /**
288
+ * Assign optimal agent from team for a task
289
+ */
290
+ assignOptimalAgent(task, team) {
291
+ const requiredType = this.determineAgentType(task);
292
+ const agent = team.agents.get(requiredType) || team.agents.get('general');
293
+ if (!agent) {
294
+ logger_1.logger.warn(`No suitable agent found for task type: ${requiredType}, creating default agent`);
295
+ return {
296
+ id: `default_agent_${Date.now()}`,
297
+ type: 'general',
298
+ capabilities: [],
299
+ status: 'ready'
300
+ };
301
+ }
302
+ return agent;
303
+ }
304
+ getSharedMemory() {
305
+ return this.sharedMemory;
306
+ }
307
+ getQualityGateManager() {
308
+ return this.qualityGates;
309
+ }
310
+ async pauseExecution() {
311
+ logger_1.logger.info('⏸️ Pausing coordination execution');
312
+ this.emit('coordination:paused');
313
+ }
314
+ async resumeExecution() {
315
+ logger_1.logger.info('▶️ Resuming coordination execution');
316
+ this.emit('coordination:resumed');
317
+ }
318
+ async abortExecution(reason) {
319
+ logger_1.logger.warn('🛑 Aborting coordination execution', { reason });
320
+ this.emit('coordination:aborted', { reason });
321
+ }
322
+ }
323
+ exports.CoordinationEngine = CoordinationEngine;
324
+ //# sourceMappingURL=coordination-engine.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Unit tests for the Team Coordination Framework
3
+ */
4
+ import { TaskSpecification } from './types';
5
+ export declare function createTestSpecification(name: string, taskCount?: number): TaskSpecification;
6
+ //# sourceMappingURL=coordination.test.d.ts.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Comprehensive example of using the Team Coordination Framework
3
+ * for ServiceNow development workflows
4
+ */
5
+ import { BaseTeam } from './types';
6
+ /**
7
+ * Example: ServiceNow Widget Development with Team Coordination
8
+ */
9
+ declare function exampleWidgetDevelopment(): Promise<void>;
10
+ /**
11
+ * Example: ServiceNow Flow Development with Parallel Execution
12
+ */
13
+ declare function exampleFlowDevelopment(): Promise<void>;
14
+ /**
15
+ * Example: Advanced Coordination with Custom Quality Gates
16
+ */
17
+ declare function exampleAdvancedCoordination(): Promise<void>;
18
+ /**
19
+ * Example: Real-time Progress Monitoring
20
+ */
21
+ declare function exampleProgressMonitoring(): Promise<void>;
22
+ /**
23
+ * Create a mock team of specialized agents for demonstration
24
+ */
25
+ declare function createMockTeam(): BaseTeam;
26
+ /**
27
+ * Run all examples
28
+ */
29
+ declare function runAllExamples(): Promise<void>;
30
+ export { exampleWidgetDevelopment, exampleFlowDevelopment, exampleAdvancedCoordination, exampleProgressMonitoring, runAllExamples, createMockTeam };
31
+ //# sourceMappingURL=example.d.ts.map