tasq/node_modules/agentic-flow/dist/sdk/e2b-swarm-optimizer.d.ts

116 lines
2.9 KiB
TypeScript

/**
* E2B Swarm Optimizer - Performance optimization for E2B swarms
*
* Provides automatic optimization strategies:
* - Agent pool sizing
* - Task batching
* - Load rebalancing
* - Resource cleanup
*/
import { E2BSwarmOrchestrator, E2BSwarmMetrics } from "./e2b-swarm.js";
/**
* Optimization configuration
*/
export interface OptimizationConfig {
targetUtilization: number;
maxErrorRate: number;
minAgents: number;
maxAgents: number;
scaleUpThreshold: number;
scaleDownThreshold: number;
batchSize: number;
optimizationInterval: number;
}
/**
* Optimization report
*/
export interface OptimizationReport {
timestamp: number;
metrics: E2BSwarmMetrics;
recommendations: OptimizationRecommendation[];
actionsApplied: string[];
healthScore: number;
}
/**
* Optimization recommendation
*/
export interface OptimizationRecommendation {
type: 'scale-up' | 'scale-down' | 'rebalance' | 'cleanup' | 'batch' | 'capability-add';
priority: 'low' | 'medium' | 'high' | 'critical';
description: string;
impact: string;
autoApply: boolean;
}
/**
* E2B Swarm Optimizer
*/
export declare class E2BSwarmOptimizer {
private swarm;
private config;
private optimizationHistory;
private intervalId;
constructor(swarm: E2BSwarmOrchestrator, config?: Partial<OptimizationConfig>);
/**
* Start automatic optimization
*/
startAutoOptimization(): void;
/**
* Stop automatic optimization
*/
stopAutoOptimization(): void;
/**
* Run optimization cycle
*/
optimize(): Promise<OptimizationReport>;
/**
* Analyze metrics and generate recommendations
*/
private analyzeMetrics;
/**
* Apply an optimization recommendation
*/
private applyRecommendation;
/**
* Cleanup failing agents
*/
private cleanupFailingAgents;
/**
* Rebalance load across agents
*/
private rebalanceLoad;
/**
* Calculate average utilization
*/
private calculateAverageUtilization;
/**
* Calculate health score (0-100)
*/
private calculateHealthScore;
/**
* Get optimization history
*/
getHistory(): OptimizationReport[];
/**
* Get current health score
*/
getHealthScore(): number;
/**
* Get optimization summary
*/
getSummary(): {
healthScore: number;
totalOptimizations: number;
lastOptimization: number | null;
actionsApplied: number;
currentMetrics: E2BSwarmMetrics;
};
}
/**
* Create optimizer for a swarm
*/
export declare function createSwarmOptimizer(swarm: E2BSwarmOrchestrator, config?: Partial<OptimizationConfig>): E2BSwarmOptimizer;
/**
* Quick optimization pass
*/
export declare function optimizeSwarm(swarm: E2BSwarmOrchestrator): Promise<OptimizationReport>;
//# sourceMappingURL=e2b-swarm-optimizer.d.ts.map