codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
96 lines • 2.42 kB
TypeScript
/**
* Intelligent Batch Processor
* Based on research-driven optimization report: 64 requests per batch optimal for Llama models
*/
import { EventEmitter } from 'events';
export interface BatchRequest {
id: string;
prompt: string;
options: any;
priority: number;
resolve: (result: any) => void;
reject: (error: Error) => void;
timestamp: number;
}
export interface BatchConfig {
optimalBatchSize: number;
batchTimeoutMs: number;
maxConcurrentBatches: number;
priorityLevels: string[];
}
export interface BatchResult {
batchId: string;
results: any[];
processingTime: number;
successCount: number;
errorCount: number;
}
/**
* Intelligent batch processor with priority queuing and optimal sizing
*/
export declare class IntelligentBatchProcessor extends EventEmitter {
private batchQueues;
private processingTasks;
private batchTimeouts;
private config;
private activeBatches;
constructor(config?: Partial<BatchConfig>);
/**
* Initialize priority queues for each level
*/
private initializePriorityQueues;
/**
* Queue a request for batching
*/
queueRequest(prompt: string, options?: any, priority?: string): Promise<any>;
/**
* Add request to appropriate batch queue
*/
private addToBatch;
/**
* Process a batch of requests
*/
private processBatch;
/**
* Process batch with intelligent parallelization
*/
private processIntelligentBatch;
/**
* Distribute responses back to waiting requests
*/
private distributeResponses;
/**
* Handle batch processing error
*/
private handleBatchError;
/**
* Process next waiting batch
*/
private processNextBatch;
/**
* Get priority level as number
*/
private getPriorityLevel;
/**
* Generate unique request ID
*/
private generateRequestId;
/**
* Generate unique batch ID
*/
private generateBatchId;
/**
* Get current batch processing status
*/
getStatus(): {
activeBatches: number;
queuedRequests: number;
totalQueues: number;
};
/**
* Cleanup and destroy processor
*/
destroy(): Promise<void>;
}
export declare const intelligentBatchProcessor: IntelligentBatchProcessor;
//# sourceMappingURL=intelligent-batch-processor.d.ts.map