snow-flow 3.0.9 → 3.0.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.bat +0 -0
- package/claude-flow.ps1 +0 -0
- package/dist/mcp/intelligent-reporting-mcp.d.ts +7 -0
- package/dist/mcp/intelligent-reporting-mcp.js +379 -0
- package/dist/mcp/servicenow-automation-mcp.js +0 -0
- package/dist/mcp/servicenow-deployment-mcp.js +0 -0
- package/dist/mcp/servicenow-integration-mcp.js +0 -0
- package/dist/mcp/servicenow-mcp-server.js +0 -0
- package/dist/mcp/servicenow-operations-mcp.js +0 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +0 -0
- package/dist/mcp/servicenow-progressive-indexer.js +0 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +280 -29
- package/dist/mcp/servicenow-security-compliance-mcp.js +0 -0
- package/dist/mcp/servicenow-update-set-mcp.js +0 -0
- package/dist/mcp/start-all-mcp-servers.js +0 -0
- package/dist/mcp/start-servicenow-mcp.js +0 -0
- package/dist/services/widget-deployment-service.d.ts +2 -1
- package/dist/services/widget-deployment-service.js +17 -16
- package/dist/utils/anti-mock-data-validator.d.ts +66 -0
- package/dist/utils/anti-mock-data-validator.js +316 -0
- package/dist/utils/servicenow-eventual-consistency.d.ts +120 -0
- package/dist/utils/servicenow-eventual-consistency.js +220 -0
- package/memory/agents/README.md +1 -1
- package/memory/claude-flow-data.json +1 -1
- package/memory/sessions/README.md +1 -1
- package/package.json +4 -3
- package/.mcp.json +0 -22
- package/claude-flow.config.json +0 -20
- package/dist/agents/app-creator.agent.d.ts +0 -55
- package/dist/agents/app-creator.agent.js +0 -1292
- package/dist/agents/base/base-snow-agent.d.ts +0 -75
- package/dist/agents/base/base-snow-agent.js +0 -169
- package/dist/agents/base-snow-agent.d.ts +0 -63
- package/dist/agents/base-snow-agent.js +0 -296
- package/dist/agents/coordinator.d.ts +0 -200
- package/dist/agents/coordinator.js +0 -777
- package/dist/agents/flow-builder-agent.d.ts +0 -18
- package/dist/agents/flow-builder-agent.js +0 -197
- package/dist/agents/queen-403-handler.d.ts +0 -47
- package/dist/agents/queen-403-handler.js +0 -175
- package/dist/agents/queen-agent-example.d.ts +0 -23
- package/dist/agents/queen-agent-example.js +0 -240
- package/dist/agents/queen-agent.test.d.ts +0 -6
- package/dist/agents/script-generator.agent.d.ts +0 -32
- package/dist/agents/script-generator.agent.js +0 -772
- package/dist/agents/script-writer-agent.d.ts +0 -22
- package/dist/agents/script-writer-agent.js +0 -695
- package/dist/agents/security-agent.d.ts +0 -23
- package/dist/agents/security-agent.js +0 -619
- package/dist/agents/specialists/automation-specialist.agent.d.ts +0 -44
- package/dist/agents/specialists/automation-specialist.agent.js +0 -204
- package/dist/agents/specialists/data-specialist.agent.d.ts +0 -165
- package/dist/agents/specialists/data-specialist.agent.js +0 -484
- package/dist/agents/specialists/integration-specialist.agent.d.ts +0 -227
- package/dist/agents/specialists/integration-specialist.agent.js +0 -725
- package/dist/agents/specialists/reporting-specialist.agent.d.ts +0 -54
- package/dist/agents/specialists/reporting-specialist.agent.js +0 -193
- package/dist/agents/specialists/security-specialist.agent.d.ts +0 -85
- package/dist/agents/specialists/security-specialist.agent.js +0 -309
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +0 -111
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +0 -383
- package/dist/agents/teams/base-team.d.ts +0 -72
- package/dist/agents/teams/base-team.js +0 -253
- package/dist/agents/teams/team-types.d.ts +0 -265
- package/dist/agents/teams/team-types.js +0 -3
- package/dist/agents/teams/widget/widget-architect.agent.d.ts +0 -61
- package/dist/agents/teams/widget/widget-architect.agent.js +0 -436
- package/dist/agents/teams/widget/widget-backend.agent.d.ts +0 -74
- package/dist/agents/teams/widget/widget-backend.agent.js +0 -1531
- package/dist/agents/teams/widget/widget-frontend.agent.d.ts +0 -67
- package/dist/agents/teams/widget/widget-frontend.agent.js +0 -1014
- package/dist/agents/teams/widget/widget-platform.agent.d.ts +0 -90
- package/dist/agents/teams/widget/widget-platform.agent.js +0 -1190
- package/dist/agents/teams/widget/widget-uiux.agent.d.ts +0 -107
- package/dist/agents/teams/widget/widget-uiux.agent.js +0 -1033
- package/dist/agents/test-agent.d.ts +0 -26
- package/dist/agents/test-agent.js +0 -734
- package/dist/agents/test-agents.d.ts +0 -7
- package/dist/agents/test-agents.js +0 -64
- package/dist/agents/ui-builder.agent.d.ts +0 -50
- package/dist/agents/ui-builder.agent.js +0 -1539
- package/dist/agents/widget-builder.agent.d.ts +0 -32
- package/dist/agents/widget-builder.agent.js +0 -439
- package/dist/agents/widget-creator-agent.d.ts +0 -18
- package/dist/agents/widget-creator-agent.js +0 -498
- package/dist/agents/workflow-designer.agent.d.ts +0 -31
- package/dist/agents/workflow-designer.agent.js +0 -583
- package/dist/api/error-handling.d.ts +0 -325
- package/dist/api/error-handling.js +0 -1488
- package/dist/api/flow-designer-api.d.ts +0 -167
- package/dist/api/flow-designer-api.js +0 -554
- package/dist/api/natural-language-mapper.d.ts +0 -124
- package/dist/api/natural-language-mapper.js +0 -501
- package/dist/api/performance-optimizer.d.ts +0 -240
- package/dist/api/performance-optimizer.js +0 -706
- package/dist/api/transaction-manager.d.ts +0 -189
- package/dist/api/transaction-manager.js +0 -576
- package/dist/assembly/team-assembler.d.ts +0 -140
- package/dist/assembly/team-assembler.js +0 -502
- package/dist/benchmark-performance.d.ts +0 -41
- package/dist/benchmark-performance.js +0 -230
- package/dist/cli/snow-flow-cli-integration.d.ts +0 -30
- package/dist/cli/snow-flow-cli-integration.js +0 -396
- package/dist/coordination/coordination-engine.d.ts +0 -41
- package/dist/coordination/coordination-engine.js +0 -324
- package/dist/coordination/coordination.test.d.ts +0 -6
- package/dist/coordination/example.d.ts +0 -31
- package/dist/coordination/example.js +0 -394
- package/dist/coordination/execution-patterns.d.ts +0 -43
- package/dist/coordination/execution-patterns.js +0 -507
- package/dist/coordination/factory.d.ts +0 -94
- package/dist/coordination/factory.js +0 -433
- package/dist/coordination/index.d.ts +0 -71
- package/dist/coordination/index.js +0 -135
- package/dist/coordination/progress-monitor.d.ts +0 -71
- package/dist/coordination/progress-monitor.js +0 -505
- package/dist/coordination/quality-gates.d.ts +0 -124
- package/dist/coordination/quality-gates.js +0 -577
- package/dist/coordination/shared-memory.d.ts +0 -39
- package/dist/coordination/shared-memory.js +0 -289
- package/dist/coordination/task-dependencies.d.ts +0 -50
- package/dist/coordination/task-dependencies.js +0 -407
- package/dist/coordination/team-coordinator.d.ts +0 -59
- package/dist/coordination/team-coordinator.js +0 -550
- package/dist/coordination/types.d.ts +0 -152
- package/dist/coordination/types.js +0 -3
- package/dist/mcp/mcp-wrapper.d.ts +0 -8
- package/dist/mcp/mcp-wrapper.js +0 -77
- package/dist/mcp/servicenow-flow-composer-enhanced.js +0 -396
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-flow-composer-mcp.js +0 -3103
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +0 -143
- package/dist/mcp/servicenow-intelligent-mcp.js +0 -4156
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts +0 -53
- package/dist/mcp/servicenow-xml-flow-mcp.js +0 -1704
- package/dist/mcp/singleton-check.js +0 -31
- package/dist/mcp/test-simple-mcp.d.ts +0 -6
- package/dist/mcp/test-simple-mcp.js +0 -63
- package/dist/memory/hierarchical-memory-system.d.ts +0 -90
- package/dist/memory/hierarchical-memory-system.js +0 -400
- package/dist/memory/index.d.ts +0 -9
- package/dist/memory/index.js +0 -20
- package/dist/memory/mcp-integration-example.d.ts +0 -6
- package/dist/memory/mcp-integration-example.js +0 -281
- package/dist/memory/memory-client.d.ts +0 -199
- package/dist/memory/memory-client.js +0 -364
- package/dist/memory/memory-manager.d.ts +0 -29
- package/dist/memory/memory-manager.js +0 -280
- package/dist/memory/memory-operations.d.ts +0 -179
- package/dist/memory/memory-operations.js +0 -691
- package/dist/memory/memory-system.d.ts +0 -153
- package/dist/memory/memory-system.js +0 -651
- package/dist/memory/memory-test.d.ts +0 -6
- package/dist/memory/memory-test.js +0 -161
- package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
- package/dist/memory/snow-flow-memory-patterns.js +0 -200
- package/dist/memory/snow-memory.d.ts +0 -54
- package/dist/memory/snow-memory.js +0 -301
- package/dist/memory/swarm-memory.d.ts +0 -135
- package/dist/memory/swarm-memory.js +0 -378
- package/dist/optimization/flow-performance-optimizer.js +0 -723
- package/dist/orchestration/discovery/service-discovery.d.ts +0 -81
- package/dist/orchestration/discovery/service-discovery.js +0 -808
- package/dist/orchestration/distributed-orchestrator.d.ts +0 -131
- package/dist/orchestration/distributed-orchestrator.js +0 -712
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +0 -53
- package/dist/orchestration/distribution/task-distribution-engine.js +0 -586
- package/dist/orchestration/flow-update-orchestrator.js +0 -648
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +0 -606
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +0 -65
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +0 -71
- package/dist/orchestration/protocols/mcpx-protocol.js +0 -668
- package/dist/orchestration/state/distributed-state-manager.d.ts +0 -89
- package/dist/orchestration/state/distributed-state-manager.js +0 -716
- package/dist/orchestrator/flow-composer.d.ts +0 -105
- package/dist/orchestrator/flow-composer.js +0 -404
- package/dist/orchestrator/flow-pattern-templates.d.ts +0 -260
- package/dist/orchestrator/flow-pattern-templates.js +0 -908
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts +0 -202
- package/dist/orchestrator/flow-subflow-decision-engine.js +0 -769
- package/dist/orchestrator/flow-validation-engine.d.ts +0 -169
- package/dist/orchestrator/flow-validation-engine.js +0 -913
- package/dist/orchestrator/snow-orchestrator.d.ts +0 -49
- package/dist/orchestrator/snow-orchestrator.js +0 -235
- package/dist/orchestrator/subflow-creation-handler.d.ts +0 -230
- package/dist/orchestrator/subflow-creation-handler.js +0 -791
- package/dist/patterns/adaptive-patterns.d.ts +0 -140
- package/dist/patterns/adaptive-patterns.js +0 -549
- package/dist/queen/advanced-integration-test.d.ts +0 -48
- package/dist/queen/advanced-integration-test.js +0 -473
- package/dist/queen/integration-example.d.ts +0 -82
- package/dist/queen/integration-example.js +0 -219
- package/dist/queen/integration-test.d.ts +0 -72
- package/dist/queen/integration-test.js +0 -563
- package/dist/queen/mock-mcp-client.d.ts +0 -71
- package/dist/queen/mock-mcp-client.js +0 -317
- package/dist/queen/run-integration-tests.d.ts +0 -9
- package/dist/queen/run-integration-tests.js +0 -27
- package/dist/sparc/coordinators/adaptive-coordinator.d.ts +0 -54
- package/dist/sparc/coordinators/adaptive-coordinator.js +0 -367
- package/dist/sparc/coordinators/team-coordinator.d.ts +0 -66
- package/dist/sparc/coordinators/team-coordinator.js +0 -402
- package/dist/sparc/modes/team-modes.d.ts +0 -33
- package/dist/sparc/modes/team-modes.js +0 -399
- package/dist/sparc/teams/application-team.d.ts +0 -73
- package/dist/sparc/teams/application-team.js +0 -463
- package/dist/sparc/teams/flow-team.d.ts +0 -67
- package/dist/sparc/teams/flow-team.js +0 -373
- package/dist/sparc/teams/widget-team.d.ts +0 -61
- package/dist/sparc/teams/widget-team.js +0 -280
- package/dist/specialists/app-specialists.d.ts +0 -93
- package/dist/specialists/app-specialists.js +0 -1639
- package/dist/specialists/base-specialist.d.ts +0 -19
- package/dist/specialists/base-specialist.js +0 -54
- package/dist/specialists/flow-specialists.d.ts +0 -113
- package/dist/specialists/flow-specialists.js +0 -1787
- package/dist/specialists/individual-specialists.d.ts +0 -67
- package/dist/specialists/individual-specialists.js +0 -632
- package/dist/specialists/widget-specialists.d.ts +0 -70
- package/dist/specialists/widget-specialists.js +0 -1264
- package/dist/src/utils/agent-detector.js +0 -655
- package/dist/teams/adaptive-team.d.ts +0 -81
- package/dist/teams/adaptive-team.js +0 -1153
- package/dist/teams/application-team.d.ts +0 -30
- package/dist/teams/application-team.js +0 -547
- package/dist/teams/base-team.d.ts +0 -55
- package/dist/teams/base-team.js +0 -243
- package/dist/teams/flow-team.d.ts +0 -28
- package/dist/teams/flow-team.js +0 -525
- package/dist/teams/widget-team.d.ts +0 -26
- package/dist/teams/widget-team.js +0 -459
- package/dist/templates/flow-template-system.js +0 -625
- package/dist/test-fetch-incidents.d.ts +0 -2
- package/dist/test-fetch-incidents.js +0 -84
- package/dist/test-incident-access.d.ts +0 -2
- package/dist/test-incident-access.js +0 -72
- package/dist/test-iphone-flow.js +0 -189
- package/dist/test-limit-problem.d.ts +0 -2
- package/dist/test-limit-problem.js +0 -60
- package/dist/test-ml-batch-fix.d.ts +0 -2
- package/dist/test-ml-batch-fix.js +0 -104
- package/dist/test-ml-batch.d.ts +0 -2
- package/dist/test-ml-batch.js +0 -87
- package/dist/test-ml-query.d.ts +0 -2
- package/dist/test-ml-query.js +0 -100
- package/dist/test-ml-training-fix.d.ts +0 -12
- package/dist/test-ml-training-fix.js +0 -113
- package/dist/test-ml-training.d.ts +0 -2
- package/dist/test-ml-training.js +0 -32
- package/dist/test-operations-query.d.ts +0 -2
- package/dist/test-operations-query.js +0 -84
- package/dist/test-performance-query.d.ts +0 -2
- package/dist/test-performance-query.js +0 -52
- package/dist/test-singleton-protection.d.ts +0 -8
- package/dist/test-singleton-protection.js +0 -110
- package/dist/test-smart-limits.d.ts +0 -13
- package/dist/test-smart-limits.js +0 -100
- package/dist/test-snow-query-incidents.d.ts +0 -2
- package/dist/test-snow-query-incidents.js +0 -66
- package/dist/test-universal-query.d.ts +0 -2
- package/dist/test-universal-query.js +0 -106
- package/dist/testing/flow-testing-automation.js +0 -641
- package/dist/utils/complete-flow-xml-generator.js +0 -1285
- package/dist/utils/file-storage-fallback.d.ts +0 -62
- package/dist/utils/file-storage-fallback.js +0 -289
- package/dist/utils/flow-api-discovery.d.ts +0 -151
- package/dist/utils/flow-api-discovery.js +0 -439
- package/dist/utils/flow-examples.js +0 -720
- package/dist/utils/flow-structure-builder.js +0 -677
- package/dist/utils/flow-xml-generator.d.ts +0 -41
- package/dist/utils/flow-xml-generator.js +0 -258
- package/dist/utils/improved-flow-xml-generator.js +0 -820
- package/dist/utils/mcp-process-manager.backup.d.ts +0 -58
- package/dist/utils/mcp-process-manager.backup.js +0 -220
- package/dist/utils/mcp-singleton-enforcer.d.ts +0 -36
- package/dist/utils/mcp-singleton-enforcer.js +0 -201
- package/dist/utils/mcp-timeout-fix.d.ts +0 -53
- package/dist/utils/mcp-timeout-fix.js +0 -221
- package/dist/utils/migrate-claude-flow.d.ts +0 -22
- package/dist/utils/migrate-claude-flow.js +0 -120
- package/dist/utils/scope-utils.d.ts +0 -72
- package/dist/utils/scope-utils.js +0 -386
- package/dist/utils/snow-oauth-old.d.ts +0 -65
- package/dist/utils/snow-oauth-old.js +0 -345
- package/dist/utils/xml-first-flow-generator.js +0 -513
- package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
- package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
- package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
- package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
- package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
- package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
- package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
- package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
- package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
- package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
- package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
- package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
- package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
- package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
- package/reports/swarm-auto-centralized-1752649029776.json +0 -13
- package/src/memory/README.md +0 -240
|
@@ -1,41 +0,0 @@
|
|
|
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
|
|
@@ -1,324 +0,0 @@
|
|
|
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
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|