UNPKG

ruv-swarm

Version:

High-performance neural network swarm orchestration in WebAssembly

371 lines (325 loc) 10.1 kB
/** * TypeScript definitions for enhanced ruv-swarm NPX package * Complete WASM integration with neural networks and forecasting */ declare module 'ruv-swarm' { // Main RuvSwarm class export class RuvSwarm { constructor(); static initialize(options?: RuvSwarmOptions): Promise<RuvSwarm>; static detectSIMDSupport(): boolean; static getVersion(): string; static getMemoryUsage(): MemoryUsage | null; static getRuntimeFeatures(): RuntimeFeatures; wasmLoader: WasmModuleLoader; persistence: SwarmPersistence | null; activeSwarms: Map<string, Swarm>; globalAgents: Map<string, Agent>; metrics: GlobalMetrics; features: SwarmFeatures; detectFeatures(useSIMD?: boolean): Promise<void>; createSwarm(config: SwarmConfig): Promise<Swarm>; getSwarmStatus(swarmId: string, detailed?: boolean): Promise<SwarmStatus>; getAllSwarms(): Promise<SwarmInfo[]>; getGlobalMetrics(): Promise<GlobalMetrics>; } // Configuration options export interface RuvSwarmOptions { wasmPath?: string; loadingStrategy?: 'eager' | 'on-demand' | 'progressive'; enablePersistence?: boolean; enableNeuralNetworks?: boolean; enableForecasting?: boolean; useSIMD?: boolean; debug?: boolean; } // Swarm configuration export interface SwarmConfig { name?: string; topology?: 'mesh' | 'star' | 'hierarchical' | 'ring'; strategy?: 'balanced' | 'specialized' | 'adaptive'; maxAgents?: number; enableCognitiveDiversity?: boolean; enableNeuralAgents?: boolean; } // Swarm class export class Swarm { id: string; agents: Map<string, Agent>; tasks: Map<string, Task>; spawn(config: AgentConfig): Promise<Agent>; orchestrate(taskConfig: TaskConfig): Promise<Task>; getStatus(detailed?: boolean): Promise<SwarmStatus>; monitor(duration?: number, interval?: number): Promise<MonitorResult>; terminate(): Promise<void>; } // Agent configuration export interface AgentConfig { type?: 'researcher' | 'coder' | 'analyst' | 'optimizer' | 'coordinator'; name?: string; capabilities?: string[]; enableNeuralNetwork?: boolean; } // Agent class export class Agent { id: string; name: string; type: string; cognitivePattern: CognitivePattern; capabilities: string[]; neuralNetworkId: string | null; status: 'idle' | 'busy' | 'offline'; execute(task: any): Promise<TaskResult>; getMetrics(): Promise<AgentMetrics>; updateStatus(status: string): Promise<void>; } // Task configuration export interface TaskConfig { description: string; priority?: 'low' | 'medium' | 'high' | 'critical'; dependencies?: string[]; maxAgents?: number; estimatedDuration?: number; } // Task class export class Task { id: string; description: string; status: 'pending' | 'in_progress' | 'completed' | 'failed'; assignedAgents: string[]; result: any; getStatus(): Promise<TaskStatus>; getResults(): Promise<any>; } // WASM Module Loader export class WasmModuleLoader { modules: Map<string, WasmModule>; loadingPromises: Map<string, Promise<WasmModule>>; loadingStrategy: 'eager' | 'on-demand' | 'progressive'; moduleManifest: ModuleManifest; initialize(strategy?: string): Promise<boolean>; loadModule(moduleName: string): Promise<WasmModule>; getModuleStatus(): ModuleStatusMap; getTotalMemoryUsage(): number; } // Enhanced MCP Tools export class EnhancedMCPTools { constructor(); initialize(): Promise<RuvSwarm>; // Core MCP tools swarm_init(params: SwarmInitParams): Promise<SwarmInitResult>; agent_spawn(params: AgentSpawnParams): Promise<AgentSpawnResult>; task_orchestrate(params: TaskOrchestrateParams): Promise<TaskOrchestrateResult>; swarm_status(params: SwarmStatusParams): Promise<SwarmStatusResult>; benchmark_run(params: BenchmarkParams): Promise<BenchmarkResult>; features_detect(params: FeaturesParams): Promise<FeaturesResult>; memory_usage(params: MemoryParams): Promise<MemoryResult>; // Neural network tools neural_status(params: NeuralStatusParams): Promise<NeuralStatusResult>; neural_train(params: NeuralTrainParams): Promise<NeuralTrainResult>; neural_patterns(params: NeuralPatternsParams): Promise<NeuralPatternsResult>; } // Neural Network Manager export class NeuralNetworkManager { constructor(wasmLoader: WasmModuleLoader); neuralNetworks: Map<string, NeuralNetwork>; templates: NeuralTemplates; createAgentNeuralNetwork(agentId: string, config?: NeuralConfig): Promise<NeuralNetwork>; fineTuneNetwork(agentId: string, trainingData: TrainingData, options?: TrainingOptions): Promise<NeuralMetrics>; enableCollaborativeLearning(agentIds: string[], options?: CollaborativeOptions): Promise<CollaborativeSession>; getNetworkMetrics(agentId: string): NeuralMetrics | null; saveNetworkState(agentId: string, filePath: string): Promise<boolean>; loadNetworkState(agentId: string, filePath: string): Promise<boolean>; } // Types and interfaces export interface SwarmFeatures { neural_networks: boolean; forecasting: boolean; cognitive_diversity: boolean; simd_support: boolean; } export interface GlobalMetrics { totalSwarms: number; totalAgents: number; totalTasks: number; memoryUsage: number; performance: Record<string, any>; features: SwarmFeatures; wasm_modules: ModuleStatusMap; timestamp: string; } export interface SwarmStatus { id: string; agents: { total: number; active: number; idle: number; }; tasks: { total: number; pending: number; in_progress: number; completed: number; }; wasm_metrics?: WasmMetrics; } export interface AgentMetrics { tasksCompleted: number; averageExecutionTime: number; successRate: number; memoryUsage: number; } export interface NeuralConfig { template?: string; layers?: number[]; activation?: string; learningRate?: number; optimizer?: string; } export interface TrainingData { samples: Array<{ input: number[]; target: number[]; }>; } export interface TrainingOptions { epochs?: number; batchSize?: number; learningRate?: number; freezeLayers?: number[]; } export interface NeuralMetrics { accuracy: number; loss: number; epochs_trained: number; total_samples: number; training_history?: Array<{ epoch: number; loss: number }>; network_info?: { layers: number[]; parameters: number; }; } export type CognitivePattern = 'convergent' | 'divergent' | 'lateral' | 'systems' | 'critical' | 'abstract' | 'adaptive'; export interface RuntimeFeatures { webassembly: boolean; simd: boolean; workers: boolean; shared_array_buffer: boolean; bigint: boolean; } export interface MemoryUsage { used: number; total: number; limit: number; } export interface ModuleManifest { [moduleName: string]: { path: string; size: number; priority: 'high' | 'medium' | 'low'; dependencies: string[]; }; } export interface ModuleStatusMap { [moduleName: string]: { loaded: boolean; loading: boolean; size: number; priority: string; dependencies: string[]; isPlaceholder?: boolean; }; } export interface WasmModule { instance: WebAssembly.Instance; module: WebAssembly.Module; exports: any; memory: WebAssembly.Memory; isPlaceholder?: boolean; } // MCP Tool Parameters and Results export interface SwarmInitParams { topology?: 'mesh' | 'star' | 'hierarchical' | 'ring'; maxAgents?: number; strategy?: 'balanced' | 'specialized' | 'adaptive'; enableCognitiveDiversity?: boolean; enableNeuralAgents?: boolean; enableForecasting?: boolean; } export interface SwarmInitResult { id: string; message: string; topology: string; strategy: string; maxAgents: number; features: Record<string, boolean>; created: string; performance: { initialization_time_ms: number; memory_usage_mb: number; }; } export interface AgentSpawnParams { type?: string; name?: string; capabilities?: string[]; cognitivePattern?: string; neuralConfig?: any; swarmId?: string; } export interface AgentSpawnResult { agent: { id: string; name: string; type: string; cognitive_pattern: string; capabilities: string[]; neural_network_id: string | null; status: string; }; swarm_info: { id: string; agent_count: number; capacity: string; }; message: string; performance: { spawn_time_ms: number; memory_overhead_mb: number; }; } export interface TaskOrchestrateParams { task: string; priority?: string; strategy?: string; maxAgents?: number; swarmId?: string; requiredCapabilities?: string[]; estimatedDuration?: number; } export interface TaskOrchestrateResult { taskId: string; status: string; description: string; priority: string; strategy: string; assigned_agents: string[]; swarm_info: any; orchestration: any; performance: any; message: string; } // Utility exports export function consoleLog(message: string): void; export function consoleError(message: string): void; export function consoleWarn(message: string): void; export function formatJsError(error: Error): string; // Neural agent exports export { NeuralAgent, NeuralAgentFactory, NeuralNetwork } from './neural-agent'; export const COGNITIVE_PATTERNS: Record<string, CognitivePattern>; export const AGENT_COGNITIVE_PROFILES: Record<string, any>; // Template exports export const NeuralNetworkTemplates: { getTemplate(templateName: string): NeuralConfig; }; }