/** * Network Orchestrator - High-level orchestration of agent networks * * The Orchestrator manages: * - Network lifecycle (creation, execution, shutdown) * - Multi-network coordination * - Network-level policies and constraints * - Resource management and scaling */ import type { NeuroLink } from "../../neurolink.js"; import type { AgentNetwork } from "../agentNetwork.js"; import { MessageBus } from "../communication/message-bus.js"; import type { AgentNetworkConfig, HierarchicalNetworkConfig, NetworkExecutionInput, NetworkExecutionOptions, NetworkExecutionResult, NetworkStreamChunk, HierarchicalExecutionTrace, CoordinationStrategy, OrchestrationMode, NetworkState, NetworkInfo, OrchestratorConfig } from "../../types/index.js"; /** * Network Orchestrator - Central controller for agent networks */ export declare class NetworkOrchestrator { private neurolink; private networks; private networkInfo; private coordinators; private messageBus; private config; private emitter; private executionQueue; private activeExecutions; constructor(neurolink: NeuroLink, config?: OrchestratorConfig); /** * Create a new agent network */ createNetwork(config: AgentNetworkConfig, mode?: OrchestrationMode): Promise; /** * Create a hierarchical network */ createHierarchicalNetwork(config: HierarchicalNetworkConfig, parentNetworkId?: string): Promise; /** * Get a network by ID */ getNetwork(networkId: string): AgentNetwork | undefined; /** * Get network info */ getNetworkInfo(networkId: string): NetworkInfo | undefined; /** * Get all networks */ getAllNetworks(): NetworkInfo[]; /** * Execute a network */ executeNetwork(networkId: string, input: NetworkExecutionInput, options?: NetworkExecutionOptions): Promise; /** * Internal network execution */ private executeNetworkInternal; /** * Queue an execution request */ private queueExecution; /** * Process queued executions */ private processExecutionQueue; /** * Stream network execution */ streamNetwork(networkId: string, input: NetworkExecutionInput, options?: NetworkExecutionOptions): AsyncIterable; /** * Execute hierarchical network with delegation */ executeHierarchical(networkId: string, input: NetworkExecutionInput, options?: NetworkExecutionOptions): Promise; /** * Pause a network */ pauseNetwork(networkId: string): void; /** * Resume a network */ resumeNetwork(networkId: string): void; /** * Shutdown a network */ shutdownNetwork(networkId: string): Promise; /** * Coordinate multiple networks */ coordinateNetworks(networkIds: string[], task: string, strategy?: CoordinationStrategy): Promise>; /** * Get orchestrator statistics */ getStats(): { totalNetworks: number; activeExecutions: number; queuedExecutions: number; totalExecutions: number; networksByState: Record; }; /** * Get the shared message bus */ getMessageBus(): MessageBus; /** * Subscribe to orchestrator events */ on(event: string, handler: (...args: unknown[]) => void): void; /** * Unsubscribe from orchestrator events */ off(event: string, handler: (...args: unknown[]) => void): void; /** * Shutdown the orchestrator */ shutdown(): Promise; }