snow-flow 1.1.74 → 1.1.76

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 (161) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/.claude-flow/queen-test/test-memory.db +0 -0
  3. package/.claude-flow/queen-test/test-memory.db-agents +0 -0
  4. package/.claude-flow/queen-test/test-memory.db-import +0 -0
  5. package/.claude-flow/queen-test/test-memory.db-memory +0 -0
  6. package/.claude-flow/queen-test/test-memory.db-neural +0 -0
  7. package/CLAUDE.md +111 -8
  8. package/README.md +117 -50
  9. package/deploy.sh +366 -0
  10. package/dist/cli.js +226 -0
  11. package/dist/cli.js.map +1 -1
  12. package/dist/mcp/http-transport-wrapper.d.ts +29 -0
  13. package/dist/mcp/http-transport-wrapper.d.ts.map +1 -0
  14. package/dist/mcp/http-transport-wrapper.js +318 -0
  15. package/dist/mcp/http-transport-wrapper.js.map +1 -0
  16. package/dist/mcp/service-discovery-client.d.ts +83 -0
  17. package/dist/mcp/service-discovery-client.d.ts.map +1 -0
  18. package/dist/mcp/service-discovery-client.js +211 -0
  19. package/dist/mcp/service-discovery-client.js.map +1 -0
  20. package/dist/mcp/servicenow-deployment-mcp.js +262 -29
  21. package/dist/mcp/servicenow-deployment-mcp.js.map +1 -1
  22. package/dist/mcp/servicenow-intelligent-mcp.js +252 -18
  23. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  24. package/dist/mcp/servicenow-operations-mcp.js +274 -46
  25. package/dist/mcp/servicenow-operations-mcp.js.map +1 -1
  26. package/dist/orchestration/discovery/service-discovery.d.ts +81 -0
  27. package/dist/orchestration/discovery/service-discovery.d.ts.map +1 -0
  28. package/dist/orchestration/discovery/service-discovery.js +808 -0
  29. package/dist/orchestration/discovery/service-discovery.js.map +1 -0
  30. package/dist/orchestration/distributed-orchestrator.d.ts +131 -0
  31. package/dist/orchestration/distributed-orchestrator.d.ts.map +1 -0
  32. package/dist/orchestration/distributed-orchestrator.js +712 -0
  33. package/dist/orchestration/distributed-orchestrator.js.map +1 -0
  34. package/dist/orchestration/distribution/task-distribution-engine.d.ts +53 -0
  35. package/dist/orchestration/distribution/task-distribution-engine.d.ts.map +1 -0
  36. package/dist/orchestration/distribution/task-distribution-engine.js +586 -0
  37. package/dist/orchestration/distribution/task-distribution-engine.js.map +1 -0
  38. package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +606 -0
  39. package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts.map +1 -0
  40. package/dist/orchestration/interfaces/distributed-orchestration.interface.js +65 -0
  41. package/dist/orchestration/interfaces/distributed-orchestration.interface.js.map +1 -0
  42. package/dist/orchestration/protocols/mcpx-protocol.d.ts +71 -0
  43. package/dist/orchestration/protocols/mcpx-protocol.d.ts.map +1 -0
  44. package/dist/orchestration/protocols/mcpx-protocol.js +668 -0
  45. package/dist/orchestration/protocols/mcpx-protocol.js.map +1 -0
  46. package/dist/orchestration/state/distributed-state-manager.d.ts +89 -0
  47. package/dist/orchestration/state/distributed-state-manager.d.ts.map +1 -0
  48. package/dist/orchestration/state/distributed-state-manager.js +716 -0
  49. package/dist/orchestration/state/distributed-state-manager.js.map +1 -0
  50. package/dist/queen/advanced-integration-test.d.ts +48 -0
  51. package/dist/queen/advanced-integration-test.d.ts.map +1 -0
  52. package/dist/queen/advanced-integration-test.js +474 -0
  53. package/dist/queen/advanced-integration-test.js.map +1 -0
  54. package/dist/queen/agent-factory.d.ts +40 -0
  55. package/dist/queen/agent-factory.d.ts.map +1 -0
  56. package/dist/queen/agent-factory.js +433 -0
  57. package/dist/queen/agent-factory.js.map +1 -0
  58. package/dist/queen/index.d.ts +58 -0
  59. package/dist/queen/index.d.ts.map +1 -0
  60. package/dist/queen/index.js +79 -0
  61. package/dist/queen/index.js.map +1 -0
  62. package/dist/queen/integration-example.d.ts +82 -0
  63. package/dist/queen/integration-example.d.ts.map +1 -0
  64. package/dist/queen/integration-example.js +220 -0
  65. package/dist/queen/integration-example.js.map +1 -0
  66. package/dist/queen/integration-test.d.ts +72 -0
  67. package/dist/queen/integration-test.d.ts.map +1 -0
  68. package/dist/queen/integration-test.js +564 -0
  69. package/dist/queen/integration-test.js.map +1 -0
  70. package/dist/queen/mock-mcp-client.d.ts +66 -0
  71. package/dist/queen/mock-mcp-client.d.ts.map +1 -0
  72. package/dist/queen/mock-mcp-client.js +297 -0
  73. package/dist/queen/mock-mcp-client.js.map +1 -0
  74. package/dist/queen/neural-learning.d.ts +28 -0
  75. package/dist/queen/neural-learning.d.ts.map +1 -0
  76. package/dist/queen/neural-learning.js +244 -0
  77. package/dist/queen/neural-learning.js.map +1 -0
  78. package/dist/queen/queen-memory.d.ts +25 -0
  79. package/dist/queen/queen-memory.d.ts.map +1 -0
  80. package/dist/queen/queen-memory.js +273 -0
  81. package/dist/queen/queen-memory.js.map +1 -0
  82. package/dist/queen/run-integration-tests.d.ts +9 -0
  83. package/dist/queen/run-integration-tests.d.ts.map +1 -0
  84. package/dist/queen/run-integration-tests.js +28 -0
  85. package/dist/queen/run-integration-tests.js.map +1 -0
  86. package/dist/queen/servicenow-queen.d.ts +56 -0
  87. package/dist/queen/servicenow-queen.d.ts.map +1 -0
  88. package/dist/queen/servicenow-queen.js +659 -0
  89. package/dist/queen/servicenow-queen.js.map +1 -0
  90. package/dist/queen/types.d.ts +58 -0
  91. package/dist/queen/types.d.ts.map +1 -0
  92. package/dist/queen/types.js +7 -0
  93. package/dist/queen/types.js.map +1 -0
  94. package/dist/version.d.ts +3 -1
  95. package/dist/version.d.ts.map +1 -1
  96. package/dist/version.js +27 -2
  97. package/dist/version.js.map +1 -1
  98. package/docker/base/Dockerfile.base +45 -0
  99. package/docker/generate-services.js +244 -0
  100. package/docker/nginx/Dockerfile +71 -0
  101. package/docker/nginx/consul-template.hcl +64 -0
  102. package/docker/nginx/healthcheck.sh +178 -0
  103. package/docker/nginx/nginx.conf +210 -0
  104. package/docker/nginx/supervisord.conf +57 -0
  105. package/docker/nginx/templates/upstreams.conf.tpl +48 -0
  106. package/docker/services/automation-mcp/Dockerfile +32 -0
  107. package/docker/services/automation-mcp/config/service.json +28 -0
  108. package/docker/services/automation-mcp/entrypoint.js +51 -0
  109. package/docker/services/deployment-mcp/Dockerfile +32 -0
  110. package/docker/services/deployment-mcp/entrypoint.js +51 -0
  111. package/docker/services/flow-composer-mcp/Dockerfile +32 -0
  112. package/docker/services/flow-composer-mcp/config/service.json +28 -0
  113. package/docker/services/flow-composer-mcp/entrypoint.js +51 -0
  114. package/docker/services/graph-memory-mcp/Dockerfile +32 -0
  115. package/docker/services/graph-memory-mcp/config/service.json +28 -0
  116. package/docker/services/graph-memory-mcp/entrypoint.js +51 -0
  117. package/docker/services/integration-mcp/Dockerfile +32 -0
  118. package/docker/services/integration-mcp/config/service.json +28 -0
  119. package/docker/services/integration-mcp/entrypoint.js +51 -0
  120. package/docker/services/intelligent-mcp/Dockerfile +32 -0
  121. package/docker/services/intelligent-mcp/config/service.json +28 -0
  122. package/docker/services/intelligent-mcp/entrypoint.js +51 -0
  123. package/docker/services/operations-mcp/Dockerfile +32 -0
  124. package/docker/services/operations-mcp/config/service.json +28 -0
  125. package/docker/services/operations-mcp/entrypoint.js +51 -0
  126. package/docker/services/platform-development-mcp/Dockerfile +32 -0
  127. package/docker/services/platform-development-mcp/config/service.json +28 -0
  128. package/docker/services/platform-development-mcp/entrypoint.js +51 -0
  129. package/docker/services/reporting-analytics-mcp/Dockerfile +32 -0
  130. package/docker/services/reporting-analytics-mcp/config/service.json +28 -0
  131. package/docker/services/reporting-analytics-mcp/entrypoint.js +51 -0
  132. package/docker/services/security-compliance-mcp/Dockerfile +32 -0
  133. package/docker/services/security-compliance-mcp/config/service.json +28 -0
  134. package/docker/services/security-compliance-mcp/entrypoint.js +51 -0
  135. package/docker/services/update-set-mcp/Dockerfile +32 -0
  136. package/docker/services/update-set-mcp/config/service.json +28 -0
  137. package/docker/services/update-set-mcp/entrypoint.js +51 -0
  138. package/docker-compose.override.yml +132 -0
  139. package/docker-compose.prod.yml +340 -0
  140. package/docker-compose.yml +579 -0
  141. package/k8s/automation-mcp.yaml +232 -0
  142. package/k8s/configmap.yaml +237 -0
  143. package/k8s/deployment-mcp.yaml +232 -0
  144. package/k8s/flow-composer-mcp.yaml +232 -0
  145. package/k8s/generate-k8s-manifests.js +453 -0
  146. package/k8s/graph-memory-mcp.yaml +232 -0
  147. package/k8s/infrastructure.yaml +456 -0
  148. package/k8s/ingress.yaml +361 -0
  149. package/k8s/integration-mcp.yaml +232 -0
  150. package/k8s/intelligent-mcp.yaml +232 -0
  151. package/k8s/kustomization.yaml +111 -0
  152. package/k8s/mcp-services.yaml +2552 -0
  153. package/k8s/monitoring.yaml +515 -0
  154. package/k8s/namespace.yaml +80 -0
  155. package/k8s/operations-mcp.yaml +232 -0
  156. package/k8s/platform-development-mcp.yaml +232 -0
  157. package/k8s/rbac.yaml +140 -0
  158. package/k8s/reporting-analytics-mcp.yaml +232 -0
  159. package/k8s/security-compliance-mcp.yaml +232 -0
  160. package/k8s/update-set-mcp.yaml +232 -0
  161. package/package.json +2 -2
