codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
46 lines • 2.06 kB
TypeScript
/**
* Stream Processing Manager - Centralizes streaming request processing
* Extracted from UnifiedModelClient to provide focused streaming capabilities
*/
import { EventEmitter } from 'events';
import { ModelRequest, ModelResponse, ProjectContext } from '../types.js';
import { ISecurityValidator } from '../security/security-validator.js';
import { ICacheCoordinator } from '../caching/cache-coordinator.js';
import { StreamToken, IStreamingManager } from './streaming-manager.js';
export interface StreamProcessingConfig {
validateSecurity: boolean;
enableCaching: boolean;
requestTimeoutMs: number;
}
export interface IStreamProcessingManager {
/**
* Process a streaming request with security validation and caching
*/
processStreamRequest(request: ModelRequest, onToken: (token: StreamToken) => void, context?: ProjectContext): Promise<ModelResponse>;
/**
* Cleanup resources
*/
cleanup(): Promise<void>;
}
export declare class StreamProcessingManager extends EventEmitter implements IStreamProcessingManager {
private readonly config;
private readonly securityValidator;
private readonly cacheCoordinator;
private readonly streamingManager;
private readonly processRequestDelegate;
private readonly generateRequestId;
constructor(securityValidator: ISecurityValidator, cacheCoordinator: ICacheCoordinator, streamingManager: IStreamingManager, processRequestDelegate: (request: ModelRequest, context?: ProjectContext) => Promise<ModelResponse>, generateRequestId: () => string, config?: Partial<StreamProcessingConfig>);
/**
* Process a streaming request with security validation and caching
*/
processStreamRequest(request: ModelRequest, onToken: (token: StreamToken) => void, context?: ProjectContext): Promise<ModelResponse>;
/**
* Simulate streaming from cached response
*/
private simulateStreamFromCache;
/**
* Cleanup resources
*/
cleanup(): Promise<void>;
}
//# sourceMappingURL=stream-processing-manager.d.ts.map