@@ -0,0 +1,606 @@
1
+ /**
2
+ * Distributed Orchestration Interfaces
3
+ *
4
+ * Complete interface definitions for the distributed orchestration system
5
+ * that coordinates external Claude Code instances.
6
+ */
7
+ export declare enum InstanceStatus {
8
+ ACTIVE = "active",
9
+ IDLE = "idle",
10
+ BUSY = "busy",
11
+ MAINTENANCE = "maintenance",
12
+ OFFLINE = "offline",
13
+ UNREACHABLE = "unreachable"
14
+ }
15
+ export declare enum ConsistencyLevel {
16
+ EVENTUAL = "eventual",
17
+ STRONG = "strong",
18
+ WEAK = "weak"
19
+ }
20
+ export declare enum OrchestrationMode {
21
+ INTERNAL_ONLY = "internal",
22
+ EXTERNAL_ONLY = "external",
23
+ HYBRID = "hybrid",
24
+ AUTO_BALANCE = "auto"
25
+ }
26
+ export declare enum MCPXCommand {
27
+ ORCHESTRATE_SESSION_START = "mcpx.orchestrate.session.start",
28
+ ORCHESTRATE_SESSION_END = "mcpx.orchestrate.session.end",
29
+ ORCHESTRATE_TASK_ASSIGN = "mcpx.orchestrate.task.assign",
30
+ ORCHESTRATE_TASK_COMPLETE = "mcpx.orchestrate.task.complete",
31
+ COORDINATE_STATE_SYNC = "mcpx.coordinate.state.sync",
32
+ COORDINATE_DEPENDENCY_RESOLVE = "mcpx.coordinate.dependency.resolve",
33
+ COORDINATE_QUALITY_GATE = "mcpx.coordinate.quality.gate",
34
+ DISTRIBUTE_TASK_SPLIT = "mcpx.distribute.task.split",
35
+ DISTRIBUTE_LOAD_BALANCE = "mcpx.distribute.load.balance",
36
+ DISTRIBUTE_RESULT_MERGE = "mcpx.distribute.result.merge",
37
+ HEALTH_CHECK = "mcpx.health.check",
38
+ METRICS_REPORT = "mcpx.metrics.report",
39
+ STATUS_UPDATE = "mcpx.status.update"
40
+ }
41
+ export interface PerformanceMetrics {
42
+ averageResponseTime: number;
43
+ throughput: number;
44
+ errorRate: number;
45
+ cpuUtilization: number;
46
+ memoryUtilization: number;
47
+ taskCompletionRate: number;
48
+ }
49
+ export interface AgentCapability {
50
+ domain: 'servicenow' | 'development' | 'analysis' | 'security' | 'integration' | 'reporting';
51
+ specialization: string[];
52
+ proficiencyLevel: 'basic' | 'intermediate' | 'expert' | 'specialist';
53
+ resourceRequirements: ResourceRequirement[];
54
+ supportedMCPCommands: string[];
55
+ maxConcurrentTasks: number;
56
+ }
57
+ export interface ResourceRequirement {
58
+ type: 'memory' | 'compute' | 'servicenow_access' | 'external_api' | 'storage';
59
+ amount?: number;
60
+ unit?: string;
61
+ metadata?: Record<string, any>;
62
+ }
63
+ export interface ClaudeCodeInstance {
64
+ id: string;
65
+ endpoint: string;
66
+ capabilities: AgentCapability[];
67
+ status: InstanceStatus;
68
+ metadata: {
69
+ region: string;
70
+ version: string;
71
+ maxConcurrentTasks: number;
72
+ specializations: string[];
73
+ performanceMetrics: PerformanceMetrics;
74
+ tags: Record<string, string>;
75
+ };
76
+ healthcheck: {
77
+ lastSeen: Date;
78
+ responseTime: number;
79
+ errorRate: number;
80
+ consecutiveFailures: number;
81
+ };
82
+ authentication: {
83
+ apiKey?: string;
84
+ certificate?: string;
85
+ tokenEndpoint?: string;
86
+ };
87
+ }
88
+ export interface MCPMessage {
89
+ jsonrpc: '2.0';
90
+ id?: string | number;
91
+ method?: string;
92
+ params?: any;
93
+ result?: any;
94
+ error?: {
95
+ code: number;
96
+ message: string;
97
+ data?: any;
98
+ };
99
+ }
100
+ export interface OrchestrationContext {
101
+ sessionId: string;
102
+ executionId: string;
103
+ parentTaskId?: string;
104
+ coordinatorInstance: string;
105
+ sharedState: SharedStateReference;
106
+ qualityGates: QualityGateConfig[];
107
+ timeout: number;
108
+ retryPolicy: RetryPolicy;
109
+ }
110
+ export interface CoordinationMetadata {
111
+ dependencies: string[];
112
+ synchronizationPoints: SyncPoint[];
113
+ rollbackStrategy: RollbackStrategy;
114
+ progressReporting: ProgressConfig;
115
+ affinityRules: AffinityRule[];
116
+ }
117
+ export interface DistributionInfo {
118
+ taskPartition: TaskPartition;
119
+ loadBalancing: LoadBalancingStrategy;
120
+ preferredRegions: string[];
121
+ dataLocality: DataLocalityConfig;
122
+ }
123
+ export interface MCPXMessage extends MCPMessage {
124
+ orchestration?: OrchestrationContext;
125
+ coordination?: CoordinationMetadata;
126
+ distribution?: DistributionInfo;
127
+ timestamp: number;
128
+ source: string;
129
+ target?: string;
130
+ priority: 'low' | 'normal' | 'high' | 'critical';
131
+ }
132
+ export interface MCPXResponse {
133
+ success: boolean;
134
+ result?: any;
135
+ error?: MCPXError;
136
+ metadata?: {
137
+ processingTime: number;
138
+ instanceId: string;
139
+ resourceUsage: ResourceUsage;
140
+ };
141
+ }
142
+ export interface MCPXError {
143
+ code: string;
144
+ message: string;
145
+ details?: any;
146
+ retryable: boolean;
147
+ suggestedRetryDelay?: number;
148
+ }
149
+ export interface TaskSpecification {
150
+ id: string;
151
+ name: string;
152
+ description: string;
153
+ type: 'widget' | 'flow' | 'integration' | 'analysis' | 'deployment';
154
+ requirements: TaskRequirements;
155
+ dependencies: string[];
156
+ outputs: string[];
157
+ priority: 'low' | 'medium' | 'high' | 'critical';
158
+ estimatedDuration?: number;
159
+ maxRetries?: number;
160
+ deadline?: Date;
161
+ affinityRules?: AffinityRule[];
162
+ }
163
+ export interface TaskRequirements {
164
+ capabilities: string[];
165
+ resources: ResourceRequirement[];
166
+ constraints: Constraint[];
167
+ inputs: Record<string, any>;
168
+ environment: EnvironmentRequirement[];
169
+ }
170
+ export interface EnvironmentRequirement {
171
+ type: 'servicenow_instance' | 'database' | 'external_api' | 'file_system';
172
+ configuration: Record<string, any>;
173
+ required: boolean;
174
+ }
175
+ export interface Constraint {
176
+ type: 'time' | 'resource' | 'dependency' | 'quality' | 'security';
177
+ value: any;
178
+ description: string;
179
+ enforced: boolean;
180
+ }
181
+ export interface DistributionPlan {
182
+ taskId: string;
183
+ assignments: AgentAssignment[];
184
+ executionOrder: ExecutionPhase[];
185
+ estimated: {
186
+ totalDuration: number;
187
+ parallelization: number;
188
+ resourceUsage: ResourceUsage;
189
+ };
190
+ fallbackPlan?: DistributionPlan;
191
+ }
192
+ export interface AgentAssignment {
193
+ agentId: string;
194
+ taskPortion: TaskPortion;
195
+ priority: number;
196
+ estimatedStart: Date;
197
+ estimatedEnd: Date;
198
+ resourceAllocation: ResourceAllocation[];
199
+ }
200
+ export interface TaskPortion {
201
+ id: string;
202
+ parentTaskId: string;
203
+ work: any;
204
+ inputs: Record<string, any>;
205
+ expectedOutputs: string[];
206
+ dependencies: string[];
207
+ }
208
+ export interface ExecutionPhase {
209
+ id: string;
210
+ type: 'sequential' | 'parallel' | 'conditional';
211
+ tasks: string[];
212
+ estimatedDuration: number;
213
+ dependencies: string[];
214
+ conditions?: ExecutionCondition[];
215
+ }
216
+ export interface ExecutionCondition {
217
+ type: 'success' | 'failure' | 'timeout' | 'quality_gate';
218
+ reference: string;
219
+ action: 'continue' | 'skip' | 'retry' | 'abort';
220
+ }
221
+ export interface LoadBalancingStrategy {
222
+ name: string;
223
+ type: 'round_robin' | 'weighted' | 'capability_based' | 'geographic' | 'ai_optimized';
224
+ parameters: Record<string, any>;
225
+ }
226
+ export interface LoadBalancingContext {
227
+ currentLoad: Map<string, number>;
228
+ historicalPerformance: Map<string, PerformanceMetrics>;
229
+ geographicDistribution: Map<string, string>;
230
+ affinityRules: AffinityRule[];
231
+ }
232
+ export interface AffinityRule {
233
+ type: 'agent_affinity' | 'anti_affinity' | 'data_locality' | 'cost_optimization';
234
+ scope: 'task' | 'session' | 'user' | 'global';
235
+ rules: AffinityConstraint[];
236
+ weight: number;
237
+ }
238
+ export interface AffinityConstraint {
239
+ property: string;
240
+ operator: 'equals' | 'contains' | 'matches' | 'in_range';
241
+ value: any;
242
+ required: boolean;
243
+ }
244
+ export interface DistributedSharedMemory {
245
+ store(key: string, value: any, ttl?: number, consistency?: ConsistencyLevel): Promise<void>;
246
+ retrieve(key: string, consistency?: ConsistencyLevel): Promise<any>;
247
+ delete(key: string): Promise<void>;
248
+ subscribe(pattern: string, callback: MemoryChangeCallback): Promise<string>;
249
+ unsubscribe(subscriptionId: string): Promise<void>;
250
+ synchronize(targetInstances: string[], keys?: string[]): Promise<SyncResult>;
251
+ }
252
+ export interface MemoryValue {
253
+ value: any;
254
+ timestamp: number;
255
+ version: number;
256
+ instanceId: string;
257
+ metadata?: {
258
+ ttl?: number;
259
+ checksum: string;
260
+ tags?: string[];
261
+ };
262
+ }
263
+ export interface SharedStateReference {
264
+ namespace: string;
265
+ keys: string[];
266
+ consistencyLevel: ConsistencyLevel;
267
+ synchronizationStrategy: 'push' | 'pull' | 'bidirectional';
268
+ }
269
+ export type MemoryChangeCallback = (key: string, value: MemoryValue, changeType: 'create' | 'update' | 'delete') => void;
270
+ export interface SyncResult {
271
+ success: boolean;
272
+ synchronized: string[];
273
+ conflicts: MemoryConflict[];
274
+ errors: SyncError[];
275
+ duration: number;
276
+ }
277
+ export interface MemoryConflict {
278
+ key: string;
279
+ localValue: MemoryValue;
280
+ remoteValues: Map<string, MemoryValue>;
281
+ resolutionStrategy: ConflictResolutionStrategy;
282
+ }
283
+ export interface ConflictResolutionStrategy {
284
+ type: 'last_write_wins' | 'vector_clock' | 'merge' | 'manual';
285
+ parameters?: Record<string, any>;
286
+ }
287
+ export interface SyncError {
288
+ instanceId: string;
289
+ error: string;
290
+ retryable: boolean;
291
+ }
292
+ export interface ServiceRegistry {
293
+ register(service: ServiceDefinition): Promise<void>;
294
+ deregister(serviceId: string): Promise<void>;
295
+ findServices(serviceName: string, criteria?: DiscoveryCriteria): Promise<ServiceDefinition[]>;
296
+ watchServices(serviceName: string, callback: ServiceChangeCallback): Promise<string>;
297
+ unwatchServices(watchId: string): Promise<void>;
298
+ }
299
+ export interface ServiceDefinition {
300
+ id: string;
301
+ name: string;
302
+ endpoint: string;
303
+ metadata: Record<string, any>;
304
+ health: HealthConfig;
305
+ tags: string[];
306
+ capabilities: AgentCapability[];
307
+ registeredAt: Date;
308
+ lastSeen: Date;
309
+ }
310
+ export interface HealthConfig {
311
+ check: string;
312
+ interval: number;
313
+ timeout: number;
314
+ retries: number;
315
+ gracePeriod: number;
316
+ }
317
+ export interface DiscoveryCriteria {
318
+ tags?: string[];
319
+ capabilities?: string[];
320
+ regions?: string[];
321
+ minVersion?: string;
322
+ maxVersion?: string;
323
+ healthStatus?: 'healthy' | 'unhealthy' | 'any';
324
+ filters?: DiscoveryFilter[];
325
+ }
326
+ export interface DiscoveryFilter {
327
+ property: string;
328
+ operator: 'equals' | 'contains' | 'greater_than' | 'less_than';
329
+ value: any;
330
+ }
331
+ export type ServiceChangeCallback = (event: ServiceEvent) => void;
332
+ export interface ServiceEvent {
333
+ type: 'registered' | 'deregistered' | 'health_changed' | 'updated';
334
+ service: ServiceDefinition;
335
+ timestamp: Date;
336
+ }
337
+ export interface MCPServerInfo {
338
+ id: string;
339
+ name: string;
340
+ endpoint: string;
341
+ version: string;
342
+ capabilities: MCPCapability[];
343
+ metadata: Record<string, any>;
344
+ discoveredAt: Date;
345
+ lastValidated: Date;
346
+ }
347
+ export interface MCPCapability {
348
+ type: 'tool' | 'resource' | 'prompt';
349
+ name: string;
350
+ description: string;
351
+ schema?: any;
352
+ metadata?: Record<string, any>;
353
+ }
354
+ export interface MCPRequirements {
355
+ capabilities: string[];
356
+ version?: string;
357
+ performance?: PerformanceRequirement[];
358
+ }
359
+ export interface PerformanceRequirement {
360
+ metric: 'response_time' | 'throughput' | 'availability';
361
+ threshold: number;
362
+ unit: string;
363
+ }
364
+ export interface OrchestrationSession {
365
+ id: string;
366
+ name: string;
367
+ description: string;
368
+ createdAt: Date;
369
+ updatedAt: Date;
370
+ status: SessionStatus;
371
+ config: SessionConfig;
372
+ state: SessionState;
373
+ participants: SessionParticipant[];
374
+ metrics: SessionMetrics;
375
+ }
376
+ export declare enum SessionStatus {
377
+ INITIALIZING = "initializing",
378
+ ACTIVE = "active",
379
+ PAUSED = "paused",
380
+ COMPLETING = "completing",
381
+ COMPLETED = "completed",
382
+ FAILED = "failed",
383
+ CANCELLED = "cancelled"
384
+ }
385
+ export interface SessionConfig {
386
+ mode: OrchestrationMode;
387
+ maxConcurrentTasks: number;
388
+ timeout: number;
389
+ retryPolicy: RetryPolicy;
390
+ qualityGates: boolean;
391
+ progressMonitoring: boolean;
392
+ stateReplication: boolean;
393
+ rollbackEnabled: boolean;
394
+ }
395
+ export interface SessionState {
396
+ sharedMemory: Map<string, any>;
397
+ taskResults: Map<string, any>;
398
+ executionPlan: DistributionPlan;
399
+ currentPhase: string;
400
+ completedTasks: string[];
401
+ failedTasks: string[];
402
+ }
403
+ export interface SessionParticipant {
404
+ instanceId: string;
405
+ role: 'coordinator' | 'worker' | 'observer';
406
+ joinedAt: Date;
407
+ lastActivity: Date;
408
+ taskAssignments: string[];
409
+ }
410
+ export interface SessionMetrics {
411
+ tasksCompleted: number;
412
+ tasksFailed: number;
413
+ averageTaskDuration: number;
414
+ totalExecutionTime: number;
415
+ resourceUsage: ResourceUsage;
416
+ qualityScores: Map<string, number>;
417
+ }
418
+ export interface QualityGateConfig {
419
+ name: string;
420
+ taskIds: string[];
421
+ gates: QualityGate[];
422
+ blocking: boolean;
423
+ timeout: number;
424
+ }
425
+ export interface QualityGate {
426
+ name: string;
427
+ type: 'validation' | 'performance' | 'security' | 'compliance';
428
+ blocking: boolean;
429
+ validator: QualityValidator;
430
+ }
431
+ export interface QualityValidator {
432
+ validate(result: any, context: ValidationContext): Promise<ValidationResult>;
433
+ }
434
+ export interface ValidationContext {
435
+ taskId: string;
436
+ sessionId: string;
437
+ requirements: TaskRequirements;
438
+ previousResults: Record<string, any>;
439
+ }
440
+ export interface ValidationResult {
441
+ passed: boolean;
442
+ score?: number;
443
+ error?: string;
444
+ warnings?: string[];
445
+ suggestions?: string[];
446
+ metadata?: Record<string, any>;
447
+ }
448
+ export interface ProgressMonitor {
449
+ startMonitoring(sessionId: string): Promise<void>;
450
+ stopMonitoring(sessionId: string): Promise<void>;
451
+ getProgress(sessionId: string): Promise<ProgressStatus>;
452
+ subscribe(sessionId: string, callback: ProgressCallback): Promise<string>;
453
+ unsubscribe(subscriptionId: string): Promise<void>;
454
+ }
455
+ export interface ProgressStatus {
456
+ sessionId: string;
457
+ total: number;
458
+ completed: number;
459
+ failed: number;
460
+ inProgress: number;
461
+ percentage: number;
462
+ estimatedCompletion?: Date;
463
+ currentPhase?: string;
464
+ bottlenecks?: Bottleneck[];
465
+ throughput: number;
466
+ }
467
+ export interface Bottleneck {
468
+ type: 'resource' | 'dependency' | 'performance' | 'quality_gate';
469
+ description: string;
470
+ affectedTasks: string[];
471
+ severity: 'low' | 'medium' | 'high' | 'critical';
472
+ suggestedAction?: string;
473
+ }
474
+ export type ProgressCallback = (progress: ProgressStatus) => void;
475
+ export interface RetryPolicy {
476
+ maxAttempts: number;
477
+ backoffStrategy: 'linear' | 'exponential' | 'fixed';
478
+ initialDelay: number;
479
+ maxDelay: number;
480
+ multiplier: number;
481
+ retryableErrors: string[];
482
+ }
483
+ export interface RollbackStrategy {
484
+ type: 'full' | 'partial' | 'compensating';
485
+ triggers: RollbackTrigger[];
486
+ actions: RollbackAction[];
487
+ }
488
+ export interface RollbackTrigger {
489
+ condition: 'task_failure' | 'quality_gate_failure' | 'timeout' | 'manual';
490
+ threshold?: number;
491
+ scope: 'task' | 'phase' | 'session';
492
+ }
493
+ export interface RollbackAction {
494
+ type: 'restore_state' | 'undo_changes' | 'compensate' | 'notify';
495
+ parameters: Record<string, any>;
496
+ order: number;
497
+ }
498
+ export interface ResourceUsage {
499
+ cpu: number;
500
+ memory: number;
501
+ network: number;
502
+ storage: number;
503
+ apiCalls: number;
504
+ customMetrics?: Record<string, number>;
505
+ }
506
+ export interface ResourceAllocation {
507
+ type: string;
508
+ amount: number;
509
+ unit: string;
510
+ guaranteed: boolean;
511
+ priority: number;
512
+ }
513
+ export interface SyncPoint {
514
+ id: string;
515
+ type: 'barrier' | 'checkpoint' | 'milestone';
516
+ description: string;
517
+ waitFor: string[];
518
+ timeout: number;
519
+ }
520
+ export interface ProgressConfig {
521
+ reportingInterval: number;
522
+ enableRealTimeUpdates: boolean;
523
+ includeDetailedMetrics: boolean;
524
+ notificationThresholds: number[];
525
+ }
526
+ export interface TaskPartition {
527
+ strategy: 'data_parallel' | 'task_parallel' | 'pipeline' | 'custom';
528
+ partitions: TaskPortion[];
529
+ mergeStrategy: 'concatenate' | 'aggregate' | 'custom';
530
+ }
531
+ export interface DataLocalityConfig {
532
+ enableDataLocality: boolean;
533
+ dataLocation: string[];
534
+ movementCost: number;
535
+ cachingStrategy: 'local' | 'distributed' | 'hybrid';
536
+ }
537
+ export interface DistributedOrchestrator {
538
+ createSession(config: SessionConfig): Promise<OrchestrationSession>;
539
+ getSession(sessionId: string): Promise<OrchestrationSession | null>;
540
+ terminateSession(sessionId: string): Promise<void>;
541
+ listSessions(): Promise<OrchestrationSession[]>;
542
+ registerAgent(agent: ClaudeCodeInstance): Promise<void>;
543
+ deregisterAgent(agentId: string): Promise<void>;
544
+ getAvailableAgents(criteria?: DiscoveryCriteria): Promise<ClaudeCodeInstance[]>;
545
+ getAgentHealth(agentId: string): Promise<HealthStatus>;
546
+ orchestrateTask(task: TaskSpecification, session: OrchestrationSession): Promise<OrchestrationResult>;
547
+ distributeTask(task: TaskSpecification, agents: ClaudeCodeInstance[]): Promise<DistributionResult>;
548
+ monitorExecution(sessionId: string): AsyncIterable<ExecutionUpdate>;
549
+ pauseExecution(sessionId: string): Promise<void>;
550
+ resumeExecution(sessionId: string): Promise<void>;
551
+ cancelExecution(sessionId: string, reason: string): Promise<void>;
552
+ getSharedState(sessionId: string): Promise<SharedState>;
553
+ updateSharedState(sessionId: string, updates: StateUpdate[]): Promise<void>;
554
+ syncState(sessionId: string, targetAgents: string[]): Promise<SyncResult>;
555
+ discoverServices(criteria: DiscoveryCriteria): Promise<ServiceDefinition[]>;
556
+ watchServices(criteria: DiscoveryCriteria, callback: ServiceChangeCallback): Promise<string>;
557
+ }
558
+ export interface OrchestrationResult {
559
+ sessionId: string;
560
+ success: boolean;
561
+ results: Record<string, any>;
562
+ metrics: SessionMetrics;
563
+ errors: OrchestrationError[];
564
+ warnings: string[];
565
+ recommendations?: string[];
566
+ }
567
+ export interface DistributionResult {
568
+ taskId: string;
569
+ plan: DistributionPlan;
570
+ assignments: AgentAssignment[];
571
+ estimatedCompletion: Date;
572
+ }
573
+ export interface ExecutionUpdate {
574
+ sessionId: string;
575
+ type: 'progress' | 'completion' | 'error' | 'state_change';
576
+ timestamp: Date;
577
+ data: any;
578
+ }
579
+ export interface SharedState {
580
+ sessionId: string;
581
+ data: Map<string, any>;
582
+ version: number;
583
+ lastUpdated: Date;
584
+ }
585
+ export interface StateUpdate {
586
+ key: string;
587
+ value: any;
588
+ operation: 'set' | 'delete' | 'merge';
589
+ metadata?: Record<string, any>;
590
+ }
591
+ export interface OrchestrationError {
592
+ code: string;
593
+ message: string;
594
+ taskId?: string;
595
+ agentId?: string;
596
+ timestamp: Date;
597
+ retryable: boolean;
598
+ context?: Record<string, any>;
599
+ }
600
+ export interface HealthStatus {
601
+ status: 'healthy' | 'degraded' | 'unhealthy';
602
+ lastCheck: Date;
603
+ metrics: PerformanceMetrics;
604
+ issues?: string[];
605
+ }
606
+ //# sourceMappingURL=distributed-orchestration.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributed-orchestration.interface.d.ts","sourceRoot":"","sources":["../../../src/orchestration/interfaces/distributed-orchestration.interface.ts"],"names":[],"mappings":"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"}